@marktoflow/core 2.0.2 → 2.0.4

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 (183) hide show
  1. package/README.md +69 -6
  2. package/dist/built-in-operations.d.ts +2 -136
  3. package/dist/built-in-operations.d.ts.map +1 -1
  4. package/dist/built-in-operations.js +7 -743
  5. package/dist/built-in-operations.js.map +1 -1
  6. package/dist/engine/conditions.d.ts +29 -0
  7. package/dist/engine/conditions.d.ts.map +1 -0
  8. package/dist/engine/conditions.js +109 -0
  9. package/dist/engine/conditions.js.map +1 -0
  10. package/dist/engine/control-flow.d.ts +35 -0
  11. package/dist/engine/control-flow.d.ts.map +1 -0
  12. package/dist/engine/control-flow.js +653 -0
  13. package/dist/engine/control-flow.js.map +1 -0
  14. package/dist/engine/index.d.ts +12 -0
  15. package/dist/engine/index.d.ts.map +1 -0
  16. package/dist/engine/index.js +11 -0
  17. package/dist/engine/index.js.map +1 -0
  18. package/dist/engine/retry.d.ts +35 -0
  19. package/dist/engine/retry.d.ts.map +1 -0
  20. package/dist/engine/retry.js +86 -0
  21. package/dist/engine/retry.js.map +1 -0
  22. package/dist/engine/subworkflow.d.ts +31 -0
  23. package/dist/engine/subworkflow.d.ts.map +1 -0
  24. package/dist/engine/subworkflow.js +240 -0
  25. package/dist/engine/subworkflow.js.map +1 -0
  26. package/dist/engine/types.d.ts +55 -0
  27. package/dist/engine/types.d.ts.map +1 -0
  28. package/dist/engine/types.js +5 -0
  29. package/dist/{secrets → engine}/types.js.map +1 -1
  30. package/dist/engine/variable-resolution.d.ts +29 -0
  31. package/dist/engine/variable-resolution.d.ts.map +1 -0
  32. package/dist/engine/variable-resolution.js +130 -0
  33. package/dist/engine/variable-resolution.js.map +1 -0
  34. package/dist/engine.d.ts +17 -211
  35. package/dist/engine.d.ts.map +1 -1
  36. package/dist/engine.js +84 -1351
  37. package/dist/engine.js.map +1 -1
  38. package/dist/file-operations.js +1 -1
  39. package/dist/file-operations.js.map +1 -1
  40. package/dist/filters/array.d.ts +9 -0
  41. package/dist/filters/array.d.ts.map +1 -0
  42. package/dist/filters/array.js +41 -0
  43. package/dist/filters/array.js.map +1 -0
  44. package/dist/filters/date.d.ts +9 -0
  45. package/dist/filters/date.d.ts.map +1 -0
  46. package/dist/filters/date.js +51 -0
  47. package/dist/filters/date.js.map +1 -0
  48. package/dist/filters/index.d.ts +13 -0
  49. package/dist/filters/index.d.ts.map +1 -0
  50. package/dist/filters/index.js +13 -0
  51. package/dist/filters/index.js.map +1 -0
  52. package/dist/filters/json.d.ts +6 -0
  53. package/dist/filters/json.d.ts.map +1 -0
  54. package/dist/filters/json.js +15 -0
  55. package/dist/filters/json.js.map +1 -0
  56. package/dist/filters/logic.d.ts +8 -0
  57. package/dist/filters/logic.d.ts.map +1 -0
  58. package/dist/filters/logic.js +28 -0
  59. package/dist/filters/logic.js.map +1 -0
  60. package/dist/filters/math.d.ts +13 -0
  61. package/dist/filters/math.d.ts.map +1 -0
  62. package/dist/filters/math.js +39 -0
  63. package/dist/filters/math.js.map +1 -0
  64. package/dist/filters/object.d.ts +11 -0
  65. package/dist/filters/object.d.ts.map +1 -0
  66. package/dist/filters/object.js +64 -0
  67. package/dist/filters/object.js.map +1 -0
  68. package/dist/filters/regex.d.ts +7 -0
  69. package/dist/filters/regex.d.ts.map +1 -0
  70. package/dist/filters/regex.js +38 -0
  71. package/dist/filters/regex.js.map +1 -0
  72. package/dist/filters/string.d.ts +11 -0
  73. package/dist/filters/string.d.ts.map +1 -0
  74. package/dist/filters/string.js +35 -0
  75. package/dist/filters/string.js.map +1 -0
  76. package/dist/filters/type-checks.d.ts +10 -0
  77. package/dist/filters/type-checks.d.ts.map +1 -0
  78. package/dist/filters/type-checks.js +30 -0
  79. package/dist/filters/type-checks.js.map +1 -0
  80. package/dist/index.d.ts +5 -1
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +7 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/nunjucks-filters.d.ts +2 -261
  85. package/dist/nunjucks-filters.d.ts.map +1 -1
  86. package/dist/nunjucks-filters.js +24 -582
  87. package/dist/nunjucks-filters.js.map +1 -1
  88. package/dist/operations/compress.d.ts +6 -0
  89. package/dist/operations/compress.d.ts.map +1 -0
  90. package/dist/operations/compress.js +36 -0
  91. package/dist/operations/compress.js.map +1 -0
  92. package/dist/operations/crypto.d.ts +5 -0
  93. package/dist/operations/crypto.d.ts.map +1 -0
  94. package/dist/operations/crypto.js +61 -0
  95. package/dist/operations/crypto.js.map +1 -0
  96. package/dist/operations/data-ops.d.ts +10 -0
  97. package/dist/operations/data-ops.d.ts.map +1 -0
  98. package/dist/operations/data-ops.js +124 -0
  99. package/dist/operations/data-ops.js.map +1 -0
  100. package/dist/operations/datetime.d.ts +5 -0
  101. package/dist/operations/datetime.d.ts.map +1 -0
  102. package/dist/operations/datetime.js +86 -0
  103. package/dist/operations/datetime.js.map +1 -0
  104. package/dist/operations/extract.d.ts +23 -0
  105. package/dist/operations/extract.d.ts.map +1 -0
  106. package/dist/operations/extract.js +31 -0
  107. package/dist/operations/extract.js.map +1 -0
  108. package/dist/operations/format.d.ts +14 -0
  109. package/dist/operations/format.d.ts.map +1 -0
  110. package/dist/operations/format.js +84 -0
  111. package/dist/operations/format.js.map +1 -0
  112. package/dist/operations/index.d.ts +13 -0
  113. package/dist/operations/index.d.ts.map +1 -0
  114. package/dist/operations/index.js +13 -0
  115. package/dist/operations/index.js.map +1 -0
  116. package/dist/operations/parse.d.ts +5 -0
  117. package/dist/operations/parse.d.ts.map +1 -0
  118. package/dist/operations/parse.js +59 -0
  119. package/dist/operations/parse.js.map +1 -0
  120. package/dist/operations/set.d.ts +21 -0
  121. package/dist/operations/set.d.ts.map +1 -0
  122. package/dist/operations/set.js +25 -0
  123. package/dist/operations/set.js.map +1 -0
  124. package/dist/operations/transform.d.ts +15 -0
  125. package/dist/operations/transform.d.ts.map +1 -0
  126. package/dist/operations/transform.js +110 -0
  127. package/dist/operations/transform.js.map +1 -0
  128. package/dist/parallel.d.ts +114 -0
  129. package/dist/parallel.d.ts.map +1 -0
  130. package/dist/parallel.js +325 -0
  131. package/dist/parallel.js.map +1 -0
  132. package/dist/parser.d.ts.map +1 -1
  133. package/dist/parser.js +2 -0
  134. package/dist/parser.js.map +1 -1
  135. package/dist/routing.js +2 -2
  136. package/dist/routing.js.map +1 -1
  137. package/dist/sdk-registry.d.ts.map +1 -1
  138. package/dist/sdk-registry.js +9 -3
  139. package/dist/sdk-registry.js.map +1 -1
  140. package/dist/utils/duration.d.ts +23 -0
  141. package/dist/utils/duration.d.ts.map +1 -0
  142. package/dist/utils/duration.js +41 -0
  143. package/dist/utils/duration.js.map +1 -0
  144. package/dist/utils/errors.d.ts +20 -0
  145. package/dist/utils/errors.d.ts.map +1 -0
  146. package/dist/utils/errors.js +37 -0
  147. package/dist/utils/errors.js.map +1 -0
  148. package/dist/utils/index.d.ts +3 -0
  149. package/dist/utils/index.d.ts.map +1 -0
  150. package/dist/utils/index.js +3 -0
  151. package/dist/utils/index.js.map +1 -0
  152. package/dist/workflow-templates.d.ts +80 -0
  153. package/dist/workflow-templates.d.ts.map +1 -0
  154. package/dist/workflow-templates.js +248 -0
  155. package/dist/workflow-templates.js.map +1 -0
  156. package/package.json +30 -5
  157. package/dist/secrets/index.d.ts +0 -12
  158. package/dist/secrets/index.d.ts.map +0 -1
  159. package/dist/secrets/index.js +0 -11
  160. package/dist/secrets/index.js.map +0 -1
  161. package/dist/secrets/providers/aws.d.ts +0 -32
  162. package/dist/secrets/providers/aws.d.ts.map +0 -1
  163. package/dist/secrets/providers/aws.js +0 -118
  164. package/dist/secrets/providers/aws.js.map +0 -1
  165. package/dist/secrets/providers/azure.d.ts +0 -40
  166. package/dist/secrets/providers/azure.d.ts.map +0 -1
  167. package/dist/secrets/providers/azure.js +0 -170
  168. package/dist/secrets/providers/azure.js.map +0 -1
  169. package/dist/secrets/providers/env.d.ts +0 -26
  170. package/dist/secrets/providers/env.d.ts.map +0 -1
  171. package/dist/secrets/providers/env.js +0 -59
  172. package/dist/secrets/providers/env.js.map +0 -1
  173. package/dist/secrets/providers/vault.d.ts +0 -39
  174. package/dist/secrets/providers/vault.d.ts.map +0 -1
  175. package/dist/secrets/providers/vault.js +0 -180
  176. package/dist/secrets/providers/vault.js.map +0 -1
  177. package/dist/secrets/secret-manager.d.ts +0 -72
  178. package/dist/secrets/secret-manager.d.ts.map +0 -1
  179. package/dist/secrets/secret-manager.js +0 -226
  180. package/dist/secrets/secret-manager.js.map +0 -1
  181. package/dist/secrets/types.d.ts +0 -105
  182. package/dist/secrets/types.d.ts.map +0 -1
  183. package/dist/secrets/types.js +0 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-flow.js","sourceRoot":"","sources":["../../src/engine/control-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Engine module barrel exports.
