@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.20
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 +85 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- 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/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +876 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -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/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +109 -0
- package/dist/background/tasks.service.js +271 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -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 +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- 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/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- 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 +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -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 +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -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 +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -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 +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +41 -5
- package/dist/extensions/bootstrap.js +121 -19
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- 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/package.d.ts +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.js +2 -0
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- 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/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- 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 +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- 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 +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +4 -2
- package/dist/lifecycle/kernel-lifecycle.js +35 -7
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- 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.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- 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 +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -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 +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +774 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +102 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +730 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +381 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -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 +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +43 -0
- package/dist/platform/platform-ops.module.js +142 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- 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 +21 -1
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- 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-finish.d.ts +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- 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 +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- 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/org-agents.js +2 -1
- 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 +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- 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 +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- 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 +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +29 -19
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +51 -44
- 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 +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- package/dist/tools/elicitation.js +1 -1
- 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 +61 -4
- package/dist/tools/info.js +119 -33
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- 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/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -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 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { isSandboxGoneError, rootsOf } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { ConversationAccess } from "../conversations/access.js";
|
|
13
|
+
import { EventLog } from "../conversations/event-log.js";
|
|
14
|
+
import { conversationTree } from "../conversations/tree.js";
|
|
15
|
+
import { ConversationDevices } from "../devices/conversation-devices.js";
|
|
16
|
+
import { ApiError } from "../errors.js";
|
|
17
|
+
import { audit } from "../identity/audit.js";
|
|
18
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
19
|
+
import { rootConversationOf } from "../runtime/subagents/child.js";
|
|
20
|
+
import { SandboxService } from "../sandbox/sandbox.service.js";
|
|
21
|
+
import { UUID_RE } from "../ui/registry.js";
|
|
22
|
+
import { finishedEventKey } from "./finish.js";
|
|
23
|
+
import { TASK_ID_RE, TASKS_DIR } from "./launch.js";
|
|
24
|
+
import { actingAs } from "./session.js";
|
|
25
|
+
import { BackgroundTaskStopper } from "./stop.js";
|
|
26
|
+
import { BackgroundTaskStore } from "./store.js";
|
|
27
|
+
/** The most bytes of output one read returns. */
|
|
28
|
+
export const OUTPUT_TAIL_MAX_BYTES = 65_536;
|
|
29
|
+
/** The time limit of reading an output (the exec and the wait for the sandbox's lease). */
|
|
30
|
+
const OUTPUT_READ_TIMEOUT_MS = 30_000;
|
|
31
|
+
const conversationNotFound = () => new ApiError("conversation.not_found", "Conversation not found");
|
|
32
|
+
const taskNotFound = () => new ApiError("background_task.not_found", "Background task not found");
|
|
33
|
+
/**
|
|
34
|
+
* The HTTP side of background tasks (spec 2026-11-05-background-bash-design §5): the tasks of a
|
|
35
|
+
* conversation and of its sub-agents, stopping one, reading its output. A task is reachable
|
|
36
|
+
* through the conversation that owns it or through any conversation above it, and only by a
|
|
37
|
+
* person who may see the conversation (`ConversationAccess`, the rule of `GET :id`, which is also
|
|
38
|
+
* what `POST :id/abort` checks: the owner).
|
|
39
|
+
*/
|
|
40
|
+
let BackgroundTasks = class BackgroundTasks {
|
|
41
|
+
access;
|
|
42
|
+
store;
|
|
43
|
+
stopper;
|
|
44
|
+
sandbox;
|
|
45
|
+
eventLog;
|
|
46
|
+
db;
|
|
47
|
+
devices;
|
|
48
|
+
constructor(access, store, stopper, sandbox, eventLog, db, devices) {
|
|
49
|
+
this.access = access;
|
|
50
|
+
this.store = store;
|
|
51
|
+
this.stopper = stopper;
|
|
52
|
+
this.sandbox = sandbox;
|
|
53
|
+
this.eventLog = eventLog;
|
|
54
|
+
this.db = db;
|
|
55
|
+
this.devices = devices;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The conversation and every sub-agent conversation below it (grandchildren too: their tasks run
|
|
59
|
+
* in the root's sandbox, agent map spec §6); `conversation.not_found` when not visible.
|
|
60
|
+
*/
|
|
61
|
+
async scope(orgId, conversationId, accountId) {
|
|
62
|
+
if (!UUID_RE.test(conversationId) ||
|
|
63
|
+
!(await this.access.isAccessible(orgId, conversationId, accountId))) {
|
|
64
|
+
throw conversationNotFound();
|
|
65
|
+
}
|
|
66
|
+
// the conversation is the org's (isAccessible), and so is every sub-agent conversation below it
|
|
67
|
+
return (await conversationTree(this.db.db, conversationId)).map((c) => c.id);
|
|
68
|
+
}
|
|
69
|
+
view(task, conversationId) {
|
|
70
|
+
return {
|
|
71
|
+
id: task.id,
|
|
72
|
+
conversationId,
|
|
73
|
+
subagentId: task.conversationId === conversationId ? null : task.conversationId,
|
|
74
|
+
description: task.description,
|
|
75
|
+
command: task.command,
|
|
76
|
+
status: task.status,
|
|
77
|
+
exitCode: task.exitCode,
|
|
78
|
+
lostReason: task.lostReason,
|
|
79
|
+
startedAt: task.startedAt.toISOString(),
|
|
80
|
+
finishedAt: task.finishedAt === null ? null : task.finishedAt.toISOString(),
|
|
81
|
+
stopping: task.status === "running" && task.stoppingAt !== null,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
async owned(orgId, conversationId, accountId, taskId) {
|
|
85
|
+
const ids = await this.scope(orgId, conversationId, accountId);
|
|
86
|
+
if (!TASK_ID_RE.test(taskId))
|
|
87
|
+
throw taskNotFound();
|
|
88
|
+
const task = await this.store.get(taskId);
|
|
89
|
+
if (!task || task.orgId !== orgId || !ids.includes(task.conversationId))
|
|
90
|
+
throw taskNotFound();
|
|
91
|
+
return task;
|
|
92
|
+
}
|
|
93
|
+
/** The tasks of the conversation and its sub-agents, newest first. */
|
|
94
|
+
async list(orgId, conversationId, accountId) {
|
|
95
|
+
const ids = await this.scope(orgId, conversationId, accountId);
|
|
96
|
+
return (await this.store.listFor(ids)).map((t) => this.view(t, conversationId));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A person's stop. Returns the row after the stop: `running` with `stopping` true when another
|
|
100
|
+
* stop already claimed the task (or the task is a reservation still launching, which its launch
|
|
101
|
+
* then kills); a stop that fails throws. Writes the `background_task.stopped` audit event.
|
|
102
|
+
*/
|
|
103
|
+
async stop(orgId, conversationId, accountId, taskId, actorTokenId, auditDetail) {
|
|
104
|
+
const task = await this.owned(orgId, conversationId, accountId, taskId);
|
|
105
|
+
const after = await this.stopper.stop(task, "person");
|
|
106
|
+
await audit(this.db.db, {
|
|
107
|
+
actorAccountId: accountId,
|
|
108
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
109
|
+
orgId,
|
|
110
|
+
action: "background_task.stopped",
|
|
111
|
+
target: task.id,
|
|
112
|
+
detail: {
|
|
113
|
+
taskId: task.id,
|
|
114
|
+
conversationId: task.conversationId,
|
|
115
|
+
status: after.status,
|
|
116
|
+
...auditDetail,
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
return this.view(after, conversationId);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Whether the task's device may still be used by its conversation's owner (the access
|
|
123
|
+
* re-check every sandbox tool call makes); when it may not, the live read is skipped.
|
|
124
|
+
*/
|
|
125
|
+
async deviceUsable(orgId, taskConversationId) {
|
|
126
|
+
try {
|
|
127
|
+
await this.devices.forTool(orgId, await rootConversationOf(this.db.db, taskConversationId));
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
if (e instanceof ApiError)
|
|
132
|
+
return false;
|
|
133
|
+
throw e;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* The end of the task's output, at most `tail` bytes. Read live when the task's device
|
|
138
|
+
* instance runs (never resuming a suspended one); a finished task that cannot be read live
|
|
139
|
+
* answers with the last lines its finished event kept and why (`unavailable`). Anything else is
|
|
140
|
+
* `background_task.output_unavailable` (409) with `details: [{ reason, environment }]`.
|
|
141
|
+
*/
|
|
142
|
+
async output(orgId, conversationId, accountId, taskId, tail) {
|
|
143
|
+
const task = await this.owned(orgId, conversationId, accountId, taskId);
|
|
144
|
+
const read = await this.readLive(orgId, accountId, task, tail);
|
|
145
|
+
if (read.kind === "ok")
|
|
146
|
+
return { ...read.value, source: "live" };
|
|
147
|
+
const unavailable = {
|
|
148
|
+
reason: read.reason,
|
|
149
|
+
environment: await this.environmentOf(task.deviceId),
|
|
150
|
+
};
|
|
151
|
+
if (task.status !== "running") {
|
|
152
|
+
const ev = await this.eventLog.findByIdem(task.conversationId, finishedEventKey(task.id));
|
|
153
|
+
if (ev?.type === "background_task_finished") {
|
|
154
|
+
return { text: ev.payload.lastLines, truncated: true, source: "event", unavailable };
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
throw new ApiError("background_task.output_unavailable", `The task's output cannot be read now (${unavailable.reason})`, [unavailable]);
|
|
158
|
+
}
|
|
159
|
+
/** Whether the task ran on a local device (its machine) or in a cloud sandbox. */
|
|
160
|
+
async environmentOf(deviceId) {
|
|
161
|
+
if (deviceId === null)
|
|
162
|
+
return "cloud";
|
|
163
|
+
const row = await this.db.db
|
|
164
|
+
.selectFrom("devices")
|
|
165
|
+
.select("source")
|
|
166
|
+
.where("id", "=", deviceId)
|
|
167
|
+
.executeTakeFirst();
|
|
168
|
+
return row?.source === "local" ? "local" : "cloud";
|
|
169
|
+
}
|
|
170
|
+
/** Reads the output from the task's running instance, or says why it cannot. */
|
|
171
|
+
async readLive(orgId, accountId, task, tail) {
|
|
172
|
+
if (task.sid === null || task.sandboxCreatedAt === null || task.deviceId === null) {
|
|
173
|
+
// a reservation the launch has not finished, or a launch that failed
|
|
174
|
+
return {
|
|
175
|
+
kind: "unavailable",
|
|
176
|
+
reason: task.status === "running" ? "starting" : "not_started",
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
if (!(await this.sandbox.availableFor(task.deviceId))) {
|
|
180
|
+
return { kind: "unavailable", reason: "unavailable" };
|
|
181
|
+
}
|
|
182
|
+
if (!(await this.deviceUsable(orgId, task.conversationId))) {
|
|
183
|
+
return { kind: "unavailable", reason: "no_access" };
|
|
184
|
+
}
|
|
185
|
+
const createdAt = task.sandboxCreatedAt;
|
|
186
|
+
// the person reading it acts in the task's conversation
|
|
187
|
+
const actor = { accountId, conversationId: task.conversationId };
|
|
188
|
+
try {
|
|
189
|
+
const r = await this.sandbox.ifRunning(task.deviceId, { createdAt }, async (p, h, signal) => {
|
|
190
|
+
const res = await actingAs(p, actor).exec(h, {
|
|
191
|
+
command: tailScript(task.id, tail),
|
|
192
|
+
cwd: rootsOf(h).workspace,
|
|
193
|
+
timeoutMs: OUTPUT_READ_TIMEOUT_MS,
|
|
194
|
+
maxOutputBytes: 2 * OUTPUT_TAIL_MAX_BYTES + 4096,
|
|
195
|
+
signal,
|
|
196
|
+
});
|
|
197
|
+
return res.exitCode === 0 ? parseTail(res.stdout, tail) : null;
|
|
198
|
+
}, AbortSignal.timeout(OUTPUT_READ_TIMEOUT_MS));
|
|
199
|
+
if (r.kind === "other_instance")
|
|
200
|
+
return { kind: "unavailable", reason: "rebuilt" };
|
|
201
|
+
if (r.kind === "not_running") {
|
|
202
|
+
// a suspended instance keeps its files; any other state means they went with it
|
|
203
|
+
return { kind: "unavailable", reason: r.status === "suspended" ? "suspended" : "rebuilt" };
|
|
204
|
+
}
|
|
205
|
+
if (r.value === null)
|
|
206
|
+
return { kind: "unavailable", reason: "read_failed" };
|
|
207
|
+
if (r.value === "missing")
|
|
208
|
+
return { kind: "unavailable", reason: "output_missing" };
|
|
209
|
+
return { kind: "ok", value: r.value };
|
|
210
|
+
}
|
|
211
|
+
catch (e) {
|
|
212
|
+
if (isSandboxGoneError(e))
|
|
213
|
+
return { kind: "unavailable", reason: "rebuilt" };
|
|
214
|
+
// a local device's machine: offline, or no longer the owner's (revoked, deleted)
|
|
215
|
+
if (e instanceof ApiError && e.code.startsWith("device.")) {
|
|
216
|
+
return {
|
|
217
|
+
kind: "unavailable",
|
|
218
|
+
reason: e.code === "device.offline" ? "device_offline" : "no_access",
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
throw e;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
BackgroundTasks = __decorate([
|
|
226
|
+
Injectable(),
|
|
227
|
+
__param(0, Inject(ConversationAccess)),
|
|
228
|
+
__param(1, Inject(BackgroundTaskStore)),
|
|
229
|
+
__param(2, Inject(BackgroundTaskStopper)),
|
|
230
|
+
__param(3, Inject(SandboxService)),
|
|
231
|
+
__param(4, Inject(EventLog)),
|
|
232
|
+
__param(5, Inject(KernelDb)),
|
|
233
|
+
__param(6, Inject(ConversationDevices))
|
|
234
|
+
], BackgroundTasks);
|
|
235
|
+
export { BackgroundTasks };
|
|
236
|
+
/**
|
|
237
|
+
* Prints `size <bytes>` and `out <base64 of the last `tail` bytes>`, or `missing` when the output
|
|
238
|
+
* file is not there. Relative to the workspace root; POSIX tools only (`wc -c`, `tail -c`,
|
|
239
|
+
* `base64`, `tr`), so it reads the same on Linux and macOS.
|
|
240
|
+
*/
|
|
241
|
+
export function tailScript(id, tail) {
|
|
242
|
+
if (!TASK_ID_RE.test(id))
|
|
243
|
+
throw new Error(`invalid background task id: ${id}`);
|
|
244
|
+
const f = `${TASKS_DIR}/${id}.out`;
|
|
245
|
+
return [
|
|
246
|
+
`if [ ! -f ${f} ]; then echo missing; exit 0; fi`,
|
|
247
|
+
`s=$({ wc -c < ${f}; } 2>/dev/null | tr -d ' '); echo "size \${s:-0}"`,
|
|
248
|
+
`printf 'out '; { tail -c ${Math.floor(tail)} ${f} 2>/dev/null | base64 | tr -d '\\n'; }; echo`,
|
|
249
|
+
].join("\n");
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Decodes {@link tailScript}'s output (`missing`: no output file; null: unreadable); a cut that
|
|
253
|
+
* splits a UTF-8 character drops its tail bytes.
|
|
254
|
+
*/
|
|
255
|
+
export function parseTail(stdout, tail) {
|
|
256
|
+
if (/^missing$/m.test(stdout))
|
|
257
|
+
return "missing";
|
|
258
|
+
const size = /^size ([0-9]+)$/m.exec(stdout);
|
|
259
|
+
const out = /^out (\S*)$/m.exec(stdout);
|
|
260
|
+
if (!size || !out)
|
|
261
|
+
return null;
|
|
262
|
+
let bytes = Buffer.from(out[1], "base64");
|
|
263
|
+
const truncated = Number(size[1]) > tail;
|
|
264
|
+
if (truncated) {
|
|
265
|
+
let i = 0;
|
|
266
|
+
while (i < bytes.length && i < 3 && (bytes[i] & 0xc0) === 0x80)
|
|
267
|
+
i++;
|
|
268
|
+
bytes = bytes.subarray(i);
|
|
269
|
+
}
|
|
270
|
+
return { text: bytes.toString("utf8"), truncated };
|
|
271
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
2
|
+
/**
|
|
3
|
+
* The wake rules of an idle conversation (spec 2026-11-05-background-bash-design §3, generalized
|
|
4
|
+
* by agent map spec §5.3 to a second event kind): a finished background task or a sub-agent's
|
|
5
|
+
* delivery starts a run. Read by `RunQueue.ensureRun` in its transaction: every path that may start
|
|
6
|
+
* a run (a finish, a delivery, the end of a run, the delayed wake job, a page opening) applies the
|
|
7
|
+
* same rules. `BackgroundWake` is what calls `ensureRun` when a task finishes or a delivery lands.
|
|
8
|
+
*/
|
|
9
|
+
/** No two wakes of one conversation start within this window. */
|
|
10
|
+
export declare const WAKE_WINDOW_MS = 60000;
|
|
11
|
+
/** The delayed job that wakes a conversation at the end of its window (`cap-kernel-maintenance`). */
|
|
12
|
+
export declare const BG_WAKE_JOB = "bg-wake";
|
|
13
|
+
/**
|
|
14
|
+
* Its job id: one job per conversation and window end (no `:`). `retry` > 0 is a job that fired
|
|
15
|
+
* before the window ended on the database's clock and scheduled itself again: a distinct id, since
|
|
16
|
+
* BullMQ ignores an add under the id of the job still running.
|
|
17
|
+
*/
|
|
18
|
+
export declare const bgWakeJobId: (conversationId: string, windowEnd: number, retry?: number) => string;
|
|
19
|
+
export interface BgWakeJobData {
|
|
20
|
+
conversationId: string;
|
|
21
|
+
/** How many times this window's wake fired early (absent: none). */
|
|
22
|
+
retry?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* What a conversation's unconsumed wake events decide:
|
|
26
|
+
* - `wake`: start a run whose boundary is the event at `seq`, as `triggerAccountId`;
|
|
27
|
+
* - `later`: a wake started less than {@link WAKE_WINDOW_MS} ago; the window ends at `windowEnd`
|
|
28
|
+
* (epoch ms, the database's clock), `delayMs` from now;
|
|
29
|
+
* - null: nothing wakes the conversation.
|
|
30
|
+
*/
|
|
31
|
+
export type WakeDecision = {
|
|
32
|
+
kind: "wake";
|
|
33
|
+
seq: number;
|
|
34
|
+
triggerAccountId: string;
|
|
35
|
+
} | {
|
|
36
|
+
kind: "later";
|
|
37
|
+
windowEnd: number;
|
|
38
|
+
delayMs: number;
|
|
39
|
+
} | null;
|
|
40
|
+
/**
|
|
41
|
+
* The wake decision for a conversation that is idle and has no unconsumed message (the caller
|
|
42
|
+
* checked these under the conversation's row lock): a chat conversation (`rootId` = its own id) or
|
|
43
|
+
* a sub-agent's (`rootId` = the root of its tree). An event wakes it when:
|
|
44
|
+
* - it is after `consumed` and is either
|
|
45
|
+
* - a `background_task_finished` of a task of this conversation (the join on `conversation_id`
|
|
46
|
+
* reads the task's trigger account) that is not `reported` (a tool call already told the model)
|
|
47
|
+
* and has no `stoppedBy` (`"person"`: that person is looking at the conversation;
|
|
48
|
+
* `"deletion"`: the conversation is being deleted), or
|
|
49
|
+
* - a `subagent_delivery` (its own `triggerAccountId`: the trigger account of the child run that
|
|
50
|
+
* delivered it, agent map spec §7), except the finish of a child that was stopped
|
|
51
|
+
* (`status: "aborted"`: a person's stop of it or of a sub-agent above it, a tree stop, the
|
|
52
|
+
* deletion of the root), for the same reason as a person's task stop; a tree stop thus never
|
|
53
|
+
* wakes the stopped ancestors through their descendants' finishes, which land after them;
|
|
54
|
+
* - the wake setting is on (the org's override, else `deploymentOn`);
|
|
55
|
+
* - the root's queue is not paused and the root is not deleted (a paused root holds the wakes of
|
|
56
|
+
* the whole tree, agent map spec §5.3);
|
|
57
|
+
* - the event's trigger account can still send to the root (`canSend`, which the caller binds to
|
|
58
|
+
* the root);
|
|
59
|
+
* - no other wake of this conversation started in the last {@link WAKE_WINDOW_MS} (else `later`).
|
|
60
|
+
* The boundary is the newest event whose trigger account can send.
|
|
61
|
+
*/
|
|
62
|
+
export declare function wakeDecisionIn(t: KernelSchemaDb, conv: {
|
|
63
|
+
id: string;
|
|
64
|
+
orgId: string;
|
|
65
|
+
rootId: string;
|
|
66
|
+
}, consumed: number, deploymentOn: boolean, canSend: (accountId: string) => Promise<boolean>): Promise<WakeDecision>;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { sql } from "kysely";
|
|
2
|
+
import { effectiveWakeOnBackgroundTask, readOrgSettings } from "../orgs/settings.service.js";
|
|
3
|
+
/**
|
|
4
|
+
* The wake rules of an idle conversation (spec 2026-11-05-background-bash-design §3, generalized
|
|
5
|
+
* by agent map spec §5.3 to a second event kind): a finished background task or a sub-agent's
|
|
6
|
+
* delivery starts a run. Read by `RunQueue.ensureRun` in its transaction: every path that may start
|
|
7
|
+
* a run (a finish, a delivery, the end of a run, the delayed wake job, a page opening) applies the
|
|
8
|
+
* same rules. `BackgroundWake` is what calls `ensureRun` when a task finishes or a delivery lands.
|
|
9
|
+
*/
|
|
10
|
+
/** No two wakes of one conversation start within this window. */
|
|
11
|
+
export const WAKE_WINDOW_MS = 60_000;
|
|
12
|
+
/** The delayed job that wakes a conversation at the end of its window (`cap-kernel-maintenance`). */
|
|
13
|
+
export const BG_WAKE_JOB = "bg-wake";
|
|
14
|
+
/**
|
|
15
|
+
* Its job id: one job per conversation and window end (no `:`). `retry` > 0 is a job that fired
|
|
16
|
+
* before the window ended on the database's clock and scheduled itself again: a distinct id, since
|
|
17
|
+
* BullMQ ignores an add under the id of the job still running.
|
|
18
|
+
*/
|
|
19
|
+
export const bgWakeJobId = (conversationId, windowEnd, retry = 0) => `bg-wake-${conversationId}-${windowEnd}${retry > 0 ? `-r${retry}` : ""}`;
|
|
20
|
+
/** How many unconsumed events are tried for a trigger account that can still send. */
|
|
21
|
+
const CANDIDATES = 20;
|
|
22
|
+
/** The event types whose run is a wake run (its boundary, `runs.trigger_seq`, is one of them). */
|
|
23
|
+
const WAKE_EVENT_TYPES = ["background_task_finished", "subagent_delivery"];
|
|
24
|
+
/**
|
|
25
|
+
* The wake decision for a conversation that is idle and has no unconsumed message (the caller
|
|
26
|
+
* checked these under the conversation's row lock): a chat conversation (`rootId` = its own id) or
|
|
27
|
+
* a sub-agent's (`rootId` = the root of its tree). An event wakes it when:
|
|
28
|
+
* - it is after `consumed` and is either
|
|
29
|
+
* - a `background_task_finished` of a task of this conversation (the join on `conversation_id`
|
|
30
|
+
* reads the task's trigger account) that is not `reported` (a tool call already told the model)
|
|
31
|
+
* and has no `stoppedBy` (`"person"`: that person is looking at the conversation;
|
|
32
|
+
* `"deletion"`: the conversation is being deleted), or
|
|
33
|
+
* - a `subagent_delivery` (its own `triggerAccountId`: the trigger account of the child run that
|
|
34
|
+
* delivered it, agent map spec §7), except the finish of a child that was stopped
|
|
35
|
+
* (`status: "aborted"`: a person's stop of it or of a sub-agent above it, a tree stop, the
|
|
36
|
+
* deletion of the root), for the same reason as a person's task stop; a tree stop thus never
|
|
37
|
+
* wakes the stopped ancestors through their descendants' finishes, which land after them;
|
|
38
|
+
* - the wake setting is on (the org's override, else `deploymentOn`);
|
|
39
|
+
* - the root's queue is not paused and the root is not deleted (a paused root holds the wakes of
|
|
40
|
+
* the whole tree, agent map spec §5.3);
|
|
41
|
+
* - the event's trigger account can still send to the root (`canSend`, which the caller binds to
|
|
42
|
+
* the root);
|
|
43
|
+
* - no other wake of this conversation started in the last {@link WAKE_WINDOW_MS} (else `later`).
|
|
44
|
+
* The boundary is the newest event whose trigger account can send.
|
|
45
|
+
*/
|
|
46
|
+
export async function wakeDecisionIn(t, conv, consumed, deploymentOn, canSend) {
|
|
47
|
+
const finishes = await t
|
|
48
|
+
.selectFrom("conversation_events as e")
|
|
49
|
+
.innerJoin("background_tasks as b", (j) => j
|
|
50
|
+
.on(sql `b.id = e.payload ->> 'taskId'`)
|
|
51
|
+
.onRef("b.conversation_id", "=", "e.conversation_id"))
|
|
52
|
+
.select(["e.seq", "b.trigger_account_id as account"])
|
|
53
|
+
.where("e.conversation_id", "=", conv.id)
|
|
54
|
+
.where("e.type", "=", "background_task_finished")
|
|
55
|
+
.where("e.seq", ">", String(consumed))
|
|
56
|
+
.where(sql `(e.payload ->> 'reported')::boolean = false`)
|
|
57
|
+
.where(sql `e.payload ->> 'stoppedBy' IS NULL`)
|
|
58
|
+
.orderBy("e.seq", "desc")
|
|
59
|
+
.limit(CANDIDATES)
|
|
60
|
+
.execute();
|
|
61
|
+
const deliveries = await t
|
|
62
|
+
.selectFrom("conversation_events as e")
|
|
63
|
+
.select(["e.seq", sql `e.payload ->> 'triggerAccountId'`.as("account")])
|
|
64
|
+
.where("e.conversation_id", "=", conv.id)
|
|
65
|
+
.where("e.type", "=", "subagent_delivery")
|
|
66
|
+
.where("e.seq", ">", String(consumed))
|
|
67
|
+
.where(sql `e.payload ->> 'status' IS DISTINCT FROM 'aborted'`)
|
|
68
|
+
.orderBy("e.seq", "desc")
|
|
69
|
+
.limit(CANDIDATES)
|
|
70
|
+
.execute();
|
|
71
|
+
const candidates = [...finishes, ...deliveries]
|
|
72
|
+
.sort((a, b) => Number(b.seq) - Number(a.seq))
|
|
73
|
+
.slice(0, CANDIDATES);
|
|
74
|
+
if (candidates.length === 0)
|
|
75
|
+
return null;
|
|
76
|
+
const org = (await readOrgSettings(t, conv.orgId)).wakeOnBackgroundTask;
|
|
77
|
+
if (!effectiveWakeOnBackgroundTask(deploymentOn, org))
|
|
78
|
+
return null;
|
|
79
|
+
const root = await t
|
|
80
|
+
.selectFrom("conversations")
|
|
81
|
+
.select(["queue_paused", "deleted_at"])
|
|
82
|
+
.where("id", "=", conv.rootId)
|
|
83
|
+
.executeTakeFirst();
|
|
84
|
+
if (!root || root.queue_paused || root.deleted_at !== null)
|
|
85
|
+
return null;
|
|
86
|
+
let boundary;
|
|
87
|
+
for (const c of candidates) {
|
|
88
|
+
if (await canSend(c.account)) {
|
|
89
|
+
boundary = { seq: Number(c.seq), triggerAccountId: c.account };
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (boundary === undefined)
|
|
94
|
+
return null;
|
|
95
|
+
// the window starts when the last wake run was created (PG, so every replica reads the same)
|
|
96
|
+
const last = await t
|
|
97
|
+
.selectFrom("runs as r")
|
|
98
|
+
.innerJoin("conversation_events as w", (j) => j.onRef("w.conversation_id", "=", "r.conversation_id").onRef("w.seq", "=", "r.trigger_seq"))
|
|
99
|
+
.select([
|
|
100
|
+
sql `floor(extract(epoch from max(r.created_at)) * 1000)::bigint`.as("started"),
|
|
101
|
+
sql `floor(extract(epoch from now()) * 1000)::bigint`.as("now"),
|
|
102
|
+
])
|
|
103
|
+
.where("r.conversation_id", "=", conv.id)
|
|
104
|
+
.where("w.type", "in", WAKE_EVENT_TYPES)
|
|
105
|
+
.executeTakeFirst();
|
|
106
|
+
if (last?.started != null) {
|
|
107
|
+
const windowEnd = Number(last.started) + WAKE_WINDOW_MS;
|
|
108
|
+
const now = Number(last.now);
|
|
109
|
+
if (windowEnd > now)
|
|
110
|
+
return { kind: "later", windowEnd, delayMs: windowEnd - now };
|
|
111
|
+
}
|
|
112
|
+
return { kind: "wake", ...boundary };
|
|
113
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type OnApplicationShutdown } from "@nestjs/common";
|
|
3
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
4
|
+
import { RunQueue } from "../runtime/run-queue.js";
|
|
5
|
+
/**
|
|
6
|
+
* Wakes an idle conversation when one of its background tasks finished (spec
|
|
7
|
+
* 2026-11-05-background-bash-design §3) or a sub-agent delivered to it (agent map spec §5.3).
|
|
8
|
+
* {@link BackgroundTaskFinisher} announces the committed finish (`background_task.finished`) and
|
|
9
|
+
* `SubagentDeliveries` the committed delivery (`subagent.delivered`), both in-process domain
|
|
10
|
+
* events emitted after the commit; {@link onFinished} asks the run queue for a run. The wake rules
|
|
11
|
+
* themselves (own task, not reported, the wake setting, the root's queue not paused, the trigger
|
|
12
|
+
* account can still send to the root, the 60 s window and its delayed `bg-wake` job) are applied
|
|
13
|
+
* by `RunQueue.ensureRun` in its transaction (`wakeDecisionIn`, ./wake-rules.ts), so a run's end,
|
|
14
|
+
* the delayed job and a page opening apply the same rules; a lost event is re-derived by the next
|
|
15
|
+
* of them. Provided by `RuntimeModule`.
|
|
16
|
+
*/
|
|
17
|
+
export declare class BackgroundWake implements OnApplicationShutdown {
|
|
18
|
+
private readonly runs;
|
|
19
|
+
private readonly log;
|
|
20
|
+
/** Drops the subscriptions (the events may outlive this instance). */
|
|
21
|
+
private readonly unsubscribe;
|
|
22
|
+
constructor(runs: Pick<RunQueue, "ensureRun">, events: KernelEvents, log: Pick<Logger, "warn">);
|
|
23
|
+
/**
|
|
24
|
+
* A task of `conversationId` finished, or a sub-agent delivered to it (after the commit): starts
|
|
25
|
+
* a wake run when the rules allow it, or schedules one at the end of the wake window. A run in
|
|
26
|
+
* progress absorbs the event at its next step instead, or its end starts the wake. Never throws.
|
|
27
|
+
*/
|
|
28
|
+
onFinished(conversationId: string): Promise<void>;
|
|
29
|
+
onApplicationShutdown(): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
12
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
13
|
+
import { RunQueue } from "../runtime/run-queue.js";
|
|
14
|
+
/**
|
|
15
|
+
* Wakes an idle conversation when one of its background tasks finished (spec
|
|
16
|
+
* 2026-11-05-background-bash-design §3) or a sub-agent delivered to it (agent map spec §5.3).
|
|
17
|
+
* {@link BackgroundTaskFinisher} announces the committed finish (`background_task.finished`) and
|
|
18
|
+
* `SubagentDeliveries` the committed delivery (`subagent.delivered`), both in-process domain
|
|
19
|
+
* events emitted after the commit; {@link onFinished} asks the run queue for a run. The wake rules
|
|
20
|
+
* themselves (own task, not reported, the wake setting, the root's queue not paused, the trigger
|
|
21
|
+
* account can still send to the root, the 60 s window and its delayed `bg-wake` job) are applied
|
|
22
|
+
* by `RunQueue.ensureRun` in its transaction (`wakeDecisionIn`, ./wake-rules.ts), so a run's end,
|
|
23
|
+
* the delayed job and a page opening apply the same rules; a lost event is re-derived by the next
|
|
24
|
+
* of them. Provided by `RuntimeModule`.
|
|
25
|
+
*/
|
|
26
|
+
let BackgroundWake = class BackgroundWake {
|
|
27
|
+
runs;
|
|
28
|
+
log;
|
|
29
|
+
/** Drops the subscriptions (the events may outlive this instance). */
|
|
30
|
+
unsubscribe;
|
|
31
|
+
constructor(runs, events, log) {
|
|
32
|
+
this.runs = runs;
|
|
33
|
+
this.log = log;
|
|
34
|
+
this.unsubscribe = [
|
|
35
|
+
events.on("background_task.finished", ({ conversationId }) => this.onFinished(conversationId)),
|
|
36
|
+
events.on("subagent.delivered", ({ conversationId }) => this.onFinished(conversationId)),
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A task of `conversationId` finished, or a sub-agent delivered to it (after the commit): starts
|
|
41
|
+
* a wake run when the rules allow it, or schedules one at the end of the wake window. A run in
|
|
42
|
+
* progress absorbs the event at its next step instead, or its end starts the wake. Never throws.
|
|
43
|
+
*/
|
|
44
|
+
async onFinished(conversationId) {
|
|
45
|
+
try {
|
|
46
|
+
await this.runs.ensureRun(conversationId);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
this.log.warn("background wake failed", { conversationId, err });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
onApplicationShutdown() {
|
|
53
|
+
for (const off of this.unsubscribe)
|
|
54
|
+
off();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
BackgroundWake = __decorate([
|
|
58
|
+
Injectable(),
|
|
59
|
+
__param(0, Inject(RunQueue)),
|
|
60
|
+
__param(1, Inject(KernelEvents)),
|
|
61
|
+
__param(2, Inject(KERNEL_LOGGER))
|
|
62
|
+
], BackgroundWake);
|
|
63
|
+
export { BackgroundWake };
|