@evalops/maestro 0.10.41 → 0.10.43

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 (49) hide show
  1. package/dist/cli/commands/operating-plane.d.ts.map +1 -1
  2. package/dist/cli/commands/operating-plane.js +3 -2
  3. package/dist/cli/commands/operating-plane.js.map +1 -1
  4. package/dist/cli/help.js +8 -6
  5. package/dist/cli/help.js.map +1 -1
  6. package/dist/cli.js +209 -97
  7. package/dist/codex/subagent-dispatch-table.d.ts +1 -1
  8. package/dist/codex/subagent-dispatch-table.js +1 -1
  9. package/dist/codex/subagent-dispatch-table.js.map +1 -1
  10. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  11. package/dist/node_modules/@evalops/tui/package.json +1 -1
  12. package/dist/platform/a2a-completion-audit.d.ts +12 -6
  13. package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
  14. package/dist/platform/a2a-completion-audit.js +28 -20
  15. package/dist/platform/a2a-completion-audit.js.map +1 -1
  16. package/dist/platform/a2a-maestro-peer.js +8 -7
  17. package/dist/platform/a2a-maestro-peer.js.map +1 -1
  18. package/dist/platform/a2a-telemetry-inspect.d.ts +2 -2
  19. package/dist/platform/a2a-telemetry-inspect.d.ts.map +1 -1
  20. package/dist/platform/a2a-telemetry-inspect.js +3 -3
  21. package/dist/platform/a2a-telemetry-inspect.js.map +1 -1
  22. package/dist/platform/operating-plane-client.d.ts +2 -2
  23. package/dist/platform/operating-plane-client.d.ts.map +1 -1
  24. package/dist/platform/operating-plane-client.js.map +1 -1
  25. package/dist/platform/operating-plane-summary.d.ts +4 -4
  26. package/dist/platform/operating-plane-summary.d.ts.map +1 -1
  27. package/dist/platform/operating-plane-summary.js +39 -27
  28. package/dist/platform/operating-plane-summary.js.map +1 -1
  29. package/dist/server/session-timeline.d.ts.map +1 -1
  30. package/dist/server/session-timeline.js +112 -2
  31. package/dist/server/session-timeline.js.map +1 -1
  32. package/dist/tools/background/resource-monitor.d.ts.map +1 -1
  33. package/dist/tools/background/resource-monitor.js +8 -6
  34. package/dist/tools/background/resource-monitor.js.map +1 -1
  35. package/dist/tools/parallel-ripgrep.d.ts.map +1 -1
  36. package/dist/tools/parallel-ripgrep.js +2 -2
  37. package/dist/tools/parallel-ripgrep.js.map +1 -1
  38. package/dist/tools/ripgrep-utils.d.ts +1 -0
  39. package/dist/tools/ripgrep-utils.d.ts.map +1 -1
  40. package/dist/tools/ripgrep-utils.js +4 -0
  41. package/dist/tools/ripgrep-utils.js.map +1 -1
  42. package/dist/tools/search.d.ts.map +1 -1
  43. package/dist/tools/search.js +2 -2
  44. package/dist/tools/search.js.map +1 -1
  45. package/dist/utils/document-extractor.d.ts.map +1 -1
  46. package/dist/utils/document-extractor.js +8 -1
  47. package/dist/utils/document-extractor.js.map +1 -1
  48. package/dist/version.json +2 -2
  49. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"a2a-telemetry-inspect.js","sourceRoot":"","sources":["../../src/platform/a2a-telemetry-inspect.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tA2ACompletionAudit,\n\tA2ACompletionAuditLane,\n} from \"./a2a-completion-audit.js\";\n\nexport const A2A_TELEMETRY_INSPECTION_SCHEMA =\n\t\"evalops.maestro.a2a-telemetry-inspection.v1\";\n\nexport interface A2ATelemetryCloudEventLike {\n\ttype: string;\n\ttime?: string;\n\tdata?: Record<string, unknown>;\n}\n\nexport interface A2ATelemetryInspectionLane {\n\tlaneId: string;\n\tparentTaskId?: string;\n\ta2aTaskId?: string;\n\ta2aMessageId?: string;\n\tcontextId?: string;\n\tpeer?: string;\n\tpeerAgentId?: string;\n\tsource?: string;\n\tstatus?: string;\n\teventTypes: string[];\n\ttiming: A2ATelemetryInspectionLaneTiming;\n\torderingAnomalies: string[];\n\tmissingEventTypes: string[];\n\tmissingEvidence: string[];\n}\n\nexport interface A2ATelemetryInspectionLaneTiming {\n\tfirstEventAt?: string;\n\tpeerSelectedAt?: string;\n\tdispatchedAt?: string;\n\tterminalAt?: string;\n\tlastEventAt?: string;\n\tselectionToDispatchMs?: number;\n\tobservedDurationMs?: number;\n\tlifecycleDurationMs?: number;\n\treportedDispatchLatencyMs?: number;\n\treportedDurationMs?: number;\n\tpushLagMs?: number;\n}\n\nexport interface A2ATelemetryInspection {\n\tschema: typeof A2A_TELEMETRY_INSPECTION_SCHEMA;\n\tswarmId: string;\n\tcomplete: boolean;\n\tcounts: {\n\t\tevents: number;\n\t\tlanes: number;\n\t\tselectedPeers: number;\n\t\tcompletedLanes: number;\n\t\tfailedLanes: number;\n\t\tmissingTelemetryLanes: number;\n\t\torderingAnomalyLanes: number;\n\t};\n\tlanes: A2ATelemetryInspectionLane[];\n}\n\nexport interface InspectA2ATelemetryInput {\n\tswarmId: string;\n\tevents: A2ATelemetryCloudEventLike[];\n\taudit?: A2ACompletionAudit;\n}\n\nconst PEER_SELECTED = \"maestro.events.a2a.peer.selected\";\nconst TASK_DISPATCHED = \"maestro.events.a2a.task.dispatched\";\nconst TASK_COMPLETED = \"maestro.events.a2a.task.completed\";\nconst TASK_FAILED = \"maestro.events.a2a.task.failed\";\nconst TASK_CANCELLED = \"maestro.events.a2a.task.cancelled\";\nconst PUSH_RECEIVED = \"maestro.events.a2a.push.received\";\n\ntype TimedA2AEvent = {\n\tevent: A2ATelemetryCloudEventLike;\n\toccurredAtMs: number;\n};\n\nexport function inspectA2ATelemetry(\n\tinput: InspectA2ATelemetryInput,\n): A2ATelemetryInspection {\n\tconst events = input.events.filter(\n\t\t(event) => stringValue(event.data?.swarm_id) === input.swarmId,\n\t);\n\tconst auditLanes = new Map(\n\t\t(input.audit?.lanes ?? []).map((lane) => [lane.laneId, lane]),\n\t);\n\tconst laneEvents = new Map<string, A2ATelemetryCloudEventLike[]>();\n\tfor (const event of events) {\n\t\tconst laneId = stringValue(event.data?.lane_id);\n\t\tif (!laneId) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst list = laneEvents.get(laneId) ?? [];\n\t\tlist.push(event);\n\t\tlaneEvents.set(laneId, list);\n\t}\n\tfor (const laneId of auditLanes.keys()) {\n\t\tif (!laneEvents.has(laneId)) {\n\t\t\tlaneEvents.set(laneId, []);\n\t\t}\n\t}\n\tconst lanes = [...laneEvents.entries()].map(([laneId, laneEventList]) =>\n\t\tinspectLane(laneId, laneEventList, auditLanes.get(laneId)),\n\t);\n\tconst selectedPeers = new Set(\n\t\tlanes\n\t\t\t.map((lane) => lane.peerAgentId ?? lane.peer)\n\t\t\t.filter((value): value is string => Boolean(value)),\n\t);\n\tconst missingTelemetryLanes = lanes.filter(\n\t\t(lane) => lane.missingEventTypes.length > 0,\n\t).length;\n\tconst orderingAnomalyLanes = lanes.filter(\n\t\t(lane) => lane.orderingAnomalies.length > 0,\n\t).length;\n\tconst failedLanes = lanes.filter((lane) => isFailedLane(lane)).length;\n\tconst completedLanes = lanes.filter((lane) => isCompletedLane(lane)).length;\n\treturn {\n\t\tschema: A2A_TELEMETRY_INSPECTION_SCHEMA,\n\t\tswarmId: input.swarmId,\n\t\tcomplete:\n\t\t\tlanes.length > 0 &&\n\t\t\tmissingTelemetryLanes === 0 &&\n\t\t\torderingAnomalyLanes === 0 &&\n\t\t\tlanes.every((lane) => lane.missingEvidence.length === 0) &&\n\t\t\tinput.audit?.complete !== false,\n\t\tcounts: {\n\t\t\tevents: events.length,\n\t\t\tlanes: lanes.length,\n\t\t\tselectedPeers: selectedPeers.size,\n\t\t\tcompletedLanes,\n\t\t\tfailedLanes,\n\t\t\tmissingTelemetryLanes,\n\t\t\torderingAnomalyLanes,\n\t\t},\n\t\tlanes,\n\t};\n}\n\nfunction inspectLane(\n\tlaneId: string,\n\tevents: A2ATelemetryCloudEventLike[],\n\tauditLane: A2ACompletionAuditLane | undefined,\n): A2ATelemetryInspectionLane {\n\tconst merged = mergeLaneEventData(events);\n\tconst eventTypes = unique(events.map((event) => event.type));\n\tconst timing = laneTiming(events);\n\treturn {\n\t\tlaneId,\n\t\tparentTaskId: stringValue(merged.parent_task_id) ?? auditLane?.parentTaskId,\n\t\ta2aTaskId: stringValue(merged.a2a_task_id) ?? auditLane?.a2aTaskId,\n\t\ta2aMessageId: stringValue(merged.a2a_message_id) ?? auditLane?.a2aMessageId,\n\t\tcontextId: stringValue(merged.context_id) ?? auditLane?.contextId,\n\t\tpeer: stringValue(merged.peer_name) ?? auditLane?.peer,\n\t\tpeerAgentId: stringValue(merged.peer_agent_id),\n\t\tsource: stringValue(merged.source),\n\t\tstatus: stringValue(merged.status) ?? auditLane?.status,\n\t\teventTypes,\n\t\ttiming,\n\t\torderingAnomalies: orderingAnomalies(events, timing),\n\t\tmissingEventTypes: missingEventTypes(events, eventTypes),\n\t\tmissingEvidence: auditLane?.missingEvidence ?? [],\n\t};\n}\n\nfunction mergeLaneEventData(\n\tevents: A2ATelemetryCloudEventLike[],\n): Record<string, unknown> {\n\tconst merged: Record<string, unknown> = {};\n\tfor (const event of events) {\n\t\tObject.assign(merged, event.data);\n\t}\n\treturn merged;\n}\n\nfunction missingEventTypes(\n\tevents: A2ATelemetryCloudEventLike[],\n\teventTypes: string[],\n): string[] {\n\tconst missing: string[] = [];\n\tif (!eventTypes.includes(PEER_SELECTED)) {\n\t\tmissing.push(PEER_SELECTED);\n\t}\n\tif (\n\t\t!eventTypes.includes(TASK_DISPATCHED) &&\n\t\t!isPreDispatchTerminalFailure(events, eventTypes)\n\t) {\n\t\tmissing.push(TASK_DISPATCHED);\n\t}\n\tif (!eventTypes.some((type) => isTerminalEventType(type))) {\n\t\tmissing.push(TASK_COMPLETED);\n\t}\n\treturn missing;\n}\n\nfunction isPreDispatchTerminalFailure(\n\tevents: A2ATelemetryCloudEventLike[],\n\teventTypes: string[],\n): boolean {\n\treturn (\n\t\t!eventTypes.includes(TASK_DISPATCHED) &&\n\t\t(eventTypes.includes(TASK_FAILED) || eventTypes.includes(TASK_CANCELLED)) &&\n\t\tevents.every((event) => !stringValue(event.data?.a2a_task_id))\n\t);\n}\n\nfunction isTerminalEventType(type: string): boolean {\n\treturn (\n\t\ttype === TASK_COMPLETED || type === TASK_FAILED || type === TASK_CANCELLED\n\t);\n}\n\nfunction laneTiming(\n\tevents: A2ATelemetryCloudEventLike[],\n): A2ATelemetryInspectionLaneTiming {\n\tconst timedEvents = events\n\t\t.map((event) => ({ event, occurredAtMs: eventTimeMs(event) }))\n\t\t.filter((entry): entry is TimedA2AEvent => entry.occurredAtMs !== undefined)\n\t\t.sort((left, right) => left.occurredAtMs - right.occurredAtMs);\n\tconst firstEventAt = timedEvents[0]?.occurredAtMs;\n\tconst lastEventAt = timedEvents[timedEvents.length - 1]?.occurredAtMs;\n\tconst isPeerSelectedEvent = (event: A2ATelemetryCloudEventLike) =>\n\t\tevent.type === PEER_SELECTED;\n\tconst isDispatchedEvent = (event: A2ATelemetryCloudEventLike) =>\n\t\tevent.type === TASK_DISPATCHED;\n\tconst isPushEvent = (event: A2ATelemetryCloudEventLike) =>\n\t\tevent.type === PUSH_RECEIVED;\n\tconst peerSelectedEvent = firstTimedEvent(timedEvents, isPeerSelectedEvent);\n\tconst dispatchedEvent = firstTimedEvent(timedEvents, isDispatchedEvent);\n\tconst terminalEvent = firstTimedEvent(timedEvents, (event) =>\n\t\tisTerminalEventType(event.type),\n\t);\n\tconst peerSelectedAt = peerSelectedEvent?.occurredAtMs;\n\tconst dispatchedAt = dispatchedEvent?.occurredAtMs;\n\tconst terminalAt = terminalEvent?.occurredAtMs;\n\treturn {\n\t\tfirstEventAt: isoTime(firstEventAt),\n\t\tpeerSelectedAt: isoTime(peerSelectedAt),\n\t\tdispatchedAt: isoTime(dispatchedAt),\n\t\tterminalAt: isoTime(terminalAt),\n\t\tlastEventAt: isoTime(lastEventAt),\n\t\tselectionToDispatchMs: elapsedMs(peerSelectedAt, dispatchedAt),\n\t\tobservedDurationMs: elapsedMs(dispatchedAt, terminalAt),\n\t\tlifecycleDurationMs: elapsedMs(firstEventAt, lastEventAt),\n\t\treportedDispatchLatencyMs: reportedNumberValue(\n\t\t\ttimedEvents,\n\t\t\tevents,\n\t\t\tisDispatchedEvent,\n\t\t\t\"latency_ms\",\n\t\t),\n\t\treportedDurationMs: reportedNumberValue(\n\t\t\ttimedEvents,\n\t\t\tevents,\n\t\t\t(event) => isTerminalEventType(event.type),\n\t\t\t\"duration_ms\",\n\t\t),\n\t\tpushLagMs: reportedNumberValue(\n\t\t\ttimedEvents,\n\t\t\tevents,\n\t\t\tisPushEvent,\n\t\t\t\"push_lag_ms\",\n\t\t),\n\t};\n}\n\nfunction orderingAnomalies(\n\tevents: A2ATelemetryCloudEventLike[],\n\ttiming: A2ATelemetryInspectionLaneTiming,\n): string[] {\n\tconst anomalies: string[] = [];\n\tconst peerSelectedAt = parseInspectionTimeMs(timing.peerSelectedAt);\n\tconst dispatchedAt = parseInspectionTimeMs(timing.dispatchedAt);\n\tconst terminalAt = parseInspectionTimeMs(timing.terminalAt);\n\tif (\n\t\tpeerSelectedAt !== undefined &&\n\t\tdispatchedAt !== undefined &&\n\t\tdispatchedAt < peerSelectedAt\n\t) {\n\t\tanomalies.push(\"dispatch_before_peer_selected\");\n\t}\n\tif (\n\t\tdispatchedAt !== undefined &&\n\t\tterminalAt !== undefined &&\n\t\tterminalAt < dispatchedAt\n\t) {\n\t\tanomalies.push(\"terminal_before_dispatch\");\n\t}\n\tif (\n\t\tdispatchedAt === undefined &&\n\t\tpeerSelectedAt !== undefined &&\n\t\tterminalAt !== undefined &&\n\t\tterminalAt < peerSelectedAt\n\t) {\n\t\tanomalies.push(\"terminal_before_peer_selected\");\n\t}\n\tif (events.filter((event) => isTerminalEventType(event.type)).length > 1) {\n\t\tanomalies.push(\"duplicate_terminal_event\");\n\t}\n\treturn anomalies;\n}\n\nfunction isCompletedLane(lane: A2ATelemetryInspectionLane): boolean {\n\treturn (\n\t\tlane.eventTypes.includes(TASK_COMPLETED) ||\n\t\t(lane.status ?? \"\").toUpperCase().includes(\"COMPLETED\")\n\t);\n}\n\nfunction isFailedLane(lane: A2ATelemetryInspectionLane): boolean {\n\tconst status = (lane.status ?? \"\").toUpperCase();\n\treturn (\n\t\tlane.eventTypes.includes(TASK_FAILED) ||\n\t\tlane.eventTypes.includes(TASK_CANCELLED) ||\n\t\tstatus.includes(\"FAILED\") ||\n\t\tstatus.includes(\"CANCEL\") ||\n\t\tstatus.includes(\"REJECTED\")\n\t);\n}\n\nfunction stringValue(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim() ? value : undefined;\n}\n\nfunction numberValue(value: unknown): number | undefined {\n\treturn typeof value === \"number\" && Number.isFinite(value)\n\t\t? value\n\t\t: undefined;\n}\n\nfunction eventTimeMs(event: A2ATelemetryCloudEventLike): number | undefined {\n\tconst time = stringValue(event.time);\n\tif (!time) return undefined;\n\tconst parsed = Date.parse(time);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction firstTimedEvent(\n\tevents: TimedA2AEvent[],\n\tpredicate: (event: A2ATelemetryCloudEventLike) => boolean,\n): TimedA2AEvent | undefined {\n\treturn events.find((entry) => predicate(entry.event));\n}\n\nfunction reportedNumberValue(\n\ttimedEvents: TimedA2AEvent[],\n\tevents: A2ATelemetryCloudEventLike[],\n\tpredicate: (event: A2ATelemetryCloudEventLike) => boolean,\n\tfield: string,\n): number | undefined {\n\tfor (const { event } of timedEvents) {\n\t\tif (!predicate(event)) continue;\n\t\tconst value = numberValue(event.data?.[field]);\n\t\tif (value !== undefined) return value;\n\t}\n\tfor (const event of events) {\n\t\tif (eventTimeMs(event) !== undefined || !predicate(event)) continue;\n\t\tconst value = numberValue(event.data?.[field]);\n\t\tif (value !== undefined) return value;\n\t}\n\treturn undefined;\n}\n\nfunction elapsedMs(\n\tstart: number | undefined,\n\tend: number | undefined,\n): number | undefined {\n\tif (start === undefined || end === undefined) return undefined;\n\treturn Math.max(0, end - start);\n}\n\nfunction isoTime(value: number | undefined): string | undefined {\n\treturn value === undefined ? undefined : new Date(value).toISOString();\n}\n\nfunction parseInspectionTimeMs(value: string | undefined): number | undefined {\n\tif (!value) return undefined;\n\tconst parsed = Date.parse(value);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction unique(values: string[]): string[] {\n\treturn [...new Set(values)];\n}\n"]}
