tjs-lang 0.6.33 → 0.6.35

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,4 +1,4 @@
1
- var h8=Object.defineProperty;var x8=(Z,$)=>()=>($||Z(($={exports:{}}).exports,$),$.exports);var u8=(Z)=>Z;function d8(Z,$){this[Z]=u8.bind(null,$)}var l8=(Z,$)=>{for(var X in $)h8(Z,X,{get:$[X],enumerable:!0,configurable:!0,set:d8.bind($,X)})};var m8=(Z,$)=>()=>(Z&&($=Z(Z=0)),$);var T4=((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 _7=x8((JH,NZ)=>{NZ.exports={name:"tjs-lang",version:"0.6.33",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-css":"^6.3.1","@codemirror/lang-html":"^6.4.11","@codemirror/lang-javascript":"^6.2.4","@codemirror/lang-markdown":"^6.5.0","@codemirror/state":"^6.5.3","@codemirror/theme-one-dark":"^6.1.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:"^10.12.0","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:{acorn:"^8.15.0","acorn-walk":"^8.3.4","tosijs-schema":"^1.2.0"}}});var D6={};l8(D6,{sep:()=>M8,resolve:()=>F4,relative:()=>U8,posix:()=>j8,parse:()=>R8,normalize:()=>q6,join:()=>L8,isAbsolute:()=>_8,format:()=>B8,extname:()=>I8,dirname:()=>D8,delimiter:()=>w8,default:()=>wX,basename:()=>A8,_makeLong:()=>q8});function w1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function J8(Z,$){var X="",Q=0,H=-1,K=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(H===z-1||K===1);else if(H!==z-1&&K===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("/");H=z,K=0;continue}}else if(X.length===2||X.length===1){X="",Q=0,H=z,K=0;continue}}if($){if(X.length>0)X+="/..";else X="..";Q=2}}else{if(X.length>0)X+="/"+Z.slice(H+1,z);else X=Z.slice(H+1,z);Q=z-H-1}H=z,K=0}else if(Y===46&&K!==-1)++K;else K=-1}return X}function MX(Z,$){var X=$.dir||$.root,Q=$.base||($.name||"")+($.ext||"");if(!X)return Q;if(X===$.root)return X+Q;return X+Z+Q}function F4(){var Z="",$=!1,X;for(var Q=arguments.length-1;Q>=-1&&!$;Q--){var H;if(Q>=0)H=arguments[Q];else{if(X===void 0)X=process.cwd();H=X}if(w1(H),H.length===0)continue;Z=H+"/"+Z,$=H.charCodeAt(0)===47}if(Z=J8(Z,!$),$)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function q6(Z){if(w1(Z),Z.length===0)return".";var $=Z.charCodeAt(0)===47,X=Z.charCodeAt(Z.length-1)===47;if(Z=J8(Z,!$),Z.length===0&&!$)Z=".";if(Z.length>0&&X)Z+="/";if($)return"/"+Z;return Z}function _8(Z){return w1(Z),Z.length>0&&Z.charCodeAt(0)===47}function L8(){if(arguments.length===0)return".";var Z;for(var $=0;$<arguments.length;++$){var X=arguments[$];if(w1(X),X.length>0)if(Z===void 0)Z=X;else Z+="/"+X}if(Z===void 0)return".";return q6(Z)}function U8(Z,$){if(w1(Z),w1($),Z===$)return"";if(Z=F4(Z),$=F4($),Z===$)return"";var X=1;for(;X<Z.length;++X)if(Z.charCodeAt(X)!==47)break;var Q=Z.length,H=Q-X,K=1;for(;K<$.length;++K)if($.charCodeAt(K)!==47)break;var Y=$.length,z=Y-K,W=H<z?H:z,G=-1,J=0;for(;J<=W;++J){if(J===W){if(z>W){if($.charCodeAt(K+J)===47)return $.slice(K+J+1);else if(J===0)return $.slice(K+J)}else if(H>W){if(Z.charCodeAt(X+J)===47)G=J;else if(J===0)G=0}break}var L=Z.charCodeAt(X+J),_=$.charCodeAt(K+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(K+G);else{if(K+=G,$.charCodeAt(K)===47)++K;return $.slice(K)}}function q8(Z){return Z}function D8(Z){if(w1(Z),Z.length===0)return".";var $=Z.charCodeAt(0),X=$===47,Q=-1,H=!0;for(var K=Z.length-1;K>=1;--K)if($=Z.charCodeAt(K),$===47){if(!H){Q=K;break}}else H=!1;if(Q===-1)return X?"/":".";if(X&&Q===1)return"//";return Z.slice(0,Q)}function A8(Z,$){if($!==void 0&&typeof $!=="string")throw TypeError('"ext" argument must be a string');w1(Z);var X=0,Q=-1,H=!0,K;if($!==void 0&&$.length>0&&$.length<=Z.length){if($.length===Z.length&&$===Z)return"";var Y=$.length-1,z=-1;for(K=Z.length-1;K>=0;--K){var W=Z.charCodeAt(K);if(W===47){if(!H){X=K+1;break}}else{if(z===-1)H=!1,z=K+1;if(Y>=0)if(W===$.charCodeAt(Y)){if(--Y===-1)Q=K}else Y=-1,Q=z}}if(X===Q)Q=z;else if(Q===-1)Q=Z.length;return Z.slice(X,Q)}else{for(K=Z.length-1;K>=0;--K)if(Z.charCodeAt(K)===47){if(!H){X=K+1;break}}else if(Q===-1)H=!1,Q=K+1;if(Q===-1)return"";return Z.slice(X,Q)}}function I8(Z){w1(Z);var $=-1,X=0,Q=-1,H=!0,K=0;for(var Y=Z.length-1;Y>=0;--Y){var z=Z.charCodeAt(Y);if(z===47){if(!H){X=Y+1;break}continue}if(Q===-1)H=!1,Q=Y+1;if(z===46){if($===-1)$=Y;else if(K!==1)K=1}else if($!==-1)K=-1}if($===-1||Q===-1||K===0||K===1&&$===Q-1&&$===X+1)return"";return Z.slice($,Q)}function B8(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return MX("/",Z)}function R8(Z){w1(Z);var $={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return $;var X=Z.charCodeAt(0),Q=X===47,H;if(Q)$.root="/",H=1;else H=0;var K=-1,Y=0,z=-1,W=!0,G=Z.length-1,J=0;for(;G>=H;--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(K===-1)K=G;else if(J!==1)J=1}else if(K!==-1)J=-1}if(K===-1||z===-1||J===0||J===1&&K===z-1&&K===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,K),$.base=Z.slice(1,z);else $.name=Z.slice(Y,K),$.base=Z.slice(Y,z);$.ext=Z.slice(K,z)}if(Y>0)$.dir=Z.slice(0,Y-1);else if(Q)$.dir="/";return $}var M8="/",w8=":",j8,wX;var A6=m8(()=>{j8=((Z)=>(Z.posix=Z,Z))({resolve:F4,normalize:q6,isAbsolute:_8,join:L8,relative:U8,_makeLong:q8,dirname:D8,basename:A8,extname:I8,format:B8,parse:R8,sep:M8,delimiter:w8,win32:null,posix:null}),wX=j8});import*as X7 from"acorn";class p extends Error{line;column;source;filename;constructor(Z,$,X,Q){let H=`${Q||"<source>"}:${$.line}:${$.column}`;super(`${Z} at ${H}`);this.name="TranspileError",this.line=$.line,this.column=$.column,this.source=X,this.filename=Q}}class H1 extends p{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 h8=Object.defineProperty;var x8=(Z,$)=>()=>($||Z(($={exports:{}}).exports,$),$.exports);var u8=(Z)=>Z;function d8(Z,$){this[Z]=u8.bind(null,$)}var l8=(Z,$)=>{for(var X in $)h8(Z,X,{get:$[X],enumerable:!0,configurable:!0,set:d8.bind($,X)})};var m8=(Z,$)=>()=>(Z&&($=Z(Z=0)),$);var T4=((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 _7=x8((JH,NZ)=>{NZ.exports={name:"tjs-lang",version:"0.6.35",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-css":"^6.3.1","@codemirror/lang-html":"^6.4.11","@codemirror/lang-javascript":"^6.2.4","@codemirror/lang-markdown":"^6.5.0","@codemirror/state":"^6.5.3","@codemirror/theme-one-dark":"^6.1.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:"^10.12.0","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:{acorn:"^8.15.0","acorn-walk":"^8.3.4","tosijs-schema":"^1.2.0"}}});var D6={};l8(D6,{sep:()=>M8,resolve:()=>F4,relative:()=>U8,posix:()=>j8,parse:()=>R8,normalize:()=>q6,join:()=>L8,isAbsolute:()=>_8,format:()=>B8,extname:()=>I8,dirname:()=>D8,delimiter:()=>w8,default:()=>wX,basename:()=>A8,_makeLong:()=>q8});function w1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function J8(Z,$){var X="",Q=0,H=-1,K=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(H===z-1||K===1);else if(H!==z-1&&K===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("/");H=z,K=0;continue}}else if(X.length===2||X.length===1){X="",Q=0,H=z,K=0;continue}}if($){if(X.length>0)X+="/..";else X="..";Q=2}}else{if(X.length>0)X+="/"+Z.slice(H+1,z);else X=Z.slice(H+1,z);Q=z-H-1}H=z,K=0}else if(Y===46&&K!==-1)++K;else K=-1}return X}function MX(Z,$){var X=$.dir||$.root,Q=$.base||($.name||"")+($.ext||"");if(!X)return Q;if(X===$.root)return X+Q;return X+Z+Q}function F4(){var Z="",$=!1,X;for(var Q=arguments.length-1;Q>=-1&&!$;Q--){var H;if(Q>=0)H=arguments[Q];else{if(X===void 0)X=process.cwd();H=X}if(w1(H),H.length===0)continue;Z=H+"/"+Z,$=H.charCodeAt(0)===47}if(Z=J8(Z,!$),$)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function q6(Z){if(w1(Z),Z.length===0)return".";var $=Z.charCodeAt(0)===47,X=Z.charCodeAt(Z.length-1)===47;if(Z=J8(Z,!$),Z.length===0&&!$)Z=".";if(Z.length>0&&X)Z+="/";if($)return"/"+Z;return Z}function _8(Z){return w1(Z),Z.length>0&&Z.charCodeAt(0)===47}function L8(){if(arguments.length===0)return".";var Z;for(var $=0;$<arguments.length;++$){var X=arguments[$];if(w1(X),X.length>0)if(Z===void 0)Z=X;else Z+="/"+X}if(Z===void 0)return".";return q6(Z)}function U8(Z,$){if(w1(Z),w1($),Z===$)return"";if(Z=F4(Z),$=F4($),Z===$)return"";var X=1;for(;X<Z.length;++X)if(Z.charCodeAt(X)!==47)break;var Q=Z.length,H=Q-X,K=1;for(;K<$.length;++K)if($.charCodeAt(K)!==47)break;var Y=$.length,z=Y-K,W=H<z?H:z,G=-1,J=0;for(;J<=W;++J){if(J===W){if(z>W){if($.charCodeAt(K+J)===47)return $.slice(K+J+1);else if(J===0)return $.slice(K+J)}else if(H>W){if(Z.charCodeAt(X+J)===47)G=J;else if(J===0)G=0}break}var L=Z.charCodeAt(X+J),_=$.charCodeAt(K+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(K+G);else{if(K+=G,$.charCodeAt(K)===47)++K;return $.slice(K)}}function q8(Z){return Z}function D8(Z){if(w1(Z),Z.length===0)return".";var $=Z.charCodeAt(0),X=$===47,Q=-1,H=!0;for(var K=Z.length-1;K>=1;--K)if($=Z.charCodeAt(K),$===47){if(!H){Q=K;break}}else H=!1;if(Q===-1)return X?"/":".";if(X&&Q===1)return"//";return Z.slice(0,Q)}function A8(Z,$){if($!==void 0&&typeof $!=="string")throw TypeError('"ext" argument must be a string');w1(Z);var X=0,Q=-1,H=!0,K;if($!==void 0&&$.length>0&&$.length<=Z.length){if($.length===Z.length&&$===Z)return"";var Y=$.length-1,z=-1;for(K=Z.length-1;K>=0;--K){var W=Z.charCodeAt(K);if(W===47){if(!H){X=K+1;break}}else{if(z===-1)H=!1,z=K+1;if(Y>=0)if(W===$.charCodeAt(Y)){if(--Y===-1)Q=K}else Y=-1,Q=z}}if(X===Q)Q=z;else if(Q===-1)Q=Z.length;return Z.slice(X,Q)}else{for(K=Z.length-1;K>=0;--K)if(Z.charCodeAt(K)===47){if(!H){X=K+1;break}}else if(Q===-1)H=!1,Q=K+1;if(Q===-1)return"";return Z.slice(X,Q)}}function I8(Z){w1(Z);var $=-1,X=0,Q=-1,H=!0,K=0;for(var Y=Z.length-1;Y>=0;--Y){var z=Z.charCodeAt(Y);if(z===47){if(!H){X=Y+1;break}continue}if(Q===-1)H=!1,Q=Y+1;if(z===46){if($===-1)$=Y;else if(K!==1)K=1}else if($!==-1)K=-1}if($===-1||Q===-1||K===0||K===1&&$===Q-1&&$===X+1)return"";return Z.slice($,Q)}function B8(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return MX("/",Z)}function R8(Z){w1(Z);var $={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return $;var X=Z.charCodeAt(0),Q=X===47,H;if(Q)$.root="/",H=1;else H=0;var K=-1,Y=0,z=-1,W=!0,G=Z.length-1,J=0;for(;G>=H;--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(K===-1)K=G;else if(J!==1)J=1}else if(K!==-1)J=-1}if(K===-1||z===-1||J===0||J===1&&K===z-1&&K===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,K),$.base=Z.slice(1,z);else $.name=Z.slice(Y,K),$.base=Z.slice(Y,z);$.ext=Z.slice(K,z)}if(Y>0)$.dir=Z.slice(0,Y-1);else if(Q)$.dir="/";return $}var M8="/",w8=":",j8,wX;var A6=m8(()=>{j8=((Z)=>(Z.posix=Z,Z))({resolve:F4,normalize:q6,isAbsolute:_8,join:L8,relative:U8,_makeLong:q8,dirname:D8,basename:A8,extname:I8,format:B8,parse:R8,sep:M8,delimiter:w8,win32:null,posix:null}),wX=j8});import*as X7 from"acorn";class p extends Error{line;column;source;filename;constructor(Z,$,X,Q){let H=`${Q||"<source>"}:${$.line}:${$.column}`;super(`${Z} at ${H}`);this.name="TranspileError",this.line=$.line,this.column=$.column,this.source=X,this.filename=Q}}class H1 extends p{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),H=Math.min($.length-1,X+Z),K=[],Y=String(H+1).length;for(let z=Q;z<=H;z++){let W=String(z+1).padStart(Y),G=z===X?">":" ";if(K.push(`${G} ${W} | ${$[z]}`),z===X){let J=" ".repeat(Y+4+this.column);K.push(`${J}^ ${this.message.split(" at ")[0]}`)}}return K.join(`
3
3
  `)}}class i8 extends p{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 G1(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 p8(Z,$){if($.locals.has(Z))return $.locals.get(Z);if($.parameters.has(Z))return $.parameters.get(Z)?.type;if($.parent)return p8(Z,$.parent);return}function n(Z){if(Z.loc)return{line:Z.loc.start.line,column:Z.loc.start.column};return{line:1,column:0}}function b0(Z,$){let X="",Q=0,H,K,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 R=X.trimEnd();if(!R[R.length-1]||/[=(!,;:{[&|?+\-*%<>~^]$/.test(R)||/\b(return|case|throw|in|of|typeof|instanceof|new|delete|void)\s*$/.test(R)){X+=_,Q++,Y="regex";continue}}break}if(_==="{"){G++,X+=_,Q++;continue}if(_==="}"){G--;let R=W[W.length-1];if(R&&G===R.braceDepth)W.pop();X+=_,Q++;continue}let q=Z.slice(Q).match(/^class\s+\w+(?:\s+extends\s+\w+)?\s*\{/);if(q){let R=q[0].slice(0,-1);X+=R,Q+=R.length,W.push({type:"class-body",braceDepth:G});continue}let I=Z.slice(Q).match(/^function\s+(\w+)\s*\(/);if(I){let R=I[1],P=I[0].length,B=Z[Q+P],F=null,N=Q+P;if(B==="?"||B==="!")if(F=B,N++,F==="!")$.unsafeFunctions.add(R);else $.safeFunctions.add(R);X+=`function ${R}(`,Q=N;let V=S0(Z,Q,"(",")");if(!V){X+=Z[Q],Q++;continue}let{content:w,endPos:C}=V;Q=C;let O=S4(w,$,!0);X+=O+")";let k=Q;while(k<Z.length&&/\s/.test(Z[k]))k++;let S=Z.slice(k,k+2);if(S==="->"||S==="-?"||S==="-!"){k+=2;while(k<Z.length&&/\s/.test(Z[k]))k++;let b=T0(Z,k);if(b){let{type:h,endPos:u}=b;if(H===void 0){if(H=h,S==="-?")K="safe";else if(S==="-!")K="unsafe"}Q=u}}continue}let M=Z.slice(Q).match(/^(constructor|(?:get|set)\s+\w+|async\s+\w+|\w+)\s*\(/);if(M&&L()){let R=M[1],P=M[0].length,B=Q+P;X+=R+"(",Q=B;let F=S0(Z,Q,"(",")");if(!F){X+=Z[Q],Q++;continue}let{content:N,endPos:V}=F;Q=V;let w=S4(N,$,!0);X+=w+")";let C=Q;while(C<Z.length&&/\s/.test(Z[C]))C++;let O=Z.slice(C,C+2);if(O==="->"||O==="-!"||O==="-?"){C+=2;while(C<Z.length&&/\s/.test(Z[C]))C++;let k=T0(Z,C);if(k)Q=k.endPos}else if(Z[C]===":"){C++;while(C<Z.length&&/\s/.test(Z[C]))C++;let k=T0(Z,C);if(k)Q=k.endPos}continue}if(Z[Q]==="("){let R=S0(Z,Q+1,"(",")");if(!R){X+=Z[Q],Q++;continue}let{content:P,endPos:B}=R,F=B;while(F<Z.length&&/\s/.test(Z[F]))F++;let N,V=Z.slice(F,F+2);if(V==="->"||V==="-?"||V==="-!"){F+=2;while(F<Z.length&&/\s/.test(Z[F]))F++;let w=T0(Z,F);if(w){N=w.type,F=w.endPos;while(F<Z.length&&/\s/.test(Z[F]))F++}}if(Z.slice(F,F+2)==="=>"){let w=null,C=P,O=P.trimStart();if(O.startsWith("?")&&(O.length===1||/\s/.test(O[1])))w="?",C=O.slice(1);else if(O.startsWith("!")&&(O.length===1||/\s/.test(O[1])))w="!",C=O.slice(1);let k=S4(C,$,!1);X+=`(${w==="?"?"/* safe */ ":w==="!"?"/* unsafe */ ":""}${k})`,Q=B;while(Q<F&&/\s/.test(Z[Q]))X+=Z[Q],Q++;if(N)Q=F}else{let w=b0(P,$);X+=`(${w.source})`,Q=B}continue}X+=Z[Q],Q++}return{source:X,returnType:H,returnSafety:K}}function S0(Z,$,X,Q){let H=1,K=$,Y=!1,z="";while(K<Z.length&&H>0){let W=Z[K];if(!Y&&(W==="'"||W==='"'||W==="`"))Y=!0,z=W;else if(Y&&W===z&&Z[K-1]!=="\\")Y=!1;else if(!Y){if(W===X)H++;else if(W===Q)H--}K++}if(H!==0)return null;return{content:Z.slice($,K-1),endPos:K}}function S6(Z,$){let X=$;while(X<Z.length&&/\s/.test(Z[X]))X++;if(X>=Z.length)return null;let Q=X,H=Z[X];if(H==="{"||H==="["){let Y=H==="{"?"}":"]",z=S0(Z,X+1,H,Y);if(!z)return null;return{value:Z.slice(Q,z.endPos),endPos:z.endPos}}if(H==="'"||H==='"'||H==="`"){X++;while(X<Z.length){if(Z[X]===H&&Z[X-1]!=="\\")return X++,{value:Z.slice(Q,X),endPos:X};X++}return null}if(/[-+\d]/.test(H)){while(X<Z.length&&/[\d.eE+-]/.test(Z[X]))X++;return{value:Z.slice(Q,X),endPos:X}}let K=Z.slice(X).match(/^(true|false|null|undefined)\b/);if(K)return{value:K[1],endPos:X+K[1].length};return null}function Y0(Z){return Z.replace(/(?<!\|)\|(?!\|)/g," || ")}function T0(Z,$){let X=$,Q=0,H=!1,K="",Y=!1,z=(W)=>({type:Y0(Z.slice($,W).trim()),endPos:W});while(X<Z.length){let W=Z[X];if(!H&&(W==="'"||W==='"'||W==="`")){H=!0,K=W,Y=!0,X++;continue}if(H){if(W===K&&Z[X-1]!=="\\"){if(H=!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:Y0(Z.slice($,G).trim()),endPos:G};if(Z[X]!=="|"&&Z[X]!=="&")return{type:Y0(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]==="("){Q++,X++;continue}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:Y0(Z.slice($,L).trim()),endPos:G}}}if(Z[X]!=="|"&&Z[X]!=="&")return{type:Y0(Z.slice($,G).trim()),endPos:G};continue}X++}if(Y)return z(X);return null}function v0(Z){let $=[],X="",Q=0,H=!1,K=!1,Y=0;while(Y<Z.length){let z=Z[Y],W=Z[Y+1];if(!K&&z==="/"&&W==="/"){H=!0,X+="//",Y+=2;continue}if(!H&&z==="/"&&W==="*"){K=!0,X+="/*",Y+=2;continue}if(H&&z===`
@@ -355,7 +355,7 @@ ${L}
355
355
  }
356
356
  `}return Q.join(`
357
357
  `)+`
358
- `}function r1(Z){let $=Z.trim();if(C5($)){let X=O5($).map((Q)=>r1(Q.trim()));return[...new Set(X)].join(" | ")}if(/^['"]/.test($))return"string";if($==="true"||$==="false")return"boolean";if($==="null")return"null";if($==="undefined")return"undefined";if(/^[+-]?\d+\.\d+$/.test($))return"number";if(/^[+-]?\d+$/.test($))return"number";if($.startsWith("["))return"any[]";if($.startsWith("{"))return"Record<string, any>";return"any"}function C5(Z){let $=0,X=null;for(let Q of Z){if(X){if(Q===X)X=null;continue}if(Q==="'"||Q==='"'||Q==="`"){X=Q;continue}if(Q==="{"||Q==="["||Q==="(")$++;else if(Q==="}"||Q==="]"||Q===")")$--;else if(Q==="|"&&$===0)return!0}return!1}function O5(Z){let $=[],X=0,Q=null,H="";for(let K of Z){if(Q){if(H+=K,K===Q)Q=null;continue}if(K==="'"||K==='"'||K==="`"){Q=K,H+=K;continue}if(K==="{"||K==="["||K==="(")X++;else if(K==="}"||K==="]"||K===")")X--;if(K==="|"&&X===0)$.push(H),H="";else H+=K}if(H)$.push(H);return $}import j from"typescript";var f7=new Set(["Event","CustomEvent","MouseEvent","KeyboardEvent","PointerEvent","TouchEvent","FocusEvent","InputEvent","CompositionEvent","WheelEvent","DragEvent","AnimationEvent","TransitionEvent","ClipboardEvent","UIEvent","ProgressEvent","ErrorEvent","MessageEvent","PopStateEvent","HashChangeEvent","PageTransitionEvent","StorageEvent","BeforeUnloadEvent","SubmitEvent","EventTarget","EventListener","Node","Element","HTMLElement","SVGElement","Document","DocumentFragment","ShadowRoot","Text","Comment","Attr","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","HTMLButtonElement","HTMLFormElement","HTMLAnchorElement","HTMLImageElement","HTMLVideoElement","HTMLAudioElement","HTMLCanvasElement","HTMLDivElement","HTMLSpanElement","HTMLParagraphElement","HTMLTableElement","HTMLTemplateElement","HTMLSlotElement","HTMLDialogElement","HTMLDetailsElement","HTMLLabelElement","HTMLOptionElement","HTMLIFrameElement","HTMLScriptElement","HTMLStyleElement","HTMLLinkElement","HTMLMetaElement","HTMLHeadElement","HTMLBodyElement","HTMLMediaElement","SVGSVGElement","SVGPathElement","SVGGElement","SVGCircleElement","SVGRectElement","SVGTextElement","SVGLineElement","SVGPolygonElement","NodeList","HTMLCollection","NamedNodeMap","DOMTokenList","DOMStringMap","CSSStyleDeclaration","DOMRect","DOMRectReadOnly","DOMPoint","DOMMatrix","Range","Selection","StaticRange","MutationObserver","MutationRecord","IntersectionObserver","IntersectionObserverEntry","ResizeObserver","ResizeObserverEntry","PerformanceObserver","PerformanceEntry","Window","Location","History","Navigator","Screen","Storage","CanvasRenderingContext2D","WebGLRenderingContext","WebGL2RenderingContext","OffscreenCanvas","ImageData","ImageBitmap","MediaStream","MediaRecorder","AudioContext","AudioNode","AudioBuffer","Worker","SharedWorker","ServiceWorker","ServiceWorkerRegistration","BroadcastChannel","MessageChannel","MessagePort","WebSocket","XMLHttpRequest","FileReader","FileList","DataTransfer","Crypto","SubtleCrypto","CryptoKey","Geolocation","Notification","PermissionStatus","MediaQueryList","TreeWalker","NodeIterator","ClipboardItem"]);function y(Z,$,X,Q){if(!Z)return"undefined";switch(Z.kind){case j.SyntaxKind.StringKeyword:return"''";case j.SyntaxKind.NumberKeyword:return"0.0";case j.SyntaxKind.BooleanKeyword:return"false";case j.SyntaxKind.NullKeyword:return"null";case j.SyntaxKind.UndefinedKeyword:return"undefined";case j.SyntaxKind.VoidKeyword:return"undefined";case j.SyntaxKind.AnyKeyword:return"any";case j.SyntaxKind.UnknownKeyword:return"any";case j.SyntaxKind.NeverKeyword:return"null";case j.SyntaxKind.SymbolKeyword:return"Symbol('example')";case j.SyntaxKind.BigIntKeyword:return"0n";case j.SyntaxKind.ObjectKeyword:return"{}";case j.SyntaxKind.ArrayType:{let K=y(Z.elementType,$);if(K==="any")K="null";return`[${K}]`}case j.SyntaxKind.TypeReference:{let H=Z,K=H.typeName.getText();if(K==="Array"&&H.typeArguments?.length)return`[${y(H.typeArguments[0],$,X,Q)}]`;if(K==="Promise"){if(H.typeArguments?.length)return y(H.typeArguments[0],$,X,Q);return"undefined"}if(K==="Generator"||K==="AsyncGenerator"||K==="IterableIterator"||K==="AsyncIterableIterator"){if(H.typeArguments?.length)return y(H.typeArguments[0],$,X,Q);return"undefined"}if(K==="Record")return"{}";let Y={Map:"new Map()",Set:"new Set()",WeakMap:"new WeakMap()",WeakSet:"new WeakSet()",WeakRef:"new WeakRef({})",Error:"new Error('example')",TypeError:"new TypeError('example')",RangeError:"new RangeError('example')",SyntaxError:"new SyntaxError('example')",ReferenceError:"new ReferenceError('example')",URIError:"new URIError('example')",EvalError:"new EvalError('example')",Date:"new Date()",RegExp:"/example/",ArrayBuffer:"new ArrayBuffer(0)",SharedArrayBuffer:"new SharedArrayBuffer(0)",DataView:"new DataView(new ArrayBuffer(0))",Float32Array:"new Float32Array(0)",Float64Array:"new Float64Array(0)",Int8Array:"new Int8Array(0)",Int16Array:"new Int16Array(0)",Int32Array:"new Int32Array(0)",Uint8Array:"new Uint8Array(0)",Uint16Array:"new Uint16Array(0)",Uint32Array:"new Uint32Array(0)",Uint8ClampedArray:"new Uint8ClampedArray(0)",BigInt64Array:"new BigInt64Array(0)",BigUint64Array:"new BigUint64Array(0)",URL:"new URL('https://example.com')",URLSearchParams:"new URLSearchParams()",Headers:"new Headers()",FormData:"new FormData()",Blob:"new Blob()",File:"new File([], 'example')",Response:"new Response()",Request:"new Request('https://example.com')",AbortController:"new AbortController()",AbortSignal:"AbortSignal.abort()",ReadableStream:"new ReadableStream()",WritableStream:"new WritableStream()",TransformStream:"new TransformStream()",TextEncoder:"new TextEncoder()",TextDecoder:"new TextDecoder()",Promise:"Promise.resolve(null)"};if(K in Y)return Y[K];if(Q?.typeAliases?.has(K)){let z=Q.visited??new Set;if(z.has(K))return X?.push(`Circular type reference '${K}' - using 'any'`),"any";z.add(K);let W=Q.typeAliases.get(K);return y(W,$,X,{...Q,visited:z})}if(Q?.interfaces?.has(K)){let z=Q.visited??new Set;if(z.has(K))return X?.push(`Circular type reference '${K}' - using 'any'`),"any";z.add(K);let W=Q.interfaces.get(K),G=[];for(let J of W.members)if(j.isPropertySignature(J)&&J.name){let L=J.name.getText(Q.sourceFile),_=y(J.type,$,X,{...Q,visited:z});G.push(`${L}: ${_}`)}return`{ ${G.join(", ")} }`}if(Q?.typeParams?.has(K)){let z=Q.typeParams.get(K);if(z.constraint)return y(z.constraint,$,X,Q);if(z.default)return y(z.default,$,X,Q)}if(f7.has(K))return"{}";if(/^[A-Z]$/.test(K)||["T","K","V","U","TKey","TValue","TItem","TResult"].includes(K))return X?.push(`Generic type parameter '${K}' converted to 'any' - consider specializing`),"any";return X?.push(`Unknown type '${K}' converted to 'any' - may need manual review`),"any"}case j.SyntaxKind.TypeLiteral:{let H=Z,K=[];for(let Y of H.members)if(j.isPropertySignature(Y)&&Y.name){let z=Y.name.getText(),W=y(Y.type,$);if(W==="any")W="null";K.push(`${z}: ${W}`)}return`{ ${K.join(", ")} }`}case j.SyntaxKind.UnionType:{let H=Z,K=(L)=>L.kind===j.SyntaxKind.NullKeyword||j.isLiteralTypeNode(L)&&L.literal.kind===j.SyntaxKind.NullKeyword,Y=(L)=>L.kind===j.SyntaxKind.UndefinedKeyword||j.isLiteralTypeNode(L)&&L.literal.kind===j.SyntaxKind.UndefinedKeyword,z=H.types.filter((L)=>!K(L)&&!Y(L)),W=H.types.some(K),G=H.types.some(Y);if(z.length===0){if(W)return"null";return"undefined"}if(z.length===1&&(W||G)){let L=y(z[0],$);if(W)return`${L} | null`;if(G)return`${L} | undefined`}let J=H.types.map((L)=>y(L,$,X,Q)).filter((L,_,U)=>U.indexOf(L)===_);if(J.some((L)=>L==="any"))return"any";if(J.length===1)return J[0];if(J.length>0)return J.join(" | ");return"undefined"}case j.SyntaxKind.LiteralType:{let H=Z;if(j.isStringLiteral(H.literal))return`'${H.literal.text}'`;if(j.isNumericLiteral(H.literal))return H.literal.text;if(H.literal.kind===j.SyntaxKind.TrueKeyword)return"true";if(H.literal.kind===j.SyntaxKind.FalseKeyword)return"false";if(H.literal.kind===j.SyntaxKind.NullKeyword)return"null";return"undefined"}case j.SyntaxKind.ParenthesizedType:return y(Z.type,$);case j.SyntaxKind.FunctionType:{let H=Z,K=[];for(let W of H.parameters){let G=W.name?.getText()||"_";if(G==="this")continue;let J=y(W.type,$,X,Q);if(J==="any")J="null";K.push(`${G}: ${J}`)}let Y=y(H.type,$,X,Q);if(Y==="any")Y="null";let z=[];if(K.length>0)z.push(`params: { ${K.join(", ")} }`);if(Y!=="undefined")z.push(`returns: ${Y}`);return`FunctionPredicate('function', { ${z.join(", ")} })`}case j.SyntaxKind.TupleType:return`[${Z.elements.map((Y)=>{let z=j.isNamedTupleMember(Y)?y(Y.type,$):y(Y,$);return z==="any"?"null":z}).join(", ")}]`;default:return"undefined"}}function o(Z,$){if(!Z)return{kind:"any"};switch(Z.kind){case j.SyntaxKind.StringKeyword:return{kind:"string"};case j.SyntaxKind.NumberKeyword:return{kind:"number"};case j.SyntaxKind.BooleanKeyword:return{kind:"boolean"};case j.SyntaxKind.NullKeyword:return{kind:"null"};case j.SyntaxKind.UndefinedKeyword:case j.SyntaxKind.VoidKeyword:return{kind:"undefined"};case j.SyntaxKind.ArrayType:return{kind:"array",items:o(Z.elementType,$)};case j.SyntaxKind.TypeLiteral:{let X=Z,Q={};for(let H of X.members)if(j.isPropertySignature(H)&&H.name){let K=H.name.getText();Q[K]=o(H.type,$)}return{kind:"object",shape:Q}}case j.SyntaxKind.UnionType:{let X=Z,Q=X.types.filter((K)=>K.kind!==j.SyntaxKind.NullKeyword&&K.kind!==j.SyntaxKind.UndefinedKeyword),H=X.types.some((K)=>K.kind===j.SyntaxKind.NullKeyword);if(Q.length===1&&H)return{...o(Q[0],$),nullable:!0};return{kind:"union",members:X.types.map((K)=>o(K,$))}}case j.SyntaxKind.IntersectionType:{let X=Z,Q={};for(let H of X.types){let K=o(H,$);if(K.kind==="object"&&K.shape)Object.assign(Q,K.shape)}if(Object.keys(Q).length>0)return{kind:"object",shape:Q};return{kind:"any"}}case j.SyntaxKind.TupleType:{let X=Z,Q=[];for(let H of X.elements)if(j.isNamedTupleMember(H))Q.push(o(H.type,$));else Q.push(o(H,$));return{kind:"tuple",elements:Q}}case j.SyntaxKind.TypeReference:{let X=Z,Q=X.typeName.getText();if(Q==="Array"&&X.typeArguments?.length)return{kind:"array",items:o(X.typeArguments[0],$)};if(Q==="Promise"&&X.typeArguments?.length)return o(X.typeArguments[0],$);if((Q==="Generator"||Q==="AsyncGenerator"||Q==="IterableIterator"||Q==="AsyncIterableIterator")&&X.typeArguments?.length)return o(X.typeArguments[0],$);if(X.typeArguments?.length){let H=o(X.typeArguments[0],$);if(Q==="Partial")return H;if(Q==="Required")return H;if(Q==="Readonly")return H;if(Q==="Record"&&X.typeArguments.length>=2)return{kind:"object",shape:{"[key]":o(X.typeArguments[1],$)}};if(Q==="Pick"||Q==="Omit")return H;if(Q==="NonNullable"){if(H.nullable)return{...H,nullable:!1};return H}if(["ReturnType","Parameters","ConstructorParameters"].includes(Q))return{kind:"any"}}if($?.typeAliases?.has(Q)){let H=$.visited??new Set;if(H.has(Q))return{kind:"any"};H.add(Q);let K=$.typeAliases.get(Q);return o(K,{...$,visited:H})}if($?.interfaces?.has(Q)){let H=$.visited??new Set;if(H.has(Q))return{kind:"any"};H.add(Q);let K=$.interfaces.get(Q),Y={};if(K.heritageClauses){for(let z of K.heritageClauses)if(z.token===j.SyntaxKind.ExtendsKeyword)for(let W of z.types){let G=W.expression.getText($.sourceFile);if($.interfaces?.has(G)&&!H.has(G)){let J={kind:j.SyntaxKind.TypeReference,typeName:{getText:()=>G}},L=o(J,{...$,visited:H});if(L.kind==="object"&&L.shape)Object.assign(Y,L.shape)}}}for(let z of K.members)if(j.isPropertySignature(z)&&z.name){let W=z.name.getText($.sourceFile);Y[W]=o(z.type,{...$,visited:H})}return{kind:"object",shape:Y}}if($?.typeParams?.has(Q)){let H=$.typeParams.get(Q);if(H.constraint)return o(H.constraint,$);if(H.default)return o(H.default,$)}if(f7.has(Q))return{kind:"object"};return{kind:"any"}}default:return{kind:"any"}}}function N5(Z,$){if(!Z.typeParameters||Z.typeParameters.length===0)return;let X={};for(let Q of Z.typeParameters){let H=Q.name.getText(),K={};if(Q.constraint){let Y=y(Q.constraint,void 0,$);if(Y.startsWith("{"))try{K.constraint=Y}catch{K.constraint=Y}else K.constraint=Y}if(Q.default){let Y=y(Q.default,void 0,$);K.default=Y}X[H]=K}return Object.keys(X).length>0?X:void 0}function E5(Z,$,X,Q){let H=Z.name.getText($);if(Z.typeParameters&&Z.typeParameters.length>0)return T5(Z,$,X,Q);let K=Q?.find((G)=>G.kind==="example"),Y=Q?.find((G)=>G.kind==="predicate"),z;if(K?.text)z=K.text;else{let G=[];for(let J of Z.members)if(j.isPropertySignature(J)&&J.name){let L=J.name.getText($),_=y(J.type,void 0,X);if(_==="any")_="null";G.push(`${L}: ${_}`)}if(G.length===0&&!Y)return`Type ${H} {}`;z=G.length>0?`{ ${G.join(", ")} }`:"{}"}let W=[`example: ${z}`];if(Y?.text)W.push(Y.text);return`Type ${H} {
358
+ `}function r1(Z){let $=Z.trim();if(C5($)){let X=O5($).map((Q)=>r1(Q.trim()));return[...new Set(X)].join(" | ")}if(/^['"]/.test($))return"string";if($==="true"||$==="false")return"boolean";if($==="null")return"null";if($==="undefined")return"undefined";if(/^[+-]?\d+\.\d+$/.test($))return"number";if(/^[+-]?\d+$/.test($))return"number";if($.startsWith("["))return"any[]";if($.startsWith("{"))return"Record<string, any>";return"any"}function C5(Z){let $=0,X=null;for(let Q of Z){if(X){if(Q===X)X=null;continue}if(Q==="'"||Q==='"'||Q==="`"){X=Q;continue}if(Q==="{"||Q==="["||Q==="(")$++;else if(Q==="}"||Q==="]"||Q===")")$--;else if(Q==="|"&&$===0)return!0}return!1}function O5(Z){let $=[],X=0,Q=null,H="";for(let K of Z){if(Q){if(H+=K,K===Q)Q=null;continue}if(K==="'"||K==='"'||K==="`"){Q=K,H+=K;continue}if(K==="{"||K==="["||K==="(")X++;else if(K==="}"||K==="]"||K===")")X--;if(K==="|"&&X===0)$.push(H),H="";else H+=K}if(H)$.push(H);return $}import j from"typescript";var f7=new Set(["Event","CustomEvent","MouseEvent","KeyboardEvent","PointerEvent","TouchEvent","FocusEvent","InputEvent","CompositionEvent","WheelEvent","DragEvent","AnimationEvent","TransitionEvent","ClipboardEvent","UIEvent","ProgressEvent","ErrorEvent","MessageEvent","PopStateEvent","HashChangeEvent","PageTransitionEvent","StorageEvent","BeforeUnloadEvent","SubmitEvent","EventTarget","EventListener","Node","Element","HTMLElement","SVGElement","Document","DocumentFragment","ShadowRoot","Text","Comment","Attr","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","HTMLButtonElement","HTMLFormElement","HTMLAnchorElement","HTMLImageElement","HTMLVideoElement","HTMLAudioElement","HTMLCanvasElement","HTMLDivElement","HTMLSpanElement","HTMLParagraphElement","HTMLTableElement","HTMLTemplateElement","HTMLSlotElement","HTMLDialogElement","HTMLDetailsElement","HTMLLabelElement","HTMLOptionElement","HTMLIFrameElement","HTMLScriptElement","HTMLStyleElement","HTMLLinkElement","HTMLMetaElement","HTMLHeadElement","HTMLBodyElement","HTMLMediaElement","SVGSVGElement","SVGPathElement","SVGGElement","SVGCircleElement","SVGRectElement","SVGTextElement","SVGLineElement","SVGPolygonElement","NodeList","HTMLCollection","NamedNodeMap","DOMTokenList","DOMStringMap","CSSStyleDeclaration","DOMRect","DOMRectReadOnly","DOMPoint","DOMMatrix","Range","Selection","StaticRange","MutationObserver","MutationRecord","IntersectionObserver","IntersectionObserverEntry","ResizeObserver","ResizeObserverEntry","PerformanceObserver","PerformanceEntry","Window","Location","History","Navigator","Screen","Storage","CanvasRenderingContext2D","WebGLRenderingContext","WebGL2RenderingContext","OffscreenCanvas","ImageData","ImageBitmap","MediaStream","MediaRecorder","AudioContext","AudioNode","AudioBuffer","Worker","SharedWorker","ServiceWorker","ServiceWorkerRegistration","BroadcastChannel","MessageChannel","MessagePort","WebSocket","XMLHttpRequest","FileReader","FileList","DataTransfer","Crypto","SubtleCrypto","CryptoKey","Geolocation","Notification","PermissionStatus","MediaQueryList","TreeWalker","NodeIterator","ClipboardItem"]);function y(Z,$,X,Q){if(!Z)return"undefined";switch(Z.kind){case j.SyntaxKind.StringKeyword:return"''";case j.SyntaxKind.NumberKeyword:return"0.0";case j.SyntaxKind.BooleanKeyword:return"false";case j.SyntaxKind.NullKeyword:return"null";case j.SyntaxKind.UndefinedKeyword:return"undefined";case j.SyntaxKind.VoidKeyword:return"undefined";case j.SyntaxKind.AnyKeyword:return"any";case j.SyntaxKind.UnknownKeyword:return"any";case j.SyntaxKind.NeverKeyword:return"null";case j.SyntaxKind.SymbolKeyword:return"Symbol('example')";case j.SyntaxKind.BigIntKeyword:return"0n";case j.SyntaxKind.ObjectKeyword:return"{}";case j.SyntaxKind.ArrayType:{let K=y(Z.elementType,$);if(K==="any")K="null";return`[${K}]`}case j.SyntaxKind.TypeReference:{let H=Z,K=H.typeName.getText();if(K==="Array"&&H.typeArguments?.length)return`[${y(H.typeArguments[0],$,X,Q)}]`;if(K==="Promise"){if(H.typeArguments?.length)return y(H.typeArguments[0],$,X,Q);return"undefined"}if(K==="Generator"||K==="AsyncGenerator"||K==="IterableIterator"||K==="AsyncIterableIterator"){if(H.typeArguments?.length)return y(H.typeArguments[0],$,X,Q);return"undefined"}if(K==="Record")return"{}";let Y={Map:"new Map()",Set:"new Set()",WeakMap:"new WeakMap()",WeakSet:"new WeakSet()",WeakRef:"new WeakRef({})",Error:"new Error('example')",TypeError:"new TypeError('example')",RangeError:"new RangeError('example')",SyntaxError:"new SyntaxError('example')",ReferenceError:"new ReferenceError('example')",URIError:"new URIError('example')",EvalError:"new EvalError('example')",Date:"new Date()",RegExp:"/example/",ArrayBuffer:"new ArrayBuffer(0)",SharedArrayBuffer:"new SharedArrayBuffer(0)",DataView:"new DataView(new ArrayBuffer(0))",Float32Array:"new Float32Array(0)",Float64Array:"new Float64Array(0)",Int8Array:"new Int8Array(0)",Int16Array:"new Int16Array(0)",Int32Array:"new Int32Array(0)",Uint8Array:"new Uint8Array(0)",Uint16Array:"new Uint16Array(0)",Uint32Array:"new Uint32Array(0)",Uint8ClampedArray:"new Uint8ClampedArray(0)",BigInt64Array:"new BigInt64Array(0)",BigUint64Array:"new BigUint64Array(0)",URL:"new URL('https://example.com')",URLSearchParams:"new URLSearchParams()",Headers:"new Headers()",FormData:"new FormData()",Blob:"new Blob()",File:"new File([], 'example')",Response:"new Response()",Request:"new Request('https://example.com')",AbortController:"new AbortController()",AbortSignal:"AbortSignal.abort()",ReadableStream:"new ReadableStream()",WritableStream:"new WritableStream()",TransformStream:"new TransformStream()",TextEncoder:"new TextEncoder()",TextDecoder:"new TextDecoder()",Promise:"Promise.resolve(null)"};if(K in Y)return Y[K];if(Q?.typeAliases?.has(K)){let z=Q.visited??new Set;if(z.has(K))return X?.push(`Circular type reference '${K}' - using 'any'`),"any";z.add(K);let W=Q.typeAliases.get(K);return y(W,$,X,{...Q,visited:z})}if(Q?.interfaces?.has(K)){let z=Q.visited??new Set;if(z.has(K))return X?.push(`Circular type reference '${K}' - using 'any'`),"any";z.add(K);let W=Q.interfaces.get(K),G=[];for(let J of W.members)if(j.isPropertySignature(J)&&J.name){let L=J.name.getText(Q.sourceFile),_=y(J.type,$,X,{...Q,visited:z});G.push(`${L}: ${_}`)}return`{ ${G.join(", ")} }`}if(Q?.typeParams?.has(K)){let z=Q.typeParams.get(K);if(z.constraint)return y(z.constraint,$,X,Q);if(z.default)return y(z.default,$,X,Q)}if(f7.has(K))return"{}";if(/^[A-Z]$/.test(K)||["T","K","V","U","TKey","TValue","TItem","TResult"].includes(K))return X?.push(`Generic type parameter '${K}' converted to 'any' - consider specializing`),"any";return X?.push(`Unknown type '${K}' converted to 'any' - may need manual review`),"any"}case j.SyntaxKind.TypeLiteral:{let H=Z,K=[];for(let Y of H.members)if(j.isPropertySignature(Y)&&Y.name){let z=Y.name.getText(),W=y(Y.type,$);if(W==="any")W="null";K.push(`${z}: ${W}`)}return`{ ${K.join(", ")} }`}case j.SyntaxKind.UnionType:{let H=Z,K=(L)=>L.kind===j.SyntaxKind.NullKeyword||j.isLiteralTypeNode(L)&&L.literal.kind===j.SyntaxKind.NullKeyword,Y=(L)=>L.kind===j.SyntaxKind.UndefinedKeyword||j.isLiteralTypeNode(L)&&L.literal.kind===j.SyntaxKind.UndefinedKeyword,z=H.types.filter((L)=>!K(L)&&!Y(L)),W=H.types.some(K),G=H.types.some(Y);if(z.length===0){if(W)return"null";return"undefined"}if(z.length===1&&(W||G)){let L=y(z[0],$);if(W)return`${L} | null`;if(G)return`${L} | undefined`}let J=H.types.map((L)=>y(L,$,X,Q)).filter((L,_,U)=>U.indexOf(L)===_);if(J.some((L)=>L==="any"))return"any";if(J.length===1)return J[0];if(J.length>0){if(J.some((_)=>/[()]/.test(_)||_.startsWith("new ")))return"any";return J.join(" | ")}return"undefined"}case j.SyntaxKind.LiteralType:{let H=Z;if(j.isStringLiteral(H.literal))return`'${H.literal.text}'`;if(j.isNumericLiteral(H.literal))return H.literal.text;if(H.literal.kind===j.SyntaxKind.TrueKeyword)return"true";if(H.literal.kind===j.SyntaxKind.FalseKeyword)return"false";if(H.literal.kind===j.SyntaxKind.NullKeyword)return"null";return"undefined"}case j.SyntaxKind.ParenthesizedType:return y(Z.type,$);case j.SyntaxKind.FunctionType:{let H=Z,K=[];for(let W of H.parameters){let G=W.name?.getText()||"_";if(G==="this")continue;let J=y(W.type,$,X,Q);if(J==="any")J="null";K.push(`${G}: ${J}`)}let Y=y(H.type,$,X,Q);if(Y==="any")Y="null";let z=[];if(K.length>0)z.push(`params: { ${K.join(", ")} }`);if(Y!=="undefined")z.push(`returns: ${Y}`);return`FunctionPredicate('function', { ${z.join(", ")} })`}case j.SyntaxKind.TupleType:return`[${Z.elements.map((Y)=>{let z=j.isNamedTupleMember(Y)?y(Y.type,$):y(Y,$);return z==="any"?"null":z}).join(", ")}]`;default:return"undefined"}}function o(Z,$){if(!Z)return{kind:"any"};switch(Z.kind){case j.SyntaxKind.StringKeyword:return{kind:"string"};case j.SyntaxKind.NumberKeyword:return{kind:"number"};case j.SyntaxKind.BooleanKeyword:return{kind:"boolean"};case j.SyntaxKind.NullKeyword:return{kind:"null"};case j.SyntaxKind.UndefinedKeyword:case j.SyntaxKind.VoidKeyword:return{kind:"undefined"};case j.SyntaxKind.ArrayType:return{kind:"array",items:o(Z.elementType,$)};case j.SyntaxKind.TypeLiteral:{let X=Z,Q={};for(let H of X.members)if(j.isPropertySignature(H)&&H.name){let K=H.name.getText();Q[K]=o(H.type,$)}return{kind:"object",shape:Q}}case j.SyntaxKind.UnionType:{let X=Z,Q=X.types.filter((K)=>K.kind!==j.SyntaxKind.NullKeyword&&K.kind!==j.SyntaxKind.UndefinedKeyword),H=X.types.some((K)=>K.kind===j.SyntaxKind.NullKeyword);if(Q.length===1&&H)return{...o(Q[0],$),nullable:!0};return{kind:"union",members:X.types.map((K)=>o(K,$))}}case j.SyntaxKind.IntersectionType:{let X=Z,Q={};for(let H of X.types){let K=o(H,$);if(K.kind==="object"&&K.shape)Object.assign(Q,K.shape)}if(Object.keys(Q).length>0)return{kind:"object",shape:Q};return{kind:"any"}}case j.SyntaxKind.TupleType:{let X=Z,Q=[];for(let H of X.elements)if(j.isNamedTupleMember(H))Q.push(o(H.type,$));else Q.push(o(H,$));return{kind:"tuple",elements:Q}}case j.SyntaxKind.TypeReference:{let X=Z,Q=X.typeName.getText();if(Q==="Array"&&X.typeArguments?.length)return{kind:"array",items:o(X.typeArguments[0],$)};if(Q==="Promise"&&X.typeArguments?.length)return o(X.typeArguments[0],$);if((Q==="Generator"||Q==="AsyncGenerator"||Q==="IterableIterator"||Q==="AsyncIterableIterator")&&X.typeArguments?.length)return o(X.typeArguments[0],$);if(X.typeArguments?.length){let H=o(X.typeArguments[0],$);if(Q==="Partial")return H;if(Q==="Required")return H;if(Q==="Readonly")return H;if(Q==="Record"&&X.typeArguments.length>=2)return{kind:"object",shape:{"[key]":o(X.typeArguments[1],$)}};if(Q==="Pick"||Q==="Omit")return H;if(Q==="NonNullable"){if(H.nullable)return{...H,nullable:!1};return H}if(["ReturnType","Parameters","ConstructorParameters"].includes(Q))return{kind:"any"}}if($?.typeAliases?.has(Q)){let H=$.visited??new Set;if(H.has(Q))return{kind:"any"};H.add(Q);let K=$.typeAliases.get(Q);return o(K,{...$,visited:H})}if($?.interfaces?.has(Q)){let H=$.visited??new Set;if(H.has(Q))return{kind:"any"};H.add(Q);let K=$.interfaces.get(Q),Y={};if(K.heritageClauses){for(let z of K.heritageClauses)if(z.token===j.SyntaxKind.ExtendsKeyword)for(let W of z.types){let G=W.expression.getText($.sourceFile);if($.interfaces?.has(G)&&!H.has(G)){let J={kind:j.SyntaxKind.TypeReference,typeName:{getText:()=>G}},L=o(J,{...$,visited:H});if(L.kind==="object"&&L.shape)Object.assign(Y,L.shape)}}}for(let z of K.members)if(j.isPropertySignature(z)&&z.name){let W=z.name.getText($.sourceFile);Y[W]=o(z.type,{...$,visited:H})}return{kind:"object",shape:Y}}if($?.typeParams?.has(Q)){let H=$.typeParams.get(Q);if(H.constraint)return o(H.constraint,$);if(H.default)return o(H.default,$)}if(f7.has(Q))return{kind:"object"};return{kind:"any"}}default:return{kind:"any"}}}function N5(Z,$){if(!Z.typeParameters||Z.typeParameters.length===0)return;let X={};for(let Q of Z.typeParameters){let H=Q.name.getText(),K={};if(Q.constraint){let Y=y(Q.constraint,void 0,$);if(Y.startsWith("{"))try{K.constraint=Y}catch{K.constraint=Y}else K.constraint=Y}if(Q.default){let Y=y(Q.default,void 0,$);K.default=Y}X[H]=K}return Object.keys(X).length>0?X:void 0}function E5(Z,$,X,Q){let H=Z.name.getText($);if(Z.typeParameters&&Z.typeParameters.length>0)return T5(Z,$,X,Q);let K=Q?.find((G)=>G.kind==="example"),Y=Q?.find((G)=>G.kind==="predicate"),z;if(K?.text)z=K.text;else{let G=[];for(let J of Z.members)if(j.isPropertySignature(J)&&J.name){let L=J.name.getText($),_=y(J.type,void 0,X);if(_==="any")_="null";G.push(`${L}: ${_}`)}if(G.length===0&&!Y)return`Type ${H} {}`;z=G.length>0?`{ ${G.join(", ")} }`:"{}"}let W=[`example: ${z}`];if(Y?.text)W.push(Y.text);return`Type ${H} {
359
359
  ${W.join(`
360
360
  `)}
361
361
  }`}function T5(Z,$,X,Q){let H=Z.name.getText($),K=[];for(let J of Z.typeParameters||[]){let L=J.name.getText($);if(J.default){let _=y(J.default,void 0,X);K.push(`${L} = ${_}`)}else K.push(L)}let Y=Q?.find((J)=>J.kind==="predicate"),z=Q?.find((J)=>J.kind==="declaration"),W;if(Y?.text)W=Y.text;else{let J=(Z.typeParameters||[]).map((U)=>U.name.getText($)),L=["typeof x === 'object'","x !== null"];for(let U of Z.members)if(j.isPropertySignature(U)&&U.name){let q=U.name.getText($),I=q.startsWith("[")&&q.endsWith("]"),M=I?q.slice(1,-1):null;if(I)L.push(`${M} in x`);else L.push(`'${q}' in x`);if(U.type&&j.isTypeReferenceNode(U.type)){let R=U.type.typeName.getText($);if(J.includes(R))if(I)L.push(`${R}(x[${M}])`);else L.push(`${R}(x.${q})`)}}W=`predicate(${["x",...J].join(", ")}) { return ${L.join(" && ")} }`}let G=[`description: '${H}'`,W];if(z?.text)G.push(`declaration ${z.text}`);return`Generic ${H}<${K.join(", ")}> {
@@ -384,7 +384,7 @@ Generic ${H}<${K.join(", ")}> {
384
384
  `,F=J?"yield* ":"return ";Y.push(`${B}${L}${_}${H}(${q.join(", ")})${R} { ${F}${K}(${I.join(", ")}) }`)}return Y}function y5(Z,$,X,Q){let H=Q;if(Z.typeParameters&&Z.typeParameters.length>0){let q=new Map;for(let I of Z.typeParameters)q.set(I.name.getText($),{constraint:I.constraint,default:I.default});H={...Q,typeParams:q}}let K=Z.name?.getText($)||"Anonymous",z=Z.heritageClauses?.find((q)=>q.token===j.SyntaxKind.ExtendsKeyword)?.types[0]?.expression?.getText($),W=new Map;for(let q of Z.members)if(j.isPropertyDeclaration(q)&&q.name){let I=q.name.getText($);if(q.modifiers?.some((R)=>R.kind===j.SyntaxKind.PrivateKeyword)&&!I.startsWith("#"))W.set(I,`#${I}`)}let G=(q)=>{let I=q;for(let[M,R]of W)I=I.replace(new RegExp(`(\\b\\w+)\\.${M}\\b`,"g"),`$1.${R}`);return I},J=[];for(let q of Z.members){if(j.isConstructorDeclaration(q)){let I=t1(q.parameters,$,X),M="{ }";if(q.body){let R=j.transpileModule(q.body.getText($),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}});M=G(R.outputText.trim())}J.push(` constructor(${I.join(", ")}) ${M}`)}if(j.isMethodDeclaration(q)&&q.name){let I=q.name.getText($),M=q.modifiers?.some((k)=>k.kind===j.SyntaxKind.StaticKeyword),R=q.modifiers?.some((k)=>k.kind===j.SyntaxKind.AsyncKeyword),P=t1(q.parameters,$,X,void 0,H),B=q.type?y(q.type,void 0,X,H):"",F=B&&B!=="undefined"&&B!=="any"?` -! ${B}`:"",N="{ }";if(q.body){let k=j.transpileModule(q.body.getText($),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}});N=G(k.outputText.trim())}let V=!!q.asteriskToken,w=M?"static ":"",C=R?"async ":"",O=V?"*":"";J.push(` ${w}${C}${O}${I}(${P.join(", ")})${F} ${N}`)}if(j.isGetAccessorDeclaration(q)&&q.name){let I=q.name.getText($),M=q.type?y(q.type,void 0,X,H):"",R=M&&M!=="undefined"&&M!=="any"&&!M.startsWith("new ")?` -> ${M}`:"",P="{ }";if(q.body){let B=j.transpileModule(q.body.getText($),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}});P=G(B.outputText.trim())}J.push(` get ${I}()${R} ${P}`)}if(j.isSetAccessorDeclaration(q)&&q.name){let I=q.name.getText($),M=t1(q.parameters,$,X),R="{ }";if(q.body){let P=j.transpileModule(q.body.getText($),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}});R=G(P.outputText.trim())}J.push(` set ${I}(${M.join(", ")}) ${R}`)}if(j.isPropertyDeclaration(q)&&q.name){let I=q.name.getText($),R=q.modifiers?.some((B)=>B.kind===j.SyntaxKind.StaticKeyword)?"static ":"",P=W.get(I)||I;if(q.initializer){let B=q.initializer.getText($),F=B.trimStart().startsWith("{")?`(${B})`:B,V=j.transpileModule(F,{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}}).outputText.trim();if(F!==B)V=V.replace(/^\(/,"").replace(/\);?\s*$/,"");J.push(` ${R}${P} = ${V}`)}else J.push(` ${R}${P}`)}}let _=Z.modifiers?.some((q)=>q.kind===j.SyntaxKind.ExportKeyword)?"export ":"",U=z?` extends ${z}`:"";return`${_}class ${K}${U} {
385
385
  ${J.join(`
386
386
  `)}
387
- }`}function t1(Z,$,X,Q,H){let K=[];for(let Y of Z){let z=Y.name.getText($);if(z==="this")continue;let W=!!Y.questionToken||!!Y.initializer,G=y(Y.type,void 0,X,H);if(Y.initializer){let J=Y.initializer.getText($);K.push(`${z} = ${J}`)}else if(G==="any"||G==="undefined"){if(K.push(z),Q&&Y.type){let J=Y.type.getText($);if(J!=="any"&&J!=="unknown")Q.push(`${z}: ${J}`)}}else if(W)K.push(`${z}: ${G} | undefined`);else K.push(`${z}: ${G}`)}return K}function J4(Z,$,X,Q){let H=Q;if(Z.typeParameters&&Z.typeParameters.length>0){let G=new Map;for(let J of Z.typeParameters)G.set(J.name.getText($),{constraint:J.constraint,default:J.default});H={...Q,typeParams:G}}let K=j.isFunctionDeclaration(Z)&&Z.name?Z.name.getText($):"anonymous",Y={};for(let G of Z.parameters){let J=G.name.getText($),L=!!G.questionToken||!!G.initializer,_=void 0;if(G.initializer){let U=G.initializer.getText($);try{_=JSON.parse(U)}catch{_=U}}Y[J]={type:o(G.type,H),required:!L,default:_}}let z={name:K,params:Y,returns:Z.type?o(Z.type,H):void 0},W=N5(Z,X);if(W)z.typeParams=W;return z}function h5(Z,$,X,Q){let H=Q;if(Z.typeParameters&&Z.typeParameters.length>0){let J=new Map;for(let L of Z.typeParameters)J.set(L.name.getText($),{constraint:L.constraint,default:L.default});H={...Q,typeParams:J}}let K=Z.name?.getText($)||"anonymous",Y={},z={},W;for(let J of Z.members){if(j.isConstructorDeclaration(J)){let L={};for(let _ of J.parameters){let U=_.name.getText($),q=!!_.questionToken||!!_.initializer,I=void 0;if(_.initializer){let M=_.initializer.getText($);try{I=JSON.parse(M)}catch{I=M}}L[U]={type:o(_.type,H),required:!q,default:I}}W={params:L}}if(j.isMethodDeclaration(J)&&J.name){let L=J.name.getText($),_=J.modifiers?.some((I)=>I.kind===j.SyntaxKind.StaticKeyword),U={};for(let I of J.parameters){let M=I.name.getText($),R=!!I.questionToken||!!I.initializer,P=void 0;if(I.initializer){let B=I.initializer.getText($);try{P=JSON.parse(B)}catch{P=B}}U[M]={type:o(I.type,H),required:!R,default:P}}let q={name:L,params:U,returns:J.type?o(J.type,H):void 0};if(_)z[L]=q;else Y[L]=q}}let G={name:K,methods:Y,staticMethods:z,constructor:W};if(Z.typeParameters&&Z.typeParameters.length>0){let J={};for(let L of Z.typeParameters){let _=L.name.getText($),U={};if(L.constraint)U.constraint=y(L.constraint,void 0,X,Q);if(L.default)U.default=y(L.default,void 0,X,Q);J[_]=U}G.typeParams=J}return G}function x5(Z){let $=[],X=/\/\*\s*@tjs-skip\s*\*\//g,Q;while((Q=X.exec(Z))!==null)$.push({index:Q.index,kind:"skip"});let H=/\/\*\s*@tjs\s+predicate(\([^)]*\)\s*\{[\s\S]*?\})\s*\*\//g;while((Q=H.exec(Z))!==null)$.push({index:Q.index,kind:"predicate",text:`predicate${Q[1].trim()}`});let K=/\/\*\s*@tjs\s+example:\s*([\s\S]*?)\s*\*\//g;while((Q=K.exec(Z))!==null)$.push({index:Q.index,kind:"example",text:Q[1].trim()});let Y=/\/\*\s*@tjs\s+declaration\s*(\{[\s\S]*?\})\s*\*\//g;while((Q=Y.exec(Z))!==null)$.push({index:Q.index,kind:"declaration",text:Q[1].trim()});return $.sort((z,W)=>z.index-W.index)}function u5(Z,$){let X=new Map;if(Z.length===0)return X;let Q=$.statements;for(let H=0;H<Q.length;H++){let K=Q[H],Y;if(j.isInterfaceDeclaration(K))Y=K.name.getText($);else if(j.isTypeAliasDeclaration(K))Y=K.name.getText($);else if(j.isEnumDeclaration(K))Y=K.name.getText($);if(!Y)continue;let z=K.getStart($),W=H>0?Q[H-1].getEnd():0,G=Z.filter((J)=>J.index>=W&&J.index<z);if(G.length>0)X.set(Y,G)}return X}function d5(Z){let $=[],X=/\/\*test\s+(['"`])([^'"`]*)\1\s*\{[\s\S]*?\}\s*\*\/|\/\*test\s*\{[\s\S]*?\}\s*\*\//g,Q;while((Q=X.exec(Z))!==null)$.push(Q[0]);return $}function l5(Z){let $=[],X=/\/\*#[\s\S]*?\*\//g,Q=0,H=null,K=[];for(let z=0;z<Z.length;z++){let W=Z[z],G=z>0?Z[z-1]:"";if(!H&&(W==='"'||W==="'"||W==="`"))H=W;else if(H&&W===H&&G!=="\\")H=null;if(!H){if(W==="{")Q++;if(W==="}")Q--}K[z]=Q}let Y;while((Y=X.exec(Z))!==null)if(K[Y.index]===0)$.push({content:Y[0],index:Y.index});return $}function m5(Z,$={}){let{emitTJS:X=!1,filename:Q="input.ts"}=$,H=[],K=d5(Z),Y=X?l5(Z):[],z=X?x5(Z):[],W=j.createSourceFile(Q,Z,j.ScriptTarget.Latest,!0),G=X?u5(z,W):new Map,J=[],L=new Set,_={},U={},q=new Set,I=(w)=>{for(let C=0;C<Y.length;C++){let O=Y[C];if(!q.has(C)&&O.index<w)J.push(O.content),q.add(C)}},M=new Map,R=new Map;function P(w){if(j.isTypeAliasDeclaration(w))M.set(w.name.getText(W),w.type);if(j.isInterfaceDeclaration(w)){let C=w.name.getText(W),O=R.get(C);if(O){let k=j.factory.updateInterfaceDeclaration(O,O.modifiers,O.name,O.typeParameters,O.heritageClauses,[...O.members,...w.members]);R.set(C,k)}else R.set(C,w)}j.forEachChild(w,P)}P(W);let B={typeAliases:M,interfaces:R,sourceFile:W,warnings:H},F=new Map;for(let w of W.statements)if(j.isFunctionDeclaration(w)&&w.name){let C=w.name.getText(W);if(!F.has(C))F.set(C,{signatures:[],implementation:null});let O=F.get(C);if(w.body)O.implementation=w;else O.signatures.push(w)}for(let[w,C]of F)if(C.signatures.length===0||!C.implementation)F.delete(w);for(let w of W.statements){let C=!1;if(X)I(w.getStart(W));if(j.isFunctionDeclaration(w)&&w.name){let O=w.name.getText(W);C=!0;let k=F.get(O);if(k)if(!w.body);else if(X)J.push(...f5(k.signatures,w,W,H));else{let S=[];for(let h of k.signatures)S.push(J4(h,W,H,B));let b=J4(w,W,H,B);b.overloads=S,_[O]=b}else if(X)J.push(v7(w,W,void 0,H,!0,B));else _[O]=J4(w,W,H,B)}if(j.isVariableStatement(w)){let O=!1,k=w.modifiers?.some((S)=>S.kind===j.SyntaxKind.ExportKeyword);for(let S of w.declarationList.declarations)if(j.isIdentifier(S.name)&&S.initializer&&(j.isArrowFunction(S.initializer)||j.isFunctionExpression(S.initializer))){O=!0;let b=S.name.getText(W),h=S.initializer;if(X){let u=v7(h,W,b,H,!0,B);if(k&&!u.includes("export ")){let U1=u.search(/^(async\s+)?function[\s*]/m);if(U1>0)u=u.slice(0,U1)+"export "+u.slice(U1);else u="export "+u}J.push(u)}else{let u=J4(h,W,H,B);u.name=b,_[b]=u}}if(!O&&X){let S=j.transpileModule(w.getText(W),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}});J.push(S.outputText.trim())}C=!0}if(j.isInterfaceDeclaration(w)){if(C=!0,X){let O=w.name.getText(W),k=G.get(O);if(!L.has(O))if(L.add(O),k?.some((S)=>S.kind==="skip"));else{let S=R.get(O)||w,b=E5(S,W,H,k);if(b){let h=w.modifiers?.some((u)=>u.kind===j.SyntaxKind.ExportKeyword);J.push(h?b.replace(/^(\/\*[\s\S]*?\*\/\s*)?/,"$1export "):b)}}}}if(j.isTypeAliasDeclaration(w)){if(C=!0,X){let O=w.name.getText(W),k=G.get(O);if(!L.has(O))if(L.add(O),k?.some((S)=>S.kind==="skip"));else{let S=g5(w,W,H,k);if(S){let b=w.modifiers?.some((h)=>h.kind===j.SyntaxKind.ExportKeyword);J.push(b?S.replace(/^(\/\*[\s\S]*?\*\/\s*)?/,"$1export "):S)}}}}if(j.isEnumDeclaration(w)){if(C=!0,X){let O=w.name.getText(W),k=G.get(O);if(!L.has(O))if(L.add(O),k?.some((S)=>S.kind==="skip"));else{let S=k5(w,W,H);if(S)J.push(S)}}}if(j.isClassDeclaration(w)&&w.name){let O=w.name.getText(W);if(C=!0,X){let k=y5(w,W,H);J.push(k)}else U[O]=h5(w,W,H,B)}if(j.isImportDeclaration(w)){if(C=!0,X){if(!(w.importClause?.isTypeOnly||w.importClause?.namedBindings&&j.isNamedImports(w.importClause.namedBindings)&&w.importClause.namedBindings.elements.every((k)=>k.isTypeOnly)))if(w.importClause?.namedBindings&&j.isNamedImports(w.importClause.namedBindings)){let k=w.importClause.namedBindings.elements.filter((S)=>!S.isTypeOnly).map((S)=>{let b=S.name.getText(W),h=S.propertyName?.getText(W);return h?`${h} as ${b}`:b});if(k.length>0){let S=w.moduleSpecifier.text;J.push(`import { ${k.join(", ")} } from '${S}'`)}}else{let S=w.getText(W).replace(/\btype\s+/g,"").replace(/\s*:\s*\w+/g,"");J.push(S)}}}if(j.isExportDeclaration(w)||j.isExportAssignment(w)){if(C=!0,X){let k=j.transpileModule(w.getText(W),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}}).outputText.trim();if(k)J.push(k)}}if(!C&&X){let k=j.transpileModule(w.getText(W),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}}).outputText.trim();if(k)J.push(k)}}if(X){I(1/0);let C=`/* tjs <- ${Q||"unknown"} */
387
+ }`}function t1(Z,$,X,Q,H){let K=[];for(let Y of Z){let z=Y.name.getText($);if(z==="this")continue;let W=!!Y.dotDotDotToken,G=!!Y.questionToken||!!Y.initializer,J=y(Y.type,void 0,X,H);if(W)if(J==="any"||J==="undefined")K.push(`...${z}: [null]`);else K.push(`...${z}: ${J}`);else if(Y.initializer){let L=Y.initializer.getText($);K.push(`${z} = ${L}`)}else if(J==="any"||J==="undefined"){if(K.push(z),Q&&Y.type){let L=Y.type.getText($);if(L!=="any"&&L!=="unknown")Q.push(`${z}: ${L}`)}}else if(G)K.push(`${z}: ${J} | undefined`);else K.push(`${z}: ${J}`)}return K}function J4(Z,$,X,Q){let H=Q;if(Z.typeParameters&&Z.typeParameters.length>0){let G=new Map;for(let J of Z.typeParameters)G.set(J.name.getText($),{constraint:J.constraint,default:J.default});H={...Q,typeParams:G}}let K=j.isFunctionDeclaration(Z)&&Z.name?Z.name.getText($):"anonymous",Y={};for(let G of Z.parameters){let J=G.name.getText($),L=!!G.questionToken||!!G.initializer,_=void 0;if(G.initializer){let U=G.initializer.getText($);try{_=JSON.parse(U)}catch{_=U}}Y[J]={type:o(G.type,H),required:!L,default:_}}let z={name:K,params:Y,returns:Z.type?o(Z.type,H):void 0},W=N5(Z,X);if(W)z.typeParams=W;return z}function h5(Z,$,X,Q){let H=Q;if(Z.typeParameters&&Z.typeParameters.length>0){let J=new Map;for(let L of Z.typeParameters)J.set(L.name.getText($),{constraint:L.constraint,default:L.default});H={...Q,typeParams:J}}let K=Z.name?.getText($)||"anonymous",Y={},z={},W;for(let J of Z.members){if(j.isConstructorDeclaration(J)){let L={};for(let _ of J.parameters){let U=_.name.getText($),q=!!_.questionToken||!!_.initializer,I=void 0;if(_.initializer){let M=_.initializer.getText($);try{I=JSON.parse(M)}catch{I=M}}L[U]={type:o(_.type,H),required:!q,default:I}}W={params:L}}if(j.isMethodDeclaration(J)&&J.name){let L=J.name.getText($),_=J.modifiers?.some((I)=>I.kind===j.SyntaxKind.StaticKeyword),U={};for(let I of J.parameters){let M=I.name.getText($),R=!!I.questionToken||!!I.initializer,P=void 0;if(I.initializer){let B=I.initializer.getText($);try{P=JSON.parse(B)}catch{P=B}}U[M]={type:o(I.type,H),required:!R,default:P}}let q={name:L,params:U,returns:J.type?o(J.type,H):void 0};if(_)z[L]=q;else Y[L]=q}}let G={name:K,methods:Y,staticMethods:z,constructor:W};if(Z.typeParameters&&Z.typeParameters.length>0){let J={};for(let L of Z.typeParameters){let _=L.name.getText($),U={};if(L.constraint)U.constraint=y(L.constraint,void 0,X,Q);if(L.default)U.default=y(L.default,void 0,X,Q);J[_]=U}G.typeParams=J}return G}function x5(Z){let $=[],X=/\/\*\s*@tjs-skip\s*\*\//g,Q;while((Q=X.exec(Z))!==null)$.push({index:Q.index,kind:"skip"});let H=/\/\*\s*@tjs\s+predicate(\([^)]*\)\s*\{[\s\S]*?\})\s*\*\//g;while((Q=H.exec(Z))!==null)$.push({index:Q.index,kind:"predicate",text:`predicate${Q[1].trim()}`});let K=/\/\*\s*@tjs\s+example:\s*([\s\S]*?)\s*\*\//g;while((Q=K.exec(Z))!==null)$.push({index:Q.index,kind:"example",text:Q[1].trim()});let Y=/\/\*\s*@tjs\s+declaration\s*(\{[\s\S]*?\})\s*\*\//g;while((Q=Y.exec(Z))!==null)$.push({index:Q.index,kind:"declaration",text:Q[1].trim()});return $.sort((z,W)=>z.index-W.index)}function u5(Z,$){let X=new Map;if(Z.length===0)return X;let Q=$.statements;for(let H=0;H<Q.length;H++){let K=Q[H],Y;if(j.isInterfaceDeclaration(K))Y=K.name.getText($);else if(j.isTypeAliasDeclaration(K))Y=K.name.getText($);else if(j.isEnumDeclaration(K))Y=K.name.getText($);if(!Y)continue;let z=K.getStart($),W=H>0?Q[H-1].getEnd():0,G=Z.filter((J)=>J.index>=W&&J.index<z);if(G.length>0)X.set(Y,G)}return X}function d5(Z){let $=[],X=/\/\*test\s+(['"`])([^'"`]*)\1\s*\{[\s\S]*?\}\s*\*\/|\/\*test\s*\{[\s\S]*?\}\s*\*\//g,Q;while((Q=X.exec(Z))!==null)$.push(Q[0]);return $}function l5(Z){let $=[],X=/\/\*#[\s\S]*?\*\//g,Q=0,H=null,K=[];for(let z=0;z<Z.length;z++){let W=Z[z],G=z>0?Z[z-1]:"";if(!H&&(W==='"'||W==="'"||W==="`"))H=W;else if(H&&W===H&&G!=="\\")H=null;if(!H){if(W==="{")Q++;if(W==="}")Q--}K[z]=Q}let Y;while((Y=X.exec(Z))!==null)if(K[Y.index]===0)$.push({content:Y[0],index:Y.index});return $}function m5(Z,$={}){let{emitTJS:X=!1,filename:Q="input.ts"}=$,H=[],K=d5(Z),Y=X?l5(Z):[],z=X?x5(Z):[],W=j.createSourceFile(Q,Z,j.ScriptTarget.Latest,!0),G=X?u5(z,W):new Map,J=[],L=new Set,_={},U={},q=new Set,I=(w)=>{for(let C=0;C<Y.length;C++){let O=Y[C];if(!q.has(C)&&O.index<w)J.push(O.content),q.add(C)}},M=new Map,R=new Map;function P(w){if(j.isTypeAliasDeclaration(w))M.set(w.name.getText(W),w.type);if(j.isInterfaceDeclaration(w)){let C=w.name.getText(W),O=R.get(C);if(O){let k=j.factory.updateInterfaceDeclaration(O,O.modifiers,O.name,O.typeParameters,O.heritageClauses,[...O.members,...w.members]);R.set(C,k)}else R.set(C,w)}j.forEachChild(w,P)}P(W);let B={typeAliases:M,interfaces:R,sourceFile:W,warnings:H},F=new Map;for(let w of W.statements)if(j.isFunctionDeclaration(w)&&w.name){let C=w.name.getText(W);if(!F.has(C))F.set(C,{signatures:[],implementation:null});let O=F.get(C);if(w.body)O.implementation=w;else O.signatures.push(w)}for(let[w,C]of F)if(C.signatures.length===0||!C.implementation)F.delete(w);for(let w of W.statements){let C=!1;if(X)I(w.getStart(W));if(j.isFunctionDeclaration(w)&&w.name){let O=w.name.getText(W);C=!0;let k=F.get(O);if(k)if(!w.body);else if(X)J.push(...f5(k.signatures,w,W,H));else{let S=[];for(let h of k.signatures)S.push(J4(h,W,H,B));let b=J4(w,W,H,B);b.overloads=S,_[O]=b}else if(X)J.push(v7(w,W,void 0,H,!0,B));else _[O]=J4(w,W,H,B)}if(j.isVariableStatement(w)){let O=!1,k=w.modifiers?.some((S)=>S.kind===j.SyntaxKind.ExportKeyword);for(let S of w.declarationList.declarations)if(j.isIdentifier(S.name)&&S.initializer&&(j.isArrowFunction(S.initializer)||j.isFunctionExpression(S.initializer))){O=!0;let b=S.name.getText(W),h=S.initializer;if(X){let u=v7(h,W,b,H,!0,B);if(k&&!u.includes("export ")){let U1=u.search(/^(async\s+)?function[\s*]/m);if(U1>0)u=u.slice(0,U1)+"export "+u.slice(U1);else u="export "+u}J.push(u)}else{let u=J4(h,W,H,B);u.name=b,_[b]=u}}if(!O&&X){let S=j.transpileModule(w.getText(W),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}});J.push(S.outputText.trim())}C=!0}if(j.isInterfaceDeclaration(w)){if(C=!0,X){let O=w.name.getText(W),k=G.get(O);if(!L.has(O))if(L.add(O),k?.some((S)=>S.kind==="skip"));else{let S=R.get(O)||w,b=E5(S,W,H,k);if(b){let h=w.modifiers?.some((u)=>u.kind===j.SyntaxKind.ExportKeyword);J.push(h?b.replace(/^(\/\*[\s\S]*?\*\/\s*)?/,"$1export "):b)}}}}if(j.isTypeAliasDeclaration(w)){if(C=!0,X){let O=w.name.getText(W),k=G.get(O);if(!L.has(O))if(L.add(O),k?.some((S)=>S.kind==="skip"));else{let S=g5(w,W,H,k);if(S){let b=w.modifiers?.some((h)=>h.kind===j.SyntaxKind.ExportKeyword);J.push(b?S.replace(/^(\/\*[\s\S]*?\*\/\s*)?/,"$1export "):S)}}}}if(j.isEnumDeclaration(w)){if(C=!0,X){let O=w.name.getText(W),k=G.get(O);if(!L.has(O))if(L.add(O),k?.some((S)=>S.kind==="skip"));else{let S=k5(w,W,H);if(S)J.push(S)}}}if(j.isClassDeclaration(w)&&w.name){let O=w.name.getText(W);if(C=!0,X){let k=y5(w,W,H);J.push(k)}else U[O]=h5(w,W,H,B)}if(j.isImportDeclaration(w)){if(C=!0,X){if(!(w.importClause?.isTypeOnly||w.importClause?.namedBindings&&j.isNamedImports(w.importClause.namedBindings)&&w.importClause.namedBindings.elements.every((k)=>k.isTypeOnly)))if(w.importClause?.namedBindings&&j.isNamedImports(w.importClause.namedBindings)){let k=w.importClause.namedBindings.elements.filter((S)=>!S.isTypeOnly).map((S)=>{let b=S.name.getText(W),h=S.propertyName?.getText(W);return h?`${h} as ${b}`:b});if(k.length>0){let S=w.moduleSpecifier.text;J.push(`import { ${k.join(", ")} } from '${S}'`)}}else{let S=w.getText(W).replace(/\btype\s+/g,"").replace(/\s*:\s*\w+/g,"");J.push(S)}}}if(j.isExportDeclaration(w)||j.isExportAssignment(w)){if(C=!0,X){let k=j.transpileModule(w.getText(W),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}}).outputText.trim();if(k)J.push(k)}}if(!C&&X){let k=j.transpileModule(w.getText(W),{compilerOptions:{target:j.ScriptTarget.ESNext,module:j.ModuleKind.ESNext,removeComments:!1}}).outputText.trim();if(k)J.push(k)}}if(X){I(1/0);let C=`/* tjs <- ${Q||"unknown"} */
388
388
 
389
389
  `,O=K.length>0?`
390
390
 
@@ -421,4 +421,4 @@ ${H.signature}
421
421
  Supported: comparisons, &&, ||, !, arithmetic, member access (a.b), literals`)}return Q.node}function WX(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++],H="";while(X<Z.length&&Z[X]!==Q)if(Z[X]==="\\"&&X+1<Z.length)X++,H+=Z[X++];else H+=Z[X++];X++,$.push(JSON.stringify(H));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 Z8(Z,$,X){return GX(Z,$,X)}function GX(Z,$,X){let{node:Q,pos:H}=a7(Z,$,X);while(Z[H]==="||"){H++;let{node:K,pos:Y}=a7(Z,H,X);Q={$expr:"logical",op:"||",left:Q,right:K},H=Y}return{node:Q,pos:H}}function a7(Z,$,X){let{node:Q,pos:H}=r7(Z,$,X);while(Z[H]==="&&"){H++;let{node:K,pos:Y}=r7(Z,H,X);Q={$expr:"logical",op:"&&",left:Q,right:K},H=Y}return{node:Q,pos:H}}function r7(Z,$,X){let{node:Q,pos:H}=t7(Z,$,X),K=["==","!=",">","<",">=","<="];while(K.includes(Z[H])){let Y=Z[H++],{node:z,pos:W}=t7(Z,H,X);Q={$expr:"binary",op:Y,left:Q,right:z},H=W}return{node:Q,pos:H}}function t7(Z,$,X){let{node:Q,pos:H}=e7(Z,$,X);while(Z[H]==="+"||Z[H]==="-"){let K=Z[H++],{node:Y,pos:z}=e7(Z,H,X);Q={$expr:"binary",op:K,left:Q,right:Y},H=z}return{node:Q,pos:H}}function e7(Z,$,X){let{node:Q,pos:H}=_6(Z,$,X);while(Z[H]==="*"||Z[H]==="/"||Z[H]==="%"){let K=Z[H++],{node:Y,pos:z}=_6(Z,H,X);Q={$expr:"binary",op:K,left:Q,right:Y},H=z}return{node:Q,pos:H}}function _6(Z,$,X){if(Z[$]==="!"||Z[$]==="-"){let Q=Z[$++],{node:H,pos:K}=_6(Z,$,X);return{node:{$expr:"unary",op:Q,argument:H},pos:K}}return JX(Z,$,X)}function JX(Z,$,X){let Q=Z[$];if(Q==="("){let{node:H,pos:K}=Z8(Z,$+1,X);return{node:H,pos:K+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 H={$expr:"ident",name:Q},K=$+1;while(Z[K]==="."){K++;let Y=Z[K++];H={$expr:"member",object:H,property:Y}}return{node:H,pos:K}}return{node:{$expr:"literal",value:null},pos:$+1}}class $1{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(H)=>{let K=$.atoms[X];return $.add(K.create(H)),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 H=new $1(this.atoms);X(H);let K;if(Q){let W=new $1(this.atoms);Q(W),K=W.steps}let Y=R4(Z,$),z=this.atoms.if;return this.add(z.create({condition:Y,then:H.steps,else:K}))}while(Z,$,X){let Q=new $1(this.atoms);X(Q);let H=R4(Z,$),K=this.atoms.while;return this.add(K.create({condition:H,body:Q.steps}))}scope(Z){let $=new $1(this.atoms);Z($);let X=this.atoms.scope;return this.add(X.create({steps:$.steps}))}map(Z,$,X){let Q=new $1(this.atoms);X(Q);let H=this.atoms.map;return this.add(H.create({items:Z,as:$,steps:Q.steps}))}filter(Z,$,X,Q={}){let H=R4(X,Q),K=this.atoms.filter;return this.add(K.create({items:Z,as:$,condition:H}))}find(Z,$,X,Q={}){let H=R4(X,Q),K=this.atoms.find;return this.add(K.create({items:Z,as:$,condition:H}))}reduce(Z,$,X,Q,H){let K=new $1(this.atoms);H(K);let Y=this.atoms.reduce;return this.add(Y.create({items:Z,as:$,accumulator:X,initial:Q,steps:K.steps}))}memoize(Z,$){let X=new $1(this.atoms);Z(X);let Q=this.atoms.memoize;return this.add(Q.create({key:$,steps:X.steps}))}cache(Z,$,X){let Q=new $1(this.atoms);Z(Q);let H=this.atoms.cache;return this.add(H.create({key:$,steps:Q.steps,ttlMs:X}))}try(Z){let $=new $1(this.atoms);Z.try($);let X;if(Z.catch){let H=new $1(this.atoms);Z.catch(H),X=H.steps}let Q=this.atoms.try;return this.add(Q.create({try:$.steps,catch:X}))}}var _X={take(Z){return new $1(B4)},custom(Z){return new $1(Z)},args(Z){return{$kind:"arg",path:Z}},val(Z){return Z}},mH=_X;import{validate as LX}from"tosijs-schema";function P0(Z,$={}){let{ast:X,returnType:Q,originalSource:H,requiredParams:K}=j1(Z,{filename:$.filename,colonShorthand:!0,vmTarget:!0}),Y=h0(X,$.filename),{ast:z,signature:W,warnings:G}=U0(Y,H,Q,$,K);return{ast:z,signature:W,warnings:G}}var UX=10;class L6{atoms;constructor(Z={}){this.atoms={...B4,...Z}}get builder(){return new $1(this.atoms)}get Agent(){return new $1(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(W6(Z))Q=G6(Z);else try{Q=P0(Z).ast}catch(U){throw Error(`AJS transpilation failed: ${U.message}`)}else Q=Z;let H=X.fuel??1000,K=X.timeoutMs??H*UX,Y=X.capabilities??{},z=[];if(!Y.store){let U=new Map,q=!1;Y.store={get:async(I)=>{if(!q)q=!0,z.push("Using default in-memory store (not suitable for production)");return U.get(I)},set:async(I,M)=>{if(!q)q=!0,z.push("Using default in-memory store (not suitable for production)");U.set(I,M)}}}let W=new AbortController,G=setTimeout(()=>W.abort(),K);if(X.signal)X.signal.addEventListener("abort",()=>W.abort());let J={fuel:{current:H},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&&!LX($,L)){let U=new Y1("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,q)=>{if(W.signal.addEventListener("abort",()=>{q(Error(`Execution timeout after ${K}ms (fuel: ${H}). Consider increasing fuel or optimizing your agent.`))}),W.signal.aborted)q(Error(`Execution timeout after ${K}ms (fuel: ${H}). Consider increasing fuel or optimizing your agent.`))})])}catch(U){if(U.message?.includes("timeout")||U.message?.includes("aborted")||W.signal.aborted)J.error=new Y1(`Execution timeout after ${K}ms (fuel: ${H}). 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:H-J.fuel.current,trace:J.trace,warnings:_.length>0?_:void 0}}}var qX=null,$8=()=>qX??=new L6;function l1(Z){if(!Z||typeof Z!=="object")return;if(Array.isArray(Z)){for(let $ of Z)l1($);return}if(Z.op==="return"&&"value"in Z)Z.value={__result:Z.value};if(Z.steps)l1(Z.steps);if(Z.then)l1(Z.then);if(Z.else)l1(Z.else);if(Z.body)l1(Z.body)}async function DX(Z){let{code:$,context:X={},fuel:Q=1000,timeoutMs:H,capabilities:K={}}=Z,Y=$8(),W=/\breturn\b/.test($)?`function __eval() { ${$} }`:`function __eval() { return (${$}) }`;try{let{ast:G}=P0(W);l1(G);let J=await Y.run(G,X,{fuel:Q,timeoutMs:H,capabilities:K}),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 AX(Z){let{body:$,params:X=[],fuel:Q=1000,timeoutMs:H,capabilities:K={}}=Z,Y=$8(),W=`function __safeFn(${X.join(", ")}) { ${$} }`,{ast:G}=P0(W);return l1(G),async(...J)=>{let L={};for(let _=0;_<X.length;_++)L[X[_]]=J[_];try{let _=await Y.run(G,L,{fuel:Q,timeoutMs:H,capabilities:K}),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 w4(Z,$={}){let{ast:X,returnType:Q,originalSource:H,requiredParams:K}=j1(Z,{filename:$.filename,colonShorthand:!0,vmTarget:!0}),Y=h0(X,$.filename),{ast:z,signature:W,warnings:G}=U0(Y,H,Q,$,K);return{ast:z,signature:W,warnings:G}}function zK(Z,...$){if(typeof Z==="string")return w4(Z).ast;let X=Z.reduce((Q,H,K)=>Q+H+($[K]!==void 0?String($[K]):""),"");return w4(X).ast}function GK(Z,$,...X){if(typeof Z==="string")return j0(Z,$);let Q=$!==void 0?[$,...X]:X,H=Z.reduce((K,Y,z)=>K+Y+(Q[z]!==void 0?String(Q[z]):""),"");return j0(H)}async function JK(Z,$={},X){let Q=X??await U4(),H=await Q.getTranspile(Z);if(H)return{ast:H.ast,signature:H.signature,warnings:H.warnings};let K=w4(Z,$);return Q.setTranspile(Z,{ast:K.ast,signature:K.signature,warnings:K.warnings}),K}async function _K(Z,$={},X){let Q=X??await U4(),H=await Q.getTJS(Z);if(H)return{code:H.code,types:H.types,metadata:H.types,testRunner:H.testRunner,testCount:H.testCount,warnings:H.warnings};let K=j0(Z,$);return Q.setTJS(Z,{code:K.code,types:K.types,testRunner:K.testRunner,testCount:K.testCount,warnings:K.warnings}),K}function LK(Z,$,X){let{ast:Q,signature:H}=w4(Z),K=async(Y)=>{return(await $.run(Q,Y,X)).result};return K.signature=H,K.ast=Q,K}function UK(Z){return Object.entries(Z).map(([$,X])=>{let Q=X.signature,H={},K=[];for(let[Y,z]of Object.entries(Q.parameters)){if(H[Y]=M4(z.type),z.description)H[Y].description=z.description;if(z.required)K.push(Y)}return{type:"function",function:{name:Q.name||$,description:Q.description,parameters:{type:"object",properties:H,required:K}}}})}function M4(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?M4(Z.items):{}};case"object":if(!Z.shape)return{type:"object"};return{type:"object",properties:Object.fromEntries(Object.entries(Z.shape).map(([$,X])=>[$,M4(X)]))};case"union":if(!Z.members)return{};return{anyOf:Z.members.map(M4)};case"any":default:return{}}}import{s as f}from"tosijs-schema";var X8=g("storeVectorize",f.object({text:f.string,model:f.string.optional}),f.array(f.number),async({text:Z},$)=>{let X=$.capabilities.vector;if(!X)throw Error("Capability 'vector' missing. Ensure vector battery is loaded.");let Q=E(Z,$);return X.embed(Q)},{docs:"Generate embeddings using vector battery",cost:20}),Q8=g("storeCreateCollection",f.object({collection:f.string,dimension:f.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 H=E(Z,X),K=E($,X);return Q.createCollection(H,void 0,K)},{docs:"Create a vector store collection",cost:5}),H8=g("storeVectorAdd",f.object({collection:f.string,doc:f.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 H=E(Z,X),K=E($,X);return Q.vectorAdd(H,K)},{docs:"Add a document to a vector store collection",cost:5}),K8=g("storeSearch",f.object({collection:f.string,queryVector:f.array(f.number),k:f.number.optional,filter:f.record(f.any).optional}),f.array(f.any),async({collection:Z,queryVector:$,k:X,filter:Q},H)=>{let K=H.capabilities.store;if(!K?.vectorSearch)throw Error("Capability 'store' missing or does not support vectorSearch.");let Y=E(Z,H),z=E($,H),W=E(X,H)??5,G=E(Q,H);return K.vectorSearch(Y,z,W,G)},{docs:"Search vector store",cost:(Z,$)=>5+(E(Z.k,$)??5)}),Y8=g("llmPredictBattery",f.object({system:f.string.optional,user:f.string,tools:f.array(f.any).optional,responseFormat:f.any.optional}),f.object({role:f.string.optional,content:f.string.optional,tool_calls:f.array(f.any).optional}),async({system:Z,user:$,tools:X,responseFormat:Q},H)=>{let K=H.capabilities.llmBattery;if(!K?.predict)throw Error("Capability 'llmBattery' missing or invalid.");let Y=E(Z,H)??"You are a helpful agent.",z=E($,H),W=E(X,H),G=E(Q,H);return K.predict(Y,z,W,G)},{docs:"Generate completion using LLM battery",cost:100}),z8=g("llmVision",f.object({system:f.string.optional,prompt:f.string,images:f.array(f.string),responseFormat:f.any.optional}),f.object({role:f.string.optional,content:f.string.optional,tool_calls:f.array(f.any).optional}),async({system:Z,prompt:$,images:X,responseFormat:Q},H)=>{let K=H.capabilities.llmBattery;if(!K?.predict)throw Error("Capability 'llmBattery' missing or invalid.");let Y=E(Z,H)??"You analyze images accurately and concisely.",z=E($,H),W=E(X,H)??[],G=E(Q,H);return K.predict(Y,{text:z,images:W},void 0,G)},{docs:"Analyze images using a vision model",timeoutMs:120000,cost:150});var vK={storeCreateCollection:Q8,storeSearch:K8,storeVectorAdd:H8,storeVectorize:X8,llmPredictBattery:Y8,llmVision:z8};var W8=new Map,j4=new Map;function IX(Z,$){if(Z.length!==$.length)throw Error("Vectors must have the same length for cosine similarity.");let X=0,Q=0,H=0;for(let K=0;K<Z.length;K++)X+=Z[K]*$[K],Q+=Z[K]*Z[K],H+=$[K]*$[K];if(Q=Math.sqrt(Q),H=Math.sqrt(H),Q===0||H===0)return 0;return X/(Q*H)}function U6(){return{async get(Z){return W8.get(Z)},async set(Z,$){W8.set(Z,$)},async createCollection(Z,$,X){if(j4.has(Z))console.warn(`Collection '${Z}' already exists. Overwriting.`);j4.set(Z,[])},async vectorAdd(Z,$){let X=j4.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=j4.get(Z);if(!Q)throw Error(`Collection '${Z}' not found. Create it first.`);let H=Q.map((K)=>({doc:K,score:IX($,K.embedding)}));return H.sort((K,Y)=>Y.score-K.score),H.slice(0,X).map((K)=>K.doc)}}}function BX(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 RX="http://localhost:1234/v1";function G8(Z,$=RX){return{async predict(X,Q,H,K){try{let Y=K?Z.getStructuredLLM():Z.getLLM(),z=[{role:"system",content:X},BX(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:H,response_format:K})});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(),H=await fetch(`${$}/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:Q.id,input:X})});if(!H.ok)throw Error(`Embedding Error: ${H.status}`);return(await H.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 V0=typeof window<"u"&&typeof window.localStorage<"u";async function jX(Z){try{if(V0){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(() => (A6(),D6))).join(process.cwd(),".models.cache.json");try{let H=await $.readFile(Q,"utf-8"),K=JSON.parse(H);if(K.baseUrl!==Z)return null;if(Date.now()-K.timestamp>86400000)return null;return K.models}catch{return null}}}catch($){return console.warn("⚠️ Error reading model cache:",$),null}}async function FX(Z,$){let X={timestamp:Date.now(),baseUrl:Z,models:$};try{if(V0)window.localStorage.setItem(".models.cache.json",JSON.stringify(X));else{let Q=await import("node:fs/promises"),K=(await Promise.resolve().then(() => (A6(),D6))).join(process.cwd(),".models.cache.json");await Q.writeFile(K,JSON.stringify(X,null,2))}}catch(Q){console.error("❌ Error writing model cache:",Q)}}var C0=async(Z,$)=>{let X=new AbortController,Q=setTimeout(()=>X.abort(),60000);try{let H=await fetch(Z,{...$,signal:X.signal});return clearTimeout(Q),H}catch(H){throw clearTimeout(Q),H}};async function PX(Z,$){try{let X={type:"json_schema",json_schema:{name:"test",strict:!1,schema:{type:"object",properties:{status:{type:"string"}}}}},Q=await C0(`${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 VX(Z,$);return{ok:!1,msg:`HTTP ${Q.status}`}}let H=await Q.json();return JSON.parse(H.choices[0].message.content),{ok:!0,msg:"OK (Schema)"}}catch(X){return{ok:!1,msg:X.message||"Error"}}}async function VX(Z,$){try{if((await C0(`${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 CX(Z,$){try{return(await C0(`${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 OX(Z,$){try{let X=await C0(`${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 NX="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==";async function EX(Z,$){try{return(await C0(`${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:NX}}]}],max_tokens:10})})).ok}catch{return!1}}async function F8(Z){let $=await jX(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=[],H=X.map((Y)=>({id:Y})),K;if(!V0)K=await import("node:readline");for(let Y of H){if(!V0&&K)K.cursorTo(process.stdout,0),process.stdout.write(`\uD83D\uDC49 Testing: ${Y.id}...`),K.clearLine(process.stdout,1);let z="Unknown",W=!1,G=!1,J="",L=void 0,_=await CX(Z,Y.id),U=await OX(Z,Y.id);if(U)L=U;if(_){z="LLM";let q=await PX(Z,Y.id);if(W=q.ok,G=await EX(Z,Y.id),J=W?q.msg:`Fail: ${q.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(!V0&&K)K.cursorTo(process.stdout,0),K.clearLine(process.stdout,0);return console.log(`
422
422
  `),console.table(Q),await FX(Z,Q),console.log("\uD83D\uDCDD Audit results saved to cache."),Q}var TX="http://localhost:1234/v1";class I6{baseUrl;models=[];defaultLLM=null;defaultEmbedding=null;defaultStructuredLLM=null;constructor(Z=TX){this.baseUrl=Z}async audit(){this.models=await F8(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 H=this.models.find((K)=>K.id===Z&&X(K));if(!H)throw Error(`Model '${Z}' not found or is not ${Q}.`);this[$]=H}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 SX=typeof window<"u",kX=SX&&window.location.protocol==="https:",O0=null,B6=null,P8=!1;async function gX(){if(P8)return{localModels:O0,llm:B6};if(P8=!0,kX)return console.log("\uD83D\uDCE1 HTTPS detected - local LLM endpoints disabled. Use HTTP for local LLM support."),{localModels:null,llm:null};try{O0=new I6,await O0.audit(),B6=G8(O0)}catch(Z){console.warn("⚠️ Could not connect to local LLM:",Z)}return{localModels:O0,llm:B6}}async function bX(){let{localModels:Z,llm:$}=await gX();return{vector:$?{embed:$.embed}:void 0,store:U6(),llmBattery:$,models:Z}}async function pK(){return bX()}var nK={store:U6(),llmBattery:null,vector:void 0,models:null};function vX(Z){if(typeof Z!=="string")return!1;let $=new Date(Z);return!isNaN($.getTime())&&Z.includes("T")}function fX(){return new Date().toISOString()}function $0(Z,$,X,Q=0,H=0,K=0,Y=0){return new Date(Date.UTC(Z,$-1,X,Q,H,K,Y)).toISOString()}function V8(Z){let $=new Date(Z);if(isNaN($.getTime()))throw Error(`Invalid date string: ${Z}`);return $.toISOString()}function yX(Z){try{return V8(Z)}catch{return null}}function N0(Z,$){let X=new Date(Z);return X.setTime(X.getTime()+$),X.toISOString()}function hX(Z,$){return N0(Z,$*1000)}function xX(Z,$){return N0(Z,$*60*1000)}function uX(Z,$){return N0(Z,$*60*60*1000)}function C8(Z,$){return N0(Z,$*24*60*60*1000)}function dX(Z,$){return C8(Z,$*7)}function lX(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 T1(Z,$){return new Date(Z).getTime()-new Date($).getTime()}function iX(Z,$){return Math.floor(T1(Z,$)/1000)}function pX(Z,$){return Math.floor(T1(Z,$)/60000)}function nX(Z,$){return Math.floor(T1(Z,$)/3600000)}function cX(Z,$){return Math.floor(T1(Z,$)/86400000)}function X0(Z){return new Date(Z).getUTCFullYear()}function P4(Z){return new Date(Z).getUTCMonth()+1}function R6(Z){return new Date(Z).getUTCDate()}function oX(Z){return new Date(Z).getUTCHours()}function sX(Z){return new Date(Z).getUTCMinutes()}function aX(Z){return new Date(Z).getUTCSeconds()}function rX(Z){return new Date(Z).getUTCMilliseconds()}function tX(Z){let $=new Date(Z).getUTCDay();return $===0?7:$}function V4(Z,$,X){let Q=new Date(Z),H={timeZone:$,...X};return new Intl.DateTimeFormat(void 0,H).format(Q)}function eX(Z,$){return V4(Z,$,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}function ZQ(Z,$){return V4(Z,$,{year:"numeric",month:"short",day:"numeric"})}function $Q(Z,$){return V4(Z,$,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function XQ(Z){return Z.slice(0,10)}function O8(Z,$){return T1(Z,$)<0}function N8(Z,$){return T1(Z,$)>0}function QQ(Z,$){return T1(Z,$)===0}function HQ(Z,$){return O8(Z,$)?Z:$}function KQ(Z,$){return N8(Z,$)?Z:$}function YQ(Z){return $0(X0(Z),P4(Z),R6(Z))}function zQ(Z){return $0(X0(Z),P4(Z),R6(Z),23,59,59,999)}function WQ(Z){return $0(X0(Z),P4(Z),1)}function GQ(Z){let $=new Date(Z);return $.setUTCMonth($.getUTCMonth()+1,0),$.setUTCHours(23,59,59,999),$.toISOString()}function JQ(Z){return $0(X0(Z),1,1)}function _Q(Z){return $0(X0(Z),12,31,23,59,59,999)}var Q0={isValid:vX,now:fX,from:$0,parse:V8,tryParse:yX,addMilliseconds:N0,addSeconds:hX,addMinutes:xX,addHours:uX,addDays:C8,addWeeks:dX,addMonths:lX,addYears:mX,diff:T1,diffSeconds:iX,diffMinutes:pX,diffHours:nX,diffDays:cX,year:X0,month:P4,day:R6,hour:oX,minute:sX,second:aX,millisecond:rX,dayOfWeek:tX,toLocal:V4,format:eX,formatDate:ZQ,formatTime:$Q,toDate:XQ,isBefore:O8,isAfter:N8,isEqual:QQ,min:HQ,max:KQ,startOfDay:YQ,endOfDay:zQ,startOfMonth:WQ,endOfMonth:GQ,startOfYear:JQ,endOfYear:_Q};function M6(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 H=[31,28,31,30,31,30,31,31,30,31,30,31],K=X===2&&($%4===0&&$%100!==0||$%400===0)?29:H[X-1];return Q<=K}function LQ(){return Q0.toDate(Q0.now())}function UQ(Z){let $=new Date;return new Intl.DateTimeFormat("en-CA",{timeZone:Z,year:"numeric",month:"2-digit",day:"2-digit"}).format($)}function L1(Z,$,X){let Q=String(Z).padStart(4,"0"),H=String($).padStart(2,"0"),K=String(X).padStart(2,"0"),Y=`${Q}-${H}-${K}`;if(!M6(Y))throw Error(`Invalid date: ${Z}-${$}-${X}`);return Y}function E8(Z){if(/^\d{4}-\d{2}-\d{2}$/.test(Z)){if(!M6(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,H=$.getUTCDate();return L1(X,Q,H)}function qQ(Z){try{return E8(Z)}catch{return null}}function C4(Z,$){let X=S8(Z);return Q0.toDate(Q0.addDays(X,$))}function DQ(Z,$){return C4(Z,$*7)}function AQ(Z,$){let X=Q1(Z),Q=S1(Z),H=w6(Z),K=X*12+(Q-1)+$,Y=Math.floor(K/12),z=K%12+1,W=E0(Y,z),G=Math.min(H,W);return L1(Y,z,G)}function IQ(Z,$){let X=Q1(Z),Q=S1(Z),H=w6(Z),K=X+$,Y=E0(K,Q),z=Math.min(H,Y);return L1(K,Q,z)}function T8(Z,$){let Q=new Date(Z+"T00:00:00Z").getTime(),H=new Date($+"T00:00:00Z").getTime();return Math.round((Q-H)/86400000)}function BQ(Z,$){let X=Q1(Z),Q=S1(Z),H=Q1($),K=S1($);return(X-H)*12+(Q-K)}function RQ(Z,$){return Q1(Z)-Q1($)}function Q1(Z){return parseInt(Z.slice(0,4),10)}function S1(Z){return parseInt(Z.slice(5,7),10)}function w6(Z){return parseInt(Z.slice(8,10),10)}function j6(Z){let $=new Date(Z+"T00:00:00Z").getUTCDay();return $===0?7:$}function MQ(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 wQ(Z){let $=L1(Q1(Z),1,1);return T8(Z,$)+1}function F6(Z){return Math.ceil(S1(Z)/3)}function P6(Z){return Z%4===0&&Z%100!==0||Z%400===0}function E0(Z,$){let X=[31,28,31,30,31,30,31,31,30,31,30,31];if($===2&&P6(Z))return 29;return X[$-1]}function jQ(Z){return P6(Z)?366:365}function S8(Z){return Z+"T00:00:00.000Z"}function FQ(Z){return Math.floor(new Date(Z+"T00:00:00Z").getTime()/1000)}function PQ(Z){let $=new Date(Z*1000);return L1($.getUTCFullYear(),$.getUTCMonth()+1,$.getUTCDate())}function V6(Z,$){let X=new Date(Z+"T00:00:00Z"),Q={timeZone:"UTC",...$};return new Intl.DateTimeFormat(void 0,Q).format(X)}function VQ(Z){return V6(Z,{year:"numeric",month:"long",day:"numeric"})}function CQ(Z){return V6(Z,{year:"numeric",month:"short",day:"numeric"})}function OQ(Z,$){return Z<$}function NQ(Z,$){return Z>$}function EQ(Z,$){return Z===$}function TQ(Z,$){return Z<$?Z:$}function SQ(Z,$){return Z>$?Z:$}function kQ(Z,$,X){return Z>=$&&Z<=X}function gQ(Z){return L1(Q1(Z),S1(Z),1)}function bQ(Z){let $=Q1(Z),X=S1(Z);return L1($,X,E0($,X))}function vQ(Z){let X=(F6(Z)-1)*3+1;return L1(Q1(Z),X,1)}function fQ(Z){let X=F6(Z)*3;return L1(Q1(Z),X,E0(Q1(Z),X))}function yQ(Z){return L1(Q1(Z),1,1)}function hQ(Z){return L1(Q1(Z),12,31)}function xQ(Z){let $=j6(Z);return C4(Z,-($-1))}function uQ(Z){let $=j6(Z);return C4(Z,7-$)}var dQ={isValid:M6,today:LQ,todayIn:UQ,from:L1,parse:E8,tryParse:qQ,addDays:C4,addWeeks:DQ,addMonths:AQ,addYears:IQ,diff:T8,diffMonths:BQ,diffYears:RQ,year:Q1,month:S1,day:w6,dayOfWeek:j6,weekOfYear:MQ,dayOfYear:wQ,quarter:F6,isLeapYear:P6,daysInMonth:E0,daysInYear:jQ,toTimestamp:S8,toUnix:FQ,fromUnix:PQ,format:V6,formatLong:VQ,formatShort:CQ,isBefore:OQ,isAfter:NQ,isEqual:EQ,min:TQ,max:SQ,isBetween:kQ,startOfMonth:gQ,endOfMonth:bQ,startOfQuarter:vQ,endOfQuarter:fQ,startOfYear:yQ,endOfYear:hQ,startOfWeek:xQ,endOfWeek:uQ};export{s$ as xmlParse,o4 as wrap,L$ as whileLoop,l$ as vectorSearch,M$ as varsLet,R$ as varsImport,w$ as varsExport,A$ as varSet,B$ as varGet,c4 as validateArgs,e$ as uuid,g4 as typeToString,n1 as typeOf,a1 as typeDescriptorToTS,q$ as tryCatch,JK as transpileWithCache,j0 as transpileToJS,p$ as transpileCode,w4 as transpile,U0 as transformFunction,_K as tjsWithCache,GK as tjs,jZ as testUtils,S$ as template,j7 as stripTjsPreamble,Y4 as stripModuleSyntax,u$ as storeSet,d$ as storeQuery,QX as storeProcedure,x$ as storeGet,E$ as split,o5 as setGlobalCache,_1 as seq,j$ as scope,f1 as runtime,n$ as runCode,U$ as ret,E as resolveValue,G6 as resolveProcedureToken,HX as releaseProcedure,E7 as registerWasmBlock,k$ as regexMatch,V$ as reduce,t$ as random,O$ as push,Z0 as procedureStore,y0 as preprocess,g$ as pick,Q7 as parseReturnType,C1 as parseParameter,j1 as parse,b$ as omit,v$ as merge,a$ as memoize,F$ as map,p8 as lookupVariable,m$ as llmPredict,r5 as lint,N$ as len,f$ as keys,o$ as jsonStringify,c$ as jsonParse,T$ as join,y4 as isValidUrl,h4 as isValidTimestamp,x4 as isValidLegalDate,O1 as isRuntimeType,W6 as isProcedureToken,F1 as isError,$$ as isAgentError,N7 as instantiateWasm,s4 as installRuntime,K1 as inferTypeFromValue,_$ as iff,p5 as hashSourceSync,L4 as hashSource,J6 as hash,UK as getToolDefinitions,U6 as getStoreCapabilityDefault,pK as getStandardCapabilities,n as getLocation,G8 as getLLMCapability,U4 as getGlobalCache,bX as getBatteries,Z$ as generateDocsMarkdown,d7 as generateDocs,V5 as generateDTS,m5 as fromTS,C$ as find,P$ as filter,h$ as fetch,v4 as extractTests,J0 as extractTDoc,B1 as extractLiteralValue,G7 as expectFunction,s as evaluateExpr,D$ as errorAtom,M1 as error,hZ as emitRuntimeWrapper,g as defineAtom,E1 as createChildScope,G1 as createChildContext,LK as createAgent,B4 as coreAtoms,I$ as constSet,$X as consoleWarn,ZX as consoleLog,XX as consoleError,G5 as compileWasmBlocks,G4 as compileToWasm,KX as clearExpiredProcedures,y1 as checkType,r$ as cache,V1 as builtins,vK as batteryAtoms,nK as batteries,W7 as assertFunction,zK as ajs,i$ as agentRun,t0 as Union,$1 as TypedBuilder,i8 as TypeError,a as Type,p as TranspileError,u4 as TimestampType,Q0 as Timestamp,s0 as TUuid,o0 as TUrl,d0 as TString,$4 as TRecord,p0 as TPositiveInt,Z4 as TPair,l0 as TNumber,n0 as TNonEmptyString,X1 as TJS_VERSION,i0 as TInteger,c0 as TEmail,m0 as TBoolean,e0 as TArray,H1 as SyntaxError,i5 as Schema,AX as SafeFunction,z6 as PROCEDURE_TOKEN_PREFIX,r0 as Optional,a0 as Nullable,H6 as MetadataCache,I6 as LocalModels,d4 as LegalDateType,dQ as LegalDate,i1 as Generic,q0 as FunctionPredicate,DX as Eval,X4 as Enum,X$ as DEFAULT_PROCEDURE_TTL,Q$ as DEFAULT_MAX_AST_SIZE,L6 as AgentVM,Y1 as AgentError,_X as Agent,mH as A99};
423
423
 
424
- //# debugId=885A2A67DBBC843D64756E2164756E21
424
+ //# debugId=CE1BBDC713DB655F64756E2164756E21