@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":"git-stash.js","sourceRoot":"","sources":["../../src/utils/git-stash.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Git Stash Integration\n *\n * Automatically stashes changes before risky operations and restores them\n * on failure, providing a safety net for destructive edits.\n *\n * ## Features\n *\n * - Auto-stash before bulk edits\n * - Restore on failure or user request\n * - Track stash history per session\n * - Integration with undo system\n *\n * ## Usage\n *\n * ```typescript\n * import { gitStash } from \"./git-stash.js\";\n *\n * // Auto-stash before risky operation\n * const stashId = await gitStash.createSafetyStash(\"Before refactoring\");\n *\n * try {\n * await riskyOperation();\n * await gitStash.dropStash(stashId);\n * } catch (error) {\n * await gitStash.restoreStash(stashId);\n * throw error;\n * }\n *\n * // Or use the wrapper\n * await gitStash.withSafetyStash(\"refactoring\", async () => {\n * await riskyOperation();\n * });\n * ```\n */\n\nimport { execSync, spawnSync } from \"node:child_process\";\nimport { createLogger } from \"./logger.js\";\n\nconst logger = createLogger(\"utils:git-stash\");\n\n/**\n * Stash entry record\n */\nexport interface StashEntry {\n\tid: string;\n\tmessage: string;\n\ttimestamp: number;\n\tref: string;\n\tfiles: string[];\n\tsessionId?: string;\n}\n\n/**\n * Git stash configuration\n */\nexport interface GitStashConfig {\n\t/** Working directory (default: process.cwd()) */\n\tcwd?: string;\n\t/** Include untracked files (default: true) */\n\tincludeUntracked?: boolean;\n\t/** Include ignored files (default: false) */\n\tincludeIgnored?: boolean;\n\t/** Auto-drop stash on successful operation (default: true) */\n\tautoDropOnSuccess?: boolean;\n\t/** Maximum stashes to keep per session (default: 10) */\n\tmaxStashesPerSession?: number;\n}\n\n/**\n * Check if current directory is a git repository\n */\nfunction isGitRepo(cwd: string): boolean {\n\ttry {\n\t\texecSync(\"git rev-parse --is-inside-work-tree\", {\n\t\t\tcwd,\n\t\t\tstdio: \"pipe\",\n\t\t});\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/**\n * Check if there are changes to stash\n */\nfunction hasChanges(cwd: string, includeUntracked: boolean): boolean {\n\ttry {\n\t\tconst result = spawnSync(\n\t\t\t\"git\",\n\t\t\t[\"status\", \"--porcelain\", includeUntracked ? \"-u\" : \"-uno\"],\n\t\t\t{ cwd, encoding: \"utf-8\" },\n\t\t);\n\t\treturn (result.stdout || \"\").trim().length > 0;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/**\n * Get list of changed files\n */\nfunction getChangedFiles(cwd: string, includeUntracked: boolean): string[] {\n\ttry {\n\t\tconst result = spawnSync(\n\t\t\t\"git\",\n\t\t\t[\"status\", \"--porcelain\", includeUntracked ? \"-u\" : \"-uno\"],\n\t\t\t{ cwd, encoding: \"utf-8\" },\n\t\t);\n\t\treturn (result.stdout || \"\")\n\t\t\t.trim()\n\t\t\t.split(\"\\n\")\n\t\t\t.filter((line) => line.length > 0)\n\t\t\t.map((line) => line.slice(3));\n\t} catch {\n\t\treturn [];\n\t}\n}\n\n/**\n * Git stash manager\n */\nclass GitStashManager {\n\tprivate sessionStashes = new Map<string, StashEntry[]>();\n\tprivate currentSessionId: string | null = null;\n\tprivate config: GitStashConfig = {\n\t\tincludeUntracked: true,\n\t\tincludeIgnored: false,\n\t\tautoDropOnSuccess: true,\n\t\tmaxStashesPerSession: 10,\n\t};\n\n\t/**\n\t * Configure the stash manager\n\t */\n\tconfigure(config: Partial<GitStashConfig>): void {\n\t\tthis.config = { ...this.config, ...config };\n\t}\n\n\t/**\n\t * Set current session ID\n\t */\n\tsetSessionId(sessionId: string): void {\n\t\tthis.currentSessionId = sessionId;\n\t\tif (!this.sessionStashes.has(sessionId)) {\n\t\t\tthis.sessionStashes.set(sessionId, []);\n\t\t}\n\t}\n\n\t/**\n\t * Create a safety stash before risky operations\n\t */\n\tasync createSafetyStash(message: string): Promise<string | null> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\n\t\tif (!isGitRepo(cwd)) {\n\t\t\tlogger.debug(\"Not a git repository, skipping stash\");\n\t\t\treturn null;\n\t\t}\n\n\t\tconst includeUntracked = this.config.includeUntracked ?? true;\n\t\tif (!hasChanges(cwd, includeUntracked)) {\n\t\t\tlogger.debug(\"No changes to stash\");\n\t\t\treturn null;\n\t\t}\n\n\t\tconst files = getChangedFiles(cwd, includeUntracked);\n\t\tconst timestamp = Date.now();\n\t\tconst stashMessage = `[composer-safety] ${message} - ${new Date(timestamp).toISOString()}`;\n\n\t\ttry {\n\t\t\tconst args = [\"stash\", \"push\", \"-m\", stashMessage];\n\t\t\tif (includeUntracked) {\n\t\t\t\targs.push(\"--include-untracked\");\n\t\t\t}\n\t\t\tif (this.config.includeIgnored) {\n\t\t\t\targs.push(\"--all\");\n\t\t\t}\n\n\t\t\texecSync(`git ${args.join(\" \")}`, { cwd, stdio: \"pipe\" });\n\n\t\t\t// Get the stash ref\n\t\t\tconst refResult = spawnSync(\"git\", [\"stash\", \"list\", \"-n\", \"1\"], {\n\t\t\t\tcwd,\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t});\n\t\t\tconst refMatch = (refResult.stdout || \"\").match(/^(stash@\\{\\d+\\})/);\n\t\t\tconst ref = refMatch ? refMatch[1]! : \"stash@{0}\";\n\n\t\t\tconst stashId = `stash_${timestamp}`;\n\t\t\tconst entry: StashEntry = {\n\t\t\t\tid: stashId,\n\t\t\t\tmessage,\n\t\t\t\ttimestamp,\n\t\t\t\tref,\n\t\t\t\tfiles,\n\t\t\t\tsessionId: this.currentSessionId || undefined,\n\t\t\t};\n\n\t\t\t// Track in session\n\t\t\tif (this.currentSessionId) {\n\t\t\t\tconst sessionStashes =\n\t\t\t\t\tthis.sessionStashes.get(this.currentSessionId) || [];\n\t\t\t\tsessionStashes.push(entry);\n\t\t\t\tthis.sessionStashes.set(this.currentSessionId, sessionStashes);\n\n\t\t\t\t// Limit stashes per session\n\t\t\t\tconst maxStashes = this.config.maxStashesPerSession || 10;\n\t\t\t\tif (sessionStashes.length > maxStashes) {\n\t\t\t\t\tconst toRemove = sessionStashes.slice(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsessionStashes.length - maxStashes,\n\t\t\t\t\t);\n\t\t\t\t\tfor (const old of toRemove) {\n\t\t\t\t\t\tawait this.dropStash(old.id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlogger.info(\"Safety stash created\", {\n\t\t\t\tstashId,\n\t\t\t\tmessage,\n\t\t\t\tfiles: files.length,\n\t\t\t});\n\n\t\t\treturn stashId;\n\t\t} catch (error) {\n\t\t\tlogger.error(\n\t\t\t\t\"Failed to create stash\",\n\t\t\t\terror instanceof Error ? error : undefined,\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Restore a stash by ID\n\t */\n\tasync restoreStash(stashId: string): Promise<boolean> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\t\tconst entry = this.findStashEntry(stashId);\n\n\t\tif (!entry) {\n\t\t\tlogger.warn(\"Stash not found\", { stashId });\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// Find current ref for this stash\n\t\t\tconst currentRef = await this.findStashRef(entry.message, cwd);\n\t\t\tif (!currentRef) {\n\t\t\t\tlogger.warn(\"Stash ref not found in git\", { stashId });\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\texecSync(`git stash pop ${currentRef}`, { cwd, stdio: \"pipe\" });\n\n\t\t\t// Remove from tracking\n\t\t\tthis.removeStashEntry(stashId);\n\n\t\t\tlogger.info(\"Stash restored\", { stashId, ref: currentRef });\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tlogger.error(\n\t\t\t\t\"Failed to restore stash\",\n\t\t\t\terror instanceof Error ? error : undefined,\n\t\t\t\t{ stashId },\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Drop a stash by ID\n\t */\n\tasync dropStash(stashId: string): Promise<boolean> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\t\tconst entry = this.findStashEntry(stashId);\n\n\t\tif (!entry) {\n\t\t\tlogger.debug(\"Stash not found, already dropped\", { stashId });\n\t\t\treturn true;\n\t\t}\n\n\t\ttry {\n\t\t\tconst currentRef = await this.findStashRef(entry.message, cwd);\n\t\t\tif (currentRef) {\n\t\t\t\texecSync(`git stash drop ${currentRef}`, { cwd, stdio: \"pipe\" });\n\t\t\t}\n\n\t\t\tthis.removeStashEntry(stashId);\n\n\t\t\tlogger.debug(\"Stash dropped\", { stashId });\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to drop stash\", { stashId, error });\n\t\t\tthis.removeStashEntry(stashId);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Execute operation with safety stash\n\t */\n\tasync withSafetyStash<T>(\n\t\toperationName: string,\n\t\tfn: () => Promise<T>,\n\t): Promise<T> {\n\t\tconst stashId = await this.createSafetyStash(`Before ${operationName}`);\n\n\t\ttry {\n\t\t\tconst result = await fn();\n\n\t\t\t// Drop stash on success if configured\n\t\t\tif (stashId && this.config.autoDropOnSuccess) {\n\t\t\t\tawait this.dropStash(stashId);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\t// Restore stash on failure\n\t\t\tif (stashId) {\n\t\t\t\tlogger.info(\"Operation failed, restoring stash\", { stashId });\n\t\t\t\tawait this.restoreStash(stashId);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * List stashes for current session\n\t */\n\tlistSessionStashes(): StashEntry[] {\n\t\tif (!this.currentSessionId) {\n\t\t\treturn [];\n\t\t}\n\t\treturn this.sessionStashes.get(this.currentSessionId) || [];\n\t}\n\n\t/**\n\t * List all git stashes\n\t */\n\tasync listGitStashes(): Promise<Array<{ ref: string; message: string }>> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\n\t\tif (!isGitRepo(cwd)) {\n\t\t\treturn [];\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = spawnSync(\"git\", [\"stash\", \"list\"], {\n\t\t\t\tcwd,\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t});\n\n\t\t\treturn (result.stdout || \"\")\n\t\t\t\t.trim()\n\t\t\t\t.split(\"\\n\")\n\t\t\t\t.filter((line) => line.length > 0)\n\t\t\t\t.map((line) => {\n\t\t\t\t\tconst match = line.match(/^(stash@\\{\\d+\\}):\\s*(.+)$/);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tref: match ? match[1]! : line,\n\t\t\t\t\t\tmessage: match ? match[2]! : line,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t} catch {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Find stash entry by ID\n\t */\n\tprivate findStashEntry(stashId: string): StashEntry | undefined {\n\t\tfor (const stashes of Array.from(this.sessionStashes.values())) {\n\t\t\tconst entry = stashes.find((s) => s.id === stashId);\n\t\t\tif (entry) return entry;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Remove stash entry from tracking\n\t */\n\tprivate removeStashEntry(stashId: string): void {\n\t\tfor (const [sessionId, stashes] of Array.from(this.sessionStashes)) {\n\t\t\tconst filtered = stashes.filter((s) => s.id !== stashId);\n\t\t\tif (filtered.length !== stashes.length) {\n\t\t\t\tthis.sessionStashes.set(sessionId, filtered);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Find current git ref for a stash by message\n\t */\n\tprivate async findStashRef(\n\t\tmessage: string,\n\t\t_cwd: string,\n\t): Promise<string | null> {\n\t\tconst stashes = await this.listGitStashes();\n\t\tconst match = stashes.find((s) => s.message.includes(message));\n\t\treturn match?.ref || null;\n\t}\n\n\t/**\n\t * Get stash statistics\n\t */\n\tgetStats(): {\n\t\tsessionStashCount: number;\n\t\ttotalTrackedStashes: number;\n\t} {\n\t\tlet totalTracked = 0;\n\t\tfor (const stashes of Array.from(this.sessionStashes.values())) {\n\t\t\ttotalTracked += stashes.length;\n\t\t}\n\n\t\treturn {\n\t\t\tsessionStashCount: this.currentSessionId\n\t\t\t\t? this.sessionStashes.get(this.currentSessionId)?.length || 0\n\t\t\t\t: 0,\n\t\t\ttotalTrackedStashes: totalTracked,\n\t\t};\n\t}\n\n\t/**\n\t * Clear all tracked stashes for a session\n\t */\n\tclearSession(sessionId: string): void {\n\t\tthis.sessionStashes.delete(sessionId);\n\t}\n\n\t/**\n\t * Reset manager state\n\t */\n\treset(): void {\n\t\tthis.sessionStashes.clear();\n\t\tthis.currentSessionId = null;\n\t}\n}\n\n/**\n * Global git stash manager instance\n */\nexport const gitStash = new GitStashManager();\n\n/**\n * Quick wrapper for operations with safety stash\n */\nexport async function withSafetyStash<T>(\n\toperationName: string,\n\tfn: () => Promise<T>,\n): Promise<T> {\n\treturn gitStash.withSafetyStash(operationName, fn);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"git-stash.js","sourceRoot":"","sources":["../../src/utils/git-stash.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Git Stash Integration\n *\n * Automatically stashes changes before risky operations and restores them\n * on failure, providing a safety net for destructive edits.\n *\n * ## Features\n *\n * - Auto-stash before bulk edits\n * - Restore on failure or user request\n * - Track stash history per session\n * - Integration with undo system\n *\n * ## Usage\n *\n * ```typescript\n * import { gitStash } from \"./git-stash.js\";\n *\n * // Auto-stash before risky operation\n * const stashId = await gitStash.createSafetyStash(\"Before refactoring\");\n *\n * try {\n * await riskyOperation();\n * await gitStash.dropStash(stashId);\n * } catch (error) {\n * await gitStash.restoreStash(stashId);\n * throw error;\n * }\n *\n * // Or use the wrapper\n * await gitStash.withSafetyStash(\"refactoring\", async () => {\n * await riskyOperation();\n * });\n * ```\n */\n\nimport { spawnSync } from \"node:child_process\";\nimport { createLogger } from \"./logger.js\";\n\nconst logger = createLogger(\"utils:git-stash\");\n\n/**\n * Stash entry record\n */\nexport interface StashEntry {\n\tid: string;\n\tmessage: string;\n\ttimestamp: number;\n\tref: string;\n\tfiles: string[];\n\tsessionId?: string;\n}\n\n/**\n * Git stash configuration\n */\nexport interface GitStashConfig {\n\t/** Working directory (default: process.cwd()) */\n\tcwd?: string;\n\t/** Include untracked files (default: true) */\n\tincludeUntracked?: boolean;\n\t/** Include ignored files (default: false) */\n\tincludeIgnored?: boolean;\n\t/** Auto-drop stash on successful operation (default: true) */\n\tautoDropOnSuccess?: boolean;\n\t/** Maximum stashes to keep per session (default: 10) */\n\tmaxStashesPerSession?: number;\n}\n\n/**\n * Run a git command, throwing on non-zero exit (mirrors execSync's contract)\n * but via argv array form so interpolated values can never reach a shell.\n */\nfunction runGit(args: string[], cwd: string): void {\n\tconst result = spawnSync(\"git\", args, { cwd, stdio: \"pipe\" });\n\tif (result.status !== 0) {\n\t\tthrow new Error(`git ${args.join(\" \")} failed (exit ${result.status})`);\n\t}\n}\n\n/**\n * Check if current directory is a git repository\n */\nfunction isGitRepo(cwd: string): boolean {\n\ttry {\n\t\trunGit([\"rev-parse\", \"--is-inside-work-tree\"], cwd);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/**\n * Check if there are changes to stash\n */\nfunction hasChanges(cwd: string, includeUntracked: boolean): boolean {\n\ttry {\n\t\tconst result = spawnSync(\n\t\t\t\"git\",\n\t\t\t[\"status\", \"--porcelain\", includeUntracked ? \"-u\" : \"-uno\"],\n\t\t\t{ cwd, encoding: \"utf-8\" },\n\t\t);\n\t\treturn (result.stdout || \"\").trim().length > 0;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/**\n * Get list of changed files\n */\nfunction getChangedFiles(cwd: string, includeUntracked: boolean): string[] {\n\ttry {\n\t\tconst result = spawnSync(\n\t\t\t\"git\",\n\t\t\t[\"status\", \"--porcelain\", includeUntracked ? \"-u\" : \"-uno\"],\n\t\t\t{ cwd, encoding: \"utf-8\" },\n\t\t);\n\t\treturn (result.stdout || \"\")\n\t\t\t.trim()\n\t\t\t.split(\"\\n\")\n\t\t\t.filter((line) => line.length > 0)\n\t\t\t.map((line) => line.slice(3));\n\t} catch {\n\t\treturn [];\n\t}\n}\n\n/**\n * Git stash manager\n */\nclass GitStashManager {\n\tprivate sessionStashes = new Map<string, StashEntry[]>();\n\tprivate currentSessionId: string | null = null;\n\tprivate config: GitStashConfig = {\n\t\tincludeUntracked: true,\n\t\tincludeIgnored: false,\n\t\tautoDropOnSuccess: true,\n\t\tmaxStashesPerSession: 10,\n\t};\n\n\t/**\n\t * Configure the stash manager\n\t */\n\tconfigure(config: Partial<GitStashConfig>): void {\n\t\tthis.config = { ...this.config, ...config };\n\t}\n\n\t/**\n\t * Set current session ID\n\t */\n\tsetSessionId(sessionId: string): void {\n\t\tthis.currentSessionId = sessionId;\n\t\tif (!this.sessionStashes.has(sessionId)) {\n\t\t\tthis.sessionStashes.set(sessionId, []);\n\t\t}\n\t}\n\n\t/**\n\t * Create a safety stash before risky operations\n\t */\n\tasync createSafetyStash(message: string): Promise<string | null> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\n\t\tif (!isGitRepo(cwd)) {\n\t\t\tlogger.debug(\"Not a git repository, skipping stash\");\n\t\t\treturn null;\n\t\t}\n\n\t\tconst includeUntracked = this.config.includeUntracked ?? true;\n\t\tif (!hasChanges(cwd, includeUntracked)) {\n\t\t\tlogger.debug(\"No changes to stash\");\n\t\t\treturn null;\n\t\t}\n\n\t\tconst files = getChangedFiles(cwd, includeUntracked);\n\t\tconst timestamp = Date.now();\n\t\tconst stashMessage = `[composer-safety] ${message} - ${new Date(timestamp).toISOString()}`;\n\n\t\ttry {\n\t\t\tconst args = [\"stash\", \"push\", \"-m\", stashMessage];\n\t\t\tif (includeUntracked) {\n\t\t\t\targs.push(\"--include-untracked\");\n\t\t\t}\n\t\t\tif (this.config.includeIgnored) {\n\t\t\t\targs.push(\"--all\");\n\t\t\t}\n\n\t\t\trunGit(args, cwd);\n\n\t\t\t// Get the stash ref\n\t\t\tconst refResult = spawnSync(\"git\", [\"stash\", \"list\", \"-n\", \"1\"], {\n\t\t\t\tcwd,\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t});\n\t\t\tconst refMatch = (refResult.stdout || \"\").match(/^(stash@\\{\\d+\\})/);\n\t\t\tconst ref = refMatch ? refMatch[1]! : \"stash@{0}\";\n\n\t\t\tconst stashId = `stash_${timestamp}`;\n\t\t\tconst entry: StashEntry = {\n\t\t\t\tid: stashId,\n\t\t\t\tmessage,\n\t\t\t\ttimestamp,\n\t\t\t\tref,\n\t\t\t\tfiles,\n\t\t\t\tsessionId: this.currentSessionId || undefined,\n\t\t\t};\n\n\t\t\t// Track in session\n\t\t\tif (this.currentSessionId) {\n\t\t\t\tconst sessionStashes =\n\t\t\t\t\tthis.sessionStashes.get(this.currentSessionId) || [];\n\t\t\t\tsessionStashes.push(entry);\n\t\t\t\tthis.sessionStashes.set(this.currentSessionId, sessionStashes);\n\n\t\t\t\t// Limit stashes per session\n\t\t\t\tconst maxStashes = this.config.maxStashesPerSession || 10;\n\t\t\t\tif (sessionStashes.length > maxStashes) {\n\t\t\t\t\tconst toRemove = sessionStashes.slice(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tsessionStashes.length - maxStashes,\n\t\t\t\t\t);\n\t\t\t\t\tfor (const old of toRemove) {\n\t\t\t\t\t\tawait this.dropStash(old.id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlogger.info(\"Safety stash created\", {\n\t\t\t\tstashId,\n\t\t\t\tmessage,\n\t\t\t\tfiles: files.length,\n\t\t\t});\n\n\t\t\treturn stashId;\n\t\t} catch (error) {\n\t\t\tlogger.error(\n\t\t\t\t\"Failed to create stash\",\n\t\t\t\terror instanceof Error ? error : undefined,\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Restore a stash by ID\n\t */\n\tasync restoreStash(stashId: string): Promise<boolean> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\t\tconst entry = this.findStashEntry(stashId);\n\n\t\tif (!entry) {\n\t\t\tlogger.warn(\"Stash not found\", { stashId });\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// Find current ref for this stash\n\t\t\tconst currentRef = await this.findStashRef(entry.message, cwd);\n\t\t\tif (!currentRef) {\n\t\t\t\tlogger.warn(\"Stash ref not found in git\", { stashId });\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\trunGit([\"stash\", \"pop\", currentRef], cwd);\n\n\t\t\t// Remove from tracking\n\t\t\tthis.removeStashEntry(stashId);\n\n\t\t\tlogger.info(\"Stash restored\", { stashId, ref: currentRef });\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tlogger.error(\n\t\t\t\t\"Failed to restore stash\",\n\t\t\t\terror instanceof Error ? error : undefined,\n\t\t\t\t{ stashId },\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Drop a stash by ID\n\t */\n\tasync dropStash(stashId: string): Promise<boolean> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\t\tconst entry = this.findStashEntry(stashId);\n\n\t\tif (!entry) {\n\t\t\tlogger.debug(\"Stash not found, already dropped\", { stashId });\n\t\t\treturn true;\n\t\t}\n\n\t\ttry {\n\t\t\tconst currentRef = await this.findStashRef(entry.message, cwd);\n\t\t\tif (currentRef) {\n\t\t\t\trunGit([\"stash\", \"drop\", currentRef], cwd);\n\t\t\t}\n\n\t\t\tthis.removeStashEntry(stashId);\n\n\t\t\tlogger.debug(\"Stash dropped\", { stashId });\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to drop stash\", { stashId, error });\n\t\t\tthis.removeStashEntry(stashId);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Execute operation with safety stash\n\t */\n\tasync withSafetyStash<T>(\n\t\toperationName: string,\n\t\tfn: () => Promise<T>,\n\t): Promise<T> {\n\t\tconst stashId = await this.createSafetyStash(`Before ${operationName}`);\n\n\t\ttry {\n\t\t\tconst result = await fn();\n\n\t\t\t// Drop stash on success if configured\n\t\t\tif (stashId && this.config.autoDropOnSuccess) {\n\t\t\t\tawait this.dropStash(stashId);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\t// Restore stash on failure\n\t\t\tif (stashId) {\n\t\t\t\tlogger.info(\"Operation failed, restoring stash\", { stashId });\n\t\t\t\tawait this.restoreStash(stashId);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * List stashes for current session\n\t */\n\tlistSessionStashes(): StashEntry[] {\n\t\tif (!this.currentSessionId) {\n\t\t\treturn [];\n\t\t}\n\t\treturn this.sessionStashes.get(this.currentSessionId) || [];\n\t}\n\n\t/**\n\t * List all git stashes\n\t */\n\tasync listGitStashes(): Promise<Array<{ ref: string; message: string }>> {\n\t\tconst cwd = this.config.cwd || process.cwd();\n\n\t\tif (!isGitRepo(cwd)) {\n\t\t\treturn [];\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = spawnSync(\"git\", [\"stash\", \"list\"], {\n\t\t\t\tcwd,\n\t\t\t\tencoding: \"utf-8\",\n\t\t\t});\n\n\t\t\treturn (result.stdout || \"\")\n\t\t\t\t.trim()\n\t\t\t\t.split(\"\\n\")\n\t\t\t\t.filter((line) => line.length > 0)\n\t\t\t\t.map((line) => {\n\t\t\t\t\tconst match = line.match(/^(stash@\\{\\d+\\}):\\s*(.+)$/);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tref: match ? match[1]! : line,\n\t\t\t\t\t\tmessage: match ? match[2]! : line,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t} catch {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Find stash entry by ID\n\t */\n\tprivate findStashEntry(stashId: string): StashEntry | undefined {\n\t\tfor (const stashes of Array.from(this.sessionStashes.values())) {\n\t\t\tconst entry = stashes.find((s) => s.id === stashId);\n\t\t\tif (entry) return entry;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Remove stash entry from tracking\n\t */\n\tprivate removeStashEntry(stashId: string): void {\n\t\tfor (const [sessionId, stashes] of Array.from(this.sessionStashes)) {\n\t\t\tconst filtered = stashes.filter((s) => s.id !== stashId);\n\t\t\tif (filtered.length !== stashes.length) {\n\t\t\t\tthis.sessionStashes.set(sessionId, filtered);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Find current git ref for a stash by message\n\t */\n\tprivate async findStashRef(\n\t\tmessage: string,\n\t\t_cwd: string,\n\t): Promise<string | null> {\n\t\tconst stashes = await this.listGitStashes();\n\t\tconst match = stashes.find((s) => s.message.includes(message));\n\t\treturn match?.ref || null;\n\t}\n\n\t/**\n\t * Get stash statistics\n\t */\n\tgetStats(): {\n\t\tsessionStashCount: number;\n\t\ttotalTrackedStashes: number;\n\t} {\n\t\tlet totalTracked = 0;\n\t\tfor (const stashes of Array.from(this.sessionStashes.values())) {\n\t\t\ttotalTracked += stashes.length;\n\t\t}\n\n\t\treturn {\n\t\t\tsessionStashCount: this.currentSessionId\n\t\t\t\t? this.sessionStashes.get(this.currentSessionId)?.length || 0\n\t\t\t\t: 0,\n\t\t\ttotalTrackedStashes: totalTracked,\n\t\t};\n\t}\n\n\t/**\n\t * Clear all tracked stashes for a session\n\t */\n\tclearSession(sessionId: string): void {\n\t\tthis.sessionStashes.delete(sessionId);\n\t}\n\n\t/**\n\t * Reset manager state\n\t */\n\treset(): void {\n\t\tthis.sessionStashes.clear();\n\t\tthis.currentSessionId = null;\n\t}\n}\n\n/**\n * Global git stash manager instance\n */\nexport const gitStash = new GitStashManager();\n\n/**\n * Quick wrapper for operations with safety stash\n */\nexport async function withSafetyStash<T>(\n\toperationName: string,\n\tfn: () => Promise<T>,\n): Promise<T> {\n\treturn gitStash.withSafetyStash(operationName, fn);\n}\n"]}
|
package/dist/utils/json.d.ts
CHANGED
|
@@ -53,6 +53,17 @@ export declare function parseJsonWithGuard<T>(input: string, guard: (data: unkno
|
|
|
53
53
|
success: false;
|
|
54
54
|
error: JsonParseError;
|
|
55
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* Type alias for a record with unknown values.
|
|
58
|
+
*/
|
|
59
|
+
export type UnknownRecord = Record<string, unknown>;
|
|
60
|
+
/**
|
|
61
|
+
* Type guard: is `value` a plain record (non-null object that is not an array)?
|
|
62
|
+
*
|
|
63
|
+
* Canonical home for `isRecord`; prefer importing from here over re-defining
|
|
64
|
+
* locally. (`isPlainObject` below is the same predicate, retained for callers.)
|
|
65
|
+
*/
|
|
66
|
+
export declare function isRecord(value: unknown): value is UnknownRecord;
|
|
56
67
|
/**
|
|
57
68
|
* Type guard for checking if a value is a plain object
|
|
58
69
|
*/
|
package/dist/utils/json.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,qBAAa,cAAe,SAAQ,KAAK;aAGvB,KAAK,EAAE,MAAM;aACJ,KAAK,CAAC,EAAE,KAAK;gBAFtC,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,MAAM,EACJ,KAAK,CAAC,EAAE,KAAK,YAAA;CAKvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EACxC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAkBxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAM5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,MAAM,CAoER;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EACzC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,CAAC,EAAE,CAoBL;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,GAC1E,IAAI,IAAI,CAAC,CAwBX;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAMtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,EACnC,OAAO,CAAC,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAiBxE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACjC,KAAK,IAAI,CAAC,EAAE,CAEd;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,qBAAa,cAAe,SAAQ,KAAK;aAGvB,KAAK,EAAE,MAAM;aACJ,KAAK,CAAC,EAAE,KAAK;gBAFtC,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,MAAM,EACJ,KAAK,CAAC,EAAE,KAAK,YAAA;CAKvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EACxC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAkBxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAM5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,MAAM,CAoER;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EACzC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,CAAC,EAAE,CAoBL;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,GAC1E,IAAI,IAAI,CAAC,CAwBX;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAMtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,EACnC,OAAO,CAAC,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAiBxE;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAE/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAC1B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,GACjC,KAAK,IAAI,CAAC,EAAE,CAEd;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
|
package/dist/utils/json.js
CHANGED
|
@@ -184,6 +184,15 @@ export function parseJsonWithGuard(input, guard, context) {
|
|
|
184
184
|
}
|
|
185
185
|
return { success: true, data: result.data };
|
|
186
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Type guard: is `value` a plain record (non-null object that is not an array)?
|
|
189
|
+
*
|
|
190
|
+
* Canonical home for `isRecord`; prefer importing from here over re-defining
|
|
191
|
+
* locally. (`isPlainObject` below is the same predicate, retained for callers.)
|
|
192
|
+
*/
|
|
193
|
+
export function isRecord(value) {
|
|
194
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
195
|
+
}
|
|
187
196
|
/**
|
|
188
197
|
* Type guard for checking if a value is a plain object
|
|
189
198
|
*/
|
package/dist/utils/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Safe JSON parsing utilities with better error handling and validation.\n */\n\nimport { createLogger } from \"./logger.js\";\n\nconst logger = createLogger(\"json-utils\");\n\nexport class JsonParseError extends Error {\n\tconstructor(\n\t\tmessage: string,\n\t\tpublic readonly input: string,\n\t\tpublic override readonly cause?: Error,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"JsonParseError\";\n\t}\n}\n\n/**\n * Safely parse JSON with detailed error reporting\n */\nexport function safeJsonParse<T = unknown>(\n\tinput: string,\n\tcontext?: string,\n): { success: true; data: T } | { success: false; error: JsonParseError } {\n\ttry {\n\t\tconst data = JSON.parse(input) as T;\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tconst message = context\n\t\t\t? `Failed to parse JSON in ${context}`\n\t\t\t: \"Failed to parse JSON\";\n\n\t\tconst parseError = new JsonParseError(\n\t\t\tmessage,\n\t\t\tinput.slice(0, 200), // Limit stored input\n\t\t\terror instanceof Error ? error : undefined,\n\t\t);\n\n\t\tlogger.debug(message, { inputLength: input.length, error });\n\t\treturn { success: false, error: parseError };\n\t}\n}\n\n/**\n * Parse JSON with a fallback value\n */\nexport function parseJsonOr<T>(input: string, fallback: T): T {\n\ttry {\n\t\treturn JSON.parse(input) as T;\n\t} catch {\n\t\treturn fallback;\n\t}\n}\n\n/**\n * Safely stringify with circular reference handling\n */\nexport function safeJsonStringify(\n\tvalue: unknown,\n\toptions: { pretty?: boolean; maxDepth?: number } = {},\n): string {\n\tconst { pretty = false, maxDepth = 10 } = options;\n\tconst seen = new WeakSet();\n\tlet depth = 0;\n\n\tconst replacer = (_key: string, val: unknown): unknown => {\n\t\t// Handle primitives\n\t\tif (val === null || typeof val !== \"object\") {\n\t\t\treturn val;\n\t\t}\n\n\t\t// Check depth limit\n\t\tif (depth >= maxDepth) {\n\t\t\treturn \"[Max Depth Reached]\";\n\t\t}\n\n\t\t// Handle circular references\n\t\tif (seen.has(val as object)) {\n\t\t\treturn \"[Circular Reference]\";\n\t\t}\n\n\t\tseen.add(val as object);\n\t\tdepth++;\n\t\ttry {\n\t\t\t// Handle special types\n\t\t\tif (val instanceof Error) {\n\t\t\t\treturn {\n\t\t\t\t\tname: val.name,\n\t\t\t\t\tmessage: val.message,\n\t\t\t\t\tstack: val.stack,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (val instanceof Map) {\n\t\t\t\treturn Object.fromEntries(val);\n\t\t\t}\n\n\t\t\tif (val instanceof Set) {\n\t\t\t\treturn Array.from(val);\n\t\t\t}\n\n\t\t\tif (val instanceof Date) {\n\t\t\t\treturn val.toISOString();\n\t\t\t}\n\n\t\t\tif (val instanceof RegExp) {\n\t\t\t\treturn val.toString();\n\t\t\t}\n\n\t\t\tif (ArrayBuffer.isView(val)) {\n\t\t\t\treturn \"[Binary Data]\";\n\t\t\t}\n\n\t\t\treturn val;\n\t\t} finally {\n\t\t\tdepth--;\n\t\t}\n\t};\n\n\ttry {\n\t\treturn JSON.stringify(value, replacer, pretty ? 2 : undefined);\n\t} catch (error) {\n\t\tlogger.error(\n\t\t\t\"Failed to stringify value\",\n\t\t\terror instanceof Error ? error : undefined,\n\t\t);\n\t\treturn \"[Stringify Failed]\";\n\t}\n}\n\n/**\n * Parse JSONL (JSON Lines) format\n */\nexport function parseJsonLines<T = unknown>(\n\tinput: string,\n\toptions: { skipErrors?: boolean } = {},\n): T[] {\n\tconst { skipErrors = false } = options;\n\tconst results: T[] = [];\n\tconst lines = input.split(\"\\n\");\n\n\tfor (let i = 0; i < lines.length; i++) {\n\t\tconst rawLine = lines[i];\n\t\tif (!rawLine) continue;\n\t\tconst line = rawLine.trim();\n\t\tif (!line) continue;\n\n\t\tconst result = safeJsonParse<T>(line, `line ${i + 1}`);\n\t\tif (result.success) {\n\t\t\tresults.push(result.data);\n\t\t} else if (!skipErrors) {\n\t\t\tthrow \"error\" in result ? result.error : new Error(\"Parse error\");\n\t\t}\n\t}\n\n\treturn results;\n}\n\n/**\n * Validate JSON against a schema using simple type checking\n */\nexport function validateJsonShape<T>(\n\tdata: unknown,\n\tschema: Record<string, \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\">,\n): data is T {\n\tif (typeof data !== \"object\" || data === null) {\n\t\treturn false;\n\t}\n\n\tconst obj = data as Record<string, unknown>;\n\n\tfor (const [key, expectedType] of Object.entries(schema)) {\n\t\tconst value = obj[key];\n\n\t\tif (expectedType === \"array\") {\n\t\t\tif (!Array.isArray(value)) return false;\n\t\t} else if (expectedType === \"object\") {\n\t\t\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\t// string, number, or boolean\n\t\t\tconst valueType = typeof value;\n\t\t\tif (valueType !== expectedType) return false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Try to parse JSON, returning undefined on failure.\n * Useful for simple cases where you don't need error details.\n */\nexport function tryParseJson<T = unknown>(input: string): T | undefined {\n\ttry {\n\t\treturn JSON.parse(input) as T;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\n/**\n * Parse JSON with validation using a type guard.\n * Returns the parsed and validated data or an error.\n */\nexport function parseJsonWithGuard<T>(\n\tinput: string,\n\tguard: (data: unknown) => data is T,\n\tcontext?: string,\n): { success: true; data: T } | { success: false; error: JsonParseError } {\n\tconst result = safeJsonParse(input, context);\n\tif (!result.success) {\n\t\treturn result;\n\t}\n\n\tif (!guard(result.data)) {\n\t\tconst message = context\n\t\t\t? `Invalid data structure in ${context}`\n\t\t\t: \"Invalid data structure\";\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new JsonParseError(message, input.slice(0, 200)),\n\t\t};\n\t}\n\n\treturn { success: true, data: result.data };\n}\n\n/**\n * Type guard for checking if a value is a plain object\n */\nexport function isPlainObject(\n\tvalue: unknown,\n): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\n/**\n * Type guard for checking if a value is an array of a specific type\n */\nexport function isArrayOf<T>(\n\tvalue: unknown,\n\tguard: (item: unknown) => item is T,\n): value is T[] {\n\treturn Array.isArray(value) && value.every(guard);\n}\n\n/**\n * Type guard for string\n */\nexport function isString(value: unknown): value is string {\n\treturn typeof value === \"string\";\n}\n\n/**\n * Type guard for number\n */\nexport function isNumber(value: unknown): value is number {\n\treturn typeof value === \"number\" && !Number.isNaN(value);\n}\n\n/**\n * Type guard for boolean\n */\nexport function isBoolean(value: unknown): value is boolean {\n\treturn typeof value === \"boolean\";\n}\n"]}
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAE1C,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,YACC,OAAe,EACC,KAAa,EACJ,KAAa;QAEtC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,UAAK,GAAL,KAAK,CAAQ;QACJ,UAAK,GAAL,KAAK,CAAQ;QAGtC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC9B,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC5B,KAAa,EACb,OAAgB;IAEhB,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,OAAO;YACtB,CAAC,CAAC,2BAA2B,OAAO,EAAE;YACtC,CAAC,CAAC,sBAAsB,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,cAAc,CACpC,OAAO,EACP,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,qBAAqB;QAC1C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAa,EAAE,QAAW;IACxD,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAChC,KAAc,EACd,UAAmD,EAAE;IAErD,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,GAAY,EAAW,EAAE;QACxD,oBAAoB;QACpB,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,oBAAoB;QACpB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACvB,OAAO,qBAAqB,CAAC;QAC9B,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAa,CAAC,EAAE,CAAC;YAC7B,OAAO,sBAAsB,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC;QACxB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC;YACJ,uBAAuB;YACvB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBAC1B,OAAO;oBACN,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;iBAChB,CAAC;YACH,CAAC;YAED,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,eAAe,CAAC;YACxB,CAAC;YAED,OAAO,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACV,KAAK,EAAE,CAAC;QACT,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CACX,2BAA2B,EAC3B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;QACF,OAAO,oBAAoB,CAAC;IAC7B,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAa,EACb,UAAoC,EAAE;IAEtC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,MAAM,GAAG,aAAa,CAAI,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAChC,IAAa,EACb,MAA4E;IAE5E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzC,CAAC;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzE,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;aAAM,CAAC;YACP,6BAA6B;YAC7B,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC;YAC/B,IAAI,SAAS,KAAK,YAAY;gBAAE,OAAO,KAAK,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAc,KAAa;IACtD,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CACjC,KAAa,EACb,KAAmC,EACnC,OAAgB;IAEhB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,OAAO;YACtB,CAAC,CAAC,6BAA6B,OAAO,EAAE;YACxC,CAAC,CAAC,wBAAwB,CAAC;QAC5B,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACvD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC5B,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACxB,KAAc,EACd,KAAmC;IAEnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;AACnC,CAAC","sourcesContent":["/**\n * Safe JSON parsing utilities with better error handling and validation.\n */\n\nimport { createLogger } from \"./logger.js\";\n\nconst logger = createLogger(\"json-utils\");\n\nexport class JsonParseError extends Error {\n\tconstructor(\n\t\tmessage: string,\n\t\tpublic readonly input: string,\n\t\tpublic override readonly cause?: Error,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"JsonParseError\";\n\t}\n}\n\n/**\n * Safely parse JSON with detailed error reporting\n */\nexport function safeJsonParse<T = unknown>(\n\tinput: string,\n\tcontext?: string,\n): { success: true; data: T } | { success: false; error: JsonParseError } {\n\ttry {\n\t\tconst data = JSON.parse(input) as T;\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tconst message = context\n\t\t\t? `Failed to parse JSON in ${context}`\n\t\t\t: \"Failed to parse JSON\";\n\n\t\tconst parseError = new JsonParseError(\n\t\t\tmessage,\n\t\t\tinput.slice(0, 200), // Limit stored input\n\t\t\terror instanceof Error ? error : undefined,\n\t\t);\n\n\t\tlogger.debug(message, { inputLength: input.length, error });\n\t\treturn { success: false, error: parseError };\n\t}\n}\n\n/**\n * Parse JSON with a fallback value\n */\nexport function parseJsonOr<T>(input: string, fallback: T): T {\n\ttry {\n\t\treturn JSON.parse(input) as T;\n\t} catch {\n\t\treturn fallback;\n\t}\n}\n\n/**\n * Safely stringify with circular reference handling\n */\nexport function safeJsonStringify(\n\tvalue: unknown,\n\toptions: { pretty?: boolean; maxDepth?: number } = {},\n): string {\n\tconst { pretty = false, maxDepth = 10 } = options;\n\tconst seen = new WeakSet();\n\tlet depth = 0;\n\n\tconst replacer = (_key: string, val: unknown): unknown => {\n\t\t// Handle primitives\n\t\tif (val === null || typeof val !== \"object\") {\n\t\t\treturn val;\n\t\t}\n\n\t\t// Check depth limit\n\t\tif (depth >= maxDepth) {\n\t\t\treturn \"[Max Depth Reached]\";\n\t\t}\n\n\t\t// Handle circular references\n\t\tif (seen.has(val as object)) {\n\t\t\treturn \"[Circular Reference]\";\n\t\t}\n\n\t\tseen.add(val as object);\n\t\tdepth++;\n\t\ttry {\n\t\t\t// Handle special types\n\t\t\tif (val instanceof Error) {\n\t\t\t\treturn {\n\t\t\t\t\tname: val.name,\n\t\t\t\t\tmessage: val.message,\n\t\t\t\t\tstack: val.stack,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (val instanceof Map) {\n\t\t\t\treturn Object.fromEntries(val);\n\t\t\t}\n\n\t\t\tif (val instanceof Set) {\n\t\t\t\treturn Array.from(val);\n\t\t\t}\n\n\t\t\tif (val instanceof Date) {\n\t\t\t\treturn val.toISOString();\n\t\t\t}\n\n\t\t\tif (val instanceof RegExp) {\n\t\t\t\treturn val.toString();\n\t\t\t}\n\n\t\t\tif (ArrayBuffer.isView(val)) {\n\t\t\t\treturn \"[Binary Data]\";\n\t\t\t}\n\n\t\t\treturn val;\n\t\t} finally {\n\t\t\tdepth--;\n\t\t}\n\t};\n\n\ttry {\n\t\treturn JSON.stringify(value, replacer, pretty ? 2 : undefined);\n\t} catch (error) {\n\t\tlogger.error(\n\t\t\t\"Failed to stringify value\",\n\t\t\terror instanceof Error ? error : undefined,\n\t\t);\n\t\treturn \"[Stringify Failed]\";\n\t}\n}\n\n/**\n * Parse JSONL (JSON Lines) format\n */\nexport function parseJsonLines<T = unknown>(\n\tinput: string,\n\toptions: { skipErrors?: boolean } = {},\n): T[] {\n\tconst { skipErrors = false } = options;\n\tconst results: T[] = [];\n\tconst lines = input.split(\"\\n\");\n\n\tfor (let i = 0; i < lines.length; i++) {\n\t\tconst rawLine = lines[i];\n\t\tif (!rawLine) continue;\n\t\tconst line = rawLine.trim();\n\t\tif (!line) continue;\n\n\t\tconst result = safeJsonParse<T>(line, `line ${i + 1}`);\n\t\tif (result.success) {\n\t\t\tresults.push(result.data);\n\t\t} else if (!skipErrors) {\n\t\t\tthrow \"error\" in result ? result.error : new Error(\"Parse error\");\n\t\t}\n\t}\n\n\treturn results;\n}\n\n/**\n * Validate JSON against a schema using simple type checking\n */\nexport function validateJsonShape<T>(\n\tdata: unknown,\n\tschema: Record<string, \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\">,\n): data is T {\n\tif (typeof data !== \"object\" || data === null) {\n\t\treturn false;\n\t}\n\n\tconst obj = data as Record<string, unknown>;\n\n\tfor (const [key, expectedType] of Object.entries(schema)) {\n\t\tconst value = obj[key];\n\n\t\tif (expectedType === \"array\") {\n\t\t\tif (!Array.isArray(value)) return false;\n\t\t} else if (expectedType === \"object\") {\n\t\t\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\t// string, number, or boolean\n\t\t\tconst valueType = typeof value;\n\t\t\tif (valueType !== expectedType) return false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Try to parse JSON, returning undefined on failure.\n * Useful for simple cases where you don't need error details.\n */\nexport function tryParseJson<T = unknown>(input: string): T | undefined {\n\ttry {\n\t\treturn JSON.parse(input) as T;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\n/**\n * Parse JSON with validation using a type guard.\n * Returns the parsed and validated data or an error.\n */\nexport function parseJsonWithGuard<T>(\n\tinput: string,\n\tguard: (data: unknown) => data is T,\n\tcontext?: string,\n): { success: true; data: T } | { success: false; error: JsonParseError } {\n\tconst result = safeJsonParse(input, context);\n\tif (!result.success) {\n\t\treturn result;\n\t}\n\n\tif (!guard(result.data)) {\n\t\tconst message = context\n\t\t\t? `Invalid data structure in ${context}`\n\t\t\t: \"Invalid data structure\";\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new JsonParseError(message, input.slice(0, 200)),\n\t\t};\n\t}\n\n\treturn { success: true, data: result.data };\n}\n\n/**\n * Type alias for a record with unknown values.\n */\nexport type UnknownRecord = Record<string, unknown>;\n\n/**\n * Type guard: is `value` a plain record (non-null object that is not an array)?\n *\n * Canonical home for `isRecord`; prefer importing from here over re-defining\n * locally. (`isPlainObject` below is the same predicate, retained for callers.)\n */\nexport function isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\n/**\n * Type guard for checking if a value is a plain object\n */\nexport function isPlainObject(\n\tvalue: unknown,\n): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\n/**\n * Type guard for checking if a value is an array of a specific type\n */\nexport function isArrayOf<T>(\n\tvalue: unknown,\n\tguard: (item: unknown) => item is T,\n): value is T[] {\n\treturn Array.isArray(value) && value.every(guard);\n}\n\n/**\n * Type guard for string\n */\nexport function isString(value: unknown): value is string {\n\treturn typeof value === \"string\";\n}\n\n/**\n * Type guard for number\n */\nexport function isNumber(value: unknown): value is number {\n\treturn typeof value === \"number\" && !Number.isNaN(value);\n}\n\n/**\n * Type guard for boolean\n */\nexport function isBoolean(value: unknown): value is boolean {\n\treturn typeof value === \"boolean\";\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-env.d.ts","sourceRoot":"","sources":["../../src/utils/shell-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,sBAAsB,EAAc,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-env.d.ts","sourceRoot":"","sources":["../../src/utils/shell-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,sBAAsB,EAAc,MAAM,oBAAoB,CAAC;AA0F7E,MAAM,WAAW,8BAA8B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,sBAAsB,CAAC;CAChC;AA6DD;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,MAAM,CAAC,UAAU,EAC1B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyDxB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC9C,OAAO,GAAE,8BAAmC,GAC1C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBxB"}
|
package/dist/utils/shell-env.js
CHANGED
|
@@ -93,6 +93,8 @@ const PLATFORM_TRUSTED_TOOL_ENV_ALLOWLIST = [
|
|
|
93
93
|
"MAESTRO_AGENT_REGISTRY_SERVICE_URL",
|
|
94
94
|
"MAESTRO_AGENT_RUNTIME_ORG_ID",
|
|
95
95
|
"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID",
|
|
96
|
+
"MAESTRO_OBJECTIVE_ID",
|
|
97
|
+
"MAESTRO_EVALOPS_OBJECTIVE_ID",
|
|
96
98
|
];
|
|
97
99
|
function matchesAny(name, patterns) {
|
|
98
100
|
return patterns.some((pattern) => minimatch(name, pattern, { nocase: true, dot: true }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-env.js","sourceRoot":"","sources":["../../src/utils/shell-env.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shell Environment Policy - Filtered environment for user-command execution\n *\n * Applies a configurable policy to the process environment before passing it\n * to shell-based tools (bash/background tasks/sandboxed exec).\n *\n * By default, variables containing KEY/SECRET/TOKEN are excluded to reduce\n * accidental credential leakage into arbitrary commands. Use\n * `shell_environment_policy.ignore_default_excludes = true` to opt out.\n */\n\nimport { minimatch } from \"minimatch\";\nimport { type ShellEnvironmentPolicy, loadConfig } from \"../config/index.js\";\n\nconst CORE_ENV_VARS = [\n\t\"HOME\",\n\t\"LOGNAME\",\n\t\"PATH\",\n\t\"SHELL\",\n\t\"USER\",\n\t\"USERNAME\",\n\t\"TMPDIR\",\n\t\"TEMP\",\n\t\"TMP\",\n];\n\n/**\n * Default denylist of env-var name patterns that almost always carry\n * credentials. This is a defense-in-depth pattern — not a complete\n * secret blocker (denylists never are). Operators handling untrusted\n * code should set `shell_environment_policy.inherit = \"core\"` plus an\n * explicit `include_only` allowlist; see SECURITY.md.\n *\n * Widened in #2471 from the original 3-pattern list (`KEY`, `SECRET`,\n * `TOKEN`) to also cover:\n *\n * - common credential nouns (`PASSWORD`, `PASSWD`, `CREDENTIAL`,\n * `PRIVATE`, `PAT`, `AUTH`, `SESSION`)\n * - DSN/connection-string vars whose value embeds creds even when\n * the name doesn't (`DATABASE_URL`, `*_DSN`, `CONNECTION_STRING`)\n * - common provider prefixes that hold long-lived creds\n * (`AWS_*`, `AZURE_*`, `GCP_*`, `GOOGLE_*`, `OPENAI_*`,\n * `ANTHROPIC_*`, `GH_*`, `GITHUB_*`, `STRIPE_*`, `TWILIO_*`,\n * `SLACK_*`, `OP_*` for 1Password CLI)\n */\nconst DEFAULT_EXCLUDES = [\n\t// Original triad — broad credential nouns\n\t\"*KEY*\",\n\t\"*SECRET*\",\n\t\"*TOKEN*\",\n\t// Additional credential nouns (#2471)\n\t\"*PASSWORD*\",\n\t\"*PASSWD*\",\n\t\"*CREDENTIAL*\",\n\t\"*PRIVATE*\",\n\t\"*_PAT\", // GITHUB_PAT, GH_PAT, etc. (tighter than *PAT* which would catch PATH)\n\t\"PAT_*\",\n\t\"*_AUTH\",\n\t\"*_AUTH_*\",\n\t\"AUTH_*\",\n\t// DSN / connection-string env vars — name doesn't say \"secret\"\n\t// but the value embeds inline creds.\n\t\"DATABASE_URL\",\n\t\"*_DATABASE_URL\",\n\t\"DB_URL\",\n\t\"*_DB_URL\",\n\t\"*_DSN\",\n\t\"CONNECTION_STRING\",\n\t\"*_CONNECTION_STRING\",\n\t// Provider prefixes whose * is almost always a credential. We\n\t// deliberately exclude GITHUB_*/GH_* here because CI commonly\n\t// sets non-secret vars (`GITHUB_REPOSITORY`, `GH_PAGER`) under\n\t// these prefixes; the secret-shaped ones still get caught by\n\t// *TOKEN*/*_PAT/*KEY*.\n\t\"AWS_*\",\n\t\"AZURE_*\",\n\t\"GCP_*\",\n\t\"OPENAI_*\",\n\t\"ANTHROPIC_*\",\n\t\"STRIPE_*\",\n\t\"TWILIO_*\",\n\t\"SLACK_*\",\n\t\"OP_*\", // 1Password CLI session vars\n];\nconst PLATFORM_WORKER_SURFACE = \"platform-agent-runtime\";\nconst PLATFORM_TRUSTED_TOOL_ENV_FLAG = \"MAESTRO_PLATFORM_TRUSTED_TOOL_ENV\";\nconst PLATFORM_TRUSTED_TOOL_ENV_ALLOWLIST = [\n\t\"CODEX_WORKER_GIT_USERNAME\",\n\t\"GIT_ASKPASS\",\n\t\"GIT_TERMINAL_PROMPT\",\n\t\"MAESTRO_PLATFORM_A2A_ENABLED\",\n\t\"MAESTRO_AGENT_RUNTIME_A2A_ENABLED\",\n\t\"MAESTRO_PLATFORM_A2A_EXTENSIONS\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_URL\",\n\t\"MAESTRO_PLATFORM_A2A_URL\",\n\t\"MAESTRO_AGENT_REGISTRY_SERVICE_URL\",\n\t\"MAESTRO_AGENT_RUNTIME_ORG_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n];\n\nexport interface ResolveShellEnvironmentOptions {\n\tbaseEnv?: NodeJS.ProcessEnv;\n\tworkspaceDir?: string;\n\tpolicy?: ShellEnvironmentPolicy;\n}\n\nfunction matchesAny(name: string, patterns: string[]): boolean {\n\treturn patterns.some((pattern) =>\n\t\tminimatch(name, pattern, { nocase: true, dot: true }),\n\t);\n}\n\nfunction coerceEnv(env: NodeJS.ProcessEnv): Record<string, string> {\n\tconst result: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(env)) {\n\t\tif (typeof value === \"string\") {\n\t\t\tresult[key] = value;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction isTruthyEnv(value?: string): boolean {\n\tif (!value) {\n\t\treturn false;\n\t}\n\treturn [\"1\", \"true\", \"yes\", \"on\"].includes(value.toLowerCase());\n}\n\nfunction restorePlatformTrustedToolEnv(\n\tenv: Record<string, string>,\n\tbase: Record<string, string>,\n\tpolicy: ShellEnvironmentPolicy,\n): void {\n\tif (base.MAESTRO_SURFACE !== PLATFORM_WORKER_SURFACE) {\n\t\treturn;\n\t}\n\tif (!isTruthyEnv(base[PLATFORM_TRUSTED_TOOL_ENV_FLAG])) {\n\t\treturn;\n\t}\n\tconst inherit = policy.inherit ?? \"all\";\n\tconst coreSet = new Set(CORE_ENV_VARS.map((name) => name.toUpperCase()));\n\tfor (const key of PLATFORM_TRUSTED_TOOL_ENV_ALLOWLIST) {\n\t\tif (inherit === \"none\") {\n\t\t\tcontinue;\n\t\t}\n\t\tif (inherit === \"core\" && !coreSet.has(key.toUpperCase())) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (policy.exclude?.length && matchesAny(key, policy.exclude)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (policy.include_only?.length && !matchesAny(key, policy.include_only)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (policy.set && Object.prototype.hasOwnProperty.call(policy.set, key)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst value = base[key];\n\t\tif (typeof value === \"string\") {\n\t\t\tenv[key] = value;\n\t\t}\n\t}\n}\n\n/**\n * Apply a ShellEnvironmentPolicy to a base environment map.\n */\nexport function applyShellEnvironmentPolicy(\n\tbaseEnv: NodeJS.ProcessEnv,\n\tpolicy?: ShellEnvironmentPolicy,\n): Record<string, string> {\n\tconst resolvedPolicy: ShellEnvironmentPolicy = policy ?? {\n\t\tinherit: \"all\",\n\t\tignore_default_excludes: false,\n\t};\n\tconst inherit = resolvedPolicy.inherit ?? \"all\";\n\tconst ignoreDefaultExcludes = resolvedPolicy.ignore_default_excludes ?? false;\n\n\tconst base = coerceEnv(baseEnv);\n\tlet env: Record<string, string> = {};\n\n\tif (inherit === \"core\") {\n\t\tconst coreSet = new Set(CORE_ENV_VARS.map((name) => name.toUpperCase()));\n\t\tfor (const [key, value] of Object.entries(base)) {\n\t\t\tif (coreSet.has(key.toUpperCase())) {\n\t\t\t\tenv[key] = value;\n\t\t\t}\n\t\t}\n\t} else if (inherit === \"none\") {\n\t\tenv = {};\n\t} else {\n\t\tenv = { ...base };\n\t}\n\n\tif (!ignoreDefaultExcludes) {\n\t\tfor (const key of Object.keys(env)) {\n\t\t\tif (matchesAny(key, DEFAULT_EXCLUDES)) {\n\t\t\t\tdelete env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (resolvedPolicy.exclude?.length) {\n\t\tfor (const key of Object.keys(env)) {\n\t\t\tif (matchesAny(key, resolvedPolicy.exclude)) {\n\t\t\t\tdelete env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (resolvedPolicy.set) {\n\t\tfor (const [key, value] of Object.entries(resolvedPolicy.set)) {\n\t\t\tenv[key] = value;\n\t\t}\n\t}\n\n\tif (resolvedPolicy.include_only?.length) {\n\t\tfor (const key of Object.keys(env)) {\n\t\t\tif (!matchesAny(key, resolvedPolicy.include_only)) {\n\t\t\t\tdelete env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\trestorePlatformTrustedToolEnv(env, base, resolvedPolicy);\n\n\treturn env;\n}\n\n/**\n * Resolve the effective shell environment for a command.\n *\n * Applies config policy, then merges explicit overrides (always win).\n */\nexport function resolveShellEnvironment(\n\toverrides?: Record<string, string | undefined>,\n\toptions: ResolveShellEnvironmentOptions = {},\n): Record<string, string> {\n\tconst workspaceDir = options.workspaceDir ?? process.cwd();\n\tconst configPolicy =\n\t\toptions.policy ?? loadConfig(workspaceDir).shell_environment_policy;\n\tconst env = applyShellEnvironmentPolicy(\n\t\toptions.baseEnv ?? process.env,\n\t\tconfigPolicy,\n\t);\n\tif (overrides) {\n\t\tfor (const [key, value] of Object.entries(overrides)) {\n\t\t\tif (typeof value === \"string\") {\n\t\t\t\tenv[key] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn env;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"shell-env.js","sourceRoot":"","sources":["../../src/utils/shell-env.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shell Environment Policy - Filtered environment for user-command execution\n *\n * Applies a configurable policy to the process environment before passing it\n * to shell-based tools (bash/background tasks/sandboxed exec).\n *\n * By default, variables containing KEY/SECRET/TOKEN are excluded to reduce\n * accidental credential leakage into arbitrary commands. Use\n * `shell_environment_policy.ignore_default_excludes = true` to opt out.\n */\n\nimport { minimatch } from \"minimatch\";\nimport { type ShellEnvironmentPolicy, loadConfig } from \"../config/index.js\";\n\nconst CORE_ENV_VARS = [\n\t\"HOME\",\n\t\"LOGNAME\",\n\t\"PATH\",\n\t\"SHELL\",\n\t\"USER\",\n\t\"USERNAME\",\n\t\"TMPDIR\",\n\t\"TEMP\",\n\t\"TMP\",\n];\n\n/**\n * Default denylist of env-var name patterns that almost always carry\n * credentials. This is a defense-in-depth pattern — not a complete\n * secret blocker (denylists never are). Operators handling untrusted\n * code should set `shell_environment_policy.inherit = \"core\"` plus an\n * explicit `include_only` allowlist; see SECURITY.md.\n *\n * Widened in #2471 from the original 3-pattern list (`KEY`, `SECRET`,\n * `TOKEN`) to also cover:\n *\n * - common credential nouns (`PASSWORD`, `PASSWD`, `CREDENTIAL`,\n * `PRIVATE`, `PAT`, `AUTH`, `SESSION`)\n * - DSN/connection-string vars whose value embeds creds even when\n * the name doesn't (`DATABASE_URL`, `*_DSN`, `CONNECTION_STRING`)\n * - common provider prefixes that hold long-lived creds\n * (`AWS_*`, `AZURE_*`, `GCP_*`, `GOOGLE_*`, `OPENAI_*`,\n * `ANTHROPIC_*`, `GH_*`, `GITHUB_*`, `STRIPE_*`, `TWILIO_*`,\n * `SLACK_*`, `OP_*` for 1Password CLI)\n */\nconst DEFAULT_EXCLUDES = [\n\t// Original triad — broad credential nouns\n\t\"*KEY*\",\n\t\"*SECRET*\",\n\t\"*TOKEN*\",\n\t// Additional credential nouns (#2471)\n\t\"*PASSWORD*\",\n\t\"*PASSWD*\",\n\t\"*CREDENTIAL*\",\n\t\"*PRIVATE*\",\n\t\"*_PAT\", // GITHUB_PAT, GH_PAT, etc. (tighter than *PAT* which would catch PATH)\n\t\"PAT_*\",\n\t\"*_AUTH\",\n\t\"*_AUTH_*\",\n\t\"AUTH_*\",\n\t// DSN / connection-string env vars — name doesn't say \"secret\"\n\t// but the value embeds inline creds.\n\t\"DATABASE_URL\",\n\t\"*_DATABASE_URL\",\n\t\"DB_URL\",\n\t\"*_DB_URL\",\n\t\"*_DSN\",\n\t\"CONNECTION_STRING\",\n\t\"*_CONNECTION_STRING\",\n\t// Provider prefixes whose * is almost always a credential. We\n\t// deliberately exclude GITHUB_*/GH_* here because CI commonly\n\t// sets non-secret vars (`GITHUB_REPOSITORY`, `GH_PAGER`) under\n\t// these prefixes; the secret-shaped ones still get caught by\n\t// *TOKEN*/*_PAT/*KEY*.\n\t\"AWS_*\",\n\t\"AZURE_*\",\n\t\"GCP_*\",\n\t\"OPENAI_*\",\n\t\"ANTHROPIC_*\",\n\t\"STRIPE_*\",\n\t\"TWILIO_*\",\n\t\"SLACK_*\",\n\t\"OP_*\", // 1Password CLI session vars\n];\nconst PLATFORM_WORKER_SURFACE = \"platform-agent-runtime\";\nconst PLATFORM_TRUSTED_TOOL_ENV_FLAG = \"MAESTRO_PLATFORM_TRUSTED_TOOL_ENV\";\nconst PLATFORM_TRUSTED_TOOL_ENV_ALLOWLIST = [\n\t\"CODEX_WORKER_GIT_USERNAME\",\n\t\"GIT_ASKPASS\",\n\t\"GIT_TERMINAL_PROMPT\",\n\t\"MAESTRO_PLATFORM_A2A_ENABLED\",\n\t\"MAESTRO_AGENT_RUNTIME_A2A_ENABLED\",\n\t\"MAESTRO_PLATFORM_A2A_EXTENSIONS\",\n\t\"MAESTRO_AGENT_RUNTIME_SERVICE_URL\",\n\t\"MAESTRO_PLATFORM_A2A_URL\",\n\t\"MAESTRO_AGENT_REGISTRY_SERVICE_URL\",\n\t\"MAESTRO_AGENT_RUNTIME_ORG_ID\",\n\t\"MAESTRO_AGENT_RUNTIME_WORKSPACE_ID\",\n\t\"MAESTRO_OBJECTIVE_ID\",\n\t\"MAESTRO_EVALOPS_OBJECTIVE_ID\",\n];\n\nexport interface ResolveShellEnvironmentOptions {\n\tbaseEnv?: NodeJS.ProcessEnv;\n\tworkspaceDir?: string;\n\tpolicy?: ShellEnvironmentPolicy;\n}\n\nfunction matchesAny(name: string, patterns: string[]): boolean {\n\treturn patterns.some((pattern) =>\n\t\tminimatch(name, pattern, { nocase: true, dot: true }),\n\t);\n}\n\nfunction coerceEnv(env: NodeJS.ProcessEnv): Record<string, string> {\n\tconst result: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(env)) {\n\t\tif (typeof value === \"string\") {\n\t\t\tresult[key] = value;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction isTruthyEnv(value?: string): boolean {\n\tif (!value) {\n\t\treturn false;\n\t}\n\treturn [\"1\", \"true\", \"yes\", \"on\"].includes(value.toLowerCase());\n}\n\nfunction restorePlatformTrustedToolEnv(\n\tenv: Record<string, string>,\n\tbase: Record<string, string>,\n\tpolicy: ShellEnvironmentPolicy,\n): void {\n\tif (base.MAESTRO_SURFACE !== PLATFORM_WORKER_SURFACE) {\n\t\treturn;\n\t}\n\tif (!isTruthyEnv(base[PLATFORM_TRUSTED_TOOL_ENV_FLAG])) {\n\t\treturn;\n\t}\n\tconst inherit = policy.inherit ?? \"all\";\n\tconst coreSet = new Set(CORE_ENV_VARS.map((name) => name.toUpperCase()));\n\tfor (const key of PLATFORM_TRUSTED_TOOL_ENV_ALLOWLIST) {\n\t\tif (inherit === \"none\") {\n\t\t\tcontinue;\n\t\t}\n\t\tif (inherit === \"core\" && !coreSet.has(key.toUpperCase())) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (policy.exclude?.length && matchesAny(key, policy.exclude)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (policy.include_only?.length && !matchesAny(key, policy.include_only)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (policy.set && Object.prototype.hasOwnProperty.call(policy.set, key)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst value = base[key];\n\t\tif (typeof value === \"string\") {\n\t\t\tenv[key] = value;\n\t\t}\n\t}\n}\n\n/**\n * Apply a ShellEnvironmentPolicy to a base environment map.\n */\nexport function applyShellEnvironmentPolicy(\n\tbaseEnv: NodeJS.ProcessEnv,\n\tpolicy?: ShellEnvironmentPolicy,\n): Record<string, string> {\n\tconst resolvedPolicy: ShellEnvironmentPolicy = policy ?? {\n\t\tinherit: \"all\",\n\t\tignore_default_excludes: false,\n\t};\n\tconst inherit = resolvedPolicy.inherit ?? \"all\";\n\tconst ignoreDefaultExcludes = resolvedPolicy.ignore_default_excludes ?? false;\n\n\tconst base = coerceEnv(baseEnv);\n\tlet env: Record<string, string> = {};\n\n\tif (inherit === \"core\") {\n\t\tconst coreSet = new Set(CORE_ENV_VARS.map((name) => name.toUpperCase()));\n\t\tfor (const [key, value] of Object.entries(base)) {\n\t\t\tif (coreSet.has(key.toUpperCase())) {\n\t\t\t\tenv[key] = value;\n\t\t\t}\n\t\t}\n\t} else if (inherit === \"none\") {\n\t\tenv = {};\n\t} else {\n\t\tenv = { ...base };\n\t}\n\n\tif (!ignoreDefaultExcludes) {\n\t\tfor (const key of Object.keys(env)) {\n\t\t\tif (matchesAny(key, DEFAULT_EXCLUDES)) {\n\t\t\t\tdelete env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (resolvedPolicy.exclude?.length) {\n\t\tfor (const key of Object.keys(env)) {\n\t\t\tif (matchesAny(key, resolvedPolicy.exclude)) {\n\t\t\t\tdelete env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (resolvedPolicy.set) {\n\t\tfor (const [key, value] of Object.entries(resolvedPolicy.set)) {\n\t\t\tenv[key] = value;\n\t\t}\n\t}\n\n\tif (resolvedPolicy.include_only?.length) {\n\t\tfor (const key of Object.keys(env)) {\n\t\t\tif (!matchesAny(key, resolvedPolicy.include_only)) {\n\t\t\t\tdelete env[key];\n\t\t\t}\n\t\t}\n\t}\n\n\trestorePlatformTrustedToolEnv(env, base, resolvedPolicy);\n\n\treturn env;\n}\n\n/**\n * Resolve the effective shell environment for a command.\n *\n * Applies config policy, then merges explicit overrides (always win).\n */\nexport function resolveShellEnvironment(\n\toverrides?: Record<string, string | undefined>,\n\toptions: ResolveShellEnvironmentOptions = {},\n): Record<string, string> {\n\tconst workspaceDir = options.workspaceDir ?? process.cwd();\n\tconst configPolicy =\n\t\toptions.policy ?? loadConfig(workspaceDir).shell_environment_policy;\n\tconst env = applyShellEnvironmentPolicy(\n\t\toptions.baseEnv ?? process.env,\n\t\tconfigPolicy,\n\t);\n\tif (overrides) {\n\t\tfor (const [key, value] of Object.entries(overrides)) {\n\t\t\tif (typeof value === \"string\") {\n\t\t\t\tenv[key] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn env;\n}\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal inline-image support detection and escape-sequence emission.
|
|
3
|
+
*
|
|
4
|
+
* Capable terminals (iTerm2, WezTerm, kitty, and sixel-aware terminals) can
|
|
5
|
+
* render image bytes sent via control sequences. This module detects support
|
|
6
|
+
* from the environment and encodes a PNG buffer for the matching protocol.
|
|
7
|
+
*
|
|
8
|
+
* Sixel is detected but not encoded here: sixel requires rasterizing the
|
|
9
|
+
* source image, which needs a real image library. iTerm2 (OSC 1337) and kitty
|
|
10
|
+
* (graphics protocol) both accept the raw image bytes base64-encoded, so they
|
|
11
|
+
* are fully implemented.
|
|
12
|
+
*
|
|
13
|
+
* IMPORTANT: these sequences must be written to a display-only stream (or a
|
|
14
|
+
* TUI render path that strips them before persistence). Tool-result content
|
|
15
|
+
* channels feed the model context as base64, so do NOT route inline escapes
|
|
16
|
+
* through tool text/image content — that wastes tokens and confuses the model.
|
|
17
|
+
*
|
|
18
|
+
* @module utils/terminal-image
|
|
19
|
+
*/
|
|
20
|
+
export type TerminalImageSupport = "iterm" | "kitty" | "sixel" | "none";
|
|
21
|
+
export interface DetectEnv {
|
|
22
|
+
TERM_PROGRAM?: string;
|
|
23
|
+
TERM?: string;
|
|
24
|
+
COLORTERM?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Detect the best inline-image protocol the current terminal claims to support.
|
|
28
|
+
* Conservative: only returns a protocol when the environment explicitly
|
|
29
|
+
* advertises it.
|
|
30
|
+
*/
|
|
31
|
+
export declare function detectTerminalImageSupport(env?: DetectEnv): TerminalImageSupport;
|
|
32
|
+
export interface InlineImageOptions {
|
|
33
|
+
/** Display width: pixels, "auto", or N cells (e.g. "40"). Default "auto". */
|
|
34
|
+
width?: string | number;
|
|
35
|
+
/** Display height: pixels, "auto", or N cells. Default "auto". */
|
|
36
|
+
height?: string | number;
|
|
37
|
+
/** Optional filename hint for iTerm2. */
|
|
38
|
+
name?: string;
|
|
39
|
+
}
|
|
40
|
+
/** Encode a PNG for iTerm2's OSC 1337 inline-image protocol. */
|
|
41
|
+
export declare function encodeItermInline(buf: Buffer, opts?: InlineImageOptions): string;
|
|
42
|
+
/**
|
|
43
|
+
* Encode a PNG for kitty's graphics protocol, splitting the base64 payload
|
|
44
|
+
* into <=4096-byte chunks with `m=1` continuation markers.
|
|
45
|
+
*/
|
|
46
|
+
export declare function encodeKittyInline(buf: Buffer): string;
|
|
47
|
+
/**
|
|
48
|
+
* Encode an image for the detected protocol. Returns "" when the protocol is
|
|
49
|
+
* unsupported (including sixel, which is detected but not rasterized here).
|
|
50
|
+
*/
|
|
51
|
+
export declare function encodeInlineImage(buf: Buffer, support?: TerminalImageSupport, opts?: InlineImageOptions): string;
|
|
52
|
+
//# sourceMappingURL=terminal-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-image.d.ts","sourceRoot":"","sources":["../../src/utils/terminal-image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,SAAS;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACzC,GAAG,GAAE,SAAuB,GAC1B,oBAAoB,CAgBtB;AAED,MAAM,WAAW,kBAAkB;IAClC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAQD,gEAAgE;AAChE,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,kBAAuB,GAC3B,MAAM,CAaR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAmD,EAC5D,IAAI,GAAE,kBAAuB,GAC3B,MAAM,CASR"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal inline-image support detection and escape-sequence emission.
|
|
3
|
+
*
|
|
4
|
+
* Capable terminals (iTerm2, WezTerm, kitty, and sixel-aware terminals) can
|
|
5
|
+
* render image bytes sent via control sequences. This module detects support
|
|
6
|
+
* from the environment and encodes a PNG buffer for the matching protocol.
|
|
7
|
+
*
|
|
8
|
+
* Sixel is detected but not encoded here: sixel requires rasterizing the
|
|
9
|
+
* source image, which needs a real image library. iTerm2 (OSC 1337) and kitty
|
|
10
|
+
* (graphics protocol) both accept the raw image bytes base64-encoded, so they
|
|
11
|
+
* are fully implemented.
|
|
12
|
+
*
|
|
13
|
+
* IMPORTANT: these sequences must be written to a display-only stream (or a
|
|
14
|
+
* TUI render path that strips them before persistence). Tool-result content
|
|
15
|
+
* channels feed the model context as base64, so do NOT route inline escapes
|
|
16
|
+
* through tool text/image content — that wastes tokens and confuses the model.
|
|
17
|
+
*
|
|
18
|
+
* @module utils/terminal-image
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Detect the best inline-image protocol the current terminal claims to support.
|
|
22
|
+
* Conservative: only returns a protocol when the environment explicitly
|
|
23
|
+
* advertises it.
|
|
24
|
+
*/
|
|
25
|
+
export function detectTerminalImageSupport(env = process.env) {
|
|
26
|
+
const termProgram = env.TERM_PROGRAM ?? "";
|
|
27
|
+
const term = env.TERM ?? "";
|
|
28
|
+
if (termProgram === "iTerm.app" || termProgram === "WezTerm") {
|
|
29
|
+
return "iterm";
|
|
30
|
+
}
|
|
31
|
+
if (term === "xterm-kitty" || termProgram === "kitty") {
|
|
32
|
+
return "kitty";
|
|
33
|
+
}
|
|
34
|
+
// Sixel: some terminals set COLORTERM or accept DECSCUSR queries; we only
|
|
35
|
+
// treat an explicit TERM containing "sixel" as a positive signal.
|
|
36
|
+
if (term.toLowerCase().includes("sixel")) {
|
|
37
|
+
return "sixel";
|
|
38
|
+
}
|
|
39
|
+
return "none";
|
|
40
|
+
}
|
|
41
|
+
const KITTY_CHUNK_SIZE = 4096;
|
|
42
|
+
function b64(buf) {
|
|
43
|
+
return buf.toString("base64");
|
|
44
|
+
}
|
|
45
|
+
/** Encode a PNG for iTerm2's OSC 1337 inline-image protocol. */
|
|
46
|
+
export function encodeItermInline(buf, opts = {}) {
|
|
47
|
+
const width = opts.width ?? "auto";
|
|
48
|
+
const height = opts.height ?? "auto";
|
|
49
|
+
const args = [
|
|
50
|
+
"inline=1",
|
|
51
|
+
`width=${width}`,
|
|
52
|
+
`height=${height}`,
|
|
53
|
+
"preserveAspectRatio=0",
|
|
54
|
+
];
|
|
55
|
+
if (opts.name) {
|
|
56
|
+
args.push(`name=${b64(Buffer.from(opts.name, "utf8"))}`);
|
|
57
|
+
}
|
|
58
|
+
return `\x1b]1337;File=${args.join(";")}:${b64(buf)}\x07`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Encode a PNG for kitty's graphics protocol, splitting the base64 payload
|
|
62
|
+
* into <=4096-byte chunks with `m=1` continuation markers.
|
|
63
|
+
*/
|
|
64
|
+
export function encodeKittyInline(buf) {
|
|
65
|
+
const payload = b64(buf);
|
|
66
|
+
const chunks = [];
|
|
67
|
+
for (let i = 0; i < payload.length; i += KITTY_CHUNK_SIZE) {
|
|
68
|
+
chunks.push(payload.slice(i, i + KITTY_CHUNK_SIZE));
|
|
69
|
+
}
|
|
70
|
+
if (chunks.length === 0) {
|
|
71
|
+
// Empty image: still emit a single transmit chunk.
|
|
72
|
+
return "\x1b_Ga=T,f=100,t=f;\x1b\\";
|
|
73
|
+
}
|
|
74
|
+
const out = [];
|
|
75
|
+
out.push(`\x1b_Ga=T,f=100,t=f;${chunks[0]}\x1b\\`);
|
|
76
|
+
for (let i = 1; i < chunks.length; i++) {
|
|
77
|
+
out.push(`\x1b_Gm=1;${chunks[i]}\x1b\\`);
|
|
78
|
+
}
|
|
79
|
+
return out.join("");
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Encode an image for the detected protocol. Returns "" when the protocol is
|
|
83
|
+
* unsupported (including sixel, which is detected but not rasterized here).
|
|
84
|
+
*/
|
|
85
|
+
export function encodeInlineImage(buf, support = detectTerminalImageSupport(), opts = {}) {
|
|
86
|
+
switch (support) {
|
|
87
|
+
case "iterm":
|
|
88
|
+
return encodeItermInline(buf, opts);
|
|
89
|
+
case "kitty":
|
|
90
|
+
return encodeKittyInline(buf);
|
|
91
|
+
default:
|
|
92
|
+
return "";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=terminal-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-image.js","sourceRoot":"","sources":["../../src/utils/terminal-image.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Terminal inline-image support detection and escape-sequence emission.\n *\n * Capable terminals (iTerm2, WezTerm, kitty, and sixel-aware terminals) can\n * render image bytes sent via control sequences. This module detects support\n * from the environment and encodes a PNG buffer for the matching protocol.\n *\n * Sixel is detected but not encoded here: sixel requires rasterizing the\n * source image, which needs a real image library. iTerm2 (OSC 1337) and kitty\n * (graphics protocol) both accept the raw image bytes base64-encoded, so they\n * are fully implemented.\n *\n * IMPORTANT: these sequences must be written to a display-only stream (or a\n * TUI render path that strips them before persistence). Tool-result content\n * channels feed the model context as base64, so do NOT route inline escapes\n * through tool text/image content — that wastes tokens and confuses the model.\n *\n * @module utils/terminal-image\n */\n\nexport type TerminalImageSupport = \"iterm\" | \"kitty\" | \"sixel\" | \"none\";\n\nexport interface DetectEnv {\n\tTERM_PROGRAM?: string;\n\tTERM?: string;\n\tCOLORTERM?: string;\n}\n\n/**\n * Detect the best inline-image protocol the current terminal claims to support.\n * Conservative: only returns a protocol when the environment explicitly\n * advertises it.\n */\nexport function detectTerminalImageSupport(\n\tenv: DetectEnv = process.env,\n): TerminalImageSupport {\n\tconst termProgram = env.TERM_PROGRAM ?? \"\";\n\tconst term = env.TERM ?? \"\";\n\n\tif (termProgram === \"iTerm.app\" || termProgram === \"WezTerm\") {\n\t\treturn \"iterm\";\n\t}\n\tif (term === \"xterm-kitty\" || termProgram === \"kitty\") {\n\t\treturn \"kitty\";\n\t}\n\t// Sixel: some terminals set COLORTERM or accept DECSCUSR queries; we only\n\t// treat an explicit TERM containing \"sixel\" as a positive signal.\n\tif (term.toLowerCase().includes(\"sixel\")) {\n\t\treturn \"sixel\";\n\t}\n\treturn \"none\";\n}\n\nexport interface InlineImageOptions {\n\t/** Display width: pixels, \"auto\", or N cells (e.g. \"40\"). Default \"auto\". */\n\twidth?: string | number;\n\t/** Display height: pixels, \"auto\", or N cells. Default \"auto\". */\n\theight?: string | number;\n\t/** Optional filename hint for iTerm2. */\n\tname?: string;\n}\n\nconst KITTY_CHUNK_SIZE = 4096;\n\nfunction b64(buf: Buffer): string {\n\treturn buf.toString(\"base64\");\n}\n\n/** Encode a PNG for iTerm2's OSC 1337 inline-image protocol. */\nexport function encodeItermInline(\n\tbuf: Buffer,\n\topts: InlineImageOptions = {},\n): string {\n\tconst width = opts.width ?? \"auto\";\n\tconst height = opts.height ?? \"auto\";\n\tconst args = [\n\t\t\"inline=1\",\n\t\t`width=${width}`,\n\t\t`height=${height}`,\n\t\t\"preserveAspectRatio=0\",\n\t];\n\tif (opts.name) {\n\t\targs.push(`name=${b64(Buffer.from(opts.name, \"utf8\"))}`);\n\t}\n\treturn `\\x1b]1337;File=${args.join(\";\")}:${b64(buf)}\\x07`;\n}\n\n/**\n * Encode a PNG for kitty's graphics protocol, splitting the base64 payload\n * into <=4096-byte chunks with `m=1` continuation markers.\n */\nexport function encodeKittyInline(buf: Buffer): string {\n\tconst payload = b64(buf);\n\tconst chunks: string[] = [];\n\tfor (let i = 0; i < payload.length; i += KITTY_CHUNK_SIZE) {\n\t\tchunks.push(payload.slice(i, i + KITTY_CHUNK_SIZE));\n\t}\n\tif (chunks.length === 0) {\n\t\t// Empty image: still emit a single transmit chunk.\n\t\treturn \"\\x1b_Ga=T,f=100,t=f;\\x1b\\\\\";\n\t}\n\tconst out: string[] = [];\n\tout.push(`\\x1b_Ga=T,f=100,t=f;${chunks[0]}\\x1b\\\\`);\n\tfor (let i = 1; i < chunks.length; i++) {\n\t\tout.push(`\\x1b_Gm=1;${chunks[i]}\\x1b\\\\`);\n\t}\n\treturn out.join(\"\");\n}\n\n/**\n * Encode an image for the detected protocol. Returns \"\" when the protocol is\n * unsupported (including sixel, which is detected but not rasterized here).\n */\nexport function encodeInlineImage(\n\tbuf: Buffer,\n\tsupport: TerminalImageSupport = detectTerminalImageSupport(),\n\topts: InlineImageOptions = {},\n): string {\n\tswitch (support) {\n\t\tcase \"iterm\":\n\t\t\treturn encodeItermInline(buf, opts);\n\t\tcase \"kitty\":\n\t\t\treturn encodeKittyInline(buf);\n\t\tdefault:\n\t\t\treturn \"\";\n\t}\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal-safe text helpers that do not depend on the removed TypeScript TUI.
|
|
3
|
+
* Used by CLI previews (e.g. `maestro agents init` diff preview).
|
|
4
|
+
*/
|
|
5
|
+
export declare function stripAnsiSequences(text: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Strip ANSI and other control characters so repository text can be printed
|
|
8
|
+
* safely to a terminal without escaping or mode-setting sequences.
|
|
9
|
+
*/
|
|
10
|
+
export declare function sanitizeTerminalPreview(text: string): string;
|
|
11
|
+
//# sourceMappingURL=terminal-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-text.d.ts","sourceRoot":"","sources":["../../src/utils/terminal-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal-safe text helpers that do not depend on the removed TypeScript TUI.
|
|
3
|
+
* Used by CLI previews (e.g. `maestro agents init` diff preview).
|
|
4
|
+
*/
|
|
5
|
+
const ANSI_STRING_TERMINATORS = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
|
|
6
|
+
const ANSI_OSC_SEQUENCE = `(?:\\u001B\\][\\s\\S]*?${ANSI_STRING_TERMINATORS})`;
|
|
7
|
+
const ANSI_CSI_SEQUENCE = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
|
|
8
|
+
const ANSI_ESCAPE_SEQUENCE = new RegExp(`${ANSI_OSC_SEQUENCE}|${ANSI_CSI_SEQUENCE}`, "g");
|
|
9
|
+
export function stripAnsiSequences(text) {
|
|
10
|
+
return text.replace(ANSI_ESCAPE_SEQUENCE, "");
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Strip ANSI and other control characters so repository text can be printed
|
|
14
|
+
* safely to a terminal without escaping or mode-setting sequences.
|
|
15
|
+
*/
|
|
16
|
+
export function sanitizeTerminalPreview(text) {
|
|
17
|
+
return stripAnsiSequences(text).replace(
|
|
18
|
+
// biome-ignore lint/suspicious/noControlCharactersInRegex: preview text may come from repository files and must not emit terminal controls.
|
|
19
|
+
/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g, "");
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=terminal-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-text.js","sourceRoot":"","sources":["../../src/utils/terminal-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,uBAAuB,GAAG,oCAAoC,CAAC;AACrE,MAAM,iBAAiB,GAAG,0BAA0B,uBAAuB,GAAG,CAAC;AAC/E,MAAM,iBAAiB,GACtB,oFAAoF,CAAC;AACtF,MAAM,oBAAoB,GAAG,IAAI,MAAM,CACtC,GAAG,iBAAiB,IAAI,iBAAiB,EAAE,EAC3C,GAAG,CACH,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IACnD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO;IACtC,4IAA4I;IAC5I,iDAAiD,EACjD,EAAE,CACF,CAAC;AACH,CAAC","sourcesContent":["/**\n * Terminal-safe text helpers that do not depend on the removed TypeScript TUI.\n * Used by CLI previews (e.g. `maestro agents init` diff preview).\n */\n\nconst ANSI_STRING_TERMINATORS = \"(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)\";\nconst ANSI_OSC_SEQUENCE = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ANSI_STRING_TERMINATORS})`;\nconst ANSI_CSI_SEQUENCE =\n\t\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]\";\nconst ANSI_ESCAPE_SEQUENCE = new RegExp(\n\t`${ANSI_OSC_SEQUENCE}|${ANSI_CSI_SEQUENCE}`,\n\t\"g\",\n);\n\nexport function stripAnsiSequences(text: string): string {\n\treturn text.replace(ANSI_ESCAPE_SEQUENCE, \"\");\n}\n\n/**\n * Strip ANSI and other control characters so repository text can be printed\n * safely to a terminal without escaping or mode-setting sequences.\n */\nexport function sanitizeTerminalPreview(text: string): string {\n\treturn stripAnsiSequences(text).replace(\n\t\t// biome-ignore lint/suspicious/noControlCharactersInRegex: preview text may come from repository files and must not emit terminal controls.\n\t\t/[\\u0000-\\u0008\\u000B\\u000C\\u000E-\\u001F\\u007F]/g,\n\t\t\"\",\n\t);\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git command parsing for URL extraction.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from url-extractor.ts to isolate the git-command sub-domain
|
|
5
|
+
* (parsing `git clone|remote|config|submodule|archive ...` invocations into
|
|
6
|
+
* their network-relevant target args, and detecting local vs remote targets).
|
|
7
|
+
*
|
|
8
|
+
* Self-contained: depends only on its own constants + stdlib. url-extractor.ts
|
|
9
|
+
* imports the entry points back. One-way runtime dependency (no cycle).
|
|
10
|
+
*/
|
|
11
|
+
export declare const GIT_GLOBAL_FLAGS_WITH_VALUES: Set<string>;
|
|
12
|
+
export declare const GIT_CLONE_FLAGS_WITH_VALUES: Set<string>;
|
|
13
|
+
export declare function isLocalGitTarget(value: string): boolean;
|
|
14
|
+
export declare function gitCloneNonFlagArgs(args: string[]): string[];
|
|
15
|
+
export declare function gitRemoteTargetArgs(args: string[]): string[];
|
|
16
|
+
export declare function gitConfigTargetArgs(args: string[]): string[];
|
|
17
|
+
export declare function gitConfigCommandIsLocal(args: string[]): boolean;
|
|
18
|
+
export declare function gitRemoteCommandIsLocal(args: string[]): boolean;
|
|
19
|
+
export declare function gitSubmoduleTargetArgs(args: string[]): string[];
|
|
20
|
+
export declare function gitSubmoduleCommandIsLocal(args: string[]): boolean;
|
|
21
|
+
export declare function gitArchiveTargetArgs(args: string[]): string[];
|
|
22
|
+
export declare function gitSubcommandInvocation(args: string[]): {
|
|
23
|
+
subcommand: string;
|
|
24
|
+
args: string[];
|
|
25
|
+
} | null;
|
|
26
|
+
//# sourceMappingURL=url-extractor-git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-extractor-git.d.ts","sourceRoot":"","sources":["../../src/utils/url-extractor-git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,eAAO,MAAM,4BAA4B,aASvC,CAAC;AAEH,eAAO,MAAM,2BAA2B,aAqBtC,CAAC;AAgDH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWvD;AAmCD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa5D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAsB5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAa/D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAU/D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAIlE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAmB7D;AAsCD,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EAAE,GACZ;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAmB/C"}
|