@evalops/maestro 0.10.21 → 0.10.23

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 (154) hide show
  1. package/dist/agent/agent.d.ts +1 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +15 -4
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/swarm/executor.d.ts.map +1 -1
  6. package/dist/agent/swarm/executor.js +68 -3
  7. package/dist/agent/swarm/executor.js.map +1 -1
  8. package/dist/agent/swarm/types.d.ts +3 -0
  9. package/dist/agent/swarm/types.d.ts.map +1 -1
  10. package/dist/agent/swarm/types.js.map +1 -1
  11. package/dist/agent/transport.d.ts.map +1 -1
  12. package/dist/agent/transport.js +7 -1
  13. package/dist/agent/transport.js.map +1 -1
  14. package/dist/audit/logger.d.ts +1 -1
  15. package/dist/bootstrap/tools-setup.d.ts.map +1 -1
  16. package/dist/bootstrap/tools-setup.js +3 -2
  17. package/dist/bootstrap/tools-setup.js.map +1 -1
  18. package/dist/cli/commands/a2a.d.ts.map +1 -1
  19. package/dist/cli/commands/a2a.js +141 -8
  20. package/dist/cli/commands/a2a.js.map +1 -1
  21. package/dist/cli/commands/codex.d.ts.map +1 -1
  22. package/dist/cli/commands/codex.js +4 -3
  23. package/dist/cli/commands/codex.js.map +1 -1
  24. package/dist/cli/commands/hosted-runner.d.ts +1 -0
  25. package/dist/cli/commands/hosted-runner.d.ts.map +1 -1
  26. package/dist/cli/commands/hosted-runner.js +31 -2
  27. package/dist/cli/commands/hosted-runner.js.map +1 -1
  28. package/dist/cli/commands/run.d.ts.map +1 -1
  29. package/dist/cli/commands/run.js +2 -9
  30. package/dist/cli/commands/run.js.map +1 -1
  31. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +1 -1
  32. package/dist/cli-tui/commands/a2a-handlers.js +55 -0
  33. package/dist/cli-tui/commands/a2a-handlers.js.map +1 -1
  34. package/dist/cli.js +3925 -2024
  35. package/dist/codex/compatibility.d.ts +17 -1
  36. package/dist/codex/compatibility.d.ts.map +1 -1
  37. package/dist/codex/compatibility.js +57 -1
  38. package/dist/codex/compatibility.js.map +1 -1
  39. package/dist/guardian/config.d.ts +8 -6
  40. package/dist/guardian/config.d.ts.map +1 -1
  41. package/dist/guardian/config.js +33 -7
  42. package/dist/guardian/config.js.map +1 -1
  43. package/dist/guardian/runner.d.ts.map +1 -1
  44. package/dist/guardian/runner.js +54 -9
  45. package/dist/guardian/runner.js.map +1 -1
  46. package/dist/mcp/config.d.ts.map +1 -1
  47. package/dist/mcp/config.js +2 -0
  48. package/dist/mcp/config.js.map +1 -1
  49. package/dist/mcp/fathom-cua.d.ts +3 -0
  50. package/dist/mcp/fathom-cua.d.ts.map +1 -0
  51. package/dist/mcp/fathom-cua.js +158 -0
  52. package/dist/mcp/fathom-cua.js.map +1 -0
  53. package/dist/mcp/index.d.ts +1 -0
  54. package/dist/mcp/index.d.ts.map +1 -1
  55. package/dist/mcp/index.js +1 -0
  56. package/dist/mcp/index.js.map +1 -1
  57. package/dist/node_modules/@evalops/contracts/dist/artifacts.d.ts +58 -0
  58. package/dist/node_modules/@evalops/contracts/dist/artifacts.d.ts.map +1 -0
  59. package/dist/node_modules/@evalops/contracts/dist/artifacts.js +191 -0
  60. package/dist/node_modules/@evalops/contracts/dist/artifacts.js.map +1 -0
  61. package/dist/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts +10 -10
  62. package/dist/node_modules/@evalops/contracts/dist/index.d.ts +1 -0
  63. package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
  64. package/dist/node_modules/@evalops/contracts/dist/index.js +1 -0
  65. package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  66. package/dist/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts +1 -1
  67. package/dist/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts +3 -3
  68. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  69. package/dist/node_modules/@evalops/tui/package.json +1 -1
  70. package/dist/platform/a2a-cockpit.d.ts +90 -0
  71. package/dist/platform/a2a-cockpit.d.ts.map +1 -0
  72. package/dist/platform/a2a-cockpit.js +302 -0
  73. package/dist/platform/a2a-cockpit.js.map +1 -0
  74. package/dist/platform/a2a-fleet.d.ts +14 -0
  75. package/dist/platform/a2a-fleet.d.ts.map +1 -1
  76. package/dist/platform/a2a-fleet.js +66 -1
  77. package/dist/platform/a2a-fleet.js.map +1 -1
  78. package/dist/platform/a2a-ownership.d.ts +27 -0
  79. package/dist/platform/a2a-ownership.d.ts.map +1 -0
  80. package/dist/platform/a2a-ownership.js +149 -0
  81. package/dist/platform/a2a-ownership.js.map +1 -0
  82. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  83. package/dist/platform/a2a-task-ledger.js +29 -5
  84. package/dist/platform/a2a-task-ledger.js.map +1 -1
  85. package/dist/server/agent-trajectory-replay-lab.d.ts +36 -0
  86. package/dist/server/agent-trajectory-replay-lab.d.ts.map +1 -0
  87. package/dist/server/agent-trajectory-replay-lab.js +48 -0
  88. package/dist/server/agent-trajectory-replay-lab.js.map +1 -0
  89. package/dist/server/any-agent-control-plane-proof.d.ts +42 -0
  90. package/dist/server/any-agent-control-plane-proof.d.ts.map +1 -0
  91. package/dist/server/any-agent-control-plane-proof.js +175 -0
  92. package/dist/server/any-agent-control-plane-proof.js.map +1 -0
  93. package/dist/server/app-context.d.ts +1 -0
  94. package/dist/server/app-context.d.ts.map +1 -1
  95. package/dist/server/app-context.js.map +1 -1
  96. package/dist/server/handlers/a2a-cockpit.d.ts +3 -0
  97. package/dist/server/handlers/a2a-cockpit.d.ts.map +1 -0
  98. package/dist/server/handlers/a2a-cockpit.js +71 -0
  99. package/dist/server/handlers/a2a-cockpit.js.map +1 -0
  100. package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
  101. package/dist/server/handlers/headless-sessions.js +17 -2
  102. package/dist/server/handlers/headless-sessions.js.map +1 -1
  103. package/dist/server/handlers/session-artifacts.d.ts.map +1 -1
  104. package/dist/server/handlers/session-artifacts.js +14 -58
  105. package/dist/server/handlers/session-artifacts.js.map +1 -1
  106. package/dist/server/handlers/session-replay-lab.d.ts +13 -0
  107. package/dist/server/handlers/session-replay-lab.d.ts.map +1 -0
  108. package/dist/server/handlers/session-replay-lab.js +80 -0
  109. package/dist/server/handlers/session-replay-lab.js.map +1 -0
  110. package/dist/server/handlers/stats.js +1 -1
  111. package/dist/server/handlers/stats.js.map +1 -1
  112. package/dist/server/handlers/status.d.ts +44 -3
  113. package/dist/server/handlers/status.d.ts.map +1 -1
  114. package/dist/server/handlers/status.js +227 -17
  115. package/dist/server/handlers/status.js.map +1 -1
  116. package/dist/server/headless-runtime-service.d.ts +17 -0
  117. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  118. package/dist/server/headless-runtime-service.js +143 -3
  119. package/dist/server/headless-runtime-service.js.map +1 -1
  120. package/dist/server/hosted-agent-runtime-progress.d.ts +17 -0
  121. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
  122. package/dist/server/hosted-agent-runtime-progress.js +352 -15
  123. package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
  124. package/dist/server/routes.d.ts.map +1 -1
  125. package/dist/server/routes.js +14 -0
  126. package/dist/server/routes.js.map +1 -1
  127. package/dist/services/intelligent-router/index.d.ts +1 -1
  128. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  129. package/dist/services/intelligent-router/index.js +1 -1
  130. package/dist/services/intelligent-router/index.js.map +1 -1
  131. package/dist/services/intelligent-router/normalize.d.ts +10 -2
  132. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  133. package/dist/services/intelligent-router/normalize.js +20 -1
  134. package/dist/services/intelligent-router/normalize.js.map +1 -1
  135. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  136. package/dist/services/intelligent-router/service.js +35 -0
  137. package/dist/services/intelligent-router/service.js.map +1 -1
  138. package/dist/services/intelligent-router/types.d.ts +13 -0
  139. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  140. package/dist/services/intelligent-router/types.js +1 -0
  141. package/dist/services/intelligent-router/types.js.map +1 -1
  142. package/dist/telemetry/cli-command-aggregator.d.ts +1 -0
  143. package/dist/telemetry/cli-command-aggregator.d.ts.map +1 -1
  144. package/dist/telemetry/cli-command-aggregator.js +23 -0
  145. package/dist/telemetry/cli-command-aggregator.js.map +1 -1
  146. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  147. package/dist/telemetry/maestro-event-bus.js +11 -5
  148. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  149. package/dist/telemetry/maestro-event-catalog.d.ts +15 -1
  150. package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
  151. package/dist/telemetry/maestro-event-catalog.js +30 -0
  152. package/dist/telemetry/maestro-event-catalog.js.map +1 -1
  153. package/dist/version.json +2 -2
  154. package/package.json +289 -283
