@evalops/maestro 0.10.21 → 0.10.22

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 (143) 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 +3924 -1972
  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/package.json +1 -1
  58. package/dist/node_modules/@evalops/tui/package.json +1 -1
  59. package/dist/platform/a2a-cockpit.d.ts +90 -0
  60. package/dist/platform/a2a-cockpit.d.ts.map +1 -0
  61. package/dist/platform/a2a-cockpit.js +302 -0
  62. package/dist/platform/a2a-cockpit.js.map +1 -0
  63. package/dist/platform/a2a-fleet.d.ts +14 -0
  64. package/dist/platform/a2a-fleet.d.ts.map +1 -1
  65. package/dist/platform/a2a-fleet.js +66 -1
  66. package/dist/platform/a2a-fleet.js.map +1 -1
  67. package/dist/platform/a2a-ownership.d.ts +27 -0
  68. package/dist/platform/a2a-ownership.d.ts.map +1 -0
  69. package/dist/platform/a2a-ownership.js +149 -0
  70. package/dist/platform/a2a-ownership.js.map +1 -0
  71. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  72. package/dist/platform/a2a-task-ledger.js +29 -5
  73. package/dist/platform/a2a-task-ledger.js.map +1 -1
  74. package/dist/server/agent-trajectory-replay-lab.d.ts +36 -0
  75. package/dist/server/agent-trajectory-replay-lab.d.ts.map +1 -0
  76. package/dist/server/agent-trajectory-replay-lab.js +48 -0
  77. package/dist/server/agent-trajectory-replay-lab.js.map +1 -0
  78. package/dist/server/any-agent-control-plane-proof.d.ts +42 -0
  79. package/dist/server/any-agent-control-plane-proof.d.ts.map +1 -0
  80. package/dist/server/any-agent-control-plane-proof.js +175 -0
  81. package/dist/server/any-agent-control-plane-proof.js.map +1 -0
  82. package/dist/server/app-context.d.ts +1 -0
  83. package/dist/server/app-context.d.ts.map +1 -1
  84. package/dist/server/app-context.js.map +1 -1
  85. package/dist/server/handlers/a2a-cockpit.d.ts +3 -0
  86. package/dist/server/handlers/a2a-cockpit.d.ts.map +1 -0
  87. package/dist/server/handlers/a2a-cockpit.js +71 -0
  88. package/dist/server/handlers/a2a-cockpit.js.map +1 -0
  89. package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
  90. package/dist/server/handlers/headless-sessions.js +17 -2
  91. package/dist/server/handlers/headless-sessions.js.map +1 -1
  92. package/dist/server/handlers/session-artifacts.d.ts.map +1 -1
  93. package/dist/server/handlers/session-artifacts.js +20 -3
  94. package/dist/server/handlers/session-artifacts.js.map +1 -1
  95. package/dist/server/handlers/session-replay-lab.d.ts +13 -0
  96. package/dist/server/handlers/session-replay-lab.d.ts.map +1 -0
  97. package/dist/server/handlers/session-replay-lab.js +80 -0
  98. package/dist/server/handlers/session-replay-lab.js.map +1 -0
  99. package/dist/server/handlers/stats.js +1 -1
  100. package/dist/server/handlers/stats.js.map +1 -1
  101. package/dist/server/handlers/status.d.ts +44 -3
  102. package/dist/server/handlers/status.d.ts.map +1 -1
  103. package/dist/server/handlers/status.js +227 -17
  104. package/dist/server/handlers/status.js.map +1 -1
  105. package/dist/server/headless-runtime-service.d.ts +17 -0
  106. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  107. package/dist/server/headless-runtime-service.js +143 -3
  108. package/dist/server/headless-runtime-service.js.map +1 -1
  109. package/dist/server/hosted-agent-runtime-progress.d.ts +17 -0
  110. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
  111. package/dist/server/hosted-agent-runtime-progress.js +352 -15
  112. package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
  113. package/dist/server/routes.d.ts.map +1 -1
  114. package/dist/server/routes.js +14 -0
  115. package/dist/server/routes.js.map +1 -1
  116. package/dist/services/intelligent-router/index.d.ts +1 -1
  117. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  118. package/dist/services/intelligent-router/index.js +1 -1
  119. package/dist/services/intelligent-router/index.js.map +1 -1
  120. package/dist/services/intelligent-router/normalize.d.ts +10 -2
  121. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  122. package/dist/services/intelligent-router/normalize.js +20 -1
  123. package/dist/services/intelligent-router/normalize.js.map +1 -1
  124. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  125. package/dist/services/intelligent-router/service.js +35 -0
  126. package/dist/services/intelligent-router/service.js.map +1 -1
  127. package/dist/services/intelligent-router/types.d.ts +13 -0
  128. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  129. package/dist/services/intelligent-router/types.js +1 -0
  130. package/dist/services/intelligent-router/types.js.map +1 -1
  131. package/dist/telemetry/cli-command-aggregator.d.ts +1 -0
  132. package/dist/telemetry/cli-command-aggregator.d.ts.map +1 -1
  133. package/dist/telemetry/cli-command-aggregator.js +23 -0
  134. package/dist/telemetry/cli-command-aggregator.js.map +1 -1
  135. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  136. package/dist/telemetry/maestro-event-bus.js +11 -5
  137. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  138. package/dist/telemetry/maestro-event-catalog.d.ts +15 -1
  139. package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
  140. package/dist/telemetry/maestro-event-catalog.js +30 -0
  141. package/dist/telemetry/maestro-event-catalog.js.map +1 -1
  142. package/dist/version.json +2 -2
  143. package/package.json +289 -283
