@codemation/core 0.0.7 → 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.
Files changed (195) hide show
  1. package/package.json +6 -1
  2. package/dist/EngineExecutionLimitsPolicy-8MEFIYx1.d.cts +0 -160
  3. package/dist/EngineExecutionLimitsPolicy-BWAXW9D6.d.cts +0 -160
  4. package/dist/EngineExecutionLimitsPolicy-Bp8PS1Ss.d.cts +0 -159
  5. package/dist/EngineExecutionLimitsPolicy-CLxcN-D2.d.ts +0 -159
  6. package/dist/EngineExecutionLimitsPolicy-DZXuix51.d.ts +0 -160
  7. package/dist/EngineExecutionLimitsPolicy-Gfz6ngFd.d.ts +0 -160
  8. package/dist/EngineFactory-CBnntY3J.cjs +0 -3152
  9. package/dist/EngineFactory-CBnntY3J.cjs.map +0 -1
  10. package/dist/EngineFactory-Cwn3R2YA.js +0 -3087
  11. package/dist/EngineFactory-Cwn3R2YA.js.map +0 -1
  12. package/dist/EngineFactory-DWCnNocp.js +0 -3063
  13. package/dist/EngineFactory-DWCnNocp.js.map +0 -1
  14. package/dist/EngineFactory-DhPFou4p.cjs +0 -3188
  15. package/dist/EngineFactory-DhPFou4p.cjs.map +0 -1
  16. package/dist/EngineFactory-l_9xmBtv.cjs +0 -3190
  17. package/dist/EngineFactory-l_9xmBtv.cjs.map +0 -1
  18. package/dist/EngineFactory-w-aOWuqh.js +0 -3089
  19. package/dist/EngineFactory-w-aOWuqh.js.map +0 -1
  20. package/dist/InMemoryLiveWorkflowRepository-1J9MHN_I.js +0 -18
  21. package/dist/InMemoryLiveWorkflowRepository-1J9MHN_I.js.map +0 -1
  22. package/dist/InMemoryLiveWorkflowRepository-CULNqv96.d.ts +0 -1300
  23. package/dist/InMemoryLiveWorkflowRepository-D6eiiXxF.d.cts +0 -1168
  24. package/dist/InMemoryLiveWorkflowRepository-D7l8cjdZ.d.cts +0 -1130
  25. package/dist/InMemoryLiveWorkflowRepository-DL7LmC9S.d.ts +0 -1340
  26. package/dist/InMemoryLiveWorkflowRepository-jnv-OnOP.d.ts +0 -1300
  27. package/dist/InMemoryLiveWorkflowRepository-xny1_Z6i.cjs +0 -24
  28. package/dist/InMemoryLiveWorkflowRepository-xny1_Z6i.cjs.map +0 -1
  29. package/dist/InMemoryLiveWorkflowRepository-xr7b4kvi.d.ts +0 -1338
  30. package/dist/InMemoryWorkflowCatalog-BIdFpwbK.d.ts +0 -1205
  31. package/dist/InMemoryWorkflowCatalog-BW00_3N3.d.cts +0 -12
  32. package/dist/InMemoryWorkflowCatalog-BiYHGoPw.cjs +0 -24
  33. package/dist/InMemoryWorkflowCatalog-BiYHGoPw.cjs.map +0 -1
  34. package/dist/InMemoryWorkflowCatalog-BrG0ApMO.d.cts +0 -1115
  35. package/dist/InMemoryWorkflowCatalog-BzrAr--Y.js +0 -139
  36. package/dist/InMemoryWorkflowCatalog-BzrAr--Y.js.map +0 -1
  37. package/dist/InMemoryWorkflowCatalog-C-EJlJ7y.d.cts +0 -1120
  38. package/dist/InMemoryWorkflowCatalog-C4482bpw.cjs +0 -24
  39. package/dist/InMemoryWorkflowCatalog-C4482bpw.cjs.map +0 -1
  40. package/dist/InMemoryWorkflowCatalog-CZ0kZpOv.d.ts +0 -1289
  41. package/dist/InMemoryWorkflowCatalog-C_ACeLyW.d.cts +0 -1119
  42. package/dist/InMemoryWorkflowCatalog-CiHWIu5E.d.cts +0 -12
  43. package/dist/InMemoryWorkflowCatalog-CkH7gkya.js +0 -18
  44. package/dist/InMemoryWorkflowCatalog-CkH7gkya.js.map +0 -1
  45. package/dist/InMemoryWorkflowCatalog-CnpZVJM9.d.ts +0 -1205
  46. package/dist/InMemoryWorkflowCatalog-Cu68S8YR.js +0 -18
  47. package/dist/InMemoryWorkflowCatalog-Cu68S8YR.js.map +0 -1
  48. package/dist/InMemoryWorkflowCatalog-D2w9nMj2.cjs +0 -151
  49. package/dist/InMemoryWorkflowCatalog-D2w9nMj2.cjs.map +0 -1
  50. package/dist/InMemoryWorkflowCatalog-D5eMxEf7.js +0 -18
  51. package/dist/InMemoryWorkflowCatalog-D5eMxEf7.js.map +0 -1
  52. package/dist/InMemoryWorkflowCatalog-D5nCp2yZ.d.ts +0 -1267
  53. package/dist/InMemoryWorkflowCatalog-DIq0bjqN.d.ts +0 -12
  54. package/dist/InMemoryWorkflowCatalog-DLgaEaw_.d.ts +0 -1288
  55. package/dist/InMemoryWorkflowCatalog-DNBFdK-x.d.cts +0 -1120
  56. package/dist/InMemoryWorkflowCatalog-DQBkCzb7.cjs +0 -24
  57. package/dist/InMemoryWorkflowCatalog-DQBkCzb7.cjs.map +0 -1
  58. package/dist/InMemoryWorkflowCatalog-DS4-eX6i.d.cts +0 -1118
  59. package/dist/InMemoryWorkflowCatalog-DdVfy8MY.d.ts +0 -12
  60. package/dist/InMemoryWorkflowCatalog-DeVZu3g8.d.ts +0 -12
  61. package/dist/InMemoryWorkflowCatalog-GxkQjvt5.d.ts +0 -1200
  62. package/dist/InMemoryWorkflowCatalog-qaVRn1Lc.d.cts +0 -1115
  63. package/dist/InMemoryWorkflowCatalog-z1aIT4TC.d.cts +0 -12
  64. package/dist/InMemoryWorkflowRegistry-BBuOovLL.d.ts +0 -1007
  65. package/dist/InMemoryWorkflowRegistry-BIFnSl3k.d.ts +0 -1201
  66. package/dist/InMemoryWorkflowRegistry-BnGilthz.d.ts +0 -1137
  67. package/dist/InMemoryWorkflowRegistry-CEp5I8No.d.ts +0 -1146
  68. package/dist/InMemoryWorkflowRegistry-CHyMB9jW.d.cts +0 -976
  69. package/dist/InMemoryWorkflowRegistry-CUN7K86m.d.cts +0 -1061
  70. package/dist/InMemoryWorkflowRegistry-CVfHyELh.d.cts +0 -971
  71. package/dist/InMemoryWorkflowRegistry-CXXJrwAr.d.cts +0 -1052
  72. package/dist/InMemoryWorkflowRegistry-DDGfPTJy.d.ts +0 -1013
  73. package/dist/InMemoryWorkflowRegistry-DnYSOoT5.d.ts +0 -1120
  74. package/dist/InMemoryWorkflowRegistry-Dp5GiFF2.d.cts +0 -1035
  75. package/dist/InMemoryWorkflowRegistry-DypDBeOw.d.cts +0 -1116
  76. package/dist/InMemoryWorkflowRegistry-SzwJCAxT.d.ts +0 -1012
  77. package/dist/InMemoryWorkflowRegistry-jupvqyGc.d.cts +0 -977
  78. package/dist/InMemoryWorkflowRegistry-rAdKVWYT.d.ts +0 -1117
  79. package/dist/InProcessRetryRunner-BBNPkXjy.d.cts +0 -292
  80. package/dist/PersistedWorkflowSnapshotFactory-7RkOL3Kg.d.ts +0 -14
  81. package/dist/PersistedWorkflowSnapshotFactory-BmANa46W.cjs +0 -141
  82. package/dist/PersistedWorkflowSnapshotFactory-BmANa46W.cjs.map +0 -1
  83. package/dist/PersistedWorkflowSnapshotFactory-Bwb_etSt.js +0 -118
  84. package/dist/PersistedWorkflowSnapshotFactory-Bwb_etSt.js.map +0 -1
  85. package/dist/PersistedWorkflowSnapshotFactory-CRkKGNV6.js +0 -123
  86. package/dist/PersistedWorkflowSnapshotFactory-CRkKGNV6.js.map +0 -1
  87. package/dist/PersistedWorkflowSnapshotFactory-CZolnGy5.js +0 -101
  88. package/dist/PersistedWorkflowSnapshotFactory-CZolnGy5.js.map +0 -1
  89. package/dist/PersistedWorkflowSnapshotFactory-Ca_oysOv.cjs +0 -131
  90. package/dist/PersistedWorkflowSnapshotFactory-Ca_oysOv.cjs.map +0 -1
  91. package/dist/PersistedWorkflowSnapshotFactory-CqIcShnX.js +0 -103
  92. package/dist/PersistedWorkflowSnapshotFactory-CqIcShnX.js.map +0 -1
  93. package/dist/PersistedWorkflowSnapshotFactory-D-tBk4_G.js +0 -119
  94. package/dist/PersistedWorkflowSnapshotFactory-D-tBk4_G.js.map +0 -1
  95. package/dist/PersistedWorkflowSnapshotFactory-D4cXl2e2.cjs +0 -131
  96. package/dist/PersistedWorkflowSnapshotFactory-D4cXl2e2.cjs.map +0 -1
  97. package/dist/PersistedWorkflowSnapshotFactory-DINoP12r.cjs +0 -131
  98. package/dist/PersistedWorkflowSnapshotFactory-DINoP12r.cjs.map +0 -1
  99. package/dist/PersistedWorkflowSnapshotFactory-DJAwSuHU.js +0 -103
  100. package/dist/PersistedWorkflowSnapshotFactory-DJAwSuHU.js.map +0 -1
  101. package/dist/PersistedWorkflowSnapshotFactory-DSUjVCcf.cjs +0 -131
  102. package/dist/PersistedWorkflowSnapshotFactory-DSUjVCcf.cjs.map +0 -1
  103. package/dist/PersistedWorkflowSnapshotFactory-DdHuhkDb.cjs +0 -107
  104. package/dist/PersistedWorkflowSnapshotFactory-DdHuhkDb.cjs.map +0 -1
  105. package/dist/PersistedWorkflowSnapshotFactory-Dqc6NHis.js +0 -119
  106. package/dist/PersistedWorkflowSnapshotFactory-Dqc6NHis.js.map +0 -1
  107. package/dist/PersistedWorkflowSnapshotFactory-Dxa2dSrw.cjs +0 -130
  108. package/dist/PersistedWorkflowSnapshotFactory-Dxa2dSrw.cjs.map +0 -1
  109. package/dist/PersistedWorkflowSnapshotFactory-Ep79Ah1G.js +0 -123
  110. package/dist/PersistedWorkflowSnapshotFactory-Ep79Ah1G.js.map +0 -1
  111. package/dist/PersistedWorkflowSnapshotFactory-GyLfRuiJ.js +0 -119
  112. package/dist/PersistedWorkflowSnapshotFactory-GyLfRuiJ.js.map +0 -1
  113. package/dist/PersistedWorkflowSnapshotFactory-HTpBsBzn.js +0 -102
  114. package/dist/PersistedWorkflowSnapshotFactory-HTpBsBzn.js.map +0 -1
  115. package/dist/PersistedWorkflowSnapshotFactory-LVmaaf3t.cjs +0 -141
  116. package/dist/PersistedWorkflowSnapshotFactory-LVmaaf3t.cjs.map +0 -1
  117. package/dist/PersistedWorkflowSnapshotFactory-PZCpo2ZS.js +0 -119
  118. package/dist/PersistedWorkflowSnapshotFactory-PZCpo2ZS.js.map +0 -1
  119. package/dist/PersistedWorkflowSnapshotFactory-UjQ1SJev.cjs +0 -109
  120. package/dist/PersistedWorkflowSnapshotFactory-UjQ1SJev.cjs.map +0 -1
  121. package/dist/PersistedWorkflowSnapshotFactory-Y8kCrhcy.cjs +0 -109
  122. package/dist/PersistedWorkflowSnapshotFactory-Y8kCrhcy.cjs.map +0 -1
  123. package/dist/PersistedWorkflowSnapshotFactory-Z_nB-fmB.cjs +0 -108
  124. package/dist/PersistedWorkflowSnapshotFactory-Z_nB-fmB.cjs.map +0 -1
  125. package/dist/RunIntentService-1EE6N8ZL.cjs +0 -963
  126. package/dist/RunIntentService-1EE6N8ZL.cjs.map +0 -1
  127. package/dist/RunIntentService-2ivFmNQh.cjs +0 -3462
  128. package/dist/RunIntentService-2ivFmNQh.cjs.map +0 -1
  129. package/dist/RunIntentService-B0sUL5q-.js +0 -761
  130. package/dist/RunIntentService-B0sUL5q-.js.map +0 -1
  131. package/dist/RunIntentService-BFVbsOcg.js +0 -3131
  132. package/dist/RunIntentService-BFVbsOcg.js.map +0 -1
  133. package/dist/RunIntentService-BsBOwpVN.cjs +0 -1051
  134. package/dist/RunIntentService-BsBOwpVN.cjs.map +0 -1
  135. package/dist/RunIntentService-CSk3ETyn.js +0 -858
  136. package/dist/RunIntentService-CSk3ETyn.js.map +0 -1
  137. package/dist/RunIntentService-Ckn3u3tA.d.cts +0 -326
  138. package/dist/RunIntentService-DEo6GTTo.d.cts +0 -289
  139. package/dist/RunIntentService-DKrGtL0B.js +0 -782
  140. package/dist/RunIntentService-DKrGtL0B.js.map +0 -1
  141. package/dist/RunIntentService-DNOJc1R7.cjs +0 -942
  142. package/dist/RunIntentService-DNOJc1R7.cjs.map +0 -1
  143. package/dist/RunIntentService-Dq3pV53j.d.cts +0 -289
  144. package/dist/RunIntentService-NKobsfMQ.d.cts +0 -274
  145. package/dist/WorkflowSnapshotCodec-C3fuuS_R.d.cts +0 -22
  146. package/dist/WorkflowSnapshotCodec-CUudUo6f.js +0 -123
  147. package/dist/WorkflowSnapshotCodec-CUudUo6f.js.map +0 -1
  148. package/dist/WorkflowSnapshotCodec-CuCPQZTc.cjs +0 -129
  149. package/dist/WorkflowSnapshotCodec-CuCPQZTc.cjs.map +0 -1
  150. package/dist/WorkflowSnapshotCodec-DLiXQNvV.d.cts +0 -22
  151. package/dist/WorkflowSnapshotCodec-DNtdrZ7l.d.cts +0 -22
  152. package/dist/WorkflowSnapshotCodec-DTdWkoW_.d.cts +0 -22
  153. package/dist/credentialTypes-B5h3dI7r.d.cts +0 -1107
  154. package/dist/credentialTypes-B9okPCVo.d.cts +0 -963
  155. package/dist/credentialTypes-BFL70rgZ.d.cts +0 -964
  156. package/dist/credentialTypes-BGkh1O07.d.ts +0 -1010
  157. package/dist/credentialTypes-BNLi4Q7u.d.ts +0 -1030
  158. package/dist/credentialTypes-CeSoZGj3.d.cts +0 -994
  159. package/dist/credentialTypes-CpHc32Ig.d.cts +0 -984
  160. package/dist/credentialTypes-D0m7MQQl.d.cts +0 -1107
  161. package/dist/credentialTypes-D4nL2sUd.d.ts +0 -1000
  162. package/dist/credentialTypes-DBYK2Qbu.d.ts +0 -999
  163. package/dist/credentialTypes-DMJVy0r1.d.ts +0 -1000
  164. package/dist/credentialTypes-DhUAjYQp.d.ts +0 -1020
  165. package/dist/credentialTypes-gGITj5KL.d.cts +0 -964
  166. package/dist/credentialTypes-r3KVBJBE.d.cts +0 -974
  167. package/dist/diTokens-ClO27tjK.cjs +0 -34
  168. package/dist/diTokens-ClO27tjK.cjs.map +0 -1
  169. package/dist/diTokens-CoHBkwG6.js +0 -28
  170. package/dist/diTokens-CoHBkwG6.js.map +0 -1
  171. package/dist/index-6Doxmfnd.d.ts +0 -857
  172. package/dist/index-9g6Pfe9Z.d.ts +0 -689
  173. package/dist/index-AZ72Ej-K.d.ts +0 -920
  174. package/dist/index-BEk9V-q-.d.ts +0 -667
  175. package/dist/index-Bjt7_7oS.d.ts +0 -1192
  176. package/dist/index-CFGxsYXy.d.ts +0 -708
  177. package/dist/index-C_u8xFgn.d.ts +0 -690
  178. package/dist/index-CpbfsvOJ.d.ts +0 -1192
  179. package/dist/index-CsReNJN_.d.ts +0 -859
  180. package/dist/index-D5iNnXaW.d.ts +0 -667
  181. package/dist/index-DD_Eft1q.d.ts +0 -708
  182. package/dist/index-DiSYUe0G.d.ts +0 -1192
  183. package/dist/index-gIcH60sp.d.ts +0 -674
  184. package/dist/runtime-BIvd-1JA.cjs +0 -4112
  185. package/dist/runtime-BIvd-1JA.cjs.map +0 -1
  186. package/dist/runtime-D3eWKSQK.cjs +0 -3986
  187. package/dist/runtime-D3eWKSQK.cjs.map +0 -1
  188. package/dist/runtime-Dvp4xAjg.js +0 -3799
  189. package/dist/runtime-Dvp4xAjg.js.map +0 -1
  190. package/dist/runtime-vc76SSAa.js +0 -3685
  191. package/dist/runtime-vc76SSAa.js.map +0 -1
  192. package/dist/runtimeTypes-BK0b8SaG.d.cts +0 -884
  193. package/dist/runtimeTypes-CoYZkYQq.d.cts +0 -851
  194. package/dist/runtimeTypes-D-Pm0Uas.d.cts +0 -849
  195. package/dist/types-Cb5UK7Y6.d.ts +0 -857
