@marktoflow/cli 2.0.0-alpha.3
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/dist/commands/debug.d.ts +75 -0
- package/dist/commands/debug.d.ts.map +1 -0
- package/dist/commands/debug.js +375 -0
- package/dist/commands/debug.js.map +1 -0
- package/dist/commands/dry-run.d.ts +40 -0
- package/dist/commands/dry-run.d.ts.map +1 -0
- package/dist/commands/dry-run.js +360 -0
- package/dist/commands/dry-run.js.map +1 -0
- package/dist/commands/new.d.ts +14 -0
- package/dist/commands/new.d.ts.map +1 -0
- package/dist/commands/new.js +483 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +726 -0
- package/dist/index.js.map +1 -0
- package/dist/oauth.d.ts +48 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +314 -0
- package/dist/oauth.js.map +1 -0
- package/dist/trigger.d.ts +3 -0
- package/dist/trigger.d.ts.map +1 -0
- package/dist/trigger.js +58 -0
- package/dist/trigger.js.map +1 -0
- package/dist/worker.d.ts +3 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +69 -0
- package/dist/worker.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dry-run mode for workflows
|
|
3
|
+
*
|
|
4
|
+
* Simulates workflow execution without actually calling external services.
|
|
5
|
+
* Useful for testing workflow logic, validating steps, and debugging.
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import { WorkflowStatus } from '@marktoflow/core';
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Mock Response Generator
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Generate mock responses based on action type
|
|
14
|
+
*/
|
|
15
|
+
export function generateMockResponse(action, inputs) {
|
|
16
|
+
const [service, ...methodParts] = action.split('.');
|
|
17
|
+
const method = methodParts.join('.');
|
|
18
|
+
// Service-specific mock responses
|
|
19
|
+
switch (service) {
|
|
20
|
+
case 'slack':
|
|
21
|
+
return generateSlackMock(method, inputs);
|
|
22
|
+
case 'github':
|
|
23
|
+
return generateGitHubMock(method, inputs);
|
|
24
|
+
case 'jira':
|
|
25
|
+
return generateJiraMock(method, inputs);
|
|
26
|
+
case 'gmail':
|
|
27
|
+
return generateGmailMock(method, inputs);
|
|
28
|
+
case 'linear':
|
|
29
|
+
return generateLinearMock(method, inputs);
|
|
30
|
+
case 'notion':
|
|
31
|
+
return generateNotionMock(method, inputs);
|
|
32
|
+
case 'claude':
|
|
33
|
+
return generateClaudeMock(method, inputs);
|
|
34
|
+
case 'ollama':
|
|
35
|
+
return generateOllamaMock(method, inputs);
|
|
36
|
+
default:
|
|
37
|
+
return { success: true, message: `Mock response for ${action}` };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function generateSlackMock(method, inputs) {
|
|
41
|
+
switch (method) {
|
|
42
|
+
case 'chat.postMessage':
|
|
43
|
+
return {
|
|
44
|
+
ok: true,
|
|
45
|
+
ts: '1234567890.123456',
|
|
46
|
+
channel: inputs.channel || 'C1234567890',
|
|
47
|
+
message: {
|
|
48
|
+
text: inputs.text || '',
|
|
49
|
+
ts: '1234567890.123456',
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
case 'conversations.history':
|
|
53
|
+
return {
|
|
54
|
+
ok: true,
|
|
55
|
+
messages: [
|
|
56
|
+
{ type: 'message', user: 'U123', text: 'Mock message 1', ts: '1234567890.001' },
|
|
57
|
+
{ type: 'message', user: 'U456', text: 'Mock message 2', ts: '1234567890.002' },
|
|
58
|
+
],
|
|
59
|
+
};
|
|
60
|
+
case 'users.info':
|
|
61
|
+
return {
|
|
62
|
+
ok: true,
|
|
63
|
+
user: {
|
|
64
|
+
id: 'U123456',
|
|
65
|
+
name: 'mockuser',
|
|
66
|
+
real_name: 'Mock User',
|
|
67
|
+
email: 'mock@example.com',
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
default:
|
|
71
|
+
return { ok: true, channel: inputs.channel };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function generateGitHubMock(method, inputs) {
|
|
75
|
+
switch (method) {
|
|
76
|
+
case 'pulls.get':
|
|
77
|
+
return {
|
|
78
|
+
number: inputs.pull_number || 42,
|
|
79
|
+
title: 'Mock Pull Request',
|
|
80
|
+
html_url: `https://github.com/${inputs.owner}/${inputs.repo}/pull/${inputs.pull_number || 42}`,
|
|
81
|
+
state: 'open',
|
|
82
|
+
user: { login: 'mockuser' },
|
|
83
|
+
additions: 50,
|
|
84
|
+
deletions: 10,
|
|
85
|
+
};
|
|
86
|
+
case 'pulls.listReviews':
|
|
87
|
+
return [
|
|
88
|
+
{ id: 1, user: { login: 'reviewer1' }, state: 'APPROVED' },
|
|
89
|
+
{ id: 2, user: { login: 'reviewer2' }, state: 'CHANGES_REQUESTED' },
|
|
90
|
+
];
|
|
91
|
+
case 'issues.create':
|
|
92
|
+
return {
|
|
93
|
+
number: 123,
|
|
94
|
+
html_url: `https://github.com/${inputs.owner}/${inputs.repo}/issues/123`,
|
|
95
|
+
title: inputs.title || 'Mock Issue',
|
|
96
|
+
state: 'open',
|
|
97
|
+
};
|
|
98
|
+
default:
|
|
99
|
+
return { id: 123, html_url: 'https://github.com/mock' };
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function generateJiraMock(method, inputs) {
|
|
103
|
+
switch (method) {
|
|
104
|
+
case 'issues.createIssue':
|
|
105
|
+
case 'issueSearch.createIssue':
|
|
106
|
+
return {
|
|
107
|
+
key: 'MOCK-123',
|
|
108
|
+
id: '10001',
|
|
109
|
+
self: 'https://jira.example.com/browse/MOCK-123',
|
|
110
|
+
fields: inputs.fields || {},
|
|
111
|
+
};
|
|
112
|
+
case 'issueSearch.searchForIssuesUsingJql':
|
|
113
|
+
return {
|
|
114
|
+
issues: [
|
|
115
|
+
{
|
|
116
|
+
key: 'MOCK-1',
|
|
117
|
+
fields: {
|
|
118
|
+
summary: 'Mock Issue 1',
|
|
119
|
+
status: { name: 'In Progress' },
|
|
120
|
+
assignee: { displayName: 'Mock User' },
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: 'MOCK-2',
|
|
125
|
+
fields: {
|
|
126
|
+
summary: 'Mock Issue 2',
|
|
127
|
+
status: { name: 'Done' },
|
|
128
|
+
assignee: { displayName: 'Mock User 2' },
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
};
|
|
133
|
+
default:
|
|
134
|
+
return { key: 'MOCK-123', id: '10001' };
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
function generateGmailMock(method, _inputs) {
|
|
138
|
+
switch (method) {
|
|
139
|
+
case 'users.messages.list':
|
|
140
|
+
return {
|
|
141
|
+
messages: [
|
|
142
|
+
{ id: 'msg1', threadId: 'thread1' },
|
|
143
|
+
{ id: 'msg2', threadId: 'thread2' },
|
|
144
|
+
],
|
|
145
|
+
};
|
|
146
|
+
case 'users.messages.send':
|
|
147
|
+
return {
|
|
148
|
+
id: 'msg123',
|
|
149
|
+
threadId: 'thread123',
|
|
150
|
+
labelIds: ['SENT'],
|
|
151
|
+
};
|
|
152
|
+
default:
|
|
153
|
+
return { id: 'msg123' };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
function generateLinearMock(_method, inputs) {
|
|
157
|
+
return {
|
|
158
|
+
id: 'issue-123',
|
|
159
|
+
title: inputs.title || 'Mock Linear Issue',
|
|
160
|
+
url: 'https://linear.app/team/issue/mock-123',
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
function generateNotionMock(method, inputs) {
|
|
164
|
+
switch (method) {
|
|
165
|
+
case 'pages.create':
|
|
166
|
+
return {
|
|
167
|
+
id: 'page-123',
|
|
168
|
+
url: 'https://notion.so/page-123',
|
|
169
|
+
properties: inputs.properties || {},
|
|
170
|
+
};
|
|
171
|
+
default:
|
|
172
|
+
return { id: 'page-123', url: 'https://notion.so/page-123' };
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function generateClaudeMock(_method, inputs) {
|
|
176
|
+
return {
|
|
177
|
+
id: 'msg_123',
|
|
178
|
+
type: 'message',
|
|
179
|
+
role: 'assistant',
|
|
180
|
+
content: [
|
|
181
|
+
{
|
|
182
|
+
type: 'text',
|
|
183
|
+
text: 'This is a mock response from Claude. In a real execution, this would contain the actual AI-generated content based on your prompt.',
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
model: inputs.model || 'claude-3-5-sonnet-20241022',
|
|
187
|
+
stop_reason: 'end_turn',
|
|
188
|
+
usage: {
|
|
189
|
+
input_tokens: 50,
|
|
190
|
+
output_tokens: 100,
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function generateOllamaMock(_method, inputs) {
|
|
195
|
+
return {
|
|
196
|
+
model: inputs.model || 'llama2',
|
|
197
|
+
response: 'This is a mock response from Ollama. In a real execution, this would contain the actual AI-generated content.',
|
|
198
|
+
done: true,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Simulate workflow execution with mock data
|
|
203
|
+
*/
|
|
204
|
+
export async function executeDryRun(workflow, inputs, options = {}) {
|
|
205
|
+
const startTime = Date.now();
|
|
206
|
+
const steps = [];
|
|
207
|
+
const variables = {};
|
|
208
|
+
const context = {
|
|
209
|
+
workflowId: workflow.metadata.id,
|
|
210
|
+
runId: 'dry-run-' + Date.now(),
|
|
211
|
+
variables,
|
|
212
|
+
inputs,
|
|
213
|
+
startedAt: new Date(),
|
|
214
|
+
currentStepIndex: 0,
|
|
215
|
+
status: WorkflowStatus.RUNNING,
|
|
216
|
+
stepMetadata: {},
|
|
217
|
+
};
|
|
218
|
+
console.log(chalk.bold.cyan('\nš§Ŗ Dry Run Mode\n'));
|
|
219
|
+
console.log(chalk.gray(`Simulating workflow: ${workflow.metadata.name}`));
|
|
220
|
+
console.log(chalk.gray(`Steps: ${workflow.steps.length}\n`));
|
|
221
|
+
// Simulate each step
|
|
222
|
+
for (let i = 0; i < workflow.steps.length; i++) {
|
|
223
|
+
const step = workflow.steps[i];
|
|
224
|
+
context.currentStepIndex = i;
|
|
225
|
+
const stepStart = Date.now();
|
|
226
|
+
// Check conditions
|
|
227
|
+
let stepStatus = 'completed';
|
|
228
|
+
if (step.conditions && step.conditions.length > 0) {
|
|
229
|
+
const conditionMet = evaluateConditions(step.conditions, context);
|
|
230
|
+
if (!conditionMet) {
|
|
231
|
+
stepStatus = 'skipped';
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// Resolve inputs with template variables
|
|
235
|
+
const resolvedInputs = resolveInputTemplates(step.inputs, context);
|
|
236
|
+
// Generate mock response
|
|
237
|
+
const mockOutput = stepStatus !== 'skipped' ? generateMockResponse(step.action, resolvedInputs) : null;
|
|
238
|
+
// Store output variable
|
|
239
|
+
if (step.outputVariable && mockOutput) {
|
|
240
|
+
variables[step.outputVariable] = mockOutput;
|
|
241
|
+
}
|
|
242
|
+
const stepDuration = Date.now() - stepStart + Math.random() * 50; // Add small random delay
|
|
243
|
+
const stepResult = {
|
|
244
|
+
stepId: step.id,
|
|
245
|
+
action: step.action,
|
|
246
|
+
status: stepStatus,
|
|
247
|
+
mockOutput,
|
|
248
|
+
resolvedInputs,
|
|
249
|
+
duration: stepDuration,
|
|
250
|
+
};
|
|
251
|
+
steps.push(stepResult);
|
|
252
|
+
// Display step result
|
|
253
|
+
displayStepResult(stepResult, options);
|
|
254
|
+
// Small delay for realism
|
|
255
|
+
await sleep(50);
|
|
256
|
+
}
|
|
257
|
+
const totalDuration = Date.now() - startTime;
|
|
258
|
+
return {
|
|
259
|
+
workflowId: workflow.metadata.id,
|
|
260
|
+
status: 'completed',
|
|
261
|
+
steps,
|
|
262
|
+
variables,
|
|
263
|
+
duration: totalDuration,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Simple condition evaluation for dry-run
|
|
268
|
+
*/
|
|
269
|
+
function evaluateConditions(conditions, context) {
|
|
270
|
+
// Very basic evaluation - just check if variables exist
|
|
271
|
+
for (const condition of conditions) {
|
|
272
|
+
const varName = condition.split('.')[0].trim();
|
|
273
|
+
if (!(varName in context.variables)) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return true;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Resolve template variables in inputs
|
|
281
|
+
*/
|
|
282
|
+
function resolveInputTemplates(inputs, context) {
|
|
283
|
+
const resolved = {};
|
|
284
|
+
for (const [key, value] of Object.entries(inputs)) {
|
|
285
|
+
if (typeof value === 'string' && value.includes('{{')) {
|
|
286
|
+
// Simple template resolution
|
|
287
|
+
let resolved_value = value;
|
|
288
|
+
const matches = value.matchAll(/\{\{([^}]+)\}\}/g);
|
|
289
|
+
for (const match of matches) {
|
|
290
|
+
const varPath = match[1].trim();
|
|
291
|
+
if (varPath.startsWith('inputs.')) {
|
|
292
|
+
const inputKey = varPath.slice(7);
|
|
293
|
+
resolved_value = resolved_value.replace(match[0], String(context.inputs[inputKey] || ''));
|
|
294
|
+
}
|
|
295
|
+
else if (varPath in context.variables) {
|
|
296
|
+
const varValue = context.variables[varPath];
|
|
297
|
+
resolved_value = resolved_value.replace(match[0], String(varValue));
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
resolved[key] = resolved_value;
|
|
301
|
+
}
|
|
302
|
+
else if (typeof value === 'object' && value !== null) {
|
|
303
|
+
resolved[key] = resolveInputTemplates(value, context);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
resolved[key] = value;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return resolved;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Display step result with formatting
|
|
313
|
+
*/
|
|
314
|
+
function displayStepResult(result, options) {
|
|
315
|
+
const statusIcon = result.status === 'completed'
|
|
316
|
+
? chalk.green('ā')
|
|
317
|
+
: result.status === 'skipped'
|
|
318
|
+
? chalk.yellow('ā')
|
|
319
|
+
: chalk.red('ā');
|
|
320
|
+
console.log(`${statusIcon} ${chalk.cyan(result.stepId)} ${chalk.gray('ā')} ${chalk.white(result.action)} ${chalk.dim(`(${result.duration.toFixed(0)}ms)`)}`);
|
|
321
|
+
if (options.verbose) {
|
|
322
|
+
if (result.status !== 'skipped' && options.showMockData) {
|
|
323
|
+
console.log(chalk.gray(' Mock output:'), JSON.stringify(result.mockOutput, null, 2)
|
|
324
|
+
.split('\n')
|
|
325
|
+
.map((line) => ` ${chalk.dim(line)}`)
|
|
326
|
+
.join('\n'));
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Display final summary
|
|
332
|
+
*/
|
|
333
|
+
export function displayDryRunSummary(result, options) {
|
|
334
|
+
console.log(chalk.bold.cyan('\nš Dry Run Summary\n'));
|
|
335
|
+
const completed = result.steps.filter((s) => s.status === 'completed').length;
|
|
336
|
+
const skipped = result.steps.filter((s) => s.status === 'skipped').length;
|
|
337
|
+
const failed = result.steps.filter((s) => s.status === 'would-fail').length;
|
|
338
|
+
console.log(` ${chalk.green('ā')} Completed: ${completed}`);
|
|
339
|
+
if (skipped > 0)
|
|
340
|
+
console.log(` ${chalk.yellow('ā')} Skipped: ${skipped}`);
|
|
341
|
+
if (failed > 0)
|
|
342
|
+
console.log(` ${chalk.red('ā')} Would fail: ${failed}`);
|
|
343
|
+
console.log(` ${chalk.gray('ā±')} Duration: ${result.duration.toFixed(0)}ms (simulated)`);
|
|
344
|
+
if (options.showVariables && Object.keys(result.variables).length > 0) {
|
|
345
|
+
console.log(chalk.bold.cyan('\nš Final Variables\n'));
|
|
346
|
+
for (const [key, value] of Object.entries(result.variables)) {
|
|
347
|
+
console.log(` ${chalk.cyan(key)}: ${chalk.gray(typeof value === 'object' ? JSON.stringify(value) : String(value))}`);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
console.log(chalk.bold.green('\nā
Dry run completed successfully\n'));
|
|
351
|
+
console.log(chalk.gray('Note: No external services were called. All responses are mocked.'));
|
|
352
|
+
console.log(chalk.gray('To execute for real, run without --dry-run flag.\n'));
|
|
353
|
+
}
|
|
354
|
+
// ============================================================================
|
|
355
|
+
// Helpers
|
|
356
|
+
// ============================================================================
|
|
357
|
+
function sleep(ms) {
|
|
358
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=dry-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry-run.js","sourceRoot":"","sources":["../../src/commands/dry-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* marktoflow new - Interactive workflow wizard
|
|
3
|
+
*
|
|
4
|
+
* Creates new workflows from templates or from scratch with guided prompts.
|
|
5
|
+
*/
|
|
6
|
+
export declare function runWorkflowWizard(options: {
|
|
7
|
+
output?: string;
|
|
8
|
+
template?: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* List available workflow templates
|
|
12
|
+
*/
|
|
13
|
+
export declare function listTemplates(): void;
|
|
14
|
+
//# sourceMappingURL=new.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0TH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,iBA8JtF;AAED;;GAEG;AACH,wBAAgB,aAAa,SA2C5B"}
|