tjs-lang 0.6.5 → 0.6.6

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.
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- var R8=Object.defineProperty;var B8=(Z,$)=>()=>($||Z(($={exports:{}}).exports,$),$.exports);var M8=(Z)=>Z;function w8(Z,$){this[Z]=M8.bind(null,$)}var F8=(Z,$)=>{for(var X in $)R8(Z,X,{get:$[X],enumerable:!0,configurable:!0,set:w8.bind($,X)})};var j8=(Z,$)=>()=>(Z&&($=Z(Z=0)),$);var j4=((Z)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(Z,{get:($,X)=>(typeof require<"u"?require:$)[X]}):Z)(function(Z){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+Z+'" is not supported')});var z7=B8(($K,aZ)=>{aZ.exports={name:"tjs-lang",version:"0.6.5",description:"Type-safe JavaScript dialect with runtime validation, sandboxed VM execution, and AI agent orchestration. Transpiles TypeScript to validated JS with fuel-metered execution for untrusted code.",keywords:["typescript","transpiler","runtime-validation","type-safety","sandbox","virtual-machine","wasm-alternative","ai-agents","llm","orchestration","security","fuel-metering","capability-based","json-ast","untrusted-code"],license:"Apache-2.0",main:"./dist/index.js",exports:{".":{bun:"./src/index.ts",default:"./dist/index.js"},"./eval":{bun:"./src/lang/eval.ts",default:"./dist/lang/eval.js"},"./lang":{bun:"./src/lang/index.ts",default:"./dist/lang/index.js"},"./lang/eval":{bun:"./src/lang/eval.ts",default:"./dist/lang/eval.js"},"./lang/from-ts":{bun:"./src/lang/emitters/from-ts.ts",default:"./dist/lang/emitters/from-ts.js"},"./src":"./src/index.ts","./editors/monaco":"./editors/monaco/ajs-monarch.js","./editors/codemirror":"./editors/codemirror/ajs-language.js","./editors/ace":"./editors/ace/ajs-mode.js"},bin:{tjs:"./src/cli/tjs.ts",tjsx:"./src/cli/tjsx.ts","tjs-playground":"./src/cli/playground.ts","create-tjs-app":"./src/cli/create-app.ts","ajs-install-vscode":"./bin/install-vscode.sh","ajs-install-cursor":"./bin/install-cursor.sh"},type:"module",files:["dist","src","docs","editors","bin","demo","tjs-lang.svg","CONTEXT.md","CLAUDE.md"],sideEffects:!1,repository:{type:"git",url:"https://github.com/tonioloewald/tjs-lang.git"},devDependencies:{"@codemirror/lang-javascript":"^6.2.4","@codemirror/state":"^6.5.3","@codemirror/view":"^6.39.9","@happy-dom/global-registrator":"^20.1.0","@types/bun":"latest","@types/jsdom":"^21.1.7","@typescript-eslint/eslint-plugin":"^5.62.0","@typescript-eslint/parser":"^5.62.0","acorn-walk":"^8.3.4",chokidar:"^4.0.3",codemirror:"^6.0.2",eslint:"^8.57.1","firebase-admin":"^13.6.0","firebase-functions":"^7.0.5",marked:"^9.1.6",prettier:"^2.8.8",tosijs:"^1.2.0","tosijs-ui":"^1.2.0",typescript:"^5.6.2",valibot:"^0.36.0",vitest:"^2.0.5"},scripts:{format:"bun eslint src --fix && bun prettier --write .",lint:"eslint src","build:grammars":"bun editors/build-grammars.ts","test:fast":"SKIP_LLM_TESTS=1 SKIP_BENCHMARKS=1 bun test","test:llm":"bun test src/batteries/models.integration.test.ts",bench:"bun bin/benchmarks.ts",make:"rm -rf dist && bun format && bun run build:grammars && tsc -p tsconfig.build.json && bun scripts/build.ts","build:bundles":"bun scripts/build.ts",typecheck:"tsc --noEmit",latest:"rm -rf node_modules && bun install",docs:"node bin/docs.js",dev:"bun run bin/dev.ts","build:demo":"bun scripts/build-demo.ts","build:cli":"bun build src/cli/tjs.ts --compile --outfile=dist/tjs && bun build src/cli/tjsx.ts --compile --outfile=dist/tjsx","functions:build":"cd functions && npm run build","functions:deploy":"cd functions && npm run deploy","functions:serve":"cd functions && npm run serve","deploy:hosting":"firebase deploy --only hosting",deploy:"npm run build:demo && npm run functions:deploy && firebase deploy --only hosting",start:"bun run build:demo && bun run dev"},dependencies:{"@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.11","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.3",acorn:"^8.15.0",firebase:"^10.12.0","tosijs-schema":"^1.2.0"}}});var Y6={};F8(Y6,{sep:()=>Z8,resolve:()=>I4,relative:()=>c7,posix:()=>X8,parse:()=>e7,normalize:()=>H6,join:()=>n7,isAbsolute:()=>p7,format:()=>t7,extname:()=>r7,dirname:()=>s7,delimiter:()=>$8,default:()=>t$,basename:()=>a7,_makeLong:()=>o7});function B1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function i7(Z,$){var X="",Q=0,K=-1,H=0,Y;for(var z=0;z<=Z.length;++z){if(z<Z.length)Y=Z.charCodeAt(z);else if(Y===47)break;else Y=47;if(Y===47){if(K===z-1||H===1);else if(K!==z-1&&H===2){if(X.length<2||Q!==2||X.charCodeAt(X.length-1)!==46||X.charCodeAt(X.length-2)!==46){if(X.length>2){var W=X.lastIndexOf("/");if(W!==X.length-1){if(W===-1)X="",Q=0;else X=X.slice(0,W),Q=X.length-1-X.lastIndexOf("/");K=z,H=0;continue}}else if(X.length===2||X.length===1){X="",Q=0,K=z,H=0;continue}}if($){if(X.length>0)X+="/..";else X="..";Q=2}}else{if(X.length>0)X+="/"+Z.slice(K+1,z);else X=Z.slice(K+1,z);Q=z-K-1}K=z,H=0}else if(Y===46&&H!==-1)++H;else H=-1}return X}function r$(Z,$){var X=$.dir||$.root,Q=$.base||($.name||"")+($.ext||"");if(!X)return Q;if(X===$.root)return X+Q;return X+Z+Q}function I4(){var Z="",$=!1,X;for(var Q=arguments.length-1;Q>=-1&&!$;Q--){var K;if(Q>=0)K=arguments[Q];else{if(X===void 0)X=process.cwd();K=X}if(B1(K),K.length===0)continue;Z=K+"/"+Z,$=K.charCodeAt(0)===47}if(Z=i7(Z,!$),$)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function H6(Z){if(B1(Z),Z.length===0)return".";var $=Z.charCodeAt(0)===47,X=Z.charCodeAt(Z.length-1)===47;if(Z=i7(Z,!$),Z.length===0&&!$)Z=".";if(Z.length>0&&X)Z+="/";if($)return"/"+Z;return Z}function p7(Z){return B1(Z),Z.length>0&&Z.charCodeAt(0)===47}function n7(){if(arguments.length===0)return".";var Z;for(var $=0;$<arguments.length;++$){var X=arguments[$];if(B1(X),X.length>0)if(Z===void 0)Z=X;else Z+="/"+X}if(Z===void 0)return".";return H6(Z)}function c7(Z,$){if(B1(Z),B1($),Z===$)return"";if(Z=I4(Z),$=I4($),Z===$)return"";var X=1;for(;X<Z.length;++X)if(Z.charCodeAt(X)!==47)break;var Q=Z.length,K=Q-X,H=1;for(;H<$.length;++H)if($.charCodeAt(H)!==47)break;var Y=$.length,z=Y-H,W=K<z?K:z,G=-1,J=0;for(;J<=W;++J){if(J===W){if(z>W){if($.charCodeAt(H+J)===47)return $.slice(H+J+1);else if(J===0)return $.slice(H+J)}else if(K>W){if(Z.charCodeAt(X+J)===47)G=J;else if(J===0)G=0}break}var L=Z.charCodeAt(X+J),_=$.charCodeAt(H+J);if(L!==_)break;else if(L===47)G=J}var U="";for(J=X+G+1;J<=Q;++J)if(J===Q||Z.charCodeAt(J)===47)if(U.length===0)U+="..";else U+="/..";if(U.length>0)return U+$.slice(H+G);else{if(H+=G,$.charCodeAt(H)===47)++H;return $.slice(H)}}function o7(Z){return Z}function s7(Z){if(B1(Z),Z.length===0)return".";var $=Z.charCodeAt(0),X=$===47,Q=-1,K=!0;for(var H=Z.length-1;H>=1;--H)if($=Z.charCodeAt(H),$===47){if(!K){Q=H;break}}else K=!1;if(Q===-1)return X?"/":".";if(X&&Q===1)return"//";return Z.slice(0,Q)}function a7(Z,$){if($!==void 0&&typeof $!=="string")throw TypeError('"ext" argument must be a string');B1(Z);var X=0,Q=-1,K=!0,H;if($!==void 0&&$.length>0&&$.length<=Z.length){if($.length===Z.length&&$===Z)return"";var Y=$.length-1,z=-1;for(H=Z.length-1;H>=0;--H){var W=Z.charCodeAt(H);if(W===47){if(!K){X=H+1;break}}else{if(z===-1)K=!1,z=H+1;if(Y>=0)if(W===$.charCodeAt(Y)){if(--Y===-1)Q=H}else Y=-1,Q=z}}if(X===Q)Q=z;else if(Q===-1)Q=Z.length;return Z.slice(X,Q)}else{for(H=Z.length-1;H>=0;--H)if(Z.charCodeAt(H)===47){if(!K){X=H+1;break}}else if(Q===-1)K=!1,Q=H+1;if(Q===-1)return"";return Z.slice(X,Q)}}function r7(Z){B1(Z);var $=-1,X=0,Q=-1,K=!0,H=0;for(var Y=Z.length-1;Y>=0;--Y){var z=Z.charCodeAt(Y);if(z===47){if(!K){X=Y+1;break}continue}if(Q===-1)K=!1,Q=Y+1;if(z===46){if($===-1)$=Y;else if(H!==1)H=1}else if($!==-1)H=-1}if($===-1||Q===-1||H===0||H===1&&$===Q-1&&$===X+1)return"";return Z.slice($,Q)}function t7(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return r$("/",Z)}function e7(Z){B1(Z);var $={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return $;var X=Z.charCodeAt(0),Q=X===47,K;if(Q)$.root="/",K=1;else K=0;var H=-1,Y=0,z=-1,W=!0,G=Z.length-1,J=0;for(;G>=K;--G){if(X=Z.charCodeAt(G),X===47){if(!W){Y=G+1;break}continue}if(z===-1)W=!1,z=G+1;if(X===46){if(H===-1)H=G;else if(J!==1)J=1}else if(H!==-1)J=-1}if(H===-1||z===-1||J===0||J===1&&H===z-1&&H===Y+1){if(z!==-1)if(Y===0&&Q)$.base=$.name=Z.slice(1,z);else $.base=$.name=Z.slice(Y,z)}else{if(Y===0&&Q)$.name=Z.slice(1,H),$.base=Z.slice(1,z);else $.name=Z.slice(Y,H),$.base=Z.slice(Y,z);$.ext=Z.slice(H,z)}if(Y>0)$.dir=Z.slice(0,Y-1);else if(Q)$.dir="/";return $}var Z8="/",$8=":",X8,t$;var z6=j8(()=>{X8=((Z)=>(Z.posix=Z,Z))({resolve:I4,normalize:H6,isAbsolute:p7,join:n7,relative:c7,_makeLong:o7,dirname:s7,basename:a7,extname:r7,format:t7,parse:e7,sep:Z8,delimiter:$8,win32:null,posix:null}),t$=X8});import*as m6 from"acorn";class d extends Error{line;column;source;filename;constructor(Z,$,X,Q){let K=`${Q||"<source>"}:${$.line}:${$.column}`;super(`${Z} at ${K}`);this.name="TranspileError",this.line=$.line,this.column=$.column,this.source=X,this.filename=Q}}class Q1 extends d{constructor(Z,$,X,Q){super(Z,$,X,Q);this.name="SyntaxError"}formatWithContext(Z=2){if(!this.source)return this.message;let $=this.source.split(`
1
+ var R8=Object.defineProperty;var B8=(Z,$)=>()=>($||Z(($={exports:{}}).exports,$),$.exports);var M8=(Z)=>Z;function w8(Z,$){this[Z]=M8.bind(null,$)}var F8=(Z,$)=>{for(var X in $)R8(Z,X,{get:$[X],enumerable:!0,configurable:!0,set:w8.bind($,X)})};var j8=(Z,$)=>()=>(Z&&($=Z(Z=0)),$);var j4=((Z)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(Z,{get:($,X)=>(typeof require<"u"?require:$)[X]}):Z)(function(Z){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+Z+'" is not supported')});var z7=B8(($K,aZ)=>{aZ.exports={name:"tjs-lang",version:"0.6.6",description:"Type-safe JavaScript dialect with runtime validation, sandboxed VM execution, and AI agent orchestration. Transpiles TypeScript to validated JS with fuel-metered execution for untrusted code.",keywords:["typescript","transpiler","runtime-validation","type-safety","sandbox","virtual-machine","wasm-alternative","ai-agents","llm","orchestration","security","fuel-metering","capability-based","json-ast","untrusted-code"],license:"Apache-2.0",main:"./dist/index.js",exports:{".":{bun:"./src/index.ts",default:"./dist/index.js"},"./eval":{bun:"./src/lang/eval.ts",default:"./dist/lang/eval.js"},"./lang":{bun:"./src/lang/index.ts",default:"./dist/lang/index.js"},"./lang/eval":{bun:"./src/lang/eval.ts",default:"./dist/lang/eval.js"},"./lang/from-ts":{bun:"./src/lang/emitters/from-ts.ts",default:"./dist/lang/emitters/from-ts.js"},"./src":"./src/index.ts","./editors/monaco":"./editors/monaco/ajs-monarch.js","./editors/codemirror":"./editors/codemirror/ajs-language.js","./editors/ace":"./editors/ace/ajs-mode.js"},bin:{tjs:"./src/cli/tjs.ts",tjsx:"./src/cli/tjsx.ts","tjs-playground":"./src/cli/playground.ts","create-tjs-app":"./src/cli/create-app.ts","ajs-install-vscode":"./bin/install-vscode.sh","ajs-install-cursor":"./bin/install-cursor.sh"},type:"module",files:["dist","src","docs","editors","bin","demo","tjs-lang.svg","CONTEXT.md","CLAUDE.md"],sideEffects:!1,repository:{type:"git",url:"https://github.com/tonioloewald/tjs-lang.git"},devDependencies:{"@codemirror/lang-javascript":"^6.2.4","@codemirror/state":"^6.5.3","@codemirror/view":"^6.39.9","@happy-dom/global-registrator":"^20.1.0","@types/bun":"latest","@types/jsdom":"^21.1.7","@typescript-eslint/eslint-plugin":"^5.62.0","@typescript-eslint/parser":"^5.62.0","acorn-walk":"^8.3.4",chokidar:"^4.0.3",codemirror:"^6.0.2",eslint:"^8.57.1","firebase-admin":"^13.6.0","firebase-functions":"^7.0.5",marked:"^9.1.6",prettier:"^2.8.8",tosijs:"^1.2.0","tosijs-ui":"^1.2.0",typescript:"^5.6.2",valibot:"^0.36.0",vitest:"^2.0.5"},scripts:{format:"bun eslint src --fix && bun prettier --write .",lint:"eslint src","build:grammars":"bun editors/build-grammars.ts","test:fast":"SKIP_LLM_TESTS=1 SKIP_BENCHMARKS=1 bun test","test:llm":"bun test src/batteries/models.integration.test.ts",bench:"bun bin/benchmarks.ts",make:"rm -rf dist && bun format && bun run build:grammars && tsc -p tsconfig.build.json && bun scripts/build.ts","build:bundles":"bun scripts/build.ts",typecheck:"tsc --noEmit",latest:"rm -rf node_modules && bun install",docs:"node bin/docs.js",dev:"bun run bin/dev.ts","build:demo":"bun scripts/build-demo.ts","build:cli":"bun build src/cli/tjs.ts --compile --outfile=dist/tjs && bun build src/cli/tjsx.ts --compile --outfile=dist/tjsx","functions:build":"cd functions && npm run build","functions:deploy":"cd functions && npm run deploy","functions:serve":"cd functions && npm run serve","deploy:hosting":"firebase deploy --only hosting",deploy:"npm run build:demo && npm run functions:deploy && firebase deploy --only hosting",start:"bun run build:demo && bun run dev"},dependencies:{"@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.11","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.3",acorn:"^8.15.0",firebase:"^10.12.0","tosijs-schema":"^1.2.0"}}});var Y6={};F8(Y6,{sep:()=>Z8,resolve:()=>I4,relative:()=>c7,posix:()=>X8,parse:()=>e7,normalize:()=>H6,join:()=>n7,isAbsolute:()=>p7,format:()=>t7,extname:()=>r7,dirname:()=>s7,delimiter:()=>$8,default:()=>t$,basename:()=>a7,_makeLong:()=>o7});function B1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function i7(Z,$){var X="",Q=0,K=-1,H=0,Y;for(var z=0;z<=Z.length;++z){if(z<Z.length)Y=Z.charCodeAt(z);else if(Y===47)break;else Y=47;if(Y===47){if(K===z-1||H===1);else if(K!==z-1&&H===2){if(X.length<2||Q!==2||X.charCodeAt(X.length-1)!==46||X.charCodeAt(X.length-2)!==46){if(X.length>2){var W=X.lastIndexOf("/");if(W!==X.length-1){if(W===-1)X="",Q=0;else X=X.slice(0,W),Q=X.length-1-X.lastIndexOf("/");K=z,H=0;continue}}else if(X.length===2||X.length===1){X="",Q=0,K=z,H=0;continue}}if($){if(X.length>0)X+="/..";else X="..";Q=2}}else{if(X.length>0)X+="/"+Z.slice(K+1,z);else X=Z.slice(K+1,z);Q=z-K-1}K=z,H=0}else if(Y===46&&H!==-1)++H;else H=-1}return X}function r$(Z,$){var X=$.dir||$.root,Q=$.base||($.name||"")+($.ext||"");if(!X)return Q;if(X===$.root)return X+Q;return X+Z+Q}function I4(){var Z="",$=!1,X;for(var Q=arguments.length-1;Q>=-1&&!$;Q--){var K;if(Q>=0)K=arguments[Q];else{if(X===void 0)X=process.cwd();K=X}if(B1(K),K.length===0)continue;Z=K+"/"+Z,$=K.charCodeAt(0)===47}if(Z=i7(Z,!$),$)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function H6(Z){if(B1(Z),Z.length===0)return".";var $=Z.charCodeAt(0)===47,X=Z.charCodeAt(Z.length-1)===47;if(Z=i7(Z,!$),Z.length===0&&!$)Z=".";if(Z.length>0&&X)Z+="/";if($)return"/"+Z;return Z}function p7(Z){return B1(Z),Z.length>0&&Z.charCodeAt(0)===47}function n7(){if(arguments.length===0)return".";var Z;for(var $=0;$<arguments.length;++$){var X=arguments[$];if(B1(X),X.length>0)if(Z===void 0)Z=X;else Z+="/"+X}if(Z===void 0)return".";return H6(Z)}function c7(Z,$){if(B1(Z),B1($),Z===$)return"";if(Z=I4(Z),$=I4($),Z===$)return"";var X=1;for(;X<Z.length;++X)if(Z.charCodeAt(X)!==47)break;var Q=Z.length,K=Q-X,H=1;for(;H<$.length;++H)if($.charCodeAt(H)!==47)break;var Y=$.length,z=Y-H,W=K<z?K:z,G=-1,J=0;for(;J<=W;++J){if(J===W){if(z>W){if($.charCodeAt(H+J)===47)return $.slice(H+J+1);else if(J===0)return $.slice(H+J)}else if(K>W){if(Z.charCodeAt(X+J)===47)G=J;else if(J===0)G=0}break}var L=Z.charCodeAt(X+J),_=$.charCodeAt(H+J);if(L!==_)break;else if(L===47)G=J}var U="";for(J=X+G+1;J<=Q;++J)if(J===Q||Z.charCodeAt(J)===47)if(U.length===0)U+="..";else U+="/..";if(U.length>0)return U+$.slice(H+G);else{if(H+=G,$.charCodeAt(H)===47)++H;return $.slice(H)}}function o7(Z){return Z}function s7(Z){if(B1(Z),Z.length===0)return".";var $=Z.charCodeAt(0),X=$===47,Q=-1,K=!0;for(var H=Z.length-1;H>=1;--H)if($=Z.charCodeAt(H),$===47){if(!K){Q=H;break}}else K=!1;if(Q===-1)return X?"/":".";if(X&&Q===1)return"//";return Z.slice(0,Q)}function a7(Z,$){if($!==void 0&&typeof $!=="string")throw TypeError('"ext" argument must be a string');B1(Z);var X=0,Q=-1,K=!0,H;if($!==void 0&&$.length>0&&$.length<=Z.length){if($.length===Z.length&&$===Z)return"";var Y=$.length-1,z=-1;for(H=Z.length-1;H>=0;--H){var W=Z.charCodeAt(H);if(W===47){if(!K){X=H+1;break}}else{if(z===-1)K=!1,z=H+1;if(Y>=0)if(W===$.charCodeAt(Y)){if(--Y===-1)Q=H}else Y=-1,Q=z}}if(X===Q)Q=z;else if(Q===-1)Q=Z.length;return Z.slice(X,Q)}else{for(H=Z.length-1;H>=0;--H)if(Z.charCodeAt(H)===47){if(!K){X=H+1;break}}else if(Q===-1)K=!1,Q=H+1;if(Q===-1)return"";return Z.slice(X,Q)}}function r7(Z){B1(Z);var $=-1,X=0,Q=-1,K=!0,H=0;for(var Y=Z.length-1;Y>=0;--Y){var z=Z.charCodeAt(Y);if(z===47){if(!K){X=Y+1;break}continue}if(Q===-1)K=!1,Q=Y+1;if(z===46){if($===-1)$=Y;else if(H!==1)H=1}else if($!==-1)H=-1}if($===-1||Q===-1||H===0||H===1&&$===Q-1&&$===X+1)return"";return Z.slice($,Q)}function t7(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return r$("/",Z)}function e7(Z){B1(Z);var $={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return $;var X=Z.charCodeAt(0),Q=X===47,K;if(Q)$.root="/",K=1;else K=0;var H=-1,Y=0,z=-1,W=!0,G=Z.length-1,J=0;for(;G>=K;--G){if(X=Z.charCodeAt(G),X===47){if(!W){Y=G+1;break}continue}if(z===-1)W=!1,z=G+1;if(X===46){if(H===-1)H=G;else if(J!==1)J=1}else if(H!==-1)J=-1}if(H===-1||z===-1||J===0||J===1&&H===z-1&&H===Y+1){if(z!==-1)if(Y===0&&Q)$.base=$.name=Z.slice(1,z);else $.base=$.name=Z.slice(Y,z)}else{if(Y===0&&Q)$.name=Z.slice(1,H),$.base=Z.slice(1,z);else $.name=Z.slice(Y,H),$.base=Z.slice(Y,z);$.ext=Z.slice(H,z)}if(Y>0)$.dir=Z.slice(0,Y-1);else if(Q)$.dir="/";return $}var Z8="/",$8=":",X8,t$;var z6=j8(()=>{X8=((Z)=>(Z.posix=Z,Z))({resolve:I4,normalize:H6,isAbsolute:p7,join:n7,relative:c7,_makeLong:o7,dirname:s7,basename:a7,extname:r7,format:t7,parse:e7,sep:Z8,delimiter:$8,win32:null,posix:null}),t$=X8});import*as m6 from"acorn";class d extends Error{line;column;source;filename;constructor(Z,$,X,Q){let K=`${Q||"<source>"}:${$.line}:${$.column}`;super(`${Z} at ${K}`);this.name="TranspileError",this.line=$.line,this.column=$.column,this.source=X,this.filename=Q}}class Q1 extends d{constructor(Z,$,X,Q){super(Z,$,X,Q);this.name="SyntaxError"}formatWithContext(Z=2){if(!this.source)return this.message;let $=this.source.split(`
2
2
  `),X=this.line-1,Q=Math.max(0,X-Z),K=Math.min($.length-1,X+Z),H=[],Y=String(K+1).length;for(let z=Q;z<=K;z++){let W=String(z+1).padStart(Y),G=z===X?">":" ";if(H.push(`${G} ${W} | ${$[z]}`),z===X){let J=" ".repeat(Y+4+this.column);H.push(`${J}^ ${this.message.split(" at ")[0]}`)}}return H.join(`
3
3
  `)}}class P8 extends d{expected;received;suggestion;constructor(Z,$,X){super(Z,$,X?.source,X?.filename);this.name="TypeError",this.expected=X?.expected,this.received=X?.received,this.suggestion=X?.suggestion}}function W1(Z){return{depth:Z.depth+1,locals:new Map,parent:Z,parameters:Z.parameters,atoms:Z.atoms,warnings:Z.warnings,source:Z.source,filename:Z.filename,options:Z.options}}function V8(Z,$){if($.locals.has(Z))return $.locals.get(Z);if($.parameters.has(Z))return $.parameters.get(Z)?.type;if($.parent)return V8(Z,$.parent);return}function l(Z){if(Z.loc)return{line:Z.loc.start.line,column:Z.loc.start.column};return{line:1,column:0}}function C0(Z,$){let X="",Q=0,K,H,Y="normal",z=[],W=[{type:"top-level",braceDepth:0}],G=0,J=()=>W[W.length-1]?.type||"top-level",L=()=>{let _=W[W.length-1];return _?.type==="class-body"&&G===_.braceDepth+1};while(Q<Z.length){let _=Z[Q],U=Z[Q+1];switch(Y){case"single-string":if(X+=_,_==="\\"&&Q+1<Z.length){X+=U,Q+=2;continue}if(_==="'")Y="normal";Q++;continue;case"double-string":if(X+=_,_==="\\"&&Q+1<Z.length){X+=U,Q+=2;continue}if(_==='"')Y="normal";Q++;continue;case"template-string":if(X+=_,_==="\\"&&Q+1<Z.length){X+=U,Q+=2;continue}if(_==="$"&&U==="{"){X+=U,Q+=2,z.push(1),Y="normal";continue}if(_==="`")Y="normal";Q++;continue;case"line-comment":if(X+=_,_===`
4
4
  `)Y="normal";Q++;continue;case"block-comment":if(X+=_,_==="*"&&U==="/"){X+=U,Q+=2,Y="normal";continue}Q++;continue;case"regex":if(X+=_,_==="\\"&&Q+1<Z.length){X+=U,Q+=2;continue}if(_==="["){Q++;while(Q<Z.length&&Z[Q]!=="]")if(X+=Z[Q],Z[Q]==="\\"&&Q+1<Z.length)X+=Z[Q+1],Q+=2;else Q++;if(Q<Z.length)X+=Z[Q],Q++;continue}if(_==="/"){Q++;while(Q<Z.length&&/[gimsuy]/.test(Z[Q]))X+=Z[Q],Q++;Y="normal";continue}Q++;continue;case"normal":if(z.length>0){if(_==="{")z[z.length-1]++;else if(_==="}"){if(z[z.length-1]--,z[z.length-1]===0){z.pop(),X+=_,Q++,Y="template-string";continue}}}if(_==="'"){X+=_,Q++,Y="single-string";continue}if(_==='"'){X+=_,Q++,Y="double-string";continue}if(_==="`"){X+=_,Q++,Y="template-string";continue}if(_==="/"&&U==="/"){X+=_+U,Q+=2,Y="line-comment";continue}if(_==="/"&&U==="*"){X+=_+U,Q+=2,Y="block-comment";continue}if(_==="/"){let B=X.trimEnd();if(!B[B.length-1]||/[=(!,;:{[&|?+\-*%<>~^]$/.test(B)||/\b(return|case|throw|in|of|typeof|instanceof|new|delete|void)\s*$/.test(B)){X+=_,Q++,Y="regex";continue}}break}if(_==="{"){G++,X+=_,Q++;continue}if(_==="}"){G--;let B=W[W.length-1];if(B&&G===B.braceDepth)W.pop();X+=_,Q++;continue}let D=Z.slice(Q).match(/^class\s+\w+(?:\s+extends\s+\w+)?\s*\{/);if(D){let B=D[0].slice(0,-1);X+=B,Q+=B.length,W.push({type:"class-body",braceDepth:G});continue}let R=Z.slice(Q).match(/^function\s+(\w+)\s*\(/);if(R){let B=R[1],V=R[0].length,M=Z[Q+V],j=null,I=Q+V;if(M==="?"||M==="!")if(j=M,I++,j==="!")$.unsafeFunctions.add(B);else $.safeFunctions.add(B);X+=`function ${B}(`,Q=I;let P=j0(Z,Q,"(",")");if(!P){X+=Z[Q],Q++;continue}let{content:C,endPos:O}=P;Q=O;let T=P4(C,$,!0);X+=T+")";let k=Q;while(k<Z.length&&/\s/.test(Z[k]))k++;let g=Z.slice(k,k+2);if(g==="->"||g==="-?"||g==="-!"){k+=2;while(k<Z.length&&/\s/.test(Z[k]))k++;let m=F0(Z,k);if(m){let{type:a,endPos:v}=m;if(K===void 0){if(K=a,g==="-?")H="safe";else if(g==="-!")H="unsafe"}Q=v}}continue}let w=Z.slice(Q).match(/^(constructor|(?:get|set)\s+\w+|async\s+\w+|\w+)\s*\(/);if(w&&L()){let B=w[1],V=w[0].length,M=Q+V;X+=B+"(",Q=M;let j=j0(Z,Q,"(",")");if(!j){X+=Z[Q],Q++;continue}let{content:I,endPos:P}=j;Q=P;let C=P4(I,$,!0);X+=C+")";let O=Q;while(O<Z.length&&/\s/.test(Z[O]))O++;if(Z.slice(O,O+2)==="->"){O+=2;while(O<Z.length&&/\s/.test(Z[O]))O++;let k=F0(Z,O);if(k)Q=k.endPos}else if(Z[O]===":"){O++;while(O<Z.length&&/\s/.test(Z[O]))O++;let k=F0(Z,O);if(k)Q=k.endPos}continue}if(Z[Q]==="("){let B=j0(Z,Q+1,"(",")");if(!B){X+=Z[Q],Q++;continue}let{content:V,endPos:M}=B,j=M;while(j<Z.length&&/\s/.test(Z[j]))j++;let I,P=Z.slice(j,j+2);if(P==="->"||P==="-?"||P==="-!"){j+=2;while(j<Z.length&&/\s/.test(Z[j]))j++;let C=F0(Z,j);if(C){I=C.type,j=C.endPos;while(j<Z.length&&/\s/.test(Z[j]))j++}}if(Z.slice(j,j+2)==="=>"){let C=null,O=V,T=V.trimStart();if(T.startsWith("?")&&(T.length===1||/\s/.test(T[1])))C="?",O=T.slice(1);else if(T.startsWith("!")&&(T.length===1||/\s/.test(T[1])))C="!",O=T.slice(1);let k=P4(O,$,!1);X+=`(${C==="?"?"/* safe */ ":C==="!"?"/* unsafe */ ":""}${k})`,Q=M;while(Q<j&&/\s/.test(Z[Q]))X+=Z[Q],Q++;if(I)Q=j}else{let C=C0(V,$);X+=`(${C.source})`,Q=M}continue}X+=Z[Q],Q++}return{source:X,returnType:K,returnSafety:H}}function j0(Z,$,X,Q){let K=1,H=$,Y=!1,z="";while(H<Z.length&&K>0){let W=Z[H];if(!Y&&(W==="'"||W==='"'||W==="`"))Y=!0,z=W;else if(Y&&W===z&&Z[H-1]!=="\\")Y=!1;else if(!Y){if(W===X)K++;else if(W===Q)K--}H++}if(K!==0)return null;return{content:Z.slice($,H-1),endPos:H}}function M6(Z,$){let X=$;while(X<Z.length&&/\s/.test(Z[X]))X++;if(X>=Z.length)return null;let Q=X,K=Z[X];if(K==="{"||K==="["){let Y=K==="{"?"}":"]",z=j0(Z,X+1,K,Y);if(!z)return null;return{value:Z.slice(Q,z.endPos),endPos:z.endPos}}if(K==="'"||K==='"'||K==="`"){X++;while(X<Z.length){if(Z[X]===K&&Z[X-1]!=="\\")return X++,{value:Z.slice(Q,X),endPos:X};X++}return null}if(/[-+\d]/.test(K)){while(X<Z.length&&/[\d.eE+-]/.test(Z[X]))X++;return{value:Z.slice(Q,X),endPos:X}}let H=Z.slice(X).match(/^(true|false|null|undefined)\b/);if(H)return{value:H[1],endPos:X+H[1].length};return null}function t1(Z){return Z.replace(/(?<!\|)\|(?!\|)/g," || ")}function F0(Z,$){let X=$,Q=0,K=!1,H="",Y=!1,z=(W)=>({type:t1(Z.slice($,W).trim()),endPos:W});while(X<Z.length){let W=Z[X];if(!K&&(W==="'"||W==='"'||W==="`")){K=!0,H=W,Y=!0,X++;continue}if(K){if(W===H&&Z[X-1]!=="\\"){if(K=!1,X++,Q===0){let G=X;while(G<Z.length&&/\s/.test(Z[G]))G++;if(Z[G]==="{"){if(!Z.slice(G+1).match(/^\s*(\w+)\s*:/))return z(X)}if(Z[G]!=="|"&&Z[G]!=="&")return z(X)}continue}X++;continue}if(W==="{"||W==="["||W==="("){Q++,Y=!0,X++;continue}if(W==="}"||W==="]"||W===")"){if(Q--,Q===0){X++;let G=X;while(G<Z.length&&/\s/.test(Z[G]))G++;if(Z[G]==="|"||Z[G]==="&")continue;return z(X)}X++;continue}if(Q===0&&W==="{"){if(Y)return z(X);if(Z.slice(X+1).match(/^\s*(\w+)\s*:/)){Q++,Y=!0,X++;continue}return z(X)}if(Q===0&&(W==="|"||W==="&")){if(X++,X<Z.length&&Z[X]==="|")X++;while(X<Z.length&&/\s/.test(Z[X]))X++;continue}if(Q===0&&(/\d/.test(W)||W==="-"&&/\d/.test(Z[X+1]))){let G=X;if(Z[G]==="-")G++;while(G<Z.length&&/\d/.test(Z[G]))G++;if(G<Z.length&&Z[G]==="."&&/\d/.test(Z[G+1])){G++;while(G<Z.length&&/\d/.test(Z[G]))G++}if(G<Z.length&&(Z[G]==="e"||Z[G]==="E")){if(G++,G<Z.length&&(Z[G]==="+"||Z[G]==="-"))G++;while(G<Z.length&&/\d/.test(Z[G]))G++}Y=!0,X=G;while(X<Z.length&&/\s/.test(Z[X]))X++;if(X<Z.length&&Z[X]==="{")return{type:t1(Z.slice($,G).trim()),endPos:G};if(Z[X]!=="|"&&Z[X]!=="&")return{type:t1(Z.slice($,G).trim()),endPos:G};continue}if(Q===0&&/[a-zA-Z_]/.test(W)){let G=X;while(G<Z.length&&/\w/.test(Z[G]))G++;Y=!0,X=G;while(X<Z.length&&/\s/.test(Z[X]))X++;if(X<Z.length&&Z[X]==="{"){if(!Z.slice(X+1).match(/^\s*(\w+)\s*:/)){let L=G;while(L>$&&/\s/.test(Z[L-1]))L--;return{type:t1(Z.slice($,L).trim()),endPos:G}}}if(Z[X]!=="|"&&Z[X]!=="&")return{type:t1(Z.slice($,G).trim()),endPos:G};continue}X++}if(Y)return z(X);return null}function O0(Z){let $=[],X="",Q=0,K=!1,H=!1,Y=0;while(Y<Z.length){let z=Z[Y],W=Z[Y+1];if(!H&&z==="/"&&W==="/"){K=!0,X+="//",Y+=2;continue}if(!K&&z==="/"&&W==="*"){H=!0,X+="/*",Y+=2;continue}if(K&&z===`
5
- `){K=!1,X+=z,Y++;continue}if(H&&z==="*"&&W==="/"){H=!1,X+="*/",Y+=2;continue}if(K||H){X+=z,Y++;continue}if(z==="("||z==="{"||z==="[")Q++,X+=z;else if(z===")"||z==="}"||z==="]")Q--,X+=z;else if(z===","&&Q===0)$.push(X),X="";else X+=z;Y++}if(X.trim())$.push(X);return $}function P4(Z,$,X){let Q=C0(Z,{originalSource:Z,requiredParams:$.requiredParams,unsafeFunctions:$.unsafeFunctions,safeFunctions:$.safeFunctions}).source,K=O0(Q),H=!1,Y=new Set,z=(G)=>{if(X&&/^\w+$/.test(G)){if(Y.has(G))throw Error(`Duplicate parameter name '${G}'`);Y.add(G)}};return K.map((G)=>{let J=G.trim();if(!J)return G;if(X&&J.startsWith("{")&&J.endsWith("}")){let U=J.slice(1,-1);return`{ ${B6(U,$)} }`}if(X&&J.startsWith("[")&&J.endsWith("]")){let U=J.slice(1,-1);return`[ ${B6(U,$)} ]`}let L=J.match(/^(\w+)\s*\?\s*:\s*(.+)$/);if(L){let[,U,D]=L;return z(U),H=!0,`${U} = ${D}`}if(!C8(J)){let U=J.match(/^(\w+)\s*=/);if(U)z(U[1]);return H=!0,G}let _=O8(J);if(_!==-1){let U=J.slice(0,_).trim(),D=J.slice(_+1).trim();if(z(U),H&&X&&/^\w+$/.test(U))throw Error(`Required parameter '${U}' cannot follow optional parameter`);if(X&&/^\w+$/.test(U))$.requiredParams.add(U);return`${U} = ${D}`}return G}).join(",")}function B6(Z,$){return O0(Z).map((K)=>{let H=K.trim();if(!H)return K;let Y=H.match(/^(\w+)\s*:\s*(\{[\s\S]*\})$/);if(Y){let[,G,J]=Y;$.requiredParams.add(G);let L=P0(J);return`${G} = ${L}`}let z=H.match(/^(\w+)\s*:\s*(\[[\s\S]*\])$/);if(z){let[,G,J]=z;$.requiredParams.add(G);let L=V0(J);return`${G} = ${L}`}let W=H.match(/^(\w+)\s*:\s*([\s\S]+)$/);if(W){let[,G,J]=W;return $.requiredParams.add(G),`${G} = ${J}`}return K}).join(", ")}function P0(Z){let $=Z.slice(1,-1).trim();return`{ ${O0($).map((K)=>{let H=K.trim();if(!H)return K;let Y=H.match(/^(\w+)\s*:\s*(\{[\s\S]*\})$/);if(Y){let[,L,_]=Y;return`${L}: ${P0(_)}`}let z=H.match(/^(\w+)\s*=\s*(\{[\s\S]*\})$/);if(z){let[,L,_]=z;return`${L}: ${P0(_)}`}let W=H.match(/^(\w+)\s*:\s*(\[[\s\S]*\])$/);if(W){let[,L,_]=W;return`${L}: ${V0(_)}`}let G=H.match(/^(\w+)\s*=\s*(\[[\s\S]*\])$/);if(G){let[,L,_]=G;return`${L}: ${V0(_)}`}let J=H.match(/^(\w+)\s*=\s*([\s\S]+)$/);if(J){let[,L,_]=J;return`${L}: ${_}`}return K}).join(", ")} }`}function V0(Z){let $=Z.slice(1,-1).trim();return`[ ${O0($).map((K)=>{let H=K.trim();if(!H)return K;if(H.startsWith("{")&&H.endsWith("}"))return P0(H);if(H.startsWith("[")&&H.endsWith("]"))return V0(H);return K}).join(", ")} ]`}function C8(Z){let $=0,X=!1,Q=!1,K=!1,H="";for(let Y=0;Y<Z.length;Y++){let z=Z[Y];if(!K&&(z==="'"||z==='"'||z==="`")){K=!0,H=z;continue}if(K){if(z===H&&Z[Y-1]!=="\\")K=!1;continue}if(z==="("||z==="{"||z==="[")$++;else if(z===")"||z==="}"||z==="]")$--;else if($===0){if(z===":")X=!0;if(z==="="&&Z[Y+1]!==">")Q=!0}}return X&&!Q}function O8(Z){let $=0,X=!1,Q="";for(let K=0;K<Z.length;K++){let H=Z[K];if(!X&&(H==="'"||H==='"'||H==="`")){X=!0,Q=H;continue}if(X){if(H===Q&&Z[K-1]!=="\\")X=!1;continue}if(H==="("||H==="{"||H==="[")$++;else if(H===")"||H==="}"||H==="]")$--;else if($===0&&H===":")return K}return-1}function P6(Z){let $="",X=0;while(X<Z.length){let Q=Z.slice(X).match(/^\btry\s*\{/);if(Q){let H=X+Q[0].length-1+1,Y=1,z=H;while(z<Z.length&&Y>0){let G=Z[z];if(G==="{")Y++;else if(G==="}")Y--;z++}if(Y!==0){$+=Z[X],X++;continue}if(Z.slice(z).match(/^\s*(catch|finally)\b/))$+=Z.slice(X,z),X=z;else{let G=Z.slice(H,z-1);$+=`try {${G}} catch (__try_err) { return new (__tjs?.MonadicError ?? Error)(__try_err?.message || String(__try_err), 'try', undefined, undefined, __tjs?.getStack?.()) }`,X=z}}else $+=Z[X],X++}return $}function V6(Z){let $=[],X="",Q=0,K=0;while(Q<Z.length){let H=Z.slice(Q).match(/^\bwasm\s*\{/);if(H){let Y=Q,z=Q+H[0].length,W=1,G=z;while(G<Z.length&&W>0){let P=Z[G];if(P==="{")W++;else if(P==="}")W--;G++}if(W!==0){X+=Z[Q],Q++;continue}let J=Z.slice(z,G-1),L,_=G,U=Z.slice(G).match(/^\s*fallback\s*\{/);if(U){let P=G+U[0].length;W=1;let C=P;while(C<Z.length&&W>0){let O=Z[C];if(O==="{")W++;else if(O==="}")W--;C++}if(W===0)L=Z.slice(P,C-1),_=C}let R=E8(J).map((P)=>{let C=T8(Z,Y,P);return C?`${P}: ${C}`:P}),w={id:`__tjs_wasm_${K}`,body:J,fallback:L,captures:R,start:Y,end:_};$.push(w);let B=L??J,V=R.map((P)=>P.split(":")[0].trim()),M=V.length>0?V.join(", "):"",j=V.length>0?`globalThis.${w.id}(${M})`:`globalThis.${w.id}()`,I=`(globalThis.${w.id} ? ${j} : (() => {${B}})())`;X+=I,Q=_,K++}else X+=Z[Q],Q++}return{source:X,blocks:$}}function N8(Z){return Z.startsWith("f32x4_")||Z.startsWith("v128_")}function E8(Z){let $=Z.replace(/\/\/[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,""),X=new Set,Q=/\.([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,K;while((K=Q.exec($))!==null)X.add(K[1]);let H=/(?<!\.)(\b[a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,Y=new Set;while((K=H.exec($))!==null)Y.add(K[1]);for(let _ of X){if(!Y.has(_))continue;let U=new RegExp(`(?<!\\.)\\b${_}\\b`,"g"),D=new RegExp(`\\.${_}\\b`,"g"),R=$.match(U)?.length||0,w=$.match(D)?.length||0;if(R<=w)Y.delete(_)}let z=new Set,W=/\b(?:let|const|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g;while((K=W.exec($))!==null)z.add(K[1]);let G=/\bfor\s*\(\s*(?:let|const|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g;while((K=G.exec($))!==null)z.add(K[1]);let J=new Set(["if","else","for","while","do","switch","case","break","continue","return","function","let","const","var","new","this","true","false","null","undefined","typeof","instanceof","in","of","try","catch","finally","throw","async","await","class","extends","super","import","export","default","from","as","static","get","set","yield","console","Math","Array","Object","String","Number","Boolean","Date","JSON","Promise","Map","Set","WeakMap","WeakSet","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","ArrayBuffer","DataView","Error","TypeError","RangeError","length","push","pop","shift","unshift","slice","splice","map","filter","reduce","forEach","find","findIndex","indexOf","includes","globalThis","window","document","Infinity","NaN","isNaN","isFinite","parseInt","parseFloat","encodeURI","decodeURI","eval","wasmBuffer"]),L=[];for(let _ of Y)if(!z.has(_)&&!J.has(_)&&!N8(_))L.push(_);return L.sort()}function T8(Z,$,X){let Q=Z.slice(0,$),K=/function\s+\w+\s*\(([^)]*)\)\s*(?:->.*?)?\s*\{[^}]*$/,H=Q.match(K);if(!H){let Y=/(?:const|let|var)?\s*\w+\s*=\s*(?:async\s*)?\(([^)]*)\)\s*(?:=>|->)?\s*\{[^}]*$/,z=Q.match(Y);if(!z)return;return w6(z[1],X)}return w6(H[1],X)}function w6(Z,$){let X=Z.split(",").map((Q)=>Q.trim());for(let Q of X){let K=Q.match(new RegExp(`^${$}\\s*:\\s*([A-Za-z][A-Za-z0-9]*)`));if(K)return K[1];let H=Q.match(new RegExp(`^${$}\\s*=\\s*(Float32Array|Float64Array|Int32Array|Uint8Array|Int8Array|Int16Array|Uint16Array|Uint32Array)`));if(H)return H[1]}return}function C6(Z){let X=new RegExp(`([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")\\s+IsNot\\s+([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")`,"g");Z=Z.replace(X,"IsNot($1, $2)");let Q=new RegExp(`([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")\\s+Is\\s+([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")`,"g");return Z=Z.replace(Q,"Is($1, $2)"),Z}function O6(Z){let $=/^[\s]*[([/+\-`]/,X=/[{([,;:+\-*/%=&|?<>!~^]\s*$|^\s*$/,Q=/\b(return|throw|yield|await|case|default|extends|new|typeof|void|delete|in|of|instanceof)\s*$/,K=Z.split(`
5
+ `){K=!1,X+=z,Y++;continue}if(H&&z==="*"&&W==="/"){H=!1,X+="*/",Y+=2;continue}if(K||H){X+=z,Y++;continue}if(z==="("||z==="{"||z==="[")Q++,X+=z;else if(z===")"||z==="}"||z==="]")Q--,X+=z;else if(z===","&&Q===0)$.push(X),X="";else X+=z;Y++}if(X.trim())$.push(X);return $}function P4(Z,$,X){let Q=C0(Z,{originalSource:Z,requiredParams:$.requiredParams,unsafeFunctions:$.unsafeFunctions,safeFunctions:$.safeFunctions}).source,K=O0(Q),H=!1,Y=new Set,z=(G)=>{if(X&&/^\w+$/.test(G)){if(Y.has(G))throw Error(`Duplicate parameter name '${G}'`);Y.add(G)}};return K.map((G)=>{let J=G.trim();if(!J)return G;if(X&&J.startsWith("{")&&J.endsWith("}")){let U=J.slice(1,-1);return`{ ${B6(U,$)} }`}if(X&&J.startsWith("[")&&J.endsWith("]")){let U=J.slice(1,-1);return`[ ${B6(U,$)} ]`}let L=J.match(/^(\w+)\s*\?\s*:\s*(.+)$/);if(L){let[,U,D]=L;return z(U),H=!0,`${U} = ${D}`}if(!C8(J)){let U=J.match(/^(\w+)\s*=/);if(U)z(U[1]);return H=!0,G}let _=O8(J);if(_!==-1){let U=J.slice(0,_).trim(),D=J.slice(_+1).trim();if(z(U),H&&X&&/^\w+$/.test(U));if(X&&/^\w+$/.test(U))$.requiredParams.add(U);return`${U} = ${D}`}return G}).join(",")}function B6(Z,$){return O0(Z).map((K)=>{let H=K.trim();if(!H)return K;let Y=H.match(/^(\w+)\s*:\s*(\{[\s\S]*\})$/);if(Y){let[,G,J]=Y;$.requiredParams.add(G);let L=P0(J);return`${G} = ${L}`}let z=H.match(/^(\w+)\s*:\s*(\[[\s\S]*\])$/);if(z){let[,G,J]=z;$.requiredParams.add(G);let L=V0(J);return`${G} = ${L}`}let W=H.match(/^(\w+)\s*:\s*([\s\S]+)$/);if(W){let[,G,J]=W;return $.requiredParams.add(G),`${G} = ${J}`}return K}).join(", ")}function P0(Z){let $=Z.slice(1,-1).trim();return`{ ${O0($).map((K)=>{let H=K.trim();if(!H)return K;let Y=H.match(/^(\w+)\s*:\s*(\{[\s\S]*\})$/);if(Y){let[,L,_]=Y;return`${L}: ${P0(_)}`}let z=H.match(/^(\w+)\s*=\s*(\{[\s\S]*\})$/);if(z){let[,L,_]=z;return`${L}: ${P0(_)}`}let W=H.match(/^(\w+)\s*:\s*(\[[\s\S]*\])$/);if(W){let[,L,_]=W;return`${L}: ${V0(_)}`}let G=H.match(/^(\w+)\s*=\s*(\[[\s\S]*\])$/);if(G){let[,L,_]=G;return`${L}: ${V0(_)}`}let J=H.match(/^(\w+)\s*=\s*([\s\S]+)$/);if(J){let[,L,_]=J;return`${L}: ${_}`}return K}).join(", ")} }`}function V0(Z){let $=Z.slice(1,-1).trim();return`[ ${O0($).map((K)=>{let H=K.trim();if(!H)return K;if(H.startsWith("{")&&H.endsWith("}"))return P0(H);if(H.startsWith("[")&&H.endsWith("]"))return V0(H);return K}).join(", ")} ]`}function C8(Z){let $=0,X=!1,Q=!1,K=!1,H="";for(let Y=0;Y<Z.length;Y++){let z=Z[Y];if(!K&&(z==="'"||z==='"'||z==="`")){K=!0,H=z;continue}if(K){if(z===H&&Z[Y-1]!=="\\")K=!1;continue}if(z==="("||z==="{"||z==="[")$++;else if(z===")"||z==="}"||z==="]")$--;else if($===0){if(z===":")X=!0;if(z==="="&&Z[Y+1]!==">")Q=!0}}return X&&!Q}function O8(Z){let $=0,X=!1,Q="";for(let K=0;K<Z.length;K++){let H=Z[K];if(!X&&(H==="'"||H==='"'||H==="`")){X=!0,Q=H;continue}if(X){if(H===Q&&Z[K-1]!=="\\")X=!1;continue}if(H==="("||H==="{"||H==="[")$++;else if(H===")"||H==="}"||H==="]")$--;else if($===0&&H===":")return K}return-1}function P6(Z){let $="",X=0;while(X<Z.length){let Q=Z.slice(X).match(/^\btry\s*\{/);if(Q){let H=X+Q[0].length-1+1,Y=1,z=H;while(z<Z.length&&Y>0){let G=Z[z];if(G==="{")Y++;else if(G==="}")Y--;z++}if(Y!==0){$+=Z[X],X++;continue}if(Z.slice(z).match(/^\s*(catch|finally)\b/))$+=Z.slice(X,z),X=z;else{let G=Z.slice(H,z-1);$+=`try {${G}} catch (__try_err) { return new (__tjs?.MonadicError ?? Error)(__try_err?.message || String(__try_err), 'try', undefined, undefined, __tjs?.getStack?.()) }`,X=z}}else $+=Z[X],X++}return $}function V6(Z){let $=[],X="",Q=0,K=0;while(Q<Z.length){let H=Z.slice(Q).match(/^\bwasm\s*\{/);if(H){let Y=Q,z=Q+H[0].length,W=1,G=z;while(G<Z.length&&W>0){let P=Z[G];if(P==="{")W++;else if(P==="}")W--;G++}if(W!==0){X+=Z[Q],Q++;continue}let J=Z.slice(z,G-1),L,_=G,U=Z.slice(G).match(/^\s*fallback\s*\{/);if(U){let P=G+U[0].length;W=1;let C=P;while(C<Z.length&&W>0){let O=Z[C];if(O==="{")W++;else if(O==="}")W--;C++}if(W===0)L=Z.slice(P,C-1),_=C}let R=E8(J).map((P)=>{let C=T8(Z,Y,P);return C?`${P}: ${C}`:P}),w={id:`__tjs_wasm_${K}`,body:J,fallback:L,captures:R,start:Y,end:_};$.push(w);let B=L??J,V=R.map((P)=>P.split(":")[0].trim()),M=V.length>0?V.join(", "):"",j=V.length>0?`globalThis.${w.id}(${M})`:`globalThis.${w.id}()`,I=`(globalThis.${w.id} ? ${j} : (() => {${B}})())`;X+=I,Q=_,K++}else X+=Z[Q],Q++}return{source:X,blocks:$}}function N8(Z){return Z.startsWith("f32x4_")||Z.startsWith("v128_")}function E8(Z){let $=Z.replace(/\/\/[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,""),X=new Set,Q=/\.([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,K;while((K=Q.exec($))!==null)X.add(K[1]);let H=/(?<!\.)(\b[a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,Y=new Set;while((K=H.exec($))!==null)Y.add(K[1]);for(let _ of X){if(!Y.has(_))continue;let U=new RegExp(`(?<!\\.)\\b${_}\\b`,"g"),D=new RegExp(`\\.${_}\\b`,"g"),R=$.match(U)?.length||0,w=$.match(D)?.length||0;if(R<=w)Y.delete(_)}let z=new Set,W=/\b(?:let|const|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g;while((K=W.exec($))!==null)z.add(K[1]);let G=/\bfor\s*\(\s*(?:let|const|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g;while((K=G.exec($))!==null)z.add(K[1]);let J=new Set(["if","else","for","while","do","switch","case","break","continue","return","function","let","const","var","new","this","true","false","null","undefined","typeof","instanceof","in","of","try","catch","finally","throw","async","await","class","extends","super","import","export","default","from","as","static","get","set","yield","console","Math","Array","Object","String","Number","Boolean","Date","JSON","Promise","Map","Set","WeakMap","WeakSet","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","ArrayBuffer","DataView","Error","TypeError","RangeError","length","push","pop","shift","unshift","slice","splice","map","filter","reduce","forEach","find","findIndex","indexOf","includes","globalThis","window","document","Infinity","NaN","isNaN","isFinite","parseInt","parseFloat","encodeURI","decodeURI","eval","wasmBuffer"]),L=[];for(let _ of Y)if(!z.has(_)&&!J.has(_)&&!N8(_))L.push(_);return L.sort()}function T8(Z,$,X){let Q=Z.slice(0,$),K=/function\s+\w+\s*\(([^)]*)\)\s*(?:->.*?)?\s*\{[^}]*$/,H=Q.match(K);if(!H){let Y=/(?:const|let|var)?\s*\w+\s*=\s*(?:async\s*)?\(([^)]*)\)\s*(?:=>|->)?\s*\{[^}]*$/,z=Q.match(Y);if(!z)return;return w6(z[1],X)}return w6(H[1],X)}function w6(Z,$){let X=Z.split(",").map((Q)=>Q.trim());for(let Q of X){let K=Q.match(new RegExp(`^${$}\\s*:\\s*([A-Za-z][A-Za-z0-9]*)`));if(K)return K[1];let H=Q.match(new RegExp(`^${$}\\s*=\\s*(Float32Array|Float64Array|Int32Array|Uint8Array|Int8Array|Int16Array|Uint16Array|Uint32Array)`));if(H)return H[1]}return}function C6(Z){let X=new RegExp(`([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")\\s+IsNot\\s+([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")`,"g");Z=Z.replace(X,"IsNot($1, $2)");let Q=new RegExp(`([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")\\s+Is\\s+([\\w][\\w.\\[\\]()]*|null|undefined|true|false|\\d+(?:\\.\\d+)?|'[^']*'|"[^"]*")`,"g");return Z=Z.replace(Q,"Is($1, $2)"),Z}function O6(Z){let $=/^[\s]*[([/+\-`]/,X=/[{([,;:+\-*/%=&|?<>!~^]\s*$|^\s*$/,Q=/\b(return|throw|yield|await|case|default|extends|new|typeof|void|delete|in|of|instanceof)\s*$/,K=Z.split(`
6
6
  `),H=[];for(let Y=0;Y<K.length;Y++){let z=K[Y],W=Y>0?K[Y-1]:"";if(Y>0&&$.test(z)){let G=W.replace(/\/\/.*$/,"").replace(/\/\*.*\*\/\s*$/,"");if(!X.test(G)&&!Q.test(G)){let J=z.match(/^(\s*)/),L=J?J[1]:"",_=z.slice(L.length);H.push(L+";"+_);continue}}H.push(z)}return H.join(`
7
7
  `)}function N6(Z){let $=[],X=0,Q="normal",K=[];while(X<Z.length){let Y=Z[X],z=Z[X+1];switch(Q){case"single-string":if(Y==="\\"&&X+1<Z.length){X+=2;continue}if(Y==="'")Q="normal";X++;continue;case"double-string":if(Y==="\\"&&X+1<Z.length){X+=2;continue}if(Y==='"')Q="normal";X++;continue;case"template-string":if(Y==="\\"&&X+1<Z.length){X+=2;continue}if(Y==="$"&&z==="{"){X+=2,K.push(1),Q="normal";continue}if(Y==="`")Q="normal";X++;continue;case"line-comment":if(Y===`
8
8
  `)Q="normal";X++;continue;case"block-comment":if(Y==="*"&&z==="/"){X+=2,Q="normal";continue}X++;continue;case"regex":if(Y==="\\"&&X+1<Z.length){X+=2;continue}if(Y==="["){X++;while(X<Z.length&&Z[X]!=="]")if(Z[X]==="\\"&&X+1<Z.length)X+=2;else X++;if(X<Z.length)X++;continue}if(Y==="/"){X++;while(X<Z.length&&/[gimsuy]/.test(Z[X]))X++;Q="normal";continue}X++;continue;case"normal":if(K.length>0){if(Y==="{")K[K.length-1]++;else if(Y==="}"){if(K[K.length-1]--,K[K.length-1]===0){K.pop(),X++,Q="template-string";continue}}}if(Y==="'"){X++,Q="single-string";continue}if(Y==='"'){X++,Q="double-string";continue}if(Y==="`"){X++,Q="template-string";continue}if(Y==="/"&&z==="/"){X+=2,Q="line-comment";continue}if(Y==="/"&&z==="*"){X+=2,Q="block-comment";continue}if(Y==="/"){let W=X-1;while(W>=0&&/\s/.test(Z[W]))W--;let G=W>=0?Z[W]:"";if(!G||/[=(!,;:{[&|?+\-*%<>~^]/.test(G)||W>=5&&/\b(return|case|throw|in|of|typeof|instanceof|new|delete|void)$/.test(Z.slice(Math.max(0,W-10),W+1))){X++,Q="regex";continue}}if(Y==="="&&z==="="&&Z[X+2]!=="="&&Z[X-1]!=="!"){$.push({pos:X,op:"=="}),X+=2;continue}if(Y==="!"&&z==="="&&Z[X+2]!=="="){$.push({pos:X,op:"!="}),X+=2;continue}break}X++}if($.length===0)return Z;let H=Z;for(let Y=$.length-1;Y>=0;Y--){let{pos:z,op:W}=$[Y],G=W==="=="?"Is":"IsNot",J=S8(H,z),L=k8(H,z+2),_=H.slice(J,z).trim(),U=H.slice(z+2,L).trim();if(_&&U){let D=H.slice(0,J),R=H.slice(L),B=/[a-zA-Z0-9_$]$/.test(D)?" ":"";H=`${D}${B}${G}(${_}, ${U})${R}`}}return H}function S8(Z,$){let X=$-1;while(X>=0&&/\s/.test(Z[X]))X--;if(X<0)return 0;let Q=0,K=!1,H="";while(X>=0){let Y=Z[X],z=X>0?Z[X-1]:"";if(K){if(Y===H&&z!=="\\")K=!1;X--;continue}if((Y==='"'||Y==="'"||Y==="`")&&z!=="\\"){K=!0,H=Y,X--;continue}if(Y===")"||Y==="]"){Q++,X--;continue}if(Y==="("||Y==="["){if(Q>0){Q--,X--;continue}return X+1}if(Q>0){X--;continue}if(Y===";"||Y==="{"||Y==="}")return X+1;if(/[a-z]/.test(Y)){let W=X+1,G=X;while(G>0&&/[a-z]/i.test(Z[G-1]))G--;let J=Z.slice(G,W),L=G>0?Z[G-1]:"";if(!/[a-zA-Z0-9_$]/.test(L)){if(["return","throw","case","typeof","void","delete","await","yield","new"].includes(J))return W}}if(Y===">"&&z==="=")return X+1;if(Y==="="&&z!=="="&&z!=="!"&&z!=="<"&&z!==">")return X+1;if(Y==="&"&&z==="&")return X+1;if(Y==="|"&&z==="|")return X+1;if(Y==="?"||Y===":")return X+1;if(Y===",")return X+1;X--}return 0}function k8(Z,$){let X=$;while(X<Z.length&&/\s/.test(Z[X]))X++;if(X>=Z.length)return Z.length;let Q=0,K=!1,H="";while(X<Z.length){let Y=Z[X],z=X+1<Z.length?Z[X+1]:"";if(K){if(Y===H&&Z[X-1]!=="\\")K=!1;X++;continue}if((Y==='"'||Y==="'"||Y==="`")&&Z[X-1]!=="\\"){K=!0,H=Y,X++;continue}if(Y==="("||Y==="["||Y==="{"){Q++,X++;continue}if(Y===")"||Y==="]"||Y==="}"){if(Q>0){Q--,X++;continue}return X}if(Q>0){X++;continue}if(Y===";")return X;if(Y==="&"&&z==="&")return X;if(Y==="|"&&z==="|")return X;if(Y==="?")return X;if(Y===":")return X;if(Y===",")return X;if((Y==="="||Y==="!")&&z==="="&&Z[X+2]!=="=")return X;X++}return Z.length}function E6(Z){let $="",X=0;while(X<Z.length){let Q=Z.slice(X).match(/^\bType\s+([A-Z][a-zA-Z0-9_]*)\s*/);if(Q){let K=Q[1],H=X+Q[0].length,Y=K,z=!1,W=Z.slice(H).match(/^(['"`])([^]*?)\1\s*/);if(W){let _=H+W[0].length,U=Z[_],D=U===void 0||_>=Z.length||U!=="="&&U!=="{";if(U==="="||U==="{")Y=W[2],z=!0,H=_;else if(D){let R=W[0].trim(),w=W[0].slice(R.length);$+=`const ${K} = Type('${K}', ${R})${w}`,X=_;continue}}let G,J=H,L=Z.slice(H).match(/^=\s*/);if(L){H+=L[0].length;let _=Z.slice(H).match(/^(\+?\d+(?:\.\d+)?|['"`][^'"`]*['"`]|\{[^}]*\}|\[[^\]]*\]|true|false|null)/);if(_){G=_[0],H+=_[0].length,J=H;let U=Z.slice(H).match(/^\s*/);if(U)H+=U[0].length}}if(Z[H]==="{"){let _=H+1,U=1,D=_;while(D<Z.length&&U>0){let I=Z[D];if(I==="{")U++;else if(I==="}")U--;D++}if(U!==0){$+=Z[X],X++;continue}let R=Z.slice(_,D-1).trim(),w=D,B=R.match(/description\s*:\s*(['"`])([^]*?)\1/);if(B&&!z)Y=B[2];let V,M=R.match(/example\s*:\s*/);if(M){let I=M.index+M[0].length,P=M6(R,I);if(P)V=P.value.trim()}let j=R.match(/predicate\s*\(([^)]*)\)\s*\{([^]*)\}/);if(j&&V){let I=j[1].trim(),P=j[2].trim(),C=G?`, ${G}`:"";$+=`const ${K} = Type('${Y}', (${I}) => { if (!globalThis.__tjs?.validate(${I}, globalThis.__tjs?.infer(${V}))) return false; ${P} }, ${V}${C})`}else if(j){let I=j[1].trim(),P=j[2].trim(),C=G?`, undefined, ${G}`:"";$+=`const ${K} = Type('${Y}', (${I}) => { ${P} }${C})`}else if(V){let I=G?`, ${G}`:"";$+=`const ${K} = Type('${Y}', undefined, ${V}${I})`}else if(G)$+=`const ${K} = Type('${Y}', ${G})`;else $+=`const ${K} = Type('${Y}')`;X=w;continue}else if(G){$+=`const ${K} = Type('${Y}', ${G})`,X=J;continue}else if(!W){let _=Z.slice(H).match(/^(['"`][^]*?['"`]|\+?\d+(?:\.\d+)?|true|false|null|\{[^]*?\}|\[[^]*?\])/);if(_){let U=_[0];$+=`const ${K} = Type('${K}', ${U})`,X=H+_[0].length;continue}}}$+=Z[X],X++}return $}function T6(Z){let $="",X=0;while(X<Z.length){let Q=Z.slice(X).match(/^\bGeneric\s+([A-Z][a-zA-Z0-9_]*)\s*<([^>]+)>\s*\{/);if(Q){let K=Q[1],H=Q[2],z=X+Q[0].length-1+1,W=1,G=z;while(G<Z.length&&W>0){let V=Z[G];if(V==="{")W++;else if(V==="}")W--;G++}if(W!==0){$+=Z[X],X++;continue}let J=Z.slice(z,G-1).trim(),L=G,_=H.split(",").map((V)=>{let M=V.trim().split("=").map((j)=>j.trim());if(M.length===2)return`['${M[0]}', ${M[1]}]`;return`'${M[0]}'`}),U=J,D=U.search(/\bdeclaration\s*\{/);if(D!==-1){let V=U.indexOf("{",D),M=1,j=V+1;while(j<U.length&&M>0){if(U[j]==="{")M++;else if(U[j]==="}")M--;j++}U=U.slice(0,D)+U.slice(j)}let R=U.match(/description\s*:\s*(['"`])([^]*?)\1/),w=U.match(/predicate\s*\(([^)]*)\)\s*\{([^]*)\}/),B=R?R[2]:K;if(w){let V=w[1].trim().split(",").map((C)=>C.trim()),M=w[2].trim(),j=V[0]||"x",I=V.slice(1),P=I.map((C)=>`check${C}`);I.forEach((C,O)=>{M=M.replace(new RegExp(`\\b${C}\\s*\\(`,"g"),`${P[O]}(`)}),$+=`const ${K} = Generic([${_.join(", ")}], (${j}, ${P.join(", ")}) => { ${M} }, '${B}')`}else $+=`const ${K} = Generic([${_.join(", ")}], () => true, '${B}')`;X=L;continue}$+=Z[X],X++}return $}function S6(Z){let $="",X=0;while(X<Z.length){let Q=Z.slice(X).match(/^\bUnion\s+([A-Z][a-zA-Z0-9_]*)\s+(['"`])([^]*?)\2\s*/);if(Q){let K=Q[1],H=Q[3],Y=X+Q[0].length;if(Z[Y]==="{"){let z=Y+1,W=1,G=z;while(G<Z.length&&W>0){let U=Z[G];if(U==="{")W++;else if(U==="}")W--;G++}if(W!==0){$+=Z[X],X++;continue}let J=Z.slice(z,G-1).trim(),L=G,_=F6(J);$+=`const ${K} = Union('${H}', [${_.join(", ")}])`,X=L;continue}else{let z=Z.indexOf(`
@@ -358,7 +358,7 @@ if (typeof ${Z}.__tjs === 'object' && !${Z}.__tjs.unsafe && typeof globalThis.__
358
358
  `.trim()}function D7(Z){return`
359
359
  // TJS: callable without new
360
360
  ${Z} = new Proxy(${Z}, { apply(t, _, a) { return Reflect.construct(t, a) } });
361
- `.trim()}function x(Z,$,X,Q){if(!Z)return"undefined";switch(Z.kind){case F.SyntaxKind.StringKeyword:return"''";case F.SyntaxKind.NumberKeyword:return"0.0";case F.SyntaxKind.BooleanKeyword:return"false";case F.SyntaxKind.NullKeyword:return"null";case F.SyntaxKind.UndefinedKeyword:return"undefined";case F.SyntaxKind.VoidKeyword:return"undefined";case F.SyntaxKind.AnyKeyword:return"any";case F.SyntaxKind.UnknownKeyword:return"any";case F.SyntaxKind.NeverKeyword:return"null";case F.SyntaxKind.ArrayType:{let H=x(Z.elementType,$);if(H==="any")H="null";return`[${H}]`}case F.SyntaxKind.TypeReference:{let K=Z,H=K.typeName.getText();if(H==="Array"&&K.typeArguments?.length)return`[${x(K.typeArguments[0],$,X,Q)}]`;if(H==="Promise"){if(K.typeArguments?.length)return x(K.typeArguments[0],$,X,Q);return"undefined"}if(H==="Generator"||H==="AsyncGenerator"||H==="IterableIterator"||H==="AsyncIterableIterator"){if(K.typeArguments?.length)return x(K.typeArguments[0],$,X,Q);return"undefined"}if(H==="Record")return"{}";if(H==="Map")return"new Map()";if(H==="Set")return"new Set()";if(Q?.typeAliases?.has(H)){let Y=Q.visited??new Set;if(Y.has(H))return X?.push(`Circular type reference '${H}' - using 'any'`),"any";Y.add(H);let z=Q.typeAliases.get(H);return x(z,$,X,{...Q,visited:Y})}if(Q?.interfaces?.has(H)){let Y=Q.visited??new Set;if(Y.has(H))return X?.push(`Circular type reference '${H}' - using 'any'`),"any";Y.add(H);let z=Q.interfaces.get(H),W=[];for(let G of z.members)if(F.isPropertySignature(G)&&G.name){let J=G.name.getText(Q.sourceFile),L=x(G.type,$,X,{...Q,visited:Y});if(!!G.questionToken)W.push(`${J} = ${L}`);else W.push(`${J}: ${L}`)}return`{ ${W.join(", ")} }`}if(Q?.typeParams?.has(H)){let Y=Q.typeParams.get(H);if(Y.constraint)return x(Y.constraint,$,X,Q);if(Y.default)return x(Y.default,$,X,Q)}if(/^[A-Z]$/.test(H)||["T","K","V","U","TKey","TValue","TItem","TResult"].includes(H))return X?.push(`Generic type parameter '${H}' converted to 'any' - consider specializing`),"any";return X?.push(`Unknown type '${H}' converted to 'any' - may need manual review`),"any"}case F.SyntaxKind.TypeLiteral:{let K=Z,H=[];for(let Y of K.members)if(F.isPropertySignature(Y)&&Y.name){let z=Y.name.getText(),W=x(Y.type,$);if(W==="any")W="null";H.push(`${z}: ${W}`)}return`{ ${H.join(", ")} }`}case F.SyntaxKind.UnionType:{let K=Z,H=(J)=>J.kind===F.SyntaxKind.NullKeyword||F.isLiteralTypeNode(J)&&J.literal.kind===F.SyntaxKind.NullKeyword,Y=(J)=>J.kind===F.SyntaxKind.UndefinedKeyword||F.isLiteralTypeNode(J)&&J.literal.kind===F.SyntaxKind.UndefinedKeyword,z=K.types.filter((J)=>!H(J)&&!Y(J)),W=K.types.some(H),G=K.types.some(Y);if(z.length===1&&(W||G)){let J=x(z[0],$);if(W)return`${J} | null`;if(G)return`${J} | undefined`}if(K.types.length>0)return x(K.types[0],$);return"undefined"}case F.SyntaxKind.LiteralType:{let K=Z;if(F.isStringLiteral(K.literal))return`'${K.literal.text}'`;if(F.isNumericLiteral(K.literal))return K.literal.text;if(K.literal.kind===F.SyntaxKind.TrueKeyword)return"true";if(K.literal.kind===F.SyntaxKind.FalseKeyword)return"false";if(K.literal.kind===F.SyntaxKind.NullKeyword)return"null";return"undefined"}case F.SyntaxKind.ParenthesizedType:return x(Z.type,$);case F.SyntaxKind.FunctionType:return"undefined";case F.SyntaxKind.TupleType:return`[${Z.elements.map((Y)=>{if(F.isNamedTupleMember(Y))return x(Y.type,$);return x(Y,$)}).join(", ")}]`;default:return"undefined"}}function p(Z,$){if(!Z)return{kind:"any"};switch(Z.kind){case F.SyntaxKind.StringKeyword:return{kind:"string"};case F.SyntaxKind.NumberKeyword:return{kind:"number"};case F.SyntaxKind.BooleanKeyword:return{kind:"boolean"};case F.SyntaxKind.NullKeyword:return{kind:"null"};case F.SyntaxKind.UndefinedKeyword:case F.SyntaxKind.VoidKeyword:return{kind:"undefined"};case F.SyntaxKind.ArrayType:return{kind:"array",items:p(Z.elementType,$)};case F.SyntaxKind.TypeLiteral:{let X=Z,Q={};for(let K of X.members)if(F.isPropertySignature(K)&&K.name){let H=K.name.getText();Q[H]=p(K.type,$)}return{kind:"object",shape:Q}}case F.SyntaxKind.UnionType:{let X=Z,Q=X.types.filter((H)=>H.kind!==F.SyntaxKind.NullKeyword&&H.kind!==F.SyntaxKind.UndefinedKeyword),K=X.types.some((H)=>H.kind===F.SyntaxKind.NullKeyword);if(Q.length===1&&K)return{...p(Q[0],$),nullable:!0};return{kind:"union",members:X.types.map((H)=>p(H,$))}}case F.SyntaxKind.IntersectionType:{let X=Z,Q={};for(let K of X.types){let H=p(K,$);if(H.kind==="object"&&H.shape)Object.assign(Q,H.shape)}if(Object.keys(Q).length>0)return{kind:"object",shape:Q};return{kind:"any"}}case F.SyntaxKind.TupleType:{let X=Z,Q=[];for(let K of X.elements)if(F.isNamedTupleMember(K))Q.push(p(K.type,$));else Q.push(p(K,$));return{kind:"tuple",elements:Q}}case F.SyntaxKind.TypeReference:{let X=Z,Q=X.typeName.getText();if(Q==="Array"&&X.typeArguments?.length)return{kind:"array",items:p(X.typeArguments[0],$)};if(Q==="Promise"&&X.typeArguments?.length)return p(X.typeArguments[0],$);if((Q==="Generator"||Q==="AsyncGenerator"||Q==="IterableIterator"||Q==="AsyncIterableIterator")&&X.typeArguments?.length)return p(X.typeArguments[0],$);if(X.typeArguments?.length){let K=p(X.typeArguments[0],$);if(Q==="Partial")return K;if(Q==="Required")return K;if(Q==="Readonly")return K;if(Q==="Record"&&X.typeArguments.length>=2)return{kind:"object",shape:{"[key]":p(X.typeArguments[1],$)}};if(Q==="Pick"||Q==="Omit")return K;if(Q==="NonNullable"){if(K.nullable)return{...K,nullable:!1};return K}if(["ReturnType","Parameters","ConstructorParameters"].includes(Q))return{kind:"any"}}if($?.typeAliases?.has(Q)){let K=$.visited??new Set;if(K.has(Q))return{kind:"any"};K.add(Q);let H=$.typeAliases.get(Q);return p(H,{...$,visited:K})}if($?.interfaces?.has(Q)){let K=$.visited??new Set;if(K.has(Q))return{kind:"any"};K.add(Q);let H=$.interfaces.get(Q),Y={};if(H.heritageClauses){for(let z of H.heritageClauses)if(z.token===F.SyntaxKind.ExtendsKeyword)for(let W of z.types){let G=W.expression.getText($.sourceFile);if($.interfaces?.has(G)&&!K.has(G)){let J={kind:F.SyntaxKind.TypeReference,typeName:{getText:()=>G}},L=p(J,{...$,visited:K});if(L.kind==="object"&&L.shape)Object.assign(Y,L.shape)}}}for(let z of H.members)if(F.isPropertySignature(z)&&z.name){let W=z.name.getText($.sourceFile);Y[W]=p(z.type,{...$,visited:K})}return{kind:"object",shape:Y}}if($?.typeParams?.has(Q)){let K=$.typeParams.get(Q);if(K.constraint)return p(K.constraint,$);if(K.default)return p(K.default,$)}return{kind:"any"}}default:return{kind:"any"}}}function W5(Z,$){if(!Z.typeParameters||Z.typeParameters.length===0)return;let X={};for(let Q of Z.typeParameters){let K=Q.name.getText(),H={};if(Q.constraint){let Y=x(Q.constraint,void 0,$);if(Y.startsWith("{"))try{H.constraint=Y}catch{H.constraint=Y}else H.constraint=Y}if(Q.default){let Y=x(Q.default,void 0,$);H.default=Y}X[K]=H}return Object.keys(X).length>0?X:void 0}function G5(Z,$,X){let Q=Z.name.getText($);if(Z.typeParameters&&Z.typeParameters.length>0)return J5(Z,$,X);let K=[];for(let H of Z.members)if(F.isPropertySignature(H)&&H.name){let Y=H.name.getText($),z=x(H.type,void 0,X);if(z==="any")z="null";K.push(`${Y}: ${z}`)}if(K.length===0)return`Type ${Q} {}`;return`Type ${Q} {
361
+ `.trim()}function x(Z,$,X,Q){if(!Z)return"undefined";switch(Z.kind){case F.SyntaxKind.StringKeyword:return"''";case F.SyntaxKind.NumberKeyword:return"0.0";case F.SyntaxKind.BooleanKeyword:return"false";case F.SyntaxKind.NullKeyword:return"null";case F.SyntaxKind.UndefinedKeyword:return"undefined";case F.SyntaxKind.VoidKeyword:return"undefined";case F.SyntaxKind.AnyKeyword:return"any";case F.SyntaxKind.UnknownKeyword:return"any";case F.SyntaxKind.NeverKeyword:return"null";case F.SyntaxKind.ArrayType:{let H=x(Z.elementType,$);if(H==="any")H="null";return`[${H}]`}case F.SyntaxKind.TypeReference:{let K=Z,H=K.typeName.getText();if(H==="Array"&&K.typeArguments?.length)return`[${x(K.typeArguments[0],$,X,Q)}]`;if(H==="Promise"){if(K.typeArguments?.length)return x(K.typeArguments[0],$,X,Q);return"undefined"}if(H==="Generator"||H==="AsyncGenerator"||H==="IterableIterator"||H==="AsyncIterableIterator"){if(K.typeArguments?.length)return x(K.typeArguments[0],$,X,Q);return"undefined"}if(H==="Record")return"{}";if(H==="Map")return"new Map()";if(H==="Set")return"new Set()";if(Q?.typeAliases?.has(H)){let Y=Q.visited??new Set;if(Y.has(H))return X?.push(`Circular type reference '${H}' - using 'any'`),"any";Y.add(H);let z=Q.typeAliases.get(H);return x(z,$,X,{...Q,visited:Y})}if(Q?.interfaces?.has(H)){let Y=Q.visited??new Set;if(Y.has(H))return X?.push(`Circular type reference '${H}' - using 'any'`),"any";Y.add(H);let z=Q.interfaces.get(H),W=[];for(let G of z.members)if(F.isPropertySignature(G)&&G.name){let J=G.name.getText(Q.sourceFile),L=x(G.type,$,X,{...Q,visited:Y});W.push(`${J}: ${L}`)}return`{ ${W.join(", ")} }`}if(Q?.typeParams?.has(H)){let Y=Q.typeParams.get(H);if(Y.constraint)return x(Y.constraint,$,X,Q);if(Y.default)return x(Y.default,$,X,Q)}if(/^[A-Z]$/.test(H)||["T","K","V","U","TKey","TValue","TItem","TResult"].includes(H))return X?.push(`Generic type parameter '${H}' converted to 'any' - consider specializing`),"any";return X?.push(`Unknown type '${H}' converted to 'any' - may need manual review`),"any"}case F.SyntaxKind.TypeLiteral:{let K=Z,H=[];for(let Y of K.members)if(F.isPropertySignature(Y)&&Y.name){let z=Y.name.getText(),W=x(Y.type,$);if(W==="any")W="null";H.push(`${z}: ${W}`)}return`{ ${H.join(", ")} }`}case F.SyntaxKind.UnionType:{let K=Z,H=(J)=>J.kind===F.SyntaxKind.NullKeyword||F.isLiteralTypeNode(J)&&J.literal.kind===F.SyntaxKind.NullKeyword,Y=(J)=>J.kind===F.SyntaxKind.UndefinedKeyword||F.isLiteralTypeNode(J)&&J.literal.kind===F.SyntaxKind.UndefinedKeyword,z=K.types.filter((J)=>!H(J)&&!Y(J)),W=K.types.some(H),G=K.types.some(Y);if(z.length===1&&(W||G)){let J=x(z[0],$);if(W)return`${J} | null`;if(G)return`${J} | undefined`}if(K.types.length>0)return x(K.types[0],$);return"undefined"}case F.SyntaxKind.LiteralType:{let K=Z;if(F.isStringLiteral(K.literal))return`'${K.literal.text}'`;if(F.isNumericLiteral(K.literal))return K.literal.text;if(K.literal.kind===F.SyntaxKind.TrueKeyword)return"true";if(K.literal.kind===F.SyntaxKind.FalseKeyword)return"false";if(K.literal.kind===F.SyntaxKind.NullKeyword)return"null";return"undefined"}case F.SyntaxKind.ParenthesizedType:return x(Z.type,$);case F.SyntaxKind.FunctionType:return"undefined";case F.SyntaxKind.TupleType:return`[${Z.elements.map((Y)=>{if(F.isNamedTupleMember(Y))return x(Y.type,$);return x(Y,$)}).join(", ")}]`;default:return"undefined"}}function p(Z,$){if(!Z)return{kind:"any"};switch(Z.kind){case F.SyntaxKind.StringKeyword:return{kind:"string"};case F.SyntaxKind.NumberKeyword:return{kind:"number"};case F.SyntaxKind.BooleanKeyword:return{kind:"boolean"};case F.SyntaxKind.NullKeyword:return{kind:"null"};case F.SyntaxKind.UndefinedKeyword:case F.SyntaxKind.VoidKeyword:return{kind:"undefined"};case F.SyntaxKind.ArrayType:return{kind:"array",items:p(Z.elementType,$)};case F.SyntaxKind.TypeLiteral:{let X=Z,Q={};for(let K of X.members)if(F.isPropertySignature(K)&&K.name){let H=K.name.getText();Q[H]=p(K.type,$)}return{kind:"object",shape:Q}}case F.SyntaxKind.UnionType:{let X=Z,Q=X.types.filter((H)=>H.kind!==F.SyntaxKind.NullKeyword&&H.kind!==F.SyntaxKind.UndefinedKeyword),K=X.types.some((H)=>H.kind===F.SyntaxKind.NullKeyword);if(Q.length===1&&K)return{...p(Q[0],$),nullable:!0};return{kind:"union",members:X.types.map((H)=>p(H,$))}}case F.SyntaxKind.IntersectionType:{let X=Z,Q={};for(let K of X.types){let H=p(K,$);if(H.kind==="object"&&H.shape)Object.assign(Q,H.shape)}if(Object.keys(Q).length>0)return{kind:"object",shape:Q};return{kind:"any"}}case F.SyntaxKind.TupleType:{let X=Z,Q=[];for(let K of X.elements)if(F.isNamedTupleMember(K))Q.push(p(K.type,$));else Q.push(p(K,$));return{kind:"tuple",elements:Q}}case F.SyntaxKind.TypeReference:{let X=Z,Q=X.typeName.getText();if(Q==="Array"&&X.typeArguments?.length)return{kind:"array",items:p(X.typeArguments[0],$)};if(Q==="Promise"&&X.typeArguments?.length)return p(X.typeArguments[0],$);if((Q==="Generator"||Q==="AsyncGenerator"||Q==="IterableIterator"||Q==="AsyncIterableIterator")&&X.typeArguments?.length)return p(X.typeArguments[0],$);if(X.typeArguments?.length){let K=p(X.typeArguments[0],$);if(Q==="Partial")return K;if(Q==="Required")return K;if(Q==="Readonly")return K;if(Q==="Record"&&X.typeArguments.length>=2)return{kind:"object",shape:{"[key]":p(X.typeArguments[1],$)}};if(Q==="Pick"||Q==="Omit")return K;if(Q==="NonNullable"){if(K.nullable)return{...K,nullable:!1};return K}if(["ReturnType","Parameters","ConstructorParameters"].includes(Q))return{kind:"any"}}if($?.typeAliases?.has(Q)){let K=$.visited??new Set;if(K.has(Q))return{kind:"any"};K.add(Q);let H=$.typeAliases.get(Q);return p(H,{...$,visited:K})}if($?.interfaces?.has(Q)){let K=$.visited??new Set;if(K.has(Q))return{kind:"any"};K.add(Q);let H=$.interfaces.get(Q),Y={};if(H.heritageClauses){for(let z of H.heritageClauses)if(z.token===F.SyntaxKind.ExtendsKeyword)for(let W of z.types){let G=W.expression.getText($.sourceFile);if($.interfaces?.has(G)&&!K.has(G)){let J={kind:F.SyntaxKind.TypeReference,typeName:{getText:()=>G}},L=p(J,{...$,visited:K});if(L.kind==="object"&&L.shape)Object.assign(Y,L.shape)}}}for(let z of H.members)if(F.isPropertySignature(z)&&z.name){let W=z.name.getText($.sourceFile);Y[W]=p(z.type,{...$,visited:K})}return{kind:"object",shape:Y}}if($?.typeParams?.has(Q)){let K=$.typeParams.get(Q);if(K.constraint)return p(K.constraint,$);if(K.default)return p(K.default,$)}return{kind:"any"}}default:return{kind:"any"}}}function W5(Z,$){if(!Z.typeParameters||Z.typeParameters.length===0)return;let X={};for(let Q of Z.typeParameters){let K=Q.name.getText(),H={};if(Q.constraint){let Y=x(Q.constraint,void 0,$);if(Y.startsWith("{"))try{H.constraint=Y}catch{H.constraint=Y}else H.constraint=Y}if(Q.default){let Y=x(Q.default,void 0,$);H.default=Y}X[K]=H}return Object.keys(X).length>0?X:void 0}function G5(Z,$,X){let Q=Z.name.getText($);if(Z.typeParameters&&Z.typeParameters.length>0)return J5(Z,$,X);let K=[];for(let H of Z.members)if(F.isPropertySignature(H)&&H.name){let Y=H.name.getText($),z=x(H.type,void 0,X);if(z==="any")z="null";K.push(`${Y}: ${z}`)}if(K.length===0)return`Type ${Q} {}`;return`Type ${Q} {
362
362
  example: { ${K.join(", ")} }
363
363
  }`}function J5(Z,$,X){let Q=Z.name.getText($),K=[];for(let W of Z.typeParameters||[]){let G=W.name.getText($);if(W.default){let J=x(W.default,void 0,X);K.push(`${G} = ${J}`)}else K.push(G)}let H=(Z.typeParameters||[]).map((W)=>W.name.getText($)),Y=["typeof x === 'object'","x !== null"];for(let W of Z.members)if(F.isPropertySignature(W)&&W.name){let G=W.name.getText($);if(Y.push(`'${G}' in x`),W.type&&F.isTypeReferenceNode(W.type)){let J=W.type.typeName.getText($);if(H.includes(J))Y.push(`${J}(x.${G})`)}}let z=["x",...H].join(", ");return`Generic ${Q}<${K.join(", ")}> {
364
364
  description: '${Q}'
@@ -414,4 +414,4 @@ ${K.signature}
414
414
  Supported: comparisons, &&, ||, !, arithmetic, member access (a.b), literals`)}return Q.node}function x$(Z){let $=[],X=0;while(X<Z.length){while(X<Z.length&&/\s/.test(Z[X]))X++;if(X>=Z.length)break;if(Z[X]==='"'||Z[X]==="'"){let Q=Z[X++],K="";while(X<Z.length&&Z[X]!==Q)if(Z[X]==="\\"&&X+1<Z.length)X++,K+=Z[X++];else K+=Z[X++];X++,$.push(JSON.stringify(K));continue}if(Z.slice(X,X+2).match(/^(&&|\|\||==|!=|>=|<=)$/)){$.push(Z.slice(X,X+2)),X+=2;continue}if("+-*/%><!().?:[]".includes(Z[X])){$.push(Z[X]),X++;continue}if(/\d/.test(Z[X])){let Q="";while(X<Z.length&&/[\d.]/.test(Z[X]))Q+=Z[X++];$.push(Q);continue}if(/[a-zA-Z_]/.test(Z[X])){let Q="";while(X<Z.length&&/[a-zA-Z0-9_]/.test(Z[X]))Q+=Z[X++];$.push(Q);continue}X++}return $}function b7(Z,$,X){return u$(Z,$,X)}function u$(Z,$,X){let{node:Q,pos:K}=T7(Z,$,X);while(Z[K]==="||"){K++;let{node:H,pos:Y}=T7(Z,K,X);Q={$expr:"logical",op:"||",left:Q,right:H},K=Y}return{node:Q,pos:K}}function T7(Z,$,X){let{node:Q,pos:K}=S7(Z,$,X);while(Z[K]==="&&"){K++;let{node:H,pos:Y}=S7(Z,K,X);Q={$expr:"logical",op:"&&",left:Q,right:H},K=Y}return{node:Q,pos:K}}function S7(Z,$,X){let{node:Q,pos:K}=k7(Z,$,X),H=["==","!=",">","<",">=","<="];while(H.includes(Z[K])){let Y=Z[K++],{node:z,pos:W}=k7(Z,K,X);Q={$expr:"binary",op:Y,left:Q,right:z},K=W}return{node:Q,pos:K}}function k7(Z,$,X){let{node:Q,pos:K}=g7(Z,$,X);while(Z[K]==="+"||Z[K]==="-"){let H=Z[K++],{node:Y,pos:z}=g7(Z,K,X);Q={$expr:"binary",op:H,left:Q,right:Y},K=z}return{node:Q,pos:K}}function g7(Z,$,X){let{node:Q,pos:K}=X6(Z,$,X);while(Z[K]==="*"||Z[K]==="/"||Z[K]==="%"){let H=Z[K++],{node:Y,pos:z}=X6(Z,K,X);Q={$expr:"binary",op:H,left:Q,right:Y},K=z}return{node:Q,pos:K}}function X6(Z,$,X){if(Z[$]==="!"||Z[$]==="-"){let Q=Z[$++],{node:K,pos:H}=X6(Z,$,X);return{node:{$expr:"unary",op:Q,argument:K},pos:H}}return d$(Z,$,X)}function d$(Z,$,X){let Q=Z[$];if(Q==="("){let{node:K,pos:H}=b7(Z,$+1,X);return{node:K,pos:H+1}}if(Q&&Q.startsWith('"'))return{node:{$expr:"literal",value:JSON.parse(Q)},pos:$+1};if(Q&&/^\d/.test(Q))return{node:{$expr:"literal",value:parseFloat(Q)},pos:$+1};if(Q==="true")return{node:{$expr:"literal",value:!0},pos:$+1};if(Q==="false")return{node:{$expr:"literal",value:!1},pos:$+1};if(Q==="null")return{node:{$expr:"literal",value:null},pos:$+1};if(Q&&/^[a-zA-Z_]/.test(Q)){let K={$expr:"ident",name:Q},H=$+1;while(Z[H]==="."){H++;let Y=Z[H++];K={$expr:"member",object:K,property:Y}}return{node:K,pos:H}}return{node:{$expr:"literal",value:null},pos:$+1}}class e{steps=[];atoms;proxy;constructor(Z){return this.atoms=Z,this.proxy=new Proxy(this,{get:($,X,Q)=>{if(X in $)return $[X];if(typeof X==="string"&&X in $.atoms)return(K)=>{let H=$.atoms[X];return $.add(H.create(K)),Q};return}}),this.proxy}add(Z){return this.steps.push(Z),this.proxy}as(Z){if(this.steps.length===0)throw Error("No step to capture");let $=this.steps[this.steps.length-1];return $.result=Z,this.proxy}step(Z){return this.add(Z)}return(Z){let $=this.atoms.return;if(!$)throw Error("Atom 'return' not found");let X=Z.schema??Z;return this.add($.create({schema:X}))}toJSON(){return{op:"seq",steps:[...this.steps]}}varsImport(Z){return this.add(this.atoms.varsImport.create({keys:Z}))}varsExport(Z){return this.add(this.atoms.varsExport.create({keys:Z}))}if(Z,$,X,Q){let K=new e(this.atoms);X(K);let H;if(Q){let W=new e(this.atoms);Q(W),H=W.steps}let Y=U4(Z,$),z=this.atoms.if;return this.add(z.create({condition:Y,then:K.steps,else:H}))}while(Z,$,X){let Q=new e(this.atoms);X(Q);let K=U4(Z,$),H=this.atoms.while;return this.add(H.create({condition:K,body:Q.steps}))}scope(Z){let $=new e(this.atoms);Z($);let X=this.atoms.scope;return this.add(X.create({steps:$.steps}))}map(Z,$,X){let Q=new e(this.atoms);X(Q);let K=this.atoms.map;return this.add(K.create({items:Z,as:$,steps:Q.steps}))}filter(Z,$,X,Q={}){let K=U4(X,Q),H=this.atoms.filter;return this.add(H.create({items:Z,as:$,condition:K}))}find(Z,$,X,Q={}){let K=U4(X,Q),H=this.atoms.find;return this.add(H.create({items:Z,as:$,condition:K}))}reduce(Z,$,X,Q,K){let H=new e(this.atoms);K(H);let Y=this.atoms.reduce;return this.add(Y.create({items:Z,as:$,accumulator:X,initial:Q,steps:H.steps}))}memoize(Z,$){let X=new e(this.atoms);Z(X);let Q=this.atoms.memoize;return this.add(Q.create({key:$,steps:X.steps}))}cache(Z,$,X){let Q=new e(this.atoms);Z(Q);let K=this.atoms.cache;return this.add(K.create({key:$,steps:Q.steps,ttlMs:X}))}try(Z){let $=new e(this.atoms);Z.try($);let X;if(Z.catch){let K=new e(this.atoms);Z.catch(K),X=K.steps}let Q=this.atoms.try;return this.add(Q.create({try:$.steps,catch:X}))}}var m$={take(Z){return new e(L4)},custom(Z){return new e(Z)},args(Z){return{$kind:"arg",path:Z}},val(Z){return Z}},RK=m$;import{validate as l$}from"tosijs-schema";function A0(Z,$={}){let{ast:X,returnType:Q,originalSource:K,requiredParams:H}=M1(Z,{filename:$.filename,colonShorthand:!0,vmTarget:!0}),Y=T0(X,$.filename),{ast:z,signature:W,warnings:G}=H0(Y,K,Q,$,H);return{ast:z,signature:W,warnings:G}}var i$=10;class Q6{atoms;constructor(Z={}){this.atoms={...L4,...Z}}get builder(){return new e(this.atoms)}get Agent(){return new e(this.atoms)}get A99(){return this.Agent}resolve(Z){return this.atoms[Z]}getTools(Z="all"){let $=Object.values(this.atoms);if(Array.isArray(Z))$=$.filter((X)=>Z.includes(X.op));else if(Z==="flow"){let X=["seq","if","while","return","try","varSet","varGet","scope"];$=$.filter((Q)=>X.includes(Q.op))}return $.map((X)=>({type:"function",function:{name:X.op,description:X.docs,parameters:X.inputSchema?.schema??{}}}))}async run(Z,$={},X={}){let Q;if(typeof Z==="string")if(e4(Z))Q=Z6(Z);else try{Q=A0(Z).ast}catch(U){throw Error(`AJS transpilation failed: ${U.message}`)}else Q=Z;let K=X.fuel??1000,H=X.timeoutMs??K*i$,Y=X.capabilities??{},z=[];if(!Y.store){let U=new Map,D=!1;Y.store={get:async(R)=>{if(!D)D=!0,z.push("Using default in-memory store (not suitable for production)");return U.get(R)},set:async(R,w)=>{if(!D)D=!0,z.push("Using default in-memory store (not suitable for production)");U.set(R,w)}}}let W=new AbortController,G=setTimeout(()=>W.abort(),H);if(X.signal)X.signal.addEventListener("abort",()=>W.abort());let J={fuel:{current:K},args:$,state:{},consts:new Set,capabilities:Y,resolver:(U)=>this.resolve(U),output:void 0,signal:W.signal,costOverrides:X.costOverrides,context:X.context,warnings:z};if(X.trace)J.trace=[];if(Q.op!=="seq")throw Error("Root AST must be 'seq'. Ensure you're passing a transpiled agent (use ajs`...` or transpile()).");let L=Q.inputSchema;if(L&&!l$($,L)){let U=new H1("Input validation failed: args do not match expected schema","vm.run");return{result:U,error:U,fuelUsed:0,trace:J.trace,warnings:z.length>0?z:void 0}}try{await Promise.race([this.resolve("seq")?.exec(Q,J),new Promise((U,D)=>{if(W.signal.addEventListener("abort",()=>{D(Error(`Execution timeout after ${H}ms (fuel: ${K}). Consider increasing fuel or optimizing your agent.`))}),W.signal.aborted)D(Error(`Execution timeout after ${H}ms (fuel: ${K}). Consider increasing fuel or optimizing your agent.`))})])}catch(U){if(U.message?.includes("timeout")||U.message?.includes("aborted")||W.signal.aborted)J.error=new H1(`Execution timeout after ${H}ms (fuel: ${K}). Consider increasing fuel or optimizing your agent.`,"vm.run");else throw U}finally{clearTimeout(G)}if(J.error&&J.output===void 0)J.output=J.error;let _=[...z,...J.warnings??[]];return{result:J.output,error:J.error,fuelUsed:K-J.fuel.current,trace:J.trace,warnings:_.length>0?_:void 0}}}var p$=null,v7=()=>p$??=new Q6;function x1(Z){if(!Z||typeof Z!=="object")return;if(Array.isArray(Z)){for(let $ of Z)x1($);return}if(Z.op==="return"&&"value"in Z)Z.value={__result:Z.value};if(Z.steps)x1(Z.steps);if(Z.then)x1(Z.then);if(Z.else)x1(Z.else);if(Z.body)x1(Z.body)}async function n$(Z){let{code:$,context:X={},fuel:Q=1000,timeoutMs:K,capabilities:H={}}=Z,Y=v7(),W=/\breturn\b/.test($)?`function __eval() { ${$} }`:`function __eval() { return (${$}) }`;try{let{ast:G}=A0(W);x1(G);let J=await Y.run(G,X,{fuel:Q,timeoutMs:K,capabilities:H}),L=J.result;return{result:L&&typeof L==="object"&&"__result"in L?L.__result:L,fuelUsed:J.fuelUsed,error:J.error?{message:J.error.message||String(J.error)}:void 0}}catch(G){return{result:void 0,fuelUsed:Q,error:{message:G.message||String(G)}}}}async function c$(Z){let{body:$,params:X=[],fuel:Q=1000,timeoutMs:K,capabilities:H={}}=Z,Y=v7(),W=`function __safeFn(${X.join(", ")}) { ${$} }`,{ast:G}=A0(W);return x1(G),async(...J)=>{let L={};for(let _=0;_<X.length;_++)L[X[_]]=J[_];try{let _=await Y.run(G,L,{fuel:Q,timeoutMs:K,capabilities:H}),U=_.result;return{result:U&&typeof U==="object"&&"__result"in U?U.__result:U,fuelUsed:_.fuelUsed,error:_.error?{message:_.error.message||String(_.error)}:void 0}}catch(_){return{result:void 0,fuelUsed:Q,error:{message:_.message||String(_)}}}}}function D4(Z,$={}){let{ast:X,returnType:Q,originalSource:K,requiredParams:H}=M1(Z,{filename:$.filename,colonShorthand:!0,vmTarget:!0}),Y=T0(X,$.filename),{ast:z,signature:W,warnings:G}=H0(Y,K,Q,$,H);return{ast:z,signature:W,warnings:G}}function fK(Z,...$){if(typeof Z==="string")return D4(Z).ast;let X=Z.reduce((Q,K,H)=>Q+K+($[H]!==void 0?String($[H]):""),"");return D4(X).ast}function hK(Z,$,...X){if(typeof Z==="string")return L0(Z,$);let Q=$!==void 0?[$,...X]:X,K=Z.reduce((H,Y,z)=>H+Y+(Q[z]!==void 0?String(Q[z]):""),"");return L0(K)}async function xK(Z,$={},X){let Q=X??await z4(),K=await Q.getTranspile(Z);if(K)return{ast:K.ast,signature:K.signature,warnings:K.warnings};let H=D4(Z,$);return Q.setTranspile(Z,{ast:H.ast,signature:H.signature,warnings:H.warnings}),H}async function uK(Z,$={},X){let Q=X??await z4(),K=await Q.getTJS(Z);if(K)return{code:K.code,types:K.types,metadata:K.types,testRunner:K.testRunner,testCount:K.testCount,warnings:K.warnings};let H=L0(Z,$);return Q.setTJS(Z,{code:H.code,types:H.types,testRunner:H.testRunner,testCount:H.testCount,warnings:H.warnings}),H}function dK(Z,$,X){let{ast:Q,signature:K}=D4(Z),H=async(Y)=>{return(await $.run(Q,Y,X)).result};return H.signature=K,H.ast=Q,H}function mK(Z){return Object.entries(Z).map(([$,X])=>{let Q=X.signature,K={},H=[];for(let[Y,z]of Object.entries(Q.parameters)){if(K[Y]=q4(z.type),z.description)K[Y].description=z.description;if(z.required)H.push(Y)}return{type:"function",function:{name:Q.name||$,description:Q.description,parameters:{type:"object",properties:K,required:H}}}})}function q4(Z){switch(Z.kind){case"string":return{type:"string"};case"number":return{type:"number"};case"boolean":return{type:"boolean"};case"null":return{type:"null"};case"array":return{type:"array",items:Z.items?q4(Z.items):{}};case"object":if(!Z.shape)return{type:"object"};return{type:"object",properties:Object.fromEntries(Object.entries(Z.shape).map(([$,X])=>[$,q4(X)]))};case"union":if(!Z.members)return{};return{anyOf:Z.members.map(q4)};case"any":default:return{}}}import{s as b}from"tosijs-schema";var f7=S("storeVectorize",b.object({text:b.string,model:b.string.optional}),b.array(b.number),async({text:Z},$)=>{let X=$.capabilities.vector;if(!X)throw Error("Capability 'vector' missing. Ensure vector battery is loaded.");let Q=N(Z,$);return X.embed(Q)},{docs:"Generate embeddings using vector battery",cost:20}),y7=S("storeCreateCollection",b.object({collection:b.string,dimension:b.number.optional}),void 0,async({collection:Z,dimension:$},X)=>{let Q=X.capabilities.store;if(!Q?.createCollection)throw Error("Capability 'store' missing or does not support createCollection.");let K=N(Z,X),H=N($,X);return Q.createCollection(K,void 0,H)},{docs:"Create a vector store collection",cost:5}),h7=S("storeVectorAdd",b.object({collection:b.string,doc:b.any}),void 0,async({collection:Z,doc:$},X)=>{let Q=X.capabilities.store;if(!Q?.vectorAdd)throw Error("Capability 'store' missing or does not support vectorAdd.");let K=N(Z,X),H=N($,X);return Q.vectorAdd(K,H)},{docs:"Add a document to a vector store collection",cost:5}),x7=S("storeSearch",b.object({collection:b.string,queryVector:b.array(b.number),k:b.number.optional,filter:b.record(b.any).optional}),b.array(b.any),async({collection:Z,queryVector:$,k:X,filter:Q},K)=>{let H=K.capabilities.store;if(!H?.vectorSearch)throw Error("Capability 'store' missing or does not support vectorSearch.");let Y=N(Z,K),z=N($,K),W=N(X,K)??5,G=N(Q,K);return H.vectorSearch(Y,z,W,G)},{docs:"Search vector store",cost:(Z,$)=>5+(N(Z.k,$)??5)}),u7=S("llmPredictBattery",b.object({system:b.string.optional,user:b.string,tools:b.array(b.any).optional,responseFormat:b.any.optional}),b.object({role:b.string.optional,content:b.string.optional,tool_calls:b.array(b.any).optional}),async({system:Z,user:$,tools:X,responseFormat:Q},K)=>{let H=K.capabilities.llmBattery;if(!H?.predict)throw Error("Capability 'llmBattery' missing or invalid.");let Y=N(Z,K)??"You are a helpful agent.",z=N($,K),W=N(X,K),G=N(Q,K);return H.predict(Y,z,W,G)},{docs:"Generate completion using LLM battery",cost:100}),d7=S("llmVision",b.object({system:b.string.optional,prompt:b.string,images:b.array(b.string),responseFormat:b.any.optional}),b.object({role:b.string.optional,content:b.string.optional,tool_calls:b.array(b.any).optional}),async({system:Z,prompt:$,images:X,responseFormat:Q},K)=>{let H=K.capabilities.llmBattery;if(!H?.predict)throw Error("Capability 'llmBattery' missing or invalid.");let Y=N(Z,K)??"You analyze images accurately and concisely.",z=N($,K),W=N(X,K)??[],G=N(Q,K);return H.predict(Y,{text:z,images:W},void 0,G)},{docs:"Analyze images using a vision model",timeoutMs:120000,cost:150});var JH={storeCreateCollection:y7,storeSearch:x7,storeVectorAdd:h7,storeVectorize:f7,llmPredictBattery:u7,llmVision:d7};var m7=new Map,A4=new Map;function o$(Z,$){if(Z.length!==$.length)throw Error("Vectors must have the same length for cosine similarity.");let X=0,Q=0,K=0;for(let H=0;H<Z.length;H++)X+=Z[H]*$[H],Q+=Z[H]*Z[H],K+=$[H]*$[H];if(Q=Math.sqrt(Q),K=Math.sqrt(K),Q===0||K===0)return 0;return X/(Q*K)}function K6(){return{async get(Z){return m7.get(Z)},async set(Z,$){m7.set(Z,$)},async createCollection(Z,$,X){if(A4.has(Z))console.warn(`Collection '${Z}' already exists. Overwriting.`);A4.set(Z,[])},async vectorAdd(Z,$){let X=A4.get(Z);if(!X)throw Error(`Collection '${Z}' not found. Create it first.`);if(!$.embedding||!Array.isArray($.embedding))throw Error("Document must have an 'embedding' property that is an array of numbers.");X.push($)},async vectorSearch(Z,$,X=5){let Q=A4.get(Z);if(!Q)throw Error(`Collection '${Z}' not found. Create it first.`);let K=Q.map((H)=>({doc:H,score:o$($,H.embedding)}));return K.sort((H,Y)=>Y.score-H.score),K.slice(0,X).map((H)=>H.doc)}}}function s$(Z){if(typeof Z==="string")return{role:"user",content:Z};let $=[{type:"text",text:Z.text}];for(let X of Z.images||[])$.push({type:"image_url",image_url:{url:X}});return{role:"user",content:$}}var a$="http://localhost:1234/v1";function l7(Z,$=a$){return{async predict(X,Q,K,H){try{let Y=H?Z.getStructuredLLM():Z.getLLM(),z=[{role:"system",content:X},s$(Q)],W=await fetch(`${$}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:Y.id,messages:z,temperature:0.7,tools:K,response_format:H})});if(!W.ok)throw Error(`LLM Error: ${W.status} ${W.statusText}`);return(await W.json()).choices[0]?.message??{content:""}}catch(Y){if(Y.cause?.code==="ECONNREFUSED")throw Error("No LLM provider configured. Please start LM Studio or provide an API key.");throw Y}},async embed(X){try{let Q=Z.getEmbedding(),K=await fetch(`${$}/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:Q.id,input:X})});if(!K.ok)throw Error(`Embedding Error: ${K.status}`);return(await K.json()).data[0]?.embedding??[]}catch(Q){if(Q.cause?.code==="ECONNREFUSED")throw Error("No LLM provider configured. Please start LM Studio or provide an API key.");throw Q}}}}var I0=typeof window<"u"&&typeof window.localStorage<"u";async function e$(Z){try{if(I0){let $=window.localStorage.getItem(".models.cache.json");if(!$)return null;let X=JSON.parse($);if(X.baseUrl!==Z)return null;if(Date.now()-X.timestamp>86400000)return null;return X.models}else{let $=await import("node:fs/promises"),Q=(await Promise.resolve().then(() => (z6(),Y6))).join(process.cwd(),".models.cache.json");try{let K=await $.readFile(Q,"utf-8"),H=JSON.parse(K);if(H.baseUrl!==Z)return null;if(Date.now()-H.timestamp>86400000)return null;return H.models}catch{return null}}}catch($){return console.warn("⚠️ Error reading model cache:",$),null}}async function ZX(Z,$){let X={timestamp:Date.now(),baseUrl:Z,models:$};try{if(I0)window.localStorage.setItem(".models.cache.json",JSON.stringify(X));else{let Q=await import("node:fs/promises"),H=(await Promise.resolve().then(() => (z6(),Y6))).join(process.cwd(),".models.cache.json");await Q.writeFile(H,JSON.stringify(X,null,2))}}catch(Q){console.error("❌ Error writing model cache:",Q)}}var R0=async(Z,$)=>{let X=new AbortController,Q=setTimeout(()=>X.abort(),60000);try{let K=await fetch(Z,{...$,signal:X.signal});return clearTimeout(Q),K}catch(K){throw clearTimeout(Q),K}};async function $X(Z,$){try{let X={type:"json_schema",json_schema:{name:"test",strict:!1,schema:{type:"object",properties:{status:{type:"string"}}}}},Q=await R0(`${Z}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:$,messages:[{role:"system",content:"You respond in JSON."},{role:"user",content:'Return JSON: {"status": "ok"}'}],response_format:X,max_tokens:20})});if(!Q.ok){if(Q.status===400)return XX(Z,$);return{ok:!1,msg:`HTTP ${Q.status}`}}let K=await Q.json();return JSON.parse(K.choices[0].message.content),{ok:!0,msg:"OK (Schema)"}}catch(X){return{ok:!1,msg:X.message||"Error"}}}async function XX(Z,$){try{if((await R0(`${Z}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:$,messages:[{role:"user",content:'JSON: {"a":1}'}],response_format:{type:"json_object"},max_tokens:10})})).ok)return{ok:!0,msg:"OK (Legacy Mode)"};return{ok:!1,msg:"Not Supported"}}catch{return{ok:!1,msg:"Legacy Fail"}}}async function QX(Z,$){try{return(await R0(`${Z}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:$,messages:[{role:"user",content:"hi"}],max_tokens:1})})).ok}catch{return!1}}async function KX(Z,$){try{let X=await R0(`${Z}/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:$,input:"test"})});if(!X.ok)return null;return(await X.json()).data[0]?.embedding?.length??null}catch{return null}}var HX="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==";async function YX(Z,$){try{return(await R0(`${Z}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:$,messages:[{role:"user",content:[{type:"text",text:"What color is this?"},{type:"image_url",image_url:{url:HX}}]}],max_tokens:10})})).ok}catch{return!1}}async function Q8(Z){let $=await e$(Z),X=[];try{let Y=await fetch(`${Z}/models`);if(!Y.ok)throw Error("Could not connect");X=(await Y.json()).data.map((W)=>W.id).sort()}catch(Y){if($)return console.log("⚠️ LM Studio unavailable, using cached model audit."),$;return console.error("❌ Failed to connect to LM Studio."),[]}if($){let Y=$.map((z)=>z.id).sort();if(JSON.stringify(X)===JSON.stringify(Y))return console.log("✅ Using cached model audit."),$;console.log("\uD83D\uDD0D Model list changed. Re-running audit...")}console.log("\uD83D\uDD0D Scanning models (this may take a moment)...");let Q=[],K=X.map((Y)=>({id:Y})),H;if(!I0)H=await import("node:readline");for(let Y of K){if(!I0&&H)H.cursorTo(process.stdout,0),process.stdout.write(`\uD83D\uDC49 Testing: ${Y.id}...`),H.clearLine(process.stdout,1);let z="Unknown",W=!1,G=!1,J="",L=void 0,_=await QX(Z,Y.id),U=await KX(Z,Y.id);if(U)L=U;if(_){z="LLM";let D=await $X(Z,Y.id);if(W=D.ok,G=await YX(Z,Y.id),J=W?D.msg:`Fail: ${D.msg}`,G)J+=" +Vision"}else if(U)z="Embedding",J=`OK (Dim: ${U})`;else J="LLM Fail";Q.push({id:Y.id,type:z,structuredOutput:W,vision:G,dimension:L,status:J})}if(!I0&&H)H.cursorTo(process.stdout,0),H.clearLine(process.stdout,0);return console.log(`
415
415
  `),console.table(Q),await ZX(Z,Q),console.log("\uD83D\uDCDD Audit results saved to cache."),Q}var zX="http://localhost:1234/v1";class W6{baseUrl;models=[];defaultLLM=null;defaultEmbedding=null;defaultStructuredLLM=null;constructor(Z=zX){this.baseUrl=Z}async audit(){this.models=await Q8(this.baseUrl),this.selectDefaults()}selectDefaults(){if(this.defaultEmbedding=this.models.find((Z)=>Z.type==="Embedding")||null,this.defaultLLM=this.models.find((Z)=>Z.type==="LLM")||null,this.defaultStructuredLLM=this.models.find((Z)=>Z.type==="LLM"&&Z.structuredOutput)||null,!this.defaultEmbedding)console.warn("⚠️ No embedding model found.");if(!this.defaultLLM)console.warn("⚠️ No LLM found.");if(!this.defaultStructuredLLM)console.warn("⚠️ No LLM with structured output support found.")}getModels(){return this.models}_setDefaultModel(Z,$,X,Q){let K=this.models.find((H)=>H.id===Z&&X(H));if(!K)throw Error(`Model '${Z}' not found or is not ${Q}.`);this[$]=K}setDefaultLLM(Z){this._setDefaultModel(Z,"defaultLLM",($)=>$.type==="LLM","an LLM")}setDefaultEmbedding(Z){this._setDefaultModel(Z,"defaultEmbedding",($)=>$.dimension!==void 0,"an embedding model")}setDefaultStructuredLLM(Z){this._setDefaultModel(Z,"defaultStructuredLLM",($)=>$.type==="LLM"&&$.structuredOutput,"a structured-output LLM")}getLLM(){if(!this.defaultLLM)throw Error("No LLM available.");return this.defaultLLM}getEmbedding(){if(!this.defaultEmbedding)throw Error("No embedding model available.");return this.defaultEmbedding}getStructuredLLM(){if(!this.defaultStructuredLLM)throw Error("No structured-output LLM available.");return this.defaultStructuredLLM}}var WX=typeof window<"u",GX=WX&&window.location.protocol==="https:",B0=null,G6=null,K8=!1;async function JX(){if(K8)return{localModels:B0,llm:G6};if(K8=!0,GX)return console.log("\uD83D\uDCE1 HTTPS detected - local LLM endpoints disabled. Use HTTP for local LLM support."),{localModels:null,llm:null};try{B0=new W6,await B0.audit(),G6=l7(B0)}catch(Z){console.warn("⚠️ Could not connect to local LLM:",Z)}return{localModels:B0,llm:G6}}async function _X(){let{localModels:Z,llm:$}=await JX();return{vector:$?{embed:$.embed}:void 0,store:K6(),llmBattery:$,models:Z}}async function MH(){return _X()}var wH={store:K6(),llmBattery:null,vector:void 0,models:null};function LX(Z){if(typeof Z!=="string")return!1;let $=new Date(Z);return!isNaN($.getTime())&&Z.includes("T")}function UX(){return new Date().toISOString()}function s1(Z,$,X,Q=0,K=0,H=0,Y=0){return new Date(Date.UTC(Z,$-1,X,Q,K,H,Y)).toISOString()}function H8(Z){let $=new Date(Z);if(isNaN($.getTime()))throw Error(`Invalid date string: ${Z}`);return $.toISOString()}function qX(Z){try{return H8(Z)}catch{return null}}function M0(Z,$){let X=new Date(Z);return X.setTime(X.getTime()+$),X.toISOString()}function DX(Z,$){return M0(Z,$*1000)}function AX(Z,$){return M0(Z,$*60*1000)}function IX(Z,$){return M0(Z,$*60*60*1000)}function Y8(Z,$){return M0(Z,$*24*60*60*1000)}function RX(Z,$){return Y8(Z,$*7)}function BX(Z,$){let X=new Date(Z),Q=X.getUTCMonth()+$;if(X.setUTCMonth(Q),X.getUTCMonth()!==(Q%12+12)%12)X.setUTCDate(0);return X.toISOString()}function MX(Z,$){let X=new Date(Z),Q=X.getUTCDate();if(X.setUTCFullYear(X.getUTCFullYear()+$),X.getUTCDate()!==Q)X.setUTCDate(0);return X.toISOString()}function N1(Z,$){return new Date(Z).getTime()-new Date($).getTime()}function wX(Z,$){return Math.floor(N1(Z,$)/1000)}function FX(Z,$){return Math.floor(N1(Z,$)/60000)}function jX(Z,$){return Math.floor(N1(Z,$)/3600000)}function PX(Z,$){return Math.floor(N1(Z,$)/86400000)}function a1(Z){return new Date(Z).getUTCFullYear()}function R4(Z){return new Date(Z).getUTCMonth()+1}function J6(Z){return new Date(Z).getUTCDate()}function VX(Z){return new Date(Z).getUTCHours()}function CX(Z){return new Date(Z).getUTCMinutes()}function OX(Z){return new Date(Z).getUTCSeconds()}function NX(Z){return new Date(Z).getUTCMilliseconds()}function EX(Z){let $=new Date(Z).getUTCDay();return $===0?7:$}function B4(Z,$,X){let Q=new Date(Z),K={timeZone:$,...X};return new Intl.DateTimeFormat(void 0,K).format(Q)}function TX(Z,$){return B4(Z,$,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}function SX(Z,$){return B4(Z,$,{year:"numeric",month:"short",day:"numeric"})}function kX(Z,$){return B4(Z,$,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function gX(Z){return Z.slice(0,10)}function z8(Z,$){return N1(Z,$)<0}function W8(Z,$){return N1(Z,$)>0}function bX(Z,$){return N1(Z,$)===0}function vX(Z,$){return z8(Z,$)?Z:$}function fX(Z,$){return W8(Z,$)?Z:$}function yX(Z){return s1(a1(Z),R4(Z),J6(Z))}function hX(Z){return s1(a1(Z),R4(Z),J6(Z),23,59,59,999)}function xX(Z){return s1(a1(Z),R4(Z),1)}function uX(Z){let $=new Date(Z);return $.setUTCMonth($.getUTCMonth()+1,0),$.setUTCHours(23,59,59,999),$.toISOString()}function dX(Z){return s1(a1(Z),1,1)}function mX(Z){return s1(a1(Z),12,31,23,59,59,999)}var r1={isValid:LX,now:UX,from:s1,parse:H8,tryParse:qX,addMilliseconds:M0,addSeconds:DX,addMinutes:AX,addHours:IX,addDays:Y8,addWeeks:RX,addMonths:BX,addYears:MX,diff:N1,diffSeconds:wX,diffMinutes:FX,diffHours:jX,diffDays:PX,year:a1,month:R4,day:J6,hour:VX,minute:CX,second:OX,millisecond:NX,dayOfWeek:EX,toLocal:B4,format:TX,formatDate:SX,formatTime:kX,toDate:gX,isBefore:z8,isAfter:W8,isEqual:bX,min:vX,max:fX,startOfDay:yX,endOfDay:hX,startOfMonth:xX,endOfMonth:uX,startOfYear:dX,endOfYear:mX};function _6(Z){if(typeof Z!=="string")return!1;if(!/^\d{4}-\d{2}-\d{2}$/.test(Z))return!1;let $=parseInt(Z.slice(0,4),10),X=parseInt(Z.slice(5,7),10),Q=parseInt(Z.slice(8,10),10);if(X<1||X>12)return!1;if(Q<1)return!1;let K=[31,28,31,30,31,30,31,31,30,31,30,31],H=X===2&&($%4===0&&$%100!==0||$%400===0)?29:K[X-1];return Q<=H}function lX(){return r1.toDate(r1.now())}function iX(Z){let $=new Date;return new Intl.DateTimeFormat("en-CA",{timeZone:Z,year:"numeric",month:"2-digit",day:"2-digit"}).format($)}function _1(Z,$,X){let Q=String(Z).padStart(4,"0"),K=String($).padStart(2,"0"),H=String(X).padStart(2,"0"),Y=`${Q}-${K}-${H}`;if(!_6(Y))throw Error(`Invalid date: ${Z}-${$}-${X}`);return Y}function G8(Z){if(/^\d{4}-\d{2}-\d{2}$/.test(Z)){if(!_6(Z))throw Error(`Invalid date: ${Z}`);return Z}let $=new Date(Z);if(isNaN($.getTime()))throw Error(`Invalid date string: ${Z}`);let X=$.getUTCFullYear(),Q=$.getUTCMonth()+1,K=$.getUTCDate();return _1(X,Q,K)}function pX(Z){try{return G8(Z)}catch{return null}}function M4(Z,$){let X=_8(Z);return r1.toDate(r1.addDays(X,$))}function nX(Z,$){return M4(Z,$*7)}function cX(Z,$){let X=X1(Z),Q=E1(Z),K=L6(Z),H=X*12+(Q-1)+$,Y=Math.floor(H/12),z=H%12+1,W=w0(Y,z),G=Math.min(K,W);return _1(Y,z,G)}function oX(Z,$){let X=X1(Z),Q=E1(Z),K=L6(Z),H=X+$,Y=w0(H,Q),z=Math.min(K,Y);return _1(H,Q,z)}function J8(Z,$){let Q=new Date(Z+"T00:00:00Z").getTime(),K=new Date($+"T00:00:00Z").getTime();return Math.round((Q-K)/86400000)}function sX(Z,$){let X=X1(Z),Q=E1(Z),K=X1($),H=E1($);return(X-K)*12+(Q-H)}function aX(Z,$){return X1(Z)-X1($)}function X1(Z){return parseInt(Z.slice(0,4),10)}function E1(Z){return parseInt(Z.slice(5,7),10)}function L6(Z){return parseInt(Z.slice(8,10),10)}function U6(Z){let $=new Date(Z+"T00:00:00Z").getUTCDay();return $===0?7:$}function rX(Z){let $=new Date(Z+"T00:00:00Z"),X=$.getUTCDay()||7;$.setUTCDate($.getUTCDate()+4-X);let Q=new Date(Date.UTC($.getUTCFullYear(),0,1));return Math.ceil((($.getTime()-Q.getTime())/86400000+1)/7)}function tX(Z){let $=_1(X1(Z),1,1);return J8(Z,$)+1}function q6(Z){return Math.ceil(E1(Z)/3)}function D6(Z){return Z%4===0&&Z%100!==0||Z%400===0}function w0(Z,$){let X=[31,28,31,30,31,30,31,31,30,31,30,31];if($===2&&D6(Z))return 29;return X[$-1]}function eX(Z){return D6(Z)?366:365}function _8(Z){return Z+"T00:00:00.000Z"}function ZQ(Z){return Math.floor(new Date(Z+"T00:00:00Z").getTime()/1000)}function $Q(Z){let $=new Date(Z*1000);return _1($.getUTCFullYear(),$.getUTCMonth()+1,$.getUTCDate())}function A6(Z,$){let X=new Date(Z+"T00:00:00Z"),Q={timeZone:"UTC",...$};return new Intl.DateTimeFormat(void 0,Q).format(X)}function XQ(Z){return A6(Z,{year:"numeric",month:"long",day:"numeric"})}function QQ(Z){return A6(Z,{year:"numeric",month:"short",day:"numeric"})}function KQ(Z,$){return Z<$}function HQ(Z,$){return Z>$}function YQ(Z,$){return Z===$}function zQ(Z,$){return Z<$?Z:$}function WQ(Z,$){return Z>$?Z:$}function GQ(Z,$,X){return Z>=$&&Z<=X}function JQ(Z){return _1(X1(Z),E1(Z),1)}function _Q(Z){let $=X1(Z),X=E1(Z);return _1($,X,w0($,X))}function LQ(Z){let X=(q6(Z)-1)*3+1;return _1(X1(Z),X,1)}function UQ(Z){let X=q6(Z)*3;return _1(X1(Z),X,w0(X1(Z),X))}function qQ(Z){return _1(X1(Z),1,1)}function DQ(Z){return _1(X1(Z),12,31)}function AQ(Z){let $=U6(Z);return M4(Z,-($-1))}function IQ(Z){let $=U6(Z);return M4(Z,7-$)}var RQ={isValid:_6,today:lX,todayIn:iX,from:_1,parse:G8,tryParse:pX,addDays:M4,addWeeks:nX,addMonths:cX,addYears:oX,diff:J8,diffMonths:sX,diffYears:aX,year:X1,month:E1,day:L6,dayOfWeek:U6,weekOfYear:rX,dayOfYear:tX,quarter:q6,isLeapYear:D6,daysInMonth:w0,daysInYear:eX,toTimestamp:_8,toUnix:ZQ,fromUnix:$Q,format:A6,formatLong:XQ,formatShort:QQ,isBefore:KQ,isAfter:HQ,isEqual:YQ,min:zQ,max:WQ,isBetween:GQ,startOfMonth:JQ,endOfMonth:_Q,startOfQuarter:LQ,endOfQuarter:UQ,startOfYear:qQ,endOfYear:DQ,startOfWeek:AQ,endOfWeek:IQ};export{C$ as xmlParse,c4 as wrap,l5 as whileLoop,B$ as vectorSearch,r5 as varsLet,a5 as varsImport,t5 as varsExport,c5 as varSet,s5 as varGet,n4 as validateArgs,T$ as uuid,C4 as typeToString,i1 as typeOf,m1 as typeDescriptorToTS,p5 as tryCatch,xK as transpileWithCache,L0 as transpileToJS,F$ as transpileCode,D4 as transpile,H0 as transformFunction,uK as tjsWithCache,hK as tjs,XZ as testUtils,W$ as template,g0 as stripTjsPreamble,k0 as stripModuleSyntax,I$ as storeSet,R$ as storeQuery,b$ as storeProcedure,A$ as storeGet,Y$ as split,V5 as setGlobalCache,J1 as seq,e5 as scope,b1 as runtime,j$ as runCode,i5 as ret,N as resolveValue,Z6 as resolveProcedureToken,v$ as releaseProcedure,X7 as registerWasmBlock,G$ as regexMatch,X$ as reduce,E$ as random,K$ as push,o1 as procedureStore,E0 as preprocess,J$ as pick,l6 as parseReturnType,P1 as parseParameter,M1 as parse,_$ as omit,L$ as merge,O$ as memoize,Z$ as map,V8 as lookupVariable,M$ as llmPredict,N5 as lint,H$ as len,U$ as keys,V$ as jsonStringify,P$ as jsonParse,z$ as join,y4 as isValidUrl,h4 as isValidTimestamp,x4 as isValidLegalDate,C1 as isRuntimeType,e4 as isProcedureToken,w1 as isError,k5 as isAgentError,$7 as instantiateWasm,Y5 as installRuntime,z1 as inferTypeFromValue,m5 as iff,F5 as hashSourceSync,Y4 as hashSource,$6 as hash,mK as getToolDefinitions,K6 as getStoreCapabilityDefault,MH as getStandardCapabilities,l as getLocation,l7 as getLLMCapability,z4 as getGlobalCache,_X as getBatteries,S5 as generateDocsMarkdown,w7 as generateDocs,iZ as generateDTS,M5 as fromTS,Q$ as find,$$ as filter,D$ as fetch,N4 as extractTests,X0 as extractTDoc,A1 as extractLiteralValue,s6 as expectFunction,n as evaluateExpr,n5 as errorAtom,R1 as error,z5 as emitRuntimeWrapper,S as defineAtom,O1 as createChildScope,W1 as createChildContext,dK as createAgent,L4 as coreAtoms,o5 as constSet,k$ as consoleWarn,S$ as consoleLog,g$ as consoleError,OZ as compileWasmBlocks,f0 as compileToWasm,f$ as clearExpiredProcedures,v1 as checkType,N$ as cache,j1 as builtins,JH as batteryAtoms,wH as batteries,o6 as assertFunction,fK as ajs,w$ as agentRun,a0 as Union,e as TypedBuilder,P8 as TypeError,c as Type,d as TranspileError,u4 as TimestampType,r1 as Timestamp,c0 as TUuid,n0 as TUrl,x0 as TString,e0 as TRecord,l0 as TPositiveInt,t0 as TPair,u0 as TNumber,i0 as TNonEmptyString,$1 as TJS_VERSION,m0 as TInteger,p0 as TEmail,d0 as TBoolean,r0 as TArray,Q1 as SyntaxError,w5 as Schema,c$ as SafeFunction,t4 as PROCEDURE_TOKEN_PREFIX,s0 as Optional,o0 as Nullable,s4 as MetadataCache,W6 as LocalModels,d4 as LegalDateType,RQ as LegalDate,l1 as Generic,n$ as Eval,Z4 as Enum,g5 as DEFAULT_PROCEDURE_TTL,b5 as DEFAULT_MAX_AST_SIZE,Q6 as AgentVM,H1 as AgentError,m$ as Agent,RK as A99};
416
416
 
417
- //# debugId=84E501C97EFBF48B64756E2164756E21
417
+ //# debugId=D72B544E295A409C64756E2164756E21