@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
package/dist/db/pool.d.ts
CHANGED
|
@@ -18,6 +18,11 @@ export declare function pgConnectOptions(cfg: {
|
|
|
18
18
|
*/
|
|
19
19
|
export declare function createDb(url: string, poolMax: number, onError?: (err: Error) => void, opts?: {
|
|
20
20
|
connectTimeoutMs?: number | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* How long an idle client stays in the pool (pg's `idleTimeoutMillis`; unset = pg's 10 s).
|
|
23
|
+
* Every new client costs a TCP + auth handshake, several round trips to a distant database.
|
|
24
|
+
*/
|
|
25
|
+
idleTimeoutMs?: number | undefined;
|
|
21
26
|
/**
|
|
22
27
|
* Error of a client while it is checked out: pg-pool drops its own listener on checkout, so
|
|
23
28
|
* without this a backend killed between two statements is an uncaught exception.
|
package/dist/db/pool.js
CHANGED
|
@@ -22,6 +22,9 @@ export function createDb(url, poolMax, onError = (err) => console.error("[db] id
|
|
|
22
22
|
connectionString: url,
|
|
23
23
|
max: poolMax,
|
|
24
24
|
...pgConnectOptions(opts),
|
|
25
|
+
...(opts.idleTimeoutMs !== undefined && { idleTimeoutMillis: opts.idleTimeoutMs }),
|
|
26
|
+
// a client kept idle longer must notice a dead peer (a dropped VPN, a NAT timeout) by itself
|
|
27
|
+
keepAlive: true,
|
|
25
28
|
});
|
|
26
29
|
pool.on("error", onError);
|
|
27
30
|
pool.on("connect", (client) => client.on("error", opts.onClientError ?? onError));
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ApiError } from "../errors.js";
|
|
2
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
3
|
+
import { SandboxProviders } from "../sandbox/providers.js";
|
|
4
|
+
/** What decides a device's provider: its own record and its instance row's (if any). */
|
|
5
|
+
export interface ProviderFacts {
|
|
6
|
+
/** `devices.provider`: the provider current when it was created. */
|
|
7
|
+
provider: string | null;
|
|
8
|
+
/** `device_instances.provider`; null without an instance row. */
|
|
9
|
+
instanceProvider: string | null;
|
|
10
|
+
/** The instance row's `fs_status`; null without an instance row. */
|
|
11
|
+
fsStatus: "none" | "ready" | "lost" | null;
|
|
12
|
+
/** The instance row records an instance handle. */
|
|
13
|
+
hasInstance: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The provider a device works with: a kernel-internal one (`@local`) as recorded; for a
|
|
17
|
+
* cloud device the one keeping its files or instance once it has any (they are never
|
|
18
|
+
* migrated, spec §4.2 item 13); before that, the current cloud provider (its first use creates
|
|
19
|
+
* them there), else the one recorded at creation. The same rule as `SandboxService`'s use.
|
|
20
|
+
*/
|
|
21
|
+
export declare function deviceProvider(f: ProviderFacts, current: string | undefined): string | null;
|
|
22
|
+
/** It has files or an instance at some provider (a file system, even a lost one, or a handle). */
|
|
23
|
+
export declare const holdsResources: (f: ProviderFacts) => boolean;
|
|
24
|
+
/** `device_instances.status`. */
|
|
25
|
+
export type InstanceStatus = "none" | "creating" | "running" | "suspended" | "destroyed";
|
|
26
|
+
/**
|
|
27
|
+
* For replacing a default (which one is the person's default): it holds healthy files or an
|
|
28
|
+
* instance, or an instance row is under way (`creating`, `running`, `suspended`: a first use may
|
|
29
|
+
* be creating the instance before any file system or handle is recorded). Lost files count as
|
|
30
|
+
* none here, unlike {@link holdsResources}, which decides the provider.
|
|
31
|
+
*/
|
|
32
|
+
export declare const inUseForDefault: (f: ProviderFacts & {
|
|
33
|
+
status: InstanceStatus | null;
|
|
34
|
+
}) => boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The provider a former default belongs to (its label and the provider whose switch back restores
|
|
37
|
+
* it): the one holding its resources once it holds any, else the one it was demoted from (the
|
|
38
|
+
* marker). A former default demoted while empty and used afterwards keeps a stale marker; its
|
|
39
|
+
* resources decide. null for a device that is not a former default.
|
|
40
|
+
*/
|
|
41
|
+
export declare function demotedProvider(marker: string | null, f: ProviderFacts): string | null;
|
|
42
|
+
/**
|
|
43
|
+
* The device's provider is not the current one, or there is no provider (503); for an
|
|
44
|
+
* internal provider (`@local`), this kernel does not serve it.
|
|
45
|
+
*/
|
|
46
|
+
export declare const deviceUnavailable: (provider: string | null) => ApiError;
|
|
47
|
+
/**
|
|
48
|
+
* Who may use a device (spec §4.2 item 12): in phase 1 only the owner of a personal
|
|
49
|
+
* device. Anyone else gets `device.not_found`, never `forbidden`, so ids cannot be
|
|
50
|
+
* probed. Read live on every call (PG, no cache); phase 3 adds project membership.
|
|
51
|
+
*/
|
|
52
|
+
export declare class DeviceAccess {
|
|
53
|
+
private readonly db;
|
|
54
|
+
private readonly providers;
|
|
55
|
+
constructor(db: KernelDb, providers: Pick<SandboxProviders, "cloud" | "forName">);
|
|
56
|
+
/**
|
|
57
|
+
* The device if `accountId` may use it in `orgId` now: `device.not_found` when it is
|
|
58
|
+
* missing, deleted, in another org or someone else's; `device.unavailable` when its
|
|
59
|
+
* provider is not the current one (or there is none). A local device is usable while
|
|
60
|
+
* `@local` is registered: whether its machine is online is the relay's concern, not access.
|
|
61
|
+
*/
|
|
62
|
+
usable(orgId: string, accountId: string, deviceId: string): Promise<{
|
|
63
|
+
id: string;
|
|
64
|
+
provider: string | null;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
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 { ApiError } from "../errors.js";
|
|
12
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
13
|
+
import { isInternalProvider, SandboxProviders } from "../sandbox/providers.js";
|
|
14
|
+
import { deviceNotFound } from "../sandbox/sandbox.service.js";
|
|
15
|
+
/**
|
|
16
|
+
* The provider a device works with: a kernel-internal one (`@local`) as recorded; for a
|
|
17
|
+
* cloud device the one keeping its files or instance once it has any (they are never
|
|
18
|
+
* migrated, spec §4.2 item 13); before that, the current cloud provider (its first use creates
|
|
19
|
+
* them there), else the one recorded at creation. The same rule as `SandboxService`'s use.
|
|
20
|
+
*/
|
|
21
|
+
export function deviceProvider(f, current) {
|
|
22
|
+
if (f.provider !== null && isInternalProvider(f.provider))
|
|
23
|
+
return f.provider;
|
|
24
|
+
if (holdsResources(f))
|
|
25
|
+
return f.instanceProvider;
|
|
26
|
+
return current ?? f.provider;
|
|
27
|
+
}
|
|
28
|
+
/** It has files or an instance at some provider (a file system, even a lost one, or a handle). */
|
|
29
|
+
export const holdsResources = (f) => f.fsStatus !== null && (f.fsStatus !== "none" || f.hasInstance);
|
|
30
|
+
/**
|
|
31
|
+
* For replacing a default (which one is the person's default): it holds healthy files or an
|
|
32
|
+
* instance, or an instance row is under way (`creating`, `running`, `suspended`: a first use may
|
|
33
|
+
* be creating the instance before any file system or handle is recorded). Lost files count as
|
|
34
|
+
* none here, unlike {@link holdsResources}, which decides the provider.
|
|
35
|
+
*/
|
|
36
|
+
export const inUseForDefault = (f) => f.fsStatus === "ready" ||
|
|
37
|
+
f.hasInstance ||
|
|
38
|
+
(f.status !== null && f.status !== "none" && f.status !== "destroyed");
|
|
39
|
+
/**
|
|
40
|
+
* The provider a former default belongs to (its label and the provider whose switch back restores
|
|
41
|
+
* it): the one holding its resources once it holds any, else the one it was demoted from (the
|
|
42
|
+
* marker). A former default demoted while empty and used afterwards keeps a stale marker; its
|
|
43
|
+
* resources decide. null for a device that is not a former default.
|
|
44
|
+
*/
|
|
45
|
+
export function demotedProvider(marker, f) {
|
|
46
|
+
if (marker === null)
|
|
47
|
+
return null;
|
|
48
|
+
return (holdsResources(f) ? f.instanceProvider : null) ?? marker;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The device's provider is not the current one, or there is no provider (503); for an
|
|
52
|
+
* internal provider (`@local`), this kernel does not serve it.
|
|
53
|
+
*/
|
|
54
|
+
export const deviceUnavailable = (provider) => new ApiError("device.unavailable", provider === null
|
|
55
|
+
? "No cloud sandbox is available in this deployment; ask the super admin to enable a sandbox plugin"
|
|
56
|
+
: isInternalProvider(provider)
|
|
57
|
+
? `This device runs on a connected machine (${provider}), which this deployment does not serve`
|
|
58
|
+
: `This device is kept by the sandbox provider ${provider}, which is not the current provider; it can be used again once ${provider} is the deployment's sandbox provider`);
|
|
59
|
+
/**
|
|
60
|
+
* Who may use a device (spec §4.2 item 12): in phase 1 only the owner of a personal
|
|
61
|
+
* device. Anyone else gets `device.not_found`, never `forbidden`, so ids cannot be
|
|
62
|
+
* probed. Read live on every call (PG, no cache); phase 3 adds project membership.
|
|
63
|
+
*/
|
|
64
|
+
let DeviceAccess = class DeviceAccess {
|
|
65
|
+
db;
|
|
66
|
+
providers;
|
|
67
|
+
constructor(db, providers) {
|
|
68
|
+
this.db = db;
|
|
69
|
+
this.providers = providers;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The device if `accountId` may use it in `orgId` now: `device.not_found` when it is
|
|
73
|
+
* missing, deleted, in another org or someone else's; `device.unavailable` when its
|
|
74
|
+
* provider is not the current one (or there is none). A local device is usable while
|
|
75
|
+
* `@local` is registered: whether its machine is online is the relay's concern, not access.
|
|
76
|
+
*/
|
|
77
|
+
async usable(orgId, accountId, deviceId) {
|
|
78
|
+
const row = await this.db
|
|
79
|
+
.selectFrom("devices as e")
|
|
80
|
+
.leftJoin("device_instances as i", "i.device_id", "e.id")
|
|
81
|
+
.select(["e.id", "e.provider", "i.provider as instance_provider", "i.fs_status", "i.handle"])
|
|
82
|
+
.where("e.id", "=", deviceId)
|
|
83
|
+
.where("e.org_id", "=", orgId)
|
|
84
|
+
.where("e.owner_kind", "=", "personal")
|
|
85
|
+
.where("e.owner_account_id", "=", accountId)
|
|
86
|
+
.where("e.deleted_at", "is", null)
|
|
87
|
+
.executeTakeFirst();
|
|
88
|
+
if (!row)
|
|
89
|
+
throw deviceNotFound();
|
|
90
|
+
if (row.provider !== null && isInternalProvider(row.provider)) {
|
|
91
|
+
if (this.providers.forName(row.provider) === undefined) {
|
|
92
|
+
throw deviceUnavailable(row.provider);
|
|
93
|
+
}
|
|
94
|
+
return { id: row.id, provider: row.provider };
|
|
95
|
+
}
|
|
96
|
+
const current = this.providers.cloud()?.plugin;
|
|
97
|
+
const provider = deviceProvider({
|
|
98
|
+
provider: row.provider,
|
|
99
|
+
instanceProvider: row.instance_provider,
|
|
100
|
+
fsStatus: row.fs_status,
|
|
101
|
+
hasInstance: row.handle !== null,
|
|
102
|
+
}, current);
|
|
103
|
+
if (current === undefined || provider !== current)
|
|
104
|
+
throw deviceUnavailable(provider);
|
|
105
|
+
return { id: row.id, provider };
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
DeviceAccess = __decorate([
|
|
109
|
+
Injectable(),
|
|
110
|
+
__param(0, Inject(KernelDb)),
|
|
111
|
+
__param(1, Inject(SandboxProviders))
|
|
112
|
+
], DeviceAccess);
|
|
113
|
+
export { DeviceAccess };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ApiError } from "../errors.js";
|
|
2
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
3
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
4
|
+
import { SandboxProviders } from "../sandbox/providers.js";
|
|
5
|
+
import { DeviceAccess } from "./access.js";
|
|
6
|
+
import { DevicesService } from "./devices.service.js";
|
|
7
|
+
/** `details[0].reason` of the error an anonymous IM conversation's sandbox call gets. */
|
|
8
|
+
export declare const ANONYMOUS_NO_DEVICE = "anonymous";
|
|
9
|
+
/** Anonymous IM senders have no device (spec §4.2 item 8): their sandbox tools are off. */
|
|
10
|
+
export declare const anonymousNoDevice: () => ApiError;
|
|
11
|
+
/** How a new conversation picks its device. */
|
|
12
|
+
export interface NewConversationDevice {
|
|
13
|
+
/** The device the person chose (the composer's picker); checked with `usable`. */
|
|
14
|
+
deviceId?: string;
|
|
15
|
+
/** An IM thread: the person's IM default (`device_defaults`) when still usable. */
|
|
16
|
+
im?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Which device a conversation works in (spec 2026-11-07-environments-design §4.1 items 1, 3;
|
|
20
|
+
* §4.2 items 8, 9, 12). A conversation is bound once, to a device of its owner
|
|
21
|
+
* (`conversations.account_id`): the one chosen at its first send, else the owner's IM default
|
|
22
|
+
* (IM threads), else the owner's default device. Its sub-agents use the root's. Access is
|
|
23
|
+
* checked when it is bound and again on every sandbox tool call ({@link forTool}); only the owner
|
|
24
|
+
* may use a personal device, so a conversation never reaches another person's.
|
|
25
|
+
*/
|
|
26
|
+
export declare class ConversationDevices {
|
|
27
|
+
private readonly db;
|
|
28
|
+
readonly txHost: TransactionHost;
|
|
29
|
+
private readonly providers;
|
|
30
|
+
private readonly access;
|
|
31
|
+
private readonly devices;
|
|
32
|
+
constructor(db: KernelDb, txHost: TransactionHost, providers: Pick<SandboxProviders, "cloud"> & Partial<Pick<SandboxProviders, "forName">>, access: Pick<DeviceAccess, "usable">, devices: Pick<DevicesService, "ensureDefault">);
|
|
33
|
+
/**
|
|
34
|
+
* The device a new conversation of `accountId` is bound to: the chosen one when it is
|
|
35
|
+
* usable by the person (else `device.not_found` / `device.unavailable`, and nothing
|
|
36
|
+
* is created); without a choice the IM default (IM only) or the person's default device.
|
|
37
|
+
* Null (unbound) for anonymous IM senders, and without a cloud sandbox provider when no usable
|
|
38
|
+
* IM default (a connected machine's device, say) applies.
|
|
39
|
+
*/
|
|
40
|
+
forNew(orgId: string, accountId: string, pick?: NewConversationDevice): Promise<string | null>;
|
|
41
|
+
/**
|
|
42
|
+
* The device a sandbox tool call of the conversation tree rooted at `rootConversationId`
|
|
43
|
+
* enters, checked for its owner now. A conversation still unbound (created before
|
|
44
|
+
* devices, or while no provider existed) is bound first, to the owner's IM default when it
|
|
45
|
+
* is an IM thread, else to the owner's default device; a racing call binds it once.
|
|
46
|
+
* Throws `sandbox.unavailable` for a cloud device (or none to bind) without a cloud
|
|
47
|
+
* provider and for an anonymous IM conversation, and `device.not_found` /
|
|
48
|
+
* `device.unavailable` when the owner may not use it now. A conversation bound to a
|
|
49
|
+
* connected machine's device (`@local`) does not need a cloud provider.
|
|
50
|
+
*/
|
|
51
|
+
forTool(orgId: string, rootConversationId: string): Promise<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Whether a sandbox tool call of the tree rooted at `rootConversationId` has a provider to run
|
|
54
|
+
* on, for tool listings (ruling R8; no binding, no access check, never throws): a cloud
|
|
55
|
+
* provider is loaded, or the device the conversation is bound to (an unbound IM thread:
|
|
56
|
+
* its owner's IM default) runs on a registered kernel provider (`@local`). A forbidden or gone
|
|
57
|
+
* device still counts: the call then says why.
|
|
58
|
+
*/
|
|
59
|
+
usableNow(orgId: string, rootConversationId: string): Promise<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* The person's IM default when `im` and it is still theirs, live, in this org and usable (the
|
|
62
|
+
* table has no such guard), else their default device (created when missing); null when
|
|
63
|
+
* that is needed and there is no cloud provider to make or use it. The owner having left the org
|
|
64
|
+
* reads as `device.not_found`.
|
|
65
|
+
*/
|
|
66
|
+
private defaultFor;
|
|
67
|
+
/** Binds an unbound conversation to `deviceId`; returns what it is bound to now. */
|
|
68
|
+
private bind;
|
|
69
|
+
/** The device runs on a kernel-internal provider (`@local`). */
|
|
70
|
+
private isInternal;
|
|
71
|
+
/** The account is the org's anonymous IM guest (no person behind it). */
|
|
72
|
+
private isAnonymous;
|
|
73
|
+
/** The conversation is (or was) an IM thread's. */
|
|
74
|
+
private isImThread;
|
|
75
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
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 { ApiError } from "../errors.js";
|
|
12
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
13
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
14
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
15
|
+
import { isInternalProvider, SandboxProviders } from "../sandbox/providers.js";
|
|
16
|
+
import { deviceNotFound, sandboxUnavailable } from "../sandbox/sandbox.service.js";
|
|
17
|
+
import { DeviceAccess } from "./access.js";
|
|
18
|
+
import { DevicesService } from "./devices.service.js";
|
|
19
|
+
/** `details[0].reason` of the error an anonymous IM conversation's sandbox call gets. */
|
|
20
|
+
export const ANONYMOUS_NO_DEVICE = "anonymous";
|
|
21
|
+
/** Anonymous IM senders have no device (spec §4.2 item 8): their sandbox tools are off. */
|
|
22
|
+
export const anonymousNoDevice = () => new ApiError("sandbox.unavailable", "Anonymous IM senders have no device, so the sandbox is not available", [{ reason: ANONYMOUS_NO_DEVICE }]);
|
|
23
|
+
/**
|
|
24
|
+
* Which device a conversation works in (spec 2026-11-07-environments-design §4.1 items 1, 3;
|
|
25
|
+
* §4.2 items 8, 9, 12). A conversation is bound once, to a device of its owner
|
|
26
|
+
* (`conversations.account_id`): the one chosen at its first send, else the owner's IM default
|
|
27
|
+
* (IM threads), else the owner's default device. Its sub-agents use the root's. Access is
|
|
28
|
+
* checked when it is bound and again on every sandbox tool call ({@link forTool}); only the owner
|
|
29
|
+
* may use a personal device, so a conversation never reaches another person's.
|
|
30
|
+
*/
|
|
31
|
+
let ConversationDevices = class ConversationDevices {
|
|
32
|
+
db;
|
|
33
|
+
txHost;
|
|
34
|
+
providers;
|
|
35
|
+
access;
|
|
36
|
+
devices;
|
|
37
|
+
constructor(db, txHost, providers, access, devices) {
|
|
38
|
+
this.db = db;
|
|
39
|
+
this.txHost = txHost;
|
|
40
|
+
this.providers = providers;
|
|
41
|
+
this.access = access;
|
|
42
|
+
this.devices = devices;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The device a new conversation of `accountId` is bound to: the chosen one when it is
|
|
46
|
+
* usable by the person (else `device.not_found` / `device.unavailable`, and nothing
|
|
47
|
+
* is created); without a choice the IM default (IM only) or the person's default device.
|
|
48
|
+
* Null (unbound) for anonymous IM senders, and without a cloud sandbox provider when no usable
|
|
49
|
+
* IM default (a connected machine's device, say) applies.
|
|
50
|
+
*/
|
|
51
|
+
async forNew(orgId, accountId, pick = {}) {
|
|
52
|
+
if (pick.deviceId !== undefined) {
|
|
53
|
+
return (await this.access.usable(orgId, accountId, pick.deviceId)).id;
|
|
54
|
+
}
|
|
55
|
+
if (pick.im !== true && this.providers.cloud() === undefined)
|
|
56
|
+
return null;
|
|
57
|
+
if (await this.isAnonymous(orgId, accountId))
|
|
58
|
+
return null;
|
|
59
|
+
return this.defaultFor(orgId, accountId, pick.im === true);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The device a sandbox tool call of the conversation tree rooted at `rootConversationId`
|
|
63
|
+
* enters, checked for its owner now. A conversation still unbound (created before
|
|
64
|
+
* devices, or while no provider existed) is bound first, to the owner's IM default when it
|
|
65
|
+
* is an IM thread, else to the owner's default device; a racing call binds it once.
|
|
66
|
+
* Throws `sandbox.unavailable` for a cloud device (or none to bind) without a cloud
|
|
67
|
+
* provider and for an anonymous IM conversation, and `device.not_found` /
|
|
68
|
+
* `device.unavailable` when the owner may not use it now. A conversation bound to a
|
|
69
|
+
* connected machine's device (`@local`) does not need a cloud provider.
|
|
70
|
+
*/
|
|
71
|
+
async forTool(orgId, rootConversationId) {
|
|
72
|
+
const conv = await this.db
|
|
73
|
+
.selectFrom("conversations")
|
|
74
|
+
.select(["account_id", "device_id"])
|
|
75
|
+
.where("id", "=", rootConversationId)
|
|
76
|
+
.where("org_id", "=", orgId)
|
|
77
|
+
.executeTakeFirst();
|
|
78
|
+
if (!conv)
|
|
79
|
+
throw deviceNotFound();
|
|
80
|
+
if (await this.isAnonymous(orgId, conv.account_id))
|
|
81
|
+
throw anonymousNoDevice();
|
|
82
|
+
let deviceId = conv.device_id;
|
|
83
|
+
if (deviceId === null) {
|
|
84
|
+
const im = await this.isImThread(rootConversationId);
|
|
85
|
+
const chosen = await this.defaultFor(orgId, conv.account_id, im);
|
|
86
|
+
if (chosen === null)
|
|
87
|
+
throw sandboxUnavailable();
|
|
88
|
+
deviceId = await this.bind(rootConversationId, chosen);
|
|
89
|
+
}
|
|
90
|
+
if (this.providers.cloud() === undefined && !(await this.isInternal(deviceId))) {
|
|
91
|
+
throw sandboxUnavailable();
|
|
92
|
+
}
|
|
93
|
+
return (await this.access.usable(orgId, conv.account_id, deviceId)).id;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Whether a sandbox tool call of the tree rooted at `rootConversationId` has a provider to run
|
|
97
|
+
* on, for tool listings (ruling R8; no binding, no access check, never throws): a cloud
|
|
98
|
+
* provider is loaded, or the device the conversation is bound to (an unbound IM thread:
|
|
99
|
+
* its owner's IM default) runs on a registered kernel provider (`@local`). A forbidden or gone
|
|
100
|
+
* device still counts: the call then says why.
|
|
101
|
+
*/
|
|
102
|
+
async usableNow(orgId, rootConversationId) {
|
|
103
|
+
if (this.providers.cloud() !== undefined)
|
|
104
|
+
return true;
|
|
105
|
+
const conv = await this.db
|
|
106
|
+
.selectFrom("conversations")
|
|
107
|
+
.select(["account_id", "device_id"])
|
|
108
|
+
.where("id", "=", rootConversationId)
|
|
109
|
+
.where("org_id", "=", orgId)
|
|
110
|
+
.executeTakeFirst();
|
|
111
|
+
if (!conv)
|
|
112
|
+
return false;
|
|
113
|
+
let deviceId = conv.device_id;
|
|
114
|
+
if (deviceId === null) {
|
|
115
|
+
if (!(await this.isImThread(rootConversationId)))
|
|
116
|
+
return false;
|
|
117
|
+
const row = await this.db
|
|
118
|
+
.selectFrom("device_defaults")
|
|
119
|
+
.select("device_id")
|
|
120
|
+
.where("org_id", "=", orgId)
|
|
121
|
+
.where("account_id", "=", conv.account_id)
|
|
122
|
+
.executeTakeFirst();
|
|
123
|
+
if (!row)
|
|
124
|
+
return false;
|
|
125
|
+
deviceId = row.device_id;
|
|
126
|
+
}
|
|
127
|
+
const env = await this.db
|
|
128
|
+
.selectFrom("devices")
|
|
129
|
+
.select("provider")
|
|
130
|
+
.where("id", "=", deviceId)
|
|
131
|
+
.executeTakeFirst();
|
|
132
|
+
const provider = env?.provider ?? null;
|
|
133
|
+
return (provider !== null &&
|
|
134
|
+
isInternalProvider(provider) &&
|
|
135
|
+
this.providers.forName?.(provider) !== undefined);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The person's IM default when `im` and it is still theirs, live, in this org and usable (the
|
|
139
|
+
* table has no such guard), else their default device (created when missing); null when
|
|
140
|
+
* that is needed and there is no cloud provider to make or use it. The owner having left the org
|
|
141
|
+
* reads as `device.not_found`.
|
|
142
|
+
*/
|
|
143
|
+
async defaultFor(orgId, accountId, im) {
|
|
144
|
+
if (im) {
|
|
145
|
+
const row = await this.db
|
|
146
|
+
.selectFrom("device_defaults")
|
|
147
|
+
.select("device_id")
|
|
148
|
+
.where("org_id", "=", orgId)
|
|
149
|
+
.where("account_id", "=", accountId)
|
|
150
|
+
.executeTakeFirst();
|
|
151
|
+
if (row) {
|
|
152
|
+
try {
|
|
153
|
+
return (await this.access.usable(orgId, accountId, row.device_id)).id;
|
|
154
|
+
}
|
|
155
|
+
catch (e) {
|
|
156
|
+
if (!isDeviceGone(e))
|
|
157
|
+
throw e;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (this.providers.cloud() === undefined)
|
|
162
|
+
return null;
|
|
163
|
+
try {
|
|
164
|
+
return await this.devices.ensureDefault(orgId, accountId);
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
if (e instanceof ApiError && e.code === "org.not_found")
|
|
168
|
+
throw deviceNotFound();
|
|
169
|
+
throw e;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/** Binds an unbound conversation to `deviceId`; returns what it is bound to now. */
|
|
173
|
+
async bind(conversationId, deviceId) {
|
|
174
|
+
await this.db
|
|
175
|
+
.updateTable("conversations")
|
|
176
|
+
.set({ device_id: deviceId })
|
|
177
|
+
.where("id", "=", conversationId)
|
|
178
|
+
.where("device_id", "is", null)
|
|
179
|
+
.execute();
|
|
180
|
+
const row = await this.db
|
|
181
|
+
.selectFrom("conversations")
|
|
182
|
+
.select("device_id")
|
|
183
|
+
.where("id", "=", conversationId)
|
|
184
|
+
.executeTakeFirstOrThrow();
|
|
185
|
+
return row.device_id ?? deviceId;
|
|
186
|
+
}
|
|
187
|
+
/** The device runs on a kernel-internal provider (`@local`). */
|
|
188
|
+
async isInternal(deviceId) {
|
|
189
|
+
const row = await this.db
|
|
190
|
+
.selectFrom("devices")
|
|
191
|
+
.select("provider")
|
|
192
|
+
.where("id", "=", deviceId)
|
|
193
|
+
.executeTakeFirst();
|
|
194
|
+
const provider = row?.provider ?? null;
|
|
195
|
+
return provider !== null && isInternalProvider(provider);
|
|
196
|
+
}
|
|
197
|
+
/** The account is the org's anonymous IM guest (no person behind it). */
|
|
198
|
+
async isAnonymous(orgId, accountId) {
|
|
199
|
+
const row = await this.db
|
|
200
|
+
.selectFrom("org_anonymous_accounts")
|
|
201
|
+
.select("account_id")
|
|
202
|
+
.where("org_id", "=", orgId)
|
|
203
|
+
.where("account_id", "=", accountId)
|
|
204
|
+
.executeTakeFirst();
|
|
205
|
+
return row !== undefined;
|
|
206
|
+
}
|
|
207
|
+
/** The conversation is (or was) an IM thread's. */
|
|
208
|
+
async isImThread(conversationId) {
|
|
209
|
+
const row = await this.db
|
|
210
|
+
.selectFrom("channel_threads")
|
|
211
|
+
.select("id")
|
|
212
|
+
.where("conversation_id", "=", conversationId)
|
|
213
|
+
.limit(1)
|
|
214
|
+
.executeTakeFirst();
|
|
215
|
+
return row !== undefined;
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
__decorate([
|
|
219
|
+
Transactional()
|
|
220
|
+
], ConversationDevices.prototype, "bind", null);
|
|
221
|
+
ConversationDevices = __decorate([
|
|
222
|
+
Injectable(),
|
|
223
|
+
__param(0, Inject(KernelDb)),
|
|
224
|
+
__param(1, Inject(TransactionHost)),
|
|
225
|
+
__param(2, Inject(SandboxProviders)),
|
|
226
|
+
__param(3, Inject(DeviceAccess)),
|
|
227
|
+
__param(4, Inject(DevicesService))
|
|
228
|
+
], ConversationDevices);
|
|
229
|
+
export { ConversationDevices };
|
|
230
|
+
const isDeviceGone = (e) => e instanceof ApiError && (e.code === "device.not_found" || e.code === "device.unavailable");
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import { type Principal } from "../identity/principal.js";
|
|
3
|
+
import { type OrgContext } from "../orgs/org.guard.js";
|
|
4
|
+
import { type DeviceList, DevicesService, type DeviceView } from "./devices.service.js";
|
|
5
|
+
import { type DeviceNameBody, type DeviceParams } from "./dto.js";
|
|
6
|
+
/**
|
|
7
|
+
* A person's devices in an org (`/api/v1/orgs/:orgId/devices`, spec
|
|
8
|
+
* 2026-11-07-environments-design §9; `agents.use`, human users only: a service token gets 403).
|
|
9
|
+
* Phase 1 has personal cloud devices only, each visible to its owner alone: another member
|
|
10
|
+
* gets 404 `device.not_found`.
|
|
11
|
+
* - `GET /` → `{ items, defaultId, lastUsedId, cloudAvailable }` (`cloudAvailable`: there is a
|
|
12
|
+
* current sandbox provider; ruling R4);
|
|
13
|
+
* - `POST / { name }` → 201 `{ device }`; `GET /:id`, `PATCH /:id { name }` → `{ device }`;
|
|
14
|
+
* - `DELETE /:id` → 202 (destroyed by a job after the response);
|
|
15
|
+
* - `POST /:id/files/reset` → 202 (the reset is enqueued: a worker empties the files, the next use
|
|
16
|
+
* starts empty);
|
|
17
|
+
* - `DELETE /:id/machine` → 204: a local device's machine is disconnected (its credential
|
|
18
|
+
* revoked; it must sign in again).
|
|
19
|
+
*/
|
|
20
|
+
export declare class DevicesController {
|
|
21
|
+
private readonly devices;
|
|
22
|
+
constructor(devices: DevicesService);
|
|
23
|
+
list(principal: Principal, org: OrgContext): Promise<DeviceList>;
|
|
24
|
+
create(principal: Principal, org: OrgContext, body: z.infer<typeof DeviceNameBody>): Promise<{
|
|
25
|
+
device: DeviceView;
|
|
26
|
+
}>;
|
|
27
|
+
get(principal: Principal, org: OrgContext, params: z.infer<typeof DeviceParams>): Promise<{
|
|
28
|
+
device: DeviceView;
|
|
29
|
+
}>;
|
|
30
|
+
rename(principal: Principal, org: OrgContext, params: z.infer<typeof DeviceParams>, body: z.infer<typeof DeviceNameBody>): Promise<{
|
|
31
|
+
device: DeviceView;
|
|
32
|
+
}>;
|
|
33
|
+
remove(principal: Principal, org: OrgContext, params: z.infer<typeof DeviceParams>): Promise<void>;
|
|
34
|
+
resetFiles(principal: Principal, org: OrgContext, params: z.infer<typeof DeviceParams>): Promise<void>;
|
|
35
|
+
revokeMachine(principal: Principal, org: OrgContext, params: z.infer<typeof DeviceParams>): Promise<void>;
|
|
36
|
+
}
|