@qodo/sdk 0.8.0 → 0.9.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/.claude/skills/qodo-agent/SKILL.md +37 -2
- package/.claude/skills/qodo-agent/assets/programmatic-agent.ts +24 -8
- package/.claude/skills/qodo-agent/references/common-issues.md +2 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/sdk/events.d.ts +8 -1
- package/dist/sdk/events.d.ts.map +1 -1
- package/dist/sdk/events.js +1 -0
- package/dist/sdk/events.js.map +1 -1
- package/dist/sdk/pipeline/PipelineBuilder.d.ts +21 -3
- package/dist/sdk/pipeline/PipelineBuilder.d.ts.map +1 -1
- package/dist/sdk/pipeline/PipelineBuilder.js +40 -2
- package/dist/sdk/pipeline/PipelineBuilder.js.map +1 -1
- package/dist/sdk/pipeline/PipelineRunner.d.ts.map +1 -1
- package/dist/sdk/pipeline/PipelineRunner.js +141 -25
- package/dist/sdk/pipeline/PipelineRunner.js.map +1 -1
- package/dist/sdk/pipeline/compiler.d.ts.map +1 -1
- package/dist/sdk/pipeline/compiler.js +4 -2
- package/dist/sdk/pipeline/compiler.js.map +1 -1
- package/dist/sdk/pipeline/index.d.ts +1 -1
- package/dist/sdk/pipeline/index.d.ts.map +1 -1
- package/dist/sdk/pipeline/index.js.map +1 -1
- package/dist/sdk/pipeline/types.d.ts +21 -3
- package/dist/sdk/pipeline/types.d.ts.map +1 -1
- package/dist/tracing/PipelineTracer.d.ts.map +1 -1
- package/dist/tracing/PipelineTracer.js +18 -2
- package/dist/tracing/PipelineTracer.js.map +1 -1
- package/dist/tracing/pipelineHelpers.d.ts +10 -1
- package/dist/tracing/pipelineHelpers.d.ts.map +1 -1
- package/dist/tracing/pipelineHelpers.js +105 -21
- package/dist/tracing/pipelineHelpers.js.map +1 -1
- package/package.json +1 -1
|
@@ -46,6 +46,10 @@ Use this skill when working with `@qodo/sdk` to build AI-powered agents. This sk
|
|
|
46
46
|
| `sdkPipeline()` | Build multi-step agent workflows |
|
|
47
47
|
| `runPipeline()` | Execute a pipeline with an SDK instance |
|
|
48
48
|
| `PipelineExecutionError` | Pipeline step failure error |
|
|
49
|
+
| `.step()` | Add a sequential step with typed state threading |
|
|
50
|
+
| `.parallel()` | Add a group of steps that execute concurrently |
|
|
51
|
+
| `.gate()` | Pipeline-level barrier — halts subsequent entries when false |
|
|
52
|
+
| `.branch()` | Pipeline-level if/else fork with sub-pipeline paths |
|
|
49
53
|
|
|
50
54
|
### Tool Middleware
|
|
51
55
|
|
|
@@ -493,8 +497,9 @@ const pipeline = sdkPipeline<{ repo: string }>()
|
|
|
493
497
|
const r = await run('lint', { args: { path: state.repo } });
|
|
494
498
|
return { lintOutput: r.result.final_output };
|
|
495
499
|
})
|
|
500
|
+
// Gate: only continue review if lint produced output
|
|
501
|
+
.gate((state) => !!state.lintOutput)
|
|
496
502
|
.step('review', async ({ state, run }) => {
|
|
497
|
-
// TypeScript knows state has `repo` + `lintOutput`
|
|
498
503
|
const r = await run('review', {
|
|
499
504
|
extraInstructions: `Lint results:\n${state.lintOutput}`,
|
|
500
505
|
});
|
|
@@ -509,7 +514,37 @@ console.log(result.steps); // Step logs with timing
|
|
|
509
514
|
await sdk.dispose();
|
|
510
515
|
```
|
|
511
516
|
|
|
512
|
-
Features: typed state threading, `.parallel([...])`,
|
|
517
|
+
Features: typed state threading, `.parallel([...])`, `.gate()` (pipeline barriers), `.branch()` (if/else forks), error strategies (`'skip'`, `'throw'`, custom recovery).
|
|
518
|
+
|
|
519
|
+
### Pattern 8b: Pipeline Branches
|
|
520
|
+
|
|
521
|
+
```typescript
|
|
522
|
+
import { QodoSDK, sdkPipeline, runPipeline } from '@qodo/sdk';
|
|
523
|
+
|
|
524
|
+
const sdk = new QodoSDK({ autoApproveTools: true });
|
|
525
|
+
|
|
526
|
+
const pipeline = sdkPipeline<{ fileCount: number }>()
|
|
527
|
+
.branch(
|
|
528
|
+
(state) => state.fileCount > 20,
|
|
529
|
+
{
|
|
530
|
+
true: (b) => b.step('deep', async ({ run }) => {
|
|
531
|
+
const r = await run('analyze-deep');
|
|
532
|
+
return { analysis: r.result.final_output };
|
|
533
|
+
}),
|
|
534
|
+
false: (b) => b.step('quick', async ({ run }) => {
|
|
535
|
+
const r = await run('summarize');
|
|
536
|
+
return { analysis: r.result.final_output };
|
|
537
|
+
}),
|
|
538
|
+
},
|
|
539
|
+
{ name: 'size-check' },
|
|
540
|
+
)
|
|
541
|
+
.step('report', async ({ state }) => ({
|
|
542
|
+
report: `${state.fileCount} files: ${state.analysis}`,
|
|
543
|
+
}))
|
|
544
|
+
.build();
|
|
545
|
+
|
|
546
|
+
await sdk.dispose();
|
|
547
|
+
```
|
|
513
548
|
|
|
514
549
|
### Pattern 9: Dry Run Mode
|
|
515
550
|
|
|
@@ -319,7 +319,7 @@ async function main() {
|
|
|
319
319
|
// @ts-ignore
|
|
320
320
|
console.log('Response:', promptResult.final_output);
|
|
321
321
|
// -------------------------------------------------------------------------
|
|
322
|
-
// Example 4: Pipeline (multi-step workflow)
|
|
322
|
+
// Example 4: Pipeline (multi-step workflow with gates and branches)
|
|
323
323
|
// -------------------------------------------------------------------------
|
|
324
324
|
console.log('\n\n--- Pipeline example ---\n');
|
|
325
325
|
|
|
@@ -328,18 +328,34 @@ async function main() {
|
|
|
328
328
|
const r = await run('analyze', { args: { path: state.path } });
|
|
329
329
|
return { analysis: r.result.structured_output };
|
|
330
330
|
})
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
331
|
+
// Gate: only continue if analysis produced results
|
|
332
|
+
.gate((state) => !!state.analysis, { name: 'has-analysis' })
|
|
333
|
+
// Branch: choose different summary strategies based on score
|
|
334
|
+
.branch(
|
|
335
|
+
(state) => (state.analysis as any)?.score > 80,
|
|
336
|
+
{
|
|
337
|
+
true: (b) => b.step('brief-summary', async ({ state, run }) => {
|
|
338
|
+
const r = await run('', {
|
|
339
|
+
extraInstructions: `High quality code (score: ${(state.analysis as any)?.score}). Brief summary: ${JSON.stringify(state.analysis)}`,
|
|
340
|
+
});
|
|
341
|
+
return { summary: r.result.final_output };
|
|
342
|
+
}),
|
|
343
|
+
false: (b) => b.step('detailed-summary', async ({ state, run }) => {
|
|
344
|
+
const r = await run('', {
|
|
345
|
+
extraInstructions: `Code needs improvement. Detailed summary with recommendations: ${JSON.stringify(state.analysis)}`,
|
|
346
|
+
});
|
|
347
|
+
return { summary: r.result.final_output };
|
|
348
|
+
}),
|
|
349
|
+
},
|
|
350
|
+
{ name: 'quality-check' },
|
|
351
|
+
)
|
|
337
352
|
.build();
|
|
338
353
|
|
|
339
354
|
const pipelineResult = await runPipeline(sdk, pipeline, { path: './src' });
|
|
340
355
|
console.log('Pipeline summary:', pipelineResult.state.summary);
|
|
341
356
|
for (const log of pipelineResult.steps) {
|
|
342
|
-
|
|
357
|
+
const branch = log.branchTaken ? ` (branch: ${log.branchTaken})` : '';
|
|
358
|
+
console.log(` ${log.name}: ${log.status}${branch} (${log.durationMs}ms)`);
|
|
343
359
|
}
|
|
344
360
|
|
|
345
361
|
// -------------------------------------------------------------------------
|
|
@@ -433,11 +433,12 @@ PipelineExecutionError: Step "lint" failed: ...
|
|
|
433
433
|
|
|
434
434
|
**Cause:** A pipeline step threw an error and no error strategy was set.
|
|
435
435
|
|
|
436
|
-
**Solution:** Add error handling per step:
|
|
436
|
+
**Solution:** Add error handling per step, or use gates to guard steps:
|
|
437
437
|
|
|
438
438
|
```typescript
|
|
439
439
|
sdkPipeline()
|
|
440
440
|
.step('lint', lintFn, { onError: 'skip' }) // Skip on failure
|
|
441
|
+
.gate((state) => !!state.lintOutput) // Gate: halt if no lint output
|
|
441
442
|
.step('review', reviewFn, {
|
|
442
443
|
onError: (error, state) => ({ fallback: true }), // Custom recovery
|
|
443
444
|
})
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { QodoSDK } from './sdk/index.js';
|
|
2
2
|
export type { QodoSDKOptions, QodoSDKRunResult, QodoSDKStreamEvent, QodoSDKRunOptions, QodoSDKLogger, } from './sdk/index.js';
|
|
3
3
|
export { SdkEventType, SDK_PROTOCOL_V2, matchSdkEvent, createSdkEvent, getSdkVersion, } from './sdk/events.js';
|
|
4
|
-
export type { QodoSdkEvent, SdkEventTypeName, SdkEventEnvelope, SdkInitEvent, SdkRunStartedEvent, SdkMessageDeltaEvent, SdkMessageFullEvent, SdkProgressEvent, SdkToolRequestedEvent, SdkToolApprovedEvent, SdkToolExecutedEvent, SdkErrorEvent, SdkFinalEvent, SdkEventHandlers, SdkPipelineStartedEvent, SdkPipelineStepStartedEvent, SdkPipelineStepCompletedEvent, SdkPipelineGateEvaluatedEvent, SdkPipelineCompletedEvent, SdkPipelineErrorEvent, } from './sdk/events.js';
|
|
4
|
+
export type { QodoSdkEvent, SdkEventTypeName, SdkEventEnvelope, SdkInitEvent, SdkRunStartedEvent, SdkMessageDeltaEvent, SdkMessageFullEvent, SdkProgressEvent, SdkToolRequestedEvent, SdkToolApprovedEvent, SdkToolExecutedEvent, SdkErrorEvent, SdkFinalEvent, SdkEventHandlers, SdkPipelineStartedEvent, SdkPipelineStepStartedEvent, SdkPipelineStepCompletedEvent, SdkPipelineGateEvaluatedEvent, SdkPipelineBranchEvaluatedEvent, SdkPipelineCompletedEvent, SdkPipelineErrorEvent, } from './sdk/events.js';
|
|
5
5
|
export { sdkAgent, sdkCommand, sdkArgs } from './sdk/builders.js';
|
|
6
6
|
export { zodOutputSchema, zodArgsSchema, zCoerce, zJsonValue, zJsonAny, parseArgsWithSchema, QodoSchemaError, } from './sdk/schemas.js';
|
|
7
7
|
export { z } from 'zod/v3';
|
|
@@ -19,7 +19,7 @@ export type { ToolCall, AIMessageInput, ToolMessageInput } from './messages/inde
|
|
|
19
19
|
export { convertMessagesToOpenAI } from './messages/index.js';
|
|
20
20
|
export type { OpenAIChatMessage } from './messages/index.js';
|
|
21
21
|
export { sdkPipeline, PipelineBuilder, Pipeline, runPipeline, PipelineExecutionError } from './sdk/pipeline/index.js';
|
|
22
|
-
export type { StepFn, StepContext, GateFn, ErrorStrategy, PipelineResult, StepLog, StepOptions, PipelineEventCallback, } from './sdk/pipeline/index.js';
|
|
22
|
+
export type { StepFn, StepContext, GateFn, ErrorStrategy, PipelineGate, PipelineBranch, PipelineResult, StepLog, StepOptions, PipelineEventCallback, } from './sdk/pipeline/index.js';
|
|
23
23
|
export { compileDeclarativePipeline, DeclarativePipelineValidationError } from './sdk/pipeline/index.js';
|
|
24
24
|
export type { DeclarativePipelineStep, DeclarativePipeline } from './sdk/pipeline/index.js';
|
|
25
25
|
export type { ToolMiddleware } from './sdk/middleware.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AA0BzB,uBAAuB;AACvB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,uDAAuD;AACvD,4FAA4F;AAC5F,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAOjE,6BAA6B;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAYlD,UAAU;AACV,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,qEAAqE;AACrE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AActH,uBAAuB;AACvB,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,yBAAyB,CAAC;AAKzG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAExG,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGjG,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGlF,+BAA+B;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,gCAAgC;AAChC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/sdk/events.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare const SdkEventType: {
|
|
|
19
19
|
readonly PipelineStepStarted: "sdk.pipeline.step.started";
|
|
20
20
|
readonly PipelineStepCompleted: "sdk.pipeline.step.completed";
|
|
21
21
|
readonly PipelineGateEvaluated: "sdk.pipeline.gate.evaluated";
|
|
22
|
+
readonly PipelineBranchEvaluated: "sdk.pipeline.branch.evaluated";
|
|
22
23
|
readonly PipelineCompleted: "sdk.pipeline.completed";
|
|
23
24
|
readonly PipelineError: "sdk.pipeline.error";
|
|
24
25
|
};
|
|
@@ -167,6 +168,12 @@ export type SdkPipelineGateEvaluatedEvent = SdkEventEnvelope<typeof SdkEventType
|
|
|
167
168
|
step_name: string;
|
|
168
169
|
/** Whether the gate passed (true) or the step was skipped (false). */
|
|
169
170
|
passed: boolean;
|
|
171
|
+
/** When true, this is a pipeline-level gate (not a per-step gate). */
|
|
172
|
+
pipeline_level?: boolean;
|
|
173
|
+
}>;
|
|
174
|
+
export type SdkPipelineBranchEvaluatedEvent = SdkEventEnvelope<typeof SdkEventType.PipelineBranchEvaluated, {
|
|
175
|
+
branch_name: string;
|
|
176
|
+
condition_result: boolean;
|
|
170
177
|
}>;
|
|
171
178
|
export type SdkPipelineCompletedEvent = SdkEventEnvelope<typeof SdkEventType.PipelineCompleted, {
|
|
172
179
|
/** Total duration of the pipeline run in ms. */
|
|
@@ -181,7 +188,7 @@ export type SdkPipelineErrorEvent = SdkEventEnvelope<typeof SdkEventType.Pipelin
|
|
|
181
188
|
message: string;
|
|
182
189
|
cause?: any;
|
|
183
190
|
}>;
|
|
184
|
-
export type QodoSdkEvent = SdkInitEvent | SdkRunStartedEvent | SdkMessageDeltaEvent | SdkMessageFullEvent | SdkProgressEvent | SdkToolRequestedEvent | SdkToolApprovedEvent | SdkToolExecutedEvent | SdkErrorEvent | SdkFinalEvent | SdkPipelineStartedEvent | SdkPipelineStepStartedEvent | SdkPipelineStepCompletedEvent | SdkPipelineGateEvaluatedEvent | SdkPipelineCompletedEvent | SdkPipelineErrorEvent;
|
|
191
|
+
export type QodoSdkEvent = SdkInitEvent | SdkRunStartedEvent | SdkMessageDeltaEvent | SdkMessageFullEvent | SdkProgressEvent | SdkToolRequestedEvent | SdkToolApprovedEvent | SdkToolExecutedEvent | SdkErrorEvent | SdkFinalEvent | SdkPipelineStartedEvent | SdkPipelineStepStartedEvent | SdkPipelineStepCompletedEvent | SdkPipelineGateEvaluatedEvent | SdkPipelineBranchEvaluatedEvent | SdkPipelineCompletedEvent | SdkPipelineErrorEvent;
|
|
185
192
|
export declare function createSdkEvent<TType extends QodoSdkEvent['type'], TData>(args: {
|
|
186
193
|
type: TType;
|
|
187
194
|
run_id: string;
|
package/dist/sdk/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/sdk/events.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,EAAG,aAAsB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/sdk/events.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/events.js
CHANGED
|
@@ -20,6 +20,7 @@ export const SdkEventType = {
|
|
|
20
20
|
PipelineStepStarted: 'sdk.pipeline.step.started',
|
|
21
21
|
PipelineStepCompleted: 'sdk.pipeline.step.completed',
|
|
22
22
|
PipelineGateEvaluated: 'sdk.pipeline.gate.evaluated',
|
|
23
|
+
PipelineBranchEvaluated: 'sdk.pipeline.branch.evaluated',
|
|
23
24
|
PipelineCompleted: 'sdk.pipeline.completed',
|
|
24
25
|
PipelineError: 'sdk.pipeline.error',
|
|
25
26
|
};
|
package/dist/sdk/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sdk/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAsB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,iBAAiB;IAC7B,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,oBAAoB;IACnC,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,eAAe,EAAE,sBAAsB;IACvC,mBAAmB,EAAE,2BAA2B;IAChD,qBAAqB,EAAE,6BAA6B;IACpD,qBAAqB,EAAE,6BAA6B;IACpD,iBAAiB,EAAE,wBAAwB;IAC3C,aAAa,EAAE,oBAAoB;CAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sdk/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAsB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,iBAAiB;IAC7B,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,oBAAoB;IACnC,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,WAAW;IAClB,eAAe,EAAE,sBAAsB;IACvC,mBAAmB,EAAE,2BAA2B;IAChD,qBAAqB,EAAE,6BAA6B;IACpD,qBAAqB,EAAE,6BAA6B;IACpD,uBAAuB,EAAE,+BAA+B;IACxD,iBAAiB,EAAE,wBAAwB;IAC3C,aAAa,EAAE,oBAAoB;CAC3B,CAAC;AA+NX,MAAM,UAAU,cAAc,CAA4C,IASzE;IACC,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;QACvC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,IAAI,EAAE,IAAI,CAAC,IAAI;KACkB,CAAC;AACtC,CAAC;AAQD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,EAAgB,EAAE,QAA0B;IACxE,MAAM,EAAE,GAAI,QAAgB,CAAC,EAAE,CAAC,IAAI,CAA+C,CAAC;IACpF,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACtB,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,yDAAyD;IACzD,OAAO,iBAAiB,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { PipelineEntry, StepFn, GateFn, ErrorStrategy } from './types.js';
|
|
17
17
|
export interface StepOptions<TState, TOut> {
|
|
18
|
-
/** Skip this step when the gate returns false. */
|
|
19
|
-
gate?: GateFn<TState>;
|
|
20
18
|
/** Error recovery strategy (default: 'throw'). */
|
|
21
19
|
onError?: ErrorStrategy<TState, TOut>;
|
|
22
20
|
}
|
|
@@ -45,9 +43,29 @@ export declare class PipelineBuilder<TState extends Record<string, any>, TInit e
|
|
|
45
43
|
parallel<TOut extends Record<string, any>>(steps: Array<{
|
|
46
44
|
name: string;
|
|
47
45
|
fn: StepFn<TState, TOut>;
|
|
48
|
-
gate?: GateFn<TState>;
|
|
49
46
|
onError?: ErrorStrategy<TState, TOut>;
|
|
50
47
|
}>): PipelineBuilder<TState & TOut, TInit>;
|
|
48
|
+
/**
|
|
49
|
+
* Add a pipeline-level gate.
|
|
50
|
+
*
|
|
51
|
+
* When the predicate returns false, all subsequent entries are skipped.
|
|
52
|
+
*/
|
|
53
|
+
gate(predicate: GateFn<TState>, options?: {
|
|
54
|
+
name?: string;
|
|
55
|
+
}): PipelineBuilder<TState, TInit>;
|
|
56
|
+
/**
|
|
57
|
+
* Add a pipeline-level branch (if/else fork).
|
|
58
|
+
*
|
|
59
|
+
* When the condition returns true, the `true` path executes;
|
|
60
|
+
* otherwise the optional `false` path executes.
|
|
61
|
+
* Both branches must produce the same output type `TOut`.
|
|
62
|
+
*/
|
|
63
|
+
branch<TOut extends Record<string, any>>(condition: GateFn<TState>, paths: {
|
|
64
|
+
true: (b: PipelineBuilder<TState, TState>) => PipelineBuilder<TState & TOut, TState>;
|
|
65
|
+
false?: (b: PipelineBuilder<TState, TState>) => PipelineBuilder<TState & TOut, TState>;
|
|
66
|
+
}, options?: {
|
|
67
|
+
name?: string;
|
|
68
|
+
}): PipelineBuilder<TState & TOut, TInit>;
|
|
51
69
|
/**
|
|
52
70
|
* Finalize the pipeline definition.
|
|
53
71
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineBuilder.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"PipelineBuilder.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAKV,aAAa,EACb,MAAM,EACN,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,WAAW,CAAC,MAAM,EAAE,IAAI;IACvC,kDAAkD;IAClD,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACvC;AAMD;;;;;;GAMG;AACH,qBAAa,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;gBAI7F,OAAO,GAAE,aAAa,CAAC,MAAM,CAAC,EAAO;IAIjD;;;;;OAKG;IACH,IAAI,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACxB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAClC,eAAe,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC;IAaxC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvC,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACvC,CAAC,GACD,eAAe,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC;IAexC;;;;OAIG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EACzB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;IAYjC;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;QACrF,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;KACxF,EACD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,eAAe,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC;IAmBxC;;;;OAIG;IACH,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;CAGjC;AAMD,qBAAa,QAAQ,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;gBAItF,OAAO,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE;CAGtD"}
|
|
@@ -39,7 +39,6 @@ export class PipelineBuilder {
|
|
|
39
39
|
const entry = {
|
|
40
40
|
name,
|
|
41
41
|
fn,
|
|
42
|
-
gate: options?.gate,
|
|
43
42
|
onError: options?.onError ?? 'throw',
|
|
44
43
|
};
|
|
45
44
|
// Cast is safe: we widen TState to TState & TOut going forward
|
|
@@ -60,7 +59,6 @@ export class PipelineBuilder {
|
|
|
60
59
|
steps: steps.map((s) => ({
|
|
61
60
|
name: s.name,
|
|
62
61
|
fn: s.fn,
|
|
63
|
-
gate: s.gate,
|
|
64
62
|
onError: s.onError ?? 'throw',
|
|
65
63
|
})),
|
|
66
64
|
};
|
|
@@ -69,6 +67,46 @@ export class PipelineBuilder {
|
|
|
69
67
|
group,
|
|
70
68
|
]);
|
|
71
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Add a pipeline-level gate.
|
|
72
|
+
*
|
|
73
|
+
* When the predicate returns false, all subsequent entries are skipped.
|
|
74
|
+
*/
|
|
75
|
+
gate(predicate, options) {
|
|
76
|
+
const entry = {
|
|
77
|
+
kind: 'gate',
|
|
78
|
+
name: options?.name ?? `gate-${this._entries.length}`,
|
|
79
|
+
fn: predicate,
|
|
80
|
+
};
|
|
81
|
+
return new PipelineBuilder([
|
|
82
|
+
...this._entries,
|
|
83
|
+
entry,
|
|
84
|
+
]);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Add a pipeline-level branch (if/else fork).
|
|
88
|
+
*
|
|
89
|
+
* When the condition returns true, the `true` path executes;
|
|
90
|
+
* otherwise the optional `false` path executes.
|
|
91
|
+
* Both branches must produce the same output type `TOut`.
|
|
92
|
+
*/
|
|
93
|
+
branch(condition, paths, options) {
|
|
94
|
+
const trueBranch = paths.true(new PipelineBuilder());
|
|
95
|
+
const falseBranch = paths.false
|
|
96
|
+
? paths.false(new PipelineBuilder())
|
|
97
|
+
: new PipelineBuilder();
|
|
98
|
+
const entry = {
|
|
99
|
+
kind: 'branch',
|
|
100
|
+
name: options?.name ?? `branch-${this._entries.length}`,
|
|
101
|
+
condition,
|
|
102
|
+
trueEntries: Object.freeze([...trueBranch._entries]),
|
|
103
|
+
falseEntries: Object.freeze([...falseBranch._entries]),
|
|
104
|
+
};
|
|
105
|
+
return new PipelineBuilder([
|
|
106
|
+
...this._entries,
|
|
107
|
+
entry,
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
72
110
|
/**
|
|
73
111
|
* Finalize the pipeline definition.
|
|
74
112
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineBuilder.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"PipelineBuilder.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAC1B,gBAAgB;IACP,QAAQ,CAA0B;IAE3C,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CACF,IAAY,EACZ,EAAwB,EACxB,OAAmC;QAEnC,MAAM,KAAK,GAA+B;YACxC,IAAI;YACJ,EAAE;YACF,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO;SACrC,CAAC;QACF,+DAA+D;QAC/D,OAAO,IAAI,eAAe,CAAuB;YAC/C,GAAG,IAAI,CAAC,QAAiB;YACzB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CACN,KAIE;QAEF,MAAM,KAAK,GAA0B;YACnC,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,EAAE,EAAE,CAAC,CAAC,EAAyB;gBAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO;aAC9B,CAAC,CAAC;SACJ,CAAC;QACF,OAAO,IAAI,eAAe,CAAuB;YAC/C,GAAG,IAAI,CAAC,QAAiB;YACzB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,CACF,SAAyB,EACzB,OAA2B;QAE3B,MAAM,KAAK,GAAyB;YAClC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACrD,EAAE,EAAE,SAAS;SACd,CAAC;QACF,OAAO,IAAI,eAAe,CAAgB;YACxC,GAAG,IAAI,CAAC,QAAiB;YACzB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CACJ,SAAyB,EACzB,KAGC,EACD,OAA2B;QAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,eAAe,EAAkB,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;YAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,eAAe,EAAkB,CAAC;YACpD,CAAC,CAAC,IAAI,eAAe,EAAkB,CAAC;QAE1C,MAAM,KAAK,GAA2B;YACpC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvD,SAAS;YACT,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAA4B;YAC/E,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAA4B;SAClF,CAAC;QACF,OAAO,IAAI,eAAe,CAAuB;YAC/C,GAAG,IAAI,CAAC,QAAiB;YACzB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAI,QAAQ,CAAgB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAA4B,CAAC,CAAC;IACnG,CAAC;CACF;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E,MAAM,OAAO,QAAQ;IACnB,gBAAgB;IACP,OAAO,CAAmC;IAEnD,YAAY,OAAyC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineRunner.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAuC,MAAM,eAAe,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"PipelineRunner.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAuC,MAAM,eAAe,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAMV,cAAc,EAGf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,qBAAa,sBAAuB,SAAQ,KAAK;aAG7B,QAAQ,EAAE,MAAM;aAChB,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAC9G,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EACjC,YAAY,EAAE,KAAK,EACnB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAoFjC"}
|
|
@@ -34,7 +34,27 @@ export async function runPipeline(sdk, pipeline, initialState, onEvent) {
|
|
|
34
34
|
step_names: allStepNames,
|
|
35
35
|
});
|
|
36
36
|
try {
|
|
37
|
-
|
|
37
|
+
const entries = pipeline.entries;
|
|
38
|
+
for (let i = 0; i < entries.length; i++) {
|
|
39
|
+
const entry = entries[i];
|
|
40
|
+
if (isPipelineGate(entry)) {
|
|
41
|
+
const { passed, nextSeq } = await evaluatePipelineGate(entry, state, onEvent, runId, seq);
|
|
42
|
+
seq = nextSeq;
|
|
43
|
+
if (!passed) {
|
|
44
|
+
for (let j = i + 1; j < entries.length; j++) {
|
|
45
|
+
addSkipLogs(entries[j], stepLogs);
|
|
46
|
+
}
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (isPipelineBranch(entry)) {
|
|
52
|
+
const { newState, logs, nextSeq } = await executeBranch(sdk, entry, state, onEvent, runId, seq);
|
|
53
|
+
seq = nextSeq;
|
|
54
|
+
state = { ...state, ...newState };
|
|
55
|
+
stepLogs.push(...logs);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
38
58
|
if (isParallelGroup(entry)) {
|
|
39
59
|
const { newState, logs, nextSeq } = await executeParallelGroup(sdk, entry, state, onEvent, runId, seq);
|
|
40
60
|
seq = nextSeq;
|
|
@@ -74,10 +94,24 @@ export async function runPipeline(sdk, pipeline, initialState, onEvent) {
|
|
|
74
94
|
function isParallelGroup(entry) {
|
|
75
95
|
return entry.kind === 'parallel';
|
|
76
96
|
}
|
|
77
|
-
function
|
|
97
|
+
function isPipelineGate(entry) {
|
|
98
|
+
return entry.kind === 'gate';
|
|
99
|
+
}
|
|
100
|
+
function isPipelineBranch(entry) {
|
|
101
|
+
return entry.kind === 'branch';
|
|
102
|
+
}
|
|
103
|
+
function collectEntryNames(entries) {
|
|
78
104
|
const names = [];
|
|
79
|
-
for (const entry of
|
|
80
|
-
if (
|
|
105
|
+
for (const entry of entries) {
|
|
106
|
+
if (isPipelineGate(entry)) {
|
|
107
|
+
names.push(entry.name);
|
|
108
|
+
}
|
|
109
|
+
else if (isPipelineBranch(entry)) {
|
|
110
|
+
names.push(entry.name);
|
|
111
|
+
names.push(...collectEntryNames(entry.trueEntries));
|
|
112
|
+
names.push(...collectEntryNames(entry.falseEntries));
|
|
113
|
+
}
|
|
114
|
+
else if (isParallelGroup(entry)) {
|
|
81
115
|
for (const step of entry.steps) {
|
|
82
116
|
names.push(step.name);
|
|
83
117
|
}
|
|
@@ -88,6 +122,9 @@ function collectStepNames(pipeline) {
|
|
|
88
122
|
}
|
|
89
123
|
return names;
|
|
90
124
|
}
|
|
125
|
+
function collectStepNames(pipeline) {
|
|
126
|
+
return collectEntryNames(pipeline.entries);
|
|
127
|
+
}
|
|
91
128
|
function emitEvent(onEvent, runId, seq, type, data) {
|
|
92
129
|
if (!onEvent)
|
|
93
130
|
return;
|
|
@@ -101,31 +138,110 @@ function emitEvent(onEvent, runId, seq, type, data) {
|
|
|
101
138
|
data,
|
|
102
139
|
});
|
|
103
140
|
}
|
|
104
|
-
async function
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
141
|
+
async function evaluatePipelineGate(gate, state, onEvent, runId, seq) {
|
|
142
|
+
let passed;
|
|
143
|
+
try {
|
|
144
|
+
passed = await gate.fn(state);
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
passed = false;
|
|
148
|
+
}
|
|
149
|
+
emitEvent(onEvent, runId, seq++, SdkEventType.PipelineGateEvaluated, {
|
|
150
|
+
step_name: gate.name,
|
|
151
|
+
passed,
|
|
152
|
+
pipeline_level: true,
|
|
153
|
+
});
|
|
154
|
+
return { passed, nextSeq: seq };
|
|
155
|
+
}
|
|
156
|
+
async function executeBranch(sdk, branch, state, onEvent, runId, seq) {
|
|
157
|
+
let conditionResult;
|
|
158
|
+
try {
|
|
159
|
+
conditionResult = await branch.condition(state);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
conditionResult = false;
|
|
163
|
+
}
|
|
164
|
+
emitEvent(onEvent, runId, seq++, SdkEventType.PipelineBranchEvaluated, {
|
|
165
|
+
branch_name: branch.name,
|
|
166
|
+
condition_result: conditionResult,
|
|
167
|
+
});
|
|
168
|
+
const chosenEntries = conditionResult ? branch.trueEntries : branch.falseEntries;
|
|
169
|
+
const skippedEntries = conditionResult ? branch.falseEntries : branch.trueEntries;
|
|
170
|
+
const logs = [];
|
|
171
|
+
let branchState = {};
|
|
172
|
+
// Execute chosen path entries sequentially
|
|
173
|
+
let currentState = state;
|
|
174
|
+
for (let i = 0; i < chosenEntries.length; i++) {
|
|
175
|
+
const entry = chosenEntries[i];
|
|
176
|
+
if (isPipelineGate(entry)) {
|
|
177
|
+
const { passed, nextSeq } = await evaluatePipelineGate(entry, currentState, onEvent, runId, seq);
|
|
178
|
+
seq = nextSeq;
|
|
179
|
+
if (!passed) {
|
|
180
|
+
for (let j = i + 1; j < chosenEntries.length; j++) {
|
|
181
|
+
addSkipLogs(chosenEntries[j], logs);
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
continue;
|
|
111
186
|
}
|
|
112
|
-
|
|
113
|
-
|
|
187
|
+
if (isPipelineBranch(entry)) {
|
|
188
|
+
const { newState, logs: branchLogs, nextSeq } = await executeBranch(sdk, entry, currentState, onEvent, runId, seq);
|
|
189
|
+
seq = nextSeq;
|
|
190
|
+
currentState = { ...currentState, ...newState };
|
|
191
|
+
branchState = { ...branchState, ...newState };
|
|
192
|
+
logs.push(...branchLogs);
|
|
193
|
+
continue;
|
|
114
194
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
emitEvent(onEvent, runId, seq++, SdkEventType.PipelineStepCompleted, {
|
|
122
|
-
step_name: step.name,
|
|
123
|
-
status: 'skipped',
|
|
124
|
-
duration_ms: log.durationMs,
|
|
125
|
-
});
|
|
126
|
-
return { newState: {}, log, nextSeq: seq };
|
|
195
|
+
if (isParallelGroup(entry)) {
|
|
196
|
+
const { newState, logs: groupLogs, nextSeq } = await executeParallelGroup(sdk, entry, currentState, onEvent, runId, seq);
|
|
197
|
+
seq = nextSeq;
|
|
198
|
+
currentState = { ...currentState, ...newState };
|
|
199
|
+
branchState = { ...branchState, ...newState };
|
|
200
|
+
logs.push(...groupLogs);
|
|
127
201
|
}
|
|
202
|
+
else {
|
|
203
|
+
const { newState, log, nextSeq } = await executeStep(sdk, entry, currentState, false, onEvent, runId, seq);
|
|
204
|
+
seq = nextSeq;
|
|
205
|
+
currentState = { ...currentState, ...newState };
|
|
206
|
+
branchState = { ...branchState, ...newState };
|
|
207
|
+
logs.push(log);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// Add skip logs for the non-taken path
|
|
211
|
+
for (const entry of skippedEntries) {
|
|
212
|
+
addSkipLogs(entry, logs);
|
|
213
|
+
}
|
|
214
|
+
// Add a branch log entry
|
|
215
|
+
logs.unshift({
|
|
216
|
+
name: branch.name,
|
|
217
|
+
status: 'completed',
|
|
218
|
+
durationMs: 0,
|
|
219
|
+
branchTaken: conditionResult ? 'true' : 'false',
|
|
220
|
+
});
|
|
221
|
+
return { newState: branchState, logs, nextSeq: seq };
|
|
222
|
+
}
|
|
223
|
+
function addSkipLogs(entry, logs) {
|
|
224
|
+
if (isPipelineGate(entry)) {
|
|
225
|
+
logs.push({ name: entry.name, status: 'skipped', durationMs: 0 });
|
|
226
|
+
}
|
|
227
|
+
else if (isPipelineBranch(entry)) {
|
|
228
|
+
logs.push({ name: entry.name, status: 'skipped', durationMs: 0 });
|
|
229
|
+
for (const sub of entry.trueEntries)
|
|
230
|
+
addSkipLogs(sub, logs);
|
|
231
|
+
for (const sub of entry.falseEntries)
|
|
232
|
+
addSkipLogs(sub, logs);
|
|
128
233
|
}
|
|
234
|
+
else if (isParallelGroup(entry)) {
|
|
235
|
+
for (const step of entry.steps) {
|
|
236
|
+
logs.push({ name: step.name, status: 'skipped', durationMs: 0 });
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
logs.push({ name: entry.name, status: 'skipped', durationMs: 0 });
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
async function executeStep(sdk, step, state, parallel, onEvent, runId, seq) {
|
|
244
|
+
const start = Date.now();
|
|
129
245
|
emitEvent(onEvent, runId, seq++, SdkEventType.PipelineStepStarted, {
|
|
130
246
|
step_name: step.name,
|
|
131
247
|
parallel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineRunner.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PipelineRunner.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/PipelineRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,kBAAkB,CAAC;AAMrF,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,OAAO,EAAE,MAAM;CAI5B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3E,UAAU,EAAE,mBAAmB,GAC9B,QAAQ,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,kBAAkB,CAAC;AAMrF,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,OAAO,EAAE,MAAM;CAI5B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3E,UAAU,EAAE,mBAAmB,GAC9B,QAAQ,CAAC,MAAM,CAAC,CA6ElB"}
|
|
@@ -71,16 +71,18 @@ export function compileDeclarativePipeline(definition) {
|
|
|
71
71
|
return {
|
|
72
72
|
name: s.name,
|
|
73
73
|
fn: buildStepFn(s),
|
|
74
|
-
gate: s.gate ? buildGateFn(s.gate) : undefined,
|
|
75
74
|
onError: (s.errorStrategy ?? 'throw'),
|
|
76
75
|
};
|
|
77
76
|
});
|
|
78
77
|
builder = builder.parallel(parallelSteps);
|
|
79
78
|
}
|
|
80
79
|
else {
|
|
80
|
+
// If the step has a gate expression, insert a pipeline-level gate before the step.
|
|
81
|
+
if (step.gate) {
|
|
82
|
+
builder = builder.gate(buildGateFn(step.gate), { name: `${step.name}-gate` });
|
|
83
|
+
}
|
|
81
84
|
// Sequential step.
|
|
82
85
|
builder = builder.step(step.name, buildStepFn(step), {
|
|
83
|
-
gate: step.gate ? buildGateFn(step.gate) : undefined,
|
|
84
86
|
onError: step.errorStrategy ?? 'throw',
|
|
85
87
|
});
|
|
86
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AAIjE,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAC3D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAA+B;IAE/B,QAAQ,CAAC,UAAU,CAAC,CAAC;IAErB,sEAAsE;IACtE,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE9D,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,+DAA+D;YAC/D,gEAAgE;YAChE,8BAA8B;YAC9B,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,eAAe,EAAU,CAAC;IAE5C,uEAAuE;IACvE,mEAAmE;IACnE,kCAAkC;IAClC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,gDAAgD;YAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,cAAe,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,iEAAiE;gBACjE,SAAS;YACX,CAAC;YACD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEpC,uBAAuB;YACvB,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;gBACjC,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,EAAE,EAAE,WAAW,CAAS,CAAC,CAAC;oBAC1B,
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { PipelineBuilder as PipelineBuilderImpl } from './PipelineBuilder.js';
|
|
|
2
2
|
export { PipelineBuilder, Pipeline } from './PipelineBuilder.js';
|
|
3
3
|
export { runPipeline, PipelineExecutionError } from './PipelineRunner.js';
|
|
4
4
|
export type { PipelineEventCallback } from './PipelineRunner.js';
|
|
5
|
-
export type { StepFn, StepContext, GateFn, ErrorStrategy, PipelineStep, ParallelGroup, PipelineEntry, PipelineResult, StepLog, } from './types.js';
|
|
5
|
+
export type { StepFn, StepContext, GateFn, ErrorStrategy, PipelineStep, ParallelGroup, PipelineGate, PipelineBranch, PipelineEntry, PipelineResult, StepLog, } from './types.js';
|
|
6
6
|
export type { StepOptions } from './PipelineBuilder.js';
|
|
7
7
|
export type { DeclarativePipelineStep, DeclarativePipeline } from './declarative.js';
|
|
8
8
|
export { compileDeclarativePipeline, DeclarativePipelineValidationError } from './compiler.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EACV,MAAM,EACN,WAAW,EACX,MAAM,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGrF,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAE/F;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAErH"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EACV,MAAM,EACN,WAAW,EACX,MAAM,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGrF,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAE/F;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAErH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAoB1E,gCAAgC;AAChC,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,mBAAmB,EAAU,CAAC;AAC3C,CAAC"}
|
|
@@ -45,7 +45,6 @@ export type ErrorStrategy<TState, TOut> = 'skip' | 'throw' | ((error: Error, sta
|
|
|
45
45
|
export interface PipelineStep<TState = any, TOut = any> {
|
|
46
46
|
name: string;
|
|
47
47
|
fn: StepFn<TState, TOut>;
|
|
48
|
-
gate?: GateFn<TState>;
|
|
49
48
|
onError: ErrorStrategy<TState, TOut>;
|
|
50
49
|
}
|
|
51
50
|
/**
|
|
@@ -57,9 +56,27 @@ export interface ParallelGroup<TState = any> {
|
|
|
57
56
|
steps: PipelineStep<TState>[];
|
|
58
57
|
}
|
|
59
58
|
/**
|
|
60
|
-
*
|
|
59
|
+
* Pipeline-level gate — halts all subsequent entries when the predicate returns false.
|
|
61
60
|
*/
|
|
62
|
-
export
|
|
61
|
+
export interface PipelineGate<TState = any> {
|
|
62
|
+
kind: 'gate';
|
|
63
|
+
name: string;
|
|
64
|
+
fn: GateFn<TState>;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Pipeline-level branch — if/else fork with sub-pipeline paths.
|
|
68
|
+
*/
|
|
69
|
+
export interface PipelineBranch<TState = any> {
|
|
70
|
+
kind: 'branch';
|
|
71
|
+
name: string;
|
|
72
|
+
condition: GateFn<TState>;
|
|
73
|
+
trueEntries: readonly PipelineEntry<TState>[];
|
|
74
|
+
falseEntries: readonly PipelineEntry<TState>[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* A pipeline entry is a single step, parallel group, gate, or branch.
|
|
78
|
+
*/
|
|
79
|
+
export type PipelineEntry<TState = any> = PipelineStep<TState> | ParallelGroup<TState> | PipelineGate<TState> | PipelineBranch<TState>;
|
|
63
80
|
export interface PipelineResult<TState> {
|
|
64
81
|
/** Final accumulated state after all steps. */
|
|
65
82
|
state: TState;
|
|
@@ -71,5 +88,6 @@ export interface StepLog {
|
|
|
71
88
|
status: 'completed' | 'skipped' | 'error';
|
|
72
89
|
durationMs: number;
|
|
73
90
|
error?: string;
|
|
91
|
+
branchTaken?: 'true' | 'false';
|
|
74
92
|
}
|
|
75
93
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMzE;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,MAAM;IACjC,8CAA8C;IAC9C,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExB,+DAA+D;IAC/D,GAAG,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEzF,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,IAClC,MAAM,GACN,OAAO,GACP,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMzE;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,MAAM;IACjC,8CAA8C;IAC9C,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExB,+DAA+D;IAC/D,GAAG,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEzF,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,IAClC,MAAM,GACN,OAAO,GACP,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,GAAG,GAAG;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,GAAG;IAC1C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9C,YAAY,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,GAAG,IAClC,YAAY,CAAC,MAAM,CAAC,GACpB,aAAa,CAAC,MAAM,CAAC,GACrB,YAAY,CAAC,MAAM,CAAC,GACpB,cAAc,CAAC,MAAM,CAAC,CAAC;AAM3B,MAAM,WAAW,cAAc,CAAC,MAAM;IACpC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IAEd,6DAA6D;IAC7D,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineTracer.d.ts","sourceRoot":"","sources":["../../src/tracing/PipelineTracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAuC,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC5D;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAChH,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EACjC,YAAY,EAAE,KAAK,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"PipelineTracer.d.ts","sourceRoot":"","sources":["../../src/tracing/PipelineTracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAuC,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC5D;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAChH,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,EACjC,YAAY,EAAE,KAAK,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CA6EjC"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
export async function tracePipeline(otel, sdk, pipeline, initialState, options) {
|
|
23
23
|
// Lazy import to avoid circular dependency
|
|
24
24
|
const { runPipeline: runPipelineFn } = await import('../sdk/pipeline/PipelineRunner.js');
|
|
25
|
-
const { isParallelGroup, executeStepWithTracing, executeParallelGroupWithTracing } = await import('./pipelineHelpers.js');
|
|
25
|
+
const { isParallelGroup, isPipelineGate, isPipelineBranch, executeStepWithTracing, executeParallelGroupWithTracing, evaluatePipelineGateWithTracing, executeBranchWithTracing, } = await import('./pipelineHelpers.js');
|
|
26
26
|
const tracer = otel.trace.getTracer(options?.tracerName ?? '@qodo/sdk');
|
|
27
27
|
const rootSpan = tracer.startSpan('qodo.pipeline', {
|
|
28
28
|
attributes: {
|
|
@@ -35,7 +35,23 @@ export async function tracePipeline(otel, sdk, pipeline, initialState, options)
|
|
|
35
35
|
// State starts as TInit and accumulates step outputs to become TState at runtime
|
|
36
36
|
let state = { ...initialState };
|
|
37
37
|
const stepLogs = [];
|
|
38
|
-
|
|
38
|
+
const entries = pipeline.entries;
|
|
39
|
+
for (let i = 0; i < entries.length; i++) {
|
|
40
|
+
const entry = entries[i];
|
|
41
|
+
if (isPipelineGate(entry)) {
|
|
42
|
+
const { passed } = await evaluatePipelineGateWithTracing(otel, tracer, rootContext, entry, state);
|
|
43
|
+
if (!passed) {
|
|
44
|
+
// Remaining entries are skipped — no tracing needed
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (isPipelineBranch(entry)) {
|
|
50
|
+
const { newState, logs } = await executeBranchWithTracing(otel, tracer, rootContext, sdk, entry, state);
|
|
51
|
+
state = { ...state, ...newState };
|
|
52
|
+
stepLogs.push(...logs);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
39
55
|
if (isParallelGroup(entry)) {
|
|
40
56
|
const { newState, logs } = await executeParallelGroupWithTracing(otel, tracer, rootContext, sdk, entry, state);
|
|
41
57
|
state = { ...state, ...newState };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipelineTracer.js","sourceRoot":"","sources":["../../src/tracing/PipelineTracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAa,EACb,GAAY,EACZ,QAAiC,EACjC,YAAmB,EACnB,OAA8B;IAE9B,2CAA2C;IAC3C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACzF,MAAM,
|
|
1
|
+
{"version":3,"file":"PipelineTracer.js","sourceRoot":"","sources":["../../src/tracing/PipelineTracer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
* public API and to allow independent testing.
|
|
6
6
|
*/
|
|
7
7
|
import type { QodoSDK } from '../sdk/QodoSDK.js';
|
|
8
|
-
import type { PipelineStep, ParallelGroup, StepLog } from '../sdk/pipeline/types.js';
|
|
8
|
+
import type { PipelineStep, ParallelGroup, PipelineGate, PipelineBranch, StepLog } from '../sdk/pipeline/types.js';
|
|
9
9
|
import type { PipelineEntry } from '../sdk/pipeline/types.js';
|
|
10
10
|
import type { OTelAPI, OTelTracer, OTelContext } from './types.js';
|
|
11
11
|
export declare function isParallelGroup<T>(entry: PipelineEntry<T>): entry is ParallelGroup<T>;
|
|
12
|
+
export declare function isPipelineGate<T>(entry: PipelineEntry<T>): entry is PipelineGate<T>;
|
|
13
|
+
export declare function isPipelineBranch<T>(entry: PipelineEntry<T>): entry is PipelineBranch<T>;
|
|
12
14
|
export declare function executeStepWithTracing<TState extends Record<string, any>>(otel: OTelAPI, tracer: OTelTracer, parentContext: OTelContext, sdk: QodoSDK, step: PipelineStep<TState>, state: TState): Promise<{
|
|
13
15
|
newState: Record<string, any>;
|
|
14
16
|
log: StepLog;
|
|
@@ -17,4 +19,11 @@ export declare function executeParallelGroupWithTracing<TState extends Record<st
|
|
|
17
19
|
newState: Record<string, any>;
|
|
18
20
|
logs: StepLog[];
|
|
19
21
|
}>;
|
|
22
|
+
export declare function evaluatePipelineGateWithTracing<TState extends Record<string, any>>(otel: OTelAPI, tracer: OTelTracer, parentContext: OTelContext, gate: PipelineGate<TState>, state: TState): Promise<{
|
|
23
|
+
passed: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
export declare function executeBranchWithTracing<TState extends Record<string, any>>(otel: OTelAPI, tracer: OTelTracer, parentContext: OTelContext, sdk: QodoSDK, branch: PipelineBranch<TState>, state: TState): Promise<{
|
|
26
|
+
newState: Record<string, any>;
|
|
27
|
+
logs: StepLog[];
|
|
28
|
+
}>;
|
|
20
29
|
//# sourceMappingURL=pipelineHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelineHelpers.d.ts","sourceRoot":"","sources":["../../src/tracing/pipelineHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAuC,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAe,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"pipelineHelpers.d.ts","sourceRoot":"","sources":["../../src/tracing/pipelineHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAuC,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAe,MAAM,0BAA0B,CAAC;AAChI,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAY,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7E,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAErF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAEnF;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,CAEvF;AAED,wBAAsB,sBAAsB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7E,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,WAAW,EAC1B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAiF1D;AAED,wBAAsB,+BAA+B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtF,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,WAAW,EAC1B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAiD7D;AAED,wBAAsB,+BAA+B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtF,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,WAAW,EAC1B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAkB9B;AAED,wBAAsB,wBAAwB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/E,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,WAAW,EAC1B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CA4E7D"}
|
|
@@ -7,34 +7,19 @@
|
|
|
7
7
|
export function isParallelGroup(entry) {
|
|
8
8
|
return entry.kind === 'parallel';
|
|
9
9
|
}
|
|
10
|
+
export function isPipelineGate(entry) {
|
|
11
|
+
return entry.kind === 'gate';
|
|
12
|
+
}
|
|
13
|
+
export function isPipelineBranch(entry) {
|
|
14
|
+
return entry.kind === 'branch';
|
|
15
|
+
}
|
|
10
16
|
export async function executeStepWithTracing(otel, tracer, parentContext, sdk, step, state) {
|
|
11
17
|
const stepSpan = tracer.startSpan(`qodo.pipeline.step ${step.name}`, {
|
|
12
18
|
attributes: {
|
|
13
19
|
'qodo.pipeline.step.name': step.name,
|
|
14
|
-
'qodo.pipeline.step.has_gate': !!step.gate,
|
|
15
20
|
},
|
|
16
21
|
}, parentContext);
|
|
17
22
|
const start = Date.now();
|
|
18
|
-
// Evaluate gate
|
|
19
|
-
if (step.gate) {
|
|
20
|
-
let pass;
|
|
21
|
-
try {
|
|
22
|
-
pass = await step.gate(state);
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
pass = false;
|
|
26
|
-
}
|
|
27
|
-
if (!pass) {
|
|
28
|
-
stepSpan.setAttribute('qodo.pipeline.step.status', 'skipped');
|
|
29
|
-
stepSpan.setAttribute('qodo.pipeline.step.skip_reason', 'gate');
|
|
30
|
-
stepSpan.setStatus({ code: otel.SpanStatusCode.OK, message: 'skipped by gate' });
|
|
31
|
-
stepSpan.end();
|
|
32
|
-
return {
|
|
33
|
-
newState: {},
|
|
34
|
-
log: { name: step.name, status: 'skipped', durationMs: Date.now() - start },
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
23
|
const ctx = {
|
|
39
24
|
state,
|
|
40
25
|
run: (commandOrPrompt, options) => {
|
|
@@ -137,4 +122,103 @@ export async function executeParallelGroupWithTracing(otel, tracer, parentContex
|
|
|
137
122
|
throw err;
|
|
138
123
|
}
|
|
139
124
|
}
|
|
125
|
+
export async function evaluatePipelineGateWithTracing(otel, tracer, parentContext, gate, state) {
|
|
126
|
+
const gateSpan = tracer.startSpan(`qodo.pipeline.gate ${gate.name}`, {
|
|
127
|
+
attributes: {
|
|
128
|
+
'qodo.pipeline.gate.name': gate.name,
|
|
129
|
+
},
|
|
130
|
+
}, parentContext);
|
|
131
|
+
let passed;
|
|
132
|
+
try {
|
|
133
|
+
passed = await gate.fn(state);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
passed = false;
|
|
137
|
+
}
|
|
138
|
+
gateSpan.setAttribute('qodo.pipeline.gate.passed', passed);
|
|
139
|
+
gateSpan.setStatus({ code: otel.SpanStatusCode.OK });
|
|
140
|
+
gateSpan.end();
|
|
141
|
+
return { passed };
|
|
142
|
+
}
|
|
143
|
+
export async function executeBranchWithTracing(otel, tracer, parentContext, sdk, branch, state) {
|
|
144
|
+
const branchSpan = tracer.startSpan(`qodo.pipeline.branch ${branch.name}`, {
|
|
145
|
+
attributes: {
|
|
146
|
+
'qodo.pipeline.branch.name': branch.name,
|
|
147
|
+
},
|
|
148
|
+
}, parentContext);
|
|
149
|
+
const branchContext = otel.trace.setSpan(parentContext, branchSpan);
|
|
150
|
+
let conditionResult;
|
|
151
|
+
try {
|
|
152
|
+
conditionResult = await branch.condition(state);
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
conditionResult = false;
|
|
156
|
+
}
|
|
157
|
+
branchSpan.setAttribute('qodo.pipeline.branch.condition_result', conditionResult);
|
|
158
|
+
const chosenEntries = conditionResult ? branch.trueEntries : branch.falseEntries;
|
|
159
|
+
const logs = [];
|
|
160
|
+
let branchState = {};
|
|
161
|
+
let currentState = state;
|
|
162
|
+
for (let i = 0; i < chosenEntries.length; i++) {
|
|
163
|
+
const entry = chosenEntries[i];
|
|
164
|
+
if (isPipelineGate(entry)) {
|
|
165
|
+
const { passed } = await evaluatePipelineGateWithTracing(otel, tracer, branchContext, entry, currentState);
|
|
166
|
+
if (!passed) {
|
|
167
|
+
for (let j = i + 1; j < chosenEntries.length; j++) {
|
|
168
|
+
addSkipLogsTracing(chosenEntries[j], logs);
|
|
169
|
+
}
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (isPipelineBranch(entry)) {
|
|
175
|
+
const { newState, logs: branchLogs } = await executeBranchWithTracing(otel, tracer, branchContext, sdk, entry, currentState);
|
|
176
|
+
currentState = { ...currentState, ...newState };
|
|
177
|
+
branchState = { ...branchState, ...newState };
|
|
178
|
+
logs.push(...branchLogs);
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
if (isParallelGroup(entry)) {
|
|
182
|
+
const { newState, logs: groupLogs } = await executeParallelGroupWithTracing(otel, tracer, branchContext, sdk, entry, currentState);
|
|
183
|
+
currentState = { ...currentState, ...newState };
|
|
184
|
+
branchState = { ...branchState, ...newState };
|
|
185
|
+
logs.push(...groupLogs);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
const { newState, log } = await executeStepWithTracing(otel, tracer, branchContext, sdk, entry, currentState);
|
|
189
|
+
currentState = { ...currentState, ...newState };
|
|
190
|
+
branchState = { ...branchState, ...newState };
|
|
191
|
+
logs.push(log);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
logs.unshift({
|
|
195
|
+
name: branch.name,
|
|
196
|
+
status: 'completed',
|
|
197
|
+
durationMs: 0,
|
|
198
|
+
branchTaken: conditionResult ? 'true' : 'false',
|
|
199
|
+
});
|
|
200
|
+
branchSpan.setStatus({ code: otel.SpanStatusCode.OK });
|
|
201
|
+
branchSpan.end();
|
|
202
|
+
return { newState: branchState, logs };
|
|
203
|
+
}
|
|
204
|
+
function addSkipLogsTracing(entry, logs) {
|
|
205
|
+
if (isPipelineGate(entry)) {
|
|
206
|
+
logs.push({ name: entry.name, status: 'skipped', durationMs: 0 });
|
|
207
|
+
}
|
|
208
|
+
else if (isPipelineBranch(entry)) {
|
|
209
|
+
logs.push({ name: entry.name, status: 'skipped', durationMs: 0 });
|
|
210
|
+
for (const sub of entry.trueEntries)
|
|
211
|
+
addSkipLogsTracing(sub, logs);
|
|
212
|
+
for (const sub of entry.falseEntries)
|
|
213
|
+
addSkipLogsTracing(sub, logs);
|
|
214
|
+
}
|
|
215
|
+
else if (isParallelGroup(entry)) {
|
|
216
|
+
for (const step of entry.steps) {
|
|
217
|
+
logs.push({ name: step.name, status: 'skipped', durationMs: 0 });
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
logs.push({ name: entry.name, status: 'skipped', durationMs: 0 });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
140
224
|
//# sourceMappingURL=pipelineHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelineHelpers.js","sourceRoot":"","sources":["../../src/tracing/pipelineHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,UAAU,eAAe,CAAI,KAAuB;IACxD,OAAQ,KAA0B,CAAC,IAAI,KAAK,UAAU,CAAC;AACzD,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"pipelineHelpers.js","sourceRoot":"","sources":["../../src/tracing/pipelineHelpers.ts"],"names":[],"mappings":"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"}
|