@marktoflow/core 2.0.0-alpha.7 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -220
- package/dist/built-in-operations.d.ts +150 -0
- package/dist/built-in-operations.d.ts.map +1 -0
- package/dist/built-in-operations.js +799 -0
- package/dist/built-in-operations.js.map +1 -0
- package/dist/core-tools.d.ts +39 -0
- package/dist/core-tools.d.ts.map +1 -0
- package/dist/core-tools.js +58 -0
- package/dist/core-tools.js.map +1 -0
- package/dist/credentials.d.ts +60 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +229 -4
- package/dist/credentials.js.map +1 -1
- package/dist/engine.d.ts +144 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +1385 -49
- package/dist/engine.js.map +1 -1
- package/dist/file-operations.d.ts +86 -0
- package/dist/file-operations.d.ts.map +1 -0
- package/dist/file-operations.js +363 -0
- package/dist/file-operations.js.map +1 -0
- package/dist/index.d.ts +16 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -4
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +40 -2
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +166 -13
- package/dist/logging.js.map +1 -1
- package/dist/models.d.ts +1931 -203
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +303 -13
- package/dist/models.js.map +1 -1
- package/dist/nunjucks-filters.d.ts +271 -0
- package/dist/nunjucks-filters.d.ts.map +1 -0
- package/dist/nunjucks-filters.js +648 -0
- package/dist/nunjucks-filters.js.map +1 -0
- package/dist/oauth-manager.d.ts +128 -0
- package/dist/oauth-manager.d.ts.map +1 -0
- package/dist/oauth-manager.js +291 -0
- package/dist/oauth-manager.js.map +1 -0
- package/dist/oauth-refresh.d.ts +37 -0
- package/dist/oauth-refresh.d.ts.map +1 -0
- package/dist/oauth-refresh.js +76 -0
- package/dist/oauth-refresh.js.map +1 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +291 -10
- package/dist/parser.js.map +1 -1
- package/dist/permissions.d.ts +49 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +286 -0
- package/dist/permissions.js.map +1 -0
- package/dist/prompt-loader.d.ts +53 -0
- package/dist/prompt-loader.d.ts.map +1 -0
- package/dist/prompt-loader.js +205 -0
- package/dist/prompt-loader.js.map +1 -0
- package/dist/scheduler.d.ts +22 -3
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +72 -73
- package/dist/scheduler.js.map +1 -1
- package/dist/script-executor.d.ts +65 -0
- package/dist/script-executor.d.ts.map +1 -0
- package/dist/script-executor.js +261 -0
- package/dist/script-executor.js.map +1 -0
- package/dist/sdk-registry.d.ts +20 -2
- package/dist/sdk-registry.d.ts.map +1 -1
- package/dist/sdk-registry.js +100 -15
- package/dist/sdk-registry.js.map +1 -1
- package/dist/secret-providers/index.d.ts +12 -0
- package/dist/secret-providers/index.d.ts.map +1 -0
- package/dist/secret-providers/index.js +11 -0
- package/dist/secret-providers/index.js.map +1 -0
- package/dist/secret-providers/providers/aws.d.ts +32 -0
- package/dist/secret-providers/providers/aws.d.ts.map +1 -0
- package/dist/secret-providers/providers/aws.js +118 -0
- package/dist/secret-providers/providers/aws.js.map +1 -0
- package/dist/secret-providers/providers/azure.d.ts +40 -0
- package/dist/secret-providers/providers/azure.d.ts.map +1 -0
- package/dist/secret-providers/providers/azure.js +170 -0
- package/dist/secret-providers/providers/azure.js.map +1 -0
- package/dist/secret-providers/providers/env.d.ts +26 -0
- package/dist/secret-providers/providers/env.d.ts.map +1 -0
- package/dist/secret-providers/providers/env.js +59 -0
- package/dist/secret-providers/providers/env.js.map +1 -0
- package/dist/secret-providers/providers/vault.d.ts +39 -0
- package/dist/secret-providers/providers/vault.d.ts.map +1 -0
- package/dist/secret-providers/providers/vault.js +180 -0
- package/dist/secret-providers/providers/vault.js.map +1 -0
- package/dist/secret-providers/secret-manager.d.ts +72 -0
- package/dist/secret-providers/secret-manager.d.ts.map +1 -0
- package/dist/secret-providers/secret-manager.js +226 -0
- package/dist/secret-providers/secret-manager.js.map +1 -0
- package/dist/secret-providers/types.d.ts +105 -0
- package/dist/secret-providers/types.d.ts.map +1 -0
- package/dist/secret-providers/types.js +8 -0
- package/dist/secret-providers/types.js.map +1 -0
- package/dist/security.d.ts +1 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +4 -0
- package/dist/security.js.map +1 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +16 -9
- package/dist/state.js.map +1 -1
- package/dist/template-engine.d.ts +51 -0
- package/dist/template-engine.d.ts.map +1 -0
- package/dist/template-engine.js +227 -0
- package/dist/template-engine.js.map +1 -0
- package/dist/templates.d.ts +10 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +21 -17
- package/dist/templates.js.map +1 -1
- package/dist/tools/mcp-tool.js +9 -9
- package/dist/tools/mcp-tool.js.map +1 -1
- package/dist/trigger-manager.js +1 -1
- package/dist/trigger-manager.js.map +1 -1
- package/dist/workflow-tools.d.ts +102 -0
- package/dist/workflow-tools.d.ts.map +1 -0
- package/dist/workflow-tools.js +130 -0
- package/dist/workflow-tools.js.map +1 -0
- package/package.json +24 -6
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in workflow tools for controlling workflow execution
|
|
3
|
+
*
|
|
4
|
+
* These actions are always available in workflows without needing to be declared.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Workflow tools client that provides workflow control actions
|
|
8
|
+
*/
|
|
9
|
+
export class WorkflowToolsClient {
|
|
10
|
+
/**
|
|
11
|
+
* Set workflow output variables
|
|
12
|
+
*
|
|
13
|
+
* This action sets the final output values of the workflow that can be accessed
|
|
14
|
+
* by the caller or displayed at the end of execution.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```yaml
|
|
18
|
+
* action: workflow.set_outputs
|
|
19
|
+
* inputs:
|
|
20
|
+
* result: '{{ calculation_result }}'
|
|
21
|
+
* status: 'success'
|
|
22
|
+
* message: 'Workflow completed'
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
async set_outputs(inputs) {
|
|
26
|
+
// The engine will capture this special return value and set it as workflow outputs
|
|
27
|
+
// This is a marker that tells the engine to update the workflow's output variables
|
|
28
|
+
return {
|
|
29
|
+
__workflow_outputs__: inputs,
|
|
30
|
+
...inputs,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Sleep for a specified duration
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```yaml
|
|
38
|
+
* action: workflow.sleep
|
|
39
|
+
* inputs:
|
|
40
|
+
* duration: 5000 # milliseconds
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
async sleep(inputs) {
|
|
44
|
+
const duration = inputs.duration || 0;
|
|
45
|
+
await new Promise(resolve => setTimeout(resolve, duration));
|
|
46
|
+
return { slept: duration };
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fail the workflow with an error message
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```yaml
|
|
53
|
+
* action: workflow.fail
|
|
54
|
+
* inputs:
|
|
55
|
+
* message: 'Validation failed'
|
|
56
|
+
* code: 'VALIDATION_ERROR'
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
async fail(inputs) {
|
|
60
|
+
const error = new Error(inputs.message);
|
|
61
|
+
if (inputs.code) {
|
|
62
|
+
error.code = inputs.code;
|
|
63
|
+
}
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Log a message (alias for core.log)
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```yaml
|
|
71
|
+
* action: workflow.log
|
|
72
|
+
* inputs:
|
|
73
|
+
* message: 'Processing item {{ item_id }}'
|
|
74
|
+
* level: 'info'
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
async log(inputs) {
|
|
78
|
+
const level = inputs.level || 'info';
|
|
79
|
+
const message = inputs.message;
|
|
80
|
+
const metadata = inputs.metadata;
|
|
81
|
+
const logFn = level === 'error' || level === 'critical' ? console.error :
|
|
82
|
+
level === 'warning' ? console.warn : console.log;
|
|
83
|
+
if (metadata && Object.keys(metadata).length > 0) {
|
|
84
|
+
logFn(`[${level.toUpperCase()}] ${message}`, metadata);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
logFn(`[${level.toUpperCase()}] ${message}`);
|
|
88
|
+
}
|
|
89
|
+
return { logged: true };
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Create a timestamp
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```yaml
|
|
96
|
+
* action: workflow.timestamp
|
|
97
|
+
* inputs:
|
|
98
|
+
* format: 'iso' # 'iso', 'unix', or 'ms'
|
|
99
|
+
* output_variable: timestamp
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
async timestamp(inputs = {}) {
|
|
103
|
+
const format = inputs.format || 'iso';
|
|
104
|
+
switch (format) {
|
|
105
|
+
case 'iso':
|
|
106
|
+
return { timestamp: new Date().toISOString() };
|
|
107
|
+
case 'unix':
|
|
108
|
+
return { timestamp: Math.floor(Date.now() / 1000) };
|
|
109
|
+
case 'ms':
|
|
110
|
+
return { timestamp: Date.now() };
|
|
111
|
+
default:
|
|
112
|
+
return { timestamp: new Date().toISOString() };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* No-op action (useful for testing or placeholders)
|
|
117
|
+
*/
|
|
118
|
+
async noop() {
|
|
119
|
+
return { success: true };
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Workflow SDK initializer
|
|
124
|
+
*/
|
|
125
|
+
export const WorkflowInitializer = {
|
|
126
|
+
async initialize(_module, _config) {
|
|
127
|
+
return new WorkflowToolsClient();
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=workflow-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marktoflow/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Core engine for marktoflow - parser, executor, state management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/
|
|
10
|
+
"url": "git+https://github.com/marktoflow/marktoflow.git",
|
|
11
11
|
"directory": "packages/core"
|
|
12
12
|
},
|
|
13
|
-
"homepage": "https://github.com/
|
|
13
|
+
"homepage": "https://github.com/marktoflow/marktoflow#readme",
|
|
14
14
|
"bugs": {
|
|
15
|
-
"url": "https://github.com/
|
|
15
|
+
"url": "https://github.com/marktoflow/marktoflow/issues"
|
|
16
16
|
},
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
@@ -24,6 +24,9 @@
|
|
|
24
24
|
"build": "tsc",
|
|
25
25
|
"test": "vitest run",
|
|
26
26
|
"test:watch": "vitest",
|
|
27
|
+
"test:integration": "vitest run --config integration-tests/vitest.integration.config.ts",
|
|
28
|
+
"test:integration:watch": "vitest --config integration-tests/vitest.integration.config.ts",
|
|
29
|
+
"test:all": "vitest run && vitest run --config integration-tests/vitest.integration.config.ts",
|
|
27
30
|
"lint": "tsc --noEmit",
|
|
28
31
|
"clean": "rm -rf dist"
|
|
29
32
|
},
|
|
@@ -32,15 +35,27 @@
|
|
|
32
35
|
"amqplib": "^0.10.9",
|
|
33
36
|
"better-sqlite3": "11.10.0",
|
|
34
37
|
"chokidar": "^5.0.0",
|
|
38
|
+
"cron-parser": "^5.5.0",
|
|
35
39
|
"dotenv": "^16.4.5",
|
|
36
40
|
"ioredis": "^5.9.2",
|
|
41
|
+
"minimatch": "^10.1.1",
|
|
42
|
+
"nunjucks": "^3.2.4",
|
|
43
|
+
"pino": "^10.3.0",
|
|
37
44
|
"prom-client": "^15.1.3",
|
|
38
45
|
"yaml": "^2.6.0",
|
|
39
46
|
"zod": "^3.24.0"
|
|
40
47
|
},
|
|
48
|
+
"optionalDependencies": {
|
|
49
|
+
"mammoth": "^1.9.0",
|
|
50
|
+
"pdf-parse": "^1.1.1",
|
|
51
|
+
"xlsx": "^0.18.5"
|
|
52
|
+
},
|
|
41
53
|
"devDependencies": {
|
|
42
54
|
"@types/amqplib": "^0.10.8",
|
|
43
|
-
"@types/better-sqlite3": "^7.6.0"
|
|
55
|
+
"@types/better-sqlite3": "^7.6.0",
|
|
56
|
+
"@types/nunjucks": "^3.2.6",
|
|
57
|
+
"@types/pino": "^7.0.5",
|
|
58
|
+
"pino-pretty": "^13.1.3"
|
|
44
59
|
},
|
|
45
60
|
"peerDependencies": {
|
|
46
61
|
"typescript": "^5.0.0"
|
|
@@ -57,5 +72,8 @@
|
|
|
57
72
|
"mcp"
|
|
58
73
|
],
|
|
59
74
|
"author": "Scott Glover",
|
|
60
|
-
"license": "Apache-2.0"
|
|
75
|
+
"license": "Apache-2.0",
|
|
76
|
+
"publishConfig": {
|
|
77
|
+
"registry": "https://registry.npmjs.org/"
|
|
78
|
+
}
|
|
61
79
|
}
|