| 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[2],{933:function(e,t,r){"use strict";r.r(t),r.d(t,"parseOpenAPI",function(){return u}),r.d(t,"transformToolsFromConfig",function(){return d});var n=r(40),h=r(25),y=r(66),b=r(30),t=r(917),o=r.n(t),a=r(467);function c(){var o=p(),e=o.m(c),t=(Object.getPrototypeOf?Object.getPrototypeOf(e):e.__proto__).constructor;function a(e){e="function"==typeof e&&e.constructor;return!!e&&(e===t||"GeneratorFunction"===(e.displayName||e.name))}var r={throw:1,return:2,break:3,continue:3};function u(e){var o,a;return function(n){o||(o={stop:function(){return a(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return a(n.a,r[e],t)},delegateYield:function(e,t,r){return o.resultName=t,a(n.d,i(e),r)},finish:function(e){return a(n.f,e)}},a=function(e,t,r){n.p=o.prev,n.n=o.next;try{return e(t,r)}finally{o.next=n.n}}),o.resultName&&(o[o.resultName]=n.v,o.resultName=void 0),o.sent=n.v,o.next=n.n;try{return e.call(this,o)}finally{n.p=o.prev,n.n=o.next}}}return(c=function(){return{wrap:function(e,t,r,n){return o.w(u(e),t,r,n&&n.reverse())},isGeneratorFunction:a,mark:o.m,awrap:function(e,t){return new m(e,t)},AsyncIterator:l,async:function(e,t,r,n,o){return(a(t)?f:function(e,t,r,n,o){var a=f(e,t,r,n,o);return a.next().then(function(e){return e.done?e.value:a.next()})})(u(e),t,r,n,o)},keys:s,values:i}})()}function i(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return{value:(e=e&&r>=e.length?void 0:e)&&e[r++],done:!e}}}}throw new TypeError(Object(b.a)(e)+" is not iterable")}function s(e){var t,r=Object(e),n=[];for(t in r)n.unshift(t);return function e(){for(;n.length;)if((t=n.pop())in r)return e.value=t,e.done=!1,e;return e.done=!0,e}}function f(e,t,r,n,o){return new l(p().w(e,t,r,n),o||Promise)}function l(c,i){var o;this.next||(g(l.prototype),g(l.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),g(this,"_invoke",function(r,e,n){function t(){return new i(function(e,t){!function t(e,r,n,o){try{var a=c[e](r),u=a.value;return u instanceof m?i.resolve(u.v).then(function(e){t("next",e,n,o)},function(e){t("throw",e,n,o)}):i.resolve(u).then(function(e){a.value=e,n(a)},function(e){return t("throw",e,n,o)})}catch(e){o(e)}}(r,n,e,t)})}return o=o?o.then(t,t):t()},!0)}function p(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var y,e="function"==typeof Symbol?Symbol:{},t=e.iterator||"@@iterator",r=e.toStringTag||"@@toStringTag";function n(e,t,r,n){var o,a,u,c,i,s,f,l,p,t=t&&t.prototype instanceof d?t:d,t=Object.create(t.prototype);return g(t,"_invoke",(o=e,a=r,f=n||[],l=!1,p={p:s=0,n:0,v:y,a:m,f:m.bind(y,4),d:function(e,t){return u=e,c=0,i=y,p.n=t,v}},function(e,t,r){if(1<s)throw TypeError("Generator is already running");for(l&&1===t&&m(t,r),c=t,i=r;(h=c<2?y:i)||!l;){u||(c?c<3?(1<c&&(p.n=-1),m(c,i)):p.n=i:p.v=i);try{if(s=2,u){if(h=u[e=c?e:"next"]){if(!(h=h.call(u,i)))throw TypeError("iterator result is not an object");if(!h.done)return h;i=h.value,c<2&&(c=0)}else 1===c&&(h=u.return)&&h.call(u),c<2&&(i=TypeError("The iterator does not provide a '"+e+"' method"),c=1);u=y}else if((h=(l=p.n<0)?i:o.call(a,p))!==v)break}catch(e){u=y,c=1,i=e}finally{s=1}}return{value:h,done:l}}),!0),t;function m(e,t){for(c=e,i=t,h=0;!l&&s&&!r&&h<f.length;h++){var r,n=f[h],o=p.p,a=n[2];3<e?(r=a===t)&&(i=n[(c=n[4])?5:c=3],n[4]=n[5]=y):n[0]<=o&&((r=e<2&&o<n[1])?(c=0,p.v=t,p.n=n[1]):o<a&&(r=e<3||n[0]>t||a<t)&&(n[4]=e,n[5]=t,p.n=a,c=0))}if(r||1<e)return v;throw l=!0,t}}var v={};function d(){}function o(){}function a(){}var h=Object.getPrototypeOf,e=[][t]?h(h([][t]())):(g(h={},t,function(){return this}),h),u=a.prototype=d.prototype=Object.create(e);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,g(e,r,"GeneratorFunction")),e.prototype=Object.create(u),e}return g(u,"constructor",o.prototype=a),g(a,"constructor",o),g(a,r,o.displayName="GeneratorFunction"),g(u),g(u,r,"Generator"),g(u,t,function(){return this}),g(u,"toString",function(){return"[object Generator]"}),(p=function(){return{w:n,m:c}})()}function g(e,t,r,n){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(g=function(e,t,r,n){function o(t,r){g(e,t,function(e){return this._invoke(t,r,e)})}t?a?a(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(o("next",0),o("throw",1),o("return",2))})(e,t,r,n)}function m(e,t){this.v=e,this.k=t}function v(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:new Set;if(!e||"object"!==Object(b.a)(e))return e;if(Array.isArray(e))return e.map(function(e){return v(e,t,r)});if(e.$ref&&"string"==typeof e.$ref){if(r.has(e.$ref))return console.warn("检测到循环引用:",e.$ref),{error:"Circular reference detected"};var n=e.$ref;if(n.startsWith("#/")){var o,a=n.substring(2).split("/"),u=t,c=Object(y.a)(a);try{for(c.s();!(o=c.n()).done;){var i=o.value;if(!u||"object"!==Object(b.a)(u)||void 0===u[i])return console.warn("无法解析引用路径:",n),e;u=u[i]}}catch(e){c.e(e)}finally{c.f()}r.add(n);a=v(u,t,new Set(r));return r.delete(n),a}return console.warn("不支持的引用类型:",n),e}for(var s={},f=0,l=Object.entries(e);f<l.length;f++){var p=Object(h.a)(l[f],2),m=p[0],p=p[1];s[m]=v(p,t,r)}return s}var u=function(){var t=Object(n.a)(c().mark(function e(t){var r,n;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,e.prev=1,r=JSON.parse(t),e.next=14;break;case 5:e.prev=5,e.t0=e.catch(1),e.prev=7,r=a.a.load(t),e.next=14;break;case 11:throw e.prev=11,e.t1=e.catch(7),new Error("Invalid JSON/YAML format");case 14:if((r=v(r,r)).swagger)return e.next=18,o.a.convertObj(r,{});e.next=20;break;case 18:return n=e.sent,e.abrupt("return",n.openapi);case 20:if(r.openapi)return e.abrupt("return",r);e.next=22;break;case 22:e.next=28;break;case 24:throw e.prev=24,e.t2=e.catch(0),console.error("解析失败:",e.t2),new Error("File format invalid");case 28:case"end":return e.stop()}},e,null,[[0,24],[1,5],[7,11]])}));return function(e){return t.apply(this,arguments)}}(),d=function(e){var t=Array.isArray(null==e||null==(t=e.server)?void 0:t.securitySchemes)?e.server.securitySchemes:[],m=e.tools.reduce(function(e,t){var r=t.args.reduce(function(e,t){return e[t.name]=t.position,e},{});return e[t.name]={enabled:!0,templates:{"json-go-template":{responseTemplate:t.responseTemplate,requestTemplate:t.requestTemplate,argsPosition:r}}},e},{}),r=e.tools.map(function(e){return{name:e.name,description:e.description,inputSchema:{type:"object",properties:e.args.reduce(function(e,t){return e[t.name]={type:t.type,description:t.description,properties:t.properties},e},{}),required:e.args.filter(function(e){return e.required}).map(function(e){return e.name})}}});try{var y=e.tools.reduce(function(e,t){return e[t.name]=t.args||[],e},{}),v=function(e,t){return e.some(function(e){return(e.key||"").toLowerCase()===String(t).toLowerCase()})},d=function(e){e=e.find(function(e){return"content-type"===(e.key||"").toLowerCase()});return e?String(e.value).toLowerCase():""};Object.keys(m||{}).forEach(function(e){var r,t,n,o,a,u,c,i,s,f,l,p=m[e],p=null==p||null==(p=p.templates)?void 0:p["json-go-template"];p&&p.requestTemplate&&(u=p.argsPosition||{},r=p.requestTemplate.url||"",t=(s=p.requestTemplate.headers)?Array.isArray(s)?s:"object"===Object(b.a)(s)?Object.entries(s).map(function(e){var e=Object(h.a)(e,2),t=e[0],e=e[1];return{key:t,value:String(e)}}):[]:[],s=p.requestTemplate.body,n=(y[e]||[]).reduce(function(e,t){return e[t.name]=t,e},{}),u=(e=Object.entries(u)).filter(function(e){return"path"===Object(h.a)(e,2)[1]}).map(function(e){return Object(h.a)(e,1)[0]}),f=e.filter(function(e){return"query"===Object(h.a)(e,2)[1]}).map(function(e){return Object(h.a)(e,1)[0]}),c=e.filter(function(e){return"header"===Object(h.a)(e,2)[1]}).map(function(e){return Object(h.a)(e,1)[0]}),i=e.filter(function(e){return"cookie"===Object(h.a)(e,2)[1]}).map(function(e){return Object(h.a)(e,1)[0]}),o=e.filter(function(e){return"body"===Object(h.a)(e,2)[1]}).map(function(e){return Object(h.a)(e,1)[0]}),a=!1,u.forEach(function(e){var t=new RegExp("\\{"+e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\$&")+"\\}","g");r=r.replace(t,"{{.args.".concat(e,"}}"))}),e=0<(u=e.length)&&f.length===u,u=0<u&&o.length===u,e?p.requestTemplate.argsToUrlParam=!0:0<f.length&&(f=f.map(function(e){return"".concat(e,"={{.args.").concat(e,"}}")}),l=r.includes("?")?"&":"?",r+=0<f.length?l+f.join("&"):""),0<c.length&&c.forEach(function(e){v(t,e)||t.push({key:e,value:"{{.args.".concat(e,"}}")})}),0<i.length&&(l=i.map(function(e){return"".concat(e,"={{.args.").concat(e,"}}")}).join("; "),0<=(f=t.findIndex(function(e){return"cookie"===(e.key||"").toLowerCase()}))?t[f].value=t[f].value?"".concat(t[f].value,"; ").concat(l):l:t.push({key:"Cookie",value:l})),c=void 0!==s||!0===p.requestTemplate.argsToJsonBody||!0===p.requestTemplate.argsToFormBody||!0===p.requestTemplate.argsToUrlParam,0<o.length&&(i=d(t),u?i.includes("application/x-www-form-urlencoded")||i.includes("multipart/form-data")?p.requestTemplate.argsToFormBody=!0:(p.requestTemplate.argsToJsonBody=!0,d(t)||v(t,"Content-Type")||t.push({key:"Content-Type",value:"application/json; charset=utf-8"})):c||(i.includes("application/x-www-form-urlencoded")?s=o.map(function(e){return"".concat(e,"={{.args.").concat(e,"}}")}).join("&"):(o.some(function(e){e=n[e],e=e&&(e.type||e.schema&&e.schema.type);return"object"===e||"array"===e})?a=p.requestTemplate.argsToJsonBody=!0:(f=o.map(function(e){var t=n[e],t="string"===(t&&(t.type||t.schema&&t.schema.type))?'"{{.args.'.concat(e,'}}"'):"{{.args.".concat(e,"}}");return' "'.concat(e,'": ').concat(t)}),s="{$\n".concat(f.join(",\n"),"\n}").replace("{$\n","{\n")),d(t)||v(t,"Content-Type")||t.push({key:"Content-Type",value:"application/json; charset=utf-8"})))),p.requestTemplate.url=r,0<t.length&&(p.requestTemplate.headers=t),void 0!==s?(p.requestTemplate.body=s,delete p.requestTemplate.argsToJsonBody,delete p.requestTemplate.argsToUrlParam,delete p.requestTemplate.argsToFormBody):(l=d(t),u||0<o.length&&l.includes("application/x-www-form-urlencoded")&&(a=p.requestTemplate.argsToFormBody=!0)),a&&!e&&!u||delete p.argsPosition)})}catch(e){console.warn("argsPosition to requestTemplate transform failed:",e)}return{tools:r,toolsMeta:m,securitySchemes:t}}}}]); |