@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-governance-api.js","sourceRoot":"","sources":["../../src/app-server/network-governance-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { request as requestHttp } from \"node:http\";\nimport { request as requestHttps } from \"node:https\";\nimport { Readable } from \"node:stream\";\nimport type {\n\tMaestroAppServerNetworkAuditListResult,\n\tMaestroAppServerNetworkAuditRecord,\n\tMaestroAppServerNetworkFetchResult,\n\tMaestroAppServerNetworkGovernanceStatus,\n} from \"@evalops/contracts\";\nimport { type EnterprisePolicy, loadPolicy } from \"../safety/policy.js\";\nimport { checkNetworkRestrictionsDetailed } from \"../safety/validators/network-policy-validator.js\";\n\ntype UnknownRecord = Record<string, unknown>;\ninterface NetworkFetchBinding {\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}\ntype FetchLike = (\n\tinput: string,\n\tinit?: RequestInit,\n\tbinding?: NetworkFetchBinding,\n) => Promise<Response>;\n\nconst DEFAULT_MAX_RESPONSE_BYTES = 1024 * 1024;\nconst DEFAULT_MAX_AUDIT_RECORDS = 100;\nconst DEFAULT_PINNED_ADDRESS_TIMEOUT_MS = 30_000;\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\nconst IDEMPOTENT_HTTP_METHODS = new Set([\n\t\"GET\",\n\t\"HEAD\",\n\t\"OPTIONS\",\n\t\"TRACE\",\n\t\"PUT\",\n\t\"DELETE\",\n]);\n\nexport class MaestroAppServerNetworkGovernanceError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerNetworkGovernanceError\";\n\t}\n}\n\nexport interface MaestroAppServerNetworkGovernanceOptions {\n\tfetchImpl?: FetchLike;\n\tmaxResponseBytes?: number;\n\tmaxAuditRecords?: number;\n\tpinnedAddressTimeoutMs?: number;\n}\n\nexport interface MaestroAppServerNetworkGovernance {\n\tfetch(params?: UnknownRecord): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistAudit(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction normalizeLimit(value: unknown): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn DEFAULT_PAGE_LIMIT;\n\t}\n\treturn Math.min(MAX_PAGE_LIMIT, Math.max(1, Math.trunc(value)));\n}\n\nfunction normalizePositiveInteger(value: unknown, fallback: number): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn fallback;\n\t}\n\treturn Math.max(1, Math.trunc(value));\n}\n\nfunction readOptionalString(value: unknown, field: string): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t`Invalid ${field}`,\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction requireUrl(params: UnknownRecord): URL {\n\tconst rawUrl = readOptionalString(params.url, \"url\");\n\tif (!rawUrl) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Missing url\");\n\t}\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(rawUrl);\n\t} catch {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid url\");\n\t}\n\tif (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Only http and https URLs are supported\",\n\t\t);\n\t}\n\treturn parsed;\n}\n\nfunction normalizeMethod(value: unknown): string {\n\tconst method = readOptionalString(value, \"method\") ?? \"GET\";\n\tconst normalized = method.trim().toUpperCase();\n\tif (!/^[A-Z]+$/.test(normalized)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid method\");\n\t}\n\treturn normalized;\n}\n\nfunction isIdempotentMethod(method: string | undefined): boolean {\n\treturn IDEMPOTENT_HTTP_METHODS.has((method ?? \"GET\").trim().toUpperCase());\n}\n\nfunction normalizeHeaders(value: unknown): Record<string, string> | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid headers\");\n\t}\n\tconst headers: Record<string, string> = {};\n\tfor (const [key, headerValue] of Object.entries(value)) {\n\t\tif (typeof headerValue !== \"string\") {\n\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t-32602,\n\t\t\t\t\"Invalid headers\",\n\t\t\t);\n\t\t}\n\t\theaders[key] = headerValue;\n\t}\n\treturn headers;\n}\n\nfunction normalizeBody(value: unknown): Uint8Array | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Invalid bodyBase64\",\n\t\t);\n\t}\n\tif (\n\t\t!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be valid base64\",\n\t\t);\n\t}\n\tconst decoded = Buffer.from(value, \"base64\");\n\tif (decoded.toString(\"base64\") !== value) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be canonical base64\",\n\t\t);\n\t}\n\treturn decoded;\n}\n\nfunction responseHeadersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\tconst normalizedKey = key.toLowerCase();\n\t\tconst existing = record[normalizedKey];\n\t\trecord[normalizedKey] =\n\t\t\texisting === undefined ? value : `${existing}\\n${value}`;\n\t}\n\treturn record;\n}\n\nfunction nowIso(): string {\n\treturn new Date().toISOString();\n}\n\nfunction redactAuditUrl(url: URL): string {\n\tconst redacted = new URL(url.toString());\n\tredacted.username = \"\";\n\tredacted.password = \"\";\n\treturn redacted.toString();\n}\n\nfunction urlWithoutCredentials(url: URL): URL {\n\tconst credentialless = new URL(url.toString());\n\tcredentialless.username = \"\";\n\tcredentialless.password = \"\";\n\treturn credentialless;\n}\n\nfunction decodeUrlCredential(value: string): string {\n\ttry {\n\t\treturn decodeURIComponent(value);\n\t} catch {\n\t\treturn value;\n\t}\n}\n\nfunction applyUrlCredentials(url: URL, headers: Headers): void {\n\tif ((!url.username && !url.password) || headers.has(\"authorization\")) {\n\t\treturn;\n\t}\n\tconst credentials = `${decodeUrlCredential(url.username)}:${decodeUrlCredential(\n\t\turl.password,\n\t)}`;\n\theaders.set(\n\t\t\"authorization\",\n\t\t`Basic ${Buffer.from(credentials, \"utf8\").toString(\"base64\")}`,\n\t);\n}\n\nfunction createAuditRecord(input: {\n\tmethod: string;\n\turl: URL;\n\tallowed: boolean;\n\tstatus: MaestroAppServerNetworkGovernanceStatus;\n\tstartedAt: string;\n\treason?: string;\n\tstatusCode?: number;\n}): MaestroAppServerNetworkAuditRecord {\n\treturn {\n\t\tid: randomUUID(),\n\t\tmethod: input.method,\n\t\turl: redactAuditUrl(input.url),\n\t\thost: input.url.hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\"),\n\t\tallowed: input.allowed,\n\t\tstatus: input.status,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.statusCode !== undefined ? { statusCode: input.statusCode } : {}),\n\t\tstartedAt: input.startedAt,\n\t\tcompletedAt: nowIso(),\n\t};\n}\n\nfunction cloneAuditRecord(\n\trecord: MaestroAppServerNetworkAuditRecord,\n): MaestroAppServerNetworkAuditRecord {\n\treturn { ...record };\n}\n\nfunction headersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\trecord[key] = value;\n\t}\n\treturn record;\n}\n\nfunction responseHeadersFromNode(\n\theaders: Record<string, string | string[] | undefined>,\n): Headers {\n\tconst responseHeaders = new Headers();\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tresponseHeaders.append(key, entry);\n\t\t\t}\n\t\t} else if (value !== undefined) {\n\t\t\tresponseHeaders.set(key, value);\n\t\t}\n\t}\n\treturn responseHeaders;\n}\n\nexport async function fetchWithPinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: NetworkFetchBinding = {},\n\tpinnedAddressTimeoutMs = DEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n): Promise<Response> {\n\tconst resolvedAddresses =\n\t\tbinding.resolvedAddresses && binding.resolvedAddresses.length > 0\n\t\t\t? binding.resolvedAddresses\n\t\t\t: binding.resolvedAddress\n\t\t\t\t? [binding.resolvedAddress]\n\t\t\t\t: [];\n\tif (resolvedAddresses.length === 0) {\n\t\tconst url = new URL(input);\n\t\tif (!url.username && !url.password) {\n\t\t\treturn globalThis.fetch(input, init);\n\t\t}\n\t\tconst requestHeaders = new Headers(init?.headers);\n\t\tapplyUrlCredentials(url, requestHeaders);\n\t\treturn globalThis.fetch(urlWithoutCredentials(url).toString(), {\n\t\t\t...init,\n\t\t\theaders: requestHeaders,\n\t\t});\n\t}\n\tconst addressesToTry = isIdempotentMethod(init?.method)\n\t\t? resolvedAddresses\n\t\t: resolvedAddresses.slice(0, 1);\n\tlet lastError: unknown;\n\tfor (const resolvedAddress of addressesToTry) {\n\t\ttry {\n\t\t\treturn await fetchWithSinglePinnedAddress(\n\t\t\t\tinput,\n\t\t\t\tinit,\n\t\t\t\t{\n\t\t\t\t\t...binding,\n\t\t\t\t\tresolvedAddress,\n\t\t\t\t},\n\t\t\t\tpinnedAddressTimeoutMs,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlastError = error;\n\t\t}\n\t}\n\tthrow lastError instanceof Error\n\t\t? lastError\n\t\t: new Error(\"Network request failed\");\n}\n\nasync function fetchWithSinglePinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: Required<Pick<NetworkFetchBinding, \"resolvedAddress\">> &\n\t\tNetworkFetchBinding,\n\tpinnedAddressTimeoutMs: number,\n): Promise<Response> {\n\tconst url = new URL(input);\n\tconst requestHeaders = new Headers(init?.headers);\n\tapplyUrlCredentials(url, requestHeaders);\n\trequestHeaders.set(\"host\", url.host);\n\tconst transport = url.protocol === \"https:\" ? requestHttps : requestHttp;\n\tconst method = init?.method ?? \"GET\";\n\n\treturn new Promise<Response>((resolve, reject) => {\n\t\tlet settled = false;\n\t\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\t\tlet abortListener: (() => void) | undefined;\n\t\tconst signal = init?.signal;\n\t\tconst timeoutMessage = `Pinned network request to ${binding.resolvedAddress} timed out after ${pinnedAddressTimeoutMs}ms`;\n\t\tconst cleanup = () => {\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\ttimeout = undefined;\n\t\t\t}\n\t\t\tif (signal && abortListener) {\n\t\t\t\tsignal.removeEventListener(\"abort\", abortListener);\n\t\t\t\tabortListener = undefined;\n\t\t\t}\n\t\t};\n\t\tconst finishResolve = (response: Response) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\tresolve(response);\n\t\t};\n\t\tconst finishReject = (error: Error) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\treject(error);\n\t\t};\n\t\tconst request = transport(\n\t\t\t{\n\t\t\t\thostname: binding.resolvedAddress,\n\t\t\t\tmethod,\n\t\t\t\tpath: `${url.pathname}${url.search}`,\n\t\t\t\tport: url.port ? Number(url.port) : undefined,\n\t\t\t\theaders: headersToRecord(requestHeaders),\n\t\t\t\t...(url.protocol === \"https:\"\n\t\t\t\t\t? { servername: binding.originalHost ?? url.hostname }\n\t\t\t\t\t: {}),\n\t\t\t},\n\t\t\t(response) => {\n\t\t\t\tfinishResolve(\n\t\t\t\t\tnew Response(Readable.toWeb(response) as ReadableStream<Uint8Array>, {\n\t\t\t\t\t\tstatus: response.statusCode ?? 500,\n\t\t\t\t\t\tstatusText: response.statusMessage,\n\t\t\t\t\t\theaders: responseHeadersFromNode(response.headers),\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\trequest.on(\"error\", finishReject);\n\t\trequest.setTimeout(pinnedAddressTimeoutMs, () => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t});\n\t\ttimeout = setTimeout(() => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t}, pinnedAddressTimeoutMs);\n\t\ttimeout.unref?.();\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tabortListener = () => {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t};\n\t\t\tsignal.addEventListener(\"abort\", abortListener, { once: true });\n\t\t}\n\t\tconst body = init?.body;\n\t\tif (body !== undefined && body !== null) {\n\t\t\tif (\n\t\t\t\ttypeof body === \"string\" ||\n\t\t\t\tbody instanceof Uint8Array ||\n\t\t\t\tbody instanceof ArrayBuffer\n\t\t\t) {\n\t\t\t\trequest.write(body instanceof ArrayBuffer ? Buffer.from(body) : body);\n\t\t\t} else {\n\t\t\t\tconst error = new Error(\"Unsupported request body\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\trequest.end();\n\t});\n}\n\nasync function readResponseBytes(\n\tresponse: Response,\n\tmaxResponseBytes: number,\n): Promise<Buffer> {\n\tif (!response.body) {\n\t\treturn Buffer.from(await response.arrayBuffer());\n\t}\n\n\tconst reader = response.body.getReader();\n\tconst chunks: Buffer[] = [];\n\tlet totalBytes = 0;\n\ttry {\n\t\tfor (;;) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!value) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttotalBytes += value.byteLength;\n\t\t\tif (totalBytes > maxResponseBytes) {\n\t\t\t\tawait reader.cancel().catch(() => undefined);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Response body exceeds ${maxResponseBytes} byte network proxy limit`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tchunks.push(Buffer.from(value));\n\t\t}\n\t} finally {\n\t\treader.releaseLock();\n\t}\n\treturn Buffer.concat(chunks, totalBytes);\n}\n\nasync function evaluateNetworkPolicy(url: URL): Promise<{\n\tallowed: boolean;\n\treason?: string;\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}> {\n\tlet policy: EnterprisePolicy | null;\n\ttry {\n\t\tpolicy = loadPolicy();\n\t} catch (error) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: `Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t};\n\t}\n\tif (!policy?.network) {\n\t\treturn { allowed: true };\n\t}\n\tconst check = await checkNetworkRestrictionsDetailed(\n\t\turl.toString(),\n\t\tpolicy.network,\n\t);\n\treturn {\n\t\tallowed: check.allowed,\n\t\t...(check.reason ? { reason: check.reason } : {}),\n\t\t...(check.normalizedHost ? { originalHost: check.normalizedHost } : {}),\n\t\t...(check.resolvedIPs[0] ? { resolvedAddress: check.resolvedIPs[0] } : {}),\n\t\t...(check.resolvedIPs.length > 0\n\t\t\t? { resolvedAddresses: [...check.resolvedIPs] }\n\t\t\t: {}),\n\t};\n}\n\nexport function createMaestroAppServerNetworkGovernance(\n\toptions: MaestroAppServerNetworkGovernanceOptions = {},\n): MaestroAppServerNetworkGovernance {\n\tconst pinnedAddressTimeoutMs = normalizePositiveInteger(\n\t\toptions.pinnedAddressTimeoutMs,\n\t\tDEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n\t);\n\tconst fetchImpl =\n\t\toptions.fetchImpl ??\n\t\t((input, init, binding) =>\n\t\t\tfetchWithPinnedAddress(input, init, binding, pinnedAddressTimeoutMs));\n\tconst maxResponseBytes = normalizePositiveInteger(\n\t\toptions.maxResponseBytes,\n\t\tDEFAULT_MAX_RESPONSE_BYTES,\n\t);\n\tconst maxAuditRecords = normalizePositiveInteger(\n\t\toptions.maxAuditRecords,\n\t\tDEFAULT_MAX_AUDIT_RECORDS,\n\t);\n\tconst audit: MaestroAppServerNetworkAuditRecord[] = [];\n\n\tfunction recordAudit(record: MaestroAppServerNetworkAuditRecord): void {\n\t\taudit.push(record);\n\t\tif (audit.length > maxAuditRecords) {\n\t\t\taudit.splice(0, audit.length - maxAuditRecords);\n\t\t}\n\t}\n\n\treturn {\n\t\tasync fetch(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst url = requireUrl(params);\n\t\t\tconst method = normalizeMethod(params.method);\n\t\t\tconst headers = normalizeHeaders(params.headers);\n\t\t\tconst body = normalizeBody(params.bodyBase64);\n\t\t\tconst startedAt = nowIso();\n\n\t\t\tconst policyCheck = await evaluateNetworkPolicy(url);\n\t\t\tif (!policyCheck.allowed) {\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\treason: policyCheck.reason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\t...(policyCheck.reason ? { reason: policyCheck.reason } : {}),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst response = await fetchImpl(\n\t\t\t\t\turl.toString(),\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tredirect: \"manual\",\n\t\t\t\t\t\t...(headers ? { headers } : {}),\n\t\t\t\t\t\t...(body ? { body } : {}),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toriginalHost: policyCheck.originalHost,\n\t\t\t\t\t\tresolvedAddress: policyCheck.resolvedAddress,\n\t\t\t\t\t\tresolvedAddresses: policyCheck.resolvedAddresses,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst bytes = await readResponseBytes(response, maxResponseBytes);\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\theaders: responseHeadersToRecord(response.headers),\n\t\t\t\t\tbodyBase64: bytes.toString(\"base64\"),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tconst reason =\n\t\t\t\t\terror instanceof Error ? error.message : \"Network request failed\";\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\n\t\tasync listAudit(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\treturn {\n\t\t\t\taudit: audit.slice(-limit).map(cloneAuditRecord),\n\t\t\t\tnextCursor: null,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"network-governance-api.js","sourceRoot":"","sources":["../../src/app-server/network-governance-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { request as requestHttp } from \"node:http\";\nimport { request as requestHttps } from \"node:https\";\nimport { Readable } from \"node:stream\";\nimport type {\n\tMaestroAppServerNetworkAuditListResult,\n\tMaestroAppServerNetworkAuditRecord,\n\tMaestroAppServerNetworkFetchResult,\n\tMaestroAppServerNetworkGovernanceStatus,\n} from \"@evalops/contracts\";\nimport { type EnterprisePolicy, loadPolicy } from \"../safety/policy.js\";\nimport { checkNetworkRestrictionsDetailed } from \"../safety/validators/network-policy-validator.js\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\ninterface NetworkFetchBinding {\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}\ntype FetchLike = (\n\tinput: string,\n\tinit?: RequestInit,\n\tbinding?: NetworkFetchBinding,\n) => Promise<Response>;\n\nconst DEFAULT_MAX_RESPONSE_BYTES = 1024 * 1024;\nconst DEFAULT_MAX_AUDIT_RECORDS = 100;\nconst DEFAULT_PINNED_ADDRESS_TIMEOUT_MS = 30_000;\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\nconst IDEMPOTENT_HTTP_METHODS = new Set([\n\t\"GET\",\n\t\"HEAD\",\n\t\"OPTIONS\",\n\t\"TRACE\",\n\t\"PUT\",\n\t\"DELETE\",\n]);\n\nexport class MaestroAppServerNetworkGovernanceError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerNetworkGovernanceError\";\n\t}\n}\n\nexport interface MaestroAppServerNetworkGovernanceOptions {\n\tfetchImpl?: FetchLike;\n\tmaxResponseBytes?: number;\n\tmaxAuditRecords?: number;\n\tpinnedAddressTimeoutMs?: number;\n}\n\nexport interface MaestroAppServerNetworkGovernance {\n\tfetch(params?: UnknownRecord): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistAudit(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n}\n\nfunction normalizeLimit(value: unknown): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn DEFAULT_PAGE_LIMIT;\n\t}\n\treturn Math.min(MAX_PAGE_LIMIT, Math.max(1, Math.trunc(value)));\n}\n\nfunction normalizePositiveInteger(value: unknown, fallback: number): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn fallback;\n\t}\n\treturn Math.max(1, Math.trunc(value));\n}\n\nfunction readOptionalString(value: unknown, field: string): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t`Invalid ${field}`,\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction requireUrl(params: UnknownRecord): URL {\n\tconst rawUrl = readOptionalString(params.url, \"url\");\n\tif (!rawUrl) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Missing url\");\n\t}\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(rawUrl);\n\t} catch {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid url\");\n\t}\n\tif (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Only http and https URLs are supported\",\n\t\t);\n\t}\n\treturn parsed;\n}\n\nfunction normalizeMethod(value: unknown): string {\n\tconst method = readOptionalString(value, \"method\") ?? \"GET\";\n\tconst normalized = method.trim().toUpperCase();\n\tif (!/^[A-Z]+$/.test(normalized)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid method\");\n\t}\n\treturn normalized;\n}\n\nfunction isIdempotentMethod(method: string | undefined): boolean {\n\treturn IDEMPOTENT_HTTP_METHODS.has((method ?? \"GET\").trim().toUpperCase());\n}\n\nfunction normalizeHeaders(value: unknown): Record<string, string> | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid headers\");\n\t}\n\tconst headers: Record<string, string> = {};\n\tfor (const [key, headerValue] of Object.entries(value)) {\n\t\tif (typeof headerValue !== \"string\") {\n\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t-32602,\n\t\t\t\t\"Invalid headers\",\n\t\t\t);\n\t\t}\n\t\theaders[key] = headerValue;\n\t}\n\treturn headers;\n}\n\nfunction normalizeBody(value: unknown): Uint8Array | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Invalid bodyBase64\",\n\t\t);\n\t}\n\tif (\n\t\t!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be valid base64\",\n\t\t);\n\t}\n\tconst decoded = Buffer.from(value, \"base64\");\n\tif (decoded.toString(\"base64\") !== value) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be canonical base64\",\n\t\t);\n\t}\n\treturn decoded;\n}\n\nfunction responseHeadersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\tconst normalizedKey = key.toLowerCase();\n\t\tconst existing = record[normalizedKey];\n\t\trecord[normalizedKey] =\n\t\t\texisting === undefined ? value : `${existing}\\n${value}`;\n\t}\n\treturn record;\n}\n\nfunction nowIso(): string {\n\treturn new Date().toISOString();\n}\n\nfunction redactAuditUrl(url: URL): string {\n\tconst redacted = new URL(url.toString());\n\tredacted.username = \"\";\n\tredacted.password = \"\";\n\treturn redacted.toString();\n}\n\nfunction urlWithoutCredentials(url: URL): URL {\n\tconst credentialless = new URL(url.toString());\n\tcredentialless.username = \"\";\n\tcredentialless.password = \"\";\n\treturn credentialless;\n}\n\nfunction decodeUrlCredential(value: string): string {\n\ttry {\n\t\treturn decodeURIComponent(value);\n\t} catch {\n\t\treturn value;\n\t}\n}\n\nfunction applyUrlCredentials(url: URL, headers: Headers): void {\n\tif ((!url.username && !url.password) || headers.has(\"authorization\")) {\n\t\treturn;\n\t}\n\tconst credentials = `${decodeUrlCredential(url.username)}:${decodeUrlCredential(\n\t\turl.password,\n\t)}`;\n\theaders.set(\n\t\t\"authorization\",\n\t\t`Basic ${Buffer.from(credentials, \"utf8\").toString(\"base64\")}`,\n\t);\n}\n\nfunction createAuditRecord(input: {\n\tmethod: string;\n\turl: URL;\n\tallowed: boolean;\n\tstatus: MaestroAppServerNetworkGovernanceStatus;\n\tstartedAt: string;\n\treason?: string;\n\tstatusCode?: number;\n}): MaestroAppServerNetworkAuditRecord {\n\treturn {\n\t\tid: randomUUID(),\n\t\tmethod: input.method,\n\t\turl: redactAuditUrl(input.url),\n\t\thost: input.url.hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\"),\n\t\tallowed: input.allowed,\n\t\tstatus: input.status,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.statusCode !== undefined ? { statusCode: input.statusCode } : {}),\n\t\tstartedAt: input.startedAt,\n\t\tcompletedAt: nowIso(),\n\t};\n}\n\nfunction cloneAuditRecord(\n\trecord: MaestroAppServerNetworkAuditRecord,\n): MaestroAppServerNetworkAuditRecord {\n\treturn { ...record };\n}\n\nfunction headersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\trecord[key] = value;\n\t}\n\treturn record;\n}\n\nfunction responseHeadersFromNode(\n\theaders: Record<string, string | string[] | undefined>,\n): Headers {\n\tconst responseHeaders = new Headers();\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tresponseHeaders.append(key, entry);\n\t\t\t}\n\t\t} else if (value !== undefined) {\n\t\t\tresponseHeaders.set(key, value);\n\t\t}\n\t}\n\treturn responseHeaders;\n}\n\nexport async function fetchWithPinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: NetworkFetchBinding = {},\n\tpinnedAddressTimeoutMs = DEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n): Promise<Response> {\n\tconst resolvedAddresses =\n\t\tbinding.resolvedAddresses && binding.resolvedAddresses.length > 0\n\t\t\t? binding.resolvedAddresses\n\t\t\t: binding.resolvedAddress\n\t\t\t\t? [binding.resolvedAddress]\n\t\t\t\t: [];\n\tif (resolvedAddresses.length === 0) {\n\t\tconst url = new URL(input);\n\t\tif (!url.username && !url.password) {\n\t\t\treturn globalThis.fetch(input, init);\n\t\t}\n\t\tconst requestHeaders = new Headers(init?.headers);\n\t\tapplyUrlCredentials(url, requestHeaders);\n\t\treturn globalThis.fetch(urlWithoutCredentials(url).toString(), {\n\t\t\t...init,\n\t\t\theaders: requestHeaders,\n\t\t});\n\t}\n\tconst addressesToTry = isIdempotentMethod(init?.method)\n\t\t? resolvedAddresses\n\t\t: resolvedAddresses.slice(0, 1);\n\tlet lastError: unknown;\n\tfor (const resolvedAddress of addressesToTry) {\n\t\ttry {\n\t\t\treturn await fetchWithSinglePinnedAddress(\n\t\t\t\tinput,\n\t\t\t\tinit,\n\t\t\t\t{\n\t\t\t\t\t...binding,\n\t\t\t\t\tresolvedAddress,\n\t\t\t\t},\n\t\t\t\tpinnedAddressTimeoutMs,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlastError = error;\n\t\t}\n\t}\n\tthrow lastError instanceof Error\n\t\t? lastError\n\t\t: new Error(\"Network request failed\");\n}\n\nasync function fetchWithSinglePinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: Required<Pick<NetworkFetchBinding, \"resolvedAddress\">> &\n\t\tNetworkFetchBinding,\n\tpinnedAddressTimeoutMs: number,\n): Promise<Response> {\n\tconst url = new URL(input);\n\tconst requestHeaders = new Headers(init?.headers);\n\tapplyUrlCredentials(url, requestHeaders);\n\trequestHeaders.set(\"host\", url.host);\n\tconst transport = url.protocol === \"https:\" ? requestHttps : requestHttp;\n\tconst method = init?.method ?? \"GET\";\n\n\treturn new Promise<Response>((resolve, reject) => {\n\t\tlet settled = false;\n\t\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\t\tlet abortListener: (() => void) | undefined;\n\t\tconst signal = init?.signal;\n\t\tconst timeoutMessage = `Pinned network request to ${binding.resolvedAddress} timed out after ${pinnedAddressTimeoutMs}ms`;\n\t\tconst cleanup = () => {\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\ttimeout = undefined;\n\t\t\t}\n\t\t\tif (signal && abortListener) {\n\t\t\t\tsignal.removeEventListener(\"abort\", abortListener);\n\t\t\t\tabortListener = undefined;\n\t\t\t}\n\t\t};\n\t\tconst finishResolve = (response: Response) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\tresolve(response);\n\t\t};\n\t\tconst finishReject = (error: Error) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\treject(error);\n\t\t};\n\t\tconst request = transport(\n\t\t\t{\n\t\t\t\thostname: binding.resolvedAddress,\n\t\t\t\tmethod,\n\t\t\t\tpath: `${url.pathname}${url.search}`,\n\t\t\t\tport: url.port ? Number(url.port) : undefined,\n\t\t\t\theaders: headersToRecord(requestHeaders),\n\t\t\t\t...(url.protocol === \"https:\"\n\t\t\t\t\t? { servername: binding.originalHost ?? url.hostname }\n\t\t\t\t\t: {}),\n\t\t\t},\n\t\t\t(response) => {\n\t\t\t\tfinishResolve(\n\t\t\t\t\tnew Response(Readable.toWeb(response) as ReadableStream<Uint8Array>, {\n\t\t\t\t\t\tstatus: response.statusCode ?? 500,\n\t\t\t\t\t\tstatusText: response.statusMessage,\n\t\t\t\t\t\theaders: responseHeadersFromNode(response.headers),\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\trequest.on(\"error\", finishReject);\n\t\trequest.setTimeout(pinnedAddressTimeoutMs, () => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t});\n\t\ttimeout = setTimeout(() => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t}, pinnedAddressTimeoutMs);\n\t\ttimeout.unref?.();\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tabortListener = () => {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t};\n\t\t\tsignal.addEventListener(\"abort\", abortListener, { once: true });\n\t\t}\n\t\tconst body = init?.body;\n\t\tif (body !== undefined && body !== null) {\n\t\t\tif (\n\t\t\t\ttypeof body === \"string\" ||\n\t\t\t\tbody instanceof Uint8Array ||\n\t\t\t\tbody instanceof ArrayBuffer\n\t\t\t) {\n\t\t\t\trequest.write(body instanceof ArrayBuffer ? Buffer.from(body) : body);\n\t\t\t} else {\n\t\t\t\tconst error = new Error(\"Unsupported request body\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\trequest.end();\n\t});\n}\n\nasync function readResponseBytes(\n\tresponse: Response,\n\tmaxResponseBytes: number,\n): Promise<Buffer> {\n\tif (!response.body) {\n\t\treturn Buffer.from(await response.arrayBuffer());\n\t}\n\n\tconst reader = response.body.getReader();\n\tconst chunks: Buffer[] = [];\n\tlet totalBytes = 0;\n\ttry {\n\t\tfor (;;) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!value) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttotalBytes += value.byteLength;\n\t\t\tif (totalBytes > maxResponseBytes) {\n\t\t\t\tawait reader.cancel().catch(() => undefined);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Response body exceeds ${maxResponseBytes} byte network proxy limit`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tchunks.push(Buffer.from(value));\n\t\t}\n\t} finally {\n\t\treader.releaseLock();\n\t}\n\treturn Buffer.concat(chunks, totalBytes);\n}\n\nasync function evaluateNetworkPolicy(url: URL): Promise<{\n\tallowed: boolean;\n\treason?: string;\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}> {\n\tlet policy: EnterprisePolicy | null;\n\ttry {\n\t\tpolicy = loadPolicy();\n\t} catch (error) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: `Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t};\n\t}\n\tif (!policy?.network) {\n\t\treturn { allowed: true };\n\t}\n\tconst check = await checkNetworkRestrictionsDetailed(\n\t\turl.toString(),\n\t\tpolicy.network,\n\t);\n\treturn {\n\t\tallowed: check.allowed,\n\t\t...(check.reason ? { reason: check.reason } : {}),\n\t\t...(check.normalizedHost ? { originalHost: check.normalizedHost } : {}),\n\t\t...(check.resolvedIPs[0] ? { resolvedAddress: check.resolvedIPs[0] } : {}),\n\t\t...(check.resolvedIPs.length > 0\n\t\t\t? { resolvedAddresses: [...check.resolvedIPs] }\n\t\t\t: {}),\n\t};\n}\n\nexport function createMaestroAppServerNetworkGovernance(\n\toptions: MaestroAppServerNetworkGovernanceOptions = {},\n): MaestroAppServerNetworkGovernance {\n\tconst pinnedAddressTimeoutMs = normalizePositiveInteger(\n\t\toptions.pinnedAddressTimeoutMs,\n\t\tDEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n\t);\n\tconst fetchImpl =\n\t\toptions.fetchImpl ??\n\t\t((input, init, binding) =>\n\t\t\tfetchWithPinnedAddress(input, init, binding, pinnedAddressTimeoutMs));\n\tconst maxResponseBytes = normalizePositiveInteger(\n\t\toptions.maxResponseBytes,\n\t\tDEFAULT_MAX_RESPONSE_BYTES,\n\t);\n\tconst maxAuditRecords = normalizePositiveInteger(\n\t\toptions.maxAuditRecords,\n\t\tDEFAULT_MAX_AUDIT_RECORDS,\n\t);\n\tconst audit: MaestroAppServerNetworkAuditRecord[] = [];\n\n\tfunction recordAudit(record: MaestroAppServerNetworkAuditRecord): void {\n\t\taudit.push(record);\n\t\tif (audit.length > maxAuditRecords) {\n\t\t\taudit.splice(0, audit.length - maxAuditRecords);\n\t\t}\n\t}\n\n\treturn {\n\t\tasync fetch(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst url = requireUrl(params);\n\t\t\tconst method = normalizeMethod(params.method);\n\t\t\tconst headers = normalizeHeaders(params.headers);\n\t\t\tconst body = normalizeBody(params.bodyBase64);\n\t\t\tconst startedAt = nowIso();\n\n\t\t\tconst policyCheck = await evaluateNetworkPolicy(url);\n\t\t\tif (!policyCheck.allowed) {\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\treason: policyCheck.reason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\t...(policyCheck.reason ? { reason: policyCheck.reason } : {}),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst response = await fetchImpl(\n\t\t\t\t\turl.toString(),\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tredirect: \"manual\",\n\t\t\t\t\t\t...(headers ? { headers } : {}),\n\t\t\t\t\t\t...(body ? { body } : {}),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toriginalHost: policyCheck.originalHost,\n\t\t\t\t\t\tresolvedAddress: policyCheck.resolvedAddress,\n\t\t\t\t\t\tresolvedAddresses: policyCheck.resolvedAddresses,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst bytes = await readResponseBytes(response, maxResponseBytes);\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\theaders: responseHeadersToRecord(response.headers),\n\t\t\t\t\tbodyBase64: bytes.toString(\"base64\"),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tconst reason =\n\t\t\t\t\terror instanceof Error ? error.message : \"Network request failed\";\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\n\t\tasync listAudit(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\treturn {\n\t\t\t\taudit: audit.slice(-limit).map(cloneAuditRecord),\n\t\t\t\tnextCursor: null,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-bundle-api.d.ts","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sCAAsC,EACtC,0CAA0C,EAE1C,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-bundle-api.d.ts","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sCAAsC,EACtC,0CAA0C,EAE1C,MAAM,oBAAoB,CAAC;AAiB5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,qBAAa,iCAAkC,SAAQ,KAAK;IAE1D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,+BAA+B;IAC/C,WAAW,CACV,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,aAAa,CACZ,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,YAAY,CACX,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,0CAA0C,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,sCAAsC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AA+KD,wBAAgB,qCAAqC,CACpD,OAAO,GAAE,sCAA2C,GAClD,+BAA+B,CAwGjC"}
|
|
@@ -3,6 +3,7 @@ import { addConfiguredPackageSpecToConfig, getWritablePackageConfigPath, loadCon
|
|
|
3
3
|
import { parsePackageSpec } from "../packages/loader.js";
|
|
4
4
|
import { loadConfiguredPackageResources } from "../packages/runtime.js";
|
|
5
5
|
import { formatPackageSource, parsePackageSource, } from "../packages/sources.js";
|
|
6
|
+
import { isRecord } from "../utils/json.js";
|
|
6
7
|
export class MaestroAppServerPluginBundleError extends Error {
|
|
7
8
|
constructor(code, message) {
|
|
8
9
|
super(message);
|
|
@@ -10,9 +11,6 @@ export class MaestroAppServerPluginBundleError extends Error {
|
|
|
10
11
|
this.name = "MaestroAppServerPluginBundleError";
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
|
-
function isRecord(value) {
|
|
14
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15
|
-
}
|
|
16
14
|
function stringValue(value) {
|
|
17
15
|
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
18
16
|
}
|
|
@@ -133,6 +131,7 @@ export function createMaestroAppServerPluginBundleApi(options = {}) {
|
|
|
133
131
|
configPath: entry.configPath,
|
|
134
132
|
})),
|
|
135
133
|
resources: {
|
|
134
|
+
agents: resources.agents,
|
|
136
135
|
extensions: resources.extensions,
|
|
137
136
|
skills: resources.skills,
|
|
138
137
|
prompts: resources.prompts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-bundle-api.js","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { dirname, resolve } from \"node:path\";\nimport type {\n\tMaestroAppServerPluginBundleListResult,\n\tMaestroAppServerPluginBundleMutationResult,\n\tMaestroAppServerPluginBundleScope,\n} from \"@evalops/contracts\";\nimport {\n\ttype WritablePackageScope,\n\taddConfiguredPackageSpecToConfig,\n\tgetWritablePackageConfigPath,\n\tloadConfiguredPackageSpecs,\n\tremoveConfiguredPackageSpecFromConfig,\n} from \"../config/toml-config.js\";\nimport { parsePackageSpec } from \"../packages/loader.js\";\nimport { loadConfiguredPackageResources } from \"../packages/runtime.js\";\nimport {\n\tformatPackageSource,\n\tparsePackageSource,\n} from \"../packages/sources.js\";\nimport type { PackageSpec } from \"../packages/types.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPluginBundleError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPluginBundleError\";\n\t}\n}\n\nexport interface MaestroAppServerPluginBundleApi {\n\tlistBundles(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremoveBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n}\n\nexport interface MaestroAppServerPluginBundleApiOptions {\n\tprojectRoot?: string;\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction stringValue(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction booleanValue(value: unknown, fallback: boolean): boolean {\n\treturn typeof value === \"boolean\" ? value : fallback;\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(-32602, \"Invalid params\");\n}\n\nfunction projectRootFromParams(\n\toptions: MaestroAppServerPluginBundleApiOptions,\n\tparams: UnknownRecord,\n): string {\n\tconst projectRoot = resolve(options.projectRoot ?? process.cwd());\n\tconst requestedProjectRoot = stringValue(params.projectRoot);\n\tif (requestedProjectRoot && resolve(requestedProjectRoot) !== projectRoot) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Plugin bundle projectRoot is not available for this server\",\n\t\t);\n\t}\n\treturn projectRoot;\n}\n\nfunction scopeFromParams(params: UnknownRecord): WritablePackageScope {\n\tconst scope = stringValue(params.scope);\n\tif (scope === \"project\" || scope === \"local\" || scope === \"user\") {\n\t\treturn scope;\n\t}\n\tif (scope !== undefined) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Invalid plugin bundle scope\",\n\t\t);\n\t}\n\treturn \"local\";\n}\n\nfunction packageSpecFromParams(params: UnknownRecord): PackageSpec {\n\tconst spec = params.spec ?? params.source;\n\tif (typeof spec === \"string\" && spec.trim()) {\n\t\treturn spec.trim();\n\t}\n\tif (isRecord(spec) && typeof spec.source === \"string\" && spec.source.trim()) {\n\t\treturn spec as unknown as PackageSpec;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t\"Plugin bundle requires source or spec\",\n\t);\n}\n\nfunction sourceString(spec: PackageSpec): string {\n\treturn typeof spec === \"string\" ? spec : spec.source;\n}\n\nfunction resolvePackageSpecIdentity(spec: PackageSpec, cwd: string): string {\n\tconst [sourceSpec] = parsePackageSpec(spec, cwd);\n\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n}\n\nfunction tryResolvePackageSourceIdentity(\n\tsourceSpec: string,\n\tcwd: string,\n): string | null {\n\ttry {\n\t\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction configuredPackageMatches(\n\tentry: ReturnType<typeof loadConfiguredPackageSpecs>[number],\n\trequestedSpec: string,\n\trequestedCwd: string,\n): boolean {\n\tconst [rawSourceSpec] = parsePackageSpec(entry.spec, entry.cwd);\n\tif (rawSourceSpec === requestedSpec) {\n\t\treturn true;\n\t}\n\tconst requestedIdentity = tryResolvePackageSourceIdentity(\n\t\trequestedSpec,\n\t\trequestedCwd,\n\t);\n\tif (!requestedIdentity) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tresolvePackageSpecIdentity(entry.spec, entry.cwd) === requestedIdentity\n\t);\n}\n\nfunction validateBundleInstall(\n\tprojectRoot: string,\n\tscope: WritablePackageScope,\n\tspec: PackageSpec,\n): { configPath: string } {\n\tconst configPath = getWritablePackageConfigPath(scope, projectRoot);\n\tconst configDir = dirname(configPath);\n\tconst requestedIdentity = resolvePackageSpecIdentity(spec, projectRoot);\n\tconst duplicate = loadConfiguredPackageSpecs(projectRoot).find(\n\t\t(entry) =>\n\t\t\tentry.configPath === configPath &&\n\t\t\tresolvePackageSpecIdentity(entry.spec, configDir) === requestedIdentity,\n\t);\n\tif (duplicate) {\n\t\tconst [sourceSpec] = parsePackageSpec(duplicate.spec, configDir);\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t`Package \"${sourceSpec}\" already exists in ${configPath}.`,\n\t\t);\n\t}\n\treturn { configPath };\n}\n\nfunction resolveBundleRemoval(\n\tprojectRoot: string,\n\tspec: PackageSpec,\n\tscope?: WritablePackageScope,\n): { configPath: string; scope: WritablePackageScope } {\n\tconst requestedSpec = sourceString(spec);\n\tconst matches = loadConfiguredPackageSpecs(projectRoot).filter(\n\t\t(entry) =>\n\t\t\t(scope === undefined || entry.scope === scope) &&\n\t\t\tconfiguredPackageMatches(entry, requestedSpec, projectRoot),\n\t);\n\tconst orderedScopes: WritablePackageScope[] =\n\t\tscope === undefined ? [\"local\", \"project\", \"user\"] : [scope];\n\tfor (const candidateScope of orderedScopes) {\n\t\tconst match = matches.find((entry) => entry.scope === candidateScope);\n\t\tif (match) {\n\t\t\treturn { configPath: match.configPath, scope: match.scope };\n\t\t}\n\t}\n\tconst scopeMessage = scope === undefined ? \"\" : ` in ${scope} config`;\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t`Configured package \"${requestedSpec}\" was not found${scopeMessage}.`,\n\t);\n}\n\nfunction toBundleScope(\n\tscope: WritablePackageScope,\n): MaestroAppServerPluginBundleScope {\n\treturn scope;\n}\n\nfunction pluginBundleErrorMessage(error: unknown): string {\n\treturn error instanceof Error ? error.message : String(error);\n}\n\nfunction toPluginBundleInvalidParams(\n\terror: unknown,\n): MaestroAppServerPluginBundleError {\n\tif (error instanceof MaestroAppServerPluginBundleError) {\n\t\treturn error;\n\t}\n\treturn new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\tpluginBundleErrorMessage(error),\n\t);\n}\n\nexport function createMaestroAppServerPluginBundleApi(\n\toptions: MaestroAppServerPluginBundleApiOptions = {},\n): MaestroAppServerPluginBundleApi {\n\treturn {\n\t\tasync listBundles(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst resources = loadConfiguredPackageResources(projectRoot);\n\t\t\treturn {\n\t\t\t\tbundles: loadConfiguredPackageSpecs(projectRoot).map((entry) => ({\n\t\t\t\t\tsource: sourceString(entry.spec),\n\t\t\t\t\tscope: toBundleScope(entry.scope),\n\t\t\t\t\tconfigPath: entry.configPath,\n\t\t\t\t})),\n\t\t\t\tresources: {\n\t\t\t\t\textensions: resources.extensions,\n\t\t\t\t\tskills: resources.skills,\n\t\t\t\t\tprompts: resources.prompts,\n\t\t\t\t\tthemes: resources.themes,\n\t\t\t\t},\n\t\t\t\terrors: resources.errors,\n\t\t\t};\n\t\t},\n\n\t\tasync installBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst source = sourceString(spec);\n\t\t\tconst scope = scopeFromParams(normalizedParams);\n\t\t\tlet validation: ReturnType<typeof validateBundleInstall>;\n\t\t\ttry {\n\t\t\t\tvalidation = validateBundleInstall(projectRoot, scope, spec);\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\tconst { configPath } = validation;\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource,\n\t\t\t\t\tscope,\n\t\t\t\t\tconfigPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle install planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof addConfiguredPackageSpecToConfig>;\n\t\t\ttry {\n\t\t\t\tresult = addConfiguredPackageSpecToConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource,\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: true,\n\t\t\t\tmessage: \"Plugin bundle installed\",\n\t\t\t};\n\t\t},\n\n\t\tasync removeBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst scope =\n\t\t\t\tnormalizedParams.scope === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: scopeFromParams(normalizedParams);\n\t\t\tconst removal = resolveBundleRemoval(projectRoot, spec, scope);\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource: sourceString(spec),\n\t\t\t\t\tscope: removal.scope,\n\t\t\t\t\tconfigPath: removal.configPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle removal planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof removeConfiguredPackageSpecFromConfig>;\n\t\t\ttry {\n\t\t\t\tresult = removeConfiguredPackageSpecFromConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec: sourceString(spec),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t\t\t-32602,\n\t\t\t\t\tpluginBundleErrorMessage(error),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource: sourceString(spec),\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: result.removedCount > 0,\n\t\t\t\tmessage: `Removed ${result.removedCount} plugin bundle(s)`,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"plugin-bundle-api.js","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAM7C,OAAO,EAEN,gCAAgC,EAChC,4BAA4B,EAC5B,0BAA0B,EAC1B,qCAAqC,GACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACN,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAC3D,YACU,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IACjD,CAAC;CACD;AAkBD,SAAS,WAAW,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,QAAiB;IACtD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,MAAe;IACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,IAAI,iCAAiC,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,qBAAqB,CAC7B,OAA+C,EAC/C,MAAqB;IAErB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,WAAW,EAAE,CAAC;QAC3E,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,4DAA4D,CAC5D,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,6BAA6B,CAC7B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAqB;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7E,OAAO,IAA8B,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,uCAAuC,CACvC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACtC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAiB,EAAE,GAAW;IACjE,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,+BAA+B,CACvC,UAAkB,EAClB,GAAW;IAEX,IAAI,CAAC;QACJ,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAChC,KAA4D,EAC5D,aAAqB,EACrB,YAAoB;IAEpB,MAAM,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,iBAAiB,GAAG,+BAA+B,CACxD,aAAa,EACb,YAAY,CACZ,CAAC;IACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CACN,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,iBAAiB,CACvE,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC7B,WAAmB,EACnB,KAA2B,EAC3B,IAAiB;IAEjB,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC,IAAI,CAC7D,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,UAAU,KAAK,UAAU;QAC/B,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,iBAAiB,CACxE,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,YAAY,UAAU,uBAAuB,UAAU,GAAG,CAC1D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAC5B,WAAmB,EACnB,IAAiB,EACjB,KAA4B;IAE5B,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC,MAAM,CAC7D,CAAC,KAAK,EAAE,EAAE,CACT,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;QAC9C,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAC5D,CAAC;IACF,MAAM,aAAa,GAClB,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,KAAK,MAAM,cAAc,IAAI,aAAa,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC;QACtE,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7D,CAAC;IACF,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC;IACtE,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,uBAAuB,aAAa,kBAAkB,YAAY,GAAG,CACrE,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACrB,KAA2B;IAE3B,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,2BAA2B,CACnC,KAAc;IAEd,IAAI,KAAK,YAAY,iCAAiC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,iCAAiC,CAC3C,CAAC,KAAK,EACN,wBAAwB,CAAC,KAAK,CAAC,CAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACpD,UAAkD,EAAE;IAEpD,OAAO;QACN,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;YAC5B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC;YAC9D,OAAO;gBACN,OAAO,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAChE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;oBACjC,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,SAAS,EAAE;oBACV,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;iBACxB;gBACD,MAAM,EAAE,SAAS,CAAC,MAAM;aACxB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE;YAC9B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAChD,IAAI,UAAoD,CAAC;YACzD,IAAI,CAAC;gBACJ,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,2BAA2B,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;YAClC,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClD,OAAO;oBACN,MAAM;oBACN,KAAK;oBACL,UAAU;oBACV,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,+BAA+B;iBACxC,CAAC;YACH,CAAC;YACD,IAAI,MAA2D,CAAC;YAChE,IAAI,CAAC;gBACJ,MAAM,GAAG,gCAAgC,CAAC;oBACzC,YAAY,EAAE,WAAW;oBACzB,KAAK;oBACL,IAAI;iBACJ,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,2BAA2B,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO;gBACN,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,yBAAyB;aAClC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE;YAC7B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,KAAK,GACV,gBAAgB,CAAC,KAAK,KAAK,SAAS;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClD,OAAO;oBACN,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,+BAA+B;iBACxC,CAAC;YACH,CAAC;YACD,IAAI,MAAgE,CAAC;YACrE,IAAI,CAAC;gBACJ,MAAM,GAAG,qCAAqC,CAAC;oBAC9C,YAAY,EAAE,WAAW;oBACzB,KAAK;oBACL,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;iBACxB,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,wBAAwB,CAAC,KAAK,CAAC,CAC/B,CAAC;YACH,CAAC;YACD,OAAO;gBACN,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,OAAO,EAAE,MAAM,CAAC,YAAY,GAAG,CAAC;gBAChC,OAAO,EAAE,WAAW,MAAM,CAAC,YAAY,mBAAmB;aAC1D,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC","sourcesContent":["import { dirname, resolve } from \"node:path\";\nimport type {\n\tMaestroAppServerPluginBundleListResult,\n\tMaestroAppServerPluginBundleMutationResult,\n\tMaestroAppServerPluginBundleScope,\n} from \"@evalops/contracts\";\nimport {\n\ttype WritablePackageScope,\n\taddConfiguredPackageSpecToConfig,\n\tgetWritablePackageConfigPath,\n\tloadConfiguredPackageSpecs,\n\tremoveConfiguredPackageSpecFromConfig,\n} from \"../config/toml-config.js\";\nimport { parsePackageSpec } from \"../packages/loader.js\";\nimport { loadConfiguredPackageResources } from \"../packages/runtime.js\";\nimport {\n\tformatPackageSource,\n\tparsePackageSource,\n} from \"../packages/sources.js\";\nimport type { PackageSpec } from \"../packages/types.js\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPluginBundleError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPluginBundleError\";\n\t}\n}\n\nexport interface MaestroAppServerPluginBundleApi {\n\tlistBundles(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremoveBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n}\n\nexport interface MaestroAppServerPluginBundleApiOptions {\n\tprojectRoot?: string;\n}\n\nfunction stringValue(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction booleanValue(value: unknown, fallback: boolean): boolean {\n\treturn typeof value === \"boolean\" ? value : fallback;\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(-32602, \"Invalid params\");\n}\n\nfunction projectRootFromParams(\n\toptions: MaestroAppServerPluginBundleApiOptions,\n\tparams: UnknownRecord,\n): string {\n\tconst projectRoot = resolve(options.projectRoot ?? process.cwd());\n\tconst requestedProjectRoot = stringValue(params.projectRoot);\n\tif (requestedProjectRoot && resolve(requestedProjectRoot) !== projectRoot) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Plugin bundle projectRoot is not available for this server\",\n\t\t);\n\t}\n\treturn projectRoot;\n}\n\nfunction scopeFromParams(params: UnknownRecord): WritablePackageScope {\n\tconst scope = stringValue(params.scope);\n\tif (scope === \"project\" || scope === \"local\" || scope === \"user\") {\n\t\treturn scope;\n\t}\n\tif (scope !== undefined) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Invalid plugin bundle scope\",\n\t\t);\n\t}\n\treturn \"local\";\n}\n\nfunction packageSpecFromParams(params: UnknownRecord): PackageSpec {\n\tconst spec = params.spec ?? params.source;\n\tif (typeof spec === \"string\" && spec.trim()) {\n\t\treturn spec.trim();\n\t}\n\tif (isRecord(spec) && typeof spec.source === \"string\" && spec.source.trim()) {\n\t\treturn spec as unknown as PackageSpec;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t\"Plugin bundle requires source or spec\",\n\t);\n}\n\nfunction sourceString(spec: PackageSpec): string {\n\treturn typeof spec === \"string\" ? spec : spec.source;\n}\n\nfunction resolvePackageSpecIdentity(spec: PackageSpec, cwd: string): string {\n\tconst [sourceSpec] = parsePackageSpec(spec, cwd);\n\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n}\n\nfunction tryResolvePackageSourceIdentity(\n\tsourceSpec: string,\n\tcwd: string,\n): string | null {\n\ttry {\n\t\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction configuredPackageMatches(\n\tentry: ReturnType<typeof loadConfiguredPackageSpecs>[number],\n\trequestedSpec: string,\n\trequestedCwd: string,\n): boolean {\n\tconst [rawSourceSpec] = parsePackageSpec(entry.spec, entry.cwd);\n\tif (rawSourceSpec === requestedSpec) {\n\t\treturn true;\n\t}\n\tconst requestedIdentity = tryResolvePackageSourceIdentity(\n\t\trequestedSpec,\n\t\trequestedCwd,\n\t);\n\tif (!requestedIdentity) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tresolvePackageSpecIdentity(entry.spec, entry.cwd) === requestedIdentity\n\t);\n}\n\nfunction validateBundleInstall(\n\tprojectRoot: string,\n\tscope: WritablePackageScope,\n\tspec: PackageSpec,\n): { configPath: string } {\n\tconst configPath = getWritablePackageConfigPath(scope, projectRoot);\n\tconst configDir = dirname(configPath);\n\tconst requestedIdentity = resolvePackageSpecIdentity(spec, projectRoot);\n\tconst duplicate = loadConfiguredPackageSpecs(projectRoot).find(\n\t\t(entry) =>\n\t\t\tentry.configPath === configPath &&\n\t\t\tresolvePackageSpecIdentity(entry.spec, configDir) === requestedIdentity,\n\t);\n\tif (duplicate) {\n\t\tconst [sourceSpec] = parsePackageSpec(duplicate.spec, configDir);\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t`Package \"${sourceSpec}\" already exists in ${configPath}.`,\n\t\t);\n\t}\n\treturn { configPath };\n}\n\nfunction resolveBundleRemoval(\n\tprojectRoot: string,\n\tspec: PackageSpec,\n\tscope?: WritablePackageScope,\n): { configPath: string; scope: WritablePackageScope } {\n\tconst requestedSpec = sourceString(spec);\n\tconst matches = loadConfiguredPackageSpecs(projectRoot).filter(\n\t\t(entry) =>\n\t\t\t(scope === undefined || entry.scope === scope) &&\n\t\t\tconfiguredPackageMatches(entry, requestedSpec, projectRoot),\n\t);\n\tconst orderedScopes: WritablePackageScope[] =\n\t\tscope === undefined ? [\"local\", \"project\", \"user\"] : [scope];\n\tfor (const candidateScope of orderedScopes) {\n\t\tconst match = matches.find((entry) => entry.scope === candidateScope);\n\t\tif (match) {\n\t\t\treturn { configPath: match.configPath, scope: match.scope };\n\t\t}\n\t}\n\tconst scopeMessage = scope === undefined ? \"\" : ` in ${scope} config`;\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t`Configured package \"${requestedSpec}\" was not found${scopeMessage}.`,\n\t);\n}\n\nfunction toBundleScope(\n\tscope: WritablePackageScope,\n): MaestroAppServerPluginBundleScope {\n\treturn scope;\n}\n\nfunction pluginBundleErrorMessage(error: unknown): string {\n\treturn error instanceof Error ? error.message : String(error);\n}\n\nfunction toPluginBundleInvalidParams(\n\terror: unknown,\n): MaestroAppServerPluginBundleError {\n\tif (error instanceof MaestroAppServerPluginBundleError) {\n\t\treturn error;\n\t}\n\treturn new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\tpluginBundleErrorMessage(error),\n\t);\n}\n\nexport function createMaestroAppServerPluginBundleApi(\n\toptions: MaestroAppServerPluginBundleApiOptions = {},\n): MaestroAppServerPluginBundleApi {\n\treturn {\n\t\tasync listBundles(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst resources = loadConfiguredPackageResources(projectRoot);\n\t\t\treturn {\n\t\t\t\tbundles: loadConfiguredPackageSpecs(projectRoot).map((entry) => ({\n\t\t\t\t\tsource: sourceString(entry.spec),\n\t\t\t\t\tscope: toBundleScope(entry.scope),\n\t\t\t\t\tconfigPath: entry.configPath,\n\t\t\t\t})),\n\t\t\t\tresources: {\n\t\t\t\t\tagents: resources.agents,\n\t\t\t\t\textensions: resources.extensions,\n\t\t\t\t\tskills: resources.skills,\n\t\t\t\t\tprompts: resources.prompts,\n\t\t\t\t\tthemes: resources.themes,\n\t\t\t\t},\n\t\t\t\terrors: resources.errors,\n\t\t\t};\n\t\t},\n\n\t\tasync installBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst source = sourceString(spec);\n\t\t\tconst scope = scopeFromParams(normalizedParams);\n\t\t\tlet validation: ReturnType<typeof validateBundleInstall>;\n\t\t\ttry {\n\t\t\t\tvalidation = validateBundleInstall(projectRoot, scope, spec);\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\tconst { configPath } = validation;\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource,\n\t\t\t\t\tscope,\n\t\t\t\t\tconfigPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle install planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof addConfiguredPackageSpecToConfig>;\n\t\t\ttry {\n\t\t\t\tresult = addConfiguredPackageSpecToConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource,\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: true,\n\t\t\t\tmessage: \"Plugin bundle installed\",\n\t\t\t};\n\t\t},\n\n\t\tasync removeBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst scope =\n\t\t\t\tnormalizedParams.scope === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: scopeFromParams(normalizedParams);\n\t\t\tconst removal = resolveBundleRemoval(projectRoot, spec, scope);\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource: sourceString(spec),\n\t\t\t\t\tscope: removal.scope,\n\t\t\t\t\tconfigPath: removal.configPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle removal planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof removeConfiguredPackageSpecFromConfig>;\n\t\t\ttry {\n\t\t\t\tresult = removeConfiguredPackageSpecFromConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec: sourceString(spec),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t\t\t-32602,\n\t\t\t\t\tpluginBundleErrorMessage(error),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource: sourceString(spec),\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: result.removedCount > 0,\n\t\t\t\tmessage: `Removed ${result.removedCount} plugin bundle(s)`,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-control-api.d.ts","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"policy-control-api.d.ts","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,MAAM,oBAAoB,CAAC;AAW5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,qBAAa,kCAAmC,SAAQ,KAAK;IAE3D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,6BAA6B;IAC7C,UAAU,IAAI,gCAAgC,CAAC;IAC/C,WAAW,CACV,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,gBAAgB,IAAI,sCAAsC,CAAC;CAC3D;AAuKD,wBAAgB,mCAAmC,IAAI,6BAA6B,CA+EnF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { checkModelPolicy, checkPolicy, checkSessionLimits, loadPolicy, } from "../safety/policy.js";
|
|
2
|
+
import { isRecord } from "../utils/json.js";
|
|
2
3
|
export class MaestroAppServerPolicyControlError extends Error {
|
|
3
4
|
constructor(code, message) {
|
|
4
5
|
super(message);
|
|
@@ -29,9 +30,6 @@ function clonePolicySnapshot(policy) {
|
|
|
29
30
|
}
|
|
30
31
|
return deepFreezeSnapshot(structuredClone(policy));
|
|
31
32
|
}
|
|
32
|
-
function isRecord(value) {
|
|
33
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
34
|
-
}
|
|
35
33
|
function hasOwnKey(value, key) {
|
|
36
34
|
return Object.prototype.hasOwnProperty.call(value, key);
|
|
37
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-control-api.js","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tMaestroAppServerPolicyCheckItem,\n\tMaestroAppServerPolicyCheckResult,\n\tMaestroAppServerPolicyReadResult,\n\tMaestroAppServerRequirementsListResult,\n} from \"@evalops/contracts\";\nimport type { ActionApprovalContext } from \"../agent/action-approval.js\";\nimport {\n\ttype EnterprisePolicy,\n\tcheckModelPolicy,\n\tcheckPolicy,\n\tcheckSessionLimits,\n\tloadPolicy,\n} from \"../safety/policy.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPolicyControlError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPolicyControlError\";\n\t}\n}\n\nexport interface MaestroAppServerPolicyControl {\n\treadPolicy(): MaestroAppServerPolicyReadResult;\n\tcheckPolicy(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(): MaestroAppServerRequirementsListResult;\n}\n\nfunction readCurrentPolicy() {\n\ttry {\n\t\treturn loadPolicy();\n\t} catch (error) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32000,\n\t\t\t`Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t);\n\t}\n}\n\nfunction deepFreezeSnapshot<T>(value: T): T {\n\tif (typeof value !== \"object\" || value === null) {\n\t\treturn value;\n\t}\n\tfor (const key of Object.getOwnPropertyNames(value)) {\n\t\tdeepFreezeSnapshot((value as Record<string, unknown>)[key]);\n\t}\n\treturn Object.freeze(value);\n}\n\nfunction clonePolicySnapshot(\n\tpolicy: EnterprisePolicy | null,\n): MaestroAppServerPolicyReadResult[\"policy\"] {\n\tif (policy === null) {\n\t\treturn null;\n\t}\n\treturn deepFreezeSnapshot(structuredClone(policy));\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction hasOwnKey(value: object, key: PropertyKey): boolean {\n\treturn Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction optionalNonEmptyString(\n\tvalue: unknown,\n\tfield: string,\n): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim();\n}\n\nfunction parseUser(value: unknown): ActionApprovalContext[\"user\"] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"user.id\");\n\tconst orgId = optionalNonEmptyString(value.orgId, \"user.orgId\");\n\tif (!id || !orgId) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\treturn { id, orgId };\n}\n\nfunction parseSession(\n\tvalue: unknown,\n\trequireId: boolean,\n): ActionApprovalContext[\"session\"] {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"session.id\");\n\tif (requireId && !id) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session.id\");\n\t}\n\tif (value.startedAt === undefined || value.startedAt === null) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\tconst startedAt =\n\t\tvalue.startedAt instanceof Date\n\t\t\t? new Date(value.startedAt.getTime())\n\t\t\t: new Date(\n\t\t\t\t\toptionalNonEmptyString(value.startedAt, \"session.startedAt\") ?? \"\",\n\t\t\t\t);\n\tif (!Number.isFinite(startedAt.getTime())) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\treturn { id: id ?? \"app-server-policy-check\", startedAt };\n}\n\nfunction parseActionContext(\n\tvalue: unknown,\n\tfallbackSession?: ActionApprovalContext[\"session\"],\n): ActionApprovalContext | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid action\");\n\t}\n\tconst toolName = optionalNonEmptyString(value.toolName, \"action.toolName\");\n\tif (!toolName) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid action.toolName\",\n\t\t);\n\t}\n\tconst actionSession =\n\t\tvalue.session === undefined || value.session === null\n\t\t\t? fallbackSession\n\t\t\t: parseSession(value.session, false);\n\treturn {\n\t\ttoolName,\n\t\targs: hasOwnKey(value, \"args\") ? value.args : {},\n\t\tmetadata: isRecord(value.metadata)\n\t\t\t? (value.metadata as ActionApprovalContext[\"metadata\"])\n\t\t\t: undefined,\n\t\tuser: parseUser(value.user),\n\t\tsession: actionSession,\n\t\tuserIntent: optionalNonEmptyString(value.userIntent, \"action.userIntent\"),\n\t};\n}\n\nfunction parseUsage(\n\tvalue: unknown,\n): { tokenCount?: number; activeSessionCount?: number } | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid usage\");\n\t}\n\tconst usage: { tokenCount?: number; activeSessionCount?: number } = {};\n\tfor (const key of [\"tokenCount\", \"activeSessionCount\"] as const) {\n\t\tif (value[key] === undefined || value[key] === null) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\ttypeof value[key] !== \"number\" ||\n\t\t\t!Number.isFinite(value[key]) ||\n\t\t\tvalue[key] < 0\n\t\t) {\n\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t-32602,\n\t\t\t\t`Invalid usage.${key}`,\n\t\t\t);\n\t\t}\n\t\tusage[key] = value[key];\n\t}\n\treturn usage;\n}\n\nfunction firstReason(\n\tchecks: MaestroAppServerPolicyCheckItem[],\n): string | undefined {\n\treturn checks.find((check) => !check.allowed)?.reason;\n}\n\nexport function createMaestroAppServerPolicyControl(): MaestroAppServerPolicyControl {\n\treturn {\n\t\treadPolicy() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\treturn {\n\t\t\t\tloaded: policy !== null,\n\t\t\t\tpolicy: clonePolicySnapshot(policy),\n\t\t\t};\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid params\");\n\t\t\t}\n\t\t\tconst checks: MaestroAppServerPolicyCheckItem[] = [];\n\t\t\tconst session = parseSession(params.session, false);\n\t\t\tconst action = parseActionContext(params.action, session);\n\t\t\tconst sessionForLimits = action?.session ?? session;\n\t\t\tif (action) {\n\t\t\t\tconst result = await checkPolicy(action);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"action\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst modelId = optionalNonEmptyString(params.modelId, \"modelId\");\n\t\t\tif (modelId) {\n\t\t\t\tconst result = checkModelPolicy(modelId);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"model\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (sessionForLimits) {\n\t\t\t\tconst result = checkSessionLimits(\n\t\t\t\t\tsessionForLimits,\n\t\t\t\t\tparseUsage(params.usage),\n\t\t\t\t);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"session\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (checks.length === 0) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Missing policy check target\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst reason = firstReason(checks);\n\t\t\treturn {\n\t\t\t\tallowed: checks.every((check) => check.allowed),\n\t\t\t\t...(reason ? { reason } : {}),\n\t\t\t\tchecks,\n\t\t\t};\n\t\t},\n\n\t\tlistRequirements() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\tconst requiredSkills = deepFreezeSnapshot([\n\t\t\t\t...(policy?.skills?.required ?? []),\n\t\t\t]);\n\t\t\treturn {\n\t\t\t\trequirements: requiredSkills.map((id) => ({\n\t\t\t\t\tkind: \"skill\",\n\t\t\t\t\tid,\n\t\t\t\t\trequired: true,\n\t\t\t\t})),\n\t\t\t\trequiredSkills,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"policy-control-api.js","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tMaestroAppServerPolicyCheckItem,\n\tMaestroAppServerPolicyCheckResult,\n\tMaestroAppServerPolicyReadResult,\n\tMaestroAppServerRequirementsListResult,\n} from \"@evalops/contracts\";\nimport type { ActionApprovalContext } from \"../agent/action-approval.js\";\nimport {\n\ttype EnterprisePolicy,\n\tcheckModelPolicy,\n\tcheckPolicy,\n\tcheckSessionLimits,\n\tloadPolicy,\n} from \"../safety/policy.js\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPolicyControlError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPolicyControlError\";\n\t}\n}\n\nexport interface MaestroAppServerPolicyControl {\n\treadPolicy(): MaestroAppServerPolicyReadResult;\n\tcheckPolicy(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(): MaestroAppServerRequirementsListResult;\n}\n\nfunction readCurrentPolicy() {\n\ttry {\n\t\treturn loadPolicy();\n\t} catch (error) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32000,\n\t\t\t`Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t);\n\t}\n}\n\nfunction deepFreezeSnapshot<T>(value: T): T {\n\tif (typeof value !== \"object\" || value === null) {\n\t\treturn value;\n\t}\n\tfor (const key of Object.getOwnPropertyNames(value)) {\n\t\tdeepFreezeSnapshot((value as Record<string, unknown>)[key]);\n\t}\n\treturn Object.freeze(value);\n}\n\nfunction clonePolicySnapshot(\n\tpolicy: EnterprisePolicy | null,\n): MaestroAppServerPolicyReadResult[\"policy\"] {\n\tif (policy === null) {\n\t\treturn null;\n\t}\n\treturn deepFreezeSnapshot(structuredClone(policy));\n}\n\nfunction hasOwnKey(value: object, key: PropertyKey): boolean {\n\treturn Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction optionalNonEmptyString(\n\tvalue: unknown,\n\tfield: string,\n): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim();\n}\n\nfunction parseUser(value: unknown): ActionApprovalContext[\"user\"] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"user.id\");\n\tconst orgId = optionalNonEmptyString(value.orgId, \"user.orgId\");\n\tif (!id || !orgId) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\treturn { id, orgId };\n}\n\nfunction parseSession(\n\tvalue: unknown,\n\trequireId: boolean,\n): ActionApprovalContext[\"session\"] {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"session.id\");\n\tif (requireId && !id) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session.id\");\n\t}\n\tif (value.startedAt === undefined || value.startedAt === null) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\tconst startedAt =\n\t\tvalue.startedAt instanceof Date\n\t\t\t? new Date(value.startedAt.getTime())\n\t\t\t: new Date(\n\t\t\t\t\toptionalNonEmptyString(value.startedAt, \"session.startedAt\") ?? \"\",\n\t\t\t\t);\n\tif (!Number.isFinite(startedAt.getTime())) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\treturn { id: id ?? \"app-server-policy-check\", startedAt };\n}\n\nfunction parseActionContext(\n\tvalue: unknown,\n\tfallbackSession?: ActionApprovalContext[\"session\"],\n): ActionApprovalContext | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid action\");\n\t}\n\tconst toolName = optionalNonEmptyString(value.toolName, \"action.toolName\");\n\tif (!toolName) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid action.toolName\",\n\t\t);\n\t}\n\tconst actionSession =\n\t\tvalue.session === undefined || value.session === null\n\t\t\t? fallbackSession\n\t\t\t: parseSession(value.session, false);\n\treturn {\n\t\ttoolName,\n\t\targs: hasOwnKey(value, \"args\") ? value.args : {},\n\t\tmetadata: isRecord(value.metadata)\n\t\t\t? (value.metadata as ActionApprovalContext[\"metadata\"])\n\t\t\t: undefined,\n\t\tuser: parseUser(value.user),\n\t\tsession: actionSession,\n\t\tuserIntent: optionalNonEmptyString(value.userIntent, \"action.userIntent\"),\n\t};\n}\n\nfunction parseUsage(\n\tvalue: unknown,\n): { tokenCount?: number; activeSessionCount?: number } | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid usage\");\n\t}\n\tconst usage: { tokenCount?: number; activeSessionCount?: number } = {};\n\tfor (const key of [\"tokenCount\", \"activeSessionCount\"] as const) {\n\t\tif (value[key] === undefined || value[key] === null) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\ttypeof value[key] !== \"number\" ||\n\t\t\t!Number.isFinite(value[key]) ||\n\t\t\tvalue[key] < 0\n\t\t) {\n\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t-32602,\n\t\t\t\t`Invalid usage.${key}`,\n\t\t\t);\n\t\t}\n\t\tusage[key] = value[key];\n\t}\n\treturn usage;\n}\n\nfunction firstReason(\n\tchecks: MaestroAppServerPolicyCheckItem[],\n): string | undefined {\n\treturn checks.find((check) => !check.allowed)?.reason;\n}\n\nexport function createMaestroAppServerPolicyControl(): MaestroAppServerPolicyControl {\n\treturn {\n\t\treadPolicy() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\treturn {\n\t\t\t\tloaded: policy !== null,\n\t\t\t\tpolicy: clonePolicySnapshot(policy),\n\t\t\t};\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid params\");\n\t\t\t}\n\t\t\tconst checks: MaestroAppServerPolicyCheckItem[] = [];\n\t\t\tconst session = parseSession(params.session, false);\n\t\t\tconst action = parseActionContext(params.action, session);\n\t\t\tconst sessionForLimits = action?.session ?? session;\n\t\t\tif (action) {\n\t\t\t\tconst result = await checkPolicy(action);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"action\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst modelId = optionalNonEmptyString(params.modelId, \"modelId\");\n\t\t\tif (modelId) {\n\t\t\t\tconst result = checkModelPolicy(modelId);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"model\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (sessionForLimits) {\n\t\t\t\tconst result = checkSessionLimits(\n\t\t\t\t\tsessionForLimits,\n\t\t\t\t\tparseUsage(params.usage),\n\t\t\t\t);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"session\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (checks.length === 0) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Missing policy check target\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst reason = firstReason(checks);\n\t\t\treturn {\n\t\t\t\tallowed: checks.every((check) => check.allowed),\n\t\t\t\t...(reason ? { reason } : {}),\n\t\t\t\tchecks,\n\t\t\t};\n\t\t},\n\n\t\tlistRequirements() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\tconst requiredSkills = deepFreezeSnapshot([\n\t\t\t\t...(policy?.skills?.required ?? []),\n\t\t\t]);\n\t\t\treturn {\n\t\t\t\trequirements: requiredSkills.map((id) => ({\n\t\t\t\t\tkind: \"skill\",\n\t\t\t\t\tid,\n\t\t\t\t\trequired: true,\n\t\t\t\t})),\n\t\t\t\trequiredSkills,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-modes-api.d.ts","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,4BAA4B,EAEjC,KAAK,8BAA8B,EACnC,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAI1C,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol-modes-api.d.ts","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,4BAA4B,EAEjC,KAAK,8BAA8B,EACnC,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAI1C,MAAM,oBAAoB,CAAC;AAG5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgC7C,qBAAa,kCAAmC,SAAQ,KAAK;IAE3D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,oCAAoC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,sCAAsC,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,qCAAqC,CAAC;IACvE,WAAW,CACV,MAAM,EAAE,4BAA4B,EACpC,MAAM,CAAC,EAAE,aAAa,GACpB,oCAAoC,CAAC;IACxC,UAAU,IAAI,8BAA8B,CAAC;CAC7C;AAED,MAAM,WAAW,oCAAoC;IACpD,WAAW,CAAC,EAAE,8BAA8B,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAqGD,wBAAgB,mCAAmC,CAClD,OAAO,GAAE,oCAAyC,GAChD,6BAA6B,CAgD/B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { maestroAppServerClientMethods, maestroAppServerProtocolModeIds, maestroAppServerServerMethods, } from "@evalops/contracts";
|
|
2
|
+
import { isRecord } from "../utils/json.js";
|
|
2
3
|
const DEFAULT_MODE = "standard";
|
|
3
4
|
const REVIEW_BLOCKED_METHODS = new Set([
|
|
4
5
|
"protocol/mode/set",
|
|
@@ -46,9 +47,6 @@ function normalizeMode(value) {
|
|
|
46
47
|
}
|
|
47
48
|
throw new MaestroAppServerProtocolModesError(-32602, "Invalid mode");
|
|
48
49
|
}
|
|
49
|
-
function isRecord(value) {
|
|
50
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
51
|
-
}
|
|
52
50
|
function paramsRecord(params) {
|
|
53
51
|
if (params === undefined) {
|
|
54
52
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-modes-api.js","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype MaestroAppServerClientMethod,\n\ttype MaestroAppServerProtocolMode,\n\ttype MaestroAppServerProtocolModeId,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolModeIds,\n\tmaestroAppServerServerMethods,\n} from \"@evalops/contracts\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nconst DEFAULT_MODE: MaestroAppServerProtocolModeId = \"standard\";\n\nconst REVIEW_BLOCKED_METHODS = new Set<MaestroAppServerClientMethod>([\n\t\"protocol/mode/set\",\n\t\"network/fetch\",\n\t\"sandbox/check/run\",\n\t\"externalAgent/import\",\n\t\"pluginBundle/install\",\n\t\"pluginBundle/remove\",\n\t\"remoteControl/lease/heartbeat\",\n\t\"remoteControl/drain\",\n\t\"command/exec\",\n\t\"command/exec/write\",\n\t\"command/exec/terminate\",\n\t\"fs/writeFile\",\n\t\"fs/createDirectory\",\n\t\"fs/remove\",\n\t\"fs/copy\",\n\t\"fs/watch\",\n\t\"thread/metadata/update\",\n\t\"thread/name/set\",\n\t\"thread/goal/set\",\n\t\"thread/goal/clear\",\n\t\"thread/start\",\n\t\"thread/fork\",\n\t\"thread/archive\",\n\t\"thread/unarchive\",\n\t\"thread/delete\",\n]);\n\nexport class MaestroAppServerProtocolModesError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerProtocolModesError\";\n\t}\n}\n\nexport interface MaestroAppServerProtocolModeDecision {\n\tallowed: boolean;\n\treason?: string;\n}\n\nexport interface MaestroAppServerProtocolModes {\n\tlistModes(params?: UnknownRecord): MaestroAppServerProtocolModeListResult;\n\tsetMode(params?: UnknownRecord): MaestroAppServerProtocolModeSetResult;\n\tcheckMethod(\n\t\tmethod: MaestroAppServerClientMethod,\n\t\tparams?: UnknownRecord,\n\t): MaestroAppServerProtocolModeDecision;\n\tactiveMode(): MaestroAppServerProtocolModeId;\n}\n\nexport interface MaestroAppServerProtocolModesOptions {\n\tinitialMode?: MaestroAppServerProtocolModeId;\n\treviewModeEscapeToken?: string;\n}\n\nfunction normalizeMode(value: unknown): MaestroAppServerProtocolModeId {\n\tif (value === undefined || value === null) {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Missing mode\");\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n\t}\n\tif (\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\tvalue as MaestroAppServerProtocolModeId,\n\t\t)\n\t) {\n\t\treturn value as MaestroAppServerProtocolModeId;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid params\");\n}\n\nfunction normalizeEscapeToken(value: unknown): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerProtocolModesError(\n\t\t\t-32602,\n\t\t\t\"Invalid review mode escape token\",\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction modeLabel(mode: MaestroAppServerProtocolModeId): string {\n\tswitch (mode) {\n\t\tcase \"review\":\n\t\t\treturn \"Review\";\n\t\tcase \"realtime\":\n\t\t\treturn \"Realtime\";\n\t\tcase \"standard\":\n\t\t\treturn \"Standard\";\n\t}\n}\n\nfunction isMethodAllowedInMode(\n\tmode: MaestroAppServerProtocolModeId,\n\tmethod: MaestroAppServerClientMethod,\n): boolean {\n\tif (mode !== \"review\") {\n\t\treturn true;\n\t}\n\treturn !REVIEW_BLOCKED_METHODS.has(method);\n}\n\nfunction isAuthorizedReviewModeEscape(\n\tparams: unknown,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (!reviewModeEscapeToken || !isRecord(params)) {\n\t\treturn false;\n\t}\n\tconst targetMode = params.mode;\n\treturn (\n\t\ttargetMode !== \"review\" &&\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\ttargetMode as MaestroAppServerProtocolModeId,\n\t\t) &&\n\t\tparams.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction describeMode(\n\tmode: MaestroAppServerProtocolModeId,\n): MaestroAppServerProtocolMode {\n\tconst allowedMethods = maestroAppServerClientMethods.filter((method) =>\n\t\tisMethodAllowedInMode(mode, method),\n\t);\n\tconst blockedMethods = maestroAppServerClientMethods.filter(\n\t\t(method) => !isMethodAllowedInMode(mode, method),\n\t);\n\treturn {\n\t\tid: mode,\n\t\tlabel: modeLabel(mode),\n\t\treadOnly: mode === \"review\",\n\t\trealtime: mode === \"realtime\",\n\t\tallowedMethods: [...allowedMethods],\n\t\tblockedMethods: [...blockedMethods],\n\t\tserverNotifications:\n\t\t\tmode === \"realtime\" ? [...maestroAppServerServerMethods] : [],\n\t};\n}\n\nexport function createMaestroAppServerProtocolModes(\n\toptions: MaestroAppServerProtocolModesOptions = {},\n): MaestroAppServerProtocolModes {\n\tlet activeMode =\n\t\toptions.initialMode === undefined\n\t\t\t? DEFAULT_MODE\n\t\t\t: normalizeMode(options.initialMode);\n\tconst reviewModeEscapeToken = normalizeEscapeToken(\n\t\toptions.reviewModeEscapeToken,\n\t);\n\treturn {\n\t\tlistModes(params) {\n\t\t\tparamsRecord(params);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tdefaultMode: DEFAULT_MODE,\n\t\t\t\tmodes: maestroAppServerProtocolModeIds.map(describeMode),\n\t\t\t};\n\t\t},\n\n\t\tsetMode(params) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tactiveMode = normalizeMode(normalizedParams.mode);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tmode: describeMode(activeMode),\n\t\t\t};\n\t\t},\n\n\t\tcheckMethod(method, params) {\n\t\t\tif (\n\t\t\t\tactiveMode === \"review\" &&\n\t\t\t\tmethod === \"protocol/mode/set\" &&\n\t\t\t\tisAuthorizedReviewModeEscape(params, reviewModeEscapeToken)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\tif (isMethodAllowedInMode(activeMode, method)) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tallowed: false,\n\t\t\t\treason: `${method} is blocked while protocol mode is ${activeMode}`,\n\t\t\t};\n\t\t},\n\n\t\tactiveMode() {\n\t\t\treturn activeMode;\n\t\t},\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"protocol-modes-api.js","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype MaestroAppServerClientMethod,\n\ttype MaestroAppServerProtocolMode,\n\ttype MaestroAppServerProtocolModeId,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolModeIds,\n\tmaestroAppServerServerMethods,\n} from \"@evalops/contracts\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nconst DEFAULT_MODE: MaestroAppServerProtocolModeId = \"standard\";\n\nconst REVIEW_BLOCKED_METHODS = new Set<MaestroAppServerClientMethod>([\n\t\"protocol/mode/set\",\n\t\"network/fetch\",\n\t\"sandbox/check/run\",\n\t\"externalAgent/import\",\n\t\"pluginBundle/install\",\n\t\"pluginBundle/remove\",\n\t\"remoteControl/lease/heartbeat\",\n\t\"remoteControl/drain\",\n\t\"command/exec\",\n\t\"command/exec/write\",\n\t\"command/exec/terminate\",\n\t\"fs/writeFile\",\n\t\"fs/createDirectory\",\n\t\"fs/remove\",\n\t\"fs/copy\",\n\t\"fs/watch\",\n\t\"thread/metadata/update\",\n\t\"thread/name/set\",\n\t\"thread/goal/set\",\n\t\"thread/goal/clear\",\n\t\"thread/start\",\n\t\"thread/fork\",\n\t\"thread/archive\",\n\t\"thread/unarchive\",\n\t\"thread/delete\",\n]);\n\nexport class MaestroAppServerProtocolModesError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerProtocolModesError\";\n\t}\n}\n\nexport interface MaestroAppServerProtocolModeDecision {\n\tallowed: boolean;\n\treason?: string;\n}\n\nexport interface MaestroAppServerProtocolModes {\n\tlistModes(params?: UnknownRecord): MaestroAppServerProtocolModeListResult;\n\tsetMode(params?: UnknownRecord): MaestroAppServerProtocolModeSetResult;\n\tcheckMethod(\n\t\tmethod: MaestroAppServerClientMethod,\n\t\tparams?: UnknownRecord,\n\t): MaestroAppServerProtocolModeDecision;\n\tactiveMode(): MaestroAppServerProtocolModeId;\n}\n\nexport interface MaestroAppServerProtocolModesOptions {\n\tinitialMode?: MaestroAppServerProtocolModeId;\n\treviewModeEscapeToken?: string;\n}\n\nfunction normalizeMode(value: unknown): MaestroAppServerProtocolModeId {\n\tif (value === undefined || value === null) {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Missing mode\");\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n\t}\n\tif (\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\tvalue as MaestroAppServerProtocolModeId,\n\t\t)\n\t) {\n\t\treturn value as MaestroAppServerProtocolModeId;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid params\");\n}\n\nfunction normalizeEscapeToken(value: unknown): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerProtocolModesError(\n\t\t\t-32602,\n\t\t\t\"Invalid review mode escape token\",\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction modeLabel(mode: MaestroAppServerProtocolModeId): string {\n\tswitch (mode) {\n\t\tcase \"review\":\n\t\t\treturn \"Review\";\n\t\tcase \"realtime\":\n\t\t\treturn \"Realtime\";\n\t\tcase \"standard\":\n\t\t\treturn \"Standard\";\n\t}\n}\n\nfunction isMethodAllowedInMode(\n\tmode: MaestroAppServerProtocolModeId,\n\tmethod: MaestroAppServerClientMethod,\n): boolean {\n\tif (mode !== \"review\") {\n\t\treturn true;\n\t}\n\treturn !REVIEW_BLOCKED_METHODS.has(method);\n}\n\nfunction isAuthorizedReviewModeEscape(\n\tparams: unknown,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (!reviewModeEscapeToken || !isRecord(params)) {\n\t\treturn false;\n\t}\n\tconst targetMode = params.mode;\n\treturn (\n\t\ttargetMode !== \"review\" &&\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\ttargetMode as MaestroAppServerProtocolModeId,\n\t\t) &&\n\t\tparams.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction describeMode(\n\tmode: MaestroAppServerProtocolModeId,\n): MaestroAppServerProtocolMode {\n\tconst allowedMethods = maestroAppServerClientMethods.filter((method) =>\n\t\tisMethodAllowedInMode(mode, method),\n\t);\n\tconst blockedMethods = maestroAppServerClientMethods.filter(\n\t\t(method) => !isMethodAllowedInMode(mode, method),\n\t);\n\treturn {\n\t\tid: mode,\n\t\tlabel: modeLabel(mode),\n\t\treadOnly: mode === \"review\",\n\t\trealtime: mode === \"realtime\",\n\t\tallowedMethods: [...allowedMethods],\n\t\tblockedMethods: [...blockedMethods],\n\t\tserverNotifications:\n\t\t\tmode === \"realtime\" ? [...maestroAppServerServerMethods] : [],\n\t};\n}\n\nexport function createMaestroAppServerProtocolModes(\n\toptions: MaestroAppServerProtocolModesOptions = {},\n): MaestroAppServerProtocolModes {\n\tlet activeMode =\n\t\toptions.initialMode === undefined\n\t\t\t? DEFAULT_MODE\n\t\t\t: normalizeMode(options.initialMode);\n\tconst reviewModeEscapeToken = normalizeEscapeToken(\n\t\toptions.reviewModeEscapeToken,\n\t);\n\treturn {\n\t\tlistModes(params) {\n\t\t\tparamsRecord(params);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tdefaultMode: DEFAULT_MODE,\n\t\t\t\tmodes: maestroAppServerProtocolModeIds.map(describeMode),\n\t\t\t};\n\t\t},\n\n\t\tsetMode(params) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tactiveMode = normalizeMode(normalizedParams.mode);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tmode: describeMode(activeMode),\n\t\t\t};\n\t\t},\n\n\t\tcheckMethod(method, params) {\n\t\t\tif (\n\t\t\t\tactiveMode === \"review\" &&\n\t\t\t\tmethod === \"protocol/mode/set\" &&\n\t\t\t\tisAuthorizedReviewModeEscape(params, reviewModeEscapeToken)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\tif (isMethodAllowedInMode(activeMode, method)) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tallowed: false,\n\t\t\t\treason: `${method} is blocked while protocol mode is ${activeMode}`,\n\t\t\t};\n\t\t},\n\n\t\tactiveMode() {\n\t\t\treturn activeMode;\n\t\t},\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-api.d.ts","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-api.d.ts","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EACvC,KAAK,2BAA2B,EAChC,KAAK,yCAAyC,EAC9C,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAElC,KAAK,+BAA+B,EAEpC,KAAK,mDAAmD,EACxD,KAAK,sCAAsC,EAC3C,KAAK,kCAAkC,EACvC,KAAK,sCAAsC,EAC3C,KAAK,0CAA0C,EAC/C,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAC1C,KAAK,wCAAwC,EAC7C,KAAK,wCAAwC,EAC7C,KAAK,yCAAyC,EAC9C,KAAK,sCAAsC,EAC3C,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,sBAAsB,EAC3B,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EAGrC,KAAK,gCAAgC,EACrC,KAAK,0CAA0C,EAC/C,KAAK,iCAAiC,EAEtC,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,6BAA6B,EAG7B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,KAAK,EACX,YAAY,EAKZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,KAAK,+BAA+B,EAGpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,KAAK,mCAAmC,EAIxC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,KAAK,2BAA2B,EAGhC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,iCAAiC,EAGtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,KAAK,+BAA+B,EAGpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,6BAA6B,EAGlC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAGlC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,KAAK,4BAA4B,EAIjC,MAAM,wBAAwB,CAAC;AAKhC,YAAY,EAAE,kCAAkC,EAAE,CAAC;AACnD,OAAO,EACN,KAAK,+BAA+B,EACpC,qCAAqC,GACrC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,KAAK,mCAAmC,EACxC,yCAAyC,GACzC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,KAAK,+BAA+B,EACpC,qCAAqC,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,6BAA6B,EAClC,mCAAmC,GACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,KAAK,4BAA4B,EACjC,kCAAkC,GAClC,MAAM,wBAAwB,CAAC;AAGhC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,KAAK,YAAY,GAAG,IAAI,CACvB,cAAc,EACd,oBAAoB,GAAG,iBAAiB,GAAG,cAAc,GAAG,aAAa,CACzE,GAAG;IACH,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,kBAAkB,CAAC,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,KAChB,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,wBAAwB,CAAC,EAAE,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,KAChB,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,kBAAkB,CAAC,EAAE,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,KACb,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7E,kBAAkB,CAAC,EAAE,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,KACb,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,uBAAuB,CAAC,EAAE,CACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,0BAA0B,GAAG,IAAI,KACnC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QACzD,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1D,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK;QACnD,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,iCAAiC;IACjD,WAAW,CAAC,EAAE,2BAA2B,GAAG,KAAK,CAAC;IAClD,aAAa,CAAC,EAAE,6BAA6B,GAAG,KAAK,CAAC;IACtD,iBAAiB,CAAC,EAAE,iCAAiC,GAAG,KAAK,CAAC;IAC9D,YAAY,CAAC,EAAE,4BAA4B,GAAG,KAAK,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,mCAAmC,GAAG,KAAK,CAAC;IAClE,aAAa,CAAC,EAAE,+BAA+B,GAAG,KAAK,CAAC;IACxD,eAAe,CAAC,EAAE,+BAA+B,GAAG,KAAK,CAAC;IAC1D,aAAa,CAAC,EAAE,6BAA6B,GAAG,KAAK,CAAC;IACtD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,kCAAkC,KAAK,IAAI,CAAC;CAC5E;AAED,MAAM,WAAW,0BAA0B;IAC1C,UAAU,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACjD,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC5C,iBAAiB,CAChB,MAAM,EAAE,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,EACtD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,oCAAoC,CAAC;IACxC,iBAAiB,CAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAClD,UAAU,CACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC5C,6BAA6B,CAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,mDAAmD,CAAC,CAAC;IAChE,UAAU,CACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,YAAY,CACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,YAAY,CACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,mBAAmB,CAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACtD,iBAAiB,CAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,mBAAmB,CAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,kBAAkB,CACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,uBAAuB,CACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACtD,sBAAsB,CACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACrD,2BAA2B,CAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACrD,kBAAkB,CACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACrD,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,iBAAiB,CAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACjD,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACjD,QAAQ,CACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,SAAS,CACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAClD,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,MAAM,CACL,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7E,KAAK,CACJ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,OAAO,CACN,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC9E,oBAAoB,CACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,UAAU,CACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD,YAAY,CACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,SAAS,CACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC5C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAE9C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAiLD,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,YAAY,EAAE,GACrB,oBAAoB,EAAE,CAExB;AA+WD,wBAAgB,gCAAgC,CAC/C,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,iCAAsC,GAC7C,0BAA0B,CAg2B5B;AAqDD,wBAAsB,6BAA6B,CAClD,GAAG,EAAE,0BAA0B,EAC/B,OAAO,EAAE,6BAA6B,GACpC,OAAO,CAAC,wBAAwB,CAAC,CA4UnC"}
|
|
@@ -185,10 +185,17 @@ function turnsFromProjection(projection) {
|
|
|
185
185
|
}));
|
|
186
186
|
}
|
|
187
187
|
function graphFromProjection(projection) {
|
|
188
|
+
const agentLineage = projection.agentLineage.edges.length > 0
|
|
189
|
+
? projection.agentLineage
|
|
190
|
+
: undefined;
|
|
188
191
|
return {
|
|
189
192
|
branchId: projection.branchId,
|
|
190
193
|
leafEntryId: projection.leafEntryId,
|
|
191
194
|
activeEntryIds: projection.activeEntryIds,
|
|
195
|
+
authoritativeEntryIds: projection.authoritativeEntryIds,
|
|
196
|
+
supersededEntryIds: projection.supersededEntryIds,
|
|
197
|
+
revisionGroups: projection.revisionGroups,
|
|
198
|
+
agentLineage,
|
|
192
199
|
compactionSpans: projection.compactionSpans,
|
|
193
200
|
};
|
|
194
201
|
}
|
|
@@ -809,6 +816,7 @@ export function createMaestroAppServerSessionApi(store, options = {}) {
|
|
|
809
816
|
async readThread(params = {}) {
|
|
810
817
|
const threadId = requireThreadId(params);
|
|
811
818
|
const includeTurns = params.includeTurns === true;
|
|
819
|
+
const includeHistory = params.includeHistory === true;
|
|
812
820
|
const messagesView = parseMessagesView(params.messagesView);
|
|
813
821
|
const loaded = await store.loadSession(threadId, { messagesView });
|
|
814
822
|
if (!loaded) {
|
|
@@ -822,9 +830,14 @@ export function createMaestroAppServerSessionApi(store, options = {}) {
|
|
|
822
830
|
if (sessionFile && !sessionFile.startsWith("db:")) {
|
|
823
831
|
thread.path = sessionFile;
|
|
824
832
|
}
|
|
825
|
-
if (includeTurns) {
|
|
833
|
+
if (includeTurns || includeHistory) {
|
|
826
834
|
const projection = await loadProjectionForThread(store, threadId);
|
|
827
|
-
|
|
835
|
+
if (includeTurns) {
|
|
836
|
+
thread.turns = turnsFromProjection(projection);
|
|
837
|
+
}
|
|
838
|
+
if (includeHistory) {
|
|
839
|
+
thread.history = projection.historyEntries.map(treeEntryToItem);
|
|
840
|
+
}
|
|
828
841
|
thread.graph = graphFromProjection(projection);
|
|
829
842
|
}
|
|
830
843
|
return thread;
|