@evalops/maestro 0.10.50 → 0.10.51
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/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/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/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 +2 -2
- package/dist/agent/modes.d.ts.map +1 -1
- package/dist/agent/modes.js +10 -3
- package/dist/agent/modes.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 +203 -107
- package/dist/agent/providers/google.js +100 -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 +203 -107
- 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 +4 -1
- package/dist/agent/subagent-specs.d.ts.map +1 -1
- package/dist/agent/subagent-specs.js +81 -8
- 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/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/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 +1 -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/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -0
- 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/agents.d.ts +4 -0
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +149 -0
- package/dist/cli/commands/agents.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/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/help.d.ts.map +1 -1
- package/dist/cli/help.js +10 -0
- package/dist/cli/help.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-runtime.js +7756 -2800
- package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +1 -1
- package/dist/cli-tui/client-tools/client-tool-controller.js +1 -3
- package/dist/cli-tui/client-tools/client-tool-controller.js.map +1 -1
- package/dist/cli-tui/commands/undo-handlers.d.ts.map +1 -1
- package/dist/cli-tui/commands/undo-handlers.js +7 -2
- package/dist/cli-tui/commands/undo-handlers.js.map +1 -1
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts +3 -0
- package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +1 -1
- package/dist/cli-tui/tui-renderer/skills-controller.js +77 -33
- package/dist/cli-tui/tui-renderer/skills-controller.js.map +1 -1
- 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/context/manifest.d.ts.map +1 -1
- package/dist/context/manifest.js +1 -3
- package/dist/context/manifest.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 +5 -1
- 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/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 +92 -3
- 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.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 +1 -0
- package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@evalops/contracts/dist/index.js +1 -0
- package/dist/node_modules/@evalops/contracts/dist/index.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/package.json +1 -1
- package/dist/node_modules/@evalops/tui/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/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/env.d.ts +9 -1
- package/dist/runtime/env.d.ts.map +1 -1
- package/dist/runtime/env.js +63 -1
- package/dist/runtime/env.js.map +1 -1
- 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/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/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/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/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/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 +1 -3
- package/dist/server/session-serialization.js.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/intelligent-router/normalize.d.ts.map +1 -1
- package/dist/services/intelligent-router/normalize.js +1 -3
- package/dist/services/intelligent-router/normalize.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/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/skills/composer.d.ts.map +1 -1
- package/dist/skills/composer.js +13 -1
- package/dist/skills/composer.js.map +1 -1
- package/dist/skills/index.d.ts +1 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -0
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/learned-guidelines.d.ts +33 -0
- package/dist/skills/learned-guidelines.d.ts.map +1 -0
- package/dist/skills/learned-guidelines.js +291 -0
- package/dist/skills/learned-guidelines.js.map +1 -0
- package/dist/skills/linter.d.ts.map +1 -1
- package/dist/skills/linter.js +1 -3
- package/dist/skills/linter.js.map +1 -1
- package/dist/skills/runtime-activation.d.ts +1 -0
- package/dist/skills/runtime-activation.d.ts.map +1 -1
- package/dist/skills/runtime-activation.js +2 -3
- package/dist/skills/runtime-activation.js.map +1 -1
- package/dist/skills/tool.d.ts.map +1 -1
- package/dist/skills/tool.js +26 -21
- package/dist/skills/tool.js.map +1 -1
- package/dist/skills/trust-cache.d.ts +7 -0
- package/dist/skills/trust-cache.d.ts.map +1 -1
- package/dist/skills/trust-cache.js +16 -0
- package/dist/skills/trust-cache.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.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.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/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/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/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/package.json +310 -306
- package/skills/incident-triage/SKILL.md +19 -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
|
@@ -18797,6 +18797,28 @@ function resolveHomePath(value, raw) {
|
|
|
18797
18797
|
const expanded = value === "~" ? home : value.startsWith("~/") || value.startsWith("~\\") ? join4(home, value.slice(2)) : value;
|
|
18798
18798
|
return resolve3(expanded);
|
|
18799
18799
|
}
|
|
18800
|
+
function homeFromEnv(raw) {
|
|
18801
|
+
return trim(raw.HOME) ?? trim(raw.USERPROFILE) ?? homedir2();
|
|
18802
|
+
}
|
|
18803
|
+
function resolveDataLocalDir(raw) {
|
|
18804
|
+
const home = homeFromEnv(raw);
|
|
18805
|
+
if (process.platform === "darwin") {
|
|
18806
|
+
return join4(home, "Library", "Application Support");
|
|
18807
|
+
}
|
|
18808
|
+
if (process.platform === "win32") {
|
|
18809
|
+
return resolveHomePath(trim(raw.LOCALAPPDATA), raw) ?? resolveHomePath(trim(raw.APPDATA), raw) ?? join4(home, "AppData", "Local");
|
|
18810
|
+
}
|
|
18811
|
+
return resolveHomePath(trim(raw.XDG_DATA_HOME), raw) ?? join4(home, ".local", "share");
|
|
18812
|
+
}
|
|
18813
|
+
function resolveRuntimeDir(raw) {
|
|
18814
|
+
if (process.platform === "darwin") {
|
|
18815
|
+
return resolveDataLocalDir(raw);
|
|
18816
|
+
}
|
|
18817
|
+
const xdgRuntimeDir = resolveHomePath(trim(raw.XDG_RUNTIME_DIR), raw);
|
|
18818
|
+
if (xdgRuntimeDir)
|
|
18819
|
+
return xdgRuntimeDir;
|
|
18820
|
+
return resolveDataLocalDir(raw);
|
|
18821
|
+
}
|
|
18800
18822
|
function createRuntimeEnv(raw) {
|
|
18801
18823
|
return Object.freeze({
|
|
18802
18824
|
logLevel: parseLogLevel2(trim(raw.MAESTRO_LOG_LEVEL)),
|
|
@@ -18807,6 +18829,9 @@ function createRuntimeEnv(raw) {
|
|
|
18807
18829
|
disableKeychain: parseBoolean(trim(raw.MAESTRO_DISABLE_KEYCHAIN)),
|
|
18808
18830
|
maestroHome: trim(raw.MAESTRO_HOME) ?? join4(homedir2(), ".maestro"),
|
|
18809
18831
|
maestroAgentDir: trim(raw.MAESTRO_AGENT_DIR),
|
|
18832
|
+
missionStoreDir: resolveHomePath(trim(raw.MAESTRO_MISSION_STORE_DIR), raw),
|
|
18833
|
+
snapshotBlobDir: resolveHomePath(trim(raw.MAESTRO_SNAPSHOT_BLOB_DIR), raw),
|
|
18834
|
+
skillTrustStrict: parseBoolean(trim(raw.MAESTRO_SKILL_TRUST_STRICT)),
|
|
18810
18835
|
telemetryEnabled: parseOptionalBoolean(trim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY)),
|
|
18811
18836
|
telemetryFlag: trim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY),
|
|
18812
18837
|
beaconFile: resolveHomePath(trim(raw.MAESTRO_BEACON_FILE), raw),
|
|
@@ -18830,10 +18855,31 @@ function createRuntimeEnv(raw) {
|
|
|
18830
18855
|
]),
|
|
18831
18856
|
meterBaseUrl: firstNonEmpty(raw, METER_BASE_URL_VARS),
|
|
18832
18857
|
meterAccessToken: firstNonEmpty(raw, METER_ACCESS_TOKEN_VARS),
|
|
18833
|
-
meterOrganizationId: firstNonEmpty(raw, METER_ORG_ID_VARS)
|
|
18858
|
+
meterOrganizationId: firstNonEmpty(raw, METER_ORG_ID_VARS),
|
|
18859
|
+
ambientLearnerFile: resolveHomePath(trim(raw.MAESTRO_AMBIENT_LEARNER_FILE), raw),
|
|
18860
|
+
ambientLearnerDefaultFile: join4(resolveDataLocalDir(raw), "ambient-agent", "learner.json"),
|
|
18861
|
+
ambientSocketFile: join4(resolveRuntimeDir(raw), "ambient-agent.sock")
|
|
18834
18862
|
});
|
|
18835
18863
|
}
|
|
18864
|
+
function isTestProcess() {
|
|
18865
|
+
return process.env.NODE_ENV === "test" || process.env.VITEST === "true";
|
|
18866
|
+
}
|
|
18867
|
+
function maybeReportEarlyRuntimeEnvAccess() {
|
|
18868
|
+
if (processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_FINALIZED__) {
|
|
18869
|
+
return;
|
|
18870
|
+
}
|
|
18871
|
+
const message = "defaultRuntimeEnv() was read before loadAndFinalizeEnv() completed. Bootstrap entry points must finish dotenv loading and security scrubbing before runtime env snapshots are created.";
|
|
18872
|
+
if (process.env.MAESTRO_RUNTIME_ENV_STRICT_BOOTSTRAP === "1") {
|
|
18873
|
+
throw new Error(message);
|
|
18874
|
+
}
|
|
18875
|
+
if (isTestProcess() || processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__) {
|
|
18876
|
+
return;
|
|
18877
|
+
}
|
|
18878
|
+
processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__ = true;
|
|
18879
|
+
console.warn(`[maestro] ${message}`);
|
|
18880
|
+
}
|
|
18836
18881
|
function defaultRuntimeEnv() {
|
|
18882
|
+
maybeReportEarlyRuntimeEnvAccess();
|
|
18837
18883
|
if (!processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__) {
|
|
18838
18884
|
processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__ = createRuntimeEnv(process.env);
|
|
18839
18885
|
}
|
|
@@ -19041,6 +19087,43 @@ var init_logger = __esm({
|
|
|
19041
19087
|
}
|
|
19042
19088
|
});
|
|
19043
19089
|
|
|
19090
|
+
// dist/utils/json.js
|
|
19091
|
+
function safeJsonParse(input, context) {
|
|
19092
|
+
try {
|
|
19093
|
+
const data = JSON.parse(input);
|
|
19094
|
+
return { success: true, data };
|
|
19095
|
+
} catch (error) {
|
|
19096
|
+
const message = context ? `Failed to parse JSON in ${context}` : "Failed to parse JSON";
|
|
19097
|
+
const parseError = new JsonParseError(
|
|
19098
|
+
message,
|
|
19099
|
+
input.slice(0, 200),
|
|
19100
|
+
// Limit stored input
|
|
19101
|
+
error instanceof Error ? error : void 0
|
|
19102
|
+
);
|
|
19103
|
+
logger2.debug(message, { inputLength: input.length, error });
|
|
19104
|
+
return { success: false, error: parseError };
|
|
19105
|
+
}
|
|
19106
|
+
}
|
|
19107
|
+
function isRecord(value) {
|
|
19108
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
19109
|
+
}
|
|
19110
|
+
var logger2, JsonParseError;
|
|
19111
|
+
var init_json = __esm({
|
|
19112
|
+
"dist/utils/json.js"() {
|
|
19113
|
+
"use strict";
|
|
19114
|
+
init_logger();
|
|
19115
|
+
logger2 = createLogger("json-utils");
|
|
19116
|
+
JsonParseError = class extends Error {
|
|
19117
|
+
constructor(message, input, cause) {
|
|
19118
|
+
super(message);
|
|
19119
|
+
this.input = input;
|
|
19120
|
+
this.cause = cause;
|
|
19121
|
+
this.name = "JsonParseError";
|
|
19122
|
+
}
|
|
19123
|
+
};
|
|
19124
|
+
}
|
|
19125
|
+
});
|
|
19126
|
+
|
|
19044
19127
|
// dist/safety/credential-patterns.js
|
|
19045
19128
|
import { createHash, randomBytes } from "node:crypto";
|
|
19046
19129
|
function createGlobalPatternRegex(def) {
|
|
@@ -19543,40 +19626,6 @@ var init_feature_flags = __esm({
|
|
|
19543
19626
|
}
|
|
19544
19627
|
});
|
|
19545
19628
|
|
|
19546
|
-
// dist/utils/json.js
|
|
19547
|
-
function safeJsonParse(input, context) {
|
|
19548
|
-
try {
|
|
19549
|
-
const data = JSON.parse(input);
|
|
19550
|
-
return { success: true, data };
|
|
19551
|
-
} catch (error) {
|
|
19552
|
-
const message = context ? `Failed to parse JSON in ${context}` : "Failed to parse JSON";
|
|
19553
|
-
const parseError = new JsonParseError(
|
|
19554
|
-
message,
|
|
19555
|
-
input.slice(0, 200),
|
|
19556
|
-
// Limit stored input
|
|
19557
|
-
error instanceof Error ? error : void 0
|
|
19558
|
-
);
|
|
19559
|
-
logger2.debug(message, { inputLength: input.length, error });
|
|
19560
|
-
return { success: false, error: parseError };
|
|
19561
|
-
}
|
|
19562
|
-
}
|
|
19563
|
-
var logger2, JsonParseError;
|
|
19564
|
-
var init_json = __esm({
|
|
19565
|
-
"dist/utils/json.js"() {
|
|
19566
|
-
"use strict";
|
|
19567
|
-
init_logger();
|
|
19568
|
-
logger2 = createLogger("json-utils");
|
|
19569
|
-
JsonParseError = class extends Error {
|
|
19570
|
-
constructor(message, input, cause) {
|
|
19571
|
-
super(message);
|
|
19572
|
-
this.input = input;
|
|
19573
|
-
this.cause = cause;
|
|
19574
|
-
this.name = "JsonParseError";
|
|
19575
|
-
}
|
|
19576
|
-
};
|
|
19577
|
-
}
|
|
19578
|
-
});
|
|
19579
|
-
|
|
19580
19629
|
// dist/utils/fs.js
|
|
19581
19630
|
import { randomBytes as randomBytes2 } from "node:crypto";
|
|
19582
19631
|
import { constants, closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync as readFileSync3, renameSync, statSync as statSync3, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -19628,7 +19677,16 @@ function readJsonFile(path2, options = {}) {
|
|
|
19628
19677
|
error: result.error.message
|
|
19629
19678
|
});
|
|
19630
19679
|
if (rotateOnParseFail) {
|
|
19631
|
-
rotateCorruptJsonFile(path2);
|
|
19680
|
+
const rotatedPath = rotateCorruptJsonFile(path2, content);
|
|
19681
|
+
if (!rotatedPath) {
|
|
19682
|
+
const repairedContent = readTextFile(path2, { fallback: "" });
|
|
19683
|
+
if (repairedContent !== "" && repairedContent !== content) {
|
|
19684
|
+
const repaired = safeJsonParse(repairedContent, path2);
|
|
19685
|
+
if (repaired.success) {
|
|
19686
|
+
return repaired.data;
|
|
19687
|
+
}
|
|
19688
|
+
}
|
|
19689
|
+
}
|
|
19632
19690
|
}
|
|
19633
19691
|
return fallback;
|
|
19634
19692
|
}
|
|
@@ -19643,9 +19701,26 @@ function readJsonFile(path2, options = {}) {
|
|
|
19643
19701
|
throw error;
|
|
19644
19702
|
}
|
|
19645
19703
|
}
|
|
19646
|
-
function rotateCorruptJsonFile(path2) {
|
|
19704
|
+
function rotateCorruptJsonFile(path2, expectedContent) {
|
|
19647
19705
|
if (!fileExists(path2))
|
|
19648
19706
|
return null;
|
|
19707
|
+
if (expectedContent !== void 0) {
|
|
19708
|
+
try {
|
|
19709
|
+
const currentContent = readFileSync3(path2, "utf8");
|
|
19710
|
+
if (currentContent !== expectedContent) {
|
|
19711
|
+
logger3.warn("Skipped corrupt JSON rotation; file changed after read", {
|
|
19712
|
+
path: path2
|
|
19713
|
+
});
|
|
19714
|
+
return null;
|
|
19715
|
+
}
|
|
19716
|
+
} catch (error) {
|
|
19717
|
+
logger3.warn("Failed to re-read corrupt JSON before rotation", {
|
|
19718
|
+
path: path2,
|
|
19719
|
+
error: error instanceof Error ? error.message : String(error)
|
|
19720
|
+
});
|
|
19721
|
+
return null;
|
|
19722
|
+
}
|
|
19723
|
+
}
|
|
19649
19724
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
19650
19725
|
const nonce = randomBytes2(4).toString("hex");
|
|
19651
19726
|
const rotatedPath = `${path2}.corrupt.${timestamp}.${nonce}`;
|
|
@@ -20546,7 +20621,10 @@ function defaultCorrelation(env, managedContext) {
|
|
|
20546
20621
|
remote_runner_session_id: readEnv2(env, [
|
|
20547
20622
|
"MAESTRO_REMOTE_RUNNER_SESSION_ID"
|
|
20548
20623
|
]),
|
|
20549
|
-
objective_id: readEnv2(env, [
|
|
20624
|
+
objective_id: readEnv2(env, [
|
|
20625
|
+
"MAESTRO_OBJECTIVE_ID",
|
|
20626
|
+
"MAESTRO_EVALOPS_OBJECTIVE_ID"
|
|
20627
|
+
]),
|
|
20550
20628
|
conversation_id: readEnv2(env, ["MAESTRO_CONVERSATION_ID"]),
|
|
20551
20629
|
attributes: readStringRecord(env, "MAESTRO_EVENT_BUS_ATTR_")
|
|
20552
20630
|
};
|
|
@@ -20812,28 +20890,34 @@ function contextFromMetadata(metadata, extra) {
|
|
|
20812
20890
|
Object.assign(context, extra);
|
|
20813
20891
|
return Object.keys(context).length > 0 ? context : void 0;
|
|
20814
20892
|
}
|
|
20893
|
+
function normalizeOptionalString(value) {
|
|
20894
|
+
if (typeof value !== "string")
|
|
20895
|
+
return void 0;
|
|
20896
|
+
const trimmed = value.trim();
|
|
20897
|
+
return trimmed.length > 0 ? trimmed : void 0;
|
|
20898
|
+
}
|
|
20815
20899
|
function correlationFromMetadata(metadata) {
|
|
20816
20900
|
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
|
|
20817
20901
|
return void 0;
|
|
20818
20902
|
}
|
|
20819
20903
|
const record = metadata;
|
|
20820
20904
|
return {
|
|
20821
|
-
session_id:
|
|
20822
|
-
workspace_id:
|
|
20823
|
-
agent_run_id:
|
|
20824
|
-
agent_run_step_id:
|
|
20825
|
-
organization_id:
|
|
20826
|
-
user_id:
|
|
20827
|
-
agent_id:
|
|
20828
|
-
actor_id:
|
|
20829
|
-
principal_id:
|
|
20830
|
-
trace_id:
|
|
20831
|
-
traceparent:
|
|
20832
|
-
tracestate:
|
|
20833
|
-
request_id:
|
|
20834
|
-
remote_runner_session_id:
|
|
20835
|
-
objective_id:
|
|
20836
|
-
conversation_id:
|
|
20905
|
+
session_id: normalizeOptionalString(record.sessionId) ?? normalizeOptionalString(record.session_id),
|
|
20906
|
+
workspace_id: normalizeOptionalString(record.workspaceId) ?? normalizeOptionalString(record.workspace_id),
|
|
20907
|
+
agent_run_id: normalizeOptionalString(record.agentRunId) ?? normalizeOptionalString(record.agent_run_id),
|
|
20908
|
+
agent_run_step_id: normalizeOptionalString(record.toolCallId) ?? normalizeOptionalString(record.tool_call_id),
|
|
20909
|
+
organization_id: normalizeOptionalString(record.organizationId) ?? normalizeOptionalString(record.organization_id),
|
|
20910
|
+
user_id: normalizeOptionalString(record.userId) ?? normalizeOptionalString(record.user_id),
|
|
20911
|
+
agent_id: normalizeOptionalString(record.agentId) ?? normalizeOptionalString(record.agent_id),
|
|
20912
|
+
actor_id: normalizeOptionalString(record.actorId) ?? normalizeOptionalString(record.actor_id),
|
|
20913
|
+
principal_id: normalizeOptionalString(record.principalId) ?? normalizeOptionalString(record.principal_id),
|
|
20914
|
+
trace_id: normalizeOptionalString(record.traceId) ?? normalizeOptionalString(record.trace_id),
|
|
20915
|
+
traceparent: normalizeOptionalString(record.traceparent) ?? normalizeOptionalString(record.trace_parent),
|
|
20916
|
+
tracestate: normalizeOptionalString(record.tracestate) ?? normalizeOptionalString(record.trace_state),
|
|
20917
|
+
request_id: normalizeOptionalString(record.requestId) ?? normalizeOptionalString(record.request_id),
|
|
20918
|
+
remote_runner_session_id: normalizeOptionalString(record.remoteRunnerSessionId) ?? normalizeOptionalString(record.remote_runner_session_id),
|
|
20919
|
+
objective_id: normalizeOptionalString(record.objectiveId) ?? normalizeOptionalString(record.objective_id),
|
|
20920
|
+
conversation_id: normalizeOptionalString(record.conversationId) ?? normalizeOptionalString(record.conversation_id)
|
|
20837
20921
|
};
|
|
20838
20922
|
}
|
|
20839
20923
|
function stringMetadata(metadata, name) {
|
|
@@ -21431,9 +21515,6 @@ function resolveBundledCodexBinPath() {
|
|
|
21431
21515
|
return null;
|
|
21432
21516
|
}
|
|
21433
21517
|
}
|
|
21434
|
-
function isRecord(value) {
|
|
21435
|
-
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
21436
|
-
}
|
|
21437
21518
|
function defaultServerRequestResponse(method) {
|
|
21438
21519
|
switch (method) {
|
|
21439
21520
|
case "item/commandExecution/requestApproval":
|
|
@@ -21469,6 +21550,7 @@ var init_app_server_client = __esm({
|
|
|
21469
21550
|
"dist/codex/app-server-client.js"() {
|
|
21470
21551
|
"use strict";
|
|
21471
21552
|
init_package_version();
|
|
21553
|
+
init_json();
|
|
21472
21554
|
DEFAULT_REQUEST_TIMEOUT_MS = 3e4;
|
|
21473
21555
|
DEFAULT_LOGIN_TIMEOUT_MS = 5 * 6e4;
|
|
21474
21556
|
MAX_NOTIFICATION_HISTORY = 100;
|
|
@@ -23399,9 +23481,6 @@ var init_service_client = __esm({
|
|
|
23399
23481
|
function isConnectorOAuthProvider(provider) {
|
|
23400
23482
|
return Object.prototype.hasOwnProperty.call(CONNECTOR_PROVIDER_BY_OAUTH_PROVIDER, provider);
|
|
23401
23483
|
}
|
|
23402
|
-
function isRecord2(value) {
|
|
23403
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
23404
|
-
}
|
|
23405
23484
|
function getMetadataString(metadata, key) {
|
|
23406
23485
|
const value = metadata?.[key];
|
|
23407
23486
|
return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
|
|
@@ -23416,7 +23495,7 @@ function getMetadataStringArray(metadata, key) {
|
|
|
23416
23495
|
}
|
|
23417
23496
|
function getMetadataStringMap(metadata, key) {
|
|
23418
23497
|
const value = metadata?.[key];
|
|
23419
|
-
if (!
|
|
23498
|
+
if (!isRecord(value)) {
|
|
23420
23499
|
return void 0;
|
|
23421
23500
|
}
|
|
23422
23501
|
const entries = Object.entries(value).map(([entryKey, entryValue]) => [
|
|
@@ -23527,6 +23606,7 @@ var init_connectors = __esm({
|
|
|
23527
23606
|
"dist/oauth/connectors.js"() {
|
|
23528
23607
|
"use strict";
|
|
23529
23608
|
init_service_client();
|
|
23609
|
+
init_json();
|
|
23530
23610
|
init_storage();
|
|
23531
23611
|
CONNECTOR_PROVIDER_BY_OAUTH_PROVIDER = {
|
|
23532
23612
|
"github-copilot": "github",
|
|
@@ -23905,9 +23985,6 @@ function parseScopesPayload(value) {
|
|
|
23905
23985
|
}
|
|
23906
23986
|
return value.filter((entry2) => typeof entry2 === "string").map((entry2) => entry2.trim()).filter((entry2) => entry2.length > 0);
|
|
23907
23987
|
}
|
|
23908
|
-
function isRecord3(value) {
|
|
23909
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
23910
|
-
}
|
|
23911
23988
|
function getMetadataString2(metadata, key) {
|
|
23912
23989
|
const value = metadata?.[key];
|
|
23913
23990
|
return typeof value === "string" && value.trim().length > 0 ? value : void 0;
|
|
@@ -23921,7 +23998,7 @@ function getMetadataScopes(metadata) {
|
|
|
23921
23998
|
}
|
|
23922
23999
|
function resolveProviderRef(metadata) {
|
|
23923
24000
|
const fallback = getProviderRef();
|
|
23924
|
-
const providerRef =
|
|
24001
|
+
const providerRef = isRecord(metadata?.providerRef) ? metadata.providerRef : void 0;
|
|
23925
24002
|
return {
|
|
23926
24003
|
provider: getMetadataString2(providerRef, "provider") ?? fallback.provider,
|
|
23927
24004
|
environment: getMetadataString2(providerRef, "environment") ?? fallback.environment,
|
|
@@ -24288,6 +24365,7 @@ var init_evalops = __esm({
|
|
|
24288
24365
|
init_env_aliases();
|
|
24289
24366
|
init_core_services();
|
|
24290
24367
|
init_downstream_http();
|
|
24368
|
+
init_json();
|
|
24291
24369
|
init_logger();
|
|
24292
24370
|
init_loopback_http();
|
|
24293
24371
|
init_device_identity();
|
|
@@ -26604,28 +26682,58 @@ __export(telemetry_exports, {
|
|
|
26604
26682
|
import { appendFile as appendFile2, mkdir as mkdir2 } from "node:fs/promises";
|
|
26605
26683
|
import { dirname as dirname6 } from "node:path";
|
|
26606
26684
|
import { SpanStatusCode } from "@opentelemetry/api";
|
|
26685
|
+
function createExporterRuntimeConfig(env) {
|
|
26686
|
+
const file = env.exporterFile;
|
|
26687
|
+
const endpoint = env.exporterEndpoint;
|
|
26688
|
+
const initialEnabled = shouldEnableTelemetryForEnv(env, file, endpoint);
|
|
26689
|
+
return {
|
|
26690
|
+
endpoint,
|
|
26691
|
+
env,
|
|
26692
|
+
file,
|
|
26693
|
+
flag: env.telemetryFlag,
|
|
26694
|
+
initialEnabled,
|
|
26695
|
+
// `RuntimeEnv.telemetrySampleRate` is already parsed and clamped to
|
|
26696
|
+
// `[0, 1]`; `null` means no signal, treated as full-sampling.
|
|
26697
|
+
sampleRate: env.telemetrySampleRate ?? 1
|
|
26698
|
+
};
|
|
26699
|
+
}
|
|
26700
|
+
function getExporterRuntimeConfig() {
|
|
26701
|
+
const env = defaultRuntimeEnv();
|
|
26702
|
+
if (!exporterRuntimeConfig || exporterRuntimeConfig.env !== env) {
|
|
26703
|
+
exporterRuntimeConfig = createExporterRuntimeConfig(env);
|
|
26704
|
+
}
|
|
26705
|
+
return exporterRuntimeConfig;
|
|
26706
|
+
}
|
|
26707
|
+
function shouldEnableTelemetryForEnv(env, file, endpoint) {
|
|
26708
|
+
if (env.telemetryEnabled === false)
|
|
26709
|
+
return false;
|
|
26710
|
+
if (env.telemetryEnabled === true)
|
|
26711
|
+
return true;
|
|
26712
|
+
return Boolean(endpoint || file || hasRemoteMeterDestination());
|
|
26713
|
+
}
|
|
26607
26714
|
function getTelemetryStatus() {
|
|
26715
|
+
const config = getExporterRuntimeConfig();
|
|
26608
26716
|
let reason = "disabled";
|
|
26609
|
-
const baseEnabled =
|
|
26610
|
-
if (!shouldEnableTelemetry()) {
|
|
26717
|
+
const baseEnabled = config.initialEnabled && config.sampleRate > 0;
|
|
26718
|
+
if (!shouldEnableTelemetry(config)) {
|
|
26611
26719
|
reason = "flag disabled";
|
|
26612
|
-
} else if (
|
|
26720
|
+
} else if (config.sampleRate === 0) {
|
|
26613
26721
|
reason = "sampling=0";
|
|
26614
|
-
} else if (
|
|
26722
|
+
} else if (config.endpoint) {
|
|
26615
26723
|
reason = "endpoint";
|
|
26616
26724
|
} else if (hasRemoteMeterDestination()) {
|
|
26617
26725
|
reason = "meter";
|
|
26618
|
-
} else if (
|
|
26726
|
+
} else if (config.file || baseEnabled) {
|
|
26619
26727
|
reason = "file";
|
|
26620
26728
|
}
|
|
26621
26729
|
const runtimeOverride = telemetryOverride === null ? void 0 : telemetryOverride ? "enabled" : "disabled";
|
|
26622
26730
|
return {
|
|
26623
|
-
enabled:
|
|
26731
|
+
enabled: (telemetryOverride === null ? config.initialEnabled : telemetryOverride) && config.sampleRate > 0,
|
|
26624
26732
|
reason,
|
|
26625
|
-
endpoint:
|
|
26626
|
-
filePath:
|
|
26627
|
-
sampleRate:
|
|
26628
|
-
flagValue:
|
|
26733
|
+
endpoint: config.endpoint ?? void 0,
|
|
26734
|
+
filePath: config.file ?? defaultTelemetryFile,
|
|
26735
|
+
sampleRate: config.sampleRate,
|
|
26736
|
+
flagValue: config.flag ?? void 0,
|
|
26629
26737
|
runtimeOverride,
|
|
26630
26738
|
overrideReason: telemetryOverrideReason
|
|
26631
26739
|
};
|
|
@@ -26633,7 +26741,6 @@ function getTelemetryStatus() {
|
|
|
26633
26741
|
function setTelemetryRuntimeOverride(enabled, reason) {
|
|
26634
26742
|
telemetryOverride = enabled;
|
|
26635
26743
|
telemetryOverrideReason = reason;
|
|
26636
|
-
telemetryEnabled = enabled === null ? initialTelemetryEnabled : enabled;
|
|
26637
26744
|
}
|
|
26638
26745
|
function normalizeTelemetryEventMetadata(event) {
|
|
26639
26746
|
if (!("metadata" in event) && !("sensitiveMetadata" in event)) {
|
|
@@ -26661,7 +26768,7 @@ function isCanonicalTurnTelemetryEvent(event) {
|
|
|
26661
26768
|
return event.type === "canonical-turn" && "model" in event && "tokens" in event;
|
|
26662
26769
|
}
|
|
26663
26770
|
async function writeToFile(payload) {
|
|
26664
|
-
const filePath =
|
|
26771
|
+
const filePath = getExporterRuntimeConfig().file || defaultTelemetryFile;
|
|
26665
26772
|
await mkdir2(dirname6(filePath), { recursive: true });
|
|
26666
26773
|
await appendFile2(filePath, `${payload}
|
|
26667
26774
|
`, "utf-8");
|
|
@@ -26672,7 +26779,7 @@ async function appendToolFailure(payload) {
|
|
|
26672
26779
|
`, "utf-8");
|
|
26673
26780
|
}
|
|
26674
26781
|
async function postToEndpoint(payload) {
|
|
26675
|
-
const endpoint =
|
|
26782
|
+
const endpoint = getExporterRuntimeConfig().endpoint;
|
|
26676
26783
|
if (!endpoint) {
|
|
26677
26784
|
return;
|
|
26678
26785
|
}
|
|
@@ -26980,17 +27087,18 @@ function maestroCorrelationSpanAttributes(event) {
|
|
|
26980
27087
|
return Object.fromEntries(Object.entries(attributes).filter((entry2) => typeof entry2[1] === "string" && entry2[1].trim().length > 0 && entry2[1] !== "unknown"));
|
|
26981
27088
|
}
|
|
26982
27089
|
async function persistTelemetry(event) {
|
|
27090
|
+
const config = getExporterRuntimeConfig();
|
|
26983
27091
|
const payload = JSON.stringify(event);
|
|
26984
27092
|
const tasks = [];
|
|
26985
27093
|
if (isCanonicalTurnTelemetryEvent(event)) {
|
|
26986
27094
|
tasks.push(mirrorCanonicalTurnEventToMeter(event).then(() => void 0));
|
|
26987
27095
|
}
|
|
26988
|
-
if (
|
|
27096
|
+
if (config.endpoint) {
|
|
26989
27097
|
tasks.push(postToEndpoint(payload));
|
|
26990
27098
|
}
|
|
26991
|
-
if (
|
|
27099
|
+
if (config.file) {
|
|
26992
27100
|
tasks.push(writeToFile(payload));
|
|
26993
|
-
} else if (
|
|
27101
|
+
} else if (config.endpoint === null && !hasRemoteMeterDestination(config.env)) {
|
|
26994
27102
|
tasks.push(writeToFile(payload));
|
|
26995
27103
|
}
|
|
26996
27104
|
await Promise.all(tasks);
|
|
@@ -27018,6 +27126,7 @@ async function recordTelemetry(event) {
|
|
|
27018
27126
|
if (isInternalTelemetryDisabled()) {
|
|
27019
27127
|
return;
|
|
27020
27128
|
}
|
|
27129
|
+
const config = getExporterRuntimeConfig();
|
|
27021
27130
|
const normalizedEvent = normalizeTelemetryEventMetadata(event);
|
|
27022
27131
|
const openTelemetryEnabled = isOpenTelemetryEnabled();
|
|
27023
27132
|
if (openTelemetryEnabled) {
|
|
@@ -27025,12 +27134,12 @@ async function recordTelemetry(event) {
|
|
|
27025
27134
|
recordOpenTelemetryMetric(normalizedEvent);
|
|
27026
27135
|
}
|
|
27027
27136
|
const eventBusTask = mirrorTelemetryToMaestroEventBus(normalizedEvent);
|
|
27028
|
-
const legacyEnabled =
|
|
27137
|
+
const legacyEnabled = (telemetryOverride === null ? config.initialEnabled : telemetryOverride) && config.sampleRate > 0;
|
|
27029
27138
|
if (!legacyEnabled) {
|
|
27030
27139
|
await eventBusTask;
|
|
27031
27140
|
return;
|
|
27032
27141
|
}
|
|
27033
|
-
if (
|
|
27142
|
+
if (config.sampleRate < 1 && Math.random() > config.sampleRate) {
|
|
27034
27143
|
await eventBusTask;
|
|
27035
27144
|
return;
|
|
27036
27145
|
}
|
|
@@ -27284,7 +27393,7 @@ function recordSandboxViolation(event, tool, action, reason, options) {
|
|
|
27284
27393
|
metadata: options?.metadata ? { ...options.metadata, sessionId: options.sessionId } : options?.sessionId ? { sessionId: options.sessionId } : void 0
|
|
27285
27394
|
});
|
|
27286
27395
|
}
|
|
27287
|
-
var
|
|
27396
|
+
var exporterRuntimeConfig, shouldEnableTelemetry, telemetryOverride, telemetryOverrideReason, A2A_PHASE_EVENT_TYPES, defaultTelemetryFile, toolFailureLogFile, BACKGROUND_TASK_HISTORY_LIMIT, backgroundTaskHistory;
|
|
27288
27397
|
var init_telemetry = __esm({
|
|
27289
27398
|
"dist/telemetry.js"() {
|
|
27290
27399
|
"use strict";
|
|
@@ -27300,20 +27409,8 @@ var init_telemetry = __esm({
|
|
|
27300
27409
|
init_wide_events();
|
|
27301
27410
|
init_secret_redactor();
|
|
27302
27411
|
init_metadata_normalization();
|
|
27303
|
-
|
|
27304
|
-
|
|
27305
|
-
telemetryEndpointEnv = exporterRuntimeEnv.exporterEndpoint;
|
|
27306
|
-
telemetryFlag = exporterRuntimeEnv.telemetryFlag;
|
|
27307
|
-
telemetrySampleRate = exporterRuntimeEnv.telemetrySampleRate;
|
|
27308
|
-
shouldEnableTelemetry = () => {
|
|
27309
|
-
if (exporterRuntimeEnv.telemetryEnabled === false)
|
|
27310
|
-
return false;
|
|
27311
|
-
if (exporterRuntimeEnv.telemetryEnabled === true)
|
|
27312
|
-
return true;
|
|
27313
|
-
return Boolean(telemetryEndpointEnv || telemetryFileEnv || hasRemoteMeterDestination());
|
|
27314
|
-
};
|
|
27315
|
-
initialTelemetryEnabled = shouldEnableTelemetry();
|
|
27316
|
-
telemetryEnabled = initialTelemetryEnabled;
|
|
27412
|
+
exporterRuntimeConfig = null;
|
|
27413
|
+
shouldEnableTelemetry = (config = getExporterRuntimeConfig()) => shouldEnableTelemetryForEnv(config.env, config.file, config.endpoint);
|
|
27317
27414
|
telemetryOverride = null;
|
|
27318
27415
|
A2A_PHASE_EVENT_TYPES = {
|
|
27319
27416
|
peer_selected: MaestroBusEventType.A2APeerSelected,
|
|
@@ -27325,7 +27422,6 @@ var init_telemetry = __esm({
|
|
|
27325
27422
|
push_received: MaestroBusEventType.A2APushReceived,
|
|
27326
27423
|
evidence_completed: MaestroBusEventType.A2AEvidenceCompleted
|
|
27327
27424
|
};
|
|
27328
|
-
samplingRate = telemetrySampleRate ?? 1;
|
|
27329
27425
|
defaultTelemetryFile = PATHS.TELEMETRY_LOG;
|
|
27330
27426
|
toolFailureLogFile = PATHS.TOOL_FAILURE_LOG;
|
|
27331
27427
|
BACKGROUND_TASK_HISTORY_LIMIT = 50;
|
|
@@ -29595,6 +29691,9 @@ ${errMsg}`);
|
|
|
29595
29691
|
return result;
|
|
29596
29692
|
}
|
|
29597
29693
|
|
|
29694
|
+
// dist/models/config-loader.js
|
|
29695
|
+
init_json();
|
|
29696
|
+
|
|
29598
29697
|
// dist/utils/jsonc-umd.js
|
|
29599
29698
|
import { parse as parseJsonc, printParseErrorCode } from "jsonc-parser";
|
|
29600
29699
|
|
|
@@ -30151,9 +30250,6 @@ var configSchema = Type3.Object({
|
|
|
30151
30250
|
var configValidator = compileTypeboxSchema(configSchema);
|
|
30152
30251
|
var TRUST_PROJECT_MODEL_CONFIG_ENV = "MAESTRO_TRUST_PROJECT_MODEL_CONFIG";
|
|
30153
30252
|
var TRUE_ENV_VALUES = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]);
|
|
30154
|
-
function isRecord4(value) {
|
|
30155
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30156
|
-
}
|
|
30157
30253
|
function isProjectModelConfigTrusted() {
|
|
30158
30254
|
const value = process.env[TRUST_PROJECT_MODEL_CONFIG_ENV];
|
|
30159
30255
|
return value !== void 0 && TRUE_ENV_VALUES.has(value.toLowerCase());
|
|
@@ -30422,7 +30518,7 @@ function loadUntrustedProjectConfigFile(path2) {
|
|
|
30422
30518
|
}
|
|
30423
30519
|
function sanitizeUntrustedProjectConfig(config, path2) {
|
|
30424
30520
|
const providers = [];
|
|
30425
|
-
if (!
|
|
30521
|
+
if (!isRecord(config)) {
|
|
30426
30522
|
logger19.warn("Ignoring invalid untrusted project model config", {
|
|
30427
30523
|
path: path2,
|
|
30428
30524
|
trustEnv: TRUST_PROJECT_MODEL_CONFIG_ENV
|
|
@@ -30917,7 +31013,7 @@ function parseStreamingJson(partialJson) {
|
|
|
30917
31013
|
}
|
|
30918
31014
|
|
|
30919
31015
|
// dist/agent/providers/tool-arguments.js
|
|
30920
|
-
function
|
|
31016
|
+
function isRecord2(value) {
|
|
30921
31017
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
30922
31018
|
}
|
|
30923
31019
|
function describeValueType(value) {
|
|
@@ -30947,7 +31043,7 @@ function createToolArgumentNormalizer(options) {
|
|
|
30947
31043
|
}
|
|
30948
31044
|
function parseFromString(raw, context, parseOptions) {
|
|
30949
31045
|
const parsed = parseStreamingJson(raw);
|
|
30950
|
-
if (
|
|
31046
|
+
if (isRecord2(parsed)) {
|
|
30951
31047
|
return parsed;
|
|
30952
31048
|
}
|
|
30953
31049
|
if (parseOptions?.logInvalid ?? true) {
|
|
@@ -30962,7 +31058,7 @@ function createToolArgumentNormalizer(options) {
|
|
|
30962
31058
|
logInvalid: normalizeOptions?.logInvalid
|
|
30963
31059
|
});
|
|
30964
31060
|
}
|
|
30965
|
-
if (
|
|
31061
|
+
if (isRecord2(raw)) {
|
|
30966
31062
|
if (normalizeOptions?.expectString) {
|
|
30967
31063
|
warnOnce("raw:object", `${options.providerLabel} tool call arguments were object, expected string`, buildWarningDetails(context));
|
|
30968
31064
|
}
|
|
@@ -30985,7 +31081,7 @@ function createToolArgumentNormalizer(options) {
|
|
|
30985
31081
|
partialJson: raw
|
|
30986
31082
|
};
|
|
30987
31083
|
}
|
|
30988
|
-
if (
|
|
31084
|
+
if (isRecord2(raw)) {
|
|
30989
31085
|
if (normalizeOptions?.expectString) {
|
|
30990
31086
|
warnOnce("raw:object", `${options.providerLabel} tool call arguments were object, expected string`, buildWarningDetails(context));
|
|
30991
31087
|
}
|