@abot-ai/runtime 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plugins/system/source/application-catalog.d.ts +14 -0
- package/dist/plugins/system/source/application-catalog.js +185 -0
- package/dist/plugins/system/source/application-launch.d.ts +10 -0
- package/dist/plugins/system/source/application-launch.js +80 -0
- package/dist/plugins/system/source/application-observation.d.ts +25 -0
- package/dist/plugins/system/source/application-observation.js +53 -0
- package/dist/plugins/system/source/commands.d.ts +7 -0
- package/dist/plugins/system/source/commands.js +71 -0
- package/dist/plugins/system/source/companion/autostart.d.ts +16 -0
- package/dist/plugins/system/source/companion/autostart.js +146 -0
- package/dist/plugins/system/source/companion/broker-location.d.ts +11 -0
- package/dist/plugins/system/source/companion/broker-location.js +76 -0
- package/dist/plugins/system/source/companion/broker-server.d.ts +4 -0
- package/dist/plugins/system/source/companion/broker-server.js +147 -0
- package/dist/plugins/system/source/companion/connection.d.ts +25 -0
- package/dist/plugins/system/source/companion/connection.js +182 -0
- package/dist/plugins/system/source/companion/liveness.d.ts +3 -0
- package/dist/plugins/system/source/companion/liveness.js +20 -0
- package/dist/plugins/system/source/companion/native-address.d.ts +12 -0
- package/dist/plugins/system/source/companion/native-address.js +41 -0
- package/dist/plugins/system/source/companion/native-identity.d.ts +2 -0
- package/dist/plugins/system/source/companion/native-identity.js +23 -0
- package/dist/plugins/system/source/companion/native-messages.d.ts +9 -0
- package/dist/plugins/system/source/companion/native-messages.js +77 -0
- package/dist/plugins/system/source/companion/native-session.d.ts +19 -0
- package/dist/plugins/system/source/companion/native-session.js +205 -0
- package/dist/plugins/system/source/companion/native-state.d.ts +22 -0
- package/dist/plugins/system/source/companion/native-state.js +126 -0
- package/dist/plugins/system/source/companion/native-supervisor.d.ts +10 -0
- package/dist/plugins/system/source/companion/native-supervisor.js +93 -0
- package/dist/plugins/system/source/companion/pairing-store.d.ts +22 -0
- package/dist/plugins/system/source/companion/pairing-store.js +102 -0
- package/dist/plugins/system/source/companion/private-store.d.ts +4 -0
- package/dist/plugins/system/source/companion/private-store.js +59 -0
- package/dist/plugins/system/source/companion/process-owner-identity.d.ts +22 -0
- package/dist/plugins/system/source/companion/process-owner-identity.js +144 -0
- package/dist/plugins/system/source/companion/protocol.d.ts +57 -0
- package/dist/plugins/system/source/companion/protocol.js +66 -0
- package/dist/plugins/system/source/contracts.d.ts +38 -0
- package/dist/plugins/system/source/contracts.js +7 -0
- package/dist/plugins/system/source/elevation.d.ts +8 -0
- package/dist/plugins/system/source/elevation.js +57 -0
- package/dist/plugins/system/source/handlers.d.ts +3 -0
- package/dist/plugins/system/source/handlers.js +90 -0
- package/dist/plugins/system/source/host-evidence.d.ts +4 -0
- package/dist/plugins/system/source/host-evidence.js +52 -0
- package/dist/plugins/system/source/host-observation.d.ts +25 -0
- package/dist/plugins/system/source/host-observation.js +59 -0
- package/dist/plugins/system/source/process-result.d.ts +4 -0
- package/dist/plugins/system/source/process-result.js +86 -0
- package/dist/plugins/system/source/process-runner.d.ts +3 -0
- package/dist/plugins/system/source/process-runner.js +103 -0
- package/dist/plugins/system/source/target-observation.d.ts +18 -0
- package/dist/plugins/system/source/target-observation.js +29 -0
- package/dist/plugins/system/source/targets.d.ts +8 -0
- package/dist/plugins/system/source/targets.js +101 -0
- package/dist/scripts/add-runtime-model.js +10 -53
- package/dist/scripts/runtime-model-addition.d.ts +13 -0
- package/dist/scripts/runtime-model-addition.js +53 -0
- package/dist/scripts/runtime-setup-files.d.ts +3 -1
- package/dist/scripts/runtime-setup-files.js +18 -1
- package/dist/src/capabilities/file-output-presentation.d.ts +43 -0
- package/dist/src/capabilities/file-output-presentation.js +133 -0
- package/dist/src/capabilities/tool-definition-validator/definition-parser.js +2 -0
- package/dist/src/capabilities/tool-definition-validator/event-input-text-options.d.ts +5 -0
- package/dist/src/capabilities/tool-definition-validator/event-input-text-options.js +37 -0
- package/dist/src/capabilities/tool-definition-validator/event-presentation.js +3 -0
- package/dist/src/capabilities/tool-definition-validator/module-registry.js +12 -0
- package/dist/src/capabilities/tool-event-input-text.d.ts +9 -0
- package/dist/src/capabilities/tool-event-input-text.js +64 -0
- package/dist/src/capabilities/tool-event-metadata.js +10 -0
- package/dist/src/capabilities/tool-executor.d.ts +1 -0
- package/dist/src/capabilities/tool-executor.js +1 -0
- package/dist/src/capabilities/tool-permission-mode.d.ts +7 -0
- package/dist/src/capabilities/tool-permission-mode.js +27 -0
- package/dist/src/capabilities/tool-types.d.ts +18 -2
- package/dist/src/cli/abot.js +18 -15
- package/dist/src/cli/host-companion-bundle.mjs +5201 -0
- package/dist/src/cli/host-companion-entry.d.ts +8 -0
- package/dist/src/cli/host-companion-entry.js +70 -0
- package/dist/src/cli/host-companion-startup.d.ts +4 -0
- package/dist/src/cli/host-companion-startup.js +35 -0
- package/dist/src/cli/host-companion.d.ts +5 -0
- package/dist/src/cli/host-companion.js +203 -0
- package/dist/src/model-gateway/server/configuration.js +4 -1
- package/dist/src/model-gateway/server/contracts.d.ts +2 -0
- package/dist/src/plugin-contract/entrypoint.d.ts +4 -2
- package/dist/src/plugin-contract/manifest.d.ts +1 -0
- package/dist/src/runtime/adapters/config-file-transaction.d.ts +46 -0
- package/dist/src/runtime/adapters/config-file-transaction.js +158 -0
- package/dist/src/runtime/adapters/configured-skill-provider.js +3 -3
- package/dist/src/runtime/adapters/in-memory-session-store.js +11 -1
- package/dist/src/runtime/adapters/long-term-memory/file-lock/acquisition.js +7 -3
- package/dist/src/runtime/adapters/long-term-memory/file-lock/contracts.d.ts +4 -1
- package/dist/src/runtime/adapters/long-term-memory/file-lock/install.d.ts +1 -1
- package/dist/src/runtime/adapters/long-term-memory/file-lock/install.js +5 -1
- package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-identity.d.ts +3 -0
- package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-identity.js +15 -0
- package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-record.js +2 -0
- package/dist/src/runtime/adapters/long-term-memory/onboarding-config-repository.js +17 -43
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/catalog/registrations.js +6 -2
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.js +10 -1
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/execution-binding.d.ts +11 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/execution-binding.js +37 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/file-output-presentation.d.ts +7 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/file-output-presentation.js +105 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/run.js +29 -3
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/action-fingerprint.d.ts +1 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/action-fingerprint.js +1 -0
- package/dist/src/runtime/capabilities/configured-tool-registry.js +9 -1
- package/dist/src/runtime/capabilities/file-output-root-identity.d.ts +5 -0
- package/dist/src/runtime/capabilities/file-output-root-identity.js +146 -0
- package/dist/src/runtime/capabilities/file-output-root-marker-creation.d.ts +5 -0
- package/dist/src/runtime/capabilities/file-output-root-marker-creation.js +63 -0
- package/dist/src/runtime/capabilities/request-bound-tool-registry.d.ts +1 -0
- package/dist/src/runtime/capabilities/request-bound-tool-registry.js +6 -1
- package/dist/src/runtime/capabilities/request-module-preparation.d.ts +3 -0
- package/dist/src/runtime/capabilities/request-module-preparation.js +102 -0
- package/dist/src/runtime/capabilities/request-permission-catalog.d.ts +10 -0
- package/dist/src/runtime/capabilities/request-permission-catalog.js +50 -0
- package/dist/src/runtime/capabilities/request-permission-tool-registry.d.ts +4 -0
- package/dist/src/runtime/capabilities/request-permission-tool-registry.js +61 -0
- package/dist/src/runtime/capabilities/request-runtime-tool-registry.d.ts +3 -0
- package/dist/src/runtime/capabilities/request-runtime-tool-registry.js +5 -2
- package/dist/src/runtime/capabilities/request-working-directory.d.ts +3 -0
- package/dist/src/runtime/capabilities/request-working-directory.js +12 -0
- package/dist/src/runtime/composition.d.ts +2 -0
- package/dist/src/runtime/config/runner/loader.d.ts +4 -0
- package/dist/src/runtime/config/runner/loader.js +23 -3
- package/dist/src/runtime/context/capability-brief-budget.d.ts +18 -0
- package/dist/src/runtime/context/capability-brief-budget.js +38 -0
- package/dist/src/runtime/context/capability-brief-readmission.d.ts +21 -0
- package/dist/src/runtime/context/capability-brief-readmission.js +47 -0
- package/dist/src/runtime/context/capability-brief.d.ts +9 -2
- package/dist/src/runtime/context/capability-brief.js +21 -39
- package/dist/src/runtime/context/capability-descriptions.d.ts +3 -0
- package/dist/src/runtime/context/capability-descriptions.js +23 -0
- package/dist/src/runtime/default-environment-adapters.js +3 -4
- package/dist/src/runtime/local-application.d.ts +18 -0
- package/dist/src/runtime/local-application.js +12 -0
- package/dist/src/runtime/local-host/app-service-dispatch.d.ts +1 -0
- package/dist/src/runtime/local-host/app-service-dispatch.js +9 -0
- package/dist/src/runtime/local-host/client-services.d.ts +16 -0
- package/dist/src/runtime/local-host/client-services.js +3 -2
- package/dist/src/runtime/local-host/contracts.d.ts +4 -0
- package/dist/src/runtime/local-host/startup-connection.js +22 -7
- package/dist/src/runtime/local-host/transport.js +14 -2
- package/dist/src/runtime/orchestration/role-calls/candidate-validation.js +5 -2
- package/dist/src/runtime/orchestration/role-calls/command-decoder.js +3 -0
- package/dist/src/runtime/orchestration/role-calls/command-dispatch/work-plan-transition.d.ts +3 -0
- package/dist/src/runtime/orchestration/role-calls/command-dispatch/work-plan-transition.js +46 -0
- package/dist/src/runtime/orchestration/role-calls/command-dispatch.js +3 -0
- package/dist/src/runtime/orchestration/role-calls/contracts.d.ts +8 -4
- package/dist/src/runtime/orchestration/role-calls/transactions.js +2 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-contracts.d.ts +48 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-contracts.js +9 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-source.d.ts +7 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-source.js +85 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-transactions.d.ts +3 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-transactions.js +17 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-validation.d.ts +10 -0
- package/dist/src/runtime/orchestration/role-calls/work-plan-validation.js +149 -0
- package/dist/src/runtime/orchestration/worker-capabilities/contracts.d.ts +1 -1
- package/dist/src/runtime/orchestration/worker-capabilities/contracts.js +1 -1
- package/dist/src/runtime/plugins/compiled-catalog.d.ts +2 -1
- package/dist/src/runtime/plugins/configured-manifests.d.ts +3 -0
- package/dist/src/runtime/plugins/configured-manifests.js +37 -0
- package/dist/src/runtime/plugins/entrypoint-validation.d.ts +6 -0
- package/dist/src/runtime/plugins/entrypoint-validation.js +74 -0
- package/dist/src/runtime/plugins/loader.js +11 -123
- package/dist/src/runtime/plugins/manifest-discovery.d.ts +4 -1
- package/dist/src/runtime/plugins/manifest-discovery.js +8 -1
- package/dist/src/runtime/plugins/manifest-projection.js +3 -0
- package/dist/src/runtime/plugins/manifest-validator.js +7 -1
- package/dist/src/runtime/plugins/runtime-capability-plugins.d.ts +4 -0
- package/dist/src/runtime/plugins/runtime-capability-plugins.js +7 -0
- package/dist/src/runtime/plugins/selection.d.ts +14 -0
- package/dist/src/runtime/plugins/selection.js +38 -0
- package/dist/src/runtime/ports.d.ts +8 -2
- package/dist/src/runtime/projects/contracts.d.ts +40 -0
- package/dist/src/runtime/projects/contracts.js +10 -0
- package/dist/src/runtime/projects/folders.d.ts +7 -0
- package/dist/src/runtime/projects/folders.js +110 -0
- package/dist/src/runtime/projects/repository.d.ts +10 -0
- package/dist/src/runtime/projects/repository.js +54 -0
- package/dist/src/runtime/projects/service.d.ts +3 -0
- package/dist/src/runtime/projects/service.js +34 -0
- package/dist/src/runtime/projects/session-paths.d.ts +5 -0
- package/dist/src/runtime/projects/session-paths.js +13 -0
- package/dist/src/runtime/request/execution-agent-plan-update.d.ts +4 -0
- package/dist/src/runtime/request/execution-agent-plan-update.js +13 -0
- package/dist/src/runtime/request/execution-agent-root-execution.js +9 -1
- package/dist/src/runtime/request/handler.js +9 -2
- package/dist/src/runtime/request/input.d.ts +2 -1
- package/dist/src/runtime/request/input.js +1 -6
- package/dist/src/runtime/request/role-call-planner-events.js +4 -0
- package/dist/src/runtime/request/role-executor-composition.js +9 -1
- package/dist/src/runtime/request/root-contract.d.ts +6 -1
- package/dist/src/runtime/request/root-execution-kernel.js +17 -0
- package/dist/src/runtime/request/root-plan-event-projection.d.ts +3 -0
- package/dist/src/runtime/request/root-plan-event-projection.js +32 -0
- package/dist/src/runtime/request/root-plan-update.d.ts +15 -0
- package/dist/src/runtime/request/root-plan-update.js +20 -0
- package/dist/src/runtime/request/worker-capability-composition.d.ts +1 -0
- package/dist/src/runtime/request/worker-capability-composition.js +2 -0
- package/dist/src/runtime/runtime-environment.d.ts +1 -0
- package/dist/src/runtime/runtime-environment.js +2 -0
- package/dist/src/runtime/steps/auditor-decision/advisory-receipt.d.ts +32 -0
- package/dist/src/runtime/steps/auditor-decision/advisory-receipt.js +106 -0
- package/dist/src/runtime/steps/auditor-decision/advisory-result-budget.d.ts +5 -0
- package/dist/src/runtime/steps/auditor-decision/advisory-result-budget.js +40 -0
- package/dist/src/runtime/steps/auditor-decision/audit-input-state.d.ts +12 -0
- package/dist/src/runtime/steps/auditor-decision/audit-input-state.js +101 -0
- package/dist/src/runtime/steps/auditor-decision/contracts.d.ts +31 -16
- package/dist/src/runtime/steps/auditor-decision/contracts.js +3 -3
- package/dist/src/runtime/steps/auditor-decision/evidence-binding.d.ts +5 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-binding.js +43 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-coverage.d.ts +2 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-coverage.js +71 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-inventory.d.ts +13 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-inventory.js +89 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-representation.d.ts +10 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-representation.js +56 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-selection.d.ts +9 -0
- package/dist/src/runtime/steps/auditor-decision/evidence-selection.js +71 -0
- package/dist/src/runtime/steps/auditor-decision/format.js +44 -2
- package/dist/src/runtime/steps/auditor-decision/index.d.ts +3 -0
- package/dist/src/runtime/steps/auditor-decision/index.js +3 -0
- package/dist/src/runtime/steps/auditor-decision/input.d.ts +2 -2
- package/dist/src/runtime/steps/auditor-decision/input.js +64 -20
- package/dist/src/runtime/steps/auditor-decision/parser.js +38 -23
- package/dist/src/runtime/steps/auditor-decision/projection.js +49 -99
- package/dist/src/runtime/steps/auditor-decision/prompt.d.ts +1 -1
- package/dist/src/runtime/steps/auditor-decision/prompt.js +9 -4
- package/dist/src/runtime/steps/auditor-decision/run.js +79 -47
- package/dist/src/runtime/steps/execution-agent/contracts.d.ts +8 -1
- package/dist/src/runtime/steps/execution-agent/contracts.js +2 -0
- package/dist/src/runtime/steps/execution-agent/decision-parsing.js +4 -0
- package/dist/src/runtime/steps/execution-agent/format.js +4 -3
- package/dist/src/runtime/steps/execution-agent/input.js +10 -11
- package/dist/src/runtime/steps/execution-agent/prompt.d.ts +1 -0
- package/dist/src/runtime/steps/execution-agent/prompt.js +11 -4
- package/dist/src/runtime/steps/execution-agent/state-context.js +10 -0
- package/dist/src/runtime/steps/execution-agent/work-plan-contract.d.ts +18 -0
- package/dist/src/runtime/steps/execution-agent/work-plan-contract.js +86 -0
- package/dist/src/runtime/steps/execution-agent/work-plan-decision-parsing.d.ts +2 -0
- package/dist/src/runtime/steps/execution-agent/work-plan-decision-parsing.js +38 -0
- package/dist/src/runtime/steps/execution-agent/work-plan-sources.d.ts +6 -0
- package/dist/src/runtime/steps/execution-agent/work-plan-sources.js +54 -0
- package/dist/src/runtime/steps/planner-decision/capability-brief.d.ts +40 -0
- package/dist/src/runtime/steps/planner-decision/capability-brief.js +47 -0
- package/dist/src/runtime/steps/planner-decision/input.d.ts +4 -2
- package/dist/src/runtime/steps/planner-decision/input.js +23 -13
- package/dist/src/runtime/steps/planner-decision/prompt.js +2 -2
- package/dist/src/runtime/steps/planner-decision/run.js +11 -7
- package/dist/src/runtime/steps/planner-graph/parser.js +0 -11
- package/dist/src/runtime/steps/planner-graph/prompt.js +2 -1
- package/dist/src/runtime/steps/supervisor-decision/capability-brief-readmission.d.ts +10 -0
- package/dist/src/runtime/steps/supervisor-decision/capability-brief-readmission.js +39 -0
- package/dist/src/runtime/steps/supervisor-decision/run.js +2 -1
- package/dist/src/runtime/steps/worker-decision/parser/accepted-decision.d.ts +3 -1
- package/dist/src/runtime/steps/worker-decision/parser/accepted-decision.js +20 -1
- package/dist/src/runtime/steps/worker-decision/parser/capability-batch-validation.d.ts +1 -1
- package/dist/src/runtime/steps/worker-decision/parser/capability-batch-validation.js +6 -6
- package/dist/src/runtime/steps/worker-decision/parser/capability-invocation-validation.js +2 -1
- package/dist/src/sessions/project-binding.d.ts +12 -0
- package/dist/src/sessions/project-binding.js +49 -0
- package/dist/src/sessions/record/projection.d.ts +6 -1
- package/dist/src/sessions/record/projection.js +1 -0
- package/dist/src/sessions/session-service.d.ts +2 -1
- package/dist/src/sessions/session-service.js +11 -1
- package/dist/src/sessions/types.d.ts +7 -0
- package/dist/src/web-ui/app/ARCHITECTURE.md +121 -1
- package/dist/src/web-ui/app/app-bootstrap.js +3 -0
- package/dist/src/web-ui/app/app-dom.js +3 -0
- package/dist/src/web-ui/app/app-state.js +38 -0
- package/dist/src/web-ui/app/app.js +76 -67
- package/dist/src/web-ui/app/components/config-workspace/config-model.js +23 -3
- package/dist/src/web-ui/app/components/config-workspace/dashboard-rendering.js +2 -0
- package/dist/src/web-ui/app/components/config-workspace/field-rendering.js +2 -0
- package/dist/src/web-ui/app/components/config-workspace/model-rendering.js +6 -0
- package/dist/src/web-ui/app/components/config-workspace/model-setup-entry.js +27 -0
- package/dist/src/web-ui/app/components/config-workspace/raw-config-repair.js +28 -0
- package/dist/src/web-ui/app/components/config-workspace/workspace-events.js +5 -0
- package/dist/src/web-ui/app/components/config-workspace/workspace-mutations.js +23 -3
- package/dist/src/web-ui/app/components/config-workspace/workspace-persistence.js +26 -8
- package/dist/src/web-ui/app/components/config-workspace/workspace-view.js +56 -0
- package/dist/src/web-ui/app/components/config-workspace.js +11 -0
- package/dist/src/web-ui/app/components/conversation-activity.d.ts +6 -0
- package/dist/src/web-ui/app/components/conversation-activity.js +10 -2
- package/dist/src/web-ui/app/components/conversation-file-action.js +33 -0
- package/dist/src/web-ui/app/components/conversation-file-focus.d.ts +12 -0
- package/dist/src/web-ui/app/components/conversation-file-focus.js +149 -0
- package/dist/src/web-ui/app/components/conversation-file-preview.d.ts +23 -0
- package/dist/src/web-ui/app/components/conversation-file-preview.js +247 -0
- package/dist/src/web-ui/app/components/conversation-role-cards.d.ts +6 -0
- package/dist/src/web-ui/app/components/conversation-role-cards.js +10 -2
- package/dist/src/web-ui/app/components/conversation-tool-evidence.d.ts +9 -0
- package/dist/src/web-ui/app/components/conversation-tool-evidence.js +129 -0
- package/dist/src/web-ui/app/components/conversation-tools.d.ts +6 -0
- package/dist/src/web-ui/app/components/conversation-tools.js +25 -105
- package/dist/src/web-ui/app/components/conversation-view.js +10 -1
- package/dist/src/web-ui/app/components/dashboard/workspace.js +19 -7
- package/dist/src/web-ui/app/components/model-setup/rendering.js +99 -0
- package/dist/src/web-ui/app/components/model-setup/save-flow.js +111 -0
- package/dist/src/web-ui/app/components/model-setup/save-outcome.js +16 -0
- package/dist/src/web-ui/app/components/model-setup/validation.js +125 -0
- package/dist/src/web-ui/app/components/model-setup/wizard.d.ts +44 -0
- package/dist/src/web-ui/app/components/model-setup/wizard.js +370 -0
- package/dist/src/web-ui/app/components/plugins/manager.js +200 -0
- package/dist/src/web-ui/app/components/plugins/rendering.js +124 -0
- package/dist/src/web-ui/app/components/plugins/view-state.js +123 -0
- package/dist/src/web-ui/app/components/project-creation.js +119 -0
- package/dist/src/web-ui/app/components/project-session-groups.js +95 -0
- package/dist/src/web-ui/app/components/runtime-config-activation.js +83 -0
- package/dist/src/web-ui/app/components/runtime-setup/bridge-guide.d.ts +9 -0
- package/dist/src/web-ui/app/components/runtime-setup/bridge-guide.js +198 -0
- package/dist/src/web-ui/app/components/runtime-setup/bridge-rendering.js +107 -0
- package/dist/src/web-ui/app/components/runtime-setup/commands.js +54 -0
- package/dist/src/web-ui/app/components/runtime-setup/configuration-recovery.js +25 -0
- package/dist/src/web-ui/app/components/runtime-setup/connection-form.js +154 -0
- package/dist/src/web-ui/app/components/runtime-setup/connection-state.js +71 -0
- package/dist/src/web-ui/app/components/runtime-setup/context-window.js +18 -0
- package/dist/src/web-ui/app/components/runtime-setup/embedding-credential-status.d.ts +15 -0
- package/dist/src/web-ui/app/components/runtime-setup/embedding-credential-status.js +87 -0
- package/dist/src/web-ui/app/components/runtime-setup/embedding-provider-receipt.js +30 -0
- package/dist/src/web-ui/app/components/runtime-setup/embedding-rendering.js +57 -0
- package/dist/src/web-ui/app/components/runtime-setup/embedding.js +284 -0
- package/dist/src/web-ui/app/components/runtime-setup/optional-steps.js +117 -0
- package/dist/src/web-ui/app/components/runtime-setup/plugins.js +173 -0
- package/dist/src/web-ui/app/components/runtime-setup/rendering.js +141 -0
- package/dist/src/web-ui/app/components/runtime-setup/validation.js +69 -0
- package/dist/src/web-ui/app/components/runtime-setup/view-state.js +58 -0
- package/dist/src/web-ui/app/components/runtime-setup/wizard-shell.js +27 -0
- package/dist/src/web-ui/app/components/runtime-setup-guide.d.ts +66 -5
- package/dist/src/web-ui/app/components/runtime-setup-guide.js +415 -461
- package/dist/src/web-ui/app/components/system-host/download.js +38 -0
- package/dist/src/web-ui/app/components/system-host/manager.js +249 -0
- package/dist/src/web-ui/app/components/system-host/rendering.js +88 -0
- package/dist/src/web-ui/app/components/system-host/setup-notice.js +87 -0
- package/dist/src/web-ui/app/components/system-host/visibility.js +35 -0
- package/dist/src/web-ui/app/components/tool-approval-card.d.ts +4 -0
- package/dist/src/web-ui/app/components/tool-approval-card.js +15 -0
- package/dist/src/web-ui/app/configuration-environment-refresh.js +118 -0
- package/dist/src/web-ui/app/configuration-feature.js +125 -4
- package/dist/src/web-ui/app/controllers/app-event-bindings.js +2 -0
- package/dist/src/web-ui/app/controllers/composer-workspace-controller.d.ts +1 -0
- package/dist/src/web-ui/app/controllers/composer-workspace-controller.js +4 -3
- package/dist/src/web-ui/app/controllers/conversation-file-preview-controller.d.ts +24 -0
- package/dist/src/web-ui/app/controllers/conversation-file-preview-controller.js +158 -0
- package/dist/src/web-ui/app/controllers/conversation-file-preview-feature.d.ts +19 -0
- package/dist/src/web-ui/app/controllers/conversation-file-preview-feature.js +63 -0
- package/dist/src/web-ui/app/controllers/conversation-session-controller.d.ts +1 -0
- package/dist/src/web-ui/app/controllers/conversation-session-controller.js +2 -0
- package/dist/src/web-ui/app/controllers/conversation-view-feature.js +28 -0
- package/dist/src/web-ui/app/controllers/dashboard-controller.js +17 -0
- package/dist/src/web-ui/app/controllers/projects-controller.d.ts +45 -0
- package/dist/src/web-ui/app/controllers/projects-controller.js +278 -0
- package/dist/src/web-ui/app/controllers/realtime-event-controller.js +3 -0
- package/dist/src/web-ui/app/controllers/runtime-onboarding-controller.js +13 -6
- package/dist/src/web-ui/app/controllers/runtime-selection-controller.d.ts +7 -1
- package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +11 -95
- package/dist/src/web-ui/app/controllers/session-controller.js +64 -57
- package/dist/src/web-ui/app/controllers/tool-permission-mode-controller.d.ts +20 -0
- package/dist/src/web-ui/app/controllers/tool-permission-mode-controller.js +116 -0
- package/dist/src/web-ui/app/dashboard-feature.js +32 -10
- package/dist/src/web-ui/app/index.html +44 -7
- package/dist/src/web-ui/app/lib/conversation-file-preview.d.ts +12 -0
- package/dist/src/web-ui/app/lib/conversation-file-reference.d.ts +30 -0
- package/dist/src/web-ui/app/lib/conversation-file-reference.js +66 -0
- package/dist/src/web-ui/app/lib/tool-activity-event.d.ts +2 -0
- package/dist/src/web-ui/app/lib/tool-activity-event.js +18 -6
- package/dist/src/web-ui/app/lib/tool-activity-model.d.ts +2 -0
- package/dist/src/web-ui/app/lib/tool-activity-model.js +4 -2
- package/dist/src/web-ui/app/lib/tool-permission-mode.d.ts +16 -0
- package/dist/src/web-ui/app/lib/tool-permission-mode.js +60 -0
- package/dist/src/web-ui/app/lib/tool-process-activity-fields.js +102 -0
- package/dist/src/web-ui/app/projects-feature.js +134 -0
- package/dist/src/web-ui/app/runtime-onboarding-feature.d.ts +34 -0
- package/dist/src/web-ui/app/runtime-onboarding-feature.js +92 -0
- package/dist/src/web-ui/app/runtime-setup-page-lifecycle.d.ts +5 -0
- package/dist/src/web-ui/app/runtime-setup-page-lifecycle.js +13 -0
- package/dist/src/web-ui/app/services/client-preferences.d.ts +24 -0
- package/dist/src/web-ui/app/services/client-preferences.js +32 -19
- package/dist/src/web-ui/app/services/runtime-web-client/configuration.js +46 -0
- package/dist/src/web-ui/app/services/runtime-web-client/conversation-files.d.ts +28 -0
- package/dist/src/web-ui/app/services/runtime-web-client/conversation-files.js +75 -0
- package/dist/src/web-ui/app/services/runtime-web-client/projects.d.ts +19 -0
- package/dist/src/web-ui/app/services/runtime-web-client/projects.js +34 -0
- package/dist/src/web-ui/app/services/runtime-web-client/system-host.js +27 -0
- package/dist/src/web-ui/app/services/runtime-web-client.d.ts +52 -0
- package/dist/src/web-ui/app/services/runtime-web-client.js +35 -4
- package/dist/src/web-ui/app/styles/13-projects.css +272 -0
- package/dist/src/web-ui/app/styles/18-dashboard.css +0 -5
- package/dist/src/web-ui/app/styles/19-runtime-setup.css +411 -0
- package/dist/src/web-ui/app/styles/20-chat-composer.css +0 -384
- package/dist/src/web-ui/app/styles/29-conversation-file-preview.css +254 -0
- package/dist/src/web-ui/app/styles/37-runtime-activation.css +26 -0
- package/dist/src/web-ui/app/styles/38-schedule-workspace.css +1 -10
- package/dist/src/web-ui/app/styles/41-plugin-management.css +351 -0
- package/dist/src/web-ui/app/styles/42-runtime-setup-plugins.css +179 -0
- package/dist/src/web-ui/app/styles/43-model-setup.css +73 -0
- package/dist/src/web-ui/app/styles/44-model-provider-cards.css +63 -0
- package/dist/src/web-ui/app/styles/45-bridge-setup.css +44 -0
- package/dist/src/web-ui/app/styles/46-system-host.css +132 -0
- package/dist/src/web-ui/app/styles.css +10 -0
- package/dist/src/web-ui/config-dashboard-backend.d.ts +5 -0
- package/dist/src/web-ui/config-dashboard-backend.js +94 -114
- package/dist/src/web-ui/config-dashboard-model-identity.d.ts +7 -0
- package/dist/src/web-ui/config-dashboard-model-identity.js +45 -0
- package/dist/src/web-ui/config-dashboard-save-transaction.d.ts +5 -0
- package/dist/src/web-ui/config-dashboard-save-transaction.js +21 -0
- package/dist/src/web-ui/environment-config.d.ts +17 -0
- package/dist/src/web-ui/environment-config.js +60 -0
- package/dist/src/web-ui/forwarded-loopback-policy.d.ts +2 -0
- package/dist/src/web-ui/forwarded-loopback-policy.js +14 -0
- package/dist/src/web-ui/local-runtime/api-router.d.ts +7 -0
- package/dist/src/web-ui/local-runtime/api-router.js +136 -12
- package/dist/src/web-ui/local-runtime/config-mutation-request.d.ts +8 -0
- package/dist/src/web-ui/local-runtime/config-mutation-request.js +55 -0
- package/dist/src/web-ui/local-runtime/configuration-activation-environments.d.ts +22 -0
- package/dist/src/web-ui/local-runtime/configuration-activation-environments.js +106 -0
- package/dist/src/web-ui/local-runtime/configuration-activation-source.d.ts +7 -0
- package/dist/src/web-ui/local-runtime/configuration-activation-source.js +36 -0
- package/dist/src/web-ui/local-runtime/configuration-activation.d.ts +20 -0
- package/dist/src/web-ui/local-runtime/configuration-activation.js +107 -0
- package/dist/src/web-ui/local-runtime/contracts.d.ts +8 -0
- package/dist/src/web-ui/local-runtime/conversation-file-access.d.ts +30 -0
- package/dist/src/web-ui/local-runtime/conversation-file-access.js +131 -0
- package/dist/src/web-ui/local-runtime/conversation-file-content.d.ts +21 -0
- package/dist/src/web-ui/local-runtime/conversation-file-content.js +75 -0
- package/dist/src/web-ui/local-runtime/conversation-file-format.d.ts +12 -0
- package/dist/src/web-ui/local-runtime/conversation-file-format.js +87 -0
- package/dist/src/web-ui/local-runtime/conversation-file-native-open.d.ts +10 -0
- package/dist/src/web-ui/local-runtime/conversation-file-native-open.js +94 -0
- package/dist/src/web-ui/local-runtime/conversation-file-native-request.d.ts +4 -0
- package/dist/src/web-ui/local-runtime/conversation-file-native-request.js +72 -0
- package/dist/src/web-ui/local-runtime/conversation-file-routes.d.ts +11 -0
- package/dist/src/web-ui/local-runtime/conversation-file-routes.js +105 -0
- package/dist/src/web-ui/local-runtime/conversation-file-target.d.ts +14 -0
- package/dist/src/web-ui/local-runtime/conversation-file-target.js +158 -0
- package/dist/src/web-ui/local-runtime/environment-registry.d.ts +14 -0
- package/dist/src/web-ui/local-runtime/environment-registry.js +121 -6
- package/dist/src/web-ui/local-runtime/memory-onboarding-routes.d.ts +2 -1
- package/dist/src/web-ui/local-runtime/memory-onboarding-routes.js +15 -10
- package/dist/src/web-ui/local-runtime/model-setup-catalog.d.ts +17 -0
- package/dist/src/web-ui/local-runtime/model-setup-catalog.js +45 -0
- package/dist/src/web-ui/local-runtime/model-setup-identity.d.ts +16 -0
- package/dist/src/web-ui/local-runtime/model-setup-identity.js +20 -0
- package/dist/src/web-ui/local-runtime/model-setup-input.d.ts +24 -0
- package/dist/src/web-ui/local-runtime/model-setup-input.js +107 -0
- package/dist/src/web-ui/local-runtime/model-setup-provider.d.ts +17 -0
- package/dist/src/web-ui/local-runtime/model-setup-provider.js +68 -0
- package/dist/src/web-ui/local-runtime/model-setup-retry.d.ts +14 -0
- package/dist/src/web-ui/local-runtime/model-setup-retry.js +47 -0
- package/dist/src/web-ui/local-runtime/model-setup-routes.d.ts +12 -0
- package/dist/src/web-ui/local-runtime/model-setup-routes.js +50 -0
- package/dist/src/web-ui/local-runtime/model-setup-service.d.ts +30 -0
- package/dist/src/web-ui/local-runtime/model-setup-service.js +93 -0
- package/dist/src/web-ui/local-runtime/model-setup-validation.d.ts +5 -0
- package/dist/src/web-ui/local-runtime/model-setup-validation.js +33 -0
- package/dist/src/web-ui/local-runtime/plugin-management-routes.d.ts +14 -0
- package/dist/src/web-ui/local-runtime/plugin-management-routes.js +50 -0
- package/dist/src/web-ui/local-runtime/project-routes.d.ts +17 -0
- package/dist/src/web-ui/local-runtime/project-routes.js +93 -0
- package/dist/src/web-ui/local-runtime/provider-credential-identity.d.ts +3 -0
- package/dist/src/web-ui/local-runtime/provider-credential-identity.js +18 -0
- package/dist/src/web-ui/local-runtime/request-execution.d.ts +1 -0
- package/dist/src/web-ui/local-runtime/request-execution.js +8 -0
- package/dist/src/web-ui/local-runtime/runtime-availability.js +36 -7
- package/dist/src/web-ui/local-runtime/runtime-setup-completion.d.ts +13 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-completion.js +28 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-connection-edit.d.ts +13 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-connection-edit.js +110 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-credential-completion.d.ts +4 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-credential-completion.js +21 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-credentials.d.ts +14 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-credentials.js +148 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-draft-recovery.d.ts +7 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-draft-recovery.js +18 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-draft.d.ts +21 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-draft.js +105 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-embedding-invalidation.d.ts +8 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-embedding-invalidation.js +40 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-environment-assignment.d.ts +1 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-environment-assignment.js +27 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-input.d.ts +19 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-input.js +82 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-model-file.d.ts +7 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-model-file.js +35 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-provider-ownership-recovery.d.ts +4 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-provider-ownership-recovery.js +23 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-provider-retention.d.ts +11 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-provider-retention.js +31 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-provider.d.ts +11 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-provider.js +60 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-receipt-file.d.ts +8 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-receipt-file.js +77 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-routes.d.ts +35 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-routes.js +56 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-scaffold.d.ts +17 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-scaffold.js +229 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-service.d.ts +65 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-service.js +195 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-validation.d.ts +8 -0
- package/dist/src/web-ui/local-runtime/runtime-setup-validation.js +35 -0
- package/dist/src/web-ui/local-runtime/saved-model-catalog.d.ts +3 -0
- package/dist/src/web-ui/local-runtime/saved-model-catalog.js +20 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-input.d.ts +8 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-input.js +71 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-provider.d.ts +13 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-provider.js +114 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-routes.d.ts +12 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-routes.js +53 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-service.d.ts +32 -0
- package/dist/src/web-ui/local-runtime/setup-embedding-service.js +59 -0
- package/dist/src/web-ui/local-runtime-backend.d.ts +1 -0
- package/dist/src/web-ui/local-runtime-backend.js +3 -0
- package/dist/src/web-ui/plugin-capability-selection.d.ts +14 -0
- package/dist/src/web-ui/plugin-capability-selection.js +48 -0
- package/dist/src/web-ui/plugin-management-catalog.d.ts +26 -0
- package/dist/src/web-ui/plugin-management-catalog.js +56 -0
- package/dist/src/web-ui/plugin-management-selection.d.ts +16 -0
- package/dist/src/web-ui/plugin-management-selection.js +71 -0
- package/dist/src/web-ui/plugin-management-service.d.ts +29 -0
- package/dist/src/web-ui/plugin-management-service.js +150 -0
- package/dist/src/web-ui/request-authority.d.ts +8 -0
- package/dist/src/web-ui/request-authority.js +129 -0
- package/dist/src/web-ui/runtime-setup-gateway-address.d.ts +3 -0
- package/dist/src/web-ui/runtime-setup-gateway-address.js +26 -0
- package/dist/src/web-ui/runtime-setup-gateway.d.ts +29 -0
- package/dist/src/web-ui/runtime-setup-gateway.js +177 -0
- package/dist/src/web-ui/runtime-setup-shutdown.d.ts +2 -0
- package/dist/src/web-ui/runtime-setup-shutdown.js +20 -0
- package/dist/src/web-ui/server.d.ts +7 -14
- package/dist/src/web-ui/server.js +53 -63
- package/dist/src/web-ui/session-read-state/service.d.ts +12 -2
- package/dist/src/web-ui/system-host-service.d.ts +19 -0
- package/dist/src/web-ui/system-host-service.js +159 -0
- package/dist/src/web-ui/system-host-setup/companion-bundle.d.ts +2 -0
- package/dist/src/web-ui/system-host-setup/companion-bundle.js +12 -0
- package/dist/src/web-ui/system-host-setup/companion-macos.d.ts +2 -0
- package/dist/src/web-ui/system-host-setup/companion-macos.js +74 -0
- package/dist/src/web-ui/system-host-setup/companion-windows.d.ts +2 -0
- package/dist/src/web-ui/system-host-setup/companion-windows.js +105 -0
- package/dist/src/web-ui/system-host-setup/installer-contract.d.ts +18 -0
- package/dist/src/web-ui/system-host-setup/installer-contract.js +51 -0
- package/dist/src/web-ui/system-host-setup/installers.d.ts +6 -0
- package/dist/src/web-ui/system-host-setup/installers.js +30 -0
- package/dist/src/web-ui/system-host-setup/native-authorization.d.ts +3 -0
- package/dist/src/web-ui/system-host-setup/native-authorization.js +11 -0
- package/dist/src/web-ui/system-host-setup/node-distribution.d.ts +19 -0
- package/dist/src/web-ui/system-host-setup/node-distribution.js +9 -0
- package/dist/src/web-ui/system-host-setup/readiness.d.ts +18 -0
- package/dist/src/web-ui/system-host-setup/readiness.js +70 -0
- package/dist/src/web-ui/system-host-setup/routes.d.ts +20 -0
- package/dist/src/web-ui/system-host-setup/routes.js +121 -0
- package/dist/src/web-ui/system-host-setup/windows-script-wrapper.d.ts +2 -0
- package/dist/src/web-ui/system-host-setup/windows-script-wrapper.js +17 -0
- package/dist/src/web-ui/system-host-setup/wsl-interop-config.d.ts +3 -0
- package/dist/src/web-ui/system-host-setup/wsl-interop-config.js +67 -0
- package/dist/src/web-ui/system-host-setup/wsl-interop-windows.d.ts +1 -0
- package/dist/src/web-ui/system-host-setup/wsl-interop-windows.js +49 -0
- package/dist/src/web-ui/system-host-upgrade-authority.d.ts +5 -0
- package/dist/src/web-ui/system-host-upgrade-authority.js +13 -0
- package/docs/architecture.md +6 -1
- package/docs/installation.md +53 -17
- package/docs/known-limitations.md +14 -0
- package/docs/plugins.md +124 -19
- package/docs/projects-and-full-plus.md +218 -0
- package/docs/runtime-invariant-coverage.md +6 -3
- package/docs/runtime-prompt-policy-contracts.md +37 -5
- package/docs/runtime-public-contracts.md +17 -0
- package/package.json +5 -2
- package/plugins/exec/plugin.json +30 -9
- package/plugins/exec/skills/exec_process_skill/SKILL.md +1 -0
- package/plugins/exec/skills/exec_skill/SKILL.md +9 -10
- package/plugins/exec/source/handlers.ts +4 -38
- package/plugins/exec/source/paths.ts +53 -49
- package/plugins/exec/source/types.ts +6 -4
- package/plugins/exec/source/validation.ts +33 -198
- package/plugins/exec/src/index.cjs +62 -204
- package/plugins/filesystem/plugin.json +1 -1
- package/plugins/filesystem/skills/dev_view_skill/SKILL.md +7 -0
- package/plugins/filesystem/source/atomic-write.ts +6 -3
- package/plugins/filesystem/source/dev-view.ts +2 -1
- package/plugins/filesystem/source/directory-authority-write.ts +4 -0
- package/plugins/filesystem/source/edit-file.ts +3 -0
- package/plugins/filesystem/source/file-output-presentation.ts +42 -0
- package/plugins/filesystem/source/mutation-parent.ts +18 -9
- package/plugins/filesystem/source/view-locator.ts +141 -0
- package/plugins/filesystem/source/view-window.ts +12 -25
- package/plugins/filesystem/source/write-file.ts +8 -0
- package/plugins/filesystem/src/index.cjs +162 -35
- package/plugins/system/plugin.json +374 -0
- package/plugins/system/skills/system_actions/SKILL.md +31 -0
- package/plugins/system/source/application-catalog.ts +237 -0
- package/plugins/system/source/application-launch.ts +113 -0
- package/plugins/system/source/application-observation.ts +78 -0
- package/plugins/system/source/commands.ts +106 -0
- package/plugins/system/source/companion/autostart.ts +185 -0
- package/plugins/system/source/companion/broker-client.ts +183 -0
- package/plugins/system/source/companion/broker-location.ts +89 -0
- package/plugins/system/source/companion/broker-server.ts +169 -0
- package/plugins/system/source/companion/connection.ts +211 -0
- package/plugins/system/source/companion/liveness.ts +23 -0
- package/plugins/system/source/companion/native-address.ts +55 -0
- package/plugins/system/source/companion/native-identity.ts +26 -0
- package/plugins/system/source/companion/native-messages.ts +100 -0
- package/plugins/system/source/companion/native-session.ts +268 -0
- package/plugins/system/source/companion/native-state.ts +135 -0
- package/plugins/system/source/companion/native-supervisor.ts +98 -0
- package/plugins/system/source/companion/pairing-store.ts +110 -0
- package/plugins/system/source/companion/private-store.ts +58 -0
- package/plugins/system/source/companion/process-owner-identity.ts +190 -0
- package/plugins/system/source/companion/protocol.ts +108 -0
- package/plugins/system/source/contracts.ts +44 -0
- package/plugins/system/source/elevation.ts +88 -0
- package/plugins/system/source/handlers.ts +120 -0
- package/plugins/system/source/host-dispatch.ts +106 -0
- package/plugins/system/source/host-evidence.ts +72 -0
- package/plugins/system/source/host-observation.ts +66 -0
- package/plugins/system/source/index.ts +8 -0
- package/plugins/system/source/process-result.ts +111 -0
- package/plugins/system/source/process-runner.ts +104 -0
- package/plugins/system/source/request-system-modules.ts +117 -0
- package/plugins/system/source/request-target-snapshot.ts +163 -0
- package/plugins/system/source/target-observation.ts +43 -0
- package/plugins/system/source/targets.ts +147 -0
- package/plugins/system/src/index.cjs +1730 -0
- package/src/runtime/README.md +36 -8
- package/src/runtime/local-host/README.md +7 -0
- package/dist/src/runtime/steps/planner-decision/capability-catalog-context.d.ts +0 -14
- package/dist/src/runtime/steps/planner-decision/capability-catalog-context.js +0 -87
package/docs/installation.md
CHANGED
|
@@ -56,33 +56,47 @@ npm init -y
|
|
|
56
56
|
npm install @abot-ai/runtime
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Start the packaged Web UI:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
npx abot
|
|
62
|
+
npx abot start
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
Open [http://127.0.0.1:5177](http://127.0.0.1:5177). The command binds to
|
|
66
|
+
loopback by default. On a fresh installation, the setup wizard lets you select
|
|
67
|
+
OpenAI or Ollama, enter a concrete model ID, and save the connection. OpenAI
|
|
68
|
+
accepts the API key directly in the form and stores it privately in the
|
|
69
|
+
consumer's `.env`. The key is not returned to the browser or stored in runtime
|
|
70
|
+
JSON. Existing OpenAI configurations missing a key open the same completion flow.
|
|
71
|
+
|
|
72
|
+
For Ollama, the server must already be running with the selected model available.
|
|
73
|
+
Its address is resolved from the ABot host, even when you use the UI from a phone.
|
|
74
|
+
Continue through the optional **Embedding** step to configure semantic memory,
|
|
75
|
+
or choose to set it up later. **Plugins** starts with all tools selected for a
|
|
76
|
+
fresh installation; turn off any plugin or individual tool you do not want.
|
|
77
|
+
Choose **Finish setup** to apply the selections, then **Start chatting**.
|
|
78
|
+
Saving chat connection details does not make a paid model request. Explicitly
|
|
79
|
+
checking an embedding model sends a small embedding probe to the chosen provider.
|
|
80
|
+
|
|
81
|
+
Command-line initialization remains available:
|
|
67
82
|
|
|
68
83
|
```bash
|
|
84
|
+
npx abot init --provider ollama --model <model-id>
|
|
69
85
|
npx abot init --provider openai --model <model-id>
|
|
70
86
|
```
|
|
71
87
|
|
|
72
|
-
|
|
73
|
-
|
|
88
|
+
For a remote Ollama server, add `--base-url http://<ollama-host>:11434`.
|
|
89
|
+
OpenAI profiles use the recommended `execution-agent-v1` policy. A gateway
|
|
90
|
+
managed by a separate process remains under that process's lifecycle; the UI
|
|
91
|
+
reports when saved changes require that owner to restart.
|
|
74
92
|
|
|
75
|
-
|
|
93
|
+
In the Web UI, open **Config → Models → Add model** to add another model.
|
|
94
|
+
Choose a saved provider connection or create a new OpenAI/Ollama connection.
|
|
95
|
+
Each provider card also has an **Add model** shortcut. Review the model, then
|
|
96
|
+
choose **Save and apply**. Saved API keys are reused; existing model profiles and
|
|
97
|
+
the default model are preserved. The added model is selected in the Models list.
|
|
76
98
|
|
|
77
|
-
|
|
78
|
-
npx abot start
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Open [http://127.0.0.1:5177](http://127.0.0.1:5177). The command binds to
|
|
82
|
-
loopback by default. If no usable model is configured, the Web UI still starts
|
|
83
|
-
and presents its setup guide.
|
|
84
|
-
|
|
85
|
-
Add another model without replacing existing providers or profiles:
|
|
99
|
+
You can also add a model from the command line:
|
|
86
100
|
|
|
87
101
|
```bash
|
|
88
102
|
npx abot add-model --profile <profile-id> --provider openai --model <model-id>
|
|
@@ -94,7 +108,8 @@ the profiles that are already configured.
|
|
|
94
108
|
### Optional Passive Long-Term Memory
|
|
95
109
|
|
|
96
110
|
Long-term memory is disabled by default. After a provider is configured, choose
|
|
97
|
-
an embedding model
|
|
111
|
+
an embedding model in the onboarding Embedding step, the Web UI Config workspace,
|
|
112
|
+
or the CLI:
|
|
98
113
|
|
|
99
114
|
```bash
|
|
100
115
|
npx abot memory status
|
|
@@ -109,6 +124,27 @@ users can discover model ids installed at the configured Ollama endpoint.
|
|
|
109
124
|
|
|
110
125
|
See [Passive Long-Term Memory](long-term-memory.md) before enabling persistence.
|
|
111
126
|
|
|
127
|
+
### Computer Access During Setup
|
|
128
|
+
|
|
129
|
+
The optional **Computer** step checks whether direct system access already works.
|
|
130
|
+
Native macOS and working WSL-to-Windows access need no additional configuration.
|
|
131
|
+
You can also open this step later in **Config → Connected computer**.
|
|
132
|
+
|
|
133
|
+
For Docker, download and open the Windows or Mac setup script on the computer
|
|
134
|
+
running Docker. It installs the matching companion and its private Node runtime,
|
|
135
|
+
pairs automatically and enables user-login startup. No copied code, separate npm
|
|
136
|
+
installation or terminal command is required. Wait for **Ready** in the Web UI.
|
|
137
|
+
|
|
138
|
+
For WSL with unavailable Windows interop, download and open the Windows repair
|
|
139
|
+
script. Opening it enables Windows interop and automatically restarts only the
|
|
140
|
+
selected distribution, preserving unrelated configuration. Finish active work
|
|
141
|
+
before opening the file: the restart interrupts that distribution's services.
|
|
142
|
+
No typed restart confirmation is required; the script verifies Windows access
|
|
143
|
+
after the restart.
|
|
144
|
+
See [Connecting a Docker Runtime to its computer](projects-and-full-plus.md#connecting-a-docker-runtime-to-its-computer)
|
|
145
|
+
for connection limits and removal. Installing ABot as a library never changes
|
|
146
|
+
host configuration or enables interop.
|
|
147
|
+
|
|
112
148
|
## Use As A Library
|
|
113
149
|
|
|
114
150
|
After the package is published:
|
|
@@ -119,3 +119,17 @@ Generated runtime state remains local and ignored:
|
|
|
119
119
|
|
|
120
120
|
Do not publish local runtime state, logs, memory, generated work output, or
|
|
121
121
|
machine-specific config.
|
|
122
|
+
|
|
123
|
+
## Conversation file viewing
|
|
124
|
+
|
|
125
|
+
File previews require the local Runtime backend and a filesystem that supplies
|
|
126
|
+
stable directory identity. Missing identity omits only the preview action;
|
|
127
|
+
committed writes and edits retain their normal results. Windows-mounted folders
|
|
128
|
+
in WSL can lack the required directory birth identity. This feature does not
|
|
129
|
+
translate Windows/WSL paths or depend on an editor integration.
|
|
130
|
+
|
|
131
|
+
Opening a file in its default desktop app is available only on macOS from a
|
|
132
|
+
local Web UI connection, for supported non-executable documents and images.
|
|
133
|
+
The server checks the recorded file authority before the handoff. The external
|
|
134
|
+
app resolves the pathname asynchronously; it does not inherit the preview
|
|
135
|
+
reader's pinned file descriptor. Native opening is never automatic.
|
package/docs/plugins.md
CHANGED
|
@@ -11,6 +11,30 @@ duplicate manifest `name` across the bundled and consumer catalogs is rejected
|
|
|
11
11
|
rather than treated as an override. In a source checkout, where both roots are
|
|
12
12
|
the same physical directory, the catalog is discovered only once.
|
|
13
13
|
|
|
14
|
+
## Manage Plugins In The Web UI
|
|
15
|
+
|
|
16
|
+
Open **Configuration → Plugins** to see installed manifests, capability counts,
|
|
17
|
+
and enabled, partially enabled or disabled selections. Switches save the selected
|
|
18
|
+
plugin's configuration while preserving capability-specific allow/deny rules.
|
|
19
|
+
Choose **Manage tools** on a plugin to manage its declared tools inside the same card.
|
|
20
|
+
The card keeps its size; the tool list scrolls when needed. Use **Back** or Escape
|
|
21
|
+
to return to the plugin overview. For example, disabling filesystem.read_file
|
|
22
|
+
leaves dev_view, edit_file and write_file unchanged. Tool switches write qualified selectors and preserve
|
|
23
|
+
the selections of every other tool. A plugin can remain enabled with all its
|
|
24
|
+
tools switched off.
|
|
25
|
+
|
|
26
|
+
Global, parent-plugin and broad tool deny rules remain explicit blockers.
|
|
27
|
+
A child switch does not silently remove those rules or enable sibling tools.
|
|
28
|
+
|
|
29
|
+
Choose **Apply changes** to activate saved settings. The Web process replaces
|
|
30
|
+
only its own idle environments and preserves session and Job files. If any
|
|
31
|
+
environment is working, or another process owns it, changes remain saved and
|
|
32
|
+
the UI explains why they cannot yet be applied. Saving a switch alone does not
|
|
33
|
+
change tools available to an already running agent.
|
|
34
|
+
|
|
35
|
+
This screen manages packages already installed on disk; it does not install
|
|
36
|
+
plugins from a marketplace.
|
|
37
|
+
|
|
14
38
|
## Package Shape
|
|
15
39
|
|
|
16
40
|
```text
|
|
@@ -119,6 +143,14 @@ input, effect, and approval. Optional capability metadata such as client event
|
|
|
119
143
|
presentation, payload authoring, development roles, and selection grounding
|
|
120
144
|
belongs here as well—not in runtime orchestration.
|
|
121
145
|
|
|
146
|
+
A plugin declares sensitive operations with `approval: "always"` in its
|
|
147
|
+
manifest, as the bundled EXEC and SYSTEM plugins do. Apply that policy to every
|
|
148
|
+
operation when the whole plugin is sensitive. The generic approval boundary
|
|
149
|
+
keeps enabled operations available in all modes: Ask and Full approve each exact
|
|
150
|
+
prepared action; FULL+ skips that extra prompt. A disabled plugin stays absent.
|
|
151
|
+
Sensitivity is declared by the plugin, never inferred from command text or tool
|
|
152
|
+
names. Ordinary `request_policy` operations retain their existing mode behavior.
|
|
153
|
+
|
|
122
154
|
`catalogGroups` classifies a capability in one or more request-catalog groups.
|
|
123
155
|
A plugin-level non-empty array under `ai.abot.runtime` is inherited by every
|
|
124
156
|
capability; an optional capability-level array overrides that default. Values
|
|
@@ -132,25 +164,42 @@ against a non-empty catalog. The runtime stores that scope on the Worker call
|
|
|
132
164
|
and exposes the OR-union of matching capabilities. The Worker still selects
|
|
133
165
|
the concrete capability and controls.
|
|
134
166
|
|
|
135
|
-
Supervisor routing
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
167
|
+
Supervisor routing and delegated Planner each receive one optional, passive
|
|
168
|
+
text brief through the same shared projection from the
|
|
169
|
+
request-filtered registry used by `capability-brief`. It first includes every
|
|
170
|
+
offered operation's tool name, operation id, summary and catalog groups when
|
|
171
|
+
that complete description set fits the existing context headroom. Request-bound
|
|
172
|
+
facts already present in summaries, such as available execution targets, remain
|
|
173
|
+
intact. Admission reserves each consumer's existing context, configured
|
|
174
|
+
instructions, calibration, output and safety headroom and stays below the
|
|
175
|
+
existing compaction threshold. Root steering is reserved only for Supervisor;
|
|
176
|
+
it does not enter the bounded Planner call.
|
|
177
|
+
|
|
178
|
+
When complete descriptions cannot fit, the existing compact representations
|
|
179
|
+
remain available under a 512-token ceiling: tool names with operation ids and
|
|
180
|
+
groups, tool names by group, group counts and effects, or no brief. The declared
|
|
181
|
+
level makes omitted detail explicit; it never implies that omitted detail means
|
|
182
|
+
an operation is unavailable. Group ids remain in the response schema in every
|
|
183
|
+
mode. No subset of tools is selected, no summary is truncated, and no model call
|
|
184
|
+
summarizes the catalog. The brief carries no input schemas, execution authority
|
|
185
|
+
or completion evidence. It is confined to delegation decisions; Worker selection,
|
|
186
|
+
Execution Agent context, approval and terminal-response contracts are unchanged.
|
|
187
|
+
Before each Supervisor routing or Planner attempt, including structured-output repairs,
|
|
188
|
+
the optional brief is reselected against the actual projected messages plus
|
|
189
|
+
current consumer-specific calibration and context. It retains its reference position or is
|
|
190
|
+
omitted when no complete level fits; repair instructions and other context stay
|
|
191
|
+
intact. Already inserted methodology is counted once. Provider token counts may
|
|
192
|
+
still differ from these estimates and trigger the existing context-compaction
|
|
193
|
+
path.
|
|
147
194
|
|
|
148
195
|
The SDK exports `buildToolAvailabilityBrief` for the unchanged on-demand plugin
|
|
149
196
|
output and `buildToolAvailabilityOverview` for informational representations.
|
|
150
197
|
The runtime context helper owns token admission and the passive reference
|
|
151
198
|
message; another step can explicitly attach it using the existing context
|
|
152
199
|
reference API. Supervisor's working-directory and response phases do not
|
|
153
|
-
receive it. Planner
|
|
200
|
+
receive it. Planner uses this same brief instead of a separate aggregate-tag
|
|
201
|
+
catalog. Its existing group-selection schema and Worker scope enforcement stay
|
|
202
|
+
unchanged; descriptions do not select a group or execute an operation.
|
|
154
203
|
|
|
155
204
|
Under `execution-agent-v1`, the canonical root receives group descriptions
|
|
156
205
|
generated from member capability ids and summaries, and may mechanically open
|
|
@@ -230,6 +279,23 @@ Run `npm run typecheck:plugins` while developing. Run
|
|
|
230
279
|
`npm run build:plugins` to regenerate every public `src/index.cjs`; CI uses
|
|
231
280
|
`npm run check:plugin-build` to reject stale or hand-edited generated output.
|
|
232
281
|
|
|
282
|
+
Plugins may export an asynchronous `prepareRequest(selectedModules)` hook alongside
|
|
283
|
+
`handlers` and `adapters`. The host invokes it once per plugin for each request,
|
|
284
|
+
after configuration selection and before projecting any model catalog. It receives
|
|
285
|
+
detached frozen contracts and may remove tools or operations, narrow input enums,
|
|
286
|
+
update operation summaries, and bind request-local implementations/adapters.
|
|
287
|
+
Names, definitions, effects, approval policy, fixed parameters, and the remaining
|
|
288
|
+
input contract cannot change. Disabled tools are never passed to the hook and
|
|
289
|
+
cannot be returned. A preparation failure fails the request; it does not silently
|
|
290
|
+
restore the unprepared catalog. Prepared state is not cached across requests.
|
|
291
|
+
|
|
292
|
+
A call adapter may provide `executionBinding(call)` with an opaque `identity` and
|
|
293
|
+
optional human-facing `metadata`. The identity participates in the normalized
|
|
294
|
+
action fingerprint before approval; it is not a model input or tool result.
|
|
295
|
+
Metadata is for approval and Activity disclosure only. The bound implementation
|
|
296
|
+
must enforce that same captured destination at dispatch and reject stale bindings.
|
|
297
|
+
Both supported execution policies consume this same prepared registry.
|
|
298
|
+
|
|
233
299
|
The loader rejects missing or unexpected handlers. Plugin settings defaults
|
|
234
300
|
and secret environment-variable names may be declared in `plugin.json`;
|
|
235
301
|
secret values never belong in the manifest. Optional secrets do not alter the
|
|
@@ -259,7 +325,7 @@ intent, or proof that the whole request completed. See
|
|
|
259
325
|
## Filesystem Roots
|
|
260
326
|
|
|
261
327
|
`environment.paths.agentWorkDir` is the configured primary work root. Plugins
|
|
262
|
-
must resolve user-controlled
|
|
328
|
+
with scoped filesystem operations must resolve user-controlled targets through the injected
|
|
263
329
|
`runtimePathResolver`; they must not reproduce normalization, containment, or
|
|
264
330
|
symlink policy. The plugin explicitly declares the configured locations that
|
|
265
331
|
its operation accepts, while the Runtime proves the resulting physical path:
|
|
@@ -282,10 +348,36 @@ files. Read-only system inspection may opt into `host_system`; that location
|
|
|
282
348
|
accepts absolute paths only and is never included implicitly. Plugins must not
|
|
283
349
|
use it for mutation or as a fallback when a configured work root is missing.
|
|
284
350
|
Paths outside declared roots and canonical symlink escapes fail before plugin
|
|
285
|
-
I/O. Plugins must not infer or advertise a physical
|
|
351
|
+
I/O for these scoped operations. Plugins must not infer or advertise a physical
|
|
352
|
+
`sandbox/` alias. Trusted shell execution follows the explicit exception below.
|
|
286
353
|
Attachment handles are a separate request-owned source and are not converted
|
|
287
354
|
into ordinary filesystem targets.
|
|
288
355
|
|
|
356
|
+
After a committed file mutation, the optional
|
|
357
|
+
`executionContext.reportFileOutput({ target, operation, rootIdentity })` callback
|
|
358
|
+
can report the exact resolved target for client presentation. `operation` is
|
|
359
|
+
`created` or `updated`; no-op and failed mutations must not report an output.
|
|
360
|
+
`rootIdentity` contains decimal strings for `device`, `inode` and `birthtimeNs`,
|
|
361
|
+
read from the actual mutation root directory handle. Keep that handle open until
|
|
362
|
+
the synchronous callback returns. The host checks this identity against the
|
|
363
|
+
currently configured root before reading or creating a marker. Missing or
|
|
364
|
+
mismatched identities omit the card, including a root replaced between commit
|
|
365
|
+
and reporting. A receipt is published only on a successful mutating completion
|
|
366
|
+
with `mutationEvidence: true`. The callback
|
|
367
|
+
is best-effort: its absence or failure must not change a committed mutation's
|
|
368
|
+
result. Never copy the receipt, physical path or presentation metadata into the
|
|
369
|
+
canonical tool result. The bundled filesystem write/edit tools use this channel;
|
|
370
|
+
it creates neither a file catalog nor a historical snapshot.
|
|
371
|
+
|
|
372
|
+
The host binds that receipt to the root directory instance using its filesystem
|
|
373
|
+
identity and a random token in `.abot-file-output-root`. Presentation capture
|
|
374
|
+
creates this small marker once, without overwriting an existing file; preview
|
|
375
|
+
only reads it. Symlink, malformed, missing or changed markers cannot authorize
|
|
376
|
+
older receipts. Removing a marker revokes those receipts; a later successful
|
|
377
|
+
mutation can establish a new token. Filesystems without stable directory birth
|
|
378
|
+
identity omit presentation receipts while preserving the tool's mutation result.
|
|
379
|
+
Legacy receipts containing only a path-derived root hash are not upgraded.
|
|
380
|
+
|
|
289
381
|
Plugin state belongs to the factory instance. Mutable module globals are not
|
|
290
382
|
allowed because one host process may load more than one Runtime. File-backed
|
|
291
383
|
state uses a plugin-owned directory, serialized mutations, atomic replacement,
|
|
@@ -322,10 +414,23 @@ and rendered text. A truncated success reports machine-readable truncation
|
|
|
322
414
|
metadata; an operation that cannot produce a truthful bounded result fails
|
|
323
415
|
explicitly.
|
|
324
416
|
|
|
325
|
-
The bundled `exec` plugin
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
417
|
+
The bundled `exec` plugin provides trusted, non-interactive `/bin/bash` execution
|
|
418
|
+
on Linux and macOS. Execute, wait and cancel each declare `approval="always"`:
|
|
419
|
+
Ask/Full require exact-action approval, and FULL+ skips that extra prompt.
|
|
420
|
+
Commands run as the Runtime OS user without lexical path or command-name checks.
|
|
421
|
+
The explicit cwd must be an accessible existing directory; relative paths and
|
|
422
|
+
`workspace/...` use their configured context bases, while absolute host paths
|
|
423
|
+
are allowed. Trusted shell execution is outside the scoped filesystem contract
|
|
424
|
+
above; project folders do not sandbox code. Dedicated file-tool restrictions
|
|
425
|
+
remain unchanged. Native shell syntax and installed utilities determine command
|
|
426
|
+
behavior; process ownership, cancellation, timeout and output limits still apply.
|
|
427
|
+
|
|
428
|
+
Dev View locators are literal substrings that must identify a unique occurrence
|
|
429
|
+
in the bounded file scan. An ambiguous locator remains an explicit failure,
|
|
430
|
+
with bounded candidate line ranges and numeric controls for inspecting observed
|
|
431
|
+
locations. The caller must omit `locator` when using those numeric controls.
|
|
432
|
+
Candidate and scan truncation are explicit; neither previews nor candidate
|
|
433
|
+
counts imply full-file coverage.
|
|
329
434
|
|
|
330
435
|
## Adding A Plugin
|
|
331
436
|
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Projects and FULL+
|
|
2
|
+
|
|
3
|
+
Projects organize conversations around a working folder. FULL+ authorizes
|
|
4
|
+
system actions without per-action approval through the existing permission selector. These are independent choices:
|
|
5
|
+
a project does not grant system access, and FULL+ does not require a project.
|
|
6
|
+
|
|
7
|
+
## Projects
|
|
8
|
+
|
|
9
|
+
Use the folder-plus button on the navigation rail. Choose a folder in the main
|
|
10
|
+
conversation area, optionally give the project a name, and select **Create project**.
|
|
11
|
+
**Browse** opens an inline folder picker. Navigate to a folder and choose
|
|
12
|
+
**Use this folder** to apply it; cancelling the picker preserves the typed path.
|
|
13
|
+
The folder browser shows directories on the Runtime computer, which may differ
|
|
14
|
+
from the computer running the browser. Absolute folder paths can also be entered.
|
|
15
|
+
On WSL, Windows folders must be accessible through the Linux filesystem, such as
|
|
16
|
+
a mounted drive. On a native Mac, choose an accessible macOS directory.
|
|
17
|
+
|
|
18
|
+
Project groups remain above ordinary conversations in the sidebar. Their plus
|
|
19
|
+
button opens another conversation in that project. The existing plus button still
|
|
20
|
+
creates an ordinary conversation using the configured default working directory.
|
|
21
|
+
There is no fixed product limit on the number of projects. Opening or cancelling
|
|
22
|
+
the creation form preserves the current conversation and sends no model request.
|
|
23
|
+
|
|
24
|
+
The Runtime persists projects and each project's conversation binding. A
|
|
25
|
+
conversation's selected directory is resolved for its own requests, including
|
|
26
|
+
file output previews. Concurrent projects do not modify one another's directory
|
|
27
|
+
or the global configuration. Existing conversations are not migrated automatically.
|
|
28
|
+
Project deletion, renaming, and moving existing conversations are outside this
|
|
29
|
+
initial feature.
|
|
30
|
+
|
|
31
|
+
## Permission modes
|
|
32
|
+
|
|
33
|
+
- **Ask** requests approval before each sensitive action, including EXEC and SYSTEM, using the existing tool-approval flow.
|
|
34
|
+
- **Full** keeps ordinary tool behavior and also requests approval before each sensitive action. The approval card recommends FULL+ for future actions without those prompts.
|
|
35
|
+
- **FULL+** authorizes task-relevant system actions without additional ABot action
|
|
36
|
+
confirmations or another enablement switch. This includes application discovery
|
|
37
|
+
and launching, general commands, service and process management, installation,
|
|
38
|
+
configuration changes, and other operations the target OS supports.
|
|
39
|
+
|
|
40
|
+
The selector remembers the user's last explicit choice in this browser. New
|
|
41
|
+
conversations, including project conversations, start with that saved choice.
|
|
42
|
+
Existing conversations retain their own mode; opening one does not change the
|
|
43
|
+
last-choice preference. Legacy conversations without a saved mode remain Full,
|
|
44
|
+
and missing or unknown preferences never become FULL+. Each submitted or queued
|
|
45
|
+
request captures its own mode; a later selection does not change it.
|
|
46
|
+
A client connected to a server without advertised FULL+ support rejects the
|
|
47
|
+
unsupported request instead of silently downgrading it.
|
|
48
|
+
|
|
49
|
+
System capabilities are bundled and enabled by default, using the normal
|
|
50
|
+
tool/adapter execution path and the same plugin selection rules as other tools.
|
|
51
|
+
A disabled plugin or capability is absent from every request mode, including
|
|
52
|
+
FULL+: permission never restores an unavailable tool. Existing explicit
|
|
53
|
+
allow/deny selections are respected. Plugin changes use the existing Runtime
|
|
54
|
+
restart requirement; FULL+ needs no additional enablement step under the default
|
|
55
|
+
selection.
|
|
56
|
+
Enabled sensitive capabilities, including every EXEC and SYSTEM operation, are available in all three modes. Their declared
|
|
57
|
+
`approval="always"` policy uses the existing runtime approval boundary: Ask and
|
|
58
|
+
Full wait for approval of the exact prepared action; FULL+ executes without
|
|
59
|
+
that prompt. The card shows recorded target, command, working directory and
|
|
60
|
+
elevation details. Approving once neither changes the selected mode nor approves
|
|
61
|
+
later actions. Rejection, cancellation or an unavailable approval controller
|
|
62
|
+
prevents dispatch. A model instruction, project file or tool result cannot select
|
|
63
|
+
the request's mode. Direct tool implementations and low-level registry APIs are
|
|
64
|
+
trusted host integration APIs; client requests use the normal invocation boundary.
|
|
65
|
+
|
|
66
|
+
## Trusted shell execution
|
|
67
|
+
|
|
68
|
+
The EXEC plugin declares sensitivity through the same `approval="always"`
|
|
69
|
+
operation policy as SYSTEM. This covers execute, wait and cancel, without a
|
|
70
|
+
tool-name branch in core orchestration. An approval applies to that exact action;
|
|
71
|
+
it does not authorize later commands, polling or cancellation actions.
|
|
72
|
+
|
|
73
|
+
After the required approval, EXEC passes the command to the native shell. It
|
|
74
|
+
does not scan its text for paths, shell grammar, program operands or sensitive
|
|
75
|
+
effects, and it does not block command names. The explicit working directory
|
|
76
|
+
must exist and be accessible to the OS user; relative and workspace aliases keep
|
|
77
|
+
their existing bases, and absolute host directories are accepted. Project and
|
|
78
|
+
file-tool boundaries do not sandbox shell code. Existing file-tool path contracts
|
|
79
|
+
remain unchanged. Execution retains non-interactive I/O, process ownership,
|
|
80
|
+
cancellation, timeout, output and resource limits.
|
|
81
|
+
|
|
82
|
+
## Operating-system targets
|
|
83
|
+
|
|
84
|
+
Native Linux and macOS command execution, application discovery and launch use
|
|
85
|
+
the target OS adapters. Windows execution from WSL requires working Windows
|
|
86
|
+
interop and an actual Windows process; the Runtime reports an unavailable target
|
|
87
|
+
when that transport is missing. It does not pretend that a Linux command ran on
|
|
88
|
+
Windows. No product names receive special hardcoded handling.
|
|
89
|
+
|
|
90
|
+
Target discovery distinguishes the Runtime OS from its host: a Linux Runtime
|
|
91
|
+
inside WSL does not make a Windows desktop application a Linux application.
|
|
92
|
+
Application discovery reports the sources it searched. A complete scan of those
|
|
93
|
+
sources does not prove that an application is absent from the computer. When the
|
|
94
|
+
catalog is insufficient, use the available target-native inspection commands to
|
|
95
|
+
check installation and executable identity before choosing a launch method.
|
|
96
|
+
|
|
97
|
+
FULL+ does not manufacture Administrator/root rights or bypass OS authorization.
|
|
98
|
+
Required OS prompts, credentials and unavailable permissions are reported through
|
|
99
|
+
the action result. A command receipt identifies its observed shell or helper;
|
|
100
|
+
an application launch receipt records dispatch. Neither proves that the intended
|
|
101
|
+
application started or that a visible window appeared. Verify the requested
|
|
102
|
+
outcome with target-native evidence before reporting it as achieved. A matching
|
|
103
|
+
filename, an exit code, or an already-running process alone does not prove a new
|
|
104
|
+
launch. Command output may contain further evidence, but the adapter does not
|
|
105
|
+
independently validate the effects of arbitrary commands.
|
|
106
|
+
|
|
107
|
+
A project folder is the working context, not a ceiling on approved system operations.
|
|
108
|
+
System commands can address resources outside it without changing `workspaceDir`
|
|
109
|
+
to `/`. Existing file-tool path contracts remain in effect. This feature does not
|
|
110
|
+
claim OS sandboxing, folder locking, or protection against another process running
|
|
111
|
+
with the same user's OS authority. Approval controls whether a sensitive
|
|
112
|
+
action may start; it does not lower that process's OS permissions.
|
|
113
|
+
|
|
114
|
+
## Connecting a Docker Runtime to its computer
|
|
115
|
+
|
|
116
|
+
A Docker Runtime can use applications and commands on its Windows or macOS host
|
|
117
|
+
through the optional native host companion. The companion runs as the signed-in
|
|
118
|
+
desktop user and connects outbound to the Runtime's published loopback Web UI
|
|
119
|
+
address. It does not require a Docker socket, a privileged container, a Windows
|
|
120
|
+
drive mount, or WSL interop inside the container. The container remains a separate
|
|
121
|
+
Linux target; discovery identifies Docker separately from WSL.
|
|
122
|
+
|
|
123
|
+
1. Publish the Docker Web UI port on `127.0.0.1` only, and keep the Runtime's data
|
|
124
|
+
directory persistent. In that deployment, set
|
|
125
|
+
`ABOT_WEB_TRUST_LOOPBACK_PUBLISH=1` in the container environment alongside the
|
|
126
|
+
loopback port mapping (for example, `-p 127.0.0.1:5184:5184
|
|
127
|
+
-e ABOT_WEB_TRUST_LOOPBACK_PUBLISH=1`). Open the Web UI using its configured
|
|
128
|
+
hostname and port.
|
|
129
|
+
2. In the initial **Computer** step or **Config → Connected computer**, download
|
|
130
|
+
the setup script for the computer running Docker. Open the Windows script, or
|
|
131
|
+
extract the Mac ZIP and open its executable command file, on that computer.
|
|
132
|
+
3. The script installs a private, checksum-verified Node runtime and the exact
|
|
133
|
+
companion build supplied by this ABot installation. It pairs automatically
|
|
134
|
+
using a single-use grant valid for 15 minutes, without a copied code or command.
|
|
135
|
+
4. The companion saves a private credential and starts now and at future user
|
|
136
|
+
logins. The Web UI polls actual connection readiness. Downloading the script
|
|
137
|
+
alone is not a successful connection; wait for **Ready**.
|
|
138
|
+
|
|
139
|
+
The publish-trust setting is off by default. Container detection cannot prove
|
|
140
|
+
which host interfaces Docker publishes; a `Host: localhost` request is not proof
|
|
141
|
+
of local access. Enable this setting only when every published Web UI port is
|
|
142
|
+
restricted to host loopback. Do not enable it for LAN/public port mappings or an
|
|
143
|
+
untrusted proxy. It permits the local browser and companion to use the published
|
|
144
|
+
port when Docker changes the address/port seen inside the container; it does not
|
|
145
|
+
add authentication or secure a remotely exposed Web UI. Native and WSL listeners
|
|
146
|
+
retain their existing authority checks.
|
|
147
|
+
|
|
148
|
+
The companion accepts only Runtime addresses resolving to this computer's
|
|
149
|
+
loopback interface. Use the Web UI origin displayed in the connection panel,
|
|
150
|
+
including its published port. This connection does not expose a remote command
|
|
151
|
+
listener on the native host and does not support pairing to a different computer
|
|
152
|
+
over the LAN or internet. Downloadable installers currently require a local HTTP
|
|
153
|
+
Web UI origin. They do not disable TLS validation for unsupported HTTPS setups.
|
|
154
|
+
|
|
155
|
+
One computer connection is shared by all Runtime environments belonging to the
|
|
156
|
+
same ABot installation. The native user can pair with one installation at a time;
|
|
157
|
+
disconnect before connecting another. Existing native macOS operation and Windows
|
|
158
|
+
operation through functioning WSL interop do not require this companion. The
|
|
159
|
+
setup screen checks those direct paths first. If WSL Windows execution is
|
|
160
|
+
unavailable, it offers a Windows interop repair script instead. The script
|
|
161
|
+
preserves unrelated `wsl.conf` settings, including `appendWindowsPath`, then
|
|
162
|
+
automatically restarts only the selected distribution without a typed confirmation.
|
|
163
|
+
Finish active work before opening the file: the restart interrupts all services
|
|
164
|
+
in that distribution. If the configuration update fails, no restart occurs.
|
|
165
|
+
The script and GUI verify actual Windows execution after the restart.
|
|
166
|
+
|
|
167
|
+
Host requests use the existing system plugin and the same exact-action approval
|
|
168
|
+
flow: Ask and Full request approval; FULL+ does not add a separate ABot prompt.
|
|
169
|
+
Connecting a computer never enables a disabled plugin or tool. Requests identify
|
|
170
|
+
available operating systems, not connection identifiers. Before each request's
|
|
171
|
+
model calls, the system plugin captures native targets and the connected computer;
|
|
172
|
+
existing native execution takes precedence, and the companion supplies an OS
|
|
173
|
+
missing locally. Disconnected computer targets are absent from both the direct
|
|
174
|
+
and delegated model catalogs. The plugin binds the destination internally before
|
|
175
|
+
exact-action approval. Changing the pairing or reconnecting while approval is
|
|
176
|
+
pending invalidates that action; it is never redirected or replayed on a new
|
|
177
|
+
connection. Command working directories use the selected OS's path syntax.
|
|
178
|
+
A container project path is not automatically translated to a Windows or Mac
|
|
179
|
+
path. OS authorization still applies, and a launch receipt alone is not proof
|
|
180
|
+
that a visible application window appeared.
|
|
181
|
+
|
|
182
|
+
When confirmed Docker or WSL readiness requires setup, Chat shows a small,
|
|
183
|
+
dismissible suggestion linking to **Config → Connected computer**. It does not
|
|
184
|
+
appear for working native access, unknown status, or an already paired computer.
|
|
185
|
+
It reuses the existing readiness state and refreshes on returning to Chat, without
|
|
186
|
+
adding a polling loop. Dismissal lasts until the page is reloaded.
|
|
187
|
+
|
|
188
|
+
Use **Disconnect computer** in the Web UI to revoke the Runtime's pairing and
|
|
189
|
+
pending invitations. The connected companion removes its credential after
|
|
190
|
+
revocation. Downloaded setup files contain an expiring invitation, so keep them
|
|
191
|
+
private and delete them after use. Browser storage retains neither the invitation
|
|
192
|
+
nor the persistent credential.
|
|
193
|
+
|
|
194
|
+
Advanced installations using the ABot CLI can still use `abot host status`,
|
|
195
|
+
`abot host disconnect` and `abot host uninstall`. The downloaded installer does
|
|
196
|
+
not add a global `abot` command. Its private Node binary and immutable companion
|
|
197
|
+
bundle live under `%LOCALAPPDATA%\ABot\HostCompanion` on Windows or
|
|
198
|
+
`~/Library/Application Support/ABot/HostCompanion` on Mac; the same CLI operations
|
|
199
|
+
can be invoked there as `<node> <companion-bundle> host uninstall`. This removes
|
|
200
|
+
the local credential and login registration; use the Web UI to clear Runtime-side
|
|
201
|
+
pairing as well. Reconnecting never silently replaces another installation's
|
|
202
|
+
saved native connection.
|
|
203
|
+
|
|
204
|
+
An offline computer is reported as unavailable. The companion reconnects while
|
|
205
|
+
the saved pairing remains valid; it never automatically replays an interrupted
|
|
206
|
+
system action. Cancellation or revocation attempts to stop an in-flight command,
|
|
207
|
+
but effects already performed are not rolled back. If a connection is lost during
|
|
208
|
+
execution, inspect the actual host state before trying the action again.
|
|
209
|
+
|
|
210
|
+
## Validation status
|
|
211
|
+
|
|
212
|
+
Implementation and validation progress are recorded in the task journal. Native
|
|
213
|
+
Mac QA is performed separately with the owner; mocked platform tests are not a
|
|
214
|
+
claim that an actual Mac was tested. No release or installation update is implied
|
|
215
|
+
by changes in a development worktree.
|
|
216
|
+
Native Windows/macOS companion installation, login startup and visible-application
|
|
217
|
+
QA remain separate checks on the real desktop systems; Linux protocol and package
|
|
218
|
+
tests do not establish those results.
|
|
@@ -20,7 +20,7 @@ the default `supervisor-worker-v1` policy and the opt-in
|
|
|
20
20
|
| Capability adapters report bounded operation outcomes and never decide semantic completion. | `src/runtime/adapters/registered-tool-worker-capabilities.ts`, `src/capabilities/tool-executor.ts` | `registered-tool-worker-capabilities.test.ts`, `tool-executor.test.ts`, `normal-invocation.test.ts` |
|
|
21
21
|
| Every capability settlement, whether produced by a delegated Worker or the direct root, atomically persists exactly one validated canonical `CapabilityAdapterResult`. Running executions cannot carry a result; invalid, non-JSON-safe, cyclic, or oversized evidence cannot settle and is never silently truncated. | `src/runtime/orchestration/capability-adapters/result.ts`, `src/runtime/orchestration/worker-capabilities/execution.ts`, `src/runtime/orchestration/role-calls/` | `registered-tool-worker-capabilities.test.ts`, `worker-capability-binding.test.ts`, `role-call-ledger.test.ts` |
|
|
22
22
|
| The complete canonical result is projected only to the exact producing call and its later same-call payload author. Direct native tool linkage is not duplicated; cross-call provenance moves only through compact runtime-owned receipts and ledger-derived lineage on explicit dependency or supervision lanes. A Planner-item Worker receives no sibling execution summaries; callers, siblings and unrelated requests receive no implicit evidence. | `src/runtime/orchestration/worker-capabilities/settled-results.ts`, `src/runtime/context/request-tool-results.ts`, `src/runtime/orchestration/role-calls/`, `src/runtime/steps/worker-decision/`, `src/runtime/steps/execution-agent/state-context.ts` | `planner-worker-tool-result-scope.test.ts`, `role-call-dependency-work-receipt-pr1.test.ts`, `role-call-work-receipt-continuation-pr1.test.ts`, `worker-decision.test.ts`, `execution-agent-context.test.ts` |
|
|
23
|
-
|
|
|
23
|
+
| Plan client events project committed state and never write progress. Planner Graph advice stays passive until the Execution Agent explicitly adopts it and reports item statuses; delegated Worker-bound plans remain unchanged. | `src/runtime/request/role-call-planner-events.ts`, `src/runtime/request/planner-plan-events.ts`, `src/runtime/steps/planner-graph/` | `role-call-planner-events.test.ts`, `model-work-plan-domain.test.ts`, `model-work-plan-events.test.ts`, `model-work-plan-runner.test.ts` |
|
|
24
24
|
| Final response persistence and terminal request completion remain one shared request-finalizer boundary for both policies. | `src/runtime/lifecycle/request-finalizer.ts` | `request-finalization.test.ts`, `execution-agent-request-runner.test.ts` |
|
|
25
25
|
|
|
26
26
|
## Client Compatibility
|
|
@@ -28,8 +28,11 @@ the default `supervisor-worker-v1` policy and the opt-in
|
|
|
28
28
|
Delegated Planner events retain the existing `planner.plan.*` names and
|
|
29
29
|
`stage=development_plan` payload field. This is a client presentation contract,
|
|
30
30
|
not evidence of a separate request path or semantic routing state. A
|
|
31
|
-
`planner.graph` advisory is only a returned role result
|
|
32
|
-
|
|
31
|
+
`planner.graph` advisory alone is only a returned role result. An Execution
|
|
32
|
+
Agent's explicit adoption and progress declarations use the same events after
|
|
33
|
+
canonical ledger commit, without additional model turns or automatic item
|
|
34
|
+
completion. They do not change delegated Worker-bound plan semantics or act
|
|
35
|
+
as completion evidence.
|
|
33
36
|
|
|
34
37
|
## Regression Rule
|
|
35
38
|
|