@marktoflow/cli 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 +48 -456
- package/dist/commands/dry-run.d.ts +1 -0
- package/dist/commands/dry-run.d.ts.map +1 -1
- package/dist/commands/dry-run.js +161 -25
- package/dist/commands/dry-run.js.map +1 -1
- package/dist/commands/history.d.ts +18 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +258 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/test-connection.d.ts +26 -0
- package/dist/commands/test-connection.d.ts.map +1 -0
- package/dist/commands/test-connection.js +599 -0
- package/dist/commands/test-connection.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +575 -32
- package/dist/index.js.map +1 -1
- package/dist/oauth.d.ts +8 -2
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +191 -16
- package/dist/oauth.js.map +1 -1
- package/dist/serve.d.ts +3 -0
- package/dist/serve.d.ts.map +1 -0
- package/dist/serve.js +453 -0
- package/dist/serve.js.map +1 -0
- package/dist/utils/agent-override.d.ts +43 -0
- package/dist/utils/agent-override.d.ts.map +1 -0
- package/dist/utils/agent-override.js +90 -0
- package/dist/utils/agent-override.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/input-parser.d.ts +37 -0
- package/dist/utils/input-parser.d.ts.map +1 -0
- package/dist/utils/input-parser.js +80 -0
- package/dist/utils/input-parser.js.map +1 -0
- package/package.json +12 -8
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input parsing utilities for CLI commands
|
|
3
|
+
*/
|
|
4
|
+
import type { Workflow } from '@marktoflow/core';
|
|
5
|
+
export interface ParseInputsOptions {
|
|
6
|
+
/** Raw input pairs from CLI (e.g., ['key=value', 'key2=value2']) */
|
|
7
|
+
inputPairs?: string[];
|
|
8
|
+
/** Whether to show debug output */
|
|
9
|
+
debug?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Parse CLI input pairs into a key-value object
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseInputPairs(inputPairs: string[] | undefined): Record<string, unknown>;
|
|
15
|
+
/**
|
|
16
|
+
* Debug log parsed inputs
|
|
17
|
+
*/
|
|
18
|
+
export declare function debugLogInputs(inputs: Record<string, unknown>): void;
|
|
19
|
+
export interface ValidateInputsResult {
|
|
20
|
+
/** Whether validation passed */
|
|
21
|
+
valid: boolean;
|
|
22
|
+
/** Final inputs with defaults applied */
|
|
23
|
+
inputs: Record<string, unknown>;
|
|
24
|
+
/** Missing required input names */
|
|
25
|
+
missingInputs: string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Validate required inputs and apply defaults
|
|
29
|
+
*/
|
|
30
|
+
export declare function validateAndApplyDefaults(workflow: Workflow, inputs: Record<string, unknown>, options?: {
|
|
31
|
+
debug?: boolean;
|
|
32
|
+
}): ValidateInputsResult;
|
|
33
|
+
/**
|
|
34
|
+
* Print missing inputs error and usage info
|
|
35
|
+
*/
|
|
36
|
+
export declare function printMissingInputsError(workflow: Workflow, missingInputs: string[], command: string, workflowPath: string): void;
|
|
37
|
+
//# sourceMappingURL=input-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-parser.d.ts","sourceRoot":"","sources":["../../src/utils/input-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CASpE;AAED,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mCAAmC;IACnC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,oBAAoB,CAkCtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,IAAI,CAaN"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input parsing utilities for CLI commands
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
/**
|
|
6
|
+
* Parse CLI input pairs into a key-value object
|
|
7
|
+
*/
|
|
8
|
+
export function parseInputPairs(inputPairs) {
|
|
9
|
+
const inputs = {};
|
|
10
|
+
if (inputPairs) {
|
|
11
|
+
for (const pair of inputPairs) {
|
|
12
|
+
const [key, value] = pair.split('=');
|
|
13
|
+
inputs[key] = value;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return inputs;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Debug log parsed inputs
|
|
20
|
+
*/
|
|
21
|
+
export function debugLogInputs(inputs) {
|
|
22
|
+
console.log(chalk.gray('\nš Debug: Parsed Inputs'));
|
|
23
|
+
if (Object.keys(inputs).length > 0) {
|
|
24
|
+
for (const [key, value] of Object.entries(inputs)) {
|
|
25
|
+
console.log(chalk.gray(` ${key}: ${JSON.stringify(value)}`));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
console.log(chalk.gray(' No inputs provided'));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Validate required inputs and apply defaults
|
|
34
|
+
*/
|
|
35
|
+
export function validateAndApplyDefaults(workflow, inputs, options) {
|
|
36
|
+
const result = {
|
|
37
|
+
valid: true,
|
|
38
|
+
inputs: { ...inputs },
|
|
39
|
+
missingInputs: [],
|
|
40
|
+
};
|
|
41
|
+
if (!workflow.inputs) {
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
// Check for missing required inputs
|
|
45
|
+
for (const [inputName, inputDef] of Object.entries(workflow.inputs)) {
|
|
46
|
+
if (inputDef.required && inputs[inputName] === undefined && inputDef.default === undefined) {
|
|
47
|
+
result.missingInputs.push(inputName);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (result.missingInputs.length > 0) {
|
|
51
|
+
result.valid = false;
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
// Apply defaults for inputs that weren't provided
|
|
55
|
+
for (const [inputName, inputDef] of Object.entries(workflow.inputs)) {
|
|
56
|
+
if (result.inputs[inputName] === undefined && inputDef.default !== undefined) {
|
|
57
|
+
result.inputs[inputName] = inputDef.default;
|
|
58
|
+
if (options?.debug) {
|
|
59
|
+
console.log(chalk.gray(` Using default for ${inputName}: ${JSON.stringify(inputDef.default)}`));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Print missing inputs error and usage info
|
|
67
|
+
*/
|
|
68
|
+
export function printMissingInputsError(workflow, missingInputs, command, workflowPath) {
|
|
69
|
+
console.log(chalk.red('\nā Error: Missing required input(s)\n'));
|
|
70
|
+
for (const inputName of missingInputs) {
|
|
71
|
+
const inputDef = workflow.inputs[inputName];
|
|
72
|
+
const description = inputDef.description ? ` - ${inputDef.description}` : '';
|
|
73
|
+
console.log(chalk.red(` ⢠${inputName} (${inputDef.type})${description}`));
|
|
74
|
+
}
|
|
75
|
+
console.log(chalk.yellow('\nUsage:'));
|
|
76
|
+
console.log(` marktoflow ${command} ${workflowPath} --input key=value\n`);
|
|
77
|
+
console.log(chalk.yellow('Example:'));
|
|
78
|
+
console.log(` marktoflow ${command} ${workflowPath} ${missingInputs.map((i) => `--input ${i}=value`).join(' ')}\n`);
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=input-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-parser.js","sourceRoot":"","sources":["../../src/utils/input-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marktoflow/cli",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "Agent automation framework with native MCP support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"marktoflow": "dist/index.js"
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/
|
|
13
|
+
"url": "git+https://github.com/marktoflow/marktoflow.git",
|
|
14
14
|
"directory": "packages/cli"
|
|
15
15
|
},
|
|
16
|
-
"homepage": "https://github.com/
|
|
16
|
+
"homepage": "https://github.com/marktoflow/marktoflow#readme",
|
|
17
17
|
"bugs": {
|
|
18
|
-
"url": "https://github.com/
|
|
18
|
+
"url": "https://github.com/marktoflow/marktoflow/issues"
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
21
|
"build": "tsc",
|
|
@@ -27,8 +27,9 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@inquirer/prompts": "^8.2.0",
|
|
30
|
-
"@marktoflow/core": "2.0.
|
|
31
|
-
"@marktoflow/
|
|
30
|
+
"@marktoflow/core": "2.0.1",
|
|
31
|
+
"@marktoflow/gui": "2.0.1",
|
|
32
|
+
"@marktoflow/integrations": "2.0.1",
|
|
32
33
|
"chalk": "^5.3.0",
|
|
33
34
|
"commander": "^12.1.0",
|
|
34
35
|
"open": "^10.1.0",
|
|
@@ -54,5 +55,8 @@
|
|
|
54
55
|
"ai-agents"
|
|
55
56
|
],
|
|
56
57
|
"author": "Scott Glover",
|
|
57
|
-
"license": "Apache-2.0"
|
|
58
|
+
"license": "Apache-2.0",
|
|
59
|
+
"publishConfig": {
|
|
60
|
+
"registry": "https://registry.npmjs.org/"
|
|
61
|
+
}
|
|
58
62
|
}
|