@capybara-hq/kernel 0.1.0-rc.4 → 0.1.0-rc.5
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/bootstrap.json +61 -5
- package/dist/admin/admin.controller.d.ts +39 -13
- package/dist/admin/admin.controller.js +33 -17
- package/dist/admin/extensions.controller.d.ts +16 -2
- package/dist/admin/extensions.controller.js +26 -6
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/agents/agent-lookup.d.ts +16 -0
- package/dist/agents/agent-lookup.js +11 -0
- package/dist/agents/agents.controller.d.ts +76 -1
- package/dist/agents/agents.controller.js +90 -11
- package/dist/agents/agents.module.d.ts +4 -1
- package/dist/agents/agents.module.js +32 -6
- package/dist/agents/agents.service.d.ts +51 -22
- package/dist/agents/agents.service.js +172 -70
- package/dist/agents/definition.d.ts +49 -0
- package/dist/agents/definition.js +45 -0
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +649 -0
- package/dist/agents/from-template.service.d.ts +60 -0
- package/dist/agents/from-template.service.js +161 -0
- package/dist/agents/org-templates.d.ts +176 -0
- package/dist/agents/org-templates.js +827 -0
- package/dist/agents/pending-connector-requests.d.ts +77 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/templates.controller.d.ts +86 -5
- package/dist/agents/templates.controller.js +171 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +475 -52
- package/dist/background/background.module.js +8 -1
- package/dist/background/finish.d.ts +3 -2
- package/dist/background/launch-lock.d.ts +4 -3
- package/dist/background/launch-lock.js +4 -3
- package/dist/background/poll.job.d.ts +9 -6
- package/dist/background/poll.job.js +30 -22
- package/dist/background/session.d.ts +13 -2
- package/dist/background/session.js +13 -0
- package/dist/background/stop.d.ts +12 -6
- package/dist/background/stop.js +57 -39
- package/dist/background/store.d.ts +18 -6
- package/dist/background/store.js +12 -6
- package/dist/background/tasks.service.d.ts +15 -5
- package/dist/background/tasks.service.js +42 -17
- package/dist/background/wake-rules.d.ts +27 -18
- package/dist/background/wake-rules.js +52 -22
- package/dist/background/wake.d.ts +13 -11
- package/dist/background/wake.js +20 -14
- package/dist/catalog/admin-catalog.controller.d.ts +129 -30
- package/dist/catalog/admin-catalog.controller.js +213 -42
- package/dist/catalog/catalog-content.d.ts +58 -32
- package/dist/catalog/catalog-content.js +34 -8
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +111 -7
- package/dist/catalog/catalog-items.js +279 -13
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1116 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +41 -31
- package/dist/catalog/catalog.service.d.ts +101 -29
- package/dist/catalog/catalog.service.js +104 -106
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +26 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +152 -0
- package/dist/catalog/component-scope.controller.js +287 -0
- package/dist/catalog/component-scope.service.d.ts +303 -0
- package/dist/catalog/component-scope.service.js +936 -0
- package/dist/catalog/component-state.d.ts +174 -0
- package/dist/catalog/component-state.js +437 -0
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplaces.controller.d.ts +22 -5
- package/dist/catalog/marketplaces.controller.js +56 -7
- package/dist/catalog/marketplaces.service.d.ts +54 -14
- package/dist/catalog/marketplaces.service.js +71 -22
- package/dist/catalog/org-catalog.controller.d.ts +125 -34
- package/dist/catalog/org-catalog.controller.js +181 -65
- package/dist/catalog/org-catalog.service.d.ts +65 -33
- package/dist/catalog/org-catalog.service.js +324 -157
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +119 -0
- package/dist/catalog/org-extension.controller.js +266 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +98 -0
- package/dist/catalog/org-plugin-uploads.controller.js +213 -0
- package/dist/catalog/org-plugin-uploads.d.ts +63 -0
- package/dist/catalog/org-plugin-uploads.js +116 -0
- package/dist/catalog/owned-items.d.ts +184 -0
- package/dist/catalog/owned-items.js +789 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +221 -0
- package/dist/catalog/platform-components.js +761 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +178 -34
- package/dist/catalog/plugin-import.js +622 -82
- package/dist/catalog/plugin-install.d.ts +185 -41
- package/dist/catalog/plugin-install.js +758 -126
- package/dist/catalog/plugin-upgrade.d.ts +260 -225
- package/dist/catalog/plugin-upgrade.js +1147 -1136
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +193 -118
- package/dist/catalog/requests.service.js +526 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.js +1 -0
- package/dist/channels/cards.js +20 -2
- package/dist/channels/channels.module.js +2 -0
- package/dist/channels/inbound.d.ts +9 -1
- package/dist/channels/inbound.js +67 -5
- package/dist/channels/phrases.d.ts +35 -0
- package/dist/channels/phrases.js +29 -0
- package/dist/config/docs.js +3 -1
- package/dist/config/schema.d.ts +6 -2
- package/dist/config/schema.js +46 -22
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +27 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/conversations.controller.d.ts +43 -18
- package/dist/conversations/conversations.controller.js +79 -38
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +7 -7
- package/dist/conversations/conversations.service.d.ts +69 -12
- package/dist/conversations/conversations.service.js +106 -27
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +20 -5
- package/dist/conversations/event-log.js +60 -0
- package/dist/conversations/events.d.ts +84 -2
- package/dist/conversations/events.js +91 -17
- package/dist/conversations/queue.service.d.ts +1 -1
- package/dist/conversations/queue.service.js +5 -0
- package/dist/conversations/titles.d.ts +5 -3
- package/dist/conversations/titles.js +21 -8
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +5 -0
- package/dist/ctx/create-ctx.js +15 -5
- package/dist/db/kernel-schema.d.ts +362 -18
- package/dist/environments/access.d.ts +41 -0
- package/dist/environments/access.js +77 -0
- package/dist/environments/conversation-environments.d.ts +61 -0
- package/dist/environments/conversation-environments.js +170 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +33 -0
- package/dist/environments/environments.controller.js +110 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +27 -0
- package/dist/environments/environments.service.d.ts +153 -0
- package/dist/environments/environments.service.js +541 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +82 -2
- package/dist/errors.js +82 -2
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +26 -7
- package/dist/evals/run-replay.d.ts +4 -2
- package/dist/evals/run-replay.js +16 -4
- package/dist/evals/step-replay.d.ts +2 -5
- package/dist/evals/step-replay.js +1 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +36 -10
- package/dist/extensions/admin-ops.js +65 -42
- package/dist/extensions/admin-view.d.ts +37 -10
- package/dist/extensions/admin-view.js +103 -20
- package/dist/extensions/bootstrap.d.ts +17 -4
- package/dist/extensions/bootstrap.js +70 -9
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/deployment-config.d.ts +28 -5
- package/dist/extensions/deployment-config.js +48 -7
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/extensions.module.js +8 -2
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +19 -1
- package/dist/extensions/host.js +30 -7
- package/dist/extensions/installs.d.ts +20 -8
- package/dist/extensions/installs.js +37 -15
- package/dist/extensions/org-config.d.ts +75 -6
- package/dist/extensions/org-config.js +184 -32
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/permission-view.d.ts +16 -4
- package/dist/extensions/permission-view.js +4 -4
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.d.ts +12 -5
- package/dist/extensions/point-defaults.js +37 -9
- package/dist/extensions/resolve.d.ts +5 -1
- package/dist/extensions/resolve.js +15 -2
- package/dist/files/previewers.d.ts +8 -1
- package/dist/files/previewers.js +35 -6
- package/dist/http/api.module.js +23 -3
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/identity/accounts.d.ts +29 -29
- package/dist/identity/accounts.js +47 -47
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +26 -9
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +4 -4
- package/dist/identity/me.controller.js +1 -1
- package/dist/identity/principal.d.ts +3 -3
- package/dist/identity/principal.js +3 -3
- package/dist/identity/settings.d.ts +22 -11
- package/dist/identity/settings.js +53 -18
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.service.d.ts +62 -3
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +21 -1
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +11 -2
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/kernel.module.js +6 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +1 -1
- package/dist/lifecycle/kernel-lifecycle.js +4 -4
- package/dist/models/prices.d.ts +5 -5
- package/dist/models/prices.js +4 -4
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +20 -9
- package/dist/models/purposes.js +17 -8
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +9 -7
- package/dist/orgs/offboarding.js +28 -17
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.service.d.ts +20 -7
- package/dist/orgs/orgs.service.js +32 -12
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +15 -3
- package/dist/orgs/settings.service.js +6 -2
- package/dist/overrides.d.ts +3 -0
- package/dist/overrides.js +2 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +11 -0
- package/dist/platform/errors.js +26 -0
- package/dist/platform/exclusions.d.ts +12 -0
- package/dist/platform/exclusions.js +1387 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +92 -0
- package/dist/platform/operation.js +35 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +14 -0
- package/dist/platform/ops/agent-templates.ops.js +92 -0
- package/dist/platform/ops/agents.ops.d.ts +19 -0
- package/dist/platform/ops/agents.ops.js +294 -0
- package/dist/platform/ops/connectors.ops.d.ts +15 -0
- package/dist/platform/ops/connectors.ops.js +126 -0
- package/dist/platform/ops/errors.d.ts +11 -0
- package/dist/platform/ops/errors.js +22 -0
- package/dist/platform/ops/extensions.ops.d.ts +19 -0
- package/dist/platform/ops/extensions.ops.js +116 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +16 -0
- package/dist/platform/ops/marketplaces.ops.js +157 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +23 -0
- package/dist/platform/ops/platform.ops.js +158 -0
- package/dist/platform/ops/plugins.ops.d.ts +33 -0
- package/dist/platform/ops/plugins.ops.js +377 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +153 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +13 -0
- package/dist/platform/ops/skills.ops.js +98 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/platform-ops.module.d.ts +7 -0
- package/dist/platform/platform-ops.module.js +55 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/redact-orgs.d.ts +7 -0
- package/dist/platform/redact-orgs.js +52 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +9 -1
- package/dist/runtime/context/build.d.ts +6 -4
- package/dist/runtime/context/build.js +26 -7
- package/dist/runtime/context/claude-tools.d.ts +2 -1
- package/dist/runtime/context/claude-tools.js +5 -4
- package/dist/runtime/context/compaction.js +9 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/skills.js +9 -2
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.js +2 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +35 -17
- package/dist/runtime/loop.d.ts +32 -4
- package/dist/runtime/maintenance.d.ts +7 -4
- package/dist/runtime/maintenance.js +23 -8
- package/dist/runtime/model-call.d.ts +30 -8
- package/dist/runtime/model-call.js +69 -19
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +3 -7
- package/dist/runtime/run-queue.d.ts +37 -3
- package/dist/runtime/run-queue.js +188 -11
- package/dist/runtime/run-worker.d.ts +11 -5
- package/dist/runtime/run-worker.js +54 -31
- package/dist/runtime/runtime.module.js +3 -0
- package/dist/runtime/step-log.d.ts +9 -4
- package/dist/runtime/step-log.js +8 -5
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +12 -3
- package/dist/runtime/subagents/definition.js +43 -29
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +115 -26
- package/dist/runtime/subagents/dispatch.js +212 -141
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +24 -7
- package/dist/runtime/subagents/roster.js +47 -11
- package/dist/runtime/subagents/skill-fork.d.ts +3 -2
- package/dist/runtime/subagents/skill-fork.js +8 -4
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +7 -4
- package/dist/runtime/subagents/subagents.service.js +11 -6
- package/dist/runtime/usage-report.js +17 -12
- package/dist/runtime/waits.d.ts +140 -37
- package/dist/runtime/waits.js +394 -106
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +2 -2
- package/dist/sandbox/providers.js +1 -1
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +4 -3
- package/dist/sandbox/sandbox.service.d.ts +229 -134
- package/dist/sandbox/sandbox.service.js +630 -409
- package/dist/skills/catalog.d.ts +3 -2
- package/dist/skills/catalog.js +21 -43
- package/dist/skills/changes.controller.d.ts +7 -0
- package/dist/skills/changes.controller.js +19 -1
- package/dist/skills/invoke.js +8 -3
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +39 -4
- package/dist/skills/skills.controller.js +88 -10
- package/dist/skills/skills.module.js +10 -1
- package/dist/skills/skills.service.d.ts +106 -26
- package/dist/skills/skills.service.js +421 -75
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/tools/approvals.service.d.ts +20 -2
- package/dist/tools/approvals.service.js +23 -4
- package/dist/tools/builtin-names.d.ts +21 -5
- package/dist/tools/builtin-names.js +30 -5
- package/dist/tools/builtins/agent.d.ts +23 -21
- package/dist/tools/builtins/agent.js +62 -55
- package/dist/tools/builtins/builtin-tools.d.ts +6 -2
- package/dist/tools/builtins/builtin-tools.js +37 -12
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +34 -0
- package/dist/tools/builtins/platform.js +362 -0
- package/dist/tools/builtins/sandbox/bash.js +13 -3
- package/dist/tools/builtins/sandbox/common.d.ts +43 -24
- package/dist/tools/builtins/sandbox/common.js +80 -45
- package/dist/tools/builtins/sandbox/edit.js +2 -2
- package/dist/tools/builtins/sandbox/glob.js +2 -2
- package/dist/tools/builtins/sandbox/grep.js +2 -4
- package/dist/tools/builtins/sandbox/index.d.ts +1 -1
- package/dist/tools/builtins/sandbox/index.js +1 -1
- package/dist/tools/builtins/sandbox/read.js +1 -1
- package/dist/tools/builtins/sandbox/task-output.d.ts +14 -3
- package/dist/tools/builtins/sandbox/task-output.js +30 -5
- package/dist/tools/builtins/sandbox/task-stop.js +2 -1
- package/dist/tools/builtins/sandbox/write.js +2 -2
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +22 -14
- package/dist/tools/builtins/skill-load.js +86 -57
- package/dist/tools/builtins/skill-write.js +1 -1
- package/dist/tools/builtins/web/extract.js +5 -1
- package/dist/tools/builtins/web/fetch.js +1 -0
- package/dist/tools/builtins/web/search.js +1 -0
- package/dist/tools/connectors.controller.d.ts +10 -0
- package/dist/tools/connectors.controller.js +12 -0
- package/dist/tools/connectors.service.d.ts +46 -5
- package/dist/tools/connectors.service.js +94 -15
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +42 -1
- package/dist/tools/info.js +64 -1
- package/dist/tools/org-tool-switches.d.ts +74 -0
- package/dist/tools/org-tool-switches.js +184 -0
- package/dist/tools/pipeline.d.ts +46 -40
- package/dist/tools/pipeline.js +187 -364
- package/dist/tools/policy.d.ts +1 -1
- package/dist/tools/policy.js +36 -16
- package/dist/tools/registry.d.ts +98 -5
- package/dist/tools/registry.js +87 -9
- package/dist/tools/tools.module.js +12 -2
- package/dist/ui/views.d.ts +2 -1
- package/dist/ui/views.js +17 -3
- package/package.json +3 -3
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -32
- package/dist/extensions/org-config.controller.js +0 -70
package/dist/sandbox/jobs.d.ts
CHANGED
|
@@ -2,32 +2,59 @@ import type { Job, Queue } from "bullmq";
|
|
|
2
2
|
import { LockService } from "../infra/lock/lock.service.js";
|
|
3
3
|
import type { KernelLogger } from "../log.js";
|
|
4
4
|
import { SandboxService } from "./sandbox.service.js";
|
|
5
|
-
/**
|
|
5
|
+
/** The idle suspension sweep (every minute, once per tick across replicas). */
|
|
6
6
|
export declare const SANDBOX_SUSPEND_JOB = "sandbox-suspend-idle";
|
|
7
|
-
/**
|
|
7
|
+
/** The inactivity destruction sweep (hourly, once per tick across replicas). */
|
|
8
8
|
export declare const SANDBOX_DESTROY_JOB = "sandbox-destroy-inactive";
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* One-off job: destroy a batch of environments now, instance and file system (environment
|
|
11
|
+
* deletion, offboarding; data `{ environmentIds }`).
|
|
12
|
+
*/
|
|
10
13
|
export declare const SANDBOX_DESTROY_FOR_JOB = "sandbox-destroy-for";
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
|
|
15
|
+
* One-off job: start an environment over with empty files (`resetFileSystem`; data
|
|
16
|
+
* `{ environmentId }`, job id {@link resetFilesJobId}).
|
|
17
|
+
*/
|
|
18
|
+
export declare const SANDBOX_RESET_FILES_JOB = "sandbox-reset-files";
|
|
19
|
+
/**
|
|
20
|
+
* The deterministic id of an environment's reset job: a second request while one is waiting or
|
|
21
|
+
* running joins it (that reset still empties the files); once it ended, a new request is a new job.
|
|
22
|
+
*/
|
|
23
|
+
export declare const resetFilesJobId: (environmentId: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* The producer of the sandbox maintenance jobs: {@link SANDBOX_DESTROY_FOR_JOB} (BullMQ's own job
|
|
26
|
+
* ids, as before: every enqueue is a new job, also after a batch failed all its attempts) and
|
|
27
|
+
* {@link SANDBOX_RESET_FILES_JOB}; `MaintenanceProcessor` consumes them.
|
|
15
28
|
*/
|
|
16
29
|
export declare class SandboxJobs {
|
|
17
30
|
private readonly queue;
|
|
18
31
|
constructor(queue: Pick<Queue, "add">);
|
|
19
|
-
/**
|
|
20
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Enqueues the destruction of these environments: a failed batch is retried whole (destroying
|
|
34
|
+
* one already destroyed does nothing).
|
|
35
|
+
*/
|
|
36
|
+
destroy(environmentIds: string[]): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Enqueues the reset of an environment's files (see {@link resetFilesJobId}): retried on failure
|
|
39
|
+
* (the exclusive lease not obtained in time, the provider failing); a job that failed all its
|
|
40
|
+
* attempts is removed, so the id never blocks a later request.
|
|
41
|
+
*/
|
|
42
|
+
resetFiles(environmentId: string): Promise<void>;
|
|
21
43
|
}
|
|
22
44
|
/**
|
|
23
|
-
* The worker side of {@link
|
|
24
|
-
*
|
|
45
|
+
* The worker side of {@link SANDBOX_RESET_FILES_JOB}: `resetFileSystem` under the exclusive lease;
|
|
46
|
+
* a failure fails the job (retried).
|
|
47
|
+
*/
|
|
48
|
+
export declare function runSandboxResetFiles(sandbox: Pick<SandboxService, "resetFileSystem">, job: Pick<Job, "data">): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* The worker side of {@link SANDBOX_DESTROY_FOR_JOB}: `destroyEnvironment` one by one; a failure is
|
|
51
|
+
* warned and fails the job (the whole batch is retried) after the others were destroyed.
|
|
25
52
|
*/
|
|
26
|
-
export declare function runSandboxDestroyFor(sandbox: Pick<SandboxService, "
|
|
53
|
+
export declare function runSandboxDestroyFor(sandbox: Pick<SandboxService, "destroyEnvironment">, log: Pick<KernelLogger, "warn">, job: Pick<Job, "data">): Promise<void>;
|
|
27
54
|
/**
|
|
28
55
|
* The sandbox sweeps (exactly once per tick across replicas): every minute the idle and overdue
|
|
29
|
-
* running
|
|
30
|
-
*
|
|
56
|
+
* running instances are suspended, every hour the inactive instances are destroyed (files kept)
|
|
57
|
+
* and deleted environments, or those of deleted orgs, are destroyed with their files. Both do nothing without a sandbox provider. They replace the
|
|
31
58
|
* maintenance schedulers `sandbox-suspend-idle-every-minute` and `sandbox-destroy-inactive-hourly`
|
|
32
59
|
* (retired at worker start).
|
|
33
60
|
*/
|
package/dist/sandbox/jobs.js
CHANGED
|
@@ -14,31 +14,61 @@ import { LockedCron } from "../infra/schedule/locked-cron.decorator.js";
|
|
|
14
14
|
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
15
15
|
import { MAINTENANCE_QUEUE_NAME } from "../runtime/maintenance-queue.js";
|
|
16
16
|
import { SandboxService } from "./sandbox.service.js";
|
|
17
|
-
/**
|
|
17
|
+
/** The idle suspension sweep (every minute, once per tick across replicas). */
|
|
18
18
|
export const SANDBOX_SUSPEND_JOB = "sandbox-suspend-idle";
|
|
19
|
-
/**
|
|
19
|
+
/** The inactivity destruction sweep (hourly, once per tick across replicas). */
|
|
20
20
|
export const SANDBOX_DESTROY_JOB = "sandbox-destroy-inactive";
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* One-off job: destroy a batch of environments now, instance and file system (environment
|
|
23
|
+
* deletion, offboarding; data `{ environmentIds }`).
|
|
24
|
+
*/
|
|
22
25
|
export const SANDBOX_DESTROY_FOR_JOB = "sandbox-destroy-for";
|
|
23
26
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
+
* One-off job: start an environment over with empty files (`resetFileSystem`; data
|
|
28
|
+
* `{ environmentId }`, job id {@link resetFilesJobId}).
|
|
29
|
+
*/
|
|
30
|
+
export const SANDBOX_RESET_FILES_JOB = "sandbox-reset-files";
|
|
31
|
+
/**
|
|
32
|
+
* The deterministic id of an environment's reset job: a second request while one is waiting or
|
|
33
|
+
* running joins it (that reset still empties the files); once it ended, a new request is a new job.
|
|
34
|
+
*/
|
|
35
|
+
export const resetFilesJobId = (environmentId) => `${SANDBOX_RESET_FILES_JOB}-${environmentId}`;
|
|
36
|
+
/**
|
|
37
|
+
* The producer of the sandbox maintenance jobs: {@link SANDBOX_DESTROY_FOR_JOB} (BullMQ's own job
|
|
38
|
+
* ids, as before: every enqueue is a new job, also after a batch failed all its attempts) and
|
|
39
|
+
* {@link SANDBOX_RESET_FILES_JOB}; `MaintenanceProcessor` consumes them.
|
|
27
40
|
*/
|
|
28
41
|
let SandboxJobs = class SandboxJobs {
|
|
29
42
|
queue;
|
|
30
43
|
constructor(queue) {
|
|
31
44
|
this.queue = queue;
|
|
32
45
|
}
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Enqueues the destruction of these environments: a failed batch is retried whole (destroying
|
|
48
|
+
* one already destroyed does nothing).
|
|
49
|
+
*/
|
|
50
|
+
async destroy(environmentIds) {
|
|
51
|
+
await this.queue.add(SANDBOX_DESTROY_FOR_JOB, { environmentIds }, {
|
|
36
52
|
attempts: 5,
|
|
37
53
|
backoff: { type: "exponential", delay: 30_000 },
|
|
38
54
|
removeOnComplete: true,
|
|
39
55
|
removeOnFail: 100,
|
|
40
56
|
});
|
|
41
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Enqueues the reset of an environment's files (see {@link resetFilesJobId}): retried on failure
|
|
60
|
+
* (the exclusive lease not obtained in time, the provider failing); a job that failed all its
|
|
61
|
+
* attempts is removed, so the id never blocks a later request.
|
|
62
|
+
*/
|
|
63
|
+
async resetFiles(environmentId) {
|
|
64
|
+
await this.queue.add(SANDBOX_RESET_FILES_JOB, { environmentId }, {
|
|
65
|
+
jobId: resetFilesJobId(environmentId),
|
|
66
|
+
attempts: 5,
|
|
67
|
+
backoff: { type: "exponential", delay: 30_000 },
|
|
68
|
+
removeOnComplete: true,
|
|
69
|
+
removeOnFail: true,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
42
72
|
};
|
|
43
73
|
SandboxJobs = __decorate([
|
|
44
74
|
Injectable(),
|
|
@@ -46,11 +76,21 @@ SandboxJobs = __decorate([
|
|
|
46
76
|
], SandboxJobs);
|
|
47
77
|
export { SandboxJobs };
|
|
48
78
|
/**
|
|
49
|
-
* The worker side of {@link
|
|
50
|
-
*
|
|
79
|
+
* The worker side of {@link SANDBOX_RESET_FILES_JOB}: `resetFileSystem` under the exclusive lease;
|
|
80
|
+
* a failure fails the job (retried).
|
|
81
|
+
*/
|
|
82
|
+
export async function runSandboxResetFiles(sandbox, job) {
|
|
83
|
+
const id = job.data.environmentId;
|
|
84
|
+
if (typeof id !== "string")
|
|
85
|
+
return;
|
|
86
|
+
await sandbox.resetFileSystem(id);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The worker side of {@link SANDBOX_DESTROY_FOR_JOB}: `destroyEnvironment` one by one; a failure is
|
|
90
|
+
* warned and fails the job (the whole batch is retried) after the others were destroyed.
|
|
51
91
|
*/
|
|
52
92
|
export async function runSandboxDestroyFor(sandbox, log, job) {
|
|
53
|
-
const ids = job.data.
|
|
93
|
+
const ids = job.data.environmentIds;
|
|
54
94
|
if (!Array.isArray(ids))
|
|
55
95
|
return;
|
|
56
96
|
let failed = 0;
|
|
@@ -58,23 +98,20 @@ export async function runSandboxDestroyFor(sandbox, log, job) {
|
|
|
58
98
|
if (typeof id !== "string")
|
|
59
99
|
continue;
|
|
60
100
|
try {
|
|
61
|
-
await sandbox.
|
|
101
|
+
await sandbox.destroyEnvironment(id);
|
|
62
102
|
}
|
|
63
103
|
catch (err) {
|
|
64
104
|
failed++;
|
|
65
|
-
log.warn("cannot destroy
|
|
66
|
-
conversationId: id,
|
|
67
|
-
err,
|
|
68
|
-
});
|
|
105
|
+
log.warn("cannot destroy environment; will retry", { environmentId: id, err });
|
|
69
106
|
}
|
|
70
107
|
}
|
|
71
108
|
if (failed > 0)
|
|
72
|
-
throw new Error(`${failed} of ${ids.length}
|
|
109
|
+
throw new Error(`${failed} of ${ids.length} environments could not be destroyed`);
|
|
73
110
|
}
|
|
74
111
|
/**
|
|
75
112
|
* The sandbox sweeps (exactly once per tick across replicas): every minute the idle and overdue
|
|
76
|
-
* running
|
|
77
|
-
*
|
|
113
|
+
* running instances are suspended, every hour the inactive instances are destroyed (files kept)
|
|
114
|
+
* and deleted environments, or those of deleted orgs, are destroyed with their files. Both do nothing without a sandbox provider. They replace the
|
|
78
115
|
* maintenance schedulers `sandbox-suspend-idle-every-minute` and `sandbox-destroy-inactive-hourly`
|
|
79
116
|
* (retired at worker start).
|
|
80
117
|
*/
|
package/dist/sandbox/leases.d.ts
CHANGED
|
@@ -3,21 +3,23 @@ import { ApiError } from "../errors.js";
|
|
|
3
3
|
import { LockService } from "../infra/lock/lock.service.js";
|
|
4
4
|
import type { KernelLogger } from "../log.js";
|
|
5
5
|
/**
|
|
6
|
-
* Shared and exclusive sandbox leases (sub-agents spec §10.3): the Redis
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Shared and exclusive sandbox leases (sub-agents spec §10.3; environments spec §4.2): the Redis
|
|
7
|
+
* protocol that lets several holders (every conversation bound to the environment, and their
|
|
8
|
+
* sub-agents) use one environment's running instance concurrently (shared leases: commands, file
|
|
9
|
+
* reads and writes) while lifecycle changes (create, resume, rebuild, suspend, destroy, reset) stay
|
|
10
|
+
* alone (exclusive leases). Every `sandbox@2` provider runs commands concurrently and kills by tag,
|
|
11
|
+
* so there is no single-holder mode. Keys, env = the environment id:
|
|
10
12
|
*
|
|
11
|
-
* - `capk:sandbox:<
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* - `capk:sandbox-users:<conv>`: sorted set of shared lease tokens scored by their expiry (ms, Redis
|
|
13
|
+
* - `capk:sandbox:<env>`: the lock key: an exclusive holder's token, or `shared` while shared
|
|
14
|
+
* leases exist.
|
|
15
|
+
* - `capk:sandbox-users:<env>`: sorted set of shared lease tokens scored by their expiry (ms, Redis
|
|
15
16
|
* server clock).
|
|
16
|
-
* - `capk:sandbox-intent:<
|
|
17
|
+
* - `capk:sandbox-intent:<env>`: an exclusive waiter's token (writer preference); while it exists
|
|
17
18
|
* no new shared lease is granted.
|
|
18
|
-
* - `capk:sandbox-holders:<
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* - `capk:sandbox-holders:<env>`: hash token → expiry of holders that may have commands running;
|
|
20
|
+
* a record without a live lease is a crashed holder whose commands (tagged with its token) are
|
|
21
|
+
* killed by the next acquirer.
|
|
22
|
+
* - `capk:sandbox-path:<env>:<sha256hex(path)>`: a short per-path lease around the kernel's own
|
|
21
23
|
* read-modify-write of one file.
|
|
22
24
|
*
|
|
23
25
|
* The first three keys are a {@link LockService} shared lease (`tryShared` / `tryExclusive`,
|
|
@@ -26,30 +28,17 @@ import type { KernelLogger } from "../log.js";
|
|
|
26
28
|
* the renewal deadline (send time of the last successful renewal + 2/3 TTL): its `signal` aborts
|
|
27
29
|
* with {@link SandboxLockLostError}.
|
|
28
30
|
*/
|
|
29
|
-
/** Prefix of the lock key `capk:sandbox:<
|
|
31
|
+
/** Prefix of the lock key `capk:sandbox:<environmentId>`. */
|
|
30
32
|
export declare const SANDBOX_LOCK_PREFIX = "capk:sandbox:";
|
|
31
33
|
/** TTL of a lease (ms): renewed every TTL / 3 while held. */
|
|
32
34
|
export declare const SANDBOX_LOCK_TTL_MS = 60000;
|
|
33
|
-
/**
|
|
34
|
-
* Prefix of the single "sandbox in use" marker of kernels before phase C,
|
|
35
|
-
* `capk:sandbox-busy:<conversationId>`: present while such a holder ran commands. Found by an
|
|
36
|
-
* exclusive acquirer, it means that holder crashed and its commands may still run.
|
|
37
|
-
*
|
|
38
|
-
* Holders of this kernel write it too, with the value {@link BUSY_V2}, while any holder record
|
|
39
|
-
* exists (spec §10.8): this kernel ignores that value, and a replica from before phase C that
|
|
40
|
-
* takes the lock after a new holder crashed sees a marker and kills everything, which is safe
|
|
41
|
-
* because it only gets the lock when no shared lease is live.
|
|
42
|
-
*/
|
|
43
|
-
export declare const SANDBOX_BUSY_PREFIX = "capk:sandbox-busy:";
|
|
44
|
-
/** Value of the busy marker written by holders of this kernel (ignored by it). */
|
|
45
|
-
export declare const BUSY_V2 = "v2";
|
|
46
|
-
/** The sandbox of this conversation is busy: waited longer than `sandbox.lockWaitSeconds` (409). */
|
|
35
|
+
/** The environment's sandbox is busy: waited longer than `sandbox.lockWaitSeconds` (409). */
|
|
47
36
|
export declare const sandboxBusy: () => ApiError;
|
|
48
37
|
/** A lease was lost while held, or the record changed under it (generation mismatch). */
|
|
49
38
|
export declare class SandboxLockLostError extends Error {
|
|
50
39
|
/** `lock`: the lease was lost (renewal failed or none succeeded in time); `generation`: the record's fence changed. */
|
|
51
40
|
readonly reason: "lock" | "generation";
|
|
52
|
-
constructor(
|
|
41
|
+
constructor(environmentId: string, reason?: "lock" | "generation");
|
|
53
42
|
}
|
|
54
43
|
/** Another holder kept writing the same file longer than the path lease wait (model-visible text). */
|
|
55
44
|
export declare class SandboxPathBusyError extends Error {
|
|
@@ -60,7 +49,7 @@ export type LeaseKind = "shared" | "exclusive";
|
|
|
60
49
|
export interface SandboxLease {
|
|
61
50
|
readonly kind: LeaseKind;
|
|
62
51
|
readonly token: string;
|
|
63
|
-
readonly
|
|
52
|
+
readonly environmentId: string;
|
|
64
53
|
/** Aborts with {@link SandboxLockLostError} when the lease is lost. */
|
|
65
54
|
readonly signal: AbortSignal;
|
|
66
55
|
/** Renews once now; false when the lease is lost (the signal then aborts). */
|
|
@@ -93,7 +82,7 @@ export declare const SANDBOX_LEASE_TIMINGS: unique symbol;
|
|
|
93
82
|
*/
|
|
94
83
|
export declare class SandboxLeases {
|
|
95
84
|
private readonly locks;
|
|
96
|
-
/** The holder records
|
|
85
|
+
/** The holder records (scripts of this file). */
|
|
97
86
|
private readonly redis;
|
|
98
87
|
private readonly log;
|
|
99
88
|
/** Lease TTL (ms). */
|
|
@@ -103,8 +92,8 @@ export declare class SandboxLeases {
|
|
|
103
92
|
/** Path lease TTL (ms). */
|
|
104
93
|
readonly pathTtlMs: number;
|
|
105
94
|
constructor(locks: LockService,
|
|
106
|
-
/** The holder records
|
|
107
|
-
redis: Pick<Redis, "eval" | "
|
|
95
|
+
/** The holder records (scripts of this file). */
|
|
96
|
+
redis: Pick<Redis, "eval" | "hdel">, log: Pick<KernelLogger, "warn">, timings?: Partial<SandboxLeaseTimings>);
|
|
108
97
|
/**
|
|
109
98
|
* TTL of an intent (ms): 4 × the poll interval (a jittered wait is up to 2 × the interval plus
|
|
110
99
|
* round trips), at least {@link INTENT_TTL_FLOOR_MS} so event-loop lag cannot let it lapse.
|
|
@@ -117,14 +106,14 @@ export declare class SandboxLeases {
|
|
|
117
106
|
* `capMs`, the signal's reason when it aborts. Not granted while an exclusive lease, an older
|
|
118
107
|
* replica's lock token or another caller's intent exists.
|
|
119
108
|
*/
|
|
120
|
-
acquireShared(
|
|
109
|
+
acquireShared(env: string, cap: number, signal: AbortSignal, capMs: number): Promise<SandboxLease>;
|
|
121
110
|
/**
|
|
122
111
|
* An exclusive lease, polling until no other lease exists; `sandbox.busy` after `capMs` (no cap
|
|
123
112
|
* when omitted), the signal's reason when it aborts. With `intent` the waiter sets the intent
|
|
124
113
|
* (refreshed while it waits) so new shared leases stop being granted; it is cleared on success
|
|
125
114
|
* and when the wait ends otherwise.
|
|
126
115
|
*/
|
|
127
|
-
acquireExclusive(
|
|
116
|
+
acquireExclusive(env: string, signal: AbortSignal, capMs?: number, o?: {
|
|
128
117
|
intent?: boolean;
|
|
129
118
|
}): Promise<SandboxLease>;
|
|
130
119
|
/**
|
|
@@ -132,7 +121,7 @@ export declare class SandboxLeases {
|
|
|
132
121
|
* intent. With `o.token` the lease (and, when `o.intent`, the intent set on failure) carries that
|
|
133
122
|
* token, so one waiter can alternate between this and {@link tryShared} with the same token.
|
|
134
123
|
*/
|
|
135
|
-
tryExclusive(
|
|
124
|
+
tryExclusive(env: string, o?: {
|
|
136
125
|
token?: string;
|
|
137
126
|
intent?: boolean;
|
|
138
127
|
}): Promise<SandboxLease | null>;
|
|
@@ -141,35 +130,29 @@ export declare class SandboxLeases {
|
|
|
141
130
|
* lease token; a waiter that set an intent with the same token is let through its own intent
|
|
142
131
|
* (it should then {@link clearIntent}).
|
|
143
132
|
*/
|
|
144
|
-
tryShared(
|
|
145
|
-
/** Deletes the
|
|
146
|
-
clearIntent(
|
|
147
|
-
/**
|
|
148
|
-
|
|
149
|
-
/** Live shared leases of the conversation. */
|
|
150
|
-
sharedCount(conv: string): Promise<number>;
|
|
133
|
+
tryShared(env: string, cap: number, token?: string): Promise<SandboxLease | null>;
|
|
134
|
+
/** Deletes the environment's intent when it is `token`'s. */
|
|
135
|
+
clearIntent(env: string, token: string): Promise<void>;
|
|
136
|
+
/** Live shared leases of the environment. */
|
|
137
|
+
sharedCount(env: string): Promise<number>;
|
|
151
138
|
/**
|
|
152
139
|
* Records (or refreshes) a holder that may run commands (before its provider calls); `ttlMs`
|
|
153
|
-
* bounds the record.
|
|
140
|
+
* bounds the record.
|
|
154
141
|
*/
|
|
155
|
-
registerHolder(
|
|
156
|
-
/** Deletes a holder record (after its provider calls)
|
|
157
|
-
unregisterHolder(
|
|
142
|
+
registerHolder(env: string, token: string, ttlMs: number): Promise<void>;
|
|
143
|
+
/** Deletes a holder record (after its provider calls). */
|
|
144
|
+
unregisterHolder(env: string, token: string): Promise<void>;
|
|
158
145
|
/**
|
|
159
|
-
* Tags of holders without a live lease,
|
|
160
|
-
*
|
|
161
|
-
* claimed only when `exclusiveToken` is the caller's exclusive lease (no shared lease live).
|
|
146
|
+
* Tags of holders without a live lease, atomically claimed (their fields removed) so only one
|
|
147
|
+
* caller kills them.
|
|
162
148
|
*/
|
|
163
|
-
claimDeadHolders(
|
|
164
|
-
tags: string[];
|
|
165
|
-
legacyMarker: boolean;
|
|
166
|
-
}>;
|
|
149
|
+
claimDeadHolders(env: string): Promise<string[]>;
|
|
167
150
|
/**
|
|
168
151
|
* A short lease on one path of the sandbox (the kernel's own read-modify-write of a file); waits
|
|
169
152
|
* up to `capMs`, then throws {@link SandboxPathBusyError}. A {@link LockService.hold} lease
|
|
170
153
|
* (renewed every TTL / 3): when it is lost its `signal` aborts.
|
|
171
154
|
*/
|
|
172
|
-
pathLease(
|
|
155
|
+
pathLease(env: string, path: string, signal: AbortSignal, capMs: number): Promise<SandboxPathLease>;
|
|
173
156
|
/** A sandbox lease over a held {@link SharedLeaseHandle}, as its current kind. */
|
|
174
157
|
private held;
|
|
175
158
|
/** A lease view of `h` as `kind`; a view stops working once the lease changes kind. */
|