@sylphx/flow 0.1.7 → 0.2.0

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.
Files changed (45) hide show
  1. package/dist/{chunk-aa4cgtk7.js → chunk-2sxe8t33.js} +2 -2
  2. package/dist/{chunk-aa4cgtk7.js.map → chunk-2sxe8t33.js.map} +1 -1
  3. package/dist/chunk-54jnh3ev.js +4 -0
  4. package/dist/chunk-54jnh3ev.js.map +10 -0
  5. package/dist/{chunk-6r3jzv7f.js → chunk-5q22r8rv.js} +3 -3
  6. package/dist/{chunk-6r3jzv7f.js.map → chunk-5q22r8rv.js.map} +1 -1
  7. package/dist/{chunk-v45sm94y.js → chunk-5x5bm9m5.js} +3 -3
  8. package/dist/{chunk-v45sm94y.js.map → chunk-5x5bm9m5.js.map} +1 -1
  9. package/dist/chunk-663e2x2k.js +3 -0
  10. package/dist/{chunk-4psv4dr6.js.map → chunk-663e2x2k.js.map} +2 -2
  11. package/dist/{chunk-fgvn27jn.js → chunk-72zcfcy9.js} +3 -3
  12. package/dist/{chunk-fgvn27jn.js.map → chunk-72zcfcy9.js.map} +1 -1
  13. package/dist/chunk-9ntypdnt.js +3 -0
  14. package/dist/{chunk-kdha6vwb.js.map → chunk-9ntypdnt.js.map} +2 -2
  15. package/dist/{chunk-jr6q8myj.js → chunk-aqc8rkrn.js} +3 -3
  16. package/dist/{chunk-jr6q8myj.js.map → chunk-aqc8rkrn.js.map} +1 -1
  17. package/dist/{chunk-fkw4ccxy.js → chunk-cgd3ffjk.js} +3 -3
  18. package/dist/{chunk-fkw4ccxy.js.map → chunk-cgd3ffjk.js.map} +1 -1
  19. package/dist/{chunk-6bwzk9kv.js → chunk-crhdp3mm.js} +2 -2
  20. package/dist/{chunk-6bwzk9kv.js.map → chunk-crhdp3mm.js.map} +1 -1
  21. package/dist/chunk-dn65d94r.js +7 -0
  22. package/dist/chunk-dn65d94r.js.map +10 -0
  23. package/dist/{chunk-3t1504hw.js → chunk-j07c4re1.js} +3 -3
  24. package/dist/{chunk-3t1504hw.js.map → chunk-j07c4re1.js.map} +1 -1
  25. package/dist/{chunk-3fc49zg7.js → chunk-tjxmyx7a.js} +2 -2
  26. package/dist/{chunk-3fc49zg7.js.map → chunk-tjxmyx7a.js.map} +1 -1
  27. package/dist/{chunk-m00p2ert.js → chunk-waemzsf4.js} +2 -2
  28. package/dist/{chunk-m00p2ert.js.map → chunk-waemzsf4.js.map} +1 -1
  29. package/dist/{chunk-03csvy0b.js → chunk-wkbpwkvw.js} +2 -2
  30. package/dist/{chunk-03csvy0b.js.map → chunk-wkbpwkvw.js.map} +1 -1
  31. package/dist/{chunk-mbd0qsd9.js → chunk-yvh7p6vf.js} +2 -2
  32. package/dist/{chunk-mbd0qsd9.js.map → chunk-yvh7p6vf.js.map} +1 -1
  33. package/dist/chunk-z93nw3rq.js +86 -0
  34. package/dist/chunk-z93nw3rq.js.map +37 -0
  35. package/dist/chunk-zx5x51az.js +27 -0
  36. package/dist/chunk-zx5x51az.js.map +15 -0
  37. package/dist/index.js +277 -286
  38. package/dist/index.js.map +15 -17
  39. package/package.json +3 -1
  40. package/dist/chunk-4psv4dr6.js +0 -3
  41. package/dist/chunk-dpp0b7br.js +0 -43
  42. package/dist/chunk-dpp0b7br.js.map +0 -31
  43. package/dist/chunk-hhy4cr5s.js +0 -7
  44. package/dist/chunk-hhy4cr5s.js.map +0 -10
  45. package/dist/chunk-kdha6vwb.js +0 -3
@@ -1,3 +1,3 @@
1
- import{q as V}from"./chunk-6r3jzv7f.js";import{r as U}from"./chunk-fkw4ccxy.js";import{pa as R}from"./chunk-03csvy0b.js";var E=R((M,Q)=>{var{defineProperty:K,getOwnPropertyDescriptor:W,getOwnPropertyNames:X}=Object,Y=Object.prototype.hasOwnProperty,Z=(q,v)=>{for(var z in v)K(q,z,{get:v[z],enumerable:!0})},$=(q,v,z,F)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let G of X(v))if(!Y.call(q,G)&&G!==z)K(q,G,{get:()=>v[G],enumerable:!(F=W(v,G))||F.enumerable})}return q},A=(q)=>$(K({},"__esModule",{value:!0}),q),L={};Z(L,{refreshToken:()=>D});Q.exports=A(L);var H=U(),B=V();async function D(){let{projectId:q,teamId:v}=(0,B.findProjectInfo)(),z=(0,B.loadToken)(q);if(!z||(0,B.isExpired)((0,B.getTokenPayload)(z.token))){let F=(0,B.getVercelCliToken)();if(!F)throw new H.VercelOidcTokenError("Failed to refresh OIDC token: login to vercel cli");if(!q)throw new H.VercelOidcTokenError("Failed to refresh OIDC token: project id not found");if(z=await(0,B.getVercelOidcToken)(F,q,v),!z)throw new H.VercelOidcTokenError("Failed to refresh OIDC token");(0,B.saveToken)(z,q)}process.env.VERCEL_OIDC_TOKEN=z.token;return}});export default E();
1
+ import{u as V}from"./chunk-5q22r8rv.js";import{v as U}from"./chunk-cgd3ffjk.js";import{va as R}from"./chunk-wkbpwkvw.js";var E=R((M,Q)=>{var{defineProperty:K,getOwnPropertyDescriptor:W,getOwnPropertyNames:X}=Object,Y=Object.prototype.hasOwnProperty,Z=(q,v)=>{for(var z in v)K(q,z,{get:v[z],enumerable:!0})},$=(q,v,z,F)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let G of X(v))if(!Y.call(q,G)&&G!==z)K(q,G,{get:()=>v[G],enumerable:!(F=W(v,G))||F.enumerable})}return q},A=(q)=>$(K({},"__esModule",{value:!0}),q),L={};Z(L,{refreshToken:()=>D});Q.exports=A(L);var H=U(),B=V();async function D(){let{projectId:q,teamId:v}=(0,B.findProjectInfo)(),z=(0,B.loadToken)(q);if(!z||(0,B.isExpired)((0,B.getTokenPayload)(z.token))){let F=(0,B.getVercelCliToken)();if(!F)throw new H.VercelOidcTokenError("Failed to refresh OIDC token: login to vercel cli");if(!q)throw new H.VercelOidcTokenError("Failed to refresh OIDC token: project id not found");if(z=await(0,B.getVercelOidcToken)(F,q,v),!z)throw new H.VercelOidcTokenError("Failed to refresh OIDC token");(0,B.saveToken)(z,q)}process.env.VERCEL_OIDC_TOKEN=z.token;return}});export default E();
2
2
 
3
- //# debugId=DA76C356964A207364756E2164756E21
3
+ //# debugId=9BD85BB6F3D143CC64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_exports = {};\n__export(token_exports, {\n refreshToken: () => refreshToken\n});\nmodule.exports = __toCommonJS(token_exports);\nvar import_token_error = require(\"./token-error\");\nvar import_token_util = require(\"./token-util\");\nasync function refreshToken() {\n const { projectId, teamId } = (0, import_token_util.findProjectInfo)();\n let maybeToken = (0, import_token_util.loadToken)(projectId);\n if (!maybeToken || (0, import_token_util.isExpired)((0, import_token_util.getTokenPayload)(maybeToken.token))) {\n const authToken = (0, import_token_util.getVercelCliToken)();\n if (!authToken) {\n throw new import_token_error.VercelOidcTokenError(\n \"Failed to refresh OIDC token: login to vercel cli\"\n );\n }\n if (!projectId) {\n throw new import_token_error.VercelOidcTokenError(\n \"Failed to refresh OIDC token: project id not found\"\n );\n }\n maybeToken = await (0, import_token_util.getVercelOidcToken)(authToken, projectId, teamId);\n if (!maybeToken) {\n throw new import_token_error.VercelOidcTokenError(\"Failed to refresh OIDC token\");\n }\n (0, import_token_util.saveToken)(maybeToken, projectId);\n }\n process.env.VERCEL_OIDC_TOKEN = maybeToken.token;\n return;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n refreshToken\n});\n"
6
6
  ],
7
7
  "mappings": "qJACA,FAAuB,SAAnB,EAC0B,yBAA1B,EAC2B,oBAA3B,GADmB,OAEnB,EAAe,OAAO,UAAU,eAChC,EAAW,CAAC,EAAQ,IAAQ,CAC9B,QAAS,KAAQ,EACf,EAAU,EAAQ,EAAM,CAAE,IAAK,EAAI,GAAO,WAAY,EAAK,CAAC,GAE5D,EAAc,CAAC,EAAI,EAAM,EAAQ,IAAS,CAC5C,GAAI,GAAQ,OAAO,IAAS,UAAY,OAAO,IAAS,YACtD,QAAS,KAAO,EAAkB,CAAI,EACpC,GAAI,CAAC,EAAa,KAAK,EAAI,CAAG,GAAK,IAAQ,EACzC,EAAU,EAAI,EAAK,CAAE,IAAK,IAAM,EAAK,GAAM,WAAY,EAAE,EAAO,EAAiB,EAAM,CAAG,IAAM,EAAK,UAAW,CAAC,EAEvH,OAAO,GAEL,EAAe,CAAC,IAAQ,EAAY,EAAU,CAAC,EAAG,aAAc,CAAE,MAAO,EAAK,CAAC,EAAG,CAAG,EACrF,EAAgB,CAAC,EACrB,EAAS,EAAe,CACtB,aAAc,IAAM,CACtB,CAAC,EACD,EAAO,QAAU,EAAa,CAAa,EAC3C,IAAI,MACA,MACJ,eAAe,CAAY,EAAG,CAC5B,IAAQ,YAAW,WAAY,EAAG,EAAkB,iBAAiB,EACjE,GAAc,EAAG,EAAkB,WAAW,CAAS,EAC3D,GAAI,CAAC,IAAe,EAAG,EAAkB,YAAY,EAAG,EAAkB,iBAAiB,EAAW,KAAK,CAAC,EAAG,CAC7G,IAAM,GAAa,EAAG,EAAkB,mBAAmB,EAC3D,GAAI,CAAC,EACH,MAAM,IAAI,EAAmB,qBAC3B,mDACF,EAEF,GAAI,CAAC,EACH,MAAM,IAAI,EAAmB,qBAC3B,oDACF,EAGF,GADA,EAAa,MAAO,EAAG,EAAkB,oBAAoB,EAAW,EAAW,CAAM,EACrF,CAAC,EACH,MAAM,IAAI,EAAmB,qBAAqB,8BAA8B,GAEjF,EAAG,EAAkB,WAAW,EAAY,CAAS,EAExD,QAAQ,IAAI,kBAAoB,EAAW,MAC3C",
