@abot-ai/runtime 1.2.0 → 1.3.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/README.md +14 -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/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/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/filesystem/plugin.json +17 -2
- package/plugins/json-inspector/plugin.json +12 -0
- package/plugins/local-search/plugin.json +12 -0
- 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
package/docs/runtime-library.md
CHANGED
|
@@ -41,12 +41,35 @@ const handle = runtime.host.start({
|
|
|
41
41
|
toolRegistry: runtime.tools,
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
+
await handle.ready;
|
|
45
|
+
|
|
44
46
|
process.on("SIGINT", async () => {
|
|
45
47
|
await handle.stop();
|
|
46
48
|
process.exit(0);
|
|
47
49
|
});
|
|
48
50
|
```
|
|
49
51
|
|
|
52
|
+
The default host starts the scheduler automatically, including persisted Jobs.
|
|
53
|
+
Overlapping handles for the same scheduler share its lifetime: `stop()` closes
|
|
54
|
+
that handle's Bridge, and only the last handle stops the scheduler. `start()` remains
|
|
55
|
+
synchronous for compatibility; the optional `ready` promise exposes asynchronous
|
|
56
|
+
startup errors and requests wait for readiness. A failed startup releases its own
|
|
57
|
+
resources even when a consumer does not read `ready`. Custom injected hosts may
|
|
58
|
+
keep the existing `{ stop }` handle.
|
|
59
|
+
|
|
60
|
+
Supply adapter overrides before starting a host. A different session store,
|
|
61
|
+
configuration, model client, attachment store, tool registry or memory service
|
|
62
|
+
rebuilds the scheduler's request graph as well as ordinary requests. Session
|
|
63
|
+
storage remains backed by the injected store, through the composed deletion
|
|
64
|
+
guard. Use the host's effective graph consistently; do not start the original
|
|
65
|
+
graph alongside its replacement against the same scheduler directory. An event
|
|
66
|
+
observer override alone keeps the existing admission and scheduler lifetime.
|
|
67
|
+
|
|
68
|
+
Session deletion finishes attachment cleanup before acknowledging the deletion
|
|
69
|
+
receipt. An explicit repeat retries only failed cleanup, through the same owner
|
|
70
|
+
for Web, Bridge and local clients. Web shutdown closes HTTP/WebSocket intake and
|
|
71
|
+
prevents new environment initialization before awaiting pending startup work.
|
|
72
|
+
|
|
50
73
|
## Runtime Config
|
|
51
74
|
|
|
52
75
|
The default host reads `runtime.config.json`, then lets environment variables
|
|
@@ -131,7 +131,9 @@ not create `planner.plan.*` state or events.
|
|
|
131
131
|
Runtime capabilities use the stable tool event envelope. Adapter-owned
|
|
132
132
|
presentation metadata supplies the tool, operation and action type; target
|
|
133
133
|
metadata contains only resolved logical paths. Physical
|
|
134
|
-
roots
|
|
134
|
+
roots and opaque subject identities are never exposed. A plugin may opt into
|
|
135
|
+
bounded input or result excerpts through its declared event presentation.
|
|
136
|
+
These excerpts are display data, not additional model instructions or evidence.
|
|
135
137
|
These events describe capability execution only. Only `planner.plan.*` events
|
|
136
138
|
report canonical item-status changes or semantic progress.
|
|
137
139
|
|
|
@@ -146,6 +148,31 @@ Tool events use the current tool execution boundary:
|
|
|
146
148
|
A `tool.completed` event with `ok: true` proves only that the tool step
|
|
147
149
|
succeeded. It does not prove the user request is complete.
|
|
148
150
|
|
|
151
|
+
Registered-tool events may include an optional `executionId` shared by their
|
|
152
|
+
payload, approval and execution stages. Clients correlate with
|
|
153
|
+
`(requestId, executionId)` rather than matching tool names or arrival order.
|
|
154
|
+
Payload publication still occurs after canonical admission. Older events without
|
|
155
|
+
this field do not establish a lifecycle pairing.
|
|
156
|
+
|
|
157
|
+
The same adapter boundary may include `executorRole` and `roleCallId` from the
|
|
158
|
+
canonical role call. Clients can place the action under its executor even when
|
|
159
|
+
the active role has changed before completion. These fields are display identity;
|
|
160
|
+
they do not change runtime stages, tool parameters, approval inputs or evidence.
|
|
161
|
+
The root role identifier remains `supervisor` regardless of its selected contract.
|
|
162
|
+
|
|
163
|
+
`eventPresentation.resultMetadata` maps optional display keys to existing tool
|
|
164
|
+
result fields through `{path, kind}` descriptors. Paths select `output` or an
|
|
165
|
+
own-property path under `data` (at most four segments). Kinds are `preview`,
|
|
166
|
+
`number` and `boolean`, with at most 16 mappings. A preview is limited to 1,200
|
|
167
|
+
characters and 20 lines, with a 2,400-character total preview budget per event;
|
|
168
|
+
its companion `<key>Truncated` flag describes preview clipping, independently
|
|
169
|
+
of source-result truncation. Missing or mismatched fields are omitted. Valid
|
|
170
|
+
declared values take precedence over generic metadata; omitted fields retain
|
|
171
|
+
the existing fallback metadata. Projection
|
|
172
|
+
does not mutate tool results, canonical evidence, action references or model
|
|
173
|
+
context. The client renders excerpts as inert text and never reconstructs an
|
|
174
|
+
old result by re-reading the current file or memory store.
|
|
175
|
+
|
|
149
176
|
## ToolRegistry
|
|
150
177
|
|
|
151
178
|
`ToolRegistry` owns active tool capability discovery and execution:
|
|
@@ -177,6 +204,10 @@ retained for compatibility. They must not select a request path or role.
|
|
|
177
204
|
Model-facing availability and controls come from the registered
|
|
178
205
|
`normalInvocation` contract.
|
|
179
206
|
|
|
207
|
+
A normal-invocation contract accepts at most 32 operations. This bounds the
|
|
208
|
+
registered operation catalog; it does not limit invocation frequency or the
|
|
209
|
+
number of user-created scheduled Jobs.
|
|
210
|
+
|
|
180
211
|
Every plugin-handler return is normalized by `ToolRegistry` into one complete
|
|
181
212
|
`ToolExecutionResult`, whether the operation succeeds or fails. The selected
|
|
182
213
|
tool identity is Runtime-owned; plugins provide the operation result. The
|
package/package.json
CHANGED
|
@@ -83,6 +83,8 @@
|
|
|
83
83
|
"dist/src/web-ui/",
|
|
84
84
|
"runtime.config.schema.json",
|
|
85
85
|
"src/runtime/README.md",
|
|
86
|
+
"src/runtime/scheduler/README.md",
|
|
87
|
+
"src/runtime/local-host/README.md",
|
|
86
88
|
"LICENSE",
|
|
87
89
|
"docs/architecture.md",
|
|
88
90
|
"docs/bridge-compatibility.md",
|
|
@@ -172,5 +174,5 @@
|
|
|
172
174
|
},
|
|
173
175
|
"type": "module",
|
|
174
176
|
"types": "./dist/src/runtime/index.d.ts",
|
|
175
|
-
"version": "1.
|
|
177
|
+
"version": "1.3.0"
|
|
176
178
|
}
|
|
@@ -17,6 +17,21 @@
|
|
|
17
17
|
"inspect_code_outline": {
|
|
18
18
|
"description": "Extract a bounded outline of symbols, selectors, elements, and imports from one source file beneath the configured agent work directory or configured workspace sources, without returning the full file.",
|
|
19
19
|
"routingCapability": "semantic_lookup",
|
|
20
|
+
"eventPresentation": {
|
|
21
|
+
"metadata": {
|
|
22
|
+
"displayTarget": { "param": "path", "kind": "string" },
|
|
23
|
+
"maxSymbols": { "param": "maxSymbols", "kind": "number" }
|
|
24
|
+
},
|
|
25
|
+
"resultMetadata": {
|
|
26
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
27
|
+
"lineCount": { "path": "data.lineCount", "kind": "number" },
|
|
28
|
+
"returnedItemCount": { "path": "data.truncation.returnedSymbols", "kind": "number" },
|
|
29
|
+
"totalItemCount": { "path": "data.truncation.totalSymbols", "kind": "number" },
|
|
30
|
+
"sourceTruncated": { "path": "data.truncation.symbolsTruncated", "kind": "boolean" },
|
|
31
|
+
"importsTruncated": { "path": "data.truncation.importsTruncated", "kind": "boolean" },
|
|
32
|
+
"outputTruncated": { "path": "data.truncation.output.truncated", "kind": "boolean" }
|
|
33
|
+
}
|
|
34
|
+
},
|
|
20
35
|
"runtimePathBindings": [
|
|
21
36
|
{
|
|
22
37
|
"operationId": "inspect_code_outline",
|
|
@@ -13,6 +13,23 @@
|
|
|
13
13
|
"description": "Extract bounded text from an attached or configured-root PDF, DOCX, XLSX, PPTX, TXT, CSV, Markdown, JSON, or RTF document. Use source for an attachment id/name or configured-root path. Use source_mode=working_path with path for a runtime/session artifact beneath the current execution working directory. Document bytes remain outside model context, and results expose only attachment identities or logical runtime paths.",
|
|
14
14
|
"routingCapability": "filesystem_inspection",
|
|
15
15
|
"developmentRoles": ["inspect", "verify"],
|
|
16
|
+
"eventPresentation": {
|
|
17
|
+
"metadata": {
|
|
18
|
+
"source": { "param": "source", "kind": "string" },
|
|
19
|
+
"displayTarget": { "param": "path", "kind": "string" },
|
|
20
|
+
"sourceMode": { "param": "source_mode", "kind": "string" },
|
|
21
|
+
"startChar": { "param": "start_char", "kind": "number" },
|
|
22
|
+
"maxChars": { "param": "max_chars", "kind": "number" }
|
|
23
|
+
},
|
|
24
|
+
"resultMetadata": {
|
|
25
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
26
|
+
"startChar": { "path": "data.startChar", "kind": "number" },
|
|
27
|
+
"endChar": { "path": "data.endChar", "kind": "number" },
|
|
28
|
+
"totalCharacters": { "path": "data.totalCharacters", "kind": "number" },
|
|
29
|
+
"inputBytes": { "path": "data.inputBytes", "kind": "number" },
|
|
30
|
+
"sourceTruncated": { "path": "data.truncated", "kind": "boolean" }
|
|
31
|
+
}
|
|
32
|
+
},
|
|
16
33
|
"runtimePathBindings": [
|
|
17
34
|
{
|
|
18
35
|
"operationId": "read_document",
|
|
@@ -26,6 +26,9 @@
|
|
|
26
26
|
"startLine": { "param": "start_line", "kind": "number" },
|
|
27
27
|
"endLine": { "param": "end_line", "kind": "number" },
|
|
28
28
|
"locator": { "param": "locator", "kind": "string" }
|
|
29
|
+
},
|
|
30
|
+
"resultMetadata": {
|
|
31
|
+
"outputPreview": { "path": "output", "kind": "preview" }
|
|
29
32
|
}
|
|
30
33
|
},
|
|
31
34
|
"skills": [],
|
|
@@ -77,7 +80,11 @@
|
|
|
77
80
|
"developmentRoles": ["mutate"],
|
|
78
81
|
"eventPresentation": {
|
|
79
82
|
"metadata": {
|
|
80
|
-
"path": { "param": "path", "kind": "string" }
|
|
83
|
+
"path": { "param": "path", "kind": "string" },
|
|
84
|
+
"inputPreview": { "param": "instruction", "kind": "string" }
|
|
85
|
+
},
|
|
86
|
+
"resultMetadata": {
|
|
87
|
+
"outputPreview": { "path": "output", "kind": "preview" }
|
|
81
88
|
}
|
|
82
89
|
},
|
|
83
90
|
"payloadChannelSpec": {
|
|
@@ -177,6 +184,10 @@
|
|
|
177
184
|
"eventPresentation": {
|
|
178
185
|
"metadata": {
|
|
179
186
|
"path": { "param": "path", "kind": "string" }
|
|
187
|
+
},
|
|
188
|
+
"resultMetadata": {
|
|
189
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
190
|
+
"sourceTruncated": { "path": "data.truncation.truncated", "kind": "boolean" }
|
|
180
191
|
}
|
|
181
192
|
},
|
|
182
193
|
"skills": ["read_file_skill"],
|
|
@@ -208,7 +219,11 @@
|
|
|
208
219
|
"developmentRoles": ["establish", "mutate"],
|
|
209
220
|
"eventPresentation": {
|
|
210
221
|
"metadata": {
|
|
211
|
-
"path": { "param": "path", "kind": "string" }
|
|
222
|
+
"path": { "param": "path", "kind": "string" },
|
|
223
|
+
"inputPreview": { "param": "content", "kind": "string" }
|
|
224
|
+
},
|
|
225
|
+
"resultMetadata": {
|
|
226
|
+
"outputPreview": { "path": "output", "kind": "preview" }
|
|
212
227
|
}
|
|
213
228
|
},
|
|
214
229
|
"payloadChannelSpec": {
|
|
@@ -17,6 +17,18 @@
|
|
|
17
17
|
"inspect_json": {
|
|
18
18
|
"description": "Validate one JSON file and return a bounded structural summary. Relative paths resolve inside the configured agent work directory; `workspace/...` targets configured workspace sources.",
|
|
19
19
|
"routingCapability": "semantic_lookup",
|
|
20
|
+
"eventPresentation": {
|
|
21
|
+
"metadata": {
|
|
22
|
+
"displayTarget": { "param": "path", "kind": "string" },
|
|
23
|
+
"maxDepth": { "param": "maxDepth", "kind": "number" }
|
|
24
|
+
},
|
|
25
|
+
"resultMetadata": {
|
|
26
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
27
|
+
"maxDepth": { "path": "data.maxDepth", "kind": "number" },
|
|
28
|
+
"syntaxValid": { "path": "data.syntaxValid", "kind": "boolean" },
|
|
29
|
+
"outputTruncated": { "path": "data.truncation.output.truncated", "kind": "boolean" }
|
|
30
|
+
}
|
|
31
|
+
},
|
|
20
32
|
"runtimePathBindings": [
|
|
21
33
|
{ "operationId": "inspect_json", "param": "path", "base": "worker_working_directory" }
|
|
22
34
|
],
|
|
@@ -13,6 +13,18 @@
|
|
|
13
13
|
"description": "Search filenames and/or textual file contents beneath the configured agent work directory or explicit workspace sources. The result is bounded and read-only; it never searches outside configured agent data roots.",
|
|
14
14
|
"routingCapability": "filesystem_inspection",
|
|
15
15
|
"developmentRoles": ["inspect"],
|
|
16
|
+
"eventPresentation": {
|
|
17
|
+
"metadata": {
|
|
18
|
+
"query": { "param": "query", "kind": "string" },
|
|
19
|
+
"searchRoot": { "param": "path", "kind": "string" },
|
|
20
|
+
"searchMode": { "param": "mode", "kind": "string" }
|
|
21
|
+
},
|
|
22
|
+
"resultMetadata": {
|
|
23
|
+
"outputPreview": { "path": "output", "kind": "preview" },
|
|
24
|
+
"returnedItemCount": { "path": "data.itemCount", "kind": "number" },
|
|
25
|
+
"sourceTruncated": { "path": "data.truncation.truncated", "kind": "boolean" }
|
|
26
|
+
}
|
|
27
|
+
},
|
|
16
28
|
"runtimePathBindings": [
|
|
17
29
|
{
|
|
18
30
|
"operationId": "search_local_files",
|
|
@@ -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",
|
|
@@ -1,141 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
type Release = () => void;
|
|
5
|
-
|
|
6
|
-
type Waiter = {
|
|
7
|
-
resolve: (release: Release) => void;
|
|
8
|
-
reject: (error: WebPluginError) => void;
|
|
9
|
-
deadline: number;
|
|
10
|
-
abortSignal?: AbortSignal;
|
|
11
|
-
timeout?: NodeJS.Timeout;
|
|
12
|
-
onAbort?: () => void;
|
|
13
|
-
};
|
|
1
|
+
import { createAggregateGate as createSharedGate } from "../../../src/shared/public-http/aggregate-gate.js";
|
|
2
|
+
import { rethrowWebPluginError } from "./errors.js";
|
|
14
3
|
|
|
15
4
|
export function createAggregateGate(maxActive: number, maxQueued: number) {
|
|
16
|
-
|
|
17
|
-
const queue: Waiter[] = [];
|
|
18
|
-
|
|
19
|
-
const startQueued = () => {
|
|
20
|
-
while (active < maxActive && queue.length > 0) {
|
|
21
|
-
const waiter = queue.shift()!;
|
|
22
|
-
clearTimeout(waiter.timeout);
|
|
23
|
-
if (waiter.onAbort) {
|
|
24
|
-
waiter.abortSignal?.removeEventListener("abort", waiter.onAbort);
|
|
25
|
-
}
|
|
26
|
-
if (waiter.abortSignal?.aborted) {
|
|
27
|
-
waiter.reject(
|
|
28
|
-
new WebPluginError(
|
|
29
|
-
"web_request_aborted",
|
|
30
|
-
"The web request was aborted.",
|
|
31
|
-
),
|
|
32
|
-
);
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (waiter.deadline <= Date.now()) {
|
|
36
|
-
waiter.reject(
|
|
37
|
-
new WebPluginError(
|
|
38
|
-
"web_request_timed_out",
|
|
39
|
-
"The upstream web request timed out.",
|
|
40
|
-
),
|
|
41
|
-
);
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
active += 1;
|
|
45
|
-
let released = false;
|
|
46
|
-
waiter.resolve(() => {
|
|
47
|
-
if (released) return;
|
|
48
|
-
released = true;
|
|
49
|
-
active -= 1;
|
|
50
|
-
startQueued();
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const acquire = (
|
|
56
|
-
deadline: number,
|
|
57
|
-
abortSignal?: AbortSignal,
|
|
58
|
-
): Promise<Release> => {
|
|
59
|
-
if (abortSignal?.aborted) {
|
|
60
|
-
return Promise.reject(
|
|
61
|
-
new WebPluginError(
|
|
62
|
-
"web_request_aborted",
|
|
63
|
-
"The web request was aborted.",
|
|
64
|
-
),
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
if (active < maxActive) {
|
|
68
|
-
active += 1;
|
|
69
|
-
let released = false;
|
|
70
|
-
return Promise.resolve(() => {
|
|
71
|
-
if (released) return;
|
|
72
|
-
released = true;
|
|
73
|
-
active -= 1;
|
|
74
|
-
startQueued();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
if (queue.length >= maxQueued) {
|
|
78
|
-
return Promise.reject(
|
|
79
|
-
new WebPluginError(
|
|
80
|
-
"web_request_capacity_exceeded",
|
|
81
|
-
"The web client is at its bounded request capacity.",
|
|
82
|
-
),
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
return new Promise((resolve, reject) => {
|
|
86
|
-
const waiter: Waiter = {
|
|
87
|
-
resolve,
|
|
88
|
-
reject,
|
|
89
|
-
deadline,
|
|
90
|
-
...(abortSignal ? { abortSignal } : {}),
|
|
91
|
-
};
|
|
92
|
-
const remove = () => {
|
|
93
|
-
const index = queue.indexOf(waiter);
|
|
94
|
-
if (index >= 0) queue.splice(index, 1);
|
|
95
|
-
};
|
|
96
|
-
const fail = (error: WebPluginError) => {
|
|
97
|
-
remove();
|
|
98
|
-
clearTimeout(waiter.timeout);
|
|
99
|
-
if (waiter.onAbort) {
|
|
100
|
-
abortSignal?.removeEventListener("abort", waiter.onAbort);
|
|
101
|
-
}
|
|
102
|
-
reject(error);
|
|
103
|
-
};
|
|
104
|
-
waiter.onAbort = () =>
|
|
105
|
-
fail(
|
|
106
|
-
new WebPluginError(
|
|
107
|
-
"web_request_aborted",
|
|
108
|
-
"The web request was aborted.",
|
|
109
|
-
),
|
|
110
|
-
);
|
|
111
|
-
waiter.timeout = setTimeout(
|
|
112
|
-
() =>
|
|
113
|
-
fail(
|
|
114
|
-
new WebPluginError(
|
|
115
|
-
"web_request_timed_out",
|
|
116
|
-
"The upstream web request timed out.",
|
|
117
|
-
),
|
|
118
|
-
),
|
|
119
|
-
remainingTime(deadline),
|
|
120
|
-
);
|
|
121
|
-
waiter.timeout.unref?.();
|
|
122
|
-
abortSignal?.addEventListener("abort", waiter.onAbort, { once: true });
|
|
123
|
-
queue.push(waiter);
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
|
|
5
|
+
const gate = createSharedGate(maxActive, maxQueued);
|
|
127
6
|
return Object.freeze({
|
|
128
7
|
async run<T>(
|
|
129
8
|
operation: () => Promise<T>,
|
|
130
9
|
deadline: number,
|
|
131
10
|
abortSignal?: AbortSignal,
|
|
132
11
|
): Promise<T> {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return await withinDeadline(rawWork, deadline, abortSignal);
|
|
12
|
+
try {
|
|
13
|
+
return await gate.run(operation, deadline, abortSignal);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
return rethrowWebPluginError(error);
|
|
16
|
+
}
|
|
139
17
|
},
|
|
140
18
|
});
|
|
141
19
|
}
|
|
@@ -1,61 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
remainingTime as sharedRemainingTime,
|
|
3
|
+
withinDeadline as sharedWithinDeadline,
|
|
4
|
+
} from "../../../src/shared/public-http/deadline.js";
|
|
5
|
+
import { rethrowWebPluginError } from "./errors.js";
|
|
2
6
|
|
|
3
7
|
export function remainingTime(deadline: number): number {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"The upstream web request timed out.",
|
|
9
|
-
);
|
|
8
|
+
try {
|
|
9
|
+
return sharedRemainingTime(deadline);
|
|
10
|
+
} catch (error) {
|
|
11
|
+
return rethrowWebPluginError(error);
|
|
10
12
|
}
|
|
11
|
-
return remaining;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
|
-
export function withinDeadline<T>(
|
|
15
|
+
export async function withinDeadline<T>(
|
|
15
16
|
promise: Promise<T>,
|
|
16
17
|
deadline: number,
|
|
17
18
|
abortSignal?: AbortSignal,
|
|
18
19
|
): Promise<T> {
|
|
19
|
-
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
);
|
|
20
|
+
try {
|
|
21
|
+
return await sharedWithinDeadline(promise, deadline, abortSignal);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
return rethrowWebPluginError(error);
|
|
23
24
|
}
|
|
24
|
-
return new Promise((resolve, reject) => {
|
|
25
|
-
let settled = false;
|
|
26
|
-
const finish = (operation: () => void) => {
|
|
27
|
-
if (settled) return;
|
|
28
|
-
settled = true;
|
|
29
|
-
clearTimeout(timeout);
|
|
30
|
-
abortSignal?.removeEventListener("abort", onAbort);
|
|
31
|
-
operation();
|
|
32
|
-
};
|
|
33
|
-
const onAbort = () =>
|
|
34
|
-
finish(() =>
|
|
35
|
-
reject(
|
|
36
|
-
new WebPluginError(
|
|
37
|
-
"web_request_aborted",
|
|
38
|
-
"The web request was aborted.",
|
|
39
|
-
),
|
|
40
|
-
),
|
|
41
|
-
);
|
|
42
|
-
const timeout = setTimeout(
|
|
43
|
-
() =>
|
|
44
|
-
finish(() =>
|
|
45
|
-
reject(
|
|
46
|
-
new WebPluginError(
|
|
47
|
-
"web_request_timed_out",
|
|
48
|
-
"The upstream web request timed out.",
|
|
49
|
-
),
|
|
50
|
-
),
|
|
51
|
-
),
|
|
52
|
-
remainingTime(deadline),
|
|
53
|
-
);
|
|
54
|
-
timeout.unref?.();
|
|
55
|
-
abortSignal?.addEventListener("abort", onAbort, { once: true });
|
|
56
|
-
promise.then(
|
|
57
|
-
(value) => finish(() => resolve(value)),
|
|
58
|
-
(error) => finish(() => reject(error)),
|
|
59
|
-
);
|
|
60
|
-
});
|
|
61
25
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PublicHttpError,
|
|
3
|
+
isPublicHttpError,
|
|
4
|
+
type PublicHttpErrorCode,
|
|
5
|
+
} from "../../../src/shared/public-http/errors.js";
|
|
6
|
+
|
|
1
7
|
export type WebPluginErrorCode =
|
|
2
|
-
|
|
|
3
|
-
| "web_request_timed_out"
|
|
4
|
-
| "web_request_capacity_exceeded"
|
|
5
|
-
| "web_target_invalid"
|
|
6
|
-
| "web_target_not_public"
|
|
7
|
-
| "web_target_unresolvable"
|
|
8
|
-
| "web_redirect_invalid"
|
|
9
|
-
| "web_redirect_limit_exceeded"
|
|
8
|
+
| PublicHttpErrorCode
|
|
10
9
|
| "web_response_unsupported"
|
|
11
|
-
| "web_response_invalid"
|
|
12
10
|
| "web_fetch_http_error"
|
|
13
11
|
| "web_search_api_key_missing"
|
|
14
12
|
| "web_search_authentication_failed"
|
|
@@ -20,11 +18,11 @@ export type WebPluginErrorCode =
|
|
|
20
18
|
| "web_search_sources_unavailable"
|
|
21
19
|
| "web_search_configuration_invalid";
|
|
22
20
|
|
|
23
|
-
export class WebPluginError extends
|
|
21
|
+
export class WebPluginError extends PublicHttpError<WebPluginErrorCode> {
|
|
24
22
|
readonly code: WebPluginErrorCode;
|
|
25
23
|
|
|
26
24
|
constructor(code: WebPluginErrorCode, message: string) {
|
|
27
|
-
super(message);
|
|
25
|
+
super(code, message);
|
|
28
26
|
this.name = "WebPluginError";
|
|
29
27
|
this.code = code;
|
|
30
28
|
}
|
|
@@ -33,3 +31,11 @@ export class WebPluginError extends Error {
|
|
|
33
31
|
export function isWebPluginError(error: unknown): error is WebPluginError {
|
|
34
32
|
return error instanceof WebPluginError;
|
|
35
33
|
}
|
|
34
|
+
|
|
35
|
+
export function rethrowWebPluginError(error: unknown): never {
|
|
36
|
+
if (error instanceof WebPluginError) throw error;
|
|
37
|
+
if (isPublicHttpError(error)) {
|
|
38
|
+
throw new WebPluginError(error.code, error.message);
|
|
39
|
+
}
|
|
40
|
+
throw error;
|
|
41
|
+
}
|