agent-relay 2.3.12 → 2.3.13

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.
Files changed (53) hide show
  1. package/package.json +19 -19
  2. package/packages/acp-bridge/package.json +2 -2
  3. package/packages/bridge/package.json +7 -7
  4. package/packages/broker-sdk/dist/relaycast.d.ts +10 -0
  5. package/packages/broker-sdk/dist/relaycast.d.ts.map +1 -1
  6. package/packages/broker-sdk/dist/relaycast.js +40 -0
  7. package/packages/broker-sdk/dist/relaycast.js.map +1 -1
  8. package/packages/broker-sdk/dist/workflows/index.d.ts +1 -0
  9. package/packages/broker-sdk/dist/workflows/index.d.ts.map +1 -1
  10. package/packages/broker-sdk/dist/workflows/index.js +1 -0
  11. package/packages/broker-sdk/dist/workflows/index.js.map +1 -1
  12. package/packages/broker-sdk/dist/workflows/run.d.ts +3 -1
  13. package/packages/broker-sdk/dist/workflows/run.d.ts.map +1 -1
  14. package/packages/broker-sdk/dist/workflows/run.js +4 -0
  15. package/packages/broker-sdk/dist/workflows/run.js.map +1 -1
  16. package/packages/broker-sdk/dist/workflows/runner.d.ts +9 -0
  17. package/packages/broker-sdk/dist/workflows/runner.d.ts.map +1 -1
  18. package/packages/broker-sdk/dist/workflows/runner.js +202 -14
  19. package/packages/broker-sdk/dist/workflows/runner.js.map +1 -1
  20. package/packages/broker-sdk/dist/workflows/trajectory.d.ts +80 -0
  21. package/packages/broker-sdk/dist/workflows/trajectory.d.ts.map +1 -0
  22. package/packages/broker-sdk/dist/workflows/trajectory.js +362 -0
  23. package/packages/broker-sdk/dist/workflows/trajectory.js.map +1 -0
  24. package/packages/broker-sdk/dist/workflows/types.d.ts +12 -0
  25. package/packages/broker-sdk/dist/workflows/types.d.ts.map +1 -1
  26. package/packages/broker-sdk/package.json +2 -2
  27. package/packages/broker-sdk/src/__tests__/workflow-trajectory.test.ts +408 -0
  28. package/packages/broker-sdk/src/relaycast.ts +42 -0
  29. package/packages/broker-sdk/src/workflows/index.ts +1 -0
  30. package/packages/broker-sdk/src/workflows/run.ts +9 -1
  31. package/packages/broker-sdk/src/workflows/runner.ts +248 -14
  32. package/packages/broker-sdk/src/workflows/trajectory.ts +507 -0
  33. package/packages/broker-sdk/src/workflows/types.ts +15 -0
  34. package/packages/broker-sdk/tsconfig.json +1 -0
  35. package/packages/broker-sdk/vitest.config.ts +9 -0
  36. package/packages/config/package.json +2 -2
  37. package/packages/continuity/package.json +2 -2
  38. package/packages/daemon/package.json +12 -12
  39. package/packages/hooks/package.json +4 -4
  40. package/packages/mcp/package.json +5 -5
  41. package/packages/memory/package.json +2 -2
  42. package/packages/policy/package.json +2 -2
  43. package/packages/protocol/package.json +1 -1
  44. package/packages/resiliency/package.json +1 -1
  45. package/packages/sdk/package.json +3 -3
  46. package/packages/spawner/package.json +1 -1
  47. package/packages/state/package.json +1 -1
  48. package/packages/storage/package.json +2 -2
  49. package/packages/telemetry/package.json +1 -1
  50. package/packages/trajectory/package.json +2 -2
  51. package/packages/user-directory/package.json +2 -2
  52. package/packages/utils/package.json +3 -3
  53. package/packages/wrapper/package.json +5 -5
@@ -10,9 +10,11 @@ import { homedir } from 'node:os';
10
10
  import path from 'node:path';
11
11
  import { parse as parseYaml } from 'yaml';
12
12
  import { InMemoryWorkflowDb } from './memory-db.js';
13
+ import { WorkflowTrajectory } from './trajectory.js';
13
14
  // ── AgentRelay SDK imports ──────────────────────────────────────────────────
14
15
  // Import from sub-paths to avoid pulling in the full @relaycast/sdk dependency.
