@nocobase/plugin-mcp-server 2.1.0-alpha.20 → 2.1.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,10 +8,10 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/flow-engine": "2.1.0-alpha.20",
12
- "@nocobase/client": "2.1.0-alpha.20",
13
- "@nocobase/ai": "2.1.0-alpha.20",
14
- "@nocobase/server": "2.1.0-alpha.20",
15
- "@nocobase/utils": "2.1.0-alpha.20",
16
- "@nocobase/plugin-idp-oauth": "2.1.0-alpha.20"
11
+ "@nocobase/flow-engine": "2.1.0-alpha.22",
12
+ "@nocobase/client": "2.1.0-alpha.22",
13
+ "@nocobase/ai": "2.1.0-alpha.22",
14
+ "@nocobase/server": "2.1.0-alpha.22",
15
+ "@nocobase/utils": "2.1.0-alpha.22",
16
+ "@nocobase/plugin-idp-oauth": "2.1.0-alpha.22"
17
17
  };
@@ -1,2 +1,2 @@
1
- (function(){"use strict";var e={314:function(e,t){Object.defineProperty(t,"__esModule",{value:true});t.parseCookie=parseCookie;t.parse=parseCookie;t.stringifyCookie=stringifyCookie;t.stringifySetCookie=stringifySetCookie;t.serialize=stringifySetCookie;t.parseSetCookie=parseSetCookie;t.stringifySetCookie=stringifySetCookie;t.serialize=stringifySetCookie;const s=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/;const r=/^[\u0021-\u003A\u003C-\u007E]*$/;const n=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;const i=/^[\u0020-\u003A\u003D-\u007E]*$/;const o=/^-?\d+$/;const a=Object.prototype.toString;const u=(()=>{const C=function(){};C.prototype=Object.create(null);return C})();function parseCookie(e,t){const s=new u;const r=e.length;if(r<2)return s;const n=t?.decode||decode;let i=0;do{const t=eqIndex(e,i,r);if(t===-1)break;const o=endIndex(e,i,r);if(t>o){i=e.lastIndexOf(";",t-1)+1;continue}const a=valueSlice(e,i,t);if(s[a]===undefined){s[a]=n(valueSlice(e,t+1,o))}i=o+1}while(i<r);return s}function stringifyCookie(e,t){const n=t?.encode||encodeURIComponent;const i=[];for(const t of Object.keys(e)){const o=e[t];if(o===undefined)continue;if(!s.test(t)){throw new TypeError(`cookie name is invalid: ${t}`)}const a=n(o);if(!r.test(a)){throw new TypeError(`cookie val is invalid: ${o}`)}i.push(`${t}=${a}`)}return i.join("; ")}function stringifySetCookie(e,t,o){const a=typeof e==="object"?e:{...o,name:e,value:String(t)};const u=typeof t==="object"?t:o;const l=u?.encode||encodeURIComponent;if(!s.test(a.name)){throw new TypeError(`argument name is invalid: ${a.name}`)}const f=a.value?l(a.value):"";if(!r.test(f)){throw new TypeError(`argument val is invalid: ${a.value}`)}let p=a.name+"="+f;if(a.maxAge!==undefined){if(!Number.isInteger(a.maxAge)){throw new TypeError(`option maxAge is invalid: ${a.maxAge}`)}p+="; Max-Age="+a.maxAge}if(a.domain){if(!n.test(a.domain)){throw new TypeError(`option domain is invalid: ${a.domain}`)}p+="; Domain="+a.domain}if(a.path){if(!i.test(a.path)){throw new TypeError(`option path is invalid: ${a.path}`)}p+="; Path="+a.path}if(a.expires){if(!isDate(a.expires)||!Number.isFinite(a.expires.valueOf())){throw new TypeError(`option expires is invalid: ${a.expires}`)}p+="; Expires="+a.expires.toUTCString()}if(a.httpOnly){p+="; HttpOnly"}if(a.secure){p+="; Secure"}if(a.partitioned){p+="; Partitioned"}if(a.priority){const e=typeof a.priority==="string"?a.priority.toLowerCase():undefined;switch(e){case"low":p+="; Priority=Low";break;case"medium":p+="; Priority=Medium";break;case"high":p+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${a.priority}`)}}if(a.sameSite){const e=typeof a.sameSite==="string"?a.sameSite.toLowerCase():a.sameSite;switch(e){case true:case"strict":p+="; SameSite=Strict";break;case"lax":p+="; SameSite=Lax";break;case"none":p+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${a.sameSite}`)}}return p}function parseSetCookie(e,t){const s=t?.decode||decode;const r=e.length;const n=endIndex(e,0,r);const i=eqIndex(e,0,n);const a=i===-1?{name:"",value:s(valueSlice(e,0,n))}:{name:valueSlice(e,0,i),value:s(valueSlice(e,i+1,n))};let u=n+1;while(u<r){const t=endIndex(e,u,r);const s=eqIndex(e,u,t);const n=s===-1?valueSlice(e,u,t):valueSlice(e,u,s);const i=s===-1?undefined:valueSlice(e,s+1,t);switch(n.toLowerCase()){case"httponly":a.httpOnly=true;break;case"secure":a.secure=true;break;case"partitioned":a.partitioned=true;break;case"domain":a.domain=i;break;case"path":a.path=i;break;case"max-age":if(i&&o.test(i))a.maxAge=Number(i);break;case"expires":if(!i)break;const e=new Date(i);if(Number.isFinite(e.valueOf()))a.expires=e;break;case"priority":if(!i)break;const t=i.toLowerCase();if(t==="low"||t==="medium"||t==="high"){a.priority=t}break;case"samesite":if(!i)break;const s=i.toLowerCase();if(s==="lax"||s==="strict"||s==="none"){a.sameSite=s}break}u=t+1}return a}function endIndex(e,t,s){const r=e.indexOf(";",t);return r===-1?s:r}function eqIndex(e,t,s){const r=e.indexOf("=",t);return r<s?r:-1}function valueSlice(e,t,s){let r=t;let n=s;do{const t=e.charCodeAt(r);if(t!==32&&t!==9)break}while(++r<n);while(n>r){const t=e.charCodeAt(n-1);if(t!==32&&t!==9)break;n--}return e.slice(r,n)}function decode(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch(t){return e}}function isDate(e){return a.call(e)==="[object Date]"}},303:function(e){var t={decodeValues:true,map:false,silent:false};function isForbiddenKey(e){return typeof e!=="string"||e in{}}function createNullObj(){return Object.create(null)}function isNonEmptyString(e){return typeof e==="string"&&!!e.trim()}function parseString(e,s){var r=e.split(";").filter(isNonEmptyString);var n=r.shift();var i=parseNameValuePair(n);var o=i.name;var a=i.value;s=s?Object.assign({},t,s):t;if(isForbiddenKey(o)){return null}try{a=s.decodeValues?decodeURIComponent(a):a}catch(e){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",e)}var u=createNullObj();u.name=o;u.value=a;r.forEach((function(e){var t=e.split("=");var s=t.shift().trimLeft().toLowerCase();if(isForbiddenKey(s)){return}var r=t.join("=");if(s==="expires"){u.expires=new Date(r)}else if(s==="max-age"){var n=parseInt(r,10);if(!Number.isNaN(n))u.maxAge=n}else if(s==="secure"){u.secure=true}else if(s==="httponly"){u.httpOnly=true}else if(s==="samesite"){u.sameSite=r}else if(s==="partitioned"){u.partitioned=true}else if(s){u[s]=r}}));return u}function parseNameValuePair(e){var t="";var s="";var r=e.split("=");if(r.length>1){t=r.shift();s=r.join("=")}else{s=e}return{name:t,value:s}}function parse(e,s){s=s?Object.assign({},t,s):t;if(!e){if(!s.map){return[]}else{return createNullObj()}}if(e.headers){if(typeof e.headers.getSetCookie==="function"){e=e.headers.getSetCookie()}else if(e.headers["set-cookie"]){e=e.headers["set-cookie"]}else{var r=e.headers[Object.keys(e.headers).find((function(e){return e.toLowerCase()==="set-cookie"}))];if(!r&&e.headers.cookie&&!s.silent){console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.")}e=r}}if(!Array.isArray(e)){e=[e]}if(!s.map){return e.filter(isNonEmptyString).map((function(e){return parseString(e,s)})).filter(Boolean)}else{var n=createNullObj();return e.filter(isNonEmptyString).reduce((function(e,t){var r=parseString(t,s);if(r&&!isForbiddenKey(r.name)){e[r.name]=r}return e}),n)}}function splitCookiesString(e){if(Array.isArray(e)){return e}if(typeof e!=="string"){return[]}var t=[];var s=0;var r;var n;var i;var o;var a;function skipWhitespace(){while(s<e.length&&/\s/.test(e.charAt(s))){s+=1}return s<e.length}function notSpecialChar(){n=e.charAt(s);return n!=="="&&n!==";"&&n!==","}while(s<e.length){r=s;a=false;while(skipWhitespace()){n=e.charAt(s);if(n===","){i=s;s+=1;skipWhitespace();o=s;while(s<e.length&&notSpecialChar()){s+=1}if(s<e.length&&e.charAt(s)==="="){a=true;s=o;t.push(e.substring(r,i));r=s}else{s=i+1}}else{s+=1}}if(!a||s>=e.length){t.push(e.substring(r,e.length))}}return t}e.exports=parse;e.exports.parse=parse;e.exports.parseString=parseString;e.exports.splitCookiesString=splitCookiesString},61:function(e){e.exports=require("node:assert")},5:function(e){e.exports=require("node:crypto")},673:function(e){e.exports=require("node:events")},849:function(e){e.exports=require("node:http")},492:function(e){e.exports=require("node:stream")},41:function(e){e.exports=require("node:url")},261:function(e){e.exports=require("node:util")},438:function(e,t,s){const r=s(61);const n=s(664);const i=s(991);const o="The dispatch function has already been invoked";const a=s(547);function inject(e,t,s){if(s===undefined){return new Chain(e,t)}else{return doInject(e,t,s)}}function supportStream1(e,t){const s=e._lightMyRequest.payload;if(!s||s._readableState||typeof s.resume!=="function"){return t()}const r=[];s.on("data",(e=>r.push(Buffer.from(e))));s.on("end",(()=>{const s=Buffer.concat(r);e.headers["content-length"]=e.headers["content-length"]||""+s.length;delete e.headers["transfer-encoding"];e._lightMyRequest.payload=s;return t()}));s.resume()}function makeRequest(e,t,s,r){s.once("error",(function(e){if(this.destroyed)r.destroy(e)}));s.once("close",(function(){if(this.destroyed&&!this._error){r.destroy()}}));return supportStream1(s,(()=>e.call(t,s,r)))}function doInject(e,t,s){t=typeof t==="string"?{url:t}:t;if(t.validate!==false){r(typeof e==="function","dispatchFunc should be a function");const s=a(t);if(!s){throw new Error(a.errors.map((e=>e.message)))}}const o=t.server||{};const u=t.Request?n.CustomRequest:n;if(e.request&&e.request.app===e){Object.setPrototypeOf(Object.getPrototypeOf(e.request),u.prototype);Object.setPrototypeOf(Object.getPrototypeOf(e.response),i.prototype)}if(typeof s==="function"){const r=new u(t);const n=new i(r,s);return makeRequest(e,o,r,n)}else{return new Promise(((s,r)=>{const n=new u(t);const a=new i(n,s,r);makeRequest(e,o,n,a)}))}}function Chain(e,t){if(typeof t==="string"){this.option={url:t}}else{this.option=Object.assign({},t)}this.dispatch=e;this._hasInvoked=false;this._promise=null;if(this.option.autoStart!==false){process.nextTick((()=>{if(!this._hasInvoked){this.end()}}))}}const u=["delete","get","head","options","patch","post","put","trace"];u.forEach((e=>{Chain.prototype[e]=function(t){if(this._hasInvoked===true||this._promise){throw new Error(o)}this.option.url=t;this.option.method=e.toUpperCase();return this}}));const l=["body","cookies","headers","payload","query"];l.forEach((e=>{Chain.prototype[e]=function(t){if(this._hasInvoked===true||this._promise){throw new Error(o)}this.option[e]=t;return this}}));Chain.prototype.end=function(e){if(this._hasInvoked===true||this._promise){throw new Error(o)}this._hasInvoked=true;if(typeof e==="function"){doInject(this.dispatch,this.option,e)}else{this._promise=doInject(this.dispatch,this.option);return this._promise}};Object.getOwnPropertyNames(Promise.prototype).forEach((e=>{if(e==="constructor")return;Chain.prototype[e]=function(...t){if(!this._promise){if(this._hasInvoked===true){throw new Error(o)}this._hasInvoked=true;this._promise=doInject(this.dispatch,this.option)}return this._promise[e](...t)}}));function isInjection(e){return e instanceof n||e instanceof i||e?.constructor?.name==="_CustomLMRRequest"}e.exports=inject;e.exports["default"]=inject;e.exports.inject=inject;e.exports.isInjection=isInjection},547:function(e){e.exports=validate10;e.exports["default"]=validate10;const t={type:"object",properties:{url:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:true,required:["pathname"]}]},path:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:true,required:["pathname"]}]},cookies:{type:"object",additionalProperties:true},headers:{type:"object",additionalProperties:true},query:{anyOf:[{type:"object",additionalProperties:true},{type:"string"}]},simulate:{type:"object",properties:{end:{type:"boolean"},split:{type:"boolean"},error:{type:"boolean"},close:{type:"boolean"}}},authority:{type:"string"},remoteAddress:{type:"string"},method:{type:"string",enum:["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","QUERY","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","acl","bind","checkout","connect","copy","delete","get","head","link","lock","m-search","merge","mkactivity","mkcalendar","mkcol","move","notify","options","patch","post","propfind","proppatch","purge","put","query","rebind","report","search","source","subscribe","trace","unbind","unlink","unlock","unsubscribe"]},validate:{type:"boolean"}},additionalProperties:true,oneOf:[{required:["url"]},{required:["path"]}]};function validate10(e,{instancePath:s="",parentData:r,parentDataProperty:n,rootData:i=e}={}){let o=null;let a=0;const u=a;let l=false;let f=null;const p=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let t;if(e.url===undefined&&(t="url")){const e={instancePath:s,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:t},message:"must have required property '"+t+"'"};if(o===null){o=[e]}else{o.push(e)}a++}}var c=p===a;if(c){l=true;f=0}const d=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let t;if(e.path===undefined&&(t="path")){const e={instancePath:s,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:t},message:"must have required property '"+t+"'"};if(o===null){o=[e]}else{o.push(e)}a++}}var c=d===a;if(c&&l){l=false;f=[f,1]}else{if(c){l=true;f=1}}if(!l){const e={instancePath:s,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:f},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=u;if(o!==null){if(u){o.length=u}else{o=null}}}if(a===0){if(e&&typeof e=="object"&&!Array.isArray(e)){if(e.url!==undefined){let t=e.url;const r=a;const n=a;let i=false;let u=null;const l=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){t=n;if(e!==undefined){e["url"]=n}}}var h=l===a;if(h){i=true;u=0}const f=a;if(a===f){if(t&&typeof t=="object"&&!Array.isArray(t)){let e;if(t.pathname===undefined&&(e="pathname")){const t={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/1/required",keyword:"required",params:{missingProperty:e},message:"must have required property '"+e+"'"};if(o===null){o=[t]}else{o.push(t)}a++}else{if(t.protocol!==undefined){let e=t.protocol;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/url/protocol",schemaPath:"#/properties/url/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["protocol"]=n}}}var y=r===a}else{var y=true}if(y){if(t.hostname!==undefined){let e=t.hostname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/url/hostname",schemaPath:"#/properties/url/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["hostname"]=n}}}var y=r===a}else{var y=true}if(y){if(t.pathname!==undefined){let e=t.pathname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/url/pathname",schemaPath:"#/properties/url/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["pathname"]=n}}}var y=r===a}else{var y=true}}}}}else{const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var h=f===a;if(h&&i){i=false;u=[u,1]}else{if(h){i=true;u=1}}if(!i){const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=n;if(o!==null){if(n){o.length=n}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.path!==undefined){let t=e.path;const r=a;const n=a;let i=false;let u=null;const l=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){t=n;if(e!==undefined){e["path"]=n}}}var g=l===a;if(g){i=true;u=0}const f=a;if(a===f){if(t&&typeof t=="object"&&!Array.isArray(t)){let e;if(t.pathname===undefined&&(e="pathname")){const t={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/1/required",keyword:"required",params:{missingProperty:e},message:"must have required property '"+e+"'"};if(o===null){o=[t]}else{o.push(t)}a++}else{if(t.protocol!==undefined){let e=t.protocol;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/path/protocol",schemaPath:"#/properties/path/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["protocol"]=n}}}var b=r===a}else{var b=true}if(b){if(t.hostname!==undefined){let e=t.hostname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/path/hostname",schemaPath:"#/properties/path/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["hostname"]=n}}}var b=r===a}else{var b=true}if(b){if(t.pathname!==undefined){let e=t.pathname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/path/pathname",schemaPath:"#/properties/path/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["pathname"]=n}}}var b=r===a}else{var b=true}}}}}else{const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var g=f===a;if(g&&i){i=false;u=[u,1]}else{if(g){i=true;u=1}}if(!i){const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=n;if(o!==null){if(n){o.length=n}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.cookies!==undefined){let t=e.cookies;const r=a;if(a===r){if(!(t&&typeof t=="object"&&!Array.isArray(t))){validate10.errors=[{instancePath:s+"/cookies",schemaPath:"#/properties/cookies/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.headers!==undefined){let t=e.headers;const r=a;if(a===r){if(!(t&&typeof t=="object"&&!Array.isArray(t))){validate10.errors=[{instancePath:s+"/headers",schemaPath:"#/properties/headers/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.query!==undefined){let t=e.query;const r=a;const n=a;let i=false;const u=a;if(a===u){if(!(t&&typeof t=="object"&&!Array.isArray(t))){const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var k=u===a;i=i||k;if(!i){const r=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){t=n;if(e!==undefined){e["query"]=n}}}var k=r===a;i=i||k}if(!i){const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=n;if(o!==null){if(n){o.length=n}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.simulate!==undefined){let t=e.simulate;const r=a;if(a===r){if(t&&typeof t=="object"&&!Array.isArray(t)){if(t.end!==undefined){let e=t.end;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/end",schemaPath:"#/properties/simulate/properties/end/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["end"]=r}}}var v=r===a}else{var v=true}if(v){if(t.split!==undefined){let e=t.split;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/split",schemaPath:"#/properties/simulate/properties/split/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["split"]=r}}}var v=r===a}else{var v=true}if(v){if(t.error!==undefined){let e=t.error;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/error",schemaPath:"#/properties/simulate/properties/error/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["error"]=r}}}var v=r===a}else{var v=true}if(v){if(t.close!==undefined){let e=t.close;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/close",schemaPath:"#/properties/simulate/properties/close/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["close"]=r}}}var v=r===a}else{var v=true}}}}}else{validate10.errors=[{instancePath:s+"/simulate",schemaPath:"#/properties/simulate/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.authority!==undefined){let t=e.authority;const r=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{validate10.errors=[{instancePath:s+"/authority",schemaPath:"#/properties/authority/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(n!==undefined){t=n;if(e!==undefined){e["authority"]=n}}}var m=r===a}else{var m=true}if(m){if(e.remoteAddress!==undefined){let t=e.remoteAddress;const r=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{validate10.errors=[{instancePath:s+"/remoteAddress",schemaPath:"#/properties/remoteAddress/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(n!==undefined){t=n;if(e!==undefined){e["remoteAddress"]=n}}}var m=r===a}else{var m=true}if(m){if(e.method!==undefined){let r=e.method;const n=a;if(typeof r!=="string"){let t=typeof r;let n=undefined;if(!(n!==undefined)){if(t=="number"||t=="boolean"){n=""+r}else if(r===null){n=""}else{validate10.errors=[{instancePath:s+"/method",schemaPath:"#/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(n!==undefined){r=n;if(e!==undefined){e["method"]=n}}}if(!(r==="ACL"||r==="BIND"||r==="CHECKOUT"||r==="CONNECT"||r==="COPY"||r==="DELETE"||r==="GET"||r==="HEAD"||r==="LINK"||r==="LOCK"||r==="M-SEARCH"||r==="MERGE"||r==="MKACTIVITY"||r==="MKCALENDAR"||r==="MKCOL"||r==="MOVE"||r==="NOTIFY"||r==="OPTIONS"||r==="PATCH"||r==="POST"||r==="PROPFIND"||r==="PROPPATCH"||r==="PURGE"||r==="PUT"||r==="QUERY"||r==="REBIND"||r==="REPORT"||r==="SEARCH"||r==="SOURCE"||r==="SUBSCRIBE"||r==="TRACE"||r==="UNBIND"||r==="UNLINK"||r==="UNLOCK"||r==="UNSUBSCRIBE"||r==="acl"||r==="bind"||r==="checkout"||r==="connect"||r==="copy"||r==="delete"||r==="get"||r==="head"||r==="link"||r==="lock"||r==="m-search"||r==="merge"||r==="mkactivity"||r==="mkcalendar"||r==="mkcol"||r==="move"||r==="notify"||r==="options"||r==="patch"||r==="post"||r==="propfind"||r==="proppatch"||r==="purge"||r==="put"||r==="query"||r==="rebind"||r==="report"||r==="search"||r==="source"||r==="subscribe"||r==="trace"||r==="unbind"||r==="unlink"||r==="unlock"||r==="unsubscribe")){validate10.errors=[{instancePath:s+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues:t.properties.method.enum},message:"must be equal to one of the allowed values"}];return false}var m=n===a}else{var m=true}if(m){if(e.validate!==undefined){let t=e.validate;const r=a;if(typeof t!=="boolean"){let r=undefined;if(!(r!==undefined)){if(t==="false"||t===0||t===null){r=false}else if(t==="true"||t===1){r=true}else{validate10.errors=[{instancePath:s+"/validate",schemaPath:"#/properties/validate/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){t=r;if(e!==undefined){e["validate"]=r}}}var m=r===a}else{var m=true}}}}}}}}}}}else{validate10.errors=[{instancePath:s,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}validate10.errors=o;return a===0}},333:function(e,t,s){const{randomUUID:r}=s(5);const{Readable:n}=s(492);let i;function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function formDataToStream(e){i=i??new TextEncoder;const t=`----formdata-${r()}`;const s=`--${t}\r\nContent-Disposition: form-data`
2
- /*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const o=new Uint8Array([13,10]);async function*asyncIterator(){for(const[t,r]of e){if(typeof r==="string"){yield i.encode(`${s}; name="${escape(normalizeLinefeeds(t))}"\r\n\r\n`);yield i.encode(`${normalizeLinefeeds(r)}\r\n`)}else{let e=`${s}; name="${escape(normalizeLinefeeds(t))}"`;r.name&&(e+=`; filename="${escape(r.name)}"`);e+=`\r\nContent-Type: ${r.type||"application/octet-stream"}\r\n\r\n`;yield i.encode(e);if(r.stream){yield*r.stream()}else{yield r}yield o}}yield i.encode(`--${t}--`)}const a=n.from(asyncIterator());return{stream:a,contentType:`multipart/form-data; boundary=${t}`}}e.exports.isFormDataLike=isFormDataLike;e.exports.formDataToStream=formDataToStream},274:function(e,t,s){const{URL:r}=s(41);const n="http://localhost";e.exports=function parseURL(e,t){if((typeof e==="string"||Object.prototype.toString.call(e)==="[object String]")&&e.startsWith("//")){e=n+e}const s=typeof e==="object"?Object.assign(new r(n),e):new r(e,n);if(typeof t==="string"){t=new URLSearchParams(t);for(const e of t.keys()){s.searchParams.delete(e);for(const r of t.getAll(e)){s.searchParams.append(e,r)}}}else{const r=Object.assign({},e.query,t);for(const e in r){const t=r[e];if(Array.isArray(t)){s.searchParams.delete(e);for(const r of t){s.searchParams.append(e,r)}}else{s.searchParams.set(e,t)}}}return s}},664:function(e,t,s){const{Readable:r,addAbortSignal:n}=s(492);const i=s(261);const o=s(314);const a=s(61);const{createDeprecation:u}=s(995);const l=s(274);const{isFormDataLike:f,formDataToStream:p}=s(333);const{EventEmitter:c}=s(673);const d=u({name:"FastifyDeprecationLightMyRequest",code:"FST_LIGHTMYREQUEST_DEP01",message:'You are accessing "request.connection", use "request.socket" instead.'});function hostHeaderFromURL(e){return e.port?e.host:e.hostname+(e.protocol==="https:"?":443":":80")}class MockSocket extends c{constructor(e){super();this.remoteAddress=e}}function CustomRequest(e){return new _CustomLMRRequest(this);function _CustomLMRRequest(t){Request.call(t,{...e,Request:undefined});Object.assign(this,t);for(const e of Object.keys(Request.prototype)){this.constructor.prototype[e]=Request.prototype[e]}i.inherits(this.constructor,e.Request);return this}}function Request(e){r.call(this,{autoDestroy:false});const t=l(e.url||e.path,e.query);this.url=t.pathname+t.search;this.aborted=false;this.httpVersionMajor=1;this.httpVersionMinor=1;this.httpVersion="1.1";this.method=e.method?e.method.toUpperCase():"GET";this.headers={};this.rawHeaders=[];const s=e.headers||{};for(const e in s){const t=e.toLowerCase();if((t==="user-agent"||t==="content-type")&&s[e]===undefined){this.headers[t]=undefined;continue}const r=s[e];a(r!==undefined,'invalid value "undefined" for header '+e);this.headers[t]=""+r}if("user-agent"in this.headers===false){this.headers["user-agent"]="lightMyRequest"}this.headers.host=this.headers.host||e.authority||hostHeaderFromURL(t);if(e.cookies){const{cookies:t}=e;const s=Object.keys(t).map((e=>o.serialize(e,t[e])));if(this.headers.cookie){s.unshift(this.headers.cookie)}this.headers.cookie=s.join("; ")}this.socket=new MockSocket(e.remoteAddress||"127.0.0.1");Object.defineProperty(this,"connection",{get(){d();return this.socket},configurable:true});let i=e.payload||e.body||null;let u=i&&typeof i.resume==="function";if(f(i)){const e=p(i);i=e.stream;u=true;this.headers["content-type"]=e.contentType;this.headers["transfer-encoding"]="chunked"}if(i&&typeof i!=="string"&&!u&&!Buffer.isBuffer(i)){i=JSON.stringify(i);if("content-type"in this.headers===false){this.headers["content-type"]="application/json"}}if(i&&!u&&!Object.hasOwn(this.headers,"content-length")){this.headers["content-length"]=(Buffer.isBuffer(i)?i.length:Buffer.byteLength(i)).toString()}for(const e of Object.keys(this.headers)){this.rawHeaders.push(e,this.headers[e])}this._lightMyRequest={payload:i,isDone:false,simulate:e.simulate||{},payloadAsStream:e.payloadAsStream,signal:e.signal};const c=e.signal;if(c){n(c,this)}{const e=this._lightMyRequest.payload;if(e?._readableState){this._read=readStream;e.on("error",(e=>{this.destroy(e)}));e.on("end",(()=>{this.push(null)}))}else{this._read=readEverythingElse}}return this}function readStream(){const e=this._lightMyRequest.payload;let t=true;let s=false;let r;while(t&&(r=e.read())){s=true;t=this.push(r)}if(t&&!s){this._lightMyRequest.payload.once("readable",this._read.bind(this))}}function readEverythingElse(){setImmediate((()=>{if(this._lightMyRequest.isDone){if(this._lightMyRequest.simulate.end!==false){this.push(null)}return}this._lightMyRequest.isDone=true;if(this._lightMyRequest.payload){if(this._lightMyRequest.simulate.split){this.push(this._lightMyRequest.payload.slice(0,1));this.push(this._lightMyRequest.payload.slice(1))}else{this.push(this._lightMyRequest.payload)}}if(this._lightMyRequest.simulate.error){this.emit("error",new Error("Simulated"))}if(this._lightMyRequest.simulate.close){this.emit("close")}if(this._lightMyRequest.simulate.end!==false){this.push(null)}}))}i.inherits(Request,r);i.inherits(CustomRequest,Request);Request.prototype.destroy=function(e){if(this.destroyed||this._lightMyRequest.isDone)return;this.destroyed=true;if(e){this._error=true;process.nextTick((()=>this.emit("error",e)))}process.nextTick((()=>this.emit("close")))};e.exports=Request;e.exports.Request=Request;e.exports.CustomRequest=CustomRequest},991:function(e,t,s){const r=s(849);const{Writable:n,Readable:i,addAbortSignal:o}=s(492);const a=s(261);const u=s(303);function Response(e,t,s){r.ServerResponse.call(this,e);if(e._lightMyRequest?.payloadAsStream){const t=this.emit.bind(this,"drain");this._lightMyRequest={headers:null,trailers:{},stream:new i({read:t})};const s=e._lightMyRequest.signal;if(s){o(s,this._lightMyRequest.stream)}}else{this._lightMyRequest={headers:null,trailers:{},payloadChunks:[]}}this.setHeader("foo","bar");this.removeHeader("foo");this.assignSocket(getNullSocket());this._promiseCallback=typeof s==="function";let n=false;const onEndSuccess=e=>{if(n)return;n=true;if(this._promiseCallback){return process.nextTick((()=>t(e)))}process.nextTick((()=>t(null,e)))};this._lightMyRequest.onEndSuccess=onEndSuccess;let a=false;const onEndFailure=e=>{if(n){if(this._lightMyRequest.stream&&!a){if(!e){e=new Error("response destroyed before completion");e.code="LIGHT_ECONNRESET"}this._lightMyRequest.stream.destroy(e);this._lightMyRequest.stream.on("error",(()=>{}))}return}n=true;if(!e){e=new Error("response destroyed before completion");e.code="LIGHT_ECONNRESET"}if(this._promiseCallback){return process.nextTick((()=>s(e)))}process.nextTick((()=>t(e,null)))};if(this._lightMyRequest.stream){this.once("finish",(()=>{a=true;this._lightMyRequest.stream.push(null)}))}else{this.once("finish",(()=>{const t=generatePayload(this);t.raw.req=e;onEndSuccess(t)}))}this.connection.once("error",onEndFailure);this.once("error",onEndFailure);this.once("close",onEndFailure)}a.inherits(Response,r.ServerResponse);Response.prototype.setTimeout=function(e,t){this.timeoutHandle=setTimeout((()=>{this.emit("timeout")}),e);this.on("timeout",t);return this};Response.prototype.writeHead=function(){const e=r.ServerResponse.prototype.writeHead.apply(this,arguments);copyHeaders(this);if(this._lightMyRequest.stream){this._lightMyRequest.onEndSuccess(generatePayload(this))}return e};Response.prototype.write=function(e,t,s){if(this.timeoutHandle){clearTimeout(this.timeoutHandle)}r.ServerResponse.prototype.write.call(this,e,t,s);if(this._lightMyRequest.stream){return this._lightMyRequest.stream.push(Buffer.from(e,t))}else{this._lightMyRequest.payloadChunks.push(Buffer.from(e,t));return true}};Response.prototype.end=function(e,t,s){if(e){this.write(e,t)}r.ServerResponse.prototype.end.call(this,s);this.emit("finish");this.destroy()};Response.prototype.destroy=function(e){if(this.destroyed)return;this.destroyed=true;if(e){process.nextTick((()=>this.emit("error",e)))}process.nextTick((()=>this.emit("close")))};Response.prototype.addTrailers=function(e){for(const t in e){this._lightMyRequest.trailers[t.toLowerCase().trim()]=e[t].toString().trim()}};function generatePayload(e){if(e._lightMyRequest.headers===null){copyHeaders(e)}serializeHeaders(e);const t={raw:{res:e},headers:e._lightMyRequest.headers,statusCode:e.statusCode,statusMessage:e.statusMessage,trailers:{},get cookies(){return u.parse(this)}};t.trailers=e._lightMyRequest.trailers;if(e._lightMyRequest.payloadChunks){const s=Buffer.concat(e._lightMyRequest.payloadChunks);t.rawPayload=s;t.payload=s.toString();t.body=t.payload;t.json=function parseJsonPayload(){return JSON.parse(t.payload)}}else{t.json=function(){throw new Error("Response payload is not available with payloadAsStream: true")}}t.stream=function streamPayload(){if(e._lightMyRequest.stream){return e._lightMyRequest.stream}return i.from(e._lightMyRequest.payloadChunks)};return t}function getNullSocket(){return new n({write(e,t,s){setImmediate(s)}})}function serializeHeaders(e){const t=e._lightMyRequest.headers;for(const e of Object.keys(t)){const s=t[e];if(Array.isArray(s)){t[e]=s.map((e=>""+e))}else{t[e]=""+s}}}function copyHeaders(e){e._lightMyRequest.headers=Object.assign({},e.getHeaders());["Date","Connection","Transfer-Encoding"].forEach((t=>{const s=new RegExp("\\r\\n"+t+": ([^\\r]*)\\r\\n");const r=e._header?.match(s);if(r){e._lightMyRequest.headers[t.toLowerCase()]=r[1]}}))}e.exports=Response},995:function(e,t,s){const{format:r}=s(261);function createDeprecation(e){return createWarning({...e,name:"DeprecationWarning"})}function createWarning({name:e,code:t,message:s,unlimited:n=false}={}){if(!e)throw new Error("Warning name must not be empty");if(!t)throw new Error("Warning code must not be empty");if(!s)throw new Error("Warning message must not be empty");if(typeof n!=="boolean")throw new Error("Warning opts.unlimited must be a boolean");t=t.toUpperCase();let i={[e]:function(e,t,s){if(o.emitted===true&&o.unlimited!==true){return}o.emitted=true;process.emitWarning(o.format(e,t,s),o.name,o.code)}};if(n){i={[e]:function(e,t,s){o.emitted=true;process.emitWarning(o.format(e,t,s),o.name,o.code)}}}const o=i[e];o.emitted=false;o.message=s;o.unlimited=n;o.code=t;o.format=function(e,t,n){let i;if(e&&t&&n){i=r(s,e,t,n)}else if(e&&t){i=r(s,e,t)}else if(e){i=r(s,e)}else{i=s}return i};return o}const n={createWarning:createWarning,createDeprecation:createDeprecation};e.exports=n;e.exports["default"]=n;e.exports.processWarning=n}};var t={};function __nccwpck_require__(s){var r=t[s];if(r!==undefined){return r.exports}var n=t[s]={exports:{}};var i=true;try{e[s](n,n.exports,__nccwpck_require__);i=false}finally{if(i)delete t[s]}return n.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var s=__nccwpck_require__(438);module.exports=s})();
1
+ (()=>{"use strict";var e={314:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.parseCookie=parseCookie;t.parse=parseCookie;t.stringifyCookie=stringifyCookie;t.stringifySetCookie=stringifySetCookie;t.serialize=stringifySetCookie;t.parseSetCookie=parseSetCookie;t.stringifySetCookie=stringifySetCookie;t.serialize=stringifySetCookie;const s=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/;const r=/^[\u0021-\u003A\u003C-\u007E]*$/;const i=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;const n=/^[\u0020-\u003A\u003D-\u007E]*$/;const o=/^-?\d+$/;const a=Object.prototype.toString;const l=(()=>{const C=function(){};C.prototype=Object.create(null);return C})();function parseCookie(e,t){const s=new l;const r=e.length;if(r<2)return s;const i=t?.decode||decode;let n=0;do{const t=eqIndex(e,n,r);if(t===-1)break;const o=endIndex(e,n,r);if(t>o){n=e.lastIndexOf(";",t-1)+1;continue}const a=valueSlice(e,n,t);if(s[a]===undefined){s[a]=i(valueSlice(e,t+1,o))}n=o+1}while(n<r);return s}function stringifyCookie(e,t){const i=t?.encode||encodeURIComponent;const n=[];for(const t of Object.keys(e)){const o=e[t];if(o===undefined)continue;if(!s.test(t)){throw new TypeError(`cookie name is invalid: ${t}`)}const a=i(o);if(!r.test(a)){throw new TypeError(`cookie val is invalid: ${o}`)}n.push(`${t}=${a}`)}return n.join("; ")}function stringifySetCookie(e,t,o){const a=typeof e==="object"?e:{...o,name:e,value:String(t)};const l=typeof t==="object"?t:o;const u=l?.encode||encodeURIComponent;if(!s.test(a.name)){throw new TypeError(`argument name is invalid: ${a.name}`)}const f=a.value?u(a.value):"";if(!r.test(f)){throw new TypeError(`argument val is invalid: ${a.value}`)}let p=a.name+"="+f;if(a.maxAge!==undefined){if(!Number.isInteger(a.maxAge)){throw new TypeError(`option maxAge is invalid: ${a.maxAge}`)}p+="; Max-Age="+a.maxAge}if(a.domain){if(!i.test(a.domain)){throw new TypeError(`option domain is invalid: ${a.domain}`)}p+="; Domain="+a.domain}if(a.path){if(!n.test(a.path)){throw new TypeError(`option path is invalid: ${a.path}`)}p+="; Path="+a.path}if(a.expires){if(!isDate(a.expires)||!Number.isFinite(a.expires.valueOf())){throw new TypeError(`option expires is invalid: ${a.expires}`)}p+="; Expires="+a.expires.toUTCString()}if(a.httpOnly){p+="; HttpOnly"}if(a.secure){p+="; Secure"}if(a.partitioned){p+="; Partitioned"}if(a.priority){const e=typeof a.priority==="string"?a.priority.toLowerCase():undefined;switch(e){case"low":p+="; Priority=Low";break;case"medium":p+="; Priority=Medium";break;case"high":p+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${a.priority}`)}}if(a.sameSite){const e=typeof a.sameSite==="string"?a.sameSite.toLowerCase():a.sameSite;switch(e){case true:case"strict":p+="; SameSite=Strict";break;case"lax":p+="; SameSite=Lax";break;case"none":p+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${a.sameSite}`)}}return p}function parseSetCookie(e,t){const s=t?.decode||decode;const r=e.length;const i=endIndex(e,0,r);const n=eqIndex(e,0,i);const a=n===-1?{name:"",value:s(valueSlice(e,0,i))}:{name:valueSlice(e,0,n),value:s(valueSlice(e,n+1,i))};let l=i+1;while(l<r){const t=endIndex(e,l,r);const s=eqIndex(e,l,t);const i=s===-1?valueSlice(e,l,t):valueSlice(e,l,s);const n=s===-1?undefined:valueSlice(e,s+1,t);switch(i.toLowerCase()){case"httponly":a.httpOnly=true;break;case"secure":a.secure=true;break;case"partitioned":a.partitioned=true;break;case"domain":a.domain=n;break;case"path":a.path=n;break;case"max-age":if(n&&o.test(n))a.maxAge=Number(n);break;case"expires":if(!n)break;const e=new Date(n);if(Number.isFinite(e.valueOf()))a.expires=e;break;case"priority":if(!n)break;const t=n.toLowerCase();if(t==="low"||t==="medium"||t==="high"){a.priority=t}break;case"samesite":if(!n)break;const s=n.toLowerCase();if(s==="lax"||s==="strict"||s==="none"){a.sameSite=s}break}l=t+1}return a}function endIndex(e,t,s){const r=e.indexOf(";",t);return r===-1?s:r}function eqIndex(e,t,s){const r=e.indexOf("=",t);return r<s?r:-1}function valueSlice(e,t,s){let r=t;let i=s;do{const t=e.charCodeAt(r);if(t!==32&&t!==9)break}while(++r<i);while(i>r){const t=e.charCodeAt(i-1);if(t!==32&&t!==9)break;i--}return e.slice(r,i)}function decode(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch(t){return e}}function isDate(e){return a.call(e)==="[object Date]"}},303:e=>{var t={decodeValues:true,map:false,silent:false};function isForbiddenKey(e){return typeof e!=="string"||e in{}}function createNullObj(){return Object.create(null)}function isNonEmptyString(e){return typeof e==="string"&&!!e.trim()}function parseString(e,s){var r=e.split(";").filter(isNonEmptyString);var i=r.shift();var n=parseNameValuePair(i);var o=n.name;var a=n.value;s=s?Object.assign({},t,s):t;if(isForbiddenKey(o)){return null}try{a=s.decodeValues?decodeURIComponent(a):a}catch(e){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",e)}var l=createNullObj();l.name=o;l.value=a;r.forEach((function(e){var t=e.split("=");var s=t.shift().trimLeft().toLowerCase();if(isForbiddenKey(s)){return}var r=t.join("=");if(s==="expires"){l.expires=new Date(r)}else if(s==="max-age"){var i=parseInt(r,10);if(!Number.isNaN(i))l.maxAge=i}else if(s==="secure"){l.secure=true}else if(s==="httponly"){l.httpOnly=true}else if(s==="samesite"){l.sameSite=r}else if(s==="partitioned"){l.partitioned=true}else if(s){l[s]=r}}));return l}function parseNameValuePair(e){var t="";var s="";var r=e.split("=");if(r.length>1){t=r.shift();s=r.join("=")}else{s=e}return{name:t,value:s}}function parse(e,s){s=s?Object.assign({},t,s):t;if(!e){if(!s.map){return[]}else{return createNullObj()}}if(e.headers){if(typeof e.headers.getSetCookie==="function"){e=e.headers.getSetCookie()}else if(e.headers["set-cookie"]){e=e.headers["set-cookie"]}else{var r=e.headers[Object.keys(e.headers).find((function(e){return e.toLowerCase()==="set-cookie"}))];if(!r&&e.headers.cookie&&!s.silent){console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.")}e=r}}if(!Array.isArray(e)){e=[e]}if(!s.map){return e.filter(isNonEmptyString).map((function(e){return parseString(e,s)})).filter(Boolean)}else{var i=createNullObj();return e.filter(isNonEmptyString).reduce((function(e,t){var r=parseString(t,s);if(r&&!isForbiddenKey(r.name)){e[r.name]=r}return e}),i)}}function splitCookiesString(e){if(Array.isArray(e)){return e}if(typeof e!=="string"){return[]}var t=[];var s=0;var r;var i;var n;var o;var a;function skipWhitespace(){while(s<e.length&&/\s/.test(e.charAt(s))){s+=1}return s<e.length}function notSpecialChar(){i=e.charAt(s);return i!=="="&&i!==";"&&i!==","}while(s<e.length){r=s;a=false;while(skipWhitespace()){i=e.charAt(s);if(i===","){n=s;s+=1;skipWhitespace();o=s;while(s<e.length&&notSpecialChar()){s+=1}if(s<e.length&&e.charAt(s)==="="){a=true;s=o;t.push(e.substring(r,n));r=s}else{s=n+1}}else{s+=1}}if(!a||s>=e.length){t.push(e.substring(r,e.length))}}return t}e.exports=parse;e.exports.parse=parse;e.exports.parseString=parseString;e.exports.splitCookiesString=splitCookiesString},61:e=>{e.exports=require("node:assert")},5:e=>{e.exports=require("node:crypto")},673:e=>{e.exports=require("node:events")},849:e=>{e.exports=require("node:http")},492:e=>{e.exports=require("node:stream")},41:e=>{e.exports=require("node:url")},261:e=>{e.exports=require("node:util")},438:(e,t,s)=>{const r=s(61);const i=s(664);const n=s(991);const o="The dispatch function has already been invoked";const a=s(547);function inject(e,t,s){if(s===undefined){return new Chain(e,t)}else{return doInject(e,t,s)}}function supportStream1(e,t){const s=e._lightMyRequest.payload;if(!s||s._readableState||typeof s.resume!=="function"){return t()}const r=[];s.on("data",(e=>r.push(Buffer.from(e))));s.on("end",(()=>{const s=Buffer.concat(r);e.headers["content-length"]=e.headers["content-length"]||""+s.length;delete e.headers["transfer-encoding"];e._lightMyRequest.payload=s;return t()}));s.resume()}function makeRequest(e,t,s,r){s.once("error",(function(e){if(this.destroyed)r.destroy(e)}));s.once("close",(function(){if(this.destroyed&&!this._error){r.destroy()}}));return supportStream1(s,(()=>e.call(t,s,r)))}function doInject(e,t,s){t=typeof t==="string"?{url:t}:t;if(t.validate!==false){r(typeof e==="function","dispatchFunc should be a function");const s=a(t);if(!s){throw new Error(a.errors.map((e=>e.message)))}}const o=t.server||{};const l=t.Request?i.CustomRequest:i;if(e.request&&e.request.app===e){Object.setPrototypeOf(Object.getPrototypeOf(e.request),l.prototype);Object.setPrototypeOf(Object.getPrototypeOf(e.response),n.prototype)}if(typeof s==="function"){const r=new l(t);const i=new n(r,s);return makeRequest(e,o,r,i)}else{return new Promise(((s,r)=>{const i=new l(t);const a=new n(i,s,r);makeRequest(e,o,i,a)}))}}function Chain(e,t){if(typeof t==="string"){this.option={url:t}}else{this.option=Object.assign({},t)}this.dispatch=e;this._hasInvoked=false;this._promise=null;if(this.option.autoStart!==false){process.nextTick((()=>{if(!this._hasInvoked){this.end()}}))}}const l=["delete","get","head","options","patch","post","put","trace"];l.forEach((e=>{Chain.prototype[e]=function(t){if(this._hasInvoked===true||this._promise){throw new Error(o)}this.option.url=t;this.option.method=e.toUpperCase();return this}}));const u=["body","cookies","headers","payload","query"];u.forEach((e=>{Chain.prototype[e]=function(t){if(this._hasInvoked===true||this._promise){throw new Error(o)}this.option[e]=t;return this}}));Chain.prototype.end=function(e){if(this._hasInvoked===true||this._promise){throw new Error(o)}this._hasInvoked=true;if(typeof e==="function"){doInject(this.dispatch,this.option,e)}else{this._promise=doInject(this.dispatch,this.option);return this._promise}};Object.getOwnPropertyNames(Promise.prototype).forEach((e=>{if(e==="constructor")return;Chain.prototype[e]=function(...t){if(!this._promise){if(this._hasInvoked===true){throw new Error(o)}this._hasInvoked=true;this._promise=doInject(this.dispatch,this.option)}return this._promise[e](...t)}}));function isInjection(e){return e instanceof i||e instanceof n||e?.constructor?.name==="_CustomLMRRequest"}e.exports=inject;e.exports["default"]=inject;e.exports.inject=inject;e.exports.isInjection=isInjection},547:e=>{e.exports=validate10;e.exports["default"]=validate10;const t={type:"object",properties:{url:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:true,required:["pathname"]}]},path:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:true,required:["pathname"]}]},cookies:{type:"object",additionalProperties:true},headers:{type:"object",additionalProperties:true},query:{anyOf:[{type:"object",additionalProperties:true},{type:"string"}]},simulate:{type:"object",properties:{end:{type:"boolean"},split:{type:"boolean"},error:{type:"boolean"},close:{type:"boolean"}}},authority:{type:"string"},remoteAddress:{type:"string"},method:{type:"string",enum:["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","QUERY","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","acl","bind","checkout","connect","copy","delete","get","head","link","lock","m-search","merge","mkactivity","mkcalendar","mkcol","move","notify","options","patch","post","propfind","proppatch","purge","put","query","rebind","report","search","source","subscribe","trace","unbind","unlink","unlock","unsubscribe"]},validate:{type:"boolean"}},additionalProperties:true,oneOf:[{required:["url"]},{required:["path"]}]};function validate10(e,{instancePath:s="",parentData:r,parentDataProperty:i,rootData:n=e}={}){let o=null;let a=0;const l=a;let u=false;let f=null;const p=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let t;if(e.url===undefined&&(t="url")){const e={instancePath:s,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:t},message:"must have required property '"+t+"'"};if(o===null){o=[e]}else{o.push(e)}a++}}var c=p===a;if(c){u=true;f=0}const d=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let t;if(e.path===undefined&&(t="path")){const e={instancePath:s,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:t},message:"must have required property '"+t+"'"};if(o===null){o=[e]}else{o.push(e)}a++}}var c=d===a;if(c&&u){u=false;f=[f,1]}else{if(c){u=true;f=1}}if(!u){const e={instancePath:s,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:f},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=l;if(o!==null){if(l){o.length=l}else{o=null}}}if(a===0){if(e&&typeof e=="object"&&!Array.isArray(e)){if(e.url!==undefined){let t=e.url;const r=a;const i=a;let n=false;let l=null;const u=a;if(typeof t!=="string"){let r=typeof t;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+t}else if(t===null){i=""}else{const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){t=i;if(e!==undefined){e["url"]=i}}}var h=u===a;if(h){n=true;l=0}const f=a;if(a===f){if(t&&typeof t=="object"&&!Array.isArray(t)){let e;if(t.pathname===undefined&&(e="pathname")){const t={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/1/required",keyword:"required",params:{missingProperty:e},message:"must have required property '"+e+"'"};if(o===null){o=[t]}else{o.push(t)}a++}else{if(t.protocol!==undefined){let e=t.protocol;const r=a;if(typeof e!=="string"){let r=typeof e;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+e}else if(e===null){i=""}else{const e={instancePath:s+"/url/protocol",schemaPath:"#/properties/url/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){e=i;if(t!==undefined){t["protocol"]=i}}}var y=r===a}else{var y=true}if(y){if(t.hostname!==undefined){let e=t.hostname;const r=a;if(typeof e!=="string"){let r=typeof e;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+e}else if(e===null){i=""}else{const e={instancePath:s+"/url/hostname",schemaPath:"#/properties/url/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){e=i;if(t!==undefined){t["hostname"]=i}}}var y=r===a}else{var y=true}if(y){if(t.pathname!==undefined){let e=t.pathname;const r=a;if(typeof e!=="string"){let r=typeof e;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+e}else if(e===null){i=""}else{const e={instancePath:s+"/url/pathname",schemaPath:"#/properties/url/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){e=i;if(t!==undefined){t["pathname"]=i}}}var y=r===a}else{var y=true}}}}}else{const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var h=f===a;if(h&&n){n=false;l=[l,1]}else{if(h){n=true;l=1}}if(!n){const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf",keyword:"oneOf",params:{passingSchemas:l},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=i;if(o!==null){if(i){o.length=i}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.path!==undefined){let t=e.path;const r=a;const i=a;let n=false;let l=null;const u=a;if(typeof t!=="string"){let r=typeof t;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+t}else if(t===null){i=""}else{const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){t=i;if(e!==undefined){e["path"]=i}}}var g=u===a;if(g){n=true;l=0}const f=a;if(a===f){if(t&&typeof t=="object"&&!Array.isArray(t)){let e;if(t.pathname===undefined&&(e="pathname")){const t={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/1/required",keyword:"required",params:{missingProperty:e},message:"must have required property '"+e+"'"};if(o===null){o=[t]}else{o.push(t)}a++}else{if(t.protocol!==undefined){let e=t.protocol;const r=a;if(typeof e!=="string"){let r=typeof e;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+e}else if(e===null){i=""}else{const e={instancePath:s+"/path/protocol",schemaPath:"#/properties/path/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){e=i;if(t!==undefined){t["protocol"]=i}}}var b=r===a}else{var b=true}if(b){if(t.hostname!==undefined){let e=t.hostname;const r=a;if(typeof e!=="string"){let r=typeof e;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+e}else if(e===null){i=""}else{const e={instancePath:s+"/path/hostname",schemaPath:"#/properties/path/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){e=i;if(t!==undefined){t["hostname"]=i}}}var b=r===a}else{var b=true}if(b){if(t.pathname!==undefined){let e=t.pathname;const r=a;if(typeof e!=="string"){let r=typeof e;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+e}else if(e===null){i=""}else{const e={instancePath:s+"/path/pathname",schemaPath:"#/properties/path/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){e=i;if(t!==undefined){t["pathname"]=i}}}var b=r===a}else{var b=true}}}}}else{const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var g=f===a;if(g&&n){n=false;l=[l,1]}else{if(g){n=true;l=1}}if(!n){const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas:l},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=i;if(o!==null){if(i){o.length=i}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.cookies!==undefined){let t=e.cookies;const r=a;if(a===r){if(!(t&&typeof t=="object"&&!Array.isArray(t))){validate10.errors=[{instancePath:s+"/cookies",schemaPath:"#/properties/cookies/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.headers!==undefined){let t=e.headers;const r=a;if(a===r){if(!(t&&typeof t=="object"&&!Array.isArray(t))){validate10.errors=[{instancePath:s+"/headers",schemaPath:"#/properties/headers/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.query!==undefined){let t=e.query;const r=a;const i=a;let n=false;const l=a;if(a===l){if(!(t&&typeof t=="object"&&!Array.isArray(t))){const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var k=l===a;n=n||k;if(!n){const r=a;if(typeof t!=="string"){let r=typeof t;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+t}else if(t===null){i=""}else{const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(i!==undefined){t=i;if(e!==undefined){e["query"]=i}}}var k=r===a;n=n||k}if(!n){const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=i;if(o!==null){if(i){o.length=i}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.simulate!==undefined){let t=e.simulate;const r=a;if(a===r){if(t&&typeof t=="object"&&!Array.isArray(t)){if(t.end!==undefined){let e=t.end;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/end",schemaPath:"#/properties/simulate/properties/end/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["end"]=r}}}var v=r===a}else{var v=true}if(v){if(t.split!==undefined){let e=t.split;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/split",schemaPath:"#/properties/simulate/properties/split/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["split"]=r}}}var v=r===a}else{var v=true}if(v){if(t.error!==undefined){let e=t.error;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/error",schemaPath:"#/properties/simulate/properties/error/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["error"]=r}}}var v=r===a}else{var v=true}if(v){if(t.close!==undefined){let e=t.close;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/close",schemaPath:"#/properties/simulate/properties/close/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["close"]=r}}}var v=r===a}else{var v=true}}}}}else{validate10.errors=[{instancePath:s+"/simulate",schemaPath:"#/properties/simulate/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.authority!==undefined){let t=e.authority;const r=a;if(typeof t!=="string"){let r=typeof t;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+t}else if(t===null){i=""}else{validate10.errors=[{instancePath:s+"/authority",schemaPath:"#/properties/authority/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(i!==undefined){t=i;if(e!==undefined){e["authority"]=i}}}var m=r===a}else{var m=true}if(m){if(e.remoteAddress!==undefined){let t=e.remoteAddress;const r=a;if(typeof t!=="string"){let r=typeof t;let i=undefined;if(!(i!==undefined)){if(r=="number"||r=="boolean"){i=""+t}else if(t===null){i=""}else{validate10.errors=[{instancePath:s+"/remoteAddress",schemaPath:"#/properties/remoteAddress/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(i!==undefined){t=i;if(e!==undefined){e["remoteAddress"]=i}}}var m=r===a}else{var m=true}if(m){if(e.method!==undefined){let r=e.method;const i=a;if(typeof r!=="string"){let t=typeof r;let i=undefined;if(!(i!==undefined)){if(t=="number"||t=="boolean"){i=""+r}else if(r===null){i=""}else{validate10.errors=[{instancePath:s+"/method",schemaPath:"#/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(i!==undefined){r=i;if(e!==undefined){e["method"]=i}}}if(!(r==="ACL"||r==="BIND"||r==="CHECKOUT"||r==="CONNECT"||r==="COPY"||r==="DELETE"||r==="GET"||r==="HEAD"||r==="LINK"||r==="LOCK"||r==="M-SEARCH"||r==="MERGE"||r==="MKACTIVITY"||r==="MKCALENDAR"||r==="MKCOL"||r==="MOVE"||r==="NOTIFY"||r==="OPTIONS"||r==="PATCH"||r==="POST"||r==="PROPFIND"||r==="PROPPATCH"||r==="PURGE"||r==="PUT"||r==="QUERY"||r==="REBIND"||r==="REPORT"||r==="SEARCH"||r==="SOURCE"||r==="SUBSCRIBE"||r==="TRACE"||r==="UNBIND"||r==="UNLINK"||r==="UNLOCK"||r==="UNSUBSCRIBE"||r==="acl"||r==="bind"||r==="checkout"||r==="connect"||r==="copy"||r==="delete"||r==="get"||r==="head"||r==="link"||r==="lock"||r==="m-search"||r==="merge"||r==="mkactivity"||r==="mkcalendar"||r==="mkcol"||r==="move"||r==="notify"||r==="options"||r==="patch"||r==="post"||r==="propfind"||r==="proppatch"||r==="purge"||r==="put"||r==="query"||r==="rebind"||r==="report"||r==="search"||r==="source"||r==="subscribe"||r==="trace"||r==="unbind"||r==="unlink"||r==="unlock"||r==="unsubscribe")){validate10.errors=[{instancePath:s+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues:t.properties.method.enum},message:"must be equal to one of the allowed values"}];return false}var m=i===a}else{var m=true}if(m){if(e.validate!==undefined){let t=e.validate;const r=a;if(typeof t!=="boolean"){let r=undefined;if(!(r!==undefined)){if(t==="false"||t===0||t===null){r=false}else if(t==="true"||t===1){r=true}else{validate10.errors=[{instancePath:s+"/validate",schemaPath:"#/properties/validate/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){t=r;if(e!==undefined){e["validate"]=r}}}var m=r===a}else{var m=true}}}}}}}}}}}else{validate10.errors=[{instancePath:s,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}validate10.errors=o;return a===0}},333:(e,t,s)=>{const{randomUUID:r}=s(5);const{Readable:i}=s(492);let n;function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function formDataToStream(e){n=n??new TextEncoder;const t=`----formdata-${r()}`;const s=`--${t}\r\nContent-Disposition: form-data`
2
+ /*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const o=new Uint8Array([13,10]);async function*asyncIterator(){for(const[t,r]of e){if(typeof r==="string"){yield n.encode(`${s}; name="${escape(normalizeLinefeeds(t))}"\r\n\r\n`);yield n.encode(`${normalizeLinefeeds(r)}\r\n`)}else{let e=`${s}; name="${escape(normalizeLinefeeds(t))}"`;r.name&&(e+=`; filename="${escape(r.name)}"`);e+=`\r\nContent-Type: ${r.type||"application/octet-stream"}\r\n\r\n`;yield n.encode(e);if(r.stream){yield*r.stream()}else{yield r}yield o}}yield n.encode(`--${t}--`)}const a=i.from(asyncIterator());return{stream:a,contentType:`multipart/form-data; boundary=${t}`}}e.exports.isFormDataLike=isFormDataLike;e.exports.formDataToStream=formDataToStream},274:(e,t,s)=>{const{URL:r}=s(41);const i="http://localhost";e.exports=function parseURL(e,t){if((typeof e==="string"||Object.prototype.toString.call(e)==="[object String]")&&e.startsWith("//")){e=i+e}const s=typeof e==="object"?Object.assign(new r(i),e):new r(e,i);if(typeof t==="string"){t=new URLSearchParams(t);for(const e of t.keys()){s.searchParams.delete(e);for(const r of t.getAll(e)){s.searchParams.append(e,r)}}}else{const r=Object.assign({},e.query,t);for(const e in r){const t=r[e];if(Array.isArray(t)){s.searchParams.delete(e);for(const r of t){s.searchParams.append(e,r)}}else{s.searchParams.set(e,t)}}}return s}},664:(e,t,s)=>{const{Readable:r,addAbortSignal:i}=s(492);const n=s(261);const o=s(314);const a=s(61);const{createDeprecation:l}=s(995);const u=s(274);const{isFormDataLike:f,formDataToStream:p}=s(333);const{EventEmitter:c}=s(673);const d=l({name:"FastifyDeprecationLightMyRequest",code:"FST_LIGHTMYREQUEST_DEP01",message:'You are accessing "request.connection", use "request.socket" instead.'});function hostHeaderFromURL(e){return e.port?e.host:e.hostname+(e.protocol==="https:"?":443":":80")}class MockSocket extends c{constructor(e){super();this.remoteAddress=e}}function CustomRequest(e){return new _CustomLMRRequest(this);function _CustomLMRRequest(t){Request.call(t,{...e,Request:undefined});Object.assign(this,t);for(const e of Object.keys(Request.prototype)){this.constructor.prototype[e]=Request.prototype[e]}n.inherits(this.constructor,e.Request);return this}}function Request(e){r.call(this,{autoDestroy:false});const t=u(e.url||e.path,e.query);this.url=t.pathname+t.search;this.aborted=false;this.httpVersionMajor=1;this.httpVersionMinor=1;this.httpVersion="1.1";this.method=e.method?e.method.toUpperCase():"GET";this.headers={};this.rawHeaders=[];const s=e.headers||{};for(const e in s){const t=e.toLowerCase();if((t==="user-agent"||t==="content-type")&&s[e]===undefined){this.headers[t]=undefined;continue}const r=s[e];a(r!==undefined,'invalid value "undefined" for header '+e);this.headers[t]=""+r}if("user-agent"in this.headers===false){this.headers["user-agent"]="lightMyRequest"}this.headers.host=this.headers.host||e.authority||hostHeaderFromURL(t);if(e.cookies){const{cookies:t}=e;const s=Object.keys(t).map((e=>o.serialize(e,t[e])));if(this.headers.cookie){s.unshift(this.headers.cookie)}this.headers.cookie=s.join("; ")}this.socket=new MockSocket(e.remoteAddress||"127.0.0.1");Object.defineProperty(this,"connection",{get(){d();return this.socket},configurable:true});let n=e.payload||e.body||null;let l=n&&typeof n.resume==="function";if(f(n)){const e=p(n);n=e.stream;l=true;this.headers["content-type"]=e.contentType;this.headers["transfer-encoding"]="chunked"}if(n&&typeof n!=="string"&&!l&&!Buffer.isBuffer(n)){n=JSON.stringify(n);if("content-type"in this.headers===false){this.headers["content-type"]="application/json"}}if(n&&!l&&!Object.hasOwn(this.headers,"content-length")){this.headers["content-length"]=(Buffer.isBuffer(n)?n.length:Buffer.byteLength(n)).toString()}for(const e of Object.keys(this.headers)){this.rawHeaders.push(e,this.headers[e])}this._lightMyRequest={payload:n,isDone:false,simulate:e.simulate||{},payloadAsStream:e.payloadAsStream,signal:e.signal};const c=e.signal;if(c){i(c,this)}{const e=this._lightMyRequest.payload;if(e?._readableState){this._read=readStream;e.on("error",(e=>{this.destroy(e)}));e.on("end",(()=>{this.push(null)}))}else{this._read=readEverythingElse}}return this}function readStream(){const e=this._lightMyRequest.payload;let t=true;let s=false;let r;while(t&&(r=e.read())){s=true;t=this.push(r)}if(t&&!s){this._lightMyRequest.payload.once("readable",this._read.bind(this))}}function readEverythingElse(){setImmediate((()=>{if(this._lightMyRequest.isDone){if(this._lightMyRequest.simulate.end!==false){this.push(null)}return}this._lightMyRequest.isDone=true;if(this._lightMyRequest.payload){if(this._lightMyRequest.simulate.split){this.push(this._lightMyRequest.payload.slice(0,1));this.push(this._lightMyRequest.payload.slice(1))}else{this.push(this._lightMyRequest.payload)}}if(this._lightMyRequest.simulate.error){this.emit("error",new Error("Simulated"))}if(this._lightMyRequest.simulate.close){this.emit("close")}if(this._lightMyRequest.simulate.end!==false){this.push(null)}}))}n.inherits(Request,r);n.inherits(CustomRequest,Request);Request.prototype.destroy=function(e){if(this.destroyed||this._lightMyRequest.isDone)return;this.destroyed=true;if(e){this._error=true;process.nextTick((()=>this.emit("error",e)))}process.nextTick((()=>this.emit("close")))};e.exports=Request;e.exports.Request=Request;e.exports.CustomRequest=CustomRequest},991:(e,t,s)=>{const r=s(849);const{Writable:i,Readable:n,addAbortSignal:o}=s(492);const a=s(261);const l=s(303);function Response(e,t,s){r.ServerResponse.call(this,e);if(e._lightMyRequest?.payloadAsStream){const t=this.emit.bind(this,"drain");this._lightMyRequest={headers:null,trailers:{},stream:new n({read:t})};const s=e._lightMyRequest.signal;if(s){o(s,this._lightMyRequest.stream)}}else{this._lightMyRequest={headers:null,trailers:{},payloadChunks:[]}}this.setHeader("foo","bar");this.removeHeader("foo");this.assignSocket(getNullSocket());this._promiseCallback=typeof s==="function";let i=false;const onEndSuccess=e=>{if(i)return;i=true;if(this._promiseCallback){return process.nextTick((()=>t(e)))}process.nextTick((()=>t(null,e)))};this._lightMyRequest.onEndSuccess=onEndSuccess;let a=false;const onEndFailure=e=>{if(i){if(this._lightMyRequest.stream&&!a){if(!e){e=new Error("response destroyed before completion");e.code="LIGHT_ECONNRESET"}this._lightMyRequest.stream.destroy(e);this._lightMyRequest.stream.on("error",(()=>{}))}return}i=true;if(!e){e=new Error("response destroyed before completion");e.code="LIGHT_ECONNRESET"}if(this._promiseCallback){return process.nextTick((()=>s(e)))}process.nextTick((()=>t(e,null)))};if(this._lightMyRequest.stream){this.once("finish",(()=>{a=true;this._lightMyRequest.stream.push(null)}))}else{this.once("finish",(()=>{const t=generatePayload(this);t.raw.req=e;onEndSuccess(t)}))}this.connection.once("error",onEndFailure);this.once("error",onEndFailure);this.once("close",onEndFailure)}a.inherits(Response,r.ServerResponse);Response.prototype.setTimeout=function(e,t){this.timeoutHandle=setTimeout((()=>{this.emit("timeout")}),e);this.on("timeout",t);return this};Response.prototype.writeHead=function(){const e=r.ServerResponse.prototype.writeHead.apply(this,arguments);copyHeaders(this);if(this._lightMyRequest.stream){this._lightMyRequest.onEndSuccess(generatePayload(this))}return e};Response.prototype.write=function(e,t,s){if(this.timeoutHandle){clearTimeout(this.timeoutHandle)}r.ServerResponse.prototype.write.call(this,e,t,s);if(this._lightMyRequest.stream){return this._lightMyRequest.stream.push(Buffer.from(e,t))}else{this._lightMyRequest.payloadChunks.push(Buffer.from(e,t));return true}};Response.prototype.end=function(e,t,s){if(e){this.write(e,t)}r.ServerResponse.prototype.end.call(this,s);this.emit("finish");this.destroy()};Response.prototype.destroy=function(e){if(this.destroyed)return;this.destroyed=true;if(e){process.nextTick((()=>this.emit("error",e)))}process.nextTick((()=>this.emit("close")))};Response.prototype.addTrailers=function(e){for(const t in e){this._lightMyRequest.trailers[t.toLowerCase().trim()]=e[t].toString().trim()}};function generatePayload(e){if(e._lightMyRequest.headers===null){copyHeaders(e)}serializeHeaders(e);const t={raw:{res:e},headers:e._lightMyRequest.headers,statusCode:e.statusCode,statusMessage:e.statusMessage,trailers:{},get cookies(){return l.parse(this)}};t.trailers=e._lightMyRequest.trailers;if(e._lightMyRequest.payloadChunks){const s=Buffer.concat(e._lightMyRequest.payloadChunks);t.rawPayload=s;t.payload=s.toString();t.body=t.payload;t.json=function parseJsonPayload(){return JSON.parse(t.payload)}}else{t.json=function(){throw new Error("Response payload is not available with payloadAsStream: true")}}t.stream=function streamPayload(){if(e._lightMyRequest.stream){return e._lightMyRequest.stream}return n.from(e._lightMyRequest.payloadChunks)};return t}function getNullSocket(){return new i({write(e,t,s){setImmediate(s)}})}function serializeHeaders(e){const t=e._lightMyRequest.headers;for(const e of Object.keys(t)){const s=t[e];if(Array.isArray(s)){t[e]=s.map((e=>""+e))}else{t[e]=""+s}}}function copyHeaders(e){e._lightMyRequest.headers=Object.assign({},e.getHeaders());["Date","Connection","Transfer-Encoding"].forEach((t=>{const s=new RegExp("\\r\\n"+t+": ([^\\r]*)\\r\\n");const r=e._header?.match(s);if(r){e._lightMyRequest.headers[t.toLowerCase()]=r[1]}}))}e.exports=Response},995:(e,t,s)=>{const{format:r}=s(261);function createDeprecation(e){return createWarning({...e,name:"DeprecationWarning"})}function createWarning({name:e,code:t,message:s,unlimited:i=false}={}){if(!e)throw new Error("Warning name must not be empty");if(!t)throw new Error("Warning code must not be empty");if(!s)throw new Error("Warning message must not be empty");if(typeof i!=="boolean")throw new Error("Warning opts.unlimited must be a boolean");t=t.toUpperCase();let n={[e]:function(e,t,s){if(o.emitted===true&&o.unlimited!==true){return}o.emitted=true;process.emitWarning(o.format(e,t,s),o.name,o.code)}};if(i){n={[e]:function(e,t,s){o.emitted=true;process.emitWarning(o.format(e,t,s),o.name,o.code)}}}const o=n[e];o.emitted=false;o.message=s;o.unlimited=i;o.code=t;o.format=function(e,t,i){let n;if(e&&t&&i){n=r(s,e,t,i)}else if(e&&t){n=r(s,e,t)}else if(e){n=r(s,e)}else{n=s}return n};return o}const i={createWarning:createWarning,createDeprecation:createDeprecation};e.exports=i;e.exports["default"]=i;e.exports.processWarning=i}};var t={};function __nccwpck_require__(s){var r=t[s];if(r!==undefined){return r.exports}var i=t[s]={exports:{}};var n=true;try{e[s](i,i.exports,__nccwpck_require__);n=false}finally{if(n)delete t[s]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var s=__nccwpck_require__(438);module.exports=s})();
@@ -1 +1 @@
1
- {"name":"light-my-request","version":"6.6.0","description":"Fake HTTP injection library","main":"index.js","type":"commonjs","types":"types/index.d.ts","dependencies":{"cookie":"^1.0.1","process-warning":"^4.0.0","set-cookie-parser":"^2.6.0"},"devDependencies":{"@fastify/ajv-compiler":"^4.0.0","@fastify/pre-commit":"^2.1.0","@types/node":"^22.7.7","c8":"^10.1.2","end-of-stream":"^1.4.4","eslint":"^9.17.0","express":"^4.19.2","form-auto-content":"^3.2.1","form-data":"^4.0.0","formdata-node":"^6.0.3","multer":"^1.4.5-lts.1","neostandard":"^0.12.0","tinybench":"^3.0.0","tsd":"^0.31.0","undici":"^7.0.0"},"scripts":{"benchmark":"node benchmark/benchmark.js","coverage":"npm run unit -- --cov --coverage-report=html","lint":"eslint","lint:fix":"eslint --fix","test":"npm run lint && npm run test:unit && npm run test:typescript","test:typescript":"tsd","test:unit":"c8 --100 node --test"},"repository":{"type":"git","url":"git+https://github.com/fastify/light-my-request.git"},"keywords":["http","inject","fake","request","server"],"author":"Tomas Della Vedova - @delvedor (http://delved.org)","contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"BSD-3-Clause","bugs":{"url":"https://github.com/fastify/light-my-request/issues"},"homepage":"https://github.com/fastify/light-my-request#readme","funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"_lastModified":"2026-04-20T10:43:12.391Z"}
1
+ {"name":"light-my-request","version":"6.6.0","description":"Fake HTTP injection library","main":"index.js","type":"commonjs","types":"types/index.d.ts","dependencies":{"cookie":"^1.0.1","process-warning":"^4.0.0","set-cookie-parser":"^2.6.0"},"devDependencies":{"@fastify/ajv-compiler":"^4.0.0","@fastify/pre-commit":"^2.1.0","@types/node":"^22.7.7","c8":"^10.1.2","end-of-stream":"^1.4.4","eslint":"^9.17.0","express":"^4.19.2","form-auto-content":"^3.2.1","form-data":"^4.0.0","formdata-node":"^6.0.3","multer":"^1.4.5-lts.1","neostandard":"^0.12.0","tinybench":"^3.0.0","tsd":"^0.31.0","undici":"^7.0.0"},"scripts":{"benchmark":"node benchmark/benchmark.js","coverage":"npm run unit -- --cov --coverage-report=html","lint":"eslint","lint:fix":"eslint --fix","test":"npm run lint && npm run test:unit && npm run test:typescript","test:typescript":"tsd","test:unit":"c8 --100 node --test"},"repository":{"type":"git","url":"git+https://github.com/fastify/light-my-request.git"},"keywords":["http","inject","fake","request","server"],"author":"Tomas Della Vedova - @delvedor (http://delved.org)","contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"name":"Frazer Smith","email":"frazer.dev@icloud.com","url":"https://github.com/fdawgs"}],"license":"BSD-3-Clause","bugs":{"url":"https://github.com/fastify/light-my-request/issues"},"homepage":"https://github.com/fastify/light-my-request#readme","funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"_lastModified":"2026-04-24T10:04:47.786Z"}
@@ -1 +1 @@
1
- (function(){"use strict";var e={194:function(e,t){t.__esModule=true;t.OpenAPIV2=t.OpenAPIV3=void 0;var n;(function(e){var t;(function(e){e["GET"]="get";e["PUT"]="put";e["POST"]="post";e["DELETE"]="delete";e["OPTIONS"]="options";e["HEAD"]="head";e["PATCH"]="patch";e["TRACE"]="trace"})(t=e.HttpMethods||(e.HttpMethods={}))})(n=t.OpenAPIV3||(t.OpenAPIV3={}));var p;(function(e){var t;(function(e){e["GET"]="get";e["PUT"]="put";e["POST"]="post";e["DELETE"]="delete";e["OPTIONS"]="options";e["HEAD"]="head";e["PATCH"]="patch"})(t=e.HttpMethods||(e.HttpMethods={}))})(p=t.OpenAPIV2||(t.OpenAPIV2={}))}};if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t={};e[194](0,t);module.exports=t})();
1
+ (()=>{"use strict";var e={194:(e,t)=>{t.__esModule=true;t.OpenAPIV2=t.OpenAPIV3=void 0;var p;(function(e){var t;(function(e){e["GET"]="get";e["PUT"]="put";e["POST"]="post";e["DELETE"]="delete";e["OPTIONS"]="options";e["HEAD"]="head";e["PATCH"]="patch";e["TRACE"]="trace"})(t=e.HttpMethods||(e.HttpMethods={}))})(p=t.OpenAPIV3||(t.OpenAPIV3={}));var n;(function(e){var t;(function(e){e["GET"]="get";e["PUT"]="put";e["POST"]="post";e["DELETE"]="delete";e["OPTIONS"]="options";e["HEAD"]="head";e["PATCH"]="patch"})(t=e.HttpMethods||(e.HttpMethods={}))})(n=t.OpenAPIV2||(t.OpenAPIV2={}))}};if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t={};e[194](0,t);module.exports=t})();
@@ -1 +1 @@
1
- {"name":"openapi-types","version":"12.1.3","description":"Types for OpenAPI documents.","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"prepare":"../../bin/tsc","test-watch":"../../bin/tsc"},"keywords":["openapi","swagger","types","typescript"],"author":"Joseph Spencer","bugs":{"url":"https://github.com/kogosoftwarellc/open-api/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Aopenapi-types"},"repository":"https://github.com/kogosoftwarellc/open-api/tree/master/packages/openapi-types","homepage":"https://github.com/kogosoftwarellc/open-api/tree/master/packages/openapi-types#readme","license":"MIT","gitHead":"09fed6d77536b3d7d1d38a2630a096041da773ee","_lastModified":"2026-04-20T10:43:12.691Z"}
1
+ {"name":"openapi-types","version":"12.1.3","description":"Types for OpenAPI documents.","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"prepare":"../../bin/tsc","test-watch":"../../bin/tsc"},"keywords":["openapi","swagger","types","typescript"],"author":"Joseph Spencer","bugs":{"url":"https://github.com/kogosoftwarellc/open-api/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Aopenapi-types"},"repository":"https://github.com/kogosoftwarellc/open-api/tree/master/packages/openapi-types","homepage":"https://github.com/kogosoftwarellc/open-api/tree/master/packages/openapi-types#readme","license":"MIT","gitHead":"09fed6d77536b3d7d1d38a2630a096041da773ee","_lastModified":"2026-04-24T10:04:47.880Z"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-mcp-server",
3
3
  "main": "dist/server/index.js",
4
- "version": "2.1.0-alpha.20",
4
+ "version": "2.1.0-alpha.22",
5
5
  "displayName": "AI: MCP server",
6
6
  "displayName.zh-CN": "AI: MCP 服务器",
7
7
  "description": "An MCP server for building NocoBase systems and supporting business workflows.",
@@ -23,5 +23,5 @@
23
23
  "keywords": [
24
24
  "AI"
25
25
  ],
26
- "gitHead": "3d1535db6bf93ca23257faf474afee0d565f54c6"
26
+ "gitHead": "81ed83f158f172cca607b36beaf8428b14ba16ad"
27
27
  }