@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
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # @marktoflow/core
2
2
 
3
- > Workflow engine for parsing, executing, and managing markdown-based automations.
3
+ > AI workflow engine parse, execute, and orchestrate markdown-based automations with tool calling, parallel execution, and structured output.
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/@marktoflow/core)](https://www.npmjs.com/package/@marktoflow/core)
6
6
 
7
- Part of [marktoflow](../../README.md) — open-source markdown workflow automation.
7
+ Part of [marktoflow](https://github.com/marktoflow/marktoflow) — open-source AI workflow automation.
8
8
 
9
9
  ## Quick Start
10
10
 
@@ -26,17 +26,34 @@ const result = await engine.execute(workflow, {
26
26
 
27
27
  ## Features
28
28
 
29
- - **Workflow Parser** — Parse markdown + YAML workflow definitions
29
+ - **Workflow Parser** — Parse markdown + YAML workflow definitions with Zod validation
30
30
  - **Execution Engine** — Step-by-step execution with retry, circuit breakers, and error handling
31
+ - **Control Flow** — Conditionals (`if/else`), loops (`for-each`), `try/catch/finally`, `parallel` branches
32
+ - **Parallel Execution** — `parallel.spawn` (multi-agent) and `parallel.map` (batch processing)
33
+ - **Sub-Workflows** — Nested workflow execution with optional AI sub-agent mode
34
+ - **Template Engine** — Nunjucks-based expressions with 50+ built-in filters
31
35
  - **State Management** — SQLite-based persistent state tracking
32
36
  - **Plugin System** — Extensible architecture with 17 hook types
33
- - **Cost Tracking** — Monitor and budget API usage per workflow
37
+ - **Cost Tracking** — Monitor and budget API usage per workflow/step
38
+ - **Agent Routing** — Capability-based agent selection with cost optimization and load balancing
34
39
  - **Scheduling** — Cron-based workflow scheduling
35
- - **Security** — RBAC, approval workflows, and audit logging
40
+ - **Security** — RBAC, approval workflows, secret management (Vault, AWS, Azure, env), audit logging
36
41
  - **Queue System** — Distributed execution via Redis, RabbitMQ, or in-memory
37
42
 
38
43
  ## Usage
39
44
 
45
+ ### Control Flow
46
+
47
+ ```typescript
48
+ // The engine handles conditionals, loops, parallel, and try/catch natively
49
+ const workflow = await parser.parseWorkflow('complex-workflow.md');
50
+ const result = await engine.execute(workflow);
51
+
52
+ // Access step results
53
+ console.log(result.output);
54
+ console.log(result.stepResults);
55
+ ```
56
+
40
57
  ### State Management
41
58
 
42
59
  ```typescript
@@ -78,6 +95,42 @@ await registry.register({
78
95
  });
79
96
  ```
80
97
 
98
+ ### Agent Routing
99
+
100
+ ```typescript
101
+ import { AgentRouter, AgentSelector, BudgetTracker } from '@marktoflow/core';
102
+
103
+ const selector = new AgentSelector(agentProfiles, 'balanced');
104
+ const budget = new BudgetTracker({ totalBudget: 10.0 });
105
+ const router = new AgentRouter(selector, budget);
106
+
107
+ const result = router.route({
108
+ requiredCapabilities: new Set(['tool_calling', 'streaming']),
109
+ maxCost: 0.05,
110
+ });
111
+ ```
112
+
113
+ ## Architecture
114
+
115
+ ```
116
+ @marktoflow/core
117
+ ├── engine/ # Workflow execution engine
118
+ │ ├── control-flow # if/else, for-each, parallel, try/catch
119
+ │ ├── subworkflow # Sub-workflow and AI sub-agent execution
120
+ │ ├── variable-resolution # Nunjucks template resolution
121
+ │ ├── conditions # Condition evaluation
122
+ │ └── retry # Retry with exponential backoff
123
+ ├── operations/ # 9 built-in operation modules
124
+ ├── filters/ # 9 Nunjucks filter modules (50+ filters)
125
+ ├── parser # Markdown + YAML parser
126
+ ├── routing # Agent selection and routing
127
+ ├── costs # Cost tracking and budgeting
128
+ ├── state-manager # SQLite-based state persistence
129
+ ├── sdk-registry # Dynamic SDK loading and caching
130
+ ├── plugin-registry # Plugin system with 17 hook types
131
+ └── utils/ # Duration parsing, error handling
132
+ ```
133
+
81
134
  ## API Reference
82
135
 
83
136
  ```typescript
@@ -98,6 +151,16 @@ class StateManager {
98
151
  getWorkflowHistory(workflowId: string): Promise<WorkflowRun[]>;
99
152
  saveWorkflowState(state: WorkflowState): Promise<void>;
100
153
  }
154
+
155
+ class AgentSelector {
156
+ select(context: RoutingContext): RoutingResult;
157
+ registerAgent(profile: AgentProfile): void;
158
+ }
159
+
160
+ class SDKRegistry {
161
+ registerTools(tools: Record<string, ToolConfig>): void;
162
+ load(name: string): Promise<unknown>;
163
+ }
101
164
  ```
102
165
 
103
166
  ## Contributing
@@ -106,4 +169,4 @@ See the [contributing guide](https://github.com/marktoflow/marktoflow/blob/main/
106
169
 
107
170
  ## License
108
171
 
109
- Apache-2.0
172
+ [AGPL-3.0](https://github.com/marktoflow/marktoflow/blob/main/LICENSE)
@@ -1,134 +1,10 @@
1
1
  /**
2
2
  * Built-in Operations for marktoflow
3
3
  *
4
- * Provides common operations that eliminate the need for verbose script blocks:
5
- * - core.set: Simple variable assignment
6
- * - core.transform: Map/filter/reduce transformations
7
- * - core.extract: Nested path access
8
- * - core.format: Date/number/string formatting
9
- * - file.read: Read files with format conversion (docx, pdf, xlsx)
10
- * - file.write: Write files (text or binary)
4
+ * Thin dispatcher all implementations live in ./operations/.
11
5
  */
12
6
  import { ExecutionContext } from './models.js';
13
- export interface SetOperationInputs {
14
- [key: string]: unknown;
15
- }
16
- export interface TransformOperationInputs {
17
- input: unknown[];
18
- operation: 'map' | 'filter' | 'reduce' | 'find' | 'group_by' | 'unique' | 'sort';
19
- expression?: string;
20
- condition?: string;
21
- initialValue?: unknown;
22
- key?: string;
23
- reverse?: boolean;
24
- }
25
- export interface ExtractOperationInputs {
26
- input: unknown;
27
- path: string;
28
- default?: unknown;
29
- }
30
- export interface FormatOperationInputs {
31
- value: unknown;
32
- type: 'date' | 'number' | 'string' | 'currency' | 'json';
33
- format?: string;
34
- locale?: string;
35
- currency?: string;
36
- precision?: number;
37
- }
38
- /**
39
- * Set multiple variables at once with expression resolution.
40
- *
41
- * Example:
42
- * ```yaml
43
- * action: core.set
44
- * inputs:
45
- * owner: "{{ inputs.repo =~ /^([^\/]+)\// }}"
46
- * repo_name: "{{ inputs.repo =~ /\/(.+)$/ }}"
47
- * timestamp: "{{ now() }}"
48
- * ```
49
- */
50
- export declare function executeSet(inputs: SetOperationInputs, context: ExecutionContext): Record<string, unknown>;
51
- /**
52
- * Transform arrays using common operations like map, filter, reduce.
53
- *
54
- * Examples:
55
- *
56
- * Map:
57
- * ```yaml
58
- * action: core.transform
59
- * inputs:
60
- * input: "{{ oncall_response.data.oncalls }}"
61
- * operation: map
62
- * expression: "@{{ item.user.name }}"
63
- * ```
64
- *
65
- * Filter:
66
- * ```yaml
67
- * action: core.transform
68
- * inputs:
69
- * input: "{{ issues }}"
70
- * operation: filter
71
- * condition: "item.priority == 'high'"
72
- * ```
73
- *
74
- * Reduce:
75
- * ```yaml
76
- * action: core.transform
77
- * inputs:
78
- * input: "{{ numbers }}"
79
- * operation: reduce
80
- * expression: "{{ accumulator + item }}"
81
- * initialValue: 0
82
- * ```
83
- */
84
- export declare function executeTransform(rawInputs: TransformOperationInputs, resolvedInputs: Record<string, unknown>, context: ExecutionContext): unknown;
85
- /**
86
- * Extract values from nested objects safely.
87
- *
88
- * Example:
89
- * ```yaml
90
- * action: core.extract
91
- * inputs:
92
- * input: "{{ api_response }}"
93
- * path: "data.users[0].email"
94
- * default: "unknown@example.com"
95
- * ```
96
- */
97
- export declare function executeExtract(inputs: ExtractOperationInputs, context: ExecutionContext): unknown;
98
- /**
99
- * Format values for display (dates, numbers, strings, currency).
100
- *
101
- * Examples:
102
- *
103
- * Date:
104
- * ```yaml
105
- * action: core.format
106
- * inputs:
107
- * value: "{{ now() }}"
108
- * type: date
109
- * format: "YYYY-MM-DD HH:mm:ss"
110
- * ```
111
- *
112
- * Number:
113
- * ```yaml
114
- * action: core.format
115
- * inputs:
116
- * value: 1234.56
117
- * type: number
118
- * precision: 2
119
- * ```
120
- *
121
- * Currency:
122
- * ```yaml
123
- * action: core.format
124
- * inputs:
125
- * value: 1234.56
126
- * type: currency
127
- * currency: USD
128
- * locale: en-US
129
- * ```
130
- */
131
- export declare function executeFormat(inputs: FormatOperationInputs, context: ExecutionContext): string;
7
+ export { executeSet, type SetOperationInputs, executeTransform, type TransformOperationInputs, executeExtract, type ExtractOperationInputs, executeFormat, type FormatOperationInputs, executeAggregate, executeCompare, executeRenameKeys, executeLimit, executeSortOperation, executeCrypto, executeDatetime, executeParse, executeCompress, executeDecompress, } from './operations/index.js';
132
8
  /**
133
9
  * Execute a built-in operation based on action name
134
10
  */
@@ -137,14 +13,4 @@ export declare function executeBuiltInOperation(action: string, rawInputs: Recor
137
13
  * Check if an action is a built-in operation
138
14
  */
139
15
  export declare function isBuiltInOperation(action: string): boolean;
140
- export declare function executeAggregate(inputs: Record<string, unknown>, _context: ExecutionContext): unknown;
141
- export declare function executeCompare(inputs: Record<string, unknown>, _context: ExecutionContext): unknown;
142
- export declare function executeRenameKeys(inputs: Record<string, unknown>): unknown;
143
- export declare function executeLimit(inputs: Record<string, unknown>): unknown;
144
- export declare function executeSortOperation(inputs: Record<string, unknown>): unknown;
145
- export declare function executeCrypto(inputs: Record<string, unknown>): unknown;
146
- export declare function executeDatetime(inputs: Record<string, unknown>): unknown;
147
- export declare function executeParse(inputs: Record<string, unknown>): unknown;
148
- export declare function executeCompress(inputs: Record<string, unknown>): unknown;
149
- export declare function executeDecompress(inputs: Record<string, unknown>): unknown;
150
16
  //# sourceMappingURL=built-in-operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"built-in-operations.d.ts","sourceRoot":"","sources":["../src/built-in-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"built-in-operations.d.ts","sourceRoot":"","sources":["../src/built-in-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAK/C,OAAO,EACL,UAAU,EACV,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,KAAK,wBAAwB,EAC7B,cAAc,EACd,KAAK,sBAAsB,EAC3B,aAAa,EACb,KAAK,qBAAqB,EAC1B,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAsB/B;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAoC5B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQ1D"}