3
+ *
4
+ * Re-exports all engine sub-modules for convenience.
5
+ */
6
+ export { evaluateConditions, evaluateCondition, resolveConditionValue, parseValue } from './conditions.js';
7
+ export { resolveTemplates, resolveVariablePath, getNestedValue } from './variable-resolution.js';
8
+ export { RetryPolicy, CircuitBreaker, type CircuitState } from './retry.js';
9
+ export { executeIfStep, executeSwitchStep, executeForEachStep, executeWhileStep, executeMapStep, executeFilterStep, executeReduceStep, executeParallelStep, executeTryStep, executeScriptStep, executeWaitStep, executeMergeStep, type StepDispatcher, type ContextCloner, type ContextMerger, } from './control-flow.js';
10
+ export { executeSubWorkflow, executeSubWorkflowWithAgent, parseSubagentResponse, } from './subworkflow.js';
11
+ export type { EngineConfig, SDKRegistryLike, StepExecutorContext, StepExecutor, EngineEvents, } from './types.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Engine module barrel exports.
3
+ *
4
+ * Re-exports all engine sub-modules for convenience.
5
+ */
6
+ export { evaluateConditions, evaluateCondition, resolveConditionValue, parseValue } from './conditions.js';
7
+ export { resolveTemplates, resolveVariablePath, getNestedValue } from './variable-resolution.js';
8
+ export { RetryPolicy, CircuitBreaker } from './retry.js';
9
+ export { executeIfStep, executeSwitchStep, executeForEachStep, executeWhileStep, executeMapStep, executeFilterStep, executeReduceStep, executeParallelStep, executeTryStep, executeScriptStep, executeWaitStep, executeMergeStep, } from './control-flow.js';
10
+ export { executeSubWorkflow, executeSubWorkflowWithAgent, parseSubagentResponse, } from './subworkflow.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Retry policy and circuit breaker for marktoflow workflow engine.
3
+ *
4
+ * Provides exponential backoff retry logic and circuit breaker pattern
5
+ * for resilient step execution.
6
+ */
7
+ export declare class RetryPolicy {
8
+ readonly maxRetries: number;
9
+ readonly baseDelay: number;
10
+ readonly maxDelay: number;
11
+ readonly exponentialBase: number;
12
+ readonly jitter: number;
13
+ constructor(maxRetries?: number, baseDelay?: number, maxDelay?: number, exponentialBase?: number, jitter?: number);
14
+ /**
15
+ * Calculate delay for a given retry attempt.
16
+ */
17
+ getDelay(attempt: number): number;
18
+ }
19
+ export type CircuitState = 'CLOSED' | 'OPEN' | 'HALF_OPEN';
20
+ export declare class CircuitBreaker {
21
+ readonly failureThreshold: number;
22
+ readonly recoveryTimeout: number;
23
+ readonly halfOpenMaxCalls: number;
24
+ private state;
25
+ private failures;
26
+ private lastFailureTime;
27
+ private halfOpenCalls;
28
+ constructor(failureThreshold?: number, recoveryTimeout?: number, halfOpenMaxCalls?: number);
29
+ canExecute(): boolean;
30
+ recordSuccess(): void;
31
+ recordFailure(): void;
32
+ getState(): CircuitState;
33
+ reset(): void;
34
+ }
35
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/engine/retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,qBAAa,WAAW;aAEJ,UAAU,EAAE,MAAM;aAClB,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;aAChB,eAAe,EAAE,MAAM;aACvB,MAAM,EAAE,MAAM;gBAJd,UAAU,GAAE,MAAU,EACtB,SAAS,GAAE,MAAa,EACxB,QAAQ,GAAE,MAAc,EACxB,eAAe,GAAE,MAAU,EAC3B,MAAM,GAAE,MAAY;IAGtC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAQlC;AAMD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,qBAAa,cAAc;aAOP,gBAAgB,EAAE,MAAM;aACxB,eAAe,EAAE,MAAM;aACvB,gBAAgB,EAAE,MAAM;IAR1C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAK;gBAGR,gBAAgB,GAAE,MAAU,EAC5B,eAAe,GAAE,MAAc,EAC/B,gBAAgB,GAAE,MAAU;IAG9C,UAAU,IAAI,OAAO;IAmBrB,aAAa,IAAI,IAAI;IAKrB,aAAa,IAAI,IAAI;IAWrB,QAAQ,IAAI,YAAY;IAIxB,KAAK,IAAI,IAAI;CAKd"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Retry policy and circuit breaker for marktoflow workflow engine.
3
+ *
4
+ * Provides exponential backoff retry logic and circuit breaker pattern
5
+ * for resilient step execution.
6
+ */
7
+ // ============================================================================
8
+ // Retry Policy
9
+ // ============================================================================
10
+ export class RetryPolicy {
11
+ maxRetries;
12
+ baseDelay;
13
+ maxDelay;
14
+ exponentialBase;
15
+ jitter;
16
+ constructor(maxRetries = 3, baseDelay = 1000, maxDelay = 30000, exponentialBase = 2, jitter = 0.1) {
17
+ this.maxRetries = maxRetries;
18
+ this.baseDelay = baseDelay;
19
+ this.maxDelay = maxDelay;
20
+ this.exponentialBase = exponentialBase;
21
+ this.jitter = jitter;
22
+ }
23
+ /**
24
+ * Calculate delay for a given retry attempt.
25
+ */
26
+ getDelay(attempt) {
27
+ const exponentialDelay = this.baseDelay * Math.pow(this.exponentialBase, attempt);
28
+ const clampedDelay = Math.min(exponentialDelay, this.maxDelay);
29
+ // Add jitter
30
+ const jitterAmount = clampedDelay * this.jitter * (Math.random() * 2 - 1);
31
+ return Math.max(0, clampedDelay + jitterAmount);
32
+ }
33
+ }
34
+ export class CircuitBreaker {
35
+ failureThreshold;
36
+ recoveryTimeout;
37
+ halfOpenMaxCalls;
38
+ state = 'CLOSED';
39
+ failures = 0;
40
+ lastFailureTime = 0;
41
+ halfOpenCalls = 0;
42
+ constructor(failureThreshold = 5, recoveryTimeout = 30000, halfOpenMaxCalls = 3) {
43
+ this.failureThreshold = failureThreshold;
44
+ this.recoveryTimeout = recoveryTimeout;
45
+ this.halfOpenMaxCalls = halfOpenMaxCalls;
46
+ }
47
+ canExecute() {
48
+ if (this.state === 'CLOSED') {
49
+ return true;
50
+ }
51
+ if (this.state === 'OPEN') {
52
+ const timeSinceFailure = Date.now() - this.lastFailureTime;
53
+ if (timeSinceFailure >= this.recoveryTimeout) {
54
+ this.state = 'HALF_OPEN';
55
+ this.halfOpenCalls = 0;
56
+ return true;
57
+ }
58
+ return false;
59
+ }
60
+ // HALF_OPEN
61
+ return this.halfOpenCalls < this.halfOpenMaxCalls;
62
+ }
63
+ recordSuccess() {
64
+ this.failures = 0;
65
+ this.state = 'CLOSED';
66
+ }
67
+ recordFailure() {
68
+ this.failures++;
69
+ this.lastFailureTime = Date.now();
70
+ if (this.state === 'HALF_OPEN') {
71
+ this.state = 'OPEN';
72
+ }
73
+ else if (this.failures >= this.failureThreshold) {
74
+ this.state = 'OPEN';
75
+ }
76
+ }
77
+ getState() {
78
+ return this.state;
79
+ }
80
+ reset() {
81
+ this.state = 'CLOSED';
82
+ this.failures = 0;
83
+ this.halfOpenCalls = 0;
84
+ }
85
+ }
86
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/engine/retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Sub-workflow execution for marktoflow workflow engine.
3
+ *
4
+ * Handles executing sub-workflows both directly (standard execution)
5
+ * and via AI sub-agents.
6
+ */
7
+ import { type ExecutionContext, type WorkflowStep, type SubWorkflowStep } from '../models.js';
8
+ import type { EngineConfig, SDKRegistryLike, StepExecutor, StepExecutorContext } from './types.js';
9
+ export type SubWorkflowExecutorFactory = (config: EngineConfig) => {
10
+ execute: (workflow: import('../models.js').Workflow, inputs: Record<string, unknown>, sdkRegistry: SDKRegistryLike, stepExecutor: StepExecutor) => Promise<import('../models.js').WorkflowResult>;
11
+ workflowPath?: string;
12
+ };
13
+ /**
14
+ * Execute a sub-workflow.
15
+ */
16
+ export declare function executeSubWorkflow(step: WorkflowStep, context: ExecutionContext, sdkRegistry: SDKRegistryLike, stepExecutor: StepExecutor, workflowPath: string | undefined, createSubEngine: SubWorkflowExecutorFactory, engineConfig: EngineConfig): Promise<unknown>;
17
+ /**
18
+ * Execute a sub-workflow using an AI sub-agent.
19
+ * The agent interprets the workflow and executes it autonomously.
20
+ */
21
+ export declare function executeSubWorkflowWithAgent(step: SubWorkflowStep, context: ExecutionContext, sdkRegistry: SDKRegistryLike, stepExecutor: StepExecutor, workflowPath: string | undefined, defaultModel: string | undefined, defaultAgent: string | undefined, buildStepExecutorContext: (step: WorkflowStep) => StepExecutorContext): Promise<unknown>;
22
+ /**
23
+ * Parse the sub-agent's response to extract completion status and output.
24
+ */
25
+ export declare function parseSubagentResponse(response: unknown): {
26
+ completed: boolean;
27
+ output?: Record<string, unknown>;
28
+ message?: string;
29
+ error?: string;
30
+ };
31
+ //# sourceMappingURL=subworkflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subworkflow.d.ts","sourceRoot":"","sources":["../../src/engine/subworkflow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGnG,MAAM,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK;IACjE,OAAO,EAAE,CACP,QAAQ,EAAE,OAAO,cAAc,EAAE,QAAQ,EACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,OAAO,cAAc,EAAE,cAAc,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,eAAe,EAAE,0BAA0B,EAC3C,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,OAAO,CAAC,CA8BlB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,wBAAwB,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,mBAAmB,GACpE,OAAO,CAAC,OAAO,CAAC,CAgGlB;AA0DD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAyEA"}
@@ -0,0 +1,240 @@
1
+ /**
2
+ * Sub-workflow execution for marktoflow workflow engine.
3
+ *
4
+ * Handles executing sub-workflows both directly (standard execution)
5
+ * and via AI sub-agents.
6
+ */
7
+ import { WorkflowStatus, isSubWorkflowStep, } from '../models.js';
8
+ import { resolveTemplates } from './variable-resolution.js';
9
+ import { parseFile } from '../parser.js';
10
+ import { resolve, dirname } from 'node:path';
11
+ /**
12
+ * Execute a sub-workflow.
13
+ */
14
+ export async function executeSubWorkflow(step, context, sdkRegistry, stepExecutor, workflowPath, createSubEngine, engineConfig) {
15
+ if (!isSubWorkflowStep(step)) {
16
+ throw new Error(`Step ${step.id} is not a workflow step`);
17
+ }
18
+ // Resolve the sub-workflow path relative to the parent workflow
19
+ const subWorkflowPath = workflowPath
20
+ ? resolve(dirname(workflowPath), step.workflow)
21
+ : resolve(step.workflow);
22
+ // Parse the sub-workflow
23
+ const { workflow: subWorkflow } = await parseFile(subWorkflowPath);
24
+ // Resolve inputs for the sub-workflow
25
+ const resolvedInputs = resolveTemplates(step.inputs, context);
26
+ // Create a new engine instance for the sub-workflow
27
+ const subEngine = createSubEngine(engineConfig);
28
+ subEngine.workflowPath = subWorkflowPath;
29
+ // Execute the sub-workflow
30
+ const result = await subEngine.execute(subWorkflow, resolvedInputs, sdkRegistry, stepExecutor);
31
+ // Check if sub-workflow failed
32
+ if (result.status === WorkflowStatus.FAILED) {
33
+ throw new Error(result.error || 'Sub-workflow execution failed');
34
+ }
35
+ // Return the sub-workflow output
36
+ return result.output;
37
+ }
38
+ /**
39
+ * Execute a sub-workflow using an AI sub-agent.
40
+ * The agent interprets the workflow and executes it autonomously.
41
+ */
42
+ export async function executeSubWorkflowWithAgent(step, context, sdkRegistry, stepExecutor, workflowPath, defaultModel, defaultAgent, buildStepExecutorContext) {
43
+ // Resolve the sub-workflow path
44
+ const subWorkflowPath = workflowPath
45
+ ? resolve(dirname(workflowPath), step.workflow)
46
+ : resolve(step.workflow);
47
+ // Read the workflow file content
48
+ const { readFile } = await import('node:fs/promises');
49
+ const workflowContent = await readFile(subWorkflowPath, 'utf-8');
50
+ // Resolve inputs for the sub-workflow
51
+ const resolvedInputs = resolveTemplates(step.inputs, context);
52
+ // Get subagent configuration
53
+ const subagentConfig = step.subagentConfig || {};
54
+ const model = subagentConfig.model || step.model || defaultModel;
55
+ const maxTurns = subagentConfig.maxTurns || 10;
56
+ const systemPrompt = subagentConfig.systemPrompt || buildDefaultSubagentSystemPrompt();
57
+ const tools = subagentConfig.tools || ['Read', 'Write', 'Bash', 'Glob', 'Grep'];
58
+ // Build the prompt for the agent
59
+ const agentPrompt = buildSubagentPrompt(workflowContent, resolvedInputs, tools);
60
+ // Determine the agent action to use
61
+ const agentName = step.agent || defaultAgent || 'agent';
62
+ const agentAction = `${agentName}.chat.completions`;
63
+ // Build the messages array
64
+ const messages = [
65
+ { role: 'system', content: systemPrompt },
66
+ { role: 'user', content: agentPrompt },
67
+ ];
68
+ // Create a virtual action step to execute via the agent
69
+ const agentStep = {
70
+ id: `${step.id}-subagent`,
71
+ type: 'action',
72
+ action: agentAction,
73
+ inputs: {
74
+ model,
75
+ messages,
76
+ max_tokens: 8192,
77
+ response_format: { type: 'json_object' },
78
+ },
79
+ model,
80
+ agent: agentName,
81
+ };
82
+ // Build executor context
83
+ const executorContext = buildStepExecutorContext(agentStep);
84
+ // Execute the agent call
85
+ let response;
86
+ let turns = 0;
87
+ let conversationMessages = [...messages];
88
+ let finalOutput = {};
89
+ while (turns < maxTurns) {
90
+ turns++;
91
+ try {
92
+ response = await stepExecutor({ ...agentStep, inputs: { ...agentStep.inputs, messages: conversationMessages } }, context, sdkRegistry, executorContext);
93
+ // Parse the response
94
+ const parsedResponse = parseSubagentResponse(response);
95
+ if (parsedResponse.completed) {
96
+ finalOutput = parsedResponse.output || {};
97
+ break;
98
+ }
99
+ // If agent needs to continue, add its response and continue
100
+ if (parsedResponse.message) {
101
+ conversationMessages.push({ role: 'assistant', content: parsedResponse.message });
102
+ conversationMessages.push({ role: 'user', content: 'Continue with the workflow execution.' });
103
+ }
104
+ else {
105
+ finalOutput = parsedResponse.output || {};
106
+ break;
107
+ }
108
+ }
109
+ catch (error) {
110
+ throw new Error(`Sub-agent execution failed at turn ${turns}: ${error instanceof Error ? error.message : String(error)}`);
111
+ }
112
+ }
113
+ if (turns >= maxTurns) {
114
+ throw new Error(`Sub-agent exceeded maximum turns (${maxTurns})`);
115
+ }
116
+ return finalOutput;
117
+ }
118
+ /**
119
+ * Build the default system prompt for sub-agent execution.
120
+ */
121
+ function buildDefaultSubagentSystemPrompt() {
122
+ return `You are an AI agent executing a workflow. Your task is to interpret the workflow definition and execute each step in order.
123
+
124
+ For each step:
125
+ 1. Understand what the step requires
126
+ 2. Execute the action described
127
+ 3. Store any outputs as specified
128
+
129
+ When you complete all steps, respond with a JSON object containing the workflow outputs.
130
+
131
+ Format your final response as:
132
+ \`\`\`json
133
+ {
134
+ "completed": true,
135
+ "output": { /* workflow outputs here */ }
136
+ }
137
+ \`\`\`
138
+
139
+ If you encounter an error, respond with:
140
+ \`\`\`json
141
+ {
142
+ "completed": false,
143
+ "error": "description of the error"
144
+ }
145
+ \`\`\``;
146
+ }
147
+ /**
148
+ * Build the prompt for sub-agent workflow execution.
149
+ */
150
+ function buildSubagentPrompt(workflowContent, inputs, tools) {
151
+ return `Execute the following workflow:
152
+
153
+ ## Workflow Definition
154
+ \`\`\`markdown
155
+ ${workflowContent}
156
+ \`\`\`
157
+
158
+ ## Inputs
159
+ \`\`\`json
160
+ ${JSON.stringify(inputs, null, 2)}
161
+ \`\`\`
162
+
163
+ ## Available Tools
164
+ ${tools.join(', ')}
165
+
166
+ Execute the workflow steps in order and return the final outputs as JSON.`;
167
+ }
168
+ /**
169
+ * Parse the sub-agent's response to extract completion status and output.
170
+ */
171
+ export function parseSubagentResponse(response) {
172
+ // Try to extract content from various response formats
173
+ let content;
174
+ if (typeof response === 'string') {
175
+ content = response;
176
+ }
177
+ else if (response && typeof response === 'object') {
178
+ const resp = response;
179
+ // OpenAI-style response
180
+ if (resp.choices && Array.isArray(resp.choices)) {
181
+ const choice = resp.choices[0];
182
+ if (choice.message && typeof choice.message === 'object') {
183
+ const message = choice.message;
184
+ content = message.content;
185
+ }
186
+ }
187
+ // Anthropic-style response
188
+ else if (resp.content && Array.isArray(resp.content)) {
189
+ const textBlock = resp.content.find((c) => typeof c === 'object' && c !== null && c.type === 'text');
190
+ content = textBlock?.text;
191
+ }
192
+ // Direct content field
193
+ else if (typeof resp.content === 'string') {
194
+ content = resp.content;
195
+ }
196
+ // Direct message field
197
+ else if (typeof resp.message === 'string') {
198
+ content = resp.message;
199
+ }
200
+ }
201
+ if (!content) {
202
+ return { completed: false, message: 'No content in response' };
203
+ }
204
+ // Try to parse JSON from the response
205
+ const jsonMatch = content.match(/```json\n?([\s\S]*?)```/);
206
+ if (jsonMatch) {
207
+ try {
208
+ const parsed = JSON.parse(jsonMatch[1]);
209
+ const output = parsed.output;
210
+ const error = parsed.error;
211
+ return {
212
+ completed: parsed.completed === true,
213
+ ...(output !== undefined ? { output } : {}),
214
+ ...(error !== undefined ? { error } : {}),
215
+ };
216
+ }
217
+ catch (e) {
218
+ console.warn('[marktoflow] Failed to parse JSON block in sub-agent response:', e.message);
219
+ }
220
+ }
221
+ // Try to parse raw JSON
222
+ try {
223
+ const parsed = JSON.parse(content);
224
+ if (typeof parsed.completed === 'boolean') {
225
+ const output = parsed.output;
226
+ const error = parsed.error;
227
+ return {
228
+ completed: parsed.completed,
229
+ ...(output !== undefined ? { output } : {}),
230
+ ...(error !== undefined ? { error } : {}),
231
+ };
232
+ }
233
+ }
234
+ catch (e) {
235
+ console.warn('[marktoflow] Sub-agent response is not valid JSON:', e.message);
236
+ }
237
+ // Return the content as a message
238
+ return { completed: false, message: content };
239
+ }
240
+ //# sourceMappingURL=subworkflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subworkflow.js","sourceRoot":"","sources":["../../src/engine/subworkflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Shared types for the marktoflow workflow engine modules.
3
+ */
4
+ import type { WorkflowStep, ExecutionContext } from '../models.js';
5
+ import type { EffectivePermissions, SecurityPolicy } from '../permissions.js';
6
+ import type { RollbackRegistry } from '../rollback.js';
7
+ import type { FailoverConfig } from '../failover.js';
8
+ import type { AgentHealthTracker } from '../failover.js';
9
+ export interface EngineConfig {
10
+ /** Default timeout for steps in milliseconds */
11
+ defaultTimeout?: number;
12
+ /** Maximum retries for failed steps */
13
+ maxRetries?: number;
14
+ /** Base delay for retry backoff in milliseconds */
15
+ retryBaseDelay?: number;
16
+ /** Maximum delay for retry backoff in milliseconds */
17
+ retryMaxDelay?: number;
18
+ /** Optional rollback registry for rollback error handling */
19
+ rollbackRegistry?: RollbackRegistry;
20
+ /** Failover configuration for step execution */
21
+ failoverConfig?: Partial<FailoverConfig>;
22
+ /** Optional agent health tracker */
23
+ healthTracker?: AgentHealthTracker;
24
+ /** Default agent for AI steps */
25
+ defaultAgent?: string;
26
+ /** Default model for AI steps */
27
+ defaultModel?: string;
28
+ }
29
+ export interface SDKRegistryLike {
30
+ /** Load an SDK by name */
31
+ load(sdkName: string): Promise<unknown>;
32
+ /** Check if SDK is available */
33
+ has(sdkName: string): boolean;
34
+ }
35
+ export interface StepExecutorContext {
36
+ /** Effective model for this step (from step override or workflow default) */
37
+ model: string | undefined;
38
+ /** Effective agent for this step (from step override or workflow default) */
39
+ agent: string | undefined;
40
+ /** Effective permissions for this step */
41
+ permissions: EffectivePermissions | undefined;
42
+ /** Security policy derived from permissions */
43
+ securityPolicy: SecurityPolicy | undefined;
44
+ /** Base path for resolving relative paths */
45
+ basePath: string | undefined;
46
+ }
47
+ export type StepExecutor = (step: WorkflowStep, context: ExecutionContext, sdkRegistry: SDKRegistryLike, executorContext?: StepExecutorContext) => Promise<unknown>;
48
+ export interface EngineEvents {
49
+ onStepStart?: (step: WorkflowStep, context: ExecutionContext) => void;
50
+ onStepComplete?: (step: WorkflowStep, result: import('../models.js').StepResult) => void;
51
+ onStepError?: (step: WorkflowStep, error: Error, retryCount: number) => void;
52
+ onWorkflowStart?: (workflow: import('../models.js').Workflow, context: ExecutionContext) => void;
53
+ onWorkflowComplete?: (workflow: import('../models.js').Workflow, result: import('../models.js').WorkflowResult) => void;
54
+ }
55
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gDAAgD;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,oCAAoC;IACpC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,gCAAgC;IAChC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,0CAA0C;IAC1C,WAAW,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC9C,+CAA+C;IAC/C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,eAAe,EAC5B,eAAe,CAAC,EAAE,mBAAmB,KAClC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,cAAc,EAAE,UAAU,KAAK,IAAI,CAAC;IACzF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjG,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC;CACzH"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared types for the marktoflow workflow engine modules.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/secrets/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Variable and template resolution for marktoflow workflow engine.
3
+ *
4
+ * Handles resolving template expressions ({{ variable }}) and
5
+ * navigating nested variable paths in the execution context.
6
+ */
7
+ import type { ExecutionContext } from '../models.js';
8
+ /**
9
+ * Resolve template variables in a value.
10
+ * Supports {{variable}}, {{inputs.name}}, and Nunjucks filters.
11
+ *
12
+ * Uses Nunjucks as the template engine with:
13
+ * - Legacy regex operator support (=~, !~, //) converted to filters
14
+ * - Custom filters for string, array, object, date operations
15
+ * - Jinja2-style control flow ({% for %}, {% if %}, etc.)
16
+ */
17
+ export declare function resolveTemplates(value: unknown, context: ExecutionContext): unknown;
18
+ /**
19
+ * Resolve a variable path from context.
20
+ * First checks inputs.*, then variables, then stepMetadata, then direct context properties.
21
+ * Exported to allow access from condition evaluation.
22
+ */
23
+ export declare function resolveVariablePath(path: string, context: ExecutionContext): unknown;
24
+ /**
25
+ * Get a nested value from an object using dot notation and array indexing.
26
+ * Supports paths like: "user.name", "items[0].name", "data.users[1].email"
27
+ */
28
+ export declare function getNestedValue(obj: unknown, path: string): unknown;
29
+ //# sourceMappingURL=variable-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-resolution.d.ts","sourceRoot":"","sources":["../../src/engine/variable-resolution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CA4BnF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CA2BpF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAyDlE"}