@code0-tech/triangulum 0.30.2 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3 -3
- package/dist/index.js +18 -15
- package/dist/server.cjs +2 -2
- package/dist/server.js +8 -8
- package/dist/util/schema.util.d.ts +30 -1
- package/dist/utils-7sodyQ3_.cjs +45 -0
- package/dist/{utils-CXLl9T2B.js → utils-CcypN6ln.js} +113 -77
- package/package.json +3 -3
- package/dist/utils-Kbkh95iw.cjs +0 -45
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-7sodyQ3_.cjs");let t=require("typescript");t=e.d(t,1);var n=(n,r)=>{let i=e.u(n?.value);if(!i)return`any`;let a=`
|
|
2
2
|
${e.r(r,`unknown`)}
|
|
3
3
|
const tempValue = ${i??`any`};
|
|
4
4
|
`,o=`index.ts`,s=e.t(o,a),c=s.getSourceFile(o),l=s.languageService.getProgram().getTypeChecker(),u=`any`,d=e=>{if(t.default.isVariableDeclaration(e)&&e.name.getText()===`tempValue`){let n=l.getTypeAtLocation(e),r=n=>{if(n.isUnion()){let e=n.types.map(r);return Array.from(new Set(e)).sort().join(` | `)}if(l.isArrayType(n)){let e=n.typeArguments||[],t=e.length>0?r(e[0]):`any`;return e[0]?.isUnion()?`(${t})[]`:`${t}[]`}if(n.getFlags()&t.default.TypeFlags.Object||n.isClassOrInterface()){let t=l.getPropertiesOfType(n);if(t.length>0)return`{ ${t.map(t=>{let n=l.getTypeOfSymbolAtLocation(t,e);return`${t.getName()}: ${r(n)}`}).join(`, `)} }`}let i=l.getBaseTypeOfLiteralType(n);return l.typeToString(i,e)};u=r(n)}t.default.forEachChild(e,d)};return d(c),u},r=(n,r)=>{let i=`
|
|
5
5
|
${e.r(r)}
|
|
6
6
|
type Target = ${n};
|
|
7
|
-
`,a=`index.ts`,o=e.t(a,i),s=o.getSourceFile(a),c=o.languageService.getProgram().getTypeChecker(),l=s.statements.find(e=>t.default.isTypeAliasDeclaration(e)&&e.name.text===`Target`);if(!l)return{__typename:`LiteralValue`,value:null};let u=c.getTypeAtLocation(l.type),d=(e,n,r=new Set)=>{let i=new Set(r);if(i.has(e))return null;let a=e.getFlags();if(e.isUnion()){if(n.type,t.default.isTypeAliasDeclaration(n)&&n.type&&t.default.isUnionTypeNode(n.type))
|
|
7
|
+
`,a=`index.ts`,o=e.t(a,i),s=o.getSourceFile(a),c=o.languageService.getProgram().getTypeChecker(),l=s.statements.find(e=>t.default.isTypeAliasDeclaration(e)&&e.name.text===`Target`);if(!l)return{__typename:`LiteralValue`,value:null};let u=c.getTypeAtLocation(l.type),d=(e,n,r=new Set)=>{let i=new Set(r);if(i.has(e))return null;let a=e.getFlags();if(e.isUnion()){if(n.type,t.default.isTypeAliasDeclaration(n)&&n.type&&t.default.isUnionTypeNode(n.type)){let e=c.getTypeFromTypeNode(n.type.types[0]);return d(e,n,i)}let r=e.types.filter(e=>{let n=e.getFlags();return!(n&t.default.TypeFlags.Undefined)&&!(n&t.default.TypeFlags.Null)}),a=r.length>0?r[0]:e.types[0];return d(a,n,i)}if(a&t.default.TypeFlags.StringLiteral)return e.value;if(a&t.default.TypeFlags.String)return``;if(a&t.default.TypeFlags.NumberLiteral)return e.value;if(a&t.default.TypeFlags.Number)return 0;if(a&t.default.TypeFlags.BooleanLiteral)return e.intrinsicName===`true`;if(a&t.default.TypeFlags.Boolean)return!1;if(c.isArrayType(e)){i.add(e);let t=e.typeArguments?.[0]||c.getAnyType(),r=d(t,n,i);return r===null?[]:[r]}if(e.isClassOrInterface()||a&t.default.TypeFlags.Object||e.getProperties().length>0){i.add(e);let t={};return e.getProperties().forEach(e=>{let r=c.getTypeOfSymbolAtLocation(e,n),a=e.valueDeclaration;r&&(t[e.getName()]=d(r,a||n,i))}),t}return null};return{__typename:`LiteralValue`,value:d(u,l)}},i=2345,a=2339,o=(e,t,n)=>{if(e.getStart()>t||e.getEnd()<n)return;let r=e;return e.forEachChild(e=>{let i=o(e,t,n);i&&(r=i)}),r},s=(e,n,r)=>{if(e.start===void 0||e.length===void 0)return!1;let s=o(n,e.start,e.start+e.length);if(!s)return!1;if(e.code===i&&t.default.isExpression(s)){let e=r.getTypeAtLocation(s);if(!e.isUnion())return!1;let n=r.getContextualType(s);return n?e.types.some(e=>(e.flags&(t.default.TypeFlags.Null|t.default.TypeFlags.Undefined))===0&&r.isTypeAssignableTo(e,n)):!1}if(e.code===a&&t.default.isPropertyAccessExpression(s.parent)){let e=r.getNonNullableType(r.getTypeAtLocation(s.parent.expression));if(!e.isUnion())return!1;let t=s.getText();return e.types.some(e=>e.getProperty(t)!==void 0)}return!1},c=(n,r,i)=>{if(!n?.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(!n.nodes?.nodes?.find(e=>e?.id==n.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 a=new Set(r?.map(e=>e.identifier)),o=(n.nodes?.nodes??[]).filter(e=>e?.functionDefinition&&!a.has(e.functionDefinition.identifier)).map(e=>({nodeId:e.id,parameterIndex:null,code:0,message:`The function definition "${e.functionDefinition.identifier}" is not reachable.`,severity:`error`}));if(o.length>0)return{isValid:!1,returnType:`void`,diagnostics:o};let c=e.n(n,r,i,!1,!1),l=`index.ts`,u=e.t(l,c),d=u.getSourceFile(l),f=u.languageService.getProgram(),p=f.getTypeChecker(),m=f.getSemanticDiagnostics(d).map(e=>{let n=(0,t.flattenDiagnosticMessageText)(e.messageText,`
|
|
8
8
|
`),r,i=null;if(e.start!==void 0){let t=d.getFullText(),n=Math.max(0,e.start-300),a=Math.min(t.length,e.start),o=t.substring(n,a),s=/\/\* @pos ([^ ]+) (\d+|null) \*\//g,c,l=null,u=-1;for(;(c=s.exec(o))!==null;){let t=n+c.index+c[0].length;t<=e.start&&t>u&&(u=t,l=c)}l&&(r=l[1]===`null`?null:l[1],i=parseInt(l[2],10))}let a=s(e,d,p)?`warning`:`error`;return{message:n,code:e.code,severity:a,nodeId:r,parameterIndex:typeof i==`number`&&Number.isSafeInteger(i)?i:null}}).filter(e=>e!==null);return{isValid:!m.some(e=>e?.severity===`error`),returnType:`void`,diagnostics:m}},l=(n,r,i)=>{let a=e.u(r?.value),o=`
|
|
9
9
|
${e.r(i)}
|
|
10
10
|
const testValue: ${n} = ${a};
|
|
11
11
|
`,s=`index.ts`,c=e.t(s,o).languageService.getSemanticDiagnostics(s).map(e=>{let n=t.default.flattenDiagnosticMessageText(e.messageText,`
|
|
12
|
-
`),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`);return{message:n,code:e.code,severity:r?`warning`:`error`}});return{isValid:!c.some(e=>e.severity===`error`),returnType:`void`,diagnostics:c}},u=(n,r,i,a)=>{let o=e.n(n,i,r),s=`index.ts`,c=e.t(s,o),l=c.getSourceFile(s),u=c.languageService.getProgram().getTypeChecker(),v=n.nodes?.nodes?.find(e=>e?.id===a),y=a?`fn_${v?.functionDefinition?.identifier?.replace(/::/g,`_`)}`:`flow`,b=a?`node_${e.i(a)}`:`flow_${e.i(n.id)}`,x=f(l),S=p(l).get(b),C=x.get(y),w=m(u,S),T=h(u,C,S),E=w?.map((e,n)=>(e.flags&t.default.TypeFlags.Undefined)===0?e:T?.[n]??e),D=(v?.parameters?.nodes??[]).map(e=>e?.value!=null),O=_(u,S,E,T,g(C,w,D),a?x:new Map,a?i:[],D),k=d(u,S,C);return{nodeId:a,parameters:O,return:k?e.o(u,S,k,Array.from(x.values()),i,!1):{input:`generic`}}},d=(e,n,r)=>{if(n?.initializer&&t.default.isCallExpression(n.initializer)){let t=e.getResolvedSignature(n.initializer);if(t)return e.getReturnTypeOfSignature(t)}if(r){let t=e.getSignatureFromDeclaration(r);if(t)return e.getReturnTypeOfSignature(t)}},f=e=>new Map(e.statements.filter(t.default.isFunctionDeclaration).map(e=>[e.name.getText(),e])),p=e=>{let n=[];return e.statements.forEach(e=>{e.forEachChild(function e(r){t.default.isVariableDeclaration(r)&&(r.parent.flags&t.default.NodeFlags.Const)!==0&&n.push([r.name.getText(),r]),r.forEachChild(e)})}),new Map(n)},m=(e,n)=>{if(!(!n?.initializer||!t.default.isCallExpression(n.initializer)))return e.getResolvedSignature(n.initializer)?.parameters.map(t=>e.getTypeOfSymbolAtLocation(t,n.initializer))},h=(e,t,n)=>{if(!(!t||!n?.initializer))return t.parameters.map(t=>{let r=e.getSymbolAtLocation(t.name);return e.getTypeOfSymbolAtLocation(r,n.initializer)})},g=(e,n,r=[])=>{let i=e.typeParameters?.map(e=>e.name.getText())||[],a={};e.parameters.forEach((e,n)=>{if(!e.type)return;let r=new Set;e.type.forEachChild(function n(a){if(t.default.isTypeReferenceNode(a)&&t.default.isIdentifier(a.typeName)){let e=a.typeName.text;i.includes(e)&&r.add(e)}if(t.default.isTypeReferenceNode(e.type)&&t.default.isIdentifier(e.type.typeName)){let t=e.type.typeName.text;i.includes(t)&&r.add(t)}a.forEachChild(n)}),r.forEach(e=>{a[e]||(a[e]=[]),a[e].push(n)})});let o=Object.values(a).filter(e=>e.length>1).map(([e,...t])=>t.map(t=>({parameterIndex:t,dependsOnIndex:e}))).flat();return n?o.filter(e=>{if(r[e.dependsOnIndex])return!1;let i=n[e.parameterIndex];if(!i)return!0;let a=(i.flags&t.default.TypeFlags.Null)!==0,o=(i.flags&t.default.TypeFlags.Undefined)!==0;return a||o}):o},_=(t,n,r,i,a,o,s,c)=>r?r.map((r,l)=>{let u=i?.[l],d=u?v(t,u,n):void 0,f=e.o(t,n,r,Array.from(o.values()),s,!0,d)
|
|
12
|
+
`),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`);return{message:n,code:e.code,severity:r?`warning`:`error`}});return{isValid:!c.some(e=>e.severity===`error`),returnType:`void`,diagnostics:c}},u=(n,r,i,a)=>{let o=e.n(n,i,r),s=`index.ts`,c=e.t(s,o),l=c.getSourceFile(s),u=c.languageService.getProgram().getTypeChecker(),v=n.nodes?.nodes?.find(e=>e?.id===a),y=a?`fn_${v?.functionDefinition?.identifier?.replace(/::/g,`_`)}`:`flow`,b=a?`node_${e.i(a)}`:`flow_${e.i(n.id)}`,x=f(l),S=p(l).get(b),C=x.get(y),w=m(u,S),T=h(u,C,S),E=w?.map((e,n)=>(e.flags&t.default.TypeFlags.Undefined)===0?e:T?.[n]??e),D=(v?.parameters?.nodes??[]).map(e=>e?.value!=null),O=_(u,S,E,T,g(C,w,D),a?x:new Map,a?i:[],D),k=d(u,S,C);return{nodeId:a,parameters:O,return:k?e.o(u,S,k,Array.from(x.values()),i,!1):{input:`generic`}}},d=(e,n,r)=>{if(n?.initializer&&t.default.isCallExpression(n.initializer)){let t=e.getResolvedSignature(n.initializer);if(t)return e.getReturnTypeOfSignature(t)}if(r){let t=e.getSignatureFromDeclaration(r);if(t)return e.getReturnTypeOfSignature(t)}},f=e=>new Map(e.statements.filter(t.default.isFunctionDeclaration).map(e=>[e.name.getText(),e])),p=e=>{let n=[];return e.statements.forEach(e=>{e.forEachChild(function e(r){t.default.isVariableDeclaration(r)&&(r.parent.flags&t.default.NodeFlags.Const)!==0&&n.push([r.name.getText(),r]),r.forEachChild(e)})}),new Map(n)},m=(e,n)=>{if(!(!n?.initializer||!t.default.isCallExpression(n.initializer)))return e.getResolvedSignature(n.initializer)?.parameters.map(t=>e.getTypeOfSymbolAtLocation(t,n.initializer))},h=(e,t,n)=>{if(!(!t||!n?.initializer))return t.parameters.map(t=>{let r=e.getSymbolAtLocation(t.name);return e.getTypeOfSymbolAtLocation(r,n.initializer)})},g=(e,n,r=[])=>{let i=e.typeParameters?.map(e=>e.name.getText())||[],a={};e.parameters.forEach((e,n)=>{if(!e.type)return;let r=new Set;e.type.forEachChild(function n(a){if(t.default.isTypeReferenceNode(a)&&t.default.isIdentifier(a.typeName)){let e=a.typeName.text;i.includes(e)&&r.add(e)}if(t.default.isTypeReferenceNode(e.type)&&t.default.isIdentifier(e.type.typeName)){let t=e.type.typeName.text;i.includes(t)&&r.add(t)}a.forEachChild(n)}),r.forEach(e=>{a[e]||(a[e]=[]),a[e].push(n)})});let o=Object.values(a).filter(e=>e.length>1).map(([e,...t])=>t.map(t=>({parameterIndex:t,dependsOnIndex:e}))).flat();return n?o.filter(e=>{if(r[e.dependsOnIndex])return!1;let i=n[e.parameterIndex];if(!i)return!0;let a=(i.flags&t.default.TypeFlags.Null)!==0,o=(i.flags&t.default.TypeFlags.Undefined)!==0;return a||o}):o},_=(t,n,r,i,a,o,s,c)=>r?r.map((r,l)=>{let u=i?.[l],d=u?v(t,u,n):void 0,f=e.o(t,n,r,Array.from(o.values()),s,!0,d),p=u?e.o(t,n,u,Array.from(o.values()),s,!1):void 0;return{schema:e.l(p,f,c[l]??!1),blockedBy:a.filter(e=>e.parameterIndex===l).map(e=>e.dependsOnIndex)}}):[],v=(e,n,r)=>{if((n.flags&t.default.TypeFlags.TypeParameter)!==0){let r=n.symbol?.declarations?.[0];return r&&t.default.isTypeParameterDeclaration(r)&&r.constraint?e.getTypeFromTypeNode(r.constraint):e.getAnyType()}if((n.flags&t.default.TypeFlags.Conditional)!==0)return e.getBaseConstraintOfType(n)??e.getAnyType();if((n.flags&t.default.TypeFlags.Object)!==0&&y(n,e,new Set)){let i=n.aliasSymbol?.getName();if(i){let n=e.getSymbolsInScope(r,t.default.SymbolFlags.Variable).find(e=>e.getName()===`__widen_${i}`);if(n)return e.getTypeOfSymbolAtLocation(n,r)}return e.getAnyType()}return n},y=(e,n,r)=>!r.has(e)&&(r.add(e),!!((e.flags&t.default.TypeFlags.TypeParameter)!==0||(e.flags&t.default.TypeFlags.Object)!==0&&(n.getTypeArguments(e).some(e=>y(e,n,r))||e.aliasTypeArguments?.some(e=>y(e,n,r))))),b=(n,r=[])=>{let i=`index.ts`,a=`${e.r(r)}\ntype MyType = ${n}`,o=e.t(i,a).languageService.getProgram(),s=o?.getSourceFile(i),c=o?.getTypeChecker();if(!s||!c)return;let l=s.statements.filter(e=>t.default.isTypeAliasDeclaration(e)||t.default.isInterfaceDeclaration(e)||t.default.isClassDeclaration(e)).pop();if(!l)return;let u=c.getTypeAtLocation(l);if(u)return e.o(c,void 0,u,[],[],!1)};exports.CUSTOM_INPUT_IDENTIFIERS=e.a,exports.getFlowValidation=c,exports.getSchema=e.o,exports.getSignatureSchema=u,exports.getTypeFromValue=n,exports.getTypeSchema=b,exports.getValueFromType=r,exports.getValueValidation=l,exports.isCustomInputIdentifier=e.s,exports.isSubFlow=e.c,exports.mergeSchemas=e.l;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./utils-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./utils-CcypN6ln.js";
|
|
2
2
|
import u, { flattenDiagnosticMessageText as d } from "typescript";
|
|
3
3
|
//#region src/extraction/getTypeFromValue.ts
|
|
4
4
|
var f = (e, t) => {
|
|
@@ -47,12 +47,15 @@ var f = (e, t) => {
|
|
|
47
47
|
if (r.has(e)) return null;
|
|
48
48
|
let i = e.getFlags();
|
|
49
49
|
if (e.isUnion()) {
|
|
50
|
-
if (t.type, u.isTypeAliasDeclaration(t) && t.type && u.isUnionTypeNode(t.type))
|
|
50
|
+
if (t.type, u.isTypeAliasDeclaration(t) && t.type && u.isUnionTypeNode(t.type)) {
|
|
51
|
+
let e = s.getTypeFromTypeNode(t.type.types[0]);
|
|
52
|
+
return f(e, t, r);
|
|
53
|
+
}
|
|
51
54
|
let n = e.types.filter((e) => {
|
|
52
55
|
let t = e.getFlags();
|
|
53
56
|
return !(t & u.TypeFlags.Undefined) && !(t & u.TypeFlags.Null);
|
|
54
|
-
});
|
|
55
|
-
return f(
|
|
57
|
+
}), i = n.length > 0 ? n[0] : e.types[0];
|
|
58
|
+
return f(i, t, r);
|
|
56
59
|
}
|
|
57
60
|
if (i & u.TypeFlags.StringLiteral) return e.value;
|
|
58
61
|
if (i & u.TypeFlags.String) return "";
|
|
@@ -62,8 +65,8 @@ var f = (e, t) => {
|
|
|
62
65
|
if (i & u.TypeFlags.Boolean) return !1;
|
|
63
66
|
if (s.isArrayType(e)) {
|
|
64
67
|
r.add(e);
|
|
65
|
-
let n =
|
|
66
|
-
return
|
|
68
|
+
let n = e.typeArguments?.[0] || s.getAnyType(), i = f(n, t, r);
|
|
69
|
+
return i === null ? [] : [i];
|
|
67
70
|
}
|
|
68
71
|
if (e.isClassOrInterface() || i & u.TypeFlags.Object || e.getProperties().length > 0) {
|
|
69
72
|
r.add(e);
|
|
@@ -240,9 +243,9 @@ var f = (e, t) => {
|
|
|
240
243
|
return i || a;
|
|
241
244
|
}) : a;
|
|
242
245
|
}, D = (e, t, n, i, o, s, c, l) => n ? n.map((n, u) => {
|
|
243
|
-
let d = i?.[u], f = d ? O(e, d, t) : void 0, p = a(e, t, n, Array.from(s.values()), c, !0, f);
|
|
246
|
+
let d = i?.[u], f = d ? O(e, d, t) : void 0, p = a(e, t, n, Array.from(s.values()), c, !0, f), m = d ? a(e, t, d, Array.from(s.values()), c, !1) : void 0;
|
|
244
247
|
return {
|
|
245
|
-
schema: r(
|
|
248
|
+
schema: r(m, p, l[u] ?? !1),
|
|
246
249
|
blockedBy: o.filter((e) => e.parameterIndex === u).map((e) => e.dependsOnIndex)
|
|
247
250
|
};
|
|
248
251
|
}) : [], O = (e, t, n) => {
|
|
@@ -260,13 +263,13 @@ var f = (e, t) => {
|
|
|
260
263
|
return e.getAnyType();
|
|
261
264
|
}
|
|
262
265
|
return t;
|
|
263
|
-
}, k = (e, t, n) => n.has(e)
|
|
264
|
-
let n = "index.ts", r =
|
|
265
|
-
if (!
|
|
266
|
-
let
|
|
267
|
-
if (!
|
|
268
|
-
let
|
|
269
|
-
if (
|
|
266
|
+
}, k = (e, t, n) => !n.has(e) && (n.add(e), !!((e.flags & u.TypeFlags.TypeParameter) !== 0 || (e.flags & u.TypeFlags.Object) !== 0 && (t.getTypeArguments(e).some((e) => k(e, t, n)) || e.aliasTypeArguments?.some((e) => k(e, t, n))))), A = (e, t = []) => {
|
|
267
|
+
let n = "index.ts", r = `${o(t)}\ntype MyType = ${e}`, i = c(n, r).languageService.getProgram(), s = i?.getSourceFile(n), l = i?.getTypeChecker();
|
|
268
|
+
if (!s || !l) return;
|
|
269
|
+
let d = s.statements.filter((e) => u.isTypeAliasDeclaration(e) || u.isInterfaceDeclaration(e) || u.isClassDeclaration(e)).pop();
|
|
270
|
+
if (!d) return;
|
|
271
|
+
let f = l.getTypeAtLocation(d);
|
|
272
|
+
if (f) return a(l, void 0, f, [], [], !1);
|
|
270
273
|
};
|
|
271
274
|
//#endregion
|
|
272
275
|
export { e as CUSTOM_INPUT_IDENTIFIERS, v as getFlowValidation, a as getSchema, b as getSignatureSchema, f as getTypeFromValue, A as getTypeSchema, p as getValueFromType, y as getValueValidation, s as isCustomInputIdentifier, t as isSubFlow, r as mergeSchemas };
|
package/dist/server.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-
|
|
2
|
-
`);return`${e.r(n)}\n${r}`},o=t=>{let i=e.t(`index.ts`,t).languageService.getProgram();return new n.SchemaGenerator(i,(0,n.createParser)(i,r),(0,n.createFormatter)(r),r)},s=e=>{let{$schema:t,definitions:n,...r}=e,i=n&&Object.keys(n).length>0?{...r,definitions:n}:r;return JSON.parse(JSON.stringify(i))},c=(t,n,r)=>{if(!t)return;let a=`index.ts`,o=e.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-7sodyQ3_.cjs");let t=require("typescript");t=e.d(t,1);let n=require("ts-json-schema-generator");var r={...n.DEFAULT_CONFIG,expose:`none`,topRef:!1,jsDoc:`none`,skipTypeCheck:!0},i=(e,t)=>{let n=Object.keys(e);if(n.length===0)return{};let r=o(a(e,t)),i={};for(let e of n)try{i[e]=s(r.createSchema(e))}catch{i[e]={}}return i},a=(t,n)=>{let r=Object.entries(t).map(([e,t])=>`export type ${e} = ${t};`).join(`
|
|
2
|
+
`);return`${e.r(n)}\n${r}`},o=t=>{let i=e.t(`index.ts`,t).languageService.getProgram();return new n.SchemaGenerator(i,(0,n.createParser)(i,r),(0,n.createFormatter)(r),r)},s=e=>{let{$schema:t,definitions:n,...r}=e,i=n&&Object.keys(n).length>0?{...r,definitions:n}:r;return JSON.parse(JSON.stringify(i))},c=(t,n,r)=>{if(!t)return;let a=`index.ts`,o=e.n(t,n,r),s=e.t(a,o),c=s.getSourceFile(a),d=s.languageService.getProgram().getTypeChecker(),m=i({...f(d,c),...p(d,c,t)},r),h=(t.nodes?.nodes??[]).map(e=>e&&v(e,m));return{...t,inputSchema:m[l]??g(),outputSchema:m[u]??_(),nodes:{...t.nodes,nodes:h}}},l=`Flow_input`,u=`Flow_output`,d=(t,n,r)=>`Node_${e.i(t)}_${n}_${r}`,f=(e,n)=>{let r=n.statements.filter(t.default.isFunctionDeclaration).find(e=>e.name?.getText()===`flow`);if(!r)return{};let i=e.getSignatureFromDeclaration(r);if(!i)return{};let{input:a,output:o}=h(e,i,r);return{[l]:a,[u]:o}},p=(e,t,n)=>{let r=S(t),i={};for(let t of n.nodes?.nodes??[]){if(!t?.id)continue;let n=t.parameters?.nodes;if(!n?.some(y))continue;let a=x(r,t),o=a?e.getResolvedSignature(a):void 0;o&&n.forEach((n,r)=>{if(!y(n))return;let s=m(e,o,a,r);if(!s)return;let{input:c,output:l}=h(e,s,a);i[d(t.id,r,`input`)]=c,i[d(t.id,r,`output`)]=l})}return i},m=(e,t,n,r)=>{let i=t.parameters[r];if(i)return e.getTypeOfSymbolAtLocation(i,n).getCallSignatures()[0]},h=(e,n,r)=>{let i=n=>e.typeToString(n,r,t.default.TypeFormatFlags.NoTruncation);return{input:`{ ${n.parameters.map(t=>{let n=e.getTypeOfSymbolAtLocation(t,t.valueDeclaration??r),a=b(t)?`?`:``;return`${t.getName()}${a}: ${i(n)}`}).join(`; `)} }`,output:i(e.getReturnTypeOfSignature(n))}},g=()=>({type:`object`}),_=()=>({}),v=(e,t)=>{let n=e.parameters?.nodes;if(!n?.some(y))return e;let r=n.map((n,r)=>{if(!y(n))return n;let i={...n.value,inputSchema:t[d(e.id,r,`input`)]??g(),outputSchema:t[d(e.id,r,`output`)]??_()};return{...n,value:i}});return{...e,parameters:{...e.parameters,nodes:r}}},y=e=>e?.value?.__typename===`SubFlowValue`,b=e=>{let n=e.valueDeclaration;return!!n&&t.default.isParameter(n)&&(!!n.questionToken||!!n.initializer||!!n.dotDotDotToken)},x=(n,r)=>{let i=n.get(`node_${e.i(r.id)}`)?.initializer;return i&&t.default.isCallExpression(i)?i:void 0},S=e=>{let n=new Map;return e.statements.forEach(e=>{e.forEachChild(function e(r){t.default.isVariableDeclaration(r)&&(r.parent.flags&t.default.NodeFlags.Const)!==0&&n.set(r.name.getText(),r),r.forEachChild(e)})}),n};exports.getFlowSchemas=c;
|
package/dist/server.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as e, n as t, r as n, t as r } from "./utils-
|
|
1
|
+
import { i as e, n as t, r as n, t as r } from "./utils-CcypN6ln.js";
|
|
2
2
|
import i from "typescript";
|
|
3
3
|
import { DEFAULT_CONFIG as a, SchemaGenerator as o, createFormatter as s, createParser as c } from "ts-json-schema-generator";
|
|
4
4
|
//#region src/util/jsonSchema.util.ts
|
|
@@ -32,17 +32,17 @@ var l = {
|
|
|
32
32
|
return JSON.parse(JSON.stringify(i));
|
|
33
33
|
}, m = (e, n, i) => {
|
|
34
34
|
if (!e) return;
|
|
35
|
-
let a = "index.ts", o =
|
|
36
|
-
...v(
|
|
37
|
-
...y(
|
|
38
|
-
}, i),
|
|
35
|
+
let a = "index.ts", o = t(e, n, i), s = r(a, o), c = s.getSourceFile(a), l = s.languageService.getProgram().getTypeChecker(), d = u({
|
|
36
|
+
...v(l, c),
|
|
37
|
+
...y(l, c, e)
|
|
38
|
+
}, i), f = (e.nodes?.nodes ?? []).map((e) => e && w(e, d));
|
|
39
39
|
return {
|
|
40
40
|
...e,
|
|
41
|
-
inputSchema:
|
|
42
|
-
outputSchema:
|
|
41
|
+
inputSchema: d[h] ?? S(),
|
|
42
|
+
outputSchema: d[g] ?? C(),
|
|
43
43
|
nodes: {
|
|
44
44
|
...e.nodes,
|
|
45
|
-
nodes:
|
|
45
|
+
nodes: f
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
}, h = "Flow_input", g = "Flow_output", _ = (t, n, r) => `Node_${e(t)}_${n}_${r}`, v = (e, t) => {
|
|
@@ -67,6 +67,35 @@ export interface PrimitiveInput extends Input {
|
|
|
67
67
|
export interface DateInput extends Input {
|
|
68
68
|
input?: "date";
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Represents a file input type.
|
|
72
|
+
* Emitted for the FILE data type so the UI can render a dedicated file picker
|
|
73
|
+
* instead of expanding the `{ contentType, valueType, value }` object its
|
|
74
|
+
* underlying type would otherwise produce.
|
|
75
|
+
*/
|
|
76
|
+
export interface FileInput extends Input {
|
|
77
|
+
input?: "file";
|
|
78
|
+
/**
|
|
79
|
+
* The MIME type the file is constrained to, derived from the FILE data
|
|
80
|
+
* type's `contentType` generic (e.g. `FILE<"image/png">` → "image/png").
|
|
81
|
+
* Falls back to the wildcard "*\/*" when the FILE is unconstrained
|
|
82
|
+
* (`contentType` is a plain string) or the constraint is not a valid MIME
|
|
83
|
+
* type. Always present.
|
|
84
|
+
*/
|
|
85
|
+
mimetype?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Represents a list of file inputs.
|
|
89
|
+
* Emitted for any array/list of the FILE data type (e.g. `LIST<FILE>`,
|
|
90
|
+
* `FILE[]`) so the UI can render a dedicated multi-file picker instead of the
|
|
91
|
+
* generic list input its underlying type would otherwise produce. Shares the
|
|
92
|
+
* {@link FileInput} `mimetype` property.
|
|
93
|
+
*/
|
|
94
|
+
export interface ListFileInput extends Input {
|
|
95
|
+
input?: "list-file";
|
|
96
|
+
/** See {@link FileInput.mimetype}. */
|
|
97
|
+
mimetype?: string;
|
|
98
|
+
}
|
|
70
99
|
/**
|
|
71
100
|
* Represents a data object input type with structured properties.
|
|
72
101
|
* Includes property definitions and required field tracking.
|
|
@@ -102,7 +131,7 @@ export interface TypeInput extends Input {
|
|
|
102
131
|
* Union type representing all possible schema input types.
|
|
103
132
|
* Discriminated union based on the 'input' field.
|
|
104
133
|
*/
|
|
105
|
-
export type Schema = PrimitiveInput | DateInput | DataInput | ListInput | TypeInput | SubFlowInput | GenericInput;
|
|
134
|
+
export type Schema = PrimitiveInput | DateInput | FileInput | ListFileInput | DataInput | ListInput | TypeInput | SubFlowInput | GenericInput;
|
|
106
135
|
/**
|
|
107
136
|
* Generates a schema definition for a given TypeScript type.
|
|
108
137
|
*
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
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,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,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 b(e){return te.test(e)}var te=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function x(e,t,n,r){let i=ne(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
|
+
`:`[`;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),o+=s!==void 0&&typeof s!=`function`?a(s,r):`null`,n<e.length-1&&(o+=i?`,
|
|
4
|
+
`:`,`)}return o+=i?`\n${n}]`:`]`,o}function s(e,r){if(typeof e.toJSON==`function`)return x(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
|
+
`:`{`;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 ne(e){if(typeof e==`number`)return` `.repeat(e);if(typeof e==`string`&&e!==``)return e}var S=e=>{if(c.default.isUnionTypeNode(e))return e.types.flatMap(S);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[]},C=(e,t)=>{if(t&&e.aliasSymbol){let t=e.aliasSymbol.declarations?.[0];if(t&&c.default.isTypeAliasDeclaration(t))return S(t.type)}return e.isUnion()?e.types.flatMap(e=>C(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`}]:[]},re=(e,t,n,r)=>r.flatMap(r=>{let i=r.getName();if(!w(i))return[];let a=r.getDeclarations()?.[0];if(!a||a.getEnd()>=t.getEnd())return[];let o=e.getTypeOfSymbolAtLocation(r,t);return i.startsWith(`node_`)?ie(i,o,e,n):i.startsWith(`p_`)?ae(i,o,e,n):i.startsWith(`flow_`)?oe(o,e,n):[]}),w=e=>e.startsWith(`node_`)||e.startsWith(`p_`)||e.startsWith(`flow_`),ie=(e,t,n,r)=>{if((t.flags&c.default.TypeFlags.Void)!==0)return[];let i=T(e.replace(`node_`,``));return O(t,n,r).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:i};return e.length>0&&(t.referencePath=e),t})},ae=(e,t,n,r)=>{let{nodeFunctionId:i,paramIndexFromName:a}=se(e);if(!n.isTupleType(t))return[];let o=t;return n.getTypeArguments(o).flatMap((e,t)=>O(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}))},oe=(e,t,n)=>O(e,t,n).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};return e.length>0&&(t.referencePath=e),t}),T=e=>e.replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`),se=e=>{let t=e.replace(`p_`,``),n=t.lastIndexOf(`_`),r=t.substring(0,n),i=parseInt(t.substring(n+1),10);return{nodeFunctionId:T(r),paramIndexFromName:i}},ce=7,E=(e,t,n)=>{let r=n.get(e);if(r!==void 0)return r;let i=new Set,a=n=>{if(i.has(n)||!k(n))return!1;i.add(n);for(let r of n.getProperties()){if(!r.valueDeclaration)continue;let n=t.getNonNullableType(t.getTypeOfSymbolAtLocation(r,r.valueDeclaration));if(n===e||a(n))return!0}return!1},o=a(e);return n.set(e,o),o},D=(e,t,n)=>e.isUnion()?e.types.some(e=>D(t.getNonNullableType(e),t,n)):(e.flags&c.default.TypeFlags.Never)===0&&t.isTypeAssignableTo(e,n),le=(e,t)=>e.isUnion()?e.types.map(e=>t.getNonNullableType(e)).filter(k):k(e)?[e]:[],O=(e,t,n,r=[],i=new Set,a=new Map)=>{let o=[],s=t.getNonNullableType(e);return D(s,t,n)&&o.push({path:r,type:e}),le(s,t).forEach(e=>{if(i.has(e)||r.length>=ce&&E(e,t,a))return;let s=e.getProperties();s&&s.length>0&&(i.add(e),s.forEach(e=>{let s=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),c=e.getName(),l=[...r,{path:c}];o.push(...O(s,t,n,l,i,a))}),i.delete(e))}),o},k=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},ue=(e,t,n,r)=>Z(r)?[]:t.flatMap(t=>{let i=A(e,t,n,r);return i?[i]:[]}),A=(e,t,n,r)=>{if(t.parameters.length>0)return null;let i=e.getSignatureFromDeclaration(t),a=j(e,e.getReturnTypeOfSignature(i)),o=e.getNonNullableType(a);if((o.flags&c.default.TypeFlags.Never)!==0||!e.isTypeAssignableTo(o,r))return null;let s=M(t.name?.getText());return N(n.find(e=>e.identifier===s))},j=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,M=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,N=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=P(e?.parameterDefinitions?.nodes||[])),n},P=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>F(e))}),F=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),I=(e,t,n,r)=>Z(r)?t.flatMap(t=>{let i=L(e,t,n,r);return i?[i]:[]}):[],L=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=R(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?z(o):null},R=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,z=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}))}),B={DATE:`date`},V=e=>e!=null&&e in B,H=7,U=(e,t,n,r,i,a=!0,o,s=new Set,l=new Map)=>{if((n.flags&c.default.TypeFlags.TypeParameter)!==0){let u=n.symbol?.declarations?.[0];if(u&&c.default.isTypeParameterDeclaration(u)&&u.constraint)return U(e,t,e.getTypeFromTypeNode(u.constraint),r,i,a,o,s,l)}let u=e.typeToString(V(n.aliasSymbol?.getName())&&n.isIntersection()?n.types.find(e=>(e.flags&c.default.TypeFlags.Object)===0)??n:{...n,aliasSymbol:void 0}),d=o??n,f=a?{suggestions:[...C(d,e),...t?re(e,t,d,e.getSymbolsInScope(t,c.default.SymbolFlags.Variable)):[],...ue(e,r,i,d),...I(e,r,i,d)]}:{};if(n.isUnion()){let a=n.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);if(a.length===1)return{...U(e,t,a[0],r,i,!1,void 0,s,l),type:u,...f}}let p=he(n);if(p)return{input:p,type:u,...f};if(G(e,n))return{input:`file`,type:u,mimetype:K(e,n),...f};if(q(n))return{input:`boolean`,type:u,...f};if(X(n)||_e(n))return{input:`select`,type:u,...f};if(J(n))return{input:`number`,type:u,...f};if(Y(n))return{input:`text`,type:u,...f};if(Z(n))return{input:`sub-flow`,type:u,...f};if(ve(e,n)){let o=e.getTypeArguments(n);return o.length===1&&G(e,o[0])?{input:`list-file`,type:u,mimetype:K(e,o[0]),...f}:{input:`list`,type:u,items:o.flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>U(e,t,n,r,i,a,void 0,s,l))),...f}}if((n.flags&c.default.TypeFlags.Object)!==0){if(s.has(n)||s.size>=H&&E(n,e,l))return{input:`data`,type:u,...f};s.add(n);let o={},d=[];for(let u of e.getPropertiesOfType(n)){let n=u.valueDeclaration??u.declarations?.[0];if(!n)continue;let f=e.getTypeOfSymbolAtLocation(u,n),p=(u.flags&c.default.SymbolFlags.Optional)!==0||f.isUnion()&&f.types.some(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))!==0),m=(f.isUnion()?f.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0):[f]).map(n=>U(e,t,n,r,i,a,void 0,s,l));o[u.name]=m.length===1?m[0]:m,p||d.push(u.name)}return s.delete(n),{input:`data`,type:u,properties:o,required:d,...f}}return{input:`generic`,type:u,...f}},W=(e,t,n=!1)=>{if(!e||e.input===`generic`)return pe(me(t),n);let r=fe(e.suggestions,t.suggestions);if(e.input===`data`){let n=e.properties??{},i=t.input===`data`?t.properties??{}:{},a={},o=new Set([...Object.keys(n),...Object.keys(i)]);for(let e of o){let t=n[e],r=i[e];a[e]=de(t,r)}return{...e,properties:a,...r?{suggestions:r}:{}}}if(e.input===`list`){let n=e.items??[],i=t.input===`list`?t.items??[]:[],a=n.length===i.length&&n.length>0?n.map((e,t)=>W(e,i[t])):n;return{...e,items:a,...r?{suggestions:r}:{}}}return{...e,...r?{suggestions:r}:{}}},de=(e,t)=>e&&!Array.isArray(e)&&t&&!Array.isArray(t)?W(e,t):e??t,fe=(e,t)=>{let n=[...e??[],...t??[]];if(n.length===0)return;let r=new Set,i=[];for(let e of n){let t=JSON.stringify(e);r.has(t)||(r.add(t),i.push(e))}return i},pe=(e,t)=>!t||e.input!==`generic`?e:{input:`data`,...e.type?{type:e.type}:{},properties:{},required:[],...e.suggestions?{suggestions:e.suggestions}:{}},me=e=>{if(e.input!==`select`)return e;let t=e.suggestions??[],n=new Set;for(let e of t){let t=typeof e.value;(t===`string`||t===`number`||t===`boolean`)&&n.add(t)}return{input:n.size===1?{string:`text`,number:`number`,boolean:`boolean`}[[...n][0]]:`text`,...e.type?{type:e.type}:{},...t.length>0?{suggestions:t}:{}}};function he(e){let t=e.aliasSymbol?.getName();return V(t)?B[t]:void 0}function G(e,t){if(t.aliasSymbol?.getName()!==`FILE`||(t.flags&c.default.TypeFlags.Object)===0)return!1;let n=e.getPropertiesOfType(t);if(n.length!==3)return!1;let r=new Map(n.map(e=>[e.name,e])),i=r.get(`valueType`);if(!r.has(`contentType`)||!r.has(`value`)||!i)return!1;let a=i.valueDeclaration??i.declarations?.[0];if(!a)return!1;let o=e.getTypeOfSymbolAtLocation(i,a);return o.isStringLiteral()&&o.value===`base64`}function K(e,t){let n=/^(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)\/(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)$/,r=e.getPropertiesOfType(t).find(e=>e.name===`contentType`);if(!r)return`*/*`;let i=r.valueDeclaration??r.declarations?.[0];if(!i)return`*/*`;let a=e.getTypeOfSymbolAtLocation(r,i);return a.isStringLiteral()&&n.test(a.value)?a.value:`*/*`}function q(e){if((e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)return!0;if(e.isUnion()){let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(e=>(e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)}return!1}function J(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function Y(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function ge(e){return Y(e)||J(e)||q(e)}function _e(e){return(e.flags&c.default.TypeFlags.StringLiteral)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function X(e){if(!e.isUnion())return!1;let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(ge)}function ve(e,t){return e.isArrayType(t)||e.isTupleType(t)}function Z(e){return e.getCallSignatures().length>0}var ye=`
|
|
7
|
+
interface Array<T> {
|
|
8
|
+
[n: number]: T;
|
|
9
|
+
length: number;
|
|
10
|
+
}
|
|
11
|
+
interface String { readonly length: number; }
|
|
12
|
+
interface Number { }
|
|
13
|
+
interface Boolean { }
|
|
14
|
+
interface Object { }
|
|
15
|
+
interface Function { }
|
|
16
|
+
interface CallableFunction extends Function {}
|
|
17
|
+
interface NewableFunction extends Function {}
|
|
18
|
+
interface IArguments { }
|
|
19
|
+
interface RegExp { }
|
|
20
|
+
|
|
21
|
+
declare namespace Utils {
|
|
22
|
+
type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
import ReturnType = Utils.ReturnType;
|
|
26
|
+
`;function be(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,ye),p(ee(n),[e,`lib.codezero.d.ts`],c.default,xe)}var xe={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function Se(e){let t=[],n=0,r=null,i=``;for(let a of e){if(r)a===r&&(r=null);else if(a===`'`||a===`"`||a==="`")r=a;else if(a===`<`||a===`{`||a===`(`||a===`[`)n++;else if(a===`>`||a===`}`||a===`)`||a===`]`)n--;else if(a===`,`&&n===0){t.push(i),i=``;continue}i+=a}return t.push(i),t.map(e=>(e.trim().split(/\s+/).find(e=>e!==`const`&&e!==`in`&&e!==`out`)??``).match(/^[A-Za-z_$][A-Za-z0-9_$]*/)?.[0]??``).filter(e=>e.length>0)}function Q(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]).flatMap(Se))).map(e=>`type ${e} = ${t};`).join(`
|
|
27
|
+
`),i=e?.map(e=>{let t=(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``,n=V(e.identifier)?`${e.type} & {}`:e.type;return`type ${e.identifier}${t} = ${n};`}).join(`
|
|
28
|
+
`),a=e?.filter(e=>(e.genericKeys?.length??0)>0).map(e=>`declare const __widen_${e.identifier}: ${e.identifier}<${e.genericKeys.map(()=>`any`).join(`, `)}>;`).join(`
|
|
29
|
+
`)??``;return`${n?r:``}\n${i}\n${a}`}var $=e=>e?.replace(/[^a-zA-Z0-9]/g,`_`);function Ce(e,t,n,r=!1,i=!0){let a=e?.nodes?.nodes||[],o=new Map(t?.map(e=>[e.identifier,e])),s=new Set,c=(t,n=``)=>{let l=a.find(e=>e?.id===t);if(!l||!l.functionDefinition)return``;if(t?.includes(`NodeFunction`)&&s.add(t),!o.get(l.functionDefinition.identifier))return`${n}// Error: Function ${l.functionDefinition.identifier} not found\n`;let u=(l.parameters?.nodes||[]).map((a,o)=>{let s=a.value;if(!s)return r?`/* @pos ${t} ${o} */ {}`:`/* @pos ${t} ${o} */ undefined`;if(s.__typename===`ReferenceValue`){let n=s,r=typeof n.inputIndex==`number`?`p_${$(n.nodeFunctionId??`undefined`)}_${n.parameterIndex}[${n.inputIndex}]`:n.nodeFunctionId?`node_${$(n.nodeFunctionId)}`:`flow_${$(e?.id??`undefined`)}`;return n.referencePath?.forEach(e=>{r+=`?.${e.path}`}),`/* @pos ${t} ${o} */ (${r})${i?`!`:``}`}if(s.__typename===`LiteralValue`)return`/* @pos ${t} ${o} */ ${s?.value!==null&&s?.value!==void 0?x(s?.value):void 0}`;if(s.__typename===`SubFlowValue`){let e=s;return`/* @pos ${t} ${o} */ (...${`p_${$(t)}_${o}`}) => {\n${c(e.startingNodeId||e.functionDefinition?.id,n+` `)}${n}}`}return r?`/* @pos ${t} ${o} */ {}`:`/* @pos ${t} ${o} */ undefined`}),d=`node_${$(l.id)}`,f=`fn_${l?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;u.includes(`undefined`);let p=`${n}`;return l.functionDefinition.identifier===`std::control::return`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`return ${d};\n`):l.functionDefinition.identifier===`std::control::if`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`if(${u[0]}) {
|
|
30
|
+
${c(l.parameters?.nodes?.[1]?.value?.startingNodeId||(l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
31
|
+
}`):l.functionDefinition.identifier===`std::control::if_else`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`if(${u[0]}) {
|
|
32
|
+
${c(l.parameters?.nodes?.[1]?.value?.startingNodeId||(l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
33
|
+
} else {
|
|
34
|
+
${c(l.parameters?.nodes?.[2]?.value?.startingNodeId||(l.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
35
|
+
}`):p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,l.nextNodeId&&(p+=c(l.nextNodeId,n)),p},l=Q(n),u=`declare function flow${e?.signature??`(): void`}`,d=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
|
|
36
|
+
`),f=new Set(a.map(e=>e?.nextNodeId).filter(e=>!!e)),p=new Set;return a.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`SubFlowValue`&&(e.value.startingNodeId||e.value.functionDefinition?.id)&&p.add(e.value.startingNodeId||e.value.functionDefinition?.id)})),`
|
|
37
|
+
${l}\n
|
|
38
|
+
${u}\n
|
|
39
|
+
${d}\n
|
|
40
|
+
(() =>
|
|
41
|
+
${e?`const flow_${$(e.id??``)} = /* @pos null null */ flow(${e.settings?.nodes?.map((e,t)=>`/* @pos null ${t} */ ${e?.value!==null&&e?.value!==void 0?x(e?.value):void 0}`).join(`, `)??``});`:``}
|
|
42
|
+
${a.filter(e=>e?.id&&!f.has(e.id)&&!p.has(e.id)).map(e=>c(e.id)).join(`
|
|
43
|
+
`)}
|
|
44
|
+
)();
|
|
45
|
+
`}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return x}});
|
|
@@ -215,7 +215,7 @@ function h(e, t, n, r) {
|
|
|
215
215
|
let r = i ? n + i : void 0, o = i ? "[\n" : "[";
|
|
216
216
|
for (let n = 0; n < e.length; n++) {
|
|
217
217
|
let s = typeof t == "function" ? t.call(e, String(n), e[n]) : e[n];
|
|
218
|
-
i && (o += r), s !== void 0 && typeof s != "function" ?
|
|
218
|
+
i && (o += r), o += s !== void 0 && typeof s != "function" ? a(s, r) : "null", n < e.length - 1 && (o += i ? ",\n" : ",");
|
|
219
219
|
}
|
|
220
220
|
return o += i ? `\n${n}]` : "]", o;
|
|
221
221
|
}
|
|
@@ -284,22 +284,22 @@ var _ = (t) => {
|
|
|
284
284
|
let a = r.getDeclarations()?.[0];
|
|
285
285
|
if (!a || a.getEnd() >= t.getEnd()) return [];
|
|
286
286
|
let o = e.getTypeOfSymbolAtLocation(r, t);
|
|
287
|
-
return i.startsWith("node_") ?
|
|
288
|
-
}), b = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"),
|
|
287
|
+
return i.startsWith("node_") ? ee(i, o, e, n) : i.startsWith("p_") ? te(i, o, e, n) : i.startsWith("flow_") ? ne(o, e, n) : [];
|
|
288
|
+
}), b = (e) => e.startsWith("node_") || e.startsWith("p_") || e.startsWith("flow_"), ee = (t, n, r, i) => {
|
|
289
289
|
if ((n.flags & e.TypeFlags.Void) !== 0) return [];
|
|
290
|
-
let a =
|
|
291
|
-
return
|
|
290
|
+
let a = x(t.replace("node_", ""));
|
|
291
|
+
return D(n, r, i).flatMap(({ path: e }) => {
|
|
292
292
|
let t = {
|
|
293
293
|
__typename: "ReferenceValue",
|
|
294
294
|
nodeFunctionId: a
|
|
295
295
|
};
|
|
296
296
|
return e.length > 0 && (t.referencePath = e), t;
|
|
297
297
|
});
|
|
298
|
-
},
|
|
299
|
-
let { nodeFunctionId: i, paramIndexFromName: a } =
|
|
298
|
+
}, te = (e, t, n, r) => {
|
|
299
|
+
let { nodeFunctionId: i, paramIndexFromName: a } = S(e);
|
|
300
300
|
if (!n.isTupleType(t)) return [];
|
|
301
301
|
let o = t;
|
|
302
|
-
return n.getTypeArguments(o).flatMap((e, t) =>
|
|
302
|
+
return n.getTypeArguments(o).flatMap((e, t) => D(e, n, r).flatMap(({ path: e }) => {
|
|
303
303
|
let n = {
|
|
304
304
|
__typename: "ReferenceValue",
|
|
305
305
|
nodeFunctionId: i,
|
|
@@ -309,23 +309,23 @@ var _ = (t) => {
|
|
|
309
309
|
};
|
|
310
310
|
return e.length > 0 && (n.referencePath = e), n;
|
|
311
311
|
}));
|
|
312
|
-
},
|
|
312
|
+
}, ne = (e, t, n) => D(e, t, n).flatMap(({ path: e }) => {
|
|
313
313
|
let t = {
|
|
314
314
|
__typename: "ReferenceValue",
|
|
315
315
|
nodeFunctionId: null
|
|
316
316
|
};
|
|
317
317
|
return e.length > 0 && (t.referencePath = e), t;
|
|
318
|
-
}),
|
|
318
|
+
}), x = (e) => e.replace(/___/g, "://").replace(/__/g, "/").replace(/_/g, "/"), S = (e) => {
|
|
319
319
|
let t = e.replace("p_", ""), n = t.lastIndexOf("_"), r = t.substring(0, n), i = parseInt(t.substring(n + 1), 10);
|
|
320
320
|
return {
|
|
321
|
-
nodeFunctionId:
|
|
321
|
+
nodeFunctionId: x(r),
|
|
322
322
|
paramIndexFromName: i
|
|
323
323
|
};
|
|
324
|
-
},
|
|
324
|
+
}, C = 7, w = (e, t, n) => {
|
|
325
325
|
let r = n.get(e);
|
|
326
326
|
if (r !== void 0) return r;
|
|
327
327
|
let i = /* @__PURE__ */ new Set(), a = (n) => {
|
|
328
|
-
if (i.has(n) || !
|
|
328
|
+
if (i.has(n) || !O(n)) return !1;
|
|
329
329
|
i.add(n);
|
|
330
330
|
for (let r of n.getProperties()) {
|
|
331
331
|
if (!r.valueDeclaration) continue;
|
|
@@ -335,32 +335,32 @@ var _ = (t) => {
|
|
|
335
335
|
return !1;
|
|
336
336
|
}, o = a(e);
|
|
337
337
|
return n.set(e, o), o;
|
|
338
|
-
},
|
|
338
|
+
}, T = (t, n, r) => t.isUnion() ? t.types.some((e) => T(n.getNonNullableType(e), n, r)) : (t.flags & e.TypeFlags.Never) === 0 && n.isTypeAssignableTo(t, r), E = (e, t) => e.isUnion() ? e.types.map((e) => t.getNonNullableType(e)).filter(O) : O(e) ? [e] : [], D = (e, t, n, r = [], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map()) => {
|
|
339
339
|
let o = [], s = t.getNonNullableType(e);
|
|
340
|
-
return
|
|
340
|
+
return T(s, t, n) && o.push({
|
|
341
341
|
path: r,
|
|
342
342
|
type: e
|
|
343
|
-
}),
|
|
344
|
-
if (i.has(e) || r.length >=
|
|
343
|
+
}), E(s, t).forEach((e) => {
|
|
344
|
+
if (i.has(e) || r.length >= C && w(e, t, a)) return;
|
|
345
345
|
let s = e.getProperties();
|
|
346
346
|
s && s.length > 0 && (i.add(e), s.forEach((e) => {
|
|
347
347
|
let s = t.getTypeOfSymbolAtLocation(e, e.valueDeclaration), c = e.getName(), l = [...r, { path: c }];
|
|
348
|
-
o.push(...
|
|
348
|
+
o.push(...D(s, t, n, l, i, a));
|
|
349
349
|
}), i.delete(e));
|
|
350
350
|
}), o;
|
|
351
|
-
},
|
|
351
|
+
}, O = (t) => {
|
|
352
352
|
let n = e.TypeFlags.String | e.TypeFlags.Number | e.TypeFlags.Boolean | e.TypeFlags.Undefined | e.TypeFlags.Null | e.TypeFlags.BigInt | e.TypeFlags.ESSymbol;
|
|
353
353
|
return (t.flags & n) === 0;
|
|
354
|
-
},
|
|
355
|
-
let i =
|
|
354
|
+
}, re = (e, t, n, r) => X(r) ? [] : t.flatMap((t) => {
|
|
355
|
+
let i = ie(e, t, n, r);
|
|
356
356
|
return i ? [i] : [];
|
|
357
|
-
}),
|
|
357
|
+
}), ie = (t, n, r, i) => {
|
|
358
358
|
if (n.parameters.length > 0) return null;
|
|
359
|
-
let a = t.getSignatureFromDeclaration(n), o =
|
|
359
|
+
let a = t.getSignatureFromDeclaration(n), o = ae(t, t.getReturnTypeOfSignature(a)), s = t.getNonNullableType(o);
|
|
360
360
|
if ((s.flags & e.TypeFlags.Never) !== 0 || !t.isTypeAssignableTo(s, i)) return null;
|
|
361
|
-
let c =
|
|
362
|
-
return
|
|
363
|
-
},
|
|
361
|
+
let c = oe(n.name?.getText());
|
|
362
|
+
return se(r.find((e) => e.identifier === c));
|
|
363
|
+
}, ae = (e, t) => t.isTypeParameter() ? e.getBaseConstraintOfType(t) || e.getAnyType() : t, oe = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", se = (e) => {
|
|
364
364
|
let t = (e?.parameterDefinitions?.nodes?.length ?? 0) > 0, n = {
|
|
365
365
|
__typename: "NodeFunction",
|
|
366
366
|
id: "gid://sagittarius/NodeFunction/1",
|
|
@@ -373,11 +373,11 @@ var _ = (t) => {
|
|
|
373
373
|
displayIcon: e?.displayIcon
|
|
374
374
|
}
|
|
375
375
|
};
|
|
376
|
-
return t && (n.parameters =
|
|
377
|
-
},
|
|
376
|
+
return t && (n.parameters = k(e?.parameterDefinitions?.nodes || [])), n;
|
|
377
|
+
}, k = (e) => ({
|
|
378
378
|
__typename: "NodeParameterConnection",
|
|
379
|
-
nodes: e.map((e) =>
|
|
380
|
-
}),
|
|
379
|
+
nodes: e.map((e) => A(e))
|
|
380
|
+
}), A = (e) => ({
|
|
381
381
|
__typename: "NodeParameter",
|
|
382
382
|
parameterDefinition: {
|
|
383
383
|
__typename: "ParameterDefinition",
|
|
@@ -388,15 +388,15 @@ var _ = (t) => {
|
|
|
388
388
|
__typename: "LiteralValue",
|
|
389
389
|
value: e.defaultValue.value
|
|
390
390
|
} : null
|
|
391
|
-
}),
|
|
392
|
-
let i =
|
|
391
|
+
}), j = (e, t, n, r) => X(r) ? t.flatMap((t) => {
|
|
392
|
+
let i = M(e, t, n, r);
|
|
393
393
|
return i ? [i] : [];
|
|
394
|
-
}) : [],
|
|
394
|
+
}) : [], M = (e, t, n, r) => {
|
|
395
395
|
let i = e.getTypeAtLocation(t);
|
|
396
396
|
if (!e.isTypeAssignableTo(i, r)) return null;
|
|
397
|
-
let a =
|
|
398
|
-
return o ?
|
|
399
|
-
},
|
|
397
|
+
let a = N(t.name?.getText()), o = n.find((e) => e.identifier === a);
|
|
398
|
+
return o ? P(o) : null;
|
|
399
|
+
}, N = (e) => e ? e.replace("fn_", "").replace("_", "::").replace("_", "::") : "", P = (e) => ({
|
|
400
400
|
__typename: "SubFlowValue",
|
|
401
401
|
functionDefinition: e,
|
|
402
402
|
signature: e.signature,
|
|
@@ -407,37 +407,46 @@ var _ = (t) => {
|
|
|
407
407
|
hidden: e?.hidden ?? !1,
|
|
408
408
|
optional: e?.optional ?? !1
|
|
409
409
|
}))
|
|
410
|
-
}),
|
|
410
|
+
}), F = { DATE: "date" }, I = (e) => e != null && e in F, L = 7, R = (t, n, r, i, a, o = !0, s, c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Map()) => {
|
|
411
411
|
if ((r.flags & e.TypeFlags.TypeParameter) !== 0) {
|
|
412
412
|
let u = r.symbol?.declarations?.[0];
|
|
413
|
-
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return
|
|
413
|
+
if (u && e.isTypeParameterDeclaration(u) && u.constraint) return R(t, n, t.getTypeFromTypeNode(u.constraint), i, a, o, s, c, l);
|
|
414
414
|
}
|
|
415
|
-
let u = t.typeToString(r)
|
|
415
|
+
let u = t.typeToString(I(r.aliasSymbol?.getName()) && r.isIntersection() ? r.types.find((t) => (t.flags & e.TypeFlags.Object) === 0) ?? r : {
|
|
416
|
+
...r,
|
|
417
|
+
aliasSymbol: void 0
|
|
418
|
+
}), d = s ?? r, f = o ? { suggestions: [
|
|
416
419
|
...v(d, t),
|
|
417
420
|
...n ? y(t, n, d, t.getSymbolsInScope(n, e.SymbolFlags.Variable)) : [],
|
|
418
|
-
...
|
|
419
|
-
...
|
|
421
|
+
...re(t, i, a, d),
|
|
422
|
+
...j(t, i, a, d)
|
|
420
423
|
] } : {};
|
|
421
424
|
if (r.isUnion()) {
|
|
422
425
|
let o = r.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
423
426
|
if (o.length === 1) return {
|
|
424
|
-
...
|
|
427
|
+
...R(t, n, o[0], i, a, !1, void 0, c, l),
|
|
425
428
|
type: u,
|
|
426
429
|
...f
|
|
427
430
|
};
|
|
428
431
|
}
|
|
429
|
-
let p =
|
|
432
|
+
let p = W(r);
|
|
430
433
|
if (p) return {
|
|
431
434
|
input: p,
|
|
432
435
|
type: u,
|
|
433
436
|
...f
|
|
434
437
|
};
|
|
438
|
+
if (G(t, r)) return {
|
|
439
|
+
input: "file",
|
|
440
|
+
type: u,
|
|
441
|
+
mimetype: K(t, r),
|
|
442
|
+
...f
|
|
443
|
+
};
|
|
435
444
|
if (q(r)) return {
|
|
436
445
|
input: "boolean",
|
|
437
446
|
type: u,
|
|
438
447
|
...f
|
|
439
448
|
};
|
|
440
|
-
if (
|
|
449
|
+
if (ue(r) || le(r)) return {
|
|
441
450
|
input: "select",
|
|
442
451
|
type: u,
|
|
443
452
|
...f
|
|
@@ -457,14 +466,22 @@ var _ = (t) => {
|
|
|
457
466
|
type: u,
|
|
458
467
|
...f
|
|
459
468
|
};
|
|
460
|
-
if (
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
469
|
+
if (de(t, r)) {
|
|
470
|
+
let e = t.getTypeArguments(r);
|
|
471
|
+
return e.length === 1 && G(t, e[0]) ? {
|
|
472
|
+
input: "list-file",
|
|
473
|
+
type: u,
|
|
474
|
+
mimetype: K(t, e[0]),
|
|
475
|
+
...f
|
|
476
|
+
} : {
|
|
477
|
+
input: "list",
|
|
478
|
+
type: u,
|
|
479
|
+
items: e.flatMap((e) => (e.isUnion() ? e.types : [e]).map((e) => R(t, n, e, i, a, o, void 0, c, l))),
|
|
480
|
+
...f
|
|
481
|
+
};
|
|
482
|
+
}
|
|
466
483
|
if ((r.flags & e.TypeFlags.Object) !== 0) {
|
|
467
|
-
if (c.has(r) || c.size >=
|
|
484
|
+
if (c.has(r) || c.size >= L && w(r, t, l)) return {
|
|
468
485
|
input: "data",
|
|
469
486
|
type: u,
|
|
470
487
|
...f
|
|
@@ -474,7 +491,7 @@ var _ = (t) => {
|
|
|
474
491
|
for (let u of t.getPropertiesOfType(r)) {
|
|
475
492
|
let r = u.valueDeclaration ?? u.declarations?.[0];
|
|
476
493
|
if (!r) continue;
|
|
477
|
-
let f = t.getTypeOfSymbolAtLocation(u, r), p = (u.flags & e.SymbolFlags.Optional) !== 0 || f.isUnion() && f.types.some((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) !== 0), m = (f.isUnion() ? f.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0) : [f]).map((e) =>
|
|
494
|
+
let f = t.getTypeOfSymbolAtLocation(u, r), p = (u.flags & e.SymbolFlags.Optional) !== 0 || f.isUnion() && f.types.some((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) !== 0), m = (f.isUnion() ? f.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0) : [f]).map((e) => R(t, n, e, i, a, o, void 0, c, l));
|
|
478
495
|
s[u.name] = m.length === 1 ? m[0] : m, p || d.push(u.name);
|
|
479
496
|
}
|
|
480
497
|
return c.delete(r), {
|
|
@@ -490,14 +507,14 @@ var _ = (t) => {
|
|
|
490
507
|
type: u,
|
|
491
508
|
...f
|
|
492
509
|
};
|
|
493
|
-
},
|
|
494
|
-
if (!e || e.input === "generic") return
|
|
495
|
-
let r =
|
|
510
|
+
}, z = (e, t, n = !1) => {
|
|
511
|
+
if (!e || e.input === "generic") return H(U(t), n);
|
|
512
|
+
let r = V(e.suggestions, t.suggestions);
|
|
496
513
|
if (e.input === "data") {
|
|
497
|
-
let n = e.properties ?? {}, i = t.input === "data" ? t.properties ?? {} : {}, a = {}, o = new Set([...Object.keys(n), ...Object.keys(i)]);
|
|
514
|
+
let n = e.properties ?? {}, i = t.input === "data" ? t.properties ?? {} : {}, a = {}, o = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(i)]);
|
|
498
515
|
for (let e of o) {
|
|
499
516
|
let t = n[e], r = i[e];
|
|
500
|
-
a[e] =
|
|
517
|
+
a[e] = B(t, r);
|
|
501
518
|
}
|
|
502
519
|
return {
|
|
503
520
|
...e,
|
|
@@ -506,7 +523,7 @@ var _ = (t) => {
|
|
|
506
523
|
};
|
|
507
524
|
}
|
|
508
525
|
if (e.input === "list") {
|
|
509
|
-
let n = e.items ?? [], i = t.input === "list" ? t.items ?? [] : [], a = n.length === i.length && n.length > 0 ? n.map((e, t) =>
|
|
526
|
+
let n = e.items ?? [], i = t.input === "list" ? t.items ?? [] : [], a = n.length === i.length && n.length > 0 ? n.map((e, t) => z(e, i[t])) : n;
|
|
510
527
|
return {
|
|
511
528
|
...e,
|
|
512
529
|
items: a,
|
|
@@ -517,7 +534,7 @@ var _ = (t) => {
|
|
|
517
534
|
...e,
|
|
518
535
|
...r ? { suggestions: r } : {}
|
|
519
536
|
};
|
|
520
|
-
},
|
|
537
|
+
}, B = (e, t) => e && !Array.isArray(e) && t && !Array.isArray(t) ? z(e, t) : e ?? t, V = (e, t) => {
|
|
521
538
|
let n = [...e ?? [], ...t ?? []];
|
|
522
539
|
if (n.length === 0) return;
|
|
523
540
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
@@ -526,13 +543,13 @@ var _ = (t) => {
|
|
|
526
543
|
r.has(t) || (r.add(t), i.push(e));
|
|
527
544
|
}
|
|
528
545
|
return i;
|
|
529
|
-
},
|
|
546
|
+
}, H = (e, t) => !t || e.input !== "generic" ? e : {
|
|
530
547
|
input: "data",
|
|
531
548
|
...e.type ? { type: e.type } : {},
|
|
532
549
|
properties: {},
|
|
533
550
|
required: [],
|
|
534
551
|
...e.suggestions ? { suggestions: e.suggestions } : {}
|
|
535
|
-
},
|
|
552
|
+
}, U = (e) => {
|
|
536
553
|
if (e.input !== "select") return e;
|
|
537
554
|
let t = e.suggestions ?? [], n = /* @__PURE__ */ new Set();
|
|
538
555
|
for (let e of t) {
|
|
@@ -549,9 +566,28 @@ var _ = (t) => {
|
|
|
549
566
|
...t.length > 0 ? { suggestions: t } : {}
|
|
550
567
|
};
|
|
551
568
|
};
|
|
552
|
-
function
|
|
569
|
+
function W(e) {
|
|
553
570
|
let t = e.aliasSymbol?.getName();
|
|
554
|
-
return
|
|
571
|
+
return I(t) ? F[t] : void 0;
|
|
572
|
+
}
|
|
573
|
+
function G(t, n) {
|
|
574
|
+
if (n.aliasSymbol?.getName() !== "FILE" || (n.flags & e.TypeFlags.Object) === 0) return !1;
|
|
575
|
+
let r = t.getPropertiesOfType(n);
|
|
576
|
+
if (r.length !== 3) return !1;
|
|
577
|
+
let i = new Map(r.map((e) => [e.name, e])), a = i.get("valueType");
|
|
578
|
+
if (!i.has("contentType") || !i.has("value") || !a) return !1;
|
|
579
|
+
let o = a.valueDeclaration ?? a.declarations?.[0];
|
|
580
|
+
if (!o) return !1;
|
|
581
|
+
let s = t.getTypeOfSymbolAtLocation(a, o);
|
|
582
|
+
return s.isStringLiteral() && s.value === "base64";
|
|
583
|
+
}
|
|
584
|
+
function K(e, t) {
|
|
585
|
+
let n = /^(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)\/(\*|[a-zA-Z0-9][a-zA-Z0-9!#$&^_.+-]*)$/, r = e.getPropertiesOfType(t).find((e) => e.name === "contentType");
|
|
586
|
+
if (!r) return "*/*";
|
|
587
|
+
let i = r.valueDeclaration ?? r.declarations?.[0];
|
|
588
|
+
if (!i) return "*/*";
|
|
589
|
+
let a = e.getTypeOfSymbolAtLocation(r, i);
|
|
590
|
+
return a.isStringLiteral() && n.test(a.value) ? a.value : "*/*";
|
|
555
591
|
}
|
|
556
592
|
function q(t) {
|
|
557
593
|
if ((t.flags & e.TypeFlags.Boolean) !== 0 || (t.flags & e.TypeFlags.BooleanLiteral) !== 0) return !0;
|
|
@@ -567,18 +603,18 @@ function J(t) {
|
|
|
567
603
|
function Y(t) {
|
|
568
604
|
return (t.flags & e.TypeFlags.String) !== 0 || (t.flags & e.TypeFlags.StringLiteral) !== 0;
|
|
569
605
|
}
|
|
570
|
-
function
|
|
606
|
+
function ce(e) {
|
|
571
607
|
return Y(e) || J(e) || q(e);
|
|
572
608
|
}
|
|
573
|
-
function
|
|
609
|
+
function le(t) {
|
|
574
610
|
return (t.flags & e.TypeFlags.StringLiteral) !== 0 || (t.flags & e.TypeFlags.NumberLiteral) !== 0;
|
|
575
611
|
}
|
|
576
|
-
function
|
|
612
|
+
function ue(t) {
|
|
577
613
|
if (!t.isUnion()) return !1;
|
|
578
614
|
let n = t.types.filter((t) => (t.flags & (e.TypeFlags.Undefined | e.TypeFlags.Null)) === 0);
|
|
579
|
-
return n.length > 0 && n.every(
|
|
615
|
+
return n.length > 0 && n.every(ce);
|
|
580
616
|
}
|
|
581
|
-
function
|
|
617
|
+
function de(e, t) {
|
|
582
618
|
return e.isArrayType(t) || e.isTupleType(t);
|
|
583
619
|
}
|
|
584
620
|
function X(e) {
|
|
@@ -586,18 +622,18 @@ function X(e) {
|
|
|
586
622
|
}
|
|
587
623
|
//#endregion
|
|
588
624
|
//#region src/utils.ts
|
|
589
|
-
var
|
|
590
|
-
function
|
|
625
|
+
var Z = "\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";
|
|
626
|
+
function fe(t, n) {
|
|
591
627
|
let r = /* @__PURE__ */ new Map();
|
|
592
|
-
return r.set(t, n), r.set("lib.codezero.d.ts",
|
|
628
|
+
return r.set(t, n), r.set("lib.codezero.d.ts", Z), a(u(r), [t, "lib.codezero.d.ts"], e, pe);
|
|
593
629
|
}
|
|
594
|
-
var
|
|
630
|
+
var pe = {
|
|
595
631
|
target: e.ScriptTarget.Latest,
|
|
596
632
|
lib: ["lib.codezero.d.ts"],
|
|
597
633
|
noEmit: !0,
|
|
598
634
|
strictNullChecks: !0
|
|
599
635
|
};
|
|
600
|
-
function
|
|
636
|
+
function me(e) {
|
|
601
637
|
let t = [], n = 0, r = null, i = "";
|
|
602
638
|
for (let a of e) {
|
|
603
639
|
if (r) a === r && (r = null);
|
|
@@ -613,14 +649,14 @@ function fe(e) {
|
|
|
613
649
|
return t.push(i), t.map((e) => (e.trim().split(/\s+/).find((e) => e !== "const" && e !== "in" && e !== "out") ?? "").match(/^[A-Za-z_$][A-Za-z0-9_$]*/)?.[0] ?? "").filter((e) => e.length > 0);
|
|
614
650
|
}
|
|
615
651
|
function Q(e, t = "any", n = !0) {
|
|
616
|
-
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(
|
|
617
|
-
let t = (e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : "", n =
|
|
652
|
+
let r = Array.from(new Set(e?.flatMap((e) => e.genericKeys || []).flatMap(me))).map((e) => `type ${e} = ${t};`).join("\n"), i = e?.map((e) => {
|
|
653
|
+
let t = (e.genericKeys?.length ?? 0) > 0 ? `<${e.genericKeys?.join(",")}>` : "", n = I(e.identifier) ? `${e.type} & {}` : e.type;
|
|
618
654
|
return `type ${e.identifier}${t} = ${n};`;
|
|
619
655
|
}).join("\n"), a = e?.filter((e) => (e.genericKeys?.length ?? 0) > 0).map((e) => `declare const __widen_${e.identifier}: ${e.identifier}<${e.genericKeys.map(() => "any").join(", ")}>;`).join("\n") ?? "";
|
|
620
656
|
return `${n ? r : ""}\n${i}\n${a}`;
|
|
621
657
|
}
|
|
622
658
|
var $ = (e) => e?.replace(/[^a-zA-Z0-9]/g, "_");
|
|
623
|
-
function
|
|
659
|
+
function he(e, t, n, r = !1, i = !0) {
|
|
624
660
|
let a = e?.nodes?.nodes || [], o = new Map(t?.map((e) => [e.identifier, e])), s = /* @__PURE__ */ new Set(), c = (t, n = "") => {
|
|
625
661
|
let l = a.find((e) => e?.id === t);
|
|
626
662
|
if (!l || !l.functionDefinition) return "";
|
|
@@ -664,4 +700,4 @@ function pe(e, t, n, r = !1, i = !0) {
|
|
|
664
700
|
`;
|
|
665
701
|
}
|
|
666
702
|
//#endregion
|
|
667
|
-
export {
|
|
703
|
+
export { F as a, X as c, $ as i, z as l, he as n, R as o, Q as r, I as s, fe as t, h as u };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code0-tech/triangulum",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://github.com/code0-tech/triangulum#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"@code0-tech/sagittarius-graphql-types": "0.0.0-experimental-2744343400-55133b9bb6062772c50f83d945a22a531a6e48e2",
|
|
39
39
|
"@types/node": "^25.6.0",
|
|
40
40
|
"@typescript/vfs": "^1.6.4",
|
|
41
|
-
"lossless-json": "^4.3.
|
|
41
|
+
"lossless-json": "^4.3.1",
|
|
42
42
|
"ts-json-schema-generator": "^2.9.0",
|
|
43
43
|
"typescript": "^6.0.3",
|
|
44
|
-
"vite": "^8.0
|
|
44
|
+
"vite": "^8.2.0",
|
|
45
45
|
"vite-plugin-dts": "^4.5.4",
|
|
46
46
|
"vitest": "^4.1.8"
|
|
47
47
|
},
|
package/dist/utils-Kbkh95iw.cjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
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 b(e){return te.test(e)}var te=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function x(e,t,n,r){let i=ne(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
|
-
`:`[`;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 x(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
|
-
`:`{`;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 ne(e){if(typeof e==`number`)return` `.repeat(e);if(typeof e==`string`&&e!==``)return e}var S=e=>{if(c.default.isUnionTypeNode(e))return e.types.flatMap(S);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[]},C=(e,t)=>{if(t&&e.aliasSymbol){let t=e.aliasSymbol.declarations?.[0];if(t&&c.default.isTypeAliasDeclaration(t))return S(t.type)}return e.isUnion()?e.types.flatMap(e=>C(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`}]:[]},w=(e,t,n,r)=>r.flatMap(r=>{let i=r.getName();if(!T(i))return[];let a=r.getDeclarations()?.[0];if(!a||a.getEnd()>=t.getEnd())return[];let o=e.getTypeOfSymbolAtLocation(r,t);return i.startsWith(`node_`)?re(i,o,e,n):i.startsWith(`p_`)?ie(i,o,e,n):i.startsWith(`flow_`)?ae(o,e,n):[]}),T=e=>e.startsWith(`node_`)||e.startsWith(`p_`)||e.startsWith(`flow_`),re=(e,t,n,r)=>{if((t.flags&c.default.TypeFlags.Void)!==0)return[];let i=E(e.replace(`node_`,``));return k(t,n,r).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:i};return e.length>0&&(t.referencePath=e),t})},ie=(e,t,n,r)=>{let{nodeFunctionId:i,paramIndexFromName:a}=oe(e);if(!n.isTupleType(t))return[];let o=t;return n.getTypeArguments(o).flatMap((e,t)=>k(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}))},ae=(e,t,n)=>k(e,t,n).flatMap(({path:e})=>{let t={__typename:`ReferenceValue`,nodeFunctionId:null};return e.length>0&&(t.referencePath=e),t}),E=e=>e.replace(/___/g,`://`).replace(/__/g,`/`).replace(/_/g,`/`),oe=e=>{let t=e.replace(`p_`,``),n=t.lastIndexOf(`_`),r=t.substring(0,n),i=parseInt(t.substring(n+1),10);return{nodeFunctionId:E(r),paramIndexFromName:i}},se=7,D=(e,t,n)=>{let r=n.get(e);if(r!==void 0)return r;let i=new Set,a=n=>{if(i.has(n)||!A(n))return!1;i.add(n);for(let r of n.getProperties()){if(!r.valueDeclaration)continue;let n=t.getNonNullableType(t.getTypeOfSymbolAtLocation(r,r.valueDeclaration));if(n===e||a(n))return!0}return!1},o=a(e);return n.set(e,o),o},O=(e,t,n)=>e.isUnion()?e.types.some(e=>O(t.getNonNullableType(e),t,n)):(e.flags&c.default.TypeFlags.Never)===0&&t.isTypeAssignableTo(e,n),ce=(e,t)=>e.isUnion()?e.types.map(e=>t.getNonNullableType(e)).filter(A):A(e)?[e]:[],k=(e,t,n,r=[],i=new Set,a=new Map)=>{let o=[],s=t.getNonNullableType(e);return O(s,t,n)&&o.push({path:r,type:e}),ce(s,t).forEach(e=>{if(i.has(e)||r.length>=se&&D(e,t,a))return;let s=e.getProperties();s&&s.length>0&&(i.add(e),s.forEach(e=>{let s=t.getTypeOfSymbolAtLocation(e,e.valueDeclaration),c=e.getName(),l=[...r,{path:c}];o.push(...k(s,t,n,l,i,a))}),i.delete(e))}),o},A=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},j=(e,t,n,r)=>X(r)?[]:t.flatMap(t=>{let i=M(e,t,n,r);return i?[i]:[]}),M=(e,t,n,r)=>{if(t.parameters.length>0)return null;let i=e.getSignatureFromDeclaration(t),a=N(e,e.getReturnTypeOfSignature(i)),o=e.getNonNullableType(a);if((o.flags&c.default.TypeFlags.Never)!==0||!e.isTypeAssignableTo(o,r))return null;let s=P(t.name?.getText());return F(n.find(e=>e.identifier===s))},N=(e,t)=>t.isTypeParameter()?e.getBaseConstraintOfType(t)||e.getAnyType():t,P=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,F=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=I(e?.parameterDefinitions?.nodes||[])),n},I=e=>({__typename:`NodeParameterConnection`,nodes:e.map(e=>L(e))}),L=e=>({__typename:`NodeParameter`,parameterDefinition:{__typename:`ParameterDefinition`,id:e?.id,identifier:e?.identifier},value:e?.defaultValue?{__typename:`LiteralValue`,value:e.defaultValue.value}:null}),R=(e,t,n,r)=>X(r)?t.flatMap(t=>{let i=z(e,t,n,r);return i?[i]:[]}):[],z=(e,t,n,r)=>{let i=e.getTypeAtLocation(t);if(!e.isTypeAssignableTo(i,r))return null;let a=B(t.name?.getText()),o=n.find(e=>e.identifier===a);return o?V(o):null},B=e=>e?e.replace(`fn_`,``).replace(`_`,`::`).replace(`_`,`::`):``,V=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}))}),H={DATE:`date`},U=e=>e!=null&&e in H,W=7,G=(e,t,n,r,i,a=!0,o,s=new Set,l=new Map)=>{if((n.flags&c.default.TypeFlags.TypeParameter)!==0){let u=n.symbol?.declarations?.[0];if(u&&c.default.isTypeParameterDeclaration(u)&&u.constraint)return G(e,t,e.getTypeFromTypeNode(u.constraint),r,i,a,o,s,l)}let u=e.typeToString(n),d=o??n,f=a?{suggestions:[...C(d,e),...t?w(e,t,d,e.getSymbolsInScope(t,c.default.SymbolFlags.Variable)):[],...j(e,r,i,d),...R(e,r,i,d)]}:{};if(n.isUnion()){let a=n.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);if(a.length===1)return{...G(e,t,a[0],r,i,!1,void 0,s,l),type:u,...f}}let p=pe(n);if(p)return{input:p,type:u,...f};if(q(n))return{input:`boolean`,type:u,...f};if(ge(n)||he(n))return{input:`select`,type:u,...f};if(J(n))return{input:`number`,type:u,...f};if(Y(n))return{input:`text`,type:u,...f};if(X(n))return{input:`sub-flow`,type:u,...f};if(_e(e,n))return{input:`list`,type:u,items:e.getTypeArguments(n).flatMap(n=>(n.isUnion()?n.types:[n]).map(n=>G(e,t,n,r,i,a,void 0,s,l))),...f};if((n.flags&c.default.TypeFlags.Object)!==0){if(s.has(n)||s.size>=W&&D(n,e,l))return{input:`data`,type:u,...f};s.add(n);let o={},d=[];for(let u of e.getPropertiesOfType(n)){let n=u.valueDeclaration??u.declarations?.[0];if(!n)continue;let f=e.getTypeOfSymbolAtLocation(u,n),p=(u.flags&c.default.SymbolFlags.Optional)!==0||f.isUnion()&&f.types.some(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))!==0),m=(f.isUnion()?f.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0):[f]).map(n=>G(e,t,n,r,i,a,void 0,s,l));o[u.name]=m.length===1?m[0]:m,p||d.push(u.name)}return s.delete(n),{input:`data`,type:u,properties:o,required:d,...f}}return{input:`generic`,type:u,...f}},K=(e,t,n=!1)=>{if(!e||e.input===`generic`)return de(fe(t),n);let r=ue(e.suggestions,t.suggestions);if(e.input===`data`){let n=e.properties??{},i=t.input===`data`?t.properties??{}:{},a={},o=new Set([...Object.keys(n),...Object.keys(i)]);for(let e of o){let t=n[e],r=i[e];a[e]=le(t,r)}return{...e,properties:a,...r?{suggestions:r}:{}}}if(e.input===`list`){let n=e.items??[],i=t.input===`list`?t.items??[]:[],a=n.length===i.length&&n.length>0?n.map((e,t)=>K(e,i[t])):n;return{...e,items:a,...r?{suggestions:r}:{}}}return{...e,...r?{suggestions:r}:{}}},le=(e,t)=>e&&!Array.isArray(e)&&t&&!Array.isArray(t)?K(e,t):e??t,ue=(e,t)=>{let n=[...e??[],...t??[]];if(n.length===0)return;let r=new Set,i=[];for(let e of n){let t=JSON.stringify(e);r.has(t)||(r.add(t),i.push(e))}return i},de=(e,t)=>!t||e.input!==`generic`?e:{input:`data`,...e.type?{type:e.type}:{},properties:{},required:[],...e.suggestions?{suggestions:e.suggestions}:{}},fe=e=>{if(e.input!==`select`)return e;let t=e.suggestions??[],n=new Set;for(let e of t){let t=typeof e.value;(t===`string`||t===`number`||t===`boolean`)&&n.add(t)}return{input:n.size===1?{string:`text`,number:`number`,boolean:`boolean`}[[...n][0]]:`text`,...e.type?{type:e.type}:{},...t.length>0?{suggestions:t}:{}}};function pe(e){let t=e.aliasSymbol?.getName();return U(t)?H[t]:void 0}function q(e){if((e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)return!0;if(e.isUnion()){let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(e=>(e.flags&c.default.TypeFlags.Boolean)!==0||(e.flags&c.default.TypeFlags.BooleanLiteral)!==0)}return!1}function J(e){return(e.flags&c.default.TypeFlags.Number)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function Y(e){return(e.flags&c.default.TypeFlags.String)!==0||(e.flags&c.default.TypeFlags.StringLiteral)!==0}function me(e){return Y(e)||J(e)||q(e)}function he(e){return(e.flags&c.default.TypeFlags.StringLiteral)!==0||(e.flags&c.default.TypeFlags.NumberLiteral)!==0}function ge(e){if(!e.isUnion())return!1;let t=e.types.filter(e=>(e.flags&(c.default.TypeFlags.Undefined|c.default.TypeFlags.Null))===0);return t.length>0&&t.every(me)}function _e(e,t){return e.isArrayType(t)||e.isTupleType(t)}function X(e){return e.getCallSignatures().length>0}var ve=`
|
|
7
|
-
interface Array<T> {
|
|
8
|
-
[n: number]: T;
|
|
9
|
-
length: number;
|
|
10
|
-
}
|
|
11
|
-
interface String { readonly length: number; }
|
|
12
|
-
interface Number { }
|
|
13
|
-
interface Boolean { }
|
|
14
|
-
interface Object { }
|
|
15
|
-
interface Function { }
|
|
16
|
-
interface CallableFunction extends Function {}
|
|
17
|
-
interface NewableFunction extends Function {}
|
|
18
|
-
interface IArguments { }
|
|
19
|
-
interface RegExp { }
|
|
20
|
-
|
|
21
|
-
declare namespace Utils {
|
|
22
|
-
type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
import ReturnType = Utils.ReturnType;
|
|
26
|
-
`;function Z(e,t){let n=new Map;return n.set(e,t),n.set(`lib.codezero.d.ts`,ve),p(ee(n),[e,`lib.codezero.d.ts`],c.default,ye)}var ye={target:c.default.ScriptTarget.Latest,lib:[`lib.codezero.d.ts`],noEmit:!0,strictNullChecks:!0};function be(e){let t=[],n=0,r=null,i=``;for(let a of e){if(r)a===r&&(r=null);else if(a===`'`||a===`"`||a==="`")r=a;else if(a===`<`||a===`{`||a===`(`||a===`[`)n++;else if(a===`>`||a===`}`||a===`)`||a===`]`)n--;else if(a===`,`&&n===0){t.push(i),i=``;continue}i+=a}return t.push(i),t.map(e=>(e.trim().split(/\s+/).find(e=>e!==`const`&&e!==`in`&&e!==`out`)??``).match(/^[A-Za-z_$][A-Za-z0-9_$]*/)?.[0]??``).filter(e=>e.length>0)}function Q(e,t=`any`,n=!0){let r=Array.from(new Set(e?.flatMap(e=>e.genericKeys||[]).flatMap(be))).map(e=>`type ${e} = ${t};`).join(`
|
|
27
|
-
`),i=e?.map(e=>{let t=(e.genericKeys?.length??0)>0?`<${e.genericKeys?.join(`,`)}>`:``,n=U(e.identifier)?`${e.type} & {}`:e.type;return`type ${e.identifier}${t} = ${n};`}).join(`
|
|
28
|
-
`),a=e?.filter(e=>(e.genericKeys?.length??0)>0).map(e=>`declare const __widen_${e.identifier}: ${e.identifier}<${e.genericKeys.map(()=>`any`).join(`, `)}>;`).join(`
|
|
29
|
-
`)??``;return`${n?r:``}\n${i}\n${a}`}var $=e=>e?.replace(/[^a-zA-Z0-9]/g,`_`);function xe(e,t,n,r=!1,i=!0){let a=e?.nodes?.nodes||[],o=new Map(t?.map(e=>[e.identifier,e])),s=new Set,c=(t,n=``)=>{let l=a.find(e=>e?.id===t);if(!l||!l.functionDefinition)return``;if(t?.includes(`NodeFunction`)&&s.add(t),!o.get(l.functionDefinition.identifier))return`${n}// Error: Function ${l.functionDefinition.identifier} not found\n`;let u=(l.parameters?.nodes||[]).map((a,o)=>{let s=a.value;if(!s)return r?`/* @pos ${t} ${o} */ {}`:`/* @pos ${t} ${o} */ undefined`;if(s.__typename===`ReferenceValue`){let n=s,r=typeof n.inputIndex==`number`?`p_${$(n.nodeFunctionId??`undefined`)}_${n.parameterIndex}[${n.inputIndex}]`:n.nodeFunctionId?`node_${$(n.nodeFunctionId)}`:`flow_${$(e?.id??`undefined`)}`;return n.referencePath?.forEach(e=>{r+=`?.${e.path}`}),`/* @pos ${t} ${o} */ (${r})${i?`!`:``}`}if(s.__typename===`LiteralValue`)return`/* @pos ${t} ${o} */ ${s?.value!==null&&s?.value!==void 0?x(s?.value):void 0}`;if(s.__typename===`SubFlowValue`){let e=s;return`/* @pos ${t} ${o} */ (...${`p_${$(t)}_${o}`}) => {\n${c(e.startingNodeId||e.functionDefinition?.id,n+` `)}${n}}`}return r?`/* @pos ${t} ${o} */ {}`:`/* @pos ${t} ${o} */ undefined`}),d=`node_${$(l.id)}`,f=`fn_${l?.functionDefinition?.identifier?.replace(/::/g,`_`)}`;u.includes(`undefined`);let p=`${n}`;return l.functionDefinition.identifier===`std::control::return`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`return ${d};\n`):l.functionDefinition.identifier===`std::control::if`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`if(${u[0]}) {
|
|
30
|
-
${c(l.parameters?.nodes?.[1]?.value?.startingNodeId||(l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
31
|
-
}`):l.functionDefinition.identifier===`std::control::if_else`?(p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,p+=`if(${u[0]}) {
|
|
32
|
-
${c(l.parameters?.nodes?.[1]?.value?.startingNodeId||(l.parameters?.nodes?.[1]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
33
|
-
} else {
|
|
34
|
-
${c(l.parameters?.nodes?.[2]?.value?.startingNodeId||(l.parameters?.nodes?.[2]?.value)?.functionDefinition?.identifier,n+` `)}
|
|
35
|
-
}`):p+=`const ${d} = /* @pos ${t} null */ ${f}(${u.join(`, `)}) ;\n`,l.nextNodeId&&(p+=c(l.nextNodeId,n)),p},l=Q(n),u=`declare function flow${e?.signature??`(): void`}`,d=t?.map(e=>`declare function fn_${e.identifier?.replace(/::/g,`_`)}${e.signature}`).join(`
|
|
36
|
-
`),f=new Set(a.map(e=>e?.nextNodeId).filter(e=>!!e)),p=new Set;return a.forEach(e=>e?.parameters?.nodes?.forEach(e=>{e?.value?.__typename===`SubFlowValue`&&(e.value.startingNodeId||e.value.functionDefinition?.id)&&p.add(e.value.startingNodeId||e.value.functionDefinition?.id)})),`
|
|
37
|
-
${l}\n
|
|
38
|
-
${u}\n
|
|
39
|
-
${d}\n
|
|
40
|
-
(() =>
|
|
41
|
-
${e?`const flow_${$(e.id??``)} = /* @pos null null */ flow(${e.settings?.nodes?.map((e,t)=>`/* @pos null ${t} */ ${e?.value!==null&&e?.value!==void 0?x(e?.value):void 0}`).join(`, `)??``});`:``}
|
|
42
|
-
${a.filter(e=>e?.id&&!f.has(e.id)&&!p.has(e.id)).map(e=>c(e.id)).join(`
|
|
43
|
-
`)}
|
|
44
|
-
)();
|
|
45
|
-
`}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return x}});
|