@code0-tech/triangulum 0.24.0 → 0.24.2

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.
@@ -1,9 +1,9 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("typescript");c=s(c,1);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}var u=!1;try{u=typeof localStorage<`u`}catch{}var d=typeof process<`u`,f=u&&typeof localStorage.getItem==`function`&&localStorage.getItem(`DEBUG`)||d&&process.env.DEBUG?console.log:function(e){return``};function p(e,t,n,r,i){r===void 0&&(r={});var a=l({},g(n),r),o=y(e,t,a,n,i),s=o.languageServiceHost,c=o.updateFile,u=o.deleteFile,d=n.createLanguageService(s),f=d.getCompilerOptionsDiagnostics();if(f.length){var p=v(e,r,n);throw Error(n.formatDiagnostics(f,p.compilerHost))}return{name:`vfs`,sys:e,languageService:d,getSourceFile:function(e){return d.getProgram()?.getSourceFile(e)},createFile:function(e,t){c(n.createSourceFile(e,t,a.target,!1))},updateFile:function(e,t,r){var i=d.getProgram().getSourceFile(e);if(!i)throw Error(`Did not find a source file for `+e);var a=i.text,o=r??n.createTextSpan(0,a.length),s=a.slice(0,o.start)+t+a.slice(o.start+o.length);c(n.updateSourceFile(i,s,{span:o,newLength:t.length}))},deleteFile:function(e){var t=d.getProgram().getSourceFile(e);t&&u(t)}}}function m(e){throw Error(`Method '`+e+`' is not implemented.`)}function h(e,t){return function(){for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=t.apply(void 0,r),o=typeof a==`string`?a.slice(0,80)+`...`:a;return f.apply(void 0,[`> `+e].concat(r)),f(`< `+o),a}}var g=function(e){return l({},e.getDefaultCompilerOptions(),{jsx:e.JsxEmit.React,strict:!0,esModuleInterop:!0,module:e.ModuleKind.ESNext,suppressOutputPathCheck:!0,skipLibCheck:!0,skipDefaultLibCheck:!0},e.versionMajorMinor&&Number(e.versionMajorMinor.split(`.`)[0])>=6?{ignoreDeprecations:`6.0`}:{moduleResolution:e.ModuleResolutionKind.NodeJs})},_=function(e){return e.replace(`/`,`/lib.`).toLowerCase()};function ee(e){return{args:[],createDirectory:function(){return m(`createDirectory`)},directoryExists:h(`directoryExists`,function(t){return Array.from(e.keys()).some(function(e){return e.startsWith(t)})}),exit:function(){return m(`exit`)},fileExists:h(`fileExists`,function(t){return e.has(t)||e.has(_(t))}),getCurrentDirectory:function(){return`/`},getDirectories:function(){return[]},getExecutingFilePath:function(){return m(`getExecutingFilePath`)},readDirectory:h(`readDirectory`,function(t){return t===`/`?Array.from(e.keys()):[]}),readFile:h(`readFile`,function(t){return e.get(t)??e.get(_(t))}),resolvePath:function(e){return e},newLine:`
2
- `,useCaseSensitiveFileNames:!0,write:function(){return m(`write`)},writeFile:function(t,n){e.set(t,n)},deleteFile:function(t){e.delete(t)}}}function v(e,t,n){var r=new Map,i=function(e){return r.set(e.fileName,e),e};return{compilerHost:l({},e,{getCanonicalFileName:function(e){return e},getDefaultLibFileName:function(){return`/`+n.getDefaultLibFileName(t)},getNewLine:function(){return e.newLine},getSourceFile:function(a,o){return r.get(a)||i(n.createSourceFile(a,e.readFile(a),o??t.target??g(n).target,!1))},useCaseSensitiveFileNames:function(){return e.useCaseSensitiveFileNames}}),updateFile:function(t){var n=r.has(t.fileName);return e.writeFile(t.fileName,t.text),r.set(t.fileName,t),n},deleteFile:function(t){var n=r.has(t.fileName);return r.delete(t.fileName),e.deleteFile(t.fileName),n}}}function y(e,t,n,r,i){var a=[].concat(t),o=v(e,n,r),s=o.compilerHost,c=o.updateFile,u=o.deleteFile,d=new Map,f=0;return{languageServiceHost:l({},s,{getProjectVersion:function(){return f.toString()},getCompilationSettings:function(){return n},getCustomTransformers:function(){return i},getScriptFileNames:function(){return a.slice()},getScriptSnapshot:function(t){var n=e.readFile(t);if(n&&typeof n==`string`)return r.ScriptSnapshot.fromString(n)},getScriptVersion:function(e){return d.get(e)||`0`},writeFile:e.writeFile}),updateFile:function(e){f++,d.set(e.fileName,f.toString()),a.includes(e.fileName)||a.push(e.fileName),c(e)},deleteFile:function(e){f++,d.set(e.fileName,f.toString());var t=a.indexOf(e.fileName);t!==-1&&a.splice(t,1),u(e)}}}function te(e){return ne.test(e)}var ne=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function b(e,t,n,r){let i=x(n);return a(typeof t==`function`?t.call({"":e},``,e):e,``);function a(e,t){if(Array.isArray(r)){let t=r.find(t=>t.test(e));if(t){let n=t.stringify(e);if(typeof n!=`string`||!te(n))throw Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${n})`);return n}}if(typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e===null||e instanceof Date||e instanceof Boolean||e instanceof Number||e instanceof String)return JSON.stringify(e);if(e?.isLosslessNumber||typeof e==`bigint`)return e.toString();if(Array.isArray(e))return o(e,t);if(e&&typeof e==`object`)return s(e,t)}function o(e,n){if(e.length===0)return`[]`;let r=i?n+i:void 0,o=i?`[
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("typescript");c=s(c,1);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}var u=!1;try{u=typeof localStorage<`u`}catch{}var d=typeof process<`u`,f=u&&typeof localStorage.getItem==`function`&&localStorage.getItem(`DEBUG`)||d&&process.env.DEBUG?console.log:function(e){return``};function p(e,t,n,r,i){r===void 0&&(r={});var a=l({},g(n),r),o=ee(e,t,a,n,i),s=o.languageServiceHost,c=o.updateFile,u=o.deleteFile,d=n.createLanguageService(s),f=d.getCompilerOptionsDiagnostics();if(f.length){var p=y(e,r,n);throw Error(n.formatDiagnostics(f,p.compilerHost))}return{name:`vfs`,sys:e,languageService:d,getSourceFile:function(e){return d.getProgram()?.getSourceFile(e)},createFile:function(e,t){c(n.createSourceFile(e,t,a.target,!1))},updateFile:function(e,t,r){var i=d.getProgram().getSourceFile(e);if(!i)throw Error(`Did not find a source file for `+e);var a=i.text,o=r??n.createTextSpan(0,a.length),s=a.slice(0,o.start)+t+a.slice(o.start+o.length);c(n.updateSourceFile(i,s,{span:o,newLength:t.length}))},deleteFile:function(e){var t=d.getProgram().getSourceFile(e);t&&u(t)}}}function m(e){throw Error(`Method '`+e+`' is not implemented.`)}function h(e,t){return function(){for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var a=t.apply(void 0,r),o=typeof a==`string`?a.slice(0,80)+`...`:a;return f.apply(void 0,[`> `+e].concat(r)),f(`< `+o),a}}var g=function(e){return l({},e.getDefaultCompilerOptions(),{jsx:e.JsxEmit.React,strict:!0,esModuleInterop:!0,module:e.ModuleKind.ESNext,suppressOutputPathCheck:!0,skipLibCheck:!0,skipDefaultLibCheck:!0},e.versionMajorMinor&&Number(e.versionMajorMinor.split(`.`)[0])>=6?{ignoreDeprecations:`6.0`}:{moduleResolution:e.ModuleResolutionKind.NodeJs})},_=function(e){return e.replace(`/`,`/lib.`).toLowerCase()};function v(e){return{args:[],createDirectory:function(){return m(`createDirectory`)},directoryExists:h(`directoryExists`,function(t){return Array.from(e.keys()).some(function(e){return e.startsWith(t)})}),exit:function(){return m(`exit`)},fileExists:h(`fileExists`,function(t){return e.has(t)||e.has(_(t))}),getCurrentDirectory:function(){return`/`},getDirectories:function(){return[]},getExecutingFilePath:function(){return m(`getExecutingFilePath`)},readDirectory:h(`readDirectory`,function(t){return t===`/`?Array.from(e.keys()):[]}),readFile:h(`readFile`,function(t){return e.get(t)??e.get(_(t))}),resolvePath:function(e){return e},newLine:`
2
+ `,useCaseSensitiveFileNames:!0,write:function(){return m(`write`)},writeFile:function(t,n){e.set(t,n)},deleteFile:function(t){e.delete(t)}}}function y(e,t,n){var r=new Map,i=function(e){return r.set(e.fileName,e),e};return{compilerHost:l({},e,{getCanonicalFileName:function(e){return e},getDefaultLibFileName:function(){return`/`+n.getDefaultLibFileName(t)},getNewLine:function(){return e.newLine},getSourceFile:function(a,o){return r.get(a)||i(n.createSourceFile(a,e.readFile(a),o??t.target??g(n).target,!1))},useCaseSensitiveFileNames:function(){return e.useCaseSensitiveFileNames}}),updateFile:function(t){var n=r.has(t.fileName);return e.writeFile(t.fileName,t.text),r.set(t.fileName,t),n},deleteFile:function(t){var n=r.has(t.fileName);return r.delete(t.fileName),e.deleteFile(t.fileName),n}}}function ee(e,t,n,r,i){var a=[].concat(t),o=y(e,n,r),s=o.compilerHost,c=o.updateFile,u=o.deleteFile,d=new Map,f=0;return{languageServiceHost:l({},s,{getProjectVersion:function(){return f.toString()},getCompilationSettings:function(){return n},getCustomTransformers:function(){return i},getScriptFileNames:function(){return a.slice()},getScriptSnapshot:function(t){var n=e.readFile(t);if(n&&typeof n==`string`)return r.ScriptSnapshot.fromString(n)},getScriptVersion:function(e){return d.get(e)||`0`},writeFile:e.writeFile}),updateFile:function(e){f++,d.set(e.fileName,f.toString()),a.includes(e.fileName)||a.push(e.fileName),c(e)},deleteFile:function(e){f++,d.set(e.fileName,f.toString());var t=a.indexOf(e.fileName);t!==-1&&a.splice(t,1),u(e)}}}function b(e){return x.test(e)}var x=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function S(e,t,n,r){let i=te(n);return a(typeof t==`function`?t.call({"":e},``,e):e,``);function a(e,t){if(Array.isArray(r)){let t=r.find(t=>t.test(e));if(t){let n=t.stringify(e);if(typeof n!=`string`||!b(n))throw Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${n})`);return n}}if(typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e===null||e instanceof Date||e instanceof Boolean||e instanceof Number||e instanceof String)return JSON.stringify(e);if(e?.isLosslessNumber||typeof e==`bigint`)return e.toString();if(Array.isArray(e))return o(e,t);if(e&&typeof e==`object`)return s(e,t)}function o(e,n){if(e.length===0)return`[]`;let r=i?n+i:void 0,o=i?`[
3
3
  `:`[`;for(let n=0;n<e.length;n++){let s=typeof t==`function`?t.call(e,String(n),e[n]):e[n];i&&(o+=r),s!==void 0&&typeof s!=`function`?o+=a(s,r):o+=`null`,n<e.length-1&&(o+=i?`,
4
- `:`,`)}return o+=i?`\n${n}]`:`]`,o}function s(e,r){if(typeof e.toJSON==`function`)return b(e.toJSON(),t,n,void 0);let o=Array.isArray(t)?t.map(String):Object.keys(e);if(o.length===0)return`{}`;let s=i?r+i:void 0,l=!0,u=i?`{
4
+ `:`,`)}return o+=i?`\n${n}]`:`]`,o}function s(e,r){if(typeof e.toJSON==`function`)return S(e.toJSON(),t,n,void 0);let o=Array.isArray(t)?t.map(String):Object.keys(e);if(o.length===0)return`{}`;let s=i?r+i:void 0,l=!0,u=i?`{
5
5
  `:`{`;for(let n of o){let r=typeof t==`function`?t.call(e,n,e[n]):e[n];if(c(n,r)){l?l=!1:u+=i?`,
6
- `:`,`;let e=JSON.stringify(n);u+=i?`${s+e}: `:`${e}:`,u+=a(r,s)}}return u+=i?`\n${r}}`:`}`,u}function c(e,t){return t!==void 0&&typeof t!=`function`&&typeof t!=`symbol`}}function x(e){if(typeof e==`number`)return` `.repeat(e);if(typeof e==`string`&&e!==``)return e}var S=`
6
+ `:`,`;let e=JSON.stringify(n);u+=i?`${s+e}: `:`${e}:`,u+=a(r,s)}}return u+=i?`\n${r}}`:`}`,u}function c(e,t){return t!==void 0&&typeof t!=`function`&&typeof t!=`symbol`}}function te(e){if(typeof e==`number`)return` `.repeat(e);if(typeof e==`string`&&e!==``)return e}var C=`
7
7
  interface Array<T> {
8
8
  [n: number]: T;
9
9
  length: number;
@@ -23,33 +23,33 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
23
23
  }
24
24
 
25
25
  import ReturnType = Utils.ReturnType;
26
- `;function C(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,S),p(ee(n),[e,`lib.codezero.d.ts`],c.default,re)}var re={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function w(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]))).map(e=>`type ${e} = ${t};`).join(`
26
+ `;function w(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,C),p(v(n),[e,`lib.codezero.d.ts`],c.default,T)}var T={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function E(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]))).map(e=>`type ${e} = ${t};`).join(`
27
27
  `),i=e?.map(e=>`type ${e.identifier}${(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``} = ${e.type};`).join(`
28
- `);return`${n?r:``}\n${i}`}var T=e=>e?.replace(/[^a-zA-Z0-9]/g,`_`);function E(e,t,n,r=!1){let i=e?.nodes?.nodes||[],a=new Map(t?.map(e=>[e.identifier,e])),o=new Set,s=(t,n=``)=>{let c=i.find(e=>e?.id===t);if(!c||!c.functionDefinition)return``;if(t?.includes(`NodeFunction`)&&o.add(t),!a.get(c.functionDefinition.identifier))return`${n}// Error: Function ${c.functionDefinition.identifier} not found\n`;let l=(c.parameters?.nodes||[]).map((i,a)=>{let o=i.value;if(!o)return r?`/* @pos ${t} ${a} */ {}`:`/* @pos ${t} ${a} */ undefined`;if(o.__typename===`ReferenceValue`){let n=o,r=typeof n.inputIndex==`number`?`p_${T(n.nodeFunctionId??`undefined`)}_${n.parameterIndex}[${n.inputIndex}]`:n.nodeFunctionId?`node_${T(n.nodeFunctionId)}`:`flow_${T(e?.id??`undefined`)}`;return n.referencePath?.forEach(e=>{r+=`?.${e.path}`}),`/* @pos ${t} ${a} */ ${r}`}if(o.__typename===`LiteralValue`)return`/* @pos ${t} ${a} */ ${b(o?.value)}`;if(o.__typename===`SubFlowValue`){let e=o;return`/* @pos ${t} ${a} */ (...${`p_${T(t)}_${a}`}) => {\n${s(e.startingNodeId||e.functionDefinition?.id,n+` `)}${n}}`}return r?`/* @pos ${t} ${a} */ {}`:`/* @pos ${t} ${a} */ undefined`}),u=`node_${T(c.id)}`,d=`fn_${c?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;l.includes(`undefined`);let f=`${n}`;return c.functionDefinition.identifier===`std::control::return`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`return ${u};\n`):c.functionDefinition.identifier===`std::control::if`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`if(${l[0]}) {
28
+ `);return`${n?r:``}\n${i}`}var D=e=>e?.replace(/[^a-zA-Z0-9]/g,`_`);function O(e,t,n,r=!1){let i=e?.nodes?.nodes||[],a=new Map(t?.map(e=>[e.identifier,e])),o=new Set,s=(t,n=``)=>{let c=i.find(e=>e?.id===t);if(!c||!c.functionDefinition)return``;if(t?.includes(`NodeFunction`)&&o.add(t),!a.get(c.functionDefinition.identifier))return`${n}// Error: Function ${c.functionDefinition.identifier} not found\n`;let l=(c.parameters?.nodes||[]).map((i,a)=>{let o=i.value;if(!o)return r?`/* @pos ${t} ${a} */ {}`:`/* @pos ${t} ${a} */ undefined`;if(o.__typename===`ReferenceValue`){let n=o,r=typeof n.inputIndex==`number`?`p_${D(n.nodeFunctionId??`undefined`)}_${n.parameterIndex}[${n.inputIndex}]`:n.nodeFunctionId?`node_${D(n.nodeFunctionId)}`:`flow_${D(e?.id??`undefined`)}`;return n.referencePath?.forEach(e=>{r+=`?.${e.path}`}),`/* @pos ${t} ${a} */ ${r}`}if(o.__typename===`LiteralValue`)return`/* @pos ${t} ${a} */ ${S(o?.value)}`;if(o.__typename===`SubFlowValue`){let e=o;return`/* @pos ${t} ${a} */ (...${`p_${D(t)}_${a}`}) => {\n${s(e.startingNodeId||e.functionDefinition?.id,n+` `)}${n}}`}return r?`/* @pos ${t} ${a} */ {}`:`/* @pos ${t} ${a} */ undefined`}),u=`node_${D(c.id)}`,d=`fn_${c?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;l.includes(`undefined`);let f=`${n}`;return c.functionDefinition.identifier===`std::control::return`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`return ${u};\n`):c.functionDefinition.identifier===`std::control::if`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`if(${l[0]}) {
29
29
  ${s(c.parameters?.nodes?.[1]?.value?.startingNodeId||(c.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
30
30
  }`):c.functionDefinition.identifier===`std::control::if_else`?(f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,f+=`if(${l[0]}) {
31
31
  ${s(c.parameters?.nodes?.[1]?.value?.startingNodeId||(c.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
32
32
  } else {
33
33
  ${s(c.parameters?.nodes?.[2]?.value?.startingNodeId||(c.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier,n+` `)}
34
- }`):f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,c.nextNodeId&&(f+=s(c.nextNodeId,n)),f},c=w(n),l=`declare function flow${e?.signature??`(): void`}`,u=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
34
+ }`):f+=`const ${u} = /* @pos ${t} null */ ${d}(${l.join(`, `)}) ;\n`,c.nextNodeId&&(f+=s(c.nextNodeId,n)),f},c=E(n),l=`declare function flow${e?.signature??`(): void`}`,u=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
35
35
  `),d=new Set(i.map(e=>e?.nextNodeId).filter(e=>!!e)),f=new Set;return i.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`SubFlowValue`&&(e.value.startingNodeId||e.value.functionDefinition?.id)&&f.add(e.value.startingNodeId||e.value.functionDefinition?.id)})),`
36
36
  ${c}\n
37
37
  ${l}\n
38
38
  ${u}\n
39
39
  (() =>
40
- ${e?`const flow_${T(e.id??``)} = /* @pos null null */ flow(${e.settings?.nodes?.map((e,t)=>`/* @pos null ${t} */ ${b(e?.value)}`).join(`, `)??``});`:``}
40
+ ${e?`const flow_${D(e.id??``)} = /* @pos null null */ flow(${e.settings?.nodes?.map((e,t)=>`/* @pos null ${t} */ ${S(e?.value)}`).join(`, `)??``});`:``}
41
41
  ${i.filter(e=>e?.id&&!d.has(e.id)&&!f.has(e.id)).map(e=>s(e.id)).join(`
42
42
  `)}
43
43
  )();
44
- `}var ie=(e,t)=>{let n=b(e?.value);if(!n)return`any`;let r=`
45
- ${w(t,`unknown`)}
44
+ `}var ne=(e,t)=>{let n=S(e?.value);if(!n)return`any`;let r=`
45
+ ${E(t,`unknown`)}
46
46
  const tempValue = ${n??`any`};
47
- `,i=`index.ts`,a=C(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getTypeChecker(),l=`any`,u=e=>{if(c.default.isVariableDeclaration(e)&&e.name.getText()===`tempValue`){let t=s.getTypeAtLocation(e),n=s.getSymbolsInScope(e,c.default.SymbolFlags.TypeAlias),r=t=>{if(t.isUnion()){let e=t.types.map(r);return Array.from(new Set(e)).sort().join(` | `)}if(s.isArrayType(t)){let e=t.typeArguments||[],n=e.length>0?r(e[0]):`any`;return e[0]?.isUnion()?`(${n})[]`:`${n}[]`}if(t.getFlags()&c.default.TypeFlags.Object||t.isClassOrInterface()){let n=s.getPropertiesOfType(t);if(n.length>0)return`{ ${n.map(t=>{let n=s.getTypeOfSymbolAtLocation(t,e);return`${t.getName()}: ${r(n)}`}).join(`, `)} }`}let i=n.filter(e=>s.isTypeAssignableTo(t,s.getDeclaredTypeOfSymbol(e)));return i.length>0?i.sort((e,t)=>{let n=s.getDeclaredTypeOfSymbol(e),r=s.getDeclaredTypeOfSymbol(t),i=s.isTypeAssignableTo(n,r),a=s.isTypeAssignableTo(r,n);return i&&!a?-1:a&&!i?1:e.getName().length-t.getName().length||e.getName().localeCompare(t.getName())})[0].getName():s.typeToString(t,e)};l=r(t)}c.default.forEachChild(e,u)};return u(o),l},ae=(e,t)=>{let n=`
48
- ${w(t)}
47
+ `,i=`index.ts`,a=w(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getTypeChecker(),l=`any`,u=e=>{if(c.default.isVariableDeclaration(e)&&e.name.getText()===`tempValue`){let t=s.getTypeAtLocation(e),n=s.getSymbolsInScope(e,c.default.SymbolFlags.TypeAlias),r=t=>{if(t.isUnion()){let e=t.types.map(r);return Array.from(new Set(e)).sort().join(` | `)}if(s.isArrayType(t)){let e=t.typeArguments||[],n=e.length>0?r(e[0]):`any`;return e[0]?.isUnion()?`(${n})[]`:`${n}[]`}if(t.getFlags()&c.default.TypeFlags.Object||t.isClassOrInterface()){let n=s.getPropertiesOfType(t);if(n.length>0)return`{ ${n.map(t=>{let n=s.getTypeOfSymbolAtLocation(t,e);return`${t.getName()}: ${r(n)}`}).join(`, `)} }`}let i=n.filter(e=>s.isTypeAssignableTo(t,s.getDeclaredTypeOfSymbol(e)));return i.length>0?i.sort((e,t)=>{let n=s.getDeclaredTypeOfSymbol(e),r=s.getDeclaredTypeOfSymbol(t),i=s.isTypeAssignableTo(n,r),a=s.isTypeAssignableTo(r,n);return i&&!a?-1:a&&!i?1:e.getName().length-t.getName().length||e.getName().localeCompare(t.getName())})[0].getName():s.typeToString(t,e)};l=r(t)}c.default.forEachChild(e,u)};return u(o),l},re=(e,t)=>{let n=`
48
+ ${E(t)}
49
49
  type Target = ${e};
50
- `,r=`index.ts`,i=C(r,n),a=i.getSourceFile(r),o=i.languageService.getProgram().getTypeChecker(),s=a.statements.find(e=>c.default.isTypeAliasDeclaration(e)&&e.name.text===`Target`);if(!s)return{__typename:`LiteralValue`,value:null};let l=o.getTypeAtLocation(s.type),u=(e,t,n=new Set)=>{let r=new Set(n);if(r.has(e))return null;let i=e.getFlags();if(e.isUnion()){if(t.type,c.default.isTypeAliasDeclaration(t)&&t.type&&c.default.isUnionTypeNode(t.type))return u(o.getTypeFromTypeNode(t.type.types[0]),t,r);let n=e.types.filter(e=>{let t=e.getFlags();return!(t&c.default.TypeFlags.Undefined)&&!(t&c.default.TypeFlags.Null)});return u(n.length>0?n[0]:e.types[0],t,r)}if(i&c.default.TypeFlags.StringLiteral)return e.value;if(i&c.default.TypeFlags.String)return``;if(i&c.default.TypeFlags.NumberLiteral)return e.value;if(i&c.default.TypeFlags.Number)return 0;if(i&c.default.TypeFlags.BooleanLiteral)return e.intrinsicName===`true`;if(i&c.default.TypeFlags.Boolean)return!1;if(o.isArrayType(e)){r.add(e);let n=u(e.typeArguments?.[0]||o.getAnyType(),t,r);return n===null?[]:[n]}if(e.isClassOrInterface()||i&c.default.TypeFlags.Object||e.getProperties().length>0){r.add(e);let n={};return e.getProperties().forEach(e=>{let i=o.getTypeOfSymbolAtLocation(e,t),a=e.valueDeclaration;i&&(n[e.getName()]=u(i,a||t,r))}),n}return null};return{__typename:`LiteralValue`,value:u(l,s)}},D=(e,t,n)=>{if(!e?.startingNodeId)return{isValid:!1,returnType:`void`,diagnostics:[{nodeId:null,parameterIndex:null,code:0,message:`You need to provide a starting node to be able to execute this flow.`,severity:`error`}]};if(!e.nodes?.nodes?.find(t=>t?.id==e.startingNodeId))return{isValid:!1,returnType:`void`,diagnostics:[{nodeId:null,parameterIndex:null,code:0,message:`The starting node is not linked within the flow. Please make sure the starting node is connected to the rest of the flow.`,severity:`error`}]};let r=E(e,t,n),i=`index.ts`,a=C(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getSemanticDiagnostics(o).map(e=>{let t=(0,c.flattenDiagnosticMessageText)(e.messageText,`
51
- `),n,r=null;if(e.start!==void 0){let t=o.getFullText(),i=Math.max(0,e.start-300),a=Math.min(t.length,e.start),s=t.substring(i,a),c=/\/\* @pos ([^ ]+) (\d+|null) \*\//g,l,u=null,d=-1;for(;(l=c.exec(s))!==null;){let t=i+l.index+l[0].length;t<=e.start&&t>d&&(d=t,u=l)}u&&(n=u[1]===`null`?null:u[1],r=parseInt(u[2],10))}return{message:t,code:e.code,severity:`error`,nodeId:n,parameterIndex:typeof r==`number`&&Number.isSafeInteger(r)?r:null}}).filter(e=>e!==null);return{isValid:!s.some(e=>e?.severity===`error`),returnType:`void`,diagnostics:s}},O=(e,t,n)=>{let r=b(t?.value),i=`
52
- ${w(n)}
50
+ `,r=`index.ts`,i=w(r,n),a=i.getSourceFile(r),o=i.languageService.getProgram().getTypeChecker(),s=a.statements.find(e=>c.default.isTypeAliasDeclaration(e)&&e.name.text===`Target`);if(!s)return{__typename:`LiteralValue`,value:null};let l=o.getTypeAtLocation(s.type),u=(e,t,n=new Set)=>{let r=new Set(n);if(r.has(e))return null;let i=e.getFlags();if(e.isUnion()){if(t.type,c.default.isTypeAliasDeclaration(t)&&t.type&&c.default.isUnionTypeNode(t.type))return u(o.getTypeFromTypeNode(t.type.types[0]),t,r);let n=e.types.filter(e=>{let t=e.getFlags();return!(t&c.default.TypeFlags.Undefined)&&!(t&c.default.TypeFlags.Null)});return u(n.length>0?n[0]:e.types[0],t,r)}if(i&c.default.TypeFlags.StringLiteral)return e.value;if(i&c.default.TypeFlags.String)return``;if(i&c.default.TypeFlags.NumberLiteral)return e.value;if(i&c.default.TypeFlags.Number)return 0;if(i&c.default.TypeFlags.BooleanLiteral)return e.intrinsicName===`true`;if(i&c.default.TypeFlags.Boolean)return!1;if(o.isArrayType(e)){r.add(e);let n=u(e.typeArguments?.[0]||o.getAnyType(),t,r);return n===null?[]:[n]}if(e.isClassOrInterface()||i&c.default.TypeFlags.Object||e.getProperties().length>0){r.add(e);let n={};return e.getProperties().forEach(e=>{let i=o.getTypeOfSymbolAtLocation(e,t),a=e.valueDeclaration;i&&(n[e.getName()]=u(i,a||t,r))}),n}return null};return{__typename:`LiteralValue`,value:u(l,s)}},ie=(e,t,n)=>{if(!e?.startingNodeId)return{isValid:!1,returnType:`void`,diagnostics:[{nodeId:null,parameterIndex:null,code:0,message:`You need to provide a starting node to be able to execute this flow.`,severity:`error`}]};if(!e.nodes?.nodes?.find(t=>t?.id==e.startingNodeId))return{isValid:!1,returnType:`void`,diagnostics:[{nodeId:null,parameterIndex:null,code:0,message:`The starting node is not linked within the flow. Please make sure the starting node is connected to the rest of the flow.`,severity:`error`}]};let r=O(e,t,n),i=`index.ts`,a=w(i,r),o=a.getSourceFile(i),s=a.languageService.getProgram().getSemanticDiagnostics(o).map(e=>{let t=(0,c.flattenDiagnosticMessageText)(e.messageText,`
51
+ `),n,r=null;if(e.start!==void 0){let t=o.getFullText(),i=Math.max(0,e.start-300),a=Math.min(t.length,e.start),s=t.substring(i,a),c=/\/\* @pos ([^ ]+) (\d+|null) \*\//g,l,u=null,d=-1;for(;(l=c.exec(s))!==null;){let t=i+l.index+l[0].length;t<=e.start&&t>d&&(d=t,u=l)}u&&(n=u[1]===`null`?null:u[1],r=parseInt(u[2],10))}return{message:t,code:e.code,severity:`error`,nodeId:n,parameterIndex:typeof r==`number`&&Number.isSafeInteger(r)?r:null}}).filter(e=>e!==null);return{isValid:!s.some(e=>e?.severity===`error`),returnType:`void`,diagnostics:s}},ae=(e,t,n)=>{let r=S(t?.value),i=`
52
+ ${E(n)}
53
53
  const testValue: ${e} = ${r};
54
- `,a=`index.ts`,o=C(a,i).languageService.getSemanticDiagnostics(a).map(e=>{let t=c.default.flattenDiagnosticMessageText(e.messageText,`
55
- `),n=t.includes(`not assignable to parameter of type`)&&(t.includes(`'{}'`)||t.includes(`undefined`))||t.includes(`not assignable to type 'undefined'`)||t.includes(`not assignable to type 'void'`)||t.includes(`may be a mistake because neither type sufficiently overlaps`);return{message:t,code:e.code,severity:n?`warning`:`error`}});return{isValid:!o.some(e=>e.severity===`error`),returnType:`void`,diagnostics:o}},k=e=>e.isUnion()?e.types.flatMap(k):e.isStringLiteral()?[{value:e.value,__typename:`LiteralValue`}]:e.isNumberLiteral()?[{value:e.value.toString()}]:e.intrinsicName===`true`?[{value:!0,__typename:`LiteralValue`}]:e.intrinsicName===`false`?[{value:!1,__typename:`LiteralValue`}]:[],A=(e,t,n,r)=>r.flatMap(r=>{let i=r.getName();if(!j(i))return[];let a=r.getDeclarations()?.[0];if(!a||a.getEnd()>=t.getEnd())return[];let o=e.getTypeOfSymbolAtLocation(r,t);return i.startsWith(`node_`)?M(i,o,e,n):i.startsWith(`p_`)?N(i,o,e,n):i.startsWith(`flow_`)?P(o,e,n):[]}),j=e=>e.startsWith(`node_`)||e.startsWith(`p_`)||e.startsWith(`flow_`),M=(e,t,n,r)=>{if((t.flags&c.default.TypeFlags.Void)!==0)return[];let i=F(e.replace(`node_`,``));return L(t,n,r).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:i};return e.length>0&&(t.referencePath=e),t})},N=(e,t,n,r)=>{let{nodeFunctionId:i,paramIndexFromName:a}=I(e);if(!n.isTupleType(t))return[];let o=t;return n.getTypeArguments(o).flatMap((e,t)=>L(e,n,r).flatMap(({path:e})=>{let n={__typename:`ReferenceValue`,nodeFunctionId:i,parameterIndex:isNaN(a)?0:a,inputIndex:t,inputTypeIdentifier:o.target.labeledElementDeclarations?.[t].name.getText()};return e.length>0&&(n.referencePath=e),n}))},P=(e,t,n)=>L(e,t,n).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};return e.length>0&&(t.referencePath=e),t}),F=e=>e.replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`),I=e=>{let t=e.replace(`p_`,``),n=t.lastIndexOf(`_`),r=t.substring(0,n),i=parseInt(t.substring(n+1),10);return{nodeFunctionId:F(r),paramIndexFromName:i}},L=(e,t,n,r=[])=>{let i=[];if(t.isTypeAssignableTo(e,n)&&i.push({path:r,type:e}),R(e)){let a=e.getProperties();a&&a.length>0&&a.forEach(e=>{let a=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),o=e.getName(),s=[...r,{path:o}];i.push(...L(a,t,n,s))})}return i},R=e=>{let t=c.default.TypeFlags.String|c.default.TypeFlags.Number|c.default.TypeFlags.Boolean|c.default.TypeFlags.Undefined|c.default.TypeFlags.Null|c.default.TypeFlags.BigInt|c.default.TypeFlags.ESSymbol;return(e.flags&t)===0},z=(e,t,n,r)=>Q(r)?[]:t.flatMap(t=>{let i=B(e,t,n,r);return i?[i]:[]}),B=(e,t,n,r)=>{if(t.parameters.length>0)return null;let i=e.getSignatureFromDeclaration(t),a=V(e,e.getReturnTypeOfSignature(i));if(!e.isTypeAssignableTo(a,r))return null;let o=H(t.name?.getText());return oe(n.find(e=>e.identifier===o))},V=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,H=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,oe=e=>{let t=(e?.parameterDefinitions?.nodes?.length??0)>0,n={__typename:`NodeFunction`,id:`gid://sagittarius/NodeFunction/1`,functionDefinition:{__typename:`FunctionDefinition`,id:e?.id,identifier:e?.identifier,names:e?.names,descriptions:e?.descriptions,displayIcon:e?.displayIcon}};return t&&(n.parameters=U(e?.parameterDefinitions?.nodes||[])),n},U=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>W(e))}),W=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),G=(e,t,n,r)=>Q(r)?t.flatMap(t=>{let i=K(e,t,n,r);return i?[i]:[]}):[],K=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=q(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?se(o):null},q=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,se=e=>({__typename:`SubFlowValue`,functionDefinition:e,signature:e.signature,settings:e.parameterDefinitions?.nodes?.map(e=>({__typename:`SubFlowValueSetting`,identifier:e?.identifier,defaultValue:e?.defaultValue??null,hidden:e?.hidden??!1,optional:e?.optional??!1}))}),J=(e,t,n,r,i,a=!0)=>{let o=a?{suggestions:[...k(n),...t?A(e,t,n,e.getSymbolsInScope(t,c.default.SymbolFlags.Variable)):[],...z(e,r,i,n),...G(e,r,i,n)]}:{};if(Y(n))return{input:`boolean`,...o};if(X(n))return{input:`number`,...o};if(Z(n))return{input:`text`,...o};if(le(n))return{input:`select`,...o};if(Q(n))return{input:`sub-flow`,...o};if(ue(e,n))return{input:`list`,items:e.getTypeArguments(n).flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>J(e,t,n,r,i,a))),...o};if((n.flags&c.default.TypeFlags.Object)!==0){let s={},l=[];for(let o of e.getPropertiesOfType(n)){let n=o.valueDeclaration??o.declarations?.[0];if(!n)continue;let u=e.getTypeOfSymbolAtLocation(o,n),d=(o.flags&c.default.SymbolFlags.Optional)!==0||u.isUnion()&&u.types.some(e=>(e.flags&c.default.TypeFlags.Undefined)!==0),f=(u.isUnion()?u.types.filter(e=>(e.flags&c.default.TypeFlags.Undefined)===0):[u]).map(n=>J(e,t,n,r,i,a));s[o.name]=f.length===1?f[0]:f,d||l.push(o.name)}return{input:`data`,properties:s,required:l,...o}}return{input:`generic`}};function Y(e){return(e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0}function X(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function Z(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function ce(e){return Z(e)||X(e)||Y(e)}function le(e){return e.isUnion()?e.types.every(ce):!1}function ue(e,t){return e.isArrayType(t)||e.isTupleType(t)}function Q(e){return e.getCallSignatures().length>0}var de=(e,t,n,r)=>{let i=E(e,n,t),a=`index.ts`,o=C(a,i),s=o.getSourceFile(a),c=o.languageService.getProgram().getTypeChecker(),l=e.nodes?.nodes?.find(e=>e?.id===r),u=r?`fn_${l?.functionDefinition?.identifier?.replace(/::/g,`_`)}`:`flow`,d=r?`node_${T(r)}`:`flow_${T(e.id)}`,f=fe(s),p=pe(s).get(d),m=f.get(u);return $(r,c,p,me(c,p),he(c,m,p),ge(m),r?f:new Map,r?n:[])},fe=e=>new Map(e.statements.filter(c.default.isFunctionDeclaration).map(e=>[e.name.getText(),e])),pe=e=>{let t=[];return e.statements.forEach(e=>{e.forEachChild(function e(n){c.default.isVariableDeclaration(n)&&(n.parent.flags&c.default.NodeFlags.Const)!==0&&t.push([n.name.getText(),n]),n.forEachChild(e)})}),new Map(t)},me=(e,t)=>{if(!(!t?.initializer||!c.default.isCallExpression(t.initializer)))return e.getResolvedSignature(t.initializer)?.parameters.map(n=>e.getTypeOfSymbolAtLocation(n,t.initializer))},he=(e,t,n)=>{if(!(!t||!n?.initializer))return t.parameters.map(t=>{let r=e.getSymbolAtLocation(t.name);return e.getTypeOfSymbolAtLocation(r,n.initializer)})},ge=e=>{let t=e.typeParameters?.map(e=>e.name.getText())||[],n={};return e.parameters.forEach((e,r)=>{let i=e.type?.getText()||``;t.forEach(e=>{i.includes(e)&&(n[e]||(n[e]=[]),n[e].push(r))})}),Object.values(n).filter(e=>e.length>1).map(([e,...t])=>t.map(t=>({parameterIndex:t,dependsOnIndex:e}))).flat()},$=(e,t,n,r,i,a,o,s)=>r?r.map((r,c)=>({nodeId:e,schema:J(t,n,r,Array.from(o.values()),s),functionSchema:J(t,n,i?.[c],Array.from(o.values()),s,!1),blockedBy:a.filter(e=>e.parameterIndex===c).map(e=>e.dependsOnIndex)})):[],_e=(e,t=[])=>{let n=`index.ts`,r=C(n,`${w(t)}\ntype MyType = ${e}`).languageService.getProgram(),i=r?.getSourceFile(n),a=r?.getTypeChecker();if(!i||!a)return;let o=i.statements.filter(e=>c.default.isTypeAliasDeclaration(e)||c.default.isInterfaceDeclaration(e)||c.default.isClassDeclaration(e)).pop();if(!o)return;let s=a.getTypeAtLocation(o);if(s)return J(a,void 0,s,[],[],!1)};exports.getFlowValidation=D,exports.getSignatureSchema=de,exports.getTypeFromValue=ie,exports.getTypeSchema=_e,exports.getValueFromType=ae,exports.getValueValidation=O;
54
+ `,a=`index.ts`,o=w(a,i).languageService.getSemanticDiagnostics(a).map(e=>{let t=c.default.flattenDiagnosticMessageText(e.messageText,`
55
+ `),n=t.includes(`not assignable to parameter of type`)&&(t.includes(`'{}'`)||t.includes(`undefined`))||t.includes(`not assignable to type 'undefined'`)||t.includes(`not assignable to type 'void'`)||t.includes(`may be a mistake because neither type sufficiently overlaps`);return{message:t,code:e.code,severity:n?`warning`:`error`}});return{isValid:!o.some(e=>e.severity===`error`),returnType:`void`,diagnostics:o}},k=e=>{if(c.default.isUnionTypeNode(e))return e.types.flatMap(k);if(c.default.isLiteralTypeNode(e)){let t=e.literal;if(c.default.isStringLiteral(t))return[{value:t.text,__typename:`LiteralValue`}];if(c.default.isNumericLiteral(t))return[{value:Number(t.text)}];if(t.kind===c.default.SyntaxKind.TrueKeyword)return[{value:!0,__typename:`LiteralValue`}];if(t.kind===c.default.SyntaxKind.FalseKeyword)return[{value:!1,__typename:`LiteralValue`}]}return[]},A=(e,t)=>{if(t&&e.aliasSymbol){let t=e.aliasSymbol.declarations?.[0];if(t&&c.default.isTypeAliasDeclaration(t))return k(t.type)}return e.isUnion()?e.types.flatMap(e=>A(e,t)):e.isStringLiteral()?[{value:e.value,__typename:`LiteralValue`}]:e.isNumberLiteral()?[{value:e.value.toString()}]:e.intrinsicName===`true`?[{value:!0,__typename:`LiteralValue`}]:e.intrinsicName===`false`?[{value:!1,__typename:`LiteralValue`}]:[]},j=(e,t,n,r)=>r.flatMap(r=>{let i=r.getName();if(!M(i))return[];let a=r.getDeclarations()?.[0];if(!a||a.getEnd()>=t.getEnd())return[];let o=e.getTypeOfSymbolAtLocation(r,t);return i.startsWith(`node_`)?N(i,o,e,n):i.startsWith(`p_`)?P(i,o,e,n):i.startsWith(`flow_`)?F(o,e,n):[]}),M=e=>e.startsWith(`node_`)||e.startsWith(`p_`)||e.startsWith(`flow_`),N=(e,t,n,r)=>{if((t.flags&c.default.TypeFlags.Void)!==0)return[];let i=I(e.replace(`node_`,``));return R(t,n,r).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:i};return e.length>0&&(t.referencePath=e),t})},P=(e,t,n,r)=>{let{nodeFunctionId:i,paramIndexFromName:a}=L(e);if(!n.isTupleType(t))return[];let o=t;return n.getTypeArguments(o).flatMap((e,t)=>R(e,n,r).flatMap(({path:e})=>{let n={__typename:`ReferenceValue`,nodeFunctionId:i,parameterIndex:isNaN(a)?0:a,inputIndex:t,inputTypeIdentifier:o.target.labeledElementDeclarations?.[t].name.getText()};return e.length>0&&(n.referencePath=e),n}))},F=(e,t,n)=>R(e,t,n).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};return e.length>0&&(t.referencePath=e),t}),I=e=>e.replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`),L=e=>{let t=e.replace(`p_`,``),n=t.lastIndexOf(`_`),r=t.substring(0,n),i=parseInt(t.substring(n+1),10);return{nodeFunctionId:I(r),paramIndexFromName:i}},R=(e,t,n,r=[])=>{let i=[];if(t.isTypeAssignableTo(e,n)&&i.push({path:r,type:e}),z(e)){let a=e.getProperties();a&&a.length>0&&a.forEach(e=>{let a=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),o=e.getName(),s=[...r,{path:o}];i.push(...R(a,t,n,s))})}return i},z=e=>{let t=c.default.TypeFlags.String|c.default.TypeFlags.Number|c.default.TypeFlags.Boolean|c.default.TypeFlags.Undefined|c.default.TypeFlags.Null|c.default.TypeFlags.BigInt|c.default.TypeFlags.ESSymbol;return(e.flags&t)===0},B=(e,t,n,r)=>Q(r)?[]:t.flatMap(t=>{let i=V(e,t,n,r);return i?[i]:[]}),V=(e,t,n,r)=>{if(t.parameters.length>0)return null;let i=e.getSignatureFromDeclaration(t),a=H(e,e.getReturnTypeOfSignature(i));if(!e.isTypeAssignableTo(a,r))return null;let o=U(t.name?.getText());return W(n.find(e=>e.identifier===o))},H=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,U=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,W=e=>{let t=(e?.parameterDefinitions?.nodes?.length??0)>0,n={__typename:`NodeFunction`,id:`gid://sagittarius/NodeFunction/1`,functionDefinition:{__typename:`FunctionDefinition`,id:e?.id,identifier:e?.identifier,names:e?.names,descriptions:e?.descriptions,displayIcon:e?.displayIcon}};return t&&(n.parameters=oe(e?.parameterDefinitions?.nodes||[])),n},oe=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>G(e))}),G=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),K=(e,t,n,r)=>Q(r)?t.flatMap(t=>{let i=q(e,t,n,r);return i?[i]:[]}):[],q=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=se(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?ce(o):null},se=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,ce=e=>({__typename:`SubFlowValue`,functionDefinition:e,signature:e.signature,settings:e.parameterDefinitions?.nodes?.map(e=>({__typename:`SubFlowValueSetting`,identifier:e?.identifier,defaultValue:e?.defaultValue??null,hidden:e?.hidden??!1,optional:e?.optional??!1}))}),J=(e,t,n,r,i,a=!0)=>{if((n.flags&c.default.TypeFlags.TypeParameter)!==0){let o=n.symbol?.declarations?.[0];if(o&&c.default.isTypeParameterDeclaration(o)&&o.constraint)return J(e,t,e.getTypeFromTypeNode(o.constraint),r,i,a)}let o=a?{suggestions:[...A(n,e),...t?j(e,t,n,e.getSymbolsInScope(t,c.default.SymbolFlags.Variable)):[],...B(e,r,i,n),...K(e,r,i,n)]}:{};if(n.isUnion()){let a=n.types.filter(e=>(e.flags&c.default.TypeFlags.Undefined)===0);if(a.length===1)return{...J(e,t,a[0],r,i,!1),...o}}if(Y(n))return{input:`boolean`,...o};if(X(n))return{input:`number`,...o};if(Z(n))return{input:`text`,...o};if(ue(n))return{input:`select`,...o};if(Q(n))return{input:`sub-flow`,...o};if(de(e,n))return{input:`list`,items:e.getTypeArguments(n).flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>J(e,t,n,r,i,a))),...o};if((n.flags&c.default.TypeFlags.Object)!==0){let s={},l=[];for(let o of e.getPropertiesOfType(n)){let n=o.valueDeclaration??o.declarations?.[0];if(!n)continue;let u=e.getTypeOfSymbolAtLocation(o,n),d=(o.flags&c.default.SymbolFlags.Optional)!==0||u.isUnion()&&u.types.some(e=>(e.flags&c.default.TypeFlags.Undefined)!==0),f=(u.isUnion()?u.types.filter(e=>(e.flags&c.default.TypeFlags.Undefined)===0):[u]).map(n=>J(e,t,n,r,i,a));s[o.name]=f.length===1?f[0]:f,d||l.push(o.name)}return{input:`data`,properties:s,required:l,...o}}return{input:`generic`}};function Y(e){return(e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0}function X(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function Z(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function le(e){return Z(e)||X(e)||Y(e)}function ue(e){return e.isUnion()?e.types.every(le):!1}function de(e,t){return e.isArrayType(t)||e.isTupleType(t)}function Q(e){return e.getCallSignatures().length>0}var fe=(e,t,n,r)=>{let i=O(e,n,t),a=`index.ts`,o=w(a,i),s=o.getSourceFile(a),l=o.languageService.getProgram().getTypeChecker(),u=e.nodes?.nodes?.find(e=>e?.id===r),d=r?`fn_${u?.functionDefinition?.identifier?.replace(/::/g,`_`)}`:`flow`,f=r?`node_${D(r)}`:`flow_${D(e.id)}`,p=pe(s),m=$(s).get(f),h=p.get(d),g=me(l,m),_=he(l,h,m),v=g?.map((e,t)=>(e.flags&c.default.TypeFlags.Undefined)===0?e:_?.[t]??e);return _e(r,l,m,v,_,ge(h),r?p:new Map,r?n:[])},pe=e=>new Map(e.statements.filter(c.default.isFunctionDeclaration).map(e=>[e.name.getText(),e])),$=e=>{let t=[];return e.statements.forEach(e=>{e.forEachChild(function e(n){c.default.isVariableDeclaration(n)&&(n.parent.flags&c.default.NodeFlags.Const)!==0&&t.push([n.name.getText(),n]),n.forEachChild(e)})}),new Map(t)},me=(e,t)=>{if(!(!t?.initializer||!c.default.isCallExpression(t.initializer)))return e.getResolvedSignature(t.initializer)?.parameters.map(n=>e.getTypeOfSymbolAtLocation(n,t.initializer))},he=(e,t,n)=>{if(!(!t||!n?.initializer))return t.parameters.map(t=>{let r=e.getSymbolAtLocation(t.name);return e.getTypeOfSymbolAtLocation(r,n.initializer)})},ge=e=>{let t=e.typeParameters?.map(e=>e.name.getText())||[],n={};return e.parameters.forEach((e,r)=>{let i=e.type?.getText()||``;t.forEach(e=>{i.includes(e)&&(n[e]||(n[e]=[]),n[e].push(r))})}),Object.values(n).filter(e=>e.length>1).map(([e,...t])=>t.map(t=>({parameterIndex:t,dependsOnIndex:e}))).flat()},_e=(e,t,n,r,i,a,o,s)=>r?r.map((r,c)=>({nodeId:e,schema:J(t,n,r,Array.from(o.values()),s),functionSchema:J(t,n,i?.[c],Array.from(o.values()),s,!1),blockedBy:a.filter(e=>e.parameterIndex===c).map(e=>e.dependsOnIndex)})):[],ve=(e,t=[])=>{let n=`index.ts`,r=w(n,`${E(t)}\ntype MyType = ${e}`).languageService.getProgram(),i=r?.getSourceFile(n),a=r?.getTypeChecker();if(!i||!a)return;let o=i.statements.filter(e=>c.default.isTypeAliasDeclaration(e)||c.default.isInterfaceDeclaration(e)||c.default.isClassDeclaration(e)).pop();if(!o)return;let s=a.getTypeAtLocation(o);if(s)return J(a,void 0,s,[],[],!1)};exports.getFlowValidation=ie,exports.getSignatureSchema=fe,exports.getTypeFromValue=ne,exports.getTypeSchema=ve,exports.getValueFromType=re,exports.getValueValidation=ae;
@@ -244,23 +244,23 @@ function _(e) {
244
244
  }
245
245
  //#endregion
246
246
  //#region src/utils.ts
247
- var ee = "\n interface Array<T> { \n [n: number]: T; \n length: number; \n }\n interface String { readonly length: number; }\n interface Number { }\n interface Boolean { }\n interface Object { }\n interface Function { }\n interface CallableFunction extends Function {}\n interface NewableFunction extends Function {}\n interface IArguments { }\n interface RegExp { }\n \n declare namespace Utils {\n type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;\n }\n\n import ReturnType = Utils.ReturnType;\n";
248
- function v(t, n) {
247
+ var v = "\n interface Array<T> { \n [n: number]: T; \n length: number; \n }\n interface String { readonly length: number; }\n interface Number { }\n interface Boolean { }\n interface Object { }\n interface Function { }\n interface CallableFunction extends Function {}\n interface NewableFunction extends Function {}\n interface IArguments { }\n interface RegExp { }\n \n declare namespace Utils {\n type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;\n }\n\n import ReturnType = Utils.ReturnType;\n";
248
+ function y(t, n) {
249
249
  let r = /* @__PURE__ */ new Map();
250
- return r.set(t, n), r.set("lib.codezero.d.ts", ee), o(d(r), [t, "lib.codezero.d.ts"], e, y);
250
+ return r.set(t, n), r.set("lib.codezero.d.ts", v), o(d(r), [t, "lib.codezero.d.ts"], e, b);
251
251
  }
252
- var y = {
252
+ var b = {
253
253
  target: e.ScriptTarget.Latest,
254
254
  lib: ["lib.codezero.d.ts"],
255
255
  noEmit: !0,
256
256
  strictNullChecks: !0
257
257
  };
258
- function b(e, t = "any", n = !0) {
258
+ function x(e, t = "any", n = !0) {
259
259
  let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []))).map((e) => `type ${e} = ${t};`).join("\n"), i = e?.map((e) => `type ${e.identifier}${(e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : ""} = ${e.type};`).join("\n");
260
260
  return `${n ? r : ""}\n${i}`;
261
261
  }
262
- var x = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_");
263
- function S(e, t, n, r = !1) {
262
+ var S = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_");
263
+ function C(e, t, n, r = !1) {
264
264
  let i = e?.nodes?.nodes || [], a = new Map(t?.map((e) => [e.identifier, e])), o = /* @__PURE__ */ new Set(), s = (t, n = "") => {
265
265
  let c = i.find((e) => e?.id === t);
266
266
  if (!c || !c.functionDefinition) return "";
@@ -269,7 +269,7 @@ function S(e, t, n, r = !1) {
269
269
  let o = i.value;
270
270
  if (!o) return r ? `/* @pos ${t} ${a} */ {}` : `/* @pos ${t} ${a} */ undefined`;
271
271
  if (o.__typename === "ReferenceValue") {
272
- let n = o, r = typeof n.inputIndex == "number" ? `p_${x(n.nodeFunctionId ?? "undefined")}_${n.parameterIndex}[${n.inputIndex}]` : n.nodeFunctionId ? `node_${x(n.nodeFunctionId)}` : `flow_${x(e?.id ?? "undefined")}`;
272
+ let n = o, r = typeof n.inputIndex == "number" ? `p_${S(n.nodeFunctionId ?? "undefined")}_${n.parameterIndex}[${n.inputIndex}]` : n.nodeFunctionId ? `node_${S(n.nodeFunctionId)}` : `flow_${S(e?.id ?? "undefined")}`;
273
273
  return n.referencePath?.forEach((e) => {
274
274
  r += `?.${e.path}`;
275
275
  }), `/* @pos ${t} ${a} */ ${r}`;
@@ -277,10 +277,10 @@ function S(e, t, n, r = !1) {
277
277
  if (o.__typename === "LiteralValue") return `/* @pos ${t} ${a} */ ${g(o?.value)}`;
278
278
  if (o.__typename === "SubFlowValue") {
279
279
  let e = o;
280
- return `/* @pos ${t} ${a} */ (...${`p_${x(t)}_${a}`}) => {\n${s(e.startingNodeId || e.functionDefinition?.id, n + " ")}${n}}`;
280
+ return `/* @pos ${t} ${a} */ (...${`p_${S(t)}_${a}`}) => {\n${s(e.startingNodeId || e.functionDefinition?.id, n + " ")}${n}}`;
281
281
  }
282
282
  return r ? `/* @pos ${t} ${a} */ {}` : `/* @pos ${t} ${a} */ undefined`;
283
- }), u = `node_${x(c.id)}`, d = `fn_${c?.functionDefinition?.identifier?.replace(/::/g, "_")}`;
283
+ }), u = `node_${S(c.id)}`, d = `fn_${c?.functionDefinition?.identifier?.replace(/::/g, "_")}`;
284
284
  l.includes("undefined");
285
285
  let f = `${n}`;
286
286
  return c.functionDefinition.identifier === "std::control::return" ? (f += `const ${u} = /* @pos ${t} null */ ${d}(${l.join(", ")}) ;\n`, f += `return ${u};\n`) : c.functionDefinition.identifier === "std::control::if" ? (f += `const ${u} = /* @pos ${t} null */ ${d}(${l.join(", ")}) ;\n`, f += `if(${l[0]}) {
@@ -290,7 +290,7 @@ function S(e, t, n, r = !1) {
290
290
  } else {
291
291
  ${s(c.parameters?.nodes?.[2]?.value?.startingNodeId || (c.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier, n + " ")}
292
292
  }`) : f += `const ${u} = /* @pos ${t} null */ ${d}(${l.join(", ")}) ;\n`, c.nextNodeId && (f += s(c.nextNodeId, n)), f;
293
- }, c = b(n), l = `declare function flow${e?.signature ?? "(): void"}`, u = t?.map((e) => `declare function fn_${e.identifier?.replace(/::/g, "_")}${e.signature}`).join("\n"), d = new Set(i.map((e) => e?.nextNodeId).filter((e) => !!e)), f = /* @__PURE__ */ new Set();
293
+ }, c = x(n), l = `declare function flow${e?.signature ?? "(): void"}`, u = t?.map((e) => `declare function fn_${e.identifier?.replace(/::/g, "_")}${e.signature}`).join("\n"), d = new Set(i.map((e) => e?.nextNodeId).filter((e) => !!e)), f = /* @__PURE__ */ new Set();
294
294
  return i.forEach((e) => e?.parameters?.nodes?.forEach((e) => {
295
295
  e?.value?.__typename === "SubFlowValue" && (e.value.startingNodeId || e.value.functionDefinition?.id) && f.add(e.value.startingNodeId || e.value.functionDefinition?.id);
296
296
  })), `
@@ -298,20 +298,20 @@ function S(e, t, n, r = !1) {
298
298
  ${l}\n
299
299
  ${u}\n
300
300
  (() =>
301
- ${e ? `const flow_${x(e.id ?? "")} = /* @pos null null */ flow(${e.settings?.nodes?.map((e, t) => `/* @pos null ${t} */ ${g(e?.value)}`).join(", ") ?? ""});` : ""}
301
+ ${e ? `const flow_${S(e.id ?? "")} = /* @pos null null */ flow(${e.settings?.nodes?.map((e, t) => `/* @pos null ${t} */ ${g(e?.value)}`).join(", ") ?? ""});` : ""}
302
302
  ${i.filter((e) => e?.id && !d.has(e.id) && !f.has(e.id)).map((e) => s(e.id)).join("\n")}
303
303
  )();
304
304
  `;
305
305
  }
306
306
  //#endregion
307
307
  //#region src/extraction/getTypeFromValue.ts
308
- var C = (t, n) => {
308
+ var w = (t, n) => {
309
309
  let r = g(t?.value);
310
310
  if (!r) return "any";
311
311
  let i = `
312
- ${b(n, "unknown")}
312
+ ${x(n, "unknown")}
313
313
  const tempValue = ${r ?? "any"};
314
- `, a = "index.ts", o = v(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getTypeChecker(), l = "any", u = (t) => {
314
+ `, a = "index.ts", o = y(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getTypeChecker(), l = "any", u = (t) => {
315
315
  if (e.isVariableDeclaration(t) && t.name.getText() === "tempValue") {
316
316
  let n = c.getTypeAtLocation(t), r = c.getSymbolsInScope(t, e.SymbolFlags.TypeAlias), i = (n) => {
317
317
  if (n.isUnion()) {
@@ -340,11 +340,11 @@ var C = (t, n) => {
340
340
  e.forEachChild(t, u);
341
341
  };
342
342
  return u(s), l;
343
- }, w = (t, n) => {
343
+ }, T = (t, n) => {
344
344
  let r = `
345
- ${b(n)}
345
+ ${x(n)}
346
346
  type Target = ${t};
347
- `, i = "index.ts", a = v(i, r), o = a.getSourceFile(i), s = a.languageService.getProgram().getTypeChecker(), c = o.statements.find((t) => e.isTypeAliasDeclaration(t) && t.name.text === "Target");
347
+ `, i = "index.ts", a = y(i, r), o = a.getSourceFile(i), s = a.languageService.getProgram().getTypeChecker(), c = o.statements.find((t) => e.isTypeAliasDeclaration(t) && t.name.text === "Target");
348
348
  if (!c) return {
349
349
  __typename: "LiteralValue",
350
350
  value: null
@@ -386,7 +386,7 @@ var C = (t, n) => {
386
386
  __typename: "LiteralValue",
387
387
  value: u(l, c)
388
388
  };
389
- }, T = (e, n, r) => {
389
+ }, E = (e, n, r) => {
390
390
  if (!e?.startingNodeId) return {
391
391
  isValid: !1,
392
392
  returnType: "void",
@@ -409,7 +409,7 @@ var C = (t, n) => {
409
409
  severity: "error"
410
410
  }]
411
411
  };
412
- let i = S(e, n, r), a = "index.ts", o = v(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getSemanticDiagnostics(s).map((e) => {
412
+ let i = C(e, n, r), a = "index.ts", o = y(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getSemanticDiagnostics(s).map((e) => {
413
413
  let n = t(e.messageText, "\n"), r, i = null;
414
414
  if (e.start !== void 0) {
415
415
  let t = s.getFullText(), n = Math.max(0, e.start - 300), a = Math.min(t.length, e.start), o = t.substring(n, a), c = /\/\* @pos ([^ ]+) (\d+|null) \*\//g, l, u = null, d = -1;
@@ -432,11 +432,11 @@ var C = (t, n) => {
432
432
  returnType: "void",
433
433
  diagnostics: c
434
434
  };
435
- }, E = (t, n, r) => {
435
+ }, D = (t, n, r) => {
436
436
  let i = g(n?.value), a = `
437
- ${b(r)}
437
+ ${x(r)}
438
438
  const testValue: ${t} = ${i};
439
- `, o = "index.ts", s = v(o, a).languageService.getSemanticDiagnostics(o).map((t) => {
439
+ `, o = "index.ts", s = y(o, a).languageService.getSemanticDiagnostics(o).map((t) => {
440
440
  let n = e.flattenDiagnosticMessageText(t.messageText, "\n"), r = n.includes("not assignable to parameter of type") && (n.includes("'{}'") || n.includes("undefined")) || n.includes("not assignable to type 'undefined'") || n.includes("not assignable to type 'void'") || n.includes("may be a mistake because neither type sufficiently overlaps");
441
441
  return {
442
442
  message: n,
@@ -449,37 +449,62 @@ var C = (t, n) => {
449
449
  returnType: "void",
450
450
  diagnostics: s
451
451
  };
452
- }, D = (e) => e.isUnion() ? e.types.flatMap(D) : e.isStringLiteral() ? [{
453
- value: e.value,
454
- __typename: "LiteralValue"
455
- }] : e.isNumberLiteral() ? [{ value: e.value.toString() }] : e.intrinsicName === "true" ? [{
456
- value: !0,
457
- __typename: "LiteralValue"
458
- }] : e.intrinsicName === "false" ? [{
459
- value: !1,
460
- __typename: "LiteralValue"
461
- }] : [], te = (e, t, n, r) => r.flatMap((r) => {
452
+ }, O = (t) => {
453
+ if (e.isUnionTypeNode(t)) return t.types.flatMap(O);
454
+ if (e.isLiteralTypeNode(t)) {
455
+ let n = t.literal;
456
+ if (e.isStringLiteral(n)) return [{
457
+ value: n.text,
458
+ __typename: "LiteralValue"
459
+ }];
460
+ if (e.isNumericLiteral(n)) return [{ value: Number(n.text) }];
461
+ if (n.kind === e.SyntaxKind.TrueKeyword) return [{
462
+ value: !0,
463
+ __typename: "LiteralValue"
464
+ }];
465
+ if (n.kind === e.SyntaxKind.FalseKeyword) return [{
466
+ value: !1,
467
+ __typename: "LiteralValue"
468
+ }];
469
+ }
470
+ return [];
471
+ }, k = (t, n) => {
472
+ if (n && t.aliasSymbol) {
473
+ let n = t.aliasSymbol.declarations?.[0];
474
+ if (n && e.isTypeAliasDeclaration(n)) return O(n.type);
475
+ }
476
+ return t.isUnion() ? t.types.flatMap((e) => k(e, n)) : t.isStringLiteral() ? [{
477
+ value: t.value,
478
+ __typename: "LiteralValue"
479
+ }] : t.isNumberLiteral() ? [{ value: t.value.toString() }] : t.intrinsicName === "true" ? [{
480
+ value: !0,
481
+ __typename: "LiteralValue"
482
+ }] : t.intrinsicName === "false" ? [{
483
+ value: !1,
484
+ __typename: "LiteralValue"
485
+ }] : [];
486
+ }, A = (e, t, n, r) => r.flatMap((r) => {
462
487
  let i = r.getName();
463
- if (!O(i)) return [];
488
+ if (!ee(i)) return [];
464
489
  let a = r.getDeclarations()?.[0];
465
490
  if (!a || a.getEnd() >= t.getEnd()) return [];
466
491
  let o = e.getTypeOfSymbolAtLocation(r, t);
467
- return i.startsWith("node_") ? k(i, o, e, n) : i.startsWith("p_") ? A(i, o, e, n) : i.startsWith("flow_") ? j(o, e, n) : [];
468
- }), O = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), k = (t, n, r, i) => {
492
+ return i.startsWith("node_") ? te(i, o, e, n) : i.startsWith("p_") ? j(i, o, e, n) : i.startsWith("flow_") ? M(o, e, n) : [];
493
+ }), ee = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), te = (t, n, r, i) => {
469
494
  if ((n.flags & e.TypeFlags.Void) !== 0) return [];
470
- let a = M(t.replace("node_", ""));
471
- return P(n, r, i).flatMap(({ path: e }) => {
495
+ let a = N(t.replace("node_", ""));
496
+ return F(n, r, i).flatMap(({ path: e }) => {
472
497
  let t = {
473
498
  __typename: "ReferenceValue",
474
499
  nodeFunctionId: a
475
500
  };
476
501
  return e.length > 0 && (t.referencePath = e), t;
477
502
  });
478
- }, A = (e, t, n, r) => {
479
- let { nodeFunctionId: i, paramIndexFromName: a } = N(e);
503
+ }, j = (e, t, n, r) => {
504
+ let { nodeFunctionId: i, paramIndexFromName: a } = P(e);
480
505
  if (!n.isTupleType(t)) return [];
481
506
  let o = t;
482
- return n.getTypeArguments(o).flatMap((e, t) => P(e, n, r).flatMap(({ path: e }) => {
507
+ return n.getTypeArguments(o).flatMap((e, t) => F(e, n, r).flatMap(({ path: e }) => {
483
508
  let n = {
484
509
  __typename: "ReferenceValue",
485
510
  nodeFunctionId: i,
@@ -489,44 +514,44 @@ var C = (t, n) => {
489
514
  };
490
515
  return e.length > 0 && (n.referencePath = e), n;
491
516
  }));
492
- }, j = (e, t, n) => P(e, t, n).flatMap(({ path: e }) => {
517
+ }, M = (e, t, n) => F(e, t, n).flatMap(({ path: e }) => {
493
518
  let t = {
494
519
  __typename: "ReferenceValue",
495
520
  nodeFunctionId: null
496
521
  };
497
522
  return e.length > 0 && (t.referencePath = e), t;
498
- }), M = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), N = (e) => {
523
+ }), N = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), P = (e) => {
499
524
  let t = e.replace("p_", ""), n = t.lastIndexOf("_"), r = t.substring(0, n), i = parseInt(t.substring(n + 1), 10);
500
525
  return {
501
- nodeFunctionId: M(r),
526
+ nodeFunctionId: N(r),
502
527
  paramIndexFromName: i
503
528
  };
504
- }, P = (e, t, n, r = []) => {
529
+ }, F = (e, t, n, r = []) => {
505
530
  let i = [];
506
531
  if (t.isTypeAssignableTo(e, n) && i.push({
507
532
  path: r,
508
533
  type: e
509
- }), F(e)) {
534
+ }), I(e)) {
510
535
  let a = e.getProperties();
511
536
  a && a.length > 0 && a.forEach((e) => {
512
537
  let a = t.getTypeOfSymbolAtLocation(e, e.valueDeclaration), o = e.getName(), s = [...r, { path: o }];
513
- i.push(...P(a, t, n, s));
538
+ i.push(...F(a, t, n, s));
514
539
  });
515
540
  }
516
541
  return i;
517
- }, F = (t) => {
542
+ }, I = (t) => {
518
543
  let n = e.TypeFlags.String | e.TypeFlags.Number | e.TypeFlags.Boolean | e.TypeFlags.Undefined | e.TypeFlags.Null | e.TypeFlags.BigInt | e.TypeFlags.ESSymbol;
519
544
  return (t.flags & n) === 0;
520
- }, I = (e, t, n, r) => Q(r) ? [] : t.flatMap((t) => {
521
- let i = L(e, t, n, r);
545
+ }, L = (e, t, n, r) => Q(r) ? [] : t.flatMap((t) => {
546
+ let i = R(e, t, n, r);
522
547
  return i ? [i] : [];
523
- }), L = (e, t, n, r) => {
548
+ }), R = (e, t, n, r) => {
524
549
  if (t.parameters.length > 0) return null;
525
- let i = e.getSignatureFromDeclaration(t), a = R(e, e.getReturnTypeOfSignature(i));
550
+ let i = e.getSignatureFromDeclaration(t), a = z(e, e.getReturnTypeOfSignature(i));
526
551
  if (!e.isTypeAssignableTo(a, r)) return null;
527
- let o = z(t.name?.getText());
528
- return B(n.find((e) => e.identifier === o));
529
- }, R = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, z = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", B = (e) => {
552
+ let o = B(t.name?.getText());
553
+ return V(n.find((e) => e.identifier === o));
554
+ }, z = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, B = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", V = (e) => {
530
555
  let t = (e?.parameterDefinitions?.nodes?.length ?? 0) > 0, n = {
531
556
  __typename: "NodeFunction",
532
557
  id: "gid://sagittarius/NodeFunction/1",
@@ -539,11 +564,11 @@ var C = (t, n) => {
539
564
  displayIcon: e?.displayIcon
540
565
  }
541
566
  };
542
- return t && (n.parameters = V(e?.parameterDefinitions?.nodes || [])), n;
543
- }, V = (e) => ({
567
+ return t && (n.parameters = H(e?.parameterDefinitions?.nodes || [])), n;
568
+ }, H = (e) => ({
544
569
  __typename: "NodeParameterConnection",
545
- nodes: e.map((e) => H(e))
546
- }), H = (e) => ({
570
+ nodes: e.map((e) => U(e))
571
+ }), U = (e) => ({
547
572
  __typename: "NodeParameter",
548
573
  parameterDefinition: {
549
574
  __typename: "ParameterDefinition",
@@ -554,15 +579,15 @@ var C = (t, n) => {
554
579
  __typename: "LiteralValue",
555
580
  value: e.defaultValue.value
556
581
  } : null
557
- }), U = (e, t, n, r) => Q(r) ? t.flatMap((t) => {
558
- let i = ne(e, t, n, r);
582
+ }), W = (e, t, n, r) => Q(r) ? t.flatMap((t) => {
583
+ let i = G(e, t, n, r);
559
584
  return i ? [i] : [];
560
- }) : [], ne = (e, t, n, r) => {
585
+ }) : [], G = (e, t, n, r) => {
561
586
  let i = e.getTypeAtLocation(t);
562
587
  if (!e.isTypeAssignableTo(i, r)) return null;
563
- let a = W(t.name?.getText()), o = n.find((e) => e.identifier === a);
564
- return o ? G(o) : null;
565
- }, W = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", G = (e) => ({
588
+ let a = K(t.name?.getText()), o = n.find((e) => e.identifier === a);
589
+ return o ? ne(o) : null;
590
+ }, K = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", ne = (e) => ({
566
591
  __typename: "SubFlowValue",
567
592
  functionDefinition: e,
568
593
  signature: e.signature,
@@ -573,26 +598,37 @@ var C = (t, n) => {
573
598
  hidden: e?.hidden ?? !1,
574
599
  optional: e?.optional ?? !1
575
600
  }))
576
- }), K = (t, n, r, i, a, o = !0) => {
601
+ }), q = (t, n, r, i, a, o = !0) => {
602
+ if ((r.flags & e.TypeFlags.TypeParameter) !== 0) {
603
+ let s = r.symbol?.declarations?.[0];
604
+ if (s && e.isTypeParameterDeclaration(s) && s.constraint) return q(t, n, t.getTypeFromTypeNode(s.constraint), i, a, o);
605
+ }
577
606
  let s = o ? { suggestions: [
578
- ...D(r),
579
- ...n ? te(t, n, r, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
580
- ...I(t, i, a, r),
581
- ...U(t, i, a, r)
607
+ ...k(r, t),
608
+ ...n ? A(t, n, r, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
609
+ ...L(t, i, a, r),
610
+ ...W(t, i, a, r)
582
611
  ] } : {};
583
- if (q(r)) return {
612
+ if (r.isUnion()) {
613
+ let o = r.types.filter((t) => (t.flags & e.TypeFlags.Undefined) === 0);
614
+ if (o.length === 1) return {
615
+ ...q(t, n, o[0], i, a, !1),
616
+ ...s
617
+ };
618
+ }
619
+ if (J(r)) return {
584
620
  input: "boolean",
585
621
  ...s
586
622
  };
587
- if (J(r)) return {
623
+ if (Y(r)) return {
588
624
  input: "number",
589
625
  ...s
590
626
  };
591
- if (Y(r)) return {
627
+ if (X(r)) return {
592
628
  input: "text",
593
629
  ...s
594
630
  };
595
- if (Z(r)) return {
631
+ if (re(r)) return {
596
632
  input: "select",
597
633
  ...s
598
634
  };
@@ -600,9 +636,9 @@ var C = (t, n) => {
600
636
  input: "sub-flow",
601
637
  ...s
602
638
  };
603
- if (re(t, r)) return {
639
+ if (ie(t, r)) return {
604
640
  input: "list",
605
- items: t.getTypeArguments(r).flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) => K(t, n, e, i, a, o))),
641
+ items: t.getTypeArguments(r).flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) => q(t, n, e, i, a, o))),
606
642
  ...s
607
643
  };
608
644
  if ((r.flags & e.TypeFlags.Object) !== 0) {
@@ -610,7 +646,7 @@ var C = (t, n) => {
610
646
  for (let s of t.getPropertiesOfType(r)) {
611
647
  let r = s.valueDeclaration ?? s.declarations?.[0];
612
648
  if (!r) continue;
613
- let u = t.getTypeOfSymbolAtLocation(s, r), d = (s.flags & e.SymbolFlags.Optional) !== 0 || u.isUnion() && u.types.some((t) => (t.flags & e.TypeFlags.Undefined) !== 0), f = (u.isUnion() ? u.types.filter((t) => (t.flags & e.TypeFlags.Undefined) === 0) : [u]).map((e) => K(t, n, e, i, a, o));
649
+ let u = t.getTypeOfSymbolAtLocation(s, r), d = (s.flags & e.SymbolFlags.Optional) !== 0 || u.isUnion() && u.types.some((t) => (t.flags & e.TypeFlags.Undefined) !== 0), f = (u.isUnion() ? u.types.filter((t) => (t.flags & e.TypeFlags.Undefined) === 0) : [u]).map((e) => q(t, n, e, i, a, o));
614
650
  c[s.name] = f.length === 1 ? f[0] : f, d || l.push(s.name);
615
651
  }
616
652
  return {
@@ -622,22 +658,22 @@ var C = (t, n) => {
622
658
  }
623
659
  return { input: "generic" };
624
660
  };
625
- function q(t) {
661
+ function J(t) {
626
662
  return (t.flags & e.TypeFlags.Boolean) !== 0 || (t.flags & e.TypeFlags.BooleanLiteral) !== 0;
627
663
  }
628
- function J(t) {
664
+ function Y(t) {
629
665
  return (t.flags & e.TypeFlags.Number) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
630
666
  }
631
- function Y(t) {
667
+ function X(t) {
632
668
  return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
633
669
  }
634
- function X(e) {
635
- return Y(e) || J(e) || q(e);
636
- }
637
670
  function Z(e) {
638
- return e.isUnion() ? e.types.every(X) : !1;
671
+ return X(e) || Y(e) || J(e);
672
+ }
673
+ function re(e) {
674
+ return e.isUnion() ? e.types.every(Z) : !1;
639
675
  }
640
- function re(e, t) {
676
+ function ie(e, t) {
641
677
  return e.isArrayType(t) || e.isTupleType(t);
642
678
  }
643
679
  function Q(e) {
@@ -645,10 +681,10 @@ function Q(e) {
645
681
  }
646
682
  //#endregion
647
683
  //#region src/schema/getSignatureSchema.ts
648
- var ie = (e, t, n, r) => {
649
- let i = S(e, n, t), a = "index.ts", o = v(a, i), s = o.getSourceFile(a), c = o.languageService.getProgram().getTypeChecker(), l = e.nodes?.nodes?.find((e) => e?.id === r), u = r ? `fn_${l?.functionDefinition?.identifier?.replace(/::/g, "_")}` : "flow", d = r ? `node_${x(r)}` : `flow_${x(e.id)}`, f = ae(s), p = oe(s).get(d), m = f.get(u);
650
- return $(r, c, p, se(c, p), ce(c, m, p), le(m), r ? f : /* @__PURE__ */ new Map(), r ? n : []);
651
- }, ae = (t) => new Map(t.statements.filter(e.isFunctionDeclaration).map((e) => [e.name.getText(), e])), oe = (t) => {
684
+ var ae = (t, n, r, i) => {
685
+ let a = C(t, r, n), o = "index.ts", s = y(o, a), c = s.getSourceFile(o), l = s.languageService.getProgram().getTypeChecker(), u = t.nodes?.nodes?.find((e) => e?.id === i), d = i ? `fn_${u?.functionDefinition?.identifier?.replace(/::/g, "_")}` : "flow", f = i ? `node_${S(i)}` : `flow_${S(t.id)}`, p = oe(c), m = $(c).get(f), h = p.get(d), g = se(l, m), _ = ce(l, h, m), v = g?.map((t, n) => (t.flags & e.TypeFlags.Undefined) === 0 ? t : _?.[n] ?? t);
686
+ return ue(i, l, m, v, _, le(h), i ? p : /* @__PURE__ */ new Map(), i ? r : []);
687
+ }, oe = (t) => new Map(t.statements.filter(e.isFunctionDeclaration).map((e) => [e.name.getText(), e])), $ = (t) => {
652
688
  let n = [];
653
689
  return t.statements.forEach((t) => {
654
690
  t.forEachChild(function t(r) {
@@ -673,18 +709,18 @@ var ie = (e, t, n, r) => {
673
709
  parameterIndex: t,
674
710
  dependsOnIndex: e
675
711
  }))).flat();
676
- }, $ = (e, t, n, r, i, a, o, s) => r ? r.map((r, c) => ({
712
+ }, ue = (e, t, n, r, i, a, o, s) => r ? r.map((r, c) => ({
677
713
  nodeId: e,
678
- schema: K(t, n, r, Array.from(o.values()), s),
679
- functionSchema: K(t, n, i?.[c], Array.from(o.values()), s, !1),
714
+ schema: q(t, n, r, Array.from(o.values()), s),
715
+ functionSchema: q(t, n, i?.[c], Array.from(o.values()), s, !1),
680
716
  blockedBy: a.filter((e) => e.parameterIndex === c).map((e) => e.dependsOnIndex)
681
- })) : [], ue = (t, n = []) => {
682
- let r = "index.ts", i = v(r, `${b(n)}\ntype MyType = ${t}`).languageService.getProgram(), a = i?.getSourceFile(r), o = i?.getTypeChecker();
717
+ })) : [], de = (t, n = []) => {
718
+ let r = "index.ts", i = y(r, `${x(n)}\ntype MyType = ${t}`).languageService.getProgram(), a = i?.getSourceFile(r), o = i?.getTypeChecker();
683
719
  if (!a || !o) return;
684
720
  let s = a.statements.filter((t) => e.isTypeAliasDeclaration(t) || e.isInterfaceDeclaration(t) || e.isClassDeclaration(t)).pop();
685
721
  if (!s) return;
686
722
  let c = o.getTypeAtLocation(s);
687
- if (c) return K(o, void 0, c, [], [], !1);
723
+ if (c) return q(o, void 0, c, [], [], !1);
688
724
  };
689
725
  //#endregion
690
- export { T as getFlowValidation, ie as getSignatureSchema, C as getTypeFromValue, ue as getTypeSchema, w as getValueFromType, E as getValueValidation };
726
+ export { E as getFlowValidation, ae as getSignatureSchema, w as getTypeFromValue, de as getTypeSchema, T as getValueFromType, D as getValueValidation };
@@ -1,23 +1,3 @@
1
1
  import { default as ts } from 'typescript';
2
2
  import { LiteralValue } from '@code0-tech/sagittarius-graphql-types';
3
- /**
4
- * Extracts literal values from a TypeScript type.
5
- *
6
- * This function recursively processes TypeScript types and extracts all literal values,
7
- * including string literals, number literals, and boolean literals. For union types,
8
- * it flattens and combines all literal values from each constituent type.
9
- *
10
- * @param type - The TypeScript type to extract values from
11
- * @returns An array of LiteralValue objects representing all literal values found in the type
12
- *
13
- * @example
14
- * // For a type like "red" | "blue" | 42
15
- * const values = getValues(type);
16
- * // Returns:
17
- * // [
18
- * // { value: "red", __typename: "LiteralValue" },
19
- * // { value: "blue", __typename: "LiteralValue" },
20
- * // { value: "42" }
21
- * // ]
22
- */
23
- export declare const getValues: (type: ts.Type) => LiteralValue[];
3
+ export declare const getValues: (type: ts.Type, checker?: ts.TypeChecker) => LiteralValue[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code0-tech/triangulum",
3
- "version": "0.24.0",
3
+ "version": "0.24.2",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/code0-tech/triangulum#readme",
6
6
  "bugs": {