1
+ {"version":3,"file":"a2a-telemetry-inspect.js","sourceRoot":"","sources":["../../src/platform/a2a-telemetry-inspect.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,+BAA+B,GAC3C,6CAA6C,CAAC;AA6D/C,MAAM,aAAa,GAAG,kCAAkC,CAAC;AACzD,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAC7D,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAC3D,MAAM,WAAW,GAAG,gCAAgC,CAAC;AACrD,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAC3D,MAAM,aAAa,GAAG,kCAAkC,CAAC;AAOzD,MAAM,UAAU,mBAAmB,CAClC,KAA+B;IAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACjC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,KAAK,CAAC,OAAO,CAC9D,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,CACzB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAC7D,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwC,CAAC;IACnE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,SAAS;QACV,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,CACvE,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAC1D,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,CAC5B,KAAK;SACH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;SAC5C,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACpD,CAAC;IACF,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAC,MAAM,CAAC;IACT,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAC3C,CAAC,MAAM,CAAC;IACT,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACtE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5E,OAAO;QACN,MAAM,EAAE,+BAA+B;QACvC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EACP,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,qBAAqB,KAAK,CAAC;YAC3B,oBAAoB,KAAK,CAAC;YAC1B,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;YACvD,KAAK,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK;QAChC,MAAM,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,aAAa,EAAE,aAAa,CAAC,IAAI;YACjC,cAAc;YACd,WAAW;YACX,qBAAqB;YACrB,oBAAoB;SACpB;QACD,KAAK;KACL,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CACnB,MAAc,EACd,MAAoC,EACpC,SAA6C;IAE7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO;QACN,MAAM;QACN,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,SAAS,EAAE,YAAY;QAC3E,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,SAAS;QAClE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,SAAS,EAAE,YAAY;QAC3E,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,SAAS,EAAE,SAAS;QACjE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,IAAI;QACtD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC;QAC9C,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,MAAM;QACvD,UAAU;QACV,MAAM;QACN,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC;QACpD,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC;QACxD,cAAc,EAAE,SAAS,EAAE,cAAc,IAAI,EAAE;KAC/C,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAC1B,MAAoC;IAEpC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CACzB,MAAoC,EACpC,UAAoB;IAEpB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IACD,IACC,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QACrC,CAAC,4BAA4B,CAAC,MAAM,EAAE,UAAU,CAAC,EAChD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CACpC,MAAoC,EACpC,UAAoB;IAEpB,OAAO,CACN,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QACrC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAC9D,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACxC,OAAO,CACN,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,cAAc,CAC1E,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAClB,MAAoC;IAEpC,MAAM,WAAW,GAAG,MAAM;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC;SAC3E,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IAClD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;IACtE,MAAM,mBAAmB,GAAG,CAAC,KAAiC,EAAE,EAAE,CACjE,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;IAC9B,MAAM,iBAAiB,GAAG,CAAC,KAAiC,EAAE,EAAE,CAC/D,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;IAChC,MAAM,WAAW,GAAG,CAAC,KAAiC,EAAE,EAAE,CACzD,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;IAC9B,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5D,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAC/B,CAAC;IACF,MAAM,cAAc,GAAG,iBAAiB,EAAE,YAAY,CAAC;IACvD,MAAM,YAAY,GAAG,eAAe,EAAE,YAAY,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,EAAE,YAAY,CAAC;IAC/C,OAAO;QACN,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;QACnC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;QACvC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,qBAAqB,EAAE,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC;QAC9D,kBAAkB,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC;QACvD,mBAAmB,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;QACzD,yBAAyB,EAAE,mBAAmB,CAC7C,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,YAAY,CACZ;QACD,kBAAkB,EAAE,mBAAmB,CACtC,WAAW,EACX,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC1C,aAAa,CACb;QACD,SAAS,EAAE,mBAAmB,CAC7B,WAAW,EACX,MAAM,EACN,WAAW,EACX,aAAa,CACb;KACD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACzB,MAAoC,EACpC,MAAwC;IAExC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5D,IACC,cAAc,KAAK,SAAS;QAC5B,YAAY,KAAK,SAAS;QAC1B,YAAY,GAAG,cAAc,EAC5B,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACjD,CAAC;IACD,IACC,YAAY,KAAK,SAAS;QAC1B,UAAU,KAAK,SAAS;QACxB,UAAU,GAAG,YAAY,EACxB,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IACD,IACC,YAAY,KAAK,SAAS;QAC1B,cAAc,KAAK,SAAS;QAC5B,UAAU,KAAK,SAAS;QACxB,UAAU,GAAG,cAAc,EAC1B,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,IAAgC;IACxD,OAAO,CACN,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QACxC,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACvD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAgC;IACrD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,CACN,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC3B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACzD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAiC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CACvB,MAAuB,EACvB,SAAyD;IAEzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAC3B,WAA4B,EAC5B,MAAoC,EACpC,SAAyD,EACzD,KAAa;IAEb,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,SAAS;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IACvC,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,SAAS;QACpE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CACjB,KAAyB,EACzB,GAAuB;IAEvB,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,OAAO,CAAC,KAAyB;IACzC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["import type {\n\tA2ACompletionAudit,\n\tA2ACompletionAuditLane,\n} from \"./a2a-completion-audit.js\";\n\nexport const A2A_TELEMETRY_INSPECTION_SCHEMA =\n\t\"evalops.maestro.a2a-telemetry-inspection.v2\";\n\nexport interface A2ATelemetryCloudEventLike {\n\ttype: string;\n\ttime?: string;\n\tdata?: Record<string, unknown>;\n}\n\nexport interface A2ATelemetryInspectionLane {\n\tlaneId: string;\n\tparentTaskId?: string;\n\ta2aTaskId?: string;\n\ta2aMessageId?: string;\n\tcontextId?: string;\n\tpeer?: string;\n\tpeerAgentId?: string;\n\tsource?: string;\n\tstatus?: string;\n\teventTypes: string[];\n\ttiming: A2ATelemetryInspectionLaneTiming;\n\torderingAnomalies: string[];\n\tmissingEventTypes: string[];\n\tmissingSignals: string[];\n}\n\nexport interface A2ATelemetryInspectionLaneTiming {\n\tfirstEventAt?: string;\n\tpeerSelectedAt?: string;\n\tdispatchedAt?: string;\n\tterminalAt?: string;\n\tlastEventAt?: string;\n\tselectionToDispatchMs?: number;\n\tobservedDurationMs?: number;\n\tlifecycleDurationMs?: number;\n\treportedDispatchLatencyMs?: number;\n\treportedDurationMs?: number;\n\tpushLagMs?: number;\n}\n\nexport interface A2ATelemetryInspection {\n\tschema: typeof A2A_TELEMETRY_INSPECTION_SCHEMA;\n\tswarmId: string;\n\tcomplete: boolean;\n\tcounts: {\n\t\tevents: number;\n\t\tlanes: number;\n\t\tselectedPeers: number;\n\t\tcompletedLanes: number;\n\t\tfailedLanes: number;\n\t\tmissingTelemetryLanes: number;\n\t\torderingAnomalyLanes: number;\n\t};\n\tlanes: A2ATelemetryInspectionLane[];\n}\n\nexport interface InspectA2ATelemetryInput {\n\tswarmId: string;\n\tevents: A2ATelemetryCloudEventLike[];\n\taudit?: A2ACompletionAudit;\n}\n\nconst PEER_SELECTED = \"maestro.events.a2a.peer.selected\";\nconst TASK_DISPATCHED = \"maestro.events.a2a.task.dispatched\";\nconst TASK_COMPLETED = \"maestro.events.a2a.task.completed\";\nconst TASK_FAILED = \"maestro.events.a2a.task.failed\";\nconst TASK_CANCELLED = \"maestro.events.a2a.task.cancelled\";\nconst PUSH_RECEIVED = \"maestro.events.a2a.push.received\";\n\ntype TimedA2AEvent = {\n\tevent: A2ATelemetryCloudEventLike;\n\toccurredAtMs: number;\n};\n\nexport function inspectA2ATelemetry(\n\tinput: InspectA2ATelemetryInput,\n): A2ATelemetryInspection {\n\tconst events = input.events.filter(\n\t\t(event) => stringValue(event.data?.swarm_id) === input.swarmId,\n\t);\n\tconst auditLanes = new Map(\n\t\t(input.audit?.lanes ?? []).map((lane) => [lane.laneId, lane]),\n\t);\n\tconst laneEvents = new Map<string, A2ATelemetryCloudEventLike[]>();\n\tfor (const event of events) {\n\t\tconst laneId = stringValue(event.data?.lane_id);\n\t\tif (!laneId) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst list = laneEvents.get(laneId) ?? [];\n\t\tlist.push(event);\n\t\tlaneEvents.set(laneId, list);\n\t}\n\tfor (const laneId of auditLanes.keys()) {\n\t\tif (!laneEvents.has(laneId)) {\n\t\t\tlaneEvents.set(laneId, []);\n\t\t}\n\t}\n\tconst lanes = [...laneEvents.entries()].map(([laneId, laneEventList]) =>\n\t\tinspectLane(laneId, laneEventList, auditLanes.get(laneId)),\n\t);\n\tconst selectedPeers = new Set(\n\t\tlanes\n\t\t\t.map((lane) => lane.peerAgentId ?? lane.peer)\n\t\t\t.filter((value): value is string => Boolean(value)),\n\t);\n\tconst missingTelemetryLanes = lanes.filter(\n\t\t(lane) => lane.missingEventTypes.length > 0,\n\t).length;\n\tconst orderingAnomalyLanes = lanes.filter(\n\t\t(lane) => lane.orderingAnomalies.length > 0,\n\t).length;\n\tconst failedLanes = lanes.filter((lane) => isFailedLane(lane)).length;\n\tconst completedLanes = lanes.filter((lane) => isCompletedLane(lane)).length;\n\treturn {\n\t\tschema: A2A_TELEMETRY_INSPECTION_SCHEMA,\n\t\tswarmId: input.swarmId,\n\t\tcomplete:\n\t\t\tlanes.length > 0 &&\n\t\t\tmissingTelemetryLanes === 0 &&\n\t\t\torderingAnomalyLanes === 0 &&\n\t\t\tlanes.every((lane) => lane.missingSignals.length === 0) &&\n\t\t\tinput.audit?.complete !== false,\n\t\tcounts: {\n\t\t\tevents: events.length,\n\t\t\tlanes: lanes.length,\n\t\t\tselectedPeers: selectedPeers.size,\n\t\t\tcompletedLanes,\n\t\t\tfailedLanes,\n\t\t\tmissingTelemetryLanes,\n\t\t\torderingAnomalyLanes,\n\t\t},\n\t\tlanes,\n\t};\n}\n\nfunction inspectLane(\n\tlaneId: string,\n\tevents: A2ATelemetryCloudEventLike[],\n\tauditLane: A2ACompletionAuditLane | undefined,\n): A2ATelemetryInspectionLane {\n\tconst merged = mergeLaneEventData(events);\n\tconst eventTypes = unique(events.map((event) => event.type));\n\tconst timing = laneTiming(events);\n\treturn {\n\t\tlaneId,\n\t\tparentTaskId: stringValue(merged.parent_task_id) ?? auditLane?.parentTaskId,\n\t\ta2aTaskId: stringValue(merged.a2a_task_id) ?? auditLane?.a2aTaskId,\n\t\ta2aMessageId: stringValue(merged.a2a_message_id) ?? auditLane?.a2aMessageId,\n\t\tcontextId: stringValue(merged.context_id) ?? auditLane?.contextId,\n\t\tpeer: stringValue(merged.peer_name) ?? auditLane?.peer,\n\t\tpeerAgentId: stringValue(merged.peer_agent_id),\n\t\tsource: stringValue(merged.source),\n\t\tstatus: stringValue(merged.status) ?? auditLane?.status,\n\t\teventTypes,\n\t\ttiming,\n\t\torderingAnomalies: orderingAnomalies(events, timing),\n\t\tmissingEventTypes: missingEventTypes(events, eventTypes),\n\t\tmissingSignals: auditLane?.missingSignals ?? [],\n\t};\n}\n\nfunction mergeLaneEventData(\n\tevents: A2ATelemetryCloudEventLike[],\n): Record<string, unknown> {\n\tconst merged: Record<string, unknown> = {};\n\tfor (const event of events) {\n\t\tObject.assign(merged, event.data);\n\t}\n\treturn merged;\n}\n\nfunction missingEventTypes(\n\tevents: A2ATelemetryCloudEventLike[],\n\teventTypes: string[],\n): string[] {\n\tconst missing: string[] = [];\n\tif (!eventTypes.includes(PEER_SELECTED)) {\n\t\tmissing.push(PEER_SELECTED);\n\t}\n\tif (\n\t\t!eventTypes.includes(TASK_DISPATCHED) &&\n\t\t!isPreDispatchTerminalFailure(events, eventTypes)\n\t) {\n\t\tmissing.push(TASK_DISPATCHED);\n\t}\n\tif (!eventTypes.some((type) => isTerminalEventType(type))) {\n\t\tmissing.push(TASK_COMPLETED);\n\t}\n\treturn missing;\n}\n\nfunction isPreDispatchTerminalFailure(\n\tevents: A2ATelemetryCloudEventLike[],\n\teventTypes: string[],\n): boolean {\n\treturn (\n\t\t!eventTypes.includes(TASK_DISPATCHED) &&\n\t\t(eventTypes.includes(TASK_FAILED) || eventTypes.includes(TASK_CANCELLED)) &&\n\t\tevents.every((event) => !stringValue(event.data?.a2a_task_id))\n\t);\n}\n\nfunction isTerminalEventType(type: string): boolean {\n\treturn (\n\t\ttype === TASK_COMPLETED || type === TASK_FAILED || type === TASK_CANCELLED\n\t);\n}\n\nfunction laneTiming(\n\tevents: A2ATelemetryCloudEventLike[],\n): A2ATelemetryInspectionLaneTiming {\n\tconst timedEvents = events\n\t\t.map((event) => ({ event, occurredAtMs: eventTimeMs(event) }))\n\t\t.filter((entry): entry is TimedA2AEvent => entry.occurredAtMs !== undefined)\n\t\t.sort((left, right) => left.occurredAtMs - right.occurredAtMs);\n\tconst firstEventAt = timedEvents[0]?.occurredAtMs;\n\tconst lastEventAt = timedEvents[timedEvents.length - 1]?.occurredAtMs;\n\tconst isPeerSelectedEvent = (event: A2ATelemetryCloudEventLike) =>\n\t\tevent.type === PEER_SELECTED;\n\tconst isDispatchedEvent = (event: A2ATelemetryCloudEventLike) =>\n\t\tevent.type === TASK_DISPATCHED;\n\tconst isPushEvent = (event: A2ATelemetryCloudEventLike) =>\n\t\tevent.type === PUSH_RECEIVED;\n\tconst peerSelectedEvent = firstTimedEvent(timedEvents, isPeerSelectedEvent);\n\tconst dispatchedEvent = firstTimedEvent(timedEvents, isDispatchedEvent);\n\tconst terminalEvent = firstTimedEvent(timedEvents, (event) =>\n\t\tisTerminalEventType(event.type),\n\t);\n\tconst peerSelectedAt = peerSelectedEvent?.occurredAtMs;\n\tconst dispatchedAt = dispatchedEvent?.occurredAtMs;\n\tconst terminalAt = terminalEvent?.occurredAtMs;\n\treturn {\n\t\tfirstEventAt: isoTime(firstEventAt),\n\t\tpeerSelectedAt: isoTime(peerSelectedAt),\n\t\tdispatchedAt: isoTime(dispatchedAt),\n\t\tterminalAt: isoTime(terminalAt),\n\t\tlastEventAt: isoTime(lastEventAt),\n\t\tselectionToDispatchMs: elapsedMs(peerSelectedAt, dispatchedAt),\n\t\tobservedDurationMs: elapsedMs(dispatchedAt, terminalAt),\n\t\tlifecycleDurationMs: elapsedMs(firstEventAt, lastEventAt),\n\t\treportedDispatchLatencyMs: reportedNumberValue(\n\t\t\ttimedEvents,\n\t\t\tevents,\n\t\t\tisDispatchedEvent,\n\t\t\t\"latency_ms\",\n\t\t),\n\t\treportedDurationMs: reportedNumberValue(\n\t\t\ttimedEvents,\n\t\t\tevents,\n\t\t\t(event) => isTerminalEventType(event.type),\n\t\t\t\"duration_ms\",\n\t\t),\n\t\tpushLagMs: reportedNumberValue(\n\t\t\ttimedEvents,\n\t\t\tevents,\n\t\t\tisPushEvent,\n\t\t\t\"push_lag_ms\",\n\t\t),\n\t};\n}\n\nfunction orderingAnomalies(\n\tevents: A2ATelemetryCloudEventLike[],\n\ttiming: A2ATelemetryInspectionLaneTiming,\n): string[] {\n\tconst anomalies: string[] = [];\n\tconst peerSelectedAt = parseInspectionTimeMs(timing.peerSelectedAt);\n\tconst dispatchedAt = parseInspectionTimeMs(timing.dispatchedAt);\n\tconst terminalAt = parseInspectionTimeMs(timing.terminalAt);\n\tif (\n\t\tpeerSelectedAt !== undefined &&\n\t\tdispatchedAt !== undefined &&\n\t\tdispatchedAt < peerSelectedAt\n\t) {\n\t\tanomalies.push(\"dispatch_before_peer_selected\");\n\t}\n\tif (\n\t\tdispatchedAt !== undefined &&\n\t\tterminalAt !== undefined &&\n\t\tterminalAt < dispatchedAt\n\t) {\n\t\tanomalies.push(\"terminal_before_dispatch\");\n\t}\n\tif (\n\t\tdispatchedAt === undefined &&\n\t\tpeerSelectedAt !== undefined &&\n\t\tterminalAt !== undefined &&\n\t\tterminalAt < peerSelectedAt\n\t) {\n\t\tanomalies.push(\"terminal_before_peer_selected\");\n\t}\n\tif (events.filter((event) => isTerminalEventType(event.type)).length > 1) {\n\t\tanomalies.push(\"duplicate_terminal_event\");\n\t}\n\treturn anomalies;\n}\n\nfunction isCompletedLane(lane: A2ATelemetryInspectionLane): boolean {\n\treturn (\n\t\tlane.eventTypes.includes(TASK_COMPLETED) ||\n\t\t(lane.status ?? \"\").toUpperCase().includes(\"COMPLETED\")\n\t);\n}\n\nfunction isFailedLane(lane: A2ATelemetryInspectionLane): boolean {\n\tconst status = (lane.status ?? \"\").toUpperCase();\n\treturn (\n\t\tlane.eventTypes.includes(TASK_FAILED) ||\n\t\tlane.eventTypes.includes(TASK_CANCELLED) ||\n\t\tstatus.includes(\"FAILED\") ||\n\t\tstatus.includes(\"CANCEL\") ||\n\t\tstatus.includes(\"REJECTED\")\n\t);\n}\n\nfunction stringValue(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim() ? value : undefined;\n}\n\nfunction numberValue(value: unknown): number | undefined {\n\treturn typeof value === \"number\" && Number.isFinite(value)\n\t\t? value\n\t\t: undefined;\n}\n\nfunction eventTimeMs(event: A2ATelemetryCloudEventLike): number | undefined {\n\tconst time = stringValue(event.time);\n\tif (!time) return undefined;\n\tconst parsed = Date.parse(time);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction firstTimedEvent(\n\tevents: TimedA2AEvent[],\n\tpredicate: (event: A2ATelemetryCloudEventLike) => boolean,\n): TimedA2AEvent | undefined {\n\treturn events.find((entry) => predicate(entry.event));\n}\n\nfunction reportedNumberValue(\n\ttimedEvents: TimedA2AEvent[],\n\tevents: A2ATelemetryCloudEventLike[],\n\tpredicate: (event: A2ATelemetryCloudEventLike) => boolean,\n\tfield: string,\n): number | undefined {\n\tfor (const { event } of timedEvents) {\n\t\tif (!predicate(event)) continue;\n\t\tconst value = numberValue(event.data?.[field]);\n\t\tif (value !== undefined) return value;\n\t}\n\tfor (const event of events) {\n\t\tif (eventTimeMs(event) !== undefined || !predicate(event)) continue;\n\t\tconst value = numberValue(event.data?.[field]);\n\t\tif (value !== undefined) return value;\n\t}\n\treturn undefined;\n}\n\nfunction elapsedMs(\n\tstart: number | undefined,\n\tend: number | undefined,\n): number | undefined {\n\tif (start === undefined || end === undefined) return undefined;\n\treturn Math.max(0, end - start);\n}\n\nfunction isoTime(value: number | undefined): string | undefined {\n\treturn value === undefined ? undefined : new Date(value).toISOString();\n}\n\nfunction parseInspectionTimeMs(value: string | undefined): number | undefined {\n\tif (!value) return undefined;\n\tconst parsed = Date.parse(value);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction unique(values: string[]): string[] {\n\treturn [...new Set(values)];\n}\n"]}
@@ -57,7 +57,7 @@ export interface OperatingPlaneRun {
57
57
  tool_calls?: OperatingPlaneToolCall[];
58
58
  approvals?: OperatingPlaneApproval[];
59
59
  usage?: OperatingPlaneUsage;
60
- value_proof?: OperatingPlaneValueProof;
60
+ value_proof?: OperatingPlaneRuntimeSignals;
61
61
  canonical_attributes?: Record<string, unknown>;
62
62
  }