@@ -1,1192 +0,0 @@
1
- import "reflect-metadata";
2
- import { DependencyContainer, DependencyContainer as Container, Disposable, InjectionToken, InjectionToken as TypeToken, Lifecycle, RegistrationOptions, container, delay, inject, injectAll, injectable, instanceCachingFactory, instancePerContainerCachingFactory, predicateAwareClassFactory, registry, singleton } from "tsyringe";
3
- import { ReadableStream } from "node:stream/web";
4
-
5
- //#region src/contracts/retryPolicySpec.types.d.ts
6
-
7
- /**
8
- * In-process retry policy for runnable nodes. Serialized configs use the same
9
- * `kind` discriminator (`JSON.stringify` / persisted workflows).
10
- *
11
- * `maxAttempts` is the total number of tries including the first (e.g. 3 means up to 2 delays after failures).
12
- */
13
- type RetryPolicySpec = NoneRetryPolicySpec | FixedRetryPolicySpec | ExponentialRetryPolicySpec;
14
- interface NoneRetryPolicySpec {
15
- readonly kind: "none";
16
- }
17
- interface FixedRetryPolicySpec {
18
- readonly kind: "fixed";
19
- /** Total attempts including the first execution. Must be >= 1. */
20
- readonly maxAttempts: number;
21
- readonly delayMs: number;
22
- }
23
- interface ExponentialRetryPolicySpec {
24
- readonly kind: "exponential";
25
- /** Total attempts including the first execution. Must be >= 1. */
26
- readonly maxAttempts: number;
27
- readonly initialDelayMs: number;
28
- readonly multiplier: number;
29
- readonly maxDelayMs?: number;
30
- /** When true, each delay is multiplied by a random factor in [1, 1.2). */
31
- readonly jitter?: boolean;
32
- }
33
- //#endregion
34
- //#region src/contracts/NoRetryPolicy.d.ts
35
- declare class NoRetryPolicy implements NoneRetryPolicySpec {
36
- readonly kind: "none";
37
- }
38
- //#endregion
39
- //#region src/contracts/RetryPolicy.d.ts
40
- declare class RetryPolicy implements FixedRetryPolicySpec {
41
- readonly maxAttempts: number;
42
- readonly delayMs: number;
43
- readonly kind: "fixed";
44
- constructor(maxAttempts: number, delayMs: number);
45
- /** Default for HTTP-style transient failures: 3 tries, 1s between attempts. */
46
- static readonly defaultForHttp: FixedRetryPolicySpec;
47
- /** Default for LLM / agent calls: 3 tries, 2s fixed backoff. */
48
- static readonly defaultForAiAgent: FixedRetryPolicySpec;
49
- }
50
- //#endregion
51
- //#region src/contracts/ExpRetryPolicy.d.ts
52
- declare class ExpRetryPolicy implements ExponentialRetryPolicySpec {
53
- readonly maxAttempts: number;
54
- readonly initialDelayMs: number;
55
- readonly multiplier: number;
56
- readonly maxDelayMs?: number | undefined;
57
- readonly jitter?: boolean | undefined;
58
- readonly kind: "exponential";
59
- constructor(maxAttempts: number, initialDelayMs: number, multiplier: number, maxDelayMs?: number | undefined, jitter?: boolean | undefined);
60
- }
61
- //#endregion
62
- //#region src/events/runEvents.d.ts
63
- type RunEvent = Readonly<{
64
- kind: "runCreated";
65
- runId: RunId;
66
- workflowId: WorkflowId;
67
- parent?: ParentExecutionRef;
68
- at: string;
69
- }> | Readonly<{
70
- kind: "runSaved";
71
- runId: RunId;
72
- workflowId: WorkflowId;
73
- parent?: ParentExecutionRef;
74
- at: string;
75
- state: PersistedRunState;
76
- }> | Readonly<{
77
- kind: "nodeQueued";
78
- runId: RunId;
79
- workflowId: WorkflowId;
80
- parent?: ParentExecutionRef;
81
- at: string;
82
- snapshot: NodeExecutionSnapshot;
83
- }> | Readonly<{
84
- kind: "nodeStarted";
85
- runId: RunId;
86
- workflowId: WorkflowId;
87
- parent?: ParentExecutionRef;
88
- at: string;
89
- snapshot: NodeExecutionSnapshot;
90
- }> | Readonly<{
91
- kind: "nodeCompleted";
92
- runId: RunId;
93
- workflowId: WorkflowId;
94
- parent?: ParentExecutionRef;
95
- at: string;
96
- snapshot: NodeExecutionSnapshot;
97
- }> | Readonly<{
98
- kind: "nodeFailed";
99
- runId: RunId;
100
- workflowId: WorkflowId;
101
- parent?: ParentExecutionRef;
102
- at: string;
103
- snapshot: NodeExecutionSnapshot;
104
- }>;
105
- interface RunEventSubscription {
106
- close(): Promise<void>;
107
- }
108
- interface RunEventBus {
109
- publish(event: RunEvent): Promise<void>;
110
- subscribe(onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
111
- subscribeToWorkflow(workflowId: WorkflowId, onEvent: (event: RunEvent) => void): Promise<RunEventSubscription>;
112
- }
113
- //#endregion
114
- //#region src/contracts/runTypes.d.ts
115
- interface RunExecutionOptions {
116
- localOnly?: boolean;
117
- webhook?: boolean;
118
- mode?: "manual" | "debug";
119
- sourceWorkflowId?: WorkflowId;
120
- sourceRunId?: RunId;
121
- derivedFromRunId?: RunId;
122
- isMutable?: boolean;
123
- /** Set by the engine for this run: 0 = root, 1 = first child subworkflow, … */
124
- subworkflowDepth?: number;
125
- /** Effective cap after engine policy merge (successful node completions per run). */
126
- maxNodeActivations?: number;
127
- /** Effective cap after engine policy merge (subworkflow nesting). */
128
- maxSubworkflowDepth?: number;
129
- }
130
- /** Engine-owned counters persisted with the run (worker-safe). */
131
- interface EngineRunCounters {
132
- completedNodeActivations: number;
133
- }
134
- type RunStopCondition = Readonly<{
135
- kind: "workflowCompleted";
136
- }> | Readonly<{
137
- kind: "nodeCompleted";
138
- nodeId: NodeId;
139
- }>;
140
- interface RunStateResetRequest {
141
- clearFromNodeId: NodeId;
142
- }
143
- interface PersistedRunControlState {
144
- stopCondition?: RunStopCondition;
145
- }
146
- interface PersistedWorkflowSnapshotNode {
147
- id: NodeId;
148
- kind: NodeKind;
149
- name?: string;
150
- nodeTokenId: PersistedTokenId;
151
- configTokenId: PersistedTokenId;
152
- tokenName?: string;
153
- configTokenName?: string;
154
- config: unknown;
155
- }
156
- interface PersistedWorkflowSnapshot {
157
- id: WorkflowId;
158
- name: string;
159
- nodes: ReadonlyArray<PersistedWorkflowSnapshotNode>;
160
- edges: ReadonlyArray<Edge>;
161
- /** When the snapshot was built from a live workflow definition that configured a workflow error handler. */
162
- workflowErrorHandlerConfigured?: boolean;
163
- /** Connection metadata for child nodes not in the execution graph (e.g. AI agent attachments). */
164
- connections?: ReadonlyArray<WorkflowNodeConnection>;
165
- }
166
- type PinnedNodeOutputsByPort = Readonly<Record<OutputPortKey, Items>>;
167
- interface PersistedMutableNodeState {
168
- pinnedOutputsByPort?: PinnedNodeOutputsByPort;
169
- lastDebugInput?: Items;
170
- }
171
- interface PersistedMutableRunState {
172
- nodesById: Readonly<Record<NodeId, PersistedMutableNodeState>>;
173
- }
174
- type NodeInputsByPort = Readonly<Record<InputPortKey, Items>>;
175
- interface RunQueueEntry {
176
- nodeId: NodeId;
177
- input: Items;
178
- toInput?: InputPortKey;
179
- batchId?: string;
180
- from?: Readonly<{
181
- nodeId: NodeId;
182
- output: OutputPortKey;
183
- }>;
184
- collect?: Readonly<{
185
- expectedInputs: ReadonlyArray<InputPortKey>;
186
- received: Readonly<Record<InputPortKey, Items>>;
187
- }>;
188
- }
189
- type NodeExecutionStatus = "pending" | "queued" | "running" | "completed" | "failed" | "skipped";
190
- interface NodeExecutionError {
191
- message: string;
192
- name?: string;
193
- stack?: string;
194
- }
195
- interface NodeExecutionSnapshot {
196
- runId: RunId;
197
- workflowId: WorkflowId;
198
- nodeId: NodeId;
199
- activationId?: NodeActivationId;
200
- parent?: ParentExecutionRef;
201
- status: NodeExecutionStatus;
202
- usedPinnedOutput?: boolean;
203
- queuedAt?: string;
204
- startedAt?: string;
205
- finishedAt?: string;
206
- updatedAt: string;
207
- inputsByPort?: NodeInputsByPort;
208
- outputs?: NodeOutputs;
209
- error?: NodeExecutionError;
210
- }
211
- /** Stable id for a single connection invocation row in {@link ConnectionInvocationRecord}. */
212
- type ConnectionInvocationId = string;
213
- /**
214
- * One logical LLM or tool call under an owning workflow node (e.g. AI agent).
215
- * The owning node defines what {@link managedInput} and {@link managedOutput} contain.
216
- */
217
- interface ConnectionInvocationRecord {
218
- readonly invocationId: ConnectionInvocationId;
219
- readonly runId: RunId;
220
- readonly workflowId: WorkflowId;
221
- readonly connectionNodeId: NodeId;
222
- readonly parentAgentNodeId: NodeId;
223
- readonly parentAgentActivationId: NodeActivationId;
224
- readonly status: NodeExecutionStatus;
225
- readonly managedInput?: JsonValue;
226
- readonly managedOutput?: JsonValue;
227
- readonly error?: NodeExecutionError;
228
- readonly queuedAt?: string;
229
- readonly startedAt?: string;
230
- readonly finishedAt?: string;
231
- readonly updatedAt: string;
232
- }
233
- /** Arguments for appending a {@link ConnectionInvocationRecord} (engine fills run/workflow ids and timestamps). */
234
- type ConnectionInvocationAppendArgs = Readonly<{
235
- invocationId: ConnectionInvocationId;
236
- connectionNodeId: NodeId;
237
- parentAgentNodeId: NodeId;
238
- parentAgentActivationId: NodeActivationId;
239
- status: NodeExecutionStatus;
240
- managedInput?: JsonValue;
241
- managedOutput?: JsonValue;
242
- error?: NodeExecutionError;
243
- queuedAt?: string;
244
- startedAt?: string;
245
- finishedAt?: string;
246
- }>;
247
- interface RunCurrentState {
248
- outputsByNode: Record<NodeId, NodeOutputs>;
249
- nodeSnapshotsByNodeId: Record<NodeId, NodeExecutionSnapshot>;
250
- /** Append-only history of connection-scoped invocations (LLM/tool) for inspector and canvas. */
251
- connectionInvocations?: ReadonlyArray<ConnectionInvocationRecord>;
252
- mutableState?: PersistedMutableRunState;
253
- }
254
- interface CurrentStateExecutionRequest {
255
- workflow: WorkflowDefinition;
256
- items?: Items;
257
- parent?: ParentExecutionRef;
258
- executionOptions?: RunExecutionOptions;
259
- workflowSnapshot?: PersistedWorkflowSnapshot;
260
- mutableState?: PersistedMutableRunState;
261
- currentState?: RunCurrentState;
262
- stopCondition?: RunStopCondition;
263
- reset?: RunStateResetRequest;
264
- }
265
- interface ExecutionFrontierPlan {
266
- rootNodeId?: NodeId;
267
- rootNodeInput?: Items;
268
- queue: RunQueueEntry[];
269
- currentState: RunCurrentState;
270
- stopCondition: RunStopCondition;
271
- satisfiedNodeIds: ReadonlyArray<NodeId>;
272
- skippedNodeIds: ReadonlyArray<NodeId>;
273
- clearedNodeIds: ReadonlyArray<NodeId>;
274
- preservedPinnedNodeIds: ReadonlyArray<NodeId>;
275
- }
276
- type RunStatus = "running" | "pending" | "completed" | "failed";
277
- interface RunSummary {
278
- runId: RunId;
279
- workflowId: WorkflowId;
280
- startedAt: string;
281
- status: RunStatus;
282
- /** ISO timestamp when the run finished (derived from node snapshots or store `updatedAt`); omit while running/pending. */
283
- finishedAt?: string;
284
- parent?: ParentExecutionRef;
285
- executionOptions?: RunExecutionOptions;
286
- }
287
- interface PendingNodeExecution {
288
- runId: RunId;
289
- activationId: NodeActivationId;
290
- workflowId: WorkflowId;
291
- nodeId: NodeId;
292
- itemsIn: number;
293
- inputsByPort: NodeInputsByPort;
294
- receiptId: string;
295
- queue?: string;
296
- batchId?: string;
297
- enqueuedAt: string;
298
- }
299
- interface PersistedRunState {
300
- runId: RunId;
301
- workflowId: WorkflowId;
302
- startedAt: string;
303
- parent?: ParentExecutionRef;
304
- executionOptions?: RunExecutionOptions;
305
- control?: PersistedRunControlState;
306
- workflowSnapshot?: PersistedWorkflowSnapshot;
307
- mutableState?: PersistedMutableRunState;
308
- /** Frozen at createRun from workflow + runtime defaults for prune/storage decisions. */
309
- policySnapshot?: PersistedRunPolicySnapshot;
310
- /** Successful node completions so far (for activation budget). */
311
- engineCounters?: EngineRunCounters;
312
- status: RunStatus;
313
- pending?: PendingNodeExecution;
314
- queue: RunQueueEntry[];
315
- outputsByNode: Record<NodeId, NodeOutputs>;
316
- nodeSnapshotsByNodeId: Record<NodeId, NodeExecutionSnapshot>;
317
- /** Append-only history of connection invocations (LLM/tool) nested under owning nodes. */
318
- connectionInvocations?: ReadonlyArray<ConnectionInvocationRecord>;
319
- }
320
- interface RunStateStore {
321
- createRun(args: {
322
- runId: RunId;
323
- workflowId: WorkflowId;
324
- startedAt: string;
325
- parent?: ParentExecutionRef;
326
- executionOptions?: RunExecutionOptions;
327
- control?: PersistedRunControlState;
328
- workflowSnapshot?: PersistedWorkflowSnapshot;
329
- mutableState?: PersistedMutableRunState;
330
- policySnapshot?: PersistedRunPolicySnapshot;
331
- engineCounters?: EngineRunCounters;
332
- }): Promise<void>;
333
- load(runId: RunId): Promise<PersistedRunState | undefined>;
334
- save(state: PersistedRunState): Promise<void>;
335
- deleteRun?(runId: RunId): Promise<void>;
336
- }
337
- interface RunListingStore {
338
- listRuns(args?: Readonly<{
339
- workflowId?: WorkflowId;
340
- limit?: number;
341
- }>): Promise<ReadonlyArray<RunSummary>>;
342
- }
343
- /** Runs eligible for retention-based pruning (completed or failed, older than cutoff). */
344
- interface RunPruneCandidate {
345
- readonly runId: RunId;
346
- readonly workflowId: WorkflowId;
347
- readonly startedAt: string;
348
- readonly finishedAt: string;
349
- }
350
- interface RunPruneListingStore {
351
- listRunsOlderThan(args: Readonly<{
352
- beforeIso: string;
353
- limit?: number;
354
- }>): Promise<ReadonlyArray<RunPruneCandidate>>;
355
- }
356
- type RunResult = {
357
- runId: RunId;
358
- workflowId: WorkflowId;
359
- startedAt: string;
360
- status: "completed";
361
- outputs: Items;
362
- } | {
363
- runId: RunId;
364
- workflowId: WorkflowId;
365
- startedAt: string;
366
- status: "pending";
367
- pending: PendingNodeExecution;
368
- } | {
369
- runId: RunId;
370
- workflowId: WorkflowId;
371
- startedAt: string;
372
- status: "failed";
373
- error: {
374
- message: string;
375
- };
376
- };
377
- type WebhookRunResult = Readonly<{
378
- runId: RunId;
379
- workflowId: WorkflowId;
380
- startedAt: string;
381
- runStatus: "pending" | "completed";
382
- response: Items;
383
- }>;
384
- interface PersistedWorkflowTokenRegistryLike {
385
- register(type: TypeToken<unknown>, packageId: string, persistedNameOverride?: string): string;
386
- getTokenId(type: TypeToken<unknown>): string | undefined;
387
- resolve(tokenId: string): TypeToken<unknown> | undefined;
388
- registerFromWorkflows?(workflows: ReadonlyArray<WorkflowDefinition>): void;
389
- }
390
- interface RunCompletionNotifier {
391
- resolveRunCompletion(result: RunResult): void;
392
- resolveWebhookResponse(result: WebhookRunResult): void;
393
- }
394
- interface RunEventPublisherDeps {
395
- eventBus?: RunEventBus;
396
- }
397
- //#endregion
398
- //#region src/contracts/workflowActivationPolicy.d.ts
399
- /**
400
- * Host-controlled policy: when false, trigger {@link TriggerNode} setup is skipped and webhook routes
401
- * for that workflow are not registered (see engine trigger runtime + webhook matcher).
402
- */
403
- interface WorkflowActivationPolicy {
404
- isActive(workflowId: WorkflowId): boolean;
405
- }
406
- /** Default for tests and harnesses: every workflow is treated as active (legacy behavior). */
407
- declare class AllWorkflowsActiveWorkflowActivationPolicy implements WorkflowActivationPolicy {
408
- isActive(_workflowId: WorkflowId): boolean;
409
- }
410
- //#endregion
411
- //#region src/contracts/webhookTypes.d.ts
412
- type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
413
- interface WebhookControlSignal {
414
- readonly __webhookControl: true;
415
- readonly kind: "respondNow" | "respondNowAndContinue";
416
- readonly responseItems: Items;
417
- readonly continueItems?: Items;
418
- }
419
- interface WebhookTriggerRoutingDiagnostics {
420
- warn(message: string): void;
421
- /** Inactive workflows omitted from the webhook route index (optional; host should wire for clarity at boot/reload). */
422
- info?(message: string): void;
423
- }
424
- interface TriggerInstanceId {
425
- workflowId: WorkflowId;
426
- nodeId: NodeId;
427
- }
428
- /** Match for an incoming HTTP request: user-defined URL segment + workflow trigger node. */
429
- interface WebhookInvocationMatch {
430
- /** Same value as the webhook trigger's configured endpoint key (URL segment under the webhook base path). */
431
- endpointPath: string;
432
- workflowId: WorkflowId;
433
- nodeId: NodeId;
434
- methods: ReadonlyArray<HttpMethod>;
435
- parseJsonBody?: (body: unknown) => unknown;
436
- }
437
- /** Result of resolving an HTTP method + endpoint path against the catalog webhook index (404 vs 405 vs match). */
438
- type WebhookTriggerResolution = {
439
- status: "notFound";
440
- } | {
441
- status: "methodNotAllowed";
442
- match: WebhookInvocationMatch;
443
- } | {
444
- status: "ok";
445
- match: WebhookInvocationMatch;
446
- };
447
- /**
448
- * Resolves webhook routes from workflow definitions (catalog-backed index, no registration at trigger setup).
449
- */
450
- interface WebhookTriggerMatcher {
451
- match(args: {
452
- endpointPath: string;
453
- method: HttpMethod;
454
- }): WebhookInvocationMatch | undefined;
455
- lookup(endpointPath: string): WebhookInvocationMatch | undefined;
456
- onEngineWorkflowsLoaded?(): void;
457
- onEngineStopped?(): void;
458
- /** Rebuild route index after activation changes without stopping the engine. */
459
- reloadWebhookRoutes?(): void;
460
- }
461
- //#endregion
462
- //#region src/contracts/runtimeTypes.d.ts
463
- interface WorkflowRunnerService {
464
- runById(args: {
465
- workflowId: WorkflowId;
466
- startAt?: NodeId;
467
- items: Items;
468
- parent?: ParentExecutionRef;
469
- }): Promise<RunResult>;
470
- }
471
- interface WorkflowRunnerResolver {
472
- resolve(): WorkflowRunnerService | undefined;
473
- }
474
- interface WorkflowRepository {
475
- list(): ReadonlyArray<WorkflowDefinition>;
476
- get(workflowId: WorkflowId): WorkflowDefinition | undefined;
477
- }
478
- interface WorkflowCatalog extends WorkflowRepository {
479
- setWorkflows(workflows: ReadonlyArray<WorkflowDefinition>): void;
480
- }
481
- interface NodeResolver {
482
- resolve<T>(token: TypeToken<T>): T;
483
- getContainer(): Container | undefined;
484
- }
485
- interface NodeExecutionStatePublisher {
486
- markQueued(args: {
487
- nodeId: NodeId;
488
- activationId?: NodeActivationId;
489
- inputsByPort?: NodeInputsByPort;
490
- }): Promise<void>;
491
- markRunning(args: {
492
- nodeId: NodeId;
493
- activationId?: NodeActivationId;
494
- inputsByPort?: NodeInputsByPort;
495
- }): Promise<void>;
496
- markCompleted(args: {
497
- nodeId: NodeId;
498
- activationId?: NodeActivationId;
499
- inputsByPort?: NodeInputsByPort;
500
- outputs?: NodeOutputs;
501
- }): Promise<void>;
502
- markFailed(args: {
503
- nodeId: NodeId;
504
- activationId?: NodeActivationId;
505
- inputsByPort?: NodeInputsByPort;
506
- error: Error;
507
- }): Promise<void>;
508
- appendConnectionInvocation(args: ConnectionInvocationAppendArgs): Promise<void>;
509
- }
510
- type BinaryBody = ReadableStream<Uint8Array> | AsyncIterable<Uint8Array> | Uint8Array | ArrayBuffer;
511
- interface BinaryStorageWriteRequest {
512
- storageKey: string;
513
- body: BinaryBody;
514
- }
515
- interface BinaryStorageWriteResult {
516
- storageKey: string;
517
- size: number;
518
- sha256?: string;
519
- }
520
- interface BinaryStorageReadResult {
521
- body: ReadableStream<Uint8Array>;
522
- size?: number;
523
- }
524
- interface BinaryStorageStatResult {
525
- exists: boolean;
526
- size?: number;
527
- }
528
- interface BinaryStorage {
529
- readonly driverName: string;
530
- write(args: BinaryStorageWriteRequest): Promise<BinaryStorageWriteResult>;
531
- openReadStream(storageKey: string): Promise<BinaryStorageReadResult | undefined>;
532
- stat(storageKey: string): Promise<BinaryStorageStatResult>;
533
- delete(storageKey: string): Promise<void>;
534
- }
535
- interface BinaryAttachmentCreateRequest {
536
- name: string;
537
- body: BinaryBody;
538
- mimeType: string;
539
- filename?: string;
540
- previewKind?: BinaryAttachment["previewKind"];
541
- }
542
- interface NodeBinaryAttachmentService extends ExecutionBinaryService {
543
- attach(args: BinaryAttachmentCreateRequest): Promise<BinaryAttachment>;
544
- withAttachment<TJson>(item: Item<TJson>, name: string, attachment: BinaryAttachment): Item<TJson>;
545
- }
546
- interface ExecutionBinaryService {
547
- forNode(args: {
548
- nodeId: NodeId;
549
- activationId: NodeActivationId;
550
- }): NodeBinaryAttachmentService;
551
- openReadStream(attachment: BinaryAttachment): Promise<BinaryStorageReadResult | undefined>;
552
- }
553
- interface ExecutionContext {
554
- runId: RunId;
555
- workflowId: WorkflowId;
556
- parent?: ParentExecutionRef;
557
- /** This run's subworkflow depth (0 = root). */
558
- subworkflowDepth: number;
559
- /** Effective activation budget cap for this run (after policy merge). */
560
- engineMaxNodeActivations: number;
561
- /** Effective subworkflow nesting cap for this run (after policy merge). */
562
- engineMaxSubworkflowDepth: number;
563
- now: () => Date;
564
- data: RunDataSnapshot;
565
- nodeState?: NodeExecutionStatePublisher;
566
- binary: ExecutionBinaryService;
567
- getCredential<TSession = unknown>(slotKey: string): Promise<TSession>;
568
- }
569
- interface ExecutionContextFactory {
570
- create(args: {
571
- runId: RunId;
572
- workflowId: WorkflowId;
573
- parent?: ParentExecutionRef;
574
- subworkflowDepth: number;
575
- engineMaxNodeActivations: number;
576
- engineMaxSubworkflowDepth: number;
577
- data: RunDataSnapshot;
578
- nodeState?: NodeExecutionStatePublisher;
579
- getCredential<TSession = unknown>(slotKey: string): Promise<TSession>;
580
- }): ExecutionContext;
581
- }
582
- interface NodeExecutionContext<TConfig extends NodeConfigBase = NodeConfigBase> extends ExecutionContext {
583
- nodeId: NodeId;
584
- activationId: NodeActivationId;
585
- config: TConfig;
586
- binary: NodeBinaryAttachmentService;
587
- }
588
- interface TriggerSetupContext<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>, TSetupState$1 extends JsonValue | undefined = TriggerNodeSetupState<TConfig>> extends ExecutionContext {
589
- trigger: TriggerInstanceId;
590
- config: TConfig;
591
- previousState: TSetupState$1;
592
- registerCleanup(cleanup: TriggerCleanupHandle): void;
593
- emit(items: Items): Promise<void>;
594
- }
595
- interface TriggerTestItemsContext<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>, TSetupState$1 extends JsonValue | undefined = TriggerNodeSetupState<TConfig>> extends ExecutionContext {
596
- trigger: TriggerInstanceId;
597
- nodeId: NodeId;
598
- config: TConfig;
599
- previousState: TSetupState$1;
600
- }
601
- /**
602
- * Trigger setup state is intentionally engine-owned so future ownership and
603
- * leader-election metadata can be coordinated centrally rather than pushed into
604
- * package-level setup code.
605
- */
606
- interface PersistedTriggerSetupState<TState extends JsonValue | undefined = JsonValue | undefined> {
607
- trigger: TriggerInstanceId;
608
- updatedAt: string;
609
- state: TState;
610
- }
611
- interface TriggerSetupStateStore {
612
- load(trigger: TriggerInstanceId): Promise<PersistedTriggerSetupState | undefined>;
613
- save(state: PersistedTriggerSetupState): Promise<void>;
614
- delete(trigger: TriggerInstanceId): Promise<void>;
615
- }
616
- interface TriggerCleanupHandle {
617
- stop(): Promise<void> | void;
618
- }
619
- interface EngineHost {
620
- credentialSessions: CredentialSessionService;
621
- workflows?: WorkflowRunnerService;
622
- }
623
- interface Node<TConfig extends NodeConfigBase = NodeConfigBase> {
624
- kind: "node";
625
- outputPorts: ReadonlyArray<OutputPortKey>;
626
- execute(items: Items, ctx: NodeExecutionContext<TConfig>): Promise<NodeOutputs>;
627
- }
628
- interface MultiInputNode<TConfig extends NodeConfigBase = NodeConfigBase> {
629
- kind: "node";
630
- outputPorts: ReadonlyArray<OutputPortKey>;
631
- executeMulti(inputsByPort: NodeInputsByPort, ctx: NodeExecutionContext<TConfig>): Promise<NodeOutputs>;
632
- }
633
- type TriggerSetupStateFor<TConfig extends TriggerNodeConfig<any, any>> = TriggerNodeSetupState<TConfig>;
634
- interface TriggerNode<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>> {
635
- kind: "trigger";
636
- outputPorts: readonly ["main"];
637
- setup(ctx: TriggerSetupContext<TConfig>): Promise<TriggerSetupStateFor<TConfig>>;
638
- execute(items: Items, ctx: NodeExecutionContext<TConfig>): Promise<NodeOutputs>;
639
- }
640
- interface TestableTriggerNode<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>> extends TriggerNode<TConfig> {
641
- getTestItems(ctx: TriggerTestItemsContext<TConfig>): Promise<Items>;
642
- }
643
- type ExecutableTriggerNode<TConfig extends TriggerNodeConfig<any, any> = TriggerNodeConfig<any, any>> = TriggerNode<TConfig>;
644
- interface NodeExecutionRequest {
645
- runId: RunId;
646
- activationId: NodeActivationId;
647
- workflowId: WorkflowId;
648
- nodeId: NodeId;
649
- input: Items;
650
- parent?: ParentExecutionRef;
651
- queue?: string;
652
- executionOptions?: RunExecutionOptions;
653
- }
654
- interface NodeExecutionScheduler {
655
- enqueue(request: NodeExecutionRequest): Promise<{
656
- receiptId: string;
657
- }>;
658
- cancel?(receiptId: string): Promise<void>;
659
- }
660
- type NodeActivationRequestBase = Readonly<{
661
- runId: RunId;
662
- activationId: NodeActivationId;
663
- workflowId: WorkflowId;
664
- nodeId: NodeId;
665
- parent?: ParentExecutionRef;
666
- executionOptions?: RunExecutionOptions;
667
- batchId?: string;
668
- ctx: NodeExecutionContext;
669
- }>;
670
- type NodeActivationRequest = (NodeActivationRequestBase & Readonly<{
671
- kind: "single";
672
- input: Items;
673
- }>) | (NodeActivationRequestBase & Readonly<{
674
- kind: "multi";
675
- inputsByPort: NodeInputsByPort;
676
- }>);
677
- interface NodeActivationReceipt {
678
- receiptId: string;
679
- mode?: "local" | "worker";
680
- queue?: string;
681
- }
682
- interface NodeActivationContinuation {
683
- markNodeRunning(args: {
684
- runId: RunId;
685
- activationId: NodeActivationId;
686
- nodeId: NodeId;
687
- inputsByPort: NodeInputsByPort;
688
- }): Promise<void>;
689
- resumeFromNodeResult(args: {
690
- runId: RunId;
691
- activationId: NodeActivationId;
692
- nodeId: NodeId;
693
- outputs: NodeOutputs;
694
- }): Promise<RunResult>;
695
- resumeFromNodeError(args: {
696
- runId: RunId;
697
- activationId: NodeActivationId;
698
- nodeId: NodeId;
699
- error: Error;
700
- }): Promise<RunResult>;
701
- }
702
- interface NodeActivationScheduler {
703
- setContinuation?(continuation: NodeActivationContinuation): void;
704
- enqueue(request: NodeActivationRequest): Promise<NodeActivationReceipt>;
705
- notifyPendingStatePersisted?(runId: RunId): void;
706
- cancel?(receiptId: string): Promise<void>;
707
- }
708
- interface WorkflowNodeInstanceFactory {
709
- createNodes(workflow: WorkflowDefinition): ReadonlyMap<NodeId, unknown>;
710
- }
711
- interface WorkflowSnapshotFactory {
712
- create(workflow: WorkflowDefinition): PersistedWorkflowSnapshot;
713
- }
714
- interface WorkflowSnapshotResolver {
715
- resolve(args: {
716
- workflowId: WorkflowId;
717
- workflowSnapshot?: PersistedWorkflowSnapshot;
718
- }): WorkflowDefinition | undefined;
719
- }
720
- /** Optional host wiring for trigger lifecycle logs (boot skip + activation sync). */
721
- interface TriggerRuntimeDiagnostics {
722
- info(message: string): void;
723
- warn(message: string): void;
724
- }
725
- interface EngineDeps {
726
- credentialSessions: CredentialSessionService;
727
- workflowRunnerResolver: WorkflowRunnerResolver;
728
- workflowCatalog: WorkflowCatalog;
729
- workflowRepository: WorkflowRepository;
730
- /** When {@link AllWorkflowsActiveWorkflowActivationPolicy}, all workflows behave as active (tests). */
731
- workflowActivationPolicy: WorkflowActivationPolicy;
732
- nodeResolver: NodeResolver;
733
- triggerSetupStateStore: TriggerSetupStateStore;
734
- webhookTriggerMatcher: WebhookTriggerMatcher;
735
- runIdFactory: RunIdFactory;
736
- activationIdFactory: ActivationIdFactory;
737
- runStore: RunStateStore;
738
- activationScheduler: NodeActivationScheduler;
739
- runDataFactory: RunDataFactory;
740
- executionContextFactory: ExecutionContextFactory;
741
- eventBus?: RunEventBus;
742
- tokenRegistry: PersistedWorkflowTokenRegistryLike;
743
- workflowNodeInstanceFactory: WorkflowNodeInstanceFactory;
744
- /** Defaults for prune/storage snapshot when workflow omits explicit policy fields. */
745
- workflowPolicyRuntimeDefaults?: WorkflowPolicyRuntimeDefaults;
746
- /** When set, logs inactive-workflow skips at boot and trigger start/stop on activation changes. */
747
- triggerRuntimeDiagnostics?: TriggerRuntimeDiagnostics;
748
- }
749
- //#endregion
750
- //#region src/contracts/workflowTypes.d.ts
751
- type WorkflowId = string;
752
- type NodeId = string;
753
- type OutputPortKey = string;
754
- type InputPortKey = string;
755
- type PersistedTokenId = string;
756
- type NodeKind = "trigger" | "node";
757
- type JsonPrimitive = string | number | boolean | null;
758
- interface JsonObject {
759
- readonly [key: string]: JsonValue;
760
- }
761
- type JsonValue = JsonPrimitive | JsonObject | JsonArray;
762
- type JsonArray = ReadonlyArray<JsonValue>;
763
- interface Edge {
764
- from: {
765
- nodeId: NodeId;
766
- output: OutputPortKey;
767
- };
768
- to: {
769
- nodeId: NodeId;
770
- input: InputPortKey;
771
- };
772
- }
773
- type NodeConnectionName = string;
774
- /**
775
- * Named connection from an executable parent node to child nodes that exist in {@link WorkflowDefinition.nodes}
776
- * but are not traversed by the main execution graph.
777
- */
778
- interface WorkflowNodeConnection {
779
- readonly parentNodeId: NodeId;
780
- readonly connectionName: NodeConnectionName;
781
- readonly childNodeIds: ReadonlyArray<NodeId>;
782
- }
783
- interface WorkflowDefinition {
784
- id: WorkflowId;
785
- name: string;
786
- nodes: NodeDefinition[];
787
- edges: Edge[];
788
- /**
789
- * Optional metadata: which nodes are connection-owned children (e.g. AI agent `llm` / `tools` slots).
790
- * When omitted, all nodes in {@link nodes} are treated as executable for topology.
791
- */
792
- readonly connections?: ReadonlyArray<WorkflowNodeConnection>;
793
- /** Directory + file-stem path under a workflow discovery root (for UI grouping only). */
794
- discoveryPathSegments?: readonly string[];
795
- /** Retention for run JSON and binaries (seconds). Host/env may supply defaults when omitted. */
796
- readonly prunePolicy?: WorkflowPrunePolicySpec;
797
- /** Whether to keep run data after completion. Host/env may supply defaults when omitted. */
798
- readonly storagePolicy?: WorkflowStoragePolicySpec;
799
- /** Invoked after a node fails permanently (retries exhausted) and node error handler did not recover. */
800
- readonly workflowErrorHandler?: WorkflowErrorHandlerSpec;
801
- }
802
- interface WorkflowGraph {
803
- next(nodeId: NodeId, output: OutputPortKey): ReadonlyArray<Readonly<{
804
- nodeId: NodeId;
805
- input: InputPortKey;
806
- }>>;
807
- }
808
- interface WorkflowGraphFactory {
809
- create(def: WorkflowDefinition): WorkflowGraph;
810
- }
811
- interface NodeConfigBase {
812
- readonly kind: NodeKind;
813
- readonly type: TypeToken<unknown>;
814
- readonly name?: string;
815
- readonly id?: NodeId;
816
- readonly icon?: string;
817
- readonly execution?: Readonly<{
818
- hint?: "local" | "worker";
819
- queue?: string;
820
- }>;
821
- /** In-process execute retries (runnable nodes). Triggers typically omit this. */
822
- readonly retryPolicy?: RetryPolicySpec;
823
- /** Recover from execute failures; return outputs to continue, or rethrow to fail the node. */
824
- readonly nodeErrorHandler?: NodeErrorHandlerSpec;
825
- /**
826
- * When true, edges carrying zero items on an output port still schedule single-input downstream nodes.
827
- * Decided from the **source** node that produced the (empty) output. Default (false/undefined): empty
828
- * main batches skip downstream execution and propagate the empty path.
829
- */
830
- readonly continueWhenEmptyOutput?: boolean;
831
- getCredentialRequirements?(): ReadonlyArray<CredentialRequirement>;
832
- }
833
- declare const runnableNodeInputType: unique symbol;
834
- declare const runnableNodeOutputType: unique symbol;
835
- declare const triggerNodeOutputType: unique symbol;
836
- interface RunnableNodeConfig<TInputJson$1 = unknown, TOutputJson$1 = unknown> extends NodeConfigBase {
837
- readonly kind: "node";
838
- readonly [runnableNodeInputType]?: TInputJson$1;
839
- readonly [runnableNodeOutputType]?: TOutputJson$1;
840
- }
841
- declare const triggerNodeSetupStateType: unique symbol;
842
- interface TriggerNodeConfig<TOutputJson$1 = unknown, TSetupState$1 extends JsonValue | undefined = undefined> extends NodeConfigBase {
843
- readonly kind: "trigger";
844
- readonly [triggerNodeOutputType]?: TOutputJson$1;
845
- readonly [triggerNodeSetupStateType]?: TSetupState$1;
846
- }
847
- type RunnableNodeInputJson<TConfig extends RunnableNodeConfig<any, any>> = TConfig extends RunnableNodeConfig<infer TInputJson, any> ? TInputJson : never;
848
- type RunnableNodeOutputJson<TConfig extends RunnableNodeConfig<any, any>> = TConfig extends RunnableNodeConfig<any, infer TOutputJson> ? TOutputJson : never;
849
- type TriggerNodeOutputJson<TConfig extends TriggerNodeConfig<any, any>> = TConfig extends TriggerNodeConfig<infer TOutputJson, any> ? TOutputJson : never;
850
- type TriggerNodeSetupState<TConfig extends TriggerNodeConfig<any, any>> = TConfig extends TriggerNodeConfig<any, infer TSetupState> ? TSetupState : never;
851
- interface NodeDefinition {
852
- id: NodeId;
853
- kind: NodeKind;
854
- type: TypeToken<unknown>;
855
- name?: string;
856
- config: NodeConfigBase;
857
- }
858
- interface NodeRef {
859
- id: NodeId;
860
- kind: NodeKind;
861
- name?: string;
862
- }
863
- type PairedItemRef = Readonly<{
864
- nodeId: NodeId;
865
- output: OutputPortKey;
866
- itemIndex: number;
867
- }>;
868
- type BinaryPreviewKind = "image" | "audio" | "video" | "download";
869
- type BinaryAttachment = Readonly<{
870
- id: string;
871
- storageKey: string;
872
- mimeType: string;
873
- size: number;
874
- storageDriver: string;
875
- previewKind: BinaryPreviewKind;
876
- createdAt: string;
877
- runId: RunId;
878
- workflowId: WorkflowId;
879
- nodeId: NodeId;
880
- activationId: NodeActivationId;
881
- filename?: string;
882
- sha256?: string;
883
- }>;
884
- type ItemBinary = Readonly<Record<string, BinaryAttachment>>;
885
- type Item<TJson = unknown> = Readonly<{
886
- json: TJson;
887
- binary?: ItemBinary;
888
- meta?: Readonly<Record<string, unknown>>;
889
- paired?: ReadonlyArray<PairedItemRef>;
890
- }>;
891
- type Items<TJson = unknown> = ReadonlyArray<Item<TJson>>;
892
- type NodeOutputs = Partial<Record<OutputPortKey, Items>>;
893
- type RunId = string;
894
- type NodeActivationId = string;
895
- interface ParentExecutionRef {
896
- runId: RunId;
897
- workflowId: WorkflowId;
898
- nodeId: NodeId;
899
- /** Subworkflow depth of the **spawning** run (0 = root). Passed when starting a child run. */
900
- subworkflowDepth?: number;
901
- /** Effective max node activations from the parent run (propagated to child policy merge). */
902
- engineMaxNodeActivations?: number;
903
- /** Effective max subworkflow depth from the parent run (propagated to child policy merge). */
904
- engineMaxSubworkflowDepth?: number;
905
- }
906
- interface RunDataSnapshot {
907
- getOutputs(nodeId: NodeId): NodeOutputs | undefined;
908
- getOutputItems(nodeId: NodeId, output?: OutputPortKey): Items;
909
- getOutputItem(nodeId: NodeId, itemIndex: number, output?: OutputPortKey): Item | undefined;
910
- }
911
- interface MutableRunData extends RunDataSnapshot {
912
- setOutputs(nodeId: NodeId, outputs: NodeOutputs): void;
913
- dump(): Record<NodeId, NodeOutputs>;
914
- }
915
- interface RunDataFactory {
916
- create(initial?: Record<NodeId, NodeOutputs>): MutableRunData;
917
- }
918
- interface RunIdFactory {
919
- makeRunId(): RunId;
920
- }
921
- interface ActivationIdFactory {
922
- makeActivationId(): NodeActivationId;
923
- }
924
- type UpstreamRefPlaceholder = `$${number}`;
925
- declare const branchRef: (index: number) => UpstreamRefPlaceholder;
926
- type ExecutionMode = "local" | "worker";
927
- interface NodeSchedulerDecision {
928
- mode: ExecutionMode;
929
- queue?: string;
930
- }
931
- interface NodeOffloadPolicy {
932
- decide(args: {
933
- workflowId: WorkflowId;
934
- nodeId: NodeId;
935
- config: NodeConfigBase;
936
- }): NodeSchedulerDecision;
937
- }
938
- /** Whether to persist run execution data after the workflow finishes. */
939
- type WorkflowStoragePolicyMode = "ALL" | "SUCCESS" | "ERROR" | "NEVER";
940
- type WorkflowStoragePolicySpec = WorkflowStoragePolicyMode | TypeToken<WorkflowStoragePolicyResolver>;
941
- interface WorkflowStoragePolicyResolver {
942
- shouldPersist(args: WorkflowStoragePolicyDecisionArgs): boolean | Promise<boolean>;
943
- }
944
- interface WorkflowStoragePolicyDecisionArgs {
945
- readonly runId: RunId;
946
- readonly workflowId: WorkflowId;
947
- readonly workflow: WorkflowDefinition;
948
- readonly finalStatus: "completed" | "failed";
949
- readonly startedAt: string;
950
- readonly finishedAt: string;
951
- }
952
- interface WorkflowPrunePolicySpec {
953
- readonly runDataRetentionSeconds?: number;
954
- readonly binaryRetentionSeconds?: number;
955
- }
956
- interface PersistedRunPolicySnapshot {
957
- readonly retentionSeconds?: number;
958
- readonly binaryRetentionSeconds?: number;
959
- readonly storagePolicy: WorkflowStoragePolicyMode;
960
- }
961
- interface WorkflowErrorHandler {
962
- onError(ctx: WorkflowErrorContext): void | Promise<void>;
963
- }
964
- interface WorkflowErrorContext {
965
- readonly runId: RunId;
966
- readonly workflowId: WorkflowId;
967
- readonly workflow: WorkflowDefinition;
968
- readonly failedNodeId: NodeId;
969
- readonly error: Error;
970
- readonly startedAt: string;
971
- readonly finishedAt: string;
972
- }
973
- type WorkflowErrorHandlerSpec = TypeToken<WorkflowErrorHandler> | WorkflowErrorHandler;
974
- interface NodeErrorHandlerArgs<TConfig extends NodeConfigBase = NodeConfigBase> {
975
- readonly kind: "single" | "multi";
976
- readonly items: Items;
977
- readonly inputsByPort: Readonly<Record<InputPortKey, Items>> | undefined;
978
- readonly ctx: NodeExecutionContext<TConfig>;
979
- readonly error: Error;
980
- }
981
- interface NodeErrorHandler {
982
- handle<TConfig extends NodeConfigBase>(args: NodeErrorHandlerArgs<TConfig>): Promise<NodeOutputs>;
983
- }
984
- type NodeErrorHandlerSpec = TypeToken<NodeErrorHandler> | NodeErrorHandler;
985
- /** Runtime defaults when workflow omits prune/storage fields (typically from host env). */
986
- interface WorkflowPolicyRuntimeDefaults {
987
- readonly retentionSeconds?: number;
988
- readonly binaryRetentionSeconds?: number;
989
- readonly storagePolicy?: WorkflowStoragePolicyMode;
990
- }
991
- //#endregion
992
- //#region src/contracts/credentialTypes.d.ts
993
- type CredentialTypeId = string;
994
- type CredentialInstanceId = string;
995
- type CredentialMaterialSourceKind = "db" | "env" | "code";
996
- type CredentialSetupStatus = "draft" | "ready";
997
- type CredentialHealthStatus = "unknown" | "healthy" | "failing";
998
- type CredentialFieldSchema = Readonly<{
999
- key: string;
1000
- label: string;
1001
- type: "string" | "password" | "textarea" | "json" | "boolean";
1002
- required?: true;
1003
- order?: number;
1004
- placeholder?: string;
1005
- helpText?: string;
1006
- /** When set, host resolves this field from process.env at runtime; env wins over stored values. */
1007
- envVarName?: string;
1008
- /**
1009
- * When set, the dialog shows a copy action for this exact string (e.g. a static OAuth redirect URI
1010
- * pattern or documentation URL). Do not use for secret values.
1011
- */
1012
- copyValue?: string;
1013
- /** Accessible label for the copy control (default: Copy). */
1014
- copyButtonLabel?: string;
1015
- }>;
1016
- type CredentialRequirement = Readonly<{
1017
- slotKey: string;
1018
- label: string;
1019
- acceptedTypes: ReadonlyArray<CredentialTypeId>;
1020
- optional?: true;
1021
- helpText?: string;
1022
- helpUrl?: string;
1023
- }>;
1024
- type CredentialBindingKey = Readonly<{
1025
- workflowId: WorkflowId;
1026
- nodeId: NodeId;
1027
- slotKey: string;
1028
- }>;
1029
- type CredentialBinding = Readonly<{
1030
- key: CredentialBindingKey;
1031
- instanceId: CredentialInstanceId;
1032
- updatedAt: string;
1033
- }>;
1034
- type CredentialHealth = Readonly<{
1035
- status: CredentialHealthStatus;
1036
- message?: string;
1037
- testedAt?: string;
1038
- expiresAt?: string;
1039
- details?: Readonly<Record<string, unknown>>;
1040
- }>;
1041
- type OAuth2ProviderFromPublicConfig = Readonly<{
1042
- authorizeUrlFieldKey: string;
1043
- tokenUrlFieldKey: string;
1044
- userInfoUrlFieldKey?: string;
1045
- }>;
1046
- type CredentialOAuth2AuthDefinition = Readonly<{
1047
- kind: "oauth2";
1048
- providerId: string;
1049
- scopes: ReadonlyArray<string>;
1050
- clientIdFieldKey?: string;
1051
- clientSecretFieldKey?: string;
1052
- } | {
1053
- kind: "oauth2";
1054
- providerFromPublicConfig: OAuth2ProviderFromPublicConfig;
1055
- scopes: ReadonlyArray<string>;
1056
- clientIdFieldKey?: string;
1057
- clientSecretFieldKey?: string;
1058
- }>;
1059
- type CredentialAuthDefinition = CredentialOAuth2AuthDefinition;
1060
- type CredentialTypeDefinition = Readonly<{
1061
- typeId: CredentialTypeId;
1062
- displayName: string;
1063
- description?: string;
1064
- publicFields?: ReadonlyArray<CredentialFieldSchema>;
1065
- secretFields?: ReadonlyArray<CredentialFieldSchema>;
1066
- supportedSourceKinds?: ReadonlyArray<CredentialMaterialSourceKind>;
1067
- auth?: CredentialAuthDefinition;
1068
- }>;
1069
- /**
1070
- * JSON-shaped credential field bag (public config, resolved secret material, etc.).
1071
- */
1072
- type CredentialJsonRecord = Readonly<Record<string, unknown>>;
1073
- /**
1074
- * Persisted credential instance with typed `publicConfig`.
1075
- * Hosts may specialize `secretRef` with a stricter union while remaining
1076
- * assignable here for session/test callbacks.
1077
- */
1078
- type CredentialInstanceRecord<TPublicConfig extends CredentialJsonRecord = CredentialJsonRecord> = Readonly<{
1079
- instanceId: CredentialInstanceId;
1080
- typeId: CredentialTypeId;
1081
- displayName: string;
1082
- sourceKind: CredentialMaterialSourceKind;
1083
- publicConfig: TPublicConfig;
1084
- secretRef: CredentialJsonRecord;
1085
- tags: ReadonlyArray<string>;
1086
- setupStatus: CredentialSetupStatus;
1087
- createdAt: string;
1088
- updatedAt: string;
1089
- }>;
1090
- /**
1091
- * Arguments passed to `CredentialType.createSession` and `CredentialType.test`.
1092
- * Declare `TPublicConfig` / `TMaterial` on `CredentialType` so implementations are checked
1093
- * against your credential shapes (similar to `NodeExecutionContext.config` for nodes).
1094
- */
1095
- type CredentialSessionFactoryArgs<TPublicConfig extends CredentialJsonRecord = CredentialJsonRecord, TMaterial extends CredentialJsonRecord = CredentialJsonRecord> = Readonly<{
1096
- instance: CredentialInstanceRecord<TPublicConfig>;
1097
- material: TMaterial;
1098
- publicConfig: TPublicConfig;
1099
- }>;
1100
- type CredentialSessionFactory<TPublicConfig extends CredentialJsonRecord = CredentialJsonRecord, TMaterial extends CredentialJsonRecord = CredentialJsonRecord, TSession = unknown> = (args: CredentialSessionFactoryArgs<TPublicConfig, TMaterial>) => Promise<TSession>;
1101
- type CredentialHealthTester<TPublicConfig extends CredentialJsonRecord = CredentialJsonRecord, TMaterial extends CredentialJsonRecord = CredentialJsonRecord> = (args: CredentialSessionFactoryArgs<TPublicConfig, TMaterial>) => Promise<CredentialHealth>;
1102
- /**
1103
- * Full credential type implementation: `definition` (UI/schema), `createSession`, and `test`.
1104
- * Use this at registration and config boundaries; `CredentialTypeDefinition` is only the schema slice.
1105
- */
1106
- type CredentialType<TPublicConfig extends CredentialJsonRecord = CredentialJsonRecord, TMaterial extends CredentialJsonRecord = CredentialJsonRecord, TSession = unknown> = Readonly<{
1107
- definition: CredentialTypeDefinition;
1108
- createSession: CredentialSessionFactory<TPublicConfig, TMaterial, TSession>;
1109
- test: CredentialHealthTester<TPublicConfig, TMaterial>;
1110
- }>;
1111
- /**
1112
- * Credential type with unspecified generics — used for `CodemationConfig.credentialTypes`, the host registry,
1113
- * and anywhere a concrete `CredentialType<YourPublic, YourMaterial, YourSession>` is placed in a heterogeneous list.
1114
- * Using `any` here avoids unsafe `as` casts while keeping typed `satisfies CredentialType<…>` definitions.
1115
- */
1116
- type AnyCredentialType = CredentialType<any, any, unknown>;
1117
- interface CredentialSessionService {
1118
- getSession<TSession = unknown>(args: Readonly<{
1119
- workflowId: WorkflowId;
1120
- nodeId: NodeId;
1121
- slotKey: string;
1122
- }>): Promise<TSession>;
1123
- }
1124
- interface CredentialTypeRegistry {
1125
- listTypes(): ReadonlyArray<CredentialTypeDefinition>;
1126
- getType(typeId: CredentialTypeId): CredentialTypeDefinition | undefined;
1127
- }
1128
- declare class CredentialUnboundError extends Error {
1129
- readonly bindingKey: CredentialBindingKey;
1130
- readonly acceptedTypes: ReadonlyArray<CredentialTypeId>;
1131
- constructor(bindingKey: CredentialBindingKey, acceptedTypes?: ReadonlyArray<CredentialTypeId>);
1132
- private static createMessage;
1133
- }
1134
- //#endregion
1135
- //#region src/contracts/runFinishedAtFactory.d.ts
1136
- type RunFinishedAtSource = Pick<PersistedRunState, "status" | "nodeSnapshotsByNodeId">;
1137
- /** Derives workflow end time from node snapshots for run listings. */
1138
- declare class RunFinishedAtFactory {
1139
- static resolveIso(state: RunFinishedAtSource): string | undefined;
1140
- }
1141
- //#endregion
1142
- //#region src/workflow/ConnectionInvocationIdFactory.d.ts
1143
- /**
1144
- * Unique ids for persisted connection invocation history rows (LLM/tool calls under an owning node).
1145
- */
1146
- declare class ConnectionInvocationIdFactory {
1147
- static create(): string;
1148
- /** Deterministic id for tests when a stable sequence is needed. */
1149
- static createForTest(runId: string, connectionNodeId: NodeId, sequence: number): string;
1150
- }
1151
- //#endregion
1152
- //#region src/workflow/ConnectionNodeIdFactory.d.ts
1153
- /**
1154
- * Deterministic ids for workflow connection-owned child nodes (LLM slot, tools, etc.).
1155
- * These are stable across loads.
1156
- */
1157
- declare class ConnectionNodeIdFactory {
1158
- static readonly connectionSegment: "__conn__";
1159
- static languageModelConnectionNodeId(parentNodeId: NodeId): NodeId;
1160
- static toolConnectionNodeId(parentNodeId: NodeId, toolName: string): NodeId;
1161
- static isLanguageModelConnectionNodeId(nodeId: NodeId): boolean;
1162
- static isToolConnectionNodeId(nodeId: NodeId): boolean;
1163
- /** True when `nodeId` is a connection-owned child of `parentNodeId` (LLM or tool slot). */
1164
- static isConnectionOwnedDescendantOf(parentNodeId: NodeId, nodeId: NodeId): boolean;
1165
- /** Normalizes a tool display name to a stable id segment. */
1166
- static normalizeToolName(toolName: string): string;
1167
- }
1168
- //#endregion
1169
- //#region src/workflow/WorkflowExecutableNodeClassifier.d.ts
1170
- /**
1171
- * Derives which workflow nodes participate in the main execution graph vs connection-only children.
1172
- */
1173
- declare class WorkflowExecutableNodeClassifier {
1174
- private readonly connectionOwnedIds;
1175
- constructor(workflow: WorkflowDefinition);
1176
- isConnectionOwnedNodeId(nodeId: NodeId): boolean;
1177
- isExecutableNodeId(nodeId: NodeId): boolean;
1178
- filterExecutableNodeDefinitions(nodes: ReadonlyArray<NodeDefinition>): ReadonlyArray<NodeDefinition>;
1179
- private collectConnectionOwnedIds;
1180
- /**
1181
- * Resolves the default start node: first trigger, else first executable node with no incoming edges from executable nodes.
1182
- */
1183
- findDefaultExecutableStartNodeId(workflow: WorkflowDefinition): NodeId;
1184
- firstExecutableNodeIdInDefinitionOrder(workflow: WorkflowDefinition): NodeId | undefined;
1185
- lastExecutableNodeIdInDefinitionOrder(workflow: WorkflowDefinition): NodeId;
1186
- }
1187
- //#endregion
1188
- //#region src/workflow/workflowExecutableNodeClassifier.types.d.ts
1189
- declare function createWorkflowExecutableNodeClassifier(workflow: WorkflowDefinition): WorkflowExecutableNodeClassifier;
1190
- //#endregion
1191
- export { NodeOffloadPolicy as $, PinnedNodeOutputsByPort as $n, NodeActivationContinuation as $t, ActivationIdFactory as A, WebhookTriggerMatcher as An, instanceCachingFactory as Ar, WorkflowStoragePolicyMode as At, JsonObject as B, ExecutionFrontierPlan as Bn, NoneRetryPolicySpec as Br, BinaryStorage as Bt, CredentialSetupStatus as C, WorkflowRunnerService as Cn, RegistrationOptions as Cr, WorkflowGraph as Ct, CredentialTypeRegistry as D, TriggerInstanceId as Dn, inject as Dr, WorkflowPolicyRuntimeDefaults as Dt, CredentialTypeId as E, HttpMethod as En, delay as Er, WorkflowNodeConnection as Et, InputPortKey as F, ConnectionInvocationAppendArgs as Fn, ExpRetryPolicy as Fr, runnableNodeOutputType as Ft, NodeConfigBase as G, PendingNodeExecution as Gn, EngineDeps as Gt, JsonValue as H, NodeExecutionSnapshot as Hn, BinaryStorageStatResult as Ht, Item as I, ConnectionInvocationId as In, RetryPolicy as Ir, triggerNodeOutputType as It, NodeErrorHandler as J, PersistedRunControlState as Jn, ExecutionBinaryService as Jt, NodeConnectionName as K, PersistedMutableNodeState as Kn, EngineHost as Kt, ItemBinary as L, ConnectionInvocationRecord as Ln, NoRetryPolicy as Lr, triggerNodeSetupStateType as Lt, BinaryPreviewKind as M, WebhookTriggerRoutingDiagnostics as Mn, predicateAwareClassFactory as Mr, WorkflowStoragePolicySpec as Mt, Edge as N, AllWorkflowsActiveWorkflowActivationPolicy as Nn, registry as Nr, branchRef as Nt, CredentialUnboundError as O, WebhookControlSignal as On, injectAll as Or, WorkflowPrunePolicySpec as Ot, ExecutionMode as P, WorkflowActivationPolicy as Pn, singleton as Pr, runnableNodeInputType as Pt, NodeKind as Q, PersistedWorkflowTokenRegistryLike as Qn, Node as Qt, Items as R, CurrentStateExecutionRequest as Rn, ExponentialRetryPolicySpec as Rr, BinaryAttachmentCreateRequest as Rt, CredentialSessionService as S, WorkflowRunnerResolver as Sn, Lifecycle as Sr, WorkflowErrorHandlerSpec as St, CredentialTypeDefinition as T, WorkflowSnapshotResolver as Tn, container as Tr, WorkflowId as Tt, MutableRunData as U, NodeExecutionStatus as Un, BinaryStorageWriteRequest as Ut, JsonPrimitive as V, NodeExecutionError as Vn, RetryPolicySpec as Vr, BinaryStorageReadResult as Vt, NodeActivationId as W, NodeInputsByPort as Wn, BinaryStorageWriteResult as Wt, NodeErrorHandlerSpec as X, PersistedWorkflowSnapshot as Xn, ExecutionContextFactory as Xt, NodeErrorHandlerArgs as Y, PersistedRunState as Yn, ExecutionContext as Yt, NodeId as Z, PersistedWorkflowSnapshotNode as Zn, MultiInputNode as Zt, CredentialMaterialSourceKind as _, TriggerSetupStateStore as _n, RunEventSubscription as _r, TriggerNodeSetupState as _t, RunFinishedAtFactory as a, NodeExecutionContext as an, RunPruneCandidate as ar, ParentExecutionRef as at, CredentialSessionFactory as b, WorkflowNodeInstanceFactory as bn, Disposable as br, WorkflowErrorContext as bt, CredentialBinding as c, NodeExecutionStatePublisher as cn, RunResult as cr, RunDataFactory as ct, CredentialHealth as d, TestableTriggerNode as dn, RunStatus as dr, RunIdFactory as dt, NodeActivationReceipt as en, RunCompletionNotifier as er, NodeOutputs as et, CredentialHealthStatus as f, TriggerCleanupHandle as fn, RunStopCondition as fr, RunnableNodeConfig as ft, CredentialJsonRecord as g, TriggerSetupStateFor as gn, RunEventBus as gr, TriggerNodeOutputJson as gt, CredentialInstanceRecord as h, TriggerSetupContext as hn, RunEvent as hr, TriggerNodeConfig as ht, ConnectionInvocationIdFactory as i, NodeBinaryAttachmentService as in, RunListingStore as ir, PairedItemRef as it, BinaryAttachment as j, WebhookTriggerResolution as jn, instancePerContainerCachingFactory as jr, WorkflowStoragePolicyResolver as jt, OAuth2ProviderFromPublicConfig as k, WebhookInvocationMatch as kn, injectable as kr, WorkflowStoragePolicyDecisionArgs as kt, CredentialBindingKey as l, NodeResolver as ln, RunStateResetRequest as lr, RunDataSnapshot as lt, CredentialInstanceId as m, TriggerRuntimeDiagnostics as mn, WebhookRunResult as mr, RunnableNodeOutputJson as mt, WorkflowExecutableNodeClassifier as n, NodeActivationRequestBase as nn, RunEventPublisherDeps as nr, NodeSchedulerDecision as nt, AnyCredentialType as o, NodeExecutionRequest as on, RunPruneListingStore as or, PersistedRunPolicySnapshot as ot, CredentialHealthTester as p, TriggerNode as pn, RunSummary as pr, RunnableNodeInputJson as pt, NodeDefinition as q, PersistedMutableRunState as qn, ExecutableTriggerNode as qt, ConnectionNodeIdFactory as r, NodeActivationScheduler as rn, RunExecutionOptions as rr, OutputPortKey as rt, CredentialAuthDefinition as s, NodeExecutionScheduler as sn, RunQueueEntry as sr, PersistedTokenId as st, createWorkflowExecutableNodeClassifier as t, NodeActivationRequest as tn, RunCurrentState as tr, NodeRef as tt, CredentialFieldSchema as u, PersistedTriggerSetupState as un, RunStateStore as ur, RunId as ut, CredentialOAuth2AuthDefinition as v, TriggerTestItemsContext as vn, Container as vr, UpstreamRefPlaceholder as vt, CredentialType as w, WorkflowSnapshotFactory as wn, TypeToken as wr, WorkflowGraphFactory as wt, CredentialSessionFactoryArgs as x, WorkflowRepository as xn, InjectionToken as xr, WorkflowErrorHandler as xt, CredentialRequirement as y, WorkflowCatalog as yn, DependencyContainer as yr, WorkflowDefinition as yt, JsonArray as z, EngineRunCounters as zn, FixedRetryPolicySpec as zr, BinaryBody as zt };
1192
- //# sourceMappingURL=index-CpbfsvOJ.d.ts.map