@@ -98,9 +98,23 @@ export declare class HostedAgentRuntimeProgressRecorder {
98
98
  private readonly recordedTaskWorkItemIds;
99
99
  private pending;
100
100
  private turnIndex;
101
+ private autoRetrySequence;
102
+ private activeAutoRetrySequence;
103
+ private lastAutoRetryAttempt;
101
104
  private terminalRecorded;
102
105
  constructor(options: HostedAgentRuntimeProgressRecorderOptions);
103
106
  recordAgentEvent(event: AgentEvent): void;
107
+ private recordFinalStatusEvent;
108
+ private recordStatusEvent;
109
+ private recordCompactionEvent;
110
+ private recordAutoRetryStart;
111
+ private recordAutoRetryEnd;
112
+ private recordDiagnosticDelta;
113
+ private recordToolBatchSummary;
114
+ private recordToolPhaseSummary;
115
+ private recordToolExecutionUpdate;
116
+ private recordToolArtifactEvent;
117
+ private recordToolRetryEvent;
104
118
  recordServerRequestEvent(event: ServerRequestLifecycleEvent): void;
105
119
  recordPromptFailure(message: string): void;
106
120
  recordTaskProgressEvent(event: HostedAgentRuntimeTaskProgressEvent): void;
@@ -133,6 +147,9 @@ export declare class HostedAgentRuntimeProgressRecorder {
133
147
  private taskProgressId;
134
148
  private toolStepId;
135
149
  private workItemId;
150
+ private resolveAutoRetryStartSequence;
151
+ private resolveAutoRetryEndSequence;
152
+ private autoRetryStepId;
136
153
  private waitId;
137
154
  private checkpointId;
138
155
  private resumeEventId;
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-agent-runtime-progress.d.ts","sourceRoot":"","sources":["../../src/server/hosted-agent-runtime-progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-agent-runtime-progress.d.ts","sourceRoot":"","sources":["../../src/server/hosted-agent-runtime-progress.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,13 @@ function stringArray(value) {
81
81
  }
82
82
  return value.filter((item) => typeof item === "string" && item.length > 0);
83
83
  }
84
+ function compactStringArray(value, maxItems = 32) {
85
+ const compacted = value
86
+ .map((item) => compactString(item, 160))
87
+ .filter((item) => Boolean(item))
88
+ .slice(0, maxItems);
89
+ return compacted.length > 0 ? compacted : undefined;
90
+ }
84
91
  function codexSubagentToolName(toolName) {
85
92
  const tool = toolName.startsWith(CODEX_SUBAGENT_TOOL_PREFIX)
86
93
  ? toolName.slice(CODEX_SUBAGENT_TOOL_PREFIX.length)
@@ -299,6 +306,32 @@ function materializedToolExecutionId(event) {
299
306
  }
300
307
  return toolExecutionId;
301
308
  }
309
+ function toolResultMetrics(result) {
310
+ const content = Array.isArray(result.content) ? result.content : [];
311
+ const textBlocks = content.filter((block) => isRecord(block) &&
312
+ block.type === "text" &&
313
+ typeof block.text === "string");
314
+ const imageMimeTypes = content
315
+ .map((block) => isRecord(block) && block.type === "image"
316
+ ? compactString(block.mimeType, 128)
317
+ : undefined)
318
+ .filter((mimeType) => Boolean(mimeType));
319
+ return {
320
+ content_block_count: content.length,
321
+ text_block_count: textBlocks.length,
322
+ text_total_chars: textBlocks.reduce((total, block) => total + block.text.length, 0),
323
+ image_block_count: imageMimeTypes.length,
324
+ image_mime_types: imageMimeTypes.length > 0 ? imageMimeTypes : undefined,
325
+ details_keys: objectKeys(result.details),
326
+ result_error: typeof result.isError === "boolean" ? result.isError : undefined,
327
+ result_tool_execution_id: typeof result.toolExecutionId === "string"
328
+ ? result.toolExecutionId
329
+ : undefined,
330
+ result_approval_request_id: typeof result.approvalRequestId === "string"
331
+ ? result.approvalRequestId
332
+ : undefined,
333
+ };
334
+ }
302
335
  function waitTypeForRequest(kind) {
303
336
  switch (kind) {
304
337
  case "approval":
@@ -418,6 +451,9 @@ export class HostedAgentRuntimeProgressRecorder {
418
451
  this.recordedTaskWorkItemIds = new Set();
419
452
  this.pending = Promise.resolve();
420
453
  this.turnIndex = 0;
454
+ this.autoRetrySequence = 0;
455
+ this.activeAutoRetrySequence = null;
456
+ this.lastAutoRetryAttempt = 0;
421
457
  this.terminalRecorded = false;
422
458
  this.sessionId = options.sessionId;
423
459
  this.hostedRunner = options.hostedRunner;
@@ -452,21 +488,69 @@ export class HostedAgentRuntimeProgressRecorder {
452
488
  });
453
489
  return;
454
490
  case "agent_end":
455
- this.recordStep({
456
- id: this.stepId("agent", `end-${this.turnIndex}`),
457
- name: "Agent run completed",
458
- stepKind: event.aborted || event.stopReason === "error"
459
- ? PlatformAgentRunStepKindValue.Error
460
- : PlatformAgentRunStepKindValue.System,
461
- state: event.aborted || event.stopReason === "error"
462
- ? PlatformAgentRunStepStateValue.Failed
463
- : PlatformAgentRunStepStateValue.Succeeded,
464
- output: this.basePayload({
465
- event_type: event.type,
466
- aborted: event.aborted ?? false,
467
- stop_reason: event.stopReason,
468
- }),
491
+ {
492
+ const stepId = this.stepId("agent", `end-${this.turnIndex}`);
493
+ this.recordStep({
494
+ id: stepId,
495
+ name: "Agent run completed",
496
+ stepKind: event.aborted || event.stopReason === "error"
497
+ ? PlatformAgentRunStepKindValue.Error
498
+ : PlatformAgentRunStepKindValue.System,
499
+ state: event.aborted || event.stopReason === "error"
500
+ ? PlatformAgentRunStepStateValue.Failed
501
+ : PlatformAgentRunStepStateValue.Succeeded,
502
+ output: this.basePayload({
503
+ event_type: event.type,
504
+ aborted: event.aborted ?? false,
505
+ stop_reason: event.stopReason,
506
+ }),
507
+ });
508
+ this.recordFinalStatusEvent(event, stepId);
509
+ }
510
+ return;
511
+ case "status":
512
+ this.recordStatusEvent(event);
513
+ return;
514
+ case "compaction":
515
+ this.recordCompactionEvent(event);
516
+ return;
517
+ case "auto_retry_start":
518
+ this.recordAutoRetryStart(event);
519
+ return;
520
+ case "auto_retry_end":
521
+ this.recordAutoRetryEnd(event);
522
+ return;
523
+ case "diagnostic_delta":
524
+ this.recordDiagnosticDelta(event);
525
+ return;
526
+ case "tool_batch_summary":
527
+ this.recordToolBatchSummary(event);
528
+ return;
529
+ case "tool_phase_summary":
530
+ this.recordToolPhaseSummary(event);
531
+ return;
532
+ case "tool_execution_update":
533
+ this.recordToolExecutionUpdate(event);
534
+ return;
535
+ case "tool_retry_required":
536
+ this.recordApprovalWait({
537
+ id: event.request.id,
538
+ callId: event.request.toolCallId,
539
+ toolName: event.request.toolName,
540
+ reason: event.request.summary ?? event.request.errorMessage,
541
+ kind: "tool_retry",
542
+ });
543
+ this.recordToolRetryEvent(event);
544
+ return;
545
+ case "tool_retry_resolved":
546
+ this.resumeWait({
547
+ id: event.request.id,
548
+ kind: "tool_retry",
549
+ resolution: event.decision.action,
550
+ resolvedBy: event.decision.resolvedBy,
551
+ reason: event.decision.reason,
469
552
  });
553
+ this.recordToolRetryEvent(event);
470
554
  return;
471
555
  case "turn_start":
472
556
  this.turnIndex += 1;
@@ -537,6 +621,7 @@ export class HostedAgentRuntimeProgressRecorder {
537
621
  });
538
622
  this.updateCodexSubagentWorkItem(event);
539
623
  this.recordToolDerivedTaskProgress(event);
624
+ this.recordToolArtifactEvent(event);
540
625
  return;
541
626
  case "action_approval_required":
542
627
  this.recordApprovalWait({
@@ -567,6 +652,226 @@ export class HostedAgentRuntimeProgressRecorder {
567
652
  return;
568
653
  }
569
654
  }
655
+ recordFinalStatusEvent(event, stepId) {
656
+ const finalStatus = event.aborted || event.stopReason === "error" ? "failed" : "succeeded";
657
+ this.recordEvent({
658
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
659
+ message: "Maestro agent final status recorded",
660
+ stepId,
661
+ attributes: this.basePayload({
662
+ event_type: "agent_final_status",
663
+ final_status: finalStatus,
664
+ aborted: event.aborted ?? false,
665
+ stop_reason: event.stopReason,
666
+ message_count: event.messages.length,
667
+ partial_accepted: Boolean(event.partialAccepted),
668
+ }),
669
+ });
670
+ }
671
+ recordStatusEvent(event) {
672
+ this.recordEvent({
673
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
674
+ message: "Maestro status recorded",
675
+ attributes: this.basePayload({
676
+ event_type: event.type,
677
+ status: compactString(event.status),
678
+ detail_keys: objectKeys(event.details),
679
+ }),
680
+ });
681
+ }
682
+ recordCompactionEvent(event) {
683
+ this.recordEvent({
684
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
685
+ message: "Maestro context compaction recorded",
686
+ attributes: this.basePayload({
687
+ event_type: event.type,
688
+ first_kept_entry_index: event.firstKeptEntryIndex,
689
+ tokens_before: event.tokensBefore,
690
+ auto: event.auto ?? false,
691
+ custom_instructions_present: Boolean(event.customInstructions),
692
+ summary_chars: event.summary.length,
693
+ timestamp: event.timestamp,
694
+ }),
695
+ });
696
+ }
697
+ recordAutoRetryStart(event) {
698
+ const sequence = this.resolveAutoRetryStartSequence(event.attempt);
699
+ this.recordStep({
700
+ id: this.autoRetryStepId(event.attempt, sequence),
701
+ name: `Auto retry ${event.attempt}`,
702
+ stepKind: PlatformAgentRunStepKindValue.System,
703
+ state: PlatformAgentRunStepStateValue.Waiting,
704
+ input: this.basePayload({
705
+ event_type: event.type,
706
+ attempt: event.attempt,
707
+ max_attempts: event.maxAttempts,
708
+ delay_ms: event.delayMs,
709
+ error_message: compactString(event.errorMessage, 512),
710
+ }),
711
+ });
712
+ }
713
+ recordAutoRetryEnd(event) {
714
+ const sequence = this.resolveAutoRetryEndSequence();
715
+ this.recordStep({
716
+ id: this.autoRetryStepId(event.attempt, sequence),
717
+ name: `Auto retry ${event.attempt}`,
718
+ stepKind: event.success
719
+ ? PlatformAgentRunStepKindValue.System
720
+ : PlatformAgentRunStepKindValue.Error,
721
+ state: event.success
722
+ ? PlatformAgentRunStepStateValue.Succeeded
723
+ : PlatformAgentRunStepStateValue.Failed,
724
+ errorMessage: event.success
725
+ ? undefined
726
+ : compactString(event.finalError, 512),
727
+ output: this.basePayload({
728
+ event_type: event.type,
729
+ success: event.success,
730
+ attempt: event.attempt,
731
+ final_error: compactString(event.finalError, 512),
732
+ }),
733
+ });
734
+ }
735
+ recordDiagnosticDelta(event) {
736
+ this.recordEvent({
737
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
738
+ message: "Maestro diagnostic delta recorded",
739
+ stepId: this.toolStepId(event.toolCallId),
740
+ attributes: this.basePayload({
741
+ event_type: event.type,
742
+ tool_call_id: event.toolCallId,
743
+ tool_name: event.toolName,
744
+ display_path: compactString(event.displayPath, 512),
745
+ used_delta: event.usedDelta,
746
+ introduced_count: event.introducedCount,
747
+ repaired_count: event.repairedCount,
748
+ remaining_count: event.remainingCount,
749
+ fingerprint: event.fingerprint,
750
+ repair_attempt: event.repairAttempt,
751
+ max_repair_attempts: event.maxRepairAttempts,
752
+ will_auto_follow_up: event.willAutoFollowUp,
753
+ reason: compactString(event.reason),
754
+ }),
755
+ });
756
+ }
757
+ recordToolBatchSummary(event) {
758
+ this.recordEvent({
759
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
760
+ message: "Maestro tool batch summary recorded",
761
+ attributes: this.basePayload({
762
+ event_type: event.type,
763
+ summary: compactString(event.summary, 512),
764
+ summary_labels: compactStringArray(event.summaryLabels),
765
+ tool_call_ids: compactStringArray(event.toolCallIds),
766
+ tool_names: compactStringArray(event.toolNames),
767
+ calls_succeeded: event.callsSucceeded,
768
+ calls_failed: event.callsFailed,
769
+ }),
770
+ });
771
+ }
772
+ recordToolPhaseSummary(event) {
773
+ this.recordEvent({
774
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
775
+ message: "Maestro tool phase summary recorded",
776
+ attributes: this.basePayload({
777
+ event_type: event.type,
778
+ model_tool_call_count: event.modelToolCallCount,
779
+ model_emitted_tool_call_count: event.modelEmittedToolCallCount,
780
+ schedulable_wave_count: event.schedulableWaveCount,
781
+ parallelized_call_count: event.parallelizedCallCount,
782
+ actually_parallelized_call_count: event.actuallyParallelizedCallCount,
783
+ serialized_call_count: event.serializedCallCount,
784
+ delayed_call_count: event.delayedCallCount,
785
+ blocked_by_mutation_count: event.blockedByMutationCount,
786
+ mcp_opt_in_call_count: event.mcpOptInCallCount,
787
+ mcp_opt_in_use_count: event.mcpOptInUseCount,
788
+ cache_hit_count: event.cacheHitCount,
789
+ total_tool_wait_ms: event.totalToolWaitMs,
790
+ tool_wait_time_ms: event.toolWaitTimeMs,
791
+ serialization_reasons: event.serializationReasons,
792
+ batch_shaping_feedback: event.batchShapingFeedback,
793
+ }),
794
+ });
795
+ }
796
+ recordToolExecutionUpdate(event) {
797
+ const partialToolExecutionId = materializedToolExecutionId(event) ??
798
+ materializedToolExecutionId({
799
+ toolCallId: event.toolCallId,
800
+ toolExecutionId: event.partialResult.toolExecutionId,
801
+ });
802
+ this.recordEvent({
803
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
804
+ message: "Maestro tool execution update recorded",
805
+ stepId: this.toolStepId(event.toolCallId),
806
+ attributes: this.basePayload({
807
+ event_type: event.type,
808
+ tool_call_id: event.toolCallId,
809
+ tool_execution_id: partialToolExecutionId,
810
+ tool_name: event.toolName,
811
+ display_name: event.displayName,
812
+ summary_label: event.summaryLabel,
813
+ arg_keys: objectKeys(event.args),
814
+ ...toolResultMetrics(event.partialResult),
815
+ }),
816
+ });
817
+ }
818
+ recordToolArtifactEvent(event) {
819
+ const metadata = event.skillMetadata;
820
+ if (!metadata) {
821
+ return;
822
+ }
823
+ this.recordEvent({
824
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
825
+ message: "Maestro tool artifact evidence recorded",
826
+ stepId: this.toolStepId(event.toolCallId),
827
+ artifactId: metadata.artifactId,
828
+ attributes: this.basePayload({
829
+ event_type: "tool_artifact_recorded",
830
+ tool_call_id: event.toolCallId,
831
+ tool_execution_id: materializedToolExecutionId(event),
832
+ tool_name: event.toolName,
833
+ display_name: event.displayName,
834
+ summary_label: event.summaryLabel,
835
+ skill_name: metadata.name,
836
+ skill_hash: metadata.hash,
837
+ skill_source: metadata.source,
838
+ skill_artifact_id: metadata.artifactId,
839
+ skill_version: metadata.version,
840
+ skill_scope: metadata.scope,
841
+ skill_workspace_id: metadata.workspaceId,
842
+ skill_owner_id: metadata.ownerId,
843
+ source_path: compactString(metadata.sourcePath, 512),
844
+ }),
845
+ });
846
+ }
847
+ recordToolRetryEvent(event) {
848
+ this.recordEvent({
849
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
850
+ message: event.type === "tool_retry_required"
851
+ ? "Maestro tool retry required"
852
+ : "Maestro tool retry resolved",
853
+ stepId: this.toolStepId(event.request.toolCallId),
854
+ waitId: this.waitId(event.request.id),
855
+ attributes: this.basePayload({
856
+ event_type: event.type,
857
+ request_id: event.request.id,
858
+ tool_call_id: event.request.toolCallId,
859
+ tool_name: event.request.toolName,
860
+ error_message: compactString(event.request.errorMessage, 512),
861
+ summary: compactString(event.request.summary, 512),
862
+ attempt: event.request.attempt,
863
+ max_attempts: event.request.maxAttempts,
864
+ arg_keys: objectKeys(event.request.args),
865
+ ...(event.type === "tool_retry_resolved"
866
+ ? {
867
+ resolution: event.decision.action,
868
+ resolved_by: event.decision.resolvedBy,
869
+ reason: compactString(event.decision.reason, 512),
870
+ }
871
+ : {}),
872
+ }),
873
+ });
874
+ }
570
875
  recordServerRequestEvent(event) {
571
876
  if (event.type === "registered") {
572
877
  this.recordApprovalWait({
@@ -592,8 +897,9 @@ export class HostedAgentRuntimeProgressRecorder {
592
897
  });
593
898
  }
594
899
  recordPromptFailure(message) {
900
+ const stepId = this.stepId("error", `${Date.now()}`);
595
901
  this.recordStep({
596
- id: this.stepId("error", `${Date.now()}`),
902
+ id: stepId,
597
903
  name: "Prompt failed",
598
904
  stepKind: PlatformAgentRunStepKindValue.Error,
599
905
  state: PlatformAgentRunStepStateValue.Failed,
@@ -602,6 +908,15 @@ export class HostedAgentRuntimeProgressRecorder {
602
908
  event_type: "prompt_failure",
603
909
  }),
604
910
  });
911
+ this.recordEvent({
912
+ type: PlatformRuntimeEventTypeValue.AgentProgressRecorded,
913
+ message: "Maestro prompt failure recorded",
914
+ stepId,
915
+ attributes: this.basePayload({
916
+ event_type: "prompt_failure",
917
+ error_message: compactString(message, 512),
918
+ }),
919
+ });
605
920
  }
606
921
  recordTaskProgressEvent(event) {
607
922
  const runId = nonEmptyString(this.hostedRunner?.agentRunId);
@@ -1625,6 +1940,28 @@ export class HostedAgentRuntimeProgressRecorder {
1625
1940
  workItemId(toolCallId) {
1626
1941
  return this.stepId("work", toolCallId);
1627
1942
  }
1943
+ resolveAutoRetryStartSequence(attempt) {
1944
+ if (this.activeAutoRetrySequence === null ||
1945
+ attempt <= this.lastAutoRetryAttempt) {
1946
+ this.autoRetrySequence += 1;
1947
+ this.activeAutoRetrySequence = this.autoRetrySequence;
1948
+ }
1949
+ this.lastAutoRetryAttempt = attempt;
1950
+ return this.activeAutoRetrySequence;
1951
+ }
1952
+ resolveAutoRetryEndSequence() {
1953
+ if (this.activeAutoRetrySequence === null) {
1954
+ this.autoRetrySequence += 1;
1955
+ this.activeAutoRetrySequence = this.autoRetrySequence;
1956
+ }
1957
+ const sequence = this.activeAutoRetrySequence;
1958
+ this.activeAutoRetrySequence = null;
1959
+ this.lastAutoRetryAttempt = 0;
1960
+ return sequence;
1961
+ }
1962
+ autoRetryStepId(attempt, sequence) {
1963
+ return this.stepId("retry", `auto-${sequence}-attempt-${attempt}`);
1964
+ }
1628
1965
  waitId(requestId) {
1629
1966
  return this.stepId("wait", requestId);
1630
1967
  }