@codemation/core 0.0.5 → 0.0.11
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/{InMemoryLiveWorkflowRepository-DL7LmC9S.d.ts → InMemoryLiveWorkflowRepository-DxoualoC.d.ts} +6 -2
- package/dist/{InMemoryLiveWorkflowRepository-D6eiiXxF.d.cts → InMemoryLiveWorkflowRepository-orY1VsWG.d.cts} +6 -2
- package/dist/{RunIntentService-NKobsfMQ.d.cts → RunIntentService-ByuUYsAL.d.cts} +8 -3
- package/dist/{RunIntentService-BFVbsOcg.js → RunIntentService-CYnn140t.js} +9 -4
- package/dist/RunIntentService-CYnn140t.js.map +1 -0
- package/dist/{RunIntentService-2ivFmNQh.cjs → RunIntentService-DlQH5eZ2.cjs} +9 -4
- package/dist/RunIntentService-DlQH5eZ2.cjs.map +1 -0
- package/dist/{WorkflowSnapshotCodec-DTdWkoW_.d.cts → WorkflowSnapshotCodec-DSEzKyt3.d.cts} +2 -2
- package/dist/bootstrap/index.cjs +133 -4
- package/dist/bootstrap/index.cjs.map +1 -1
- package/dist/bootstrap/index.d.cts +4 -3
- package/dist/bootstrap/index.d.ts +3 -2
- package/dist/bootstrap/index.js +133 -4
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/{index-9g6Pfe9Z.d.ts → index-CTjfVHJh.d.ts} +8 -3
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/testing.d.cts +2 -2
- package/dist/testing.d.ts +1 -1
- package/package.json +6 -1
- package/src/bootstrap/runtime/EngineRuntimeRegistrar.ts +10 -2
- package/src/contracts/runtimeTypes.ts +5 -0
- package/src/execution/NodeActivationRequestComposer.ts +15 -4
- package/src/orchestration/Engine.ts +12 -1
- package/src/orchestration/NodeExecutionRequestHandlerService.ts +179 -0
- package/src/runtime/EngineFactory.ts +13 -0
- package/dist/EngineExecutionLimitsPolicy-8MEFIYx1.d.cts +0 -160
- package/dist/EngineExecutionLimitsPolicy-BWAXW9D6.d.cts +0 -160
- package/dist/EngineExecutionLimitsPolicy-Bp8PS1Ss.d.cts +0 -159
- package/dist/EngineExecutionLimitsPolicy-CLxcN-D2.d.ts +0 -159
- package/dist/EngineExecutionLimitsPolicy-DZXuix51.d.ts +0 -160
- package/dist/EngineExecutionLimitsPolicy-Gfz6ngFd.d.ts +0 -160
- package/dist/EngineFactory-CBnntY3J.cjs +0 -3152
- package/dist/EngineFactory-CBnntY3J.cjs.map +0 -1
- package/dist/EngineFactory-Cwn3R2YA.js +0 -3087
- package/dist/EngineFactory-Cwn3R2YA.js.map +0 -1
- package/dist/EngineFactory-DWCnNocp.js +0 -3063
- package/dist/EngineFactory-DWCnNocp.js.map +0 -1
- package/dist/EngineFactory-DhPFou4p.cjs +0 -3188
- package/dist/EngineFactory-DhPFou4p.cjs.map +0 -1
- package/dist/EngineFactory-l_9xmBtv.cjs +0 -3190
- package/dist/EngineFactory-l_9xmBtv.cjs.map +0 -1
- package/dist/EngineFactory-w-aOWuqh.js +0 -3089
- package/dist/EngineFactory-w-aOWuqh.js.map +0 -1
- package/dist/InMemoryLiveWorkflowRepository-1J9MHN_I.js +0 -18
- package/dist/InMemoryLiveWorkflowRepository-1J9MHN_I.js.map +0 -1
- package/dist/InMemoryLiveWorkflowRepository-CULNqv96.d.ts +0 -1300
- package/dist/InMemoryLiveWorkflowRepository-D7l8cjdZ.d.cts +0 -1130
- package/dist/InMemoryLiveWorkflowRepository-jnv-OnOP.d.ts +0 -1300
- package/dist/InMemoryLiveWorkflowRepository-xny1_Z6i.cjs +0 -24
- package/dist/InMemoryLiveWorkflowRepository-xny1_Z6i.cjs.map +0 -1
- package/dist/InMemoryLiveWorkflowRepository-xr7b4kvi.d.ts +0 -1338
- package/dist/InMemoryWorkflowCatalog-BIdFpwbK.d.ts +0 -1205
- package/dist/InMemoryWorkflowCatalog-BW00_3N3.d.cts +0 -12
- package/dist/InMemoryWorkflowCatalog-BiYHGoPw.cjs +0 -24
- package/dist/InMemoryWorkflowCatalog-BiYHGoPw.cjs.map +0 -1
- package/dist/InMemoryWorkflowCatalog-BrG0ApMO.d.cts +0 -1115
- package/dist/InMemoryWorkflowCatalog-BzrAr--Y.js +0 -139
- package/dist/InMemoryWorkflowCatalog-BzrAr--Y.js.map +0 -1
- package/dist/InMemoryWorkflowCatalog-C-EJlJ7y.d.cts +0 -1120
- package/dist/InMemoryWorkflowCatalog-C4482bpw.cjs +0 -24
- package/dist/InMemoryWorkflowCatalog-C4482bpw.cjs.map +0 -1
- package/dist/InMemoryWorkflowCatalog-CZ0kZpOv.d.ts +0 -1289
- package/dist/InMemoryWorkflowCatalog-C_ACeLyW.d.cts +0 -1119
- package/dist/InMemoryWorkflowCatalog-CiHWIu5E.d.cts +0 -12
- package/dist/InMemoryWorkflowCatalog-CkH7gkya.js +0 -18
- package/dist/InMemoryWorkflowCatalog-CkH7gkya.js.map +0 -1
- package/dist/InMemoryWorkflowCatalog-CnpZVJM9.d.ts +0 -1205
- package/dist/InMemoryWorkflowCatalog-Cu68S8YR.js +0 -18
- package/dist/InMemoryWorkflowCatalog-Cu68S8YR.js.map +0 -1
- package/dist/InMemoryWorkflowCatalog-D2w9nMj2.cjs +0 -151
- package/dist/InMemoryWorkflowCatalog-D2w9nMj2.cjs.map +0 -1
- package/dist/InMemoryWorkflowCatalog-D5eMxEf7.js +0 -18
- package/dist/InMemoryWorkflowCatalog-D5eMxEf7.js.map +0 -1
- package/dist/InMemoryWorkflowCatalog-D5nCp2yZ.d.ts +0 -1267
- package/dist/InMemoryWorkflowCatalog-DIq0bjqN.d.ts +0 -12
- package/dist/InMemoryWorkflowCatalog-DLgaEaw_.d.ts +0 -1288
- package/dist/InMemoryWorkflowCatalog-DNBFdK-x.d.cts +0 -1120
- package/dist/InMemoryWorkflowCatalog-DQBkCzb7.cjs +0 -24
- package/dist/InMemoryWorkflowCatalog-DQBkCzb7.cjs.map +0 -1
- package/dist/InMemoryWorkflowCatalog-DS4-eX6i.d.cts +0 -1118
- package/dist/InMemoryWorkflowCatalog-DdVfy8MY.d.ts +0 -12
- package/dist/InMemoryWorkflowCatalog-DeVZu3g8.d.ts +0 -12
- package/dist/InMemoryWorkflowCatalog-GxkQjvt5.d.ts +0 -1200
- package/dist/InMemoryWorkflowCatalog-qaVRn1Lc.d.cts +0 -1115
- package/dist/InMemoryWorkflowCatalog-z1aIT4TC.d.cts +0 -12
- package/dist/InMemoryWorkflowRegistry-BBuOovLL.d.ts +0 -1007
- package/dist/InMemoryWorkflowRegistry-BIFnSl3k.d.ts +0 -1201
- package/dist/InMemoryWorkflowRegistry-BnGilthz.d.ts +0 -1137
- package/dist/InMemoryWorkflowRegistry-CEp5I8No.d.ts +0 -1146
- package/dist/InMemoryWorkflowRegistry-CHyMB9jW.d.cts +0 -976
- package/dist/InMemoryWorkflowRegistry-CUN7K86m.d.cts +0 -1061
- package/dist/InMemoryWorkflowRegistry-CVfHyELh.d.cts +0 -971
- package/dist/InMemoryWorkflowRegistry-CXXJrwAr.d.cts +0 -1052
- package/dist/InMemoryWorkflowRegistry-DDGfPTJy.d.ts +0 -1013
- package/dist/InMemoryWorkflowRegistry-DnYSOoT5.d.ts +0 -1120
- package/dist/InMemoryWorkflowRegistry-Dp5GiFF2.d.cts +0 -1035
- package/dist/InMemoryWorkflowRegistry-DypDBeOw.d.cts +0 -1116
- package/dist/InMemoryWorkflowRegistry-SzwJCAxT.d.ts +0 -1012
- package/dist/InMemoryWorkflowRegistry-jupvqyGc.d.cts +0 -977
- package/dist/InMemoryWorkflowRegistry-rAdKVWYT.d.ts +0 -1117
- package/dist/InProcessRetryRunner-BBNPkXjy.d.cts +0 -292
- package/dist/PersistedWorkflowSnapshotFactory-7RkOL3Kg.d.ts +0 -14
- package/dist/PersistedWorkflowSnapshotFactory-BmANa46W.cjs +0 -141
- package/dist/PersistedWorkflowSnapshotFactory-BmANa46W.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-Bwb_etSt.js +0 -118
- package/dist/PersistedWorkflowSnapshotFactory-Bwb_etSt.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-CRkKGNV6.js +0 -123
- package/dist/PersistedWorkflowSnapshotFactory-CRkKGNV6.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-CZolnGy5.js +0 -101
- package/dist/PersistedWorkflowSnapshotFactory-CZolnGy5.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-Ca_oysOv.cjs +0 -131
- package/dist/PersistedWorkflowSnapshotFactory-Ca_oysOv.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-CqIcShnX.js +0 -103
- package/dist/PersistedWorkflowSnapshotFactory-CqIcShnX.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-D-tBk4_G.js +0 -119
- package/dist/PersistedWorkflowSnapshotFactory-D-tBk4_G.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-D4cXl2e2.cjs +0 -131
- package/dist/PersistedWorkflowSnapshotFactory-D4cXl2e2.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-DINoP12r.cjs +0 -131
- package/dist/PersistedWorkflowSnapshotFactory-DINoP12r.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-DJAwSuHU.js +0 -103
- package/dist/PersistedWorkflowSnapshotFactory-DJAwSuHU.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-DSUjVCcf.cjs +0 -131
- package/dist/PersistedWorkflowSnapshotFactory-DSUjVCcf.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-DdHuhkDb.cjs +0 -107
- package/dist/PersistedWorkflowSnapshotFactory-DdHuhkDb.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-Dqc6NHis.js +0 -119
- package/dist/PersistedWorkflowSnapshotFactory-Dqc6NHis.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-Dxa2dSrw.cjs +0 -130
- package/dist/PersistedWorkflowSnapshotFactory-Dxa2dSrw.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-Ep79Ah1G.js +0 -123
- package/dist/PersistedWorkflowSnapshotFactory-Ep79Ah1G.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-GyLfRuiJ.js +0 -119
- package/dist/PersistedWorkflowSnapshotFactory-GyLfRuiJ.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-HTpBsBzn.js +0 -102
- package/dist/PersistedWorkflowSnapshotFactory-HTpBsBzn.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-LVmaaf3t.cjs +0 -141
- package/dist/PersistedWorkflowSnapshotFactory-LVmaaf3t.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-PZCpo2ZS.js +0 -119
- package/dist/PersistedWorkflowSnapshotFactory-PZCpo2ZS.js.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-UjQ1SJev.cjs +0 -109
- package/dist/PersistedWorkflowSnapshotFactory-UjQ1SJev.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-Y8kCrhcy.cjs +0 -109
- package/dist/PersistedWorkflowSnapshotFactory-Y8kCrhcy.cjs.map +0 -1
- package/dist/PersistedWorkflowSnapshotFactory-Z_nB-fmB.cjs +0 -108
- package/dist/PersistedWorkflowSnapshotFactory-Z_nB-fmB.cjs.map +0 -1
- package/dist/RunIntentService-1EE6N8ZL.cjs +0 -963
- package/dist/RunIntentService-1EE6N8ZL.cjs.map +0 -1
- package/dist/RunIntentService-2ivFmNQh.cjs.map +0 -1
- package/dist/RunIntentService-B0sUL5q-.js +0 -761
- package/dist/RunIntentService-B0sUL5q-.js.map +0 -1
- package/dist/RunIntentService-BFVbsOcg.js.map +0 -1
- package/dist/RunIntentService-BsBOwpVN.cjs +0 -1051
- package/dist/RunIntentService-BsBOwpVN.cjs.map +0 -1
- package/dist/RunIntentService-CSk3ETyn.js +0 -858
- package/dist/RunIntentService-CSk3ETyn.js.map +0 -1
- package/dist/RunIntentService-Ckn3u3tA.d.cts +0 -326
- package/dist/RunIntentService-DEo6GTTo.d.cts +0 -289
- package/dist/RunIntentService-DKrGtL0B.js +0 -782
- package/dist/RunIntentService-DKrGtL0B.js.map +0 -1
- package/dist/RunIntentService-DNOJc1R7.cjs +0 -942
- package/dist/RunIntentService-DNOJc1R7.cjs.map +0 -1
- package/dist/RunIntentService-Dq3pV53j.d.cts +0 -289
- package/dist/WorkflowSnapshotCodec-C3fuuS_R.d.cts +0 -22
- package/dist/WorkflowSnapshotCodec-CUudUo6f.js +0 -123
- package/dist/WorkflowSnapshotCodec-CUudUo6f.js.map +0 -1
- package/dist/WorkflowSnapshotCodec-CuCPQZTc.cjs +0 -129
- package/dist/WorkflowSnapshotCodec-CuCPQZTc.cjs.map +0 -1
- package/dist/WorkflowSnapshotCodec-DLiXQNvV.d.cts +0 -22
- package/dist/WorkflowSnapshotCodec-DNtdrZ7l.d.cts +0 -22
- package/dist/credentialTypes-B5h3dI7r.d.cts +0 -1107
- package/dist/credentialTypes-B9okPCVo.d.cts +0 -963
- package/dist/credentialTypes-BFL70rgZ.d.cts +0 -964
- package/dist/credentialTypes-BGkh1O07.d.ts +0 -1010
- package/dist/credentialTypes-BNLi4Q7u.d.ts +0 -1030
- package/dist/credentialTypes-CeSoZGj3.d.cts +0 -994
- package/dist/credentialTypes-CpHc32Ig.d.cts +0 -984
- package/dist/credentialTypes-D0m7MQQl.d.cts +0 -1107
- package/dist/credentialTypes-D4nL2sUd.d.ts +0 -1000
- package/dist/credentialTypes-DBYK2Qbu.d.ts +0 -999
- package/dist/credentialTypes-DMJVy0r1.d.ts +0 -1000
- package/dist/credentialTypes-DhUAjYQp.d.ts +0 -1020
- package/dist/credentialTypes-gGITj5KL.d.cts +0 -964
- package/dist/credentialTypes-r3KVBJBE.d.cts +0 -974
- package/dist/diTokens-ClO27tjK.cjs +0 -34
- package/dist/diTokens-ClO27tjK.cjs.map +0 -1
- package/dist/diTokens-CoHBkwG6.js +0 -28
- package/dist/diTokens-CoHBkwG6.js.map +0 -1
- package/dist/index-6Doxmfnd.d.ts +0 -857
- package/dist/index-AZ72Ej-K.d.ts +0 -920
- package/dist/index-BEk9V-q-.d.ts +0 -667
- package/dist/index-Bjt7_7oS.d.ts +0 -1192
- package/dist/index-CFGxsYXy.d.ts +0 -708
- package/dist/index-C_u8xFgn.d.ts +0 -690
- package/dist/index-CpbfsvOJ.d.ts +0 -1192
- package/dist/index-CsReNJN_.d.ts +0 -859
- package/dist/index-D5iNnXaW.d.ts +0 -667
- package/dist/index-DD_Eft1q.d.ts +0 -708
- package/dist/index-DiSYUe0G.d.ts +0 -1192
- package/dist/index-gIcH60sp.d.ts +0 -674
- package/dist/runtime-BIvd-1JA.cjs +0 -4112
- package/dist/runtime-BIvd-1JA.cjs.map +0 -1
- package/dist/runtime-D3eWKSQK.cjs +0 -3986
- package/dist/runtime-D3eWKSQK.cjs.map +0 -1
- package/dist/runtime-Dvp4xAjg.js +0 -3799
- package/dist/runtime-Dvp4xAjg.js.map +0 -1
- package/dist/runtime-vc76SSAa.js +0 -3685
- package/dist/runtime-vc76SSAa.js.map +0 -1
- package/dist/runtimeTypes-BK0b8SaG.d.cts +0 -884
- package/dist/runtimeTypes-CoYZkYQq.d.cts +0 -851
- package/dist/runtimeTypes-D-Pm0Uas.d.cts +0 -849
- package/dist/types-Cb5UK7Y6.d.ts +0 -857
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistedWorkflowSnapshotFactory-GyLfRuiJ.js","names":["tokenRegistry: PersistedWorkflowTokenRegistryLike","fallback: Record<string, unknown>","tokenRegistry: PersistedWorkflowTokenRegistryLike"],"sources":["../src/engine/adapters/registry/InMemoryWorkflowRegistry.ts","../src/engine/materialization/PersistedWorkflowConfigSerializer.ts","../src/engine/materialization/PersistedWorkflowSnapshotFactory.ts"],"sourcesContent":["import type { WorkflowCatalog, WorkflowDefinition, WorkflowId } from \"../../../types\";\n\nexport class InMemoryWorkflowRegistry implements WorkflowCatalog {\n private readonly workflowsById = new Map<WorkflowId, WorkflowDefinition>();\n\n setWorkflows(workflows: ReadonlyArray<WorkflowDefinition>): void {\n this.workflowsById.clear();\n for (const workflow of workflows) {\n this.workflowsById.set(workflow.id, workflow);\n }\n }\n\n list(): ReadonlyArray<WorkflowDefinition> {\n return [...this.workflowsById.values()];\n }\n\n get(workflowId: WorkflowId): WorkflowDefinition | undefined {\n return this.workflowsById.get(workflowId);\n }\n}\n","import type { TypeToken } from \"../../di\";\nimport type { NodeConfigBase, PersistedTokenId, PersistedWorkflowTokenRegistryLike } from \"../../types\";\n\nexport class PersistedWorkflowConfigSerializer {\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {}\n\n create(config: NodeConfigBase): unknown {\n try {\n const cloned = JSON.parse(JSON.stringify(config)) as Record<string, unknown>;\n this.injectTokenIds(cloned, config as unknown as Record<string, unknown>);\n return cloned;\n } catch {\n const fallback: Record<string, unknown> = {\n kind: config.kind,\n name: config.name,\n id: config.id,\n icon: config.icon,\n execution: config.execution,\n };\n this.injectTokenIds(fallback, config as unknown as Record<string, unknown>);\n return fallback;\n }\n }\n\n private injectTokenIds(target: Record<string, unknown>, source: Record<string, unknown>): void {\n const type = this.asTypeToken(source.type);\n if (type) {\n const tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);\n target.tokenId = tokenId;\n }\n for (const [key, value] of Object.entries(source)) {\n if (key === \"type\" || value == null) continue;\n if (Array.isArray(value)) {\n const arr = target[key];\n if (Array.isArray(arr)) {\n value.forEach((item, i) => {\n if (item && typeof item === \"object\" && arr[i] && typeof arr[i] === \"object\") {\n this.injectTokenIds(arr[i] as Record<string, unknown>, item as Record<string, unknown>);\n }\n });\n }\n continue;\n }\n if (typeof value === \"object\") {\n const t = target[key];\n if (t && typeof t === \"object\") {\n this.injectTokenIds(t as Record<string, unknown>, value as Record<string, unknown>);\n }\n }\n }\n }\n\n private tokenName(token: TypeToken<unknown>): PersistedTokenId {\n if (typeof token === \"function\" && token.name) return token.name as PersistedTokenId;\n if (typeof token === \"string\") return token as PersistedTokenId;\n return \"unknown\" as PersistedTokenId;\n }\n\n private asTypeToken(value: unknown): TypeToken<unknown> | undefined {\n if (typeof value === \"function\" || typeof value === \"string\" || typeof value === \"symbol\") {\n return value as TypeToken<unknown>;\n }\n return undefined;\n }\n}\n","import type { TypeToken } from \"../../di\";\nimport type {\n PersistedTokenId,\n PersistedWorkflowSnapshot,\n PersistedWorkflowTokenRegistryLike,\n WorkflowDefinition,\n} from \"../../types\";\n\nimport { PersistedWorkflowConfigSerializer } from \"./PersistedWorkflowConfigSerializer\";\n\nexport class PersistedWorkflowSnapshotFactory {\n private readonly configSerializer: PersistedWorkflowConfigSerializer;\n\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {\n this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);\n }\n\n create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot {\n return {\n id: workflow.id,\n name: workflow.name,\n workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== undefined,\n ...(workflow.connections !== undefined && workflow.connections.length > 0\n ? { connections: workflow.connections }\n : {}),\n nodes: workflow.nodes.map((node) => {\n const nodeTokenId = this.resolveTokenId(node.type);\n const configTokenId = this.resolveTokenId(node.config.type);\n return {\n id: node.id,\n kind: node.kind,\n name: node.name,\n nodeTokenId,\n configTokenId,\n tokenName: this.resolveTokenName(node.type),\n configTokenName: this.resolveTokenName(node.config?.type),\n config: this.configSerializer.create(node.config),\n };\n }),\n edges: workflow.edges.map((edge) => ({\n from: { nodeId: edge.from.nodeId, output: edge.from.output },\n to: { nodeId: edge.to.nodeId, input: edge.to.input },\n })),\n };\n }\n\n private resolveTokenId(token: TypeToken<unknown>): PersistedTokenId {\n const id = this.tokenRegistry.getTokenId(token);\n if (id) return id;\n const name = typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : \"unknown\";\n return name as PersistedTokenId;\n }\n\n private resolveTokenName(token: TypeToken<unknown>): string | undefined {\n return typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : undefined;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
//#region src/engine/adapters/persisted-workflow/PersistedWorkflowConfigSerializer.ts
|
|
2
|
-
var PersistedWorkflowConfigSerializer = class {
|
|
3
|
-
constructor(tokenRegistry) {
|
|
4
|
-
this.tokenRegistry = tokenRegistry;
|
|
5
|
-
}
|
|
6
|
-
create(config) {
|
|
7
|
-
try {
|
|
8
|
-
const cloned = JSON.parse(JSON.stringify(config));
|
|
9
|
-
this.injectTokenIds(cloned, config);
|
|
10
|
-
return cloned;
|
|
11
|
-
} catch {
|
|
12
|
-
const fallback = {
|
|
13
|
-
kind: config.kind,
|
|
14
|
-
name: config.name,
|
|
15
|
-
id: config.id,
|
|
16
|
-
icon: config.icon,
|
|
17
|
-
execution: config.execution
|
|
18
|
-
};
|
|
19
|
-
this.injectTokenIds(fallback, config);
|
|
20
|
-
return fallback;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
injectTokenIds(target, source) {
|
|
24
|
-
const type = this.asTypeToken(source.type);
|
|
25
|
-
if (type) target.tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);
|
|
26
|
-
for (const [key, value] of Object.entries(source)) {
|
|
27
|
-
if (key === "type" || value == null) continue;
|
|
28
|
-
if (Array.isArray(value)) {
|
|
29
|
-
const arr = target[key];
|
|
30
|
-
if (Array.isArray(arr)) value.forEach((item, i) => {
|
|
31
|
-
if (item && typeof item === "object" && arr[i] && typeof arr[i] === "object") this.injectTokenIds(arr[i], item);
|
|
32
|
-
});
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (typeof value === "object") {
|
|
36
|
-
const t = target[key];
|
|
37
|
-
if (t && typeof t === "object") this.injectTokenIds(t, value);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
tokenName(token) {
|
|
42
|
-
if (typeof token === "function" && token.name) return token.name;
|
|
43
|
-
if (typeof token === "string") return token;
|
|
44
|
-
return "unknown";
|
|
45
|
-
}
|
|
46
|
-
asTypeToken(value) {
|
|
47
|
-
if (typeof value === "function" || typeof value === "string" || typeof value === "symbol") return value;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
//#endregion
|
|
52
|
-
//#region src/engine/adapters/persisted-workflow/PersistedWorkflowSnapshotFactory.ts
|
|
53
|
-
var PersistedWorkflowSnapshotFactory = class {
|
|
54
|
-
configSerializer;
|
|
55
|
-
constructor(tokenRegistry) {
|
|
56
|
-
this.tokenRegistry = tokenRegistry;
|
|
57
|
-
this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);
|
|
58
|
-
}
|
|
59
|
-
create(workflow) {
|
|
60
|
-
return {
|
|
61
|
-
id: workflow.id,
|
|
62
|
-
name: workflow.name,
|
|
63
|
-
workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== void 0,
|
|
64
|
-
nodes: workflow.nodes.map((node) => {
|
|
65
|
-
const nodeTokenId = this.resolveTokenId(node.type);
|
|
66
|
-
const configTokenId = this.resolveTokenId(node.config.type);
|
|
67
|
-
return {
|
|
68
|
-
id: node.id,
|
|
69
|
-
kind: node.kind,
|
|
70
|
-
name: node.name,
|
|
71
|
-
nodeTokenId,
|
|
72
|
-
configTokenId,
|
|
73
|
-
tokenName: this.resolveTokenName(node.type),
|
|
74
|
-
configTokenName: this.resolveTokenName(node.config?.type),
|
|
75
|
-
config: this.configSerializer.create(node.config)
|
|
76
|
-
};
|
|
77
|
-
}),
|
|
78
|
-
edges: workflow.edges.map((edge) => ({
|
|
79
|
-
from: {
|
|
80
|
-
nodeId: edge.from.nodeId,
|
|
81
|
-
output: edge.from.output
|
|
82
|
-
},
|
|
83
|
-
to: {
|
|
84
|
-
nodeId: edge.to.nodeId,
|
|
85
|
-
input: edge.to.input
|
|
86
|
-
}
|
|
87
|
-
}))
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
resolveTokenId(token) {
|
|
91
|
-
const id = this.tokenRegistry.getTokenId(token);
|
|
92
|
-
if (id) return id;
|
|
93
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : "unknown";
|
|
94
|
-
}
|
|
95
|
-
resolveTokenName(token) {
|
|
96
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : void 0;
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
//#endregion
|
|
101
|
-
export { PersistedWorkflowSnapshotFactory as t };
|
|
102
|
-
//# sourceMappingURL=PersistedWorkflowSnapshotFactory-HTpBsBzn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistedWorkflowSnapshotFactory-HTpBsBzn.js","names":["tokenRegistry: PersistedWorkflowTokenRegistryLike","fallback: Record<string, unknown>","tokenRegistry: PersistedWorkflowTokenRegistryLike"],"sources":["../src/engine/adapters/persisted-workflow/PersistedWorkflowConfigSerializer.ts","../src/engine/adapters/persisted-workflow/PersistedWorkflowSnapshotFactory.ts"],"sourcesContent":["import type { TypeToken } from \"../../../di\";\r\nimport type { NodeConfigBase, PersistedTokenId, PersistedWorkflowTokenRegistryLike } from \"../../../types\";\r\n\r\nexport class PersistedWorkflowConfigSerializer {\r\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {}\r\n\r\n create(config: NodeConfigBase): unknown {\r\n try {\r\n const cloned = JSON.parse(JSON.stringify(config)) as Record<string, unknown>;\r\n this.injectTokenIds(cloned, config as unknown as Record<string, unknown>);\r\n return cloned;\r\n } catch {\r\n const fallback: Record<string, unknown> = {\r\n kind: config.kind,\r\n name: config.name,\r\n id: config.id,\r\n icon: config.icon,\r\n execution: config.execution,\r\n };\r\n this.injectTokenIds(fallback, config as unknown as Record<string, unknown>);\r\n return fallback;\r\n }\r\n }\r\n\r\n private injectTokenIds(target: Record<string, unknown>, source: Record<string, unknown>): void {\r\n const type = this.asTypeToken(source.type);\r\n if (type) {\r\n const tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);\r\n target.tokenId = tokenId;\r\n }\r\n for (const [key, value] of Object.entries(source)) {\r\n if (key === \"type\" || value == null) continue;\r\n if (Array.isArray(value)) {\r\n const arr = target[key];\r\n if (Array.isArray(arr)) {\r\n value.forEach((item, i) => {\r\n if (item && typeof item === \"object\" && arr[i] && typeof arr[i] === \"object\") {\r\n this.injectTokenIds(arr[i] as Record<string, unknown>, item as Record<string, unknown>);\r\n }\r\n });\r\n }\r\n continue;\r\n }\r\n if (typeof value === \"object\") {\r\n const t = target[key];\r\n if (t && typeof t === \"object\") {\r\n this.injectTokenIds(t as Record<string, unknown>, value as Record<string, unknown>);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private tokenName(token: TypeToken<unknown>): PersistedTokenId {\r\n if (typeof token === \"function\" && token.name) return token.name as PersistedTokenId;\r\n if (typeof token === \"string\") return token as PersistedTokenId;\r\n return \"unknown\" as PersistedTokenId;\r\n }\r\n\r\n private asTypeToken(value: unknown): TypeToken<unknown> | undefined {\r\n if (typeof value === \"function\" || typeof value === \"string\" || typeof value === \"symbol\") {\r\n return value as TypeToken<unknown>;\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\n","import type { TypeToken } from \"../../../di\";\r\nimport type { PersistedTokenId, PersistedWorkflowSnapshot, PersistedWorkflowTokenRegistryLike, WorkflowDefinition } from \"../../../types\";\r\n\r\nimport { PersistedWorkflowConfigSerializer } from \"./PersistedWorkflowConfigSerializer\";\r\n\r\nexport class PersistedWorkflowSnapshotFactory {\r\n private readonly configSerializer: PersistedWorkflowConfigSerializer;\r\n\r\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {\r\n this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);\r\n }\r\n\r\n create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot {\r\n return {\r\n id: workflow.id,\r\n name: workflow.name,\r\n workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== undefined,\r\n nodes: workflow.nodes.map((node) => {\r\n const nodeTokenId = this.resolveTokenId(node.type);\r\n const configTokenId = this.resolveTokenId(node.config.type);\r\n return {\r\n id: node.id,\r\n kind: node.kind,\r\n name: node.name,\r\n nodeTokenId,\r\n configTokenId,\r\n tokenName: this.resolveTokenName(node.type),\r\n configTokenName: this.resolveTokenName(node.config?.type),\r\n config: this.configSerializer.create(node.config),\r\n };\r\n }),\r\n edges: workflow.edges.map((edge) => ({\r\n from: { nodeId: edge.from.nodeId, output: edge.from.output },\r\n to: { nodeId: edge.to.nodeId, input: edge.to.input },\r\n })),\r\n };\r\n }\r\n\r\n private resolveTokenId(token: TypeToken<unknown>): PersistedTokenId {\r\n const id = this.tokenRegistry.getTokenId(token);\r\n if (id) return id;\r\n const name = typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : \"unknown\";\r\n return name as PersistedTokenId;\r\n }\r\n\r\n private resolveTokenName(token: TypeToken<unknown>): string | undefined {\r\n return typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : undefined;\r\n }\r\n}\r\n\r\n"],"mappings":";AAGA,IAAa,oCAAb,MAA+C;CAC7C,YAAY,AAAiBA,eAAmD;EAAnD;;CAE7B,OAAO,QAAiC;AACtC,MAAI;GACF,MAAM,SAAS,KAAK,MAAM,KAAK,UAAU,OAAO,CAAC;AACjD,QAAK,eAAe,QAAQ,OAA6C;AACzE,UAAO;UACD;GACN,MAAMC,WAAoC;IACxC,MAAM,OAAO;IACb,MAAM,OAAO;IACb,IAAI,OAAO;IACX,MAAM,OAAO;IACb,WAAW,OAAO;IACnB;AACD,QAAK,eAAe,UAAU,OAA6C;AAC3E,UAAO;;;CAIX,AAAQ,eAAe,QAAiC,QAAuC;EAC7F,MAAM,OAAO,KAAK,YAAY,OAAO,KAAK;AAC1C,MAAI,KAEF,QAAO,UADS,KAAK,cAAc,WAAW,KAAK,IAAI,KAAK,UAAU,KAAK;AAG7E,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,EAAE;AACjD,OAAI,QAAQ,UAAU,SAAS,KAAM;AACrC,OAAI,MAAM,QAAQ,MAAM,EAAE;IACxB,MAAM,MAAM,OAAO;AACnB,QAAI,MAAM,QAAQ,IAAI,CACpB,OAAM,SAAS,MAAM,MAAM;AACzB,SAAI,QAAQ,OAAO,SAAS,YAAY,IAAI,MAAM,OAAO,IAAI,OAAO,SAClE,MAAK,eAAe,IAAI,IAA+B,KAAgC;MAEzF;AAEJ;;AAEF,OAAI,OAAO,UAAU,UAAU;IAC7B,MAAM,IAAI,OAAO;AACjB,QAAI,KAAK,OAAO,MAAM,SACpB,MAAK,eAAe,GAA8B,MAAiC;;;;CAM3F,AAAQ,UAAU,OAA6C;AAC7D,MAAI,OAAO,UAAU,cAAc,MAAM,KAAM,QAAO,MAAM;AAC5D,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO;;CAGT,AAAQ,YAAY,OAAgD;AAClE,MAAI,OAAO,UAAU,cAAc,OAAO,UAAU,YAAY,OAAO,UAAU,SAC/E,QAAO;;;;;;ACvDb,IAAa,mCAAb,MAA8C;CAC5C,AAAiB;CAEjB,YAAY,AAAiBC,eAAmD;EAAnD;AAC3B,OAAK,mBAAmB,IAAI,kCAAkC,cAAc;;CAG9E,OAAO,UAAyD;AAC9D,SAAO;GACL,IAAI,SAAS;GACb,MAAM,SAAS;GACf,gCAAgC,SAAS,yBAAyB;GAClE,OAAO,SAAS,MAAM,KAAK,SAAS;IAClC,MAAM,cAAc,KAAK,eAAe,KAAK,KAAK;IAClD,MAAM,gBAAgB,KAAK,eAAe,KAAK,OAAO,KAAK;AAC3D,WAAO;KACL,IAAI,KAAK;KACT,MAAM,KAAK;KACX,MAAM,KAAK;KACX;KACA;KACA,WAAW,KAAK,iBAAiB,KAAK,KAAK;KAC3C,iBAAiB,KAAK,iBAAiB,KAAK,QAAQ,KAAK;KACzD,QAAQ,KAAK,iBAAiB,OAAO,KAAK,OAAO;KAClD;KACD;GACF,OAAO,SAAS,MAAM,KAAK,UAAU;IACnC,MAAM;KAAE,QAAQ,KAAK,KAAK;KAAQ,QAAQ,KAAK,KAAK;KAAQ;IAC5D,IAAI;KAAE,QAAQ,KAAK,GAAG;KAAQ,OAAO,KAAK,GAAG;KAAO;IACrD,EAAE;GACJ;;CAGH,AAAQ,eAAe,OAA6C;EAClE,MAAM,KAAK,KAAK,cAAc,WAAW,MAAM;AAC/C,MAAI,GAAI,QAAO;AAEf,SADa,OAAO,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,OAAO,UAAU,WAAW,QAAQ;;CAI5G,AAAQ,iBAAiB,OAA+C;AACtE,SAAO,OAAO,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,OAAO,UAAU,WAAW,QAAQ"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/engine/adapters/registry/InMemoryWorkflowCatalog.ts
|
|
3
|
-
var InMemoryWorkflowCatalog = class {
|
|
4
|
-
workflowsById = /* @__PURE__ */ new Map();
|
|
5
|
-
setWorkflows(workflows) {
|
|
6
|
-
this.workflowsById.clear();
|
|
7
|
-
for (const workflow of workflows) this.workflowsById.set(workflow.id, workflow);
|
|
8
|
-
}
|
|
9
|
-
list() {
|
|
10
|
-
return [...this.workflowsById.values()];
|
|
11
|
-
}
|
|
12
|
-
get(workflowId) {
|
|
13
|
-
return this.workflowsById.get(workflowId);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* @deprecated Use {@link InMemoryWorkflowCatalog}. Kept for older tests and consumer scaffolds.
|
|
18
|
-
*/
|
|
19
|
-
const InMemoryWorkflowRegistry = InMemoryWorkflowCatalog;
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
//#region src/engine/materialization/PersistedWorkflowConfigSerializer.ts
|
|
23
|
-
var PersistedWorkflowConfigSerializer = class {
|
|
24
|
-
constructor(tokenRegistry) {
|
|
25
|
-
this.tokenRegistry = tokenRegistry;
|
|
26
|
-
}
|
|
27
|
-
create(config) {
|
|
28
|
-
try {
|
|
29
|
-
const cloned = JSON.parse(JSON.stringify(config));
|
|
30
|
-
this.injectTokenIds(cloned, config);
|
|
31
|
-
return cloned;
|
|
32
|
-
} catch {
|
|
33
|
-
const fallback = {
|
|
34
|
-
kind: config.kind,
|
|
35
|
-
name: config.name,
|
|
36
|
-
id: config.id,
|
|
37
|
-
icon: config.icon,
|
|
38
|
-
execution: config.execution
|
|
39
|
-
};
|
|
40
|
-
this.injectTokenIds(fallback, config);
|
|
41
|
-
return fallback;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
injectTokenIds(target, source) {
|
|
45
|
-
const type = this.asTypeToken(source.type);
|
|
46
|
-
if (type) target.tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);
|
|
47
|
-
for (const [key, value] of Object.entries(source)) {
|
|
48
|
-
if (key === "type" || value == null) continue;
|
|
49
|
-
if (Array.isArray(value)) {
|
|
50
|
-
const arr = target[key];
|
|
51
|
-
if (Array.isArray(arr)) value.forEach((item, i) => {
|
|
52
|
-
if (item && typeof item === "object" && arr[i] && typeof arr[i] === "object") this.injectTokenIds(arr[i], item);
|
|
53
|
-
});
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
if (typeof value === "object") {
|
|
57
|
-
const t = target[key];
|
|
58
|
-
if (t && typeof t === "object") this.injectTokenIds(t, value);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
tokenName(token) {
|
|
63
|
-
if (typeof token === "function" && token.name) return token.name;
|
|
64
|
-
if (typeof token === "string") return token;
|
|
65
|
-
return "unknown";
|
|
66
|
-
}
|
|
67
|
-
asTypeToken(value) {
|
|
68
|
-
if (typeof value === "function" || typeof value === "string" || typeof value === "symbol") return value;
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
//#endregion
|
|
73
|
-
//#region src/engine/materialization/PersistedWorkflowSnapshotFactory.ts
|
|
74
|
-
var PersistedWorkflowSnapshotFactory = class {
|
|
75
|
-
configSerializer;
|
|
76
|
-
constructor(tokenRegistry) {
|
|
77
|
-
this.tokenRegistry = tokenRegistry;
|
|
78
|
-
this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);
|
|
79
|
-
}
|
|
80
|
-
create(workflow) {
|
|
81
|
-
return {
|
|
82
|
-
id: workflow.id,
|
|
83
|
-
name: workflow.name,
|
|
84
|
-
workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== void 0,
|
|
85
|
-
...workflow.connections !== void 0 && workflow.connections.length > 0 ? { connections: workflow.connections } : {},
|
|
86
|
-
nodes: workflow.nodes.map((node) => {
|
|
87
|
-
const nodeTokenId = this.resolveTokenId(node.type);
|
|
88
|
-
const configTokenId = this.resolveTokenId(node.config.type);
|
|
89
|
-
return {
|
|
90
|
-
id: node.id,
|
|
91
|
-
kind: node.kind,
|
|
92
|
-
name: node.name,
|
|
93
|
-
nodeTokenId,
|
|
94
|
-
configTokenId,
|
|
95
|
-
tokenName: this.resolveTokenName(node.type),
|
|
96
|
-
configTokenName: this.resolveTokenName(node.config?.type),
|
|
97
|
-
config: this.configSerializer.create(node.config)
|
|
98
|
-
};
|
|
99
|
-
}),
|
|
100
|
-
edges: workflow.edges.map((edge) => ({
|
|
101
|
-
from: {
|
|
102
|
-
nodeId: edge.from.nodeId,
|
|
103
|
-
output: edge.from.output
|
|
104
|
-
},
|
|
105
|
-
to: {
|
|
106
|
-
nodeId: edge.to.nodeId,
|
|
107
|
-
input: edge.to.input
|
|
108
|
-
}
|
|
109
|
-
}))
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
resolveTokenId(token) {
|
|
113
|
-
const id = this.tokenRegistry.getTokenId(token);
|
|
114
|
-
if (id) return id;
|
|
115
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : "unknown";
|
|
116
|
-
}
|
|
117
|
-
resolveTokenName(token) {
|
|
118
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : void 0;
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
//#endregion
|
|
123
|
-
Object.defineProperty(exports, 'InMemoryWorkflowCatalog', {
|
|
124
|
-
enumerable: true,
|
|
125
|
-
get: function () {
|
|
126
|
-
return InMemoryWorkflowCatalog;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
Object.defineProperty(exports, 'InMemoryWorkflowRegistry', {
|
|
130
|
-
enumerable: true,
|
|
131
|
-
get: function () {
|
|
132
|
-
return InMemoryWorkflowRegistry;
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
Object.defineProperty(exports, 'PersistedWorkflowSnapshotFactory', {
|
|
136
|
-
enumerable: true,
|
|
137
|
-
get: function () {
|
|
138
|
-
return PersistedWorkflowSnapshotFactory;
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
//# sourceMappingURL=PersistedWorkflowSnapshotFactory-LVmaaf3t.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistedWorkflowSnapshotFactory-LVmaaf3t.cjs","names":["tokenRegistry: PersistedWorkflowTokenRegistryLike","fallback: Record<string, unknown>","tokenRegistry: PersistedWorkflowTokenRegistryLike"],"sources":["../src/engine/adapters/registry/InMemoryWorkflowCatalog.ts","../src/engine/materialization/PersistedWorkflowConfigSerializer.ts","../src/engine/materialization/PersistedWorkflowSnapshotFactory.ts"],"sourcesContent":["import type { WorkflowCatalog, WorkflowDefinition, WorkflowId } from \"../../../types\";\n\nexport class InMemoryWorkflowCatalog implements WorkflowCatalog {\n private readonly workflowsById = new Map<WorkflowId, WorkflowDefinition>();\n\n setWorkflows(workflows: ReadonlyArray<WorkflowDefinition>): void {\n this.workflowsById.clear();\n for (const workflow of workflows) {\n this.workflowsById.set(workflow.id, workflow);\n }\n }\n\n list(): ReadonlyArray<WorkflowDefinition> {\n return [...this.workflowsById.values()];\n }\n\n get(workflowId: WorkflowId): WorkflowDefinition | undefined {\n return this.workflowsById.get(workflowId);\n }\n}\n\n/**\n * @deprecated Use {@link InMemoryWorkflowCatalog}. Kept for older tests and consumer scaffolds.\n */\nexport const InMemoryWorkflowRegistry = InMemoryWorkflowCatalog;\n","import type { TypeToken } from \"../../di\";\nimport type { NodeConfigBase, PersistedTokenId, PersistedWorkflowTokenRegistryLike } from \"../../types\";\n\nexport class PersistedWorkflowConfigSerializer {\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {}\n\n create(config: NodeConfigBase): unknown {\n try {\n const cloned = JSON.parse(JSON.stringify(config)) as Record<string, unknown>;\n this.injectTokenIds(cloned, config as unknown as Record<string, unknown>);\n return cloned;\n } catch {\n const fallback: Record<string, unknown> = {\n kind: config.kind,\n name: config.name,\n id: config.id,\n icon: config.icon,\n execution: config.execution,\n };\n this.injectTokenIds(fallback, config as unknown as Record<string, unknown>);\n return fallback;\n }\n }\n\n private injectTokenIds(target: Record<string, unknown>, source: Record<string, unknown>): void {\n const type = this.asTypeToken(source.type);\n if (type) {\n const tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);\n target.tokenId = tokenId;\n }\n for (const [key, value] of Object.entries(source)) {\n if (key === \"type\" || value == null) continue;\n if (Array.isArray(value)) {\n const arr = target[key];\n if (Array.isArray(arr)) {\n value.forEach((item, i) => {\n if (item && typeof item === \"object\" && arr[i] && typeof arr[i] === \"object\") {\n this.injectTokenIds(arr[i] as Record<string, unknown>, item as Record<string, unknown>);\n }\n });\n }\n continue;\n }\n if (typeof value === \"object\") {\n const t = target[key];\n if (t && typeof t === \"object\") {\n this.injectTokenIds(t as Record<string, unknown>, value as Record<string, unknown>);\n }\n }\n }\n }\n\n private tokenName(token: TypeToken<unknown>): PersistedTokenId {\n if (typeof token === \"function\" && token.name) return token.name as PersistedTokenId;\n if (typeof token === \"string\") return token as PersistedTokenId;\n return \"unknown\" as PersistedTokenId;\n }\n\n private asTypeToken(value: unknown): TypeToken<unknown> | undefined {\n if (typeof value === \"function\" || typeof value === \"string\" || typeof value === \"symbol\") {\n return value as TypeToken<unknown>;\n }\n return undefined;\n }\n}\n","import type { TypeToken } from \"../../di\";\nimport type {\n PersistedTokenId,\n PersistedWorkflowSnapshot,\n PersistedWorkflowTokenRegistryLike,\n WorkflowDefinition,\n} from \"../../types\";\n\nimport { PersistedWorkflowConfigSerializer } from \"./PersistedWorkflowConfigSerializer\";\n\nexport class PersistedWorkflowSnapshotFactory {\n private readonly configSerializer: PersistedWorkflowConfigSerializer;\n\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {\n this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);\n }\n\n create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot {\n return {\n id: workflow.id,\n name: workflow.name,\n workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== undefined,\n ...(workflow.connections !== undefined && workflow.connections.length > 0\n ? { connections: workflow.connections }\n : {}),\n nodes: workflow.nodes.map((node) => {\n const nodeTokenId = this.resolveTokenId(node.type);\n const configTokenId = this.resolveTokenId(node.config.type);\n return {\n id: node.id,\n kind: node.kind,\n name: node.name,\n nodeTokenId,\n configTokenId,\n tokenName: this.resolveTokenName(node.type),\n configTokenName: this.resolveTokenName(node.config?.type),\n config: this.configSerializer.create(node.config),\n };\n }),\n edges: workflow.edges.map((edge) => ({\n from: { nodeId: edge.from.nodeId, output: edge.from.output },\n to: { nodeId: edge.to.nodeId, input: edge.to.input },\n })),\n };\n }\n\n private resolveTokenId(token: TypeToken<unknown>): PersistedTokenId {\n const id = this.tokenRegistry.getTokenId(token);\n if (id) return id;\n const name = typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : \"unknown\";\n return name as PersistedTokenId;\n }\n\n private resolveTokenName(token: TypeToken<unknown>): string | undefined {\n return typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : undefined;\n }\n}\n"],"mappings":";;AAEA,IAAa,0BAAb,MAAgE;CAC9D,AAAiB,gCAAgB,IAAI,KAAqC;CAE1E,aAAa,WAAoD;AAC/D,OAAK,cAAc,OAAO;AAC1B,OAAK,MAAM,YAAY,UACrB,MAAK,cAAc,IAAI,SAAS,IAAI,SAAS;;CAIjD,OAA0C;AACxC,SAAO,CAAC,GAAG,KAAK,cAAc,QAAQ,CAAC;;CAGzC,IAAI,YAAwD;AAC1D,SAAO,KAAK,cAAc,IAAI,WAAW;;;;;;AAO7C,MAAa,2BAA2B;;;;ACrBxC,IAAa,oCAAb,MAA+C;CAC7C,YAAY,AAAiBA,eAAmD;EAAnD;;CAE7B,OAAO,QAAiC;AACtC,MAAI;GACF,MAAM,SAAS,KAAK,MAAM,KAAK,UAAU,OAAO,CAAC;AACjD,QAAK,eAAe,QAAQ,OAA6C;AACzE,UAAO;UACD;GACN,MAAMC,WAAoC;IACxC,MAAM,OAAO;IACb,MAAM,OAAO;IACb,IAAI,OAAO;IACX,MAAM,OAAO;IACb,WAAW,OAAO;IACnB;AACD,QAAK,eAAe,UAAU,OAA6C;AAC3E,UAAO;;;CAIX,AAAQ,eAAe,QAAiC,QAAuC;EAC7F,MAAM,OAAO,KAAK,YAAY,OAAO,KAAK;AAC1C,MAAI,KAEF,QAAO,UADS,KAAK,cAAc,WAAW,KAAK,IAAI,KAAK,UAAU,KAAK;AAG7E,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,EAAE;AACjD,OAAI,QAAQ,UAAU,SAAS,KAAM;AACrC,OAAI,MAAM,QAAQ,MAAM,EAAE;IACxB,MAAM,MAAM,OAAO;AACnB,QAAI,MAAM,QAAQ,IAAI,CACpB,OAAM,SAAS,MAAM,MAAM;AACzB,SAAI,QAAQ,OAAO,SAAS,YAAY,IAAI,MAAM,OAAO,IAAI,OAAO,SAClE,MAAK,eAAe,IAAI,IAA+B,KAAgC;MAEzF;AAEJ;;AAEF,OAAI,OAAO,UAAU,UAAU;IAC7B,MAAM,IAAI,OAAO;AACjB,QAAI,KAAK,OAAO,MAAM,SACpB,MAAK,eAAe,GAA8B,MAAiC;;;;CAM3F,AAAQ,UAAU,OAA6C;AAC7D,MAAI,OAAO,UAAU,cAAc,MAAM,KAAM,QAAO,MAAM;AAC5D,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO;;CAGT,AAAQ,YAAY,OAAgD;AAClE,MAAI,OAAO,UAAU,cAAc,OAAO,UAAU,YAAY,OAAO,UAAU,SAC/E,QAAO;;;;;;AClDb,IAAa,mCAAb,MAA8C;CAC5C,AAAiB;CAEjB,YAAY,AAAiBC,eAAmD;EAAnD;AAC3B,OAAK,mBAAmB,IAAI,kCAAkC,cAAc;;CAG9E,OAAO,UAAyD;AAC9D,SAAO;GACL,IAAI,SAAS;GACb,MAAM,SAAS;GACf,gCAAgC,SAAS,yBAAyB;GAClE,GAAI,SAAS,gBAAgB,UAAa,SAAS,YAAY,SAAS,IACpE,EAAE,aAAa,SAAS,aAAa,GACrC,EAAE;GACN,OAAO,SAAS,MAAM,KAAK,SAAS;IAClC,MAAM,cAAc,KAAK,eAAe,KAAK,KAAK;IAClD,MAAM,gBAAgB,KAAK,eAAe,KAAK,OAAO,KAAK;AAC3D,WAAO;KACL,IAAI,KAAK;KACT,MAAM,KAAK;KACX,MAAM,KAAK;KACX;KACA;KACA,WAAW,KAAK,iBAAiB,KAAK,KAAK;KAC3C,iBAAiB,KAAK,iBAAiB,KAAK,QAAQ,KAAK;KACzD,QAAQ,KAAK,iBAAiB,OAAO,KAAK,OAAO;KAClD;KACD;GACF,OAAO,SAAS,MAAM,KAAK,UAAU;IACnC,MAAM;KAAE,QAAQ,KAAK,KAAK;KAAQ,QAAQ,KAAK,KAAK;KAAQ;IAC5D,IAAI;KAAE,QAAQ,KAAK,GAAG;KAAQ,OAAO,KAAK,GAAG;KAAO;IACrD,EAAE;GACJ;;CAGH,AAAQ,eAAe,OAA6C;EAClE,MAAM,KAAK,KAAK,cAAc,WAAW,MAAM;AAC/C,MAAI,GAAI,QAAO;AAEf,SADa,OAAO,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,OAAO,UAAU,WAAW,QAAQ;;CAI5G,AAAQ,iBAAiB,OAA+C;AACtE,SAAO,OAAO,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,OAAO,UAAU,WAAW,QAAQ"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
//#region src/engine/adapters/catalog/InMemoryWorkflowCatalog.ts
|
|
2
|
-
var InMemoryWorkflowCatalog = class {
|
|
3
|
-
workflowsById = /* @__PURE__ */ new Map();
|
|
4
|
-
setWorkflows(workflows) {
|
|
5
|
-
this.workflowsById.clear();
|
|
6
|
-
for (const workflow of workflows) this.workflowsById.set(workflow.id, workflow);
|
|
7
|
-
}
|
|
8
|
-
list() {
|
|
9
|
-
return [...this.workflowsById.values()];
|
|
10
|
-
}
|
|
11
|
-
get(workflowId) {
|
|
12
|
-
return this.workflowsById.get(workflowId);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/engine/materialization/PersistedWorkflowConfigSerializer.ts
|
|
18
|
-
var PersistedWorkflowConfigSerializer = class {
|
|
19
|
-
constructor(tokenRegistry) {
|
|
20
|
-
this.tokenRegistry = tokenRegistry;
|
|
21
|
-
}
|
|
22
|
-
create(config) {
|
|
23
|
-
try {
|
|
24
|
-
const cloned = JSON.parse(JSON.stringify(config));
|
|
25
|
-
this.injectTokenIds(cloned, config);
|
|
26
|
-
return cloned;
|
|
27
|
-
} catch {
|
|
28
|
-
const fallback = {
|
|
29
|
-
kind: config.kind,
|
|
30
|
-
name: config.name,
|
|
31
|
-
id: config.id,
|
|
32
|
-
icon: config.icon,
|
|
33
|
-
execution: config.execution
|
|
34
|
-
};
|
|
35
|
-
this.injectTokenIds(fallback, config);
|
|
36
|
-
return fallback;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
injectTokenIds(target, source) {
|
|
40
|
-
const type = this.asTypeToken(source.type);
|
|
41
|
-
if (type) target.tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);
|
|
42
|
-
for (const [key, value] of Object.entries(source)) {
|
|
43
|
-
if (key === "type" || value == null) continue;
|
|
44
|
-
if (Array.isArray(value)) {
|
|
45
|
-
const arr = target[key];
|
|
46
|
-
if (Array.isArray(arr)) value.forEach((item, i) => {
|
|
47
|
-
if (item && typeof item === "object" && arr[i] && typeof arr[i] === "object") this.injectTokenIds(arr[i], item);
|
|
48
|
-
});
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
if (typeof value === "object") {
|
|
52
|
-
const t = target[key];
|
|
53
|
-
if (t && typeof t === "object") this.injectTokenIds(t, value);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
tokenName(token) {
|
|
58
|
-
if (typeof token === "function" && token.name) return token.name;
|
|
59
|
-
if (typeof token === "string") return token;
|
|
60
|
-
return "unknown";
|
|
61
|
-
}
|
|
62
|
-
asTypeToken(value) {
|
|
63
|
-
if (typeof value === "function" || typeof value === "string" || typeof value === "symbol") return value;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
//#endregion
|
|
68
|
-
//#region src/engine/materialization/PersistedWorkflowSnapshotFactory.ts
|
|
69
|
-
var PersistedWorkflowSnapshotFactory = class {
|
|
70
|
-
configSerializer;
|
|
71
|
-
constructor(tokenRegistry) {
|
|
72
|
-
this.tokenRegistry = tokenRegistry;
|
|
73
|
-
this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);
|
|
74
|
-
}
|
|
75
|
-
create(workflow) {
|
|
76
|
-
return {
|
|
77
|
-
id: workflow.id,
|
|
78
|
-
name: workflow.name,
|
|
79
|
-
workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== void 0,
|
|
80
|
-
...workflow.connections !== void 0 && workflow.connections.length > 0 ? { connections: workflow.connections } : {},
|
|
81
|
-
nodes: workflow.nodes.map((node) => {
|
|
82
|
-
const nodeTokenId = this.resolveTokenId(node.type);
|
|
83
|
-
const configTokenId = this.resolveTokenId(node.config.type);
|
|
84
|
-
return {
|
|
85
|
-
id: node.id,
|
|
86
|
-
kind: node.kind,
|
|
87
|
-
name: node.name,
|
|
88
|
-
nodeTokenId,
|
|
89
|
-
configTokenId,
|
|
90
|
-
tokenName: this.resolveTokenName(node.type),
|
|
91
|
-
configTokenName: this.resolveTokenName(node.config?.type),
|
|
92
|
-
config: this.configSerializer.create(node.config)
|
|
93
|
-
};
|
|
94
|
-
}),
|
|
95
|
-
edges: workflow.edges.map((edge) => ({
|
|
96
|
-
from: {
|
|
97
|
-
nodeId: edge.from.nodeId,
|
|
98
|
-
output: edge.from.output
|
|
99
|
-
},
|
|
100
|
-
to: {
|
|
101
|
-
nodeId: edge.to.nodeId,
|
|
102
|
-
input: edge.to.input
|
|
103
|
-
}
|
|
104
|
-
}))
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
resolveTokenId(token) {
|
|
108
|
-
const id = this.tokenRegistry.getTokenId(token);
|
|
109
|
-
if (id) return id;
|
|
110
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : "unknown";
|
|
111
|
-
}
|
|
112
|
-
resolveTokenName(token) {
|
|
113
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : void 0;
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
//#endregion
|
|
118
|
-
export { InMemoryWorkflowCatalog as n, PersistedWorkflowSnapshotFactory as t };
|
|
119
|
-
//# sourceMappingURL=PersistedWorkflowSnapshotFactory-PZCpo2ZS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistedWorkflowSnapshotFactory-PZCpo2ZS.js","names":["tokenRegistry: PersistedWorkflowTokenRegistryLike","fallback: Record<string, unknown>","tokenRegistry: PersistedWorkflowTokenRegistryLike"],"sources":["../src/engine/adapters/catalog/InMemoryWorkflowCatalog.ts","../src/engine/materialization/PersistedWorkflowConfigSerializer.ts","../src/engine/materialization/PersistedWorkflowSnapshotFactory.ts"],"sourcesContent":["import type { WorkflowCatalog, WorkflowDefinition, WorkflowId } from \"../../../types\";\n\nexport class InMemoryWorkflowCatalog implements WorkflowCatalog {\n private readonly workflowsById = new Map<WorkflowId, WorkflowDefinition>();\n\n setWorkflows(workflows: ReadonlyArray<WorkflowDefinition>): void {\n this.workflowsById.clear();\n for (const workflow of workflows) {\n this.workflowsById.set(workflow.id, workflow);\n }\n }\n\n list(): ReadonlyArray<WorkflowDefinition> {\n return [...this.workflowsById.values()];\n }\n\n get(workflowId: WorkflowId): WorkflowDefinition | undefined {\n return this.workflowsById.get(workflowId);\n }\n}\n","import type { TypeToken } from \"../../di\";\nimport type { NodeConfigBase, PersistedTokenId, PersistedWorkflowTokenRegistryLike } from \"../../types\";\n\nexport class PersistedWorkflowConfigSerializer {\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {}\n\n create(config: NodeConfigBase): unknown {\n try {\n const cloned = JSON.parse(JSON.stringify(config)) as Record<string, unknown>;\n this.injectTokenIds(cloned, config as unknown as Record<string, unknown>);\n return cloned;\n } catch {\n const fallback: Record<string, unknown> = {\n kind: config.kind,\n name: config.name,\n id: config.id,\n icon: config.icon,\n execution: config.execution,\n };\n this.injectTokenIds(fallback, config as unknown as Record<string, unknown>);\n return fallback;\n }\n }\n\n private injectTokenIds(target: Record<string, unknown>, source: Record<string, unknown>): void {\n const type = this.asTypeToken(source.type);\n if (type) {\n const tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);\n target.tokenId = tokenId;\n }\n for (const [key, value] of Object.entries(source)) {\n if (key === \"type\" || value == null) continue;\n if (Array.isArray(value)) {\n const arr = target[key];\n if (Array.isArray(arr)) {\n value.forEach((item, i) => {\n if (item && typeof item === \"object\" && arr[i] && typeof arr[i] === \"object\") {\n this.injectTokenIds(arr[i] as Record<string, unknown>, item as Record<string, unknown>);\n }\n });\n }\n continue;\n }\n if (typeof value === \"object\") {\n const t = target[key];\n if (t && typeof t === \"object\") {\n this.injectTokenIds(t as Record<string, unknown>, value as Record<string, unknown>);\n }\n }\n }\n }\n\n private tokenName(token: TypeToken<unknown>): PersistedTokenId {\n if (typeof token === \"function\" && token.name) return token.name as PersistedTokenId;\n if (typeof token === \"string\") return token as PersistedTokenId;\n return \"unknown\" as PersistedTokenId;\n }\n\n private asTypeToken(value: unknown): TypeToken<unknown> | undefined {\n if (typeof value === \"function\" || typeof value === \"string\" || typeof value === \"symbol\") {\n return value as TypeToken<unknown>;\n }\n return undefined;\n }\n}\n","import type { TypeToken } from \"../../di\";\nimport type {\n PersistedTokenId,\n PersistedWorkflowSnapshot,\n PersistedWorkflowTokenRegistryLike,\n WorkflowDefinition,\n} from \"../../types\";\n\nimport { PersistedWorkflowConfigSerializer } from \"./PersistedWorkflowConfigSerializer\";\n\nexport class PersistedWorkflowSnapshotFactory {\n private readonly configSerializer: PersistedWorkflowConfigSerializer;\n\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {\n this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);\n }\n\n create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot {\n return {\n id: workflow.id,\n name: workflow.name,\n workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== undefined,\n ...(workflow.connections !== undefined && workflow.connections.length > 0\n ? { connections: workflow.connections }\n : {}),\n nodes: workflow.nodes.map((node) => {\n const nodeTokenId = this.resolveTokenId(node.type);\n const configTokenId = this.resolveTokenId(node.config.type);\n return {\n id: node.id,\n kind: node.kind,\n name: node.name,\n nodeTokenId,\n configTokenId,\n tokenName: this.resolveTokenName(node.type),\n configTokenName: this.resolveTokenName(node.config?.type),\n config: this.configSerializer.create(node.config),\n };\n }),\n edges: workflow.edges.map((edge) => ({\n from: { nodeId: edge.from.nodeId, output: edge.from.output },\n to: { nodeId: edge.to.nodeId, input: edge.to.input },\n })),\n };\n }\n\n private resolveTokenId(token: TypeToken<unknown>): PersistedTokenId {\n const id = this.tokenRegistry.getTokenId(token);\n if (id) return id;\n const name = typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : \"unknown\";\n return name as PersistedTokenId;\n }\n\n private resolveTokenName(token: TypeToken<unknown>): string | undefined {\n return typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : undefined;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/engine/materialization/PersistedWorkflowConfigSerializer.ts
|
|
3
|
-
var PersistedWorkflowConfigSerializer = class {
|
|
4
|
-
constructor(tokenRegistry) {
|
|
5
|
-
this.tokenRegistry = tokenRegistry;
|
|
6
|
-
}
|
|
7
|
-
create(config) {
|
|
8
|
-
try {
|
|
9
|
-
const cloned = JSON.parse(JSON.stringify(config));
|
|
10
|
-
this.injectTokenIds(cloned, config);
|
|
11
|
-
return cloned;
|
|
12
|
-
} catch {
|
|
13
|
-
const fallback = {
|
|
14
|
-
kind: config.kind,
|
|
15
|
-
name: config.name,
|
|
16
|
-
id: config.id,
|
|
17
|
-
icon: config.icon,
|
|
18
|
-
execution: config.execution
|
|
19
|
-
};
|
|
20
|
-
this.injectTokenIds(fallback, config);
|
|
21
|
-
return fallback;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
injectTokenIds(target, source) {
|
|
25
|
-
const type = this.asTypeToken(source.type);
|
|
26
|
-
if (type) target.tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);
|
|
27
|
-
for (const [key, value] of Object.entries(source)) {
|
|
28
|
-
if (key === "type" || value == null) continue;
|
|
29
|
-
if (Array.isArray(value)) {
|
|
30
|
-
const arr = target[key];
|
|
31
|
-
if (Array.isArray(arr)) value.forEach((item, i) => {
|
|
32
|
-
if (item && typeof item === "object" && arr[i] && typeof arr[i] === "object") this.injectTokenIds(arr[i], item);
|
|
33
|
-
});
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
if (typeof value === "object") {
|
|
37
|
-
const t = target[key];
|
|
38
|
-
if (t && typeof t === "object") this.injectTokenIds(t, value);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
tokenName(token) {
|
|
43
|
-
if (typeof token === "function" && token.name) return token.name;
|
|
44
|
-
if (typeof token === "string") return token;
|
|
45
|
-
return "unknown";
|
|
46
|
-
}
|
|
47
|
-
asTypeToken(value) {
|
|
48
|
-
if (typeof value === "function" || typeof value === "string" || typeof value === "symbol") return value;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/engine/materialization/PersistedWorkflowSnapshotFactory.ts
|
|
54
|
-
var PersistedWorkflowSnapshotFactory = class {
|
|
55
|
-
configSerializer;
|
|
56
|
-
constructor(tokenRegistry) {
|
|
57
|
-
this.tokenRegistry = tokenRegistry;
|
|
58
|
-
this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);
|
|
59
|
-
}
|
|
60
|
-
create(workflow) {
|
|
61
|
-
return {
|
|
62
|
-
id: workflow.id,
|
|
63
|
-
name: workflow.name,
|
|
64
|
-
workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== void 0,
|
|
65
|
-
...workflow.connections !== void 0 && workflow.connections.length > 0 ? { connections: workflow.connections } : {},
|
|
66
|
-
nodes: workflow.nodes.map((node) => {
|
|
67
|
-
const nodeTokenId = this.resolveTokenId(node.type);
|
|
68
|
-
const configTokenId = this.resolveTokenId(node.config.type);
|
|
69
|
-
return {
|
|
70
|
-
id: node.id,
|
|
71
|
-
kind: node.kind,
|
|
72
|
-
name: node.name,
|
|
73
|
-
nodeTokenId,
|
|
74
|
-
configTokenId,
|
|
75
|
-
tokenName: this.resolveTokenName(node.type),
|
|
76
|
-
configTokenName: this.resolveTokenName(node.config?.type),
|
|
77
|
-
config: this.configSerializer.create(node.config)
|
|
78
|
-
};
|
|
79
|
-
}),
|
|
80
|
-
edges: workflow.edges.map((edge) => ({
|
|
81
|
-
from: {
|
|
82
|
-
nodeId: edge.from.nodeId,
|
|
83
|
-
output: edge.from.output
|
|
84
|
-
},
|
|
85
|
-
to: {
|
|
86
|
-
nodeId: edge.to.nodeId,
|
|
87
|
-
input: edge.to.input
|
|
88
|
-
}
|
|
89
|
-
}))
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
resolveTokenId(token) {
|
|
93
|
-
const id = this.tokenRegistry.getTokenId(token);
|
|
94
|
-
if (id) return id;
|
|
95
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : "unknown";
|
|
96
|
-
}
|
|
97
|
-
resolveTokenName(token) {
|
|
98
|
-
return typeof token === "function" && token.name ? token.name : typeof token === "string" ? token : void 0;
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
//#endregion
|
|
103
|
-
Object.defineProperty(exports, 'PersistedWorkflowSnapshotFactory', {
|
|
104
|
-
enumerable: true,
|
|
105
|
-
get: function () {
|
|
106
|
-
return PersistedWorkflowSnapshotFactory;
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
//# sourceMappingURL=PersistedWorkflowSnapshotFactory-UjQ1SJev.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistedWorkflowSnapshotFactory-UjQ1SJev.cjs","names":["tokenRegistry: PersistedWorkflowTokenRegistryLike","fallback: Record<string, unknown>","tokenRegistry: PersistedWorkflowTokenRegistryLike"],"sources":["../src/engine/materialization/PersistedWorkflowConfigSerializer.ts","../src/engine/materialization/PersistedWorkflowSnapshotFactory.ts"],"sourcesContent":["import type { TypeToken } from \"../../di\";\nimport type { NodeConfigBase, PersistedTokenId, PersistedWorkflowTokenRegistryLike } from \"../../types\";\n\nexport class PersistedWorkflowConfigSerializer {\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {}\n\n create(config: NodeConfigBase): unknown {\n try {\n const cloned = JSON.parse(JSON.stringify(config)) as Record<string, unknown>;\n this.injectTokenIds(cloned, config as unknown as Record<string, unknown>);\n return cloned;\n } catch {\n const fallback: Record<string, unknown> = {\n kind: config.kind,\n name: config.name,\n id: config.id,\n icon: config.icon,\n execution: config.execution,\n };\n this.injectTokenIds(fallback, config as unknown as Record<string, unknown>);\n return fallback;\n }\n }\n\n private injectTokenIds(target: Record<string, unknown>, source: Record<string, unknown>): void {\n const type = this.asTypeToken(source.type);\n if (type) {\n const tokenId = this.tokenRegistry.getTokenId(type) ?? this.tokenName(type);\n target.tokenId = tokenId;\n }\n for (const [key, value] of Object.entries(source)) {\n if (key === \"type\" || value == null) continue;\n if (Array.isArray(value)) {\n const arr = target[key];\n if (Array.isArray(arr)) {\n value.forEach((item, i) => {\n if (item && typeof item === \"object\" && arr[i] && typeof arr[i] === \"object\") {\n this.injectTokenIds(arr[i] as Record<string, unknown>, item as Record<string, unknown>);\n }\n });\n }\n continue;\n }\n if (typeof value === \"object\") {\n const t = target[key];\n if (t && typeof t === \"object\") {\n this.injectTokenIds(t as Record<string, unknown>, value as Record<string, unknown>);\n }\n }\n }\n }\n\n private tokenName(token: TypeToken<unknown>): PersistedTokenId {\n if (typeof token === \"function\" && token.name) return token.name as PersistedTokenId;\n if (typeof token === \"string\") return token as PersistedTokenId;\n return \"unknown\" as PersistedTokenId;\n }\n\n private asTypeToken(value: unknown): TypeToken<unknown> | undefined {\n if (typeof value === \"function\" || typeof value === \"string\" || typeof value === \"symbol\") {\n return value as TypeToken<unknown>;\n }\n return undefined;\n }\n}\n","import type { TypeToken } from \"../../di\";\nimport type {\n PersistedTokenId,\n PersistedWorkflowSnapshot,\n PersistedWorkflowTokenRegistryLike,\n WorkflowDefinition,\n} from \"../../types\";\n\nimport { PersistedWorkflowConfigSerializer } from \"./PersistedWorkflowConfigSerializer\";\n\nexport class PersistedWorkflowSnapshotFactory {\n private readonly configSerializer: PersistedWorkflowConfigSerializer;\n\n constructor(private readonly tokenRegistry: PersistedWorkflowTokenRegistryLike) {\n this.configSerializer = new PersistedWorkflowConfigSerializer(tokenRegistry);\n }\n\n create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot {\n return {\n id: workflow.id,\n name: workflow.name,\n workflowErrorHandlerConfigured: workflow.workflowErrorHandler !== undefined,\n ...(workflow.connections !== undefined && workflow.connections.length > 0\n ? { connections: workflow.connections }\n : {}),\n nodes: workflow.nodes.map((node) => {\n const nodeTokenId = this.resolveTokenId(node.type);\n const configTokenId = this.resolveTokenId(node.config.type);\n return {\n id: node.id,\n kind: node.kind,\n name: node.name,\n nodeTokenId,\n configTokenId,\n tokenName: this.resolveTokenName(node.type),\n configTokenName: this.resolveTokenName(node.config?.type),\n config: this.configSerializer.create(node.config),\n };\n }),\n edges: workflow.edges.map((edge) => ({\n from: { nodeId: edge.from.nodeId, output: edge.from.output },\n to: { nodeId: edge.to.nodeId, input: edge.to.input },\n })),\n };\n }\n\n private resolveTokenId(token: TypeToken<unknown>): PersistedTokenId {\n const id = this.tokenRegistry.getTokenId(token);\n if (id) return id;\n const name = typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : \"unknown\";\n return name as PersistedTokenId;\n }\n\n private resolveTokenName(token: TypeToken<unknown>): string | undefined {\n return typeof token === \"function\" && token.name ? token.name : typeof token === \"string\" ? token : undefined;\n }\n}\n"],"mappings":";;AAGA,IAAa,oCAAb,MAA+C;CAC7C,YAAY,AAAiBA,eAAmD;EAAnD;;CAE7B,OAAO,QAAiC;AACtC,MAAI;GACF,MAAM,SAAS,KAAK,MAAM,KAAK,UAAU,OAAO,CAAC;AACjD,QAAK,eAAe,QAAQ,OAA6C;AACzE,UAAO;UACD;GACN,MAAMC,WAAoC;IACxC,MAAM,OAAO;IACb,MAAM,OAAO;IACb,IAAI,OAAO;IACX,MAAM,OAAO;IACb,WAAW,OAAO;IACnB;AACD,QAAK,eAAe,UAAU,OAA6C;AAC3E,UAAO;;;CAIX,AAAQ,eAAe,QAAiC,QAAuC;EAC7F,MAAM,OAAO,KAAK,YAAY,OAAO,KAAK;AAC1C,MAAI,KAEF,QAAO,UADS,KAAK,cAAc,WAAW,KAAK,IAAI,KAAK,UAAU,KAAK;AAG7E,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,EAAE;AACjD,OAAI,QAAQ,UAAU,SAAS,KAAM;AACrC,OAAI,MAAM,QAAQ,MAAM,EAAE;IACxB,MAAM,MAAM,OAAO;AACnB,QAAI,MAAM,QAAQ,IAAI,CACpB,OAAM,SAAS,MAAM,MAAM;AACzB,SAAI,QAAQ,OAAO,SAAS,YAAY,IAAI,MAAM,OAAO,IAAI,OAAO,SAClE,MAAK,eAAe,IAAI,IAA+B,KAAgC;MAEzF;AAEJ;;AAEF,OAAI,OAAO,UAAU,UAAU;IAC7B,MAAM,IAAI,OAAO;AACjB,QAAI,KAAK,OAAO,MAAM,SACpB,MAAK,eAAe,GAA8B,MAAiC;;;;CAM3F,AAAQ,UAAU,OAA6C;AAC7D,MAAI,OAAO,UAAU,cAAc,MAAM,KAAM,QAAO,MAAM;AAC5D,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO;;CAGT,AAAQ,YAAY,OAAgD;AAClE,MAAI,OAAO,UAAU,cAAc,OAAO,UAAU,YAAY,OAAO,UAAU,SAC/E,QAAO;;;;;;AClDb,IAAa,mCAAb,MAA8C;CAC5C,AAAiB;CAEjB,YAAY,AAAiBC,eAAmD;EAAnD;AAC3B,OAAK,mBAAmB,IAAI,kCAAkC,cAAc;;CAG9E,OAAO,UAAyD;AAC9D,SAAO;GACL,IAAI,SAAS;GACb,MAAM,SAAS;GACf,gCAAgC,SAAS,yBAAyB;GAClE,GAAI,SAAS,gBAAgB,UAAa,SAAS,YAAY,SAAS,IACpE,EAAE,aAAa,SAAS,aAAa,GACrC,EAAE;GACN,OAAO,SAAS,MAAM,KAAK,SAAS;IAClC,MAAM,cAAc,KAAK,eAAe,KAAK,KAAK;IAClD,MAAM,gBAAgB,KAAK,eAAe,KAAK,OAAO,KAAK;AAC3D,WAAO;KACL,IAAI,KAAK;KACT,MAAM,KAAK;KACX,MAAM,KAAK;KACX;KACA;KACA,WAAW,KAAK,iBAAiB,KAAK,KAAK;KAC3C,iBAAiB,KAAK,iBAAiB,KAAK,QAAQ,KAAK;KACzD,QAAQ,KAAK,iBAAiB,OAAO,KAAK,OAAO;KAClD;KACD;GACF,OAAO,SAAS,MAAM,KAAK,UAAU;IACnC,MAAM;KAAE,QAAQ,KAAK,KAAK;KAAQ,QAAQ,KAAK,KAAK;KAAQ;IAC5D,IAAI;KAAE,QAAQ,KAAK,GAAG;KAAQ,OAAO,KAAK,GAAG;KAAO;IACrD,EAAE;GACJ;;CAGH,AAAQ,eAAe,OAA6C;EAClE,MAAM,KAAK,KAAK,cAAc,WAAW,MAAM;AAC/C,MAAI,GAAI,QAAO;AAEf,SADa,OAAO,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,OAAO,UAAU,WAAW,QAAQ;;CAI5G,AAAQ,iBAAiB,OAA+C;AACtE,SAAO,OAAO,UAAU,cAAc,MAAM,OAAO,MAAM,OAAO,OAAO,UAAU,WAAW,QAAQ"}
|