@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":"session-api.js","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { resolve } from \"node:path\";\nimport {\n\ttype MaestroAppServerClientRequest,\n\ttype MaestroAppServerCommandExecResult,\n\ttype MaestroAppServerCommandProcessResult,\n\ttype MaestroAppServerDaemonStatusResult,\n\ttype MaestroAppServerEmptyResult,\n\ttype MaestroAppServerExternalAgentImportResult,\n\ttype MaestroAppServerFsMetadataResult,\n\ttype MaestroAppServerFsReadDirectoryResult,\n\ttype MaestroAppServerFsReadFileResult,\n\ttype MaestroAppServerFsWatchResult,\n\ttype MaestroAppServerModel,\n\ttype MaestroAppServerModelListResult,\n\ttype MaestroAppServerModelProviderCapabilities,\n\ttype MaestroAppServerModelProviderCapabilitiesReadResult,\n\ttype MaestroAppServerNetworkAuditListResult,\n\ttype MaestroAppServerNetworkFetchResult,\n\ttype MaestroAppServerPluginBundleListResult,\n\ttype MaestroAppServerPluginBundleMutationResult,\n\ttype MaestroAppServerPolicyCheckResult,\n\ttype MaestroAppServerPolicyReadResult,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\ttype MaestroAppServerRemoteControlDrainResult,\n\ttype MaestroAppServerRemoteControlLeaseResult,\n\ttype MaestroAppServerRemoteControlStatusResult,\n\ttype MaestroAppServerRequirementsListResult,\n\ttype MaestroAppServerResponse,\n\ttype MaestroAppServerSandboxCheckResult,\n\ttype MaestroAppServerSandboxProbeResult,\n\ttype MaestroAppServerServerNotification,\n\ttype MaestroAppServerThread,\n\ttype MaestroAppServerThreadArchiveResult,\n\ttype MaestroAppServerThreadDeleteResult,\n\ttype MaestroAppServerThreadForkResult,\n\ttype MaestroAppServerThreadGoal,\n\ttype MaestroAppServerThreadGoalResult,\n\ttype MaestroAppServerThreadGraph,\n\ttype MaestroAppServerThreadItem,\n\ttype MaestroAppServerThreadListResult,\n\ttype MaestroAppServerThreadMetadataUpdateResult,\n\ttype MaestroAppServerThreadStartResult,\n\ttype MaestroAppServerThreadSummary,\n\ttype MaestroAppServerTurn,\n\ttype MaestroAppServerTurnsListResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolVersion,\n\tmaestroAppServerSupportedProtocolVersions,\n} from \"@evalops/contracts\";\nimport type { AppMessage } from \"../agent/types.js\";\nimport { getRegisteredModels } from \"../models/registry.js\";\nimport type { RegisteredModel } from \"../models/registry.js\";\nimport type { SessionManager } from \"../session/manager.js\";\nimport { safeReadSessionEntries } from \"../session/session-context.js\";\nimport {\n\ttype SessionGraphProjection,\n\tbuildSessionGraphProjection,\n} from \"../session/session-graph-projection.js\";\nimport type {\n\tSessionEntry,\n\tSessionMessagesView,\n\tSessionMetadata,\n\tSessionSummary,\n\tSessionTreeEntry,\n} from \"../session/types.js\";\nimport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tMaestroAppServerDaemonLifecycleError,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nimport {\n\ttype MaestroAppServerExternalAgentImport,\n\tMaestroAppServerExternalAgentImportError,\n\tcreateMaestroAppServerExternalAgentImport,\n\tnormalizeExternalAgentImportParams,\n} from \"./external-agent-import-api.js\";\nimport {\n\ttype MaestroAppServerHostControl,\n\tMaestroAppServerHostControlError,\n\tcreateMaestroAppServerHostControl,\n} from \"./host-control-api.js\";\nimport {\n\ttype MaestroAppServerNetworkGovernance,\n\tMaestroAppServerNetworkGovernanceError,\n\tcreateMaestroAppServerNetworkGovernance,\n} from \"./network-governance-api.js\";\nimport {\n\ttype MaestroAppServerPluginBundleApi,\n\tMaestroAppServerPluginBundleError,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nimport {\n\ttype MaestroAppServerPolicyControl,\n\tMaestroAppServerPolicyControlError,\n\tcreateMaestroAppServerPolicyControl,\n} from \"./policy-control-api.js\";\nimport {\n\ttype MaestroAppServerProtocolModeDecision,\n\ttype MaestroAppServerProtocolModes,\n\tMaestroAppServerProtocolModesError,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nimport {\n\ttype MaestroAppServerSandboxCheck,\n\tMaestroAppServerSandboxCheckError,\n\tcreateMaestroAppServerSandboxCheck,\n\tnormalizeSandboxCheckParams,\n} from \"./sandbox-check-api.js\";\n\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\n\nexport type { MaestroAppServerServerNotification };\nexport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nexport {\n\ttype MaestroAppServerExternalAgentImport,\n\tcreateMaestroAppServerExternalAgentImport,\n} from \"./external-agent-import-api.js\";\nexport {\n\ttype MaestroAppServerPluginBundleApi,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nexport {\n\ttype MaestroAppServerProtocolModes,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nexport {\n\ttype MaestroAppServerSandboxCheck,\n\tcreateMaestroAppServerSandboxCheck,\n} from \"./sandbox-check-api.js\";\n\ntype JsonRpcId = string | number;\ntype MaybePromise<T> = T | Promise<T>;\n\ntype SessionStore = Pick<\n\tSessionManager,\n\t\"getSessionFileById\" | \"loadAllSessions\" | \"listSessions\" | \"loadSession\"\n> & {\n\tgetSessionFile?: () => string;\n\tloadEntries?: (sessionId: string) => Promise<SessionEntry[] | null>;\n\tflush?: () => Promise<void>;\n\tsaveSessionSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsaveSessionResumeSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsetSessionFavorite?: (\n\t\tsessionPath: string,\n\t\tfavorite: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionTitle?: (sessionPath: string, title: string) => MaybePromise<void>;\n\tsetSessionTags?: (sessionPath: string, tags: string[]) => MaybePromise<void>;\n\tsetSessionArchived?: (\n\t\tsessionPath: string,\n\t\tarchived: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionAppServerGoal?: (\n\t\tsessionPath: string,\n\t\tgoal: MaestroAppServerThreadGoal | null,\n\t) => MaybePromise<void>;\n\tcreateSession?: (options?: { title?: string }) => Promise<{\n\t\tid: string;\n\t\ttitle?: string;\n\t\tcreatedAt: string;\n\t\tupdatedAt: string;\n\t\tmessageCount: number;\n\t}>;\n\tcanCreateSession?: () => boolean;\n\tcreateBranchedSession?: (leafId: string) => string;\n\tsetSessionFile?: (path: string) => MaybePromise<void>;\n\tresumeSession?: (sessionId: string) => Promise<boolean>;\n\tgetLeafId?: () => string | null;\n\tgetCurrentLeafId?: () => string | null;\n\tbranch?: (branchFromId: string) => MaybePromise<void>;\n\tresetLeaf?: () => MaybePromise<void>;\n\tdeleteSession?: (sessionId: string) => MaybePromise<void>;\n\timportSessionEntries?: (entries: SessionEntry[]) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n\timportPortableSession?: (path: string) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n};\n\nexport interface MaestroAppServerSessionApiOptions {\n\thostControl?: MaestroAppServerHostControl | false;\n\tpolicyControl?: MaestroAppServerPolicyControl | false;\n\tnetworkGovernance?: MaestroAppServerNetworkGovernance | false;\n\tsandboxCheck?: MaestroAppServerSandboxCheck | false;\n\tprojectRoot?: string;\n\texternalAgentImport?: MaestroAppServerExternalAgentImport | false;\n\tpluginBundles?: MaestroAppServerPluginBundleApi | false;\n\tdaemonLifecycle?: MaestroAppServerDaemonLifecycle | false;\n\tprotocolModes?: MaestroAppServerProtocolModes | false;\n\treviewModeEscapeToken?: string;\n\tonNotification?: (notification: MaestroAppServerServerNotification) => void;\n}\n\nexport interface MaestroAppServerSessionApi {\n\tinitialize(): MaestroAppServerResponse[\"result\"];\n\treviewModeEscapeToken(): string | undefined;\n\tcheckProtocolMode(\n\t\tmethod: (typeof maestroAppServerClientMethods)[number],\n\t\tparams?: Record<string, unknown>,\n\t): MaestroAppServerProtocolModeDecision;\n\tlistProtocolModes(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeListResult>;\n\tsetProtocolMode(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeSetResult>;\n\tlistModels(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelListResult>;\n\treadModelProviderCapabilities(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelProviderCapabilitiesReadResult>;\n\treadPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyReadResult>;\n\tcheckPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRequirementsListResult>;\n\tfetchNetwork(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistNetworkAudit(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n\tprobeSandbox(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxProbeResult>;\n\trunSandboxCheck(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxCheckResult>;\n\timportExternalAgent(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerExternalAgentImportResult>;\n\tlistPluginBundles(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallPluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremovePluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\treadDaemonStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerDaemonStatusResult>;\n\treadRemoteControlStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlStatusResult>;\n\treadRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\theartbeatRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\tdrainRemoteControl(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlDrainResult>;\n\texecCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandExecResult>;\n\twriteCommandStdin(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\tterminateCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\treadFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadFileResult>;\n\twriteFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\treadDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadDirectoryResult>;\n\tgetMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsMetadataResult>;\n\tcreateDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tremove(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tcopy(params?: Record<string, unknown>): Promise<MaestroAppServerEmptyResult>;\n\twatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsWatchResult>;\n\tunwatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tlistThreads(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadListResult>;\n\treadThread(params?: Record<string, unknown>): Promise<MaestroAppServerThread>;\n\tupdateThreadMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tsetThreadName(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tgetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tsetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tclearThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tstartThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadStartResult>;\n\tforkThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadForkResult>;\n\tarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tunarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tdeleteThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadDeleteResult>;\n\tlistTurns(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerTurnsListResult>;\n}\n\nexport class MaestroAppServerError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerError\";\n\t}\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 encodeCursor(offset: number): string {\n\treturn Buffer.from(JSON.stringify({ offset }), \"utf8\").toString(\"base64url\");\n}\n\nfunction decodeCursor(value: unknown): number {\n\tif (value === undefined || value === null || value === \"\") {\n\t\treturn 0;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n\t}\n\ttry {\n\t\tconst decoded = JSON.parse(\n\t\t\tBuffer.from(value, \"base64url\").toString(\"utf8\"),\n\t\t);\n\t\tif (\n\t\t\ttypeof decoded === \"object\" &&\n\t\t\tdecoded !== null &&\n\t\t\ttypeof decoded.offset === \"number\" &&\n\t\t\tNumber.isFinite(decoded.offset) &&\n\t\t\tdecoded.offset >= 0\n\t\t) {\n\t\t\treturn Math.trunc(decoded.offset);\n\t\t}\n\t} catch {\n\t\t// Fall through to the normalized JSON-RPC error below.\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n}\n\nfunction requireThreadId(params?: Record<string, unknown>): string {\n\tconst threadId = params?.threadId;\n\tif (typeof threadId !== \"string\" || threadId.length === 0) {\n\t\tthrow new MaestroAppServerError(-32602, \"Missing threadId\");\n\t}\n\treturn threadId;\n}\n\nfunction toThreadSummary(\n\tmetadata: SessionMetadata,\n\tsummary?: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary?.archived ?? metadata.archived ?? false;\n\tconst archivedAt = archived\n\t\t? (summary?.archivedAt ?? metadata.archivedAt)\n\t\t: undefined;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: metadata.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary?.title ?? metadata.title ?? metadata.summary,\n\t\tsummary: metadata.summary,\n\t\tresumeSummary: summary?.resumeSummary ?? metadata.resumeSummary,\n\t\tmemoryExtractionHash:\n\t\t\tsummary?.memoryExtractionHash ?? metadata.memoryExtractionHash,\n\t\tsubject: metadata.subject,\n\t\tpath: metadata.path,\n\t\tcreatedAt: metadata.created.toISOString(),\n\t\tupdatedAt: metadata.modified.toISOString(),\n\t\tmessageCount: metadata.messageCount,\n\t\tfavorite: summary?.favorite ?? metadata.favorite,\n\t\ttags: summary?.tags ?? metadata.tags,\n\t\tarchived,\n\t};\n\tif (archivedAt) {\n\t\tthread.archivedAt = archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromSessionSummary(\n\tsummary: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: summary.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary.title ?? summary.subject,\n\t\tsummary: summary.summary ?? summary.title ?? summary.subject,\n\t\tresumeSummary: summary.resumeSummary,\n\t\tmemoryExtractionHash: summary.memoryExtractionHash,\n\t\tsubject: summary.subject,\n\t\tcreatedAt: summary.createdAt,\n\t\tupdatedAt: summary.updatedAt,\n\t\tmessageCount: summary.messageCount,\n\t\tfavorite: summary.favorite,\n\t\ttags: summary.tags,\n\t\tarchived,\n\t};\n\tif (archived && summary.archivedAt) {\n\t\tthread.archivedAt = summary.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromLoadedSession(loaded: {\n\tid: string;\n\tsubject?: string;\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tmemoryExtractionHash?: string;\n\tcreatedAt: string;\n\tupdatedAt: string;\n\tmessageCount: number;\n\tfavorite: boolean;\n\ttags?: string[];\n\tarchived?: boolean;\n\tarchivedAt?: string;\n}): MaestroAppServerThreadSummary {\n\tconst archived = loaded.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: loaded.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: loaded.title ?? loaded.subject,\n\t\tsummary: loaded.summary ?? loaded.title ?? loaded.subject,\n\t\tresumeSummary: loaded.resumeSummary,\n\t\tmemoryExtractionHash: loaded.memoryExtractionHash,\n\t\tsubject: loaded.subject,\n\t\tcreatedAt: loaded.createdAt,\n\t\tupdatedAt: loaded.updatedAt,\n\t\tmessageCount: loaded.messageCount,\n\t\tfavorite: loaded.favorite,\n\t\ttags: loaded.tags,\n\t\tarchived,\n\t};\n\tif (archived && loaded.archivedAt) {\n\t\tthread.archivedAt = loaded.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction appMessageContent(message: AppMessage): unknown {\n\treturn \"content\" in message ? message.content : message;\n}\n\nfunction treeEntryToItem(entry: SessionTreeEntry): MaestroAppServerThreadItem {\n\tif (entry.type === \"message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: \"message\",\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\trole: entry.message.role,\n\t\t\tcontent: appMessageContent(entry.message),\n\t\t};\n\t}\n\tif (entry.type === \"custom_message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: entry.customType,\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\tcontent: entry.content,\n\t\t\tdata: entry.details,\n\t\t};\n\t}\n\treturn {\n\t\tid: entry.id,\n\t\ttype: entry.type,\n\t\tparentId: entry.parentId,\n\t\ttimestamp: entry.timestamp,\n\t\tdata: entry,\n\t};\n}\n\nexport function buildTurnsFromSessionEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerTurn[] {\n\treturn turnsFromProjection(buildSessionGraphProjection(entries));\n}\n\nfunction turnsFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerTurn[] {\n\treturn projection.turns.map((turn) => ({\n\t\tid: turn.id,\n\t\tparentTurnId: turn.parentTurnId,\n\t\tstatus: turn.status,\n\t\tstartedAt: turn.startedAt,\n\t\tcompletedAt: turn.completedAt,\n\t\tsourceEntryIds: turn.sourceEntryIds,\n\t\ttoolCallIds: turn.toolCallIds,\n\t\titems: turn.entries.map(treeEntryToItem),\n\t}));\n}\n\nfunction graphFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerThreadGraph {\n\treturn {\n\t\tbranchId: projection.branchId,\n\t\tleafEntryId: projection.leafEntryId,\n\t\tactiveEntryIds: projection.activeEntryIds,\n\t\tcompactionSpans: projection.compactionSpans,\n\t};\n}\n\nfunction parseMessagesView(value: unknown): SessionMessagesView {\n\tif (value === undefined || value === null) {\n\t\treturn \"notLoaded\";\n\t}\n\tif (value === \"full\" || value === \"summary\" || value === \"notLoaded\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid messagesView\");\n}\n\nfunction optionalTrimmedString(\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\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim() || undefined;\n}\n\nfunction optionalBoolean(value: unknown, field: string): boolean | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"boolean\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value;\n}\n\nfunction isAuthorizedSessionReviewModeEscape(\n\tprotocolModes: MaestroAppServerProtocolModes | undefined,\n\tmethod: (typeof maestroAppServerClientMethods)[number],\n\tparams: Record<string, unknown> | undefined,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (\n\t\t!protocolModes ||\n\t\t!reviewModeEscapeToken ||\n\t\tmethod !== \"protocol/mode/set\" ||\n\t\tprotocolModes.activeMode() !== \"review\"\n\t) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tparams?.mode !== \"review\" &&\n\t\tparams?.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction optionalStringArray(\n\tvalue: unknown,\n\tfield: string,\n): string[] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\t!Array.isArray(value) ||\n\t\tvalue.some((entry) => typeof entry !== \"string\")\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn Array.from(\n\t\tnew Set(value.map((entry) => entry.trim()).filter(Boolean)),\n\t);\n}\n\nfunction requireThreadReference(store: SessionStore, threadId: string): string {\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function requireExistingThreadReference(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<string> {\n\tconst sessionFile = requireThreadReference(store, threadId);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function flushSessionWrites(store: SessionStore): Promise<void> {\n\tawait store.flush?.();\n}\n\nasync function restoreSessionBinding(\n\tstore: SessionStore,\n\tsessionReference: string | undefined,\n\tleafId?: string | null,\n): Promise<void> {\n\tif (!sessionReference) {\n\t\treturn;\n\t}\n\tconst dbSessionId = sessionReference.startsWith(\"db:\")\n\t\t? sessionReference.slice(\"db:\".length)\n\t\t: undefined;\n\tlet restored = false;\n\tif (dbSessionId && store.resumeSession) {\n\t\trestored = await store.resumeSession(dbSessionId);\n\t}\n\tif (!restored) {\n\t\tawait store.setSessionFile?.(sessionReference);\n\t}\n\tif (leafId === null) {\n\t\tawait store.resetLeaf?.();\n\t} else if (leafId && store.branch) {\n\t\tawait store.branch(leafId);\n\t}\n}\n\nfunction getCurrentLeafId(store: SessionStore): string | null {\n\treturn store.getLeafId?.() ?? store.getCurrentLeafId?.() ?? null;\n}\n\nfunction isActiveThreadSessionFile(\n\tstore: SessionStore,\n\tsessionFile: string,\n): boolean {\n\tconst activeSessionFile = store.getSessionFile?.();\n\tif (!activeSessionFile) {\n\t\treturn false;\n\t}\n\treturn resolve(activeSessionFile) === resolve(sessionFile);\n}\n\ninterface ThreadMetadataExpectation {\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tfavorite?: boolean;\n\ttags?: string[];\n}\n\nasync function summarizeThreadAfterMutation(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadSummary> {\n\tawait flushSessionWrites(store);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tconst summary = toThreadSummaryFromLoadedSession(loaded);\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\tsummary.path = sessionFile;\n\t}\n\treturn summary;\n}\n\nfunction tagsEqual(left: string[] | undefined, right: string[] | undefined) {\n\tif (left === undefined || right === undefined) {\n\t\treturn left === right;\n\t}\n\treturn (\n\t\tleft.length === right.length &&\n\t\tleft.every((value, index) => value === right[index])\n\t);\n}\n\nfunction verifyThreadMetadataPersisted(\n\tthread: MaestroAppServerThreadSummary,\n\texpected: ThreadMetadataExpectation,\n): void {\n\tconst persisted =\n\t\t(expected.title === undefined || thread.title === expected.title) &&\n\t\t(expected.summary === undefined || thread.summary === expected.summary) &&\n\t\t(expected.resumeSummary === undefined ||\n\t\t\tthread.resumeSummary === expected.resumeSummary) &&\n\t\t(expected.favorite === undefined ||\n\t\t\tthread.favorite === expected.favorite) &&\n\t\t(expected.tags === undefined || tagsEqual(thread.tags, expected.tags));\n\tif (!persisted) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread metadata update was not persisted\",\n\t\t);\n\t}\n}\n\nfunction latestGoalFromEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerThreadGoal | null {\n\tlet goal: MaestroAppServerThreadGoal | null = null;\n\tfor (const entry of entries) {\n\t\tif (entry.type !== \"session_meta\" || entry.appServerGoal === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\tgoal = entry.appServerGoal;\n\t}\n\treturn goal;\n}\n\nfunction goalsEqual(\n\tactual: MaestroAppServerThreadGoal | null,\n\texpected: MaestroAppServerThreadGoal | null,\n): boolean {\n\tif (actual === null || expected === null) {\n\t\treturn actual === expected;\n\t}\n\treturn (\n\t\tactual.objective === expected.objective &&\n\t\tactual.status === expected.status &&\n\t\tactual.tokenBudget === expected.tokenBudget &&\n\t\tactual.createdAt === expected.createdAt &&\n\t\tactual.updatedAt === expected.updatedAt\n\t);\n}\n\nasync function verifyThreadGoalPersisted(\n\tstore: SessionStore,\n\tthreadId: string,\n\texpected: MaestroAppServerThreadGoal | null,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tconst persisted = await loadThreadGoal(store, threadId);\n\tif (!goalsEqual(persisted, expected)) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread goal update was not persisted\",\n\t\t);\n\t}\n\treturn persisted;\n}\n\nfunction normalizeGoalStatus(\n\tvalue: unknown,\n): MaestroAppServerThreadGoal[\"status\"] {\n\tif (value === undefined || value === null) {\n\t\treturn \"active\";\n\t}\n\tif (value === \"active\" || value === \"complete\" || value === \"cancelled\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid status\");\n}\n\nfunction normalizeTokenBudget(value: unknown): number | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\ttypeof value !== \"number\" ||\n\t\t!Number.isFinite(value) ||\n\t\tvalue <= 0 ||\n\t\t!Number.isInteger(value)\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid tokenBudget\");\n\t}\n\treturn value;\n}\n\nfunction modelToAppServerModel(model: RegisteredModel): MaestroAppServerModel {\n\tconst responsesApi =\n\t\tmodel.api === \"openai-responses\" || model.api === \"openai-codex-responses\";\n\tconst codexBackend =\n\t\tmodel.api === \"openai-codex-responses\" ||\n\t\tmodel.api === \"openai-codex-app-server\";\n\treturn {\n\t\tid: model.id,\n\t\tprovider: model.provider,\n\t\tname: model.name || model.id,\n\t\tapi: model.api,\n\t\tcontextWindow: model.contextWindow,\n\t\tmaxTokens: model.maxTokens,\n\t\tcost: model.cost,\n\t\tsource: model.source,\n\t\tsupportedReasoningEfforts: model.reasoning\n\t\t\t? [\"minimal\", \"low\", \"medium\", \"high\", \"ultra\"]\n\t\t\t: undefined,\n\t\tdefaultReasoningEffort: model.reasoning ? \"medium\" : undefined,\n\t\tcapabilities: {\n\t\t\tstreaming: true,\n\t\t\ttools: model.toolUse === true,\n\t\t\tvision: model.input?.includes(\"image\") || false,\n\t\t\treasoning: model.reasoning || false,\n\t\t\tresponsesApi,\n\t\t\tcodexBackend,\n\t\t\tlocal: model.isLocal,\n\t\t},\n\t};\n}\n\nfunction mergeProviderCapabilities(\n\tcurrent: MaestroAppServerModelProviderCapabilities | undefined,\n\tmodel: MaestroAppServerModel,\n\tproviderName: string,\n): MaestroAppServerModelProviderCapabilities {\n\tconst capabilities = current?.capabilities ?? {\n\t\tstreaming: false,\n\t\ttools: false,\n\t\tvision: false,\n\t\treasoning: false,\n\t\tresponsesApi: false,\n\t\tcodexBackend: false,\n\t\tlocal: false,\n\t};\n\tconst apis = new Set(current?.apis ?? []);\n\tapis.add(model.api);\n\treturn {\n\t\tid: model.provider,\n\t\tname: current?.name ?? providerName,\n\t\tapis: Array.from(apis).sort(),\n\t\tmodelCount: (current?.modelCount ?? 0) + 1,\n\t\tcapabilities: {\n\t\t\tstreaming: capabilities.streaming || model.capabilities.streaming,\n\t\t\ttools: capabilities.tools || model.capabilities.tools,\n\t\t\tvision: capabilities.vision || model.capabilities.vision,\n\t\t\treasoning: capabilities.reasoning || model.capabilities.reasoning,\n\t\t\tresponsesApi:\n\t\t\t\tcapabilities.responsesApi || model.capabilities.responsesApi,\n\t\t\tcodexBackend:\n\t\t\t\tcapabilities.codexBackend || model.capabilities.codexBackend,\n\t\t\tlocal: capabilities.local || model.capabilities.local,\n\t\t},\n\t};\n}\n\nexport function createMaestroAppServerSessionApi(\n\tstore: SessionStore,\n\toptions: MaestroAppServerSessionApiOptions = {},\n): MaestroAppServerSessionApi {\n\tconst hostControl =\n\t\toptions.hostControl === false\n\t\t\t? undefined\n\t\t\t: (options.hostControl ??\n\t\t\t\tcreateMaestroAppServerHostControl({\n\t\t\t\t\tonNotification: options.onNotification,\n\t\t\t\t}));\n\tconst policyControl =\n\t\toptions.policyControl === false\n\t\t\t? undefined\n\t\t\t: (options.policyControl ?? createMaestroAppServerPolicyControl());\n\tconst networkGovernance =\n\t\toptions.networkGovernance === false\n\t\t\t? undefined\n\t\t\t: (options.networkGovernance ??\n\t\t\t\tcreateMaestroAppServerNetworkGovernance());\n\tconst sandboxCheck =\n\t\toptions.sandboxCheck === false\n\t\t\t? undefined\n\t\t\t: (options.sandboxCheck ?? createMaestroAppServerSandboxCheck());\n\tconst canMutateSessionPersistence = store.canCreateSession?.() ?? true;\n\tconst pluginBundles =\n\t\toptions.pluginBundles === false ||\n\t\t!canMutateSessionPersistence ||\n\t\t!hostControl\n\t\t\t? undefined\n\t\t\t: (options.pluginBundles ??\n\t\t\t\tcreateMaestroAppServerPluginBundleApi({\n\t\t\t\t\tprojectRoot: options.projectRoot,\n\t\t\t\t}));\n\tconst daemonLifecycle =\n\t\toptions.daemonLifecycle === false\n\t\t\t? undefined\n\t\t\t: (options.daemonLifecycle ?? createMaestroAppServerDaemonLifecycle());\n\tconst defaultReviewModeEscapeToken =\n\t\toptions.protocolModes === false || options.protocolModes\n\t\t\t? options.reviewModeEscapeToken\n\t\t\t: (options.reviewModeEscapeToken ?? randomUUID());\n\tconst protocolModes =\n\t\toptions.protocolModes === false\n\t\t\t? undefined\n\t\t\t: (options.protocolModes ??\n\t\t\t\tcreateMaestroAppServerProtocolModes({\n\t\t\t\t\treviewModeEscapeToken: defaultReviewModeEscapeToken,\n\t\t\t\t}));\n\tconst reviewModeEscapeToken = defaultReviewModeEscapeToken;\n\tconst daemonLifecycleCapabilities = daemonLifecycle?.capabilities() ?? {\n\t\tdaemonStatus: false,\n\t\tremoteControlStatus: false,\n\t\tremoteControlLease: false,\n\t\tremoteControlDrain: false,\n\t};\n\tconst canUpdateThreadMetadata = Boolean(\n\t\tstore.setSessionTitle &&\n\t\t\tstore.saveSessionSummary &&\n\t\t\tstore.saveSessionResumeSummary &&\n\t\t\tstore.setSessionFavorite &&\n\t\t\tstore.setSessionTags,\n\t);\n\tconst canSetThreadName = Boolean(store.setSessionTitle);\n\tconst canUseThreadGoals = Boolean(\n\t\tstore.setSessionAppServerGoal && store.loadEntries,\n\t);\n\tconst externalAgentImport =\n\t\toptions.externalAgentImport === false || !canMutateSessionPersistence\n\t\t\t? undefined\n\t\t\t: (options.externalAgentImport ??\n\t\t\t\tcreateMaestroAppServerExternalAgentImport({ store }));\n\tconst canStartThreads = Boolean(\n\t\tstore.createSession && canMutateSessionPersistence,\n\t);\n\tconst canForkThreads = Boolean(\n\t\tcanMutateSessionPersistence &&\n\t\t\tstore.createBranchedSession &&\n\t\t\tstore.setSessionFile,\n\t);\n\tconst canArchiveThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.setSessionArchived,\n\t);\n\tconst canDeleteThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.deleteSession,\n\t);\n\tconst canUseHostControl = Boolean(hostControl);\n\tconst canUseFilesystemWatch = Boolean(hostControl?.supportsWatch());\n\tconst canUsePolicyControl = Boolean(policyControl);\n\tconst canUseNetworkGovernance = Boolean(networkGovernance);\n\tconst canUseSandboxCheck = Boolean(sandboxCheck);\n\tconst canUseExternalAgentImport = Boolean(externalAgentImport);\n\tconst canUsePluginBundles = Boolean(pluginBundles);\n\n\treturn {\n\t\tinitialize() {\n\t\t\treturn {\n\t\t\t\tprotocolVersion: maestroAppServerProtocolVersion,\n\t\t\t\tsupportedProtocolVersions: [\n\t\t\t\t\t...maestroAppServerSupportedProtocolVersions,\n\t\t\t\t],\n\t\t\t\tserverInfo: {\n\t\t\t\t\tname: \"maestro\",\n\t\t\t\t},\n\t\t\t\tcapabilities: {\n\t\t\t\t\tsessions: true,\n\t\t\t\t\tprotocolModes: Boolean(protocolModes),\n\t\t\t\t\tmodelList: true,\n\t\t\t\t\tmodelProviderCapabilities: true,\n\t\t\t\t\tmanagedPolicy: canUsePolicyControl,\n\t\t\t\t\trequirements: canUsePolicyControl,\n\t\t\t\t\tnetworkProxy: canUseNetworkGovernance,\n\t\t\t\t\tnetworkAudit: canUseNetworkGovernance,\n\t\t\t\t\tsandboxProbe: canUseSandboxCheck,\n\t\t\t\t\tsandboxCheck: canUseSandboxCheck,\n\t\t\t\t\texternalAgentImport: canUseExternalAgentImport,\n\t\t\t\t\tpluginBundles: canUsePluginBundles,\n\t\t\t\t\tdaemonStatus: daemonLifecycleCapabilities.daemonStatus,\n\t\t\t\t\tremoteControlStatus: daemonLifecycleCapabilities.remoteControlStatus,\n\t\t\t\t\tremoteControlLease: daemonLifecycleCapabilities.remoteControlLease,\n\t\t\t\t\tremoteControlDrain: daemonLifecycleCapabilities.remoteControlDrain,\n\t\t\t\t\tcommandExec: canUseHostControl,\n\t\t\t\t\tcommandProcessControl: canUseHostControl,\n\t\t\t\t\tfilesystem: canUseHostControl,\n\t\t\t\t\tfilesystemWatch: canUseFilesystemWatch,\n\t\t\t\t\tthreadList: true,\n\t\t\t\t\tthreadRead: true,\n\t\t\t\t\tthreadMetadataUpdate: canUpdateThreadMetadata,\n\t\t\t\t\tthreadNameSet: canSetThreadName,\n\t\t\t\t\tthreadGoals: canUseThreadGoals,\n\t\t\t\t\tthreadStart: canStartThreads,\n\t\t\t\t\tthreadFork: canForkThreads,\n\t\t\t\t\tthreadArchive: canArchiveThreads,\n\t\t\t\t\tthreadDelete: canDeleteThreads,\n\t\t\t\t\tturnsList: true,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\treviewModeEscapeToken() {\n\t\t\treturn reviewModeEscapeToken;\n\t\t},\n\n\t\tcheckProtocolMode(method, params) {\n\t\t\tif (\n\t\t\t\tisAuthorizedSessionReviewModeEscape(\n\t\t\t\t\tprotocolModes,\n\t\t\t\t\tmethod,\n\t\t\t\t\tparams,\n\t\t\t\t\treviewModeEscapeToken,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn protocolModes?.checkMethod(method, params) ?? { allowed: true };\n\t\t},\n\n\t\tasync listProtocolModes(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.listModes(params);\n\t\t},\n\n\t\tasync setProtocolMode(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.setMode(params);\n\t\t},\n\n\t\tasync readPolicy() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.readPolicy();\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.checkPolicy(params);\n\t\t},\n\n\t\tasync listRequirements() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Requirements are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.listRequirements();\n\t\t},\n\n\t\tasync fetchNetwork(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network proxy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.fetch(params);\n\t\t},\n\n\t\tasync listNetworkAudit(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network audit is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.listAudit(params);\n\t\t},\n\n\t\tasync probeSandbox(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox probe is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tnormalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.probe();\n\t\t},\n\n\t\tasync runSandboxCheck(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox check is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.runCheck(normalizedParams);\n\t\t},\n\n\t\tasync importExternalAgent(params = {}) {\n\t\t\tif (!externalAgentImport) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"External agent import is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeExternalAgentImportParams(params);\n\t\t\treturn externalAgentImport.importBundle(normalizedParams);\n\t\t},\n\n\t\tasync listPluginBundles(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.listBundles(params);\n\t\t},\n\n\t\tasync installPluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.installBundle(params);\n\t\t},\n\n\t\tasync removePluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.removeBundle(params);\n\t\t},\n\n\t\tasync readDaemonStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Daemon lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.status(params);\n\t\t},\n\n\t\tasync readRemoteControlStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.remoteControlStatus(params);\n\t\t},\n\n\t\tasync readRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.readLease(params);\n\t\t},\n\n\t\tasync heartbeatRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.heartbeatLease(params);\n\t\t},\n\n\t\tasync drainRemoteControl(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control drain is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.drain(params);\n\t\t},\n\n\t\tasync execCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command exec is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.execCommand(params);\n\t\t},\n\n\t\tasync writeCommandStdin(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.writeCommandStdin(params);\n\t\t},\n\n\t\tasync terminateCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.terminateCommand(params);\n\t\t},\n\n\t\tasync readFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readFile(params);\n\t\t},\n\n\t\tasync writeFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.writeFile(params);\n\t\t},\n\n\t\tasync readDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readDirectory(params);\n\t\t},\n\n\t\tasync getMetadata(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.getMetadata(params);\n\t\t},\n\n\t\tasync createDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.createDirectory(params);\n\t\t},\n\n\t\tasync remove(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.remove(params);\n\t\t},\n\n\t\tasync copy(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.copy(params);\n\t\t},\n\n\t\tasync watch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.watch(params);\n\t\t},\n\n\t\tasync unwatch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.unwatch(params);\n\t\t},\n\n\t\tasync listModels(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst api = optionalTrimmedString(params.api, \"api\");\n\t\t\tconst models = getRegisteredModels()\n\t\t\t\t.filter((model) => !provider || model.provider === provider)\n\t\t\t\t.filter((model) => !api || model.api === api)\n\t\t\t\t.map(modelToAppServerModel)\n\t\t\t\t.sort((left, right) =>\n\t\t\t\t\t`${left.provider}/${left.id}`.localeCompare(\n\t\t\t\t\t\t`${right.provider}/${right.id}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\treturn { models };\n\t\t},\n\n\t\tasync readModelProviderCapabilities(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst providers = new Map<\n\t\t\t\tstring,\n\t\t\t\tMaestroAppServerModelProviderCapabilities\n\t\t\t>();\n\t\t\tfor (const model of getRegisteredModels()) {\n\t\t\t\tif (provider && model.provider !== provider) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst appServerModel = modelToAppServerModel(model);\n\t\t\t\tproviders.set(\n\t\t\t\t\tmodel.provider,\n\t\t\t\t\tmergeProviderCapabilities(\n\t\t\t\t\t\tproviders.get(model.provider),\n\t\t\t\t\t\tappServerModel,\n\t\t\t\t\t\tmodel.providerName || model.provider,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tproviders: Array.from(providers.values()).sort((left, right) =>\n\t\t\t\t\tleft.id.localeCompare(right.id),\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\n\t\tasync listThreads(params = {}) {\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst includeArchived =\n\t\t\t\toptionalBoolean(params.includeArchived, \"includeArchived\") ?? false;\n\t\t\tconst metadata = store.loadAllSessions();\n\t\t\tif (metadata.length === 0) {\n\t\t\t\tconst page: SessionSummary[] = [];\n\t\t\t\tlet rawOffset = offset;\n\t\t\t\tlet cursorAfterPage = offset;\n\t\t\t\tlet hasMoreVisible = false;\n\t\t\t\tlet exhausted = false;\n\t\t\t\twhile (!hasMoreVisible && !exhausted) {\n\t\t\t\t\tconst summaries = await store.listSessions({\n\t\t\t\t\t\tlimit: limit + 1,\n\t\t\t\t\t\toffset: rawOffset,\n\t\t\t\t\t});\n\t\t\t\t\texhausted = summaries.length <= limit;\n\t\t\t\t\tfor (const summary of summaries) {\n\t\t\t\t\t\trawOffset += 1;\n\t\t\t\t\t\tif (includeArchived || !summary.archived) {\n\t\t\t\t\t\t\tif (page.length < limit) {\n\t\t\t\t\t\t\t\tpage.push(summary);\n\t\t\t\t\t\t\t\tcursorAfterPage = rawOffset;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thasMoreVisible = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (summaries.length === 0) {\n\t\t\t\t\t\texhausted = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tthreads: page.map(toThreadSummaryFromSessionSummary),\n\t\t\t\t\tnextCursor: hasMoreVisible ? encodeCursor(cursorAfterPage) : null,\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst visible = includeArchived\n\t\t\t\t? metadata\n\t\t\t\t: metadata.filter((session) => !session.archived);\n\t\t\tconst page = visible.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreads: page.map((session) => toThreadSummary(session)),\n\t\t\t\tnextCursor:\n\t\t\t\t\tnextOffset < visible.length ? encodeCursor(nextOffset) : null,\n\t\t\t};\n\t\t},\n\n\t\tasync readThread(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst includeTurns = params.includeTurns === true;\n\t\t\tconst messagesView = parseMessagesView(params.messagesView);\n\t\t\tconst loaded = await store.loadSession(threadId, { messagesView });\n\t\t\tif (!loaded) {\n\t\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t\t}\n\t\t\tconst thread: MaestroAppServerThread = {\n\t\t\t\t...toThreadSummaryFromLoadedSession(loaded),\n\t\t\t\tmessagesView: loaded.messagesView,\n\t\t\t};\n\t\t\tconst sessionFile = store.getSessionFileById(threadId);\n\t\t\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\t\t\tthread.path = sessionFile;\n\t\t\t}\n\t\t\tif (includeTurns) {\n\t\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\t\tthread.turns = turnsFromProjection(projection);\n\t\t\t\tthread.graph = graphFromProjection(projection);\n\t\t\t}\n\t\t\treturn thread;\n\t\t},\n\n\t\tasync updateThreadMetadata(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst summary = optionalTrimmedString(params.summary, \"summary\");\n\t\t\tconst resumeSummary = optionalTrimmedString(\n\t\t\t\tparams.resumeSummary,\n\t\t\t\t\"resumeSummary\",\n\t\t\t);\n\t\t\tconst favorite = optionalBoolean(params.favorite, \"favorite\");\n\t\t\tconst tags = optionalStringArray(params.tags, \"tags\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\n\t\t\tif (title !== undefined) {\n\t\t\t\tif (!store.setSessionTitle) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread title updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTitle(sessionFile, title);\n\t\t\t}\n\t\t\tif (summary !== undefined) {\n\t\t\t\tif (!store.saveSessionSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionSummary(summary, sessionFile);\n\t\t\t}\n\t\t\tif (resumeSummary !== undefined) {\n\t\t\t\tif (!store.saveSessionResumeSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread resume summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionResumeSummary(resumeSummary, sessionFile);\n\t\t\t}\n\t\t\tif (favorite !== undefined) {\n\t\t\t\tif (!store.setSessionFavorite) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread favorite updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionFavorite(sessionFile, favorite);\n\t\t\t}\n\t\t\tif (tags !== undefined) {\n\t\t\t\tif (!store.setSessionTags) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread tag updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTags(sessionFile, tags);\n\t\t\t}\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, {\n\t\t\t\ttitle,\n\t\t\t\tsummary,\n\t\t\t\tresumeSummary,\n\t\t\t\tfavorite,\n\t\t\t\ttags,\n\t\t\t});\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync setThreadName(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst name = optionalTrimmedString(params.name, \"name\");\n\t\t\tif (!name) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing name\");\n\t\t\t}\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionTitle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread name updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionTitle(sessionFile, name);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, { title: name });\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync getThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await loadThreadGoal(store, threadId),\n\t\t\t};\n\t\t},\n\n\t\tasync setThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst objective = optionalTrimmedString(params.objective, \"objective\");\n\t\t\tif (!objective) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing objective\");\n\t\t\t}\n\t\t\tconst existing = await loadThreadGoal(store, threadId);\n\t\t\tconst now = new Date().toISOString();\n\t\t\tconst goal: MaestroAppServerThreadGoal = {\n\t\t\t\tobjective,\n\t\t\t\tstatus: normalizeGoalStatus(params.status),\n\t\t\t\ttokenBudget: normalizeTokenBudget(params.tokenBudget),\n\t\t\t\tcreatedAt: existing?.createdAt ?? now,\n\t\t\t\tupdatedAt: now,\n\t\t\t};\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, goal);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await verifyThreadGoalPersisted(store, threadId, goal),\n\t\t\t};\n\t\t},\n\n\t\tasync clearThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, null);\n\t\t\tawait flushSessionWrites(store);\n\t\t\tawait verifyThreadGoalPersisted(store, threadId, null);\n\t\t\treturn { threadId, goal: null };\n\t\t},\n\n\t\tasync startThread(params = {}) {\n\t\t\tconst createThreadSession = store.createSession;\n\t\t\tif (!canStartThreads || !createThreadSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread start is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet created: Awaited<\n\t\t\t\tReturnType<NonNullable<SessionStore[\"createSession\"]>>\n\t\t\t>;\n\t\t\ttry {\n\t\t\t\tcreated = await createThreadSession.call(\n\t\t\t\t\tstore,\n\t\t\t\t\ttitle ? { title } : undefined,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, created.id),\n\t\t\t};\n\t\t},\n\n\t\tasync forkThread(params = {}) {\n\t\t\tconst createBranchedSession = store.createBranchedSession;\n\t\t\tif (!canForkThreads || !createBranchedSession) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Thread fork is not available\");\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst leafEntryId = optionalTrimmedString(\n\t\t\t\tparams.leafEntryId,\n\t\t\t\t\"leafEntryId\",\n\t\t\t);\n\t\t\tif (!leafEntryId) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing leafEntryId\");\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet forkedThreadId: string | undefined;\n\t\t\ttry {\n\t\t\t\tawait store.setSessionFile?.(sessionFile);\n\t\t\t\tlet forkedSessionFile: string;\n\t\t\t\ttry {\n\t\t\t\t\tforkedSessionFile = createBranchedSession.call(store, leafEntryId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (\n\t\t\t\t\t\terror instanceof Error &&\n\t\t\t\t\t\terror.message === `Entry ${leafEntryId} not found`\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new MaestroAppServerError(-32602, \"Unknown leafEntryId\");\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tconst forkedEntries = safeReadSessionEntries(forkedSessionFile);\n\t\t\t\tconst forkedHeader = forkedEntries.find(\n\t\t\t\t\t(entry) => entry.type === \"session\",\n\t\t\t\t);\n\t\t\t\tforkedThreadId =\n\t\t\t\t\tforkedHeader && \"id\" in forkedHeader ? forkedHeader.id : undefined;\n\t\t\t\tif (!forkedThreadId) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32000,\n\t\t\t\t\t\t\"Thread fork did not produce a readable session\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (title && store.setSessionTitle) {\n\t\t\t\t\tawait store.setSessionTitle(forkedSessionFile, title);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, forkedThreadId),\n\t\t\t\tparentThreadId: threadId,\n\t\t\t\tforkedFromEntryId: leafEntryId,\n\t\t\t};\n\t\t},\n\n\t\tasync archiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, true);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (!thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: true };\n\t\t},\n\n\t\tasync unarchiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, false);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: false };\n\t\t},\n\n\t\tasync deleteThread(params = {}) {\n\t\t\tconst deleteSession = store.deleteSession;\n\t\t\tif (!canDeleteThreads || !deleteSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread delete is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (isActiveThreadSessionFile(store, sessionFile)) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Cannot delete the currently active thread\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait deleteSession.call(store, threadId);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn { threadId, deleted: true };\n\t\t},\n\n\t\tasync listTurns(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\tconst turns = turnsFromProjection(projection);\n\t\t\tconst page = turns.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tturns: page,\n\t\t\t\tnextCursor: nextOffset < turns.length ? encodeCursor(nextOffset) : null,\n\t\t\t\tgraph: graphFromProjection(projection),\n\t\t\t};\n\t\t},\n\t};\n}\n\nasync function loadProjectionForThread(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<SessionGraphProjection> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn buildSessionGraphProjection(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile || sessionFile.startsWith(\"db:\")) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn buildSessionGraphProjection(safeReadSessionEntries(sessionFile));\n}\n\nasync function loadThreadGoal(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn latestGoalFromEntries(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tif (sessionFile.startsWith(\"db:\")) {\n\t\tconst loaded = await store.loadSession(threadId, {\n\t\t\tmessagesView: \"notLoaded\",\n\t\t});\n\t\tif (!loaded) {\n\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t}\n\t\treturn null;\n\t}\n\treturn latestGoalFromEntries(safeReadSessionEntries(sessionFile));\n}\n\nfunction isSupportedMethod(\n\tmethod: string,\n): method is (typeof maestroAppServerClientMethods)[number] {\n\treturn maestroAppServerClientMethods.includes(\n\t\tmethod as (typeof maestroAppServerClientMethods)[number],\n\t);\n}\n\nexport async function handleMaestroAppServerRequest(\n\tapi: MaestroAppServerSessionApi,\n\trequest: MaestroAppServerClientRequest,\n): Promise<MaestroAppServerResponse> {\n\tconst id = request.id as JsonRpcId;\n\ttry {\n\t\tif (!isSupportedMethod(request.method)) {\n\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t\tconst method = request.method;\n\t\tconst protocolModeDecision = api.checkProtocolMode?.(\n\t\t\tmethod,\n\t\t\trequest.params,\n\t\t) ?? {\n\t\t\tallowed: true,\n\t\t};\n\t\tif (!protocolModeDecision.allowed) {\n\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t-32003,\n\t\t\t\tprotocolModeDecision.reason ?? \"Method blocked by protocol mode\",\n\t\t\t);\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase \"initialize\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: api.initialize(),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listProtocolModes(request.params),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setProtocolMode(request.params),\n\t\t\t\t};\n\t\t\tcase \"model/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listModels(request.params),\n\t\t\t\t};\n\t\t\tcase \"modelProvider/capabilities/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readModelProviderCapabilities(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/check\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.checkPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"requirements/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listRequirements(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/fetch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.fetchNetwork(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/audit/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listNetworkAudit(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/probe\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.probeSandbox(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/check/run\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.runSandboxCheck(request.params),\n\t\t\t\t};\n\t\t\tcase \"externalAgent/import\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.importExternalAgent(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listPluginBundles(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/install\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.installPluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.removePluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"daemon/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDaemonStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/heartbeat\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.heartbeatRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/drain\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.drainRemoteControl(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.execCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/write\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeCommandStdin(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/terminate\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.terminateCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/writeFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/getMetadata\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/createDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.createDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.remove(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/copy\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.copy(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/watch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.watch(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/unwatch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unwatch(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listThreads(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\tthread: await api.readThread(request.params),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tcase \"thread/metadata/update\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.updateThreadMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/name/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadName(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/get\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/clear\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.clearThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/start\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.startThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/fork\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.forkThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/archive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.archiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/unarchive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unarchiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/delete\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.deleteThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/turns/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listTurns(request.params),\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t} catch (error) {\n\t\tif (\n\t\t\terror instanceof MaestroAppServerError ||\n\t\t\terror instanceof MaestroAppServerHostControlError ||\n\t\t\terror instanceof MaestroAppServerNetworkGovernanceError ||\n\t\t\terror instanceof MaestroAppServerPolicyControlError ||\n\t\t\terror instanceof MaestroAppServerSandboxCheckError ||\n\t\t\terror instanceof MaestroAppServerExternalAgentImportError ||\n\t\t\terror instanceof MaestroAppServerPluginBundleError ||\n\t\t\terror instanceof MaestroAppServerDaemonLifecycleError ||\n\t\t\terror instanceof MaestroAppServerProtocolModesError\n\t\t) {\n\t\t\treturn {\n\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\tid,\n\t\t\t\terror: {\n\t\t\t\t\tcode: error.code,\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tjsonrpc: \"2.0\",\n\t\t\tid,\n\t\t\terror: {\n\t\t\t\tcode: -32603,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t},\n\t\t};\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"session-api.js","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { resolve } from \"node:path\";\nimport {\n\ttype MaestroAppServerClientRequest,\n\ttype MaestroAppServerCommandExecResult,\n\ttype MaestroAppServerCommandProcessResult,\n\ttype MaestroAppServerDaemonStatusResult,\n\ttype MaestroAppServerEmptyResult,\n\ttype MaestroAppServerExternalAgentImportResult,\n\ttype MaestroAppServerFsMetadataResult,\n\ttype MaestroAppServerFsReadDirectoryResult,\n\ttype MaestroAppServerFsReadFileResult,\n\ttype MaestroAppServerFsWatchResult,\n\ttype MaestroAppServerModel,\n\ttype MaestroAppServerModelListResult,\n\ttype MaestroAppServerModelProviderCapabilities,\n\ttype MaestroAppServerModelProviderCapabilitiesReadResult,\n\ttype MaestroAppServerNetworkAuditListResult,\n\ttype MaestroAppServerNetworkFetchResult,\n\ttype MaestroAppServerPluginBundleListResult,\n\ttype MaestroAppServerPluginBundleMutationResult,\n\ttype MaestroAppServerPolicyCheckResult,\n\ttype MaestroAppServerPolicyReadResult,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\ttype MaestroAppServerRemoteControlDrainResult,\n\ttype MaestroAppServerRemoteControlLeaseResult,\n\ttype MaestroAppServerRemoteControlStatusResult,\n\ttype MaestroAppServerRequirementsListResult,\n\ttype MaestroAppServerResponse,\n\ttype MaestroAppServerSandboxCheckResult,\n\ttype MaestroAppServerSandboxProbeResult,\n\ttype MaestroAppServerServerNotification,\n\ttype MaestroAppServerThread,\n\ttype MaestroAppServerThreadArchiveResult,\n\ttype MaestroAppServerThreadDeleteResult,\n\ttype MaestroAppServerThreadForkResult,\n\ttype MaestroAppServerThreadGoal,\n\ttype MaestroAppServerThreadGoalResult,\n\ttype MaestroAppServerThreadGraph,\n\ttype MaestroAppServerThreadItem,\n\ttype MaestroAppServerThreadListResult,\n\ttype MaestroAppServerThreadMetadataUpdateResult,\n\ttype MaestroAppServerThreadStartResult,\n\ttype MaestroAppServerThreadSummary,\n\ttype MaestroAppServerTurn,\n\ttype MaestroAppServerTurnsListResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolVersion,\n\tmaestroAppServerSupportedProtocolVersions,\n} from \"@evalops/contracts\";\nimport type { AppMessage } from \"../agent/types.js\";\nimport { getRegisteredModels } from \"../models/registry.js\";\nimport type { RegisteredModel } from \"../models/registry.js\";\nimport type { SessionManager } from \"../session/manager.js\";\nimport { safeReadSessionEntries } from \"../session/session-context.js\";\nimport {\n\ttype SessionGraphProjection,\n\tbuildSessionGraphProjection,\n} from \"../session/session-graph-projection.js\";\nimport type {\n\tSessionEntry,\n\tSessionMessagesView,\n\tSessionMetadata,\n\tSessionSummary,\n\tSessionTreeEntry,\n} from \"../session/types.js\";\nimport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tMaestroAppServerDaemonLifecycleError,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nimport {\n\ttype MaestroAppServerExternalAgentImport,\n\tMaestroAppServerExternalAgentImportError,\n\tcreateMaestroAppServerExternalAgentImport,\n\tnormalizeExternalAgentImportParams,\n} from \"./external-agent-import-api.js\";\nimport {\n\ttype MaestroAppServerHostControl,\n\tMaestroAppServerHostControlError,\n\tcreateMaestroAppServerHostControl,\n} from \"./host-control-api.js\";\nimport {\n\ttype MaestroAppServerNetworkGovernance,\n\tMaestroAppServerNetworkGovernanceError,\n\tcreateMaestroAppServerNetworkGovernance,\n} from \"./network-governance-api.js\";\nimport {\n\ttype MaestroAppServerPluginBundleApi,\n\tMaestroAppServerPluginBundleError,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nimport {\n\ttype MaestroAppServerPolicyControl,\n\tMaestroAppServerPolicyControlError,\n\tcreateMaestroAppServerPolicyControl,\n} from \"./policy-control-api.js\";\nimport {\n\ttype MaestroAppServerProtocolModeDecision,\n\ttype MaestroAppServerProtocolModes,\n\tMaestroAppServerProtocolModesError,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nimport {\n\ttype MaestroAppServerSandboxCheck,\n\tMaestroAppServerSandboxCheckError,\n\tcreateMaestroAppServerSandboxCheck,\n\tnormalizeSandboxCheckParams,\n} from \"./sandbox-check-api.js\";\n\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\n\nexport type { MaestroAppServerServerNotification };\nexport {\n\ttype MaestroAppServerDaemonLifecycle,\n\tcreateMaestroAppServerDaemonLifecycle,\n} from \"./daemon-lifecycle-api.js\";\nexport {\n\ttype MaestroAppServerExternalAgentImport,\n\tcreateMaestroAppServerExternalAgentImport,\n} from \"./external-agent-import-api.js\";\nexport {\n\ttype MaestroAppServerPluginBundleApi,\n\tcreateMaestroAppServerPluginBundleApi,\n} from \"./plugin-bundle-api.js\";\nexport {\n\ttype MaestroAppServerProtocolModes,\n\tcreateMaestroAppServerProtocolModes,\n} from \"./protocol-modes-api.js\";\nexport {\n\ttype MaestroAppServerSandboxCheck,\n\tcreateMaestroAppServerSandboxCheck,\n} from \"./sandbox-check-api.js\";\n\ntype JsonRpcId = string | number;\ntype MaybePromise<T> = T | Promise<T>;\n\ntype SessionStore = Pick<\n\tSessionManager,\n\t\"getSessionFileById\" | \"loadAllSessions\" | \"listSessions\" | \"loadSession\"\n> & {\n\tgetSessionFile?: () => string;\n\tloadEntries?: (sessionId: string) => Promise<SessionEntry[] | null>;\n\tflush?: () => Promise<void>;\n\tsaveSessionSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsaveSessionResumeSummary?: (\n\t\tsummary: string,\n\t\tsessionPath?: string,\n\t) => MaybePromise<void>;\n\tsetSessionFavorite?: (\n\t\tsessionPath: string,\n\t\tfavorite: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionTitle?: (sessionPath: string, title: string) => MaybePromise<void>;\n\tsetSessionTags?: (sessionPath: string, tags: string[]) => MaybePromise<void>;\n\tsetSessionArchived?: (\n\t\tsessionPath: string,\n\t\tarchived: boolean,\n\t) => MaybePromise<void>;\n\tsetSessionAppServerGoal?: (\n\t\tsessionPath: string,\n\t\tgoal: MaestroAppServerThreadGoal | null,\n\t) => MaybePromise<void>;\n\tcreateSession?: (options?: { title?: string }) => Promise<{\n\t\tid: string;\n\t\ttitle?: string;\n\t\tcreatedAt: string;\n\t\tupdatedAt: string;\n\t\tmessageCount: number;\n\t}>;\n\tcanCreateSession?: () => boolean;\n\tcreateBranchedSession?: (leafId: string) => string;\n\tsetSessionFile?: (path: string) => MaybePromise<void>;\n\tresumeSession?: (sessionId: string) => Promise<boolean>;\n\tgetLeafId?: () => string | null;\n\tgetCurrentLeafId?: () => string | null;\n\tbranch?: (branchFromId: string) => MaybePromise<void>;\n\tresetLeaf?: () => MaybePromise<void>;\n\tdeleteSession?: (sessionId: string) => MaybePromise<void>;\n\timportSessionEntries?: (entries: SessionEntry[]) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n\timportPortableSession?: (path: string) => {\n\t\tsessionFile: string;\n\t\tsessionId: string;\n\t\timportedCount: number;\n\t};\n};\n\nexport interface MaestroAppServerSessionApiOptions {\n\thostControl?: MaestroAppServerHostControl | false;\n\tpolicyControl?: MaestroAppServerPolicyControl | false;\n\tnetworkGovernance?: MaestroAppServerNetworkGovernance | false;\n\tsandboxCheck?: MaestroAppServerSandboxCheck | false;\n\tprojectRoot?: string;\n\texternalAgentImport?: MaestroAppServerExternalAgentImport | false;\n\tpluginBundles?: MaestroAppServerPluginBundleApi | false;\n\tdaemonLifecycle?: MaestroAppServerDaemonLifecycle | false;\n\tprotocolModes?: MaestroAppServerProtocolModes | false;\n\treviewModeEscapeToken?: string;\n\tonNotification?: (notification: MaestroAppServerServerNotification) => void;\n}\n\nexport interface MaestroAppServerSessionApi {\n\tinitialize(): MaestroAppServerResponse[\"result\"];\n\treviewModeEscapeToken(): string | undefined;\n\tcheckProtocolMode(\n\t\tmethod: (typeof maestroAppServerClientMethods)[number],\n\t\tparams?: Record<string, unknown>,\n\t): MaestroAppServerProtocolModeDecision;\n\tlistProtocolModes(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeListResult>;\n\tsetProtocolMode(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerProtocolModeSetResult>;\n\tlistModels(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelListResult>;\n\treadModelProviderCapabilities(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerModelProviderCapabilitiesReadResult>;\n\treadPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyReadResult>;\n\tcheckPolicy(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRequirementsListResult>;\n\tfetchNetwork(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistNetworkAudit(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n\tprobeSandbox(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxProbeResult>;\n\trunSandboxCheck(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerSandboxCheckResult>;\n\timportExternalAgent(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerExternalAgentImportResult>;\n\tlistPluginBundles(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallPluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremovePluginBundle(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\treadDaemonStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerDaemonStatusResult>;\n\treadRemoteControlStatus(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlStatusResult>;\n\treadRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\theartbeatRemoteControlLease(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlLeaseResult>;\n\tdrainRemoteControl(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerRemoteControlDrainResult>;\n\texecCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandExecResult>;\n\twriteCommandStdin(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\tterminateCommand(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerCommandProcessResult>;\n\treadFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadFileResult>;\n\twriteFile(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\treadDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsReadDirectoryResult>;\n\tgetMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsMetadataResult>;\n\tcreateDirectory(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tremove(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tcopy(params?: Record<string, unknown>): Promise<MaestroAppServerEmptyResult>;\n\twatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerFsWatchResult>;\n\tunwatch(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerEmptyResult>;\n\tlistThreads(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadListResult>;\n\treadThread(params?: Record<string, unknown>): Promise<MaestroAppServerThread>;\n\tupdateThreadMetadata(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tsetThreadName(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadMetadataUpdateResult>;\n\tgetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tsetThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tclearThreadGoal(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadGoalResult>;\n\tstartThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadStartResult>;\n\tforkThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadForkResult>;\n\tarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tunarchiveThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadArchiveResult>;\n\tdeleteThread(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerThreadDeleteResult>;\n\tlistTurns(\n\t\tparams?: Record<string, unknown>,\n\t): Promise<MaestroAppServerTurnsListResult>;\n}\n\nexport class MaestroAppServerError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerError\";\n\t}\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 encodeCursor(offset: number): string {\n\treturn Buffer.from(JSON.stringify({ offset }), \"utf8\").toString(\"base64url\");\n}\n\nfunction decodeCursor(value: unknown): number {\n\tif (value === undefined || value === null || value === \"\") {\n\t\treturn 0;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n\t}\n\ttry {\n\t\tconst decoded = JSON.parse(\n\t\t\tBuffer.from(value, \"base64url\").toString(\"utf8\"),\n\t\t);\n\t\tif (\n\t\t\ttypeof decoded === \"object\" &&\n\t\t\tdecoded !== null &&\n\t\t\ttypeof decoded.offset === \"number\" &&\n\t\t\tNumber.isFinite(decoded.offset) &&\n\t\t\tdecoded.offset >= 0\n\t\t) {\n\t\t\treturn Math.trunc(decoded.offset);\n\t\t}\n\t} catch {\n\t\t// Fall through to the normalized JSON-RPC error below.\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid cursor\");\n}\n\nfunction requireThreadId(params?: Record<string, unknown>): string {\n\tconst threadId = params?.threadId;\n\tif (typeof threadId !== \"string\" || threadId.length === 0) {\n\t\tthrow new MaestroAppServerError(-32602, \"Missing threadId\");\n\t}\n\treturn threadId;\n}\n\nfunction toThreadSummary(\n\tmetadata: SessionMetadata,\n\tsummary?: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary?.archived ?? metadata.archived ?? false;\n\tconst archivedAt = archived\n\t\t? (summary?.archivedAt ?? metadata.archivedAt)\n\t\t: undefined;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: metadata.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary?.title ?? metadata.title ?? metadata.summary,\n\t\tsummary: metadata.summary,\n\t\tresumeSummary: summary?.resumeSummary ?? metadata.resumeSummary,\n\t\tmemoryExtractionHash:\n\t\t\tsummary?.memoryExtractionHash ?? metadata.memoryExtractionHash,\n\t\tsubject: metadata.subject,\n\t\tpath: metadata.path,\n\t\tcreatedAt: metadata.created.toISOString(),\n\t\tupdatedAt: metadata.modified.toISOString(),\n\t\tmessageCount: metadata.messageCount,\n\t\tfavorite: summary?.favorite ?? metadata.favorite,\n\t\ttags: summary?.tags ?? metadata.tags,\n\t\tarchived,\n\t};\n\tif (archivedAt) {\n\t\tthread.archivedAt = archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromSessionSummary(\n\tsummary: SessionSummary,\n): MaestroAppServerThreadSummary {\n\tconst archived = summary.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: summary.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: summary.title ?? summary.subject,\n\t\tsummary: summary.summary ?? summary.title ?? summary.subject,\n\t\tresumeSummary: summary.resumeSummary,\n\t\tmemoryExtractionHash: summary.memoryExtractionHash,\n\t\tsubject: summary.subject,\n\t\tcreatedAt: summary.createdAt,\n\t\tupdatedAt: summary.updatedAt,\n\t\tmessageCount: summary.messageCount,\n\t\tfavorite: summary.favorite,\n\t\ttags: summary.tags,\n\t\tarchived,\n\t};\n\tif (archived && summary.archivedAt) {\n\t\tthread.archivedAt = summary.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction toThreadSummaryFromLoadedSession(loaded: {\n\tid: string;\n\tsubject?: string;\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tmemoryExtractionHash?: string;\n\tcreatedAt: string;\n\tupdatedAt: string;\n\tmessageCount: number;\n\tfavorite: boolean;\n\ttags?: string[];\n\tarchived?: boolean;\n\tarchivedAt?: string;\n}): MaestroAppServerThreadSummary {\n\tconst archived = loaded.archived ?? false;\n\tconst thread: MaestroAppServerThreadSummary = {\n\t\tid: loaded.id,\n\t\tsource: \"session\",\n\t\tstatus: archived ? \"archived\" : \"notLoaded\",\n\t\ttitle: loaded.title ?? loaded.subject,\n\t\tsummary: loaded.summary ?? loaded.title ?? loaded.subject,\n\t\tresumeSummary: loaded.resumeSummary,\n\t\tmemoryExtractionHash: loaded.memoryExtractionHash,\n\t\tsubject: loaded.subject,\n\t\tcreatedAt: loaded.createdAt,\n\t\tupdatedAt: loaded.updatedAt,\n\t\tmessageCount: loaded.messageCount,\n\t\tfavorite: loaded.favorite,\n\t\ttags: loaded.tags,\n\t\tarchived,\n\t};\n\tif (archived && loaded.archivedAt) {\n\t\tthread.archivedAt = loaded.archivedAt;\n\t}\n\treturn thread;\n}\n\nfunction appMessageContent(message: AppMessage): unknown {\n\treturn \"content\" in message ? message.content : message;\n}\n\nfunction treeEntryToItem(entry: SessionTreeEntry): MaestroAppServerThreadItem {\n\tif (entry.type === \"message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: \"message\",\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\trole: entry.message.role,\n\t\t\tcontent: appMessageContent(entry.message),\n\t\t};\n\t}\n\tif (entry.type === \"custom_message\") {\n\t\treturn {\n\t\t\tid: entry.id,\n\t\t\ttype: entry.customType,\n\t\t\tparentId: entry.parentId,\n\t\t\ttimestamp: entry.timestamp,\n\t\t\tcontent: entry.content,\n\t\t\tdata: entry.details,\n\t\t};\n\t}\n\treturn {\n\t\tid: entry.id,\n\t\ttype: entry.type,\n\t\tparentId: entry.parentId,\n\t\ttimestamp: entry.timestamp,\n\t\tdata: entry,\n\t};\n}\n\nexport function buildTurnsFromSessionEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerTurn[] {\n\treturn turnsFromProjection(buildSessionGraphProjection(entries));\n}\n\nfunction turnsFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerTurn[] {\n\treturn projection.turns.map((turn) => ({\n\t\tid: turn.id,\n\t\tparentTurnId: turn.parentTurnId,\n\t\tstatus: turn.status,\n\t\tstartedAt: turn.startedAt,\n\t\tcompletedAt: turn.completedAt,\n\t\tsourceEntryIds: turn.sourceEntryIds,\n\t\ttoolCallIds: turn.toolCallIds,\n\t\titems: turn.entries.map(treeEntryToItem),\n\t}));\n}\n\nfunction graphFromProjection(\n\tprojection: SessionGraphProjection,\n): MaestroAppServerThreadGraph {\n\tconst agentLineage =\n\t\tprojection.agentLineage.edges.length > 0\n\t\t\t? projection.agentLineage\n\t\t\t: undefined;\n\treturn {\n\t\tbranchId: projection.branchId,\n\t\tleafEntryId: projection.leafEntryId,\n\t\tactiveEntryIds: projection.activeEntryIds,\n\t\tauthoritativeEntryIds: projection.authoritativeEntryIds,\n\t\tsupersededEntryIds: projection.supersededEntryIds,\n\t\trevisionGroups: projection.revisionGroups,\n\t\tagentLineage,\n\t\tcompactionSpans: projection.compactionSpans,\n\t};\n}\n\nfunction parseMessagesView(value: unknown): SessionMessagesView {\n\tif (value === undefined || value === null) {\n\t\treturn \"notLoaded\";\n\t}\n\tif (value === \"full\" || value === \"summary\" || value === \"notLoaded\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid messagesView\");\n}\n\nfunction optionalTrimmedString(\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\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim() || undefined;\n}\n\nfunction optionalBoolean(value: unknown, field: string): boolean | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"boolean\") {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn value;\n}\n\nfunction isAuthorizedSessionReviewModeEscape(\n\tprotocolModes: MaestroAppServerProtocolModes | undefined,\n\tmethod: (typeof maestroAppServerClientMethods)[number],\n\tparams: Record<string, unknown> | undefined,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (\n\t\t!protocolModes ||\n\t\t!reviewModeEscapeToken ||\n\t\tmethod !== \"protocol/mode/set\" ||\n\t\tprotocolModes.activeMode() !== \"review\"\n\t) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tparams?.mode !== \"review\" &&\n\t\tparams?.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction optionalStringArray(\n\tvalue: unknown,\n\tfield: string,\n): string[] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\t!Array.isArray(value) ||\n\t\tvalue.some((entry) => typeof entry !== \"string\")\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, `Invalid ${field}`);\n\t}\n\treturn Array.from(\n\t\tnew Set(value.map((entry) => entry.trim()).filter(Boolean)),\n\t);\n}\n\nfunction requireThreadReference(store: SessionStore, threadId: string): string {\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function requireExistingThreadReference(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<string> {\n\tconst sessionFile = requireThreadReference(store, threadId);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn sessionFile;\n}\n\nasync function flushSessionWrites(store: SessionStore): Promise<void> {\n\tawait store.flush?.();\n}\n\nasync function restoreSessionBinding(\n\tstore: SessionStore,\n\tsessionReference: string | undefined,\n\tleafId?: string | null,\n): Promise<void> {\n\tif (!sessionReference) {\n\t\treturn;\n\t}\n\tconst dbSessionId = sessionReference.startsWith(\"db:\")\n\t\t? sessionReference.slice(\"db:\".length)\n\t\t: undefined;\n\tlet restored = false;\n\tif (dbSessionId && store.resumeSession) {\n\t\trestored = await store.resumeSession(dbSessionId);\n\t}\n\tif (!restored) {\n\t\tawait store.setSessionFile?.(sessionReference);\n\t}\n\tif (leafId === null) {\n\t\tawait store.resetLeaf?.();\n\t} else if (leafId && store.branch) {\n\t\tawait store.branch(leafId);\n\t}\n}\n\nfunction getCurrentLeafId(store: SessionStore): string | null {\n\treturn store.getLeafId?.() ?? store.getCurrentLeafId?.() ?? null;\n}\n\nfunction isActiveThreadSessionFile(\n\tstore: SessionStore,\n\tsessionFile: string,\n): boolean {\n\tconst activeSessionFile = store.getSessionFile?.();\n\tif (!activeSessionFile) {\n\t\treturn false;\n\t}\n\treturn resolve(activeSessionFile) === resolve(sessionFile);\n}\n\ninterface ThreadMetadataExpectation {\n\ttitle?: string;\n\tsummary?: string;\n\tresumeSummary?: string;\n\tfavorite?: boolean;\n\ttags?: string[];\n}\n\nasync function summarizeThreadAfterMutation(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadSummary> {\n\tawait flushSessionWrites(store);\n\tconst loaded = await store.loadSession(threadId, {\n\t\tmessagesView: \"notLoaded\",\n\t});\n\tif (!loaded) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tconst summary = toThreadSummaryFromLoadedSession(loaded);\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\tsummary.path = sessionFile;\n\t}\n\treturn summary;\n}\n\nfunction tagsEqual(left: string[] | undefined, right: string[] | undefined) {\n\tif (left === undefined || right === undefined) {\n\t\treturn left === right;\n\t}\n\treturn (\n\t\tleft.length === right.length &&\n\t\tleft.every((value, index) => value === right[index])\n\t);\n}\n\nfunction verifyThreadMetadataPersisted(\n\tthread: MaestroAppServerThreadSummary,\n\texpected: ThreadMetadataExpectation,\n): void {\n\tconst persisted =\n\t\t(expected.title === undefined || thread.title === expected.title) &&\n\t\t(expected.summary === undefined || thread.summary === expected.summary) &&\n\t\t(expected.resumeSummary === undefined ||\n\t\t\tthread.resumeSummary === expected.resumeSummary) &&\n\t\t(expected.favorite === undefined ||\n\t\t\tthread.favorite === expected.favorite) &&\n\t\t(expected.tags === undefined || tagsEqual(thread.tags, expected.tags));\n\tif (!persisted) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread metadata update was not persisted\",\n\t\t);\n\t}\n}\n\nfunction latestGoalFromEntries(\n\tentries: SessionEntry[],\n): MaestroAppServerThreadGoal | null {\n\tlet goal: MaestroAppServerThreadGoal | null = null;\n\tfor (const entry of entries) {\n\t\tif (entry.type !== \"session_meta\" || entry.appServerGoal === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\tgoal = entry.appServerGoal;\n\t}\n\treturn goal;\n}\n\nfunction goalsEqual(\n\tactual: MaestroAppServerThreadGoal | null,\n\texpected: MaestroAppServerThreadGoal | null,\n): boolean {\n\tif (actual === null || expected === null) {\n\t\treturn actual === expected;\n\t}\n\treturn (\n\t\tactual.objective === expected.objective &&\n\t\tactual.status === expected.status &&\n\t\tactual.tokenBudget === expected.tokenBudget &&\n\t\tactual.createdAt === expected.createdAt &&\n\t\tactual.updatedAt === expected.updatedAt\n\t);\n}\n\nasync function verifyThreadGoalPersisted(\n\tstore: SessionStore,\n\tthreadId: string,\n\texpected: MaestroAppServerThreadGoal | null,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tconst persisted = await loadThreadGoal(store, threadId);\n\tif (!goalsEqual(persisted, expected)) {\n\t\tthrow new MaestroAppServerError(\n\t\t\t-32000,\n\t\t\t\"Thread goal update was not persisted\",\n\t\t);\n\t}\n\treturn persisted;\n}\n\nfunction normalizeGoalStatus(\n\tvalue: unknown,\n): MaestroAppServerThreadGoal[\"status\"] {\n\tif (value === undefined || value === null) {\n\t\treturn \"active\";\n\t}\n\tif (value === \"active\" || value === \"complete\" || value === \"cancelled\") {\n\t\treturn value;\n\t}\n\tthrow new MaestroAppServerError(-32602, \"Invalid status\");\n}\n\nfunction normalizeTokenBudget(value: unknown): number | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\ttypeof value !== \"number\" ||\n\t\t!Number.isFinite(value) ||\n\t\tvalue <= 0 ||\n\t\t!Number.isInteger(value)\n\t) {\n\t\tthrow new MaestroAppServerError(-32602, \"Invalid tokenBudget\");\n\t}\n\treturn value;\n}\n\nfunction modelToAppServerModel(model: RegisteredModel): MaestroAppServerModel {\n\tconst responsesApi =\n\t\tmodel.api === \"openai-responses\" || model.api === \"openai-codex-responses\";\n\tconst codexBackend =\n\t\tmodel.api === \"openai-codex-responses\" ||\n\t\tmodel.api === \"openai-codex-app-server\";\n\treturn {\n\t\tid: model.id,\n\t\tprovider: model.provider,\n\t\tname: model.name || model.id,\n\t\tapi: model.api,\n\t\tcontextWindow: model.contextWindow,\n\t\tmaxTokens: model.maxTokens,\n\t\tcost: model.cost,\n\t\tsource: model.source,\n\t\tsupportedReasoningEfforts: model.reasoning\n\t\t\t? [\"minimal\", \"low\", \"medium\", \"high\", \"ultra\"]\n\t\t\t: undefined,\n\t\tdefaultReasoningEffort: model.reasoning ? \"medium\" : undefined,\n\t\tcapabilities: {\n\t\t\tstreaming: true,\n\t\t\ttools: model.toolUse === true,\n\t\t\tvision: model.input?.includes(\"image\") || false,\n\t\t\treasoning: model.reasoning || false,\n\t\t\tresponsesApi,\n\t\t\tcodexBackend,\n\t\t\tlocal: model.isLocal,\n\t\t},\n\t};\n}\n\nfunction mergeProviderCapabilities(\n\tcurrent: MaestroAppServerModelProviderCapabilities | undefined,\n\tmodel: MaestroAppServerModel,\n\tproviderName: string,\n): MaestroAppServerModelProviderCapabilities {\n\tconst capabilities = current?.capabilities ?? {\n\t\tstreaming: false,\n\t\ttools: false,\n\t\tvision: false,\n\t\treasoning: false,\n\t\tresponsesApi: false,\n\t\tcodexBackend: false,\n\t\tlocal: false,\n\t};\n\tconst apis = new Set(current?.apis ?? []);\n\tapis.add(model.api);\n\treturn {\n\t\tid: model.provider,\n\t\tname: current?.name ?? providerName,\n\t\tapis: Array.from(apis).sort(),\n\t\tmodelCount: (current?.modelCount ?? 0) + 1,\n\t\tcapabilities: {\n\t\t\tstreaming: capabilities.streaming || model.capabilities.streaming,\n\t\t\ttools: capabilities.tools || model.capabilities.tools,\n\t\t\tvision: capabilities.vision || model.capabilities.vision,\n\t\t\treasoning: capabilities.reasoning || model.capabilities.reasoning,\n\t\t\tresponsesApi:\n\t\t\t\tcapabilities.responsesApi || model.capabilities.responsesApi,\n\t\t\tcodexBackend:\n\t\t\t\tcapabilities.codexBackend || model.capabilities.codexBackend,\n\t\t\tlocal: capabilities.local || model.capabilities.local,\n\t\t},\n\t};\n}\n\nexport function createMaestroAppServerSessionApi(\n\tstore: SessionStore,\n\toptions: MaestroAppServerSessionApiOptions = {},\n): MaestroAppServerSessionApi {\n\tconst hostControl =\n\t\toptions.hostControl === false\n\t\t\t? undefined\n\t\t\t: (options.hostControl ??\n\t\t\t\tcreateMaestroAppServerHostControl({\n\t\t\t\t\tonNotification: options.onNotification,\n\t\t\t\t}));\n\tconst policyControl =\n\t\toptions.policyControl === false\n\t\t\t? undefined\n\t\t\t: (options.policyControl ?? createMaestroAppServerPolicyControl());\n\tconst networkGovernance =\n\t\toptions.networkGovernance === false\n\t\t\t? undefined\n\t\t\t: (options.networkGovernance ??\n\t\t\t\tcreateMaestroAppServerNetworkGovernance());\n\tconst sandboxCheck =\n\t\toptions.sandboxCheck === false\n\t\t\t? undefined\n\t\t\t: (options.sandboxCheck ?? createMaestroAppServerSandboxCheck());\n\tconst canMutateSessionPersistence = store.canCreateSession?.() ?? true;\n\tconst pluginBundles =\n\t\toptions.pluginBundles === false ||\n\t\t!canMutateSessionPersistence ||\n\t\t!hostControl\n\t\t\t? undefined\n\t\t\t: (options.pluginBundles ??\n\t\t\t\tcreateMaestroAppServerPluginBundleApi({\n\t\t\t\t\tprojectRoot: options.projectRoot,\n\t\t\t\t}));\n\tconst daemonLifecycle =\n\t\toptions.daemonLifecycle === false\n\t\t\t? undefined\n\t\t\t: (options.daemonLifecycle ?? createMaestroAppServerDaemonLifecycle());\n\tconst defaultReviewModeEscapeToken =\n\t\toptions.protocolModes === false || options.protocolModes\n\t\t\t? options.reviewModeEscapeToken\n\t\t\t: (options.reviewModeEscapeToken ?? randomUUID());\n\tconst protocolModes =\n\t\toptions.protocolModes === false\n\t\t\t? undefined\n\t\t\t: (options.protocolModes ??\n\t\t\t\tcreateMaestroAppServerProtocolModes({\n\t\t\t\t\treviewModeEscapeToken: defaultReviewModeEscapeToken,\n\t\t\t\t}));\n\tconst reviewModeEscapeToken = defaultReviewModeEscapeToken;\n\tconst daemonLifecycleCapabilities = daemonLifecycle?.capabilities() ?? {\n\t\tdaemonStatus: false,\n\t\tremoteControlStatus: false,\n\t\tremoteControlLease: false,\n\t\tremoteControlDrain: false,\n\t};\n\tconst canUpdateThreadMetadata = Boolean(\n\t\tstore.setSessionTitle &&\n\t\t\tstore.saveSessionSummary &&\n\t\t\tstore.saveSessionResumeSummary &&\n\t\t\tstore.setSessionFavorite &&\n\t\t\tstore.setSessionTags,\n\t);\n\tconst canSetThreadName = Boolean(store.setSessionTitle);\n\tconst canUseThreadGoals = Boolean(\n\t\tstore.setSessionAppServerGoal && store.loadEntries,\n\t);\n\tconst externalAgentImport =\n\t\toptions.externalAgentImport === false || !canMutateSessionPersistence\n\t\t\t? undefined\n\t\t\t: (options.externalAgentImport ??\n\t\t\t\tcreateMaestroAppServerExternalAgentImport({ store }));\n\tconst canStartThreads = Boolean(\n\t\tstore.createSession && canMutateSessionPersistence,\n\t);\n\tconst canForkThreads = Boolean(\n\t\tcanMutateSessionPersistence &&\n\t\t\tstore.createBranchedSession &&\n\t\t\tstore.setSessionFile,\n\t);\n\tconst canArchiveThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.setSessionArchived,\n\t);\n\tconst canDeleteThreads = Boolean(\n\t\tcanMutateSessionPersistence && store.deleteSession,\n\t);\n\tconst canUseHostControl = Boolean(hostControl);\n\tconst canUseFilesystemWatch = Boolean(hostControl?.supportsWatch());\n\tconst canUsePolicyControl = Boolean(policyControl);\n\tconst canUseNetworkGovernance = Boolean(networkGovernance);\n\tconst canUseSandboxCheck = Boolean(sandboxCheck);\n\tconst canUseExternalAgentImport = Boolean(externalAgentImport);\n\tconst canUsePluginBundles = Boolean(pluginBundles);\n\n\treturn {\n\t\tinitialize() {\n\t\t\treturn {\n\t\t\t\tprotocolVersion: maestroAppServerProtocolVersion,\n\t\t\t\tsupportedProtocolVersions: [\n\t\t\t\t\t...maestroAppServerSupportedProtocolVersions,\n\t\t\t\t],\n\t\t\t\tserverInfo: {\n\t\t\t\t\tname: \"maestro\",\n\t\t\t\t},\n\t\t\t\tcapabilities: {\n\t\t\t\t\tsessions: true,\n\t\t\t\t\tprotocolModes: Boolean(protocolModes),\n\t\t\t\t\tmodelList: true,\n\t\t\t\t\tmodelProviderCapabilities: true,\n\t\t\t\t\tmanagedPolicy: canUsePolicyControl,\n\t\t\t\t\trequirements: canUsePolicyControl,\n\t\t\t\t\tnetworkProxy: canUseNetworkGovernance,\n\t\t\t\t\tnetworkAudit: canUseNetworkGovernance,\n\t\t\t\t\tsandboxProbe: canUseSandboxCheck,\n\t\t\t\t\tsandboxCheck: canUseSandboxCheck,\n\t\t\t\t\texternalAgentImport: canUseExternalAgentImport,\n\t\t\t\t\tpluginBundles: canUsePluginBundles,\n\t\t\t\t\tdaemonStatus: daemonLifecycleCapabilities.daemonStatus,\n\t\t\t\t\tremoteControlStatus: daemonLifecycleCapabilities.remoteControlStatus,\n\t\t\t\t\tremoteControlLease: daemonLifecycleCapabilities.remoteControlLease,\n\t\t\t\t\tremoteControlDrain: daemonLifecycleCapabilities.remoteControlDrain,\n\t\t\t\t\tcommandExec: canUseHostControl,\n\t\t\t\t\tcommandProcessControl: canUseHostControl,\n\t\t\t\t\tfilesystem: canUseHostControl,\n\t\t\t\t\tfilesystemWatch: canUseFilesystemWatch,\n\t\t\t\t\tthreadList: true,\n\t\t\t\t\tthreadRead: true,\n\t\t\t\t\tthreadMetadataUpdate: canUpdateThreadMetadata,\n\t\t\t\t\tthreadNameSet: canSetThreadName,\n\t\t\t\t\tthreadGoals: canUseThreadGoals,\n\t\t\t\t\tthreadStart: canStartThreads,\n\t\t\t\t\tthreadFork: canForkThreads,\n\t\t\t\t\tthreadArchive: canArchiveThreads,\n\t\t\t\t\tthreadDelete: canDeleteThreads,\n\t\t\t\t\tturnsList: true,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\treviewModeEscapeToken() {\n\t\t\treturn reviewModeEscapeToken;\n\t\t},\n\n\t\tcheckProtocolMode(method, params) {\n\t\t\tif (\n\t\t\t\tisAuthorizedSessionReviewModeEscape(\n\t\t\t\t\tprotocolModes,\n\t\t\t\t\tmethod,\n\t\t\t\t\tparams,\n\t\t\t\t\treviewModeEscapeToken,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn protocolModes?.checkMethod(method, params) ?? { allowed: true };\n\t\t},\n\n\t\tasync listProtocolModes(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.listModes(params);\n\t\t},\n\n\t\tasync setProtocolMode(params = {}) {\n\t\t\tif (!protocolModes) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Protocol modes are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn protocolModes.setMode(params);\n\t\t},\n\n\t\tasync readPolicy() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.readPolicy();\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Managed policy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.checkPolicy(params);\n\t\t},\n\n\t\tasync listRequirements() {\n\t\t\tif (!policyControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Requirements are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn policyControl.listRequirements();\n\t\t},\n\n\t\tasync fetchNetwork(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network proxy is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.fetch(params);\n\t\t},\n\n\t\tasync listNetworkAudit(params = {}) {\n\t\t\tif (!networkGovernance) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Network audit is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn networkGovernance.listAudit(params);\n\t\t},\n\n\t\tasync probeSandbox(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox probe is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tnormalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.probe();\n\t\t},\n\n\t\tasync runSandboxCheck(params = {}) {\n\t\t\tif (!sandboxCheck) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Sandbox check is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeSandboxCheckParams(params);\n\t\t\treturn sandboxCheck.runCheck(normalizedParams);\n\t\t},\n\n\t\tasync importExternalAgent(params = {}) {\n\t\t\tif (!externalAgentImport) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"External agent import is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst normalizedParams = normalizeExternalAgentImportParams(params);\n\t\t\treturn externalAgentImport.importBundle(normalizedParams);\n\t\t},\n\n\t\tasync listPluginBundles(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.listBundles(params);\n\t\t},\n\n\t\tasync installPluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.installBundle(params);\n\t\t},\n\n\t\tasync removePluginBundle(params = {}) {\n\t\t\tif (!pluginBundles) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Plugin bundle lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn pluginBundles.removeBundle(params);\n\t\t},\n\n\t\tasync readDaemonStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Daemon lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.status(params);\n\t\t},\n\n\t\tasync readRemoteControlStatus(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lifecycle is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.remoteControlStatus(params);\n\t\t},\n\n\t\tasync readRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.readLease(params);\n\t\t},\n\n\t\tasync heartbeatRemoteControlLease(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control lease is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.heartbeatLease(params);\n\t\t},\n\n\t\tasync drainRemoteControl(params = {}) {\n\t\t\tif (!daemonLifecycle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Remote control drain is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn daemonLifecycle.drain(params);\n\t\t},\n\n\t\tasync execCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command exec is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.execCommand(params);\n\t\t},\n\n\t\tasync writeCommandStdin(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.writeCommandStdin(params);\n\t\t},\n\n\t\tasync terminateCommand(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Command process control is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.terminateCommand(params);\n\t\t},\n\n\t\tasync readFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readFile(params);\n\t\t},\n\n\t\tasync writeFile(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.writeFile(params);\n\t\t},\n\n\t\tasync readDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.readDirectory(params);\n\t\t},\n\n\t\tasync getMetadata(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.getMetadata(params);\n\t\t},\n\n\t\tasync createDirectory(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.createDirectory(params);\n\t\t},\n\n\t\tasync remove(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.remove(params);\n\t\t},\n\n\t\tasync copy(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Filesystem is not available\");\n\t\t\t}\n\t\t\treturn hostControl.copy(params);\n\t\t},\n\n\t\tasync watch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.watch(params);\n\t\t},\n\n\t\tasync unwatch(params = {}) {\n\t\t\tif (!hostControl) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Filesystem watch is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn hostControl.unwatch(params);\n\t\t},\n\n\t\tasync listModels(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst api = optionalTrimmedString(params.api, \"api\");\n\t\t\tconst models = getRegisteredModels()\n\t\t\t\t.filter((model) => !provider || model.provider === provider)\n\t\t\t\t.filter((model) => !api || model.api === api)\n\t\t\t\t.map(modelToAppServerModel)\n\t\t\t\t.sort((left, right) =>\n\t\t\t\t\t`${left.provider}/${left.id}`.localeCompare(\n\t\t\t\t\t\t`${right.provider}/${right.id}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\treturn { models };\n\t\t},\n\n\t\tasync readModelProviderCapabilities(params = {}) {\n\t\t\tconst provider = optionalTrimmedString(params.provider, \"provider\");\n\t\t\tconst providers = new Map<\n\t\t\t\tstring,\n\t\t\t\tMaestroAppServerModelProviderCapabilities\n\t\t\t>();\n\t\t\tfor (const model of getRegisteredModels()) {\n\t\t\t\tif (provider && model.provider !== provider) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst appServerModel = modelToAppServerModel(model);\n\t\t\t\tproviders.set(\n\t\t\t\t\tmodel.provider,\n\t\t\t\t\tmergeProviderCapabilities(\n\t\t\t\t\t\tproviders.get(model.provider),\n\t\t\t\t\t\tappServerModel,\n\t\t\t\t\t\tmodel.providerName || model.provider,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tproviders: Array.from(providers.values()).sort((left, right) =>\n\t\t\t\t\tleft.id.localeCompare(right.id),\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\n\t\tasync listThreads(params = {}) {\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst includeArchived =\n\t\t\t\toptionalBoolean(params.includeArchived, \"includeArchived\") ?? false;\n\t\t\tconst metadata = store.loadAllSessions();\n\t\t\tif (metadata.length === 0) {\n\t\t\t\tconst page: SessionSummary[] = [];\n\t\t\t\tlet rawOffset = offset;\n\t\t\t\tlet cursorAfterPage = offset;\n\t\t\t\tlet hasMoreVisible = false;\n\t\t\t\tlet exhausted = false;\n\t\t\t\twhile (!hasMoreVisible && !exhausted) {\n\t\t\t\t\tconst summaries = await store.listSessions({\n\t\t\t\t\t\tlimit: limit + 1,\n\t\t\t\t\t\toffset: rawOffset,\n\t\t\t\t\t});\n\t\t\t\t\texhausted = summaries.length <= limit;\n\t\t\t\t\tfor (const summary of summaries) {\n\t\t\t\t\t\trawOffset += 1;\n\t\t\t\t\t\tif (includeArchived || !summary.archived) {\n\t\t\t\t\t\t\tif (page.length < limit) {\n\t\t\t\t\t\t\t\tpage.push(summary);\n\t\t\t\t\t\t\t\tcursorAfterPage = rawOffset;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thasMoreVisible = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (summaries.length === 0) {\n\t\t\t\t\t\texhausted = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tthreads: page.map(toThreadSummaryFromSessionSummary),\n\t\t\t\t\tnextCursor: hasMoreVisible ? encodeCursor(cursorAfterPage) : null,\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst visible = includeArchived\n\t\t\t\t? metadata\n\t\t\t\t: metadata.filter((session) => !session.archived);\n\t\t\tconst page = visible.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreads: page.map((session) => toThreadSummary(session)),\n\t\t\t\tnextCursor:\n\t\t\t\t\tnextOffset < visible.length ? encodeCursor(nextOffset) : null,\n\t\t\t};\n\t\t},\n\n\t\tasync readThread(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst includeTurns = params.includeTurns === true;\n\t\t\tconst includeHistory = params.includeHistory === true;\n\t\t\tconst messagesView = parseMessagesView(params.messagesView);\n\t\t\tconst loaded = await store.loadSession(threadId, { messagesView });\n\t\t\tif (!loaded) {\n\t\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t\t}\n\t\t\tconst thread: MaestroAppServerThread = {\n\t\t\t\t...toThreadSummaryFromLoadedSession(loaded),\n\t\t\t\tmessagesView: loaded.messagesView,\n\t\t\t};\n\t\t\tconst sessionFile = store.getSessionFileById(threadId);\n\t\t\tif (sessionFile && !sessionFile.startsWith(\"db:\")) {\n\t\t\t\tthread.path = sessionFile;\n\t\t\t}\n\t\t\tif (includeTurns || includeHistory) {\n\t\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\t\tif (includeTurns) {\n\t\t\t\t\tthread.turns = turnsFromProjection(projection);\n\t\t\t\t}\n\t\t\t\tif (includeHistory) {\n\t\t\t\t\tthread.history = projection.historyEntries.map(treeEntryToItem);\n\t\t\t\t}\n\t\t\t\tthread.graph = graphFromProjection(projection);\n\t\t\t}\n\t\t\treturn thread;\n\t\t},\n\n\t\tasync updateThreadMetadata(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst summary = optionalTrimmedString(params.summary, \"summary\");\n\t\t\tconst resumeSummary = optionalTrimmedString(\n\t\t\t\tparams.resumeSummary,\n\t\t\t\t\"resumeSummary\",\n\t\t\t);\n\t\t\tconst favorite = optionalBoolean(params.favorite, \"favorite\");\n\t\t\tconst tags = optionalStringArray(params.tags, \"tags\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\n\t\t\tif (title !== undefined) {\n\t\t\t\tif (!store.setSessionTitle) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread title updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTitle(sessionFile, title);\n\t\t\t}\n\t\t\tif (summary !== undefined) {\n\t\t\t\tif (!store.saveSessionSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionSummary(summary, sessionFile);\n\t\t\t}\n\t\t\tif (resumeSummary !== undefined) {\n\t\t\t\tif (!store.saveSessionResumeSummary) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread resume summary updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.saveSessionResumeSummary(resumeSummary, sessionFile);\n\t\t\t}\n\t\t\tif (favorite !== undefined) {\n\t\t\t\tif (!store.setSessionFavorite) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread favorite updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionFavorite(sessionFile, favorite);\n\t\t\t}\n\t\t\tif (tags !== undefined) {\n\t\t\t\tif (!store.setSessionTags) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32601,\n\t\t\t\t\t\t\"Thread tag updates are not available\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tawait store.setSessionTags(sessionFile, tags);\n\t\t\t}\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, {\n\t\t\t\ttitle,\n\t\t\t\tsummary,\n\t\t\t\tresumeSummary,\n\t\t\t\tfavorite,\n\t\t\t\ttags,\n\t\t\t});\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync setThreadName(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst name = optionalTrimmedString(params.name, \"name\");\n\t\t\tif (!name) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing name\");\n\t\t\t}\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionTitle) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread name updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionTitle(sessionFile, name);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tverifyThreadMetadataPersisted(thread, { title: name });\n\t\t\treturn { thread };\n\t\t},\n\n\t\tasync getThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await loadThreadGoal(store, threadId),\n\t\t\t};\n\t\t},\n\n\t\tasync setThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst objective = optionalTrimmedString(params.objective, \"objective\");\n\t\t\tif (!objective) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing objective\");\n\t\t\t}\n\t\t\tconst existing = await loadThreadGoal(store, threadId);\n\t\t\tconst now = new Date().toISOString();\n\t\t\tconst goal: MaestroAppServerThreadGoal = {\n\t\t\t\tobjective,\n\t\t\t\tstatus: normalizeGoalStatus(params.status),\n\t\t\t\ttokenBudget: normalizeTokenBudget(params.tokenBudget),\n\t\t\t\tcreatedAt: existing?.createdAt ?? now,\n\t\t\t\tupdatedAt: now,\n\t\t\t};\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, goal);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tgoal: await verifyThreadGoalPersisted(store, threadId, goal),\n\t\t\t};\n\t\t},\n\n\t\tasync clearThreadGoal(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (!store.setSessionAppServerGoal) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread goal updates are not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait store.setSessionAppServerGoal(sessionFile, null);\n\t\t\tawait flushSessionWrites(store);\n\t\t\tawait verifyThreadGoalPersisted(store, threadId, null);\n\t\t\treturn { threadId, goal: null };\n\t\t},\n\n\t\tasync startThread(params = {}) {\n\t\t\tconst createThreadSession = store.createSession;\n\t\t\tif (!canStartThreads || !createThreadSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread start is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet created: Awaited<\n\t\t\t\tReturnType<NonNullable<SessionStore[\"createSession\"]>>\n\t\t\t>;\n\t\t\ttry {\n\t\t\t\tcreated = await createThreadSession.call(\n\t\t\t\t\tstore,\n\t\t\t\t\ttitle ? { title } : undefined,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, created.id),\n\t\t\t};\n\t\t},\n\n\t\tasync forkThread(params = {}) {\n\t\t\tconst createBranchedSession = store.createBranchedSession;\n\t\t\tif (!canForkThreads || !createBranchedSession) {\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Thread fork is not available\");\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst leafEntryId = optionalTrimmedString(\n\t\t\t\tparams.leafEntryId,\n\t\t\t\t\"leafEntryId\",\n\t\t\t);\n\t\t\tif (!leafEntryId) {\n\t\t\t\tthrow new MaestroAppServerError(-32602, \"Missing leafEntryId\");\n\t\t\t}\n\t\t\tconst title = optionalTrimmedString(params.title, \"title\");\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tconst previousSessionFile = store.getSessionFile?.();\n\t\t\tconst previousLeafId = getCurrentLeafId(store);\n\t\t\tlet forkedThreadId: string | undefined;\n\t\t\ttry {\n\t\t\t\tawait store.setSessionFile?.(sessionFile);\n\t\t\t\tlet forkedSessionFile: string;\n\t\t\t\ttry {\n\t\t\t\t\tforkedSessionFile = createBranchedSession.call(store, leafEntryId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (\n\t\t\t\t\t\terror instanceof Error &&\n\t\t\t\t\t\terror.message === `Entry ${leafEntryId} not found`\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new MaestroAppServerError(-32602, \"Unknown leafEntryId\");\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tconst forkedEntries = safeReadSessionEntries(forkedSessionFile);\n\t\t\t\tconst forkedHeader = forkedEntries.find(\n\t\t\t\t\t(entry) => entry.type === \"session\",\n\t\t\t\t);\n\t\t\t\tforkedThreadId =\n\t\t\t\t\tforkedHeader && \"id\" in forkedHeader ? forkedHeader.id : undefined;\n\t\t\t\tif (!forkedThreadId) {\n\t\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t\t-32000,\n\t\t\t\t\t\t\"Thread fork did not produce a readable session\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (title && store.setSessionTitle) {\n\t\t\t\t\tawait store.setSessionTitle(forkedSessionFile, title);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tawait restoreSessionBinding(store, previousSessionFile, previousLeafId);\n\t\t\t}\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn {\n\t\t\t\tthread: await summarizeThreadAfterMutation(store, forkedThreadId),\n\t\t\t\tparentThreadId: threadId,\n\t\t\t\tforkedFromEntryId: leafEntryId,\n\t\t\t};\n\t\t},\n\n\t\tasync archiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, true);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (!thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: true };\n\t\t},\n\n\t\tasync unarchiveThread(params = {}) {\n\t\t\tconst setSessionArchived = store.setSessionArchived;\n\t\t\tif (!canArchiveThreads || !setSessionArchived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread archive is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tawait setSessionArchived.call(store, sessionFile, false);\n\t\t\tconst thread = await summarizeThreadAfterMutation(store, threadId);\n\t\t\tif (thread.archived) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Thread archive update was not persisted\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn { thread, archived: false };\n\t\t},\n\n\t\tasync deleteThread(params = {}) {\n\t\t\tconst deleteSession = store.deleteSession;\n\t\t\tif (!canDeleteThreads || !deleteSession) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32601,\n\t\t\t\t\t\"Thread delete is not available\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst sessionFile = await requireExistingThreadReference(store, threadId);\n\t\t\tif (isActiveThreadSessionFile(store, sessionFile)) {\n\t\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t\t-32000,\n\t\t\t\t\t\"Cannot delete the currently active thread\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait deleteSession.call(store, threadId);\n\t\t\tawait flushSessionWrites(store);\n\t\t\treturn { threadId, deleted: true };\n\t\t},\n\n\t\tasync listTurns(params = {}) {\n\t\t\tconst threadId = requireThreadId(params);\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\tconst offset = decodeCursor(params.cursor);\n\t\t\tconst projection = await loadProjectionForThread(store, threadId);\n\t\t\tconst turns = turnsFromProjection(projection);\n\t\t\tconst page = turns.slice(offset, offset + limit);\n\t\t\tconst nextOffset = offset + page.length;\n\t\t\treturn {\n\t\t\t\tthreadId,\n\t\t\t\tturns: page,\n\t\t\t\tnextCursor: nextOffset < turns.length ? encodeCursor(nextOffset) : null,\n\t\t\t\tgraph: graphFromProjection(projection),\n\t\t\t};\n\t\t},\n\t};\n}\n\nasync function loadProjectionForThread(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<SessionGraphProjection> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn buildSessionGraphProjection(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile || sessionFile.startsWith(\"db:\")) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\treturn buildSessionGraphProjection(safeReadSessionEntries(sessionFile));\n}\n\nasync function loadThreadGoal(\n\tstore: SessionStore,\n\tthreadId: string,\n): Promise<MaestroAppServerThreadGoal | null> {\n\tif (store.loadEntries) {\n\t\tconst entries = await store.loadEntries(threadId);\n\t\tif (entries) {\n\t\t\treturn latestGoalFromEntries(entries);\n\t\t}\n\t}\n\tconst sessionFile = store.getSessionFileById(threadId);\n\tif (!sessionFile) {\n\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t}\n\tif (sessionFile.startsWith(\"db:\")) {\n\t\tconst loaded = await store.loadSession(threadId, {\n\t\t\tmessagesView: \"notLoaded\",\n\t\t});\n\t\tif (!loaded) {\n\t\t\tthrow new MaestroAppServerError(-32004, \"Thread not found\");\n\t\t}\n\t\treturn null;\n\t}\n\treturn latestGoalFromEntries(safeReadSessionEntries(sessionFile));\n}\n\nfunction isSupportedMethod(\n\tmethod: string,\n): method is (typeof maestroAppServerClientMethods)[number] {\n\treturn maestroAppServerClientMethods.includes(\n\t\tmethod as (typeof maestroAppServerClientMethods)[number],\n\t);\n}\n\nexport async function handleMaestroAppServerRequest(\n\tapi: MaestroAppServerSessionApi,\n\trequest: MaestroAppServerClientRequest,\n): Promise<MaestroAppServerResponse> {\n\tconst id = request.id as JsonRpcId;\n\ttry {\n\t\tif (!isSupportedMethod(request.method)) {\n\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t\tconst method = request.method;\n\t\tconst protocolModeDecision = api.checkProtocolMode?.(\n\t\t\tmethod,\n\t\t\trequest.params,\n\t\t) ?? {\n\t\t\tallowed: true,\n\t\t};\n\t\tif (!protocolModeDecision.allowed) {\n\t\t\tthrow new MaestroAppServerError(\n\t\t\t\t-32003,\n\t\t\t\tprotocolModeDecision.reason ?? \"Method blocked by protocol mode\",\n\t\t\t);\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase \"initialize\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: api.initialize(),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listProtocolModes(request.params),\n\t\t\t\t};\n\t\t\tcase \"protocol/mode/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setProtocolMode(request.params),\n\t\t\t\t};\n\t\t\tcase \"model/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listModels(request.params),\n\t\t\t\t};\n\t\t\tcase \"modelProvider/capabilities/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readModelProviderCapabilities(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"policy/check\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.checkPolicy(request.params),\n\t\t\t\t};\n\t\t\tcase \"requirements/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listRequirements(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/fetch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.fetchNetwork(request.params),\n\t\t\t\t};\n\t\t\tcase \"network/audit/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listNetworkAudit(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/probe\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.probeSandbox(request.params),\n\t\t\t\t};\n\t\t\tcase \"sandbox/check/run\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.runSandboxCheck(request.params),\n\t\t\t\t};\n\t\t\tcase \"externalAgent/import\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.importExternalAgent(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listPluginBundles(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/install\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.installPluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"pluginBundle/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.removePluginBundle(request.params),\n\t\t\t\t};\n\t\t\tcase \"daemon/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDaemonStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/status\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlStatus(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/lease/heartbeat\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.heartbeatRemoteControlLease(request.params),\n\t\t\t\t};\n\t\t\tcase \"remoteControl/drain\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.drainRemoteControl(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.execCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/write\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeCommandStdin(request.params),\n\t\t\t\t};\n\t\t\tcase \"command/exec/terminate\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.terminateCommand(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/writeFile\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.writeFile(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/readDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.readDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/getMetadata\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/createDirectory\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.createDirectory(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/remove\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.remove(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/copy\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.copy(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/watch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.watch(request.params),\n\t\t\t\t};\n\t\t\tcase \"fs/unwatch\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unwatch(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listThreads(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/read\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\tthread: await api.readThread(request.params),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tcase \"thread/metadata/update\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.updateThreadMetadata(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/name/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadName(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/get\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.getThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/set\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.setThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/goal/clear\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.clearThreadGoal(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/start\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.startThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/fork\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.forkThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/archive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.archiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/unarchive\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.unarchiveThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/delete\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.deleteThread(request.params),\n\t\t\t\t};\n\t\t\tcase \"thread/turns/list\":\n\t\t\t\treturn {\n\t\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\t\tid,\n\t\t\t\t\tresult: await api.listTurns(request.params),\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\tthrow new MaestroAppServerError(-32601, \"Method not found\");\n\t\t}\n\t} catch (error) {\n\t\tif (\n\t\t\terror instanceof MaestroAppServerError ||\n\t\t\terror instanceof MaestroAppServerHostControlError ||\n\t\t\terror instanceof MaestroAppServerNetworkGovernanceError ||\n\t\t\terror instanceof MaestroAppServerPolicyControlError ||\n\t\t\terror instanceof MaestroAppServerSandboxCheckError ||\n\t\t\terror instanceof MaestroAppServerExternalAgentImportError ||\n\t\t\terror instanceof MaestroAppServerPluginBundleError ||\n\t\t\terror instanceof MaestroAppServerDaemonLifecycleError ||\n\t\t\terror instanceof MaestroAppServerProtocolModesError\n\t\t) {\n\t\t\treturn {\n\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\tid,\n\t\t\t\terror: {\n\t\t\t\t\tcode: error.code,\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tjsonrpc: \"2.0\",\n\t\t\tid,\n\t\t\terror: {\n\t\t\t\tcode: -32603,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t},\n\t\t};\n\t}\n}\n"]}
|
package/dist/audit/logger.d.ts
CHANGED
|
@@ -125,17 +125,17 @@ export declare function queryAuditLogs(filters: {
|
|
|
125
125
|
limit?: number;
|
|
126
126
|
offset?: number;
|
|
127
127
|
}): Promise<{
|
|
128
|
-
status: "error" | "
|
|
128
|
+
status: "error" | "success" | "denied" | "failure";
|
|
129
129
|
id: string;
|
|
130
130
|
metadata: AuditMetadata | null;
|
|
131
131
|
action: string;
|
|
132
|
-
|
|
133
|
-
sessionId: string | null;
|
|
132
|
+
createdAt: Date;
|
|
134
133
|
traceId: string | null;
|
|
135
134
|
requestId: string | null;
|
|
136
|
-
|
|
137
|
-
createdAt: Date;
|
|
135
|
+
sessionId: string | null;
|
|
138
136
|
orgId: string;
|
|
137
|
+
userId: string | null;
|
|
138
|
+
durationMs: number | null;
|
|
139
139
|
resourceId: string | null;
|
|
140
140
|
resourceType: string | null;
|
|
141
141
|
ipAddress: string | null;
|
package/dist/cli/args.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export interface Args {
|
|
|
12
12
|
port?: number;
|
|
13
13
|
continue?: boolean;
|
|
14
14
|
resume?: boolean;
|
|
15
|
+
/** Create/reuse a git worktree for interactive native TUI (Grok-style). */
|
|
16
|
+
worktree?: boolean | string;
|
|
15
17
|
help?: boolean;
|
|
16
18
|
helpHidden?: boolean;
|
|
17
19
|
version?: boolean;
|
|
@@ -51,7 +53,9 @@ export interface Args {
|
|
|
51
53
|
/** Agent profile to activate on startup */
|
|
52
54
|
composer?: string;
|
|
53
55
|
exportFormat?: string;
|
|
56
|
+
outputDir?: string;
|
|
54
57
|
redactSecrets?: boolean;
|
|
58
|
+
valueWrite?: boolean;
|
|
55
59
|
junitPath?: string;
|
|
56
60
|
/** Open a real agent session backed by a scripted replay scenario. */
|
|
57
61
|
replayScenarioPath?: string;
|