@@ -1 +1 @@
1
- {"version":3,"file":"maestro-event-bus.js","sourceRoot":"","sources":["../../src/telemetry/maestro-event-bus.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\nimport { randomUUID } from \"node:crypto\";\nimport type { JetStreamClient, NatsConnection } from \"nats\";\nimport {\n\tareMaestroPlatformEventsDisabled,\n\tisFeatureFlagSnapshotConfigured,\n\tisMaestroPlatformEventsPublisherEnabled,\n} from \"../config/feature-flags.js\";\nimport {\n\ttype EvalOpsManagedContext,\n\tresolveManagedEvalOpsContext,\n} from \"../evalops/managed-context.js\";\nimport type { PromptMetadata } from \"../prompts/types.js\";\nimport type { SkillArtifactMetadata } from \"../skills/artifact-metadata.js\";\nimport { isInternalTelemetryDisabled } from \"./disablement.js\";\nimport {\n\tMaestroBusEventType,\n\tgetMaestroBusEventCatalogEntry,\n} from \"./maestro-event-catalog.js\";\nexport { MaestroBusEventType } from \"./maestro-event-catalog.js\";\n\ntype Env = NodeJS.ProcessEnv;\n\nexport type MaestroSurface =\n\t| \"MAESTRO_SURFACE_CLI\"\n\t| \"MAESTRO_SURFACE_TUI\"\n\t| \"MAESTRO_SURFACE_WEB\"\n\t| \"MAESTRO_SURFACE_IDE\"\n\t| \"MAESTRO_SURFACE_GITHUB_AGENT\"\n\t| \"MAESTRO_SURFACE_DESKTOP\"\n\t| \"MAESTRO_SURFACE_REMOTE_RUNNER\";\n\nexport type MaestroRuntimeMode =\n\t| \"MAESTRO_RUNTIME_MODE_LOCAL\"\n\t| \"MAESTRO_RUNTIME_MODE_HEADLESS\"\n\t| \"MAESTRO_RUNTIME_MODE_HOSTED\"\n\t| \"MAESTRO_RUNTIME_MODE_REMOTE_ATTACHED\";\n\nexport type MaestroSessionState =\n\t| \"MAESTRO_SESSION_STATE_STARTED\"\n\t| \"MAESTRO_SESSION_STATE_SUSPENDED\"\n\t| \"MAESTRO_SESSION_STATE_RESUMED\"\n\t| \"MAESTRO_SESSION_STATE_CLOSED\";\n\nexport type MaestroCloseReason =\n\t| \"MAESTRO_CLOSE_REASON_COMPLETED\"\n\t| \"MAESTRO_CLOSE_REASON_USER_STOPPED\"\n\t| \"MAESTRO_CLOSE_REASON_IDLE_TIMEOUT\"\n\t| \"MAESTRO_CLOSE_REASON_TTL_EXPIRED\"\n\t| \"MAESTRO_CLOSE_REASON_ERROR\"\n\t| \"MAESTRO_CLOSE_REASON_POLICY_DENIED\";\n\nexport type MaestroDecisionMode =\n\t| \"MAESTRO_DECISION_MODE_ALLOW\"\n\t| \"MAESTRO_DECISION_MODE_REQUIRE_APPROVAL\"\n\t| \"MAESTRO_DECISION_MODE_DENY\"\n\t| \"MAESTRO_DECISION_MODE_AUTO_APPROVED\";\n\nexport type MaestroToolCallStatus =\n\t| \"MAESTRO_TOOL_CALL_STATUS_SUCCEEDED\"\n\t| \"MAESTRO_TOOL_CALL_STATUS_FAILED\"\n\t| \"MAESTRO_TOOL_CALL_STATUS_DENIED\"\n\t| \"MAESTRO_TOOL_CALL_STATUS_CANCELLED\";\n\nexport type MaestroSkillOutcomeProtoStatus =\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_SUCCEEDED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_FAILED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_DENIED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_CANCELLED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_EVALUATION_FAILED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_RATE_LIMITED\";\n\nexport interface MaestroCorrelation {\n\torganization_id?: string;\n\tuser_id?: string;\n\tworkspace_id: string;\n\tsession_id: string;\n\tagent_run_id?: string;\n\tagent_run_step_id?: string;\n\tagent_id?: string;\n\tactor_id?: string;\n\tprincipal_id?: string;\n\ttrace_id?: string;\n\ttraceparent?: string;\n\ttracestate?: string;\n\trequest_id?: string;\n\tparent_event_id?: string;\n\tremote_runner_session_id?: string;\n\tobjective_id?: string;\n\tconversation_id?: string;\n\tattributes?: Record<string, string>;\n}\n\nexport interface MaestroPrincipal {\n\tsubject: string;\n\tuser_id?: string;\n\torganization_id?: string;\n\tworkspace_id?: string;\n\troles?: string[];\n\tscopes?: string[];\n\tclaims?: Record<string, string>;\n}\n\nexport interface MaestroCloudEvent<TData extends Record<string, unknown>> {\n\tspec_version: \"1.0\";\n\tid: string;\n\ttype: MaestroBusEventType;\n\tsource: string;\n\tsubject: string;\n\ttime: string;\n\tdata_content_type: \"application/protobuf\";\n\ttenant_id?: string;\n\tdata: TData & { \"@type\": string };\n\textensions: {\n\t\tdataschema: string;\n\t\tevalops_context_version: \"evalops.context.v1\";\n\t\t[key: string]: string;\n\t};\n}\n\nexport interface MaestroSessionEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tstate: MaestroSessionState;\n\tsurface: MaestroSurface;\n\truntime_mode: MaestroRuntimeMode;\n\tprincipal?: MaestroPrincipal;\n\tworkspace_root?: string;\n\trepository?: string;\n\tgit_ref?: string;\n\truntime_version?: string;\n\trunner_profile?: string;\n\tstarted_at?: string;\n\tsuspended_at?: string;\n\tresumed_at?: string;\n\tclosed_at?: string;\n\tclose_reason?: MaestroCloseReason;\n\tclose_message?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface ApprovalHitEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tapproval_request_id?: string;\n\tgovernance_decision_id?: string;\n\taction: string;\n\tcommand?: string;\n\trisk_level?: string;\n\tdecision_mode: MaestroDecisionMode;\n\tpolicy_id?: string;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\tmetadata?: Record<string, unknown>;\n\toccurred_at: string;\n}\n\nexport interface SandboxViolationEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tpolicy_id?: string;\n\toperation: string;\n\tresource: string;\n\tworkspace_root?: string;\n\tattempted_path?: string;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\toccurred_at: string;\n}\n\nexport interface FirewallBlockEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\trule_id?: string;\n\toperation: string;\n\ttarget: string;\n\tprotocol?: string;\n\tport?: number;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\toccurred_at: string;\n}\n\nexport interface ToolCallAttemptEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_namespace?: string;\n\ttool_name: string;\n\ttool_version?: string;\n\tcapability?: string;\n\tconnector_id?: string;\n\tmutates_resource?: boolean;\n\trisk_level?: string;\n\tsafe_arguments?: Record<string, unknown>;\n\tredactions?: string[];\n\tidempotency_key?: string;\n\tmetadata?: Record<string, unknown>;\n\tattempted_at: string;\n}\n\nexport interface ToolCallResultEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\tapproval_request_id?: string;\n\tgoverned_outcome?: string;\n\tstatus: MaestroToolCallStatus;\n\tduration?: string;\n\tsafe_output?: Record<string, unknown>;\n\tredactions?: string[];\n\terror_code?: string;\n\terror_message?: string;\n\tmetadata?: Record<string, unknown>;\n\tcompleted_at: string;\n}\n\nexport interface MaestroEventBusConfig {\n\tenabled: boolean;\n\treason: string;\n\tnatsUrl?: string;\n\tnatsToken?: string;\n\tnatsUser?: string;\n\tnatsPassword?: string;\n\tsource: string;\n\ttenantId?: string;\n\tdefaultSurface: MaestroSurface;\n\tdefaultRuntimeMode: MaestroRuntimeMode;\n\tdefaultCorrelation: MaestroCorrelation;\n\tdefaultPrincipal?: MaestroPrincipal;\n}\n\nexport interface MaestroEventBusStatus {\n\tenabled: boolean;\n\treason: string;\n\tnatsUrl?: string;\n\tsource: string;\n\ttenantId?: string;\n\tdefaultSurface: MaestroSurface;\n\tdefaultRuntimeMode: MaestroRuntimeMode;\n}\n\nexport interface PromptVariantSelectedEventData\n\textends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tprompt_id: string;\n\tprompt_name: string;\n\tversion_id: string;\n\tprompt_metadata: PromptMetadata;\n\tselected_at: string;\n}\n\nexport interface MaestroLearnedContextEvidence extends Record<string, unknown> {\n\tsource: string;\n\tsource_id?: string;\n\turi?: string;\n\texcerpt?: string;\n}\n\nexport interface MaestroLearnedContextEventData\n\textends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tlearning_id: string;\n\tsubject_thing_id?: string;\n\tsubject_key?: string;\n\tstatement: string;\n\tdimension: string;\n\tconfidence_score: number;\n\tconfidence_reason: string;\n\tevidence: MaestroLearnedContextEvidence[];\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tlearned_at: string;\n}\n\nexport interface SkillInvocationEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tinvoked_at: string;\n}\n\nexport type MaestroSkillOutcomeStatus =\n\t| \"success\"\n\t| \"error\"\n\t| \"aborted\"\n\t| \"evaluation_failed\"\n\t| \"rate_limited\";\n\nexport interface SkillOutcomeEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\tstatus?: MaestroSkillOutcomeProtoStatus;\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tturn_status: MaestroSkillOutcomeStatus;\n\terror_category?: string;\n\terror_message?: string;\n\tevaluation_tool_name?: string;\n\tevaluation_tool_call_id?: string;\n\tevaluation_tool_execution_id?: string;\n\tevaluation_score?: number;\n\tevaluation_threshold?: number;\n\tevaluation_assertion_count?: number;\n\tevaluation_rationale?: string;\n\tstop_reason?: string;\n\tmetadata?: Record<string, unknown>;\n\toutcome_at: string;\n}\n\nexport interface EvalScoredEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\teval_run_id: string;\n\tscenario_id: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\ttool_name?: string;\n\tscore?: number;\n\tthreshold?: number;\n\tpassed?: boolean;\n\tscorer?: string;\n\trationale?: string;\n\tassertion_count?: number;\n\tscored_at: string;\n}\n\nexport interface SubagentDispatchEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tdispatch_id: string;\n\tmode: string;\n\tsubagent_type: string;\n\tmodel: string;\n\tprovider: string;\n\treasoning_effort: string;\n\tsource?: string;\n\tsuccess: boolean;\n\tlatency_ms: number;\n\tparent_mode?: string;\n\tparent_model_provider?: string;\n\tswarm_id?: string;\n\ttask_id?: string;\n\tteammate_id?: string;\n\treason?: string;\n\tmetadata?: Record<string, unknown>;\n\tdispatched_at: string;\n}\n\nexport interface MaestroEventBusTransport {\n\tpublish(subject: string, payload: string): Promise<void>;\n\tclose?(): Promise<void>;\n}\n\nexport interface PublishMaestroEventOptions {\n\tenv?: Env;\n\teventId?: string;\n\tsource?: string;\n\tsubject?: string;\n\ttenantId?: string;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tprincipal?: MaestroPrincipal | null;\n\ttime?: string | Date;\n}\n\nexport type MaestroTelemetryMirrorEvent = {\n\ttype: string;\n\ttimestamp: string;\n};\n\nexport interface RecordMaestroApprovalHitInput {\n\tevent_id?: string;\n\tapproval_request_id?: string;\n\tgovernance_decision_id?: string;\n\taction: string;\n\tcommand?: string;\n\trisk_level?: string;\n\tdecision_mode: MaestroDecisionMode;\n\tpolicy_id?: string;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toccurred_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroFirewallBlockInput {\n\tevent_id?: string;\n\trule_id?: string;\n\toperation: string;\n\ttarget: string;\n\tprotocol?: string;\n\tport?: number;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toccurred_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroToolCallAttemptInput {\n\tevent_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_namespace?: string;\n\ttool_name: string;\n\ttool_version?: string;\n\tcapability?: string;\n\tconnector_id?: string;\n\tmutates_resource?: boolean;\n\trisk_level?: string;\n\tsafe_arguments?: Record<string, unknown>;\n\tredactions?: string[];\n\tidempotency_key?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tattempted_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroToolCallCompletedInput {\n\tevent_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\tapproval_request_id?: string;\n\tgoverned_outcome?: string;\n\tstatus: MaestroToolCallStatus;\n\tduration?: string;\n\tsafe_output?: Record<string, unknown>;\n\tredactions?: string[];\n\terror_code?: string;\n\terror_message?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tcompleted_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroPromptVariantSelectedInput {\n\tevent_id?: string;\n\tprompt_id?: string;\n\tprompt_name?: string;\n\tversion_id?: string;\n\tprompt_metadata: PromptMetadata;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tselected_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroLearnedContextInput {\n\tevent_id?: string;\n\tlearning_id: string;\n\tsubject_thing_id?: string;\n\tsubject_key?: string;\n\tstatement: string;\n\tdimension: string;\n\tconfidence_score: number;\n\tconfidence_reason: string;\n\tevidence: MaestroLearnedContextEvidence[];\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tlearned_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroSkillInvokedInput {\n\tevent_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tinvoked_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroSkillOutcomeInput {\n\tevent_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\tstatus?: MaestroSkillOutcomeProtoStatus;\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tturn_status: MaestroSkillOutcomeStatus;\n\terror_category?: string;\n\terror_message?: string;\n\tevaluation_tool_name?: string;\n\tevaluation_tool_call_id?: string;\n\tevaluation_tool_execution_id?: string;\n\tevaluation_score?: number;\n\tevaluation_threshold?: number;\n\tevaluation_assertion_count?: number;\n\tevaluation_rationale?: string;\n\tstop_reason?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toutcome_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroEvalScoredInput {\n\tevent_id?: string;\n\teval_run_id?: string;\n\tscenario_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\ttool_name?: string;\n\tscore?: number;\n\tthreshold?: number;\n\tpassed?: boolean;\n\tscorer?: string;\n\trationale?: string;\n\tassertion_count?: number;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tscored_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroSubagentDispatchInput {\n\tevent_id?: string;\n\tdispatch_id?: string;\n\tmode: string;\n\tsubagent_type: string;\n\tmodel: string;\n\tprovider: string;\n\treasoning_effort: string;\n\tsource?: string;\n\tsuccess: boolean;\n\tlatency_ms?: number;\n\tparent_mode?: string;\n\tparent_model_provider?: string;\n\tswarm_id?: string;\n\ttask_id?: string;\n\tteammate_id?: string;\n\treason?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tdispatched_at?: string;\n\tenv?: Env;\n}\n\nlet transportOverride: MaestroEventBusTransport | null | undefined;\nconst scopedTransportOverride =\n\tnew AsyncLocalStorage<MaestroEventBusTransport | null>();\nlet natsTransportPromise:\n\t| Promise<{ key: string; transport: MaestroEventBusTransport }>\n\t| undefined;\n\nfunction readEnv(env: Env, names: readonly string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = env[name]?.trim();\n\t\tif (value) return value;\n\t}\n\treturn undefined;\n}\n\nfunction readBoolean(value: string | undefined): boolean | undefined {\n\tif (!value) return undefined;\n\tswitch (value.toLowerCase()) {\n\t\tcase \"1\":\n\t\tcase \"true\":\n\t\tcase \"yes\":\n\t\tcase \"on\":\n\t\t\treturn true;\n\t\tcase \"0\":\n\t\tcase \"false\":\n\t\tcase \"no\":\n\t\tcase \"off\":\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction readStringRecord(\n\tenv: Env,\n\tprefix: string,\n): Record<string, string> | undefined {\n\tconst output: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(env)) {\n\t\tif (!key.startsWith(prefix) || typeof value !== \"string\" || !value.trim()) {\n\t\t\tcontinue;\n\t\t}\n\t\toutput[key.slice(prefix.length).toLowerCase()] = value.trim();\n\t}\n\treturn Object.keys(output).length > 0 ? output : undefined;\n}\n\nfunction normalizeSurface(value: string | undefined): MaestroSurface {\n\tswitch (value?.toLowerCase()) {\n\t\tcase \"cli\":\n\t\t\treturn \"MAESTRO_SURFACE_CLI\";\n\t\tcase \"web\":\n\t\t\treturn \"MAESTRO_SURFACE_WEB\";\n\t\tcase \"ide\":\n\t\tcase \"vscode\":\n\t\tcase \"jetbrains\":\n\t\t\treturn \"MAESTRO_SURFACE_IDE\";\n\t\tcase \"github\":\n\t\tcase \"github-agent\":\n\t\t\treturn \"MAESTRO_SURFACE_GITHUB_AGENT\";\n\t\tcase \"desktop\":\n\t\t\treturn \"MAESTRO_SURFACE_DESKTOP\";\n\t\tcase \"remote\":\n\t\tcase \"remote-runner\":\n\t\t\treturn \"MAESTRO_SURFACE_REMOTE_RUNNER\";\n\t\tdefault:\n\t\t\treturn \"MAESTRO_SURFACE_TUI\";\n\t}\n}\n\nfunction normalizeRuntimeMode(value: string | undefined): MaestroRuntimeMode {\n\tswitch (value?.toLowerCase()) {\n\t\tcase \"headless\":\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_HEADLESS\";\n\t\tcase \"hosted\":\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_HOSTED\";\n\t\tcase \"remote\":\n\t\tcase \"remote-attached\":\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_REMOTE_ATTACHED\";\n\t\tdefault:\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_LOCAL\";\n\t}\n}\n\nfunction defaultCorrelation(\n\tenv: Env,\n\tmanagedContext: EvalOpsManagedContext,\n): MaestroCorrelation {\n\tconst workspaceId = managedContext.workspaceId ?? env.PWD ?? process.cwd();\n\tconst sessionId = readEnv(env, [\"MAESTRO_SESSION_ID\"]) ?? \"unknown\";\n\n\treturn {\n\t\torganization_id: managedContext.organizationId,\n\t\tuser_id: managedContext.userId,\n\t\tworkspace_id: workspaceId,\n\t\tsession_id: sessionId,\n\t\tagent_run_id: managedContext.runId,\n\t\tagent_run_step_id: readEnv(env, [\"MAESTRO_AGENT_RUN_STEP_ID\"]),\n\t\tagent_id: managedContext.agentId,\n\t\tactor_id: readEnv(env, [\"MAESTRO_ACTOR_ID\"]),\n\t\tprincipal_id: readEnv(env, [\"MAESTRO_PRINCIPAL_ID\"]),\n\t\ttrace_id: readEnv(env, [\"TRACE_ID\", \"OTEL_TRACE_ID\"]),\n\t\ttraceparent: readEnv(env, [\"TRACEPARENT\", \"TRACE_PARENT\"]),\n\t\ttracestate: readEnv(env, [\"TRACESTATE\", \"TRACE_STATE\"]),\n\t\trequest_id: readEnv(env, [\"MAESTRO_REQUEST_ID\"]),\n\t\tremote_runner_session_id: readEnv(env, [\n\t\t\t\"MAESTRO_REMOTE_RUNNER_SESSION_ID\",\n\t\t]),\n\t\tobjective_id: readEnv(env, [\"MAESTRO_OBJECTIVE_ID\"]),\n\t\tconversation_id: readEnv(env, [\"MAESTRO_CONVERSATION_ID\"]),\n\t\tattributes: readStringRecord(env, \"MAESTRO_EVENT_BUS_ATTR_\"),\n\t};\n}\n\nfunction defaultPrincipal(\n\tenv: Env,\n\tmanagedContext: EvalOpsManagedContext,\n): MaestroPrincipal | undefined {\n\tconst subject = readEnv(env, [\n\t\t\"MAESTRO_PRINCIPAL_SUBJECT\",\n\t\t\"MAESTRO_USER_SUBJECT\",\n\t\t\"USER\",\n\t]);\n\tif (!subject) return undefined;\n\treturn {\n\t\tsubject,\n\t\tuser_id: managedContext.userId,\n\t\torganization_id: managedContext.organizationId,\n\t\tworkspace_id: managedContext.workspaceId,\n\t\troles: readEnv(env, [\"MAESTRO_PRINCIPAL_ROLES\"])\n\t\t\t?.split(\",\")\n\t\t\t.map((role) => role.trim())\n\t\t\t.filter(Boolean),\n\t\tscopes: readEnv(env, [\"MAESTRO_PRINCIPAL_SCOPES\"])\n\t\t\t?.split(\",\")\n\t\t\t.map((scope) => scope.trim())\n\t\t\t.filter(Boolean),\n\t\tclaims: readStringRecord(env, \"MAESTRO_PRINCIPAL_CLAIM_\"),\n\t};\n}\n\nfunction resolveEventBusFeatureGate(\n\tenv: Env,\n\tmanagedContext: EvalOpsManagedContext,\n): {\n\tallowed: boolean;\n\treason?: string;\n} {\n\tif (!isFeatureFlagSnapshotConfigured(env)) {\n\t\treturn { allowed: true };\n\t}\n\tif (!managedContext.managed) {\n\t\treturn { allowed: true };\n\t}\n\tif (areMaestroPlatformEventsDisabled(env)) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: \"platform events kill switch enabled\",\n\t\t};\n\t}\n\tif (!isMaestroPlatformEventsPublisherEnabled(env)) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: \"platform events rollout disabled\",\n\t\t};\n\t}\n\treturn { allowed: true };\n}\n\nexport function resolveMaestroEventBusConfig(\n\tenv: Env = process.env,\n): MaestroEventBusConfig {\n\tconst managedContext = resolveManagedEvalOpsContext(env);\n\tconst internalTelemetryDisabled = isInternalTelemetryDisabled(env);\n\tconst flag = readBoolean(\n\t\treadEnv(env, [\"MAESTRO_EVENT_BUS\", \"MAESTRO_AUDIT_BUS\"]),\n\t);\n\tconst natsUrl = readEnv(env, [\n\t\t\"MAESTRO_EVENT_BUS_URL\",\n\t\t\"EVALOPS_NATS_URL\",\n\t\t\"NATS_URL\",\n\t]);\n\tconst managedRouting = managedContext.managed;\n\tconst baseEnabled =\n\t\tflag === false ? false : (flag ?? Boolean(natsUrl || managedRouting));\n\tconst featureGate = resolveEventBusFeatureGate(env, managedContext);\n\tconst enabled =\n\t\t!internalTelemetryDisabled && baseEnabled && featureGate.allowed;\n\tlet reason = \"disabled\";\n\tif (internalTelemetryDisabled) reason = \"internal telemetry disabled\";\n\telse if (flag === false) reason = \"flag disabled\";\n\telse if (baseEnabled && !featureGate.allowed)\n\t\treason = featureGate.reason ?? \"feature flag disabled\";\n\telse if (natsUrl) reason = \"nats\";\n\telse if (managedRouting) reason = \"managed evalops routing\";\n\telse if (flag === true) reason = \"flag enabled\";\n\n\treturn {\n\t\tenabled,\n\t\treason,\n\t\tnatsUrl,\n\t\tnatsToken: readEnv(env, [\"MAESTRO_EVENT_BUS_TOKEN\", \"NATS_TOKEN\"]),\n\t\tnatsUser: readEnv(env, [\"MAESTRO_EVENT_BUS_USER\", \"NATS_USER\"]),\n\t\tnatsPassword: readEnv(env, [\"MAESTRO_EVENT_BUS_PASSWORD\", \"NATS_PASSWORD\"]),\n\t\tsource: readEnv(env, [\"MAESTRO_EVENT_BUS_SOURCE\"]) ?? \"maestro\",\n\t\ttenantId: managedContext.organizationId,\n\t\tdefaultSurface: normalizeSurface(\n\t\t\treadEnv(env, [\"MAESTRO_SURFACE\", \"MAESTRO_EVENT_SURFACE\"]),\n\t\t),\n\t\tdefaultRuntimeMode: normalizeRuntimeMode(\n\t\t\treadEnv(env, [\"MAESTRO_RUNTIME_MODE\"]),\n\t\t),\n\t\tdefaultCorrelation: defaultCorrelation(env, managedContext),\n\t\tdefaultPrincipal: defaultPrincipal(env, managedContext),\n\t};\n}\n\nexport function getMaestroEventBusStatus(\n\tenv: Env = process.env,\n): MaestroEventBusStatus {\n\tconst config = resolveMaestroEventBusConfig(env);\n\treturn {\n\t\tenabled: config.enabled,\n\t\treason:\n\t\t\tconfig.enabled && !config.natsUrl ? \"missing nats url\" : config.reason,\n\t\tnatsUrl: config.natsUrl,\n\t\tsource: config.source,\n\t\ttenantId: config.tenantId,\n\t\tdefaultSurface: config.defaultSurface,\n\t\tdefaultRuntimeMode: config.defaultRuntimeMode,\n\t};\n}\n\nexport function setMaestroEventBusTransportForTests(\n\ttransport: MaestroEventBusTransport | null | undefined,\n): void {\n\ttransportOverride = transport;\n}\n\nexport async function withMaestroEventBusTransportOverride<T>(\n\ttransport: MaestroEventBusTransport | null,\n\tcallback: () => Promise<T>,\n): Promise<T> {\n\treturn scopedTransportOverride.run(transport, callback);\n}\n\nexport async function closeMaestroEventBusTransport(): Promise<void> {\n\tconst scopedTransport = scopedTransportOverride.getStore();\n\tif (scopedTransport?.close) await scopedTransport.close();\n\tif (transportOverride?.close) await transportOverride.close();\n\tif (natsTransportPromise) {\n\t\tconst { transport } = await natsTransportPromise;\n\t\tawait transport.close?.();\n\t\tnatsTransportPromise = undefined;\n\t}\n}\n\nasync function createNatsTransport(\n\tconfig: MaestroEventBusConfig,\n): Promise<MaestroEventBusTransport | null> {\n\tif (!config.natsUrl) return null;\n\tconst key = JSON.stringify({\n\t\turl: config.natsUrl,\n\t\ttoken: config.natsToken,\n\t\tuser: config.natsUser,\n\t\tpassword: config.natsPassword,\n\t});\n\tif (!natsTransportPromise) {\n\t\tconst pendingTransport = (async () => {\n\t\t\tconst nats = await import(\"nats\");\n\t\t\tconst codec = nats.StringCodec();\n\t\t\tconst connection: NatsConnection = await nats.connect({\n\t\t\t\tservers: config.natsUrl,\n\t\t\t\tname: \"maestro-event-bus\",\n\t\t\t\ttoken: config.natsToken,\n\t\t\t\tuser: config.natsUser,\n\t\t\t\tpass: config.natsPassword,\n\t\t\t});\n\t\t\tconst jetstream: JetStreamClient = connection.jetstream();\n\t\t\treturn {\n\t\t\t\tkey,\n\t\t\t\ttransport: {\n\t\t\t\t\tasync publish(subject: string, payload: string): Promise<void> {\n\t\t\t\t\t\tawait jetstream.publish(subject, codec.encode(payload));\n\t\t\t\t\t},\n\t\t\t\t\tasync close(): Promise<void> {\n\t\t\t\t\t\tawait connection.drain();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t})();\n\t\tconst trackedTransport = pendingTransport.catch((error) => {\n\t\t\tif (natsTransportPromise === trackedTransport) {\n\t\t\t\tnatsTransportPromise = undefined;\n\t\t\t}\n\t\t\tthrow error;\n\t\t});\n\t\tnatsTransportPromise = trackedTransport;\n\t}\n\tconst resolved = await natsTransportPromise;\n\tif (resolved.key === key) return resolved.transport;\n\tawait resolved.transport.close?.();\n\tnatsTransportPromise = undefined;\n\treturn createNatsTransport(config);\n}\n\nasync function getTransport(\n\tconfig: MaestroEventBusConfig,\n): Promise<MaestroEventBusTransport | null> {\n\tconst scopedTransport = scopedTransportOverride.getStore();\n\tif (scopedTransport !== undefined) return scopedTransport;\n\tif (transportOverride !== undefined) return transportOverride;\n\treturn createNatsTransport(config);\n}\n\nfunction mergeCorrelation(\n\tbase: MaestroCorrelation,\n\toverrides?: Partial<MaestroCorrelation>,\n): MaestroCorrelation {\n\tconst definedOverrides = Object.fromEntries(\n\t\tObject.entries(overrides ?? {}).filter(([, value]) => value !== undefined),\n\t) as Partial<MaestroCorrelation>;\n\tconst attributes = {\n\t\t...base.attributes,\n\t\t...definedOverrides.attributes,\n\t};\n\treturn {\n\t\t...base,\n\t\t...definedOverrides,\n\t\tworkspace_id: definedOverrides.workspace_id ?? base.workspace_id,\n\t\tsession_id: definedOverrides.session_id ?? base.session_id,\n\t\tattributes: Object.keys(attributes).length > 0 ? attributes : undefined,\n\t};\n}\n\nexport function maestroCorrelationToChronicleMetadata(\n\tcorrelation: MaestroCorrelation,\n): Record<string, string> {\n\tconst metadata: Record<string, string> = {};\n\tconst canonicalKeys = new Set<string>();\n\tconst putCanonicalMetadata = (\n\t\tkey: string,\n\t\tvalue: string | undefined,\n\t): void => {\n\t\tcanonicalKeys.add(key);\n\t\tputMetadata(metadata, key, value);\n\t};\n\tputCanonicalMetadata(\"organization_id\", correlation.organization_id);\n\tputCanonicalMetadata(\"user_id\", correlation.user_id);\n\tputCanonicalMetadata(\"workspace_id\", correlation.workspace_id);\n\tputCanonicalMetadata(\"maestro_session_id\", correlation.session_id);\n\tputCanonicalMetadata(\"agent_run_id\", correlation.agent_run_id);\n\tputCanonicalMetadata(\"agent_run_step_id\", correlation.agent_run_step_id);\n\tputCanonicalMetadata(\"agent_id\", correlation.agent_id);\n\tputCanonicalMetadata(\"actor_id\", correlation.actor_id);\n\tputCanonicalMetadata(\"principal_id\", correlation.principal_id);\n\tputCanonicalMetadata(\"trace_id\", correlation.trace_id);\n\tputCanonicalMetadata(\"traceparent\", correlation.traceparent);\n\tputCanonicalMetadata(\"tracestate\", correlation.tracestate);\n\tputCanonicalMetadata(\"request_id\", correlation.request_id);\n\tputCanonicalMetadata(\n\t\t\"remote_runner_session_id\",\n\t\tcorrelation.remote_runner_session_id,\n\t);\n\tputCanonicalMetadata(\"objective_id\", correlation.objective_id);\n\tputCanonicalMetadata(\"conversation_id\", correlation.conversation_id);\n\tputCanonicalMetadata(\"parent_event_id\", correlation.parent_event_id);\n\tfor (const [key, value] of Object.entries(correlation.attributes ?? {})) {\n\t\tif (canonicalKeys.has(key)) continue;\n\t\tputMetadata(metadata, key, value);\n\t}\n\treturn metadata;\n}\n\nfunction putMetadata(\n\tmetadata: Record<string, string>,\n\tkey: string,\n\tvalue: string | undefined,\n): void {\n\tconst cleanValue = value?.trim();\n\tif (!cleanValue) return;\n\tmetadata[key] = cleanValue;\n}\n\nfunction normalizeTime(value: string | Date | undefined): string {\n\tif (value instanceof Date) return value.toISOString();\n\treturn value ?? new Date().toISOString();\n}\n\nfunction dataSchemaFor(type: MaestroBusEventType): string {\n\treturn getMaestroBusEventCatalogEntry(type).dataSchema;\n}\n\nfunction protoAnyTypeFor(type: MaestroBusEventType): string {\n\treturn getMaestroBusEventCatalogEntry(type).protoAnyType;\n}\n\nexport function buildMaestroCloudEvent<TData extends Record<string, unknown>>(\n\ttype: MaestroBusEventType,\n\tdata: TData,\n\toptions: PublishMaestroEventOptions = {},\n): MaestroCloudEvent<TData> {\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tconst correlation = mergeCorrelation(\n\t\tconfig.defaultCorrelation,\n\t\toptions.correlation,\n\t);\n\tconst contextCorrelation =\n\t\t\"correlation\" in data && data.correlation\n\t\t\t? mergeCorrelation(\n\t\t\t\t\tcorrelation,\n\t\t\t\t\tdata.correlation as Partial<MaestroCorrelation>,\n\t\t\t\t)\n\t\t\t: correlation;\n\tconst dataCorrelation = maestroDataCorrelation(\n\t\tcontextCorrelation as MaestroCorrelation,\n\t);\n\tconst typedData = {\n\t\t...data,\n\t\t\"@type\": protoAnyTypeFor(type),\n\t\tcorrelation: dataCorrelation,\n\t} as TData & { \"@type\": string };\n\tconst contextExtensions = maestroContextExtensions(\n\t\tcontextCorrelation as MaestroCorrelation,\n\t\ttypedData,\n\t);\n\n\treturn {\n\t\tspec_version: \"1.0\",\n\t\tid: options.eventId ?? randomUUID(),\n\t\ttype,\n\t\tsource: options.source ?? config.source,\n\t\tsubject: options.subject ?? type,\n\t\ttime: normalizeTime(options.time),\n\t\tdata_content_type: \"application/protobuf\",\n\t\ttenant_id: options.tenantId ?? config.tenantId,\n\t\tdata: typedData,\n\t\textensions: {\n\t\t\tdataschema: dataSchemaFor(type),\n\t\t\tevalops_context_version: \"evalops.context.v1\",\n\t\t\t...contextExtensions,\n\t\t},\n\t};\n}\n\nfunction maestroDataCorrelation(\n\tcorrelation: MaestroCorrelation,\n): MaestroCorrelation {\n\tconst {\n\t\ttraceparent: _traceparent,\n\t\ttracestate: _tracestate,\n\t\t...dataCorrelation\n\t} = correlation;\n\treturn dataCorrelation;\n}\n\nfunction maestroContextExtensions(\n\tcorrelation: MaestroCorrelation,\n\tdata: Record<string, unknown>,\n): Record<string, string> {\n\tconst extensions: Record<string, string> = {};\n\tputMetadata(extensions, \"organization_id\", correlation.organization_id);\n\tputMetadata(extensions, \"user_id\", correlation.user_id);\n\tputMetadata(extensions, \"workspace_id\", correlation.workspace_id);\n\tputMetadata(extensions, \"maestro_session_id\", correlation.session_id);\n\tputMetadata(extensions, \"agent_run_id\", correlation.agent_run_id);\n\tputMetadata(extensions, \"agent_run_step_id\", correlation.agent_run_step_id);\n\tputMetadata(extensions, \"trace_id\", correlation.trace_id);\n\tputMetadata(extensions, \"traceparent\", correlation.traceparent);\n\tputMetadata(extensions, \"tracestate\", correlation.tracestate);\n\tputMetadata(extensions, \"request_id\", correlation.request_id);\n\tputMetadata(extensions, \"source_issue\", correlation.attributes?.source_issue);\n\tputMetadata(extensions, \"task_id\", correlation.attributes?.task_id);\n\tputMetadata(\n\t\textensions,\n\t\t\"tool_execution_id\",\n\t\tstringRecordValue(data, \"tool_execution_id\"),\n\t);\n\treturn extensions;\n}\n\nfunction stringRecordValue(\n\trecord: Record<string, unknown>,\n\tkey: string,\n): string | undefined {\n\tconst value = record[key];\n\treturn typeof value === \"string\" ? value : undefined;\n}\n\nexport async function publishMaestroCloudEvent<\n\tTData extends Record<string, unknown>,\n>(\n\ttype: MaestroBusEventType,\n\tdata: TData,\n\toptions: PublishMaestroEventOptions = {},\n): Promise<void> {\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tif (!config.enabled) return;\n\ttry {\n\t\tconst transport = await getTransport(config);\n\t\tif (!transport) return;\n\t\tconst event = buildMaestroCloudEvent(type, data, options);\n\t\tawait transport.publish(type, JSON.stringify(event));\n\t} catch {\n\t\t// Audit-bus publishing must never affect the local agent runtime.\n\t}\n}\n\nexport async function publishMaestroCloudEventStrict<\n\tTData extends Record<string, unknown>,\n>(\n\ttype: MaestroBusEventType,\n\tdata: TData,\n\toptions: PublishMaestroEventOptions = {},\n): Promise<void> {\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tif (!config.enabled && !config.natsUrl) {\n\t\tthrow new Error(`Maestro event bus is not enabled: ${config.reason}`);\n\t}\n\tconst transport = await getTransport(config);\n\tif (!transport) {\n\t\tthrow new Error(\"Maestro event bus transport is unavailable\");\n\t}\n\tconst event = buildMaestroCloudEvent(type, data, options);\n\tawait transport.publish(type, JSON.stringify(event));\n}\n\nfunction contextFromMetadata(\n\tmetadata: unknown,\n\textra?: Record<string, unknown>,\n): Record<string, unknown> | undefined {\n\tconst context =\n\t\tmetadata && typeof metadata === \"object\" && !Array.isArray(metadata)\n\t\t\t? { ...(metadata as Record<string, unknown>) }\n\t\t\t: {};\n\tif (extra) Object.assign(context, extra);\n\treturn Object.keys(context).length > 0 ? context : undefined;\n}\n\nfunction correlationFromMetadata(\n\tmetadata: unknown,\n): Partial<MaestroCorrelation> | undefined {\n\tif (!metadata || typeof metadata !== \"object\" || Array.isArray(metadata)) {\n\t\treturn undefined;\n\t}\n\tconst record = metadata as Record<string, unknown>;\n\treturn {\n\t\tsession_id:\n\t\t\ttypeof record.sessionId === \"string\"\n\t\t\t\t? record.sessionId\n\t\t\t\t: typeof record.session_id === \"string\"\n\t\t\t\t\t? record.session_id\n\t\t\t\t\t: undefined,\n\t\tworkspace_id:\n\t\t\ttypeof record.workspaceId === \"string\"\n\t\t\t\t? record.workspaceId\n\t\t\t\t: typeof record.workspace_id === \"string\"\n\t\t\t\t\t? record.workspace_id\n\t\t\t\t\t: undefined,\n\t\tagent_run_id:\n\t\t\ttypeof record.agentRunId === \"string\"\n\t\t\t\t? record.agentRunId\n\t\t\t\t: typeof record.agent_run_id === \"string\"\n\t\t\t\t\t? record.agent_run_id\n\t\t\t\t\t: undefined,\n\t\tagent_run_step_id:\n\t\t\ttypeof record.toolCallId === \"string\"\n\t\t\t\t? record.toolCallId\n\t\t\t\t: typeof record.tool_call_id === \"string\"\n\t\t\t\t\t? record.tool_call_id\n\t\t\t\t\t: undefined,\n\t\torganization_id:\n\t\t\ttypeof record.organizationId === \"string\"\n\t\t\t\t? record.organizationId\n\t\t\t\t: typeof record.organization_id === \"string\"\n\t\t\t\t\t? record.organization_id\n\t\t\t\t\t: undefined,\n\t\tuser_id:\n\t\t\ttypeof record.userId === \"string\"\n\t\t\t\t? record.userId\n\t\t\t\t: typeof record.user_id === \"string\"\n\t\t\t\t\t? record.user_id\n\t\t\t\t\t: undefined,\n\t\tagent_id:\n\t\t\ttypeof record.agentId === \"string\"\n\t\t\t\t? record.agentId\n\t\t\t\t: typeof record.agent_id === \"string\"\n\t\t\t\t\t? record.agent_id\n\t\t\t\t\t: undefined,\n\t\tactor_id:\n\t\t\ttypeof record.actorId === \"string\"\n\t\t\t\t? record.actorId\n\t\t\t\t: typeof record.actor_id === \"string\"\n\t\t\t\t\t? record.actor_id\n\t\t\t\t\t: undefined,\n\t\tprincipal_id:\n\t\t\ttypeof record.principalId === \"string\"\n\t\t\t\t? record.principalId\n\t\t\t\t: typeof record.principal_id === \"string\"\n\t\t\t\t\t? record.principal_id\n\t\t\t\t\t: undefined,\n\t\ttrace_id:\n\t\t\ttypeof record.traceId === \"string\"\n\t\t\t\t? record.traceId\n\t\t\t\t: typeof record.trace_id === \"string\"\n\t\t\t\t\t? record.trace_id\n\t\t\t\t\t: undefined,\n\t\ttraceparent:\n\t\t\ttypeof record.traceparent === \"string\"\n\t\t\t\t? record.traceparent\n\t\t\t\t: typeof record.trace_parent === \"string\"\n\t\t\t\t\t? record.trace_parent\n\t\t\t\t\t: undefined,\n\t\ttracestate:\n\t\t\ttypeof record.tracestate === \"string\"\n\t\t\t\t? record.tracestate\n\t\t\t\t: typeof record.trace_state === \"string\"\n\t\t\t\t\t? record.trace_state\n\t\t\t\t\t: undefined,\n\t\trequest_id:\n\t\t\ttypeof record.requestId === \"string\"\n\t\t\t\t? record.requestId\n\t\t\t\t: typeof record.request_id === \"string\"\n\t\t\t\t\t? record.request_id\n\t\t\t\t\t: undefined,\n\t\tremote_runner_session_id:\n\t\t\ttypeof record.remoteRunnerSessionId === \"string\"\n\t\t\t\t? record.remoteRunnerSessionId\n\t\t\t\t: typeof record.remote_runner_session_id === \"string\"\n\t\t\t\t\t? record.remote_runner_session_id\n\t\t\t\t\t: undefined,\n\t\tobjective_id:\n\t\t\ttypeof record.objectiveId === \"string\"\n\t\t\t\t? record.objectiveId\n\t\t\t\t: typeof record.objective_id === \"string\"\n\t\t\t\t\t? record.objective_id\n\t\t\t\t\t: undefined,\n\t\tconversation_id:\n\t\t\ttypeof record.conversationId === \"string\"\n\t\t\t\t? record.conversationId\n\t\t\t\t: typeof record.conversation_id === \"string\"\n\t\t\t\t\t? record.conversation_id\n\t\t\t\t\t: undefined,\n\t};\n}\n\nfunction stringMetadata(metadata: unknown, name: string): string | undefined {\n\treturn metadata &&\n\t\ttypeof metadata === \"object\" &&\n\t\t!Array.isArray(metadata) &&\n\t\ttypeof (metadata as Record<string, unknown>)[name] === \"string\"\n\t\t? ((metadata as Record<string, unknown>)[name] as string)\n\t\t: undefined;\n}\n\nfunction stringField(\n\tfields: Record<string, unknown>,\n\tname: string,\n): string | undefined {\n\tconst value = fields[name];\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value\n\t\t: undefined;\n}\n\nfunction numberField(\n\tfields: Record<string, unknown>,\n\tname: string,\n): number | undefined {\n\tconst value = fields[name];\n\treturn typeof value === \"number\" && Number.isFinite(value)\n\t\t? value\n\t\t: undefined;\n}\n\nfunction booleanField(\n\tfields: Record<string, unknown>,\n\tname: string,\n): boolean | undefined {\n\tconst value = fields[name];\n\treturn typeof value === \"boolean\" ? value : undefined;\n}\n\nfunction closeReasonFromMetadata(\n\tmetadata: unknown,\n): MaestroCloseReason | undefined {\n\tconst value =\n\t\tstringMetadata(metadata, \"closeReason\") ??\n\t\tstringMetadata(metadata, \"close_reason\");\n\tswitch (value) {\n\t\tcase \"MAESTRO_CLOSE_REASON_COMPLETED\":\n\t\tcase \"MAESTRO_CLOSE_REASON_USER_STOPPED\":\n\t\tcase \"MAESTRO_CLOSE_REASON_IDLE_TIMEOUT\":\n\t\tcase \"MAESTRO_CLOSE_REASON_TTL_EXPIRED\":\n\t\tcase \"MAESTRO_CLOSE_REASON_ERROR\":\n\t\tcase \"MAESTRO_CLOSE_REASON_POLICY_DENIED\":\n\t\t\treturn value;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction durationFromMs(value: unknown): string | undefined {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value < 0) {\n\t\treturn undefined;\n\t}\n\treturn `${Number((value / 1000).toFixed(3))}s`;\n}\n\nfunction protoSkillOutcomeStatusFromTurnStatus(\n\tstatus: MaestroSkillOutcomeStatus,\n): MaestroSkillOutcomeProtoStatus {\n\tswitch (status) {\n\t\tcase \"success\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_SUCCEEDED\";\n\t\tcase \"aborted\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_CANCELLED\";\n\t\tcase \"evaluation_failed\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_EVALUATION_FAILED\";\n\t\tcase \"rate_limited\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_RATE_LIMITED\";\n\t\tcase \"error\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_FAILED\";\n\t}\n}\n\nfunction sessionEventTypeForMetric(\n\tmetric: unknown,\n): MaestroBusEventType | undefined {\n\tswitch (metric) {\n\t\tcase \"session.count\":\n\t\t\treturn MaestroBusEventType.SessionStarted;\n\t\tcase \"session.duration\":\n\t\t\treturn MaestroBusEventType.SessionClosed;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nexport function recordMaestroSessionEvent(\n\tstate: MaestroSessionState,\n\toptions: {\n\t\tsessionId?: string;\n\t\tmetadata?: Record<string, unknown>;\n\t\tcloseReason?: MaestroCloseReason;\n\t\tcloseMessage?: string;\n\t\tcorrelation?: Partial<MaestroCorrelation>;\n\t\tenv?: Env;\n\t} = {},\n): void {\n\tconst now = new Date().toISOString();\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tconst eventType =\n\t\tstate === \"MAESTRO_SESSION_STATE_CLOSED\"\n\t\t\t? MaestroBusEventType.SessionClosed\n\t\t\t: state === \"MAESTRO_SESSION_STATE_SUSPENDED\"\n\t\t\t\t? MaestroBusEventType.SessionSuspended\n\t\t\t\t: state === \"MAESTRO_SESSION_STATE_RESUMED\"\n\t\t\t\t\t? MaestroBusEventType.SessionResumed\n\t\t\t\t\t: MaestroBusEventType.SessionStarted;\n\tvoid publishMaestroCloudEvent<MaestroSessionEventData>(\n\t\teventType,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(config.defaultCorrelation, {\n\t\t\t\t...options.correlation,\n\t\t\t\tsession_id: options.sessionId ?? options.correlation?.session_id,\n\t\t\t}),\n\t\t\tstate,\n\t\t\tsurface: config.defaultSurface,\n\t\t\truntime_mode: config.defaultRuntimeMode,\n\t\t\tprincipal: config.defaultPrincipal,\n\t\t\tworkspace_root: process.cwd(),\n\t\t\truntime_version: process.env.npm_package_version,\n\t\t\tstarted_at: state === \"MAESTRO_SESSION_STATE_STARTED\" ? now : undefined,\n\t\t\tsuspended_at:\n\t\t\t\tstate === \"MAESTRO_SESSION_STATE_SUSPENDED\" ? now : undefined,\n\t\t\tresumed_at: state === \"MAESTRO_SESSION_STATE_RESUMED\" ? now : undefined,\n\t\t\tclosed_at: state === \"MAESTRO_SESSION_STATE_CLOSED\" ? now : undefined,\n\t\t\tclose_reason: options.closeReason,\n\t\t\tclose_message: options.closeMessage,\n\t\t\tmetadata: options.metadata,\n\t\t},\n\t\t{ env: options.env, time: now },\n\t);\n}\n\nexport function recordMaestroApprovalHit(\n\tevent: RecordMaestroApprovalHitInput,\n): void {\n\tconst occurredAt = event.occurred_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<ApprovalHitEventData>(\n\t\tMaestroBusEventType.ApprovalHit,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tapproval_request_id: event.approval_request_id,\n\t\t\tgovernance_decision_id: event.governance_decision_id,\n\t\t\taction: event.action,\n\t\t\tcommand: event.command,\n\t\t\trisk_level: event.risk_level,\n\t\t\tdecision_mode: event.decision_mode,\n\t\t\tpolicy_id: event.policy_id,\n\t\t\treason: event.reason,\n\t\t\tcontext: event.context,\n\t\t\tmetadata: event.metadata,\n\t\t\toccurred_at: occurredAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: occurredAt },\n\t);\n}\n\nexport function recordMaestroFirewallBlock(\n\tevent: RecordMaestroFirewallBlockInput,\n): void {\n\tconst occurredAt = event.occurred_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<FirewallBlockEventData>(\n\t\tMaestroBusEventType.FirewallBlock,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\trule_id: event.rule_id,\n\t\t\toperation: event.operation,\n\t\t\ttarget: event.target,\n\t\t\tprotocol: event.protocol,\n\t\t\tport: event.port,\n\t\t\treason: event.reason,\n\t\t\tcontext: event.context,\n\t\t\toccurred_at: occurredAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: occurredAt },\n\t);\n}\n\nexport function recordMaestroToolCallAttempt(\n\tevent: RecordMaestroToolCallAttemptInput,\n): void {\n\tconst attemptedAt = event.attempted_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<ToolCallAttemptEventData>(\n\t\tMaestroBusEventType.ToolCallAttempted,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\ttool_namespace: event.tool_namespace,\n\t\t\ttool_name: event.tool_name,\n\t\t\ttool_version: event.tool_version,\n\t\t\tcapability: event.capability,\n\t\t\tconnector_id: event.connector_id,\n\t\t\tmutates_resource: event.mutates_resource,\n\t\t\trisk_level: event.risk_level,\n\t\t\tsafe_arguments: event.safe_arguments,\n\t\t\tredactions: event.redactions,\n\t\t\tidempotency_key: event.idempotency_key,\n\t\t\tmetadata: event.metadata,\n\t\t\tattempted_at: attemptedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: attemptedAt },\n\t);\n}\n\nexport function recordMaestroToolCallCompleted(\n\tevent: RecordMaestroToolCallCompletedInput,\n): void {\n\tconst completedAt = event.completed_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<ToolCallResultEventData>(\n\t\tMaestroBusEventType.ToolCallCompleted,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\tapproval_request_id: event.approval_request_id,\n\t\t\tgoverned_outcome: event.governed_outcome,\n\t\t\tstatus: event.status,\n\t\t\tduration: event.duration,\n\t\t\tsafe_output: event.safe_output,\n\t\t\tredactions: event.redactions,\n\t\t\terror_code: event.error_code,\n\t\t\terror_message: event.error_message,\n\t\t\tmetadata: event.metadata,\n\t\t\tcompleted_at: completedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: completedAt },\n\t);\n}\n\nexport function recordMaestroPromptVariantSelected(\n\tevent: RecordMaestroPromptVariantSelectedInput,\n): void {\n\tconst selectedAt = event.selected_at ?? new Date().toISOString();\n\tconst promptID = event.prompt_id ?? event.prompt_metadata.name;\n\tconst promptName = event.prompt_name ?? event.prompt_metadata.name;\n\tconst versionID =\n\t\tevent.version_id ??\n\t\tevent.prompt_metadata.versionId ??\n\t\tevent.prompt_metadata.hash;\n\tvoid publishMaestroCloudEvent<PromptVariantSelectedEventData>(\n\t\tMaestroBusEventType.PromptVariantSelected,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tprompt_id: promptID,\n\t\t\tprompt_name: promptName,\n\t\t\tversion_id: versionID,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tselected_at: selectedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: selectedAt },\n\t);\n}\n\nexport function recordMaestroLearnedContext(\n\tevent: RecordMaestroLearnedContextInput,\n): void {\n\tconst learnedAt = event.learned_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<MaestroLearnedContextEventData>(\n\t\tMaestroBusEventType.ContextLearned,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tlearning_id: event.learning_id,\n\t\t\tsubject_thing_id: event.subject_thing_id,\n\t\t\tsubject_key: event.subject_key,\n\t\t\tstatement: event.statement,\n\t\t\tdimension: event.dimension,\n\t\t\tconfidence_score: event.confidence_score,\n\t\t\tconfidence_reason: event.confidence_reason,\n\t\t\tevidence: event.evidence,\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tlearned_at: learnedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: learnedAt },\n\t);\n}\n\nexport function recordMaestroSkillInvoked(\n\tevent: RecordMaestroSkillInvokedInput,\n): void {\n\tconst invokedAt = event.invoked_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<SkillInvocationEventData>(\n\t\tMaestroBusEventType.SkillInvoked,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\tinvocation_id: event.invocation_id,\n\t\t\tskill_id: event.skill_id ?? event.skill_metadata.artifactId,\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tinvoked_at: invokedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: invokedAt },\n\t);\n}\n\nexport function recordMaestroSkillOutcome(\n\tevent: RecordMaestroSkillOutcomeInput,\n): void {\n\tconst outcomeAt = event.outcome_at ?? new Date().toISOString();\n\tconst eventType =\n\t\tevent.turn_status === \"success\"\n\t\t\t? MaestroBusEventType.SkillSucceeded\n\t\t\t: MaestroBusEventType.SkillFailed;\n\tvoid publishMaestroCloudEvent<SkillOutcomeEventData>(\n\t\teventType,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\tinvocation_id: event.invocation_id,\n\t\t\tskill_id: event.skill_id ?? event.skill_metadata.artifactId,\n\t\t\tstatus:\n\t\t\t\tevent.status ??\n\t\t\t\tprotoSkillOutcomeStatusFromTurnStatus(event.turn_status),\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tturn_status: event.turn_status,\n\t\t\terror_category: event.error_category,\n\t\t\terror_message: event.error_message,\n\t\t\tevaluation_tool_name: event.evaluation_tool_name,\n\t\t\tevaluation_tool_call_id: event.evaluation_tool_call_id,\n\t\t\tevaluation_tool_execution_id: event.evaluation_tool_execution_id,\n\t\t\tevaluation_score: event.evaluation_score,\n\t\t\tevaluation_threshold: event.evaluation_threshold,\n\t\t\tevaluation_assertion_count: event.evaluation_assertion_count,\n\t\t\tevaluation_rationale: event.evaluation_rationale,\n\t\t\tstop_reason: event.stop_reason,\n\t\t\tmetadata: event.metadata,\n\t\t\toutcome_at: outcomeAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: outcomeAt },\n\t);\n}\n\nexport function recordMaestroSubagentDispatch(\n\tevent: RecordMaestroSubagentDispatchInput,\n): void {\n\tconst dispatchedAt = event.dispatched_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<SubagentDispatchEventData>(\n\t\tMaestroBusEventType.SubagentDispatched,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tdispatch_id:\n\t\t\t\tevent.dispatch_id ??\n\t\t\t\t`${event.mode}:${event.subagent_type}:${dispatchedAt}`,\n\t\t\tmode: event.mode,\n\t\t\tsubagent_type: event.subagent_type,\n\t\t\tmodel: event.model,\n\t\t\tprovider: event.provider,\n\t\t\treasoning_effort: event.reasoning_effort,\n\t\t\tsource: event.source,\n\t\t\tsuccess: event.success,\n\t\t\tlatency_ms: event.latency_ms ?? 0,\n\t\t\tparent_mode: event.parent_mode,\n\t\t\tparent_model_provider: event.parent_model_provider,\n\t\t\tswarm_id: event.swarm_id,\n\t\t\ttask_id: event.task_id,\n\t\t\tteammate_id: event.teammate_id,\n\t\t\treason: event.reason,\n\t\t\tmetadata: event.metadata,\n\t\t\tdispatched_at: dispatchedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: dispatchedAt },\n\t);\n}\n\nexport function recordMaestroEvalScored(\n\tevent: RecordMaestroEvalScoredInput,\n): void {\n\tconst scoredAt = event.scored_at ?? new Date().toISOString();\n\tconst evalRunID =\n\t\tevent.eval_run_id ?? event.tool_execution_id ?? event.tool_call_id;\n\tconst scenarioID =\n\t\tevent.scenario_id ??\n\t\tevent.skill_metadata?.artifactId ??\n\t\tevent.skill_metadata?.name ??\n\t\tevent.tool_name ??\n\t\tevent.tool_call_id;\n\tvoid publishMaestroCloudEvent<EvalScoredEventData>(\n\t\tMaestroBusEventType.EvalScored,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\teval_run_id: evalRunID,\n\t\t\tscenario_id: scenarioID,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\ttool_name: event.tool_name,\n\t\t\tscore: event.score,\n\t\t\tthreshold: event.threshold,\n\t\t\tpassed: event.passed,\n\t\t\tscorer: event.scorer,\n\t\t\trationale: event.rationale,\n\t\t\tassertion_count: event.assertion_count,\n\t\t\tscored_at: scoredAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: scoredAt },\n\t);\n}\n\nexport async function mirrorTelemetryToMaestroEventBus(\n\tevent: MaestroTelemetryMirrorEvent,\n): Promise<void> {\n\tconst fields = event as Record<string, unknown>;\n\tif (event.type === \"sandbox-violation\") {\n\t\tconst path = typeof fields.path === \"string\" ? fields.path : undefined;\n\t\tawait publishMaestroCloudEvent<SandboxViolationEventData>(\n\t\t\tMaestroBusEventType.SandboxViolation,\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tresolveMaestroEventBusConfig().defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(fields.metadata),\n\t\t\t\t),\n\t\t\t\toperation: String(fields.action ?? fields.tool ?? \"unknown\"),\n\t\t\t\tresource: path ?? String(fields.command ?? fields.tool ?? \"unknown\"),\n\t\t\t\tattempted_path: path,\n\t\t\t\treason: typeof fields.reason === \"string\" ? fields.reason : undefined,\n\t\t\t\tcontext: contextFromMetadata(fields.metadata, {\n\t\t\t\t\ttool: fields.tool,\n\t\t\t\t\tcommand: fields.command,\n\t\t\t\t\tevent: fields.event,\n\t\t\t\t}),\n\t\t\t\toccurred_at: event.timestamp,\n\t\t\t},\n\t\t\t{ time: event.timestamp },\n\t\t);\n\t\treturn;\n\t}\n\n\tif (event.type === \"subagent-dispatch\") {\n\t\tconst metadata = fields.metadata;\n\t\tconst mode = stringField(fields, \"mode\") ?? \"unknown\";\n\t\tconst subagentType =\n\t\t\tstringField(fields, \"subagentType\") ??\n\t\t\tstringMetadata(metadata, \"subagent_type\") ??\n\t\t\tstringMetadata(metadata, \"subagentType\") ??\n\t\t\t\"unknown\";\n\t\tconst dispatchedAt = event.timestamp;\n\t\tawait publishMaestroCloudEvent<SubagentDispatchEventData>(\n\t\t\tMaestroBusEventType.SubagentDispatched,\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tresolveMaestroEventBusConfig().defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(metadata),\n\t\t\t\t),\n\t\t\t\tdispatch_id:\n\t\t\t\t\tstringMetadata(metadata, \"dispatchId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"dispatch_id\") ??\n\t\t\t\t\t`${mode}:${subagentType}:${dispatchedAt}`,\n\t\t\t\tmode,\n\t\t\t\tsubagent_type: subagentType,\n\t\t\t\tmodel: stringField(fields, \"model\") ?? \"unknown\",\n\t\t\t\tprovider: stringField(fields, \"provider\") ?? \"unknown\",\n\t\t\t\treasoning_effort: stringField(fields, \"reasoningEffort\") ?? \"unknown\",\n\t\t\t\tsource: stringField(fields, \"source\"),\n\t\t\t\tsuccess: booleanField(fields, \"success\") ?? false,\n\t\t\t\tlatency_ms: numberField(fields, \"latencyMs\") ?? 0,\n\t\t\t\tparent_mode:\n\t\t\t\t\tstringMetadata(metadata, \"parentMode\") ??\n\t\t\t\t\tstringMetadata(metadata, \"parent_mode\"),\n\t\t\t\tparent_model_provider:\n\t\t\t\t\tstringMetadata(metadata, \"parentModelProvider\") ??\n\t\t\t\t\tstringMetadata(metadata, \"parent_model_provider\"),\n\t\t\t\tswarm_id:\n\t\t\t\t\tstringMetadata(metadata, \"swarmId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"swarm_id\"),\n\t\t\t\ttask_id:\n\t\t\t\t\tstringMetadata(metadata, \"taskId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"task_id\"),\n\t\t\t\tteammate_id:\n\t\t\t\t\tstringMetadata(metadata, \"teammateId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"teammate_id\"),\n\t\t\t\treason:\n\t\t\t\t\tstringMetadata(metadata, \"reason\") ??\n\t\t\t\t\tstringMetadata(metadata, \"failureReason\") ??\n\t\t\t\t\tstringMetadata(metadata, \"failure_reason\"),\n\t\t\t\tmetadata: contextFromMetadata(metadata),\n\t\t\t\tdispatched_at: dispatchedAt,\n\t\t\t},\n\t\t\t{ time: dispatchedAt },\n\t\t);\n\t\treturn;\n\t}\n\n\tif (event.type === \"business-metric\") {\n\t\tconst eventType = sessionEventTypeForMetric(fields.metric);\n\t\tif (!eventType) return;\n\t\tconst config = resolveMaestroEventBusConfig();\n\t\tawait publishMaestroCloudEvent<MaestroSessionEventData>(\n\t\t\teventType,\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tconfig.defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(fields.metadata),\n\t\t\t\t),\n\t\t\t\tstate:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? \"MAESTRO_SESSION_STATE_CLOSED\"\n\t\t\t\t\t\t: \"MAESTRO_SESSION_STATE_STARTED\",\n\t\t\t\tsurface: config.defaultSurface,\n\t\t\t\truntime_mode: config.defaultRuntimeMode,\n\t\t\t\tprincipal: config.defaultPrincipal,\n\t\t\t\tworkspace_root: process.cwd(),\n\t\t\t\truntime_version: process.env.npm_package_version,\n\t\t\t\tstarted_at:\n\t\t\t\t\teventType === MaestroBusEventType.SessionStarted\n\t\t\t\t\t\t? event.timestamp\n\t\t\t\t\t\t: undefined,\n\t\t\t\tclosed_at:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? event.timestamp\n\t\t\t\t\t\t: undefined,\n\t\t\t\tclose_reason:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? (closeReasonFromMetadata(fields.metadata) ??\n\t\t\t\t\t\t\t\"MAESTRO_CLOSE_REASON_COMPLETED\")\n\t\t\t\t\t\t: undefined,\n\t\t\t\tclose_message:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? (stringMetadata(fields.metadata, \"closeMessage\") ??\n\t\t\t\t\t\t\tstringMetadata(fields.metadata, \"close_message\"))\n\t\t\t\t\t\t: undefined,\n\t\t\t\tmetadata: contextFromMetadata(fields.metadata, {\n\t\t\t\t\tvalue: fields.value,\n\t\t\t\t\tmetric: fields.metric,\n\t\t\t\t}),\n\t\t\t},\n\t\t\t{ time: event.timestamp },\n\t\t);\n\t\treturn;\n\t}\n\n\tif (event.type === \"tool-execution\") {\n\t\tconst metadata = fields.metadata;\n\t\tawait publishMaestroCloudEvent<ToolCallResultEventData>(\n\t\t\tMaestroBusEventType.ToolCallCompleted,\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tresolveMaestroEventBusConfig().defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(metadata),\n\t\t\t\t),\n\t\t\t\ttool_call_id:\n\t\t\t\t\tstringMetadata(metadata, \"toolCallId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"tool_call_id\") ??\n\t\t\t\t\t`${String(fields.toolName ?? \"tool\")}:${event.timestamp}`,\n\t\t\t\tstatus: fields.success\n\t\t\t\t\t? \"MAESTRO_TOOL_CALL_STATUS_SUCCEEDED\"\n\t\t\t\t\t: \"MAESTRO_TOOL_CALL_STATUS_FAILED\",\n\t\t\t\tduration: durationFromMs(fields.durationMs),\n\t\t\t\terror_message: fields.success\n\t\t\t\t\t? undefined\n\t\t\t\t\t: stringMetadata(metadata, \"error\"),\n\t\t\t\tcompleted_at: event.timestamp,\n\t\t\t},\n\t\t\t{ time: event.timestamp },\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"maestro-event-bus.js","sourceRoot":"","sources":["../../src/telemetry/maestro-event-bus.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\nimport { randomUUID } from \"node:crypto\";\nimport type { JetStreamClient, NatsConnection } from \"nats\";\nimport {\n\tareMaestroPlatformEventsDisabled,\n\tisFeatureFlagSnapshotConfigured,\n\tisMaestroPlatformEventsPublisherEnabled,\n} from \"../config/feature-flags.js\";\nimport {\n\ttype EvalOpsManagedContext,\n\tresolveManagedEvalOpsContext,\n} from \"../evalops/managed-context.js\";\nimport type { PromptMetadata } from \"../prompts/types.js\";\nimport type { SkillArtifactMetadata } from \"../skills/artifact-metadata.js\";\nimport { isInternalTelemetryDisabled } from \"./disablement.js\";\nimport {\n\tMaestroBusEventType,\n\tgetMaestroBusEventCatalogEntry,\n} from \"./maestro-event-catalog.js\";\nexport { MaestroBusEventType } from \"./maestro-event-catalog.js\";\n\ntype Env = NodeJS.ProcessEnv;\n\nexport type MaestroSurface =\n\t| \"MAESTRO_SURFACE_CLI\"\n\t| \"MAESTRO_SURFACE_TUI\"\n\t| \"MAESTRO_SURFACE_WEB\"\n\t| \"MAESTRO_SURFACE_IDE\"\n\t| \"MAESTRO_SURFACE_GITHUB_AGENT\"\n\t| \"MAESTRO_SURFACE_DESKTOP\"\n\t| \"MAESTRO_SURFACE_REMOTE_RUNNER\";\n\nexport type MaestroRuntimeMode =\n\t| \"MAESTRO_RUNTIME_MODE_LOCAL\"\n\t| \"MAESTRO_RUNTIME_MODE_HEADLESS\"\n\t| \"MAESTRO_RUNTIME_MODE_HOSTED\"\n\t| \"MAESTRO_RUNTIME_MODE_REMOTE_ATTACHED\";\n\nexport type MaestroSessionState =\n\t| \"MAESTRO_SESSION_STATE_STARTED\"\n\t| \"MAESTRO_SESSION_STATE_SUSPENDED\"\n\t| \"MAESTRO_SESSION_STATE_RESUMED\"\n\t| \"MAESTRO_SESSION_STATE_CLOSED\";\n\nexport type MaestroCloseReason =\n\t| \"MAESTRO_CLOSE_REASON_COMPLETED\"\n\t| \"MAESTRO_CLOSE_REASON_USER_STOPPED\"\n\t| \"MAESTRO_CLOSE_REASON_IDLE_TIMEOUT\"\n\t| \"MAESTRO_CLOSE_REASON_TTL_EXPIRED\"\n\t| \"MAESTRO_CLOSE_REASON_ERROR\"\n\t| \"MAESTRO_CLOSE_REASON_POLICY_DENIED\";\n\nexport type MaestroDecisionMode =\n\t| \"MAESTRO_DECISION_MODE_ALLOW\"\n\t| \"MAESTRO_DECISION_MODE_REQUIRE_APPROVAL\"\n\t| \"MAESTRO_DECISION_MODE_DENY\"\n\t| \"MAESTRO_DECISION_MODE_AUTO_APPROVED\";\n\nexport type MaestroToolCallStatus =\n\t| \"MAESTRO_TOOL_CALL_STATUS_SUCCEEDED\"\n\t| \"MAESTRO_TOOL_CALL_STATUS_FAILED\"\n\t| \"MAESTRO_TOOL_CALL_STATUS_DENIED\"\n\t| \"MAESTRO_TOOL_CALL_STATUS_CANCELLED\";\n\nexport type MaestroSkillOutcomeProtoStatus =\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_SUCCEEDED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_FAILED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_DENIED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_CANCELLED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_EVALUATION_FAILED\"\n\t| \"MAESTRO_SKILL_OUTCOME_STATUS_RATE_LIMITED\";\n\nexport interface MaestroCorrelation {\n\torganization_id?: string;\n\tuser_id?: string;\n\tworkspace_id: string;\n\tsession_id: string;\n\tagent_run_id?: string;\n\tagent_run_step_id?: string;\n\tagent_id?: string;\n\tactor_id?: string;\n\tprincipal_id?: string;\n\ttrace_id?: string;\n\ttraceparent?: string;\n\ttracestate?: string;\n\trequest_id?: string;\n\tparent_event_id?: string;\n\tremote_runner_session_id?: string;\n\tobjective_id?: string;\n\tconversation_id?: string;\n\tattributes?: Record<string, string>;\n}\n\nexport interface MaestroPrincipal {\n\tsubject: string;\n\tuser_id?: string;\n\torganization_id?: string;\n\tworkspace_id?: string;\n\troles?: string[];\n\tscopes?: string[];\n\tclaims?: Record<string, string>;\n}\n\nexport interface MaestroCloudEvent<TData extends Record<string, unknown>> {\n\tspec_version: \"1.0\";\n\tid: string;\n\ttype: MaestroBusEventType;\n\tsource: string;\n\tsubject: string;\n\ttime: string;\n\tdata_content_type: \"application/protobuf\";\n\ttenant_id?: string;\n\tdata: TData & { \"@type\": string };\n\textensions: {\n\t\tdataschema: string;\n\t\tevalops_context_version: \"evalops.context.v1\";\n\t\t[key: string]: string;\n\t};\n}\n\nexport interface MaestroSessionEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tstate: MaestroSessionState;\n\tsurface: MaestroSurface;\n\truntime_mode: MaestroRuntimeMode;\n\tprincipal?: MaestroPrincipal;\n\tworkspace_root?: string;\n\trepository?: string;\n\tgit_ref?: string;\n\truntime_version?: string;\n\trunner_profile?: string;\n\tstarted_at?: string;\n\tsuspended_at?: string;\n\tresumed_at?: string;\n\tclosed_at?: string;\n\tclose_reason?: MaestroCloseReason;\n\tclose_message?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface ApprovalHitEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tapproval_request_id?: string;\n\tgovernance_decision_id?: string;\n\taction: string;\n\tcommand?: string;\n\trisk_level?: string;\n\tdecision_mode: MaestroDecisionMode;\n\tpolicy_id?: string;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\tmetadata?: Record<string, unknown>;\n\toccurred_at: string;\n}\n\nexport interface SandboxViolationEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tpolicy_id?: string;\n\toperation: string;\n\tresource: string;\n\tworkspace_root?: string;\n\tattempted_path?: string;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\toccurred_at: string;\n}\n\nexport interface FirewallBlockEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\trule_id?: string;\n\toperation: string;\n\ttarget: string;\n\tprotocol?: string;\n\tport?: number;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\toccurred_at: string;\n}\n\nexport interface ToolCallAttemptEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_namespace?: string;\n\ttool_name: string;\n\ttool_version?: string;\n\tcapability?: string;\n\tconnector_id?: string;\n\tmutates_resource?: boolean;\n\trisk_level?: string;\n\tsafe_arguments?: Record<string, unknown>;\n\tredactions?: string[];\n\tidempotency_key?: string;\n\tmetadata?: Record<string, unknown>;\n\tattempted_at: string;\n}\n\nexport interface ToolCallResultEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\tapproval_request_id?: string;\n\tgoverned_outcome?: string;\n\tstatus: MaestroToolCallStatus;\n\tduration?: string;\n\tsafe_output?: Record<string, unknown>;\n\tredactions?: string[];\n\terror_code?: string;\n\terror_message?: string;\n\tmetadata?: Record<string, unknown>;\n\tcompleted_at: string;\n}\n\nexport interface MaestroEventBusConfig {\n\tenabled: boolean;\n\treason: string;\n\tnatsUrl?: string;\n\tnatsToken?: string;\n\tnatsUser?: string;\n\tnatsPassword?: string;\n\tsource: string;\n\ttenantId?: string;\n\tdefaultSurface: MaestroSurface;\n\tdefaultRuntimeMode: MaestroRuntimeMode;\n\tdefaultCorrelation: MaestroCorrelation;\n\tdefaultPrincipal?: MaestroPrincipal;\n}\n\nexport interface MaestroEventBusStatus {\n\tenabled: boolean;\n\treason: string;\n\tnatsUrl?: string;\n\tsource: string;\n\ttenantId?: string;\n\tdefaultSurface: MaestroSurface;\n\tdefaultRuntimeMode: MaestroRuntimeMode;\n}\n\nexport interface PromptVariantSelectedEventData\n\textends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tprompt_id: string;\n\tprompt_name: string;\n\tversion_id: string;\n\tprompt_metadata: PromptMetadata;\n\tselected_at: string;\n}\n\nexport interface MaestroLearnedContextEvidence extends Record<string, unknown> {\n\tsource: string;\n\tsource_id?: string;\n\turi?: string;\n\texcerpt?: string;\n}\n\nexport interface MaestroLearnedContextEventData\n\textends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tlearning_id: string;\n\tsubject_thing_id?: string;\n\tsubject_key?: string;\n\tstatement: string;\n\tdimension: string;\n\tconfidence_score: number;\n\tconfidence_reason: string;\n\tevidence: MaestroLearnedContextEvidence[];\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tlearned_at: string;\n}\n\nexport interface SkillInvocationEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tinvoked_at: string;\n}\n\nexport type MaestroSkillOutcomeStatus =\n\t| \"success\"\n\t| \"error\"\n\t| \"aborted\"\n\t| \"evaluation_failed\"\n\t| \"rate_limited\";\n\nexport interface SkillOutcomeEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\tstatus?: MaestroSkillOutcomeProtoStatus;\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tturn_status: MaestroSkillOutcomeStatus;\n\terror_category?: string;\n\terror_message?: string;\n\tevaluation_tool_name?: string;\n\tevaluation_tool_call_id?: string;\n\tevaluation_tool_execution_id?: string;\n\tevaluation_score?: number;\n\tevaluation_threshold?: number;\n\tevaluation_assertion_count?: number;\n\tevaluation_rationale?: string;\n\tstop_reason?: string;\n\tmetadata?: Record<string, unknown>;\n\toutcome_at: string;\n}\n\nexport interface EvalScoredEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\teval_run_id: string;\n\tscenario_id: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\ttool_name?: string;\n\tscore?: number;\n\tthreshold?: number;\n\tpassed?: boolean;\n\tscorer?: string;\n\trationale?: string;\n\tassertion_count?: number;\n\tscored_at: string;\n}\n\nexport interface SubagentDispatchEventData extends Record<string, unknown> {\n\tcorrelation: MaestroCorrelation;\n\tdispatch_id: string;\n\tmode: string;\n\tsubagent_type: string;\n\tmodel: string;\n\tprovider: string;\n\treasoning_effort: string;\n\tsource?: string;\n\tsuccess: boolean;\n\tlatency_ms: number;\n\tparent_mode?: string;\n\tparent_model_provider?: string;\n\tswarm_id?: string;\n\ttask_id?: string;\n\tteammate_id?: string;\n\treason?: string;\n\tmetadata?: Record<string, unknown>;\n\tdispatched_at: string;\n}\n\nexport interface MaestroEventBusTransport {\n\tpublish(subject: string, payload: string): Promise<void>;\n\tclose?(): Promise<void>;\n}\n\nexport interface PublishMaestroEventOptions {\n\tenv?: Env;\n\teventId?: string;\n\tsource?: string;\n\tsubject?: string;\n\ttenantId?: string;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tprincipal?: MaestroPrincipal | null;\n\ttime?: string | Date;\n}\n\nexport type MaestroTelemetryMirrorEvent = {\n\ttype: string;\n\ttimestamp: string;\n};\n\nexport interface RecordMaestroApprovalHitInput {\n\tevent_id?: string;\n\tapproval_request_id?: string;\n\tgovernance_decision_id?: string;\n\taction: string;\n\tcommand?: string;\n\trisk_level?: string;\n\tdecision_mode: MaestroDecisionMode;\n\tpolicy_id?: string;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toccurred_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroFirewallBlockInput {\n\tevent_id?: string;\n\trule_id?: string;\n\toperation: string;\n\ttarget: string;\n\tprotocol?: string;\n\tport?: number;\n\treason?: string;\n\tcontext?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toccurred_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroToolCallAttemptInput {\n\tevent_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_namespace?: string;\n\ttool_name: string;\n\ttool_version?: string;\n\tcapability?: string;\n\tconnector_id?: string;\n\tmutates_resource?: boolean;\n\trisk_level?: string;\n\tsafe_arguments?: Record<string, unknown>;\n\tredactions?: string[];\n\tidempotency_key?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tattempted_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroToolCallCompletedInput {\n\tevent_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\tapproval_request_id?: string;\n\tgoverned_outcome?: string;\n\tstatus: MaestroToolCallStatus;\n\tduration?: string;\n\tsafe_output?: Record<string, unknown>;\n\tredactions?: string[];\n\terror_code?: string;\n\terror_message?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tcompleted_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroPromptVariantSelectedInput {\n\tevent_id?: string;\n\tprompt_id?: string;\n\tprompt_name?: string;\n\tversion_id?: string;\n\tprompt_metadata: PromptMetadata;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tselected_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroLearnedContextInput {\n\tevent_id?: string;\n\tlearning_id: string;\n\tsubject_thing_id?: string;\n\tsubject_key?: string;\n\tstatement: string;\n\tdimension: string;\n\tconfidence_score: number;\n\tconfidence_reason: string;\n\tevidence: MaestroLearnedContextEvidence[];\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tlearned_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroSkillInvokedInput {\n\tevent_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tinvoked_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroSkillOutcomeInput {\n\tevent_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata: SkillArtifactMetadata;\n\tinvocation_id?: string;\n\tskill_id?: string;\n\tstatus?: MaestroSkillOutcomeProtoStatus;\n\ttool_call_id?: string;\n\ttool_execution_id?: string;\n\tturn_status: MaestroSkillOutcomeStatus;\n\terror_category?: string;\n\terror_message?: string;\n\tevaluation_tool_name?: string;\n\tevaluation_tool_call_id?: string;\n\tevaluation_tool_execution_id?: string;\n\tevaluation_score?: number;\n\tevaluation_threshold?: number;\n\tevaluation_assertion_count?: number;\n\tevaluation_rationale?: string;\n\tstop_reason?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toutcome_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroEvalScoredInput {\n\tevent_id?: string;\n\teval_run_id?: string;\n\tscenario_id?: string;\n\tprompt_metadata?: PromptMetadata;\n\tskill_metadata?: SkillArtifactMetadata;\n\ttool_call_id: string;\n\ttool_execution_id?: string;\n\ttool_name?: string;\n\tscore?: number;\n\tthreshold?: number;\n\tpassed?: boolean;\n\tscorer?: string;\n\trationale?: string;\n\tassertion_count?: number;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tscored_at?: string;\n\tenv?: Env;\n}\n\nexport interface RecordMaestroSubagentDispatchInput {\n\tevent_id?: string;\n\tdispatch_id?: string;\n\tmode: string;\n\tsubagent_type: string;\n\tmodel: string;\n\tprovider: string;\n\treasoning_effort: string;\n\tsource?: string;\n\tsuccess: boolean;\n\tlatency_ms?: number;\n\tparent_mode?: string;\n\tparent_model_provider?: string;\n\tswarm_id?: string;\n\ttask_id?: string;\n\tteammate_id?: string;\n\treason?: string;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\tdispatched_at?: string;\n\tenv?: Env;\n}\n\nlet transportOverride: MaestroEventBusTransport | null | undefined;\nconst scopedTransportOverride =\n\tnew AsyncLocalStorage<MaestroEventBusTransport | null>();\nlet natsTransportPromise:\n\t| Promise<{ key: string; transport: MaestroEventBusTransport }>\n\t| undefined;\n\nfunction readEnv(env: Env, names: readonly string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = env[name]?.trim();\n\t\tif (value) return value;\n\t}\n\treturn undefined;\n}\n\nfunction readBoolean(value: string | undefined): boolean | undefined {\n\tif (!value) return undefined;\n\tswitch (value.toLowerCase()) {\n\t\tcase \"1\":\n\t\tcase \"true\":\n\t\tcase \"yes\":\n\t\tcase \"on\":\n\t\t\treturn true;\n\t\tcase \"0\":\n\t\tcase \"false\":\n\t\tcase \"no\":\n\t\tcase \"off\":\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction readStringRecord(\n\tenv: Env,\n\tprefix: string,\n): Record<string, string> | undefined {\n\tconst output: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(env)) {\n\t\tif (!key.startsWith(prefix) || typeof value !== \"string\" || !value.trim()) {\n\t\t\tcontinue;\n\t\t}\n\t\toutput[key.slice(prefix.length).toLowerCase()] = value.trim();\n\t}\n\treturn Object.keys(output).length > 0 ? output : undefined;\n}\n\nfunction normalizeSurface(value: string | undefined): MaestroSurface {\n\tswitch (value?.toLowerCase()) {\n\t\tcase \"cli\":\n\t\t\treturn \"MAESTRO_SURFACE_CLI\";\n\t\tcase \"web\":\n\t\t\treturn \"MAESTRO_SURFACE_WEB\";\n\t\tcase \"ide\":\n\t\tcase \"vscode\":\n\t\tcase \"jetbrains\":\n\t\t\treturn \"MAESTRO_SURFACE_IDE\";\n\t\tcase \"github\":\n\t\tcase \"github-agent\":\n\t\t\treturn \"MAESTRO_SURFACE_GITHUB_AGENT\";\n\t\tcase \"desktop\":\n\t\t\treturn \"MAESTRO_SURFACE_DESKTOP\";\n\t\tcase \"remote\":\n\t\tcase \"remote-runner\":\n\t\t\treturn \"MAESTRO_SURFACE_REMOTE_RUNNER\";\n\t\tdefault:\n\t\t\treturn \"MAESTRO_SURFACE_TUI\";\n\t}\n}\n\nfunction normalizeRuntimeMode(value: string | undefined): MaestroRuntimeMode {\n\tswitch (value?.toLowerCase()) {\n\t\tcase \"headless\":\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_HEADLESS\";\n\t\tcase \"hosted\":\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_HOSTED\";\n\t\tcase \"remote\":\n\t\tcase \"remote-attached\":\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_REMOTE_ATTACHED\";\n\t\tdefault:\n\t\t\treturn \"MAESTRO_RUNTIME_MODE_LOCAL\";\n\t}\n}\n\nfunction defaultCorrelation(\n\tenv: Env,\n\tmanagedContext: EvalOpsManagedContext,\n): MaestroCorrelation {\n\tconst workspaceId = managedContext.workspaceId ?? env.PWD ?? process.cwd();\n\tconst sessionId = readEnv(env, [\"MAESTRO_SESSION_ID\"]) ?? \"unknown\";\n\n\treturn {\n\t\torganization_id: managedContext.organizationId,\n\t\tuser_id: managedContext.userId,\n\t\tworkspace_id: workspaceId,\n\t\tsession_id: sessionId,\n\t\tagent_run_id: managedContext.runId,\n\t\tagent_run_step_id: readEnv(env, [\"MAESTRO_AGENT_RUN_STEP_ID\"]),\n\t\tagent_id: managedContext.agentId,\n\t\tactor_id: readEnv(env, [\"MAESTRO_ACTOR_ID\"]),\n\t\tprincipal_id: readEnv(env, [\"MAESTRO_PRINCIPAL_ID\"]),\n\t\ttrace_id: readEnv(env, [\"TRACE_ID\", \"OTEL_TRACE_ID\"]),\n\t\ttraceparent: readEnv(env, [\"TRACEPARENT\", \"TRACE_PARENT\"]),\n\t\ttracestate: readEnv(env, [\"TRACESTATE\", \"TRACE_STATE\"]),\n\t\trequest_id: readEnv(env, [\"MAESTRO_REQUEST_ID\"]),\n\t\tremote_runner_session_id: readEnv(env, [\n\t\t\t\"MAESTRO_REMOTE_RUNNER_SESSION_ID\",\n\t\t]),\n\t\tobjective_id: readEnv(env, [\"MAESTRO_OBJECTIVE_ID\"]),\n\t\tconversation_id: readEnv(env, [\"MAESTRO_CONVERSATION_ID\"]),\n\t\tattributes: readStringRecord(env, \"MAESTRO_EVENT_BUS_ATTR_\"),\n\t};\n}\n\nfunction defaultPrincipal(\n\tenv: Env,\n\tmanagedContext: EvalOpsManagedContext,\n): MaestroPrincipal | undefined {\n\tconst subject = readEnv(env, [\n\t\t\"MAESTRO_PRINCIPAL_SUBJECT\",\n\t\t\"MAESTRO_USER_SUBJECT\",\n\t\t\"USER\",\n\t]);\n\tif (!subject) return undefined;\n\treturn {\n\t\tsubject,\n\t\tuser_id: managedContext.userId,\n\t\torganization_id: managedContext.organizationId,\n\t\tworkspace_id: managedContext.workspaceId,\n\t\troles: readEnv(env, [\"MAESTRO_PRINCIPAL_ROLES\"])\n\t\t\t?.split(\",\")\n\t\t\t.map((role) => role.trim())\n\t\t\t.filter(Boolean),\n\t\tscopes: readEnv(env, [\"MAESTRO_PRINCIPAL_SCOPES\"])\n\t\t\t?.split(\",\")\n\t\t\t.map((scope) => scope.trim())\n\t\t\t.filter(Boolean),\n\t\tclaims: readStringRecord(env, \"MAESTRO_PRINCIPAL_CLAIM_\"),\n\t};\n}\n\nfunction resolveEventBusFeatureGate(\n\tenv: Env,\n\tmanagedContext: EvalOpsManagedContext,\n): {\n\tallowed: boolean;\n\treason?: string;\n} {\n\tif (!isFeatureFlagSnapshotConfigured(env)) {\n\t\treturn { allowed: true };\n\t}\n\tif (!managedContext.managed) {\n\t\treturn { allowed: true };\n\t}\n\tif (areMaestroPlatformEventsDisabled(env)) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: \"platform events kill switch enabled\",\n\t\t};\n\t}\n\tif (!isMaestroPlatformEventsPublisherEnabled(env)) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: \"platform events rollout disabled\",\n\t\t};\n\t}\n\treturn { allowed: true };\n}\n\nexport function resolveMaestroEventBusConfig(\n\tenv: Env = process.env,\n): MaestroEventBusConfig {\n\tconst managedContext = resolveManagedEvalOpsContext(env);\n\tconst internalTelemetryDisabled = isInternalTelemetryDisabled(env);\n\tconst flag = readBoolean(\n\t\treadEnv(env, [\"MAESTRO_EVENT_BUS\", \"MAESTRO_AUDIT_BUS\"]),\n\t);\n\tconst natsUrl = readEnv(env, [\n\t\t\"MAESTRO_EVENT_BUS_URL\",\n\t\t\"EVALOPS_NATS_URL\",\n\t\t\"NATS_URL\",\n\t]);\n\tconst managedRouting = managedContext.managed;\n\tconst baseEnabled =\n\t\tflag === false ? false : (flag ?? Boolean(natsUrl || managedRouting));\n\tconst featureGate = resolveEventBusFeatureGate(env, managedContext);\n\tconst enabled =\n\t\t!internalTelemetryDisabled && baseEnabled && featureGate.allowed;\n\tlet reason = \"disabled\";\n\tif (internalTelemetryDisabled) reason = \"internal telemetry disabled\";\n\telse if (flag === false) reason = \"flag disabled\";\n\telse if (baseEnabled && !featureGate.allowed)\n\t\treason = featureGate.reason ?? \"feature flag disabled\";\n\telse if (natsUrl) reason = \"nats\";\n\telse if (managedRouting) reason = \"managed evalops routing\";\n\telse if (flag === true) reason = \"flag enabled\";\n\n\treturn {\n\t\tenabled,\n\t\treason,\n\t\tnatsUrl,\n\t\tnatsToken: readEnv(env, [\"MAESTRO_EVENT_BUS_TOKEN\", \"NATS_TOKEN\"]),\n\t\tnatsUser: readEnv(env, [\"MAESTRO_EVENT_BUS_USER\", \"NATS_USER\"]),\n\t\tnatsPassword: readEnv(env, [\"MAESTRO_EVENT_BUS_PASSWORD\", \"NATS_PASSWORD\"]),\n\t\tsource: readEnv(env, [\"MAESTRO_EVENT_BUS_SOURCE\"]) ?? \"maestro\",\n\t\ttenantId: managedContext.organizationId,\n\t\tdefaultSurface: normalizeSurface(\n\t\t\treadEnv(env, [\"MAESTRO_SURFACE\", \"MAESTRO_EVENT_SURFACE\"]),\n\t\t),\n\t\tdefaultRuntimeMode: normalizeRuntimeMode(\n\t\t\treadEnv(env, [\"MAESTRO_RUNTIME_MODE\"]),\n\t\t),\n\t\tdefaultCorrelation: defaultCorrelation(env, managedContext),\n\t\tdefaultPrincipal: defaultPrincipal(env, managedContext),\n\t};\n}\n\nexport function getMaestroEventBusStatus(\n\tenv: Env = process.env,\n): MaestroEventBusStatus {\n\tconst config = resolveMaestroEventBusConfig(env);\n\treturn {\n\t\tenabled: config.enabled,\n\t\treason:\n\t\t\tconfig.enabled && !config.natsUrl ? \"missing nats url\" : config.reason,\n\t\tnatsUrl: config.natsUrl,\n\t\tsource: config.source,\n\t\ttenantId: config.tenantId,\n\t\tdefaultSurface: config.defaultSurface,\n\t\tdefaultRuntimeMode: config.defaultRuntimeMode,\n\t};\n}\n\nexport function setMaestroEventBusTransportForTests(\n\ttransport: MaestroEventBusTransport | null | undefined,\n): void {\n\ttransportOverride = transport;\n}\n\nexport async function withMaestroEventBusTransportOverride<T>(\n\ttransport: MaestroEventBusTransport | null,\n\tcallback: () => Promise<T>,\n): Promise<T> {\n\treturn scopedTransportOverride.run(transport, callback);\n}\n\nexport async function closeMaestroEventBusTransport(): Promise<void> {\n\tconst scopedTransport = scopedTransportOverride.getStore();\n\tif (scopedTransport?.close) await scopedTransport.close();\n\tif (transportOverride?.close) await transportOverride.close();\n\tif (natsTransportPromise) {\n\t\tconst { transport } = await natsTransportPromise;\n\t\tawait transport.close?.();\n\t\tnatsTransportPromise = undefined;\n\t}\n}\n\nasync function createNatsTransport(\n\tconfig: MaestroEventBusConfig,\n): Promise<MaestroEventBusTransport | null> {\n\tif (!config.natsUrl) return null;\n\tconst key = JSON.stringify({\n\t\turl: config.natsUrl,\n\t\ttoken: config.natsToken,\n\t\tuser: config.natsUser,\n\t\tpassword: config.natsPassword,\n\t});\n\tif (!natsTransportPromise) {\n\t\tconst pendingTransport = (async () => {\n\t\t\tconst nats = await import(\"nats\");\n\t\t\tconst codec = nats.StringCodec();\n\t\t\tconst connection: NatsConnection = await nats.connect({\n\t\t\t\tservers: config.natsUrl,\n\t\t\t\tname: \"maestro-event-bus\",\n\t\t\t\ttoken: config.natsToken,\n\t\t\t\tuser: config.natsUser,\n\t\t\t\tpass: config.natsPassword,\n\t\t\t});\n\t\t\tconst jetstream: JetStreamClient = connection.jetstream();\n\t\t\treturn {\n\t\t\t\tkey,\n\t\t\t\ttransport: {\n\t\t\t\t\tasync publish(subject: string, payload: string): Promise<void> {\n\t\t\t\t\t\tawait jetstream.publish(subject, codec.encode(payload));\n\t\t\t\t\t},\n\t\t\t\t\tasync close(): Promise<void> {\n\t\t\t\t\t\tawait connection.drain();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t})();\n\t\tconst trackedTransport = pendingTransport.catch((error) => {\n\t\t\tif (natsTransportPromise === trackedTransport) {\n\t\t\t\tnatsTransportPromise = undefined;\n\t\t\t}\n\t\t\tthrow error;\n\t\t});\n\t\tnatsTransportPromise = trackedTransport;\n\t}\n\tconst resolved = await natsTransportPromise;\n\tif (resolved.key === key) return resolved.transport;\n\tawait resolved.transport.close?.();\n\tnatsTransportPromise = undefined;\n\treturn createNatsTransport(config);\n}\n\nasync function getTransport(\n\tconfig: MaestroEventBusConfig,\n): Promise<MaestroEventBusTransport | null> {\n\tconst scopedTransport = scopedTransportOverride.getStore();\n\tif (scopedTransport !== undefined) return scopedTransport;\n\tif (transportOverride !== undefined) return transportOverride;\n\treturn createNatsTransport(config);\n}\n\nfunction mergeCorrelation(\n\tbase: MaestroCorrelation,\n\toverrides?: Partial<MaestroCorrelation>,\n): MaestroCorrelation {\n\tconst definedOverrides = Object.fromEntries(\n\t\tObject.entries(overrides ?? {}).filter(([, value]) => value !== undefined),\n\t) as Partial<MaestroCorrelation>;\n\tconst attributes = {\n\t\t...base.attributes,\n\t\t...definedOverrides.attributes,\n\t};\n\treturn {\n\t\t...base,\n\t\t...definedOverrides,\n\t\tworkspace_id: definedOverrides.workspace_id ?? base.workspace_id,\n\t\tsession_id: definedOverrides.session_id ?? base.session_id,\n\t\tattributes: Object.keys(attributes).length > 0 ? attributes : undefined,\n\t};\n}\n\nexport function maestroCorrelationToChronicleMetadata(\n\tcorrelation: MaestroCorrelation,\n): Record<string, string> {\n\tconst metadata: Record<string, string> = {};\n\tconst canonicalKeys = new Set<string>();\n\tconst putCanonicalMetadata = (\n\t\tkey: string,\n\t\tvalue: string | undefined,\n\t): void => {\n\t\tcanonicalKeys.add(key);\n\t\tputMetadata(metadata, key, value);\n\t};\n\tputCanonicalMetadata(\"organization_id\", correlation.organization_id);\n\tputCanonicalMetadata(\"user_id\", correlation.user_id);\n\tputCanonicalMetadata(\"workspace_id\", correlation.workspace_id);\n\tputCanonicalMetadata(\"maestro_session_id\", correlation.session_id);\n\tputCanonicalMetadata(\"agent_run_id\", correlation.agent_run_id);\n\tputCanonicalMetadata(\"agent_run_step_id\", correlation.agent_run_step_id);\n\tputCanonicalMetadata(\"agent_id\", correlation.agent_id);\n\tputCanonicalMetadata(\"actor_id\", correlation.actor_id);\n\tputCanonicalMetadata(\"principal_id\", correlation.principal_id);\n\tputCanonicalMetadata(\"trace_id\", correlation.trace_id);\n\tputCanonicalMetadata(\"traceparent\", correlation.traceparent);\n\tputCanonicalMetadata(\"tracestate\", correlation.tracestate);\n\tputCanonicalMetadata(\"request_id\", correlation.request_id);\n\tputCanonicalMetadata(\n\t\t\"remote_runner_session_id\",\n\t\tcorrelation.remote_runner_session_id,\n\t);\n\tputCanonicalMetadata(\"objective_id\", correlation.objective_id);\n\tputCanonicalMetadata(\"conversation_id\", correlation.conversation_id);\n\tputCanonicalMetadata(\"parent_event_id\", correlation.parent_event_id);\n\tfor (const [key, value] of Object.entries(correlation.attributes ?? {})) {\n\t\tif (canonicalKeys.has(key)) continue;\n\t\tputMetadata(metadata, key, value);\n\t}\n\treturn metadata;\n}\n\nfunction putMetadata(\n\tmetadata: Record<string, string>,\n\tkey: string,\n\tvalue: string | undefined,\n): void {\n\tconst cleanValue = value?.trim();\n\tif (!cleanValue) return;\n\tmetadata[key] = cleanValue;\n}\n\nfunction normalizeTime(value: string | Date | undefined): string {\n\tif (value instanceof Date) return value.toISOString();\n\treturn value ?? new Date().toISOString();\n}\n\nfunction dataSchemaFor(type: MaestroBusEventType): string {\n\treturn getMaestroBusEventCatalogEntry(type).dataSchema;\n}\n\nfunction protoAnyTypeFor(type: MaestroBusEventType): string {\n\treturn getMaestroBusEventCatalogEntry(type).protoAnyType;\n}\n\nexport function buildMaestroCloudEvent<TData extends Record<string, unknown>>(\n\ttype: MaestroBusEventType,\n\tdata: TData,\n\toptions: PublishMaestroEventOptions = {},\n): MaestroCloudEvent<TData> {\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tconst correlation = mergeCorrelation(\n\t\tconfig.defaultCorrelation,\n\t\toptions.correlation,\n\t);\n\tconst contextCorrelation =\n\t\t\"correlation\" in data && data.correlation\n\t\t\t? mergeCorrelation(\n\t\t\t\t\tcorrelation,\n\t\t\t\t\tdata.correlation as Partial<MaestroCorrelation>,\n\t\t\t\t)\n\t\t\t: correlation;\n\tconst dataCorrelation = maestroDataCorrelation(\n\t\tcontextCorrelation as MaestroCorrelation,\n\t);\n\tconst typedData = {\n\t\t...data,\n\t\t\"@type\": protoAnyTypeFor(type),\n\t\tcorrelation: dataCorrelation,\n\t} as TData & { \"@type\": string };\n\tconst contextExtensions = maestroContextExtensions(\n\t\tcontextCorrelation as MaestroCorrelation,\n\t\ttypedData,\n\t);\n\n\treturn {\n\t\tspec_version: \"1.0\",\n\t\tid: options.eventId ?? randomUUID(),\n\t\ttype,\n\t\tsource: options.source ?? config.source,\n\t\tsubject: options.subject ?? type,\n\t\ttime: normalizeTime(options.time),\n\t\tdata_content_type: \"application/protobuf\",\n\t\ttenant_id: options.tenantId ?? config.tenantId,\n\t\tdata: typedData,\n\t\textensions: {\n\t\t\tdataschema: dataSchemaFor(type),\n\t\t\tevalops_context_version: \"evalops.context.v1\",\n\t\t\t...contextExtensions,\n\t\t},\n\t};\n}\n\nfunction maestroDataCorrelation(\n\tcorrelation: MaestroCorrelation,\n): MaestroCorrelation {\n\tconst {\n\t\ttraceparent: _traceparent,\n\t\ttracestate: _tracestate,\n\t\t...dataCorrelation\n\t} = correlation;\n\treturn dataCorrelation;\n}\n\nfunction maestroContextExtensions(\n\tcorrelation: MaestroCorrelation,\n\tdata: Record<string, unknown>,\n): Record<string, string> {\n\tconst extensions: Record<string, string> = {};\n\tputMetadata(extensions, \"organization_id\", correlation.organization_id);\n\tputMetadata(extensions, \"user_id\", correlation.user_id);\n\tputMetadata(extensions, \"workspace_id\", correlation.workspace_id);\n\tputMetadata(extensions, \"maestro_session_id\", correlation.session_id);\n\tputMetadata(extensions, \"agent_run_id\", correlation.agent_run_id);\n\tputMetadata(extensions, \"agent_run_step_id\", correlation.agent_run_step_id);\n\tputMetadata(extensions, \"trace_id\", correlation.trace_id);\n\tputMetadata(extensions, \"traceparent\", correlation.traceparent);\n\tputMetadata(extensions, \"tracestate\", correlation.tracestate);\n\tputMetadata(extensions, \"request_id\", correlation.request_id);\n\tputMetadata(extensions, \"source_issue\", correlation.attributes?.source_issue);\n\tputMetadata(extensions, \"task_id\", correlation.attributes?.task_id);\n\tputMetadata(\n\t\textensions,\n\t\t\"tool_execution_id\",\n\t\tstringRecordValue(data, \"tool_execution_id\"),\n\t);\n\treturn extensions;\n}\n\nfunction stringRecordValue(\n\trecord: Record<string, unknown>,\n\tkey: string,\n): string | undefined {\n\tconst value = record[key];\n\treturn typeof value === \"string\" ? value : undefined;\n}\n\nexport async function publishMaestroCloudEvent<\n\tTData extends Record<string, unknown>,\n>(\n\ttype: MaestroBusEventType,\n\tdata: TData,\n\toptions: PublishMaestroEventOptions = {},\n): Promise<void> {\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tif (!config.enabled) return;\n\ttry {\n\t\tconst transport = await getTransport(config);\n\t\tif (!transport) return;\n\t\tconst event = buildMaestroCloudEvent(type, data, options);\n\t\tawait transport.publish(type, JSON.stringify(event));\n\t} catch {\n\t\t// Audit-bus publishing must never affect the local agent runtime.\n\t}\n}\n\nexport async function publishMaestroCloudEventStrict<\n\tTData extends Record<string, unknown>,\n>(\n\ttype: MaestroBusEventType,\n\tdata: TData,\n\toptions: PublishMaestroEventOptions = {},\n): Promise<void> {\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tif (!config.enabled && !config.natsUrl) {\n\t\tthrow new Error(`Maestro event bus is not enabled: ${config.reason}`);\n\t}\n\tconst transport = await getTransport(config);\n\tif (!transport) {\n\t\tthrow new Error(\"Maestro event bus transport is unavailable\");\n\t}\n\tconst event = buildMaestroCloudEvent(type, data, options);\n\tawait transport.publish(type, JSON.stringify(event));\n}\n\nfunction contextFromMetadata(\n\tmetadata: unknown,\n\textra?: Record<string, unknown>,\n): Record<string, unknown> | undefined {\n\tconst context =\n\t\tmetadata && typeof metadata === \"object\" && !Array.isArray(metadata)\n\t\t\t? { ...(metadata as Record<string, unknown>) }\n\t\t\t: {};\n\tif (extra) Object.assign(context, extra);\n\treturn Object.keys(context).length > 0 ? context : undefined;\n}\n\nfunction correlationFromMetadata(\n\tmetadata: unknown,\n): Partial<MaestroCorrelation> | undefined {\n\tif (!metadata || typeof metadata !== \"object\" || Array.isArray(metadata)) {\n\t\treturn undefined;\n\t}\n\tconst record = metadata as Record<string, unknown>;\n\treturn {\n\t\tsession_id:\n\t\t\ttypeof record.sessionId === \"string\"\n\t\t\t\t? record.sessionId\n\t\t\t\t: typeof record.session_id === \"string\"\n\t\t\t\t\t? record.session_id\n\t\t\t\t\t: undefined,\n\t\tworkspace_id:\n\t\t\ttypeof record.workspaceId === \"string\"\n\t\t\t\t? record.workspaceId\n\t\t\t\t: typeof record.workspace_id === \"string\"\n\t\t\t\t\t? record.workspace_id\n\t\t\t\t\t: undefined,\n\t\tagent_run_id:\n\t\t\ttypeof record.agentRunId === \"string\"\n\t\t\t\t? record.agentRunId\n\t\t\t\t: typeof record.agent_run_id === \"string\"\n\t\t\t\t\t? record.agent_run_id\n\t\t\t\t\t: undefined,\n\t\tagent_run_step_id:\n\t\t\ttypeof record.toolCallId === \"string\"\n\t\t\t\t? record.toolCallId\n\t\t\t\t: typeof record.tool_call_id === \"string\"\n\t\t\t\t\t? record.tool_call_id\n\t\t\t\t\t: undefined,\n\t\torganization_id:\n\t\t\ttypeof record.organizationId === \"string\"\n\t\t\t\t? record.organizationId\n\t\t\t\t: typeof record.organization_id === \"string\"\n\t\t\t\t\t? record.organization_id\n\t\t\t\t\t: undefined,\n\t\tuser_id:\n\t\t\ttypeof record.userId === \"string\"\n\t\t\t\t? record.userId\n\t\t\t\t: typeof record.user_id === \"string\"\n\t\t\t\t\t? record.user_id\n\t\t\t\t\t: undefined,\n\t\tagent_id:\n\t\t\ttypeof record.agentId === \"string\"\n\t\t\t\t? record.agentId\n\t\t\t\t: typeof record.agent_id === \"string\"\n\t\t\t\t\t? record.agent_id\n\t\t\t\t\t: undefined,\n\t\tactor_id:\n\t\t\ttypeof record.actorId === \"string\"\n\t\t\t\t? record.actorId\n\t\t\t\t: typeof record.actor_id === \"string\"\n\t\t\t\t\t? record.actor_id\n\t\t\t\t\t: undefined,\n\t\tprincipal_id:\n\t\t\ttypeof record.principalId === \"string\"\n\t\t\t\t? record.principalId\n\t\t\t\t: typeof record.principal_id === \"string\"\n\t\t\t\t\t? record.principal_id\n\t\t\t\t\t: undefined,\n\t\ttrace_id:\n\t\t\ttypeof record.traceId === \"string\"\n\t\t\t\t? record.traceId\n\t\t\t\t: typeof record.trace_id === \"string\"\n\t\t\t\t\t? record.trace_id\n\t\t\t\t\t: undefined,\n\t\ttraceparent:\n\t\t\ttypeof record.traceparent === \"string\"\n\t\t\t\t? record.traceparent\n\t\t\t\t: typeof record.trace_parent === \"string\"\n\t\t\t\t\t? record.trace_parent\n\t\t\t\t\t: undefined,\n\t\ttracestate:\n\t\t\ttypeof record.tracestate === \"string\"\n\t\t\t\t? record.tracestate\n\t\t\t\t: typeof record.trace_state === \"string\"\n\t\t\t\t\t? record.trace_state\n\t\t\t\t\t: undefined,\n\t\trequest_id:\n\t\t\ttypeof record.requestId === \"string\"\n\t\t\t\t? record.requestId\n\t\t\t\t: typeof record.request_id === \"string\"\n\t\t\t\t\t? record.request_id\n\t\t\t\t\t: undefined,\n\t\tremote_runner_session_id:\n\t\t\ttypeof record.remoteRunnerSessionId === \"string\"\n\t\t\t\t? record.remoteRunnerSessionId\n\t\t\t\t: typeof record.remote_runner_session_id === \"string\"\n\t\t\t\t\t? record.remote_runner_session_id\n\t\t\t\t\t: undefined,\n\t\tobjective_id:\n\t\t\ttypeof record.objectiveId === \"string\"\n\t\t\t\t? record.objectiveId\n\t\t\t\t: typeof record.objective_id === \"string\"\n\t\t\t\t\t? record.objective_id\n\t\t\t\t\t: undefined,\n\t\tconversation_id:\n\t\t\ttypeof record.conversationId === \"string\"\n\t\t\t\t? record.conversationId\n\t\t\t\t: typeof record.conversation_id === \"string\"\n\t\t\t\t\t? record.conversation_id\n\t\t\t\t\t: undefined,\n\t};\n}\n\nfunction stringMetadata(metadata: unknown, name: string): string | undefined {\n\treturn metadata &&\n\t\ttypeof metadata === \"object\" &&\n\t\t!Array.isArray(metadata) &&\n\t\ttypeof (metadata as Record<string, unknown>)[name] === \"string\"\n\t\t? ((metadata as Record<string, unknown>)[name] as string)\n\t\t: undefined;\n}\n\nfunction stringField(\n\tfields: Record<string, unknown>,\n\tname: string,\n): string | undefined {\n\tconst value = fields[name];\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value\n\t\t: undefined;\n}\n\nfunction numberField(\n\tfields: Record<string, unknown>,\n\tname: string,\n): number | undefined {\n\tconst value = fields[name];\n\treturn typeof value === \"number\" && Number.isFinite(value)\n\t\t? value\n\t\t: undefined;\n}\n\nfunction booleanField(\n\tfields: Record<string, unknown>,\n\tname: string,\n): boolean | undefined {\n\tconst value = fields[name];\n\treturn typeof value === \"boolean\" ? value : undefined;\n}\n\nfunction closeReasonFromMetadata(\n\tmetadata: unknown,\n): MaestroCloseReason | undefined {\n\tconst value =\n\t\tstringMetadata(metadata, \"closeReason\") ??\n\t\tstringMetadata(metadata, \"close_reason\");\n\tswitch (value) {\n\t\tcase \"MAESTRO_CLOSE_REASON_COMPLETED\":\n\t\tcase \"MAESTRO_CLOSE_REASON_USER_STOPPED\":\n\t\tcase \"MAESTRO_CLOSE_REASON_IDLE_TIMEOUT\":\n\t\tcase \"MAESTRO_CLOSE_REASON_TTL_EXPIRED\":\n\t\tcase \"MAESTRO_CLOSE_REASON_ERROR\":\n\t\tcase \"MAESTRO_CLOSE_REASON_POLICY_DENIED\":\n\t\t\treturn value;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction durationFromMs(value: unknown): string | undefined {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value < 0) {\n\t\treturn undefined;\n\t}\n\treturn `${Number((value / 1000).toFixed(3))}s`;\n}\n\nfunction protoSkillOutcomeStatusFromTurnStatus(\n\tstatus: MaestroSkillOutcomeStatus,\n): MaestroSkillOutcomeProtoStatus {\n\tswitch (status) {\n\t\tcase \"success\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_SUCCEEDED\";\n\t\tcase \"aborted\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_CANCELLED\";\n\t\tcase \"evaluation_failed\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_EVALUATION_FAILED\";\n\t\tcase \"rate_limited\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_RATE_LIMITED\";\n\t\tcase \"error\":\n\t\t\treturn \"MAESTRO_SKILL_OUTCOME_STATUS_FAILED\";\n\t}\n}\n\nfunction sessionEventTypeForMetric(\n\tmetric: unknown,\n): MaestroBusEventType | undefined {\n\tswitch (metric) {\n\t\tcase \"session.count\":\n\t\t\treturn MaestroBusEventType.SessionStarted;\n\t\tcase \"session.duration\":\n\t\t\treturn MaestroBusEventType.SessionClosed;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nexport function recordMaestroSessionEvent(\n\tstate: MaestroSessionState,\n\toptions: {\n\t\tsessionId?: string;\n\t\tmetadata?: Record<string, unknown>;\n\t\tcloseReason?: MaestroCloseReason;\n\t\tcloseMessage?: string;\n\t\tcorrelation?: Partial<MaestroCorrelation>;\n\t\tenv?: Env;\n\t} = {},\n): void {\n\tconst now = new Date().toISOString();\n\tconst config = resolveMaestroEventBusConfig(options.env);\n\tconst eventType =\n\t\tstate === \"MAESTRO_SESSION_STATE_CLOSED\"\n\t\t\t? MaestroBusEventType.SessionClosed\n\t\t\t: state === \"MAESTRO_SESSION_STATE_SUSPENDED\"\n\t\t\t\t? MaestroBusEventType.SessionSuspended\n\t\t\t\t: state === \"MAESTRO_SESSION_STATE_RESUMED\"\n\t\t\t\t\t? MaestroBusEventType.SessionResumed\n\t\t\t\t\t: MaestroBusEventType.SessionStarted;\n\tvoid publishMaestroCloudEvent<MaestroSessionEventData>(\n\t\teventType,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(config.defaultCorrelation, {\n\t\t\t\t...options.correlation,\n\t\t\t\tsession_id: options.sessionId ?? options.correlation?.session_id,\n\t\t\t}),\n\t\t\tstate,\n\t\t\tsurface: config.defaultSurface,\n\t\t\truntime_mode: config.defaultRuntimeMode,\n\t\t\tprincipal: config.defaultPrincipal,\n\t\t\tworkspace_root: process.cwd(),\n\t\t\truntime_version: process.env.npm_package_version,\n\t\t\tstarted_at: state === \"MAESTRO_SESSION_STATE_STARTED\" ? now : undefined,\n\t\t\tsuspended_at:\n\t\t\t\tstate === \"MAESTRO_SESSION_STATE_SUSPENDED\" ? now : undefined,\n\t\t\tresumed_at: state === \"MAESTRO_SESSION_STATE_RESUMED\" ? now : undefined,\n\t\t\tclosed_at: state === \"MAESTRO_SESSION_STATE_CLOSED\" ? now : undefined,\n\t\t\tclose_reason: options.closeReason,\n\t\t\tclose_message: options.closeMessage,\n\t\t\tmetadata: options.metadata,\n\t\t},\n\t\t{ env: options.env, time: now },\n\t);\n}\n\nexport function recordMaestroApprovalHit(\n\tevent: RecordMaestroApprovalHitInput,\n): void {\n\tconst occurredAt = event.occurred_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<ApprovalHitEventData>(\n\t\tMaestroBusEventType.ApprovalHit,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tapproval_request_id: event.approval_request_id,\n\t\t\tgovernance_decision_id: event.governance_decision_id,\n\t\t\taction: event.action,\n\t\t\tcommand: event.command,\n\t\t\trisk_level: event.risk_level,\n\t\t\tdecision_mode: event.decision_mode,\n\t\t\tpolicy_id: event.policy_id,\n\t\t\treason: event.reason,\n\t\t\tcontext: event.context,\n\t\t\tmetadata: event.metadata,\n\t\t\toccurred_at: occurredAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: occurredAt },\n\t);\n}\n\nexport function recordMaestroFirewallBlock(\n\tevent: RecordMaestroFirewallBlockInput,\n): void {\n\tconst occurredAt = event.occurred_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<FirewallBlockEventData>(\n\t\tMaestroBusEventType.FirewallBlock,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\trule_id: event.rule_id,\n\t\t\toperation: event.operation,\n\t\t\ttarget: event.target,\n\t\t\tprotocol: event.protocol,\n\t\t\tport: event.port,\n\t\t\treason: event.reason,\n\t\t\tcontext: event.context,\n\t\t\toccurred_at: occurredAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: occurredAt },\n\t);\n}\n\nexport function recordMaestroToolCallAttempt(\n\tevent: RecordMaestroToolCallAttemptInput,\n): void {\n\tconst attemptedAt = event.attempted_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<ToolCallAttemptEventData>(\n\t\tMaestroBusEventType.ToolCallAttempted,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\ttool_namespace: event.tool_namespace,\n\t\t\ttool_name: event.tool_name,\n\t\t\ttool_version: event.tool_version,\n\t\t\tcapability: event.capability,\n\t\t\tconnector_id: event.connector_id,\n\t\t\tmutates_resource: event.mutates_resource,\n\t\t\trisk_level: event.risk_level,\n\t\t\tsafe_arguments: event.safe_arguments,\n\t\t\tredactions: event.redactions,\n\t\t\tidempotency_key: event.idempotency_key,\n\t\t\tmetadata: event.metadata,\n\t\t\tattempted_at: attemptedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: attemptedAt },\n\t);\n}\n\nexport function recordMaestroToolCallCompleted(\n\tevent: RecordMaestroToolCallCompletedInput,\n): void {\n\tconst completedAt = event.completed_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<ToolCallResultEventData>(\n\t\ttoolCallResultEventType(event.status),\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\tapproval_request_id: event.approval_request_id,\n\t\t\tgoverned_outcome: event.governed_outcome,\n\t\t\tstatus: event.status,\n\t\t\tduration: event.duration,\n\t\t\tsafe_output: event.safe_output,\n\t\t\tredactions: event.redactions,\n\t\t\terror_code: event.error_code,\n\t\t\terror_message: event.error_message,\n\t\t\tmetadata: event.metadata,\n\t\t\tcompleted_at: completedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: completedAt },\n\t);\n}\n\nfunction toolCallResultEventType(\n\tstatus: MaestroToolCallStatus,\n): MaestroBusEventType.ToolCallCompleted | MaestroBusEventType.ToolCallFailed {\n\treturn status === \"MAESTRO_TOOL_CALL_STATUS_FAILED\"\n\t\t? MaestroBusEventType.ToolCallFailed\n\t\t: MaestroBusEventType.ToolCallCompleted;\n}\n\nexport function recordMaestroPromptVariantSelected(\n\tevent: RecordMaestroPromptVariantSelectedInput,\n): void {\n\tconst selectedAt = event.selected_at ?? new Date().toISOString();\n\tconst promptID = event.prompt_id ?? event.prompt_metadata.name;\n\tconst promptName = event.prompt_name ?? event.prompt_metadata.name;\n\tconst versionID =\n\t\tevent.version_id ??\n\t\tevent.prompt_metadata.versionId ??\n\t\tevent.prompt_metadata.hash;\n\tvoid publishMaestroCloudEvent<PromptVariantSelectedEventData>(\n\t\tMaestroBusEventType.PromptVariantSelected,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tprompt_id: promptID,\n\t\t\tprompt_name: promptName,\n\t\t\tversion_id: versionID,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tselected_at: selectedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: selectedAt },\n\t);\n}\n\nexport function recordMaestroLearnedContext(\n\tevent: RecordMaestroLearnedContextInput,\n): void {\n\tconst learnedAt = event.learned_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<MaestroLearnedContextEventData>(\n\t\tMaestroBusEventType.ContextLearned,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tlearning_id: event.learning_id,\n\t\t\tsubject_thing_id: event.subject_thing_id,\n\t\t\tsubject_key: event.subject_key,\n\t\t\tstatement: event.statement,\n\t\t\tdimension: event.dimension,\n\t\t\tconfidence_score: event.confidence_score,\n\t\t\tconfidence_reason: event.confidence_reason,\n\t\t\tevidence: event.evidence,\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tlearned_at: learnedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: learnedAt },\n\t);\n}\n\nexport function recordMaestroSkillInvoked(\n\tevent: RecordMaestroSkillInvokedInput,\n): void {\n\tconst invokedAt = event.invoked_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<SkillInvocationEventData>(\n\t\tMaestroBusEventType.SkillInvoked,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\tinvocation_id: event.invocation_id,\n\t\t\tskill_id: event.skill_id ?? event.skill_metadata.artifactId,\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tinvoked_at: invokedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: invokedAt },\n\t);\n}\n\nexport function recordMaestroSkillOutcome(\n\tevent: RecordMaestroSkillOutcomeInput,\n): void {\n\tconst outcomeAt = event.outcome_at ?? new Date().toISOString();\n\tconst eventType =\n\t\tevent.turn_status === \"success\"\n\t\t\t? MaestroBusEventType.SkillSucceeded\n\t\t\t: MaestroBusEventType.SkillFailed;\n\tvoid publishMaestroCloudEvent<SkillOutcomeEventData>(\n\t\teventType,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\tinvocation_id: event.invocation_id,\n\t\t\tskill_id: event.skill_id ?? event.skill_metadata.artifactId,\n\t\t\tstatus:\n\t\t\t\tevent.status ??\n\t\t\t\tprotoSkillOutcomeStatusFromTurnStatus(event.turn_status),\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\tturn_status: event.turn_status,\n\t\t\terror_category: event.error_category,\n\t\t\terror_message: event.error_message,\n\t\t\tevaluation_tool_name: event.evaluation_tool_name,\n\t\t\tevaluation_tool_call_id: event.evaluation_tool_call_id,\n\t\t\tevaluation_tool_execution_id: event.evaluation_tool_execution_id,\n\t\t\tevaluation_score: event.evaluation_score,\n\t\t\tevaluation_threshold: event.evaluation_threshold,\n\t\t\tevaluation_assertion_count: event.evaluation_assertion_count,\n\t\t\tevaluation_rationale: event.evaluation_rationale,\n\t\t\tstop_reason: event.stop_reason,\n\t\t\tmetadata: event.metadata,\n\t\t\toutcome_at: outcomeAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: outcomeAt },\n\t);\n}\n\nexport function recordMaestroSubagentDispatch(\n\tevent: RecordMaestroSubagentDispatchInput,\n): void {\n\tconst dispatchedAt = event.dispatched_at ?? new Date().toISOString();\n\tvoid publishMaestroCloudEvent<SubagentDispatchEventData>(\n\t\tMaestroBusEventType.SubagentDispatched,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\tdispatch_id:\n\t\t\t\tevent.dispatch_id ??\n\t\t\t\t`${event.mode}:${event.subagent_type}:${dispatchedAt}`,\n\t\t\tmode: event.mode,\n\t\t\tsubagent_type: event.subagent_type,\n\t\t\tmodel: event.model,\n\t\t\tprovider: event.provider,\n\t\t\treasoning_effort: event.reasoning_effort,\n\t\t\tsource: event.source,\n\t\t\tsuccess: event.success,\n\t\t\tlatency_ms: event.latency_ms ?? 0,\n\t\t\tparent_mode: event.parent_mode,\n\t\t\tparent_model_provider: event.parent_model_provider,\n\t\t\tswarm_id: event.swarm_id,\n\t\t\ttask_id: event.task_id,\n\t\t\tteammate_id: event.teammate_id,\n\t\t\treason: event.reason,\n\t\t\tmetadata: event.metadata,\n\t\t\tdispatched_at: dispatchedAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: dispatchedAt },\n\t);\n}\n\nexport function recordMaestroEvalScored(\n\tevent: RecordMaestroEvalScoredInput,\n): void {\n\tconst scoredAt = event.scored_at ?? new Date().toISOString();\n\tconst evalRunID =\n\t\tevent.eval_run_id ?? event.tool_execution_id ?? event.tool_call_id;\n\tconst scenarioID =\n\t\tevent.scenario_id ??\n\t\tevent.skill_metadata?.artifactId ??\n\t\tevent.skill_metadata?.name ??\n\t\tevent.tool_name ??\n\t\tevent.tool_call_id;\n\tvoid publishMaestroCloudEvent<EvalScoredEventData>(\n\t\tMaestroBusEventType.EvalScored,\n\t\t{\n\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\tresolveMaestroEventBusConfig(event.env).defaultCorrelation,\n\t\t\t\tevent.correlation,\n\t\t\t),\n\t\t\teval_run_id: evalRunID,\n\t\t\tscenario_id: scenarioID,\n\t\t\tprompt_metadata: event.prompt_metadata,\n\t\t\tskill_metadata: event.skill_metadata,\n\t\t\ttool_call_id: event.tool_call_id,\n\t\t\ttool_execution_id: event.tool_execution_id,\n\t\t\ttool_name: event.tool_name,\n\t\t\tscore: event.score,\n\t\t\tthreshold: event.threshold,\n\t\t\tpassed: event.passed,\n\t\t\tscorer: event.scorer,\n\t\t\trationale: event.rationale,\n\t\t\tassertion_count: event.assertion_count,\n\t\t\tscored_at: scoredAt,\n\t\t},\n\t\t{ env: event.env, eventId: event.event_id, time: scoredAt },\n\t);\n}\n\nexport async function mirrorTelemetryToMaestroEventBus(\n\tevent: MaestroTelemetryMirrorEvent,\n): Promise<void> {\n\tconst fields = event as Record<string, unknown>;\n\tif (event.type === \"sandbox-violation\") {\n\t\tconst path = typeof fields.path === \"string\" ? fields.path : undefined;\n\t\tawait publishMaestroCloudEvent<SandboxViolationEventData>(\n\t\t\tMaestroBusEventType.SandboxViolation,\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tresolveMaestroEventBusConfig().defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(fields.metadata),\n\t\t\t\t),\n\t\t\t\toperation: String(fields.action ?? fields.tool ?? \"unknown\"),\n\t\t\t\tresource: path ?? String(fields.command ?? fields.tool ?? \"unknown\"),\n\t\t\t\tattempted_path: path,\n\t\t\t\treason: typeof fields.reason === \"string\" ? fields.reason : undefined,\n\t\t\t\tcontext: contextFromMetadata(fields.metadata, {\n\t\t\t\t\ttool: fields.tool,\n\t\t\t\t\tcommand: fields.command,\n\t\t\t\t\tevent: fields.event,\n\t\t\t\t}),\n\t\t\t\toccurred_at: event.timestamp,\n\t\t\t},\n\t\t\t{ time: event.timestamp },\n\t\t);\n\t\treturn;\n\t}\n\n\tif (event.type === \"subagent-dispatch\") {\n\t\tconst metadata = fields.metadata;\n\t\tconst mode = stringField(fields, \"mode\") ?? \"unknown\";\n\t\tconst subagentType =\n\t\t\tstringField(fields, \"subagentType\") ??\n\t\t\tstringMetadata(metadata, \"subagent_type\") ??\n\t\t\tstringMetadata(metadata, \"subagentType\") ??\n\t\t\t\"unknown\";\n\t\tconst dispatchedAt = event.timestamp;\n\t\tawait publishMaestroCloudEvent<SubagentDispatchEventData>(\n\t\t\tMaestroBusEventType.SubagentDispatched,\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tresolveMaestroEventBusConfig().defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(metadata),\n\t\t\t\t),\n\t\t\t\tdispatch_id:\n\t\t\t\t\tstringMetadata(metadata, \"dispatchId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"dispatch_id\") ??\n\t\t\t\t\t`${mode}:${subagentType}:${dispatchedAt}`,\n\t\t\t\tmode,\n\t\t\t\tsubagent_type: subagentType,\n\t\t\t\tmodel: stringField(fields, \"model\") ?? \"unknown\",\n\t\t\t\tprovider: stringField(fields, \"provider\") ?? \"unknown\",\n\t\t\t\treasoning_effort: stringField(fields, \"reasoningEffort\") ?? \"unknown\",\n\t\t\t\tsource: stringField(fields, \"source\"),\n\t\t\t\tsuccess: booleanField(fields, \"success\") ?? false,\n\t\t\t\tlatency_ms: numberField(fields, \"latencyMs\") ?? 0,\n\t\t\t\tparent_mode:\n\t\t\t\t\tstringMetadata(metadata, \"parentMode\") ??\n\t\t\t\t\tstringMetadata(metadata, \"parent_mode\"),\n\t\t\t\tparent_model_provider:\n\t\t\t\t\tstringMetadata(metadata, \"parentModelProvider\") ??\n\t\t\t\t\tstringMetadata(metadata, \"parent_model_provider\"),\n\t\t\t\tswarm_id:\n\t\t\t\t\tstringMetadata(metadata, \"swarmId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"swarm_id\"),\n\t\t\t\ttask_id:\n\t\t\t\t\tstringMetadata(metadata, \"taskId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"task_id\"),\n\t\t\t\tteammate_id:\n\t\t\t\t\tstringMetadata(metadata, \"teammateId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"teammate_id\"),\n\t\t\t\treason:\n\t\t\t\t\tstringMetadata(metadata, \"reason\") ??\n\t\t\t\t\tstringMetadata(metadata, \"failureReason\") ??\n\t\t\t\t\tstringMetadata(metadata, \"failure_reason\"),\n\t\t\t\tmetadata: contextFromMetadata(metadata),\n\t\t\t\tdispatched_at: dispatchedAt,\n\t\t\t},\n\t\t\t{ time: dispatchedAt },\n\t\t);\n\t\treturn;\n\t}\n\n\tif (event.type === \"business-metric\") {\n\t\tconst eventType = sessionEventTypeForMetric(fields.metric);\n\t\tif (!eventType) return;\n\t\tconst config = resolveMaestroEventBusConfig();\n\t\tawait publishMaestroCloudEvent<MaestroSessionEventData>(\n\t\t\teventType,\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tconfig.defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(fields.metadata),\n\t\t\t\t),\n\t\t\t\tstate:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? \"MAESTRO_SESSION_STATE_CLOSED\"\n\t\t\t\t\t\t: \"MAESTRO_SESSION_STATE_STARTED\",\n\t\t\t\tsurface: config.defaultSurface,\n\t\t\t\truntime_mode: config.defaultRuntimeMode,\n\t\t\t\tprincipal: config.defaultPrincipal,\n\t\t\t\tworkspace_root: process.cwd(),\n\t\t\t\truntime_version: process.env.npm_package_version,\n\t\t\t\tstarted_at:\n\t\t\t\t\teventType === MaestroBusEventType.SessionStarted\n\t\t\t\t\t\t? event.timestamp\n\t\t\t\t\t\t: undefined,\n\t\t\t\tclosed_at:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? event.timestamp\n\t\t\t\t\t\t: undefined,\n\t\t\t\tclose_reason:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? (closeReasonFromMetadata(fields.metadata) ??\n\t\t\t\t\t\t\t\"MAESTRO_CLOSE_REASON_COMPLETED\")\n\t\t\t\t\t\t: undefined,\n\t\t\t\tclose_message:\n\t\t\t\t\teventType === MaestroBusEventType.SessionClosed\n\t\t\t\t\t\t? (stringMetadata(fields.metadata, \"closeMessage\") ??\n\t\t\t\t\t\t\tstringMetadata(fields.metadata, \"close_message\"))\n\t\t\t\t\t\t: undefined,\n\t\t\t\tmetadata: contextFromMetadata(fields.metadata, {\n\t\t\t\t\tvalue: fields.value,\n\t\t\t\t\tmetric: fields.metric,\n\t\t\t\t}),\n\t\t\t},\n\t\t\t{ time: event.timestamp },\n\t\t);\n\t\treturn;\n\t}\n\n\tif (event.type === \"tool-execution\") {\n\t\tconst metadata = fields.metadata;\n\t\tconst status = fields.success\n\t\t\t? \"MAESTRO_TOOL_CALL_STATUS_SUCCEEDED\"\n\t\t\t: \"MAESTRO_TOOL_CALL_STATUS_FAILED\";\n\t\tawait publishMaestroCloudEvent<ToolCallResultEventData>(\n\t\t\ttoolCallResultEventType(status),\n\t\t\t{\n\t\t\t\tcorrelation: mergeCorrelation(\n\t\t\t\t\tresolveMaestroEventBusConfig().defaultCorrelation,\n\t\t\t\t\tcorrelationFromMetadata(metadata),\n\t\t\t\t),\n\t\t\t\ttool_call_id:\n\t\t\t\t\tstringMetadata(metadata, \"toolCallId\") ??\n\t\t\t\t\tstringMetadata(metadata, \"tool_call_id\") ??\n\t\t\t\t\t`${String(fields.toolName ?? \"tool\")}:${event.timestamp}`,\n\t\t\t\tstatus,\n\t\t\t\tduration: durationFromMs(fields.durationMs),\n\t\t\t\terror_message: fields.success\n\t\t\t\t\t? undefined\n\t\t\t\t\t: stringMetadata(metadata, \"error\"),\n\t\t\t\tcompleted_at: event.timestamp,\n\t\t\t},\n\t\t\t{ time: event.timestamp },\n\t\t);\n\t}\n}\n"]}
@@ -3,11 +3,16 @@ export declare enum MaestroBusEventType {
3
3
  SessionSuspended = "maestro.sessions.session.suspended",
4
4
  SessionResumed = "maestro.sessions.session.resumed",
5
5
  SessionClosed = "maestro.sessions.session.closed",
6
+ InstallCheckCompleted = "maestro.events.install_check.completed",
6
7
  ApprovalHit = "maestro.events.approval_hit",
7
8
  SandboxViolation = "maestro.events.sandbox_violation",
8
9
  FirewallBlock = "maestro.events.firewall_block",
9
10
  ToolCallAttempted = "maestro.events.tool_call.attempted",
10
11
  ToolCallCompleted = "maestro.events.tool_call.completed",
12
+ ToolCallFailed = "maestro.events.tool_call.failed",
13
+ ErrorCaptured = "maestro.events.error.captured",
14
+ ArtifactCreated = "maestro.events.artifact.created",
15
+ FinalStatusReported = "maestro.events.final_status.reported",
11
16
  PromptVariantSelected = "maestro.events.prompt_variant.selected",
12
17
  ContextLearned = "maestro.events.context.learned",
13
18
  SkillInvoked = "maestro.events.skill.invoked",
@@ -16,7 +21,7 @@ export declare enum MaestroBusEventType {
16
21
  SubagentDispatched = "maestro.events.subagent.dispatched",
17
22
  EvalScored = "maestro.events.eval.scored"
18
23
  }
19
- export type MaestroBusEventCategory = "session" | "agent" | "approval" | "safety" | "tool" | "prompt" | "knowledge" | "skill" | "eval";
24
+ export type MaestroBusEventCategory = "session" | "install" | "agent" | "approval" | "safety" | "tool" | "error" | "artifact" | "final-status" | "prompt" | "knowledge" | "skill" | "eval";
20
25
  export interface MaestroBusEventCatalogEntry {
21
26
  category: MaestroBusEventCategory;
22
27
  dataSchema: string;
@@ -30,11 +35,16 @@ export declare const MAESTRO_BUS_EVENT_CATALOG: {
30
35
  readonly "maestro.sessions.session.suspended": MaestroBusEventCatalogEntry;
31
36
  readonly "maestro.sessions.session.resumed": MaestroBusEventCatalogEntry;
32
37
  readonly "maestro.sessions.session.closed": MaestroBusEventCatalogEntry;
38
+ readonly "maestro.events.install_check.completed": MaestroBusEventCatalogEntry;
33
39
  readonly "maestro.events.approval_hit": MaestroBusEventCatalogEntry;
34
40
  readonly "maestro.events.sandbox_violation": MaestroBusEventCatalogEntry;
35
41
  readonly "maestro.events.firewall_block": MaestroBusEventCatalogEntry;
36
42
  readonly "maestro.events.tool_call.attempted": MaestroBusEventCatalogEntry;
37
43
  readonly "maestro.events.tool_call.completed": MaestroBusEventCatalogEntry;
44
+ readonly "maestro.events.tool_call.failed": MaestroBusEventCatalogEntry;
45
+ readonly "maestro.events.error.captured": MaestroBusEventCatalogEntry;
46
+ readonly "maestro.events.artifact.created": MaestroBusEventCatalogEntry;
47
+ readonly "maestro.events.final_status.reported": MaestroBusEventCatalogEntry;
38
48
  readonly "maestro.events.prompt_variant.selected": MaestroBusEventCatalogEntry;
39
49
  readonly "maestro.events.context.learned": MaestroBusEventCatalogEntry;
40
50
  readonly "maestro.events.skill.invoked": MaestroBusEventCatalogEntry;
@@ -44,7 +54,11 @@ export declare const MAESTRO_BUS_EVENT_CATALOG: {
44
54
  readonly "maestro.events.eval.scored": MaestroBusEventCatalogEntry;
45
55
  };
46
56
  export declare const MAESTRO_BUS_EVENT_TYPES: MaestroBusEventType[];
57
+ export declare const MAESTRO_RELEASE_GATE_EVENT_CATEGORIES: readonly ["install", "session", "tool", "approval", "error", "artifact", "final-status"];
58
+ export type MaestroReleaseGateEventCategory = (typeof MAESTRO_RELEASE_GATE_EVENT_CATEGORIES)[number];
47
59
  export declare function isMaestroBusEventType(value: string): value is MaestroBusEventType;
48
60
  export declare function getMaestroBusEventCatalogEntry(type: MaestroBusEventType): MaestroBusEventCatalogEntry;
49
61
  export declare function listMaestroBusEventCatalog(): readonly MaestroBusEventCatalogEntry[];
62
+ export declare function listMaestroBusEventCatalogByCategory(category: MaestroBusEventCategory): readonly MaestroBusEventCatalogEntry[];
63
+ export declare function getMissingMaestroReleaseGateEventCategories(catalog?: readonly MaestroBusEventCatalogEntry[]): readonly MaestroReleaseGateEventCategory[];
50
64
  //# sourceMappingURL=maestro-event-catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"maestro-event-catalog.d.ts","sourceRoot":"","sources":["../../src/telemetry/maestro-event-catalog.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC9B,cAAc,qCAAqC;IACnD,gBAAgB,uCAAuC;IACvD,cAAc,qCAAqC;IACnD,aAAa,oCAAoC;IACjD,WAAW,gCAAgC;IAC3C,gBAAgB,qCAAqC;IACrD,aAAa,kCAAkC;IAC/C,iBAAiB,uCAAuC;IACxD,iBAAiB,uCAAuC;IACxD,qBAAqB,2CAA2C;IAChE,cAAc,mCAAmC;IACjD,YAAY,iCAAiC;IAC7C,cAAc,mCAAmC;IACjD,WAAW,gCAAgC;IAC3C,kBAAkB,uCAAuC;IACzD,UAAU,+BAA+B;CACzC;AAED,MAAM,MAAM,uBAAuB,GAChC,SAAS,GACT,OAAO,GACP,UAAU,GACV,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,MAAM,CAAC;AAEV,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,IAAI,EAAE,mBAAmB,CAAC;CAC1B;AAoBD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;CA6GuC,CAAC;AAE9E,eAAO,MAAM,uBAAuB,uBAAqC,CAAC;AAE1E,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,MAAM,GACX,KAAK,IAAI,mBAAmB,CAE9B;AAED,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,mBAAmB,GACvB,2BAA2B,CAE7B;AAED,wBAAgB,0BAA0B,IAAI,SAAS,2BAA2B,EAAE,CAEnF"}
1
+ {"version":3,"file":"maestro-event-catalog.d.ts","sourceRoot":"","sources":["../../src/telemetry/maestro-event-catalog.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC9B,cAAc,qCAAqC;IACnD,gBAAgB,uCAAuC;IACvD,cAAc,qCAAqC;IACnD,aAAa,oCAAoC;IACjD,qBAAqB,2CAA2C;IAChE,WAAW,gCAAgC;IAC3C,gBAAgB,qCAAqC;IACrD,aAAa,kCAAkC;IAC/C,iBAAiB,uCAAuC;IACxD,iBAAiB,uCAAuC;IACxD,cAAc,oCAAoC;IAClD,aAAa,kCAAkC;IAC/C,eAAe,oCAAoC;IACnD,mBAAmB,yCAAyC;IAC5D,qBAAqB,2CAA2C;IAChE,cAAc,mCAAmC;IACjD,YAAY,iCAAiC;IAC7C,cAAc,mCAAmC;IACjD,WAAW,gCAAgC;IAC3C,kBAAkB,uCAAuC;IACzD,UAAU,+BAA+B;CACzC;AAED,MAAM,MAAM,uBAAuB,GAChC,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,GACV,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,cAAc,GACd,QAAQ,GACR,WAAW,GACX,OAAO,GACP,MAAM,CAAC;AAEV,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,IAAI,EAAE,mBAAmB,CAAC;CAC1B;AAoBD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;CA+IuC,CAAC;AAE9E,eAAO,MAAM,uBAAuB,uBAAqC,CAAC;AAE1E,eAAO,MAAM,qCAAqC,0FAQK,CAAC;AAExD,MAAM,MAAM,+BAA+B,GAC1C,CAAC,OAAO,qCAAqC,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,MAAM,GACX,KAAK,IAAI,mBAAmB,CAE9B;AAED,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,mBAAmB,GACvB,2BAA2B,CAE7B;AAED,wBAAgB,0BAA0B,IAAI,SAAS,2BAA2B,EAAE,CAEnF;AAED,wBAAgB,oCAAoC,CACnD,QAAQ,EAAE,uBAAuB,GAC/B,SAAS,2BAA2B,EAAE,CAIxC;AAED,wBAAgB,2CAA2C,CAC1D,OAAO,GAAE,SAAS,2BAA2B,EAAiC,GAC5E,SAAS,+BAA+B,EAAE,CAK5C"}
@@ -4,11 +4,16 @@ export var MaestroBusEventType;
4
4
  MaestroBusEventType["SessionSuspended"] = "maestro.sessions.session.suspended";
5
5
  MaestroBusEventType["SessionResumed"] = "maestro.sessions.session.resumed";
6
6
  MaestroBusEventType["SessionClosed"] = "maestro.sessions.session.closed";
7
+ MaestroBusEventType["InstallCheckCompleted"] = "maestro.events.install_check.completed";
7
8
  MaestroBusEventType["ApprovalHit"] = "maestro.events.approval_hit";
8
9
  MaestroBusEventType["SandboxViolation"] = "maestro.events.sandbox_violation";
9
10
  MaestroBusEventType["FirewallBlock"] = "maestro.events.firewall_block";
10
11
  MaestroBusEventType["ToolCallAttempted"] = "maestro.events.tool_call.attempted";
11
12
  MaestroBusEventType["ToolCallCompleted"] = "maestro.events.tool_call.completed";
13
+ MaestroBusEventType["ToolCallFailed"] = "maestro.events.tool_call.failed";
14
+ MaestroBusEventType["ErrorCaptured"] = "maestro.events.error.captured";
15
+ MaestroBusEventType["ArtifactCreated"] = "maestro.events.artifact.created";
16
+ MaestroBusEventType["FinalStatusReported"] = "maestro.events.final_status.reported";
12
17
  MaestroBusEventType["PromptVariantSelected"] = "maestro.events.prompt_variant.selected";
13
18
  MaestroBusEventType["ContextLearned"] = "maestro.events.context.learned";
14
19
  MaestroBusEventType["SkillInvoked"] = "maestro.events.skill.invoked";
@@ -45,11 +50,20 @@ export const MAESTRO_BUS_EVENT_CATALOG = {
45
50
  "fermata.maestro-session-replay-context",
46
51
  "meter.maestro-session-lifecycle",
47
52
  ]),
53
+ [MaestroBusEventType.InstallCheckCompleted]: entry(MaestroBusEventType.InstallCheckCompleted, "install", "PackageInstallCheck", ["meter.maestro-install-checks", "release.maestro-install-smoke"]),
48
54
  [MaestroBusEventType.ApprovalHit]: entry(MaestroBusEventType.ApprovalHit, "approval", "ApprovalHit", ["governance.maestro-approval-hit"]),
49
55
  [MaestroBusEventType.SandboxViolation]: entry(MaestroBusEventType.SandboxViolation, "safety", "SandboxViolation", ["governance.maestro-sandbox-violation"]),
50
56
  [MaestroBusEventType.FirewallBlock]: entry(MaestroBusEventType.FirewallBlock, "safety", "FirewallBlock", ["governance.maestro-firewall-block"]),
51
57
  [MaestroBusEventType.ToolCallAttempted]: entry(MaestroBusEventType.ToolCallAttempted, "tool", "ToolCallAttempt", ["meter.maestro-tool-call-events"]),
52
58
  [MaestroBusEventType.ToolCallCompleted]: entry(MaestroBusEventType.ToolCallCompleted, "tool", "ToolCallResult", ["meter.maestro-tool-call-events", "skills.maestro-tool-call-completed"]),
59
+ [MaestroBusEventType.ToolCallFailed]: entry(MaestroBusEventType.ToolCallFailed, "tool", "ToolCallResult", [
60
+ "meter.maestro-tool-call-events",
61
+ "release.maestro-tool-failure-gates",
62
+ "skills.maestro-tool-call-failed",
63
+ ]),
64
+ [MaestroBusEventType.ErrorCaptured]: entry(MaestroBusEventType.ErrorCaptured, "error", "MaestroError", ["audit.maestro-errors", "meter.maestro-errors"]),
65
+ [MaestroBusEventType.ArtifactCreated]: entry(MaestroBusEventType.ArtifactCreated, "artifact", "MaestroArtifact", ["fermata.maestro-artifacts", "meter.maestro-artifacts"]),
66
+ [MaestroBusEventType.FinalStatusReported]: entry(MaestroBusEventType.FinalStatusReported, "final-status", "MaestroFinalStatus", ["fermata.maestro-final-status", "meter.maestro-final-status"]),
53
67
  [MaestroBusEventType.PromptVariantSelected]: entry(MaestroBusEventType.PromptVariantSelected, "prompt", "PromptVariantSelected", ["prompts.maestro-prompt-variant-selected"]),
54
68
  [MaestroBusEventType.ContextLearned]: entry(MaestroBusEventType.ContextLearned, "knowledge", "MaestroLearnedContext", ["cerebro.maestro-learned-context"]),
55
69
  [MaestroBusEventType.SkillInvoked]: entry(MaestroBusEventType.SkillInvoked, "skill", "SkillInvocation", ["skills.maestro-skill-events"]),
@@ -59,6 +73,15 @@ export const MAESTRO_BUS_EVENT_CATALOG = {
59
73
  [MaestroBusEventType.EvalScored]: entry(MaestroBusEventType.EvalScored, "eval", "MaestroEvalScore", ["fermata.maestro-eval-scored", "prompts.maestro-eval-scored"]),
60
74
  };
61
75
  export const MAESTRO_BUS_EVENT_TYPES = Object.values(MaestroBusEventType);
76
+ export const MAESTRO_RELEASE_GATE_EVENT_CATEGORIES = [
77
+ "install",
78
+ "session",
79
+ "tool",
80
+ "approval",
81
+ "error",
82
+ "artifact",
83
+ "final-status",
84
+ ];
62
85
  export function isMaestroBusEventType(value) {
63
86
  return MAESTRO_BUS_EVENT_TYPES.includes(value);
64
87
  }
@@ -68,4 +91,11 @@ export function getMaestroBusEventCatalogEntry(type) {
68
91
  export function listMaestroBusEventCatalog() {
69
92
  return MAESTRO_BUS_EVENT_TYPES.map(getMaestroBusEventCatalogEntry);
70
93
  }
94
+ export function listMaestroBusEventCatalogByCategory(category) {
95
+ return listMaestroBusEventCatalog().filter((entry) => entry.category === category);
96
+ }
97
+ export function getMissingMaestroReleaseGateEventCategories(catalog = listMaestroBusEventCatalog()) {
98
+ const coveredCategories = new Set(catalog.map((entry) => entry.category));
99
+ return MAESTRO_RELEASE_GATE_EVENT_CATEGORIES.filter((category) => !coveredCategories.has(category));
100
+ }
71
101
  //# sourceMappingURL=maestro-event-catalog.js.map