@siglo/cli 1.0.3 → 1.2.0
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/ECOSYSTEM.md +2 -1
- package/README.md +76 -61
- package/dist/bin.js +16 -8
- package/dist/bin.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -27
- package/dist/index.js.map +1 -1
- package/dist/step-templates.d.ts.map +1 -1
- package/dist/step-templates.js +30 -9
- package/dist/step-templates.js.map +1 -1
- package/package.json +15 -4
package/ECOSYSTEM.md
CHANGED
|
@@ -66,7 +66,8 @@ Notification factories require an explicit transport. For example:
|
|
|
66
66
|
import { SlackTransport, ResendTransport } from '@siglo/notifications';
|
|
67
67
|
const slack = new SlackTransport({ apiKey: process.env.SLACK_TOKEN! });
|
|
68
68
|
const email = new ResendTransport({
|
|
69
|
-
|
|
69
|
+
apiKey: process.env.RESEND_API_KEY!,
|
|
70
|
+
from: 'workflow@example.com',
|
|
70
71
|
});
|
|
71
72
|
```
|
|
72
73
|
|
package/README.md
CHANGED
|
@@ -54,6 +54,7 @@ Siglo <command> [arguments] [options]
|
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
### Global Options:
|
|
57
|
+
|
|
57
58
|
- `--format=mermaid|text|dot|json`: Diagram representation or export format (default: `mermaid`).
|
|
58
59
|
- `--direction=TD|LR|TB`: Graph layout direction for Mermaid or DOT diagrams (default: `TD`).
|
|
59
60
|
- `--out=<file>`: Write output directly to a file instead of `stdout`.
|
|
@@ -72,6 +73,7 @@ siglo init ./services/order-orchestrator
|
|
|
72
73
|
```
|
|
73
74
|
|
|
74
75
|
#### Generated Files:
|
|
76
|
+
|
|
75
77
|
1. `package.json`: Contains scripts (`npm test`, `npm start`) and required dependencies.
|
|
76
78
|
2. `src/workflow.ts`: Example order processing pipeline with validation and payment steps.
|
|
77
79
|
3. `src/workflow.test.ts`: Automated test executing the workflow with assertions.
|
|
@@ -87,6 +89,7 @@ siglo generate workflow order-processing
|
|
|
87
89
|
```
|
|
88
90
|
|
|
89
91
|
#### Generated Files:
|
|
92
|
+
|
|
90
93
|
1. `src/workflows/order-processing.workflow.ts`: Strongly-typed input/output interfaces, steps, and default workflow export.
|
|
91
94
|
2. `src/workflows/order-processing.workflow.test.ts`: Test harness setup verifying end-to-end execution and step invocations.
|
|
92
95
|
|
|
@@ -101,6 +104,7 @@ siglo generate step send-notification
|
|
|
101
104
|
```
|
|
102
105
|
|
|
103
106
|
#### Generated Files:
|
|
107
|
+
|
|
104
108
|
1. `src/steps/send-notification.step.ts`: Typed step module with input/output interfaces.
|
|
105
109
|
2. `src/steps/send-notification.step.test.ts`: Direct step execution test.
|
|
106
110
|
|
|
@@ -111,10 +115,13 @@ siglo generate step send-notification
|
|
|
111
115
|
Renders the workflow graph AST as either a Mermaid flowchart or an indented ASCII text hierarchy.
|
|
112
116
|
|
|
113
117
|
#### Mermaid Diagram (Default):
|
|
118
|
+
|
|
114
119
|
```bash
|
|
115
120
|
siglo visualize src/workflows/checkout.ts
|
|
116
121
|
```
|
|
117
|
-
|
|
122
|
+
|
|
123
|
+
_Output:_
|
|
124
|
+
|
|
118
125
|
```mermaid
|
|
119
126
|
flowchart TD
|
|
120
127
|
validateOrder["validateOrder (step)"]
|
|
@@ -125,10 +132,13 @@ flowchart TD
|
|
|
125
132
|
```
|
|
126
133
|
|
|
127
134
|
#### Text Diagram (`--format=text`):
|
|
135
|
+
|
|
128
136
|
```bash
|
|
129
137
|
siglo visualize src/workflows/checkout.ts --format=text
|
|
130
138
|
```
|
|
131
|
-
|
|
139
|
+
|
|
140
|
+
_Output:_
|
|
141
|
+
|
|
132
142
|
```text
|
|
133
143
|
Workflow Graph (total nodes: 3, edges: 2):
|
|
134
144
|
├── [step] validateOrder (validateOrder)
|
|
@@ -141,6 +151,7 @@ Workflow Graph (total nodes: 3, edges: 2):
|
|
|
141
151
|
### Command 5: `siglo export <workflow-file> [options]`
|
|
142
152
|
|
|
143
153
|
Exports the workflow topology graph directly to standard formats for architectural documentation, diagrams, or web visualization:
|
|
154
|
+
|
|
144
155
|
- `--format=mermaid`: Mermaid flowchart with policy badges (retries, timeouts, fallback).
|
|
145
156
|
- `--format=dot`: Graphviz DOT format compatible with Graphviz tools and PlantUML.
|
|
146
157
|
- `--format=json`: Comprehensive AST node/edge graph JSON.
|
|
@@ -163,6 +174,7 @@ siglo export src/workflows/order.workflow.ts --format=json --out=dist/order-ast.
|
|
|
163
174
|
### Command 6: `siglo validate <workflow-file>`
|
|
164
175
|
|
|
165
176
|
Performs static analysis on the workflow graph AST without executing any step business logic:
|
|
177
|
+
|
|
166
178
|
- Detects cyclic dependencies.
|
|
167
179
|
- Identifies unreachable nodes or disconnected subgraphs.
|
|
168
180
|
- Verifies combinator structures (`parallel`, `branch`, `map`).
|
|
@@ -171,12 +183,14 @@ Performs static analysis on the workflow graph AST without executing any step bu
|
|
|
171
183
|
siglo validate src/workflows/loan-pipeline.ts
|
|
172
184
|
```
|
|
173
185
|
|
|
174
|
-
|
|
186
|
+
_Success Output:_
|
|
187
|
+
|
|
175
188
|
```text
|
|
176
189
|
✔ Workflow graph is valid (acyclic, reachable)
|
|
177
190
|
```
|
|
178
191
|
|
|
179
|
-
|
|
192
|
+
_Failure Output (Exit Code 1):_
|
|
193
|
+
|
|
180
194
|
```text
|
|
181
195
|
✖ Workflow validation failed:
|
|
182
196
|
- Cycle detected between nodes 'processPayment' and 'retryPayment'
|
|
@@ -192,20 +206,21 @@ Returns a detailed JSON telemetry summary of the workflow topology, node classif
|
|
|
192
206
|
siglo inspect src/workflows/settlement.ts --redact=taxId,secretKey
|
|
193
207
|
```
|
|
194
208
|
|
|
195
|
-
|
|
209
|
+
_Output:_
|
|
210
|
+
|
|
196
211
|
```json
|
|
197
212
|
{
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
213
|
+
"totalNodes": 4,
|
|
214
|
+
"edges": [
|
|
215
|
+
{ "from": "step1", "to": "step2" },
|
|
216
|
+
{ "from": "step2", "to": "step3" }
|
|
217
|
+
],
|
|
218
|
+
"nodes": [
|
|
219
|
+
{ "id": "step1", "name": "validateInput", "type": "step" },
|
|
220
|
+
{ "id": "step2", "name": "[REDACTED]", "type": "step" },
|
|
221
|
+
{ "id": "step3", "name": "persistAudit", "type": "step" }
|
|
222
|
+
],
|
|
223
|
+
"redactedFields": ["taxId", "secretKey"]
|
|
209
224
|
}
|
|
210
225
|
```
|
|
211
226
|
|
|
@@ -219,21 +234,22 @@ Parses and validates a serialized checkpoint state JSON file (e.g., dumped from
|
|
|
219
234
|
siglo checkpoint ./logs/crash-checkpoint.json --redact=apiKey,password
|
|
220
235
|
```
|
|
221
236
|
|
|
222
|
-
|
|
237
|
+
_Output:_
|
|
238
|
+
|
|
223
239
|
```json
|
|
224
240
|
{
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
241
|
+
"stackId": "stack-8123-bba8",
|
|
242
|
+
"namespace": "tenant-enterprise",
|
|
243
|
+
"type": "flow",
|
|
244
|
+
"stepCount": 3,
|
|
245
|
+
"chains": ["validate", "charge", "notify"],
|
|
246
|
+
"contexts": {
|
|
247
|
+
"charge": {
|
|
248
|
+
"apiKey": "[REDACTED]",
|
|
249
|
+
"status": "APPROVED",
|
|
250
|
+
"amount": 250
|
|
251
|
+
}
|
|
235
252
|
}
|
|
236
|
-
}
|
|
237
253
|
}
|
|
238
254
|
```
|
|
239
255
|
|
|
@@ -251,12 +267,14 @@ siglo replay fixtures/order-regression.json
|
|
|
251
267
|
siglo replay fixtures/order-regression.json src/workflows/order.workflow.ts
|
|
252
268
|
```
|
|
253
269
|
|
|
254
|
-
|
|
270
|
+
_Success Output:_
|
|
271
|
+
|
|
255
272
|
```text
|
|
256
273
|
✔ Replay passed in 14ms
|
|
257
274
|
```
|
|
258
275
|
|
|
259
|
-
|
|
276
|
+
_Regression Output (Exit Code 1):_
|
|
277
|
+
|
|
260
278
|
```text
|
|
261
279
|
✖ Replay failed with discrepancies: {
|
|
262
280
|
"total": {
|
|
@@ -288,7 +306,7 @@ import {
|
|
|
288
306
|
ReplayFixture,
|
|
289
307
|
ReplayResult,
|
|
290
308
|
WorkflowVisualizationResult,
|
|
291
|
-
ExportWorkflowOptions
|
|
309
|
+
ExportWorkflowOptions,
|
|
292
310
|
} from '@siglo/cli';
|
|
293
311
|
```
|
|
294
312
|
|
|
@@ -325,18 +343,18 @@ Exports a workflow to Mermaid, Graphviz DOT, or JSON format:
|
|
|
325
343
|
const mermaidDiagram = exportWorkflow(myWorkflow, {
|
|
326
344
|
format: 'mermaid',
|
|
327
345
|
direction: 'TD',
|
|
328
|
-
includeBadges: true
|
|
346
|
+
includeBadges: true,
|
|
329
347
|
});
|
|
330
348
|
|
|
331
349
|
// Graphviz DOT format with left-to-right layout
|
|
332
350
|
const dotGraph = exportWorkflow(myWorkflow, {
|
|
333
351
|
format: 'dot',
|
|
334
|
-
direction: 'LR'
|
|
352
|
+
direction: 'LR',
|
|
335
353
|
});
|
|
336
354
|
|
|
337
355
|
// JSON AST format
|
|
338
356
|
const jsonAST = exportWorkflow(myWorkflow, {
|
|
339
|
-
format: 'json'
|
|
357
|
+
format: 'json',
|
|
340
358
|
});
|
|
341
359
|
```
|
|
342
360
|
|
|
@@ -349,8 +367,8 @@ Generates both Mermaid and ASCII text representations of a workflow:
|
|
|
349
367
|
```typescript
|
|
350
368
|
const result: WorkflowVisualizationResult = visualizeWorkflow(orderWorkflow);
|
|
351
369
|
|
|
352
|
-
console.log(result.mermaid);
|
|
353
|
-
console.log(result.text);
|
|
370
|
+
console.log(result.mermaid); // Mermaid flowchart TD string
|
|
371
|
+
console.log(result.text); // ASCII text tree
|
|
354
372
|
console.log(result.nodeCount); // Total nodes in AST
|
|
355
373
|
console.log(result.hasCycles); // Boolean cycle indicator
|
|
356
374
|
```
|
|
@@ -377,7 +395,7 @@ Analyzes graph structure and optionally redacts sensitive node names:
|
|
|
377
395
|
|
|
378
396
|
```typescript
|
|
379
397
|
const inspection = inspectWorkflow(myWorkflow, {
|
|
380
|
-
redact: ['confidentialStep', 'authStep']
|
|
398
|
+
redact: ['confidentialStep', 'authStep'],
|
|
381
399
|
});
|
|
382
400
|
```
|
|
383
401
|
|
|
@@ -389,7 +407,7 @@ Inspects a checkpoint object or JSON string, redacting specified context fields
|
|
|
389
407
|
|
|
390
408
|
```typescript
|
|
391
409
|
const summary = inspectCheckpoint(checkpointJsonString, {
|
|
392
|
-
redact: ['accessToken', 'cardToken']
|
|
410
|
+
redact: ['accessToken', 'cardToken'],
|
|
393
411
|
});
|
|
394
412
|
```
|
|
395
413
|
|
|
@@ -428,19 +446,19 @@ Use `replayFixture` in your test suite to ensure that workflow refactoring prese
|
|
|
428
446
|
|
|
429
447
|
```json
|
|
430
448
|
{
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
449
|
+
"name": "StandardTierPricing",
|
|
450
|
+
"version": "2.0.0",
|
|
451
|
+
"initialParam": {
|
|
452
|
+
"seats": 10,
|
|
453
|
+
"tier": "pro",
|
|
454
|
+
"annualDiscount": true
|
|
455
|
+
},
|
|
456
|
+
"expectedOutputs": {
|
|
457
|
+
"subtotal": 1200,
|
|
458
|
+
"discount": 240,
|
|
459
|
+
"total": 960,
|
|
460
|
+
"approved": true
|
|
461
|
+
}
|
|
444
462
|
}
|
|
445
463
|
```
|
|
446
464
|
|
|
@@ -457,11 +475,7 @@ test('Pricing Flow matches golden fixture expectations', async () => {
|
|
|
457
475
|
const fixturePath = path.resolve(__dirname, 'fixtures/pricing-fixture.json');
|
|
458
476
|
const result = await replayFixture(pricingFlow, fixturePath);
|
|
459
477
|
|
|
460
|
-
assert.equal(
|
|
461
|
-
result.success,
|
|
462
|
-
true,
|
|
463
|
-
`Workflow regression detected: ${JSON.stringify(result.diff, null, 2)}`
|
|
464
|
-
);
|
|
478
|
+
assert.equal(result.success, true, `Workflow regression detected: ${JSON.stringify(result.diff, null, 2)}`);
|
|
465
479
|
|
|
466
480
|
assert.ok(result.durationMs < 500, `Execution took ${result.durationMs}ms, exceeded 500ms budget`);
|
|
467
481
|
});
|
|
@@ -472,10 +486,11 @@ test('Pricing Flow matches golden fixture expectations', async () => {
|
|
|
472
486
|
## 6. Workflow File Loading Mechanics
|
|
473
487
|
|
|
474
488
|
When `Siglo` loads a workflow file specified on the command line (e.g. `siglo visualize src/workflow.ts` or `siglo export src/workflow.ts`):
|
|
489
|
+
|
|
475
490
|
1. The file is dynamically imported using Node.js ES modules.
|
|
476
491
|
2. The loader checks exports in the following order:
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
492
|
+
- `export default flowInstance`
|
|
493
|
+
- `export const workflow = flowInstance`
|
|
494
|
+
- `export const pipeline = flowInstance`
|
|
495
|
+
- Any named export satisfying `isFlow` or containing a `run()` function.
|
|
496
|
+
- If the candidate is a zero-argument factory function (e.g., `export default () => flow(...)`), it is invoked automatically to construct the graph.
|
package/dist/bin.js
CHANGED
|
@@ -39,7 +39,7 @@ const fs = __importStar(require("fs"));
|
|
|
39
39
|
const index_1 = require("./index");
|
|
40
40
|
function printHelp() {
|
|
41
41
|
console.log(`
|
|
42
|
-
siglo CLI v1.0
|
|
42
|
+
siglo CLI v1.2.0
|
|
43
43
|
|
|
44
44
|
USAGE:
|
|
45
45
|
siglo <command> [arguments] [options]
|
|
@@ -76,7 +76,10 @@ async function loadWorkflowFromFile(filePath) {
|
|
|
76
76
|
}
|
|
77
77
|
// Dynamic import of target workflow file
|
|
78
78
|
const mod = await Promise.resolve(`${resolvedPath}`).then(s => __importStar(require(s)));
|
|
79
|
-
const flowCandidate = mod.default ||
|
|
79
|
+
const flowCandidate = mod.default ||
|
|
80
|
+
mod.workflow ||
|
|
81
|
+
mod.pipeline ||
|
|
82
|
+
Object.values(mod).find((v) => v && (v.isFlow || typeof v.run === 'function'));
|
|
80
83
|
if (!flowCandidate) {
|
|
81
84
|
throw new Error(`No exported Flow found in ${resolvedPath}. Export a flow as default or named export.`);
|
|
82
85
|
}
|
|
@@ -107,7 +110,7 @@ async function main() {
|
|
|
107
110
|
return;
|
|
108
111
|
}
|
|
109
112
|
if (args.includes('--version') || args.includes('-v')) {
|
|
110
|
-
console.log('1.0
|
|
113
|
+
console.log('1.2.0');
|
|
111
114
|
return;
|
|
112
115
|
}
|
|
113
116
|
const command = args[0];
|
|
@@ -142,9 +145,14 @@ async function main() {
|
|
|
142
145
|
const match = /^--(type|url|provider|model|channel|interactive)=(.*)$/.exec(arg);
|
|
143
146
|
if (!match || match[1] in options)
|
|
144
147
|
throw new Error(`Invalid or duplicate generator option: ${arg}`);
|
|
145
|
-
options[match[1]] =
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
options[match[1]] =
|
|
149
|
+
match[1] === 'interactive'
|
|
150
|
+
? match[2] === 'true'
|
|
151
|
+
? true
|
|
152
|
+
: match[2] === 'false'
|
|
153
|
+
? false
|
|
154
|
+
: match[2]
|
|
155
|
+
: match[2];
|
|
148
156
|
}
|
|
149
157
|
const res = (0, index_1.generateStep)(name, process.cwd(), options);
|
|
150
158
|
console.log(`✔ Generated step in ${res.filePath}`);
|
|
@@ -257,7 +265,7 @@ async function main() {
|
|
|
257
265
|
}
|
|
258
266
|
}
|
|
259
267
|
const monitor = await (0, index_1.startMonitor)({ port, host, namespace: ns, flow: wf });
|
|
260
|
-
console.log(`🚀 Siglo Live Monitor running at http://${host ===
|
|
268
|
+
console.log(`🚀 Siglo Live Monitor running at http://${host === '0.0.0.0' ? 'localhost' : host}:${monitor.port}`);
|
|
261
269
|
console.log(` - Dashboard: http://localhost:${monitor.port}/`);
|
|
262
270
|
console.log(` - SSE Stream: http://localhost:${monitor.port}/events`);
|
|
263
271
|
console.log(` - WebSocket: ws://localhost:${monitor.port}/ws`);
|
|
@@ -283,7 +291,7 @@ async function main() {
|
|
|
283
291
|
action: actionArg,
|
|
284
292
|
mode: modeArg,
|
|
285
293
|
namespace: ns,
|
|
286
|
-
flow: wf
|
|
294
|
+
flow: wf,
|
|
287
295
|
});
|
|
288
296
|
writeOutput(JSON.stringify(report, null, 2), outArg);
|
|
289
297
|
break;
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,uCAAyB;AACzB,mCAaiB;AAEjB,SAAS,SAAS;IACd,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bf,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,yCAAyC;IACzC,MAAM,GAAG,GAAG,yBAAa,YAAY,uCAAC,CAAC;IACvC,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -78,8 +78,8 @@ export declare function generateStep(name: string, targetDir?: string, options?:
|
|
|
78
78
|
testPath: string;
|
|
79
79
|
};
|
|
80
80
|
export interface ExportWorkflowOptions {
|
|
81
|
-
format?:
|
|
82
|
-
direction?:
|
|
81
|
+
format?: 'mermaid' | 'dot' | 'json';
|
|
82
|
+
direction?: 'TD' | 'LR' | 'TB';
|
|
83
83
|
includeBadges?: boolean;
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
@@ -99,8 +99,8 @@ export interface MonitorOptions {
|
|
|
99
99
|
export declare function startMonitor(options?: MonitorOptions): Promise<any>;
|
|
100
100
|
export interface ReconcileCommandOptions {
|
|
101
101
|
staleThreshold?: string;
|
|
102
|
-
action?:
|
|
103
|
-
mode?:
|
|
102
|
+
action?: 'compensate' | 'fail' | 'inspect';
|
|
103
|
+
mode?: 'strict' | 'best-effort';
|
|
104
104
|
namespace?: string;
|
|
105
105
|
flow?: any;
|
|
106
106
|
stacks?: any[];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA0C,MAAM,kBAAkB,CAAC;AAC/F,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EACH,IAAI,EAIJ,qBAAqB,EACrB,qBAAqB,EAGxB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,2BAA2B;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAanE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CASrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,IAAI,GAAG,2BAA2B,CAW7E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,IAAI,GAAG,qBAAqB,CAGtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,IAAI,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACpC,qBAAqB,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBvD;AAED;;GAEG;AACH,wBAAsB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -127,9 +127,7 @@ function inspectWorkflow(workflow, options = {}) {
|
|
|
127
127
|
* Replays a workflow execution against a recorded test fixture.
|
|
128
128
|
*/
|
|
129
129
|
async function replayFixture(workflow, fixture) {
|
|
130
|
-
const parsedFixture = typeof fixture === 'string'
|
|
131
|
-
? JSON.parse(fs.readFileSync(fixture, 'utf-8'))
|
|
132
|
-
: fixture;
|
|
130
|
+
const parsedFixture = typeof fixture === 'string' ? JSON.parse(fs.readFileSync(fixture, 'utf-8')) : fixture;
|
|
133
131
|
const startTime = Date.now();
|
|
134
132
|
const result = await workflow.run(parsedFixture.initialParam, { pojo: true });
|
|
135
133
|
const durationMs = Date.now() - startTime;
|
|
@@ -155,9 +153,7 @@ async function replayFixture(workflow, fixture) {
|
|
|
155
153
|
* Inspects a serialized checkpoint with optional field redaction.
|
|
156
154
|
*/
|
|
157
155
|
function inspectCheckpoint(checkpoint, options = {}) {
|
|
158
|
-
const parsed = typeof checkpoint === 'string'
|
|
159
|
-
? JSON.parse(checkpoint)
|
|
160
|
-
: checkpoint;
|
|
156
|
+
const parsed = typeof checkpoint === 'string' ? JSON.parse(checkpoint) : checkpoint;
|
|
161
157
|
const redactKeys = options.redact || [];
|
|
162
158
|
const contexts = { ...(parsed.contexts || {}) };
|
|
163
159
|
if (redactKeys.length > 0) {
|
|
@@ -229,17 +225,20 @@ function initProject(targetDir = process.cwd()) {
|
|
|
229
225
|
* Scaffolds a new typed workflow file and test.
|
|
230
226
|
*/
|
|
231
227
|
function generateWorkflow(name, targetDir = process.cwd()) {
|
|
232
|
-
const srcDir = path.join(targetDir,
|
|
228
|
+
const srcDir = path.join(targetDir, 'src', 'workflows');
|
|
233
229
|
fs.mkdirSync(srcDir, { recursive: true });
|
|
234
|
-
const kebabName = name.toLowerCase().replace(/[^a-z0-9]+/g,
|
|
235
|
-
const pascalName = kebabName
|
|
230
|
+
const kebabName = name.toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
231
|
+
const pascalName = kebabName
|
|
232
|
+
.split('-')
|
|
233
|
+
.map(s => s.charAt(0).toUpperCase() + s.slice(1))
|
|
234
|
+
.join('');
|
|
236
235
|
const camelName = pascalName.charAt(0).toLowerCase() + pascalName.slice(1);
|
|
237
236
|
const filePath = path.join(srcDir, `${kebabName}.workflow.ts`);
|
|
238
237
|
const testPath = path.join(srcDir, `${kebabName}.workflow.test.ts`);
|
|
239
238
|
const workflowContent = `import { Step, flow } from '@siglo/core';\n\nexport interface ${pascalName}Input {\n id: string;\n}\n\nexport interface ${pascalName}Output {\n id: string;\n status: string;\n}\n\nexport const step1 = Step.create("validate", async (param: ${pascalName}Input) => {\n if (!param.id) throw new Error("Missing required field: id");\n return { validated: true };\n});\n\nexport const step2 = Step.create("process", async (param: ${pascalName}Input & { validated: boolean }) => {\n return { status: "COMPLETED" };\n});\n\nexport const ${camelName}Workflow = flow(step1, step2);\nexport default ${camelName}Workflow;\n`;
|
|
240
239
|
const testContent = `import { expect } from "chai";\nimport { createWorkflowHarness } from "@siglo/testing";\nimport { ${camelName}Workflow } from "./${kebabName}.workflow";\n\ndescribe("${pascalName}Workflow", () => {\n it("executes successfully", async () => {\n const harness = createWorkflowHarness(${camelName}Workflow);\n const result = await harness.run({ id: "test-123" });\n expect(result.status).to.equal("COMPLETED");\n harness.assertStepExecuted("validate");\n harness.assertStepExecuted("process");\n });\n});\n`;
|
|
241
|
-
fs.writeFileSync(filePath, workflowContent,
|
|
242
|
-
fs.writeFileSync(testPath, testContent,
|
|
240
|
+
fs.writeFileSync(filePath, workflowContent, 'utf-8');
|
|
241
|
+
fs.writeFileSync(testPath, testContent, 'utf-8');
|
|
243
242
|
return { filePath, testPath };
|
|
244
243
|
}
|
|
245
244
|
/**
|
|
@@ -247,9 +246,12 @@ function generateWorkflow(name, targetDir = process.cwd()) {
|
|
|
247
246
|
*/
|
|
248
247
|
function generateStep(name, targetDir = process.cwd(), options = {}) {
|
|
249
248
|
(0, step_templates_1.validateStepOptions)(name, options);
|
|
250
|
-
const srcDir = path.join(targetDir,
|
|
251
|
-
const kebabName = name.toLowerCase().replace(/[^a-z0-9]+/g,
|
|
252
|
-
const pascalName = kebabName
|
|
249
|
+
const srcDir = path.join(targetDir, 'src', 'steps');
|
|
250
|
+
const kebabName = name.toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
251
|
+
const pascalName = kebabName
|
|
252
|
+
.split('-')
|
|
253
|
+
.map(s => s.charAt(0).toUpperCase() + s.slice(1))
|
|
254
|
+
.join('');
|
|
253
255
|
const camelName = pascalName.charAt(0).toLowerCase() + pascalName.slice(1);
|
|
254
256
|
const filePath = path.join(srcDir, `${kebabName}.step.ts`);
|
|
255
257
|
const testPath = path.join(srcDir, `${kebabName}.step.test.ts`);
|
|
@@ -273,19 +275,15 @@ function generateStep(name, targetDir = process.cwd(), options = {}) {
|
|
|
273
275
|
* Exports a workflow graph to Mermaid, Graphviz DOT, or JSON format.
|
|
274
276
|
*/
|
|
275
277
|
function exportWorkflow(workflow, options = {}) {
|
|
276
|
-
const format = options.format ||
|
|
277
|
-
if (format ===
|
|
278
|
-
return typeof workflow.toJSON ===
|
|
279
|
-
? workflow.toJSON()
|
|
280
|
-
: JSON.stringify(workflow, null, 2);
|
|
278
|
+
const format = options.format || 'mermaid';
|
|
279
|
+
if (format === 'json') {
|
|
280
|
+
return typeof workflow.toJSON === 'function' ? workflow.toJSON() : JSON.stringify(workflow, null, 2);
|
|
281
281
|
}
|
|
282
|
-
if (format ===
|
|
283
|
-
return typeof workflow.toDot ===
|
|
284
|
-
? workflow.toDot({ direction: options.direction })
|
|
285
|
-
: "";
|
|
282
|
+
if (format === 'dot') {
|
|
283
|
+
return typeof workflow.toDot === 'function' ? workflow.toDot({ direction: options.direction }) : '';
|
|
286
284
|
}
|
|
287
285
|
// Default: mermaid
|
|
288
|
-
return typeof workflow.toMermaid ===
|
|
286
|
+
return typeof workflow.toMermaid === 'function'
|
|
289
287
|
? workflow.toMermaid({ direction: options.direction, includeBadges: options.includeBadges })
|
|
290
288
|
: toMermaid((0, core_1.inspectGraph)(workflow));
|
|
291
289
|
}
|
|
@@ -293,13 +291,13 @@ function exportWorkflow(workflow, options = {}) {
|
|
|
293
291
|
* Starts the live workflow monitoring dev server and web dashboard.
|
|
294
292
|
*/
|
|
295
293
|
async function startMonitor(options = {}) {
|
|
296
|
-
const { createMonitorServer } = await Promise.resolve().then(() => __importStar(require(
|
|
294
|
+
const { createMonitorServer } = await Promise.resolve().then(() => __importStar(require('@siglo/monitor')));
|
|
297
295
|
return createMonitorServer({
|
|
298
296
|
port: options.port,
|
|
299
297
|
host: options.host,
|
|
300
298
|
namespaceFilter: options.namespace,
|
|
301
299
|
flow: options.flow,
|
|
302
|
-
open: options.open
|
|
300
|
+
open: options.open,
|
|
303
301
|
});
|
|
304
302
|
}
|
|
305
303
|
/**
|
|
@@ -313,7 +311,7 @@ async function reconcileCommand(options = {}) {
|
|
|
313
311
|
mode: options.mode,
|
|
314
312
|
namespace: options.namespace,
|
|
315
313
|
flowLookup: () => options.flow,
|
|
316
|
-
stacks: options.stacks
|
|
314
|
+
stacks: options.stacks,
|
|
317
315
|
});
|
|
318
316
|
}
|
|
319
317
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,8BAaC;AAKD,kCASC;AAKD,8CAWC;AAKD,4CAGC;AAKD,0CAsBC;AAKD,sCA2BC;AAKD,8CA0BC;AAKD,kCA+CC;AAKD,4CAyBC;AAKD,oCAkCC;AAWD,wCAYC;AAaD,oCASC;AAcD,4CAUC;AAnXD,qDAA+F;AAE/F,uCAAyB;AACzB,2CAA6B;AAC7B,sCASqB;AAwBrB;;GAEG;AACH,SAAgB,SAAS,CAAC,UAAiC;IACvD,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,UAAiC;IACzD,MAAM,KAAK,GAAG,CAAC,gCAAgC,UAAU,CAAC,UAAU,YAAY,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC7G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,QAAc;IAC5C,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAA,mBAAY,EAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,oBAAa,EAAC,KAAK,CAAC,CAAC;IAExC,OAAO;QACH,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC;QAC9B,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC;QAC7B,SAAS,EAAE,UAAU,CAAC,UAAU;QAChC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK;KAC/B,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,QAAc;IAC3C,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,IAAA,oBAAa,EAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC3B,QAAc,EACd,UAAiC,EAAE;IAEnC,MAAM,UAAU,GAAG,IAAA,mBAAY,EAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAE5C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACnD,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO;YACH,GAAG,UAAU;YACb,KAAK,EAAE,cAAc;YACrB,cAAc;SACjB,CAAC;IACN,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,QAAc,EAAE,OAA+B;IAC/E,MAAM,aAAa,GACf,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE1F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,MAAM,IAAI,GAAmD,EAAE,CAAC;IAEhE,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5D,OAAO,GAAG,KAAK,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC7D,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO;QACP,UAAU;QACV,YAAY,EAAE,MAAM;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KACxD,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,UAAwB,EAAE,UAAiC,EAAE;IAC3F,MAAM,MAAM,GAAQ,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEzF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IAEhD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;gBAChC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;KACX,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,YAAoB,OAAO,CAAC,GAAG,EAAE;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG;YACR,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,mDAAmD;YAChE,OAAO,EAAE;gBACL,IAAI,EAAE,6BAA6B;gBACnC,KAAK,EAAE,qBAAqB;aAC/B;YACD,YAAY,EAAE;gBACV,aAAa,EAAE,QAAQ;aAC1B;YACD,eAAe,EAAE;gBACb,gBAAgB,EAAE,QAAQ;gBAC1B,aAAa,EAAE,SAAS;gBACxB,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,QAAQ;gBACb,UAAU,EAAE,QAAQ;aACvB;SACJ,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,4lBAA4lB,CAAC;QAC1mB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,wZAAwZ,CAAC;QAC1a,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC5B,IAAY,EACZ,YAAoB,OAAO,CAAC,GAAG,EAAE;IAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACxD,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,SAAS;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,cAAc,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,mBAAmB,CAAC,CAAC;IAEpE,MAAM,eAAe,GAAG,iEAAiE,UAAU,mDAAmD,UAAU,mHAAmH,UAAU,qLAAqL,UAAU,kGAAkG,SAAS,kDAAkD,SAAS,aAAa,CAAC;IAEhpB,MAAM,WAAW,GAAG,qGAAqG,SAAS,sBAAsB,SAAS,4BAA4B,UAAU,oHAAoH,SAAS,kPAAkP,CAAC;IAEvjB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACrD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAEjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CACxB,IAAY,EACZ,YAAoB,OAAO,CAAC,GAAG,EAAE,EACjC,UAA+B,EAAE;IAEjC,IAAA,oCAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,SAAS;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,UAAU,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,eAAe,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAG,2DAA2D,UAAU,2DAA2D,UAAU,sDAAsD,SAAS,uBAAuB,SAAS,oBAAoB,UAAU,mBAAmB,UAAU,sEAAsE,SAAS,SAAS,CAAC;IAEjZ,MAAM,WAAW,GAAG,4CAA4C,SAAS,kBAAkB,SAAS,wBAAwB,UAAU,+FAA+F,SAAS,+EAA+E,CAAC;IAE9T,MAAM,QAAQ,GAAG,IAAA,kCAAiB,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3G,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,IAAI,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,KAAK,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAQD;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAa,EAAE,UAAiC,EAAE;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,CAAC;IACD,mBAAmB;IACnB,OAAO,OAAO,QAAQ,CAAC,SAAS,KAAK,UAAU;QAC3C,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QAC5F,CAAC,CAAC,SAAS,CAAC,IAAA,mBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC;AAC5C,CAAC;AAUD;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,UAA0B,EAAE;IAC3D,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;IAC/D,OAAO,mBAAmB,CAAC;QACvB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,eAAe,EAAE,OAAO,CAAC,SAAS;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;KACrB,CAAC,CAAC;AACP,CAAC;AAWD;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAChG,OAAO,IAAA,+BAAwB,EAAC;QAC5B,gBAAgB,EAAE,OAAO;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-templates.d.ts","sourceRoot":"","sources":["../src/step-templates.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"step-templates.d.ts","sourceRoot":"","sources":["../src/step-templates.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GACzB;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAAA;CAAE,GACjG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/G,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAyCpF;AAWD,wBAAgB,iBAAiB,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,GAC7B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoD9C"}
|
package/dist/step-templates.js
CHANGED
|
@@ -6,7 +6,13 @@ function validateStepOptions(name, options) {
|
|
|
6
6
|
if (!/^[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*$/.test(name))
|
|
7
7
|
throw new Error('Step name must be a TypeScript identifier or kebab-case name');
|
|
8
8
|
const o = options;
|
|
9
|
-
const keys = {
|
|
9
|
+
const keys = {
|
|
10
|
+
generic: ['type'],
|
|
11
|
+
http: ['type', 'url'],
|
|
12
|
+
crypto: ['type', 'provider'],
|
|
13
|
+
ai: ['type', 'provider', 'model'],
|
|
14
|
+
notification: ['type', 'channel', 'interactive'],
|
|
15
|
+
};
|
|
10
16
|
const type = o.type ?? 'generic';
|
|
11
17
|
if (!keys[type])
|
|
12
18
|
throw new Error(`Unsupported step type: ${type}`);
|
|
@@ -25,7 +31,10 @@ function validateStepOptions(name, options) {
|
|
|
25
31
|
}
|
|
26
32
|
if (type === 'crypto' && !['stripe', 'github', 'shopify', 'slack', 'svix', 'generic-hmac'].includes(o.provider))
|
|
27
33
|
throw new Error('Unsupported webhook provider');
|
|
28
|
-
if (type === 'ai' &&
|
|
34
|
+
if (type === 'ai' &&
|
|
35
|
+
(!['openai', 'anthropic', 'gemini', 'ollama'].includes(o.provider) ||
|
|
36
|
+
typeof o.model !== 'string' ||
|
|
37
|
+
!o.model.trim()))
|
|
29
38
|
throw new Error('AI requires a supported provider and model');
|
|
30
39
|
if (type === 'notification') {
|
|
31
40
|
if (!['email', 'slack', 'discord', 'sms', 'push'].includes(o.channel))
|
|
@@ -36,7 +45,9 @@ function validateStepOptions(name, options) {
|
|
|
36
45
|
throw new Error('Approval supports email or slack');
|
|
37
46
|
}
|
|
38
47
|
}
|
|
39
|
-
const literal = (s) => JSON.stringify(s)
|
|
48
|
+
const literal = (s) => JSON.stringify(s)
|
|
49
|
+
.replace(/\u2028/g, '\\u2028')
|
|
50
|
+
.replace(/\u2029/g, '\\u2029');
|
|
40
51
|
const schema = `const schema = { '~standard': { version: 1 as const, vendor: 'example', validate(value: unknown) {
|
|
41
52
|
return value && typeof value === 'object' && typeof (value as { id?: unknown }).id === 'string'
|
|
42
53
|
? { value: value as { id: string } } : { issues: [{ message: 'Expected an object with string id' }] };
|
|
@@ -48,13 +59,15 @@ function ecosystemTemplate(name, file, options) {
|
|
|
48
59
|
const url = new URL(o.url);
|
|
49
60
|
return {
|
|
50
61
|
source: `import { httpStep } from '@siglo/http';\n\n${schema}\n// Static URLs declare their host automatically. For dynamic URLs, call .allowNetwork([...]).\nexport function create${name}Step() {\n return httpStep(${literal(name)}, { url: ${literal(o.url)}, method: 'POST',\n body: { id: 'example' }, requestSchema: schema, responseSchema: schema });\n}\n`,
|
|
51
|
-
test: header +
|
|
62
|
+
test: header +
|
|
63
|
+
`import { createMockHttpServer } from '@siglo/http/testing';\nimport { installNetworkInterceptors } from '@siglo/core';\n\ntest('HTTP offline response', async () => {\n installNetworkInterceptors();\n const originalFetch = globalThis.fetch;\n const http = createMockHttpServer();\n try {\n http.get(${literal(url.origin)}).intercept({ path: ${literal(url.pathname + url.search)}, method: 'POST' }).reply(200, { id: 'fixture' });\n const result = await create${name}Step().execute({});\n assert.equal(result.id, 'fixture');\n http.assertDone();\n } finally { http.close(); assert.equal(globalThis.fetch, originalFetch); }\n});\n`,
|
|
52
64
|
};
|
|
53
65
|
}
|
|
54
66
|
if (o.type === 'ai')
|
|
55
67
|
return {
|
|
56
68
|
source: `import { aiStep, type AiProviderAdapter } from '@siglo/ai';\n\n${schema}\nexport function create${name}Step(adapter?: AiProviderAdapter) {\n return aiStep(${literal(name)}, { model: { provider: ${literal(o.provider)}, model: ${literal(o.model)}, adapter },\n prompt: 'Return JSON with a string id.', schema,\n jsonSchema: { type: 'object', properties: { id: { type: 'string' } }, required: ['id'], additionalProperties: false } });\n}\n`,
|
|
57
|
-
test: header +
|
|
69
|
+
test: header +
|
|
70
|
+
`import { MockAiProvider } from '@siglo/ai/testing';\n\ntest('AI offline structured response', async () => {\n const ai = new MockAiProvider([{ text: '{"id":"fixture"}', promptTokens: 10, completionTokens: 5 }]);\n const result = await create${name}Step(ai).execute({});\n assert.deepEqual(result.data, { id: 'fixture' });\n ai.assertDone();\n});\n`,
|
|
58
71
|
};
|
|
59
72
|
if (o.type === 'crypto') {
|
|
60
73
|
const sign = {
|
|
@@ -63,19 +76,27 @@ function ecosystemTemplate(name, file, options) {
|
|
|
63
76
|
shopify: "{ 'x-shopify-hmac-sha256': hmac(body, 'base64') }",
|
|
64
77
|
slack: "{ 'x-slack-request-timestamp': timestamp, 'x-slack-signature': `v0=${hmac(`v0:${timestamp}:${body}`)}` }",
|
|
65
78
|
svix: "{ 'svix-id': 'fixture', 'svix-timestamp': timestamp, 'svix-signature': `v1,${hmac(`fixture.${timestamp}.${body}`, 'base64')}` }",
|
|
66
|
-
'generic-hmac': "{ 'x-signature': hmac(body) }"
|
|
79
|
+
'generic-hmac': "{ 'x-signature': hmac(body) }",
|
|
67
80
|
};
|
|
68
81
|
return {
|
|
69
82
|
source: `import { verifyWebhookStep } from '@siglo/crypto';\n\n// Pass the original raw body, never parsed/re-serialized JSON.\nexport function create${name}Step(secret = () => {\n const value = process.env.WEBHOOK_SECRET;\n if (!value) throw new Error('WEBHOOK_SECRET is required');\n return value;\n}) {\n return verifyWebhookStep(${literal(name)}, { provider: ${literal(o.provider)}, secret,\n payload: (ctx: { rawBody: string | Buffer; headers: Record<string, string> }) => ctx.rawBody,\n signature: ctx => ctx.headers });\n}\n`,
|
|
70
|
-
test: header +
|
|
83
|
+
test: header +
|
|
84
|
+
`import { createHmac } from 'node:crypto';\n\ntest('valid signature and rejection', async () => {\n const secret = 'synthetic-test-key';\n const body = '{ "id": "fixture" }';\n const timestamp = String(Math.floor(Date.now() / 1000));\n const hmac = (value: string, encoding: 'hex' | 'base64' = 'hex') => createHmac('sha256', secret).update(value).digest(encoding);\n const headers = ${sign[o.provider]};\n const result = await create${name}Step(() => secret).execute({ rawBody: body, headers });\n assert.equal(result.webhookVerified, true);\n await assert.rejects(() => create${name}Step(() => secret).execute({ rawBody: body + 'tampered', headers }));\n});\n`,
|
|
71
85
|
};
|
|
72
86
|
}
|
|
73
87
|
if (o.type === 'notification') {
|
|
74
|
-
const recipient = {
|
|
88
|
+
const recipient = {
|
|
89
|
+
email: 'fixture@example.test',
|
|
90
|
+
slack: 'CFIXTURE',
|
|
91
|
+
discord: 'https://discord.com/api/webhooks/fixture/token',
|
|
92
|
+
sms: '+15555550123',
|
|
93
|
+
push: 'fixture-device',
|
|
94
|
+
}[o.channel];
|
|
75
95
|
const approval = o.interactive;
|
|
76
96
|
return {
|
|
77
97
|
source: `import { ${approval ? 'sendInteractiveApprovalStep' : 'sendNotificationStep'}, type NotificationTransport } from '@siglo/notifications';\n\n// Inject a production transport at the application boundary; see the CLI cookbook.\nexport function create${name}Step(transport: NotificationTransport${approval ? ', callbackBaseUrl: string, signingSecret: string' : ''}) {\n return ${approval ? 'sendInteractiveApprovalStep' : 'sendNotificationStep'}(${literal(name)}, { channel: ${literal(o.channel)}, transport,\n recipient: ${literal(recipient)}, ${approval ? "title: 'Approval requested', correlationKey: 'example-approval', timeout: '1h',\n onApproveEvent: 'approved', onRejectEvent: 'rejected', callbackBaseUrl, signingSecret" : "template: 'Example notification'"} });\n}\n`,
|
|
78
|
-
test: header +
|
|
98
|
+
test: header +
|
|
99
|
+
`import { MockNotificationTransport } from '@siglo/notifications/testing';\n\ntest('offline ${approval ? 'approval dispatch' : 'delivery'}', async () => {\n const transport = new MockNotificationTransport(${literal(o.channel)});\n const result = await create${name}Step(transport${approval ? ", 'https://example.test/callback', 'synthetic-test-signing-key'" : ''}).execute({});\n assert.equal(result.notificationId, 'mock-1');\n assert.equal(transport.messages.length, 1);\n${approval ? ' assert.ok(transport.messages[0].interactiveActions);\n' : ''}});\n`,
|
|
79
100
|
};
|
|
80
101
|
}
|
|
81
102
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-templates.js","sourceRoot":"","sources":["../src/step-templates.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"step-templates.js","sourceRoot":"","sources":["../src/step-templates.ts"],"names":[],"mappings":";;AAQA,kDAyCC;AAWD,8CAwDC;AA5GD,SAAgB,mBAAmB,CAAC,IAAY,EAAE,OAA4B;IAC1E,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,MAAM,CAAC,GAAG,OAAc,CAAC;IACzB,MAAM,IAAI,GAA6B;QACnC,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QACrB,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;QAC5B,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;QACjC,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;KACnD,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC3G,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACD,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;YACvF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3G,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,IACI,IAAI,KAAK,IAAI;QACb,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9D,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;YAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS;YACjE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC5D,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAC1B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACZ,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;KAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACvC,MAAM,MAAM,GAAG;;;SAGN,CAAC;AAEV,SAAgB,iBAAiB,CAC7B,IAAY,EACZ,IAAY,EACZ,OAA4B;IAE5B,MAAM,CAAC,GAAG,OAAO,CAAC;IAClB,MAAM,MAAM,GAAG,2FAA2F,IAAI,kBAAkB,IAAI,WAAW,CAAC;IAChJ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO;YACH,MAAM,EAAE,8CAA8C,MAAM,0HAA0H,IAAI,+BAA+B,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,wGAAwG;YACxW,IAAI,EACA,MAAM;gBACN,oTAAoT,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,uBAAuB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,sFAAsF,IAAI,2KAA2K;SAC5oB,CAAC;IACN,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;QACf,OAAO;YACH,MAAM,EAAE,kEAAkE,MAAM,2BAA2B,IAAI,wDAAwD,OAAO,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,wMAAwM;YACrc,IAAI,EACA,MAAM;gBACN,sPAAsP,IAAI,uGAAuG;SACxW,CAAC;IACN,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,GAA2B;YACjC,MAAM,EAAE,6EAA6E;YACrF,MAAM,EAAE,mDAAmD;YAC3D,OAAO,EAAE,mDAAmD;YAC5D,KAAK,EAAE,0GAA0G;YACjH,IAAI,EAAE,iIAAiI;YACvI,cAAc,EAAE,+BAA+B;SAClD,CAAC;QACF,OAAO;YACH,MAAM,EAAE,gJAAgJ,IAAI,uLAAuL,OAAO,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,0JAA0J;YAC9hB,IAAI,EACA,MAAM;gBACN,sYAAsY,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,IAAI,8IAA8I,IAAI,8EAA8E;SACpqB,CAAC;IACN,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG;YACd,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,gDAAgD;YACzD,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,gBAAgB;SACzB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC;QAC/B,OAAO;YACH,MAAM,EAAE,YAAY,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,sBAAsB,6KAA6K,IAAI,wCAAwC,QAAQ,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EAAE,iBAAiB,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,OAAO,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,4KAA4K,CAAC,CAAC,CAAC,kCAAkC,WAAW;YACnxB,IAAI,EACA,MAAM;gBACN,8FAA8F,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,uEAAuE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,oCAAoC,IAAI,iBAAiB,QAAQ,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,EAAE,oHAAoH,QAAQ,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,EAAE,OAAO;SACxjB,CAAC;IACN,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siglo/cli",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Command-line tools for scaffolding, visualizing, inspecting, and replaying Siglo TypeScript workflows.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"bugs": {
|
|
42
42
|
"url": "https://github.com/jsoftgem/siglo/issues"
|
|
43
43
|
},
|
|
44
|
-
"homepage": "https://github.com/jsoftgem/siglo#readme",
|
|
44
|
+
"homepage": "https://github.com/jsoftgem/siglo/tree/main/packages/cli#readme",
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@siglo/core": "^1.0.0",
|
|
47
47
|
"@siglo/monitor": "^1.0.0"
|
|
@@ -54,5 +54,16 @@
|
|
|
54
54
|
"mocha": "^12.0.3",
|
|
55
55
|
"tsx": "^4.23.15",
|
|
56
56
|
"typescript": "~5.7.0"
|
|
57
|
-
}
|
|
57
|
+
},
|
|
58
|
+
"keywords": [
|
|
59
|
+
"siglo",
|
|
60
|
+
"workflow",
|
|
61
|
+
"typescript",
|
|
62
|
+
"cli",
|
|
63
|
+
"developer-tools",
|
|
64
|
+
"scaffolding",
|
|
65
|
+
"workflow-visualizer",
|
|
66
|
+
"static-analysis",
|
|
67
|
+
"replay"
|
|
68
|
+
]
|
|
58
69
|
}
|