@caupulican/pi-adaptative 0.81.40 → 0.81.42
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/CHANGELOG.md +41 -0
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.d.ts.map +1 -1
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js +1 -0
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js.map +1 -1
- package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.ts +1 -0
- package/dist/bundled-resources/runtimes/pi-shell-engine/commands/text.py +5 -1
- package/dist/bundled-resources/runtimes/pi-shell-engine/context.py +3 -3
- package/dist/bundled-resources/runtimes/pi-shell-engine/errors.py +8 -0
- package/dist/bundled-resources/runtimes/pi-shell-engine/exec.py +26 -3
- package/dist/bundled-resources/runtimes/pi-shell-engine/expand.py +3 -0
- package/dist/bundled-resources/runtimes/pi-shell-engine/main.py +4 -1
- package/dist/bundled-resources/runtimes/pi-shell-engine/state.py +2 -1
- package/dist/bundled-resources/runtimes/pi-shell-engine/tokens.py +2 -0
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +22 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-paths.d.ts +38 -0
- package/dist/core/agent-paths.d.ts.map +1 -1
- package/dist/core/agent-paths.js +77 -0
- package/dist/core/agent-paths.js.map +1 -1
- package/dist/core/agent-session-contracts.d.ts +311 -0
- package/dist/core/agent-session-contracts.d.ts.map +1 -0
- package/dist/core/agent-session-contracts.js +26 -0
- package/dist/core/agent-session-contracts.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +3 -0
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session.d.ts +26 -405
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +90 -316
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +3 -1
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/autonomy/contracts.d.ts +2 -0
- package/dist/core/autonomy/contracts.d.ts.map +1 -1
- package/dist/core/autonomy/contracts.js.map +1 -1
- package/dist/core/autonomy/envelope-enforcement.d.ts.map +1 -1
- package/dist/core/autonomy/envelope-enforcement.js +4 -9
- package/dist/core/autonomy/envelope-enforcement.js.map +1 -1
- package/dist/core/autonomy/lane-tool-surface.d.ts +3 -1
- package/dist/core/autonomy/lane-tool-surface.d.ts.map +1 -1
- package/dist/core/autonomy/lane-tool-surface.js +19 -5
- package/dist/core/autonomy/lane-tool-surface.js.map +1 -1
- package/dist/core/autonomy/path-scope.d.ts +14 -0
- package/dist/core/autonomy/path-scope.d.ts.map +1 -1
- package/dist/core/autonomy/path-scope.js +37 -6
- package/dist/core/autonomy/path-scope.js.map +1 -1
- package/dist/core/background-lane-controller.d.ts +30 -2
- package/dist/core/background-lane-controller.d.ts.map +1 -1
- package/dist/core/background-lane-controller.js +33 -1
- package/dist/core/background-lane-controller.js.map +1 -1
- package/dist/core/bedrock-sso-login.d.ts +16 -0
- package/dist/core/bedrock-sso-login.d.ts.map +1 -0
- package/dist/core/bedrock-sso-login.js +98 -0
- package/dist/core/bedrock-sso-login.js.map +1 -0
- package/dist/core/compaction-controller.d.ts.map +1 -1
- package/dist/core/compaction-controller.js +1 -1
- package/dist/core/compaction-controller.js.map +1 -1
- package/dist/core/compaction-support.d.ts +3 -8
- package/dist/core/compaction-support.d.ts.map +1 -1
- package/dist/core/compaction-support.js +3 -3
- package/dist/core/compaction-support.js.map +1 -1
- package/dist/core/context-pipeline.d.ts +1 -1
- package/dist/core/context-pipeline.d.ts.map +1 -1
- package/dist/core/context-pipeline.js +7 -33
- package/dist/core/context-pipeline.js.map +1 -1
- package/dist/core/cost/cost-summary.d.ts.map +1 -1
- package/dist/core/cost/cost-summary.js +5 -3
- package/dist/core/cost/cost-summary.js.map +1 -1
- package/dist/core/cost/daily-usage.d.ts.map +1 -1
- package/dist/core/cost/daily-usage.js +4 -5
- package/dist/core/cost/daily-usage.js.map +1 -1
- package/dist/core/default-tool-surface.d.ts.map +1 -1
- package/dist/core/default-tool-surface.js +1 -0
- package/dist/core/default-tool-surface.js.map +1 -1
- package/dist/core/delegation/managed-lane-controller.d.ts +11 -1
- package/dist/core/delegation/managed-lane-controller.d.ts.map +1 -1
- package/dist/core/delegation/managed-lane-controller.js +84 -41
- package/dist/core/delegation/managed-lane-controller.js.map +1 -1
- package/dist/core/delegation/session-worker-claim.d.ts.map +1 -1
- package/dist/core/delegation/session-worker-claim.js +4 -3
- package/dist/core/delegation/session-worker-claim.js.map +1 -1
- package/dist/core/delegation/worker-action-journal.d.ts +73 -0
- package/dist/core/delegation/worker-action-journal.d.ts.map +1 -0
- package/dist/core/delegation/worker-action-journal.js +297 -0
- package/dist/core/delegation/worker-action-journal.js.map +1 -0
- package/dist/core/delegation/worker-actions.d.ts +36 -1
- package/dist/core/delegation/worker-actions.d.ts.map +1 -1
- package/dist/core/delegation/worker-actions.js +171 -46
- package/dist/core/delegation/worker-actions.js.map +1 -1
- package/dist/core/delegation/worker-agent-control-coordinator.d.ts +75 -0
- package/dist/core/delegation/worker-agent-control-coordinator.d.ts.map +1 -0
- package/dist/core/delegation/worker-agent-control-coordinator.js +218 -0
- package/dist/core/delegation/worker-agent-control-coordinator.js.map +1 -0
- package/dist/core/delegation/worker-agent-control.d.ts +66 -0
- package/dist/core/delegation/worker-agent-control.d.ts.map +1 -0
- package/dist/core/delegation/worker-agent-control.js +163 -0
- package/dist/core/delegation/worker-agent-control.js.map +1 -0
- package/dist/core/delegation/worker-attempt-executor.d.ts +80 -0
- package/dist/core/delegation/worker-attempt-executor.d.ts.map +1 -0
- package/dist/core/delegation/worker-attempt-executor.js +343 -0
- package/dist/core/delegation/worker-attempt-executor.js.map +1 -0
- package/dist/core/delegation/worker-claim.d.ts +30 -0
- package/dist/core/delegation/worker-claim.d.ts.map +1 -1
- package/dist/core/delegation/worker-claim.js +205 -53
- package/dist/core/delegation/worker-claim.js.map +1 -1
- package/dist/core/delegation/worker-conversation-store.d.ts +116 -0
- package/dist/core/delegation/worker-conversation-store.d.ts.map +1 -0
- package/dist/core/delegation/worker-conversation-store.js +442 -0
- package/dist/core/delegation/worker-conversation-store.js.map +1 -0
- package/dist/core/delegation/worker-delegation-controller.d.ts +21 -5
- package/dist/core/delegation/worker-delegation-controller.d.ts.map +1 -1
- package/dist/core/delegation/worker-delegation-controller.js +386 -251
- package/dist/core/delegation/worker-delegation-controller.js.map +1 -1
- package/dist/core/delegation/worker-delegation-request.d.ts +14 -0
- package/dist/core/delegation/worker-delegation-request.d.ts.map +1 -1
- package/dist/core/delegation/worker-delegation-request.js.map +1 -1
- package/dist/core/delegation/worker-dispatch-scheduler.d.ts +4 -2
- package/dist/core/delegation/worker-dispatch-scheduler.d.ts.map +1 -1
- package/dist/core/delegation/worker-dispatch-scheduler.js +16 -6
- package/dist/core/delegation/worker-dispatch-scheduler.js.map +1 -1
- package/dist/core/delegation/worker-execution-policy.d.ts +2 -1
- package/dist/core/delegation/worker-execution-policy.d.ts.map +1 -1
- package/dist/core/delegation/worker-execution-policy.js +5 -7
- package/dist/core/delegation/worker-execution-policy.js.map +1 -1
- package/dist/core/delegation/worker-lifecycle.d.ts +44 -1
- package/dist/core/delegation/worker-lifecycle.d.ts.map +1 -1
- package/dist/core/delegation/worker-lifecycle.js +120 -0
- package/dist/core/delegation/worker-lifecycle.js.map +1 -1
- package/dist/core/delegation/worker-process-owner.d.ts +18 -0
- package/dist/core/delegation/worker-process-owner.d.ts.map +1 -0
- package/dist/core/delegation/worker-process-owner.js +54 -0
- package/dist/core/delegation/worker-process-owner.js.map +1 -0
- package/dist/core/delegation/worker-profile-resolver.d.ts +5 -1
- package/dist/core/delegation/worker-profile-resolver.d.ts.map +1 -1
- package/dist/core/delegation/worker-profile-resolver.js +8 -0
- package/dist/core/delegation/worker-profile-resolver.js.map +1 -1
- package/dist/core/delegation/worker-recovery-coordinator.d.ts +54 -0
- package/dist/core/delegation/worker-recovery-coordinator.d.ts.map +1 -0
- package/dist/core/delegation/worker-recovery-coordinator.js +181 -0
- package/dist/core/delegation/worker-recovery-coordinator.js.map +1 -0
- package/dist/core/delegation/worker-resource-catalog.d.ts +32 -0
- package/dist/core/delegation/worker-resource-catalog.d.ts.map +1 -0
- package/dist/core/delegation/worker-resource-catalog.js +116 -0
- package/dist/core/delegation/worker-resource-catalog.js.map +1 -0
- package/dist/core/delegation/worker-resource-materializer.d.ts +47 -0
- package/dist/core/delegation/worker-resource-materializer.d.ts.map +1 -0
- package/dist/core/delegation/worker-resource-materializer.js +137 -0
- package/dist/core/delegation/worker-resource-materializer.js.map +1 -0
- package/dist/core/delegation/worker-runner.d.ts +3 -1
- package/dist/core/delegation/worker-runner.d.ts.map +1 -1
- package/dist/core/delegation/worker-runner.js +189 -54
- package/dist/core/delegation/worker-runner.js.map +1 -1
- package/dist/core/delegation/worker-terminal-finalizer.d.ts +23 -0
- package/dist/core/delegation/worker-terminal-finalizer.d.ts.map +1 -0
- package/dist/core/delegation/worker-terminal-finalizer.js +12 -0
- package/dist/core/delegation/worker-terminal-finalizer.js.map +1 -0
- package/dist/core/delegation/worker-write-reservation-coordinator.d.ts +38 -0
- package/dist/core/delegation/worker-write-reservation-coordinator.d.ts.map +1 -0
- package/dist/core/delegation/worker-write-reservation-coordinator.js +107 -0
- package/dist/core/delegation/worker-write-reservation-coordinator.js.map +1 -0
- package/dist/core/delegation/worker-write-reservation.d.ts +90 -0
- package/dist/core/delegation/worker-write-reservation.d.ts.map +1 -0
- package/dist/core/delegation/worker-write-reservation.js +348 -0
- package/dist/core/delegation/worker-write-reservation.js.map +1 -0
- package/dist/core/extension-import-authority.d.ts +6 -0
- package/dist/core/extension-import-authority.d.ts.map +1 -0
- package/dist/core/extension-import-authority.js +10 -0
- package/dist/core/extension-import-authority.js.map +1 -0
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +2 -3
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +3 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +14 -5
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/stale-context.d.ts +2 -0
- package/dist/core/extensions/stale-context.d.ts.map +1 -0
- package/dist/core/extensions/stale-context.js +2 -0
- package/dist/core/extensions/stale-context.js.map +1 -0
- package/dist/core/extensions/types.d.ts +8 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/foreground-recovery-controller.d.ts +1 -0
- package/dist/core/foreground-recovery-controller.d.ts.map +1 -1
- package/dist/core/foreground-recovery-controller.js +13 -13
- package/dist/core/foreground-recovery-controller.js.map +1 -1
- package/dist/core/goal-loop-controller.d.ts +14 -9
- package/dist/core/goal-loop-controller.d.ts.map +1 -1
- package/dist/core/goal-loop-controller.js +47 -75
- package/dist/core/goal-loop-controller.js.map +1 -1
- package/dist/core/goals/compact-goal-context.d.ts +11 -0
- package/dist/core/goals/compact-goal-context.d.ts.map +1 -0
- package/dist/core/goals/compact-goal-context.js +59 -0
- package/dist/core/goals/compact-goal-context.js.map +1 -0
- package/dist/core/goals/goal-acceptance.d.ts.map +1 -1
- package/dist/core/goals/goal-acceptance.js +2 -0
- package/dist/core/goals/goal-acceptance.js.map +1 -1
- package/dist/core/goals/goal-auto-continue-controller.d.ts +2 -1
- package/dist/core/goals/goal-auto-continue-controller.d.ts.map +1 -1
- package/dist/core/goals/goal-auto-continue-controller.js +5 -8
- package/dist/core/goals/goal-auto-continue-controller.js.map +1 -1
- package/dist/core/goals/goal-continuation-controller.d.ts +2 -2
- package/dist/core/goals/goal-continuation-controller.d.ts.map +1 -1
- package/dist/core/goals/goal-continuation-controller.js +42 -11
- package/dist/core/goals/goal-continuation-controller.js.map +1 -1
- package/dist/core/goals/goal-continuation-defaults.d.ts +4 -29
- package/dist/core/goals/goal-continuation-defaults.d.ts.map +1 -1
- package/dist/core/goals/goal-continuation-defaults.js +4 -32
- package/dist/core/goals/goal-continuation-defaults.js.map +1 -1
- package/dist/core/goals/goal-continuation-prompt.d.ts +8 -18
- package/dist/core/goals/goal-continuation-prompt.d.ts.map +1 -1
- package/dist/core/goals/goal-continuation-prompt.js +9 -179
- package/dist/core/goals/goal-continuation-prompt.js.map +1 -1
- package/dist/core/goals/goal-lifecycle.d.ts +35 -12
- package/dist/core/goals/goal-lifecycle.d.ts.map +1 -1
- package/dist/core/goals/goal-lifecycle.js +98 -13
- package/dist/core/goals/goal-lifecycle.js.map +1 -1
- package/dist/core/goals/goal-record.d.ts +17 -0
- package/dist/core/goals/goal-record.d.ts.map +1 -0
- package/dist/core/goals/goal-record.js +31 -0
- package/dist/core/goals/goal-record.js.map +1 -0
- package/dist/core/goals/goal-session-controller.d.ts +42 -0
- package/dist/core/goals/goal-session-controller.d.ts.map +1 -0
- package/dist/core/goals/goal-session-controller.js +128 -0
- package/dist/core/goals/goal-session-controller.js.map +1 -0
- package/dist/core/goals/goal-state.d.ts +45 -25
- package/dist/core/goals/goal-state.d.ts.map +1 -1
- package/dist/core/goals/goal-state.js +85 -15
- package/dist/core/goals/goal-state.js.map +1 -1
- package/dist/core/goals/goal-tool-core.d.ts +1 -4
- package/dist/core/goals/goal-tool-core.d.ts.map +1 -1
- package/dist/core/goals/goal-tool-core.js +49 -34
- package/dist/core/goals/goal-tool-core.js.map +1 -1
- package/dist/core/goals/session-goal-state.d.ts +18 -8
- package/dist/core/goals/session-goal-state.d.ts.map +1 -1
- package/dist/core/goals/session-goal-state.js +134 -11
- package/dist/core/goals/session-goal-state.js.map +1 -1
- package/dist/core/human-input-controller.d.ts +47 -0
- package/dist/core/human-input-controller.d.ts.map +1 -0
- package/dist/core/human-input-controller.js +181 -0
- package/dist/core/human-input-controller.js.map +1 -0
- package/dist/core/local-runtime-controller.d.ts +1 -1
- package/dist/core/local-runtime-controller.d.ts.map +1 -1
- package/dist/core/local-runtime-controller.js.map +1 -1
- package/dist/core/model-capability.d.ts +0 -19
- package/dist/core/model-capability.d.ts.map +1 -1
- package/dist/core/model-capability.js +0 -19
- package/dist/core/model-capability.js.map +1 -1
- package/dist/core/model-registry.d.ts +6 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +13 -5
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +16 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +32 -16
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-router-controller.d.ts +1 -1
- package/dist/core/model-router-controller.d.ts.map +1 -1
- package/dist/core/model-router-controller.js.map +1 -1
- package/dist/core/model-selection-controller.d.ts +1 -1
- package/dist/core/model-selection-controller.d.ts.map +1 -1
- package/dist/core/model-selection-controller.js.map +1 -1
- package/dist/core/models/model-endpoint.d.ts +3 -0
- package/dist/core/models/model-endpoint.d.ts.map +1 -0
- package/dist/core/models/model-endpoint.js +11 -0
- package/dist/core/models/model-endpoint.js.map +1 -0
- package/dist/core/orchestration/agent-resume.d.ts +2 -0
- package/dist/core/orchestration/agent-resume.d.ts.map +1 -1
- package/dist/core/orchestration/agent-resume.js +7 -0
- package/dist/core/orchestration/agent-resume.js.map +1 -1
- package/dist/core/orchestration/attempt-usage.d.ts +28 -0
- package/dist/core/orchestration/attempt-usage.d.ts.map +1 -0
- package/dist/core/orchestration/attempt-usage.js +168 -0
- package/dist/core/orchestration/attempt-usage.js.map +1 -0
- package/dist/core/orchestration/capability-gateway.d.ts +19 -1
- package/dist/core/orchestration/capability-gateway.d.ts.map +1 -1
- package/dist/core/orchestration/capability-gateway.js +128 -28
- package/dist/core/orchestration/capability-gateway.js.map +1 -1
- package/dist/core/orchestration/contracts.d.ts +35 -0
- package/dist/core/orchestration/contracts.d.ts.map +1 -1
- package/dist/core/orchestration/contracts.js +17 -0
- package/dist/core/orchestration/contracts.js.map +1 -1
- package/dist/core/orchestration/delegation-ledger.d.ts +17 -2
- package/dist/core/orchestration/delegation-ledger.d.ts.map +1 -1
- package/dist/core/orchestration/delegation-ledger.js +81 -3
- package/dist/core/orchestration/delegation-ledger.js.map +1 -1
- package/dist/core/orchestration/event-store.d.ts +1 -0
- package/dist/core/orchestration/event-store.d.ts.map +1 -1
- package/dist/core/orchestration/event-store.js +78 -38
- package/dist/core/orchestration/event-store.js.map +1 -1
- package/dist/core/orchestration/profile-registry.d.ts.map +1 -1
- package/dist/core/orchestration/profile-registry.js +81 -41
- package/dist/core/orchestration/profile-registry.js.map +1 -1
- package/dist/core/orchestration/profile-store.d.ts.map +1 -1
- package/dist/core/orchestration/profile-store.js +18 -4
- package/dist/core/orchestration/profile-store.js.map +1 -1
- package/dist/core/orchestration/risk-budget.d.ts +2 -0
- package/dist/core/orchestration/risk-budget.d.ts.map +1 -1
- package/dist/core/orchestration/risk-budget.js +26 -0
- package/dist/core/orchestration/risk-budget.js.map +1 -1
- package/dist/core/orchestration/task-runtime.d.ts +13 -1
- package/dist/core/orchestration/task-runtime.d.ts.map +1 -1
- package/dist/core/orchestration/task-runtime.js +127 -16
- package/dist/core/orchestration/task-runtime.js.map +1 -1
- package/dist/core/orchestration/work-state-projection.d.ts.map +1 -1
- package/dist/core/orchestration/work-state-projection.js +1 -1
- package/dist/core/orchestration/work-state-projection.js.map +1 -1
- package/dist/core/orchestration/worker-execution-contract.d.ts +3 -1
- package/dist/core/orchestration/worker-execution-contract.d.ts.map +1 -1
- package/dist/core/orchestration/worker-execution-contract.js +75 -23
- package/dist/core/orchestration/worker-execution-contract.js.map +1 -1
- package/dist/core/orchestration/worker-result-adapter.d.ts +9 -3
- package/dist/core/orchestration/worker-result-adapter.d.ts.map +1 -1
- package/dist/core/orchestration/worker-result-adapter.js +167 -14
- package/dist/core/orchestration/worker-result-adapter.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +20 -3
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/profile-filter-controller.d.ts +8 -1
- package/dist/core/profile-filter-controller.d.ts.map +1 -1
- package/dist/core/profile-filter-controller.js +23 -5
- package/dist/core/profile-filter-controller.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +1 -0
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +18 -29
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/reflection-controller.d.ts +2 -2
- package/dist/core/reflection-controller.d.ts.map +1 -1
- package/dist/core/reflection-controller.js +92 -54
- package/dist/core/reflection-controller.js.map +1 -1
- package/dist/core/request-auth.d.ts +7 -0
- package/dist/core/request-auth.d.ts.map +1 -0
- package/dist/core/request-auth.js +8 -0
- package/dist/core/request-auth.js.map +1 -0
- package/dist/core/research/evidence-bundle.d.ts +20 -0
- package/dist/core/research/evidence-bundle.d.ts.map +1 -1
- package/dist/core/research/evidence-bundle.js +173 -69
- package/dist/core/research/evidence-bundle.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +16 -6
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/risk-classifier.d.ts.map +1 -1
- package/dist/core/risk-classifier.js +8 -0
- package/dist/core/risk-classifier.js.map +1 -1
- package/dist/core/runtime-builder.d.ts +22 -3
- package/dist/core/runtime-builder.d.ts.map +1 -1
- package/dist/core/runtime-builder.js +147 -80
- package/dist/core/runtime-builder.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +7 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/secrets/credential-exposure-guard.d.ts +9 -0
- package/dist/core/secrets/credential-exposure-guard.d.ts.map +1 -0
- package/dist/core/secrets/credential-exposure-guard.js +241 -0
- package/dist/core/secrets/credential-exposure-guard.js.map +1 -0
- package/dist/core/secrets/secret-dotenv.d.ts +27 -0
- package/dist/core/secrets/secret-dotenv.d.ts.map +1 -0
- package/dist/core/secrets/secret-dotenv.js +183 -0
- package/dist/core/secrets/secret-dotenv.js.map +1 -0
- package/dist/core/secrets/secret-vault-format.d.ts +112 -0
- package/dist/core/secrets/secret-vault-format.d.ts.map +1 -0
- package/dist/core/secrets/secret-vault-format.js +397 -0
- package/dist/core/secrets/secret-vault-format.js.map +1 -0
- package/dist/core/secrets/secret-vault.d.ts +72 -0
- package/dist/core/secrets/secret-vault.d.ts.map +1 -0
- package/dist/core/secrets/secret-vault.js +671 -0
- package/dist/core/secrets/secret-vault.js.map +1 -0
- package/dist/core/session-analytics.d.ts +4 -23
- package/dist/core/session-analytics.d.ts.map +1 -1
- package/dist/core/session-analytics.js +39 -69
- package/dist/core/session-analytics.js.map +1 -1
- package/dist/core/session-artifact-bundle.d.ts +35 -0
- package/dist/core/session-artifact-bundle.d.ts.map +1 -0
- package/dist/core/session-artifact-bundle.js +61 -0
- package/dist/core/session-artifact-bundle.js.map +1 -0
- package/dist/core/session-role.d.ts +5 -0
- package/dist/core/session-role.d.ts.map +1 -1
- package/dist/core/session-role.js +14 -1
- package/dist/core/session-role.js.map +1 -1
- package/dist/core/session-tree-navigator.d.ts +4 -6
- package/dist/core/session-tree-navigator.d.ts.map +1 -1
- package/dist/core/session-tree-navigator.js +4 -1
- package/dist/core/session-tree-navigator.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -2
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/tool-capability-policy.d.ts.map +1 -1
- package/dist/core/tool-capability-policy.js +1 -0
- package/dist/core/tool-capability-policy.js.map +1 -1
- package/dist/core/tool-gate-controller.d.ts.map +1 -1
- package/dist/core/tool-gate-controller.js +8 -2
- package/dist/core/tool-gate-controller.js.map +1 -1
- package/dist/core/tool-protocol-controller.d.ts +2 -4
- package/dist/core/tool-protocol-controller.d.ts.map +1 -1
- package/dist/core/tool-protocol-controller.js.map +1 -1
- package/dist/core/tool-recovery-stats.d.ts +21 -1
- package/dist/core/tool-recovery-stats.d.ts.map +1 -1
- package/dist/core/tool-recovery-stats.js.map +1 -1
- package/dist/core/tools/bash.d.ts +5 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +59 -5
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/delegate-status.d.ts +6 -1
- package/dist/core/tools/delegate-status.d.ts.map +1 -1
- package/dist/core/tools/delegate-status.js +106 -25
- package/dist/core/tools/delegate-status.js.map +1 -1
- package/dist/core/tools/delegate.d.ts +9 -1
- package/dist/core/tools/delegate.d.ts.map +1 -1
- package/dist/core/tools/delegate.js +329 -69
- package/dist/core/tools/delegate.js.map +1 -1
- package/dist/core/tools/git-filter.d.ts +1 -8
- package/dist/core/tools/git-filter.d.ts.map +1 -1
- package/dist/core/tools/git-filter.js +2 -63
- package/dist/core/tools/git-filter.js.map +1 -1
- package/dist/core/tools/goal.d.ts +5 -3
- package/dist/core/tools/goal.d.ts.map +1 -1
- package/dist/core/tools/goal.js +97 -19
- package/dist/core/tools/goal.js.map +1 -1
- package/dist/core/tools/index.d.ts +1 -0
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +1 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/orchestration-panel.d.ts +1 -4
- package/dist/core/tools/orchestration-panel.d.ts.map +1 -1
- package/dist/core/tools/orchestration-panel.js +0 -44
- package/dist/core/tools/orchestration-panel.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +11 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +36 -3
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/python.d.ts +2 -0
- package/dist/core/tools/python.d.ts.map +1 -1
- package/dist/core/tools/python.js +3 -1
- package/dist/core/tools/python.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/run-process.d.ts +1 -1
- package/dist/core/tools/run-process.d.ts.map +1 -1
- package/dist/core/tools/run-process.js +69 -9
- package/dist/core/tools/run-process.js.map +1 -1
- package/dist/core/tools/search-command-guard.d.ts +14 -0
- package/dist/core/tools/search-command-guard.d.ts.map +1 -0
- package/dist/core/tools/search-command-guard.js +333 -0
- package/dist/core/tools/search-command-guard.js.map +1 -0
- package/dist/core/tools/secret-store.d.ts +38 -0
- package/dist/core/tools/secret-store.d.ts.map +1 -0
- package/dist/core/tools/secret-store.js +412 -0
- package/dist/core/tools/secret-store.js.map +1 -0
- package/dist/core/tools/shell-command-parser.d.ts +16 -0
- package/dist/core/tools/shell-command-parser.d.ts.map +1 -0
- package/dist/core/tools/shell-command-parser.js +113 -0
- package/dist/core/tools/shell-command-parser.js.map +1 -0
- package/dist/core/tools/shell-contract-router.d.ts.map +1 -1
- package/dist/core/tools/shell-contract-router.js +12 -5
- package/dist/core/tools/shell-contract-router.js.map +1 -1
- package/dist/core/tools/task-steps.d.ts.map +1 -1
- package/dist/core/tools/task-steps.js +4 -7
- package/dist/core/tools/task-steps.js.map +1 -1
- package/dist/core/util/atomic-file.d.ts +6 -2
- package/dist/core/util/atomic-file.d.ts.map +1 -1
- package/dist/core/util/atomic-file.js +4 -4
- package/dist/core/util/atomic-file.js.map +1 -1
- package/dist/core/util/bounded-file.d.ts +15 -0
- package/dist/core/util/bounded-file.d.ts.map +1 -0
- package/dist/core/util/bounded-file.js +120 -0
- package/dist/core/util/bounded-file.js.map +1 -0
- package/dist/core/util/bounded-jsonl.d.ts.map +1 -1
- package/dist/core/util/bounded-jsonl.js +119 -9
- package/dist/core/util/bounded-jsonl.js.map +1 -1
- package/dist/core/util/bounded-value.d.ts +3 -0
- package/dist/core/util/bounded-value.d.ts.map +1 -0
- package/dist/core/util/bounded-value.js +12 -0
- package/dist/core/util/bounded-value.js.map +1 -0
- package/dist/core/util/value-guards.d.ts +2 -0
- package/dist/core/util/value-guards.d.ts.map +1 -1
- package/dist/core/util/value-guards.js +5 -0
- package/dist/core/util/value-guards.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +25 -11
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/auth-dialogs-controller.d.ts +4 -0
- package/dist/modes/interactive/auth-dialogs-controller.d.ts.map +1 -1
- package/dist/modes/interactive/auth-dialogs-controller.js +60 -1
- package/dist/modes/interactive/auth-dialogs-controller.js.map +1 -1
- package/dist/modes/interactive/components/activity-lane.d.ts +55 -0
- package/dist/modes/interactive/components/activity-lane.d.ts.map +1 -0
- package/dist/modes/interactive/components/activity-lane.js +304 -0
- package/dist/modes/interactive/components/activity-lane.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +19 -10
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/expandable-text.d.ts +12 -0
- package/dist/modes/interactive/components/expandable-text.d.ts.map +1 -0
- package/dist/modes/interactive/components/expandable-text.js +17 -0
- package/dist/modes/interactive/components/expandable-text.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +15 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +30 -21
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +6 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +2 -2
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +23 -14
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +27 -44
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +4 -4
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +19 -11
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +53 -20
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tool-group.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-group.js +3 -0
- package/dist/modes/interactive/components/tool-group.js.map +1 -1
- package/dist/modes/interactive/components/usage-action-selector.d.ts +16 -0
- package/dist/modes/interactive/components/usage-action-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/usage-action-selector.js +46 -0
- package/dist/modes/interactive/components/usage-action-selector.js.map +1 -0
- package/dist/modes/interactive/extension-ui-host.d.ts.map +1 -1
- package/dist/modes/interactive/extension-ui-host.js +1 -0
- package/dist/modes/interactive/extension-ui-host.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts +15 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +27 -19
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/history-reload-math.d.ts +6 -2
- package/dist/modes/interactive/history-reload-math.d.ts.map +1 -1
- package/dist/modes/interactive/history-reload-math.js +10 -5
- package/dist/modes/interactive/history-reload-math.js.map +1 -1
- package/dist/modes/interactive/interactive-event-controller.d.ts +74 -0
- package/dist/modes/interactive/interactive-event-controller.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-event-controller.js +328 -0
- package/dist/modes/interactive/interactive-event-controller.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +20 -25
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +196 -608
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/loaded-resources-view.d.ts +20 -0
- package/dist/modes/interactive/loaded-resources-view.d.ts.map +1 -0
- package/dist/modes/interactive/loaded-resources-view.js +147 -0
- package/dist/modes/interactive/loaded-resources-view.js.map +1 -0
- package/dist/modes/interactive/resource-display.d.ts.map +1 -1
- package/dist/modes/interactive/resource-display.js +8 -2
- package/dist/modes/interactive/resource-display.js.map +1 -1
- package/dist/modes/interactive/resource-shell-commands.d.ts +1 -5
- package/dist/modes/interactive/resource-shell-commands.d.ts.map +1 -1
- package/dist/modes/interactive/resource-shell-commands.js +0 -5
- package/dist/modes/interactive/resource-shell-commands.js.map +1 -1
- package/dist/modes/interactive/session-flow-commands.d.ts +10 -6
- package/dist/modes/interactive/session-flow-commands.d.ts.map +1 -1
- package/dist/modes/interactive/session-flow-commands.js +123 -70
- package/dist/modes/interactive/session-flow-commands.js.map +1 -1
- package/dist/modes/interactive/usage-commands.d.ts +34 -0
- package/dist/modes/interactive/usage-commands.d.ts.map +1 -0
- package/dist/modes/interactive/usage-commands.js +225 -0
- package/dist/modes/interactive/usage-commands.js.map +1 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +5 -3
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +3 -1
- package/dist/utils/version-check.js.map +1 -1
- package/docs/UI_POLISH_ORCHESTRATION.md +25 -31
- package/docs/UI_QUALITY_ORCHESTRATION.md +22 -24
- package/docs/providers.md +9 -1
- package/docs/tool-repair.md +3 -0
- package/docs/ui-reference/README.md +6 -6
- package/docs/ui-reference/orchestration-after.txt +14 -7
- package/docs/ui-reference/orchestration-before.txt +12 -6
- package/docs/ui-reference/orchestration-reference.txt +15 -5
- package/docs/usage.md +9 -1
- package/docs/windows.md +4 -2
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +13 -13
- package/package.json +4 -4
|
@@ -46,6 +46,8 @@ import { evaluateSurfaceFitness } from "./model-router/fitness-gate.js";
|
|
|
46
46
|
import { FitnessStore } from "./models/fitness-store.js";
|
|
47
47
|
import { describeInFlightWorkUnit, getInFlightWorkUnits } from "./reload-blockers.js";
|
|
48
48
|
import { ScoutController } from "./scout-controller.js";
|
|
49
|
+
import { wrapToolWithCredentialExposureGuard } from "./secrets/credential-exposure-guard.js";
|
|
50
|
+
import { SecretVault } from "./secrets/secret-vault.js";
|
|
49
51
|
import { getSessionRole, isWorkerSession, WORKER_FORBIDDEN_TOOLS } from "./session-role.js";
|
|
50
52
|
import { matchesResourceProfilePattern, } from "./settings-manager.js";
|
|
51
53
|
import { createSyntheticSourceInfo } from "./source-info.js";
|
|
@@ -65,9 +67,12 @@ import { resolveToCwd } from "./tools/path-utils.js";
|
|
|
65
67
|
import { createReadTool } from "./tools/read.js";
|
|
66
68
|
import { createRunProcessToolDefinition } from "./tools/run-process.js";
|
|
67
69
|
import { createRunToolkitScriptToolDefinition } from "./tools/run-toolkit-script.js";
|
|
70
|
+
import { createSecretStoreToolDefinition } from "./tools/secret-store.js";
|
|
71
|
+
import { disposePersistentShellSession } from "./tools/shell-session.js";
|
|
68
72
|
import { createTaskStepsToolDefinition } from "./tools/task-steps.js";
|
|
69
73
|
import { dispatchTmuxWorker } from "./tools/tmux-dispatch.js";
|
|
70
74
|
import { createToolDefinitionFromAgentTool } from "./tools/tool-definition-wrapper.js";
|
|
75
|
+
import { disposeWindowsShellState } from "./tools/windows-shell-state.js";
|
|
71
76
|
import { createWorktreeSyncToolDefinition } from "./tools/worktree-sync.js";
|
|
72
77
|
import { createLane } from "./worktree-sync/git-engine.js";
|
|
73
78
|
import { WorktreeLaneGate } from "./worktree-sync/lane-gate.js";
|
|
@@ -106,6 +111,18 @@ export function deriveOpenTaskStepRefs(taskStepsState) {
|
|
|
106
111
|
...(step.requirementIds?.length ? { requirementIds: step.requirementIds } : {}),
|
|
107
112
|
}));
|
|
108
113
|
}
|
|
114
|
+
/** Bind goal-selected requirement identity as runtime metadata, outside the model-facing delegate schema. */
|
|
115
|
+
export function createGoalWorkerDelegationRequest(args) {
|
|
116
|
+
return {
|
|
117
|
+
instructions: args.instructions,
|
|
118
|
+
taskContext: {
|
|
119
|
+
requirementIds: [args.requirementId],
|
|
120
|
+
dependsOnTaskIds: [],
|
|
121
|
+
acceptanceCriterionIds: [],
|
|
122
|
+
resourcePointerIds: [],
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
109
126
|
/**
|
|
110
127
|
* Owns the tool-registry build and the self-modification-safe extension reload extracted from
|
|
111
128
|
* {@link AgentSession}. See the module header for the snapshot-ownership and host-binding boundaries.
|
|
@@ -117,11 +134,22 @@ export class RuntimeBuilder {
|
|
|
117
134
|
_toolPromptSnippets = new Map();
|
|
118
135
|
_toolPromptGuidelines = new Map();
|
|
119
136
|
_baseToolDefinitions = new Map();
|
|
137
|
+
/** Exact extensions the owner approved through the live-load API. Discovery never populates this set. */
|
|
138
|
+
_explicitLiveExtensionPaths = new Set();
|
|
120
139
|
_reloadPromise;
|
|
121
140
|
_reloadRequested = false;
|
|
141
|
+
_secretVault;
|
|
122
142
|
deps;
|
|
123
143
|
constructor(deps) {
|
|
124
144
|
this.deps = deps;
|
|
145
|
+
this._secretVault = new SecretVault({
|
|
146
|
+
agentDir: deps.getAgentDir(),
|
|
147
|
+
onEnvironmentChanged: () => {
|
|
148
|
+
const sessionKey = deps.getShellSessionKey();
|
|
149
|
+
disposePersistentShellSession(sessionKey);
|
|
150
|
+
disposeWindowsShellState(sessionKey);
|
|
151
|
+
},
|
|
152
|
+
});
|
|
125
153
|
}
|
|
126
154
|
/**
|
|
127
155
|
* Resolve the construction and activation policy once for a runtime generation. This is the
|
|
@@ -173,9 +201,9 @@ export class RuntimeBuilder {
|
|
|
173
201
|
resolveScoutModel: async () => resolveScoutModel(this.deps.getModelRegistry(), this.deps.getSettingsManager().getScoutSettings().model, this.deps.getAgentDir(), (model) => this.deps.isModelExhausted(model)),
|
|
174
202
|
getCwd: () => cwd,
|
|
175
203
|
buildReadOnlyTools: (toolCwd) => [
|
|
176
|
-
createReadTool(toolCwd),
|
|
177
|
-
createGrepTool(toolCwd, { artifactStore }),
|
|
178
|
-
createFindTool(toolCwd, { artifactStore }),
|
|
204
|
+
wrapToolWithCredentialExposureGuard(createReadTool(toolCwd), toolCwd, this._secretVault),
|
|
205
|
+
wrapToolWithCredentialExposureGuard(createGrepTool(toolCwd, { artifactStore }), toolCwd, this._secretVault),
|
|
206
|
+
wrapToolWithCredentialExposureGuard(createFindTool(toolCwd, { artifactStore }), toolCwd, this._secretVault),
|
|
179
207
|
],
|
|
180
208
|
streamFn: this.deps.getAgent().streamFn,
|
|
181
209
|
fileExists: (path) => existsSync(resolveCwdPath(cwd, path)),
|
|
@@ -278,9 +306,13 @@ export class RuntimeBuilder {
|
|
|
278
306
|
definition,
|
|
279
307
|
sourceInfo: createSyntheticSourceInfo(`<builtin:${definition.name}>`, { source: "builtin" }),
|
|
280
308
|
})), runner);
|
|
281
|
-
const toolRegistry = new Map(wrappedBuiltInTools.map((tool) =>
|
|
309
|
+
const toolRegistry = new Map(wrappedBuiltInTools.map((tool) => {
|
|
310
|
+
const guarded = wrapToolWithCredentialExposureGuard(tool, this.deps.getCwd(), this._secretVault);
|
|
311
|
+
return [guarded.name, guarded];
|
|
312
|
+
}));
|
|
282
313
|
for (const tool of wrappedExtensionTools) {
|
|
283
|
-
|
|
314
|
+
const guarded = wrapToolWithCredentialExposureGuard(tool, this.deps.getCwd(), this._secretVault);
|
|
315
|
+
toolRegistry.set(guarded.name, guarded);
|
|
284
316
|
}
|
|
285
317
|
this._toolRegistry = toolRegistry;
|
|
286
318
|
const requestedBase = options?.activeToolNames
|
|
@@ -453,7 +485,12 @@ export class RuntimeBuilder {
|
|
|
453
485
|
shellPath,
|
|
454
486
|
sessionKey: this.deps.getShellSessionKey(),
|
|
455
487
|
platform: process.platform,
|
|
488
|
+
spawnHook: (context) => ({
|
|
489
|
+
...context,
|
|
490
|
+
env: { ...context.env, ...this._secretVault.getEnvironmentForCwd(context.cwd) },
|
|
491
|
+
}),
|
|
456
492
|
},
|
|
493
|
+
python: { environment: (cwd) => this._secretVault.getEnvironmentForCwd(cwd) },
|
|
457
494
|
grep: { artifactStore: toolArtifactStore },
|
|
458
495
|
find: { artifactStore: toolArtifactStore },
|
|
459
496
|
artifact_retrieve: { artifactStore: toolArtifactStore },
|
|
@@ -496,8 +533,8 @@ export class RuntimeBuilder {
|
|
|
496
533
|
if (toolAccess.allows("goal")) {
|
|
497
534
|
const goalToolDefinition = createGoalToolDefinition({
|
|
498
535
|
getGoalState: () => this.deps.getGoalStateSnapshot(),
|
|
499
|
-
saveGoalState: (state) => {
|
|
500
|
-
this.deps.saveGoalStateSnapshot(state);
|
|
536
|
+
saveGoalState: (state, expected) => {
|
|
537
|
+
this.deps.saveGoalStateSnapshot(state, expected);
|
|
501
538
|
},
|
|
502
539
|
// kind:"tool" evidence refs verify against real session records.
|
|
503
540
|
hasToolCallId: (toolCallId) => hasAnsweredToolCallOnBranch(this.deps.getSessionManager(), toolCallId),
|
|
@@ -511,7 +548,7 @@ export class RuntimeBuilder {
|
|
|
511
548
|
// adapted from its `{started:true;record}|{started:false;skipReason}` shape onto this
|
|
512
549
|
// tool's narrower `{laneId}|{skipReason}` shape.
|
|
513
550
|
startWorkerDelegation: (args) => {
|
|
514
|
-
const outcome = this.deps.startWorkerDelegation(
|
|
551
|
+
const outcome = this.deps.startWorkerDelegation(createGoalWorkerDelegationRequest(args));
|
|
515
552
|
return outcome.started ? { laneId: outcome.record.laneId } : { skipReason: outcome.skipReason };
|
|
516
553
|
},
|
|
517
554
|
// dispatch_worker's tool-layer side effect for `dispatchTarget:"tmux"`: core structurally
|
|
@@ -564,11 +601,16 @@ export class RuntimeBuilder {
|
|
|
564
601
|
});
|
|
565
602
|
this._baseToolDefinitions.set(askQuestionToolDefinition.name, askQuestionToolDefinition);
|
|
566
603
|
}
|
|
604
|
+
if (toolAccess.allows("secret_store")) {
|
|
605
|
+
const secretStoreToolDefinition = createSecretStoreToolDefinition({ vault: this._secretVault });
|
|
606
|
+
this._baseToolDefinitions.set(secretStoreToolDefinition.name, secretStoreToolDefinition);
|
|
607
|
+
}
|
|
567
608
|
if (toolAccess.allows("delegate")) {
|
|
568
609
|
const delegateToolDefinition = createDelegateToolDefinition({
|
|
569
610
|
startWorkerDelegation: (args) => this.deps.startWorkerDelegation(args),
|
|
570
611
|
runWorkerDelegation: (args) => this.deps.runWorkerDelegationOnce(args),
|
|
571
612
|
orchestrationProfiles: this.deps.getOrchestrationProfileCatalog(),
|
|
613
|
+
...(this.deps.workerAgentControl ? { workerAgentControl: this.deps.workerAgentControl } : {}),
|
|
572
614
|
});
|
|
573
615
|
this._baseToolDefinitions.set(delegateToolDefinition.name, delegateToolDefinition);
|
|
574
616
|
}
|
|
@@ -580,6 +622,7 @@ export class RuntimeBuilder {
|
|
|
580
622
|
// a new agent-session dep) because getSessionManager() is already a stable, generic
|
|
581
623
|
// passthrough dep, so no other package needs to change for this to work.
|
|
582
624
|
acknowledgeWorkerReview: (requestId) => acknowledgeWorkerClaimReview(this.deps.getSessionManager(), requestId),
|
|
625
|
+
...(this.deps.workerAgentControl ? { workerAgentControl: this.deps.workerAgentControl } : {}),
|
|
583
626
|
});
|
|
584
627
|
this._baseToolDefinitions.set(delegateStatusToolDefinition.name, delegateStatusToolDefinition);
|
|
585
628
|
}
|
|
@@ -692,7 +735,7 @@ export class RuntimeBuilder {
|
|
|
692
735
|
extensionsResult.runtime.flagValues.set(name, value);
|
|
693
736
|
}
|
|
694
737
|
}
|
|
695
|
-
const extensions = this.deps.filterExtensionsForRuntime(extensionsResult.extensions);
|
|
738
|
+
const extensions = this.deps.filterExtensionsForRuntime(extensionsResult.extensions, this._explicitLiveExtensionPaths);
|
|
696
739
|
const runtimeExtensionPaths = new Set(extensions.map((extension) => extension.path));
|
|
697
740
|
extensionsResult.runtime.pendingProviderRegistrations =
|
|
698
741
|
extensionsResult.runtime.pendingProviderRegistrations.filter((registration) => runtimeExtensionPaths.has(registration.extensionPath));
|
|
@@ -809,6 +852,15 @@ export class RuntimeBuilder {
|
|
|
809
852
|
deferExtensionDispose: true,
|
|
810
853
|
skipSettingsReload: true,
|
|
811
854
|
});
|
|
855
|
+
// A live-load call is an exact session-owned grant. Resource discovery deliberately cannot
|
|
856
|
+
// recreate it without a profile, so restore only those approved paths into the new runtime
|
|
857
|
+
// generation before binding it.
|
|
858
|
+
for (const extensionPath of this._explicitLiveExtensionPaths) {
|
|
859
|
+
if (this.deps.isExtensionPathAllowed(extensionPath, "explicit") &&
|
|
860
|
+
!this.deps.getResourceLoader().getLoadedExtension(extensionPath)) {
|
|
861
|
+
await this._importExtension(extensionPath);
|
|
862
|
+
}
|
|
863
|
+
}
|
|
812
864
|
// Replace the previous extension-owned provider generation before binding the new one. The
|
|
813
865
|
// bulk refresh also preserves API/OAuth streams for surviving non-extension providers.
|
|
814
866
|
this.deps.getModelRegistry().unregisterProviders(previousExtensionProviderNames);
|
|
@@ -874,9 +926,23 @@ export class RuntimeBuilder {
|
|
|
874
926
|
*/
|
|
875
927
|
async unloadExtensionLive(extensionPath) {
|
|
876
928
|
this._assertReloadQuiescent("unload extension");
|
|
929
|
+
try {
|
|
930
|
+
await this._unloadExtensionLive(extensionPath, true, true);
|
|
931
|
+
}
|
|
932
|
+
catch (error) {
|
|
933
|
+
await this._recoverLiveExtensionFailure();
|
|
934
|
+
throw error;
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
async _unloadExtensionLive(extensionPath, revokeExplicitGrant, notify) {
|
|
877
938
|
const ext = this.deps.getResourceLoader().getLoadedExtension(extensionPath);
|
|
939
|
+
const explicitGrantPath = ext?.path ?? extensionPath;
|
|
940
|
+
const hadExplicitGrant = this._explicitLiveExtensionPaths.has(explicitGrantPath);
|
|
941
|
+
if (revokeExplicitGrant) {
|
|
942
|
+
this._explicitLiveExtensionPaths.delete(explicitGrantPath);
|
|
943
|
+
}
|
|
878
944
|
if (!ext) {
|
|
879
|
-
return;
|
|
945
|
+
return;
|
|
880
946
|
}
|
|
881
947
|
const previousRunner = this.deps.getExtensionRunner();
|
|
882
948
|
try {
|
|
@@ -901,7 +967,7 @@ export class RuntimeBuilder {
|
|
|
901
967
|
flagValues: previousFlagValues,
|
|
902
968
|
includeAllExtensionTools: true,
|
|
903
969
|
});
|
|
904
|
-
previousRunner.
|
|
970
|
+
previousRunner.retire();
|
|
905
971
|
const memorySnapshot = this.deps.createMemoryReloadSnapshot();
|
|
906
972
|
this.deps.restoreMemoryReloadSnapshot({
|
|
907
973
|
...memorySnapshot,
|
|
@@ -911,16 +977,13 @@ export class RuntimeBuilder {
|
|
|
911
977
|
runtime.memoryProvidersByExtension.delete(ext.path);
|
|
912
978
|
runtime.contextMemoryProvidersByExtension.delete(ext.path);
|
|
913
979
|
await this.deps.initializeMemory();
|
|
914
|
-
|
|
915
|
-
|
|
980
|
+
if (notify) {
|
|
981
|
+
this.deps.notifyExtensionsChanged();
|
|
982
|
+
}
|
|
916
983
|
}
|
|
917
984
|
catch (error) {
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
await this.reload();
|
|
921
|
-
}
|
|
922
|
-
catch {
|
|
923
|
-
// Suppress nested error; original error will be thrown below
|
|
985
|
+
if (revokeExplicitGrant && hadExplicitGrant) {
|
|
986
|
+
this._explicitLiveExtensionPaths.add(explicitGrantPath);
|
|
924
987
|
}
|
|
925
988
|
throw error;
|
|
926
989
|
}
|
|
@@ -933,15 +996,26 @@ export class RuntimeBuilder {
|
|
|
933
996
|
*/
|
|
934
997
|
async loadExtensionLive(extensionPath) {
|
|
935
998
|
this._assertReloadQuiescent("load extension");
|
|
936
|
-
|
|
937
|
-
|
|
999
|
+
this._assertExtensionLoadAllowed(extensionPath, "explicit");
|
|
1000
|
+
try {
|
|
1001
|
+
await this._loadExtensionLive(extensionPath, "explicit", true);
|
|
938
1002
|
}
|
|
1003
|
+
catch (error) {
|
|
1004
|
+
await this._recoverLiveExtensionFailure();
|
|
1005
|
+
throw error;
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
async _loadExtensionLive(extensionPath, authority, notify) {
|
|
939
1009
|
const previousRunner = this.deps.getExtensionRunner();
|
|
1010
|
+
let explicitGrantPath;
|
|
1011
|
+
let hadExplicitGrant = false;
|
|
940
1012
|
try {
|
|
941
1013
|
// Load the extension with fresh import
|
|
942
|
-
const
|
|
943
|
-
if (
|
|
944
|
-
|
|
1014
|
+
const extension = await this._importExtension(extensionPath);
|
|
1015
|
+
if (authority === "explicit") {
|
|
1016
|
+
explicitGrantPath = extension.path;
|
|
1017
|
+
hadExplicitGrant = this._explicitLiveExtensionPaths.has(explicitGrantPath);
|
|
1018
|
+
this._explicitLiveExtensionPaths.add(explicitGrantPath);
|
|
945
1019
|
}
|
|
946
1020
|
// Rebuild runtime to aggregate tools/commands/handlers/providers
|
|
947
1021
|
const activeToolNames = this.deps.getRequestedActiveToolNames() ?? this.deps.getActiveToolNames();
|
|
@@ -956,20 +1030,38 @@ export class RuntimeBuilder {
|
|
|
956
1030
|
// Activate newly registered legacy/context providers immediately. Reinitialization also
|
|
957
1031
|
// refreshes provider tools and preserves all providers owned by existing extensions.
|
|
958
1032
|
await this.deps.initializeMemory();
|
|
959
|
-
|
|
960
|
-
|
|
1033
|
+
previousRunner.retire();
|
|
1034
|
+
if (notify) {
|
|
1035
|
+
this.deps.notifyExtensionsChanged();
|
|
1036
|
+
}
|
|
961
1037
|
}
|
|
962
1038
|
catch (error) {
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
await this.reload();
|
|
966
|
-
}
|
|
967
|
-
catch {
|
|
968
|
-
// Suppress nested error; original error will be thrown below
|
|
1039
|
+
if (explicitGrantPath && !hadExplicitGrant) {
|
|
1040
|
+
this._explicitLiveExtensionPaths.delete(explicitGrantPath);
|
|
969
1041
|
}
|
|
970
1042
|
throw error;
|
|
971
1043
|
}
|
|
972
1044
|
}
|
|
1045
|
+
async _importExtension(extensionPath) {
|
|
1046
|
+
const { extension, error } = await this.deps.getResourceLoader().loadSingleExtension(extensionPath);
|
|
1047
|
+
if (error || !extension) {
|
|
1048
|
+
throw new Error(error || `Failed to load extension: ${extensionPath}`);
|
|
1049
|
+
}
|
|
1050
|
+
return extension;
|
|
1051
|
+
}
|
|
1052
|
+
_assertExtensionLoadAllowed(extensionPath, authority) {
|
|
1053
|
+
if (!this.deps.isExtensionPathAllowed(extensionPath, authority)) {
|
|
1054
|
+
throw new Error(`Cannot load extension outside the active resource profile: ${extensionPath}`);
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
async _recoverLiveExtensionFailure() {
|
|
1058
|
+
try {
|
|
1059
|
+
await this.reload();
|
|
1060
|
+
}
|
|
1061
|
+
catch {
|
|
1062
|
+
// Preserve the original live-operation error; recovery is best effort.
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
973
1065
|
/**
|
|
974
1066
|
* Reconcile loaded extensions with the active profile.
|
|
975
1067
|
* Loads extensions that should be enabled but aren't, and unloads extensions that shouldn't be.
|
|
@@ -980,66 +1072,41 @@ export class RuntimeBuilder {
|
|
|
980
1072
|
try {
|
|
981
1073
|
// Get all discoverable extension paths
|
|
982
1074
|
const allDiscoverablePaths = await this.deps.getResourceLoader().getDiscoverableExtensionPaths();
|
|
983
|
-
// Get the target enabled set based on profile filters
|
|
984
|
-
const targetEnabledSet = new Set();
|
|
985
|
-
for (const path of allDiscoverablePaths) {
|
|
986
|
-
if (this.deps.getSettingsManager().isResourceAllowedByProfile("extensions", path)) {
|
|
987
|
-
targetEnabledSet.add(path);
|
|
988
|
-
}
|
|
989
|
-
}
|
|
990
|
-
// Get currently loaded set
|
|
991
1075
|
const loadedExtensions = this.deps.getResourceLoader().getExtensions().extensions;
|
|
992
|
-
const
|
|
993
|
-
for (const
|
|
994
|
-
|
|
995
|
-
}
|
|
996
|
-
// Collect unloads and loads
|
|
997
|
-
const toUnload = [];
|
|
998
|
-
const toLoad = [];
|
|
999
|
-
for (const path of loadedSet) {
|
|
1000
|
-
if (!targetEnabledSet.has(path)) {
|
|
1001
|
-
toUnload.push(path);
|
|
1002
|
-
}
|
|
1076
|
+
const targetAuthorities = new Map();
|
|
1077
|
+
for (const extension of this.deps.filterExtensionsForRuntime(loadedExtensions, this._explicitLiveExtensionPaths)) {
|
|
1078
|
+
targetAuthorities.set(extension.path, "loaded");
|
|
1003
1079
|
}
|
|
1004
|
-
for (const path of
|
|
1005
|
-
if (
|
|
1006
|
-
|
|
1080
|
+
for (const path of this._explicitLiveExtensionPaths) {
|
|
1081
|
+
if (this.deps.isExtensionPathAllowed(path, "explicit")) {
|
|
1082
|
+
targetAuthorities.set(path, "explicit");
|
|
1007
1083
|
}
|
|
1008
1084
|
}
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
for (const path of toUnload) {
|
|
1013
|
-
try {
|
|
1014
|
-
await this.unloadExtensionLive(path);
|
|
1015
|
-
}
|
|
1016
|
-
catch (error) {
|
|
1017
|
-
errors.push(error instanceof Error ? error : new Error(String(error)));
|
|
1085
|
+
for (const path of allDiscoverablePaths) {
|
|
1086
|
+
if (this.deps.isExtensionPathAllowed(path, "profile") && !targetAuthorities.has(path)) {
|
|
1087
|
+
targetAuthorities.set(path, "profile");
|
|
1018
1088
|
}
|
|
1019
1089
|
}
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1090
|
+
// Apply unloads first, then loads. A failed mutation stops the generation immediately; the
|
|
1091
|
+
// outer recovery reload restores one coherent runtime instead of compounding partial changes.
|
|
1092
|
+
for (const extension of [...loadedExtensions]) {
|
|
1093
|
+
if (targetAuthorities.has(extension.path) || targetAuthorities.has(extension.resolvedPath))
|
|
1094
|
+
continue;
|
|
1095
|
+
this._assertReloadQuiescent("reconcile extensions");
|
|
1096
|
+
await this._unloadExtensionLive(extension.path, false, false);
|
|
1027
1097
|
}
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1098
|
+
for (const [path, authority] of targetAuthorities) {
|
|
1099
|
+
if (authority === "loaded" || this.deps.getResourceLoader().getLoadedExtension(path))
|
|
1100
|
+
continue;
|
|
1101
|
+
this._assertReloadQuiescent("reconcile extensions");
|
|
1102
|
+
this._assertExtensionLoadAllowed(path, authority);
|
|
1103
|
+
await this._loadExtensionLive(path, authority, false);
|
|
1031
1104
|
}
|
|
1032
1105
|
// Single notification at the end
|
|
1033
1106
|
this.deps.notifyExtensionsChanged();
|
|
1034
1107
|
}
|
|
1035
1108
|
catch (error) {
|
|
1036
|
-
|
|
1037
|
-
try {
|
|
1038
|
-
await this.reload();
|
|
1039
|
-
}
|
|
1040
|
-
catch {
|
|
1041
|
-
// Suppress nested error; original error will be thrown below
|
|
1042
|
-
}
|
|
1109
|
+
await this._recoverLiveExtensionFailure();
|
|
1043
1110
|
throw error;
|
|
1044
1111
|
}
|
|
1045
1112
|
}
|