@abot-ai/runtime 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/dist/scripts/init-runtime.js +4 -13
- package/dist/scripts/runtime-setup-directories.d.ts +2 -0
- package/dist/scripts/runtime-setup-directories.js +38 -0
- package/dist/src/bridge/request-steering.d.ts +2 -1
- package/dist/src/bridge/request-steering.js +4 -2
- package/dist/src/bridge/runtime-replay.js +2 -19
- package/dist/src/bridge/start-agent-bridge.js +1 -1
- package/dist/src/capabilities/normal-invocation/validator.js +1 -1
- package/dist/src/capabilities/tool-definition-validator/event-presentation.js +3 -0
- package/dist/src/capabilities/tool-definition-validator/event-result-metadata.d.ts +2 -0
- package/dist/src/capabilities/tool-definition-validator/event-result-metadata.js +74 -0
- package/dist/src/capabilities/tool-event-metadata.js +3 -0
- package/dist/src/capabilities/tool-result-event-projection.d.ts +3 -0
- package/dist/src/capabilities/tool-result-event-projection.js +82 -0
- package/dist/src/capabilities/tool-types.d.ts +5 -0
- package/dist/src/cli/abot.js +2 -11
- package/dist/src/runtime/adapters/in-memory-session-store.js +1 -0
- package/dist/src/runtime/adapters/long-term-memory/file-lock/acquisition.js +11 -2
- package/dist/src/runtime/adapters/long-term-memory/file-lock/contracts.d.ts +2 -0
- package/dist/src/runtime/adapters/long-term-memory/file-lock/synchronous-release.d.ts +2 -0
- package/dist/src/runtime/adapters/long-term-memory/file-lock/synchronous-release.js +40 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.d.ts +3 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.js +9 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/rejection-event.d.ts +13 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/rejection-event.js +25 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/run.js +18 -2
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/executor.js +8 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/payload/lifecycle.js +7 -3
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/contracts.d.ts +17 -2
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/event-metadata.d.ts +9 -0
- package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/event-metadata.js +8 -0
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/execution.js +16 -1
- package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-observability.js +2 -2
- package/dist/src/runtime/adapters/scheduled-request-outcome.d.ts +11 -0
- package/dist/src/runtime/adapters/scheduled-request-outcome.js +41 -0
- package/dist/src/runtime/adapters/scheduler-runtime.d.ts +19 -0
- package/dist/src/runtime/adapters/scheduler-runtime.js +138 -0
- package/dist/src/runtime/capabilities/scheduling/create-operations.d.ts +55 -0
- package/dist/src/runtime/capabilities/scheduling/create-operations.js +30 -0
- package/dist/src/runtime/capabilities/scheduling/create-time-zone.d.ts +1 -0
- package/dist/src/runtime/capabilities/scheduling/create-time-zone.js +11 -0
- package/dist/src/runtime/capabilities/scheduling/job-list-page.d.ts +25 -0
- package/dist/src/runtime/capabilities/scheduling/job-list-page.js +40 -0
- package/dist/src/runtime/capabilities/scheduling/model-validation.d.ts +2 -0
- package/dist/src/runtime/capabilities/scheduling/model-validation.js +15 -0
- package/dist/src/runtime/capabilities/scheduling/tool-contract.d.ts +2 -0
- package/dist/src/runtime/capabilities/scheduling/tool-contract.js +35 -0
- package/dist/src/runtime/capabilities/scheduling/tool-input-properties.d.ts +43 -0
- package/dist/src/runtime/capabilities/scheduling/tool-input-properties.js +27 -0
- package/dist/src/runtime/capabilities/scheduling/tool-module.d.ts +4 -0
- package/dist/src/runtime/capabilities/scheduling/tool-module.js +158 -0
- package/dist/src/runtime/capabilities/scheduling/update-operations.d.ts +2 -0
- package/dist/src/runtime/capabilities/scheduling/update-operations.js +49 -0
- package/dist/src/runtime/composition.d.ts +23 -3
- package/dist/src/runtime/composition.js +12 -17
- package/dist/src/runtime/config/environment-paths.d.ts +10 -0
- package/dist/src/runtime/config/environment-paths.js +31 -0
- package/dist/src/runtime/config/environment-storage.d.ts +9 -0
- package/dist/src/runtime/config/environment-storage.js +65 -0
- package/dist/src/runtime/config/fields.js +7 -0
- package/dist/src/runtime/config/long-term-memory.js +15 -0
- package/dist/src/runtime/config/schema.js +8 -0
- package/dist/src/runtime/config.js +9 -5
- package/dist/src/runtime/context/scheduled-execution-context.d.ts +10 -0
- package/dist/src/runtime/context/scheduled-execution-context.js +52 -0
- package/dist/src/runtime/default-adapters.d.ts +3 -32
- package/dist/src/runtime/default-adapters.js +3 -270
- package/dist/src/runtime/default-environment-adapters.d.ts +19 -0
- package/dist/src/runtime/default-environment-adapters.js +144 -0
- package/dist/src/runtime/index.d.ts +5 -0
- package/dist/src/runtime/index.js +4 -0
- package/dist/src/runtime/local-application.d.ts +22 -0
- package/dist/src/runtime/local-application.js +81 -0
- package/dist/src/runtime/local-host/app-memory-dispatch.d.ts +11 -0
- package/dist/src/runtime/local-host/app-memory-dispatch.js +103 -0
- package/dist/src/runtime/local-host/app-owner.d.ts +4 -0
- package/dist/src/runtime/local-host/app-owner.js +119 -0
- package/dist/src/runtime/local-host/app-request-control.d.ts +24 -0
- package/dist/src/runtime/local-host/app-request-control.js +135 -0
- package/dist/src/runtime/local-host/app-service-dispatch.d.ts +5 -0
- package/dist/src/runtime/local-host/app-service-dispatch.js +64 -0
- package/dist/src/runtime/local-host/client-identity.d.ts +3 -0
- package/dist/src/runtime/local-host/client-identity.js +17 -0
- package/dist/src/runtime/local-host/client-memory.d.ts +7 -0
- package/dist/src/runtime/local-host/client-memory.js +54 -0
- package/dist/src/runtime/local-host/client-requests.d.ts +19 -0
- package/dist/src/runtime/local-host/client-requests.js +145 -0
- package/dist/src/runtime/local-host/client-services.d.ts +10 -0
- package/dist/src/runtime/local-host/client-services.js +14 -0
- package/dist/src/runtime/local-host/contracts.d.ts +36 -0
- package/dist/src/runtime/local-host/contracts.js +1 -0
- package/dist/src/runtime/local-host/endpoint.d.ts +7 -0
- package/dist/src/runtime/local-host/endpoint.js +79 -0
- package/dist/src/runtime/local-host/owner-activity.d.ts +10 -0
- package/dist/src/runtime/local-host/owner-activity.js +30 -0
- package/dist/src/runtime/local-host/owner-retirement.d.ts +3 -0
- package/dist/src/runtime/local-host/owner-retirement.js +15 -0
- package/dist/src/runtime/local-host/owner-server.d.ts +6 -0
- package/dist/src/runtime/local-host/owner-server.js +88 -0
- package/dist/src/runtime/local-host/private-access.d.ts +2 -0
- package/dist/src/runtime/local-host/private-access.js +16 -0
- package/dist/src/runtime/local-host/private-directory.d.ts +1 -0
- package/dist/src/runtime/local-host/private-directory.js +57 -0
- package/dist/src/runtime/local-host/rpc-peer.d.ts +22 -0
- package/dist/src/runtime/local-host/rpc-peer.js +168 -0
- package/dist/src/runtime/local-host/rpc-protocol.d.ts +21 -0
- package/dist/src/runtime/local-host/rpc-protocol.js +46 -0
- package/dist/src/runtime/local-host/startup-connection.d.ts +5 -0
- package/dist/src/runtime/local-host/startup-connection.js +72 -0
- package/dist/src/runtime/local-host/transport.d.ts +3 -0
- package/dist/src/runtime/local-host/transport.js +88 -0
- package/dist/src/runtime/local-host/windows-private-access.d.ts +1 -0
- package/dist/src/runtime/local-host/windows-private-access.js +51 -0
- package/dist/src/runtime/long-term-memory/onboarding/configuration.js +6 -0
- package/dist/src/runtime/long-term-memory/recall-binding.d.ts +3 -0
- package/dist/src/runtime/long-term-memory/recall-binding.js +27 -0
- package/dist/src/runtime/long-term-memory/recall-context.d.ts +20 -0
- package/dist/src/runtime/long-term-memory/recall-context.js +101 -0
- package/dist/src/runtime/long-term-memory/recall-continuation.d.ts +8 -0
- package/dist/src/runtime/long-term-memory/recall-continuation.js +36 -0
- package/dist/src/runtime/long-term-memory/recall-policy.d.ts +7 -0
- package/dist/src/runtime/long-term-memory/recall-policy.js +14 -0
- package/dist/src/runtime/long-term-memory/recall-result.d.ts +5 -0
- package/dist/src/runtime/long-term-memory/recall-result.js +54 -0
- package/dist/src/runtime/long-term-memory/repository-state.d.ts +2 -1
- package/dist/src/runtime/long-term-memory/repository-state.js +2 -2
- package/dist/src/runtime/model/invoke-raw-step.d.ts +1 -0
- package/dist/src/runtime/model/invoke-raw-step.js +1 -0
- package/dist/src/runtime/model/invoke-step.js +6 -0
- package/dist/src/runtime/model/invoke-structured-step.d.ts +1 -0
- package/dist/src/runtime/model/invoke-structured-step.js +1 -0
- package/dist/src/runtime/model/model-step-port.d.ts +2 -0
- package/dist/src/runtime/model/model-step-steering.d.ts +8 -0
- package/dist/src/runtime/model/model-step-steering.js +19 -0
- package/dist/src/runtime/orchestration/final-response/authoring-contract.js +1 -1
- package/dist/src/runtime/orchestration/final-response/invoke.d.ts +1 -0
- package/dist/src/runtime/orchestration/final-response/invoke.js +1 -0
- package/dist/src/runtime/orchestration/role-calls/activation-budget.js +1 -0
- package/dist/src/runtime/orchestration/role-calls/candidate-validation.js +9 -49
- package/dist/src/runtime/orchestration/role-calls/capability-selection-reconsideration.d.ts +9 -0
- package/dist/src/runtime/orchestration/role-calls/capability-selection-reconsideration.js +17 -8
- package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision-validation.d.ts +2 -0
- package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision-validation.js +62 -0
- package/dist/src/runtime/orchestration/role-calls/command-decoder.js +4 -0
- package/dist/src/runtime/orchestration/role-calls/command-dispatch/memory-recall-transitions.d.ts +4 -0
- package/dist/src/runtime/orchestration/role-calls/command-dispatch/memory-recall-transitions.js +89 -0
- package/dist/src/runtime/orchestration/role-calls/command-dispatch.js +5 -0
- package/dist/src/runtime/orchestration/role-calls/contracts.d.ts +9 -7
- package/dist/src/runtime/orchestration/role-calls/contracts.js +2 -2
- package/dist/src/runtime/orchestration/role-calls/diagnostics.js +3 -0
- package/dist/src/runtime/orchestration/role-calls/index.d.ts +1 -0
- package/dist/src/runtime/orchestration/role-calls/index.js +1 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-contract.d.ts +51 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-contract.js +4 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-decoder.d.ts +6 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-decoder.js +147 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-diagnostics.d.ts +5 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-diagnostics.js +27 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-state-validation.d.ts +3 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-state-validation.js +121 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-transactions.d.ts +3 -0
- package/dist/src/runtime/orchestration/role-calls/memory-recall-transactions.js +44 -0
- package/dist/src/runtime/orchestration/role-calls/reducer.js +1 -0
- package/dist/src/runtime/orchestration/role-calls/transaction-effect.d.ts +5 -0
- package/dist/src/runtime/orchestration/role-calls/transaction-effect.js +14 -0
- package/dist/src/runtime/orchestration/role-calls/transactions.js +3 -24
- package/dist/src/runtime/plugins/manifest-validator.js +4 -1
- package/dist/src/runtime/ports.d.ts +4 -0
- package/dist/src/runtime/request/bound-runtime-handler.d.ts +2 -0
- package/dist/src/runtime/request/bound-runtime-handler.js +25 -0
- package/dist/src/runtime/request/contracts.d.ts +6 -0
- package/dist/src/runtime/request/execution-agent-root-execution.js +12 -0
- package/dist/src/runtime/request/execution-facets.js +6 -0
- package/dist/src/runtime/request/execution-scope-surfaces.js +10 -0
- package/dist/src/runtime/request/execution-scope.d.ts +1 -1
- package/dist/src/runtime/request/handler.js +6 -0
- package/dist/src/runtime/request/root-contract.d.ts +7 -1
- package/dist/src/runtime/request/root-execution-kernel.js +33 -37
- package/dist/src/runtime/request/root-memory-recall.d.ts +11 -0
- package/dist/src/runtime/request/root-memory-recall.js +71 -0
- package/dist/src/runtime/request/root-observation-handoff.d.ts +17 -0
- package/dist/src/runtime/request/root-observation-handoff.js +44 -0
- package/dist/src/runtime/request/scheduled-execution.d.ts +9 -0
- package/dist/src/runtime/request/scheduled-execution.js +32 -0
- package/dist/src/runtime/request/session-admission.d.ts +17 -0
- package/dist/src/runtime/request/session-admission.js +88 -0
- package/dist/src/runtime/request/supervisor-root-execution-diagnostics.d.ts +1 -1
- package/dist/src/runtime/request/supervisor-root-execution.js +8 -0
- package/dist/src/runtime/runtime-environment.d.ts +31 -0
- package/dist/src/runtime/runtime-environment.js +102 -0
- package/dist/src/runtime/runtime-host-environment.d.ts +8 -0
- package/dist/src/runtime/runtime-host-environment.js +57 -0
- package/dist/src/runtime/runtime-host-lifecycle.d.ts +4 -0
- package/dist/src/runtime/runtime-host-lifecycle.js +64 -0
- package/dist/src/runtime/runtime-host-scheduler-ownership.d.ts +5 -0
- package/dist/src/runtime/runtime-host-scheduler-ownership.js +67 -0
- package/dist/src/runtime/runtime-host.d.ts +19 -0
- package/dist/src/runtime/runtime-host.js +63 -0
- package/dist/src/runtime/scheduler/calendar-time.d.ts +10 -0
- package/dist/src/runtime/scheduler/calendar-time.js +58 -0
- package/dist/src/runtime/scheduler/contracts.d.ts +143 -0
- package/dist/src/runtime/scheduler/contracts.js +1 -0
- package/dist/src/runtime/scheduler/file-store.d.ts +2 -0
- package/dist/src/runtime/scheduler/file-store.js +76 -0
- package/dist/src/runtime/scheduler/instant-validation.d.ts +4 -0
- package/dist/src/runtime/scheduler/instant-validation.js +69 -0
- package/dist/src/runtime/scheduler/interval-range.d.ts +8 -0
- package/dist/src/runtime/scheduler/interval-range.js +24 -0
- package/dist/src/runtime/scheduler/job-management.d.ts +8 -0
- package/dist/src/runtime/scheduler/job-management.js +212 -0
- package/dist/src/runtime/scheduler/journal-checkpoint.d.ts +9 -0
- package/dist/src/runtime/scheduler/journal-checkpoint.js +45 -0
- package/dist/src/runtime/scheduler/journal-durability.d.ts +8 -0
- package/dist/src/runtime/scheduler/journal-durability.js +59 -0
- package/dist/src/runtime/scheduler/journal-files.d.ts +14 -0
- package/dist/src/runtime/scheduler/journal-files.js +59 -0
- package/dist/src/runtime/scheduler/journal-head.d.ts +21 -0
- package/dist/src/runtime/scheduler/journal-head.js +81 -0
- package/dist/src/runtime/scheduler/journal-index-state.d.ts +31 -0
- package/dist/src/runtime/scheduler/journal-index-state.js +137 -0
- package/dist/src/runtime/scheduler/journal-index.d.ts +22 -0
- package/dist/src/runtime/scheduler/journal-index.js +195 -0
- package/dist/src/runtime/scheduler/journal-store.d.ts +21 -0
- package/dist/src/runtime/scheduler/journal-store.js +184 -0
- package/dist/src/runtime/scheduler/journal-transaction.d.ts +14 -0
- package/dist/src/runtime/scheduler/journal-transaction.js +104 -0
- package/dist/src/runtime/scheduler/next-occurrence.d.ts +3 -0
- package/dist/src/runtime/scheduler/next-occurrence.js +39 -0
- package/dist/src/runtime/scheduler/run-completion.d.ts +12 -0
- package/dist/src/runtime/scheduler/run-completion.js +77 -0
- package/dist/src/runtime/scheduler/run-list-query.d.ts +5 -0
- package/dist/src/runtime/scheduler/run-list-query.js +38 -0
- package/dist/src/runtime/scheduler/run-records.d.ts +6 -0
- package/dist/src/runtime/scheduler/run-records.js +41 -0
- package/dist/src/runtime/scheduler/schedule-update.d.ts +3 -0
- package/dist/src/runtime/scheduler/schedule-update.js +22 -0
- package/dist/src/runtime/scheduler/schedule-validation.d.ts +10 -0
- package/dist/src/runtime/scheduler/schedule-validation.js +132 -0
- package/dist/src/runtime/scheduler/scheduler-engine.d.ts +2 -0
- package/dist/src/runtime/scheduler/scheduler-engine.js +174 -0
- package/dist/src/runtime/scheduler/scheduler-service.d.ts +10 -0
- package/dist/src/runtime/scheduler/scheduler-service.js +115 -0
- package/dist/src/runtime/scheduler/service-context.d.ts +21 -0
- package/dist/src/runtime/scheduler/service-context.js +26 -0
- package/dist/src/runtime/scheduler/session-deletion-state.d.ts +9 -0
- package/dist/src/runtime/scheduler/session-deletion-state.js +30 -0
- package/dist/src/runtime/scheduler/snapshot-validation.d.ts +4 -0
- package/dist/src/runtime/scheduler/snapshot-validation.js +112 -0
- package/dist/src/runtime/scheduler/startup-recovery.d.ts +2 -0
- package/dist/src/runtime/scheduler/startup-recovery.js +38 -0
- package/dist/src/runtime/scheduler/validation-error.d.ts +4 -0
- package/dist/src/runtime/scheduler/validation-error.js +8 -0
- package/dist/src/runtime/scheduler/working-store.d.ts +3 -0
- package/dist/src/runtime/scheduler/working-store.js +8 -0
- package/dist/src/runtime/session/request-session.d.ts +1 -0
- package/dist/src/runtime/session/request-session.js +14 -1
- package/dist/src/runtime/session/session-attachment-deletion.d.ts +8 -0
- package/dist/src/runtime/session/session-attachment-deletion.js +87 -0
- package/dist/src/runtime/session/session-deletion-boundary.d.ts +10 -0
- package/dist/src/runtime/session/session-deletion-boundary.js +39 -0
- package/dist/src/runtime/session/session-deletion-cleanup.d.ts +7 -0
- package/dist/src/runtime/session/session-deletion-cleanup.js +62 -0
- package/dist/src/runtime/session/session-deletion-finalization.d.ts +7 -0
- package/dist/src/runtime/session/session-deletion-finalization.js +34 -0
- package/dist/src/runtime/session/session-deletion-receipts.d.ts +7 -0
- package/dist/src/runtime/session/session-deletion-receipts.js +18 -0
- package/dist/src/runtime/session/session-lifecycle-store.d.ts +21 -0
- package/dist/src/runtime/session/session-lifecycle-store.js +72 -0
- package/dist/src/runtime/session/session-mutation-queue.d.ts +3 -0
- package/dist/src/runtime/session/session-mutation-queue.js +15 -0
- package/dist/src/runtime/steps/execution-agent/capability-decision-parsing.d.ts +16 -0
- package/dist/src/runtime/steps/execution-agent/capability-decision-parsing.js +165 -0
- package/dist/src/runtime/steps/execution-agent/contracts.d.ts +3 -1
- package/dist/src/runtime/steps/execution-agent/decision-parsing.d.ts +2 -0
- package/dist/src/runtime/steps/execution-agent/decision-parsing.js +195 -0
- package/dist/src/runtime/steps/execution-agent/decision-validation.d.ts +30 -0
- package/dist/src/runtime/steps/execution-agent/decision-validation.js +127 -0
- package/dist/src/runtime/steps/execution-agent/format.d.ts +1 -0
- package/dist/src/runtime/steps/execution-agent/format.js +12 -0
- package/dist/src/runtime/steps/execution-agent/input.d.ts +2 -1
- package/dist/src/runtime/steps/execution-agent/input.js +17 -2
- package/dist/src/runtime/steps/execution-agent/parser.d.ts +1 -2
- package/dist/src/runtime/steps/execution-agent/parser.js +1 -472
- package/dist/src/runtime/steps/execution-agent/prompt.d.ts +2 -0
- package/dist/src/runtime/steps/execution-agent/prompt.js +2 -0
- package/dist/src/runtime/steps/execution-agent/reconsideration-context.js +4 -3
- package/dist/src/runtime/steps/execution-agent/response-input.js +5 -4
- package/dist/src/runtime/steps/execution-agent/response-run.d.ts +3 -0
- package/dist/src/runtime/steps/execution-agent/response-run.js +7 -3
- package/dist/src/runtime/steps/execution-agent/run.d.ts +2 -0
- package/dist/src/runtime/steps/execution-agent/run.js +2 -0
- package/dist/src/runtime/steps/execution-agent/state-context.d.ts +2 -1
- package/dist/src/runtime/steps/execution-agent/state-context.js +13 -5
- package/dist/src/runtime/steps/memory-recall-decision.d.ts +30 -0
- package/dist/src/runtime/steps/memory-recall-decision.js +101 -0
- package/dist/src/runtime/steps/memory-recall-prompt.d.ts +1 -0
- package/dist/src/runtime/steps/memory-recall-prompt.js +15 -0
- package/dist/src/runtime/steps/supervisor-decision/contracts.d.ts +4 -2
- package/dist/src/runtime/steps/supervisor-decision/diagnostics.d.ts +2 -0
- package/dist/src/runtime/steps/supervisor-decision/diagnostics.js +13 -6
- package/dist/src/runtime/steps/supervisor-decision/format.d.ts +2 -0
- package/dist/src/runtime/steps/supervisor-decision/format.js +41 -2
- package/dist/src/runtime/steps/supervisor-decision/input.d.ts +5 -1
- package/dist/src/runtime/steps/supervisor-decision/input.js +25 -5
- package/dist/src/runtime/steps/supervisor-decision/memory-recall-continuation.d.ts +10 -0
- package/dist/src/runtime/steps/supervisor-decision/memory-recall-continuation.js +32 -0
- package/dist/src/runtime/steps/supervisor-decision/parser.d.ts +2 -0
- package/dist/src/runtime/steps/supervisor-decision/parser.js +36 -1
- package/dist/src/runtime/steps/supervisor-decision/prompt.d.ts +3 -0
- package/dist/src/runtime/steps/supervisor-decision/prompt.js +16 -8
- package/dist/src/runtime/steps/supervisor-decision/response-recommendation.d.ts +13 -0
- package/dist/src/runtime/steps/supervisor-decision/response-recommendation.js +32 -0
- package/dist/src/runtime/steps/supervisor-decision/resume.d.ts +2 -0
- package/dist/src/runtime/steps/supervisor-decision/resume.js +13 -0
- package/dist/src/runtime/steps/supervisor-decision/run.d.ts +3 -0
- package/dist/src/runtime/steps/supervisor-decision/run.js +19 -0
- package/dist/src/runtime/steps/supervisor-decision/working-directory.js +7 -1
- package/dist/src/runtime/steps/supervisor-response/diagnostics.d.ts +1 -0
- package/dist/src/runtime/steps/supervisor-response/diagnostics.js +1 -0
- package/dist/src/runtime/steps/supervisor-response/input.d.ts +2 -1
- package/dist/src/runtime/steps/supervisor-response/input.js +17 -4
- package/dist/src/runtime/steps/supervisor-response/memory-authoring.d.ts +1 -0
- package/dist/src/runtime/steps/supervisor-response/memory-authoring.js +4 -0
- package/dist/src/runtime/steps/supervisor-response/prompt.d.ts +1 -0
- package/dist/src/runtime/steps/supervisor-response/prompt.js +8 -2
- package/dist/src/runtime/steps/supervisor-response/response-recommendation.d.ts +10 -0
- package/dist/src/runtime/steps/supervisor-response/response-recommendation.js +25 -0
- package/dist/src/runtime/steps/supervisor-response/run.d.ts +6 -1
- package/dist/src/runtime/steps/supervisor-response/run.js +26 -7
- package/dist/src/sessions/record/projection.js +1 -0
- package/dist/src/sessions/schedule-metadata.d.ts +8 -0
- package/dist/src/sessions/schedule-metadata.js +1 -0
- package/dist/src/sessions/session-service.d.ts +1 -0
- package/dist/src/sessions/session-service.js +1 -0
- package/dist/src/sessions/types.d.ts +2 -0
- package/dist/src/shared/directory-authority/bootstrap.d.ts +1 -0
- package/dist/src/shared/directory-authority/bootstrap.js +118 -0
- package/dist/src/shared/directory-authority/command.d.ts +8 -0
- package/dist/src/shared/directory-authority/command.js +27 -0
- package/dist/src/shared/directory-authority/errors.d.ts +5 -0
- package/dist/src/shared/directory-authority/errors.js +10 -0
- package/dist/src/shared/directory-authority/index.d.ts +3 -0
- package/dist/src/shared/directory-authority/index.js +3 -0
- package/dist/src/shared/directory-authority/protocol.d.ts +11 -0
- package/dist/src/shared/directory-authority/protocol.js +62 -0
- package/dist/src/shared/directory-authority/task.d.ts +7 -0
- package/dist/src/shared/directory-authority/task.js +97 -0
- package/dist/src/shared/http-server-shutdown.d.ts +4 -0
- package/dist/src/shared/http-server-shutdown.js +17 -0
- package/dist/src/shared/public-http/aggregate-gate.d.ts +3 -0
- package/dist/src/shared/public-http/aggregate-gate.js +87 -0
- package/dist/src/shared/public-http/deadline.d.ts +2 -0
- package/dist/src/shared/public-http/deadline.js +29 -0
- package/dist/src/shared/public-http/errors.d.ts +6 -0
- package/dist/src/shared/public-http/errors.js +11 -0
- package/dist/src/shared/public-http/limits.d.ts +8 -0
- package/dist/src/shared/public-http/limits.js +8 -0
- package/dist/src/shared/public-http/network-policy.d.ts +11 -0
- package/dist/src/shared/public-http/network-policy.js +178 -0
- package/dist/src/shared/public-http/public-http.d.ts +24 -0
- package/dist/src/shared/public-http/public-http.js +85 -0
- package/dist/src/shared/public-http/request-hop.d.ts +18 -0
- package/dist/src/shared/public-http/request-hop.js +140 -0
- package/dist/src/web-ui/app/ARCHITECTURE.md +66 -4
- package/dist/src/web-ui/app/app-bootstrap.js +53 -0
- package/dist/src/web-ui/app/app-dom.js +80 -0
- package/dist/src/web-ui/app/app.js +195 -212
- package/dist/src/web-ui/app/components/conversation-activity.d.ts +2 -0
- package/dist/src/web-ui/app/components/conversation-activity.js +34 -7
- package/dist/src/web-ui/app/components/conversation-role-cards.d.ts +1 -0
- package/dist/src/web-ui/app/components/conversation-role-cards.js +61 -5
- package/dist/src/web-ui/app/components/conversation-schedule.js +71 -0
- package/dist/src/web-ui/app/components/conversation-status.js +65 -0
- package/dist/src/web-ui/app/components/conversation-tools.d.ts +13 -0
- package/dist/src/web-ui/app/components/conversation-tools.js +284 -0
- package/dist/src/web-ui/app/components/conversation-view.js +39 -11
- package/dist/src/web-ui/app/components/dashboard/activity.js +61 -0
- package/dist/src/web-ui/app/components/dashboard/icons.js +23 -0
- package/dist/src/web-ui/app/components/dashboard/recent-conversations.js +64 -0
- package/dist/src/web-ui/app/components/dashboard/workspace.js +107 -0
- package/dist/src/web-ui/app/components/message-link-previews.d.ts +16 -0
- package/dist/src/web-ui/app/components/message-link-previews.js +179 -0
- package/dist/src/web-ui/app/components/schedules/details.js +101 -0
- package/dist/src/web-ui/app/components/schedules/form.d.ts +13 -0
- package/dist/src/web-ui/app/components/schedules/form.js +246 -0
- package/dist/src/web-ui/app/components/schedules/workspace-state.js +59 -0
- package/dist/src/web-ui/app/components/schedules/workspace.js +165 -0
- package/dist/src/web-ui/app/components/workspace-shell.js +48 -2
- package/dist/src/web-ui/app/configuration-feature.js +72 -0
- package/dist/src/web-ui/app/controllers/composer-attachments-controller.d.ts +1 -0
- package/dist/src/web-ui/app/controllers/composer-attachments-controller.js +17 -6
- package/dist/src/web-ui/app/controllers/composer-submit-controller.d.ts +2 -0
- package/dist/src/web-ui/app/controllers/composer-submit-controller.js +15 -1
- package/dist/src/web-ui/app/controllers/composer-surface-controller.js +58 -0
- package/dist/src/web-ui/app/controllers/composer-workspace-controller.d.ts +53 -0
- package/dist/src/web-ui/app/controllers/composer-workspace-controller.js +180 -0
- package/dist/src/web-ui/app/controllers/conversation-read-state-controller.d.ts +23 -0
- package/dist/src/web-ui/app/controllers/conversation-read-state-controller.js +82 -0
- package/dist/src/web-ui/app/controllers/conversation-session-controller.d.ts +8 -0
- package/dist/src/web-ui/app/controllers/conversation-session-controller.js +28 -39
- package/dist/src/web-ui/app/controllers/dashboard-controller.js +127 -0
- package/dist/src/web-ui/app/controllers/home-composer-feature.d.ts +40 -0
- package/dist/src/web-ui/app/controllers/home-composer-feature.js +119 -0
- package/dist/src/web-ui/app/controllers/home-conversation-activation.js +37 -0
- package/dist/src/web-ui/app/controllers/realtime-event-controller.d.ts +1 -0
- package/dist/src/web-ui/app/controllers/realtime-event-controller.js +74 -3
- package/dist/src/web-ui/app/controllers/runtime-selection-controller.d.ts +2 -1
- package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +15 -14
- package/dist/src/web-ui/app/controllers/schedule-realtime.js +118 -0
- package/dist/src/web-ui/app/controllers/schedules-controller.js +421 -0
- package/dist/src/web-ui/app/controllers/session-controller.js +30 -3
- package/dist/src/web-ui/app/dashboard-feature.js +44 -0
- package/dist/src/web-ui/app/index.html +53 -1
- package/dist/src/web-ui/app/lib/composer-submission-scope.d.ts +21 -0
- package/dist/src/web-ui/app/lib/composer-submission-scope.js +13 -0
- package/dist/src/web-ui/app/lib/context-window-snapshot-order.d.ts +15 -0
- package/dist/src/web-ui/app/lib/context-window-snapshot-order.js +31 -0
- package/dist/src/web-ui/app/lib/conversation-role-model.d.ts +10 -1
- package/dist/src/web-ui/app/lib/conversation-role-model.js +97 -15
- package/dist/src/web-ui/app/lib/conversation-status-model.d.ts +12 -0
- package/dist/src/web-ui/app/lib/conversation-status-model.js +116 -0
- package/dist/src/web-ui/app/lib/dashboard-job-templates.js +41 -0
- package/dist/src/web-ui/app/lib/dashboard-presentation.js +126 -0
- package/dist/src/web-ui/app/lib/message-markdown.d.ts +5 -0
- package/dist/src/web-ui/app/lib/message-markdown.js +99 -0
- package/dist/src/web-ui/app/lib/message-url-policy.d.ts +1 -0
- package/dist/src/web-ui/app/lib/message-url-policy.js +13 -0
- package/dist/src/web-ui/app/lib/schedule-errors.js +29 -0
- package/dist/src/web-ui/app/lib/schedule-message.js +30 -0
- package/dist/src/web-ui/app/lib/schedule-presentation.js +81 -0
- package/dist/src/web-ui/app/lib/session-read-state.d.ts +22 -0
- package/dist/src/web-ui/app/lib/session-read-state.js +63 -0
- package/dist/src/web-ui/app/lib/text-format.js +2 -143
- package/dist/src/web-ui/app/lib/tool-activity-event.d.ts +26 -0
- package/dist/src/web-ui/app/lib/tool-activity-event.js +228 -0
- package/dist/src/web-ui/app/lib/tool-activity-model.d.ts +41 -0
- package/dist/src/web-ui/app/lib/tool-activity-model.js +255 -0
- package/dist/src/web-ui/app/lib/tool-timeline.d.ts +3 -0
- package/dist/src/web-ui/app/lib/tool-timeline.js +18 -0
- package/dist/src/web-ui/app/schedules-feature.js +87 -0
- package/dist/src/web-ui/app/services/message-link-preview-client.d.ts +14 -0
- package/dist/src/web-ui/app/services/message-link-preview-client.js +96 -0
- package/dist/src/web-ui/app/services/runtime-web-client/schedules.js +51 -0
- package/dist/src/web-ui/app/services/runtime-web-client.d.ts +37 -0
- package/dist/src/web-ui/app/services/runtime-web-client.js +13 -8
- package/dist/src/web-ui/app/styles/00-tokens-base.css +11 -11
- package/dist/src/web-ui/app/styles/18-dashboard.css +384 -0
- package/dist/src/web-ui/app/styles/20-chat-composer.css +1 -130
- package/dist/src/web-ui/app/styles/26-message-content.css +295 -0
- package/dist/src/web-ui/app/styles/27-conversation-tools.css +266 -0
- package/dist/src/web-ui/app/styles/28-conversation-status.css +52 -0
- package/dist/src/web-ui/app/styles/38-schedule-workspace.css +263 -0
- package/dist/src/web-ui/app/styles/38-schedules.css +352 -0
- package/dist/src/web-ui/app/styles/90-responsive.css +14 -0
- package/dist/src/web-ui/app/styles/91-schedules-responsive.css +72 -0
- package/dist/src/web-ui/app/styles/92-dashboard-responsive.css +88 -0
- package/dist/src/web-ui/app/styles.css +8 -0
- package/dist/src/web-ui/app/ui-behavior.d.ts +1 -1
- package/dist/src/web-ui/app/ui-behavior.js +3 -1
- package/dist/src/web-ui/app/vendor/README.md +15 -0
- package/dist/src/web-ui/app/vendor/markdown-it.LICENSE +22 -0
- package/dist/src/web-ui/app/vendor/markdown-it.js +3003 -0
- package/dist/src/web-ui/link-preview/metadata.d.ts +9 -0
- package/dist/src/web-ui/link-preview/metadata.js +97 -0
- package/dist/src/web-ui/link-preview/preview-cache.d.ts +4 -0
- package/dist/src/web-ui/link-preview/preview-cache.js +23 -0
- package/dist/src/web-ui/link-preview/raster-response.d.ts +9 -0
- package/dist/src/web-ui/link-preview/raster-response.js +49 -0
- package/dist/src/web-ui/link-preview/routes.d.ts +3 -0
- package/dist/src/web-ui/link-preview/routes.js +97 -0
- package/dist/src/web-ui/link-preview/service.d.ts +11 -0
- package/dist/src/web-ui/link-preview/service.js +117 -0
- package/dist/src/web-ui/local-runtime/api-router.d.ts +4 -1
- package/dist/src/web-ui/local-runtime/api-router.js +42 -73
- package/dist/src/web-ui/local-runtime/contracts.d.ts +2 -2
- package/dist/src/web-ui/local-runtime/environment-registry.d.ts +12 -1
- package/dist/src/web-ui/local-runtime/environment-registry.js +38 -3
- package/dist/src/web-ui/local-runtime/realtime-controller.js +3 -1
- package/dist/src/web-ui/local-runtime/request-execution.d.ts +5 -1
- package/dist/src/web-ui/local-runtime/request-execution.js +38 -2
- package/dist/src/web-ui/local-runtime/schedule-job-creation.d.ts +7 -0
- package/dist/src/web-ui/local-runtime/schedule-job-creation.js +62 -0
- package/dist/src/web-ui/local-runtime/schedule-management-routes.d.ts +30 -0
- package/dist/src/web-ui/local-runtime/schedule-management-routes.js +134 -0
- package/dist/src/web-ui/local-runtime/schedule-run-page.d.ts +5 -0
- package/dist/src/web-ui/local-runtime/schedule-run-page.js +23 -0
- package/dist/src/web-ui/local-runtime/session-routes.d.ts +17 -0
- package/dist/src/web-ui/local-runtime/session-routes.js +74 -0
- package/dist/src/web-ui/local-runtime-backend.d.ts +2 -0
- package/dist/src/web-ui/local-runtime-backend.js +11 -1
- package/dist/src/web-ui/schedule-creation-contract.d.ts +7 -0
- package/dist/src/web-ui/schedule-creation-contract.js +1 -0
- package/dist/src/web-ui/server-shutdown.d.ts +4 -0
- package/dist/src/web-ui/server-shutdown.js +32 -0
- package/dist/src/web-ui/server.js +13 -10
- package/dist/src/web-ui/session-read-state/availability.d.ts +16 -0
- package/dist/src/web-ui/session-read-state/availability.js +20 -0
- package/dist/src/web-ui/session-read-state/projection.d.ts +17 -0
- package/dist/src/web-ui/session-read-state/projection.js +71 -0
- package/dist/src/web-ui/session-read-state/service.d.ts +86 -0
- package/dist/src/web-ui/session-read-state/service.js +89 -0
- package/dist/src/web-ui/session-read-state/store.d.ts +22 -0
- package/dist/src/web-ui/session-read-state/store.js +110 -0
- package/docs/configuration.md +41 -1
- package/docs/long-term-memory.md +46 -5
- package/docs/plugins.md +15 -9
- package/docs/runtime-invariant-coverage.md +1 -1
- package/docs/runtime-library.md +23 -0
- package/docs/runtime-public-contracts.md +32 -1
- package/package.json +3 -1
- package/plugins/code-outline/plugin.json +15 -0
- package/plugins/document-reader/plugin.json +17 -0
- package/plugins/exec/plugin.json +3 -3
- package/plugins/exec/skills/exec_skill/SKILL.md +1 -1
- package/plugins/exec/source/process-manager.ts +1 -20
- package/plugins/exec/source/shell-platform.ts +29 -0
- package/plugins/exec/src/index.cjs +25 -18
- package/plugins/filesystem/plugin.json +17 -2
- package/plugins/filesystem/source/atomic-write.ts +9 -0
- package/plugins/filesystem/source/bounded-io.ts +5 -99
- package/plugins/filesystem/source/directory-authority-write.ts +64 -0
- package/plugins/filesystem/source/directory-sample-task.ts +23 -0
- package/plugins/filesystem/source/directory-sample.ts +132 -0
- package/plugins/filesystem/source/directory-write-task.ts +160 -0
- package/plugins/filesystem/source/mutation-parent.ts +11 -0
- package/plugins/filesystem/src/index.cjs +693 -118
- package/plugins/json-inspector/plugin.json +12 -0
- package/plugins/local-search/plugin.json +12 -0
- package/plugins/local-search/source/index.ts +2 -0
- package/plugins/local-search/source/paths.ts +30 -7
- package/plugins/local-search/source/ripgrep-process.ts +69 -0
- package/plugins/local-search/source/ripgrep.ts +19 -23
- package/plugins/local-search/src/index.cjs +295 -32
- package/plugins/memory/plugin.json +26 -1
- package/plugins/memory/source/index.ts +10 -6
- package/plugins/memory/src/index.cjs +11 -7
- package/plugins/project-orientation/plugin.json +14 -0
- package/plugins/web/source/aggregate-gate.ts +8 -130
- package/plugins/web/source/deadline.ts +14 -50
- package/plugins/web/source/errors.ts +17 -11
- package/plugins/web/source/limits.ts +3 -6
- package/plugins/web/source/network-policy.ts +28 -226
- package/plugins/web/source/public-http.ts +17 -142
- package/plugins/web/source/request-hop.ts +11 -191
- package/plugins/web/src/index.cjs +119 -59
- package/runtime.config.schema.json +7 -0
- package/src/runtime/README.md +105 -1
- package/src/runtime/local-host/README.md +86 -0
- package/src/runtime/scheduler/README.md +166 -0
|
@@ -36,7 +36,7 @@ __export(index_exports, {
|
|
|
36
36
|
default: () => index_default
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(index_exports);
|
|
39
|
-
var
|
|
39
|
+
var import_node_path3 = require("node:path");
|
|
40
40
|
|
|
41
41
|
// src/plugin-sdk/bounds.ts
|
|
42
42
|
function sanitizeJsonText(value) {
|
|
@@ -312,7 +312,12 @@ function authorityUnavailable() {
|
|
|
312
312
|
);
|
|
313
313
|
}
|
|
314
314
|
async function openSearchAuthority(target) {
|
|
315
|
-
|
|
315
|
+
const supportsSearchAuthority = ["linux", "darwin"].includes(
|
|
316
|
+
process.platform
|
|
317
|
+
);
|
|
318
|
+
if (!supportsSearchAuthority) throw authorityUnavailable();
|
|
319
|
+
const supportsAuthorityOpenFlags = Number.isInteger(import_node_fs.constants.O_NOFOLLOW) && Number.isInteger(import_node_fs.constants.O_NONBLOCK);
|
|
320
|
+
if (!supportsAuthorityOpenFlags) {
|
|
316
321
|
throw authorityUnavailable();
|
|
317
322
|
}
|
|
318
323
|
let handle;
|
|
@@ -339,21 +344,32 @@ async function openSearchAuthority(target) {
|
|
|
339
344
|
}
|
|
340
345
|
const [pathIdentity, descriptorIdentity] = await Promise.all([
|
|
341
346
|
(0, import_promises.stat)(canonicalTarget, { bigint: true }),
|
|
342
|
-
(0, import_promises.stat)(`/proc/self/fd/${handle.fd}`, { bigint: true })
|
|
347
|
+
process.platform === "linux" ? (0, import_promises.stat)(`/proc/self/fd/${handle.fd}`, { bigint: true }) : handle.stat({ bigint: true })
|
|
343
348
|
]);
|
|
344
349
|
if (!sameIdentity(observed, pathIdentity) || !sameIdentity(observed, descriptorIdentity)) {
|
|
345
350
|
throw authorityUnavailable();
|
|
346
351
|
}
|
|
347
352
|
const authority = handle;
|
|
348
353
|
const isFile = observed.isFile();
|
|
354
|
+
const needsDirectoryBridge = !isFile && process.platform === "darwin";
|
|
355
|
+
let commandDirectory = "/";
|
|
356
|
+
if (!isFile) {
|
|
357
|
+
commandDirectory = process.platform === "linux" ? `/proc/self/fd/${authority.fd}` : canonicalTarget;
|
|
358
|
+
}
|
|
349
359
|
let closed = false;
|
|
350
360
|
handle = void 0;
|
|
351
361
|
return Object.freeze({
|
|
352
362
|
target,
|
|
353
363
|
isFile,
|
|
354
|
-
commandDirectory
|
|
364
|
+
commandDirectory,
|
|
355
365
|
commandTarget: isFile ? "-" : ".",
|
|
356
366
|
...isFile ? { stdinFd: authority.fd } : {},
|
|
367
|
+
...needsDirectoryBridge ? {
|
|
368
|
+
directoryAuthority: {
|
|
369
|
+
directoryPath: canonicalTarget,
|
|
370
|
+
directoryFd: authority.fd
|
|
371
|
+
}
|
|
372
|
+
} : {},
|
|
357
373
|
close: async () => {
|
|
358
374
|
if (closed) return;
|
|
359
375
|
closed = true;
|
|
@@ -411,9 +427,260 @@ function qualifyMatchPath(context, root, rawPath) {
|
|
|
411
427
|
}
|
|
412
428
|
|
|
413
429
|
// plugins/local-search/source/ripgrep.ts
|
|
414
|
-
var import_node_child_process = require("node:child_process");
|
|
415
430
|
var import_node_util = require("node:util");
|
|
431
|
+
|
|
432
|
+
// plugins/local-search/source/ripgrep-process.ts
|
|
433
|
+
var import_node_child_process2 = require("node:child_process");
|
|
416
434
|
var import_ripgrep = require("@vscode/ripgrep");
|
|
435
|
+
|
|
436
|
+
// src/shared/directory-authority/command.ts
|
|
437
|
+
var import_node_child_process = require("node:child_process");
|
|
438
|
+
|
|
439
|
+
// src/shared/directory-authority/bootstrap.ts
|
|
440
|
+
function directoryAuthorityBootstrap(mode, messageLimit, task) {
|
|
441
|
+
const fs = require("node:fs");
|
|
442
|
+
function fail(code, message) {
|
|
443
|
+
throw Object.assign(new Error(message), { code });
|
|
444
|
+
}
|
|
445
|
+
function verifyDirectoryAuthority() {
|
|
446
|
+
const expected = fs.fstatSync(3, { bigint: true });
|
|
447
|
+
const actual = fs.statSync(".", { bigint: true });
|
|
448
|
+
const matchesHeldDirectory = expected.isDirectory() && actual.isDirectory() && expected.dev === actual.dev && expected.ino === actual.ino;
|
|
449
|
+
if (matchesHeldDirectory) return;
|
|
450
|
+
fail(
|
|
451
|
+
"directory_authority_changed",
|
|
452
|
+
"The directory changed before the operation could establish its authority."
|
|
453
|
+
);
|
|
454
|
+
}
|
|
455
|
+
function readRequest() {
|
|
456
|
+
const fd = mode === "task" ? 0 : 4;
|
|
457
|
+
const chunk = Buffer.alloc(64 * 1024);
|
|
458
|
+
const chunks = [];
|
|
459
|
+
let total = 0;
|
|
460
|
+
for (; ; ) {
|
|
461
|
+
const length = fs.readSync(fd, chunk, 0, chunk.length, null);
|
|
462
|
+
if (length === 0) break;
|
|
463
|
+
total += length;
|
|
464
|
+
if (total > messageLimit) {
|
|
465
|
+
fail(
|
|
466
|
+
"directory_authority_request_too_large",
|
|
467
|
+
"The directory operation input exceeds the bridge byte limit."
|
|
468
|
+
);
|
|
469
|
+
}
|
|
470
|
+
chunks.push(Buffer.from(chunk.subarray(0, length)));
|
|
471
|
+
}
|
|
472
|
+
return JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
473
|
+
}
|
|
474
|
+
function reportFailure(error) {
|
|
475
|
+
const detail = error;
|
|
476
|
+
const code = typeof detail?.code === "string" ? detail.code.slice(0, 256) : "directory_authority_failed";
|
|
477
|
+
const message = typeof detail?.message === "string" ? detail.message.slice(0, 4096) : "The directory operation failed.";
|
|
478
|
+
let encoded;
|
|
479
|
+
try {
|
|
480
|
+
encoded = JSON.stringify({
|
|
481
|
+
ok: false,
|
|
482
|
+
error: { code, message, data: detail?.data }
|
|
483
|
+
});
|
|
484
|
+
if (Buffer.byteLength(encoded) > messageLimit) throw new Error();
|
|
485
|
+
} catch {
|
|
486
|
+
encoded = JSON.stringify({ ok: false, error: { code, message } });
|
|
487
|
+
}
|
|
488
|
+
writeResponse(mode === "task" ? 1 : 2, encoded);
|
|
489
|
+
process.exitCode = mode === "task" ? 0 : 125;
|
|
490
|
+
}
|
|
491
|
+
function writeResponse(fd, encoded) {
|
|
492
|
+
const bytes = Buffer.from(encoded);
|
|
493
|
+
let offset = 0;
|
|
494
|
+
while (offset < bytes.length) {
|
|
495
|
+
offset += fs.writeSync(fd, bytes, offset, bytes.length - offset);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
async function runTask(input) {
|
|
499
|
+
if (!task)
|
|
500
|
+
fail("directory_authority_failed", "The directory task is missing.");
|
|
501
|
+
const result = await task(input);
|
|
502
|
+
const encoded = JSON.stringify({ ok: true, result });
|
|
503
|
+
if (Buffer.byteLength(encoded) > messageLimit) {
|
|
504
|
+
fail(
|
|
505
|
+
"directory_authority_result_too_large",
|
|
506
|
+
"The directory operation result exceeds the bridge byte limit."
|
|
507
|
+
);
|
|
508
|
+
}
|
|
509
|
+
writeResponse(1, encoded);
|
|
510
|
+
}
|
|
511
|
+
function runCommand(input) {
|
|
512
|
+
const { spawn: spawn3 } = require("node:child_process");
|
|
513
|
+
const command = input;
|
|
514
|
+
const child = spawn3(command.command, command.args, {
|
|
515
|
+
stdio: ["ignore", "inherit", "inherit"],
|
|
516
|
+
env: process.env
|
|
517
|
+
});
|
|
518
|
+
child.once("error", reportFailure);
|
|
519
|
+
child.once("exit", (code, signal) => {
|
|
520
|
+
if (signal) {
|
|
521
|
+
process.kill(process.pid, signal);
|
|
522
|
+
return;
|
|
523
|
+
}
|
|
524
|
+
if (typeof code === "number") process.exitCode = code;
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
try {
|
|
528
|
+
verifyDirectoryAuthority();
|
|
529
|
+
const input = readRequest();
|
|
530
|
+
if (mode === "command") {
|
|
531
|
+
runCommand(input);
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
void runTask(input).catch(reportFailure);
|
|
535
|
+
} catch (error) {
|
|
536
|
+
reportFailure(error);
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
function directoryAuthorityScript(mode, messageLimit, task) {
|
|
540
|
+
const taskSource = task ? `(${task.toString()})` : "undefined";
|
|
541
|
+
const preserveFunctionName = "const __name=(target,value)=>Object.defineProperty(target,'name',{value,configurable:true});";
|
|
542
|
+
return `${preserveFunctionName}(${directoryAuthorityBootstrap.toString()})(${JSON.stringify(mode)},${messageLimit},${taskSource});`;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
// src/shared/directory-authority/protocol.ts
|
|
546
|
+
var import_node_path2 = require("node:path");
|
|
547
|
+
|
|
548
|
+
// src/shared/directory-authority/errors.ts
|
|
549
|
+
var DirectoryAuthorityError = class extends Error {
|
|
550
|
+
constructor(code, message, data) {
|
|
551
|
+
super(message);
|
|
552
|
+
this.code = code;
|
|
553
|
+
this.data = data;
|
|
554
|
+
this.name = "DirectoryAuthorityError";
|
|
555
|
+
}
|
|
556
|
+
code;
|
|
557
|
+
data;
|
|
558
|
+
};
|
|
559
|
+
|
|
560
|
+
// src/shared/directory-authority/protocol.ts
|
|
561
|
+
var AUTHORITY_MESSAGE_LIMIT = 8 * 1024 * 1024;
|
|
562
|
+
var AUTHORITY_STDERR_LIMIT = 16 * 1024;
|
|
563
|
+
function assertDirectoryAuthorityLocation(location) {
|
|
564
|
+
if (!(0, import_node_path2.isAbsolute)(location.directoryPath)) {
|
|
565
|
+
throw new DirectoryAuthorityError(
|
|
566
|
+
"directory_authority_invalid_path",
|
|
567
|
+
"The directory authority requires an absolute starting path."
|
|
568
|
+
);
|
|
569
|
+
}
|
|
570
|
+
const hasOpenDescriptorNumber = Number.isInteger(location.directoryFd) && location.directoryFd >= 0;
|
|
571
|
+
if (hasOpenDescriptorNumber) return;
|
|
572
|
+
throw new DirectoryAuthorityError(
|
|
573
|
+
"directory_authority_invalid_fd",
|
|
574
|
+
"The directory authority requires an open directory descriptor."
|
|
575
|
+
);
|
|
576
|
+
}
|
|
577
|
+
function authorityEnvironment(environment = process.env) {
|
|
578
|
+
const sanitized = { ...environment };
|
|
579
|
+
delete sanitized.NODE_OPTIONS;
|
|
580
|
+
delete sanitized.NODE_PATH;
|
|
581
|
+
return sanitized;
|
|
582
|
+
}
|
|
583
|
+
function encodeAuthorityRequest(input) {
|
|
584
|
+
let encoded;
|
|
585
|
+
try {
|
|
586
|
+
encoded = JSON.stringify(input);
|
|
587
|
+
} catch {
|
|
588
|
+
throw new DirectoryAuthorityError(
|
|
589
|
+
"directory_authority_invalid_request",
|
|
590
|
+
"The directory operation input must be JSON serializable."
|
|
591
|
+
);
|
|
592
|
+
}
|
|
593
|
+
if (encoded === void 0) {
|
|
594
|
+
throw new DirectoryAuthorityError(
|
|
595
|
+
"directory_authority_invalid_request",
|
|
596
|
+
"The directory operation input must be JSON serializable."
|
|
597
|
+
);
|
|
598
|
+
}
|
|
599
|
+
if (Buffer.byteLength(encoded) <= AUTHORITY_MESSAGE_LIMIT) return encoded;
|
|
600
|
+
throw new DirectoryAuthorityError(
|
|
601
|
+
"directory_authority_request_too_large",
|
|
602
|
+
"The directory operation input exceeds the bridge byte limit."
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
// src/shared/directory-authority/command.ts
|
|
607
|
+
function spawnDirectoryAuthorityCommand(input) {
|
|
608
|
+
assertDirectoryAuthorityLocation(input);
|
|
609
|
+
const request = encodeAuthorityRequest({
|
|
610
|
+
command: input.command,
|
|
611
|
+
args: input.args
|
|
612
|
+
});
|
|
613
|
+
const child = (0, import_node_child_process.spawn)(
|
|
614
|
+
process.execPath,
|
|
615
|
+
[
|
|
616
|
+
"--input-type=commonjs",
|
|
617
|
+
"-e",
|
|
618
|
+
directoryAuthorityScript("command", AUTHORITY_MESSAGE_LIMIT)
|
|
619
|
+
],
|
|
620
|
+
{
|
|
621
|
+
cwd: input.directoryPath,
|
|
622
|
+
env: authorityEnvironment(input.env),
|
|
623
|
+
detached: true,
|
|
624
|
+
windowsHide: true,
|
|
625
|
+
stdio: ["ignore", "pipe", "pipe", input.directoryFd, "pipe"]
|
|
626
|
+
}
|
|
627
|
+
);
|
|
628
|
+
const requestPipe = child.stdio[4];
|
|
629
|
+
requestPipe?.on("error", () => void 0);
|
|
630
|
+
requestPipe?.end(request);
|
|
631
|
+
return child;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
// plugins/local-search/source/ripgrep-process.ts
|
|
635
|
+
function controlledRipgrepEnvironment() {
|
|
636
|
+
const environment = { ...process.env };
|
|
637
|
+
for (const name of Object.keys(environment)) {
|
|
638
|
+
if (name.toUpperCase() === "RIPGREP_CONFIG_PATH") {
|
|
639
|
+
delete environment[name];
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
return environment;
|
|
643
|
+
}
|
|
644
|
+
function terminateAuthorityGroup(child) {
|
|
645
|
+
if (!child.pid) {
|
|
646
|
+
child.kill("SIGKILL");
|
|
647
|
+
return;
|
|
648
|
+
}
|
|
649
|
+
try {
|
|
650
|
+
process.kill(-child.pid, "SIGKILL");
|
|
651
|
+
} catch (error) {
|
|
652
|
+
const groupAlreadyExited = error.code === "ESRCH";
|
|
653
|
+
if (groupAlreadyExited) return;
|
|
654
|
+
throw error;
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
function spawnRipgrepProcess(args, cwd, stdinFd, directoryAuthority) {
|
|
658
|
+
const commandArgs = ["--no-config", ...args];
|
|
659
|
+
const env = controlledRipgrepEnvironment();
|
|
660
|
+
if (directoryAuthority) {
|
|
661
|
+
const child2 = spawnDirectoryAuthorityCommand({
|
|
662
|
+
...directoryAuthority,
|
|
663
|
+
command: import_ripgrep.rgPath,
|
|
664
|
+
args: commandArgs,
|
|
665
|
+
env
|
|
666
|
+
});
|
|
667
|
+
return { child: child2, terminate: () => terminateAuthorityGroup(child2) };
|
|
668
|
+
}
|
|
669
|
+
const child = (0, import_node_child_process2.spawn)(import_ripgrep.rgPath, commandArgs, {
|
|
670
|
+
cwd,
|
|
671
|
+
env,
|
|
672
|
+
stdio: [stdinFd ?? "ignore", "pipe", "pipe"],
|
|
673
|
+
windowsHide: true
|
|
674
|
+
});
|
|
675
|
+
return {
|
|
676
|
+
child,
|
|
677
|
+
terminate: () => {
|
|
678
|
+
child.kill("SIGKILL");
|
|
679
|
+
}
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
// plugins/local-search/source/ripgrep.ts
|
|
417
684
|
var SEARCH_TIMEOUT_MS = 1e4;
|
|
418
685
|
var MAX_PATH_RECORD_BYTES = 64 * 1024;
|
|
419
686
|
var MAX_JSON_RECORD_BYTES = 512 * 1024;
|
|
@@ -432,15 +699,6 @@ function escapeRgGlobLiteral(value) {
|
|
|
432
699
|
(character) => "\\*?[]{}!".includes(character) ? `\\${character}` : character
|
|
433
700
|
).join("");
|
|
434
701
|
}
|
|
435
|
-
function controlledRipgrepEnvironment() {
|
|
436
|
-
const environment = { ...process.env };
|
|
437
|
-
for (const name of Object.keys(environment)) {
|
|
438
|
-
if (name.toUpperCase() === "RIPGREP_CONFIG_PATH") {
|
|
439
|
-
delete environment[name];
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
return environment;
|
|
443
|
-
}
|
|
444
702
|
function decodeUtf8Record(bytes, kind) {
|
|
445
703
|
let value;
|
|
446
704
|
try {
|
|
@@ -493,7 +751,7 @@ function createDelimitedParser(params) {
|
|
|
493
751
|
finish: (accept) => parseAvailable(Buffer.alloc(0), true, accept)
|
|
494
752
|
});
|
|
495
753
|
}
|
|
496
|
-
async function runRipgrepBounded(args, cwd, maxResults, parser, signal, stdinFd) {
|
|
754
|
+
async function runRipgrepBounded(args, cwd, maxResults, parser, signal, stdinFd, directoryAuthority) {
|
|
497
755
|
if (signal?.aborted) {
|
|
498
756
|
throw new LocalSearchError(
|
|
499
757
|
"local_search_failed",
|
|
@@ -507,12 +765,12 @@ async function runRipgrepBounded(args, cwd, maxResults, parser, signal, stdinFd)
|
|
|
507
765
|
let timedOut = false;
|
|
508
766
|
let aborted = false;
|
|
509
767
|
let parserError;
|
|
510
|
-
const child
|
|
768
|
+
const { child, terminate } = spawnRipgrepProcess(
|
|
769
|
+
args,
|
|
511
770
|
cwd,
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
});
|
|
771
|
+
stdinFd,
|
|
772
|
+
directoryAuthority
|
|
773
|
+
);
|
|
516
774
|
const cleanup = () => {
|
|
517
775
|
clearTimeout(timeout);
|
|
518
776
|
if (signal && abortListener) {
|
|
@@ -538,17 +796,17 @@ async function runRipgrepBounded(args, cwd, maxResults, parser, signal, stdinFd)
|
|
|
538
796
|
stoppedAfterExtraResult = true;
|
|
539
797
|
if (mayStopProcess) {
|
|
540
798
|
child.stdout.pause();
|
|
541
|
-
|
|
799
|
+
terminate();
|
|
542
800
|
}
|
|
543
801
|
return false;
|
|
544
802
|
};
|
|
545
803
|
const abortListener = () => {
|
|
546
804
|
aborted = true;
|
|
547
|
-
|
|
805
|
+
terminate();
|
|
548
806
|
};
|
|
549
807
|
const timeout = setTimeout(() => {
|
|
550
808
|
timedOut = true;
|
|
551
|
-
|
|
809
|
+
terminate();
|
|
552
810
|
}, SEARCH_TIMEOUT_MS);
|
|
553
811
|
timeout.unref?.();
|
|
554
812
|
child.stdout.on("data", (chunk) => {
|
|
@@ -558,7 +816,7 @@ async function runRipgrepBounded(args, cwd, maxResults, parser, signal, stdinFd)
|
|
|
558
816
|
} catch (error) {
|
|
559
817
|
parserError = error;
|
|
560
818
|
child.stdout.pause();
|
|
561
|
-
|
|
819
|
+
terminate();
|
|
562
820
|
}
|
|
563
821
|
});
|
|
564
822
|
child.stderr.on("data", () => void 0);
|
|
@@ -657,7 +915,7 @@ function parseJsonContentEvent(line) {
|
|
|
657
915
|
text: text.endsWith("\r\n") ? text.slice(0, -2) : text.endsWith("\n") ? text.slice(0, -1) : text
|
|
658
916
|
});
|
|
659
917
|
}
|
|
660
|
-
function runRipgrepPathSearch(args, cwd, maxResults, signal) {
|
|
918
|
+
function runRipgrepPathSearch(args, cwd, maxResults, signal, directoryAuthority) {
|
|
661
919
|
return runRipgrepBounded(
|
|
662
920
|
args,
|
|
663
921
|
cwd,
|
|
@@ -667,10 +925,12 @@ function runRipgrepPathSearch(args, cwd, maxResults, signal) {
|
|
|
667
925
|
maxRecordBytes: MAX_PATH_RECORD_BYTES,
|
|
668
926
|
parse: (record) => decodeUtf8Record(record, "path")
|
|
669
927
|
}),
|
|
670
|
-
signal
|
|
928
|
+
signal,
|
|
929
|
+
void 0,
|
|
930
|
+
directoryAuthority
|
|
671
931
|
);
|
|
672
932
|
}
|
|
673
|
-
function runRipgrepContentSearch(args, cwd, maxResults, signal, stdinFd) {
|
|
933
|
+
function runRipgrepContentSearch(args, cwd, maxResults, signal, stdinFd, directoryAuthority) {
|
|
674
934
|
return runRipgrepBounded(
|
|
675
935
|
args,
|
|
676
936
|
cwd,
|
|
@@ -684,7 +944,8 @@ function runRipgrepContentSearch(args, cwd, maxResults, signal, stdinFd) {
|
|
|
684
944
|
}
|
|
685
945
|
}),
|
|
686
946
|
signal,
|
|
687
|
-
stdinFd
|
|
947
|
+
stdinFd,
|
|
948
|
+
directoryAuthority
|
|
688
949
|
);
|
|
689
950
|
}
|
|
690
951
|
|
|
@@ -692,7 +953,7 @@ function runRipgrepContentSearch(args, cwd, maxResults, signal, stdinFd) {
|
|
|
692
953
|
var DEFAULT_MAX_RESULTS = 40;
|
|
693
954
|
var MAX_RESULTS = 200;
|
|
694
955
|
function fileNameMatches(logicalPath, query, caseSensitive) {
|
|
695
|
-
const filename =
|
|
956
|
+
const filename = import_node_path3.posix.basename(logicalPath);
|
|
696
957
|
return caseSensitive ? filename.includes(query) : filename.toLowerCase().includes(query.toLowerCase());
|
|
697
958
|
}
|
|
698
959
|
var index_default = defineRuntimePlugin((context) => ({
|
|
@@ -727,7 +988,7 @@ var index_default = defineRuntimePlugin((context) => ({
|
|
|
727
988
|
if (mode === "names" || mode === "both") {
|
|
728
989
|
const names = root.isFile ? Object.freeze({
|
|
729
990
|
items: Object.freeze(
|
|
730
|
-
fileNameMatches(root.target.logicalPath, query, caseSensitive) ? [
|
|
991
|
+
fileNameMatches(root.target.logicalPath, query, caseSensitive) ? [import_node_path3.posix.basename(root.target.logicalPath)] : []
|
|
731
992
|
),
|
|
732
993
|
truncated: false
|
|
733
994
|
}) : await runRipgrepPathSearch(
|
|
@@ -743,7 +1004,8 @@ var index_default = defineRuntimePlugin((context) => ({
|
|
|
743
1004
|
],
|
|
744
1005
|
root.commandDirectory,
|
|
745
1006
|
maxResults,
|
|
746
|
-
executionContext?.abortSignal
|
|
1007
|
+
executionContext?.abortSignal,
|
|
1008
|
+
root.directoryAuthority
|
|
747
1009
|
);
|
|
748
1010
|
sourceTruncated ||= names.truncated;
|
|
749
1011
|
for (const rawPath of names.items) {
|
|
@@ -777,7 +1039,8 @@ var index_default = defineRuntimePlugin((context) => ({
|
|
|
777
1039
|
root.commandDirectory,
|
|
778
1040
|
remaining,
|
|
779
1041
|
executionContext?.abortSignal,
|
|
780
|
-
root.stdinFd
|
|
1042
|
+
root.stdinFd,
|
|
1043
|
+
root.directoryAuthority
|
|
781
1044
|
);
|
|
782
1045
|
sourceTruncated ||= content.truncated;
|
|
783
1046
|
for (const match of content.items) {
|
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
"description": "Read one bounded page of stored memory entries (deterministic, no inference)",
|
|
14
14
|
"routingCapability": "semantic_lookup",
|
|
15
15
|
"developmentRoles": ["inspect"],
|
|
16
|
+
"eventPresentation": {
|
|
17
|
+
"metadata": {},
|
|
18
|
+
"resultMetadata": {
|
|
19
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
20
|
+
"returnedItemCount": { "path": "data.returnedItemCount", "kind": "number" },
|
|
21
|
+
"totalItemCount": { "path": "data.itemCount", "kind": "number" },
|
|
22
|
+
"sourceTruncated": { "path": "data.truncated", "kind": "boolean" },
|
|
23
|
+
"nextOffset": { "path": "data.nextOffset", "kind": "number" }
|
|
24
|
+
}
|
|
25
|
+
},
|
|
16
26
|
"skills": ["memory_lookup_skill"],
|
|
17
27
|
"operations": {
|
|
18
28
|
"list_memory": {
|
|
@@ -54,6 +64,12 @@
|
|
|
54
64
|
"kind": "number",
|
|
55
65
|
"default": 1
|
|
56
66
|
}
|
|
67
|
+
},
|
|
68
|
+
"resultMetadata": {
|
|
69
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
70
|
+
"returnedItemCount": { "path": "data.returnedItemCount", "kind": "number" },
|
|
71
|
+
"totalItemCount": { "path": "data.itemCount", "kind": "number" },
|
|
72
|
+
"sourceTruncated": { "path": "data.truncated", "kind": "boolean" }
|
|
57
73
|
}
|
|
58
74
|
},
|
|
59
75
|
"skills": ["memory_lookup_skill"],
|
|
@@ -86,7 +102,12 @@
|
|
|
86
102
|
"contentLength": {
|
|
87
103
|
"param": "content",
|
|
88
104
|
"kind": "length"
|
|
89
|
-
}
|
|
105
|
+
},
|
|
106
|
+
"inputPreview": { "param": "content", "kind": "string" }
|
|
107
|
+
},
|
|
108
|
+
"resultMetadata": {
|
|
109
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
110
|
+
"savedId": { "path": "data.id", "kind": "preview" }
|
|
90
111
|
}
|
|
91
112
|
},
|
|
92
113
|
"skills": ["memory_mutation_skill"],
|
|
@@ -120,6 +141,10 @@
|
|
|
120
141
|
"param": "id",
|
|
121
142
|
"kind": "string"
|
|
122
143
|
}
|
|
144
|
+
},
|
|
145
|
+
"resultMetadata": {
|
|
146
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
147
|
+
"deletedCount": { "path": "data.deletedCount", "kind": "number" }
|
|
123
148
|
}
|
|
124
149
|
},
|
|
125
150
|
"skills": ["memory_mutation_skill"],
|
|
@@ -170,23 +170,27 @@ export default defineRuntimePlugin((context) => {
|
|
|
170
170
|
maxLength: 128,
|
|
171
171
|
});
|
|
172
172
|
const deletedCount = await store.delete(id);
|
|
173
|
+
const hasDeletedMemoryEntries = deletedCount > 0;
|
|
173
174
|
return successResult({
|
|
174
175
|
output: [
|
|
175
|
-
`Memory delete: ${
|
|
176
|
+
`Memory delete: ${hasDeletedMemoryEntries ? "success" : "no_match"}`,
|
|
176
177
|
`id: ${id}`,
|
|
177
178
|
`deleted: ${deletedCount}`,
|
|
178
|
-
...(
|
|
179
|
+
...(hasDeletedMemoryEntries
|
|
179
180
|
? []
|
|
180
181
|
: [
|
|
181
182
|
"No memory entry matched that ID. Retrieve memory before retrying.",
|
|
182
183
|
]),
|
|
183
184
|
].join("\n"),
|
|
184
|
-
progress:
|
|
185
|
-
producedNewInformation:
|
|
186
|
-
|
|
185
|
+
progress: hasDeletedMemoryEntries,
|
|
186
|
+
producedNewInformation: hasDeletedMemoryEntries,
|
|
187
|
+
data: {
|
|
188
|
+
...(hasDeletedMemoryEntries ? { mutationEvidence: true } : {}),
|
|
189
|
+
deletedCount,
|
|
190
|
+
},
|
|
191
|
+
...(hasDeletedMemoryEntries
|
|
187
192
|
? {
|
|
188
193
|
actions: [{ type: "memory_delete", target: id }],
|
|
189
|
-
data: { mutationEvidence: true, deletedCount },
|
|
190
194
|
}
|
|
191
195
|
: {}),
|
|
192
196
|
});
|
|
@@ -1057,20 +1057,24 @@ Memory matches: ${result.totalMatches}`,
|
|
|
1057
1057
|
maxLength: 128
|
|
1058
1058
|
});
|
|
1059
1059
|
const deletedCount = await store.delete(id);
|
|
1060
|
+
const hasDeletedMemoryEntries = deletedCount > 0;
|
|
1060
1061
|
return successResult({
|
|
1061
1062
|
output: [
|
|
1062
|
-
`Memory delete: ${
|
|
1063
|
+
`Memory delete: ${hasDeletedMemoryEntries ? "success" : "no_match"}`,
|
|
1063
1064
|
`id: ${id}`,
|
|
1064
1065
|
`deleted: ${deletedCount}`,
|
|
1065
|
-
...
|
|
1066
|
+
...hasDeletedMemoryEntries ? [] : [
|
|
1066
1067
|
"No memory entry matched that ID. Retrieve memory before retrying."
|
|
1067
1068
|
]
|
|
1068
1069
|
].join("\n"),
|
|
1069
|
-
progress:
|
|
1070
|
-
producedNewInformation:
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1070
|
+
progress: hasDeletedMemoryEntries,
|
|
1071
|
+
producedNewInformation: hasDeletedMemoryEntries,
|
|
1072
|
+
data: {
|
|
1073
|
+
...hasDeletedMemoryEntries ? { mutationEvidence: true } : {},
|
|
1074
|
+
deletedCount
|
|
1075
|
+
},
|
|
1076
|
+
...hasDeletedMemoryEntries ? {
|
|
1077
|
+
actions: [{ type: "memory_delete", target: id }]
|
|
1074
1078
|
} : {}
|
|
1075
1079
|
});
|
|
1076
1080
|
} catch (error) {
|
|
@@ -18,6 +18,20 @@
|
|
|
18
18
|
"inspect_project": {
|
|
19
19
|
"description": "Inspect a bounded project tree. Path `.` and relative paths resolve inside the configured agent work directory; `workspace/...` targets configured workspace sources.",
|
|
20
20
|
"routingCapability": "semantic_lookup",
|
|
21
|
+
"eventPresentation": {
|
|
22
|
+
"metadata": {
|
|
23
|
+
"displayTarget": { "param": "path", "kind": "string" },
|
|
24
|
+
"depth": { "param": "depth", "kind": "number" },
|
|
25
|
+
"maxEntries": { "param": "maxEntries", "kind": "number" }
|
|
26
|
+
},
|
|
27
|
+
"resultMetadata": {
|
|
28
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
29
|
+
"depth": { "path": "data.depth", "kind": "number" },
|
|
30
|
+
"maxEntries": { "path": "data.maxEntries", "kind": "number" },
|
|
31
|
+
"sourceTruncated": { "path": "data.truncation.tree", "kind": "boolean" },
|
|
32
|
+
"outputTruncated": { "path": "data.truncation.output.truncated", "kind": "boolean" }
|
|
33
|
+
}
|
|
34
|
+
},
|
|
21
35
|
"runtimePathBindings": [
|
|
22
36
|
{
|
|
23
37
|
"operationId": "inspect_project",
|