15
16
  import { AgentRelay } from '../relay.js';
17
+ import { RelaycastApi } from '../relaycast.js';
16
18
  // ── WorkflowRunner ──────────────────────────────────────────────────────────
17
19
  export class WorkflowRunner {
18
20
  db;
@@ -21,6 +23,9 @@ export class WorkflowRunner {
21
23
  cwd;
22
24
  summaryDir;
23
25
  relay;
26
+ relaycastApi;
27
+ channel;
28
+ trajectory;
24
29
  abortController;
25
30
  paused = false;
26
31
  pauseResolver;
@@ -336,15 +341,26 @@ export class WorkflowRunner {
336
341
  // Start execution
337
342
  this.abortController = new AbortController();
338
343
  this.paused = false;
344
+ // Initialize trajectory recording
345
+ this.trajectory = new WorkflowTrajectory(resolved.trajectories, runId, this.cwd);
339
346
  try {
340
347
  await this.updateRunStatus(runId, 'running');
341
348
  this.emit({ type: 'run:started', runId });
349
+ // Analyze DAG for trajectory context
350
+ const dagInfo = this.analyzeDAG(workflow.steps);
351
+ await this.trajectory.start(workflow.name, workflow.steps.length, dagInfo);
342
352
  const channel = resolved.swarm.channel ?? 'general';
353
+ this.channel = channel;
343
354
  await this.ensureRelaycastApiKey(channel);
344
355
  this.relay = new AgentRelay({
345
356
  ...this.relayOptions,
346
357
  channels: [channel],
347
358
  });
359
+ // Create the dedicated workflow channel and join it
360
+ this.relaycastApi = new RelaycastApi({ agentName: 'WorkflowRunner' });
361
+ await this.relaycastApi.createChannel(channel, workflow.description);
362
+ await this.relaycastApi.joinChannel(channel);
363
+ this.postToChannel(`Workflow **${workflow.name}** started — ${workflow.steps.length} steps, pattern: ${resolved.swarm.pattern}`);
348
364
  const agentMap = new Map();
349
365
  for (const agent of resolved.agents) {
350
366
  agentMap.set(agent.name, agent);
@@ -355,12 +371,24 @@ export class WorkflowRunner {
355
371
  if (allCompleted) {
356
372
  await this.updateRunStatus(runId, 'completed');
357
373
  this.emit({ type: 'run:completed', runId });
374
+ this.postToChannel(`Workflow **${workflow.name}** completed — all steps passed`);
375
+ // Complete trajectory with summary
376
+ const outcomes = this.collectOutcomes(stepStates, workflow.steps);
377
+ const summary = this.trajectory.buildRunSummary(outcomes);
378
+ const confidence = this.trajectory.computeConfidence(outcomes);
379
+ await this.trajectory.complete(summary, confidence, {
380
+ learnings: this.trajectory.extractLearnings(outcomes),
381
+ challenges: this.trajectory.extractChallenges(outcomes),
382
+ });
358
383
  }
359
384
  else {
360
385
  const failedStep = [...stepStates.values()].find((s) => s.row.status === 'failed');
361
386
  const errorMsg = failedStep?.row.error ?? 'One or more steps failed';
362
387
  await this.updateRunStatus(runId, 'failed', errorMsg);
363
388
  this.emit({ type: 'run:failed', runId, error: errorMsg });
389
+ this.postToChannel(`Workflow **${workflow.name}** failed: ${errorMsg}`);
390
+ // Abandon trajectory on failure
391
+ await this.trajectory.abandon(errorMsg);
364
392
  }
365
393
  }
366
394
  catch (err) {
@@ -369,14 +397,21 @@ export class WorkflowRunner {
369
397
  await this.updateRunStatus(runId, status, errorMsg);
370
398
  if (status === 'cancelled') {
371
399
  this.emit({ type: 'run:cancelled', runId });
400
+ this.postToChannel(`Workflow cancelled`);
401
+ await this.trajectory.abandon('Cancelled by user');
372
402
  }
373
403
  else {
374
404
  this.emit({ type: 'run:failed', runId, error: errorMsg });
405
+ this.postToChannel(`Workflow failed: ${errorMsg}`);
406
+ await this.trajectory.abandon(errorMsg);
375
407
  }
376
408
  }
377
409
  finally {
378
410
  await this.relay?.shutdown();
379
411
  this.relay = undefined;
412
+ this.relaycastApi = undefined;
413
+ this.channel = undefined;
414
+ this.trajectory = undefined;
380
415
  this.abortController = undefined;
381
416
  }
382
417
  const finalRun = await this.db.getRun(runId);
@@ -416,14 +451,24 @@ export class WorkflowRunner {
416
451
  }
417
452
  this.abortController = new AbortController();
418
453
  this.paused = false;
454
+ // Initialize trajectory for resumed run
455
+ this.trajectory = new WorkflowTrajectory(config.trajectories, runId, this.cwd);
419
456
  try {
420
457
  await this.updateRunStatus(runId, 'running');
458
+ const pendingCount = [...stepStates.values()].filter((s) => s.row.status === 'pending').length;
459
+ await this.trajectory.start(workflow.name, workflow.steps.length, `Resumed run: ${pendingCount} pending steps of ${workflow.steps.length} total`);
421
460
  const resumeChannel = config.swarm.channel ?? 'general';
461
+ this.channel = resumeChannel;
422
462
  await this.ensureRelaycastApiKey(resumeChannel);
423
463
  this.relay = new AgentRelay({
424
464
  ...this.relayOptions,
425
465
  channels: [resumeChannel],
426
466
  });
467
+ // Ensure channel exists and join it for resumed runs
468
+ this.relaycastApi = new RelaycastApi({ agentName: 'WorkflowRunner' });
469
+ await this.relaycastApi.createChannel(resumeChannel);
470
+ await this.relaycastApi.joinChannel(resumeChannel);
471
+ this.postToChannel(`Workflow **${workflow.name}** resumed — ${pendingCount} pending steps`);
427
472
  const agentMap = new Map();
428
473
  for (const agent of config.agents) {
429
474
  agentMap.set(agent.name, agent);
@@ -433,22 +478,37 @@ export class WorkflowRunner {
433
478
  if (allCompleted) {
434
479
  await this.updateRunStatus(runId, 'completed');
435
480
  this.emit({ type: 'run:completed', runId });
481
+ this.postToChannel(`Workflow **${workflow.name}** completed — all steps passed`);
482
+ const outcomes = this.collectOutcomes(stepStates, workflow.steps);
483
+ const summary = this.trajectory.buildRunSummary(outcomes);
484
+ const confidence = this.trajectory.computeConfidence(outcomes);
485
+ await this.trajectory.complete(summary, confidence, {
486
+ learnings: this.trajectory.extractLearnings(outcomes),
487
+ challenges: this.trajectory.extractChallenges(outcomes),
488
+ });
436
489
  }
437
490
  else {
438
491
  const failedStep = [...stepStates.values()].find((s) => s.row.status === 'failed');
439
492
  const errorMsg = failedStep?.row.error ?? 'One or more steps failed';
440
493
  await this.updateRunStatus(runId, 'failed', errorMsg);
441
494
  this.emit({ type: 'run:failed', runId, error: errorMsg });
495
+ this.postToChannel(`Workflow **${workflow.name}** failed: ${errorMsg}`);
496
+ await this.trajectory.abandon(errorMsg);
442
497
  }
443
498
  }
444
499
  catch (err) {
445
500
  const errorMsg = err instanceof Error ? err.message : String(err);
446
501
  await this.updateRunStatus(runId, 'failed', errorMsg);
447
502
  this.emit({ type: 'run:failed', runId, error: errorMsg });
503
+ this.postToChannel(`Workflow failed: ${errorMsg}`);
504
+ await this.trajectory.abandon(errorMsg);
448
505
  }
449
506
  finally {
450
507
  await this.relay?.shutdown();
451
508
  this.relay = undefined;
509
+ this.relaycastApi = undefined;
510
+ this.channel = undefined;
511
+ this.trajectory = undefined;
452
512
  this.abortController = undefined;
453
513
  }
454
514
  const finalRun = await this.db.getRun(runId);
@@ -489,16 +549,30 @@ export class WorkflowRunner {
489
549
  // No steps ready — either all done or blocked
490
550
  break;
491
551
  }
552
+ // Begin a track chapter if multiple parallel steps are starting
553
+ if (readySteps.length > 1 && this.trajectory) {
554
+ const trackNames = readySteps.map((s) => s.name).join(', ');
555
+ await this.trajectory.beginTrack(trackNames);
556
+ }
492
557
  const results = await Promise.allSettled(readySteps.map((step) => this.executeStep(step, stepStates, agentMap, errorHandling, runId)));
558
+ // Collect outcomes from this batch for convergence reflection
559
+ const batchOutcomes = [];
493
560
  for (let i = 0; i < results.length; i++) {
494
561
  const result = results[i];
495
562
  const step = readySteps[i];
563
+ const state = stepStates.get(step.name);
496
564
  if (result.status === 'rejected') {
497
565
  const error = result.reason instanceof Error ? result.reason.message : String(result.reason);
498
- const state = stepStates.get(step.name);
499
566
  if (state && state.row.status !== 'failed') {
500
567
  await this.markStepFailed(state, error, runId);
501
568
  }
569
+ batchOutcomes.push({
570
+ name: step.name,
571
+ agent: step.agent,
572
+ status: 'failed',
573
+ attempts: (state?.row.retryCount ?? 0) + 1,
574
+ error,
575
+ });
502
576
  if (strategy === 'fail-fast') {
503
577
  // Mark all pending downstream steps as skipped
504
578
  await this.markDownstreamSkipped(step.name, workflow.steps, stepStates, runId);
@@ -508,6 +582,30 @@ export class WorkflowRunner {
508
582
  await this.markDownstreamSkipped(step.name, workflow.steps, stepStates, runId);
509
583
  }
510
584
  }
585
+ else {
586
+ batchOutcomes.push({
587
+ name: step.name,
588
+ agent: step.agent,
589
+ status: state?.row.status === 'completed' ? 'completed' : 'failed',
590
+ attempts: (state?.row.retryCount ?? 0) + 1,
591
+ output: state?.row.output,
592
+ verificationPassed: state?.row.status === 'completed' && step.verification !== undefined,
593
+ });
594
+ }
595
+ }
596
+ // Reflect at convergence when a parallel batch completes
597
+ if (readySteps.length > 1 && this.trajectory?.shouldReflectOnConverge()) {
598
+ const label = readySteps.map((s) => s.name).join(' + ');
599
+ // Find steps that this batch unblocks
600
+ const completedNames = new Set(batchOutcomes.filter((o) => o.status === 'completed').map((o) => o.name));
601
+ const unblocked = workflow.steps
602
+ .filter((s) => s.dependsOn?.some((dep) => completedNames.has(dep)))
603
+ .filter((s) => {
604
+ const st = stepStates.get(s.name);
605
+ return st && st.row.status === 'pending';
606
+ })
607
+ .map((s) => s.name);
608
+ await this.trajectory.synthesizeAndReflect(label, batchOutcomes, unblocked.length > 0 ? unblocked : undefined);
511
609
  }
512
610
  }
513
611
  }
@@ -539,11 +637,13 @@ export class WorkflowRunner {
539
637
  this.checkAborted();
540
638
  if (attempt > 0) {
541
639
  this.emit({ type: 'step:retrying', runId, stepName: step.name, attempt });
640
+ this.postToChannel(`**[${step.name}]** Retrying (attempt ${attempt + 1}/${maxRetries + 1})`);
542
641
  state.row.retryCount = attempt;
543
642
  await this.db.updateStep(state.row.id, {
544
643
  retryCount: attempt,
545
644
  updatedAt: new Date().toISOString(),
546
645
  });
646
+ await this.trajectory?.stepRetrying(step, attempt, maxRetries);
547
647
  await this.delay(retryDelay);
548
648
  }
549
649
  try {
@@ -556,6 +656,8 @@ export class WorkflowRunner {
556
656
  updatedAt: new Date().toISOString(),
557
657
  });
558
658
  this.emit({ type: 'step:started', runId, stepName: step.name });
659
+ this.postToChannel(`**[${step.name}]** Started (agent: ${agentDef.name})`);
660
+ await this.trajectory?.stepStarted(step, agentDef.name);
559
661
  // Resolve step-output variables (e.g. {{steps.plan.output}}) at execution time
560
662
  const stepOutputContext = this.buildStepOutputContext(stepStates);
561
663
  const resolvedTask = this.interpolateStepTask(step.task, stepOutputContext);
@@ -577,13 +679,18 @@ export class WorkflowRunner {
577
679
  updatedAt: new Date().toISOString(),
578
680
  });
579
681
  this.emit({ type: 'step:completed', runId, stepName: step.name, output });
682
+ this.postToChannel(`**[${step.name}]** Completed\n${output.slice(0, 500)}${output.length > 500 ? '\n...(truncated)' : ''}`);
683
+ await this.trajectory?.stepCompleted(step, output, attempt + 1);
580
684
  return;
581
685
  }
582
686
  catch (err) {
583
687
  lastError = err instanceof Error ? err.message : String(err);
584
688
  }
585
689
  }
586
- // All retries exhausted — mark failed and throw so callers can apply error strategy
690
+ // All retries exhausted — record decision and mark failed
691
+ await this.trajectory?.stepFailed(step, lastError ?? 'Unknown error', maxRetries + 1, maxRetries);
692
+ await this.trajectory?.decide(`How to handle ${step.name} failure`, 'exhausted', `All ${maxRetries + 1} attempts failed: ${lastError ?? 'Unknown error'}`);
693
+ this.postToChannel(`**[${step.name}]** Failed: ${lastError ?? 'Unknown error'}`);
587
694
  await this.markStepFailed(state, lastError ?? 'Unknown error', runId);
588
695
  throw new Error(`Step "${step.name}" failed after ${maxRetries} retries: ${lastError ?? 'Unknown error'}`);
589
696
  }
@@ -591,28 +698,63 @@ export class WorkflowRunner {
591
698
  if (!this.relay) {
592
699
  throw new Error('AgentRelay not initialized');
593
700
  }
701
+ // Append self-termination instructions to the task
702
+ const agentName = `${step.name}-${this.generateShortId()}`;
703
+ const taskWithExit = step.task + '\n\n---\n' +
704
+ 'IMPORTANT: When you have fully completed this task, you MUST self-terminate by calling ' +
705
+ `the MCP tool: relay_release(name="${agentName}", reason="Task completed"). ` +
706
+ 'Do not wait for further input — release yourself immediately after finishing.';
707
+ const agentChannels = this.channel ? [this.channel] : agentDef.channels;
594
708
  const agent = await this.relay.spawnPty({
595
- name: `${step.name}-${this.generateShortId()}`,
709
+ name: agentName,
596
710
  cli: agentDef.cli,
597
711
  args: agentDef.constraints?.model ? ['--model', agentDef.constraints.model] : [],
598
- channels: agentDef.channels,
712
+ channels: agentChannels,
713
+ task: taskWithExit,
599
714
  idleThresholdSecs: agentDef.constraints?.idleThresholdSecs,
600
715
  });
601
- // Send the task as a message to the agent
602
- const system = this.relay.human({ name: 'WorkflowRunner' });
603
- await system.sendMessage({ to: agent.name, text: step.task });
604
- // Wait for agent to exit
716
+ // Register the spawned agent in Relaycast for observability
717
+ if (this.relaycastApi) {
718
+ await this.relaycastApi.registerExternalAgent(agent.name, `Workflow agent for step "${step.name}" (${agentDef.cli})`).catch(() => { });
719
+ }
720
+ // Invite the spawned agent to the workflow channel
721
+ if (this.channel && this.relaycastApi) {
722
+ await this.relaycastApi.inviteToChannel(this.channel, agent.name).catch(() => { });
723
+ }
724
+ // Post task assignment to channel for observability
725
+ const taskPreview = step.task.slice(0, 500) + (step.task.length > 500 ? '...' : '');
726
+ this.postToChannel(`**[${step.name}]** Assigned to \`${agent.name}\`:\n${taskPreview}`);
727
+ // Task was already delivered as initial_task via spawnPty above.
728
+ // Wait for agent to exit (self-termination via /exit)
605
729
  const exitResult = await agent.waitForExit(timeoutMs);
606
730
  if (exitResult === 'timeout') {
607
- await agent.release();
608
- throw new Error(`Step "${step.name}" timed out after ${timeoutMs}ms`);
731
+ // Safety net: check if the verification file exists before giving up.
732
+ // The agent may have completed work but failed to /exit.
733
+ if (step.verification?.type === 'file_exists') {
734
+ const verifyPath = path.resolve(this.cwd, step.verification.value);
735
+ if (existsSync(verifyPath)) {
736
+ this.postToChannel(`**[${step.name}]** Agent idle after completing work — releasing`);
737
+ await agent.release();
738
+ // Fall through to read output below
739
+ }
740
+ else {
741
+ await agent.release();
742
+ throw new Error(`Step "${step.name}" timed out after ${timeoutMs}ms`);
743
+ }
744
+ }
745
+ else {
746
+ await agent.release();
747
+ throw new Error(`Step "${step.name}" timed out after ${timeoutMs}ms`);
748
+ }
609
749
  }
610
750
  // Read output from summary file if it exists
611
751
  const summaryPath = path.join(this.summaryDir, `${step.name}.md`);
612
- if (existsSync(summaryPath)) {
613
- return await readFile(summaryPath, 'utf-8');
614
- }
615
- return `Agent exited (${exitResult})`;
752
+ const output = existsSync(summaryPath)
753
+ ? await readFile(summaryPath, 'utf-8')
754
+ : exitResult === 'timeout'
755
+ ? 'Agent completed (released after idle timeout)'
756
+ : `Agent exited (${exitResult})`;
757
+ return output;
616
758
  }
617
759
  // ── Verification ────────────────────────────────────────────────────────
618
760
  runVerification(check, output, stepName) {
@@ -679,6 +821,9 @@ export class WorkflowRunner {
679
821
  updatedAt: new Date().toISOString(),
680
822
  });
681
823
  this.emit({ type: 'step:skipped', runId, stepName: step.name });
824
+ this.postToChannel(`**[${step.name}]** Skipped — upstream dependency "${current}" failed`);
825
+ await this.trajectory?.stepSkipped(step, `Upstream dependency "${current}" failed`);
826
+ await this.trajectory?.decide(`Whether to skip ${step.name}`, 'skip', `Upstream dependency "${current}" failed`);
682
827
  queue.push(step.name);
683
828
  }
684
829
  }
@@ -701,6 +846,49 @@ export class WorkflowRunner {
701
846
  delay(ms) {
702
847
  return new Promise((resolve) => setTimeout(resolve, ms));
703
848
  }
849
+ // ── Channel messaging ──────────────────────────────────────────────────
850
+ /** Post a message to the workflow channel. Fire-and-forget — never throws or blocks. */
851
+ postToChannel(text) {
852
+ if (!this.relaycastApi || !this.channel)
853
+ return;
854
+ this.relaycastApi.sendToChannel(this.channel, text).catch(() => {
855
+ // Non-critical — don't break workflow execution
856
+ });
857
+ }
858
+ // ── Trajectory helpers ────────────────────────────────────────────────
859
+ /** Analyze DAG structure for trajectory context. */
860
+ analyzeDAG(steps) {
861
+ const roots = steps.filter((s) => !s.dependsOn?.length);
862
+ const withDeps = steps.filter((s) => s.dependsOn?.length);
863
+ const parts = [`Parsed ${steps.length} steps`];
864
+ if (roots.length > 1) {
865
+ parts.push(`${roots.length} parallel tracks`);
866
+ }
867
+ if (withDeps.length > 0) {
868
+ parts.push(`${withDeps.length} dependent steps`);
869
+ }
870
+ parts.push('DAG validated, no cycles');
871
+ return parts.join(', ');
872
+ }
873
+ /** Collect step outcomes for trajectory synthesis. */
874
+ collectOutcomes(stepStates, steps) {
875
+ const stepsWithVerification = new Set(steps?.filter((s) => s.verification).map((s) => s.name) ?? []);
876
+ const outcomes = [];
877
+ for (const [name, state] of stepStates) {
878
+ outcomes.push({
879
+ name,
880
+ agent: state.row.agentName,
881
+ status: state.row.status === 'completed' ? 'completed'
882
+ : state.row.status === 'skipped' ? 'skipped'
883
+ : 'failed',
884
+ attempts: state.row.retryCount + 1,
885
+ output: state.row.output,
886
+ error: state.row.error,
887
+ verificationPassed: state.row.status === 'completed' && stepsWithVerification.has(name),
888
+ });
889
+ }
890
+ return outcomes;
891
+ }
704
892
  // ── ID generation ─────────────────────────────────────────────────────
705
893
  generateId() {
706
894
  return randomBytes(12).toString('hex');
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/workflows/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/workflows/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * WorkflowTrajectory — records a structured trajectory for each workflow run.
3
+ *
4
+ * Writes trajectory JSON files directly to `.trajectories/active/` in a format
5
+ * compatible with `trail show`. No external CLI or package dependency required.
6
+ *
7
+ * Design principles:
8
+ * 1. One trajectory per workflow run
9
+ * 2. Chapters map to workflow phases, not individual steps
10
+ * 3. Non-blocking — trajectory recording never fails the workflow
11
+ * 4. Opt-in but default-on
12
+ */
13
+ import type { TrajectoryConfig, WorkflowStep } from './types.js';
14
+ export interface StepOutcome {
15
+ name: string;
16
+ agent: string;
17
+ status: 'completed' | 'failed' | 'skipped';
18
+ attempts: number;
19
+ output?: string;
20
+ error?: string;
21
+ verificationPassed?: boolean;
22
+ }
23
+ export declare class WorkflowTrajectory {
24
+ private trajectory;
25
+ private currentChapterId;
26
+ private readonly enabled;
27
+ private readonly reflectOnBarriers;
28
+ private readonly reflectOnConverge;
29
+ private readonly autoDecisions;
30
+ private readonly dataDir;
31
+ private readonly runId;
32
+ private startTime;
33
+ constructor(config: TrajectoryConfig | false | undefined, runId: string, cwd: string);
34
+ /** Start the trajectory (called at run:started). */
35
+ start(workflowName: string, stepCount: number, trackInfo?: string): Promise<void>;
36
+ /** Begin a new parallel track chapter. */
37
+ beginTrack(trackName: string): Promise<void>;
38
+ /** Begin a convergence chapter (after barrier/parallel completion). */
39
+ beginConvergence(label: string): Promise<void>;
40
+ /** Begin the retrospective chapter. */
41
+ private openRetrospective;
42
+ /** Record step started. */
43
+ stepStarted(step: WorkflowStep, agent: string): Promise<void>;
44
+ /** Record step completed with output summary. */
45
+ stepCompleted(step: WorkflowStep, output: string, attempt: number): Promise<void>;
46
+ /** Record step failed. */
47
+ stepFailed(step: WorkflowStep, error: string, attempt: number, maxRetries: number): Promise<void>;
48
+ /** Record step skipped. */
49
+ stepSkipped(step: WorkflowStep, reason: string): Promise<void>;
50
+ /** Record step retrying. */
51
+ stepRetrying(step: WorkflowStep, attempt: number, maxRetries: number): Promise<void>;
52
+ /** Record a reflection at a convergence point. */
53
+ reflect(synthesis: string, confidence: number, focalPoints?: string[]): Promise<void>;
54
+ /** Synthesize and reflect after a set of steps complete (barrier or parallel convergence). */
55
+ synthesizeAndReflect(label: string, outcomes: StepOutcome[], unblocks?: string[]): Promise<void>;
56
+ /** Record an orchestrator decision. */
57
+ decide(question: string, chosen: string, reasoning: string): Promise<void>;
58
+ /** Complete the trajectory with a summary. */
59
+ complete(summary: string, confidence: number, meta?: {
60
+ learnings?: string[];
61
+ challenges?: string[];
62
+ }): Promise<void>;
63
+ /** Abandon the trajectory. */
64
+ abandon(reason: string): Promise<void>;
65
+ isEnabled(): boolean;
66
+ shouldReflectOnConverge(): boolean;
67
+ shouldReflectOnBarriers(): boolean;
68
+ getTrajectoryId(): string | null;
69
+ buildSynthesis(label: string, outcomes: StepOutcome[], unblocks?: string[]): string;
70
+ computeConfidence(outcomes: StepOutcome[]): number;
71
+ buildRunSummary(outcomes: StepOutcome[]): string;
72
+ extractLearnings(outcomes: StepOutcome[]): string[];
73
+ extractChallenges(outcomes: StepOutcome[]): string[];
74
+ private openChapter;
75
+ private closeCurrentChapter;
76
+ private addEvent;
77
+ private flush;
78
+ private moveToCompleted;
79
+ }
80
+ //# sourceMappingURL=trajectory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trajectory.d.ts","sourceRoot":"","sources":["../../src/workflows/trajectory.ts"],"names":[],"mappings":"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"}