63
63
  export interface OperatingPlaneIdentity {
@@ -137,7 +137,7 @@ export interface OperatingPlaneUsage {
137
137
  estimated_cost_micros?: number;
138
138
  currency?: string;
139
139
  }
140
- export interface OperatingPlaneValueProof {
140
+ export interface OperatingPlaneRuntimeSignals {
141
141
  operation_id: string;
142
142
  operator_summary: string;
143
143
  identity_bound: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"operating-plane-client.d.ts","sourceRoot":"","sources":["../../src/platform/operating-plane-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operating-plane-client.d.ts","sourceRoot":"","sources":["../../src/platform/operating-plane-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operating-plane-client.js","sourceRoot":"","sources":["../../src/platform/operating-plane-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tEVALOPS_ACCESS_TOKEN_ENV_VARS,\n\tEVALOPS_ORGANIZATION_ID_ENV_VARS,\n\tEVALOPS_WORKSPACE_ID_ENV_VARS,\n} from \"../evalops/env-aliases.js\";\nimport { fetchDownstream } from \"../utils/downstream-http.js\";\nimport {\n\ttype PlatformServiceConfig,\n\tbuildPlatformJsonHeaders,\n\tresolvePlatformServiceConfig,\n\ttrimString,\n} from \"./client.js\";\nimport { PLATFORM_HTTP_ROUTES } from \"./core-services.js\";\n\nconst DEFAULT_TIMEOUT_MS = 2_000;\nconst DEFAULT_MAX_ATTEMPTS = 2;\nconst OPERATING_PLANE_RUNS_PATH =\n\tPLATFORM_HTTP_ROUTES.agentRuntime.operatingPlaneRuns;\n\nconst OPERATING_PLANE_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_URL\",\n\t\"AGENT_OPERATING_PLANE_URL\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_URL\",\n\t\"AGENT_RUNTIME_SERVICE_URL\",\n] as const;\n\nconst OPERATING_PLANE_TOKEN_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_TOKEN\",\n\t\"AGENT_OPERATING_PLANE_TOKEN\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_TOKEN\",\n\t\"AGENT_RUNTIME_SERVICE_TOKEN\",\n\t...EVALOPS_ACCESS_TOKEN_ENV_VARS,\n] as const;\n\nconst OPERATING_PLANE_ORGANIZATION_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_ORG_ID\",\n\t\"AGENT_OPERATING_PLANE_ORGANIZATION_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_ORG_ID\",\n\t\"AGENT_RUNTIME_ORGANIZATION_ID\",\n\t...EVALOPS_ORGANIZATION_ID_ENV_VARS,\n] as const;\n\nconst OPERATING_PLANE_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_WORKSPACE_ID\",\n\t\"AGENT_OPERATING_PLANE_WORKSPACE_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"MAESTRO_WORKSPACE_ID\",\n\t...EVALOPS_WORKSPACE_ID_ENV_VARS.filter(\n\t\t(name) => name !== \"MAESTRO_WORKSPACE_ID\",\n\t),\n] as const;\n\nconst OPERATING_PLANE_TIMEOUT_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_TIMEOUT_MS\",\n\t\"AGENT_OPERATING_PLANE_TIMEOUT_MS\",\n\t\"MAESTRO_AGENT_RUNTIME_TIMEOUT_MS\",\n\t\"AGENT_RUNTIME_SERVICE_TIMEOUT_MS\",\n] as const;\n\nconst OPERATING_PLANE_MAX_ATTEMPTS_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_MAX_ATTEMPTS\",\n\t\"AGENT_OPERATING_PLANE_MAX_ATTEMPTS\",\n\t\"MAESTRO_AGENT_RUNTIME_MAX_ATTEMPTS\",\n\t\"AGENT_RUNTIME_SERVICE_MAX_ATTEMPTS\",\n] as const;\n\nconst OPERATING_PLANE_BASE_URL_SUFFIXES = [\n\tOPERATING_PLANE_RUNS_PATH,\n\t\"/v1/agent-operating-plane\",\n] as const;\n\nexport type OperatingPlaneAudience =\n\t| \"agent\"\n\t| \"trigger_actor\"\n\t| \"user\"\n\t| \"actor\"\n\t| \"channel\"\n\t| \"slack\"\n\t| \"workspace_admins\"\n\t| \"admins\"\n\t| \"admin\"\n\t| \"audit\"\n\t| \"system\";\n\nexport interface OperatingPlaneRunQuery {\n\tworkspaceId?: string;\n\trunId?: string;\n\tworkEnvelopeId?: string;\n\tautonomySessionId?: string;\n\tagentId?: string;\n\tthreadId?: string;\n\tchannelThreadId?: string;\n\ttraceId?: string;\n\tsessionId?: string;\n\tevidenceId?: string;\n\tgatewayAuthenticatedSubject?: string;\n\tauthSubject?: string;\n\taudience?: OperatingPlaneAudience;\n\tincludeGates?: boolean;\n\tlimit?: number;\n}\n\nexport interface InspectOperatingPlaneRunsOptions {\n\tconfig?: PlatformServiceConfig;\n\tsignal?: AbortSignal;\n}\n\nexport interface OperatingPlaneInspection {\n\tcontract_version: string;\n\tgenerated_at: string;\n\tunavailable_sources?: string[];\n\truns: OperatingPlaneRun[];\n}\n\nexport interface OperatingPlaneRun {\n\tagent_run_id: string;\n\tagent_run_step_id?: string;\n\ttitle: string;\n\tstatus: string;\n\tsurface: string;\n\tchannel_thread_id?: string;\n\ttrace_id?: string;\n\ttraceparent?: string;\n\ttracestate?: string;\n\ttool_execution_id?: string;\n\tapproval_request_id?: string;\n\tstarted_at?: string;\n\tupdated_at?: string;\n\tidentity?: OperatingPlaneIdentity;\n\tdata_classification?: string;\n\tretention_class?: string;\n\tshareability?: string;\n\tsafe_summary_present?: boolean;\n\tredaction_count?: number;\n\twithholding_reasons?: string[];\n\tunavailable_sources?: string[];\n\trelease_gate?: OperatingPlaneGate;\n\treplay_gate?: OperatingPlaneGate;\n\tevidence_refs?: OperatingPlaneEvidence[];\n\twork_items?: OperatingPlaneWorkItem[];\n\tmodel_calls?: OperatingPlaneModelCall[];\n\ttool_calls?: OperatingPlaneToolCall[];\n\tapprovals?: OperatingPlaneApproval[];\n\tusage?: OperatingPlaneUsage;\n\tvalue_proof?: OperatingPlaneValueProof;\n\tcanonical_attributes?: Record<string, unknown>;\n}\n\nexport interface OperatingPlaneIdentity {\n\tworkspace_id: string;\n\ttenant_id?: string;\n\tactor_id?: string;\n\tprincipal_id?: string;\n\tagent_id?: string;\n\tagent_instance_id?: string;\n\tgateway_authenticated_subject?: string;\n\tgateway_authenticated_user_subject?: string;\n\tgateway_authenticated_service?: string;\n\tgateway_authenticated_token_type?: string;\n}\n\nexport interface OperatingPlaneGate {\n\tid: string;\n\tlabel: string;\n\tstate: string;\n\treason: string;\n\tlast_checked_at: string;\n}\n\nexport interface OperatingPlaneEvidence {\n\tid: string;\n\tsource: string;\n\tkind: string;\n\turi?: string;\n\trevision?: string;\n\tavailable: boolean;\n\tsummary: string;\n}\n\nexport interface OperatingPlaneWorkItem {\n\tid?: string;\n\tparent_id?: string;\n\tkind: string;\n\tstate: string;\n\ttitle?: string;\n\tgoal?: string;\n\tnext_action?: string;\n\tblocker?: string;\n\twait_id?: string;\n\ttool_execution_id?: string;\n\tevidence_refs?: string[];\n\tcompletion_gate?: string;\n\tupdated_at?: string;\n}\n\nexport interface OperatingPlaneModelCall {\n\tid?: string;\n\tprovider?: string;\n\tmodel?: string;\n\tstep_id?: string;\n\ttool_call_id?: string;\n\tcost_id?: string;\n\ttrace_id?: string;\n\tinput_tokens?: number;\n\toutput_tokens?: number;\n\ttotal_tokens?: number;\n\testimated_cost_micros?: number;\n\tcurrency?: string;\n}\n\nexport interface OperatingPlaneToolCall {\n\ttool_execution_id: string;\n\tstep_id?: string;\n\tstate?: string;\n\tapproval_request_id?: string;\n}\n\nexport interface OperatingPlaneApproval {\n\tapproval_request_id: string;\n\twait_id?: string;\n\tstate?: string;\n\treason?: string;\n\tavailable: boolean;\n}\n\nexport interface OperatingPlaneUsage {\n\tinput_tokens?: number;\n\toutput_tokens?: number;\n\ttotal_tokens?: number;\n\testimated_cost_micros?: number;\n\tcurrency?: string;\n}\n\nexport interface OperatingPlaneValueProof {\n\toperation_id: string;\n\toperator_summary: string;\n\tidentity_bound: boolean;\n\tmodel_observed: boolean;\n\ttool_observed: boolean;\n\tapproval_observed: boolean;\n\ttrace_linked: boolean;\n\tevidence_linked: boolean;\n\tcost_attributed: boolean;\n\tproof_points?: string[];\n\tmissing_proof?: string[];\n}\n\nexport async function resolveOperatingPlaneServiceConfig(): Promise<PlatformServiceConfig | null> {\n\treturn await resolvePlatformServiceConfig({\n\t\tbaseUrlEnvVars: OPERATING_PLANE_BASE_URL_ENV_VARS,\n\t\ttokenEnvVars: OPERATING_PLANE_TOKEN_ENV_VARS,\n\t\torganizationEnvVars: OPERATING_PLANE_ORGANIZATION_ENV_VARS,\n\t\tworkspaceEnvVars: OPERATING_PLANE_WORKSPACE_ENV_VARS,\n\t\ttimeoutEnvVars: OPERATING_PLANE_TIMEOUT_ENV_VARS,\n\t\tmaxAttemptsEnvVars: OPERATING_PLANE_MAX_ATTEMPTS_ENV_VARS,\n\t\tbaseUrlSuffixes: OPERATING_PLANE_BASE_URL_SUFFIXES,\n\t\tdefaultTimeoutMs: DEFAULT_TIMEOUT_MS,\n\t\tdefaultMaxAttempts: DEFAULT_MAX_ATTEMPTS,\n\t\trequireOrganizationId: true,\n\t\trequireToken: true,\n\t});\n}\n\nexport function buildOperatingPlaneRunsUrl(\n\tconfig: Pick<PlatformServiceConfig, \"baseUrl\" | \"workspaceId\">,\n\tquery: OperatingPlaneRunQuery = {},\n): string {\n\tconst url = new URL(\n\t\t`${config.baseUrl.trim().replace(/\\/+$/u, \"\")}${OPERATING_PLANE_RUNS_PATH}`,\n\t);\n\tconst params = url.searchParams;\n\n\taddStringParam(\n\t\tparams,\n\t\t\"workspace_id\",\n\t\tquery.workspaceId ?? config.workspaceId,\n\t);\n\taddStringParam(params, \"run_id\", query.runId);\n\taddStringParam(params, \"work_envelope_id\", query.workEnvelopeId);\n\taddStringParam(params, \"autonomy_session_id\", query.autonomySessionId);\n\taddStringParam(params, \"agent_id\", query.agentId);\n\taddStringParam(params, \"thread_id\", query.threadId);\n\taddStringParam(params, \"channel_thread_id\", query.channelThreadId);\n\taddStringParam(params, \"trace_id\", query.traceId);\n\taddStringParam(params, \"session_id\", query.sessionId);\n\taddStringParam(params, \"evidence_id\", query.evidenceId);\n\taddStringParam(\n\t\tparams,\n\t\t\"gateway_authenticated_subject\",\n\t\tquery.gatewayAuthenticatedSubject,\n\t);\n\taddStringParam(params, \"auth_subject\", query.authSubject);\n\taddStringParam(params, \"audience\", query.audience);\n\taddBooleanParam(params, \"include_gates\", query.includeGates);\n\taddNonNegativeIntParam(params, \"limit\", query.limit);\n\n\treturn url.toString();\n}\n\nexport async function inspectOperatingPlaneRuns(\n\tquery: OperatingPlaneRunQuery = {},\n\toptions: InspectOperatingPlaneRunsOptions = {},\n): Promise<OperatingPlaneInspection> {\n\tconst config = options.config ?? (await resolveOperatingPlaneServiceConfig());\n\tif (!config) {\n\t\tthrow new Error(\"agent operating plane service is not configured\");\n\t}\n\n\tconst response = await fetchDownstream(\n\t\tbuildOperatingPlaneRunsUrl(config, query),\n\t\t{\n\t\t\tmethod: \"GET\",\n\t\t\theaders: buildPlatformJsonHeaders(config),\n\t\t\tsignal: options.signal,\n\t\t},\n\t\t{\n\t\t\tserviceName: \"agent operating plane service\",\n\t\t\tfailureMode: \"optional\",\n\t\t\ttimeoutMs: config.timeoutMs,\n\t\t\tmaxAttempts: config.maxAttempts,\n\t\t},\n\t);\n\treturn await parseOperatingPlaneResponse(response);\n}\n\nfunction addStringParam(\n\tparams: URLSearchParams,\n\tname: string,\n\tvalue: string | undefined,\n): void {\n\tconst normalized = trimString(value);\n\tif (normalized) {\n\t\tparams.set(name, normalized);\n\t}\n}\n\nfunction addBooleanParam(\n\tparams: URLSearchParams,\n\tname: string,\n\tvalue: boolean | undefined,\n): void {\n\tif (typeof value === \"boolean\") {\n\t\tparams.set(name, value ? \"true\" : \"false\");\n\t}\n}\n\nfunction addNonNegativeIntParam(\n\tparams: URLSearchParams,\n\tname: string,\n\tvalue: number | undefined,\n): void {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value < 0) {\n\t\treturn;\n\t}\n\tparams.set(name, String(Math.trunc(value)));\n}\n\nasync function parseOperatingPlaneResponse(\n\tresponse: Response,\n): Promise<OperatingPlaneInspection> {\n\tconst text = await response.text();\n\tif (!response.ok) {\n\t\tthrow new Error(\n\t\t\t`agent operating plane service returned ${response.status}: ${text || response.statusText}`,\n\t\t);\n\t}\n\tif (!text.trim()) {\n\t\tthrow new Error(\"agent operating plane service returned empty response\");\n\t}\n\treturn JSON.parse(text) as OperatingPlaneInspection;\n}\n"]}
1
+ {"version":3,"file":"operating-plane-client.js","sourceRoot":"","sources":["../../src/platform/operating-plane-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tEVALOPS_ACCESS_TOKEN_ENV_VARS,\n\tEVALOPS_ORGANIZATION_ID_ENV_VARS,\n\tEVALOPS_WORKSPACE_ID_ENV_VARS,\n} from \"../evalops/env-aliases.js\";\nimport { fetchDownstream } from \"../utils/downstream-http.js\";\nimport {\n\ttype PlatformServiceConfig,\n\tbuildPlatformJsonHeaders,\n\tresolvePlatformServiceConfig,\n\ttrimString,\n} from \"./client.js\";\nimport { PLATFORM_HTTP_ROUTES } from \"./core-services.js\";\n\nconst DEFAULT_TIMEOUT_MS = 2_000;\nconst DEFAULT_MAX_ATTEMPTS = 2;\nconst OPERATING_PLANE_RUNS_PATH =\n\tPLATFORM_HTTP_ROUTES.agentRuntime.operatingPlaneRuns;\n\nconst OPERATING_PLANE_BASE_URL_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_URL\",\n\t\"AGENT_OPERATING_PLANE_URL\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_URL\",\n\t\"AGENT_RUNTIME_SERVICE_URL\",\n] as const;\n\nconst OPERATING_PLANE_TOKEN_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_TOKEN\",\n\t\"AGENT_OPERATING_PLANE_TOKEN\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_TOKEN\",\n\t\"AGENT_RUNTIME_SERVICE_TOKEN\",\n\t...EVALOPS_ACCESS_TOKEN_ENV_VARS,\n] as const;\n\nconst OPERATING_PLANE_ORGANIZATION_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_ORG_ID\",\n\t\"AGENT_OPERATING_PLANE_ORGANIZATION_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_ORG_ID\",\n\t\"AGENT_RUNTIME_ORGANIZATION_ID\",\n\t...EVALOPS_ORGANIZATION_ID_ENV_VARS,\n] as const;\n\nconst OPERATING_PLANE_WORKSPACE_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_WORKSPACE_ID\",\n\t\"AGENT_OPERATING_PLANE_WORKSPACE_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"MAESTRO_WORKSPACE_ID\",\n\t...EVALOPS_WORKSPACE_ID_ENV_VARS.filter(\n\t\t(name) => name !== \"MAESTRO_WORKSPACE_ID\",\n\t),\n] as const;\n\nconst OPERATING_PLANE_TIMEOUT_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_TIMEOUT_MS\",\n\t\"AGENT_OPERATING_PLANE_TIMEOUT_MS\",\n\t\"MAESTRO_AGENT_RUNTIME_TIMEOUT_MS\",\n\t\"AGENT_RUNTIME_SERVICE_TIMEOUT_MS\",\n] as const;\n\nconst OPERATING_PLANE_MAX_ATTEMPTS_ENV_VARS = [\n\t\"MAESTRO_AGENT_OPERATING_PLANE_MAX_ATTEMPTS\",\n\t\"AGENT_OPERATING_PLANE_MAX_ATTEMPTS\",\n\t\"MAESTRO_AGENT_RUNTIME_MAX_ATTEMPTS\",\n\t\"AGENT_RUNTIME_SERVICE_MAX_ATTEMPTS\",\n] as const;\n\nconst OPERATING_PLANE_BASE_URL_SUFFIXES = [\n\tOPERATING_PLANE_RUNS_PATH,\n\t\"/v1/agent-operating-plane\",\n] as const;\n\nexport type OperatingPlaneAudience =\n\t| \"agent\"\n\t| \"trigger_actor\"\n\t| \"user\"\n\t| \"actor\"\n\t| \"channel\"\n\t| \"slack\"\n\t| \"workspace_admins\"\n\t| \"admins\"\n\t| \"admin\"\n\t| \"audit\"\n\t| \"system\";\n\nexport interface OperatingPlaneRunQuery {\n\tworkspaceId?: string;\n\trunId?: string;\n\tworkEnvelopeId?: string;\n\tautonomySessionId?: string;\n\tagentId?: string;\n\tthreadId?: string;\n\tchannelThreadId?: string;\n\ttraceId?: string;\n\tsessionId?: string;\n\tevidenceId?: string;\n\tgatewayAuthenticatedSubject?: string;\n\tauthSubject?: string;\n\taudience?: OperatingPlaneAudience;\n\tincludeGates?: boolean;\n\tlimit?: number;\n}\n\nexport interface InspectOperatingPlaneRunsOptions {\n\tconfig?: PlatformServiceConfig;\n\tsignal?: AbortSignal;\n}\n\nexport interface OperatingPlaneInspection {\n\tcontract_version: string;\n\tgenerated_at: string;\n\tunavailable_sources?: string[];\n\truns: OperatingPlaneRun[];\n}\n\nexport interface OperatingPlaneRun {\n\tagent_run_id: string;\n\tagent_run_step_id?: string;\n\ttitle: string;\n\tstatus: string;\n\tsurface: string;\n\tchannel_thread_id?: string;\n\ttrace_id?: string;\n\ttraceparent?: string;\n\ttracestate?: string;\n\ttool_execution_id?: string;\n\tapproval_request_id?: string;\n\tstarted_at?: string;\n\tupdated_at?: string;\n\tidentity?: OperatingPlaneIdentity;\n\tdata_classification?: string;\n\tretention_class?: string;\n\tshareability?: string;\n\tsafe_summary_present?: boolean;\n\tredaction_count?: number;\n\twithholding_reasons?: string[];\n\tunavailable_sources?: string[];\n\trelease_gate?: OperatingPlaneGate;\n\treplay_gate?: OperatingPlaneGate;\n\tevidence_refs?: OperatingPlaneEvidence[];\n\twork_items?: OperatingPlaneWorkItem[];\n\tmodel_calls?: OperatingPlaneModelCall[];\n\ttool_calls?: OperatingPlaneToolCall[];\n\tapprovals?: OperatingPlaneApproval[];\n\tusage?: OperatingPlaneUsage;\n\tvalue_proof?: OperatingPlaneRuntimeSignals;\n\tcanonical_attributes?: Record<string, unknown>;\n}\n\nexport interface OperatingPlaneIdentity {\n\tworkspace_id: string;\n\ttenant_id?: string;\n\tactor_id?: string;\n\tprincipal_id?: string;\n\tagent_id?: string;\n\tagent_instance_id?: string;\n\tgateway_authenticated_subject?: string;\n\tgateway_authenticated_user_subject?: string;\n\tgateway_authenticated_service?: string;\n\tgateway_authenticated_token_type?: string;\n}\n\nexport interface OperatingPlaneGate {\n\tid: string;\n\tlabel: string;\n\tstate: string;\n\treason: string;\n\tlast_checked_at: string;\n}\n\nexport interface OperatingPlaneEvidence {\n\tid: string;\n\tsource: string;\n\tkind: string;\n\turi?: string;\n\trevision?: string;\n\tavailable: boolean;\n\tsummary: string;\n}\n\nexport interface OperatingPlaneWorkItem {\n\tid?: string;\n\tparent_id?: string;\n\tkind: string;\n\tstate: string;\n\ttitle?: string;\n\tgoal?: string;\n\tnext_action?: string;\n\tblocker?: string;\n\twait_id?: string;\n\ttool_execution_id?: string;\n\tevidence_refs?: string[];\n\tcompletion_gate?: string;\n\tupdated_at?: string;\n}\n\nexport interface OperatingPlaneModelCall {\n\tid?: string;\n\tprovider?: string;\n\tmodel?: string;\n\tstep_id?: string;\n\ttool_call_id?: string;\n\tcost_id?: string;\n\ttrace_id?: string;\n\tinput_tokens?: number;\n\toutput_tokens?: number;\n\ttotal_tokens?: number;\n\testimated_cost_micros?: number;\n\tcurrency?: string;\n}\n\nexport interface OperatingPlaneToolCall {\n\ttool_execution_id: string;\n\tstep_id?: string;\n\tstate?: string;\n\tapproval_request_id?: string;\n}\n\nexport interface OperatingPlaneApproval {\n\tapproval_request_id: string;\n\twait_id?: string;\n\tstate?: string;\n\treason?: string;\n\tavailable: boolean;\n}\n\nexport interface OperatingPlaneUsage {\n\tinput_tokens?: number;\n\toutput_tokens?: number;\n\ttotal_tokens?: number;\n\testimated_cost_micros?: number;\n\tcurrency?: string;\n}\n\nexport interface OperatingPlaneRuntimeSignals {\n\toperation_id: string;\n\toperator_summary: string;\n\tidentity_bound: boolean;\n\tmodel_observed: boolean;\n\ttool_observed: boolean;\n\tapproval_observed: boolean;\n\ttrace_linked: boolean;\n\tevidence_linked: boolean;\n\tcost_attributed: boolean;\n\tproof_points?: string[];\n\tmissing_proof?: string[];\n}\n\nexport async function resolveOperatingPlaneServiceConfig(): Promise<PlatformServiceConfig | null> {\n\treturn await resolvePlatformServiceConfig({\n\t\tbaseUrlEnvVars: OPERATING_PLANE_BASE_URL_ENV_VARS,\n\t\ttokenEnvVars: OPERATING_PLANE_TOKEN_ENV_VARS,\n\t\torganizationEnvVars: OPERATING_PLANE_ORGANIZATION_ENV_VARS,\n\t\tworkspaceEnvVars: OPERATING_PLANE_WORKSPACE_ENV_VARS,\n\t\ttimeoutEnvVars: OPERATING_PLANE_TIMEOUT_ENV_VARS,\n\t\tmaxAttemptsEnvVars: OPERATING_PLANE_MAX_ATTEMPTS_ENV_VARS,\n\t\tbaseUrlSuffixes: OPERATING_PLANE_BASE_URL_SUFFIXES,\n\t\tdefaultTimeoutMs: DEFAULT_TIMEOUT_MS,\n\t\tdefaultMaxAttempts: DEFAULT_MAX_ATTEMPTS,\n\t\trequireOrganizationId: true,\n\t\trequireToken: true,\n\t});\n}\n\nexport function buildOperatingPlaneRunsUrl(\n\tconfig: Pick<PlatformServiceConfig, \"baseUrl\" | \"workspaceId\">,\n\tquery: OperatingPlaneRunQuery = {},\n): string {\n\tconst url = new URL(\n\t\t`${config.baseUrl.trim().replace(/\\/+$/u, \"\")}${OPERATING_PLANE_RUNS_PATH}`,\n\t);\n\tconst params = url.searchParams;\n\n\taddStringParam(\n\t\tparams,\n\t\t\"workspace_id\",\n\t\tquery.workspaceId ?? config.workspaceId,\n\t);\n\taddStringParam(params, \"run_id\", query.runId);\n\taddStringParam(params, \"work_envelope_id\", query.workEnvelopeId);\n\taddStringParam(params, \"autonomy_session_id\", query.autonomySessionId);\n\taddStringParam(params, \"agent_id\", query.agentId);\n\taddStringParam(params, \"thread_id\", query.threadId);\n\taddStringParam(params, \"channel_thread_id\", query.channelThreadId);\n\taddStringParam(params, \"trace_id\", query.traceId);\n\taddStringParam(params, \"session_id\", query.sessionId);\n\taddStringParam(params, \"evidence_id\", query.evidenceId);\n\taddStringParam(\n\t\tparams,\n\t\t\"gateway_authenticated_subject\",\n\t\tquery.gatewayAuthenticatedSubject,\n\t);\n\taddStringParam(params, \"auth_subject\", query.authSubject);\n\taddStringParam(params, \"audience\", query.audience);\n\taddBooleanParam(params, \"include_gates\", query.includeGates);\n\taddNonNegativeIntParam(params, \"limit\", query.limit);\n\n\treturn url.toString();\n}\n\nexport async function inspectOperatingPlaneRuns(\n\tquery: OperatingPlaneRunQuery = {},\n\toptions: InspectOperatingPlaneRunsOptions = {},\n): Promise<OperatingPlaneInspection> {\n\tconst config = options.config ?? (await resolveOperatingPlaneServiceConfig());\n\tif (!config) {\n\t\tthrow new Error(\"agent operating plane service is not configured\");\n\t}\n\n\tconst response = await fetchDownstream(\n\t\tbuildOperatingPlaneRunsUrl(config, query),\n\t\t{\n\t\t\tmethod: \"GET\",\n\t\t\theaders: buildPlatformJsonHeaders(config),\n\t\t\tsignal: options.signal,\n\t\t},\n\t\t{\n\t\t\tserviceName: \"agent operating plane service\",\n\t\t\tfailureMode: \"optional\",\n\t\t\ttimeoutMs: config.timeoutMs,\n\t\t\tmaxAttempts: config.maxAttempts,\n\t\t},\n\t);\n\treturn await parseOperatingPlaneResponse(response);\n}\n\nfunction addStringParam(\n\tparams: URLSearchParams,\n\tname: string,\n\tvalue: string | undefined,\n): void {\n\tconst normalized = trimString(value);\n\tif (normalized) {\n\t\tparams.set(name, normalized);\n\t}\n}\n\nfunction addBooleanParam(\n\tparams: URLSearchParams,\n\tname: string,\n\tvalue: boolean | undefined,\n): void {\n\tif (typeof value === \"boolean\") {\n\t\tparams.set(name, value ? \"true\" : \"false\");\n\t}\n}\n\nfunction addNonNegativeIntParam(\n\tparams: URLSearchParams,\n\tname: string,\n\tvalue: number | undefined,\n): void {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value < 0) {\n\t\treturn;\n\t}\n\tparams.set(name, String(Math.trunc(value)));\n}\n\nasync function parseOperatingPlaneResponse(\n\tresponse: Response,\n): Promise<OperatingPlaneInspection> {\n\tconst text = await response.text();\n\tif (!response.ok) {\n\t\tthrow new Error(\n\t\t\t`agent operating plane service returned ${response.status}: ${text || response.statusText}`,\n\t\t);\n\t}\n\tif (!text.trim()) {\n\t\tthrow new Error(\"agent operating plane service returned empty response\");\n\t}\n\treturn JSON.parse(text) as OperatingPlaneInspection;\n}\n"]}
@@ -15,15 +15,15 @@ export interface OperatingPlaneRunStatus {
15
15
  traceId?: string;
16
16
  identitySubject?: string;
17
17
  operatorSummary?: string;
18
- proofPresent: string[];
19
- proofMissing: string[];
20
- evidenceRefs: OperatingPlaneEvidenceStatus[];
18
+ signalsPresent: string[];
19
+ signalsMissing: string[];
20
+ artifactRefs: OperatingPlaneArtifactStatus[];
21
21
  nextActions: string[];
22
22
  blockers: string[];
23
23
  withheld: string[];
24
24
  usage: OperatingPlaneUsageStatus;
25
25
  }
26
- export interface OperatingPlaneEvidenceStatus {
26
+ export interface OperatingPlaneArtifactStatus {
27
27
  id: string;
28
28
  source: string;
29
29
  kind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"operating-plane-summary.d.ts","sourceRoot":"","sources":["../../src/platform/operating-plane-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,wBAAwB,EAGxB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,0BAA0B;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,uBAAuB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,4BAA4B,EAAE,CAAC;IAC7C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,yBAAyB,CAAC;CACjC;AAED,MAAM,WAAW,4BAA4B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,4BAA4B;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,wBAAgB,iCAAiC,CAChD,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,4BAAiC,GACxC,0BAA0B,CAW5B;AAED,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,0BAA0B,GAChC,MAAM,CAgDR"}
1
+ {"version":3,"file":"operating-plane-summary.d.ts","sourceRoot":"","sources":["../../src/platform/operating-plane-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,wBAAwB,EAGxB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,0BAA0B;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAI,EAAE,uBAAuB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,4BAA4B,EAAE,CAAC;IAC7C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,yBAAyB,CAAC;CACjC;AAED,MAAM,WAAW,4BAA4B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,4BAA4B;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,wBAAgB,iCAAiC,CAChD,UAAU,EAAE,wBAAwB,EACpC,OAAO,GAAE,4BAAiC,GACxC,0BAA0B,CAW5B;AAED,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,0BAA0B,GAChC,MAAM,CAgDR"}
@@ -11,7 +11,7 @@ export function summarizeOperatingPlaneInspection(inspection, options = {}) {
11
11
  }
12
12
  export function formatOperatingPlaneStatusReport(report) {
13
13
  const lines = [
14
- `Agent operating-plane value proof (${report.runCount} ${pluralize("run", report.runCount)})`,
14
+ `Agent operating-plane status (${report.runCount} ${pluralize("run", report.runCount)})`,
15
15
  `Generated: ${report.generatedAt}`,
16
16
  ];
17
17
  if (report.unavailableSources.length > 0) {
@@ -27,14 +27,14 @@ export function formatOperatingPlaneStatusReport(report) {
27
27
  pushLine(lines, " Thread", run.channelThreadId);
28
28
  pushLine(lines, " Trace", run.traceId);
29
29
  pushLine(lines, " Identity", run.identitySubject);
30
- if (run.proofPresent.length > 0) {
31
- lines.push(` Proof present: ${run.proofPresent.join(", ")}`);
30
+ if (run.signalsPresent.length > 0) {
31
+ lines.push(` Signals present: ${run.signalsPresent.join(", ")}`);
32
32
  }
33
- if (run.proofMissing.length > 0) {
34
- lines.push(` Missing proof: ${run.proofMissing.join(", ")}`);
33
+ if (run.signalsMissing.length > 0) {
34
+ lines.push(` Signals missing: ${run.signalsMissing.join(", ")}`);
35
35
  }
36
- if (run.evidenceRefs.length > 0) {
37
- lines.push(` Evidence: ${run.evidenceRefs.map(formatEvidenceRef).join("; ")}`);
36
+ if (run.artifactRefs.length > 0) {
37
+ lines.push(` Artifacts: ${run.artifactRefs.map(formatArtifactRef).join("; ")}`);
38
38
  }
39
39
  for (const nextAction of run.nextActions) {
40
40
  lines.push(` Next action: ${nextAction}`);
@@ -53,7 +53,7 @@ export function formatOperatingPlaneStatusReport(report) {
53
53
  return lines.join("\n");
54
54
  }
55
55
  function summarizeOperatingPlaneRun(run) {
56
- const { proofPresent, proofMissing } = summarizeProof(run);
56
+ const { signalsPresent, signalsMissing } = summarizeValueSignals(run);
57
57
  return stripUndefined({
58
58
  runId: run.agent_run_id,
59
59
  title: oneLine(run.title) ?? "",
@@ -63,39 +63,39 @@ function summarizeOperatingPlaneRun(run) {
63
63
  traceId: oneLine(run.trace_id),
64
64
  identitySubject: operatingPlaneIdentitySubject(run),
65
65
  operatorSummary: oneLine(run.value_proof?.operator_summary),
66
- proofPresent,
67
- proofMissing,
68
- evidenceRefs: summarizeEvidenceRefs(run.evidence_refs),
66
+ signalsPresent,
67
+ signalsMissing,
68
+ artifactRefs: summarizeArtifactRefs(run.evidence_refs),
69
69
  nextActions: uniqueStrings(run.work_items?.map((item) => oneLine(item.next_action))),
70
70
  blockers: uniqueStrings(run.work_items?.map((item) => oneLine(item.blocker))),
71
71
  withheld: operatingPlaneWithheldReasons(run),
72
72
  usage: summarizeUsage(run.usage),
73
73
  });
74
74
  }
75
- function summarizeProof(run) {
76
- const proof = run.value_proof;
75
+ function summarizeValueSignals(run) {
76
+ const signals = run.value_proof;
77
77
  const fields = [
78
- { label: "identity", value: proof?.identity_bound },
79
- { label: "model", value: proof?.model_observed },
80
- { label: "tool", value: proof?.tool_observed },
81
- { label: "approval", value: proof?.approval_observed },
82
- { label: "trace", value: proof?.trace_linked },
83
- { label: "evidence", value: proof?.evidence_linked },
84
- { label: "cost", value: proof?.cost_attributed },
78
+ { label: "identity", value: signals?.identity_bound },
79
+ { label: "model", value: signals?.model_observed },
80
+ { label: "tool", value: signals?.tool_observed },
81
+ { label: "approval", value: signals?.approval_observed },
82
+ { label: "trace", value: signals?.trace_linked },
83
+ { label: "artifact", value: signals?.evidence_linked },
84
+ { label: "cost", value: signals?.cost_attributed },
85
85
  ];
86
- const proofPresent = fields
86
+ const signalsPresent = fields
87
87
  .filter((field) => field.value === true)
88
88
  .map((field) => field.label);
89
- const proofMissing = uniqueStrings([
89
+ const signalsMissing = uniqueStrings([
90
90
  ...fields
91
91
  .filter((field) => field.value !== true)
92
92
  .map((field) => field.label),
93
- ...(proof?.missing_proof ?? []),
94
- proof ? undefined : "value_proof unavailable",
93
+ ...(signals?.missing_proof ?? []).map(operatorFacingSignalLabel),
94
+ signals ? undefined : "runtime signal unavailable",
95
95
  ]);
96
- return { proofPresent, proofMissing };
96
+ return { signalsPresent, signalsMissing };
97
97
  }
98
- function summarizeEvidenceRefs(evidenceRefs) {
98
+ function summarizeArtifactRefs(evidenceRefs) {
99
99
  return (evidenceRefs ?? [])
100
100
  .map((evidence) => stripUndefined({
101
101
  id: oneLine(evidence.id) ?? "",
@@ -136,7 +136,7 @@ function operatingPlaneWithheldReasons(run) {
136
136
  ...(run.unavailable_sources ?? []),
137
137
  ]);
138
138
  }
139
- function formatEvidenceRef(evidence) {
139
+ function formatArtifactRef(evidence) {
140
140
  const details = [
141
141
  `${evidence.source}/${evidence.kind}`,
142
142
  evidence.available ? "available" : "unavailable",
@@ -145,6 +145,18 @@ function formatEvidenceRef(evidence) {
145
145
  ];
146
146
  return `${evidence.id} (${uniqueStrings(details).join(", ")})`;
147
147
  }
148
+ function operatorFacingSignalLabel(value) {
149
+ const normalized = oneLine(value);
150
+ if (!normalized) {
151
+ return undefined;
152
+ }
153
+ if (normalized === "value_proof unavailable") {
154
+ return "runtime signal unavailable";
155
+ }
156
+ return normalized
157
+ .replace(/\bproof\b/giu, "signal")
158
+ .replace(/\bevidence\b/giu, "artifact");
159
+ }
148
160
  function formatUsage(usage) {
149
161
  const parts = [
150
162
  typeof usage.totalTokens === "number"
@@ -1 +1 @@
1
- {"version":3,"file":"operating-plane-summary.js","sourceRoot":"","sources":["../../src/platform/operating-plane-summary.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tOperatingPlaneEvidence,\n\tOperatingPlaneInspection,\n\tOperatingPlaneRun,\n\tOperatingPlaneUsage,\n} from \"./operating-plane-client.js\";\n\nexport interface OperatingPlaneStatusReport {\n\tcontractVersion: string;\n\tgeneratedAt: string;\n\trunCount: number;\n\tunavailableSources: string[];\n\truns: OperatingPlaneRunStatus[];\n}\n\nexport interface OperatingPlaneRunStatus {\n\trunId: string;\n\ttitle: string;\n\tstatus: string;\n\tsurface: string;\n\tchannelThreadId?: string;\n\ttraceId?: string;\n\tidentitySubject?: string;\n\toperatorSummary?: string;\n\tproofPresent: string[];\n\tproofMissing: string[];\n\tevidenceRefs: OperatingPlaneEvidenceStatus[];\n\tnextActions: string[];\n\tblockers: string[];\n\twithheld: string[];\n\tusage: OperatingPlaneUsageStatus;\n}\n\nexport interface OperatingPlaneEvidenceStatus {\n\tid: string;\n\tsource: string;\n\tkind: string;\n\turi?: string;\n\trevision?: string;\n\tavailable: boolean;\n}\n\nexport interface OperatingPlaneUsageStatus {\n\tinputTokens?: number;\n\toutputTokens?: number;\n\ttotalTokens?: number;\n\testimatedCostMicros?: number;\n\tcurrency?: string;\n}\n\ninterface OperatingPlaneSummaryOptions {\n\tmaxRuns?: number;\n}\n\ntype ProofField = {\n\tlabel: string;\n\tvalue: boolean | undefined;\n};\n\nexport function summarizeOperatingPlaneInspection(\n\tinspection: OperatingPlaneInspection,\n\toptions: OperatingPlaneSummaryOptions = {},\n): OperatingPlaneStatusReport {\n\tconst maxRuns = normalizePositiveLimit(options.maxRuns);\n\tconst runs = maxRuns ? inspection.runs.slice(0, maxRuns) : inspection.runs;\n\n\treturn {\n\t\tcontractVersion: inspection.contract_version,\n\t\tgeneratedAt: inspection.generated_at,\n\t\trunCount: inspection.runs.length,\n\t\tunavailableSources: uniqueStrings(inspection.unavailable_sources),\n\t\truns: runs.map(summarizeOperatingPlaneRun),\n\t};\n}\n\nexport function formatOperatingPlaneStatusReport(\n\treport: OperatingPlaneStatusReport,\n): string {\n\tconst lines = [\n\t\t`Agent operating-plane value proof (${report.runCount} ${pluralize(\"run\", report.runCount)})`,\n\t\t`Generated: ${report.generatedAt}`,\n\t];\n\tif (report.unavailableSources.length > 0) {\n\t\tlines.push(`Unavailable sources: ${report.unavailableSources.join(\", \")}`);\n\t}\n\tif (report.runs.length === 0) {\n\t\tlines.push(\"No operating-plane runs matched the query.\");\n\t\treturn lines.join(\"\\n\");\n\t}\n\n\tfor (const run of report.runs) {\n\t\tlines.push(\n\t\t\t`- ${run.title || run.runId} [${run.status || \"unknown\"}] on ${run.surface || \"unknown\"} (${run.runId})`,\n\t\t);\n\t\tpushLine(lines, \" Summary\", run.operatorSummary);\n\t\tpushLine(lines, \" Thread\", run.channelThreadId);\n\t\tpushLine(lines, \" Trace\", run.traceId);\n\t\tpushLine(lines, \" Identity\", run.identitySubject);\n\t\tif (run.proofPresent.length > 0) {\n\t\t\tlines.push(` Proof present: ${run.proofPresent.join(\", \")}`);\n\t\t}\n\t\tif (run.proofMissing.length > 0) {\n\t\t\tlines.push(` Missing proof: ${run.proofMissing.join(\", \")}`);\n\t\t}\n\t\tif (run.evidenceRefs.length > 0) {\n\t\t\tlines.push(\n\t\t\t\t` Evidence: ${run.evidenceRefs.map(formatEvidenceRef).join(\"; \")}`,\n\t\t\t);\n\t\t}\n\t\tfor (const nextAction of run.nextActions) {\n\t\t\tlines.push(` Next action: ${nextAction}`);\n\t\t}\n\t\tfor (const blocker of run.blockers) {\n\t\t\tlines.push(` Blocker: ${blocker}`);\n\t\t}\n\t\tif (run.withheld.length > 0) {\n\t\t\tlines.push(` Withheld/out of scope: ${run.withheld.join(\", \")}`);\n\t\t}\n\t\tconst usage = formatUsage(run.usage);\n\t\tif (usage) {\n\t\t\tlines.push(` Usage: ${usage}`);\n\t\t}\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nfunction summarizeOperatingPlaneRun(\n\trun: OperatingPlaneRun,\n): OperatingPlaneRunStatus {\n\tconst { proofPresent, proofMissing } = summarizeProof(run);\n\treturn stripUndefined({\n\t\trunId: run.agent_run_id,\n\t\ttitle: oneLine(run.title) ?? \"\",\n\t\tstatus: oneLine(run.status) ?? \"\",\n\t\tsurface: oneLine(run.surface) ?? \"\",\n\t\tchannelThreadId: oneLine(run.channel_thread_id),\n\t\ttraceId: oneLine(run.trace_id),\n\t\tidentitySubject: operatingPlaneIdentitySubject(run),\n\t\toperatorSummary: oneLine(run.value_proof?.operator_summary),\n\t\tproofPresent,\n\t\tproofMissing,\n\t\tevidenceRefs: summarizeEvidenceRefs(run.evidence_refs),\n\t\tnextActions: uniqueStrings(\n\t\t\trun.work_items?.map((item) => oneLine(item.next_action)),\n\t\t),\n\t\tblockers: uniqueStrings(\n\t\t\trun.work_items?.map((item) => oneLine(item.blocker)),\n\t\t),\n\t\twithheld: operatingPlaneWithheldReasons(run),\n\t\tusage: summarizeUsage(run.usage),\n\t});\n}\n\nfunction summarizeProof(run: OperatingPlaneRun): {\n\tproofPresent: string[];\n\tproofMissing: string[];\n} {\n\tconst proof = run.value_proof;\n\tconst fields: ProofField[] = [\n\t\t{ label: \"identity\", value: proof?.identity_bound },\n\t\t{ label: \"model\", value: proof?.model_observed },\n\t\t{ label: \"tool\", value: proof?.tool_observed },\n\t\t{ label: \"approval\", value: proof?.approval_observed },\n\t\t{ label: \"trace\", value: proof?.trace_linked },\n\t\t{ label: \"evidence\", value: proof?.evidence_linked },\n\t\t{ label: \"cost\", value: proof?.cost_attributed },\n\t];\n\tconst proofPresent = fields\n\t\t.filter((field) => field.value === true)\n\t\t.map((field) => field.label);\n\tconst proofMissing = uniqueStrings([\n\t\t...fields\n\t\t\t.filter((field) => field.value !== true)\n\t\t\t.map((field) => field.label),\n\t\t...(proof?.missing_proof ?? []),\n\t\tproof ? undefined : \"value_proof unavailable\",\n\t]);\n\treturn { proofPresent, proofMissing };\n}\n\nfunction summarizeEvidenceRefs(\n\tevidenceRefs: OperatingPlaneEvidence[] | undefined,\n): OperatingPlaneEvidenceStatus[] {\n\treturn (evidenceRefs ?? [])\n\t\t.map((evidence) =>\n\t\t\tstripUndefined({\n\t\t\t\tid: oneLine(evidence.id) ?? \"\",\n\t\t\t\tsource: oneLine(evidence.source) ?? \"\",\n\t\t\t\tkind: oneLine(evidence.kind) ?? \"\",\n\t\t\t\turi: oneLine(evidence.uri),\n\t\t\t\trevision: oneLine(evidence.revision),\n\t\t\t\tavailable: evidence.available,\n\t\t\t}),\n\t\t)\n\t\t.filter((evidence) => Boolean(evidence.id));\n}\n\nfunction summarizeUsage(\n\tusage: OperatingPlaneUsage | undefined,\n): OperatingPlaneUsageStatus {\n\treturn stripUndefined({\n\t\tinputTokens: usage?.input_tokens,\n\t\toutputTokens: usage?.output_tokens,\n\t\ttotalTokens: usage?.total_tokens,\n\t\testimatedCostMicros: usage?.estimated_cost_micros,\n\t\tcurrency: oneLine(usage?.currency),\n\t});\n}\n\nfunction operatingPlaneIdentitySubject(\n\trun: OperatingPlaneRun,\n): string | undefined {\n\tconst identity = run.identity;\n\treturn firstString([\n\t\tidentity?.gateway_authenticated_subject,\n\t\tidentity?.gateway_authenticated_user_subject,\n\t\tidentity?.gateway_authenticated_service,\n\t\tidentity?.principal_id,\n\t\tidentity?.actor_id,\n\t\tidentity?.agent_id,\n\t]);\n}\n\nfunction operatingPlaneWithheldReasons(run: OperatingPlaneRun): string[] {\n\treturn uniqueStrings([\n\t\t...(run.withholding_reasons ?? []),\n\t\trun.redaction_count && run.redaction_count > 0\n\t\t\t? `${run.redaction_count} ${pluralize(\"redaction\", run.redaction_count)}`\n\t\t\t: undefined,\n\t\t...(run.unavailable_sources ?? []),\n\t]);\n}\n\nfunction formatEvidenceRef(evidence: OperatingPlaneEvidenceStatus): string {\n\tconst details = [\n\t\t`${evidence.source}/${evidence.kind}`,\n\t\tevidence.available ? \"available\" : \"unavailable\",\n\t\tevidence.uri ? `uri ${evidence.uri}` : undefined,\n\t\tevidence.revision ? `revision ${evidence.revision}` : undefined,\n\t];\n\treturn `${evidence.id} (${uniqueStrings(details).join(\", \")})`;\n}\n\nfunction formatUsage(usage: OperatingPlaneUsageStatus): string | undefined {\n\tconst parts = [\n\t\ttypeof usage.totalTokens === \"number\"\n\t\t\t? `${usage.totalTokens} total tokens`\n\t\t\t: undefined,\n\t\ttypeof usage.inputTokens === \"number\"\n\t\t\t? `${usage.inputTokens} input tokens`\n\t\t\t: undefined,\n\t\ttypeof usage.outputTokens === \"number\"\n\t\t\t? `${usage.outputTokens} output tokens`\n\t\t\t: undefined,\n\t\ttypeof usage.estimatedCostMicros === \"number\"\n\t\t\t? `${usage.estimatedCostMicros} cost micros`\n\t\t\t: undefined,\n\t\tusage.currency,\n\t];\n\treturn uniqueStrings(parts).join(\", \") || undefined;\n}\n\nfunction firstString(values: Array<string | undefined>): string | undefined {\n\tfor (const value of values) {\n\t\tconst normalized = oneLine(value);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction oneLine(value: string | undefined): string | undefined {\n\tconst normalized = value?.replace(/\\s+/gu, \" \").trim();\n\treturn normalized || undefined;\n}\n\nfunction pushLine(\n\tlines: string[],\n\tlabel: string,\n\tvalue: string | undefined,\n): void {\n\tif (value) {\n\t\tlines.push(`${label}: ${value}`);\n\t}\n}\n\nfunction uniqueStrings(\n\tvalues: Array<string | undefined> | undefined,\n): string[] {\n\tconst seen = new Set<string>();\n\tconst normalized: string[] = [];\n\tfor (const value of values ?? []) {\n\t\tconst clean = oneLine(value);\n\t\tif (!clean || seen.has(clean)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(clean);\n\t\tnormalized.push(clean);\n\t}\n\treturn normalized;\n}\n\nfunction pluralize(noun: string, count: number): string {\n\treturn count === 1 ? noun : `${noun}s`;\n}\n\nfunction normalizePositiveLimit(value: number | undefined): number | undefined {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value <= 0) {\n\t\treturn undefined;\n\t}\n\treturn Math.trunc(value);\n}\n\nfunction stripUndefined<T extends Record<string, unknown>>(value: T): T {\n\treturn Object.fromEntries(\n\t\tObject.entries(value).filter(([, entry]) => entry !== undefined),\n\t) as T;\n}\n"]}
1
+ {"version":3,"file":"operating-plane-summary.js","sourceRoot":"","sources":["../../src/platform/operating-plane-summary.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tOperatingPlaneEvidence,\n\tOperatingPlaneInspection,\n\tOperatingPlaneRun,\n\tOperatingPlaneUsage,\n} from \"./operating-plane-client.js\";\n\nexport interface OperatingPlaneStatusReport {\n\tcontractVersion: string;\n\tgeneratedAt: string;\n\trunCount: number;\n\tunavailableSources: string[];\n\truns: OperatingPlaneRunStatus[];\n}\n\nexport interface OperatingPlaneRunStatus {\n\trunId: string;\n\ttitle: string;\n\tstatus: string;\n\tsurface: string;\n\tchannelThreadId?: string;\n\ttraceId?: string;\n\tidentitySubject?: string;\n\toperatorSummary?: string;\n\tsignalsPresent: string[];\n\tsignalsMissing: string[];\n\tartifactRefs: OperatingPlaneArtifactStatus[];\n\tnextActions: string[];\n\tblockers: string[];\n\twithheld: string[];\n\tusage: OperatingPlaneUsageStatus;\n}\n\nexport interface OperatingPlaneArtifactStatus {\n\tid: string;\n\tsource: string;\n\tkind: string;\n\turi?: string;\n\trevision?: string;\n\tavailable: boolean;\n}\n\nexport interface OperatingPlaneUsageStatus {\n\tinputTokens?: number;\n\toutputTokens?: number;\n\ttotalTokens?: number;\n\testimatedCostMicros?: number;\n\tcurrency?: string;\n}\n\ninterface OperatingPlaneSummaryOptions {\n\tmaxRuns?: number;\n}\n\ntype SignalField = {\n\tlabel: string;\n\tvalue: boolean | undefined;\n};\n\nexport function summarizeOperatingPlaneInspection(\n\tinspection: OperatingPlaneInspection,\n\toptions: OperatingPlaneSummaryOptions = {},\n): OperatingPlaneStatusReport {\n\tconst maxRuns = normalizePositiveLimit(options.maxRuns);\n\tconst runs = maxRuns ? inspection.runs.slice(0, maxRuns) : inspection.runs;\n\n\treturn {\n\t\tcontractVersion: inspection.contract_version,\n\t\tgeneratedAt: inspection.generated_at,\n\t\trunCount: inspection.runs.length,\n\t\tunavailableSources: uniqueStrings(inspection.unavailable_sources),\n\t\truns: runs.map(summarizeOperatingPlaneRun),\n\t};\n}\n\nexport function formatOperatingPlaneStatusReport(\n\treport: OperatingPlaneStatusReport,\n): string {\n\tconst lines = [\n\t\t`Agent operating-plane status (${report.runCount} ${pluralize(\"run\", report.runCount)})`,\n\t\t`Generated: ${report.generatedAt}`,\n\t];\n\tif (report.unavailableSources.length > 0) {\n\t\tlines.push(`Unavailable sources: ${report.unavailableSources.join(\", \")}`);\n\t}\n\tif (report.runs.length === 0) {\n\t\tlines.push(\"No operating-plane runs matched the query.\");\n\t\treturn lines.join(\"\\n\");\n\t}\n\n\tfor (const run of report.runs) {\n\t\tlines.push(\n\t\t\t`- ${run.title || run.runId} [${run.status || \"unknown\"}] on ${run.surface || \"unknown\"} (${run.runId})`,\n\t\t);\n\t\tpushLine(lines, \" Summary\", run.operatorSummary);\n\t\tpushLine(lines, \" Thread\", run.channelThreadId);\n\t\tpushLine(lines, \" Trace\", run.traceId);\n\t\tpushLine(lines, \" Identity\", run.identitySubject);\n\t\tif (run.signalsPresent.length > 0) {\n\t\t\tlines.push(` Signals present: ${run.signalsPresent.join(\", \")}`);\n\t\t}\n\t\tif (run.signalsMissing.length > 0) {\n\t\t\tlines.push(` Signals missing: ${run.signalsMissing.join(\", \")}`);\n\t\t}\n\t\tif (run.artifactRefs.length > 0) {\n\t\t\tlines.push(\n\t\t\t\t` Artifacts: ${run.artifactRefs.map(formatArtifactRef).join(\"; \")}`,\n\t\t\t);\n\t\t}\n\t\tfor (const nextAction of run.nextActions) {\n\t\t\tlines.push(` Next action: ${nextAction}`);\n\t\t}\n\t\tfor (const blocker of run.blockers) {\n\t\t\tlines.push(` Blocker: ${blocker}`);\n\t\t}\n\t\tif (run.withheld.length > 0) {\n\t\t\tlines.push(` Withheld/out of scope: ${run.withheld.join(\", \")}`);\n\t\t}\n\t\tconst usage = formatUsage(run.usage);\n\t\tif (usage) {\n\t\t\tlines.push(` Usage: ${usage}`);\n\t\t}\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nfunction summarizeOperatingPlaneRun(\n\trun: OperatingPlaneRun,\n): OperatingPlaneRunStatus {\n\tconst { signalsPresent, signalsMissing } = summarizeValueSignals(run);\n\treturn stripUndefined({\n\t\trunId: run.agent_run_id,\n\t\ttitle: oneLine(run.title) ?? \"\",\n\t\tstatus: oneLine(run.status) ?? \"\",\n\t\tsurface: oneLine(run.surface) ?? \"\",\n\t\tchannelThreadId: oneLine(run.channel_thread_id),\n\t\ttraceId: oneLine(run.trace_id),\n\t\tidentitySubject: operatingPlaneIdentitySubject(run),\n\t\toperatorSummary: oneLine(run.value_proof?.operator_summary),\n\t\tsignalsPresent,\n\t\tsignalsMissing,\n\t\tartifactRefs: summarizeArtifactRefs(run.evidence_refs),\n\t\tnextActions: uniqueStrings(\n\t\t\trun.work_items?.map((item) => oneLine(item.next_action)),\n\t\t),\n\t\tblockers: uniqueStrings(\n\t\t\trun.work_items?.map((item) => oneLine(item.blocker)),\n\t\t),\n\t\twithheld: operatingPlaneWithheldReasons(run),\n\t\tusage: summarizeUsage(run.usage),\n\t});\n}\n\nfunction summarizeValueSignals(run: OperatingPlaneRun): {\n\tsignalsPresent: string[];\n\tsignalsMissing: string[];\n} {\n\tconst signals = run.value_proof;\n\tconst fields: SignalField[] = [\n\t\t{ label: \"identity\", value: signals?.identity_bound },\n\t\t{ label: \"model\", value: signals?.model_observed },\n\t\t{ label: \"tool\", value: signals?.tool_observed },\n\t\t{ label: \"approval\", value: signals?.approval_observed },\n\t\t{ label: \"trace\", value: signals?.trace_linked },\n\t\t{ label: \"artifact\", value: signals?.evidence_linked },\n\t\t{ label: \"cost\", value: signals?.cost_attributed },\n\t];\n\tconst signalsPresent = fields\n\t\t.filter((field) => field.value === true)\n\t\t.map((field) => field.label);\n\tconst signalsMissing = uniqueStrings([\n\t\t...fields\n\t\t\t.filter((field) => field.value !== true)\n\t\t\t.map((field) => field.label),\n\t\t...(signals?.missing_proof ?? []).map(operatorFacingSignalLabel),\n\t\tsignals ? undefined : \"runtime signal unavailable\",\n\t]);\n\treturn { signalsPresent, signalsMissing };\n}\n\nfunction summarizeArtifactRefs(\n\tevidenceRefs: OperatingPlaneEvidence[] | undefined,\n): OperatingPlaneArtifactStatus[] {\n\treturn (evidenceRefs ?? [])\n\t\t.map((evidence) =>\n\t\t\tstripUndefined({\n\t\t\t\tid: oneLine(evidence.id) ?? \"\",\n\t\t\t\tsource: oneLine(evidence.source) ?? \"\",\n\t\t\t\tkind: oneLine(evidence.kind) ?? \"\",\n\t\t\t\turi: oneLine(evidence.uri),\n\t\t\t\trevision: oneLine(evidence.revision),\n\t\t\t\tavailable: evidence.available,\n\t\t\t}),\n\t\t)\n\t\t.filter((evidence) => Boolean(evidence.id));\n}\n\nfunction summarizeUsage(\n\tusage: OperatingPlaneUsage | undefined,\n): OperatingPlaneUsageStatus {\n\treturn stripUndefined({\n\t\tinputTokens: usage?.input_tokens,\n\t\toutputTokens: usage?.output_tokens,\n\t\ttotalTokens: usage?.total_tokens,\n\t\testimatedCostMicros: usage?.estimated_cost_micros,\n\t\tcurrency: oneLine(usage?.currency),\n\t});\n}\n\nfunction operatingPlaneIdentitySubject(\n\trun: OperatingPlaneRun,\n): string | undefined {\n\tconst identity = run.identity;\n\treturn firstString([\n\t\tidentity?.gateway_authenticated_subject,\n\t\tidentity?.gateway_authenticated_user_subject,\n\t\tidentity?.gateway_authenticated_service,\n\t\tidentity?.principal_id,\n\t\tidentity?.actor_id,\n\t\tidentity?.agent_id,\n\t]);\n}\n\nfunction operatingPlaneWithheldReasons(run: OperatingPlaneRun): string[] {\n\treturn uniqueStrings([\n\t\t...(run.withholding_reasons ?? []),\n\t\trun.redaction_count && run.redaction_count > 0\n\t\t\t? `${run.redaction_count} ${pluralize(\"redaction\", run.redaction_count)}`\n\t\t\t: undefined,\n\t\t...(run.unavailable_sources ?? []),\n\t]);\n}\n\nfunction formatArtifactRef(evidence: OperatingPlaneArtifactStatus): string {\n\tconst details = [\n\t\t`${evidence.source}/${evidence.kind}`,\n\t\tevidence.available ? \"available\" : \"unavailable\",\n\t\tevidence.uri ? `uri ${evidence.uri}` : undefined,\n\t\tevidence.revision ? `revision ${evidence.revision}` : undefined,\n\t];\n\treturn `${evidence.id} (${uniqueStrings(details).join(\", \")})`;\n}\n\nfunction operatorFacingSignalLabel(value: string): string | undefined {\n\tconst normalized = oneLine(value);\n\tif (!normalized) {\n\t\treturn undefined;\n\t}\n\tif (normalized === \"value_proof unavailable\") {\n\t\treturn \"runtime signal unavailable\";\n\t}\n\treturn normalized\n\t\t.replace(/\\bproof\\b/giu, \"signal\")\n\t\t.replace(/\\bevidence\\b/giu, \"artifact\");\n}\n\nfunction formatUsage(usage: OperatingPlaneUsageStatus): string | undefined {\n\tconst parts = [\n\t\ttypeof usage.totalTokens === \"number\"\n\t\t\t? `${usage.totalTokens} total tokens`\n\t\t\t: undefined,\n\t\ttypeof usage.inputTokens === \"number\"\n\t\t\t? `${usage.inputTokens} input tokens`\n\t\t\t: undefined,\n\t\ttypeof usage.outputTokens === \"number\"\n\t\t\t? `${usage.outputTokens} output tokens`\n\t\t\t: undefined,\n\t\ttypeof usage.estimatedCostMicros === \"number\"\n\t\t\t? `${usage.estimatedCostMicros} cost micros`\n\t\t\t: undefined,\n\t\tusage.currency,\n\t];\n\treturn uniqueStrings(parts).join(\", \") || undefined;\n}\n\nfunction firstString(values: Array<string | undefined>): string | undefined {\n\tfor (const value of values) {\n\t\tconst normalized = oneLine(value);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction oneLine(value: string | undefined): string | undefined {\n\tconst normalized = value?.replace(/\\s+/gu, \" \").trim();\n\treturn normalized || undefined;\n}\n\nfunction pushLine(\n\tlines: string[],\n\tlabel: string,\n\tvalue: string | undefined,\n): void {\n\tif (value) {\n\t\tlines.push(`${label}: ${value}`);\n\t}\n}\n\nfunction uniqueStrings(\n\tvalues: Array<string | undefined> | undefined,\n): string[] {\n\tconst seen = new Set<string>();\n\tconst normalized: string[] = [];\n\tfor (const value of values ?? []) {\n\t\tconst clean = oneLine(value);\n\t\tif (!clean || seen.has(clean)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(clean);\n\t\tnormalized.push(clean);\n\t}\n\treturn normalized;\n}\n\nfunction pluralize(noun: string, count: number): string {\n\treturn count === 1 ? noun : `${noun}s`;\n}\n\nfunction normalizePositiveLimit(value: number | undefined): number | undefined {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value <= 0) {\n\t\treturn undefined;\n\t}\n\treturn Math.trunc(value);\n}\n\nfunction stripUndefined<T extends Record<string, unknown>>(value: T): T {\n\treturn Object.fromEntries(\n\t\tObject.entries(value).filter(([, entry]) => entry !== undefined),\n\t) as T;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"session-timeline.d.ts","sourceRoot":"","sources":["../../src/server/session-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,sBAAsB,EAGtB,2BAA2B,EAE3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACX,UAAU,EAIV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD,UAAU,+BAA+B;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAipBD,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,+BAA+B,GACtC,2BAA2B,CA+C7B"}
1
+ {"version":3,"file":"session-timeline.d.ts","sourceRoot":"","sources":["../../src/server/session-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,sBAAsB,EAGtB,2BAA2B,EAE3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACX,UAAU,EAIV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD,UAAU,+BAA+B;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAiyBD,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,+BAA+B,GACtC,2BAA2B,CAgD7B"}