@evalops/maestro 0.10.50 → 0.10.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- package/dist/agent/agent-outcome.d.ts +54 -0
- package/dist/agent/agent-outcome.d.ts.map +1 -0
- package/dist/agent/agent-outcome.js +142 -0
- package/dist/agent/agent-outcome.js.map +1 -0
- package/dist/agent/agent-resume.d.ts.map +1 -1
- package/dist/agent/agent-resume.js +3 -3
- package/dist/agent/agent-resume.js.map +1 -1
- package/dist/agent/agent-run-summary.d.ts +37 -0
- package/dist/agent/agent-run-summary.d.ts.map +1 -0
- package/dist/agent/agent-run-summary.js +15 -0
- package/dist/agent/agent-run-summary.js.map +1 -0
- package/dist/agent/agent-work-board.d.ts +82 -0
- package/dist/agent/agent-work-board.d.ts.map +1 -0
- package/dist/agent/agent-work-board.js +312 -0
- package/dist/agent/agent-work-board.js.map +1 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/auto-compaction.d.ts +7 -2
- package/dist/agent/auto-compaction.d.ts.map +1 -1
- package/dist/agent/auto-compaction.js +23 -10
- package/dist/agent/auto-compaction.js.map +1 -1
- package/dist/agent/compaction.d.ts.map +1 -1
- package/dist/agent/compaction.js +1 -1
- package/dist/agent/compaction.js.map +1 -1
- package/dist/agent/context-handoff.d.ts.map +1 -1
- package/dist/agent/context-handoff.js +2 -1
- package/dist/agent/context-handoff.js.map +1 -1
- package/dist/agent/index.d.ts +8 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +8 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/mission-artifacts.d.ts +62 -0
- package/dist/agent/mission-artifacts.d.ts.map +1 -0
- package/dist/agent/mission-artifacts.js +438 -0
- package/dist/agent/mission-artifacts.js.map +1 -0
- package/dist/agent/mission-manifest.d.ts +139 -3
- package/dist/agent/mission-manifest.d.ts.map +1 -1
- package/dist/agent/mission-manifest.js +549 -3
- package/dist/agent/mission-manifest.js.map +1 -1
- package/dist/agent/mission-store.d.ts +80 -0
- package/dist/agent/mission-store.d.ts.map +1 -0
- package/dist/agent/mission-store.js +603 -0
- package/dist/agent/mission-store.js.map +1 -0
- package/dist/agent/modes.d.ts +3 -3
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +66 -3
- package/dist/agent/modes.js.map +1 -1
- package/dist/agent/oracle-consultation-policy.d.ts +22 -0
- package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
- package/dist/agent/oracle-consultation-policy.js +72 -0
- package/dist/agent/oracle-consultation-policy.js.map +1 -0
- package/dist/agent/oracle-policy-experiment.d.ts +27 -0
- package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
- package/dist/agent/oracle-policy-experiment.js +59 -0
- package/dist/agent/oracle-policy-experiment.js.map +1 -0
- package/dist/agent/oracle-policy-rollout.d.ts +42 -0
- package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
- package/dist/agent/oracle-policy-rollout.js +80 -0
- package/dist/agent/oracle-policy-rollout.js.map +1 -0
- package/dist/agent/plugin-agent-api.d.ts +13 -0
- package/dist/agent/plugin-agent-api.d.ts.map +1 -0
- package/dist/agent/plugin-agent-api.js +11 -0
- package/dist/agent/plugin-agent-api.js.map +1 -0
- package/dist/agent/plugin-agent-loader.d.ts +17 -0
- package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
- package/dist/agent/plugin-agent-loader.js +81 -0
- package/dist/agent/plugin-agent-loader.js.map +1 -0
- package/dist/agent/plugin-agent-registry.d.ts +62 -0
- package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
- package/dist/agent/plugin-agent-registry.js +109 -0
- package/dist/agent/plugin-agent-registry.js.map +1 -0
- package/dist/agent/profile-loader.d.ts +7 -0
- package/dist/agent/profile-loader.d.ts.map +1 -0
- package/dist/agent/profile-loader.js +115 -0
- package/dist/agent/profile-loader.js.map +1 -0
- package/dist/agent/profiles.d.ts +30 -0
- package/dist/agent/profiles.d.ts.map +1 -0
- package/dist/agent/profiles.js +146 -0
- package/dist/agent/profiles.js.map +1 -0
- package/dist/agent/prompt-cache.d.ts +0 -4
- package/dist/agent/prompt-cache.d.ts.map +1 -1
- package/dist/agent/prompt-cache.js +1 -7
- package/dist/agent/prompt-cache.js.map +1 -1
- package/dist/agent/providers/codex-app-server.d.ts.map +1 -1
- package/dist/agent/providers/codex-app-server.js +1 -3
- package/dist/agent/providers/codex-app-server.js.map +1 -1
- package/dist/agent/providers/google-gemini-cli.js +204 -107
- package/dist/agent/providers/google.js +101 -41
- package/dist/agent/providers/scripted.d.ts.map +1 -1
- package/dist/agent/providers/scripted.js +1 -3
- package/dist/agent/providers/scripted.js.map +1 -1
- package/dist/agent/providers/validation.d.ts.map +1 -1
- package/dist/agent/providers/validation.js +1 -3
- package/dist/agent/providers/validation.js.map +1 -1
- package/dist/agent/providers/vertex.js +204 -107
- package/dist/agent/routing-receipt.d.ts +34 -0
- package/dist/agent/routing-receipt.d.ts.map +1 -0
- package/dist/agent/routing-receipt.js +55 -0
- package/dist/agent/routing-receipt.js.map +1 -0
- package/dist/agent/skill-artifact-metadata.d.ts +14 -0
- package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
- package/dist/agent/skill-artifact-metadata.js +49 -0
- package/dist/agent/skill-artifact-metadata.js.map +1 -0
- package/dist/agent/snapshot-store.d.ts +32 -0
- package/dist/agent/snapshot-store.d.ts.map +1 -0
- package/dist/agent/snapshot-store.js +195 -0
- package/dist/agent/snapshot-store.js.map +1 -0
- package/dist/agent/specialist-profiles.d.ts +36 -0
- package/dist/agent/specialist-profiles.d.ts.map +1 -0
- package/dist/agent/specialist-profiles.js +159 -0
- package/dist/agent/specialist-profiles.js.map +1 -0
- package/dist/agent/subagent-specs.d.ts +5 -2
- package/dist/agent/subagent-specs.d.ts.map +1 -1
- package/dist/agent/subagent-specs.js +83 -10
- package/dist/agent/subagent-specs.js.map +1 -1
- package/dist/agent/swarm/coverage-gate.d.ts +37 -0
- package/dist/agent/swarm/coverage-gate.d.ts.map +1 -0
- package/dist/agent/swarm/coverage-gate.js +48 -0
- package/dist/agent/swarm/coverage-gate.js.map +1 -0
- package/dist/agent/swarm/executor.d.ts +1 -0
- package/dist/agent/swarm/executor.d.ts.map +1 -1
- package/dist/agent/swarm/executor.js +151 -15
- package/dist/agent/swarm/executor.js.map +1 -1
- package/dist/agent/swarm/orchestrator-prompt.d.ts +25 -0
- package/dist/agent/swarm/orchestrator-prompt.d.ts.map +1 -0
- package/dist/agent/swarm/orchestrator-prompt.js +48 -0
- package/dist/agent/swarm/orchestrator-prompt.js.map +1 -0
- package/dist/agent/swarm/plan-parser.d.ts.map +1 -1
- package/dist/agent/swarm/plan-parser.js +27 -2
- package/dist/agent/swarm/plan-parser.js.map +1 -1
- package/dist/agent/swarm/types.d.ts +17 -0
- package/dist/agent/swarm/types.d.ts.map +1 -1
- package/dist/agent/swarm/types.js.map +1 -1
- package/dist/agent/swarm/validation-directive.d.ts +21 -0
- package/dist/agent/swarm/validation-directive.d.ts.map +1 -0
- package/dist/agent/swarm/validation-directive.js +25 -0
- package/dist/agent/swarm/validation-directive.js.map +1 -0
- package/dist/agent/token-counter.d.ts +40 -0
- package/dist/agent/token-counter.d.ts.map +1 -0
- package/dist/agent/token-counter.js +74 -0
- package/dist/agent/token-counter.js.map +1 -0
- package/dist/agent/transport/events.d.ts +1 -1
- package/dist/agent/transport/events.d.ts.map +1 -1
- package/dist/agent/transport/events.js +1 -1
- package/dist/agent/transport/events.js.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
- package/dist/agent/transport/tool-execution-bridge.js +4 -1
- package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
- package/dist/agent/types.d.ts +4 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/enterprise-routes.d.ts.map +1 -1
- package/dist/api/enterprise-routes.js +87 -10
- package/dist/api/enterprise-routes.js.map +1 -1
- package/dist/api/org-settings-merge.d.ts +12 -0
- package/dist/api/org-settings-merge.d.ts.map +1 -0
- package/dist/api/org-settings-merge.js +38 -0
- package/dist/api/org-settings-merge.js.map +1 -0
- package/dist/api/user-settings-merge.d.ts +16 -0
- package/dist/api/user-settings-merge.d.ts.map +1 -0
- package/dist/api/user-settings-merge.js +37 -0
- package/dist/api/user-settings-merge.js.map +1 -0
- package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -1
- package/dist/app-server/daemon-lifecycle-api.js +1 -3
- package/dist/app-server/daemon-lifecycle-api.js.map +1 -1
- package/dist/app-server/external-agent-import-api.d.ts.map +1 -1
- package/dist/app-server/external-agent-import-api.js +1 -3
- package/dist/app-server/external-agent-import-api.js.map +1 -1
- package/dist/app-server/network-governance-api.d.ts.map +1 -1
- package/dist/app-server/network-governance-api.js +1 -3
- package/dist/app-server/network-governance-api.js.map +1 -1
- package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
- package/dist/app-server/plugin-bundle-api.js +2 -3
- package/dist/app-server/plugin-bundle-api.js.map +1 -1
- package/dist/app-server/policy-control-api.d.ts.map +1 -1
- package/dist/app-server/policy-control-api.js +1 -3
- package/dist/app-server/policy-control-api.js.map +1 -1
- package/dist/app-server/protocol-modes-api.d.ts.map +1 -1
- package/dist/app-server/protocol-modes-api.js +1 -3
- package/dist/app-server/protocol-modes-api.js.map +1 -1
- package/dist/app-server/session-api.d.ts.map +1 -1
- package/dist/app-server/session-api.js +15 -2
- package/dist/app-server/session-api.js.map +1 -1
- package/dist/audit/logger.d.ts +5 -5
- package/dist/cli/args.d.ts +4 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +33 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/a2a.d.ts.map +1 -1
- package/dist/cli/commands/a2a.js +1 -3
- package/dist/cli/commands/a2a.js.map +1 -1
- package/dist/cli/commands/mission.d.ts +4 -0
- package/dist/cli/commands/mission.d.ts.map +1 -0
- package/dist/cli/commands/mission.js +196 -0
- package/dist/cli/commands/mission.js.map +1 -0
- package/dist/cli/commands/value.d.ts +10 -0
- package/dist/cli/commands/value.d.ts.map +1 -0
- package/dist/cli/commands/value.js +33 -0
- package/dist/cli/commands/value.js.map +1 -0
- package/dist/cli/direct-runtime-command.d.ts +1 -0
- package/dist/cli/direct-runtime-command.d.ts.map +1 -1
- package/dist/cli/direct-runtime-command.js +25 -3
- package/dist/cli/direct-runtime-command.js.map +1 -1
- package/dist/cli/headless-protocol.d.ts.map +1 -1
- package/dist/cli/headless-protocol.js +1 -3
- package/dist/cli/headless-protocol.js.map +1 -1
- package/dist/cli/headless.d.ts +3 -19
- package/dist/cli/headless.d.ts.map +1 -1
- package/dist/cli/headless.js +8 -619
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +13 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/native-tui-launcher.d.ts +126 -0
- package/dist/cli/native-tui-launcher.d.ts.map +1 -0
- package/dist/cli/native-tui-launcher.js +425 -0
- package/dist/cli/native-tui-launcher.js.map +1 -0
- package/dist/cli/rpc-mode.d.ts +3 -27
- package/dist/cli/rpc-mode.d.ts.map +1 -1
- package/dist/cli/rpc-mode.js +8 -177
- package/dist/cli/rpc-mode.js.map +1 -1
- package/dist/cli/session.d.ts +11 -19
- package/dist/cli/session.d.ts.map +1 -1
- package/dist/cli/session.js +6 -64
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/system-prompt.d.ts.map +1 -1
- package/dist/cli/system-prompt.js +38 -7
- package/dist/cli/system-prompt.js.map +1 -1
- package/dist/cli-command-runtime.d.ts.map +1 -1
- package/dist/cli-command-runtime.js +26 -24
- package/dist/cli-command-runtime.js.map +1 -1
- package/dist/cli-runtime.js +41729 -121859
- package/dist/codex/app-server-client.d.ts.map +1 -1
- package/dist/codex/app-server-client.js +1 -3
- package/dist/codex/app-server-client.js.map +1 -1
- package/dist/codex/compatibility.d.ts.map +1 -1
- package/dist/codex/compatibility.js +1 -3
- package/dist/codex/compatibility.js.map +1 -1
- package/dist/codex/subagent-dispatch-table.d.ts +8 -0
- package/dist/codex/subagent-dispatch-table.d.ts.map +1 -1
- package/dist/codex/subagent-dispatch-table.js +23 -0
- package/dist/codex/subagent-dispatch-table.js.map +1 -1
- package/dist/config/env-vars.d.ts +12 -0
- package/dist/config/env-vars.d.ts.map +1 -1
- package/dist/config/env-vars.js +12 -0
- package/dist/config/env-vars.js.map +1 -1
- package/dist/config/ui-state.d.ts +32 -0
- package/dist/config/ui-state.d.ts.map +1 -0
- package/dist/config/ui-state.js +88 -0
- package/dist/config/ui-state.js.map +1 -0
- package/dist/context/manifest.d.ts.map +1 -1
- package/dist/context/manifest.js +1 -3
- package/dist/context/manifest.js.map +1 -1
- package/dist/context/repo-map.d.ts.map +1 -1
- package/dist/context/repo-map.js +1 -7
- package/dist/context/repo-map.js.map +1 -1
- package/dist/context/token-optimizer.d.ts.map +1 -1
- package/dist/context/token-optimizer.js +1 -8
- package/dist/context/token-optimizer.js.map +1 -1
- package/dist/conversation/render-model.d.ts +0 -36
- package/dist/conversation/render-model.d.ts.map +1 -1
- package/dist/conversation/render-model.js +1 -3
- package/dist/conversation/render-model.js.map +1 -1
- package/dist/customer-value/ambient-learning.d.ts +75 -0
- package/dist/customer-value/ambient-learning.d.ts.map +1 -0
- package/dist/customer-value/ambient-learning.js +472 -0
- package/dist/customer-value/ambient-learning.js.map +1 -0
- package/dist/customer-value/internal-helpers.d.ts +13 -0
- package/dist/customer-value/internal-helpers.d.ts.map +1 -0
- package/dist/customer-value/internal-helpers.js +70 -0
- package/dist/customer-value/internal-helpers.js.map +1 -0
- package/dist/customer-value/report.d.ts +282 -0
- package/dist/customer-value/report.d.ts.map +1 -0
- package/dist/customer-value/report.js +2085 -0
- package/dist/customer-value/report.js.map +1 -0
- package/dist/db/schema.d.ts +7 -3
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/evalops/agent-bootstrap.d.ts.map +1 -1
- package/dist/evalops/agent-bootstrap.js +1 -3
- package/dist/evalops/agent-bootstrap.js.map +1 -1
- package/dist/evalops/agent-mcp-metadata.d.ts.map +1 -1
- package/dist/evalops/agent-mcp-metadata.js +1 -3
- package/dist/evalops/agent-mcp-metadata.js.map +1 -1
- package/dist/hooks/notification-hooks.d.ts +1 -1
- package/dist/hooks/notification-hooks.d.ts.map +1 -1
- package/dist/hooks/notification-hooks.js.map +1 -1
- package/dist/hooks/tui-surface.d.ts +35 -0
- package/dist/hooks/tui-surface.d.ts.map +1 -0
- package/dist/hooks/tui-surface.js +11 -0
- package/dist/hooks/tui-surface.js.map +1 -0
- package/dist/hooks/types.d.ts +2 -1
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/hooks/types.js.map +1 -1
- package/dist/hooks/typescript-loader.d.ts.map +1 -1
- package/dist/hooks/typescript-loader.js.map +1 -1
- package/dist/hooks/ui-context.d.ts.map +1 -1
- package/dist/hooks/ui-context.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/installers/maestro-review-workflow.d.ts +38 -0
- package/dist/installers/maestro-review-workflow.d.ts.map +1 -0
- package/dist/installers/maestro-review-workflow.js +163 -0
- package/dist/installers/maestro-review-workflow.js.map +1 -0
- package/dist/load-env.d.ts.map +1 -1
- package/dist/load-env.js +2 -1
- package/dist/load-env.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +201 -840
- package/dist/main.js.map +1 -1
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +1 -3
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/elicitation.d.ts.map +1 -1
- package/dist/mcp/elicitation.js +1 -3
- package/dist/mcp/elicitation.js.map +1 -1
- package/dist/mcp/official-registry.d.ts.map +1 -1
- package/dist/mcp/official-registry.js +1 -3
- package/dist/mcp/official-registry.js.map +1 -1
- package/dist/mcp/workspace-trust.d.ts.map +1 -1
- package/dist/mcp/workspace-trust.js +1 -3
- package/dist/mcp/workspace-trust.js.map +1 -1
- package/dist/memory/service-client.d.ts.map +1 -1
- package/dist/memory/service-client.js +1 -3
- package/dist/memory/service-client.js.map +1 -1
- package/dist/models/config-loader.d.ts +5 -5
- package/dist/models/config-loader.d.ts.map +1 -1
- package/dist/models/config-loader.js +1 -3
- package/dist/models/config-loader.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts +46 -0
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.js +3 -0
- package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts +61 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js +183 -0
- package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts +986 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
- package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
- package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
- package/dist/node_modules/@evalops/contracts/package.json +1 -1
- package/dist/oauth/connectors.d.ts.map +1 -1
- package/dist/oauth/connectors.js +1 -3
- package/dist/oauth/connectors.js.map +1 -1
- package/dist/oauth/evalops.d.ts.map +1 -1
- package/dist/oauth/evalops.js +1 -3
- package/dist/oauth/evalops.js.map +1 -1
- package/dist/packages/discovery.d.ts.map +1 -1
- package/dist/packages/discovery.js +1 -0
- package/dist/packages/discovery.js.map +1 -1
- package/dist/packages/inspection.d.ts.map +1 -1
- package/dist/packages/inspection.js +7 -1
- package/dist/packages/inspection.js.map +1 -1
- package/dist/packages/loader.d.ts.map +1 -1
- package/dist/packages/loader.js +8 -1
- package/dist/packages/loader.js.map +1 -1
- package/dist/packages/runtime.d.ts +1 -0
- package/dist/packages/runtime.d.ts.map +1 -1
- package/dist/packages/runtime.js +9 -1
- package/dist/packages/runtime.js.map +1 -1
- package/dist/packages/types.d.ts +6 -0
- package/dist/packages/types.d.ts.map +1 -1
- package/dist/packages/types.js.map +1 -1
- package/dist/platform/a2a-client.d.ts.map +1 -1
- package/dist/platform/a2a-client.js +1 -3
- package/dist/platform/a2a-client.js.map +1 -1
- package/dist/platform/a2a-cockpit.d.ts +1 -0
- package/dist/platform/a2a-cockpit.d.ts.map +1 -1
- package/dist/platform/a2a-cockpit.js +42 -11
- package/dist/platform/a2a-cockpit.js.map +1 -1
- package/dist/platform/a2a-completion-audit.d.ts +1 -1
- package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
- package/dist/platform/a2a-completion-audit.js +7 -11
- package/dist/platform/a2a-completion-audit.js.map +1 -1
- package/dist/platform/a2a-maestro-peer.js +16 -0
- package/dist/platform/a2a-maestro-peer.js.map +1 -1
- package/dist/platform/a2a-peer-pairing.d.ts.map +1 -1
- package/dist/platform/a2a-peer-pairing.js +1 -3
- package/dist/platform/a2a-peer-pairing.js.map +1 -1
- package/dist/platform/a2a-peer-registry.d.ts.map +1 -1
- package/dist/platform/a2a-peer-registry.js +1 -3
- package/dist/platform/a2a-peer-registry.js.map +1 -1
- package/dist/platform/a2a-task-ledger.d.ts +20 -0
- package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
- package/dist/platform/a2a-task-ledger.js +207 -11
- package/dist/platform/a2a-task-ledger.js.map +1 -1
- package/dist/platform/a2a-work-graph.d.ts.map +1 -1
- package/dist/platform/a2a-work-graph.js +1 -3
- package/dist/platform/a2a-work-graph.js.map +1 -1
- package/dist/platform/operating-layer.d.ts.map +1 -1
- package/dist/platform/operating-layer.js +14 -8
- package/dist/platform/operating-layer.js.map +1 -1
- package/dist/platform/tool-execution-client.d.ts.map +1 -1
- package/dist/platform/tool-execution-client.js +19 -2
- package/dist/platform/tool-execution-client.js.map +1 -1
- package/dist/providers/auth.d.ts.map +1 -1
- package/dist/providers/auth.js +1 -3
- package/dist/providers/auth.js.map +1 -1
- package/dist/runtime/agent-runtime.d.ts +22 -6
- package/dist/runtime/agent-runtime.d.ts.map +1 -1
- package/dist/runtime/agent-runtime.js +1 -1
- package/dist/runtime/agent-runtime.js.map +1 -1
- package/dist/runtime/env.d.ts +10 -1
- package/dist/runtime/env.d.ts.map +1 -1
- package/dist/runtime/env.js +64 -1
- package/dist/runtime/env.js.map +1 -1
- package/dist/runtime/prompt-queue.d.ts.map +1 -0
- package/dist/runtime/prompt-queue.js.map +1 -0
- package/dist/safety/policy.d.ts.map +1 -1
- package/dist/safety/policy.js +1 -4
- package/dist/safety/policy.js.map +1 -1
- package/dist/sandbox/docker-sandbox.d.ts.map +1 -1
- package/dist/sandbox/docker-sandbox.js +6 -1
- package/dist/sandbox/docker-sandbox.js.map +1 -1
- package/dist/server/handlers/chat-ws.d.ts +2 -1
- package/dist/server/handlers/chat-ws.d.ts.map +1 -1
- package/dist/server/handlers/chat-ws.js +150 -5
- package/dist/server/handlers/chat-ws.js.map +1 -1
- package/dist/server/handlers/chat.d.ts.map +1 -1
- package/dist/server/handlers/chat.js +78 -5
- package/dist/server/handlers/chat.js.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
- package/dist/server/handlers/hosted-runner-drain.js +1 -3
- package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
- package/dist/server/handlers/package.d.ts.map +1 -1
- package/dist/server/handlers/package.js +1 -0
- package/dist/server/handlers/package.js.map +1 -1
- package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
- package/dist/server/handlers/platform-a2a-push.js +53 -2
- package/dist/server/handlers/platform-a2a-push.js.map +1 -1
- package/dist/server/handlers/queue.js +1 -1
- package/dist/server/handlers/queue.js.map +1 -1
- package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -1
- package/dist/server/handlers/runtime-app-server-ws.js +1 -3
- package/dist/server/handlers/runtime-app-server-ws.js.map +1 -1
- package/dist/server/handlers/ui.js +1 -1
- package/dist/server/handlers/ui.js.map +1 -1
- package/dist/server/handlers/zen.js +1 -1
- package/dist/server/handlers/zen.js.map +1 -1
- package/dist/server/headless-runtime-service.d.ts +16 -0
- package/dist/server/headless-runtime-service.d.ts.map +1 -1
- package/dist/server/headless-runtime-service.js +232 -206
- package/dist/server/headless-runtime-service.js.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
- package/dist/server/hosted-agent-runtime-progress.js +12 -3
- package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
- package/dist/server/hosted-session-manager.d.ts +3 -0
- package/dist/server/hosted-session-manager.d.ts.map +1 -1
- package/dist/server/hosted-session-manager.js +26 -0
- package/dist/server/hosted-session-manager.js.map +1 -1
- package/dist/server/model-selection.d.ts +1 -0
- package/dist/server/model-selection.d.ts.map +1 -1
- package/dist/server/model-selection.js +4 -0
- package/dist/server/model-selection.js.map +1 -1
- package/dist/server/pending-request-payload.d.ts.map +1 -1
- package/dist/server/pending-request-payload.js +1 -3
- package/dist/server/pending-request-payload.js.map +1 -1
- package/dist/server/route-auth.d.ts.map +1 -1
- package/dist/server/route-auth.js +2 -0
- package/dist/server/route-auth.js.map +1 -1
- package/dist/server/session-serialization.d.ts.map +1 -1
- package/dist/server/session-serialization.js +4 -3
- package/dist/server/session-serialization.js.map +1 -1
- package/dist/server/session-timeline.d.ts.map +1 -1
- package/dist/server/session-timeline.js +1 -1
- package/dist/server/session-timeline.js.map +1 -1
- package/dist/server/sse-session.d.ts +2 -0
- package/dist/server/sse-session.d.ts.map +1 -1
- package/dist/server/sse-session.js +3 -0
- package/dist/server/sse-session.js.map +1 -1
- package/dist/server/stores/ui-store.d.ts +1 -1
- package/dist/server/stores/ui-store.d.ts.map +1 -1
- package/dist/server/stores/ui-store.js.map +1 -1
- package/dist/server/utils/token-estimator.d.ts +2 -2
- package/dist/server/utils/token-estimator.d.ts.map +1 -1
- package/dist/server/utils/token-estimator.js +2 -12
- package/dist/server/utils/token-estimator.js.map +1 -1
- package/dist/server/validation.d.ts +54 -0
- package/dist/server/validation.d.ts.map +1 -1
- package/dist/services/compliance/normalize.d.ts.map +1 -1
- package/dist/services/compliance/normalize.js +1 -3
- package/dist/services/compliance/normalize.js.map +1 -1
- package/dist/services/image-providers/cost.d.ts +70 -0
- package/dist/services/image-providers/cost.d.ts.map +1 -0
- package/dist/services/image-providers/cost.js +164 -0
- package/dist/services/image-providers/cost.js.map +1 -0
- package/dist/services/image-providers/flux.d.ts +40 -0
- package/dist/services/image-providers/flux.d.ts.map +1 -0
- package/dist/services/image-providers/flux.js +99 -0
- package/dist/services/image-providers/flux.js.map +1 -0
- package/dist/services/image-providers/index.d.ts +24 -0
- package/dist/services/image-providers/index.d.ts.map +1 -0
- package/dist/services/image-providers/index.js +27 -0
- package/dist/services/image-providers/index.js.map +1 -0
- package/dist/services/image-providers/masks.d.ts +51 -0
- package/dist/services/image-providers/masks.d.ts.map +1 -0
- package/dist/services/image-providers/masks.js +132 -0
- package/dist/services/image-providers/masks.js.map +1 -0
- package/dist/services/image-providers/openai.d.ts +35 -0
- package/dist/services/image-providers/openai.d.ts.map +1 -0
- package/dist/services/image-providers/openai.js +93 -0
- package/dist/services/image-providers/openai.js.map +1 -0
- package/dist/services/image-providers/types.d.ts +61 -0
- package/dist/services/image-providers/types.d.ts.map +1 -0
- package/dist/services/image-providers/types.js +17 -0
- package/dist/services/image-providers/types.js.map +1 -0
- package/dist/services/intelligent-router/index.d.ts +1 -0
- package/dist/services/intelligent-router/index.d.ts.map +1 -1
- package/dist/services/intelligent-router/index.js +1 -0
- package/dist/services/intelligent-router/index.js.map +1 -1
- package/dist/services/intelligent-router/normalize.d.ts +1 -0
- package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
- package/dist/services/intelligent-router/normalize.js +18 -3
- package/dist/services/intelligent-router/normalize.js.map +1 -1
- package/dist/services/intelligent-router/outcome.d.ts +19 -0
- package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
- package/dist/services/intelligent-router/outcome.js +51 -0
- package/dist/services/intelligent-router/outcome.js.map +1 -0
- package/dist/services/intelligent-router/recorder.d.ts +2 -0
- package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
- package/dist/services/intelligent-router/recorder.js +72 -1
- package/dist/services/intelligent-router/recorder.js.map +1 -1
- package/dist/services/intelligent-router/service.d.ts +1 -0
- package/dist/services/intelligent-router/service.d.ts.map +1 -1
- package/dist/services/intelligent-router/service.js +60 -11
- package/dist/services/intelligent-router/service.js.map +1 -1
- package/dist/services/intelligent-router/types.d.ts +18 -0
- package/dist/services/intelligent-router/types.d.ts.map +1 -1
- package/dist/services/intelligent-router/types.js.map +1 -1
- package/dist/services/revenue-attribution/normalize.d.ts.map +1 -1
- package/dist/services/revenue-attribution/normalize.js +1 -3
- package/dist/services/revenue-attribution/normalize.js.map +1 -1
- package/dist/services/traces/normalize.d.ts.map +1 -1
- package/dist/services/traces/normalize.js +1 -3
- package/dist/services/traces/normalize.js.map +1 -1
- package/dist/services/workspace-config/middleware.d.ts +2 -0
- package/dist/services/workspace-config/middleware.d.ts.map +1 -1
- package/dist/services/workspace-config/middleware.js +25 -28
- package/dist/services/workspace-config/middleware.js.map +1 -1
- package/dist/services/workspace-config/normalize.d.ts.map +1 -1
- package/dist/services/workspace-config/normalize.js +1 -3
- package/dist/services/workspace-config/normalize.js.map +1 -1
- package/dist/session/agent-lineage-projection.d.ts +30 -0
- package/dist/session/agent-lineage-projection.d.ts.map +1 -0
- package/dist/session/agent-lineage-projection.js +109 -0
- package/dist/session/agent-lineage-projection.js.map +1 -0
- package/dist/session/manager.d.ts +3 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +24 -0
- package/dist/session/manager.js.map +1 -1
- package/dist/session/session-graph-projection.d.ts +11 -0
- package/dist/session/session-graph-projection.d.ts.map +1 -1
- package/dist/session/session-graph-projection.js +28 -0
- package/dist/session/session-graph-projection.js.map +1 -1
- package/dist/session/types.d.ts +2 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js.map +1 -1
- package/dist/telemetry/agent-workforce-native-event.d.ts.map +1 -1
- package/dist/telemetry/agent-workforce-native-event.js +1 -3
- package/dist/telemetry/agent-workforce-native-event.js.map +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts +1 -1
- package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
- package/dist/telemetry/maestro-event-bus.js +42 -81
- package/dist/telemetry/maestro-event-bus.js.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
- package/dist/telemetry/maestro-platform-replay-fixture.js +1 -3
- package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
- package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
- package/dist/telemetry/oracle-policy.d.ts +6 -0
- package/dist/telemetry/oracle-policy.d.ts.map +1 -0
- package/dist/telemetry/oracle-policy.js +17 -0
- package/dist/telemetry/oracle-policy.js.map +1 -0
- package/dist/telemetry/wide-events.d.ts +1 -1
- package/dist/telemetry/wide-events.d.ts.map +1 -1
- package/dist/telemetry/wide-events.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +54 -43
- package/dist/telemetry.js.map +1 -1
- package/dist/theme/theme-loader.d.ts.map +1 -1
- package/dist/theme/theme-loader.js +1 -3
- package/dist/theme/theme-loader.js.map +1 -1
- package/dist/theme/theme.d.ts +2 -8
- package/dist/theme/theme.d.ts.map +1 -1
- package/dist/theme/theme.js +7 -0
- package/dist/theme/theme.js.map +1 -1
- package/dist/theme/tui-theme-helpers.d.ts +2 -1
- package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
- package/dist/theme/tui-theme-helpers.js.map +1 -1
- package/dist/theme/tui-theme-types.d.ts +39 -0
- package/dist/theme/tui-theme-types.d.ts.map +1 -0
- package/dist/theme/tui-theme-types.js +10 -0
- package/dist/theme/tui-theme-types.js.map +1 -0
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +76 -8
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/diff-preview.d.ts.map +1 -1
- package/dist/tools/diff-preview.js +10 -1
- package/dist/tools/diff-preview.js.map +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +17 -0
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/index.d.ts +199 -160
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/lazy-registry.d.ts.map +1 -1
- package/dist/tools/lazy-registry.js +1 -0
- package/dist/tools/lazy-registry.js.map +1 -1
- package/dist/tools/oracle.d.ts +9 -0
- package/dist/tools/oracle.d.ts.map +1 -1
- package/dist/tools/oracle.js +26 -24
- package/dist/tools/oracle.js.map +1 -1
- package/dist/tools/painter.d.ts +73 -0
- package/dist/tools/painter.d.ts.map +1 -0
- package/dist/tools/painter.js +283 -0
- package/dist/tools/painter.js.map +1 -0
- package/dist/tools/typebox-tool.d.ts.map +1 -1
- package/dist/tools/typebox-tool.js +1 -1
- package/dist/tools/typebox-tool.js.map +1 -1
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +9 -0
- package/dist/tools/write.js.map +1 -1
- package/dist/undo/tracker.d.ts +5 -0
- package/dist/undo/tracker.d.ts.map +1 -1
- package/dist/undo/tracker.js +13 -0
- package/dist/undo/tracker.js.map +1 -1
- package/dist/utils/fs.d.ts +1 -1
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +29 -2
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/git-stash.d.ts.map +1 -1
- package/dist/utils/git-stash.js +15 -8
- package/dist/utils/git-stash.js.map +1 -1
- package/dist/utils/json.d.ts +11 -0
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js +9 -0
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/shell-env.d.ts.map +1 -1
- package/dist/utils/shell-env.js +2 -0
- package/dist/utils/shell-env.js.map +1 -1
- package/dist/utils/terminal-image.d.ts +52 -0
- package/dist/utils/terminal-image.d.ts.map +1 -0
- package/dist/utils/terminal-image.js +95 -0
- package/dist/utils/terminal-image.js.map +1 -0
- package/dist/utils/terminal-text.d.ts +11 -0
- package/dist/utils/terminal-text.d.ts.map +1 -0
- package/dist/utils/terminal-text.js +21 -0
- package/dist/utils/terminal-text.js.map +1 -0
- package/dist/utils/url-extractor-git.d.ts +26 -0
- package/dist/utils/url-extractor-git.d.ts.map +1 -0
- package/dist/utils/url-extractor-git.js +259 -0
- package/dist/utils/url-extractor-git.js.map +1 -0
- package/dist/utils/url-extractor.d.ts.map +1 -1
- package/dist/utils/url-extractor.js +23 -251
- package/dist/utils/url-extractor.js.map +1 -1
- package/dist/version.json +2 -2
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +24 -2
- package/dist/web-server.js.map +1 -1
- package/package.json +312 -306
- package/skills/incident-triage/SKILL.md +20 -1
- package/skills/install-code-review/SKILL.md +69 -0
- package/skills/security-review/SKILL.md +68 -0
- package/skills/security-review/reference/rubric.md +85 -0
- package/dist/cli/commands/agents.d.ts +0 -20
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -280
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/anthropic.d.ts +0 -2
- package/dist/cli/commands/anthropic.d.ts.map +0 -1
- package/dist/cli/commands/anthropic.js +0 -6
- package/dist/cli/commands/anthropic.js.map +0 -1
- package/dist/cli/commands/cost.d.ts +0 -13
- package/dist/cli/commands/cost.d.ts.map +0 -1
- package/dist/cli/commands/cost.js +0 -143
- package/dist/cli/commands/cost.js.map +0 -1
- package/dist/cli/commands/exec-constants.d.ts +0 -3
- package/dist/cli/commands/exec-constants.d.ts.map +0 -1
- package/dist/cli/commands/exec-constants.js +0 -3
- package/dist/cli/commands/exec-constants.js.map +0 -1
- package/dist/cli/commands/exec.d.ts +0 -19
- package/dist/cli/commands/exec.d.ts.map +0 -1
- package/dist/cli/commands/exec.js +0 -207
- package/dist/cli/commands/exec.js.map +0 -1
- package/dist/cli/commands/hooks.d.ts +0 -2
- package/dist/cli/commands/hooks.d.ts.map +0 -1
- package/dist/cli/commands/hooks.js +0 -25
- package/dist/cli/commands/hooks.js.map +0 -1
- package/dist/cli/commands/hosted-runner.d.ts +0 -25
- package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
- package/dist/cli/commands/hosted-runner.js +0 -278
- package/dist/cli/commands/hosted-runner.js.map +0 -1
- package/dist/cli/commands/memory.d.ts +0 -2
- package/dist/cli/commands/memory.d.ts.map +0 -1
- package/dist/cli/commands/memory.js +0 -208
- package/dist/cli/commands/memory.js.map +0 -1
- package/dist/cli/commands/models.d.ts +0 -3
- package/dist/cli/commands/models.d.ts.map +0 -1
- package/dist/cli/commands/models.js +0 -154
- package/dist/cli/commands/models.js.map +0 -1
- package/dist/cli/commands/modes.d.ts +0 -8
- package/dist/cli/commands/modes.d.ts.map +0 -1
- package/dist/cli/commands/modes.js +0 -151
- package/dist/cli/commands/modes.js.map +0 -1
- package/dist/cli/commands/openai.d.ts +0 -2
- package/dist/cli/commands/openai.d.ts.map +0 -1
- package/dist/cli/commands/openai.js +0 -116
- package/dist/cli/commands/openai.js.map +0 -1
- package/dist/cli/commands/session-transfer.d.ts +0 -5
- package/dist/cli/commands/session-transfer.d.ts.map +0 -1
- package/dist/cli/commands/session-transfer.js +0 -43
- package/dist/cli/commands/session-transfer.js.map +0 -1
- package/dist/cli/commands/sessions.d.ts +0 -8
- package/dist/cli/commands/sessions.d.ts.map +0 -1
- package/dist/cli/commands/sessions.js +0 -152
- package/dist/cli/commands/sessions.js.map +0 -1
- package/dist/cli/commands/skill.d.ts +0 -10
- package/dist/cli/commands/skill.d.ts.map +0 -1
- package/dist/cli/commands/skill.js +0 -303
- package/dist/cli/commands/skill.js.map +0 -1
- package/dist/cli/commands/stats.d.ts +0 -7
- package/dist/cli/commands/stats.d.ts.map +0 -1
- package/dist/cli/commands/stats.js +0 -167
- package/dist/cli/commands/stats.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -2
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -11
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -12
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -148
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli-tui/about-view.d.ts +0 -48
- package/dist/cli-tui/about-view.d.ts.map +0 -1
- package/dist/cli-tui/about-view.js +0 -206
- package/dist/cli-tui/about-view.js.map +0 -1
- package/dist/cli-tui/agent-event-router.d.ts +0 -28
- package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
- package/dist/cli-tui/agent-event-router.js +0 -126
- package/dist/cli-tui/agent-event-router.js.map +0 -1
- package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
- package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
- package/dist/cli-tui/approval/approval-controller.js +0 -99
- package/dist/cli-tui/approval/approval-controller.js.map +0 -1
- package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
- package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
- package/dist/cli-tui/approval/approval-modal.js +0 -143
- package/dist/cli-tui/approval/approval-modal.js.map +0 -1
- package/dist/cli-tui/assistant-message.d.ts +0 -41
- package/dist/cli-tui/assistant-message.d.ts.map +0 -1
- package/dist/cli-tui/assistant-message.js +0 -236
- package/dist/cli-tui/assistant-message.js.map +0 -1
- package/dist/cli-tui/auth-state.d.ts +0 -7
- package/dist/cli-tui/auth-state.d.ts.map +0 -1
- package/dist/cli-tui/auth-state.js +0 -46
- package/dist/cli-tui/auth-state.js.map +0 -1
- package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
- package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
- package/dist/cli-tui/background/background-tasks-controller.js +0 -84
- package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
- package/dist/cli-tui/base-view.d.ts +0 -111
- package/dist/cli-tui/base-view.d.ts.map +0 -1
- package/dist/cli-tui/base-view.js +0 -145
- package/dist/cli-tui/base-view.js.map +0 -1
- package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
- package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
- package/dist/cli-tui/bash/background-launcher.js +0 -50
- package/dist/cli-tui/bash/background-launcher.js.map +0 -1
- package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
- package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
- package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
- package/dist/cli-tui/bash/bash-history.d.ts +0 -21
- package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-history.js +0 -72
- package/dist/cli-tui/bash/bash-history.js.map +0 -1
- package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
- package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
- package/dist/cli-tui/bash/bash-syntax.js +0 -176
- package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
- package/dist/cli-tui/bash/index.d.ts +0 -4
- package/dist/cli-tui/bash/index.d.ts.map +0 -1
- package/dist/cli-tui/bash/index.js +0 -4
- package/dist/cli-tui/bash/index.js.map +0 -1
- package/dist/cli-tui/bash-mode-view.d.ts +0 -86
- package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
- package/dist/cli-tui/bash-mode-view.js +0 -560
- package/dist/cli-tui/bash-mode-view.js.map +0 -1
- package/dist/cli-tui/bash-shell-block.d.ts +0 -50
- package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
- package/dist/cli-tui/bash-shell-block.js +0 -119
- package/dist/cli-tui/bash-shell-block.js.map +0 -1
- package/dist/cli-tui/changelog-view.d.ts +0 -13
- package/dist/cli-tui/changelog-view.d.ts.map +0 -1
- package/dist/cli-tui/changelog-view.js +0 -34
- package/dist/cli-tui/changelog-view.js.map +0 -1
- package/dist/cli-tui/clean-mode.d.ts +0 -13
- package/dist/cli-tui/clean-mode.d.ts.map +0 -1
- package/dist/cli-tui/clean-mode.js +0 -32
- package/dist/cli-tui/clean-mode.js.map +0 -1
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +0 -862
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
- package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
- package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
- package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
- package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
- package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
- package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/a2a-handlers.js +0 -215
- package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
- package/dist/cli-tui/commands/access-command.d.ts +0 -3
- package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/access-command.js +0 -89
- package/dist/cli-tui/commands/access-command.js.map +0 -1
- package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
- package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
- package/dist/cli-tui/commands/argument-parser.js +0 -135
- package/dist/cli-tui/commands/argument-parser.js.map +0 -1
- package/dist/cli-tui/commands/audit-command.d.ts +0 -5
- package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/audit-command.js +0 -35
- package/dist/cli-tui/commands/audit-command.js.map +0 -1
- package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
- package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/background-handlers.js +0 -115
- package/dist/cli-tui/commands/background-handlers.js.map +0 -1
- package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
- package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-catalog.js +0 -666
- package/dist/cli-tui/commands/command-catalog.js.map +0 -1
- package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
- package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
- package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
- package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
- package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
- package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
- package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
- package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
- package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
- package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
- package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/composer-handlers.js +0 -90
- package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
- package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
- package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/framework-handlers.js +0 -57
- package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
- package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
- package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/guardian-handlers.js +0 -48
- package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
- package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
- package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
- package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
- package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
- package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
- package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/hotkeys-command.js +0 -61
- package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
- package/dist/cli-tui/commands/limits-command.d.ts +0 -3
- package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/limits-command.js +0 -88
- package/dist/cli-tui/commands/limits-command.js.map +0 -1
- package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
- package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
- package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
- package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
- package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/memory-handlers.js +0 -414
- package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
- package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
- package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/otel-handlers.js +0 -20
- package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
- package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
- package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/package-handlers.js +0 -499
- package/dist/cli-tui/commands/package-handlers.js.map +0 -1
- package/dist/cli-tui/commands/pii-command.d.ts +0 -3
- package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
- package/dist/cli-tui/commands/pii-command.js +0 -54
- package/dist/cli-tui/commands/pii-command.js.map +0 -1
- package/dist/cli-tui/commands/registry.d.ts +0 -3
- package/dist/cli-tui/commands/registry.d.ts.map +0 -1
- package/dist/cli-tui/commands/registry.js +0 -36
- package/dist/cli-tui/commands/registry.js.map +0 -1
- package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
- package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/safety-handlers.js +0 -62
- package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
- package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
- package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
- package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
- package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
- package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
- package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
- package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
- package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
- package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/index.js +0 -18
- package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
- package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
- package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
- package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
- package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
- package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
- package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
- package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
- package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
- package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
- package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
- package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
- package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
- package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
- package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
- package/dist/cli-tui/commands/subcommands/utils.js +0 -395
- package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
- package/dist/cli-tui/commands/types.d.ts +0 -105
- package/dist/cli-tui/commands/types.d.ts.map +0 -1
- package/dist/cli-tui/commands/types.js +0 -2
- package/dist/cli-tui/commands/types.js.map +0 -1
- package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
- package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/undo-handlers.js +0 -300
- package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
- package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
- package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/utility-handlers.js +0 -137
- package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
- package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
- package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
- package/dist/cli-tui/commands/workflow-handlers.js +0 -227
- package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
- package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
- package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
- package/dist/cli-tui/compact-boundary-message.js +0 -18
- package/dist/cli-tui/compact-boundary-message.js.map +0 -1
- package/dist/cli-tui/compaction-recovery.d.ts +0 -6
- package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
- package/dist/cli-tui/compaction-recovery.js +0 -13
- package/dist/cli-tui/compaction-recovery.js.map +0 -1
- package/dist/cli-tui/config-view.d.ts +0 -30
- package/dist/cli-tui/config-view.d.ts.map +0 -1
- package/dist/cli-tui/config-view.js +0 -255
- package/dist/cli-tui/config-view.js.map +0 -1
- package/dist/cli-tui/context-view.d.ts +0 -20
- package/dist/cli-tui/context-view.d.ts.map +0 -1
- package/dist/cli-tui/context-view.js +0 -191
- package/dist/cli-tui/context-view.js.map +0 -1
- package/dist/cli-tui/custom-editor.d.ts +0 -25
- package/dist/cli-tui/custom-editor.d.ts.map +0 -1
- package/dist/cli-tui/custom-editor.js +0 -241
- package/dist/cli-tui/custom-editor.js.map +0 -1
- package/dist/cli-tui/editor-view.d.ts +0 -34
- package/dist/cli-tui/editor-view.d.ts.map +0 -1
- package/dist/cli-tui/editor-view.js +0 -102
- package/dist/cli-tui/editor-view.js.map +0 -1
- package/dist/cli-tui/feedback-view.d.ts +0 -35
- package/dist/cli-tui/feedback-view.d.ts.map +0 -1
- package/dist/cli-tui/feedback-view.js +0 -271
- package/dist/cli-tui/feedback-view.js.map +0 -1
- package/dist/cli-tui/footer.d.ts +0 -56
- package/dist/cli-tui/footer.d.ts.map +0 -1
- package/dist/cli-tui/footer.js +0 -228
- package/dist/cli-tui/footer.js.map +0 -1
- package/dist/cli-tui/git/commit-modal.d.ts +0 -14
- package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
- package/dist/cli-tui/git/commit-modal.js +0 -56
- package/dist/cli-tui/git/commit-modal.js.map +0 -1
- package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
- package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
- package/dist/cli-tui/git/git-preview-modal.js +0 -123
- package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
- package/dist/cli-tui/git/git-view.d.ts +0 -65
- package/dist/cli-tui/git/git-view.d.ts.map +0 -1
- package/dist/cli-tui/git/git-view.js +0 -529
- package/dist/cli-tui/git/git-view.js.map +0 -1
- package/dist/cli-tui/history/history-config.d.ts +0 -7
- package/dist/cli-tui/history/history-config.d.ts.map +0 -1
- package/dist/cli-tui/history/history-config.js +0 -49
- package/dist/cli-tui/history/history-config.js.map +0 -1
- package/dist/cli-tui/history/prompt-history.d.ts +0 -33
- package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
- package/dist/cli-tui/history/prompt-history.js +0 -185
- package/dist/cli-tui/history/prompt-history.js.map +0 -1
- package/dist/cli-tui/history/tool-history.d.ts +0 -50
- package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
- package/dist/cli-tui/history/tool-history.js +0 -253
- package/dist/cli-tui/history/tool-history.js.map +0 -1
- package/dist/cli-tui/hook-message.d.ts +0 -13
- package/dist/cli-tui/hook-message.d.ts.map +0 -1
- package/dist/cli-tui/hook-message.js +0 -56
- package/dist/cli-tui/hook-message.js.map +0 -1
- package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
- package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
- package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
- package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
- package/dist/cli-tui/hotkeys-view.d.ts +0 -13
- package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
- package/dist/cli-tui/hotkeys-view.js +0 -96
- package/dist/cli-tui/hotkeys-view.js.map +0 -1
- package/dist/cli-tui/import-view.d.ts +0 -28
- package/dist/cli-tui/import-view.d.ts.map +0 -1
- package/dist/cli-tui/import-view.js +0 -184
- package/dist/cli-tui/import-view.js.map +0 -1
- package/dist/cli-tui/info-view.d.ts +0 -18
- package/dist/cli-tui/info-view.d.ts.map +0 -1
- package/dist/cli-tui/info-view.js +0 -107
- package/dist/cli-tui/info-view.js.map +0 -1
- package/dist/cli-tui/instruction-panel.d.ts +0 -11
- package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
- package/dist/cli-tui/instruction-panel.js +0 -86
- package/dist/cli-tui/instruction-panel.js.map +0 -1
- package/dist/cli-tui/interrupt-controller.d.ts +0 -78
- package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
- package/dist/cli-tui/interrupt-controller.js +0 -104
- package/dist/cli-tui/interrupt-controller.js.map +0 -1
- package/dist/cli-tui/keybindings-config.d.ts +0 -27
- package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
- package/dist/cli-tui/keybindings-config.js +0 -372
- package/dist/cli-tui/keybindings-config.js.map +0 -1
- package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
- package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
- package/dist/cli-tui/keybindings-watcher.js +0 -56
- package/dist/cli-tui/keybindings-watcher.js.map +0 -1
- package/dist/cli-tui/keybindings.d.ts +0 -13
- package/dist/cli-tui/keybindings.d.ts.map +0 -1
- package/dist/cli-tui/keybindings.js +0 -223
- package/dist/cli-tui/keybindings.js.map +0 -1
- package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
- package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
- package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
- package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
- package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
- package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
- package/dist/cli-tui/loader/loader-view.d.ts +0 -41
- package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
- package/dist/cli-tui/loader/loader-view.js +0 -162
- package/dist/cli-tui/loader/loader-view.js.map +0 -1
- package/dist/cli-tui/lsp-view.d.ts +0 -21
- package/dist/cli-tui/lsp-view.d.ts.map +0 -1
- package/dist/cli-tui/lsp-view.js +0 -183
- package/dist/cli-tui/lsp-view.js.map +0 -1
- package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
- package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
- package/dist/cli-tui/mermaid-renderer.js +0 -391
- package/dist/cli-tui/mermaid-renderer.js.map +0 -1
- package/dist/cli-tui/message-view.d.ts +0 -27
- package/dist/cli-tui/message-view.d.ts.map +0 -1
- package/dist/cli-tui/message-view.js +0 -169
- package/dist/cli-tui/message-view.js.map +0 -1
- package/dist/cli-tui/modal-manager.d.ts +0 -77
- package/dist/cli-tui/modal-manager.d.ts.map +0 -1
- package/dist/cli-tui/modal-manager.js +0 -131
- package/dist/cli-tui/modal-manager.js.map +0 -1
- package/dist/cli-tui/notification-view.d.ts +0 -16
- package/dist/cli-tui/notification-view.d.ts.map +0 -1
- package/dist/cli-tui/notification-view.js +0 -53
- package/dist/cli-tui/notification-view.js.map +0 -1
- package/dist/cli-tui/oauth/index.d.ts +0 -2
- package/dist/cli-tui/oauth/index.d.ts.map +0 -1
- package/dist/cli-tui/oauth/index.js +0 -2
- package/dist/cli-tui/oauth/index.js.map +0 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
- package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
- package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
- package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
- package/dist/cli-tui/ollama-view.d.ts +0 -38
- package/dist/cli-tui/ollama-view.d.ts.map +0 -1
- package/dist/cli-tui/ollama-view.js +0 -395
- package/dist/cli-tui/ollama-view.js.map +0 -1
- package/dist/cli-tui/paste/index.d.ts +0 -2
- package/dist/cli-tui/paste/index.d.ts.map +0 -1
- package/dist/cli-tui/paste/index.js +0 -2
- package/dist/cli-tui/paste/index.js.map +0 -1
- package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
- package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
- package/dist/cli-tui/paste/paste-handler.js +0 -128
- package/dist/cli-tui/paste/paste-handler.js.map +0 -1
- package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
- package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
- package/dist/cli-tui/plan/plan-controller.js +0 -66
- package/dist/cli-tui/plan/plan-controller.js.map +0 -1
- package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
- package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
- package/dist/cli-tui/plan-panel-modal.js +0 -193
- package/dist/cli-tui/plan-panel-modal.js.map +0 -1
- package/dist/cli-tui/plan-view.d.ts +0 -57
- package/dist/cli-tui/plan-view.d.ts.map +0 -1
- package/dist/cli-tui/plan-view.js +0 -404
- package/dist/cli-tui/plan-view.js.map +0 -1
- package/dist/cli-tui/prompt-queue.d.ts.map +0 -1
- package/dist/cli-tui/prompt-queue.js.map +0 -1
- package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
- package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
- package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
- package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
- package/dist/cli-tui/queue/index.d.ts +0 -3
- package/dist/cli-tui/queue/index.d.ts.map +0 -1
- package/dist/cli-tui/queue/index.js +0 -3
- package/dist/cli-tui/queue/index.js.map +0 -1
- package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
- package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
- package/dist/cli-tui/queue/queue-controller.js +0 -327
- package/dist/cli-tui/queue/queue-controller.js.map +0 -1
- package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
- package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
- package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
- package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
- package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
- package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
- package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
- package/dist/cli-tui/queue-panel-modal.js +0 -159
- package/dist/cli-tui/queue-panel-modal.js.map +0 -1
- package/dist/cli-tui/run/run-command-view.d.ts +0 -17
- package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
- package/dist/cli-tui/run/run-command-view.js +0 -62
- package/dist/cli-tui/run/run-command-view.js.map +0 -1
- package/dist/cli-tui/run/run-controller.d.ts +0 -24
- package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
- package/dist/cli-tui/run/run-controller.js +0 -38
- package/dist/cli-tui/run/run-controller.js.map +0 -1
- package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
- package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
- package/dist/cli-tui/run/run-shell-command.js +0 -51
- package/dist/cli-tui/run/run-shell-command.js.map +0 -1
- package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
- package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
- package/dist/cli-tui/run/streaming-shell-command.js +0 -107
- package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
- package/dist/cli-tui/search/file-search-view.d.ts +0 -22
- package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
- package/dist/cli-tui/search/file-search-view.js +0 -68
- package/dist/cli-tui/search/file-search-view.js.map +0 -1
- package/dist/cli-tui/search/file-search.d.ts +0 -13
- package/dist/cli-tui/search/file-search.d.ts.map +0 -1
- package/dist/cli-tui/search/file-search.js +0 -52
- package/dist/cli-tui/search/file-search.js.map +0 -1
- package/dist/cli-tui/security-status.d.ts +0 -83
- package/dist/cli-tui/security-status.d.ts.map +0 -1
- package/dist/cli-tui/security-status.js +0 -214
- package/dist/cli-tui/security-status.js.map +0 -1
- package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
- package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/base-selector.js +0 -47
- package/dist/cli-tui/selectors/base-selector.js.map +0 -1
- package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
- package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
- package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
- package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
- package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
- package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/model-selector-view.js +0 -31
- package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
- package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/model-selector.js +0 -218
- package/dist/cli-tui/selectors/model-selector.js.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
- package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
- package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
- package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/oauth-selector.js +0 -120
- package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
- package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
- package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
- package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
- package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
- package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
- package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/report-selector-view.js +0 -29
- package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
- package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/report-selector.js +0 -31
- package/dist/cli-tui/selectors/report-selector.js.map +0 -1
- package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
- package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
- package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
- package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/theme-selector.js +0 -46
- package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
- package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
- package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
- package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/thinking-selector.js +0 -47
- package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
- package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
- package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
- package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
- package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/tree-selector.js +0 -194
- package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
- package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
- package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
- package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
- package/dist/cli-tui/selectors/user-message-selector.js +0 -114
- package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
- package/dist/cli-tui/session/branch-controller.d.ts +0 -65
- package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
- package/dist/cli-tui/session/branch-controller.js +0 -125
- package/dist/cli-tui/session/branch-controller.js.map +0 -1
- package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
- package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
- package/dist/cli-tui/session/conversation-compactor.js +0 -77
- package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
- package/dist/cli-tui/session/session-context.d.ts +0 -59
- package/dist/cli-tui/session/session-context.d.ts.map +0 -1
- package/dist/cli-tui/session/session-context.js +0 -79
- package/dist/cli-tui/session/session-context.js.map +0 -1
- package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
- package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
- package/dist/cli-tui/session/session-data-provider.js +0 -22
- package/dist/cli-tui/session/session-data-provider.js.map +0 -1
- package/dist/cli-tui/session/session-list.d.ts +0 -18
- package/dist/cli-tui/session/session-list.d.ts.map +0 -1
- package/dist/cli-tui/session/session-list.js +0 -103
- package/dist/cli-tui/session/session-list.js.map +0 -1
- package/dist/cli-tui/session/session-selector.d.ts +0 -12
- package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
- package/dist/cli-tui/session/session-selector.js +0 -37
- package/dist/cli-tui/session/session-selector.js.map +0 -1
- package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
- package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
- package/dist/cli-tui/session/session-summary-controller.js +0 -96
- package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
- package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
- package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
- package/dist/cli-tui/session/session-switcher-view.js +0 -43
- package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
- package/dist/cli-tui/session/session-switcher.d.ts +0 -38
- package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
- package/dist/cli-tui/session/session-switcher.js +0 -204
- package/dist/cli-tui/session/session-switcher.js.map +0 -1
- package/dist/cli-tui/session/session-view.d.ts +0 -46
- package/dist/cli-tui/session/session-view.d.ts.map +0 -1
- package/dist/cli-tui/session/session-view.js +0 -311
- package/dist/cli-tui/session/session-view.js.map +0 -1
- package/dist/cli-tui/slash/index.d.ts +0 -2
- package/dist/cli-tui/slash/index.d.ts.map +0 -1
- package/dist/cli-tui/slash/index.js +0 -2
- package/dist/cli-tui/slash/index.js.map +0 -1
- package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
- package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
- package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
- package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
- package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
- package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
- package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
- package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
- package/dist/cli-tui/startup-announcements.d.ts +0 -15
- package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
- package/dist/cli-tui/startup-announcements.js +0 -75
- package/dist/cli-tui/startup-announcements.js.map +0 -1
- package/dist/cli-tui/status/cost-view.d.ts +0 -27
- package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
- package/dist/cli-tui/status/cost-view.js +0 -212
- package/dist/cli-tui/status/cost-view.js.map +0 -1
- package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
- package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics-templates.js +0 -167
- package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
- package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
- package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics-view.js +0 -249
- package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
- package/dist/cli-tui/status/diagnostics.d.ts +0 -39
- package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
- package/dist/cli-tui/status/diagnostics.js +0 -286
- package/dist/cli-tui/status/diagnostics.js.map +0 -1
- package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
- package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
- package/dist/cli-tui/status/health-snapshot.js +0 -28
- package/dist/cli-tui/status/health-snapshot.js.map +0 -1
- package/dist/cli-tui/status/quota-view.d.ts +0 -37
- package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
- package/dist/cli-tui/status/quota-view.js +0 -309
- package/dist/cli-tui/status/quota-view.js.map +0 -1
- package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
- package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
- package/dist/cli-tui/status/telemetry-view.js +0 -77
- package/dist/cli-tui/status/telemetry-view.js.map +0 -1
- package/dist/cli-tui/status/training-view.d.ts +0 -23
- package/dist/cli-tui/status/training-view.d.ts.map +0 -1
- package/dist/cli-tui/status/training-view.js +0 -71
- package/dist/cli-tui/status/training-view.js.map +0 -1
- package/dist/cli-tui/streaming-view.d.ts +0 -43
- package/dist/cli-tui/streaming-view.d.ts.map +0 -1
- package/dist/cli-tui/streaming-view.js +0 -176
- package/dist/cli-tui/streaming-view.js.map +0 -1
- package/dist/cli-tui/terminal/index.d.ts +0 -2
- package/dist/cli-tui/terminal/index.d.ts.map +0 -1
- package/dist/cli-tui/terminal/index.js +0 -2
- package/dist/cli-tui/terminal/index.js.map +0 -1
- package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
- package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
- package/dist/cli-tui/terminal/terminal-utils.js +0 -145
- package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
- package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
- package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
- package/dist/cli-tui/tips/tip-scheduler.js +0 -135
- package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
- package/dist/cli-tui/tool-execution.d.ts +0 -76
- package/dist/cli-tui/tool-execution.d.ts.map +0 -1
- package/dist/cli-tui/tool-execution.js +0 -217
- package/dist/cli-tui/tool-execution.js.map +0 -1
- package/dist/cli-tui/tool-output-view.d.ts +0 -22
- package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
- package/dist/cli-tui/tool-output-view.js +0 -71
- package/dist/cli-tui/tool-output-view.js.map +0 -1
- package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
- package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/index.js +0 -19
- package/dist/cli-tui/tool-renderers/index.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
- package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
- package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
- package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
- package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
- package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
- package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
- package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-read.js +0 -108
- package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
- package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-style.js +0 -51
- package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
- package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
- package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/render-write.js +0 -60
- package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
- package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
- package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
- package/dist/cli-tui/tool-renderers/types.js +0 -2
- package/dist/cli-tui/tool-renderers/types.js.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
- package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
- package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
- package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
- package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
- package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
- package/dist/cli-tui/tool-status-view.d.ts +0 -32
- package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
- package/dist/cli-tui/tool-status-view.js +0 -86
- package/dist/cli-tui/tool-status-view.js.map +0 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
- package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
- package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
- package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
- package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
- package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
- package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
- package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
- package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
- package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
- package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
- package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
- package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
- package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
- package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
- package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
- package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
- package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
- package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
- package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
- package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
- package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
- package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
- package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
- package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
- package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
- package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
- package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
- package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
- package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
- package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
- package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
- package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
- package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
- package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
- package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
- package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
- package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
- package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
- package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
- package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
- package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
- package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
- package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
- package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
- package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
- package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
- package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
- package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
- package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
- package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
- package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
- package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
- package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
- package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
- package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
- package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
- package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -70
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/skills-controller.js +0 -411
- package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
- package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
- package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
- package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
- package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
- package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
- package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
- package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
- package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
- package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
- package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
- package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
- package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
- package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
- package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
- package/dist/cli-tui/tui-renderer.d.ts +0 -268
- package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
- package/dist/cli-tui/tui-renderer.js +0 -2131
- package/dist/cli-tui/tui-renderer.js.map +0 -1
- package/dist/cli-tui/ui-state.d.ts +0 -27
- package/dist/cli-tui/ui-state.d.ts.map +0 -1
- package/dist/cli-tui/ui-state.js +0 -88
- package/dist/cli-tui/ui-state.js.map +0 -1
- package/dist/cli-tui/update-view.d.ts +0 -16
- package/dist/cli-tui/update-view.d.ts.map +0 -1
- package/dist/cli-tui/update-view.js +0 -45
- package/dist/cli-tui/update-view.js.map +0 -1
- package/dist/cli-tui/user-message.d.ts +0 -17
- package/dist/cli-tui/user-message.d.ts.map +0 -1
- package/dist/cli-tui/user-message.js +0 -83
- package/dist/cli-tui/user-message.js.map +0 -1
- package/dist/cli-tui/utils/borders.d.ts +0 -131
- package/dist/cli-tui/utils/borders.d.ts.map +0 -1
- package/dist/cli-tui/utils/borders.js +0 -254
- package/dist/cli-tui/utils/borders.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
- package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
- package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
- package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-palette.js +0 -213
- package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
- package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
- package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
- package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
- package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
- package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
- package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
- package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
- package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
- package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
- package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
- package/dist/cli-tui/utils/env-detect.d.ts +0 -11
- package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
- package/dist/cli-tui/utils/env-detect.js +0 -107
- package/dist/cli-tui/utils/env-detect.js.map +0 -1
- package/dist/cli-tui/utils/external-editor.d.ts +0 -7
- package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
- package/dist/cli-tui/utils/external-editor.js +0 -53
- package/dist/cli-tui/utils/external-editor.js.map +0 -1
- package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
- package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
- package/dist/cli-tui/utils/footer-utils.js +0 -716
- package/dist/cli-tui/utils/footer-utils.js.map +0 -1
- package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
- package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
- package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
- package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
- package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
- package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
- package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
- package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
- package/dist/cli-tui/utils/glyphs.d.ts +0 -207
- package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
- package/dist/cli-tui/utils/glyphs.js +0 -249
- package/dist/cli-tui/utils/glyphs.js.map +0 -1
- package/dist/cli-tui/utils/layout.d.ts +0 -77
- package/dist/cli-tui/utils/layout.d.ts.map +0 -1
- package/dist/cli-tui/utils/layout.js +0 -83
- package/dist/cli-tui/utils/layout.js.map +0 -1
- package/dist/cli-tui/utils/links.d.ts +0 -2
- package/dist/cli-tui/utils/links.d.ts.map +0 -1
- package/dist/cli-tui/utils/links.js +0 -14
- package/dist/cli-tui/utils/links.js.map +0 -1
- package/dist/cli-tui/utils/motion.d.ts +0 -4
- package/dist/cli-tui/utils/motion.d.ts.map +0 -1
- package/dist/cli-tui/utils/motion.js +0 -28
- package/dist/cli-tui/utils/motion.js.map +0 -1
- package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
- package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
- package/dist/cli-tui/utils/runtime-badges.js +0 -178
- package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
- package/dist/cli-tui/utils/shimmer.d.ts +0 -12
- package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
- package/dist/cli-tui/utils/shimmer.js +0 -57
- package/dist/cli-tui/utils/shimmer.js.map +0 -1
- package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
- package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
- package/dist/cli-tui/utils/stage-labels.js +0 -65
- package/dist/cli-tui/utils/stage-labels.js.map +0 -1
- package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
- package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
- package/dist/cli-tui/utils/text-formatting.js +0 -109
- package/dist/cli-tui/utils/text-formatting.js.map +0 -1
- package/dist/cli-tui/utils/text-preview.d.ts +0 -10
- package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
- package/dist/cli-tui/utils/text-preview.js +0 -26
- package/dist/cli-tui/utils/text-preview.js.map +0 -1
- package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
- package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
- package/dist/cli-tui/utils/tool-text-utils.js +0 -361
- package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
- package/dist/cli-tui/welcome-animation.d.ts +0 -24
- package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
- package/dist/cli-tui/welcome-animation.js +0 -99
- package/dist/cli-tui/welcome-animation.js.map +0 -1
- package/dist/cli-tui/welcome-colors.d.ts +0 -3
- package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
- package/dist/cli-tui/welcome-colors.js +0 -39
- package/dist/cli-tui/welcome-colors.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
- package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
- package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
- package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
- package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
- package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
- package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
- package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
- package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
- package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
- package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
- package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
- package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
- package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
- package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
- package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
- package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
- package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
- package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
- package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
- package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
- package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
- package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
- package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
- package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
- package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
- package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
- package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
- package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
- package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
- package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
- package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
- package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
- package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
- package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
- package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
- package/dist/node_modules/@evalops/tui/package.json +0 -58
- package/dist/skills/artifact-metadata.d.ts +0 -16
- package/dist/skills/artifact-metadata.d.ts.map +0 -1
- package/dist/skills/artifact-metadata.js +0 -86
- package/dist/skills/artifact-metadata.js.map +0 -1
- package/dist/skills/composer-diagnostics.d.ts +0 -69
- package/dist/skills/composer-diagnostics.d.ts.map +0 -1
- package/dist/skills/composer-diagnostics.js +0 -78
- package/dist/skills/composer-diagnostics.js.map +0 -1
- package/dist/skills/composer.d.ts +0 -19
- package/dist/skills/composer.d.ts.map +0 -1
- package/dist/skills/composer.js +0 -52
- package/dist/skills/composer.js.map +0 -1
- package/dist/skills/eval-harness.d.ts +0 -38
- package/dist/skills/eval-harness.d.ts.map +0 -1
- package/dist/skills/eval-harness.js +0 -112
- package/dist/skills/eval-harness.js.map +0 -1
- package/dist/skills/index.d.ts +0 -40
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -40
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/linter.d.ts +0 -36
- package/dist/skills/linter.d.ts.map +0 -1
- package/dist/skills/linter.js +0 -399
- package/dist/skills/linter.js.map +0 -1
- package/dist/skills/loader.d.ts +0 -252
- package/dist/skills/loader.d.ts.map +0 -1
- package/dist/skills/loader.js +0 -957
- package/dist/skills/loader.js.map +0 -1
- package/dist/skills/package-contract.d.ts +0 -45
- package/dist/skills/package-contract.d.ts.map +0 -1
- package/dist/skills/package-contract.js +0 -153
- package/dist/skills/package-contract.js.map +0 -1
- package/dist/skills/runtime-activation.d.ts +0 -68
- package/dist/skills/runtime-activation.d.ts.map +0 -1
- package/dist/skills/runtime-activation.js +0 -228
- package/dist/skills/runtime-activation.js.map +0 -1
- package/dist/skills/scaffold-from-template.d.ts +0 -58
- package/dist/skills/scaffold-from-template.d.ts.map +0 -1
- package/dist/skills/scaffold-from-template.js +0 -72
- package/dist/skills/scaffold-from-template.js.map +0 -1
- package/dist/skills/scaffolder.d.ts +0 -65
- package/dist/skills/scaffolder.d.ts.map +0 -1
- package/dist/skills/scaffolder.js +0 -167
- package/dist/skills/scaffolder.js.map +0 -1
- package/dist/skills/service-client.d.ts +0 -56
- package/dist/skills/service-client.d.ts.map +0 -1
- package/dist/skills/service-client.js +0 -266
- package/dist/skills/service-client.js.map +0 -1
- package/dist/skills/skill-templates.d.ts +0 -70
- package/dist/skills/skill-templates.d.ts.map +0 -1
- package/dist/skills/skill-templates.js +0 -154
- package/dist/skills/skill-templates.js.map +0 -1
- package/dist/skills/tool.d.ts +0 -21
- package/dist/skills/tool.d.ts.map +0 -1
- package/dist/skills/tool.js +0 -334
- package/dist/skills/tool.js.map +0 -1
- package/dist/skills/trust-cache.d.ts +0 -58
- package/dist/skills/trust-cache.d.ts.map +0 -1
- package/dist/skills/trust-cache.js +0 -130
- package/dist/skills/trust-cache.js.map +0 -1
- package/dist/skills/types.d.ts +0 -91
- package/dist/skills/types.d.ts.map +0 -1
- package/dist/skills/types.js +0 -8
- package/dist/skills/types.js.map +0 -1
- /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
- /package/dist/{cli-tui → runtime}/prompt-queue.js +0 -0
package/dist/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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","sourcesContent":["import { appendFile, mkdir } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\nimport { type Span, SpanStatusCode } from \"@opentelemetry/api\";\n\nimport { PATHS } from \"./config/constants.js\";\nimport {\n\tgetTelemetryTracer,\n\tinitOpenTelemetry,\n\tisOpenTelemetryEnabled,\n} from \"./opentelemetry.js\";\nimport { defaultRuntimeEnv } from \"./runtime/env.js\";\nimport { isInternalTelemetryDisabled } from \"./telemetry/disablement.js\";\nimport {\n\ttype MaestroCorrelation,\n\tmirrorTelemetryToMaestroEventBus,\n\trecordMaestroA2ADelegationEvent,\n\tresolveMaestroEventBusConfig,\n} from \"./telemetry/maestro-event-bus.js\";\nimport { MaestroBusEventType } from \"./telemetry/maestro-event-catalog.js\";\nimport { normalizeTelemetryMetadataInputs } from \"./telemetry/metadata-normalization.js\";\nimport {\n\thasRemoteMeterDestination,\n\tmirrorCanonicalTurnEventToMeter,\n} from \"./telemetry/meter-service-client.js\";\nimport {\n\trecordA2ADelegationMetric,\n\trecordA2APeerExclusionMetric,\n\trecordA2APolicyDenialMetric,\n\trecordCompactionMetric,\n\trecordSubagentDispatchMetric,\n\trecordToolInvocationMetric,\n} from \"./telemetry/metrics.js\";\nimport {\n\ttype CanonicalTurnEvent,\n\tsetDefaultTelemetryRecorder,\n} from \"./telemetry/wide-events.js\";\nimport {\n\tsanitizeOptionalWithStaticMask,\n\tsanitizeWithStaticMask,\n} from \"./utils/secret-redactor.js\";\n\nexport { splitTelemetryMetadata } from \"./telemetry/metadata-normalization.js\";\n\ntype BaseTelemetryEvent = {\n\ttype:\n\t\t| \"tool-execution\"\n\t\t| \"evaluation\"\n\t\t| \"loader-stage\"\n\t\t| \"sse\"\n\t\t| \"background-task\"\n\t\t| \"api-request\"\n\t\t| \"business-metric\"\n\t\t| \"staged-rollout-surface\"\n\t\t| \"sandbox-violation\"\n\t\t| \"subagent-dispatch\";\n\ttimestamp: string;\n\tsensitiveMetadata?: Record<string, unknown>;\n};\n\nexport interface ApiRequestTelemetry extends BaseTelemetryEvent {\n\ttype: \"api-request\";\n\tmethod: string;\n\tpath: string;\n\tstatusCode: number;\n\tdurationMs: number;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface ToolExecutionTelemetry extends BaseTelemetryEvent {\n\ttype: \"tool-execution\";\n\ttoolName: string;\n\tsuccess: boolean;\n\tdurationMs: number;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface EvaluationTelemetry extends BaseTelemetryEvent {\n\ttype: \"evaluation\";\n\tscenario: string;\n\tsuccess: boolean;\n\tdetails?: Record<string, unknown>;\n}\n\nexport interface LoaderStageTelemetry extends BaseTelemetryEvent {\n\ttype: \"loader-stage\";\n\tstage: string;\n\tdurationMs: number;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface SseTelemetry extends BaseTelemetryEvent {\n\ttype: \"sse\";\n\tevent: \"skip\";\n\tsent: number;\n\tskipped: number;\n\tmetadata?: Record<string, unknown>;\n}\n\ntype BackgroundTaskStatusTelemetry =\n\t| \"running\"\n\t| \"restarting\"\n\t| \"failed\"\n\t| \"exited\"\n\t| \"stopped\";\n\nexport interface BackgroundTaskTelemetry extends BaseTelemetryEvent {\n\ttype: \"background-task\";\n\tevent: \"started\" | \"restarted\" | \"exited\" | \"failed\" | \"stopped\";\n\ttaskId: string;\n\tstatus: BackgroundTaskStatusTelemetry;\n\tcommand: string;\n\tshellMode: \"shell\" | \"exec\";\n\tcwd?: string;\n\trestartAttempts: number;\n\tlogTruncated: boolean;\n\texitCode?: number | null;\n\tsignal?: string | null;\n\tresourceUsage?: {\n\t\tmaxRssKb?: number;\n\t\tuserMs?: number;\n\t\tsystemMs?: number;\n\t};\n\tfailureReason?: string;\n\tlimitBreach?: {\n\t\tkind: \"memory\" | \"cpu\";\n\t\tlimit: number;\n\t\tactual: number;\n\t};\n}\n\n/**\n * Business metrics for tracking usage patterns.\n * Inspired by Claude Code's telemetry events.\n */\nexport interface BusinessMetricTelemetry extends BaseTelemetryEvent {\n\ttype: \"business-metric\";\n\tmetric:\n\t\t| \"session.count\"\n\t\t| \"session.duration\"\n\t\t| \"session.migration\"\n\t\t| \"lines_of_code.count\"\n\t\t| \"tokens.input\"\n\t\t| \"tokens.output\"\n\t\t| \"tokens.cache_read\"\n\t\t| \"tokens.cache_write\"\n\t\t| \"cost.usd\"\n\t\t| \"compaction.triggered\"\n\t\t| \"model.switch\"\n\t\t| \"custom_model_request.blocked_by_url_policy\";\n\tvalue: number;\n\tmetadata?: {\n\t\tsessionId?: string;\n\t\tmodel?: string;\n\t\tprovider?: string;\n\t\tgitBranch?: string;\n\t\tgitCommitSha?: string;\n\t\t[key: string]: unknown;\n\t};\n}\n\nexport interface StagedRolloutSurfaceTelemetry extends BaseTelemetryEvent {\n\ttype: \"staged-rollout-surface\";\n\tevent: \"hidden_flag_used\" | \"hidden_mode_used\" | \"internal_gate_used\";\n\tsurfaceId: string;\n\tsurfaceType: \"cli_flag\" | \"mode\" | \"internal_gate\" | \"protocol_capability\";\n\tmetadata?: {\n\t\towner?: string;\n\t\tsource?: string;\n\t\t[key: string]: unknown;\n\t};\n}\n\n/**\n * Sandbox violation tracking for security auditing.\n */\nexport interface SandboxViolationTelemetry extends BaseTelemetryEvent {\n\ttype: \"sandbox-violation\";\n\tevent: \"blocked\" | \"warned\" | \"allowed\";\n\ttool: string;\n\taction: string;\n\treason: string;\n\tpath?: string;\n\tcommand?: string;\n\tmetadata?: {\n\t\tsessionId?: string;\n\t\tuserId?: string;\n\t\t[key: string]: unknown;\n\t};\n}\n\n/**\n * Subagent dispatch tracking for multi-agent routing and audit.\n */\nexport interface SubagentDispatchTelemetry extends BaseTelemetryEvent {\n\ttype: \"subagent-dispatch\";\n\tevent: \"subagent_dispatched\";\n\tmode: string;\n\tsubagentType: string;\n\tmodel: string;\n\tprovider: string;\n\treasoningEffort: string;\n\tlatencyMs: number;\n\tsuccess: boolean;\n\tsource?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport type A2ADelegationTelemetryPhase =\n\t| \"peer_selected\"\n\t| \"task_dispatched\"\n\t| \"task_progress\"\n\t| \"task_completed\"\n\t| \"task_failed\"\n\t| \"task_cancelled\"\n\t| \"push_received\"\n\t| \"evidence_completed\";\n\nexport interface A2ADelegationTelemetryInput {\n\tphase: A2ADelegationTelemetryPhase;\n\tswarmId: string;\n\tlaneId: string;\n\tparentTaskId: string;\n\ta2aTaskId?: string;\n\ta2aMessageId?: string;\n\tcontextId?: string;\n\tpeerAgentId?: string;\n\tpeerName?: string;\n\tpeerEndpointUrl?: string;\n\tpeerEndpointHash?: string;\n\tpeerEndpointKind?: string;\n\tskillId?: string;\n\ttaskClass?: string;\n\tsource?: string;\n\tstatus?: string;\n\tterminal?: boolean;\n\tsuccess?: boolean;\n\tlatencyMs?: number;\n\tdurationMs?: number;\n\ttaskDurationMs?: number;\n\tpushLagMs?: number;\n\tevidence?: Record<string, unknown>;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toccurredAt?: string;\n\tenv?: NodeJS.ProcessEnv;\n}\n\n/**\n * Canonical Turn Event - Wide event emitted once per agent turn.\n * Re-exported from telemetry/wide-events.ts for type union.\n */\nexport interface CanonicalTurnEventBase {\n\ttype: \"canonical-turn\";\n\ttimestamp: string;\n\tsessionId: string;\n\tturnId: string;\n\tturnNumber: number;\n\t[key: string]: unknown;\n}\n\ntype TelemetryEvent =\n\t| ToolExecutionTelemetry\n\t| EvaluationTelemetry\n\t| LoaderStageTelemetry\n\t| SseTelemetry\n\t| BackgroundTaskTelemetry\n\t| ApiRequestTelemetry\n\t| BusinessMetricTelemetry\n\t| StagedRolloutSurfaceTelemetry\n\t| SandboxViolationTelemetry\n\t| SubagentDispatchTelemetry\n\t| CanonicalTurnEventBase\n\t| CanonicalTurnEvent;\n\n// Substrate snapshot for the OpenTelemetry exporter. Captured once at\n// module load so the rest of this file's module-level constants (whose\n// values feed `getTelemetryStatus`) share one consistent view of env.\n// The `defaultRuntimeEnv()` cache means tests that mutate `process.env`\n// and call `resetDefaultRuntimeEnvForTests()` between cases see fresh\n// snapshots; production sees one stable snapshot.\nconst exporterRuntimeEnv = defaultRuntimeEnv();\nconst telemetryFileEnv = exporterRuntimeEnv.exporterFile;\nconst telemetryEndpointEnv = exporterRuntimeEnv.exporterEndpoint;\n// `telemetryFlag` is kept as the raw string for `getTelemetryStatus`'s\n// `flagValue` field — UI surfaces and diagnostics show the literal user\n// setting, not the parsed tri-state.\nconst telemetryFlag = exporterRuntimeEnv.telemetryFlag;\nconst telemetrySampleRate = exporterRuntimeEnv.telemetrySampleRate;\n\nconst shouldEnableTelemetry = (): boolean => {\n\tif (exporterRuntimeEnv.telemetryEnabled === false) return false;\n\tif (exporterRuntimeEnv.telemetryEnabled === true) return true;\n\treturn Boolean(\n\t\ttelemetryEndpointEnv || telemetryFileEnv || hasRemoteMeterDestination(),\n\t);\n};\nconst initialTelemetryEnabled = shouldEnableTelemetry();\nlet telemetryEnabled = initialTelemetryEnabled;\nlet telemetryOverride: boolean | null = null;\nlet telemetryOverrideReason: string | undefined;\n\nconst A2A_PHASE_EVENT_TYPES: Record<\n\tA2ADelegationTelemetryPhase,\n\tMaestroBusEventType\n> = {\n\tpeer_selected: MaestroBusEventType.A2APeerSelected,\n\ttask_dispatched: MaestroBusEventType.A2ATaskDispatched,\n\ttask_progress: MaestroBusEventType.A2ATaskProgress,\n\ttask_completed: MaestroBusEventType.A2ATaskCompleted,\n\ttask_failed: MaestroBusEventType.A2ATaskFailed,\n\ttask_cancelled: MaestroBusEventType.A2ATaskCancelled,\n\tpush_received: MaestroBusEventType.A2APushReceived,\n\tevidence_completed: MaestroBusEventType.A2AEvidenceCompleted,\n};\n\n// `RuntimeEnv.telemetrySampleRate` is already parsed and clamped to\n// `[0, 1]`; `null` means no signal, treated as full-sampling.\nconst samplingRate = telemetrySampleRate ?? 1;\n\nconst defaultTelemetryFile = PATHS.TELEMETRY_LOG;\nconst toolFailureLogFile = PATHS.TOOL_FAILURE_LOG;\nconst BACKGROUND_TASK_HISTORY_LIMIT = 50;\nconst backgroundTaskHistory: BackgroundTaskTelemetry[] = [];\n\nexport interface TelemetryStatus {\n\tenabled: boolean;\n\treason: string;\n\tendpoint?: string;\n\tfilePath?: string;\n\tsampleRate: number;\n\tflagValue?: string;\n\truntimeOverride?: \"enabled\" | \"disabled\";\n\toverrideReason?: string;\n}\n\nexport function getTelemetryStatus(): TelemetryStatus {\n\tlet reason = \"disabled\";\n\tconst baseEnabled = initialTelemetryEnabled && samplingRate > 0;\n\tif (!shouldEnableTelemetry()) {\n\t\treason = \"flag disabled\";\n\t} else if (samplingRate === 0) {\n\t\treason = \"sampling=0\";\n\t} else if (telemetryEndpointEnv) {\n\t\treason = \"endpoint\";\n\t} else if (hasRemoteMeterDestination()) {\n\t\treason = \"meter\";\n\t} else if (telemetryFileEnv || baseEnabled) {\n\t\treason = \"file\";\n\t}\n\tconst runtimeOverride =\n\t\ttelemetryOverride === null\n\t\t\t? undefined\n\t\t\t: telemetryOverride\n\t\t\t\t? \"enabled\"\n\t\t\t\t: \"disabled\";\n\n\treturn {\n\t\tenabled: telemetryEnabled && samplingRate > 0,\n\t\treason,\n\t\tendpoint: telemetryEndpointEnv ?? undefined,\n\t\tfilePath: telemetryFileEnv ?? defaultTelemetryFile,\n\t\tsampleRate: samplingRate,\n\t\tflagValue: telemetryFlag ?? undefined,\n\t\truntimeOverride,\n\t\toverrideReason: telemetryOverrideReason,\n\t};\n}\n\nexport function setTelemetryRuntimeOverride(\n\tenabled: boolean | null,\n\treason?: string,\n): void {\n\ttelemetryOverride = enabled;\n\ttelemetryOverrideReason = reason;\n\ttelemetryEnabled = enabled === null ? initialTelemetryEnabled : enabled;\n}\n\nfunction normalizeTelemetryEventMetadata(\n\tevent: TelemetryEvent,\n): TelemetryEvent {\n\tif (!(\"metadata\" in event) && !(\"sensitiveMetadata\" in event)) {\n\t\treturn event;\n\t}\n\tconst existingMetadata =\n\t\t\"metadata\" in event ? stringRecord(event.metadata) : undefined;\n\tconst existingSensitiveMetadata =\n\t\t\"sensitiveMetadata\" in event\n\t\t\t? stringRecord(event.sensitiveMetadata)\n\t\t\t: undefined;\n\tconst { metadata, sensitiveMetadata } = normalizeTelemetryMetadataInputs(\n\t\texistingMetadata,\n\t\texistingSensitiveMetadata,\n\t);\n\tconst normalized = { ...event };\n\tif (\"metadata\" in normalized) {\n\t\tif (metadata) {\n\t\t\tnormalized.metadata = metadata;\n\t\t} else {\n\t\t\tdelete normalized.metadata;\n\t\t}\n\t}\n\tif (sensitiveMetadata) {\n\t\tnormalized.sensitiveMetadata = sensitiveMetadata;\n\t} else {\n\t\tdelete normalized.sensitiveMetadata;\n\t}\n\treturn normalized;\n}\n\nfunction isCanonicalTurnTelemetryEvent(\n\tevent: TelemetryEvent,\n): event is CanonicalTurnEvent {\n\treturn (\n\t\tevent.type === \"canonical-turn\" && \"model\" in event && \"tokens\" in event\n\t);\n}\n\nasync function writeToFile(payload: string) {\n\tconst filePath = telemetryFileEnv || defaultTelemetryFile;\n\tawait mkdir(dirname(filePath), { recursive: true });\n\tawait appendFile(filePath, `${payload}\\n`, \"utf-8\");\n}\n\nasync function appendToolFailure(payload: string): Promise<void> {\n\tawait mkdir(dirname(toolFailureLogFile), { recursive: true });\n\tawait appendFile(toolFailureLogFile, `${payload}\\n`, \"utf-8\");\n}\n\nasync function postToEndpoint(payload: string) {\n\tconst endpoint = telemetryEndpointEnv;\n\tif (!endpoint) {\n\t\treturn;\n\t}\n\ttry {\n\t\tawait fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\tbody: payload,\n\t\t});\n\t} catch (_error) {\n\t\t// Swallow telemetry transport errors\n\t}\n}\n\nfunction recordOpenTelemetrySpan(event: TelemetryEvent): void {\n\ttry {\n\t\tconst correlationAttributes = maestroCorrelationSpanAttributes(event);\n\t\tconst tracer = getTelemetryTracer();\n\t\ttracer.startActiveSpan(`telemetry.${event.type}`, (span: Span) => {\n\t\t\tspan.setAttributes({\n\t\t\t\t...correlationAttributes,\n\t\t\t\t\"maestro.telemetry.type\": event.type,\n\t\t\t\t\"maestro.telemetry.timestamp\": event.timestamp,\n\t\t\t});\n\n\t\t\tswitch (event.type) {\n\t\t\t\tcase \"tool-execution\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.tool.name\": event.toolName,\n\t\t\t\t\t\t\"maestro.tool.success\": event.success,\n\t\t\t\t\t\t\"maestro.tool.duration_ms\": event.durationMs,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode: event.success ? SpanStatusCode.OK : SpanStatusCode.ERROR,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"evaluation\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.eval.scenario\": event.scenario,\n\t\t\t\t\t\t\"maestro.eval.success\": event.success,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode: event.success ? SpanStatusCode.OK : SpanStatusCode.ERROR,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"loader-stage\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.loader.stage\": event.stage,\n\t\t\t\t\t\t\"maestro.loader.duration_ms\": event.durationMs,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sse\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.sse.sent\": event.sent,\n\t\t\t\t\t\t\"maestro.sse.skipped\": event.skipped,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"background-task\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.background.id\": event.taskId,\n\t\t\t\t\t\t\"maestro.background.event\": event.event,\n\t\t\t\t\t\t\"maestro.background.status\": event.status,\n\t\t\t\t\t\t\"maestro.background.restart_attempts\": event.restartAttempts,\n\t\t\t\t\t\t\"maestro.background.exit_code\": event.exitCode ?? -1,\n\t\t\t\t\t\t\"maestro.background.shell_mode\": event.shellMode,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus(\n\t\t\t\t\t\tevent.failureReason || event.status === \"failed\"\n\t\t\t\t\t\t\t? { code: SpanStatusCode.ERROR, message: event.failureReason }\n\t\t\t\t\t\t\t: { code: SpanStatusCode.OK },\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"api-request\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"http.method\": event.method,\n\t\t\t\t\t\t\"http.route\": event.path,\n\t\t\t\t\t\t\"http.status_code\": event.statusCode,\n\t\t\t\t\t\t\"maestro.api.duration_ms\": event.durationMs,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode:\n\t\t\t\t\t\t\tevent.statusCode >= 500\n\t\t\t\t\t\t\t\t? SpanStatusCode.ERROR\n\t\t\t\t\t\t\t\t: SpanStatusCode.OK,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"business-metric\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.metric.name\": event.metric,\n\t\t\t\t\t\t\"maestro.metric.value\": event.value,\n\t\t\t\t\t});\n\t\t\t\t\tif (event.metadata?.model) {\n\t\t\t\t\t\tspan.setAttribute(\"maestro.metric.model\", event.metadata.model);\n\t\t\t\t\t}\n\t\t\t\t\tif (event.metadata?.provider) {\n\t\t\t\t\t\tspan.setAttribute(\n\t\t\t\t\t\t\t\"maestro.metric.provider\",\n\t\t\t\t\t\t\tevent.metadata.provider,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"staged-rollout-surface\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.staged_rollout.event\": event.event,\n\t\t\t\t\t\t\"maestro.staged_rollout.surface_id\": event.surfaceId,\n\t\t\t\t\t\t\"maestro.staged_rollout.surface_type\": event.surfaceType,\n\t\t\t\t\t});\n\t\t\t\t\tif (event.metadata?.owner) {\n\t\t\t\t\t\tspan.setAttribute(\n\t\t\t\t\t\t\t\"maestro.staged_rollout.owner\",\n\t\t\t\t\t\t\tString(event.metadata.owner),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sandbox-violation\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.sandbox.event\": event.event,\n\t\t\t\t\t\t\"maestro.sandbox.tool\": event.tool,\n\t\t\t\t\t\t\"maestro.sandbox.action\": event.action,\n\t\t\t\t\t\t\"maestro.sandbox.reason\": event.reason,\n\t\t\t\t\t});\n\t\t\t\t\tif (event.path) {\n\t\t\t\t\t\tspan.setAttribute(\"maestro.sandbox.path\", event.path);\n\t\t\t\t\t}\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode:\n\t\t\t\t\t\t\tevent.event === \"blocked\"\n\t\t\t\t\t\t\t\t? SpanStatusCode.ERROR\n\t\t\t\t\t\t\t\t: SpanStatusCode.OK,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"subagent-dispatch\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.subagent.event\": event.event,\n\t\t\t\t\t\t\"maestro.subagent.mode\": event.mode,\n\t\t\t\t\t\t\"maestro.subagent.type\": event.subagentType,\n\t\t\t\t\t\t\"maestro.subagent.reasoning_effort\": event.reasoningEffort,\n\t\t\t\t\t\t\"maestro.subagent.source\": event.source ?? \"unknown\",\n\t\t\t\t\t\t\"maestro.subagent.success\": event.success,\n\t\t\t\t\t\t\"maestro.subagent.latency_ms\": event.latencyMs,\n\t\t\t\t\t\t\"llm.model.id\": event.model,\n\t\t\t\t\t\t\"llm.model.provider\": event.provider,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode: event.success ? SpanStatusCode.OK : SpanStatusCode.ERROR,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"canonical-turn\": {\n\t\t\t\t\tconst canonicalTurn = isCanonicalTurnTelemetryEvent(event)\n\t\t\t\t\t\t? event\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.turn.id\": event.turnId,\n\t\t\t\t\t\t\"maestro.turn.number\": event.turnNumber,\n\t\t\t\t\t\t\"maestro.turn.session_id\": event.sessionId,\n\t\t\t\t\t\t\"agent.session.id\": event.sessionId,\n\t\t\t\t\t\t...(canonicalTurn\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\"llm.model.id\": canonicalTurn.model.id,\n\t\t\t\t\t\t\t\t\t\"llm.model.provider\": canonicalTurn.model.provider,\n\t\t\t\t\t\t\t\t\t\"llm.usage.input_tokens\": canonicalTurn.tokens.input,\n\t\t\t\t\t\t\t\t\t\"llm.usage.output_tokens\": canonicalTurn.tokens.output,\n\t\t\t\t\t\t\t\t\t\"llm.usage.cache_read_tokens\": canonicalTurn.tokens.cacheRead,\n\t\t\t\t\t\t\t\t\t\"llm.usage.cache_write_tokens\":\n\t\t\t\t\t\t\t\t\t\tcanonicalTurn.tokens.cacheWrite,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\"maestro.turn.status\": String(\n\t\t\t\t\t\t\t\"status\" in event ? event.status : \"unknown\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.tool_count\": Number(\n\t\t\t\t\t\t\t\"toolCount\" in event ? event.toolCount : 0,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.total_duration_ms\": Number(\n\t\t\t\t\t\t\t\"totalDurationMs\" in event ? event.totalDurationMs : 0,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.cost_usd\": Number(\n\t\t\t\t\t\t\t\"costUsd\" in event ? event.costUsd : 0,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.sampled\": Boolean(\n\t\t\t\t\t\t\t\"sampled\" in event ? event.sampled : true,\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode:\n\t\t\t\t\t\t\t\"status\" in event && event.status === \"error\"\n\t\t\t\t\t\t\t\t? SpanStatusCode.ERROR\n\t\t\t\t\t\t\t\t: SpanStatusCode.OK,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.UNSET });\n\t\t\t}\n\n\t\t\tif (\"metadata\" in event && event.metadata) {\n\t\t\t\tspan.setAttributes({ \"maestro.telemetry.has_metadata\": true });\n\t\t\t}\n\n\t\t\tspan.end();\n\t\t});\n\t} catch {\n\t\t// Never let tracing failures affect runtime\n\t}\n}\n\nfunction recordOpenTelemetryMetric(event: TelemetryEvent): void {\n\ttry {\n\t\tswitch (event.type) {\n\t\t\tcase \"tool-execution\":\n\t\t\t\trecordToolInvocationMetric({\n\t\t\t\t\ttoolName: event.toolName,\n\t\t\t\t\tdurationMs: event.durationMs,\n\t\t\t\t\tsuccess: event.success,\n\t\t\t\t\tagentRunId: metadataString(event.metadata, [\n\t\t\t\t\t\t\"agentRunId\",\n\t\t\t\t\t\t\"agent_run_id\",\n\t\t\t\t\t]),\n\t\t\t\t\tskillName: skillNameFromMetadata(event.metadata),\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase \"business-metric\":\n\t\t\t\tif (event.metric === \"compaction.triggered\") {\n\t\t\t\t\trecordCompactionMetric({\n\t\t\t\t\t\t\"maestro.session_id\": event.metadata?.sessionId,\n\t\t\t\t\t\t\"llm.model.id\": event.metadata?.model,\n\t\t\t\t\t\t\"llm.model.provider\": event.metadata?.provider,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"subagent-dispatch\":\n\t\t\t\trecordSubagentDispatchMetric({\n\t\t\t\t\tmode: event.mode,\n\t\t\t\t\tsubagentType: event.subagentType,\n\t\t\t\t\tprovider: event.provider,\n\t\t\t\t\tmodel: event.model,\n\t\t\t\t\treasoningEffort: event.reasoningEffort,\n\t\t\t\t\tsource: event.source,\n\t\t\t\t\tsuccess: event.success,\n\t\t\t\t\tlatencyMs: event.latencyMs,\n\t\t\t\t\tagentRunId: metadataString(event.metadata, [\n\t\t\t\t\t\t\"agentRunId\",\n\t\t\t\t\t\t\"agent_run_id\",\n\t\t\t\t\t]),\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t} catch {\n\t\t// Never let metric recording affect runtime behavior.\n\t}\n}\n\nfunction stringRecord(value: unknown): Record<string, unknown> | undefined {\n\treturn value && typeof value === \"object\" && !Array.isArray(value)\n\t\t? (value as Record<string, unknown>)\n\t\t: undefined;\n}\n\nfunction skillNameFromMetadata(\n\tmetadata: Record<string, unknown> | undefined,\n): string | undefined {\n\treturn (\n\t\tmetadataString(metadata, [\"skillName\", \"skill_name\"]) ??\n\t\tmetadataString(stringRecord(metadata?.skillMetadata), [\"name\"]) ??\n\t\tmetadataString(stringRecord(metadata?.skill_metadata), [\"name\"])\n\t);\n}\n\nfunction metadataString(\n\trecord: Record<string, unknown> | undefined,\n\tkeys: string[],\n): string | undefined {\n\tfor (const key of keys) {\n\t\tconst value = record?.[key];\n\t\tif (typeof value === \"string\" && value.trim().length > 0) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction eventCorrelationOverrides(\n\tevent: TelemetryEvent,\n): Partial<MaestroCorrelation> {\n\tconst metadata = stringRecord(\n\t\t\"metadata\" in event ? event.metadata : undefined,\n\t);\n\tconst topLevelTraceId =\n\t\t\"traceId\" in event &&\n\t\ttypeof event.traceId === \"string\" &&\n\t\tevent.traceId.trim().length > 0\n\t\t\t? event.traceId\n\t\t\t: undefined;\n\treturn {\n\t\torganization_id: metadataString(metadata, [\n\t\t\t\"organizationId\",\n\t\t\t\"organization_id\",\n\t\t\t\"orgId\",\n\t\t\t\"org_id\",\n\t\t]),\n\t\tuser_id: metadataString(metadata, [\"userId\", \"user_id\"]),\n\t\tworkspace_id: metadataString(metadata, [\"workspaceId\", \"workspace_id\"]),\n\t\tsession_id:\n\t\t\t(\"sessionId\" in event && typeof event.sessionId === \"string\"\n\t\t\t\t? event.sessionId\n\t\t\t\t: undefined) ??\n\t\t\tmetadataString(metadata, [\n\t\t\t\t\"sessionId\",\n\t\t\t\t\"session_id\",\n\t\t\t\t\"maestroSessionId\",\n\t\t\t\t\"maestro_session_id\",\n\t\t\t]),\n\t\tagent_run_id: metadataString(metadata, [\"agentRunId\", \"agent_run_id\"]),\n\t\tagent_run_step_id: metadataString(metadata, [\n\t\t\t\"agentRunStepId\",\n\t\t\t\"agent_run_step_id\",\n\t\t\t\"toolCallId\",\n\t\t\t\"tool_call_id\",\n\t\t]),\n\t\tagent_id: metadataString(metadata, [\"agentId\", \"agent_id\"]),\n\t\tactor_id: metadataString(metadata, [\"actorId\", \"actor_id\"]),\n\t\tprincipal_id: metadataString(metadata, [\"principalId\", \"principal_id\"]),\n\t\ttrace_id:\n\t\t\ttopLevelTraceId ?? metadataString(metadata, [\"traceId\", \"trace_id\"]),\n\t\ttraceparent: metadataString(metadata, [\"traceparent\", \"trace_parent\"]),\n\t\ttracestate: metadataString(metadata, [\"tracestate\", \"trace_state\"]),\n\t\trequest_id: metadataString(metadata, [\"requestId\", \"request_id\"]),\n\t\tremote_runner_session_id: metadataString(metadata, [\n\t\t\t\"remoteRunnerSessionId\",\n\t\t\t\"remote_runner_session_id\",\n\t\t]),\n\t\tobjective_id: metadataString(metadata, [\"objectiveId\", \"objective_id\"]),\n\t\tconversation_id: metadataString(metadata, [\n\t\t\t\"conversationId\",\n\t\t\t\"conversation_id\",\n\t\t]),\n\t};\n}\n\nfunction maestroCorrelationSpanAttributes(\n\tevent: TelemetryEvent,\n): Record<string, string> {\n\tconst config = resolveMaestroEventBusConfig();\n\tconst overrides = eventCorrelationOverrides(event);\n\tconst correlation = {\n\t\t...config.defaultCorrelation,\n\t\t...Object.fromEntries(\n\t\t\tObject.entries(overrides).filter(([, value]) => value !== undefined),\n\t\t),\n\t};\n\tconst principal = config.defaultPrincipal;\n\tconst attributes: Record<string, string | undefined> = {\n\t\t\"enduser.id\": correlation.user_id ?? principal?.user_id,\n\t\t\"user.id\": correlation.user_id ?? principal?.user_id,\n\t\t\"agent.user.id\": correlation.user_id ?? principal?.user_id,\n\t\t\"organization.id\":\n\t\t\tcorrelation.organization_id ?? principal?.organization_id,\n\t\t\"evalops.organization_id\":\n\t\t\tcorrelation.organization_id ?? principal?.organization_id,\n\t\t\"workspace.id\": correlation.workspace_id ?? principal?.workspace_id,\n\t\t\"evalops.workspace_id\": correlation.workspace_id ?? principal?.workspace_id,\n\t\t\"maestro.session_id\": correlation.session_id,\n\t\t\"agent.id\": correlation.agent_id,\n\t\t\"agent.actor.id\": correlation.actor_id,\n\t\t\"evalops.principal_id\": correlation.principal_id,\n\t\t\"maestro.agent_run_id\": correlation.agent_run_id,\n\t\t\"maestro.agent_run_step_id\": correlation.agent_run_step_id,\n\t\t\"trace.id\": correlation.trace_id,\n\t\ttraceparent: correlation.traceparent,\n\t\ttracestate: correlation.tracestate,\n\t\t\"request.id\": correlation.request_id,\n\t\t\"evalops.remote_runner_session_id\": correlation.remote_runner_session_id,\n\t\t\"evalops.objective_id\": correlation.objective_id,\n\t\t\"evalops.conversation_id\": correlation.conversation_id,\n\t\t\"maestro.surface\": config.defaultSurface,\n\t};\n\n\treturn Object.fromEntries(\n\t\tObject.entries(attributes).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" &&\n\t\t\t\tentry[1].trim().length > 0 &&\n\t\t\t\tentry[1] !== \"unknown\",\n\t\t),\n\t);\n}\n\nasync function persistTelemetry(event: TelemetryEvent) {\n\tconst payload = JSON.stringify(event);\n\tconst tasks: Promise<void>[] = [];\n\n\tif (isCanonicalTurnTelemetryEvent(event)) {\n\t\ttasks.push(mirrorCanonicalTurnEventToMeter(event).then(() => undefined));\n\t}\n\n\tif (telemetryEndpointEnv) {\n\t\ttasks.push(postToEndpoint(payload));\n\t}\n\n\tif (telemetryEndpointEnv === undefined) {\n\t\t// Default to file storage when no endpoint is configured\n\t\ttasks.push(writeToFile(payload));\n\t} else if (telemetryFileEnv) {\n\t\ttasks.push(writeToFile(payload));\n\t}\n\n\tawait Promise.all(tasks);\n}\n\nfunction cloneBackgroundTaskTelemetry(\n\tevent: BackgroundTaskTelemetry,\n): BackgroundTaskTelemetry {\n\treturn {\n\t\t...event,\n\t\tresourceUsage: event.resourceUsage ? { ...event.resourceUsage } : undefined,\n\t\tlimitBreach: event.limitBreach ? { ...event.limitBreach } : undefined,\n\t};\n}\n\nfunction recordBackgroundHistory(event: BackgroundTaskTelemetry): void {\n\tbackgroundTaskHistory.push(cloneBackgroundTaskTelemetry(event));\n\tif (backgroundTaskHistory.length > BACKGROUND_TASK_HISTORY_LIMIT) {\n\t\tbackgroundTaskHistory.shift();\n\t}\n}\n\nexport function getBackgroundTaskHistory(\n\tlimit = 10,\n): BackgroundTaskTelemetry[] {\n\tif (limit <= 0) {\n\t\treturn [];\n\t}\n\treturn backgroundTaskHistory\n\t\t.slice(-limit)\n\t\t.map((entry) => cloneBackgroundTaskTelemetry(entry));\n}\n\nexport async function recordTelemetry(event: TelemetryEvent): Promise<void> {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\n\tconst normalizedEvent = normalizeTelemetryEventMetadata(event);\n\tconst openTelemetryEnabled = isOpenTelemetryEnabled();\n\tif (openTelemetryEnabled) {\n\t\trecordOpenTelemetrySpan(normalizedEvent);\n\t\trecordOpenTelemetryMetric(normalizedEvent);\n\t}\n\tconst eventBusTask = mirrorTelemetryToMaestroEventBus(normalizedEvent);\n\n\tconst legacyEnabled = telemetryEnabled && samplingRate > 0;\n\tif (!legacyEnabled) {\n\t\tawait eventBusTask;\n\t\treturn;\n\t}\n\n\tif (samplingRate < 1 && Math.random() > samplingRate) {\n\t\tawait eventBusTask;\n\t\treturn;\n\t}\n\n\ttry {\n\t\tawait Promise.all([persistTelemetry(normalizedEvent), eventBusTask]);\n\t} catch (_error) {\n\t\t// Ignore telemetry persistence failures\n\t}\n}\n\nexport function recordToolExecution(\n\ttoolName: string,\n\tsuccess: boolean,\n\tdurationMs: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"tool-execution\",\n\t\ttimestamp: new Date().toISOString(),\n\t\ttoolName,\n\t\tsuccess,\n\t\tdurationMs,\n\t\tmetadata,\n\t});\n}\n\nexport function recordEvaluationResult(\n\tscenario: string,\n\tsuccess: boolean,\n\tdetails?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"evaluation\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tscenario,\n\t\tsuccess,\n\t\tdetails,\n\t});\n}\n\nexport function recordLoaderStage(\n\tstage: string,\n\tdurationMs: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"loader-stage\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tstage,\n\t\tdurationMs,\n\t\tmetadata,\n\t});\n}\n\nexport function recordSseSkip(\n\tsent: number,\n\tskipped: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"sse\",\n\t\tevent: \"skip\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tsent,\n\t\tskipped,\n\t\tmetadata,\n\t});\n}\n\nexport function logToolFailure(\n\ttoolName: string,\n\terrorMessage: string,\n\tmetadata?: Record<string, unknown>,\n): void {\n\t// Failure messages and metadata routinely embed tokens (Authorization\n\t// headers in fetch errors, API keys in stack traces, etc.). Mirror the\n\t// other telemetry writers: static-mask the error string and split the\n\t// metadata into safe + sensitive buckets so the JSONL on disk never\n\t// holds raw credentials.\n\tconst normalized = normalizeTelemetryMetadataInputs(metadata);\n\tconst payload = {\n\t\ttool: toolName,\n\t\terror: sanitizeWithStaticMask(errorMessage),\n\t\t...(normalized.metadata ? { metadata: normalized.metadata } : {}),\n\t\t...(normalized.sensitiveMetadata\n\t\t\t? { sensitiveMetadata: normalized.sensitiveMetadata }\n\t\t\t: {}),\n\t\ttimestamp: new Date().toISOString(),\n\t};\n\tvoid appendToolFailure(JSON.stringify(payload));\n}\n\nexport function recordBackgroundTaskEvent(\n\tevent: Omit<BackgroundTaskTelemetry, \"type\" | \"timestamp\">,\n): void {\n\tconst sanitizedCommand = sanitizeWithStaticMask(event.command);\n\tconst sanitizedFailure = sanitizeOptionalWithStaticMask(event.failureReason);\n\tconst payload: BackgroundTaskTelemetry = {\n\t\t...event,\n\t\tcommand: sanitizedCommand,\n\t\tfailureReason: sanitizedFailure,\n\t\ttype: \"background-task\",\n\t\ttimestamp: new Date().toISOString(),\n\t};\n\trecordBackgroundHistory(payload);\n\tvoid recordTelemetry(payload);\n}\n\nexport function recordApiRequest(\n\tmethod: string,\n\tpath: string,\n\tstatusCode: number,\n\tdurationMs: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"api-request\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tmethod,\n\t\tpath,\n\t\tstatusCode,\n\t\tdurationMs,\n\t\tmetadata,\n\t});\n}\n\n/**\n * Record a business metric for usage tracking.\n */\nexport function recordBusinessMetric(\n\tmetric: BusinessMetricTelemetry[\"metric\"],\n\tvalue: number,\n\tmetadata?: BusinessMetricTelemetry[\"metadata\"],\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"business-metric\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tmetric,\n\t\tvalue,\n\t\tmetadata,\n\t});\n}\n\n/**\n * Record session start.\n */\nexport function recordSessionStart(\n\tsessionId: string,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"session.count\", 1, { ...metadata, sessionId });\n}\n\n/**\n * Record session duration on end.\n */\nexport function recordSessionDuration(\n\tsessionId: string,\n\tdurationMs: number,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): Promise<void> {\n\treturn recordTelemetry({\n\t\ttype: \"business-metric\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tmetric: \"session.duration\",\n\t\tvalue: durationMs,\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t},\n\t});\n}\n\n/**\n * Record token usage metrics.\n */\nexport function recordTokenUsage(\n\tsessionId: string,\n\ttokens: {\n\t\tinput?: number;\n\t\toutput?: number;\n\t\tcacheRead?: number;\n\t\tcacheWrite?: number;\n\t},\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\tif (tokens.input !== undefined && tokens.input > 0) {\n\t\trecordBusinessMetric(\"tokens.input\", tokens.input, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n\tif (tokens.output !== undefined && tokens.output > 0) {\n\t\trecordBusinessMetric(\"tokens.output\", tokens.output, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n\tif (tokens.cacheRead !== undefined && tokens.cacheRead > 0) {\n\t\trecordBusinessMetric(\"tokens.cache_read\", tokens.cacheRead, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n\tif (tokens.cacheWrite !== undefined && tokens.cacheWrite > 0) {\n\t\trecordBusinessMetric(\"tokens.cache_write\", tokens.cacheWrite, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n}\n\n/**\n * Record cost in USD.\n */\nexport function recordCost(\n\tsessionId: string,\n\tcostUsd: number,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"cost.usd\", costUsd, { ...metadata, sessionId });\n}\n\n/**\n * Record compaction event.\n */\nexport function recordCompaction(\n\tsessionId: string,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"compaction.triggered\", 1, { ...metadata, sessionId });\n}\n\n/**\n * Record model switch.\n */\nexport function recordModelSwitch(\n\tsessionId: string,\n\tfromModel: string,\n\ttoModel: string,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"model.switch\", 1, {\n\t\t...metadata,\n\t\tsessionId,\n\t\tmodel: toModel,\n\t\tpreviousModel: fromModel,\n\t});\n}\n\nexport function recordStagedRolloutSurfaceUsage(\n\tevent: StagedRolloutSurfaceTelemetry[\"event\"],\n\toptions: {\n\t\tsurfaceId: string;\n\t\tsurfaceType: StagedRolloutSurfaceTelemetry[\"surfaceType\"];\n\t\towner?: string;\n\t\tsource?: string;\n\t\tmetadata?: Record<string, unknown>;\n\t},\n): Promise<void> {\n\treturn recordTelemetry({\n\t\ttype: \"staged-rollout-surface\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tevent,\n\t\tsurfaceId: options.surfaceId,\n\t\tsurfaceType: options.surfaceType,\n\t\tmetadata: {\n\t\t\t...options.metadata,\n\t\t\towner: options.owner,\n\t\t\tsource: options.source,\n\t\t},\n\t});\n}\n\nexport function recordSubagentDispatch(\n\tevent: Omit<SubagentDispatchTelemetry, \"type\" | \"timestamp\" | \"event\">,\n): void {\n\tvoid recordTelemetry({\n\t\t...event,\n\t\ttype: \"subagent-dispatch\",\n\t\tevent: \"subagent_dispatched\",\n\t\ttimestamp: new Date().toISOString(),\n\t});\n}\n\nexport function recordA2ADelegationTelemetry(\n\tevent: A2ADelegationTelemetryInput,\n): void {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\ttry {\n\t\trecordA2ADelegationMetric({\n\t\t\tphase: event.phase,\n\t\t\tsource: event.source,\n\t\t\tstatus: event.status,\n\t\t\tsuccess: event.success,\n\t\t\tskillId: event.skillId,\n\t\t\ttaskClass: event.taskClass,\n\t\t\tlatencyMs: event.latencyMs,\n\t\t\ttaskDurationMs: event.taskDurationMs ?? event.durationMs,\n\t\t\tpushLagMs: event.pushLagMs,\n\t\t});\n\t\trecordMaestroA2ADelegationEvent({\n\t\t\tevent_type: A2A_PHASE_EVENT_TYPES[event.phase],\n\t\t\tswarm_id: event.swarmId,\n\t\t\tlane_id: event.laneId,\n\t\t\tparent_task_id: event.parentTaskId,\n\t\t\ta2a_task_id: event.a2aTaskId,\n\t\t\ta2a_message_id: event.a2aMessageId,\n\t\t\tcontext_id: event.contextId,\n\t\t\tpeer_agent_id: event.peerAgentId,\n\t\t\tpeer_name: event.peerName,\n\t\t\tpeer_endpoint_url: event.peerEndpointUrl,\n\t\t\tpeer_endpoint_hash: event.peerEndpointHash,\n\t\t\tpeer_endpoint_kind: event.peerEndpointKind,\n\t\t\tskill_id: event.skillId,\n\t\t\ttask_class: event.taskClass,\n\t\t\tsource: event.source,\n\t\t\tstatus: event.status,\n\t\t\tterminal: event.terminal,\n\t\t\tsuccess: event.success,\n\t\t\tlatency_ms: event.latencyMs,\n\t\t\tduration_ms: event.taskDurationMs ?? event.durationMs,\n\t\t\tpush_lag_ms: event.pushLagMs,\n\t\t\tevidence: event.evidence,\n\t\t\tmetadata: event.metadata,\n\t\t\tcorrelation: event.correlation,\n\t\t\toccurred_at: event.occurredAt,\n\t\t\tenv: event.env,\n\t\t});\n\t} catch {\n\t\t// Telemetry must never affect A2A delegation runtime behavior.\n\t}\n}\n\nexport function recordA2APolicyDenialTelemetry(event: {\n\tsource?: string;\n\treason: string;\n\ttaskClass?: string;\n\tskillId?: string;\n}): void {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\ttry {\n\t\trecordA2APolicyDenialMetric(event);\n\t} catch {\n\t\t// Best-effort only.\n\t}\n}\n\nexport function recordA2APeerExclusionTelemetry(event: {\n\tsource?: string;\n\treason: string;\n\ttaskClass?: string;\n\tskillId?: string;\n}): void {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\ttry {\n\t\trecordA2APeerExclusionMetric(event);\n\t} catch {\n\t\t// Best-effort only.\n\t}\n}\n\n/**\n * Record session migration stats.\n */\nexport function recordSessionMigration(stats: {\n\ttotal: number;\n\tmigrated: number;\n\tskipped: number;\n\tfailures: number;\n\tversion: number;\n}): void {\n\trecordBusinessMetric(\"session.migration\", stats.total, {\n\t\tmigrated: stats.migrated,\n\t\tskipped: stats.skipped,\n\t\tfailures: stats.failures,\n\t\tversion: stats.version,\n\t});\n}\n\n/**\n * Record a sandbox violation event.\n */\nexport function recordSandboxViolation(\n\tevent: SandboxViolationTelemetry[\"event\"],\n\ttool: string,\n\taction: string,\n\treason: string,\n\toptions?: {\n\t\tpath?: string;\n\t\tcommand?: string;\n\t\tsessionId?: string;\n\t\tmetadata?: Record<string, unknown>;\n\t},\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"sandbox-violation\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tevent,\n\t\ttool,\n\t\taction: sanitizeWithStaticMask(action),\n\t\treason: sanitizeWithStaticMask(reason),\n\t\tpath: sanitizeOptionalWithStaticMask(options?.path),\n\t\tcommand: options?.command\n\t\t\t? sanitizeWithStaticMask(options.command)\n\t\t\t: undefined,\n\t\tmetadata: options?.metadata\n\t\t\t? { ...options.metadata, sessionId: options.sessionId }\n\t\t\t: options?.sessionId\n\t\t\t\t? { sessionId: options.sessionId }\n\t\t\t\t: undefined,\n\t});\n}\n\n// Initialize the wide-events telemetry recorder to break circular dependency\nsetDefaultTelemetryRecorder(recordTelemetry);\n"]}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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","sourcesContent":["import { appendFile, mkdir } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\nimport { type Span, SpanStatusCode } from \"@opentelemetry/api\";\n\nimport { PATHS } from \"./config/constants.js\";\nimport {\n\tgetTelemetryTracer,\n\tinitOpenTelemetry,\n\tisOpenTelemetryEnabled,\n} from \"./opentelemetry.js\";\nimport { type RuntimeEnv, defaultRuntimeEnv } from \"./runtime/env.js\";\nimport { isInternalTelemetryDisabled } from \"./telemetry/disablement.js\";\nimport {\n\ttype MaestroCorrelation,\n\tmirrorTelemetryToMaestroEventBus,\n\trecordMaestroA2ADelegationEvent,\n\tresolveMaestroEventBusConfig,\n} from \"./telemetry/maestro-event-bus.js\";\nimport { MaestroBusEventType } from \"./telemetry/maestro-event-catalog.js\";\nimport { normalizeTelemetryMetadataInputs } from \"./telemetry/metadata-normalization.js\";\nimport {\n\thasRemoteMeterDestination,\n\tmirrorCanonicalTurnEventToMeter,\n} from \"./telemetry/meter-service-client.js\";\nimport {\n\trecordA2ADelegationMetric,\n\trecordA2APeerExclusionMetric,\n\trecordA2APolicyDenialMetric,\n\trecordCompactionMetric,\n\trecordSubagentDispatchMetric,\n\trecordToolInvocationMetric,\n} from \"./telemetry/metrics.js\";\nimport {\n\ttype CanonicalTurnEvent,\n\tsetDefaultTelemetryRecorder,\n} from \"./telemetry/wide-events.js\";\nimport {\n\tsanitizeOptionalWithStaticMask,\n\tsanitizeWithStaticMask,\n} from \"./utils/secret-redactor.js\";\n\nexport { splitTelemetryMetadata } from \"./telemetry/metadata-normalization.js\";\n\ntype BaseTelemetryEvent = {\n\ttype:\n\t\t| \"tool-execution\"\n\t\t| \"evaluation\"\n\t\t| \"loader-stage\"\n\t\t| \"sse\"\n\t\t| \"background-task\"\n\t\t| \"api-request\"\n\t\t| \"business-metric\"\n\t\t| \"staged-rollout-surface\"\n\t\t| \"sandbox-violation\"\n\t\t| \"subagent-dispatch\";\n\ttimestamp: string;\n\tsensitiveMetadata?: Record<string, unknown>;\n};\n\nexport interface ApiRequestTelemetry extends BaseTelemetryEvent {\n\ttype: \"api-request\";\n\tmethod: string;\n\tpath: string;\n\tstatusCode: number;\n\tdurationMs: number;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface ToolExecutionTelemetry extends BaseTelemetryEvent {\n\ttype: \"tool-execution\";\n\ttoolName: string;\n\tsuccess: boolean;\n\tdurationMs: number;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface EvaluationTelemetry extends BaseTelemetryEvent {\n\ttype: \"evaluation\";\n\tscenario: string;\n\tsuccess: boolean;\n\tdetails?: Record<string, unknown>;\n}\n\nexport interface LoaderStageTelemetry extends BaseTelemetryEvent {\n\ttype: \"loader-stage\";\n\tstage: string;\n\tdurationMs: number;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport interface SseTelemetry extends BaseTelemetryEvent {\n\ttype: \"sse\";\n\tevent: \"skip\";\n\tsent: number;\n\tskipped: number;\n\tmetadata?: Record<string, unknown>;\n}\n\ntype BackgroundTaskStatusTelemetry =\n\t| \"running\"\n\t| \"restarting\"\n\t| \"failed\"\n\t| \"exited\"\n\t| \"stopped\";\n\nexport interface BackgroundTaskTelemetry extends BaseTelemetryEvent {\n\ttype: \"background-task\";\n\tevent: \"started\" | \"restarted\" | \"exited\" | \"failed\" | \"stopped\";\n\ttaskId: string;\n\tstatus: BackgroundTaskStatusTelemetry;\n\tcommand: string;\n\tshellMode: \"shell\" | \"exec\";\n\tcwd?: string;\n\trestartAttempts: number;\n\tlogTruncated: boolean;\n\texitCode?: number | null;\n\tsignal?: string | null;\n\tresourceUsage?: {\n\t\tmaxRssKb?: number;\n\t\tuserMs?: number;\n\t\tsystemMs?: number;\n\t};\n\tfailureReason?: string;\n\tlimitBreach?: {\n\t\tkind: \"memory\" | \"cpu\";\n\t\tlimit: number;\n\t\tactual: number;\n\t};\n}\n\n/**\n * Business metrics for tracking usage patterns.\n * Inspired by Claude Code's telemetry events.\n */\nexport interface BusinessMetricTelemetry extends BaseTelemetryEvent {\n\ttype: \"business-metric\";\n\tmetric:\n\t\t| \"session.count\"\n\t\t| \"session.duration\"\n\t\t| \"session.migration\"\n\t\t| \"lines_of_code.count\"\n\t\t| \"tokens.input\"\n\t\t| \"tokens.output\"\n\t\t| \"tokens.cache_read\"\n\t\t| \"tokens.cache_write\"\n\t\t| \"cost.usd\"\n\t\t| \"compaction.triggered\"\n\t\t| \"model.switch\"\n\t\t| \"custom_model_request.blocked_by_url_policy\";\n\tvalue: number;\n\tmetadata?: {\n\t\tsessionId?: string;\n\t\tmodel?: string;\n\t\tprovider?: string;\n\t\tgitBranch?: string;\n\t\tgitCommitSha?: string;\n\t\t[key: string]: unknown;\n\t};\n}\n\nexport interface StagedRolloutSurfaceTelemetry extends BaseTelemetryEvent {\n\ttype: \"staged-rollout-surface\";\n\tevent: \"hidden_flag_used\" | \"hidden_mode_used\" | \"internal_gate_used\";\n\tsurfaceId: string;\n\tsurfaceType: \"cli_flag\" | \"mode\" | \"internal_gate\" | \"protocol_capability\";\n\tmetadata?: {\n\t\towner?: string;\n\t\tsource?: string;\n\t\t[key: string]: unknown;\n\t};\n}\n\n/**\n * Sandbox violation tracking for security auditing.\n */\nexport interface SandboxViolationTelemetry extends BaseTelemetryEvent {\n\ttype: \"sandbox-violation\";\n\tevent: \"blocked\" | \"warned\" | \"allowed\";\n\ttool: string;\n\taction: string;\n\treason: string;\n\tpath?: string;\n\tcommand?: string;\n\tmetadata?: {\n\t\tsessionId?: string;\n\t\tuserId?: string;\n\t\t[key: string]: unknown;\n\t};\n}\n\n/**\n * Subagent dispatch tracking for multi-agent routing and audit.\n */\nexport interface SubagentDispatchTelemetry extends BaseTelemetryEvent {\n\ttype: \"subagent-dispatch\";\n\tevent: \"subagent_dispatched\";\n\tmode: string;\n\tsubagentType: string;\n\tmodel: string;\n\tprovider: string;\n\treasoningEffort: string;\n\tlatencyMs: number;\n\tsuccess: boolean;\n\tsource?: string;\n\tmetadata?: Record<string, unknown>;\n}\n\nexport type A2ADelegationTelemetryPhase =\n\t| \"peer_selected\"\n\t| \"task_dispatched\"\n\t| \"task_progress\"\n\t| \"task_completed\"\n\t| \"task_failed\"\n\t| \"task_cancelled\"\n\t| \"push_received\"\n\t| \"evidence_completed\";\n\nexport interface A2ADelegationTelemetryInput {\n\tphase: A2ADelegationTelemetryPhase;\n\tswarmId: string;\n\tlaneId: string;\n\tparentTaskId: string;\n\ta2aTaskId?: string;\n\ta2aMessageId?: string;\n\tcontextId?: string;\n\tpeerAgentId?: string;\n\tpeerName?: string;\n\tpeerEndpointUrl?: string;\n\tpeerEndpointHash?: string;\n\tpeerEndpointKind?: string;\n\tskillId?: string;\n\ttaskClass?: string;\n\tsource?: string;\n\tstatus?: string;\n\tterminal?: boolean;\n\tsuccess?: boolean;\n\tlatencyMs?: number;\n\tdurationMs?: number;\n\ttaskDurationMs?: number;\n\tpushLagMs?: number;\n\tevidence?: Record<string, unknown>;\n\tmetadata?: Record<string, unknown>;\n\tcorrelation?: Partial<MaestroCorrelation>;\n\toccurredAt?: string;\n\tenv?: NodeJS.ProcessEnv;\n}\n\n/**\n * Canonical Turn Event - Wide event emitted once per agent turn.\n * Re-exported from telemetry/wide-events.ts for type union.\n */\nexport interface CanonicalTurnEventBase {\n\ttype: \"canonical-turn\";\n\ttimestamp: string;\n\tsessionId: string;\n\tturnId: string;\n\tturnNumber: number;\n\t[key: string]: unknown;\n}\n\ntype TelemetryEvent =\n\t| ToolExecutionTelemetry\n\t| EvaluationTelemetry\n\t| LoaderStageTelemetry\n\t| SseTelemetry\n\t| BackgroundTaskTelemetry\n\t| ApiRequestTelemetry\n\t| BusinessMetricTelemetry\n\t| StagedRolloutSurfaceTelemetry\n\t| SandboxViolationTelemetry\n\t| SubagentDispatchTelemetry\n\t| CanonicalTurnEventBase\n\t| CanonicalTurnEvent;\n\ninterface ExporterRuntimeConfig {\n\tenv: RuntimeEnv;\n\tfile: string | null;\n\tendpoint: string | null;\n\tflag: string | null;\n\tinitialEnabled: boolean;\n\tsampleRate: number;\n}\n\nlet exporterRuntimeConfig: ExporterRuntimeConfig | null = null;\n\nfunction createExporterRuntimeConfig(env: RuntimeEnv): ExporterRuntimeConfig {\n\tconst file = env.exporterFile;\n\tconst endpoint = env.exporterEndpoint;\n\tconst initialEnabled = shouldEnableTelemetryForEnv(env, file, endpoint);\n\treturn {\n\t\tendpoint,\n\t\tenv,\n\t\tfile,\n\t\tflag: env.telemetryFlag,\n\t\tinitialEnabled,\n\t\t// `RuntimeEnv.telemetrySampleRate` is already parsed and clamped to\n\t\t// `[0, 1]`; `null` means no signal, treated as full-sampling.\n\t\tsampleRate: env.telemetrySampleRate ?? 1,\n\t};\n}\n\nfunction getExporterRuntimeConfig(): ExporterRuntimeConfig {\n\tconst env = defaultRuntimeEnv();\n\tif (!exporterRuntimeConfig || exporterRuntimeConfig.env !== env) {\n\t\texporterRuntimeConfig = createExporterRuntimeConfig(env);\n\t}\n\treturn exporterRuntimeConfig;\n}\n\nfunction shouldEnableTelemetryForEnv(\n\tenv: RuntimeEnv,\n\tfile: string | null,\n\tendpoint: string | null,\n): boolean {\n\tif (env.telemetryEnabled === false) return false;\n\tif (env.telemetryEnabled === true) return true;\n\treturn Boolean(endpoint || file || hasRemoteMeterDestination());\n}\n\nconst shouldEnableTelemetry = (config = getExporterRuntimeConfig()): boolean =>\n\tshouldEnableTelemetryForEnv(config.env, config.file, config.endpoint);\n\nlet telemetryOverride: boolean | null = null;\nlet telemetryOverrideReason: string | undefined;\n\nconst A2A_PHASE_EVENT_TYPES: Record<\n\tA2ADelegationTelemetryPhase,\n\tMaestroBusEventType\n> = {\n\tpeer_selected: MaestroBusEventType.A2APeerSelected,\n\ttask_dispatched: MaestroBusEventType.A2ATaskDispatched,\n\ttask_progress: MaestroBusEventType.A2ATaskProgress,\n\ttask_completed: MaestroBusEventType.A2ATaskCompleted,\n\ttask_failed: MaestroBusEventType.A2ATaskFailed,\n\ttask_cancelled: MaestroBusEventType.A2ATaskCancelled,\n\tpush_received: MaestroBusEventType.A2APushReceived,\n\tevidence_completed: MaestroBusEventType.A2AEvidenceCompleted,\n};\n\nconst defaultTelemetryFile = PATHS.TELEMETRY_LOG;\nconst toolFailureLogFile = PATHS.TOOL_FAILURE_LOG;\nconst BACKGROUND_TASK_HISTORY_LIMIT = 50;\nconst backgroundTaskHistory: BackgroundTaskTelemetry[] = [];\n\nexport interface TelemetryStatus {\n\tenabled: boolean;\n\treason: string;\n\tendpoint?: string;\n\tfilePath?: string;\n\tsampleRate: number;\n\tflagValue?: string;\n\truntimeOverride?: \"enabled\" | \"disabled\";\n\toverrideReason?: string;\n}\n\nexport function getTelemetryStatus(): TelemetryStatus {\n\tconst config = getExporterRuntimeConfig();\n\tlet reason = \"disabled\";\n\tconst baseEnabled = config.initialEnabled && config.sampleRate > 0;\n\tif (!shouldEnableTelemetry(config)) {\n\t\treason = \"flag disabled\";\n\t} else if (config.sampleRate === 0) {\n\t\treason = \"sampling=0\";\n\t} else if (config.endpoint) {\n\t\treason = \"endpoint\";\n\t} else if (hasRemoteMeterDestination()) {\n\t\treason = \"meter\";\n\t} else if (config.file || baseEnabled) {\n\t\treason = \"file\";\n\t}\n\tconst runtimeOverride =\n\t\ttelemetryOverride === null\n\t\t\t? undefined\n\t\t\t: telemetryOverride\n\t\t\t\t? \"enabled\"\n\t\t\t\t: \"disabled\";\n\n\treturn {\n\t\tenabled:\n\t\t\t(telemetryOverride === null\n\t\t\t\t? config.initialEnabled\n\t\t\t\t: telemetryOverride) && config.sampleRate > 0,\n\t\treason,\n\t\tendpoint: config.endpoint ?? undefined,\n\t\tfilePath: config.file ?? defaultTelemetryFile,\n\t\tsampleRate: config.sampleRate,\n\t\tflagValue: config.flag ?? undefined,\n\t\truntimeOverride,\n\t\toverrideReason: telemetryOverrideReason,\n\t};\n}\n\nexport function setTelemetryRuntimeOverride(\n\tenabled: boolean | null,\n\treason?: string,\n): void {\n\ttelemetryOverride = enabled;\n\ttelemetryOverrideReason = reason;\n}\n\nfunction normalizeTelemetryEventMetadata(\n\tevent: TelemetryEvent,\n): TelemetryEvent {\n\tif (!(\"metadata\" in event) && !(\"sensitiveMetadata\" in event)) {\n\t\treturn event;\n\t}\n\tconst existingMetadata =\n\t\t\"metadata\" in event ? stringRecord(event.metadata) : undefined;\n\tconst existingSensitiveMetadata =\n\t\t\"sensitiveMetadata\" in event\n\t\t\t? stringRecord(event.sensitiveMetadata)\n\t\t\t: undefined;\n\tconst { metadata, sensitiveMetadata } = normalizeTelemetryMetadataInputs(\n\t\texistingMetadata,\n\t\texistingSensitiveMetadata,\n\t);\n\tconst normalized = { ...event };\n\tif (\"metadata\" in normalized) {\n\t\tif (metadata) {\n\t\t\tnormalized.metadata = metadata;\n\t\t} else {\n\t\t\tdelete normalized.metadata;\n\t\t}\n\t}\n\tif (sensitiveMetadata) {\n\t\tnormalized.sensitiveMetadata = sensitiveMetadata;\n\t} else {\n\t\tdelete normalized.sensitiveMetadata;\n\t}\n\treturn normalized;\n}\n\nfunction isCanonicalTurnTelemetryEvent(\n\tevent: TelemetryEvent,\n): event is CanonicalTurnEvent {\n\treturn (\n\t\tevent.type === \"canonical-turn\" && \"model\" in event && \"tokens\" in event\n\t);\n}\n\nasync function writeToFile(payload: string) {\n\tconst filePath = getExporterRuntimeConfig().file || defaultTelemetryFile;\n\tawait mkdir(dirname(filePath), { recursive: true });\n\tawait appendFile(filePath, `${payload}\\n`, \"utf-8\");\n}\n\nasync function appendToolFailure(payload: string): Promise<void> {\n\tawait mkdir(dirname(toolFailureLogFile), { recursive: true });\n\tawait appendFile(toolFailureLogFile, `${payload}\\n`, \"utf-8\");\n}\n\nasync function postToEndpoint(payload: string) {\n\tconst endpoint = getExporterRuntimeConfig().endpoint;\n\tif (!endpoint) {\n\t\treturn;\n\t}\n\ttry {\n\t\tawait fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\tbody: payload,\n\t\t});\n\t} catch (_error) {\n\t\t// Swallow telemetry transport errors\n\t}\n}\n\nfunction recordOpenTelemetrySpan(event: TelemetryEvent): void {\n\ttry {\n\t\tconst correlationAttributes = maestroCorrelationSpanAttributes(event);\n\t\tconst tracer = getTelemetryTracer();\n\t\ttracer.startActiveSpan(`telemetry.${event.type}`, (span: Span) => {\n\t\t\tspan.setAttributes({\n\t\t\t\t...correlationAttributes,\n\t\t\t\t\"maestro.telemetry.type\": event.type,\n\t\t\t\t\"maestro.telemetry.timestamp\": event.timestamp,\n\t\t\t});\n\n\t\t\tswitch (event.type) {\n\t\t\t\tcase \"tool-execution\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.tool.name\": event.toolName,\n\t\t\t\t\t\t\"maestro.tool.success\": event.success,\n\t\t\t\t\t\t\"maestro.tool.duration_ms\": event.durationMs,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode: event.success ? SpanStatusCode.OK : SpanStatusCode.ERROR,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"evaluation\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.eval.scenario\": event.scenario,\n\t\t\t\t\t\t\"maestro.eval.success\": event.success,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode: event.success ? SpanStatusCode.OK : SpanStatusCode.ERROR,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"loader-stage\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.loader.stage\": event.stage,\n\t\t\t\t\t\t\"maestro.loader.duration_ms\": event.durationMs,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sse\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.sse.sent\": event.sent,\n\t\t\t\t\t\t\"maestro.sse.skipped\": event.skipped,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"background-task\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.background.id\": event.taskId,\n\t\t\t\t\t\t\"maestro.background.event\": event.event,\n\t\t\t\t\t\t\"maestro.background.status\": event.status,\n\t\t\t\t\t\t\"maestro.background.restart_attempts\": event.restartAttempts,\n\t\t\t\t\t\t\"maestro.background.exit_code\": event.exitCode ?? -1,\n\t\t\t\t\t\t\"maestro.background.shell_mode\": event.shellMode,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus(\n\t\t\t\t\t\tevent.failureReason || event.status === \"failed\"\n\t\t\t\t\t\t\t? { code: SpanStatusCode.ERROR, message: event.failureReason }\n\t\t\t\t\t\t\t: { code: SpanStatusCode.OK },\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"api-request\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"http.method\": event.method,\n\t\t\t\t\t\t\"http.route\": event.path,\n\t\t\t\t\t\t\"http.status_code\": event.statusCode,\n\t\t\t\t\t\t\"maestro.api.duration_ms\": event.durationMs,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode:\n\t\t\t\t\t\t\tevent.statusCode >= 500\n\t\t\t\t\t\t\t\t? SpanStatusCode.ERROR\n\t\t\t\t\t\t\t\t: SpanStatusCode.OK,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"business-metric\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.metric.name\": event.metric,\n\t\t\t\t\t\t\"maestro.metric.value\": event.value,\n\t\t\t\t\t});\n\t\t\t\t\tif (event.metadata?.model) {\n\t\t\t\t\t\tspan.setAttribute(\"maestro.metric.model\", event.metadata.model);\n\t\t\t\t\t}\n\t\t\t\t\tif (event.metadata?.provider) {\n\t\t\t\t\t\tspan.setAttribute(\n\t\t\t\t\t\t\t\"maestro.metric.provider\",\n\t\t\t\t\t\t\tevent.metadata.provider,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"staged-rollout-surface\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.staged_rollout.event\": event.event,\n\t\t\t\t\t\t\"maestro.staged_rollout.surface_id\": event.surfaceId,\n\t\t\t\t\t\t\"maestro.staged_rollout.surface_type\": event.surfaceType,\n\t\t\t\t\t});\n\t\t\t\t\tif (event.metadata?.owner) {\n\t\t\t\t\t\tspan.setAttribute(\n\t\t\t\t\t\t\t\"maestro.staged_rollout.owner\",\n\t\t\t\t\t\t\tString(event.metadata.owner),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sandbox-violation\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.sandbox.event\": event.event,\n\t\t\t\t\t\t\"maestro.sandbox.tool\": event.tool,\n\t\t\t\t\t\t\"maestro.sandbox.action\": event.action,\n\t\t\t\t\t\t\"maestro.sandbox.reason\": event.reason,\n\t\t\t\t\t});\n\t\t\t\t\tif (event.path) {\n\t\t\t\t\t\tspan.setAttribute(\"maestro.sandbox.path\", event.path);\n\t\t\t\t\t}\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode:\n\t\t\t\t\t\t\tevent.event === \"blocked\"\n\t\t\t\t\t\t\t\t? SpanStatusCode.ERROR\n\t\t\t\t\t\t\t\t: SpanStatusCode.OK,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"subagent-dispatch\":\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.subagent.event\": event.event,\n\t\t\t\t\t\t\"maestro.subagent.mode\": event.mode,\n\t\t\t\t\t\t\"maestro.subagent.type\": event.subagentType,\n\t\t\t\t\t\t\"maestro.subagent.reasoning_effort\": event.reasoningEffort,\n\t\t\t\t\t\t\"maestro.subagent.source\": event.source ?? \"unknown\",\n\t\t\t\t\t\t\"maestro.subagent.success\": event.success,\n\t\t\t\t\t\t\"maestro.subagent.latency_ms\": event.latencyMs,\n\t\t\t\t\t\t\"llm.model.id\": event.model,\n\t\t\t\t\t\t\"llm.model.provider\": event.provider,\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode: event.success ? SpanStatusCode.OK : SpanStatusCode.ERROR,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"canonical-turn\": {\n\t\t\t\t\tconst canonicalTurn = isCanonicalTurnTelemetryEvent(event)\n\t\t\t\t\t\t? event\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\tspan.setAttributes({\n\t\t\t\t\t\t\"maestro.turn.id\": event.turnId,\n\t\t\t\t\t\t\"maestro.turn.number\": event.turnNumber,\n\t\t\t\t\t\t\"maestro.turn.session_id\": event.sessionId,\n\t\t\t\t\t\t\"agent.session.id\": event.sessionId,\n\t\t\t\t\t\t...(canonicalTurn\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\"llm.model.id\": canonicalTurn.model.id,\n\t\t\t\t\t\t\t\t\t\"llm.model.provider\": canonicalTurn.model.provider,\n\t\t\t\t\t\t\t\t\t\"llm.usage.input_tokens\": canonicalTurn.tokens.input,\n\t\t\t\t\t\t\t\t\t\"llm.usage.output_tokens\": canonicalTurn.tokens.output,\n\t\t\t\t\t\t\t\t\t\"llm.usage.cache_read_tokens\": canonicalTurn.tokens.cacheRead,\n\t\t\t\t\t\t\t\t\t\"llm.usage.cache_write_tokens\":\n\t\t\t\t\t\t\t\t\t\tcanonicalTurn.tokens.cacheWrite,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\"maestro.turn.status\": String(\n\t\t\t\t\t\t\t\"status\" in event ? event.status : \"unknown\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.tool_count\": Number(\n\t\t\t\t\t\t\t\"toolCount\" in event ? event.toolCount : 0,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.total_duration_ms\": Number(\n\t\t\t\t\t\t\t\"totalDurationMs\" in event ? event.totalDurationMs : 0,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.cost_usd\": Number(\n\t\t\t\t\t\t\t\"costUsd\" in event ? event.costUsd : 0,\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"maestro.turn.sampled\": Boolean(\n\t\t\t\t\t\t\t\"sampled\" in event ? event.sampled : true,\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t\tspan.setStatus({\n\t\t\t\t\t\tcode:\n\t\t\t\t\t\t\t\"status\" in event && event.status === \"error\"\n\t\t\t\t\t\t\t\t? SpanStatusCode.ERROR\n\t\t\t\t\t\t\t\t: SpanStatusCode.OK,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tspan.setStatus({ code: SpanStatusCode.UNSET });\n\t\t\t}\n\n\t\t\tif (\"metadata\" in event && event.metadata) {\n\t\t\t\tspan.setAttributes({ \"maestro.telemetry.has_metadata\": true });\n\t\t\t}\n\n\t\t\tspan.end();\n\t\t});\n\t} catch {\n\t\t// Never let tracing failures affect runtime\n\t}\n}\n\nfunction recordOpenTelemetryMetric(event: TelemetryEvent): void {\n\ttry {\n\t\tswitch (event.type) {\n\t\t\tcase \"tool-execution\":\n\t\t\t\trecordToolInvocationMetric({\n\t\t\t\t\ttoolName: event.toolName,\n\t\t\t\t\tdurationMs: event.durationMs,\n\t\t\t\t\tsuccess: event.success,\n\t\t\t\t\tagentRunId: metadataString(event.metadata, [\n\t\t\t\t\t\t\"agentRunId\",\n\t\t\t\t\t\t\"agent_run_id\",\n\t\t\t\t\t]),\n\t\t\t\t\tskillName: skillNameFromMetadata(event.metadata),\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase \"business-metric\":\n\t\t\t\tif (event.metric === \"compaction.triggered\") {\n\t\t\t\t\trecordCompactionMetric({\n\t\t\t\t\t\t\"maestro.session_id\": event.metadata?.sessionId,\n\t\t\t\t\t\t\"llm.model.id\": event.metadata?.model,\n\t\t\t\t\t\t\"llm.model.provider\": event.metadata?.provider,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"subagent-dispatch\":\n\t\t\t\trecordSubagentDispatchMetric({\n\t\t\t\t\tmode: event.mode,\n\t\t\t\t\tsubagentType: event.subagentType,\n\t\t\t\t\tprovider: event.provider,\n\t\t\t\t\tmodel: event.model,\n\t\t\t\t\treasoningEffort: event.reasoningEffort,\n\t\t\t\t\tsource: event.source,\n\t\t\t\t\tsuccess: event.success,\n\t\t\t\t\tlatencyMs: event.latencyMs,\n\t\t\t\t\tagentRunId: metadataString(event.metadata, [\n\t\t\t\t\t\t\"agentRunId\",\n\t\t\t\t\t\t\"agent_run_id\",\n\t\t\t\t\t]),\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t} catch {\n\t\t// Never let metric recording affect runtime behavior.\n\t}\n}\n\nfunction stringRecord(value: unknown): Record<string, unknown> | undefined {\n\treturn value && typeof value === \"object\" && !Array.isArray(value)\n\t\t? (value as Record<string, unknown>)\n\t\t: undefined;\n}\n\nfunction skillNameFromMetadata(\n\tmetadata: Record<string, unknown> | undefined,\n): string | undefined {\n\treturn (\n\t\tmetadataString(metadata, [\"skillName\", \"skill_name\"]) ??\n\t\tmetadataString(stringRecord(metadata?.skillMetadata), [\"name\"]) ??\n\t\tmetadataString(stringRecord(metadata?.skill_metadata), [\"name\"])\n\t);\n}\n\nfunction metadataString(\n\trecord: Record<string, unknown> | undefined,\n\tkeys: string[],\n): string | undefined {\n\tfor (const key of keys) {\n\t\tconst value = record?.[key];\n\t\tif (typeof value === \"string\" && value.trim().length > 0) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction eventCorrelationOverrides(\n\tevent: TelemetryEvent,\n): Partial<MaestroCorrelation> {\n\tconst metadata = stringRecord(\n\t\t\"metadata\" in event ? event.metadata : undefined,\n\t);\n\tconst topLevelTraceId =\n\t\t\"traceId\" in event &&\n\t\ttypeof event.traceId === \"string\" &&\n\t\tevent.traceId.trim().length > 0\n\t\t\t? event.traceId\n\t\t\t: undefined;\n\treturn {\n\t\torganization_id: metadataString(metadata, [\n\t\t\t\"organizationId\",\n\t\t\t\"organization_id\",\n\t\t\t\"orgId\",\n\t\t\t\"org_id\",\n\t\t]),\n\t\tuser_id: metadataString(metadata, [\"userId\", \"user_id\"]),\n\t\tworkspace_id: metadataString(metadata, [\"workspaceId\", \"workspace_id\"]),\n\t\tsession_id:\n\t\t\t(\"sessionId\" in event && typeof event.sessionId === \"string\"\n\t\t\t\t? event.sessionId\n\t\t\t\t: undefined) ??\n\t\t\tmetadataString(metadata, [\n\t\t\t\t\"sessionId\",\n\t\t\t\t\"session_id\",\n\t\t\t\t\"maestroSessionId\",\n\t\t\t\t\"maestro_session_id\",\n\t\t\t]),\n\t\tagent_run_id: metadataString(metadata, [\"agentRunId\", \"agent_run_id\"]),\n\t\tagent_run_step_id: metadataString(metadata, [\n\t\t\t\"agentRunStepId\",\n\t\t\t\"agent_run_step_id\",\n\t\t\t\"toolCallId\",\n\t\t\t\"tool_call_id\",\n\t\t]),\n\t\tagent_id: metadataString(metadata, [\"agentId\", \"agent_id\"]),\n\t\tactor_id: metadataString(metadata, [\"actorId\", \"actor_id\"]),\n\t\tprincipal_id: metadataString(metadata, [\"principalId\", \"principal_id\"]),\n\t\ttrace_id:\n\t\t\ttopLevelTraceId ?? metadataString(metadata, [\"traceId\", \"trace_id\"]),\n\t\ttraceparent: metadataString(metadata, [\"traceparent\", \"trace_parent\"]),\n\t\ttracestate: metadataString(metadata, [\"tracestate\", \"trace_state\"]),\n\t\trequest_id: metadataString(metadata, [\"requestId\", \"request_id\"]),\n\t\tremote_runner_session_id: metadataString(metadata, [\n\t\t\t\"remoteRunnerSessionId\",\n\t\t\t\"remote_runner_session_id\",\n\t\t]),\n\t\tobjective_id: metadataString(metadata, [\"objectiveId\", \"objective_id\"]),\n\t\tconversation_id: metadataString(metadata, [\n\t\t\t\"conversationId\",\n\t\t\t\"conversation_id\",\n\t\t]),\n\t};\n}\n\nfunction maestroCorrelationSpanAttributes(\n\tevent: TelemetryEvent,\n): Record<string, string> {\n\tconst config = resolveMaestroEventBusConfig();\n\tconst overrides = eventCorrelationOverrides(event);\n\tconst correlation = {\n\t\t...config.defaultCorrelation,\n\t\t...Object.fromEntries(\n\t\t\tObject.entries(overrides).filter(([, value]) => value !== undefined),\n\t\t),\n\t};\n\tconst principal = config.defaultPrincipal;\n\tconst attributes: Record<string, string | undefined> = {\n\t\t\"enduser.id\": correlation.user_id ?? principal?.user_id,\n\t\t\"user.id\": correlation.user_id ?? principal?.user_id,\n\t\t\"agent.user.id\": correlation.user_id ?? principal?.user_id,\n\t\t\"organization.id\":\n\t\t\tcorrelation.organization_id ?? principal?.organization_id,\n\t\t\"evalops.organization_id\":\n\t\t\tcorrelation.organization_id ?? principal?.organization_id,\n\t\t\"workspace.id\": correlation.workspace_id ?? principal?.workspace_id,\n\t\t\"evalops.workspace_id\": correlation.workspace_id ?? principal?.workspace_id,\n\t\t\"maestro.session_id\": correlation.session_id,\n\t\t\"agent.id\": correlation.agent_id,\n\t\t\"agent.actor.id\": correlation.actor_id,\n\t\t\"evalops.principal_id\": correlation.principal_id,\n\t\t\"maestro.agent_run_id\": correlation.agent_run_id,\n\t\t\"maestro.agent_run_step_id\": correlation.agent_run_step_id,\n\t\t\"trace.id\": correlation.trace_id,\n\t\ttraceparent: correlation.traceparent,\n\t\ttracestate: correlation.tracestate,\n\t\t\"request.id\": correlation.request_id,\n\t\t\"evalops.remote_runner_session_id\": correlation.remote_runner_session_id,\n\t\t\"evalops.objective_id\": correlation.objective_id,\n\t\t\"evalops.conversation_id\": correlation.conversation_id,\n\t\t\"maestro.surface\": config.defaultSurface,\n\t};\n\n\treturn Object.fromEntries(\n\t\tObject.entries(attributes).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" &&\n\t\t\t\tentry[1].trim().length > 0 &&\n\t\t\t\tentry[1] !== \"unknown\",\n\t\t),\n\t);\n}\n\nasync function persistTelemetry(event: TelemetryEvent) {\n\tconst config = getExporterRuntimeConfig();\n\tconst payload = JSON.stringify(event);\n\tconst tasks: Promise<void>[] = [];\n\n\tif (isCanonicalTurnTelemetryEvent(event)) {\n\t\ttasks.push(mirrorCanonicalTurnEventToMeter(event).then(() => undefined));\n\t}\n\n\tif (config.endpoint) {\n\t\ttasks.push(postToEndpoint(payload));\n\t}\n\n\tif (config.file) {\n\t\ttasks.push(writeToFile(payload));\n\t} else if (\n\t\tconfig.endpoint === null &&\n\t\t!hasRemoteMeterDestination(config.env)\n\t) {\n\t\t// Default to file storage when no endpoint is configured\n\t\ttasks.push(writeToFile(payload));\n\t}\n\n\tawait Promise.all(tasks);\n}\n\nfunction cloneBackgroundTaskTelemetry(\n\tevent: BackgroundTaskTelemetry,\n): BackgroundTaskTelemetry {\n\treturn {\n\t\t...event,\n\t\tresourceUsage: event.resourceUsage ? { ...event.resourceUsage } : undefined,\n\t\tlimitBreach: event.limitBreach ? { ...event.limitBreach } : undefined,\n\t};\n}\n\nfunction recordBackgroundHistory(event: BackgroundTaskTelemetry): void {\n\tbackgroundTaskHistory.push(cloneBackgroundTaskTelemetry(event));\n\tif (backgroundTaskHistory.length > BACKGROUND_TASK_HISTORY_LIMIT) {\n\t\tbackgroundTaskHistory.shift();\n\t}\n}\n\nexport function getBackgroundTaskHistory(\n\tlimit = 10,\n): BackgroundTaskTelemetry[] {\n\tif (limit <= 0) {\n\t\treturn [];\n\t}\n\treturn backgroundTaskHistory\n\t\t.slice(-limit)\n\t\t.map((entry) => cloneBackgroundTaskTelemetry(entry));\n}\n\nexport async function recordTelemetry(event: TelemetryEvent): Promise<void> {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\tconst config = getExporterRuntimeConfig();\n\n\tconst normalizedEvent = normalizeTelemetryEventMetadata(event);\n\tconst openTelemetryEnabled = isOpenTelemetryEnabled();\n\tif (openTelemetryEnabled) {\n\t\trecordOpenTelemetrySpan(normalizedEvent);\n\t\trecordOpenTelemetryMetric(normalizedEvent);\n\t}\n\tconst eventBusTask = mirrorTelemetryToMaestroEventBus(normalizedEvent);\n\n\tconst legacyEnabled =\n\t\t(telemetryOverride === null ? config.initialEnabled : telemetryOverride) &&\n\t\tconfig.sampleRate > 0;\n\tif (!legacyEnabled) {\n\t\tawait eventBusTask;\n\t\treturn;\n\t}\n\n\tif (config.sampleRate < 1 && Math.random() > config.sampleRate) {\n\t\tawait eventBusTask;\n\t\treturn;\n\t}\n\n\ttry {\n\t\tawait Promise.all([persistTelemetry(normalizedEvent), eventBusTask]);\n\t} catch (_error) {\n\t\t// Ignore telemetry persistence failures\n\t}\n}\n\nexport function recordToolExecution(\n\ttoolName: string,\n\tsuccess: boolean,\n\tdurationMs: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"tool-execution\",\n\t\ttimestamp: new Date().toISOString(),\n\t\ttoolName,\n\t\tsuccess,\n\t\tdurationMs,\n\t\tmetadata,\n\t});\n}\n\nexport function recordEvaluationResult(\n\tscenario: string,\n\tsuccess: boolean,\n\tdetails?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"evaluation\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tscenario,\n\t\tsuccess,\n\t\tdetails,\n\t});\n}\n\nexport function recordLoaderStage(\n\tstage: string,\n\tdurationMs: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"loader-stage\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tstage,\n\t\tdurationMs,\n\t\tmetadata,\n\t});\n}\n\nexport function recordSseSkip(\n\tsent: number,\n\tskipped: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"sse\",\n\t\tevent: \"skip\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tsent,\n\t\tskipped,\n\t\tmetadata,\n\t});\n}\n\nexport function logToolFailure(\n\ttoolName: string,\n\terrorMessage: string,\n\tmetadata?: Record<string, unknown>,\n): void {\n\t// Failure messages and metadata routinely embed tokens (Authorization\n\t// headers in fetch errors, API keys in stack traces, etc.). Mirror the\n\t// other telemetry writers: static-mask the error string and split the\n\t// metadata into safe + sensitive buckets so the JSONL on disk never\n\t// holds raw credentials.\n\tconst normalized = normalizeTelemetryMetadataInputs(metadata);\n\tconst payload = {\n\t\ttool: toolName,\n\t\terror: sanitizeWithStaticMask(errorMessage),\n\t\t...(normalized.metadata ? { metadata: normalized.metadata } : {}),\n\t\t...(normalized.sensitiveMetadata\n\t\t\t? { sensitiveMetadata: normalized.sensitiveMetadata }\n\t\t\t: {}),\n\t\ttimestamp: new Date().toISOString(),\n\t};\n\tvoid appendToolFailure(JSON.stringify(payload));\n}\n\nexport function recordBackgroundTaskEvent(\n\tevent: Omit<BackgroundTaskTelemetry, \"type\" | \"timestamp\">,\n): void {\n\tconst sanitizedCommand = sanitizeWithStaticMask(event.command);\n\tconst sanitizedFailure = sanitizeOptionalWithStaticMask(event.failureReason);\n\tconst payload: BackgroundTaskTelemetry = {\n\t\t...event,\n\t\tcommand: sanitizedCommand,\n\t\tfailureReason: sanitizedFailure,\n\t\ttype: \"background-task\",\n\t\ttimestamp: new Date().toISOString(),\n\t};\n\trecordBackgroundHistory(payload);\n\tvoid recordTelemetry(payload);\n}\n\nexport function recordApiRequest(\n\tmethod: string,\n\tpath: string,\n\tstatusCode: number,\n\tdurationMs: number,\n\tmetadata?: Record<string, unknown>,\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"api-request\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tmethod,\n\t\tpath,\n\t\tstatusCode,\n\t\tdurationMs,\n\t\tmetadata,\n\t});\n}\n\n/**\n * Record a business metric for usage tracking.\n */\nexport function recordBusinessMetric(\n\tmetric: BusinessMetricTelemetry[\"metric\"],\n\tvalue: number,\n\tmetadata?: BusinessMetricTelemetry[\"metadata\"],\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"business-metric\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tmetric,\n\t\tvalue,\n\t\tmetadata,\n\t});\n}\n\n/**\n * Record session start.\n */\nexport function recordSessionStart(\n\tsessionId: string,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"session.count\", 1, { ...metadata, sessionId });\n}\n\n/**\n * Record session duration on end.\n */\nexport function recordSessionDuration(\n\tsessionId: string,\n\tdurationMs: number,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): Promise<void> {\n\treturn recordTelemetry({\n\t\ttype: \"business-metric\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tmetric: \"session.duration\",\n\t\tvalue: durationMs,\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t},\n\t});\n}\n\n/**\n * Record token usage metrics.\n */\nexport function recordTokenUsage(\n\tsessionId: string,\n\ttokens: {\n\t\tinput?: number;\n\t\toutput?: number;\n\t\tcacheRead?: number;\n\t\tcacheWrite?: number;\n\t},\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\tif (tokens.input !== undefined && tokens.input > 0) {\n\t\trecordBusinessMetric(\"tokens.input\", tokens.input, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n\tif (tokens.output !== undefined && tokens.output > 0) {\n\t\trecordBusinessMetric(\"tokens.output\", tokens.output, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n\tif (tokens.cacheRead !== undefined && tokens.cacheRead > 0) {\n\t\trecordBusinessMetric(\"tokens.cache_read\", tokens.cacheRead, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n\tif (tokens.cacheWrite !== undefined && tokens.cacheWrite > 0) {\n\t\trecordBusinessMetric(\"tokens.cache_write\", tokens.cacheWrite, {\n\t\t\t...metadata,\n\t\t\tsessionId,\n\t\t});\n\t}\n}\n\n/**\n * Record cost in USD.\n */\nexport function recordCost(\n\tsessionId: string,\n\tcostUsd: number,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"cost.usd\", costUsd, { ...metadata, sessionId });\n}\n\n/**\n * Record compaction event.\n */\nexport function recordCompaction(\n\tsessionId: string,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"compaction.triggered\", 1, { ...metadata, sessionId });\n}\n\n/**\n * Record model switch.\n */\nexport function recordModelSwitch(\n\tsessionId: string,\n\tfromModel: string,\n\ttoModel: string,\n\tmetadata?: Omit<BusinessMetricTelemetry[\"metadata\"], \"sessionId\">,\n): void {\n\trecordBusinessMetric(\"model.switch\", 1, {\n\t\t...metadata,\n\t\tsessionId,\n\t\tmodel: toModel,\n\t\tpreviousModel: fromModel,\n\t});\n}\n\nexport function recordStagedRolloutSurfaceUsage(\n\tevent: StagedRolloutSurfaceTelemetry[\"event\"],\n\toptions: {\n\t\tsurfaceId: string;\n\t\tsurfaceType: StagedRolloutSurfaceTelemetry[\"surfaceType\"];\n\t\towner?: string;\n\t\tsource?: string;\n\t\tmetadata?: Record<string, unknown>;\n\t},\n): Promise<void> {\n\treturn recordTelemetry({\n\t\ttype: \"staged-rollout-surface\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tevent,\n\t\tsurfaceId: options.surfaceId,\n\t\tsurfaceType: options.surfaceType,\n\t\tmetadata: {\n\t\t\t...options.metadata,\n\t\t\towner: options.owner,\n\t\t\tsource: options.source,\n\t\t},\n\t});\n}\n\nexport function recordSubagentDispatch(\n\tevent: Omit<SubagentDispatchTelemetry, \"type\" | \"timestamp\" | \"event\">,\n): void {\n\tvoid recordTelemetry({\n\t\t...event,\n\t\ttype: \"subagent-dispatch\",\n\t\tevent: \"subagent_dispatched\",\n\t\ttimestamp: new Date().toISOString(),\n\t});\n}\n\nexport function recordA2ADelegationTelemetry(\n\tevent: A2ADelegationTelemetryInput,\n): void {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\ttry {\n\t\trecordA2ADelegationMetric({\n\t\t\tphase: event.phase,\n\t\t\tsource: event.source,\n\t\t\tstatus: event.status,\n\t\t\tsuccess: event.success,\n\t\t\tskillId: event.skillId,\n\t\t\ttaskClass: event.taskClass,\n\t\t\tlatencyMs: event.latencyMs,\n\t\t\ttaskDurationMs: event.taskDurationMs ?? event.durationMs,\n\t\t\tpushLagMs: event.pushLagMs,\n\t\t});\n\t\trecordMaestroA2ADelegationEvent({\n\t\t\tevent_type: A2A_PHASE_EVENT_TYPES[event.phase],\n\t\t\tswarm_id: event.swarmId,\n\t\t\tlane_id: event.laneId,\n\t\t\tparent_task_id: event.parentTaskId,\n\t\t\ta2a_task_id: event.a2aTaskId,\n\t\t\ta2a_message_id: event.a2aMessageId,\n\t\t\tcontext_id: event.contextId,\n\t\t\tpeer_agent_id: event.peerAgentId,\n\t\t\tpeer_name: event.peerName,\n\t\t\tpeer_endpoint_url: event.peerEndpointUrl,\n\t\t\tpeer_endpoint_hash: event.peerEndpointHash,\n\t\t\tpeer_endpoint_kind: event.peerEndpointKind,\n\t\t\tskill_id: event.skillId,\n\t\t\ttask_class: event.taskClass,\n\t\t\tsource: event.source,\n\t\t\tstatus: event.status,\n\t\t\tterminal: event.terminal,\n\t\t\tsuccess: event.success,\n\t\t\tlatency_ms: event.latencyMs,\n\t\t\tduration_ms: event.taskDurationMs ?? event.durationMs,\n\t\t\tpush_lag_ms: event.pushLagMs,\n\t\t\tevidence: event.evidence,\n\t\t\tmetadata: event.metadata,\n\t\t\tcorrelation: event.correlation,\n\t\t\toccurred_at: event.occurredAt,\n\t\t\tenv: event.env,\n\t\t});\n\t} catch {\n\t\t// Telemetry must never affect A2A delegation runtime behavior.\n\t}\n}\n\nexport function recordA2APolicyDenialTelemetry(event: {\n\tsource?: string;\n\treason: string;\n\ttaskClass?: string;\n\tskillId?: string;\n}): void {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\ttry {\n\t\trecordA2APolicyDenialMetric(event);\n\t} catch {\n\t\t// Best-effort only.\n\t}\n}\n\nexport function recordA2APeerExclusionTelemetry(event: {\n\tsource?: string;\n\treason: string;\n\ttaskClass?: string;\n\tskillId?: string;\n}): void {\n\tif (isInternalTelemetryDisabled()) {\n\t\treturn;\n\t}\n\ttry {\n\t\trecordA2APeerExclusionMetric(event);\n\t} catch {\n\t\t// Best-effort only.\n\t}\n}\n\n/**\n * Record session migration stats.\n */\nexport function recordSessionMigration(stats: {\n\ttotal: number;\n\tmigrated: number;\n\tskipped: number;\n\tfailures: number;\n\tversion: number;\n}): void {\n\trecordBusinessMetric(\"session.migration\", stats.total, {\n\t\tmigrated: stats.migrated,\n\t\tskipped: stats.skipped,\n\t\tfailures: stats.failures,\n\t\tversion: stats.version,\n\t});\n}\n\n/**\n * Record a sandbox violation event.\n */\nexport function recordSandboxViolation(\n\tevent: SandboxViolationTelemetry[\"event\"],\n\ttool: string,\n\taction: string,\n\treason: string,\n\toptions?: {\n\t\tpath?: string;\n\t\tcommand?: string;\n\t\tsessionId?: string;\n\t\tmetadata?: Record<string, unknown>;\n\t},\n): void {\n\tvoid recordTelemetry({\n\t\ttype: \"sandbox-violation\",\n\t\ttimestamp: new Date().toISOString(),\n\t\tevent,\n\t\ttool,\n\t\taction: sanitizeWithStaticMask(action),\n\t\treason: sanitizeWithStaticMask(reason),\n\t\tpath: sanitizeOptionalWithStaticMask(options?.path),\n\t\tcommand: options?.command\n\t\t\t? sanitizeWithStaticMask(options.command)\n\t\t\t: undefined,\n\t\tmetadata: options?.metadata\n\t\t\t? { ...options.metadata, sessionId: options.sessionId }\n\t\t\t: options?.sessionId\n\t\t\t\t? { sessionId: options.sessionId }\n\t\t\t\t: undefined,\n\t});\n}\n\n// Initialize the wide-events telemetry recorder to break circular dependency\nsetDefaultTelemetryRecorder(recordTelemetry);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-loader.d.ts","sourceRoot":"","sources":["../../src/theme/theme-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-loader.d.ts","sourceRoot":"","sources":["../../src/theme/theme-loader.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAsEtD,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AA4DD,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,MAAM,EACZ,YAAY,SAAgB,GAC1B,MAAM,GAAG,IAAI,CA0Bf;AAED,wBAAgB,kBAAkB,CAAC,YAAY,SAAgB,GAAG,MAAM,EAAE,CAoBzE;AA4DD,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,SAAgB,GAC1B,SAAS,CAyBX"}
|
|
@@ -3,6 +3,7 @@ import * as path from "node:path";
|
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { getAgentDir } from "../config/constants.js";
|
|
5
5
|
import { loadConfiguredPackageResources } from "../packages/runtime.js";
|
|
6
|
+
import { isRecord } from "../utils/json.js";
|
|
6
7
|
import { createLogger } from "../utils/logger.js";
|
|
7
8
|
import { resolveEnvPath } from "../utils/path-expansion.js";
|
|
8
9
|
import { sanitizeWithStaticMask } from "../utils/secret-redactor.js";
|
|
@@ -159,9 +160,6 @@ export function getAvailableThemes(workspaceDir = process.cwd()) {
|
|
|
159
160
|
}
|
|
160
161
|
return Array.from(themes).sort();
|
|
161
162
|
}
|
|
162
|
-
function isRecord(value) {
|
|
163
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
164
|
-
}
|
|
165
163
|
function normalizeThemeJson(raw) {
|
|
166
164
|
if (!isRecord(raw))
|
|
167
165
|
return raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-loader.js","sourceRoot":"","sources":["../../src/theme/theme-loader.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { getAgentDir } from \"../config/constants.js\";\nimport { loadConfiguredPackageResources } from \"../packages/runtime.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { resolveEnvPath } from \"../utils/path-expansion.js\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport { embeddedThemes } from \"./embedded-themes.js\";\nimport { type ThemeJson, validateThemeJson } from \"./theme-schema.js\";\n\nexport { embeddedThemes } from \"./embedded-themes.js\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\nconst logger = createLogger(\"theme\");\n\nfunction getBuiltinThemeCandidateDirs(): string[] {\n\tconst candidates = [\n\t\t__dirname,\n\t\tpath.resolve(__dirname, \"..\", \"..\", \"src\", \"theme\"),\n\t\tpath.resolve(process.cwd(), \"src\", \"theme\"),\n\t];\n\tconst seen = new Set<string>();\n\tconst dirs: string[] = [];\n\tfor (const dir of candidates) {\n\t\tconst normalized = path.resolve(dir);\n\t\tif (seen.has(normalized)) continue;\n\t\tseen.add(normalized);\n\t\tdirs.push(normalized);\n\t}\n\treturn dirs;\n}\n\nlet BUILTIN_THEMES: Record<string, ThemeJson> | undefined;\n\nfunction getBuiltinThemes(): Record<string, ThemeJson> {\n\tif (!BUILTIN_THEMES) {\n\t\tconst loadBuiltinTheme = (\n\t\t\tname: \"dark\" | \"light\" | \"high-contrast\",\n\t\t): ThemeJson => {\n\t\t\tfor (const dir of getBuiltinThemeCandidateDirs()) {\n\t\t\t\tconst themePath = path.join(dir, `${name}.json`);\n\t\t\t\tif (!fs.existsSync(themePath)) continue;\n\n\t\t\t\ttry {\n\t\t\t\t\tconst parsed = normalizeThemeJson(\n\t\t\t\t\t\tJSON.parse(fs.readFileSync(themePath, \"utf-8\")) as unknown,\n\t\t\t\t\t);\n\t\t\t\t\tif (validateThemeJson.Check(parsed)) {\n\t\t\t\t\t\treturn parsed as ThemeJson;\n\t\t\t\t\t}\n\t\t\t\t\tlogger.warn(\"Invalid built-in theme JSON; using embedded theme\", {\n\t\t\t\t\t\tthemePath,\n\t\t\t\t\t\tname,\n\t\t\t\t\t});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t\"Failed to load built-in theme JSON; using embedded theme\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthemePath,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn embeddedThemes[name];\n\t\t};\n\n\t\tBUILTIN_THEMES = {\n\t\t\tdark: loadBuiltinTheme(\"dark\"),\n\t\t\tlight: loadBuiltinTheme(\"light\"),\n\t\t\t\"high-contrast\": loadBuiltinTheme(\"high-contrast\"),\n\t\t};\n\t}\n\treturn BUILTIN_THEMES;\n}\n\nexport function getThemesDir(): string {\n\tconst override = resolveEnvPath(process.env.MAESTRO_THEMES_DIR);\n\tif (override) return override;\n\treturn path.resolve(getAgentDir(), \"themes\");\n}\n\nfunction getConfiguredThemeDirectories(workspaceDir: string): string[] {\n\tconst packageResources = loadConfiguredPackageResources(workspaceDir);\n\treturn [...packageResources.themes.user, ...packageResources.themes.project];\n}\n\nfunction getThemeNamesFromPackageDir(dir: string): string[] {\n\tif (!fs.existsSync(dir)) {\n\t\treturn [];\n\t}\n\n\ttry {\n\t\tconst stat = fs.statSync(dir);\n\t\tif (!stat.isDirectory()) {\n\t\t\treturn [];\n\t\t}\n\t} catch {\n\t\treturn [];\n\t}\n\n\tconst resourceName = path.basename(dir);\n\tconst matchingNamedFile = path.join(dir, `${resourceName}.json`);\n\tif (fs.existsSync(matchingNamedFile)) {\n\t\treturn [resourceName];\n\t}\n\n\tconst themeJsonFile = path.join(dir, \"theme.json\");\n\tif (fs.existsSync(themeJsonFile)) {\n\t\treturn [resourceName];\n\t}\n\n\ttry {\n\t\treturn fs\n\t\t\t.readdirSync(dir)\n\t\t\t.filter((file) => file.endsWith(\".json\"))\n\t\t\t.map((file) => file.slice(0, -5));\n\t} catch {\n\t\treturn [];\n\t}\n}\n\nfunction resolveThemeFileFromPackageDir(\n\tdir: string,\n\tname: string,\n): string | null {\n\tconst namedFile = path.join(dir, `${name}.json`);\n\tif (fs.existsSync(namedFile)) {\n\t\treturn namedFile;\n\t}\n\n\tconst resourceName = path.basename(dir);\n\tconst themeJsonFile = path.join(dir, \"theme.json\");\n\tif (resourceName === name && fs.existsSync(themeJsonFile)) {\n\t\treturn themeJsonFile;\n\t}\n\n\treturn null;\n}\n\nexport function resolveThemeFilePath(\n\tname: string,\n\tworkspaceDir = process.cwd(),\n): string | null {\n\tconst projectThemeDirs =\n\t\tloadConfiguredPackageResources(workspaceDir).themes.project;\n\tfor (const dir of [...projectThemeDirs].reverse()) {\n\t\tconst filePath = resolveThemeFileFromPackageDir(dir, name);\n\t\tif (filePath) {\n\t\t\treturn filePath;\n\t\t}\n\t}\n\n\tconst themesDir = getThemesDir();\n\tconst homeThemePath = path.join(themesDir, `${name}.json`);\n\tif (fs.existsSync(homeThemePath)) {\n\t\treturn homeThemePath;\n\t}\n\n\tconst userThemeDirs =\n\t\tloadConfiguredPackageResources(workspaceDir).themes.user;\n\tfor (const dir of [...userThemeDirs].reverse()) {\n\t\tconst filePath = resolveThemeFileFromPackageDir(dir, name);\n\t\tif (filePath) {\n\t\t\treturn filePath;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function getAvailableThemes(workspaceDir = process.cwd()): string[] {\n\tconst themes = new Set<string>(Object.keys(getBuiltinThemes()));\n\tconst themesDir = getThemesDir();\n\tconst configuredThemeDirs = getConfiguredThemeDirectories(workspaceDir);\n\n\tfor (const dir of configuredThemeDirs) {\n\t\tfor (const themeName of getThemeNamesFromPackageDir(dir)) {\n\t\t\tthemes.add(themeName);\n\t\t}\n\t}\n\n\tif (fs.existsSync(themesDir)) {\n\t\tconst files = fs.readdirSync(themesDir);\n\t\tfor (const file of files) {\n\t\t\tif (file.endsWith(\".json\")) {\n\t\t\t\tthemes.add(file.slice(0, -5));\n\t\t\t}\n\t\t}\n\t}\n\treturn Array.from(themes).sort();\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction normalizeThemeJson(raw: unknown): unknown {\n\tif (!isRecord(raw)) return raw;\n\tif (!isRecord(raw.colors)) return raw;\n\n\t// pi-mono compatibility / forward-compat:\n\t// - Maestro requires `accentWarm`; fall back to `accent` when missing.\n\t// - pi-mono includes `thinkingXhigh` and `bashMode` which Maestro does not use.\n\tconst {\n\t\tbashMode: _bashMode,\n\t\tthinkingXhigh: _thinkingXhigh,\n\t\t...restColors\n\t} = raw.colors;\n\n\tconst colors: Record<string, unknown> = { ...restColors };\n\n\tif (colors.accentWarm === undefined && colors.accent !== undefined) {\n\t\tcolors.accentWarm = colors.accent;\n\t}\n\n\tconst setIfMissing = (key: string, fallback: unknown): void => {\n\t\tif (colors[key] === undefined && fallback !== undefined) {\n\t\t\tcolors[key] = fallback;\n\t\t}\n\t};\n\n\t// Ensure thinking-level colors exist (older themes may not specify them).\n\tsetIfMissing(\n\t\t\"thinkingOff\",\n\t\tcolors.borderMuted ??\n\t\t\tcolors.dim ??\n\t\t\tcolors.muted ??\n\t\t\tcolors.border ??\n\t\t\tcolors.accent,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingMinimal\",\n\t\tcolors.dim ??\n\t\t\tcolors.muted ??\n\t\t\tcolors.borderMuted ??\n\t\t\tcolors.border ??\n\t\t\tcolors.accent,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingLow\",\n\t\tcolors.border ?? colors.accent ?? colors.borderAccent,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingMedium\",\n\t\tcolors.accent ?? colors.borderAccent ?? colors.border ?? colors.muted,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingHigh\",\n\t\tcolors.borderAccent ?? colors.accent ?? colors.border ?? colors.warning,\n\t);\n\n\treturn { ...raw, colors };\n}\n\nexport function loadThemeJson(\n\tname: string,\n\tworkspaceDir = process.cwd(),\n): ThemeJson {\n\tconst builtinThemes = getBuiltinThemes();\n\tif (name in builtinThemes) {\n\t\treturn builtinThemes[name]!;\n\t}\n\tconst themePath = resolveThemeFilePath(name, workspaceDir);\n\tif (!themePath) {\n\t\tthrow new Error(`Theme not found: ${name}`);\n\t}\n\tconst content = fs.readFileSync(themePath, \"utf-8\");\n\tlet json: unknown;\n\ttry {\n\t\tjson = JSON.parse(content);\n\t} catch (error) {\n\t\tthrow new Error(`Failed to parse theme ${name}: ${error}`);\n\t}\n\tconst normalized = normalizeThemeJson(json);\n\tif (!validateThemeJson.Check(normalized)) {\n\t\tconst errors = Array.from(validateThemeJson.Errors(normalized));\n\t\tconst errorMessages = errors\n\t\t\t.map((e) => ` - ${e.path}: ${e.message}`)\n\t\t\t.join(\"\\n\");\n\t\tthrow new Error(`Invalid theme ${name}:\\n${errorMessages}`);\n\t}\n\treturn normalized as ThemeJson;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"theme-loader.js","sourceRoot":"","sources":["../../src/theme/theme-loader.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { getAgentDir } from \"../config/constants.js\";\nimport { loadConfiguredPackageResources } from \"../packages/runtime.js\";\nimport { isRecord } from \"../utils/json.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { resolveEnvPath } from \"../utils/path-expansion.js\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport { embeddedThemes } from \"./embedded-themes.js\";\nimport { type ThemeJson, validateThemeJson } from \"./theme-schema.js\";\n\nexport { embeddedThemes } from \"./embedded-themes.js\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\nconst logger = createLogger(\"theme\");\n\nfunction getBuiltinThemeCandidateDirs(): string[] {\n\tconst candidates = [\n\t\t__dirname,\n\t\tpath.resolve(__dirname, \"..\", \"..\", \"src\", \"theme\"),\n\t\tpath.resolve(process.cwd(), \"src\", \"theme\"),\n\t];\n\tconst seen = new Set<string>();\n\tconst dirs: string[] = [];\n\tfor (const dir of candidates) {\n\t\tconst normalized = path.resolve(dir);\n\t\tif (seen.has(normalized)) continue;\n\t\tseen.add(normalized);\n\t\tdirs.push(normalized);\n\t}\n\treturn dirs;\n}\n\nlet BUILTIN_THEMES: Record<string, ThemeJson> | undefined;\n\nfunction getBuiltinThemes(): Record<string, ThemeJson> {\n\tif (!BUILTIN_THEMES) {\n\t\tconst loadBuiltinTheme = (\n\t\t\tname: \"dark\" | \"light\" | \"high-contrast\",\n\t\t): ThemeJson => {\n\t\t\tfor (const dir of getBuiltinThemeCandidateDirs()) {\n\t\t\t\tconst themePath = path.join(dir, `${name}.json`);\n\t\t\t\tif (!fs.existsSync(themePath)) continue;\n\n\t\t\t\ttry {\n\t\t\t\t\tconst parsed = normalizeThemeJson(\n\t\t\t\t\t\tJSON.parse(fs.readFileSync(themePath, \"utf-8\")) as unknown,\n\t\t\t\t\t);\n\t\t\t\t\tif (validateThemeJson.Check(parsed)) {\n\t\t\t\t\t\treturn parsed as ThemeJson;\n\t\t\t\t\t}\n\t\t\t\t\tlogger.warn(\"Invalid built-in theme JSON; using embedded theme\", {\n\t\t\t\t\t\tthemePath,\n\t\t\t\t\t\tname,\n\t\t\t\t\t});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t\"Failed to load built-in theme JSON; using embedded theme\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthemePath,\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn embeddedThemes[name];\n\t\t};\n\n\t\tBUILTIN_THEMES = {\n\t\t\tdark: loadBuiltinTheme(\"dark\"),\n\t\t\tlight: loadBuiltinTheme(\"light\"),\n\t\t\t\"high-contrast\": loadBuiltinTheme(\"high-contrast\"),\n\t\t};\n\t}\n\treturn BUILTIN_THEMES;\n}\n\nexport function getThemesDir(): string {\n\tconst override = resolveEnvPath(process.env.MAESTRO_THEMES_DIR);\n\tif (override) return override;\n\treturn path.resolve(getAgentDir(), \"themes\");\n}\n\nfunction getConfiguredThemeDirectories(workspaceDir: string): string[] {\n\tconst packageResources = loadConfiguredPackageResources(workspaceDir);\n\treturn [...packageResources.themes.user, ...packageResources.themes.project];\n}\n\nfunction getThemeNamesFromPackageDir(dir: string): string[] {\n\tif (!fs.existsSync(dir)) {\n\t\treturn [];\n\t}\n\n\ttry {\n\t\tconst stat = fs.statSync(dir);\n\t\tif (!stat.isDirectory()) {\n\t\t\treturn [];\n\t\t}\n\t} catch {\n\t\treturn [];\n\t}\n\n\tconst resourceName = path.basename(dir);\n\tconst matchingNamedFile = path.join(dir, `${resourceName}.json`);\n\tif (fs.existsSync(matchingNamedFile)) {\n\t\treturn [resourceName];\n\t}\n\n\tconst themeJsonFile = path.join(dir, \"theme.json\");\n\tif (fs.existsSync(themeJsonFile)) {\n\t\treturn [resourceName];\n\t}\n\n\ttry {\n\t\treturn fs\n\t\t\t.readdirSync(dir)\n\t\t\t.filter((file) => file.endsWith(\".json\"))\n\t\t\t.map((file) => file.slice(0, -5));\n\t} catch {\n\t\treturn [];\n\t}\n}\n\nfunction resolveThemeFileFromPackageDir(\n\tdir: string,\n\tname: string,\n): string | null {\n\tconst namedFile = path.join(dir, `${name}.json`);\n\tif (fs.existsSync(namedFile)) {\n\t\treturn namedFile;\n\t}\n\n\tconst resourceName = path.basename(dir);\n\tconst themeJsonFile = path.join(dir, \"theme.json\");\n\tif (resourceName === name && fs.existsSync(themeJsonFile)) {\n\t\treturn themeJsonFile;\n\t}\n\n\treturn null;\n}\n\nexport function resolveThemeFilePath(\n\tname: string,\n\tworkspaceDir = process.cwd(),\n): string | null {\n\tconst projectThemeDirs =\n\t\tloadConfiguredPackageResources(workspaceDir).themes.project;\n\tfor (const dir of [...projectThemeDirs].reverse()) {\n\t\tconst filePath = resolveThemeFileFromPackageDir(dir, name);\n\t\tif (filePath) {\n\t\t\treturn filePath;\n\t\t}\n\t}\n\n\tconst themesDir = getThemesDir();\n\tconst homeThemePath = path.join(themesDir, `${name}.json`);\n\tif (fs.existsSync(homeThemePath)) {\n\t\treturn homeThemePath;\n\t}\n\n\tconst userThemeDirs =\n\t\tloadConfiguredPackageResources(workspaceDir).themes.user;\n\tfor (const dir of [...userThemeDirs].reverse()) {\n\t\tconst filePath = resolveThemeFileFromPackageDir(dir, name);\n\t\tif (filePath) {\n\t\t\treturn filePath;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function getAvailableThemes(workspaceDir = process.cwd()): string[] {\n\tconst themes = new Set<string>(Object.keys(getBuiltinThemes()));\n\tconst themesDir = getThemesDir();\n\tconst configuredThemeDirs = getConfiguredThemeDirectories(workspaceDir);\n\n\tfor (const dir of configuredThemeDirs) {\n\t\tfor (const themeName of getThemeNamesFromPackageDir(dir)) {\n\t\t\tthemes.add(themeName);\n\t\t}\n\t}\n\n\tif (fs.existsSync(themesDir)) {\n\t\tconst files = fs.readdirSync(themesDir);\n\t\tfor (const file of files) {\n\t\t\tif (file.endsWith(\".json\")) {\n\t\t\t\tthemes.add(file.slice(0, -5));\n\t\t\t}\n\t\t}\n\t}\n\treturn Array.from(themes).sort();\n}\n\nfunction normalizeThemeJson(raw: unknown): unknown {\n\tif (!isRecord(raw)) return raw;\n\tif (!isRecord(raw.colors)) return raw;\n\n\t// pi-mono compatibility / forward-compat:\n\t// - Maestro requires `accentWarm`; fall back to `accent` when missing.\n\t// - pi-mono includes `thinkingXhigh` and `bashMode` which Maestro does not use.\n\tconst {\n\t\tbashMode: _bashMode,\n\t\tthinkingXhigh: _thinkingXhigh,\n\t\t...restColors\n\t} = raw.colors;\n\n\tconst colors: Record<string, unknown> = { ...restColors };\n\n\tif (colors.accentWarm === undefined && colors.accent !== undefined) {\n\t\tcolors.accentWarm = colors.accent;\n\t}\n\n\tconst setIfMissing = (key: string, fallback: unknown): void => {\n\t\tif (colors[key] === undefined && fallback !== undefined) {\n\t\t\tcolors[key] = fallback;\n\t\t}\n\t};\n\n\t// Ensure thinking-level colors exist (older themes may not specify them).\n\tsetIfMissing(\n\t\t\"thinkingOff\",\n\t\tcolors.borderMuted ??\n\t\t\tcolors.dim ??\n\t\t\tcolors.muted ??\n\t\t\tcolors.border ??\n\t\t\tcolors.accent,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingMinimal\",\n\t\tcolors.dim ??\n\t\t\tcolors.muted ??\n\t\t\tcolors.borderMuted ??\n\t\t\tcolors.border ??\n\t\t\tcolors.accent,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingLow\",\n\t\tcolors.border ?? colors.accent ?? colors.borderAccent,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingMedium\",\n\t\tcolors.accent ?? colors.borderAccent ?? colors.border ?? colors.muted,\n\t);\n\tsetIfMissing(\n\t\t\"thinkingHigh\",\n\t\tcolors.borderAccent ?? colors.accent ?? colors.border ?? colors.warning,\n\t);\n\n\treturn { ...raw, colors };\n}\n\nexport function loadThemeJson(\n\tname: string,\n\tworkspaceDir = process.cwd(),\n): ThemeJson {\n\tconst builtinThemes = getBuiltinThemes();\n\tif (name in builtinThemes) {\n\t\treturn builtinThemes[name]!;\n\t}\n\tconst themePath = resolveThemeFilePath(name, workspaceDir);\n\tif (!themePath) {\n\t\tthrow new Error(`Theme not found: ${name}`);\n\t}\n\tconst content = fs.readFileSync(themePath, \"utf-8\");\n\tlet json: unknown;\n\ttry {\n\t\tjson = JSON.parse(content);\n\t} catch (error) {\n\t\tthrow new Error(`Failed to parse theme ${name}: ${error}`);\n\t}\n\tconst normalized = normalizeThemeJson(json);\n\tif (!validateThemeJson.Check(normalized)) {\n\t\tconst errors = Array.from(validateThemeJson.Errors(normalized));\n\t\tconst errorMessages = errors\n\t\t\t.map((e) => ` - ${e.path}: ${e.message}`)\n\t\t\t.join(\"\\n\");\n\t\tthrow new Error(`Invalid theme ${name}:\\n${errorMessages}`);\n\t}\n\treturn normalized as ThemeJson;\n}\n"]}
|
package/dist/theme/theme.d.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Theme System for Maestro
|
|
3
|
-
*
|
|
4
|
-
* Adapted from pi-mono (MIT License)
|
|
5
|
-
* Copyright (c) 2025 Mario Zechner
|
|
6
|
-
* https://github.com/badlogic/pi-mono
|
|
7
|
-
*/
|
|
8
|
-
import type { EditorTheme, MarkdownTheme, SelectListTheme } from "@evalops/tui";
|
|
9
1
|
import { type ColorMode } from "./color-utils.js";
|
|
10
2
|
import type { ThemeBg, ThemeColor } from "./theme-schema.js";
|
|
3
|
+
import type { EditorTheme, MarkdownTheme, SelectListTheme } from "./tui-theme-types.js";
|
|
4
|
+
export type { EditorTheme, MarkdownTheme, SelectListTheme, } from "./tui-theme-types.js";
|
|
11
5
|
export type { ThemeBg, ThemeColor } from "./theme-schema.js";
|
|
12
6
|
export { getAvailableThemes } from "./theme-loader.js";
|
|
13
7
|
export declare class Theme {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"AASA,OAAO,EACN,KAAK,SAAS,EAId,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAa,MAAM,mBAAmB,CAAC;AAOxE,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACX,WAAW,EACX,aAAa,EACb,eAAe,GACf,MAAM,sBAAsB,CAAC;AAM9B,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMvD,qBAAa,KAAK;IACjB,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,IAAI,CAAY;gBAGvB,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,EAC7C,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,EAC1C,IAAI,EAAE,SAAS;IAmBhB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAM3C,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAMxC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAMpC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAMjC,YAAY,IAAI,SAAS;IAIzB,sBAAsB,CACrB,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAClD,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;CAiB1B;AAgDD,eAAO,IAAI,KAAK,EAAE,KAA0B,CAAC;AAsB7C,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAYlD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkB3E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAExD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C"}
|
package/dist/theme/theme.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme System for Maestro
|
|
3
|
+
*
|
|
4
|
+
* Adapted from pi-mono (MIT License)
|
|
5
|
+
* Copyright (c) 2025 Mario Zechner
|
|
6
|
+
* https://github.com/badlogic/pi-mono
|
|
7
|
+
*/
|
|
1
8
|
import chalk from "chalk";
|
|
2
9
|
import { sanitizeWithStaticMask } from "../utils/secret-redactor.js";
|
|
3
10
|
import { bgAnsi, detectColorMode, fgAnsi, } from "./color-utils.js";
|
package/dist/theme/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Theme System for Maestro\n *\n * Adapted from pi-mono (MIT License)\n * Copyright (c) 2025 Mario Zechner\n * https://github.com/badlogic/pi-mono\n */\nimport type { EditorTheme, MarkdownTheme, SelectListTheme } from \"@evalops/tui\";\nimport chalk from \"chalk\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport {\n\ttype ColorMode,\n\tbgAnsi,\n\tdetectColorMode,\n\tfgAnsi,\n} from \"./color-utils.js\";\nimport { embeddedThemes, loadThemeJson } from \"./theme-loader.js\";\nimport { resolveThemePalette } from \"./theme-resolver.js\";\nimport type { ThemeBg, ThemeColor, ThemeJson } from \"./theme-schema.js\";\nimport { startThemeWatcher } from \"./theme-watcher.js\";\nimport {\n\tcreateEditorTheme,\n\tcreateMarkdownTheme,\n\tcreateSelectListTheme,\n} from \"./tui-theme-helpers.js\";\n\n// ============================================================================\n// Types & Schema\n// ============================================================================\n\nexport type { ThemeBg, ThemeColor } from \"./theme-schema.js\";\nexport { getAvailableThemes } from \"./theme-loader.js\";\n\n// ============================================================================\n// Theme Class\n// ============================================================================\n\nexport class Theme {\n\tprivate fgColors: Map<ThemeColor, string>;\n\tprivate bgColors: Map<ThemeBg, string>;\n\tprivate mode: ColorMode;\n\n\tconstructor(\n\t\tfgColors: Record<ThemeColor, string | number>,\n\t\tbgColors: Record<ThemeBg, string | number>,\n\t\tmode: ColorMode,\n\t) {\n\t\tthis.mode = mode;\n\t\tthis.fgColors = new Map();\n\t\tfor (const [key, value] of Object.entries(fgColors) as [\n\t\t\tThemeColor,\n\t\t\tstring | number,\n\t\t][]) {\n\t\t\tthis.fgColors.set(key, fgAnsi(value, mode));\n\t\t}\n\t\tthis.bgColors = new Map();\n\t\tfor (const [key, value] of Object.entries(bgColors) as [\n\t\t\tThemeBg,\n\t\t\tstring | number,\n\t\t][]) {\n\t\t\tthis.bgColors.set(key, bgAnsi(value, mode));\n\t\t}\n\t}\n\n\tfg(color: ThemeColor, text: string): string {\n\t\tconst ansi = this.fgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme color: ${color}`);\n\t\treturn `${ansi}${text}\\x1b[39m`; // Reset only foreground color\n\t}\n\n\tbg(color: ThemeBg, text: string): string {\n\t\tconst ansi = this.bgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme background color: ${color}`);\n\t\treturn `${ansi}${text}\\x1b[49m`; // Reset only background color\n\t}\n\n\tbold(text: string): string {\n\t\treturn chalk.bold(text);\n\t}\n\n\titalic(text: string): string {\n\t\treturn chalk.italic(text);\n\t}\n\n\tunderline(text: string): string {\n\t\treturn chalk.underline(text);\n\t}\n\n\tgetFgAnsi(color: ThemeColor): string {\n\t\tconst ansi = this.fgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme color: ${color}`);\n\t\treturn ansi;\n\t}\n\n\tgetBgAnsi(color: ThemeBg): string {\n\t\tconst ansi = this.bgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme background color: ${color}`);\n\t\treturn ansi;\n\t}\n\n\tgetColorMode(): ColorMode {\n\t\treturn this.mode;\n\t}\n\n\tgetThinkingBorderColor(\n\t\tlevel: \"off\" | \"minimal\" | \"low\" | \"medium\" | \"high\",\n\t): (str: string) => string {\n\t\t// Map thinking levels to dedicated theme colors\n\t\tswitch (level) {\n\t\t\tcase \"off\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingOff\", str);\n\t\t\tcase \"minimal\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingMinimal\", str);\n\t\t\tcase \"low\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingLow\", str);\n\t\t\tcase \"medium\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingMedium\", str);\n\t\t\tcase \"high\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingHigh\", str);\n\t\t\tdefault:\n\t\t\t\treturn (str: string) => this.fg(\"thinkingOff\", str);\n\t\t}\n\t}\n}\n\n// ============================================================================\n// Theme Loading\n// ============================================================================\n\nfunction createTheme(themeJson: ThemeJson, mode?: ColorMode): Theme {\n\tconst palette = resolveThemePalette(themeJson, mode);\n\treturn new Theme(palette.fgColors, palette.bgColors, palette.mode);\n}\n\nfunction loadTheme(name: string, mode?: ColorMode): Theme {\n\tconst themeJson = loadThemeJson(name);\n\treturn createTheme(themeJson, mode);\n}\n\nfunction detectTerminalBackground(): \"dark\" | \"light\" {\n\tconst colorfgbg = process.env.COLORFGBG || \"\";\n\tif (colorfgbg) {\n\t\tconst parts = colorfgbg.split(\";\");\n\t\tif (parts.length >= 2 && parts[1] !== undefined) {\n\t\t\tconst bg = Number.parseInt(parts[1], 10);\n\t\t\tif (!Number.isNaN(bg)) {\n\t\t\t\tconst result = bg < 8 ? \"dark\" : \"light\";\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\treturn \"dark\";\n}\n\nfunction getDefaultTheme(): string {\n\treturn detectTerminalBackground();\n}\n\n// ============================================================================\n// Global Theme Instance\n// ============================================================================\n\nfunction loadInitialTheme(): Theme {\n\ttry {\n\t\treturn loadTheme(\"dark\");\n\t} catch (error) {\n\t\treturn createTheme(embeddedThemes.dark, detectColorMode());\n\t}\n}\n\n// Initialize theme with dark as default\nexport let theme: Theme = loadInitialTheme();\nlet currentThemeName: string | undefined;\nlet onThemeChangeCallback: (() => void) | undefined;\n\nfunction getWatcherCallbacks() {\n\treturn {\n\t\treloadTheme(name: string) {\n\t\t\ttheme = loadTheme(name);\n\t\t\tif (onThemeChangeCallback) {\n\t\t\t\tonThemeChangeCallback();\n\t\t\t}\n\t\t},\n\t\thandleThemeDeleted() {\n\t\t\tcurrentThemeName = \"dark\";\n\t\t\ttheme = loadTheme(\"dark\");\n\t\t\tif (onThemeChangeCallback) {\n\t\t\t\tonThemeChangeCallback();\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function initTheme(themeName?: string): void {\n\tconst name = themeName ?? getDefaultTheme();\n\tcurrentThemeName = name;\n\ttry {\n\t\ttheme = loadTheme(name);\n\t\tstartThemeWatcher(currentThemeName, getWatcherCallbacks());\n\t} catch (error) {\n\t\t// Theme is invalid - fall back to dark theme silently\n\t\tcurrentThemeName = \"dark\";\n\t\ttheme = loadTheme(\"dark\");\n\t\t// Don't start watcher for fallback theme\n\t}\n}\n\nexport function setTheme(name: string): { success: boolean; error?: string } {\n\tcurrentThemeName = name;\n\ttry {\n\t\ttheme = loadTheme(name);\n\t\tstartThemeWatcher(currentThemeName, getWatcherCallbacks());\n\t\treturn { success: true };\n\t} catch (error) {\n\t\t// Theme is invalid - fall back to dark theme\n\t\tcurrentThemeName = \"dark\";\n\t\ttheme = loadTheme(\"dark\");\n\t\t// Don't start watcher for fallback theme\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t),\n\t\t};\n\t}\n}\n\nexport function onThemeChange(callback: () => void): void {\n\tonThemeChangeCallback = callback;\n}\n\nexport function getCurrentThemeName(): string {\n\treturn currentThemeName ?? \"dark\";\n}\n\nexport { stopThemeWatcher } from \"./theme-watcher.js\";\n\n// ============================================================================\n// TUI Helpers (delegating to pure functions)\n// ============================================================================\n\nexport function getMarkdownTheme(): MarkdownTheme {\n\treturn createMarkdownTheme(theme);\n}\n\nexport function getSelectListTheme(): SelectListTheme {\n\treturn createSelectListTheme(theme);\n}\n\nexport function getEditorTheme(): EditorTheme {\n\treturn createEditorTheme(theme);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Theme System for Maestro\n *\n * Adapted from pi-mono (MIT License)\n * Copyright (c) 2025 Mario Zechner\n * https://github.com/badlogic/pi-mono\n */\nimport chalk from \"chalk\";\nimport { sanitizeWithStaticMask } from \"../utils/secret-redactor.js\";\nimport {\n\ttype ColorMode,\n\tbgAnsi,\n\tdetectColorMode,\n\tfgAnsi,\n} from \"./color-utils.js\";\nimport { embeddedThemes, loadThemeJson } from \"./theme-loader.js\";\nimport { resolveThemePalette } from \"./theme-resolver.js\";\nimport type { ThemeBg, ThemeColor, ThemeJson } from \"./theme-schema.js\";\nimport { startThemeWatcher } from \"./theme-watcher.js\";\nimport {\n\tcreateEditorTheme,\n\tcreateMarkdownTheme,\n\tcreateSelectListTheme,\n} from \"./tui-theme-helpers.js\";\nimport type {\n\tEditorTheme,\n\tMarkdownTheme,\n\tSelectListTheme,\n} from \"./tui-theme-types.js\";\n\nexport type {\n\tEditorTheme,\n\tMarkdownTheme,\n\tSelectListTheme,\n} from \"./tui-theme-types.js\";\n\n// ============================================================================\n// Types & Schema\n// ============================================================================\n\nexport type { ThemeBg, ThemeColor } from \"./theme-schema.js\";\nexport { getAvailableThemes } from \"./theme-loader.js\";\n\n// ============================================================================\n// Theme Class\n// ============================================================================\n\nexport class Theme {\n\tprivate fgColors: Map<ThemeColor, string>;\n\tprivate bgColors: Map<ThemeBg, string>;\n\tprivate mode: ColorMode;\n\n\tconstructor(\n\t\tfgColors: Record<ThemeColor, string | number>,\n\t\tbgColors: Record<ThemeBg, string | number>,\n\t\tmode: ColorMode,\n\t) {\n\t\tthis.mode = mode;\n\t\tthis.fgColors = new Map();\n\t\tfor (const [key, value] of Object.entries(fgColors) as [\n\t\t\tThemeColor,\n\t\t\tstring | number,\n\t\t][]) {\n\t\t\tthis.fgColors.set(key, fgAnsi(value, mode));\n\t\t}\n\t\tthis.bgColors = new Map();\n\t\tfor (const [key, value] of Object.entries(bgColors) as [\n\t\t\tThemeBg,\n\t\t\tstring | number,\n\t\t][]) {\n\t\t\tthis.bgColors.set(key, bgAnsi(value, mode));\n\t\t}\n\t}\n\n\tfg(color: ThemeColor, text: string): string {\n\t\tconst ansi = this.fgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme color: ${color}`);\n\t\treturn `${ansi}${text}\\x1b[39m`; // Reset only foreground color\n\t}\n\n\tbg(color: ThemeBg, text: string): string {\n\t\tconst ansi = this.bgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme background color: ${color}`);\n\t\treturn `${ansi}${text}\\x1b[49m`; // Reset only background color\n\t}\n\n\tbold(text: string): string {\n\t\treturn chalk.bold(text);\n\t}\n\n\titalic(text: string): string {\n\t\treturn chalk.italic(text);\n\t}\n\n\tunderline(text: string): string {\n\t\treturn chalk.underline(text);\n\t}\n\n\tgetFgAnsi(color: ThemeColor): string {\n\t\tconst ansi = this.fgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme color: ${color}`);\n\t\treturn ansi;\n\t}\n\n\tgetBgAnsi(color: ThemeBg): string {\n\t\tconst ansi = this.bgColors.get(color);\n\t\tif (!ansi) throw new Error(`Unknown theme background color: ${color}`);\n\t\treturn ansi;\n\t}\n\n\tgetColorMode(): ColorMode {\n\t\treturn this.mode;\n\t}\n\n\tgetThinkingBorderColor(\n\t\tlevel: \"off\" | \"minimal\" | \"low\" | \"medium\" | \"high\",\n\t): (str: string) => string {\n\t\t// Map thinking levels to dedicated theme colors\n\t\tswitch (level) {\n\t\t\tcase \"off\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingOff\", str);\n\t\t\tcase \"minimal\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingMinimal\", str);\n\t\t\tcase \"low\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingLow\", str);\n\t\t\tcase \"medium\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingMedium\", str);\n\t\t\tcase \"high\":\n\t\t\t\treturn (str: string) => this.fg(\"thinkingHigh\", str);\n\t\t\tdefault:\n\t\t\t\treturn (str: string) => this.fg(\"thinkingOff\", str);\n\t\t}\n\t}\n}\n\n// ============================================================================\n// Theme Loading\n// ============================================================================\n\nfunction createTheme(themeJson: ThemeJson, mode?: ColorMode): Theme {\n\tconst palette = resolveThemePalette(themeJson, mode);\n\treturn new Theme(palette.fgColors, palette.bgColors, palette.mode);\n}\n\nfunction loadTheme(name: string, mode?: ColorMode): Theme {\n\tconst themeJson = loadThemeJson(name);\n\treturn createTheme(themeJson, mode);\n}\n\nfunction detectTerminalBackground(): \"dark\" | \"light\" {\n\tconst colorfgbg = process.env.COLORFGBG || \"\";\n\tif (colorfgbg) {\n\t\tconst parts = colorfgbg.split(\";\");\n\t\tif (parts.length >= 2 && parts[1] !== undefined) {\n\t\t\tconst bg = Number.parseInt(parts[1], 10);\n\t\t\tif (!Number.isNaN(bg)) {\n\t\t\t\tconst result = bg < 8 ? \"dark\" : \"light\";\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\treturn \"dark\";\n}\n\nfunction getDefaultTheme(): string {\n\treturn detectTerminalBackground();\n}\n\n// ============================================================================\n// Global Theme Instance\n// ============================================================================\n\nfunction loadInitialTheme(): Theme {\n\ttry {\n\t\treturn loadTheme(\"dark\");\n\t} catch (error) {\n\t\treturn createTheme(embeddedThemes.dark, detectColorMode());\n\t}\n}\n\n// Initialize theme with dark as default\nexport let theme: Theme = loadInitialTheme();\nlet currentThemeName: string | undefined;\nlet onThemeChangeCallback: (() => void) | undefined;\n\nfunction getWatcherCallbacks() {\n\treturn {\n\t\treloadTheme(name: string) {\n\t\t\ttheme = loadTheme(name);\n\t\t\tif (onThemeChangeCallback) {\n\t\t\t\tonThemeChangeCallback();\n\t\t\t}\n\t\t},\n\t\thandleThemeDeleted() {\n\t\t\tcurrentThemeName = \"dark\";\n\t\t\ttheme = loadTheme(\"dark\");\n\t\t\tif (onThemeChangeCallback) {\n\t\t\t\tonThemeChangeCallback();\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function initTheme(themeName?: string): void {\n\tconst name = themeName ?? getDefaultTheme();\n\tcurrentThemeName = name;\n\ttry {\n\t\ttheme = loadTheme(name);\n\t\tstartThemeWatcher(currentThemeName, getWatcherCallbacks());\n\t} catch (error) {\n\t\t// Theme is invalid - fall back to dark theme silently\n\t\tcurrentThemeName = \"dark\";\n\t\ttheme = loadTheme(\"dark\");\n\t\t// Don't start watcher for fallback theme\n\t}\n}\n\nexport function setTheme(name: string): { success: boolean; error?: string } {\n\tcurrentThemeName = name;\n\ttry {\n\t\ttheme = loadTheme(name);\n\t\tstartThemeWatcher(currentThemeName, getWatcherCallbacks());\n\t\treturn { success: true };\n\t} catch (error) {\n\t\t// Theme is invalid - fall back to dark theme\n\t\tcurrentThemeName = \"dark\";\n\t\ttheme = loadTheme(\"dark\");\n\t\t// Don't start watcher for fallback theme\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t),\n\t\t};\n\t}\n}\n\nexport function onThemeChange(callback: () => void): void {\n\tonThemeChangeCallback = callback;\n}\n\nexport function getCurrentThemeName(): string {\n\treturn currentThemeName ?? \"dark\";\n}\n\nexport { stopThemeWatcher } from \"./theme-watcher.js\";\n\n// ============================================================================\n// TUI Helpers (delegating to pure functions)\n// ============================================================================\n\nexport function getMarkdownTheme(): MarkdownTheme {\n\treturn createMarkdownTheme(theme);\n}\n\nexport function getSelectListTheme(): SelectListTheme {\n\treturn createSelectListTheme(theme);\n}\n\nexport function getEditorTheme(): EditorTheme {\n\treturn createEditorTheme(theme);\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { EditorTheme, MarkdownTheme, SelectListTheme } from "@evalops/tui";
|
|
2
1
|
import type { Theme } from "./theme.js";
|
|
2
|
+
import type { EditorTheme, MarkdownTheme, SelectListTheme } from "./tui-theme-types.js";
|
|
3
|
+
export type { EditorTheme, MarkdownTheme, SelectListTheme, } from "./tui-theme-types.js";
|
|
3
4
|
export declare function createMarkdownTheme(t: Theme): MarkdownTheme;
|
|
4
5
|
export declare function createSelectListTheme(t: Theme): SelectListTheme;
|
|
5
6
|
export declare function createEditorTheme(t: Theme): EditorTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-theme-helpers.d.ts","sourceRoot":"","sources":["../../src/theme/tui-theme-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui-theme-helpers.d.ts","sourceRoot":"","sources":["../../src/theme/tui-theme-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACX,WAAW,EACX,aAAa,EACb,eAAe,GACf,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,CAiB3D;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,eAAe,CAQ/D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,WAAW,CAKvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-theme-helpers.js","sourceRoot":"","sources":["../../src/theme/tui-theme-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui-theme-helpers.js","sourceRoot":"","sources":["../../src/theme/tui-theme-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,MAAM,UAAU,mBAAmB,CAAC,CAAQ;IAC3C,OAAO;QACN,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAClD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC5C,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAClD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC5C,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC;QACtD,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC;QAClE,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;QAC9C,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC;QAC1D,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;QACxC,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC;QACxD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzD,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;KAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,CAAQ;IAC7C,OAAO;QACN,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QACtD,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QACpD,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;QAClD,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;QACjD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;KAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAQ;IACzC,OAAO;QACN,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC;QACxD,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;KACpC,CAAC;AACH,CAAC","sourcesContent":["import chalk from \"chalk\";\nimport type { Theme } from \"./theme.js\";\nimport type {\n\tEditorTheme,\n\tMarkdownTheme,\n\tSelectListTheme,\n} from \"./tui-theme-types.js\";\n\nexport type {\n\tEditorTheme,\n\tMarkdownTheme,\n\tSelectListTheme,\n} from \"./tui-theme-types.js\";\n\nexport function createMarkdownTheme(t: Theme): MarkdownTheme {\n\treturn {\n\t\theading: (text: string) => t.fg(\"mdHeading\", text),\n\t\tlink: (text: string) => t.fg(\"mdLink\", text),\n\t\tlinkUrl: (text: string) => t.fg(\"mdLinkUrl\", text),\n\t\tcode: (text: string) => t.fg(\"mdCode\", text),\n\t\tcodeBlock: (text: string) => t.fg(\"mdCodeBlock\", text),\n\t\tcodeBlockBorder: (text: string) => t.fg(\"mdCodeBlockBorder\", text),\n\t\tquote: (text: string) => t.fg(\"mdQuote\", text),\n\t\tquoteBorder: (text: string) => t.fg(\"mdQuoteBorder\", text),\n\t\thr: (text: string) => t.fg(\"mdHr\", text),\n\t\tlistBullet: (text: string) => t.fg(\"mdListBullet\", text),\n\t\tbold: (text: string) => t.bold(text),\n\t\titalic: (text: string) => t.fg(\"mdQuote\", t.italic(text)),\n\t\tunderline: (text: string) => t.underline(text),\n\t\tstrikethrough: (text: string) => chalk.strikethrough(text),\n\t};\n}\n\nexport function createSelectListTheme(t: Theme): SelectListTheme {\n\treturn {\n\t\tselectedPrefix: (text: string) => t.fg(\"accent\", text),\n\t\tselectedText: (text: string) => t.fg(\"accent\", text),\n\t\tdescription: (text: string) => t.fg(\"muted\", text),\n\t\tscrollInfo: (text: string) => t.fg(\"muted\", text),\n\t\tnoMatch: (text: string) => t.fg(\"muted\", text),\n\t};\n}\n\nexport function createEditorTheme(t: Theme): EditorTheme {\n\treturn {\n\t\tborderColor: (text: string) => t.fg(\"borderMuted\", text),\n\t\tselectList: createSelectListTheme(t),\n\t};\n}\n"]}
|