8
- "debugId": "DA76C356964A207364756E2164756E21",
8
+ "debugId": "9BD85BB6F3D143CC64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,4 @@
1
+ import{oa as b}from"./chunk-z93nw3rq.js";import"./chunk-j07c4re1.js";import"./chunk-wkbpwkvw.js";async function A(k,q={}){return b(k).fetchModels(q)}export{A as fetchModels};
2
+ export{A as J};
3
+
4
+ //# debugId=8377E7F2D01F161C64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/utils/ai-model-fetcher.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * AI Model Fetcher\n * Dynamically fetch available models from providers using provider registry\n */\n\nimport type { ProviderId } from '../config/ai-config.js';\nimport type { ProviderConfig } from '../providers/base-provider.js';\nimport { getProvider } from '../providers/index.js';\n\nexport interface ModelInfo {\n id: string;\n name: string;\n description?: string;\n}\n\n/**\n * Fetch models for a provider using provider registry\n */\nexport async function fetchModels(provider: ProviderId, config: ProviderConfig = {}): Promise<ModelInfo[]> {\n const providerInstance = getProvider(provider);\n return providerInstance.fetchModels(config);\n}\n"
6
+ ],
7
+ "mappings": "6GAkBA,SAAsB,LAAW,CAAC,EAAsB,EAAyB,CAAC,EAAyB,CAEzG,OADyB,EAAY,CAAQ,EACrB,YAAY,CAAM",
8
+ "debugId": "8377E7F2D01F161C64756E2164756E21",
9
+ "names": []
10
+ }
@@ -1,4 +1,4 @@
1
- import{r as J}from"./chunk-fkw4ccxy.js";import{pa as C,ra as W}from"./chunk-03csvy0b.js";var V=C((zq,u)=>{var{create:x,defineProperty:X,getOwnPropertyDescriptor:D,getOwnPropertyNames:S,getPrototypeOf:I}=Object,M=Object.prototype.hasOwnProperty,y=(q,z)=>{for(var B in z)X(q,B,{get:z[B],enumerable:!0})},w=(q,z,B,F)=>{if(z&&typeof z==="object"||typeof z==="function"){for(let G of S(z))if(!M.call(q,G)&&G!==B)X(q,G,{get:()=>z[G],enumerable:!(F=D(z,G))||F.enumerable})}return q},v=(q,z,B)=>(B=q!=null?x(I(q)):{},w(z||!q||!q.__esModule?X(B,"default",{value:q,enumerable:!0}):B,q)),g=(q)=>w(X({},"__esModule",{value:!0}),q),R={};y(R,{findRootDir:()=>l,getUserDataDir:()=>P});u.exports=g(R);var Q=v(W("path")),h=v(W("fs")),$=v(W("os")),b=J();function l(){try{let q=process.cwd();while(q!==Q.default.dirname(q)){let z=Q.default.join(q,".vercel");if(h.default.existsSync(z))return q;q=Q.default.dirname(q)}}catch(q){throw new b.VercelOidcTokenError("Token refresh only supported in node server environments")}throw new b.VercelOidcTokenError("Unable to find root directory")}function P(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch($.default.platform()){case"darwin":return Q.default.join($.default.homedir(),"Library/Application Support");case"linux":return Q.default.join($.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var qq=C((Bq,j)=>{var{create:c,defineProperty:Y,getOwnPropertyDescriptor:f,getOwnPropertyNames:k,getPrototypeOf:i}=Object,s=Object.prototype.hasOwnProperty,n=(q,z)=>{for(var B in z)Y(q,B,{get:z[B],enumerable:!0})},N=(q,z,B,F)=>{if(z&&typeof z==="object"||typeof z==="function"){for(let G of k(z))if(!s.call(q,G)&&G!==B)Y(q,G,{get:()=>z[G],enumerable:!(F=f(z,G))||F.enumerable})}return q},E=(q,z,B)=>(B=q!=null?c(i(q)):{},N(z||!q||!q.__esModule?Y(B,"default",{value:q,enumerable:!0}):B,q)),p=(q)=>N(Y({},"__esModule",{value:!0}),q),O={};n(O,{assertVercelOidcTokenResponse:()=>A,findProjectInfo:()=>m,getTokenPayload:()=>t,getVercelCliToken:()=>d,getVercelDataDir:()=>T,getVercelOidcToken:()=>a,isExpired:()=>o,loadToken:()=>r,saveToken:()=>_});j.exports=p(O);var L=E(W("path")),H=E(W("fs")),K=J(),Z=V();function T(){let z=(0,Z.getUserDataDir)();if(!z)return null;return L.join(z,"com.vercel.cli")}function d(){let q=T();if(!q)return null;let z=L.join(q,"auth.json");if(!H.existsSync(z))return null;let B=H.readFileSync(z,"utf8");if(!B)return null;return JSON.parse(B).token}async function a(q,z,B){try{let F=`https://api.vercel.com/v1/projects/${z}/token?source=vercel-oidc-refresh${B?`&teamId=${B}`:""}`,G=await fetch(F,{method:"POST",headers:{Authorization:`Bearer ${q}`}});if(!G.ok)throw new K.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let U=await G.json();return A(U),U}catch(F){throw new K.VercelOidcTokenError("Failed to refresh OIDC token",F)}}function A(q){if(!q||typeof q!=="object")throw TypeError("Expected an object");if(!("token"in q)||typeof q.token!=="string")throw TypeError("Expected a string-valued token property")}function m(){let q=(0,Z.findRootDir)();if(!q)throw new K.VercelOidcTokenError("Unable to find root directory");try{let z=L.join(q,".vercel","project.json");if(!H.existsSync(z))throw new K.VercelOidcTokenError("project.json not found");let B=JSON.parse(H.readFileSync(z,"utf8"));if(typeof B.projectId!=="string"&&typeof B.orgId!=="string")throw TypeError("Expected a string-valued projectId property");return{projectId:B.projectId,teamId:B.orgId}}catch(z){throw new K.VercelOidcTokenError("Unable to find project ID",z)}}function _(q,z){try{let B=(0,Z.getUserDataDir)();if(!B)throw new K.VercelOidcTokenError("Unable to find user data directory");let F=L.join(B,"com.vercel.token",`${z}.json`),G=JSON.stringify(q);H.mkdirSync(L.dirname(F),{mode:432,recursive:!0}),H.writeFileSync(F,G),H.chmodSync(F,432);return}catch(B){throw new K.VercelOidcTokenError("Failed to save token",B)}}function r(q){try{let z=(0,Z.getUserDataDir)();if(!z)return null;let B=L.join(z,"com.vercel.token",`${q}.json`);if(!H.existsSync(B))return null;let F=JSON.parse(H.readFileSync(B,"utf8"));return A(F),F}catch(z){throw new K.VercelOidcTokenError("Failed to load token",z)}}function t(q){let z=q.split(".");if(z.length!==3)throw new K.VercelOidcTokenError("Invalid token");let B=z[1].replace(/-/g,"+").replace(/_/g,"/"),F=B.padEnd(B.length+(4-B.length%4)%4,"=");return JSON.parse(Buffer.from(F,"base64").toString("utf8"))}var e=900000;function o(q){return q.exp*1000<Date.now()+e}});export default qq();
2
- export{qq as q};
1
+ import{v as J}from"./chunk-cgd3ffjk.js";import{va as C,xa as W}from"./chunk-wkbpwkvw.js";var V=C((zq,u)=>{var{create:x,defineProperty:X,getOwnPropertyDescriptor:D,getOwnPropertyNames:S,getPrototypeOf:I}=Object,M=Object.prototype.hasOwnProperty,y=(q,z)=>{for(var B in z)X(q,B,{get:z[B],enumerable:!0})},w=(q,z,B,F)=>{if(z&&typeof z==="object"||typeof z==="function"){for(let G of S(z))if(!M.call(q,G)&&G!==B)X(q,G,{get:()=>z[G],enumerable:!(F=D(z,G))||F.enumerable})}return q},v=(q,z,B)=>(B=q!=null?x(I(q)):{},w(z||!q||!q.__esModule?X(B,"default",{value:q,enumerable:!0}):B,q)),g=(q)=>w(X({},"__esModule",{value:!0}),q),R={};y(R,{findRootDir:()=>l,getUserDataDir:()=>P});u.exports=g(R);var Q=v(W("path")),h=v(W("fs")),$=v(W("os")),b=J();function l(){try{let q=process.cwd();while(q!==Q.default.dirname(q)){let z=Q.default.join(q,".vercel");if(h.default.existsSync(z))return q;q=Q.default.dirname(q)}}catch(q){throw new b.VercelOidcTokenError("Token refresh only supported in node server environments")}throw new b.VercelOidcTokenError("Unable to find root directory")}function P(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch($.default.platform()){case"darwin":return Q.default.join($.default.homedir(),"Library/Application Support");case"linux":return Q.default.join($.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var qq=C((Bq,j)=>{var{create:c,defineProperty:Y,getOwnPropertyDescriptor:f,getOwnPropertyNames:k,getPrototypeOf:i}=Object,s=Object.prototype.hasOwnProperty,n=(q,z)=>{for(var B in z)Y(q,B,{get:z[B],enumerable:!0})},N=(q,z,B,F)=>{if(z&&typeof z==="object"||typeof z==="function"){for(let G of k(z))if(!s.call(q,G)&&G!==B)Y(q,G,{get:()=>z[G],enumerable:!(F=f(z,G))||F.enumerable})}return q},E=(q,z,B)=>(B=q!=null?c(i(q)):{},N(z||!q||!q.__esModule?Y(B,"default",{value:q,enumerable:!0}):B,q)),p=(q)=>N(Y({},"__esModule",{value:!0}),q),O={};n(O,{assertVercelOidcTokenResponse:()=>A,findProjectInfo:()=>m,getTokenPayload:()=>t,getVercelCliToken:()=>d,getVercelDataDir:()=>T,getVercelOidcToken:()=>a,isExpired:()=>o,loadToken:()=>r,saveToken:()=>_});j.exports=p(O);var L=E(W("path")),H=E(W("fs")),K=J(),Z=V();function T(){let z=(0,Z.getUserDataDir)();if(!z)return null;return L.join(z,"com.vercel.cli")}function d(){let q=T();if(!q)return null;let z=L.join(q,"auth.json");if(!H.existsSync(z))return null;let B=H.readFileSync(z,"utf8");if(!B)return null;return JSON.parse(B).token}async function a(q,z,B){try{let F=`https://api.vercel.com/v1/projects/${z}/token?source=vercel-oidc-refresh${B?`&teamId=${B}`:""}`,G=await fetch(F,{method:"POST",headers:{Authorization:`Bearer ${q}`}});if(!G.ok)throw new K.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let U=await G.json();return A(U),U}catch(F){throw new K.VercelOidcTokenError("Failed to refresh OIDC token",F)}}function A(q){if(!q||typeof q!=="object")throw TypeError("Expected an object");if(!("token"in q)||typeof q.token!=="string")throw TypeError("Expected a string-valued token property")}function m(){let q=(0,Z.findRootDir)();if(!q)throw new K.VercelOidcTokenError("Unable to find root directory");try{let z=L.join(q,".vercel","project.json");if(!H.existsSync(z))throw new K.VercelOidcTokenError("project.json not found");let B=JSON.parse(H.readFileSync(z,"utf8"));if(typeof B.projectId!=="string"&&typeof B.orgId!=="string")throw TypeError("Expected a string-valued projectId property");return{projectId:B.projectId,teamId:B.orgId}}catch(z){throw new K.VercelOidcTokenError("Unable to find project ID",z)}}function _(q,z){try{let B=(0,Z.getUserDataDir)();if(!B)throw new K.VercelOidcTokenError("Unable to find user data directory");let F=L.join(B,"com.vercel.token",`${z}.json`),G=JSON.stringify(q);H.mkdirSync(L.dirname(F),{mode:432,recursive:!0}),H.writeFileSync(F,G),H.chmodSync(F,432);return}catch(B){throw new K.VercelOidcTokenError("Failed to save token",B)}}function r(q){try{let z=(0,Z.getUserDataDir)();if(!z)return null;let B=L.join(z,"com.vercel.token",`${q}.json`);if(!H.existsSync(B))return null;let F=JSON.parse(H.readFileSync(B,"utf8"));return A(F),F}catch(z){throw new K.VercelOidcTokenError("Failed to load token",z)}}function t(q){let z=q.split(".");if(z.length!==3)throw new K.VercelOidcTokenError("Invalid token");let B=z[1].replace(/-/g,"+").replace(/_/g,"/"),F=B.padEnd(B.length+(4-B.length%4)%4,"=");return JSON.parse(Buffer.from(F,"base64").toString("utf8"))}var e=900000;function o(q){return q.exp*1000<Date.now()+e}});export default qq();
2
+ export{qq as u};
3
3
 
4
- //# debugId=43F6C4F299A4A37564756E2164756E21
4
+ //# debugId=6531E6AF0669963764756E2164756E21
@@ -6,6 +6,6 @@
6
6
  "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_util_exports = {};\n__export(token_util_exports, {\n assertVercelOidcTokenResponse: () => assertVercelOidcTokenResponse,\n findProjectInfo: () => findProjectInfo,\n getTokenPayload: () => getTokenPayload,\n getVercelCliToken: () => getVercelCliToken,\n getVercelDataDir: () => getVercelDataDir,\n getVercelOidcToken: () => getVercelOidcToken,\n isExpired: () => isExpired,\n loadToken: () => loadToken,\n saveToken: () => saveToken\n});\nmodule.exports = __toCommonJS(token_util_exports);\nvar path = __toESM(require(\"path\"));\nvar fs = __toESM(require(\"fs\"));\nvar import_token_error = require(\"./token-error\");\nvar import_token_io = require(\"./token-io\");\nfunction getVercelDataDir() {\n const vercelFolder = \"com.vercel.cli\";\n const dataDir = (0, import_token_io.getUserDataDir)();\n if (!dataDir) {\n return null;\n }\n return path.join(dataDir, vercelFolder);\n}\nfunction getVercelCliToken() {\n const dataDir = getVercelDataDir();\n if (!dataDir) {\n return null;\n }\n const tokenPath = path.join(dataDir, \"auth.json\");\n if (!fs.existsSync(tokenPath)) {\n return null;\n }\n const token = fs.readFileSync(tokenPath, \"utf8\");\n if (!token) {\n return null;\n }\n return JSON.parse(token).token;\n}\nasync function getVercelOidcToken(authToken, projectId, teamId) {\n try {\n const url = `https://api.vercel.com/v1/projects/${projectId}/token?source=vercel-oidc-refresh${teamId ? `&teamId=${teamId}` : \"\"}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${authToken}`\n }\n });\n if (!res.ok) {\n throw new import_token_error.VercelOidcTokenError(\n `Failed to refresh OIDC token: ${res.statusText}`\n );\n }\n const tokenRes = await res.json();\n assertVercelOidcTokenResponse(tokenRes);\n return tokenRes;\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Failed to refresh OIDC token`, e);\n }\n}\nfunction assertVercelOidcTokenResponse(res) {\n if (!res || typeof res !== \"object\") {\n throw new TypeError(\"Expected an object\");\n }\n if (!(\"token\" in res) || typeof res.token !== \"string\") {\n throw new TypeError(\"Expected a string-valued token property\");\n }\n}\nfunction findProjectInfo() {\n const dir = (0, import_token_io.findRootDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\"Unable to find root directory\");\n }\n try {\n const prjPath = path.join(dir, \".vercel\", \"project.json\");\n if (!fs.existsSync(prjPath)) {\n throw new import_token_error.VercelOidcTokenError(\"project.json not found\");\n }\n const prj = JSON.parse(fs.readFileSync(prjPath, \"utf8\"));\n if (typeof prj.projectId !== \"string\" && typeof prj.orgId !== \"string\") {\n throw new TypeError(\"Expected a string-valued projectId property\");\n }\n return { projectId: prj.projectId, teamId: prj.orgId };\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Unable to find project ID`, e);\n }\n}\nfunction saveToken(token, projectId) {\n try {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\"Unable to find user data directory\");\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n const tokenJson = JSON.stringify(token);\n fs.mkdirSync(path.dirname(tokenPath), { mode: 432, recursive: true });\n fs.writeFileSync(tokenPath, tokenJson);\n fs.chmodSync(tokenPath, 432);\n return;\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Failed to save token`, e);\n }\n}\nfunction loadToken(projectId) {\n try {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n return null;\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n if (!fs.existsSync(tokenPath)) {\n return null;\n }\n const token = JSON.parse(fs.readFileSync(tokenPath, \"utf8\"));\n assertVercelOidcTokenResponse(token);\n return token;\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Failed to load token`, e);\n }\n}\nfunction getTokenPayload(token) {\n const tokenParts = token.split(\".\");\n if (tokenParts.length !== 3) {\n throw new import_token_error.VercelOidcTokenError(\"Invalid token\");\n }\n const base64 = tokenParts[1].replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64.padEnd(\n base64.length + (4 - base64.length % 4) % 4,\n \"=\"\n );\n return JSON.parse(Buffer.from(padded, \"base64\").toString(\"utf8\"));\n}\nconst TIME_15_MINUTES_IN_MS = 15 * 60 * 1e3;\nfunction isExpired(token) {\n return token.exp * 1e3 < Date.now() + TIME_15_MINUTES_IN_MS;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n assertVercelOidcTokenResponse,\n findProjectInfo,\n getTokenPayload,\n getVercelCliToken,\n getVercelDataDir,\n getVercelOidcToken,\n isExpired,\n loadToken,\n saveToken\n});\n"
7
7
  ],
8
8
  "mappings": "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",
9
- "debugId": "43F6C4F299A4A37564756E2164756E21",
9
+ "debugId": "6531E6AF0669963764756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,4 @@
1
- import"./chunk-03csvy0b.js";import{AutoTokenizer as j}from"@huggingface/transformers";class R{tokenizer;initialized=!1;modelPath;constructor(B={}){this.modelPath=B.modelPath||"./models/starcoder2"}async initialize(){if(this.initialized)return;try{this.tokenizer=await j.from_pretrained(this.modelPath),this.initialized=!0}catch(B){throw Error(`Tokenizer initialization failed: ${B.message}`)}}async tokenize(B){if(!this.initialized)await this.initialize();let H=Date.now();if(!B||B.trim().length===0)return{tokens:[],metadata:{totalTokens:0,vocabSize:49152,processingTime:Date.now()-H,averageConfidence:0},raw:{inputIds:[],decodedText:""}};try{let J=(await this.tokenizer(B)).input_ids.tolist()[0],O=await this.tokenizer.decode(J),U=await this.createDirectTokens(O,J),K=Date.now()-H;return{tokens:U,metadata:{totalTokens:U.length,vocabSize:49152,processingTime:K,averageConfidence:0.95},raw:{inputIds:J,decodedText:O}}}catch(G){throw Error(`Tokenization failed: ${G.message}`)}}async createDirectTokens(B,H){let G=[];for(let J=0;J<H.length;J++){let O=H[J];try{let K=(await this.tokenizer.decode([O],{skip_special_tokens:!0})).trim().toLowerCase();if(K.length>0)G.push({text:K,id:O,score:1,confidence:1,relevance:"high"})}catch(U){}}return G}async getTopTokens(B,H=20){return(await this.tokenize(B)).tokens.slice(0,H)}async getTechnicalTokens(B){return(await this.tokenize(B)).tokens}async decode(B){if(!this.initialized)throw Error("Tokenizer not initialized. Call initialize() first.");return await this.tokenizer.decode(B)}async encode(B){if(!this.initialized)throw Error("Tokenizer not initialized. Call initialize() first.");return(await this.tokenizer(B)).input_ids.tolist()[0]}}async function k(B,H){try{let G=await B.getAllCodebaseFiles();if(H){if(H.file_extensions&&H.file_extensions.length>0)G=G.filter((K)=>H.file_extensions?.some((W)=>K.path.endsWith(W)));if(H.path_filter)G=G.filter((K)=>K.path.includes(H.path_filter));if(H.exclude_paths&&H.exclude_paths.length>0)G=G.filter((K)=>!H.exclude_paths?.some((W)=>K.path.includes(W)))}if(G.length===0)return null;let J=[];for(let K of G){let W=await B.getTFIDFDocument(K.path);if(W){let _=await B.getTFIDFTerms(K.path),X=new Map,$=new Map;for(let[E,Y]of Object.entries(_))X.set(E,Y);let Z=W.rawTerms||{};for(let[E,Y]of Object.entries(Z))$.set(E,Y);J.push({uri:`file://${K.path}`,terms:X,rawTerms:$,magnitude:W.magnitude})}}if(J.length===0)return null;let O=await B.getIDFValues(),U=new Map;for(let[K,W]of Object.entries(O))U.set(K,W);return{documents:J,idf:U,totalDocuments:J.length,metadata:{generatedAt:new Date().toISOString(),version:"1.0.0"}}}catch(G){return console.error("[ERROR] Failed to build search index from database:",G),null}}function M(B){let H=Array.from(B.values()).reduce((J,O)=>J+O,0),G=new Map;for(let[J,O]of B.entries())G.set(J,O/H);return G}function z(B,H){let G=new Map;for(let O of B){let U=new Set(O.keys());for(let K of U)G.set(K,(G.get(K)||0)+1)}let J=new Map;for(let[O,U]of G.entries())J.set(O,Math.log(H/U));return J}function V(B,H){let G=new Map;for(let[J,O]of B.entries()){let U=H.get(J)||0;G.set(J,O*U)}return G}function w(B){let H=0;for(let G of B.values())H+=G*G;return Math.sqrt(H)}var Q=null,v=!1;async function D(){if(!Q)Q=new R({modelPath:"./models/starcoder2"});if(!v){let{log:B,error:H}=console;console.log=()=>{},console.error=()=>{};try{await Q.initialize(),v=!0}finally{console.log=B,console.error=H}}return Q}async function S(B){let G=await(await D()).tokenize(B),J=new Map;for(let O of G.tokens){let U=O.text.toLowerCase(),K=J.get(U)||0;J.set(U,K+O.score)}return J}async function P(B){let G=await(await D()).tokenize(B),J=new Map;for(let O of G.tokens){let U=O.text.toLowerCase();if(!J.has(U)||O.score>0.8)J.set(U,O.text)}return Array.from(J.values())}async function q(B,H){let J=[];for(let K=0;K<B.length;K+=1){let W=B.slice(K,K+1),_=[];for(let X=0;X<W.length;X++){let $=W[X],Z=$.uri.split("/").pop()||$.uri;H?.({current:K+X+1,total:B.length,fileName:Z,status:"processing"});try{let E=await S($.content);_.push({uri:$.uri,terms:E}),H?.({current:K+X+1,total:B.length,fileName:Z,status:"completed"})}catch(E){_.push({uri:$.uri,terms:new Map}),H?.({current:K+X+1,total:B.length,fileName:Z,status:"skipped"})}}J.push(..._)}let O=z(J.map((K)=>K.terms),B.length);return{documents:J.map((K)=>{let W=M(K.terms),_=V(W,O),X=w(_);return{uri:K.uri,terms:_,rawTerms:K.terms,magnitude:X}}),idf:O,totalDocuments:B.length,metadata:{generatedAt:new Date().toISOString(),version:"5.0.0",tokenizer:"AdvancedCodeTokenizer",features:["Industry-leading code understanding","Advanced technical term recognition","Optimized for code search","Simple and effective approach","No unnecessary complexity"]}}}function h(B,H){let G=0;for(let[O,U]of B.entries()){let K=H.terms.get(O)||0;G+=U*K}let J=w(B);if(J===0||H.magnitude===0)return 0;return G/(J*H.magnitude)}async function I(B,H){let G=await P(B),J=new Map;for(let O of G){let U=O.toLowerCase(),K=H.get(U)||0;if(K>0)J.set(U,K)}return J}async function y(B,H,G={}){let{limit:J=10,minScore:O=0,boostFactors:U={}}=G,{exactMatch:K=1.5,phraseMatch:W=2,technicalMatch:_=1.8,identifierMatch:X=1.3}=U,$=await I(B,H.idf),Z=(await P(B)).map((Y)=>Y.toLowerCase());return H.documents.map((Y)=>{let L=h($,Y),C=[];for(let N of Z)if(Y.rawTerms.has(N)){let A=K;if(b(N))A=Math.max(A,_);if(p(N))A=Math.max(A,X);L*=A,C.push(N)}if(C.length===Z.length&&Z.length>1)L*=W;if(Z.length>3&&C.length>=Z.length*0.7)L*=1.2;return{uri:Y.uri,score:L,matchedTerms:C}}).filter((Y)=>Y.score>=O).sort((Y,L)=>L.score-Y.score).slice(0,J)}function b(B){return[/\b[A-Z]{2,}\b/,/\b[A-Z][a-z]+(?:[A-Z][a-z]+)+\b/,/\b[a-z]+[A-Z][a-z]*\b/,/\b\w+(?:Dir|Config|File|Path|Data|Service|Manager|Handler)\b/,/\b(?:get|set|is|has|can|should|will|do)[A-Z]\w*\b/,/\b(?:http|https|json|xml|yaml|sql|api|url|uri)\b/].some((G)=>G.test(B))}function p(B){return/^[a-zA-Z][a-zA-Z0-9_]*$/.test(B)&&B.length>1}function T(B){let H={documents:B.documents.map((G)=>({uri:G.uri,terms:Array.from(G.terms.entries()),rawTerms:Array.from(G.rawTerms.entries()),magnitude:G.magnitude})),idf:Array.from(B.idf.entries()),totalDocuments:B.totalDocuments,metadata:B.metadata};return JSON.stringify(H,null,2)}function f(B){let H=JSON.parse(B);return{documents:H.documents.map((G)=>({uri:G.uri,terms:new Map(G.terms),rawTerms:new Map(G.rawTerms),magnitude:G.magnitude})),idf:new Map(H.idf),totalDocuments:H.totalDocuments,metadata:H.metadata}}export{T as serializeIndex,y as searchDocuments,I as processQuery,f as deserializeIndex,h as calculateCosineSimilarity,k as buildSearchIndexFromDB,q as buildSearchIndex};
2
- export{q as ga,y as ha};
1
+ import"./chunk-wkbpwkvw.js";import{AutoTokenizer as j}from"@huggingface/transformers";class R{tokenizer;initialized=!1;modelPath;constructor(B={}){this.modelPath=B.modelPath||"./models/starcoder2"}async initialize(){if(this.initialized)return;try{this.tokenizer=await j.from_pretrained(this.modelPath),this.initialized=!0}catch(B){throw Error(`Tokenizer initialization failed: ${B.message}`)}}async tokenize(B){if(!this.initialized)await this.initialize();let H=Date.now();if(!B||B.trim().length===0)return{tokens:[],metadata:{totalTokens:0,vocabSize:49152,processingTime:Date.now()-H,averageConfidence:0},raw:{inputIds:[],decodedText:""}};try{let J=(await this.tokenizer(B)).input_ids.tolist()[0],O=await this.tokenizer.decode(J),U=await this.createDirectTokens(O,J),K=Date.now()-H;return{tokens:U,metadata:{totalTokens:U.length,vocabSize:49152,processingTime:K,averageConfidence:0.95},raw:{inputIds:J,decodedText:O}}}catch(G){throw Error(`Tokenization failed: ${G.message}`)}}async createDirectTokens(B,H){let G=[];for(let J=0;J<H.length;J++){let O=H[J];try{let K=(await this.tokenizer.decode([O],{skip_special_tokens:!0})).trim().toLowerCase();if(K.length>0)G.push({text:K,id:O,score:1,confidence:1,relevance:"high"})}catch(U){}}return G}async getTopTokens(B,H=20){return(await this.tokenize(B)).tokens.slice(0,H)}async getTechnicalTokens(B){return(await this.tokenize(B)).tokens}async decode(B){if(!this.initialized)throw Error("Tokenizer not initialized. Call initialize() first.");return await this.tokenizer.decode(B)}async encode(B){if(!this.initialized)throw Error("Tokenizer not initialized. Call initialize() first.");return(await this.tokenizer(B)).input_ids.tolist()[0]}}async function k(B,H){try{let G=await B.getAllCodebaseFiles();if(H){if(H.file_extensions&&H.file_extensions.length>0)G=G.filter((K)=>H.file_extensions?.some((W)=>K.path.endsWith(W)));if(H.path_filter)G=G.filter((K)=>K.path.includes(H.path_filter));if(H.exclude_paths&&H.exclude_paths.length>0)G=G.filter((K)=>!H.exclude_paths?.some((W)=>K.path.includes(W)))}if(G.length===0)return null;let J=[];for(let K of G){let W=await B.getTFIDFDocument(K.path);if(W){let _=await B.getTFIDFTerms(K.path),X=new Map,$=new Map;for(let[E,Y]of Object.entries(_))X.set(E,Y);let Z=W.rawTerms||{};for(let[E,Y]of Object.entries(Z))$.set(E,Y);J.push({uri:`file://${K.path}`,terms:X,rawTerms:$,magnitude:W.magnitude})}}if(J.length===0)return null;let O=await B.getIDFValues(),U=new Map;for(let[K,W]of Object.entries(O))U.set(K,W);return{documents:J,idf:U,totalDocuments:J.length,metadata:{generatedAt:new Date().toISOString(),version:"1.0.0"}}}catch(G){return console.error("[ERROR] Failed to build search index from database:",G),null}}function M(B){let H=Array.from(B.values()).reduce((J,O)=>J+O,0),G=new Map;for(let[J,O]of B.entries())G.set(J,O/H);return G}function z(B,H){let G=new Map;for(let O of B){let U=new Set(O.keys());for(let K of U)G.set(K,(G.get(K)||0)+1)}let J=new Map;for(let[O,U]of G.entries())J.set(O,Math.log(H/U));return J}function V(B,H){let G=new Map;for(let[J,O]of B.entries()){let U=H.get(J)||0;G.set(J,O*U)}return G}function w(B){let H=0;for(let G of B.values())H+=G*G;return Math.sqrt(H)}var Q=null,v=!1;async function D(){if(!Q)Q=new R({modelPath:"./models/starcoder2"});if(!v){let{log:B,error:H}=console;console.log=()=>{},console.error=()=>{};try{await Q.initialize(),v=!0}finally{console.log=B,console.error=H}}return Q}async function S(B){let G=await(await D()).tokenize(B),J=new Map;for(let O of G.tokens){let U=O.text.toLowerCase(),K=J.get(U)||0;J.set(U,K+O.score)}return J}async function P(B){let G=await(await D()).tokenize(B),J=new Map;for(let O of G.tokens){let U=O.text.toLowerCase();if(!J.has(U)||O.score>0.8)J.set(U,O.text)}return Array.from(J.values())}async function q(B,H){let J=[];for(let K=0;K<B.length;K+=1){let W=B.slice(K,K+1),_=[];for(let X=0;X<W.length;X++){let $=W[X],Z=$.uri.split("/").pop()||$.uri;H?.({current:K+X+1,total:B.length,fileName:Z,status:"processing"});try{let E=await S($.content);_.push({uri:$.uri,terms:E}),H?.({current:K+X+1,total:B.length,fileName:Z,status:"completed"})}catch(E){_.push({uri:$.uri,terms:new Map}),H?.({current:K+X+1,total:B.length,fileName:Z,status:"skipped"})}}J.push(..._)}let O=z(J.map((K)=>K.terms),B.length);return{documents:J.map((K)=>{let W=M(K.terms),_=V(W,O),X=w(_);return{uri:K.uri,terms:_,rawTerms:K.terms,magnitude:X}}),idf:O,totalDocuments:B.length,metadata:{generatedAt:new Date().toISOString(),version:"5.0.0",tokenizer:"AdvancedCodeTokenizer",features:["Industry-leading code understanding","Advanced technical term recognition","Optimized for code search","Simple and effective approach","No unnecessary complexity"]}}}function h(B,H){let G=0;for(let[O,U]of B.entries()){let K=H.terms.get(O)||0;G+=U*K}let J=w(B);if(J===0||H.magnitude===0)return 0;return G/(J*H.magnitude)}async function I(B,H){let G=await P(B),J=new Map;for(let O of G){let U=O.toLowerCase(),K=H.get(U)||0;if(K>0)J.set(U,K)}return J}async function y(B,H,G={}){let{limit:J=10,minScore:O=0,boostFactors:U={}}=G,{exactMatch:K=1.5,phraseMatch:W=2,technicalMatch:_=1.8,identifierMatch:X=1.3}=U,$=await I(B,H.idf),Z=(await P(B)).map((Y)=>Y.toLowerCase());return H.documents.map((Y)=>{let L=h($,Y),C=[];for(let N of Z)if(Y.rawTerms.has(N)){let A=K;if(b(N))A=Math.max(A,_);if(p(N))A=Math.max(A,X);L*=A,C.push(N)}if(C.length===Z.length&&Z.length>1)L*=W;if(Z.length>3&&C.length>=Z.length*0.7)L*=1.2;return{uri:Y.uri,score:L,matchedTerms:C}}).filter((Y)=>Y.score>=O).sort((Y,L)=>L.score-Y.score).slice(0,J)}function b(B){return[/\b[A-Z]{2,}\b/,/\b[A-Z][a-z]+(?:[A-Z][a-z]+)+\b/,/\b[a-z]+[A-Z][a-z]*\b/,/\b\w+(?:Dir|Config|File|Path|Data|Service|Manager|Handler)\b/,/\b(?:get|set|is|has|can|should|will|do)[A-Z]\w*\b/,/\b(?:http|https|json|xml|yaml|sql|api|url|uri)\b/].some((G)=>G.test(B))}function p(B){return/^[a-zA-Z][a-zA-Z0-9_]*$/.test(B)&&B.length>1}function T(B){let H={documents:B.documents.map((G)=>({uri:G.uri,terms:Array.from(G.terms.entries()),rawTerms:Array.from(G.rawTerms.entries()),magnitude:G.magnitude})),idf:Array.from(B.idf.entries()),totalDocuments:B.totalDocuments,metadata:B.metadata};return JSON.stringify(H,null,2)}function f(B){let H=JSON.parse(B);return{documents:H.documents.map((G)=>({uri:G.uri,terms:new Map(G.terms),rawTerms:new Map(G.rawTerms),magnitude:G.magnitude})),idf:new Map(H.idf),totalDocuments:H.totalDocuments,metadata:H.metadata}}export{T as serializeIndex,y as searchDocuments,I as processQuery,f as deserializeIndex,h as calculateCosineSimilarity,k as buildSearchIndexFromDB,q as buildSearchIndex};
2
+ export{q as c,y as d};
3
3
 
4
- //# debugId=31B23AADF62CBA3364756E2164756E21
4
+ //# debugId=A2D767B1A03BB0A664756E2164756E21
@@ -6,6 +6,6 @@
6
6
  "/**\n * TF-IDF (Term Frequency-Inverse Document Frequency) implementation\n * Used for ranking document relevance in semantic search\n */\n\nimport { AdvancedCodeTokenizer } from '../../utils/advanced-tokenizer.js';\nimport type { SeparatedMemoryStorage } from './separated-storage.js';\n\nexport interface DocumentVector {\n uri: string;\n terms: Map<string, number>; // term → TF-IDF score\n rawTerms: Map<string, number>; // term → raw frequency\n magnitude: number; // Vector magnitude for cosine similarity\n}\n\nexport interface SearchIndex {\n documents: DocumentVector[];\n idf: Map<string, number>; // term → IDF score\n totalDocuments: number;\n metadata: {\n generatedAt: string;\n version: string;\n };\n}\n\n/**\n * Build search index from database (shared between CLI and MCP)\n */\nexport async function buildSearchIndexFromDB(\n memoryStorage: SeparatedMemoryStorage,\n filters?: {\n file_extensions?: string[];\n path_filter?: string;\n exclude_paths?: string[];\n }\n): Promise<SearchIndex | null> {\n try {\n // Get all files from database\n let files = await memoryStorage.getAllCodebaseFiles();\n\n // Apply filters\n if (filters) {\n if (filters.file_extensions && filters.file_extensions.length > 0) {\n files = files.filter((file) =>\n filters.file_extensions?.some((ext: string) => file.path.endsWith(ext))\n );\n }\n\n if (filters.path_filter) {\n files = files.filter((file) => file.path.includes(filters.path_filter!));\n }\n\n if (filters.exclude_paths && filters.exclude_paths.length > 0) {\n files = files.filter(\n (file) => !filters.exclude_paths?.some((exclude: string) => file.path.includes(exclude))\n );\n }\n }\n\n if (files.length === 0) {\n return null;\n }\n\n // Build search documents - read TF-IDF terms directly from database\n const documents = [];\n for (const file of files) {\n const tfidfDoc = await memoryStorage.getTFIDFDocument(file.path);\n if (tfidfDoc) {\n // Get TF-IDF terms from database (already calculated)\n const tfidfTerms = await memoryStorage.getTFIDFTerms(file.path);\n const terms = new Map<string, number>();\n const rawTermsMap = new Map<string, number>();\n\n // Use TF-IDF terms for search scoring\n for (const [term, tfidfScore] of Object.entries(tfidfTerms)) {\n terms.set(term, tfidfScore as number);\n }\n\n // Use rawTerms for reference\n const rawTerms = tfidfDoc.rawTerms || {};\n for (const [term, freq] of Object.entries(rawTerms)) {\n rawTermsMap.set(term, freq as number);\n }\n\n documents.push({\n uri: `file://${file.path}`,\n terms,\n rawTerms: rawTermsMap,\n magnitude: tfidfDoc.magnitude,\n });\n }\n }\n\n if (documents.length === 0) {\n return null;\n }\n\n // Get IDF values from database\n const idfRecords = await memoryStorage.getIDFValues();\n const idf = new Map<string, number>();\n for (const [term, value] of Object.entries(idfRecords)) {\n idf.set(term, value as number);\n }\n\n return {\n documents,\n idf,\n totalDocuments: documents.length,\n metadata: {\n generatedAt: new Date().toISOString(),\n version: '1.0.0',\n },\n };\n } catch (error) {\n console.error('[ERROR] Failed to build search index from database:', error);\n return null;\n }\n}\n\n/**\n * Calculate Term Frequency (TF)\n * TF = (number of times term appears in document) / (total terms in document)\n */\nfunction calculateTF(termFrequency: Map<string, number>): Map<string, number> {\n const totalTerms = Array.from(termFrequency.values()).reduce((sum, freq) => sum + freq, 0);\n const tf = new Map<string, number>();\n\n for (const [term, freq] of termFrequency.entries()) {\n tf.set(term, freq / totalTerms);\n }\n\n return tf;\n}\n\n/**\n * Calculate Inverse Document Frequency (IDF)\n * IDF = log(total documents / documents containing term)\n */\nfunction calculateIDF(\n documents: Map<string, number>[],\n totalDocuments: number\n): Map<string, number> {\n const documentFrequency = new Map<string, number>();\n\n // Count how many documents contain each term\n for (const doc of documents) {\n const uniqueTerms = new Set(doc.keys());\n for (const term of uniqueTerms) {\n documentFrequency.set(term, (documentFrequency.get(term) || 0) + 1);\n }\n }\n\n // Calculate IDF for each term\n const idf = new Map<string, number>();\n for (const [term, docFreq] of documentFrequency.entries()) {\n idf.set(term, Math.log(totalDocuments / docFreq));\n }\n\n return idf;\n}\n\n/**\n * Calculate TF-IDF scores for a document\n */\nfunction calculateTFIDF(tf: Map<string, number>, idf: Map<string, number>): Map<string, number> {\n const tfidf = new Map<string, number>();\n\n for (const [term, tfScore] of tf.entries()) {\n const idfScore = idf.get(term) || 0;\n tfidf.set(term, tfScore * idfScore);\n }\n\n return tfidf;\n}\n\n/**\n * Calculate vector magnitude for cosine similarity\n */\nfunction calculateMagnitude(vector: Map<string, number>): number {\n let sum = 0;\n for (const value of vector.values()) {\n sum += value * value;\n }\n return Math.sqrt(sum);\n}\n\n// Global tokenizer instance for performance\nlet globalTokenizer: AdvancedCodeTokenizer | null = null;\nlet tokenizerInitialized = false;\n\n/**\n * Get or create the global tokenizer\n */\nasync function getTokenizer(): Promise<AdvancedCodeTokenizer> {\n if (!globalTokenizer) {\n globalTokenizer = new AdvancedCodeTokenizer({\n modelPath: './models/starcoder2',\n });\n }\n\n if (!tokenizerInitialized) {\n // Silently initialize - no console output\n const originalLog = console.log;\n const originalError = console.error;\n console.log = () => {}; // Temporarily silence console.log\n console.error = () => {}; // Temporarily silence console.error\n try {\n await globalTokenizer.initialize();\n tokenizerInitialized = true;\n } finally {\n console.log = originalLog; // Restore console.log\n console.error = originalError; // Restore console.error\n }\n }\n\n return globalTokenizer;\n}\n\n/**\n * Extract terms using our advanced tokenizer\n */\nasync function extractTerms(content: string): Promise<Map<string, number>> {\n const tokenizer = await getTokenizer();\n const result = await tokenizer.tokenize(content);\n const terms = new Map<string, number>();\n\n // Use token scores as TF weights\n for (const token of result.tokens) {\n const term = token.text.toLowerCase();\n const currentScore = terms.get(term) || 0;\n terms.set(term, currentScore + token.score);\n }\n\n return terms;\n}\n\n/**\n * Extract simple tokens for query processing\n */\nasync function extractQueryTokens(query: string): Promise<string[]> {\n const tokenizer = await getTokenizer();\n const result = await tokenizer.tokenize(query);\n\n // Return unique tokens, sorted by score (highest first)\n const uniqueTokens = new Map<string, string>();\n for (const token of result.tokens) {\n const lowerText = token.text.toLowerCase();\n if (!uniqueTokens.has(lowerText) || token.score > 0.8) {\n uniqueTokens.set(lowerText, token.text);\n }\n }\n\n return Array.from(uniqueTokens.values());\n}\n\nexport interface BuildIndexProgress {\n current: number;\n total: number;\n fileName: string;\n status: 'processing' | 'completed' | 'skipped';\n}\n\n/**\n * Build TF-IDF search index from documents using our advanced tokenizer\n */\nexport async function buildSearchIndex(\n documents: Array<{ uri: string; content: string }>,\n onProgress?: (progress: BuildIndexProgress) => void\n): Promise<SearchIndex> {\n // Process documents one by one to avoid hanging\n const batchSize = 1; // Process 1 document at a time to avoid hanging\n const documentTerms: Array<{ uri: string; terms: Map<string, number> }> = [];\n\n for (let i = 0; i < documents.length; i += batchSize) {\n const batch = documents.slice(i, i + batchSize);\n\n // Process sequentially to avoid hanging\n const batchResults = [];\n for (let j = 0; j < batch.length; j++) {\n const doc = batch[j];\n const fileName = doc.uri.split('/').pop() || doc.uri;\n\n // Report progress\n onProgress?.({\n current: i + j + 1,\n total: documents.length,\n fileName,\n status: 'processing',\n });\n\n try {\n const result = await extractTerms(doc.content);\n\n batchResults.push({\n uri: doc.uri,\n terms: result,\n });\n\n // Report completion\n onProgress?.({\n current: i + j + 1,\n total: documents.length,\n fileName,\n status: 'completed',\n });\n } catch (_error) {\n batchResults.push({\n uri: doc.uri,\n terms: new Map<string, number>(),\n });\n\n // Report skip\n onProgress?.({\n current: i + j + 1,\n total: documents.length,\n fileName,\n status: 'skipped',\n });\n }\n }\n\n documentTerms.push(...batchResults);\n }\n\n // Calculate IDF scores\n const idf = calculateIDF(\n documentTerms.map((d) => d.terms),\n documents.length\n );\n\n // Calculate TF-IDF for each document\n const documentVectors: DocumentVector[] = documentTerms.map((doc) => {\n const tf = calculateTF(doc.terms);\n const tfidf = calculateTFIDF(tf, idf);\n const magnitude = calculateMagnitude(tfidf);\n\n return {\n uri: doc.uri,\n terms: tfidf,\n rawTerms: doc.terms,\n magnitude,\n };\n });\n\n return {\n documents: documentVectors,\n idf,\n totalDocuments: documents.length,\n metadata: {\n generatedAt: new Date().toISOString(),\n version: '5.0.0',\n tokenizer: 'AdvancedCodeTokenizer',\n features: [\n 'Industry-leading code understanding',\n 'Advanced technical term recognition',\n 'Optimized for code search',\n 'Simple and effective approach',\n 'No unnecessary complexity',\n ],\n },\n };\n}\n\n/**\n * Calculate cosine similarity between query and document\n */\nexport function calculateCosineSimilarity(\n queryVector: Map<string, number>,\n docVector: DocumentVector\n): number {\n let dotProduct = 0;\n\n // Calculate dot product\n for (const [term, queryScore] of queryVector.entries()) {\n const docScore = docVector.terms.get(term) || 0;\n dotProduct += queryScore * docScore;\n }\n\n // Calculate query magnitude\n const queryMagnitude = calculateMagnitude(queryVector);\n\n if (queryMagnitude === 0 || docVector.magnitude === 0) {\n return 0;\n }\n\n return dotProduct / (queryMagnitude * docVector.magnitude);\n}\n\n/**\n * Process query into TF-IDF vector using database values\n */\nexport async function processQuery(\n query: string,\n idf: Map<string, number>\n): Promise<Map<string, number>> {\n const terms = await extractQueryTokens(query);\n const queryVector = new Map<string, number>();\n\n // 為每個查詢詞使用 IDF 值(查詢本身無 TF-IDF,直接用 IDF)\n for (const term of terms) {\n const lowerTerm = term.toLowerCase();\n const idfValue = idf.get(lowerTerm) || 0;\n\n // 純粹用 IDF 值,完全信任 StarCoder2 嘅 tokenization\n if (idfValue > 0) {\n queryVector.set(lowerTerm, idfValue);\n }\n }\n\n return queryVector;\n}\n\n/**\n * Search documents using TF-IDF and cosine similarity with Advanced Code Tokenizer\n */\nexport async function searchDocuments(\n query: string,\n index: SearchIndex,\n options: {\n limit?: number;\n minScore?: number;\n boostFactors?: {\n exactMatch?: number; // Boost for exact term matches\n phraseMatch?: number; // Boost for phrase matches\n technicalMatch?: number; // Boost for technical term matches\n identifierMatch?: number; // Boost for identifier matches\n };\n } = {}\n): Promise<Array<{ uri: string; score: number; matchedTerms: string[] }>> {\n const { limit = 10, minScore = 0, boostFactors = {} } = options;\n const {\n exactMatch = 1.5,\n phraseMatch = 2.0,\n technicalMatch = 1.8,\n identifierMatch = 1.3,\n } = boostFactors;\n\n // Process query using Advanced Code Tokenizer\n const queryVector = await processQuery(query, index.idf);\n const queryTokens = (await extractQueryTokens(query)).map((t) => t.toLowerCase());\n\n // Calculate similarity for each document\n const results = index.documents.map((doc) => {\n let score = calculateCosineSimilarity(queryVector, doc);\n\n // Boost for exact term matches with enhanced scoring\n const matchedTerms: string[] = [];\n for (const token of queryTokens) {\n if (doc.rawTerms.has(token)) {\n // Apply different boost factors based on term characteristics\n let boostFactor = exactMatch;\n\n // Additional boost for technical terms\n if (isTechnicalTerm(token)) {\n boostFactor = Math.max(boostFactor, technicalMatch);\n }\n\n // Additional boost for identifiers\n if (isIdentifier(token)) {\n boostFactor = Math.max(boostFactor, identifierMatch);\n }\n\n score *= boostFactor;\n matchedTerms.push(token);\n }\n }\n\n // Enhanced phrase match detection (all query terms appear in document)\n if (matchedTerms.length === queryTokens.length && queryTokens.length > 1) {\n score *= phraseMatch;\n }\n\n // Contextual relevance boost for longer queries\n if (queryTokens.length > 3 && matchedTerms.length >= queryTokens.length * 0.7) {\n score *= 1.2; // Boost for partial matches on complex queries\n }\n\n return {\n uri: doc.uri,\n score,\n matchedTerms,\n };\n });\n\n // Filter and sort\n return results\n .filter((result) => result.score >= minScore)\n .sort((a, b) => b.score - a.score)\n .slice(0, limit);\n}\n\n/**\n * Check if a term is likely a technical term\n */\nfunction isTechnicalTerm(term: string): boolean {\n const technicalPatterns = [\n /\\b[A-Z]{2,}\\b/, // Acronyms like HTTP, API, JSON\n /\\b[A-Z][a-z]+(?:[A-Z][a-z]+)+\\b/, // PascalCase like ComponentName\n /\\b[a-z]+[A-Z][a-z]*\\b/, // camelCase like functionName\n /\\b\\w+(?:Dir|Config|File|Path|Data|Service|Manager|Handler)\\b/, // Common suffixes\n /\\b(?:get|set|is|has|can|should|will|do)[A-Z]\\w*\\b/, // Common prefixes\n /\\b(?:http|https|json|xml|yaml|sql|api|url|uri)\\b/, // Technical keywords\n ];\n\n return technicalPatterns.some((pattern) => pattern.test(term));\n}\n\n/**\n * Check if a term is likely an identifier\n */\nfunction isIdentifier(term: string): boolean {\n // Identifiers typically contain letters and numbers, maybe underscores\n return /^[a-zA-Z][a-zA-Z0-9_]*$/.test(term) && term.length > 1;\n}\n\n/**\n * Serialize search index to JSON\n */\nexport function serializeIndex(index: SearchIndex): string {\n const serializable = {\n documents: index.documents.map((doc) => ({\n uri: doc.uri,\n terms: Array.from(doc.terms.entries()),\n rawTerms: Array.from(doc.rawTerms.entries()),\n magnitude: doc.magnitude,\n })),\n idf: Array.from(index.idf.entries()),\n totalDocuments: index.totalDocuments,\n metadata: index.metadata,\n };\n\n return JSON.stringify(serializable, null, 2);\n}\n\n/**\n * Deserialize search index from JSON\n */\nexport function deserializeIndex(json: string): SearchIndex {\n const data = JSON.parse(json);\n\n return {\n documents: data.documents.map(\n (doc: {\n uri: string;\n terms: [string, number][];\n rawTerms: [string, number][];\n magnitude: number;\n }) => ({\n uri: doc.uri,\n terms: new Map(doc.terms),\n rawTerms: new Map(doc.rawTerms),\n magnitude: doc.magnitude,\n })\n ),\n idf: new Map(data.idf),\n totalDocuments: data.totalDocuments,\n metadata: data.metadata,\n };\n}\n"
7
7
  ],
8
8
  "mappings": "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",
9
- "debugId": "31B23AADF62CBA3364756E2164756E21",
9
+ "debugId": "A2D767B1A03BB0A664756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -0,0 +1,3 @@
1
+ import{b as v}from"./chunk-waemzsf4.js";import{I as q}from"./chunk-crhdp3mm.js";import"./chunk-wkbpwkvw.js";import w from"node:fs/promises";import B from"node:path";var I=(...b)=>B.join(...b),J=(...b)=>B.resolve(...b),K=(b)=>B.dirname(b),L=(b,k)=>B.basename(b,k),M=(b)=>B.extname(b),N=async(b)=>{return q(async()=>{return await w.readFile(b,"utf-8")},(k)=>v(`Failed to read file: ${b}`,b,"read",{cause:k instanceof Error?k:void 0}))},O=async(b,k)=>{return q(async()=>{await w.writeFile(b,k,"utf-8")},(z)=>v(`Failed to write file: ${b}`,b,"write",{cause:z instanceof Error?z:void 0}))},Q=async(b)=>{return q(async()=>{await w.unlink(b)},(k)=>v(`Failed to delete file: ${b}`,b,"delete",{cause:k instanceof Error?k:void 0}))},R=async(b,k)=>{return q(async()=>{await w.mkdir(b,{recursive:k?.recursive??!0})},(z)=>v(`Failed to create directory: ${b}`,b,"create",{cause:z instanceof Error?z:void 0}))},T=async(b)=>{return q(async()=>{try{return await w.access(b),!0}catch{return!1}},(k)=>v(`Failed to check if path exists: ${b}`,b,"stat",{cause:k instanceof Error?k:void 0}))},U=async(b)=>{return q(async()=>{return await w.readdir(b)},(k)=>v(`Failed to read directory: ${b}`,b,"read",{cause:k instanceof Error?k:void 0}))},V=async(b)=>{return q(async()=>{let k=await w.stat(b);return{isFile:k.isFile(),isDirectory:k.isDirectory(),size:k.size}},(k)=>v(`Failed to get stats for: ${b}`,b,"stat",{cause:k instanceof Error?k:void 0}))};export{O as writeFile,J as resolvePath,N as readFile,U as readDirectory,T as pathExists,I as joinPath,V as getStats,M as extname,K as dirname,Q as deleteFile,R as createDirectory,L as basename};
2
+
3
+ //# debugId=9658863C0FE6BBF564756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * Functional composable for file system operations\n * Returns Result instead of throwing exceptions\n *\n * DESIGN RATIONALE:\n * - Explicit error handling\n * - Composable file operations\n * - Type-safe path handling\n * - Separation of concerns (pure path operations vs side effects)\n */\n\nimport fsPromises from 'node:fs/promises';\nimport path from 'node:path';\nimport type { FileSystemError } from '../../core/functional/error-types.js';\nimport { fileSystemError } from '../../core/functional/error-types.js';\nimport type { Result } from '../../core/functional/result.js';\nimport { tryCatchAsync } from '../../core/functional/result.js';\n\n/**\n * Pure path operations (no side effects)\n */\n\nexport const joinPath = (...segments: string[]): string => path.join(...segments);\n\nexport const resolvePath = (...segments: string[]): string => path.resolve(...segments);\n\nexport const dirname = (filePath: string): string => path.dirname(filePath);\n\nexport const basename = (filePath: string, ext?: string): string => path.basename(filePath, ext);\n\nexport const extname = (filePath: string): string => path.extname(filePath);\n\n/**\n * File system operations (side effects, return Result)\n */\n\nexport const readFile = async (filePath: string): Promise<Result<string, FileSystemError>> => {\n return tryCatchAsync(\n async () => {\n return await fsPromises.readFile(filePath, 'utf-8');\n },\n (error) =>\n fileSystemError(`Failed to read file: ${filePath}`, filePath, 'read', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\nexport const writeFile = async (\n filePath: string,\n content: string\n): Promise<Result<void, FileSystemError>> => {\n return tryCatchAsync(\n async () => {\n await fsPromises.writeFile(filePath, content, 'utf-8');\n },\n (error) =>\n fileSystemError(`Failed to write file: ${filePath}`, filePath, 'write', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\nexport const deleteFile = async (filePath: string): Promise<Result<void, FileSystemError>> => {\n return tryCatchAsync(\n async () => {\n await fsPromises.unlink(filePath);\n },\n (error) =>\n fileSystemError(`Failed to delete file: ${filePath}`, filePath, 'delete', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\nexport const createDirectory = async (\n dirPath: string,\n options?: { recursive?: boolean }\n): Promise<Result<void, FileSystemError>> => {\n return tryCatchAsync(\n async () => {\n await fsPromises.mkdir(dirPath, { recursive: options?.recursive ?? true });\n },\n (error) =>\n fileSystemError(`Failed to create directory: ${dirPath}`, dirPath, 'create', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\nexport const pathExists = async (filePath: string): Promise<Result<boolean, FileSystemError>> => {\n return tryCatchAsync(\n async () => {\n try {\n await fsPromises.access(filePath);\n return true;\n } catch {\n return false;\n }\n },\n (error) =>\n fileSystemError(`Failed to check if path exists: ${filePath}`, filePath, 'stat', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\nexport const readDirectory = async (\n dirPath: string\n): Promise<Result<string[], FileSystemError>> => {\n return tryCatchAsync(\n async () => {\n return await fsPromises.readdir(dirPath);\n },\n (error) =>\n fileSystemError(`Failed to read directory: ${dirPath}`, dirPath, 'read', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\nexport const getStats = async (\n filePath: string\n): Promise<Result<{ isFile: boolean; isDirectory: boolean; size: number }, FileSystemError>> => {\n return tryCatchAsync(\n async () => {\n const stats = await fsPromises.stat(filePath);\n return {\n isFile: stats.isFile(),\n isDirectory: stats.isDirectory(),\n size: stats.size,\n };\n },\n (error) =>\n fileSystemError(`Failed to get stats for: ${filePath}`, filePath, 'stat', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n"
6
6
  ],
7
- "mappings": "0HAWA,0BACA,mBAUO,IAAM,EAAW,IAAI,IAA+B,EAAK,KAAK,GAAG,CAAQ,EAEnE,EAAc,IAAI,IAA+B,EAAK,QAAQ,GAAG,CAAQ,EAEzE,EAAU,CAAC,IAA6B,EAAK,QAAQ,CAAQ,EAE7D,EAAW,CAAC,EAAkB,IAAyB,EAAK,SAAS,EAAU,CAAG,EAElF,EAAU,CAAC,IAA6B,EAAK,QAAQ,CAAQ,EAM7D,EAAW,MAAO,IAA+D,CAC5F,OAAO,EACL,SAAY,CACV,OAAO,MAAM,EAAW,SAAS,EAAU,OAAO,GAEpD,CAAC,IACC,EAAgB,wBAAwB,IAAY,EAAU,OAAQ,CACpE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAY,MACvB,EACA,IAC2C,CAC3C,OAAO,EACL,SAAY,CACV,MAAM,EAAW,UAAU,EAAU,EAAS,OAAO,GAEvD,CAAC,IACC,EAAgB,yBAAyB,IAAY,EAAU,QAAS,CACtE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAa,MAAO,IAA6D,CAC5F,OAAO,EACL,SAAY,CACV,MAAM,EAAW,OAAO,CAAQ,GAElC,CAAC,IACC,EAAgB,0BAA0B,IAAY,EAAU,SAAU,CACxE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAkB,MAC7B,EACA,IAC2C,CAC3C,OAAO,EACL,SAAY,CACV,MAAM,EAAW,MAAM,EAAS,CAAE,UAAW,GAAS,WAAa,EAAK,CAAC,GAE3E,CAAC,IACC,EAAgB,+BAA+B,IAAW,EAAS,SAAU,CAC3E,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAa,MAAO,IAAgE,CAC/F,OAAO,EACL,SAAY,CACV,GAAI,CAEF,OADA,MAAM,EAAW,OAAO,CAAQ,EACzB,GACP,KAAM,CACN,MAAO,KAGX,CAAC,IACC,EAAgB,mCAAmC,IAAY,EAAU,OAAQ,CAC/E,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAgB,MAC3B,IAC+C,CAC/C,OAAO,EACL,SAAY,CACV,OAAO,MAAM,EAAW,QAAQ,CAAO,GAEzC,CAAC,IACC,EAAgB,6BAA6B,IAAW,EAAS,OAAQ,CACvE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAW,MACtB,IAC8F,CAC9F,OAAO,EACL,SAAY,CACV,IAAM,EAAQ,MAAM,EAAW,KAAK,CAAQ,EAC5C,MAAO,CACL,OAAQ,EAAM,OAAO,EACrB,YAAa,EAAM,YAAY,EAC/B,KAAM,EAAM,IACd,GAEF,CAAC,IACC,EAAgB,4BAA4B,IAAY,EAAU,OAAQ,CACxE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL",
8
- "debugId": "E4D436AD66E08D6964756E2164756E21",
7
+ "mappings": "wHAWA,0BACA,mBAUO,IAAM,EAAW,IAAI,IAA+B,EAAK,KAAK,GAAG,CAAQ,EAEnE,EAAc,IAAI,IAA+B,EAAK,QAAQ,GAAG,CAAQ,EAEzE,EAAU,CAAC,IAA6B,EAAK,QAAQ,CAAQ,EAE7D,EAAW,CAAC,EAAkB,IAAyB,EAAK,SAAS,EAAU,CAAG,EAElF,EAAU,CAAC,IAA6B,EAAK,QAAQ,CAAQ,EAM7D,EAAW,MAAO,IAA+D,CAC5F,OAAO,EACL,SAAY,CACV,OAAO,MAAM,EAAW,SAAS,EAAU,OAAO,GAEpD,CAAC,IACC,EAAgB,wBAAwB,IAAY,EAAU,OAAQ,CACpE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAY,MACvB,EACA,IAC2C,CAC3C,OAAO,EACL,SAAY,CACV,MAAM,EAAW,UAAU,EAAU,EAAS,OAAO,GAEvD,CAAC,IACC,EAAgB,yBAAyB,IAAY,EAAU,QAAS,CACtE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAa,MAAO,IAA6D,CAC5F,OAAO,EACL,SAAY,CACV,MAAM,EAAW,OAAO,CAAQ,GAElC,CAAC,IACC,EAAgB,0BAA0B,IAAY,EAAU,SAAU,CACxE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAkB,MAC7B,EACA,IAC2C,CAC3C,OAAO,EACL,SAAY,CACV,MAAM,EAAW,MAAM,EAAS,CAAE,UAAW,GAAS,WAAa,EAAK,CAAC,GAE3E,CAAC,IACC,EAAgB,+BAA+B,IAAW,EAAS,SAAU,CAC3E,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAa,MAAO,IAAgE,CAC/F,OAAO,EACL,SAAY,CACV,GAAI,CAEF,OADA,MAAM,EAAW,OAAO,CAAQ,EACzB,GACP,KAAM,CACN,MAAO,KAGX,CAAC,IACC,EAAgB,mCAAmC,IAAY,EAAU,OAAQ,CAC/E,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAgB,MAC3B,IAC+C,CAC/C,OAAO,EACL,SAAY,CACV,OAAO,MAAM,EAAW,QAAQ,CAAO,GAEzC,CAAC,IACC,EAAgB,6BAA6B,IAAW,EAAS,OAAQ,CACvE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAGW,EAAW,MACtB,IAC8F,CAC9F,OAAO,EACL,SAAY,CACV,IAAM,EAAQ,MAAM,EAAW,KAAK,CAAQ,EAC5C,MAAO,CACL,OAAQ,EAAM,OAAO,EACrB,YAAa,EAAM,YAAY,EAC/B,KAAM,EAAM,IACd,GAEF,CAAC,IACC,EAAgB,4BAA4B,IAAY,EAAU,OAAQ,CACxE,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL",
8
+ "debugId": "9658863C0FE6BBF564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{fa as l}from"./chunk-3t1504hw.js";import{pa as L,ra as Xq}from"./chunk-03csvy0b.js";var K=L((MH)=>{var xq=Symbol.for("yaml.alias"),e$=Symbol.for("yaml.document"),s0=Symbol.for("yaml.map"),q2=Symbol.for("yaml.pair"),uq=Symbol.for("yaml.scalar"),a0=Symbol.for("yaml.seq"),m=Symbol.for("yaml.node.type"),LH=(q)=>!!q&&typeof q==="object"&&q[m]===xq,_H=(q)=>!!q&&typeof q==="object"&&q[m]===e$,RH=(q)=>!!q&&typeof q==="object"&&q[m]===s0,DH=(q)=>!!q&&typeof q==="object"&&q[m]===q2,$2=(q)=>!!q&&typeof q==="object"&&q[m]===uq,OH=(q)=>!!q&&typeof q==="object"&&q[m]===a0;function H2(q){if(q&&typeof q==="object")switch(q[m]){case s0:case a0:return!0}return!1}function FH(q){if(q&&typeof q==="object")switch(q[m]){case xq:case s0:case uq:case a0:return!0}return!1}var AH=(q)=>($2(q)||H2(q))&&!!q.anchor;MH.ALIAS=xq;MH.DOC=e$;MH.MAP=s0;MH.NODE_TYPE=m;MH.PAIR=q2;MH.SCALAR=uq;MH.SEQ=a0;MH.hasAnchor=AH;MH.isAlias=LH;MH.isCollection=H2;MH.isDocument=_H;MH.isMap=RH;MH.isNode=FH;MH.isPair=DH;MH.isScalar=$2;MH.isSeq=OH});var A0=L((vH)=>{var C=K(),S=Symbol("break visit"),X2=Symbol("skip children"),u=Symbol("remove node");function i0(q,$){let H=Z2($);if(C.isDocument(q)){if(z0(null,q.contents,H,Object.freeze([q]))===u)q.contents=null}else z0(null,q,H,Object.freeze([]))}i0.BREAK=S;i0.SKIP=X2;i0.REMOVE=u;function z0(q,$,H,X){let Z=G2(q,$,H,X);if(C.isNode(Z)||C.isPair(Z))return U2(q,X,Z),z0(q,Z,H,X);if(typeof Z!=="symbol"){if(C.isCollection($)){X=Object.freeze(X.concat($));for(let G=0;G<$.items.length;++G){let U=z0(G,$.items[G],H,X);if(typeof U==="number")G=U-1;else if(U===S)return S;else if(U===u)$.items.splice(G,1),G-=1}}else if(C.isPair($)){X=Object.freeze(X.concat($));let G=z0("key",$.key,H,X);if(G===S)return S;else if(G===u)$.key=null;let U=z0("value",$.value,H,X);if(U===S)return S;else if(U===u)$.value=null}}return Z}async function r0(q,$){let H=Z2($);if(C.isDocument(q)){if(await Y0(null,q.contents,H,Object.freeze([q]))===u)q.contents=null}else await Y0(null,q,H,Object.freeze([]))}r0.BREAK=S;r0.SKIP=X2;r0.REMOVE=u;async function Y0(q,$,H,X){let Z=await G2(q,$,H,X);if(C.isNode(Z)||C.isPair(Z))return U2(q,X,Z),Y0(q,Z,H,X);if(typeof Z!=="symbol"){if(C.isCollection($)){X=Object.freeze(X.concat($));for(let G=0;G<$.items.length;++G){let U=await Y0(G,$.items[G],H,X);if(typeof U==="number")G=U-1;else if(U===S)return S;else if(U===u)$.items.splice(G,1),G-=1}}else if(C.isPair($)){X=Object.freeze(X.concat($));let G=await Y0("key",$.key,H,X);if(G===S)return S;else if(G===u)$.key=null;let U=await Y0("value",$.value,H,X);if(U===S)return S;else if(U===u)$.value=null}}return Z}function Z2(q){if(typeof q==="object"&&(q.Collection||q.Node||q.Value))return Object.assign({Alias:q.Node,Map:q.Node,Scalar:q.Node,Seq:q.Node},q.Value&&{Map:q.Value,Scalar:q.Value,Seq:q.Value},q.Collection&&{Map:q.Collection,Seq:q.Collection},q);return q}function G2(q,$,H,X){if(typeof H==="function")return H(q,$,X);if(C.isMap($))return H.Map?.(q,$,X);if(C.isSeq($))return H.Seq?.(q,$,X);if(C.isPair($))return H.Pair?.(q,$,X);if(C.isScalar($))return H.Scalar?.(q,$,X);if(C.isAlias($))return H.Alias?.(q,$,X);return}function U2(q,$,H){let X=$[$.length-1];if(C.isCollection(X))X.items[q]=H;else if(C.isPair(X))if(q==="key")X.key=H;else X.value=H;else if(C.isDocument(X))X.contents=H;else{let Z=C.isAlias(X)?"alias":"scalar";throw Error(`Cannot replace node with ${Z} parent`)}}vH.visit=i0;vH.visitAsync=r0});var hq=L((sH)=>{var Q2=K(),dH=A0(),lH={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},cH=(q)=>q.replace(/[!,[\]{}]/g,($)=>lH[$]);class E{constructor(q,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},E.defaultYaml,q),this.tags=Object.assign({},E.defaultTags,$)}clone(){let q=new E(this.yaml,this.tags);return q.docStart=this.docStart,q}atDocument(){let q=new E(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:E.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},E.defaultTags);break}return q}add(q,$){if(this.atNextDocument)this.yaml={explicit:E.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},E.defaultTags),this.atNextDocument=!1;let H=q.trim().split(/[ \t]+/),X=H.shift();switch(X){case"%TAG":{if(H.length!==2){if($(0,"%TAG directive should contain exactly two parts"),H.length<2)return!1}let[Z,G]=H;return this.tags[Z]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,H.length!==1)return $(0,"%YAML directive should contain exactly one part"),!1;let[Z]=H;if(Z==="1.1"||Z==="1.2")return this.yaml.version=Z,!0;else{let G=/^\d+\.\d+$/.test(Z);return $(6,`Unsupported YAML version ${Z}`,G),!1}}default:return $(0,`Unknown directive ${X}`,!0),!1}}tagName(q,$){if(q==="!")return"!";if(q[0]!=="!")return $(`Not a valid tag: ${q}`),null;if(q[1]==="<"){let G=q.slice(2,-1);if(G==="!"||G==="!!")return $(`Verbatim tags aren't resolved, so ${q} is invalid.`),null;if(q[q.length-1]!==">")$("Verbatim tags must end with a >");return G}let[,H,X]=q.match(/^(.*!)([^!]*)$/s);if(!X)$(`The ${q} tag has no suffix`);let Z=this.tags[H];if(Z)try{return Z+decodeURIComponent(X)}catch(G){return $(String(G)),null}if(H==="!")return q;return $(`Could not resolve tag: ${q}`),null}tagString(q){for(let[$,H]of Object.entries(this.tags))if(q.startsWith(H))return $+cH(q.substring(H.length));return q[0]==="!"?q:`!<${q}>`}toString(q){let $=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],H=Object.entries(this.tags),X;if(q&&H.length>0&&Q2.isNode(q.contents)){let Z={};dH.visit(q.contents,(G,U)=>{if(Q2.isNode(U)&&U.tag)Z[U.tag]=!0}),X=Object.keys(Z)}else X=[];for(let[Z,G]of H){if(Z==="!!"&&G==="tag:yaml.org,2002:")continue;if(!q||X.some((U)=>U.startsWith(G)))$.push(`%TAG ${Z} ${G}`)}return $.join(`
1
+ import{ta as l}from"./chunk-j07c4re1.js";import{va as L,xa as Xq}from"./chunk-wkbpwkvw.js";var K=L((MH)=>{var xq=Symbol.for("yaml.alias"),e$=Symbol.for("yaml.document"),s0=Symbol.for("yaml.map"),q2=Symbol.for("yaml.pair"),uq=Symbol.for("yaml.scalar"),a0=Symbol.for("yaml.seq"),m=Symbol.for("yaml.node.type"),LH=(q)=>!!q&&typeof q==="object"&&q[m]===xq,_H=(q)=>!!q&&typeof q==="object"&&q[m]===e$,RH=(q)=>!!q&&typeof q==="object"&&q[m]===s0,DH=(q)=>!!q&&typeof q==="object"&&q[m]===q2,$2=(q)=>!!q&&typeof q==="object"&&q[m]===uq,OH=(q)=>!!q&&typeof q==="object"&&q[m]===a0;function H2(q){if(q&&typeof q==="object")switch(q[m]){case s0:case a0:return!0}return!1}function FH(q){if(q&&typeof q==="object")switch(q[m]){case xq:case s0:case uq:case a0:return!0}return!1}var AH=(q)=>($2(q)||H2(q))&&!!q.anchor;MH.ALIAS=xq;MH.DOC=e$;MH.MAP=s0;MH.NODE_TYPE=m;MH.PAIR=q2;MH.SCALAR=uq;MH.SEQ=a0;MH.hasAnchor=AH;MH.isAlias=LH;MH.isCollection=H2;MH.isDocument=_H;MH.isMap=RH;MH.isNode=FH;MH.isPair=DH;MH.isScalar=$2;MH.isSeq=OH});var A0=L((vH)=>{var C=K(),S=Symbol("break visit"),X2=Symbol("skip children"),u=Symbol("remove node");function i0(q,$){let H=Z2($);if(C.isDocument(q)){if(z0(null,q.contents,H,Object.freeze([q]))===u)q.contents=null}else z0(null,q,H,Object.freeze([]))}i0.BREAK=S;i0.SKIP=X2;i0.REMOVE=u;function z0(q,$,H,X){let Z=G2(q,$,H,X);if(C.isNode(Z)||C.isPair(Z))return U2(q,X,Z),z0(q,Z,H,X);if(typeof Z!=="symbol"){if(C.isCollection($)){X=Object.freeze(X.concat($));for(let G=0;G<$.items.length;++G){let U=z0(G,$.items[G],H,X);if(typeof U==="number")G=U-1;else if(U===S)return S;else if(U===u)$.items.splice(G,1),G-=1}}else if(C.isPair($)){X=Object.freeze(X.concat($));let G=z0("key",$.key,H,X);if(G===S)return S;else if(G===u)$.key=null;let U=z0("value",$.value,H,X);if(U===S)return S;else if(U===u)$.value=null}}return Z}async function r0(q,$){let H=Z2($);if(C.isDocument(q)){if(await Y0(null,q.contents,H,Object.freeze([q]))===u)q.contents=null}else await Y0(null,q,H,Object.freeze([]))}r0.BREAK=S;r0.SKIP=X2;r0.REMOVE=u;async function Y0(q,$,H,X){let Z=await G2(q,$,H,X);if(C.isNode(Z)||C.isPair(Z))return U2(q,X,Z),Y0(q,Z,H,X);if(typeof Z!=="symbol"){if(C.isCollection($)){X=Object.freeze(X.concat($));for(let G=0;G<$.items.length;++G){let U=await Y0(G,$.items[G],H,X);if(typeof U==="number")G=U-1;else if(U===S)return S;else if(U===u)$.items.splice(G,1),G-=1}}else if(C.isPair($)){X=Object.freeze(X.concat($));let G=await Y0("key",$.key,H,X);if(G===S)return S;else if(G===u)$.key=null;let U=await Y0("value",$.value,H,X);if(U===S)return S;else if(U===u)$.value=null}}return Z}function Z2(q){if(typeof q==="object"&&(q.Collection||q.Node||q.Value))return Object.assign({Alias:q.Node,Map:q.Node,Scalar:q.Node,Seq:q.Node},q.Value&&{Map:q.Value,Scalar:q.Value,Seq:q.Value},q.Collection&&{Map:q.Collection,Seq:q.Collection},q);return q}function G2(q,$,H,X){if(typeof H==="function")return H(q,$,X);if(C.isMap($))return H.Map?.(q,$,X);if(C.isSeq($))return H.Seq?.(q,$,X);if(C.isPair($))return H.Pair?.(q,$,X);if(C.isScalar($))return H.Scalar?.(q,$,X);if(C.isAlias($))return H.Alias?.(q,$,X);return}function U2(q,$,H){let X=$[$.length-1];if(C.isCollection(X))X.items[q]=H;else if(C.isPair(X))if(q==="key")X.key=H;else X.value=H;else if(C.isDocument(X))X.contents=H;else{let Z=C.isAlias(X)?"alias":"scalar";throw Error(`Cannot replace node with ${Z} parent`)}}vH.visit=i0;vH.visitAsync=r0});var hq=L((sH)=>{var Q2=K(),dH=A0(),lH={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},cH=(q)=>q.replace(/[!,[\]{}]/g,($)=>lH[$]);class E{constructor(q,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},E.defaultYaml,q),this.tags=Object.assign({},E.defaultTags,$)}clone(){let q=new E(this.yaml,this.tags);return q.docStart=this.docStart,q}atDocument(){let q=new E(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:E.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},E.defaultTags);break}return q}add(q,$){if(this.atNextDocument)this.yaml={explicit:E.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},E.defaultTags),this.atNextDocument=!1;let H=q.trim().split(/[ \t]+/),X=H.shift();switch(X){case"%TAG":{if(H.length!==2){if($(0,"%TAG directive should contain exactly two parts"),H.length<2)return!1}let[Z,G]=H;return this.tags[Z]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,H.length!==1)return $(0,"%YAML directive should contain exactly one part"),!1;let[Z]=H;if(Z==="1.1"||Z==="1.2")return this.yaml.version=Z,!0;else{let G=/^\d+\.\d+$/.test(Z);return $(6,`Unsupported YAML version ${Z}`,G),!1}}default:return $(0,`Unknown directive ${X}`,!0),!1}}tagName(q,$){if(q==="!")return"!";if(q[0]!=="!")return $(`Not a valid tag: ${q}`),null;if(q[1]==="<"){let G=q.slice(2,-1);if(G==="!"||G==="!!")return $(`Verbatim tags aren't resolved, so ${q} is invalid.`),null;if(q[q.length-1]!==">")$("Verbatim tags must end with a >");return G}let[,H,X]=q.match(/^(.*!)([^!]*)$/s);if(!X)$(`The ${q} tag has no suffix`);let Z=this.tags[H];if(Z)try{return Z+decodeURIComponent(X)}catch(G){return $(String(G)),null}if(H==="!")return q;return $(`Could not resolve tag: ${q}`),null}tagString(q){for(let[$,H]of Object.entries(this.tags))if(q.startsWith(H))return $+cH(q.substring(H.length));return q[0]==="!"?q:`!<${q}>`}toString(q){let $=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],H=Object.entries(this.tags),X;if(q&&H.length>0&&Q2.isNode(q.contents)){let Z={};dH.visit(q.contents,(G,U)=>{if(Q2.isNode(U)&&U.tag)Z[U.tag]=!0}),X=Object.keys(Z)}else X=[];for(let[Z,G]of H){if(Z==="!!"&&G==="tag:yaml.org,2002:")continue;if(!q||X.some((U)=>U.startsWith(G)))$.push(`%TAG ${Z} ${G}`)}return $.join(`
2
2
  `)}}E.defaultYaml={explicit:!1,version:"1.2"};E.defaultTags={"!!":"tag:yaml.org,2002:"};sH.Directives=E});var n0=L((oH)=>{var J2=K(),iH=A0();function rH(q){if(/[\x00-\x19\s,[\]{}]/.test(q)){let H=`Anchor must not contain whitespace or control characters: ${JSON.stringify(q)}`;throw Error(H)}return!0}function z2(q){let $=new Set;return iH.visit(q,{Value(H,X){if(X.anchor)$.add(X.anchor)}}),$}function Y2(q,$){for(let H=1;;++H){let X=`${q}${H}`;if(!$.has(X))return X}}function nH(q,$){let H=[],X=new Map,Z=null;return{onAnchor:(G)=>{H.push(G),Z??(Z=z2(q));let U=Y2($,Z);return Z.add(U),U},setAnchors:()=>{for(let G of H){let U=X.get(G);if(typeof U==="object"&&U.anchor&&(J2.isScalar(U.node)||J2.isCollection(U.node)))U.node.anchor=U.anchor;else{let Q=Error("Failed to resolve repeated object (this should not happen)");throw Q.source=G,Q}}},sourceObjects:X}}oH.anchorIsValid=rH;oH.anchorNames=z2;oH.createNodeAnchors=nH;oH.findNewAnchor=Y2});var vq=L((H4)=>{function M0(q,$,H,X){if(X&&typeof X==="object")if(Array.isArray(X))for(let Z=0,G=X.length;Z<G;++Z){let U=X[Z],Q=M0(q,X,String(Z),U);if(Q===void 0)delete X[Z];else if(Q!==U)X[Z]=Q}else if(X instanceof Map)for(let Z of Array.from(X.keys())){let G=X.get(Z),U=M0(q,X,Z,G);if(U===void 0)X.delete(Z);else if(U!==G)X.set(Z,U)}else if(X instanceof Set)for(let Z of Array.from(X)){let G=M0(q,X,Z,Z);if(G===void 0)X.delete(Z);else if(G!==Z)X.delete(Z),X.add(G)}else for(let[Z,G]of Object.entries(X)){let U=M0(q,X,Z,G);if(U===void 0)delete X[Z];else if(U!==G)X[Z]=U}return q.call($,H,X)}H4.applyReviver=M0});var c=L((G4)=>{var Z4=K();function B2(q,$,H){if(Array.isArray(q))return q.map((X,Z)=>B2(X,String(Z),H));if(q&&typeof q.toJSON==="function"){if(!H||!Z4.hasAnchor(q))return q.toJSON($,H);let X={aliasCount:0,count:1,res:void 0};H.anchors.set(q,X),H.onCreate=(G)=>{X.res=G,delete H.onCreate};let Z=q.toJSON($,H);if(H.onCreate)H.onCreate(Z);return Z}if(typeof q==="bigint"&&!H?.keep)return Number(q);return q}G4.toJS=B2});var o0=L((z4)=>{var Q4=vq(),V2=K(),J4=c();class W2{constructor(q){Object.defineProperty(this,V2.NODE_TYPE,{value:q})}clone(){let q=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)q.range=this.range.slice();return q}toJS(q,{mapAsMap:$,maxAliasCount:H,onAnchor:X,reviver:Z}={}){if(!V2.isDocument(q))throw TypeError("A document argument is required");let G={anchors:new Map,doc:q,keep:!0,mapAsMap:$===!0,mapKeyWarned:!1,maxAliasCount:typeof H==="number"?H:100},U=J4.toJS(this,"",G);if(typeof X==="function")for(let{count:Q,res:J}of G.anchors.values())X(J,Q);return typeof Z==="function"?Q4.applyReviver(Z,{"":U},"",U):U}}z4.NodeBase=W2});var P0=L((T4)=>{var B4=n0(),V4=A0(),B0=K(),W4=o0(),I4=c();class I2 extends W4.NodeBase{constructor(q){super(B0.ALIAS);this.source=q,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(q,$){let H;if($?.aliasResolveCache)H=$.aliasResolveCache;else if(H=[],V4.visit(q,{Node:(Z,G)=>{if(B0.isAlias(G)||B0.hasAnchor(G))H.push(G)}}),$)$.aliasResolveCache=H;let X=void 0;for(let Z of H){if(Z===this)break;if(Z.anchor===this.source)X=Z}return X}toJSON(q,$){if(!$)return{source:this.source};let{anchors:H,doc:X,maxAliasCount:Z}=$,G=this.resolve(X,$);if(!G){let Q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(Q)}let U=H.get(G);if(!U)I4.toJS(G,null,$),U=H.get(G);if(!U||U.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(Z>=0){if(U.count+=1,U.aliasCount===0)U.aliasCount=t0(X,G,H);if(U.count*U.aliasCount>Z)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return U.res}toString(q,$,H){let X=`*${this.source}`;if(q){if(B4.anchorIsValid(this.source),q.options.verifyAliasOrder&&!q.anchors.has(this.source)){let Z=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(Z)}if(q.implicitKey)return`${X} `}return X}}function t0(q,$,H){if(B0.isAlias($)){let X=$.resolve(q),Z=H&&X&&H.get(X);return Z?Z.count*Z.aliasCount:0}else if(B0.isCollection($)){let X=0;for(let Z of $.items){let G=t0(q,Z,H);if(G>X)X=G}return X}else if(B0.isPair($)){let X=t0(q,$.key,H),Z=t0(q,$.value,H);return Math.max(X,Z)}return 1}T4.Alias=I2});var N=L((F4)=>{var _4=K(),R4=o0(),D4=c(),O4=(q)=>!q||typeof q!=="function"&&typeof q!=="object";class q0 extends R4.NodeBase{constructor(q){super(_4.SCALAR);this.value=q}toJSON(q,$){return $?.keep?this.value:D4.toJS(this.value,q,$)}toString(){return String(this.value)}}q0.BLOCK_FOLDED="BLOCK_FOLDED";q0.BLOCK_LITERAL="BLOCK_LITERAL";q0.PLAIN="PLAIN";q0.QUOTE_DOUBLE="QUOTE_DOUBLE";q0.QUOTE_SINGLE="QUOTE_SINGLE";F4.Scalar=q0;F4.isScalarValue=O4});var K0=L((b4)=>{var P4=P0(),$0=K(),T2=N(),K4="tag:yaml.org,2002:";function w4(q,$,H){if($){let X=H.filter((G)=>G.tag===$),Z=X.find((G)=>!G.format)??X[0];if(!Z)throw Error(`Tag ${$} not found`);return Z}return H.find((X)=>X.identify?.(q)&&!X.format)}function N4(q,$,H){if($0.isDocument(q))q=q.contents;if($0.isNode(q))return q;if($0.isPair(q)){let Y=H.schema[$0.MAP].createNode?.(H.schema,null,H);return Y.items.push(q),Y}if(q instanceof String||q instanceof Number||q instanceof Boolean||typeof BigInt<"u"&&q instanceof BigInt)q=q.valueOf();let{aliasDuplicateObjects:X,onAnchor:Z,onTagObj:G,schema:U,sourceObjects:Q}=H,J=void 0;if(X&&q&&typeof q==="object")if(J=Q.get(q),J)return J.anchor??(J.anchor=Z(q)),new P4.Alias(J.anchor);else J={anchor:null,node:null},Q.set(q,J);if($?.startsWith("!!"))$=K4+$.slice(2);let z=w4(q,$,U.tags);if(!z){if(q&&typeof q.toJSON==="function")q=q.toJSON();if(!q||typeof q!=="object"){let Y=new T2.Scalar(q);if(J)J.node=Y;return Y}z=q instanceof Map?U[$0.MAP]:(Symbol.iterator in Object(q))?U[$0.SEQ]:U[$0.MAP]}if(G)G(z),delete H.onTagObj;let W=z?.createNode?z.createNode(H.schema,q,H):typeof z?.nodeClass?.from==="function"?z.nodeClass.from(H.schema,q,H):new T2.Scalar(q);if($)W.tag=$;else if(!z.default)W.tag=z.tag;if(J)J.node=W;return W}b4.createNode=N4});var e0=L((E4)=>{var C4=K0(),h=K(),S4=o0();function mq(q,$,H){let X=H;for(let Z=$.length-1;Z>=0;--Z){let G=$[Z];if(typeof G==="number"&&Number.isInteger(G)&&G>=0){let U=[];U[G]=X,X=U}else X=new Map([[G,X]])}return C4.createNode(X,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:q,sourceObjects:new Map})}var L2=(q)=>q==null||typeof q==="object"&&!!q[Symbol.iterator]().next().done;class _2 extends S4.NodeBase{constructor(q,$){super(q);Object.defineProperty(this,"schema",{value:$,configurable:!0,enumerable:!1,writable:!0})}clone(q){let $=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(q)$.schema=q;if($.items=$.items.map((H)=>h.isNode(H)||h.isPair(H)?H.clone(q):H),this.range)$.range=this.range.slice();return $}addIn(q,$){if(L2(q))this.add($);else{let[H,...X]=q,Z=this.get(H,!0);if(h.isCollection(Z))Z.addIn(X,$);else if(Z===void 0&&this.schema)this.set(H,mq(this.schema,X,$));else throw Error(`Expected YAML collection at ${H}. Remaining path: ${X}`)}}deleteIn(q){let[$,...H]=q;if(H.length===0)return this.delete($);let X=this.get($,!0);if(h.isCollection(X))return X.deleteIn(H);else throw Error(`Expected YAML collection at ${$}. Remaining path: ${H}`)}getIn(q,$){let[H,...X]=q,Z=this.get(H,!0);if(X.length===0)return!$&&h.isScalar(Z)?Z.value:Z;else return h.isCollection(Z)?Z.getIn(X,$):void 0}hasAllNullValues(q){return this.items.every(($)=>{if(!h.isPair($))return!1;let H=$.value;return H==null||q&&h.isScalar(H)&&H.value==null&&!H.commentBefore&&!H.comment&&!H.tag})}hasIn(q){let[$,...H]=q;if(H.length===0)return this.has($);let X=this.get($,!0);return h.isCollection(X)?X.hasIn(H):!1}setIn(q,$){let[H,...X]=q;if(X.length===0)this.set(H,$);else{let Z=this.get(H,!0);if(h.isCollection(Z))Z.setIn(X,$);else if(Z===void 0&&this.schema)this.set(H,mq(this.schema,X,$));else throw Error(`Expected YAML collection at ${H}. Remaining path: ${X}`)}}}E4.Collection=_2;E4.collectionFromPath=mq;E4.isEmptyPath=L2});var w0=L((u4)=>{var k4=(q)=>q.replace(/^(?!$)(?: $)?/gm,"#");function pq(q,$){if(/^\n+$/.test(q))return q.substring(1);return $?q.replace(/^(?! *$)/gm,$):q}var x4=(q,$,H)=>q.endsWith(`
3
3
  `)?pq(H,$):H.includes(`
4
4
  `)?`
@@ -156,6 +156,6 @@ ${q}`}},async stripFrontMatter(q){let{content:$}=await O0.extractFrontMatter(q);
156
156
  `,$+=` Config Path: ${q.mcpConfigPath}
157
157
 
158
158
  `,$}
159
- export{kq as a,x as b,t$ as c,o$ as d,K3 as e,TH as f,w3 as g,N3 as h,b3 as i,j3 as j,i$ as k,O0 as l,zH as m,XU as n};
159
+ export{kq as e,x as f,t$ as g,o$ as h,K3 as i,TH as j,w3 as k,N3 as l,b3 as m,j3 as n,i$ as o,O0 as p,zH as q,XU as r};
160
160
 
161
- //# debugId=D2FCBF2E27CF454E64756E2164756E21
161
+ //# debugId=C245D75FE36268B664756E2164756E21