@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,281 @@
|
|
|
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 { sql } from "kysely";
|
|
12
|
+
import { CatalogService } from "../catalog/catalog.service.js";
|
|
13
|
+
import { CatalogRequestsService } from "../catalog/requests.service.js";
|
|
14
|
+
import { ApiError } from "../errors.js";
|
|
15
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
16
|
+
/** The most items one platform inbox read returns. */
|
|
17
|
+
export const PLATFORM_INBOX_MAX_ITEMS = 100;
|
|
18
|
+
/** The most open scope sync failures one read takes. */
|
|
19
|
+
export const SCOPE_SYNC_FAILURES_LIST_MAX = 200;
|
|
20
|
+
/**
|
|
21
|
+
* A platform components migration run unfinished this long after its start is stuck (its worker
|
|
22
|
+
* stopped mid-run; a run takes seconds, and the next one starts at the next worker start or day).
|
|
23
|
+
*/
|
|
24
|
+
export const MIGRATION_RUN_STUCK_MS = 60 * 60_000;
|
|
25
|
+
/** Plugin install statuses of a plugin that is on in the org. */
|
|
26
|
+
const LIVE_INSTALL = ["installing", "installed", "upgrading"];
|
|
27
|
+
/** Every {@link PlatformInboxItem} type, in the order the admin overview lists them. */
|
|
28
|
+
export const PLATFORM_INBOX_TYPES = [
|
|
29
|
+
"catalog_request",
|
|
30
|
+
"permission_confirmation",
|
|
31
|
+
"org_upload_pending",
|
|
32
|
+
"scope_sync_failed",
|
|
33
|
+
"platform_migration",
|
|
34
|
+
"ownership_transferred",
|
|
35
|
+
];
|
|
36
|
+
/**
|
|
37
|
+
* The super admin's inbox (plugin scope spec §5.1 rule 5, §13.5): what waits on the platform,
|
|
38
|
+
* gathered from the sources the admin pages read (the 待确认 tab's requests and permission
|
|
39
|
+
* confirmations), plus the scope sync's open failures and the platform components migration's
|
|
40
|
+
* latest run. Stateless, read live from PG.
|
|
41
|
+
*/
|
|
42
|
+
let PlatformInboxService = class PlatformInboxService {
|
|
43
|
+
requests;
|
|
44
|
+
catalog;
|
|
45
|
+
kdb;
|
|
46
|
+
constructor(requests, catalog, kdb) {
|
|
47
|
+
this.requests = requests;
|
|
48
|
+
this.catalog = catalog;
|
|
49
|
+
this.kdb = kdb;
|
|
50
|
+
}
|
|
51
|
+
async list() {
|
|
52
|
+
const [requests, requestCount, pending, failures, failureCount, run, notices, noticeCount] = await Promise.all([
|
|
53
|
+
this.requests.listDeployment(),
|
|
54
|
+
this.requests.countPendingDeployment(),
|
|
55
|
+
this.catalog.list({ pending: true }),
|
|
56
|
+
this.scopeSyncFailures(),
|
|
57
|
+
this.countScopeSyncFailures(),
|
|
58
|
+
this.migrationRun(),
|
|
59
|
+
this.notices(),
|
|
60
|
+
this.countNotices(),
|
|
61
|
+
]);
|
|
62
|
+
const all = [
|
|
63
|
+
...requests.map((r) => ({
|
|
64
|
+
type: "catalog_request",
|
|
65
|
+
id: r.id,
|
|
66
|
+
createdAt: r.createdAt,
|
|
67
|
+
request: r,
|
|
68
|
+
})),
|
|
69
|
+
...pending.map((i) => ({
|
|
70
|
+
type: i.owner.kind === "org" ? "org_upload_pending" : "permission_confirmation",
|
|
71
|
+
id: i.id,
|
|
72
|
+
createdAt: i.updatedAt,
|
|
73
|
+
item: i,
|
|
74
|
+
})),
|
|
75
|
+
...failures.map((f) => ({
|
|
76
|
+
type: "scope_sync_failed",
|
|
77
|
+
id: `${f.item.id}/${f.org.id}`,
|
|
78
|
+
createdAt: f.failedAt,
|
|
79
|
+
failure: f,
|
|
80
|
+
})),
|
|
81
|
+
...notices.map((n) => ({
|
|
82
|
+
type: "ownership_transferred",
|
|
83
|
+
id: n.id,
|
|
84
|
+
createdAt: n.createdAt,
|
|
85
|
+
notice: n,
|
|
86
|
+
})),
|
|
87
|
+
...(run === null
|
|
88
|
+
? []
|
|
89
|
+
: [
|
|
90
|
+
{
|
|
91
|
+
type: "platform_migration",
|
|
92
|
+
id: run.id,
|
|
93
|
+
createdAt: run.finishedAt ?? run.startedAt,
|
|
94
|
+
run,
|
|
95
|
+
},
|
|
96
|
+
]),
|
|
97
|
+
];
|
|
98
|
+
// newest first; equal times by id (a stable order)
|
|
99
|
+
all.sort((a, b) => a.createdAt !== b.createdAt
|
|
100
|
+
? a.createdAt < b.createdAt
|
|
101
|
+
? 1
|
|
102
|
+
: -1
|
|
103
|
+
: a.id < b.id
|
|
104
|
+
? -1
|
|
105
|
+
: a.id > b.id
|
|
106
|
+
? 1
|
|
107
|
+
: 0);
|
|
108
|
+
const orgUploads = pending.filter((i) => i.owner.kind === "org").length;
|
|
109
|
+
const byType = {
|
|
110
|
+
catalog_request: requestCount,
|
|
111
|
+
permission_confirmation: pending.length - orgUploads,
|
|
112
|
+
org_upload_pending: orgUploads,
|
|
113
|
+
scope_sync_failed: failureCount,
|
|
114
|
+
platform_migration: run === null ? 0 : 1,
|
|
115
|
+
ownership_transferred: noticeCount,
|
|
116
|
+
};
|
|
117
|
+
const total = Object.values(byType).reduce((a, b) => a + b, 0);
|
|
118
|
+
const items = all.slice(0, PLATFORM_INBOX_MAX_ITEMS);
|
|
119
|
+
return { items, truncated: total > items.length, total, byType };
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* How many items wait (the sidebar's count): the same sources, counted where they can be (the
|
|
123
|
+
* requests and the failures; the permission confirmations are the catalog's pending list).
|
|
124
|
+
*/
|
|
125
|
+
async count() {
|
|
126
|
+
const [requests, pending, failures, run, notices] = await Promise.all([
|
|
127
|
+
this.requests.countPendingDeployment(),
|
|
128
|
+
this.catalog.list({ pending: true }),
|
|
129
|
+
this.countScopeSyncFailures(),
|
|
130
|
+
this.migrationRun(),
|
|
131
|
+
this.countNotices(),
|
|
132
|
+
]);
|
|
133
|
+
return requests + pending.length + failures + (run === null ? 0 : 1) + notices;
|
|
134
|
+
}
|
|
135
|
+
async countNotices() {
|
|
136
|
+
const r = await this.kdb.db
|
|
137
|
+
.selectFrom("platform_notices")
|
|
138
|
+
.select(sql `count(*)`.as("n"))
|
|
139
|
+
.where("dismissed_at", "is", null)
|
|
140
|
+
.executeTakeFirstOrThrow();
|
|
141
|
+
return Number(r.n);
|
|
142
|
+
}
|
|
143
|
+
/** The open platform notices, newest first, at most {@link PLATFORM_INBOX_MAX_ITEMS}. */
|
|
144
|
+
async notices() {
|
|
145
|
+
const rows = await this.kdb.db
|
|
146
|
+
.selectFrom("platform_notices")
|
|
147
|
+
.select(["id", "kind", "detail", "created_at"])
|
|
148
|
+
.where("dismissed_at", "is", null)
|
|
149
|
+
.orderBy("created_at", "desc")
|
|
150
|
+
.orderBy("id")
|
|
151
|
+
.limit(PLATFORM_INBOX_MAX_ITEMS)
|
|
152
|
+
.execute();
|
|
153
|
+
return rows.map((r) => ({
|
|
154
|
+
id: r.id,
|
|
155
|
+
kind: r.kind,
|
|
156
|
+
createdAt: r.created_at.toISOString(),
|
|
157
|
+
detail: r.detail,
|
|
158
|
+
}));
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* A super admin dismisses a platform notice (for every super admin). Dismissing one already
|
|
162
|
+
* dismissed is fine; no notice with that id -> `inbox.notice_not_found`.
|
|
163
|
+
*/
|
|
164
|
+
async dismissNotice(accountId, id) {
|
|
165
|
+
if (!UUID_RE.test(id))
|
|
166
|
+
throw new ApiError("inbox.notice_not_found", "Notice not found");
|
|
167
|
+
const r = await this.kdb.db
|
|
168
|
+
.updateTable("platform_notices")
|
|
169
|
+
.set({ dismissed_at: sql `now()`, dismissed_by: accountId })
|
|
170
|
+
.where("id", "=", id)
|
|
171
|
+
.where("dismissed_at", "is", null)
|
|
172
|
+
.executeTakeFirst();
|
|
173
|
+
if (r.numUpdatedRows > 0n)
|
|
174
|
+
return;
|
|
175
|
+
const exists = await this.kdb.db
|
|
176
|
+
.selectFrom("platform_notices")
|
|
177
|
+
.select("id")
|
|
178
|
+
.where("id", "=", id)
|
|
179
|
+
.executeTakeFirst();
|
|
180
|
+
if (!exists)
|
|
181
|
+
throw new ApiError("inbox.notice_not_found", "Notice not found");
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The open failures still worth a look, joined to their item and org: of a live item and org,
|
|
185
|
+
* and the pair still differs in the failed direction (a person may have converged it meanwhile):
|
|
186
|
+
* an install failure while the org has no live install of the item; an uninstall or dependencies
|
|
187
|
+
* failure while it has one.
|
|
188
|
+
*/
|
|
189
|
+
failureRows() {
|
|
190
|
+
return this.kdb.db
|
|
191
|
+
.selectFrom("plugin_scope_sync_failures as f")
|
|
192
|
+
.innerJoin("catalog_items as i", "i.id", "f.item_id")
|
|
193
|
+
.innerJoin("orgs as o", "o.id", "f.org_id")
|
|
194
|
+
.where("i.deleted_at", "is", null)
|
|
195
|
+
.where("o.deleted_at", "is", null)
|
|
196
|
+
.where((eb) => {
|
|
197
|
+
const live = eb.exists(eb
|
|
198
|
+
.selectFrom("plugin_installs as p")
|
|
199
|
+
.select("p.id")
|
|
200
|
+
.whereRef("p.org_id", "=", "f.org_id")
|
|
201
|
+
.whereRef("p.item_id", "=", "f.item_id")
|
|
202
|
+
.where("p.status", "in", [...LIVE_INSTALL]));
|
|
203
|
+
return eb.or([
|
|
204
|
+
eb.and([eb("f.op", "=", "install"), eb.not(live)]),
|
|
205
|
+
eb.and([eb("f.op", "in", ["uninstall", "dependencies"]), live]),
|
|
206
|
+
]);
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
async countScopeSyncFailures() {
|
|
210
|
+
const r = await this.failureRows()
|
|
211
|
+
.select(sql `count(*)`.as("n"))
|
|
212
|
+
.executeTakeFirstOrThrow();
|
|
213
|
+
return Number(r.n);
|
|
214
|
+
}
|
|
215
|
+
/** The open scope sync failures ({@link failureRows}), newest first. */
|
|
216
|
+
async scopeSyncFailures() {
|
|
217
|
+
const rows = await this.failureRows()
|
|
218
|
+
.select([
|
|
219
|
+
"f.item_id",
|
|
220
|
+
"i.name as item_name",
|
|
221
|
+
"i.display_name",
|
|
222
|
+
"f.org_id",
|
|
223
|
+
"o.name as org_name",
|
|
224
|
+
"f.op",
|
|
225
|
+
"f.code",
|
|
226
|
+
"f.message",
|
|
227
|
+
"f.failed_at",
|
|
228
|
+
])
|
|
229
|
+
.orderBy("f.failed_at", "desc")
|
|
230
|
+
.orderBy("f.item_id")
|
|
231
|
+
.orderBy("f.org_id")
|
|
232
|
+
.limit(SCOPE_SYNC_FAILURES_LIST_MAX)
|
|
233
|
+
.execute();
|
|
234
|
+
return rows.map((r) => ({
|
|
235
|
+
item: { id: r.item_id, name: r.item_name, displayName: r.display_name },
|
|
236
|
+
org: { id: r.org_id, name: r.org_name },
|
|
237
|
+
op: r.op,
|
|
238
|
+
code: r.code,
|
|
239
|
+
message: r.message,
|
|
240
|
+
failedAt: r.failed_at.toISOString(),
|
|
241
|
+
}));
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The latest migration run when it needs a look (see {@link MigrationRunView}); null when it
|
|
245
|
+
* finished without failed items, is still running, or there was none. An earlier run's failure
|
|
246
|
+
* is not shown: each run tries every unwritten item again.
|
|
247
|
+
*/
|
|
248
|
+
async migrationRun() {
|
|
249
|
+
const run = await this.kdb.db
|
|
250
|
+
.selectFrom("platform_migration_runs")
|
|
251
|
+
.select(["id", "started_at", "finished_at", "stats"])
|
|
252
|
+
.orderBy("started_at", "desc")
|
|
253
|
+
.orderBy("id", "desc")
|
|
254
|
+
.limit(1)
|
|
255
|
+
.executeTakeFirst();
|
|
256
|
+
if (run === undefined)
|
|
257
|
+
return null;
|
|
258
|
+
const failed = run.stats.itemsFailed;
|
|
259
|
+
const itemsFailed = Array.isArray(failed)
|
|
260
|
+
? failed.filter((x) => typeof x === "string")
|
|
261
|
+
: [];
|
|
262
|
+
const stuck = run.finished_at === null && run.started_at.getTime() < Date.now() - MIGRATION_RUN_STUCK_MS;
|
|
263
|
+
if (!stuck && (run.finished_at === null || itemsFailed.length === 0))
|
|
264
|
+
return null;
|
|
265
|
+
return {
|
|
266
|
+
id: run.id,
|
|
267
|
+
startedAt: run.started_at.toISOString(),
|
|
268
|
+
finishedAt: run.finished_at?.toISOString() ?? null,
|
|
269
|
+
stuck,
|
|
270
|
+
itemsFailed,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
PlatformInboxService = __decorate([
|
|
275
|
+
Injectable(),
|
|
276
|
+
__param(0, Inject(CatalogRequestsService)),
|
|
277
|
+
__param(1, Inject(CatalogService)),
|
|
278
|
+
__param(2, Inject(KernelDb))
|
|
279
|
+
], PlatformInboxService);
|
|
280
|
+
export { PlatformInboxService };
|
|
281
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { OwnedRef } from "../catalog/ownership.js";
|
|
2
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
3
|
+
export type PlatformNoticeKind = "ownership_transferred";
|
|
4
|
+
/** The `detail` of each platform notice kind. */
|
|
5
|
+
export interface PlatformNoticeDetails {
|
|
6
|
+
/** A deleted org's (or owner's) shared item now belongs to the platform. */
|
|
7
|
+
ownership_transferred: {
|
|
8
|
+
ref: OwnedRef;
|
|
9
|
+
name: string;
|
|
10
|
+
fromOrg: {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
};
|
|
14
|
+
reason: "owner_deleted" | "org_deleted";
|
|
15
|
+
/** How many other orgs use it. */
|
|
16
|
+
usedBy: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare function addPlatformNotice<K extends PlatformNoticeKind>(db: KernelSchemaDb, kind: K, detail: PlatformNoticeDetails[K]): Promise<void>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Platform notices (`platform_notices`, plugin scope phase 3, ruling P3-22): what the super admins
|
|
2
|
+
// are told, until any one of them dismisses it. Written in the caller's transaction.
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
export async function addPlatformNotice(db, kind, detail) {
|
|
5
|
+
await db
|
|
6
|
+
.insertInto("platform_notices")
|
|
7
|
+
.values({ id: randomUUID(), kind, detail: JSON.stringify(detail) })
|
|
8
|
+
.execute();
|
|
9
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export { type ApprovalDecision, ExtensionApprovals, type PendingExtension, type
|
|
|
31
31
|
export { blobKey, ExtensionBlobIntegrityError, type ExtensionBlobSource, ExtensionBlobs, } from "./extensions/blobs.js";
|
|
32
32
|
export { BOOTSTRAP_MANIFEST_FILE, type BootstrapEntryResult, BootstrapFailedError, type BootstrapFailure, type BootstrapResolveOptions, type BootstrapResult, BootstrapService, bootstrapManifestSha256, readBootstrapManifest, resolveBootstrapPackages, } from "./extensions/bootstrap.js";
|
|
33
33
|
export { type ExtensionCli, openExtensionCli } from "./extensions/cli.js";
|
|
34
|
-
export { DEPLOYMENT_SECRETS_ORG, type DeploymentConfigField, type DeploymentConfigView, ExtensionDeploymentConfigService, mergeDeploymentConfig, PLUGIN_DEPLOYMENT_CONFIG_TOPIC, readStoredDeploymentConfig, } from "./extensions/deployment-config.js";
|
|
34
|
+
export { DEPLOYMENT_SECRETS_ORG, type DeploymentConfigField, type DeploymentConfigView, ExtensionDeploymentConfigService, mergeDeploymentConfig, PLUGIN_DEPLOYMENT_CONFIG_TOPIC, readStoredDeploymentConfig, type SecretEntry, } from "./extensions/deployment-config.js";
|
|
35
35
|
export { assertSecretsReachable, ExtensionHost, type ExtensionLoadPlan, type InspectedExtension, type InstalledExtensionLoader, type InstallFailureReason, } from "./extensions/host.js";
|
|
36
36
|
export { ExtensionUnloadedError, type InflightEntry, InflightTracker, PLUGIN_UNLOADED_TOOL_ERROR, type TrackOptions, trackCalls, } from "./extensions/inflight.js";
|
|
37
37
|
export { type DesiredExtension, type ExtensionInstallRow, ExtensionInstalls, type IngestSource, type PackageReview, } from "./extensions/installs.js";
|
|
@@ -63,6 +63,10 @@ export { type ContextJob, type JobWrapper, type LogContext, logContext, setJobWr
|
|
|
63
63
|
export { type Org, OrgsService } from "./orgs/orgs.service.js";
|
|
64
64
|
export type { KernelOverride } from "./overrides.js";
|
|
65
65
|
export { fetchNpmPackage, IntegrityMismatchError, type NpmFetchConfig, NpmFetchError, PackageTooLargeError, } from "./packages/npm.js";
|
|
66
|
+
export { checkInputParity, inputParity, type ParityFinding, type ParityOperation, } from "./platform/parity.js";
|
|
67
|
+
export { PLATFORM_OPERATION_PROVIDERS } from "./platform/platform-ops.module.js";
|
|
68
|
+
export { PlatformOperations } from "./platform/registry.js";
|
|
69
|
+
export { ROUTE_SCHEMAS, type RouteSchemas } from "./platform/route-schemas.js";
|
|
66
70
|
export { UNKNOWN_RESULT_TEXT } from "./runtime/context/pairing.js";
|
|
67
71
|
export type { AgentLoop, LoopContext, LoopOutcome } from "./runtime/loop.js";
|
|
68
72
|
export { MAINTENANCE_QUEUE_NAME } from "./runtime/maintenance-queue.js";
|
|
@@ -71,4 +75,4 @@ export { SANDBOX_DESTROY_JOB, SANDBOX_SUSPEND_JOB, } from "./sandbox/jobs.js";
|
|
|
71
75
|
export { SANDBOX_LOCK_TTL_MS, SandboxService, type SandboxUseInfo, } from "./sandbox/sandbox.service.js";
|
|
72
76
|
export { MAX_STORAGE_KEY_BYTES, StorageKeyError, } from "./storage/prefix.js";
|
|
73
77
|
export { PrefixedStorage, StorageService, type StorageSource, } from "./storage/storage.service.js";
|
|
74
|
-
export {
|
|
78
|
+
export { SANDBOX_RESTARTED_NOTICE, SANDBOX_STARTED_NOTICE, } from "./tools/builtins/sandbox/common.js";
|
package/dist/index.js
CHANGED
|
@@ -60,6 +60,12 @@ export { createConfiguredLogger, loggerOptionsFromConfig } from "./log-config.js
|
|
|
60
60
|
export { logContext, setJobWrapper, setTraceContextSource, withJobContext, withLogContext, } from "./log-context.js";
|
|
61
61
|
export { OrgsService } from "./orgs/orgs.service.js";
|
|
62
62
|
export { fetchNpmPackage, IntegrityMismatchError, NpmFetchError, PackageTooLargeError, } from "./packages/npm.js";
|
|
63
|
+
// Test seam: the Platform input-parity test in tools/checks (no runtime caller).
|
|
64
|
+
export { checkInputParity, inputParity, } from "./platform/parity.js";
|
|
65
|
+
// Test seam (the parity test builds every operation from these without a Nest app).
|
|
66
|
+
export { PLATFORM_OPERATION_PROVIDERS } from "./platform/platform-ops.module.js";
|
|
67
|
+
export { PlatformOperations } from "./platform/registry.js";
|
|
68
|
+
export { ROUTE_SCHEMAS } from "./platform/route-schemas.js";
|
|
63
69
|
export { UNKNOWN_RESULT_TEXT } from "./runtime/context/pairing.js";
|
|
64
70
|
export { MAINTENANCE_QUEUE_NAME } from "./runtime/maintenance-queue.js";
|
|
65
71
|
export { runJobId } from "./runtime/run-queue.js";
|
|
@@ -67,4 +73,4 @@ export { SANDBOX_DESTROY_JOB, SANDBOX_SUSPEND_JOB, } from "./sandbox/jobs.js";
|
|
|
67
73
|
export { SANDBOX_LOCK_TTL_MS, SandboxService, } from "./sandbox/sandbox.service.js";
|
|
68
74
|
export { MAX_STORAGE_KEY_BYTES, StorageKeyError, } from "./storage/prefix.js";
|
|
69
75
|
export { PrefixedStorage, StorageService, } from "./storage/storage.service.js";
|
|
70
|
-
export {
|
|
76
|
+
export { SANDBOX_RESTARTED_NOTICE, SANDBOX_STARTED_NOTICE, } from "./tools/builtins/sandbox/common.js";
|
|
@@ -13,6 +13,7 @@ import { NestFactory } from "@nestjs/core";
|
|
|
13
13
|
import { Redis } from "ioredis";
|
|
14
14
|
import { createBus } from "../../ctx/bus.js";
|
|
15
15
|
import { KERNEL_APP_OPTIONS } from "../../lifecycle/tokens.js";
|
|
16
|
+
import { CacheModule } from "../cache/cache.module.js";
|
|
16
17
|
import { ConfigModule } from "../config/config.module.js";
|
|
17
18
|
import { KernelConfigService } from "../config/kernel-config.service.js";
|
|
18
19
|
import { DatabaseModule } from "../database/database.module.js";
|
|
@@ -20,6 +21,7 @@ import { KernelEventsModule } from "../events/kernel-events.js";
|
|
|
20
21
|
import { GracefulShutdownModule } from "../lifecycle/graceful-shutdown.module.js";
|
|
21
22
|
import { LockModule } from "../lock/lock.module.js";
|
|
22
23
|
import { LoggingModule } from "../logging/logging.module.js";
|
|
24
|
+
import { QueueModule } from "../queue/queue.module.js";
|
|
23
25
|
import { KERNEL_BUS, KERNEL_LOGGER, REDIS, REDIS_SUBSCRIBER } from "../tokens.js";
|
|
24
26
|
/** How long the CLI's Redis connection may take before a command fails (a publish only warns). */
|
|
25
27
|
const CLI_REDIS_CONNECT_TIMEOUT_MS = 3_000;
|
|
@@ -108,7 +110,13 @@ let KernelCliModule = KernelCliModule_1 = class KernelCliModule {
|
|
|
108
110
|
ConfigModule.forRoot(config, opts.env !== undefined ? { env: opts.env } : {}),
|
|
109
111
|
GracefulShutdownModule,
|
|
110
112
|
DatabaseModule.forRoot(),
|
|
111
|
-
|
|
113
|
+
// QueueModule's root gives the queues a command's modules register (the catalog's scope
|
|
114
|
+
// sync and maintenance queues) the configured Redis; without it BullMQ would connect to
|
|
115
|
+
// its default 127.0.0.1:6379
|
|
116
|
+
// CacheModule: `@Cacheable` providers of the domain modules (EffectiveConfigs) need it
|
|
117
|
+
...(opts.redis === false
|
|
118
|
+
? []
|
|
119
|
+
: [CliRedisModule, LockModule, CacheModule, QueueModule.forRoot()]),
|
|
112
120
|
KernelEventsModule,
|
|
113
121
|
...opts.modules,
|
|
114
122
|
],
|
|
@@ -28,13 +28,39 @@ const HOT_APPLIERS = {
|
|
|
28
28
|
"auth.trustedIdentitySources": () => { },
|
|
29
29
|
// The hook registry reads the time limit on every run.
|
|
30
30
|
"hooks.timeoutMs": () => { },
|
|
31
|
+
// The provider registry reads the list time limit at every listModels call.
|
|
32
|
+
"models.listTimeoutMs": () => { },
|
|
33
|
+
"models.embedTimeoutMs": () => { },
|
|
31
34
|
// SandboxService reads the shared-lease cap at every acquisition.
|
|
32
35
|
"sandbox.maxConcurrentCommands": () => { },
|
|
36
|
+
// The devices service reads the personal limit at every create.
|
|
37
|
+
"devices.maxPersonal": () => { },
|
|
38
|
+
// The local device relay reads the reconnect grace at every disconnect and token response.
|
|
39
|
+
"devices.local.reconnectGraceSeconds": () => { },
|
|
33
40
|
// Sub-agent limits are read at every dispatch, child step and tool resolution.
|
|
34
|
-
"subagents.
|
|
41
|
+
"subagents.maxDepth": () => { },
|
|
42
|
+
"subagents.maxConcurrentPerConversation": () => { },
|
|
35
43
|
"subagents.maxDispatchesPerRun": () => { },
|
|
36
44
|
"subagents.maxTokensPerRun": () => { },
|
|
45
|
+
// The web tools read these limits through the config service on every call.
|
|
46
|
+
"web.search.maxResults": () => { },
|
|
47
|
+
"web.fetch.maxPageChars": () => { },
|
|
48
|
+
"web.fetch.maxAnswerTokens": () => { },
|
|
49
|
+
"web.fetch.cacheSeconds": () => { },
|
|
50
|
+
"web.fetch.timeoutMs": () => { },
|
|
37
51
|
};
|
|
52
|
+
/**
|
|
53
|
+
* Environment variables of renamed config keys, with their replacements: warned about once when
|
|
54
|
+
* the service starts (agent map spec §6: `subagents.maxConcurrentPerRun` became
|
|
55
|
+
* `subagents.maxConcurrentPerConversation`). A retired file or Nacos key cannot be told here: the
|
|
56
|
+
* schema strips unknown keys before the kernel receives its config.
|
|
57
|
+
*/
|
|
58
|
+
const RETIRED_ENV = [
|
|
59
|
+
[
|
|
60
|
+
"CAPYBARA_SUBAGENTS__MAX_CONCURRENT_PER_RUN",
|
|
61
|
+
"CAPYBARA_SUBAGENTS__MAX_CONCURRENT_PER_CONVERSATION",
|
|
62
|
+
],
|
|
63
|
+
];
|
|
38
64
|
const HOT_PATHS = configFields(KernelConfigSchema)
|
|
39
65
|
.filter((f) => f.meta?.hot)
|
|
40
66
|
.map((f) => f.path);
|
|
@@ -55,6 +81,11 @@ let KernelConfigService = class KernelConfigService {
|
|
|
55
81
|
this.env = input.env ?? process.env;
|
|
56
82
|
log.setLevel(input.config.log.level);
|
|
57
83
|
log.addSecrets(secretValues(KernelConfigSchema, input.config));
|
|
84
|
+
for (const [old, now] of RETIRED_ENV) {
|
|
85
|
+
if (this.env[old] !== undefined) {
|
|
86
|
+
log.warn(`${old} is no longer read and is ignored; set ${now} instead`, { env: old });
|
|
87
|
+
}
|
|
88
|
+
}
|
|
58
89
|
}
|
|
59
90
|
get() {
|
|
60
91
|
return this.current;
|
|
@@ -66,6 +66,7 @@ let DatabaseModule = class DatabaseModule {
|
|
|
66
66
|
const { db } = config.get();
|
|
67
67
|
return createDb(db.url, db.poolMax, (err) => log.error("pg idle client error", { err }), {
|
|
68
68
|
connectTimeoutMs: db.connectTimeoutMs,
|
|
69
|
+
idleTimeoutMs: db.idleTimeoutMs,
|
|
69
70
|
onClientError: (err) => log.warn("pg client error", { err }),
|
|
70
71
|
});
|
|
71
72
|
},
|
|
@@ -4,7 +4,7 @@ import { TransactionHost } from "./transaction-host.js";
|
|
|
4
4
|
* Transaction-scoped advisory locks (decision R9 of the Nest kernel spec): `pg_advisory_xact_lock`
|
|
5
5
|
* is transaction semantics, like `FOR UPDATE`. It is held by the caller's transaction and released
|
|
6
6
|
* at its COMMIT or ROLLBACK, so it serializes writers whose invariant is checked inside that same
|
|
7
|
-
* transaction ("never zero active
|
|
7
|
+
* transaction ("never zero active super admins", "set up once", "one account per external
|
|
8
8
|
* identity"). The one place that takes such a lock; `propagation: "mandatory"` makes a call outside
|
|
9
9
|
* a transaction (where the lock would be released at once) throw.
|
|
10
10
|
*/
|
|
@@ -16,7 +16,7 @@ import { Transactional } from "./transactional.decorator.js";
|
|
|
16
16
|
* Transaction-scoped advisory locks (decision R9 of the Nest kernel spec): `pg_advisory_xact_lock`
|
|
17
17
|
* is transaction semantics, like `FOR UPDATE`. It is held by the caller's transaction and released
|
|
18
18
|
* at its COMMIT or ROLLBACK, so it serializes writers whose invariant is checked inside that same
|
|
19
|
-
* transaction ("never zero active
|
|
19
|
+
* transaction ("never zero active super admins", "set up once", "one account per external
|
|
20
20
|
* identity"). The one place that takes such a lock; `propagation: "mandatory"` makes a call outside
|
|
21
21
|
* a transaction (where the lock would be released at once) throw.
|
|
22
22
|
*/
|
|
@@ -34,7 +34,8 @@ export interface KernelEventMap {
|
|
|
34
34
|
status: "approved" | "denied";
|
|
35
35
|
};
|
|
36
36
|
/**
|
|
37
|
-
* A person answered a tool call's input request (after the commit,
|
|
37
|
+
* A person answered a tool call's input request, or skipped it with a message (after the commit,
|
|
38
|
+
* exactly once). Same
|
|
38
39
|
* consumers and the same re-derivation as `approval.decided`.
|
|
39
40
|
*/
|
|
40
41
|
"question.answered": {
|
|
@@ -42,6 +43,8 @@ export interface KernelEventMap {
|
|
|
42
43
|
orgId: string;
|
|
43
44
|
conversationId: string;
|
|
44
45
|
runId: string;
|
|
46
|
+
/** `skipped`: the run's starter sent a message instead (reply-while-question spec §6.3). */
|
|
47
|
+
outcome: "answered" | "skipped";
|
|
45
48
|
};
|
|
46
49
|
/**
|
|
47
50
|
* EventAppended: a conversation's event log advanced to `toSeq` (after the commit, from
|
|
@@ -72,12 +75,37 @@ export interface KernelEventMap {
|
|
|
72
75
|
runId: string;
|
|
73
76
|
};
|
|
74
77
|
/**
|
|
75
|
-
* `ensureRun` marked an orphaned run failed (after the commit): the waits stop its active
|
|
76
|
-
* sub-
|
|
78
|
+
* `ensureRun` marked an orphaned run failed (after the commit): the waits stop its active fork
|
|
79
|
+
* sub-agent at once (background sub-agents keep running, agent map spec §5.4). A lost event is
|
|
80
|
+
* repaired by the wait sweep (fork children of finished runs).
|
|
77
81
|
*/
|
|
78
82
|
"run.orphaned": {
|
|
79
83
|
runId: string;
|
|
80
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* A sub-agent's `subagent_delivery` was appended to its parent conversation (after the commit;
|
|
87
|
+
* `SubagentDeliveries`). Waking an idle parent follows it; a lost event is re-derived by the
|
|
88
|
+
* next `ensureRun` (a message, the end of a run, a page opening).
|
|
89
|
+
*/
|
|
90
|
+
"subagent.delivered": {
|
|
91
|
+
conversationId: string;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* A background task of the conversation finished (after the commit of its
|
|
95
|
+
* `background_task_finished` event). `BackgroundWake` asks the run queue for a wake run; a lost
|
|
96
|
+
* event is re-derived by the next `ensureRun` (a message, the end of a run, a page opening).
|
|
97
|
+
*/
|
|
98
|
+
"background_task.finished": {
|
|
99
|
+
conversationId: string;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* An extension's `ctx.models.embed` call wrote a `model_usage` row (after the commit, spec B
|
|
103
|
+
* §5.4). The usage reporter enqueues its `usage.report` delivery; a lost event is re-derived by
|
|
104
|
+
* the usage sweep (rows whose `reported_at` is still null).
|
|
105
|
+
*/
|
|
106
|
+
"model_usage.recorded": {
|
|
107
|
+
id: string;
|
|
108
|
+
};
|
|
81
109
|
}
|
|
82
110
|
type Handler<K extends keyof KernelEventMap> = (payload: KernelEventMap[K]) => Promise<void> | void;
|
|
83
111
|
/** Typed in-process event emitter; handlers run in order, a failing one is logged and skipped. */
|
|
@@ -39,6 +39,10 @@ export function createFatalRecorder(deps) {
|
|
|
39
39
|
let recent = [];
|
|
40
40
|
let open = false;
|
|
41
41
|
return (kind, err) => {
|
|
42
|
+
// Exiting already: log nothing more. A failing log write (EPIPE on a dead stdout) raises the
|
|
43
|
+
// next event itself; logging it again would keep the process busy forever and starve the exit.
|
|
44
|
+
if (open)
|
|
45
|
+
return;
|
|
42
46
|
try {
|
|
43
47
|
const t = now();
|
|
44
48
|
recent = recent.filter((x) => t - x < GUARD_CIRCUIT_WINDOW_MS);
|
|
@@ -74,6 +74,14 @@ export declare class LockService {
|
|
|
74
74
|
holderOf(key: string): Promise<string | null>;
|
|
75
75
|
/** Deletes `key` when `holder` still owns it. */
|
|
76
76
|
releaseIf(key: string, holder: string): Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* Takes one of `limit` slots of the counting semaphore `key` for `holder` (a unique token), for at
|
|
79
|
+
* most `ttlMs` (a crashed holder's slot frees itself then; no renewal). False when every slot is
|
|
80
|
+
* taken. Release with {@link releaseSlot}.
|
|
81
|
+
*/
|
|
82
|
+
takeSlot(key: string, holder: string, limit: number, ttlMs: number): Promise<boolean>;
|
|
83
|
+
/** Gives back `holder`'s slot of the semaphore `key` (nothing when it already expired). */
|
|
84
|
+
releaseSlot(key: string, holder: string): Promise<void>;
|
|
77
85
|
/**
|
|
78
86
|
* Takes `key` (no `lock:` prefix) with the caller's `holder` value for `ttlMs`, unless it is
|
|
79
87
|
* held, and renews it every TTL/3 like {@link acquire} (a run longer than the TTL keeps it, a
|
|
@@ -20,6 +20,20 @@ import { ACQUIRE_EXCLUSIVE, ACQUIRE_SHARED, COUNT_SHARED_LEASES, DOWNGRADE_SHARE
|
|
|
20
20
|
const RELEASE_IF = `if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end`;
|
|
21
21
|
/** Extends the key only while it holds our token. */
|
|
22
22
|
const RENEW_IF = `if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('pexpire', KEYS[1], tonumber(ARGV[2])) else return 0 end`;
|
|
23
|
+
/**
|
|
24
|
+
* Takes a slot of a counting semaphore: a sorted set of holder tokens scored by expiry time. Expired
|
|
25
|
+
* holders (a crashed replica's) drop out first, so a slot is never lost for longer than its TTL;
|
|
26
|
+
* then the token is added when fewer than ARGV[2] slots are taken. The set itself expires with
|
|
27
|
+
* its last slot. KEYS[1] the set; ARGV: token, limit, ttl ms. Returns 1 when taken.
|
|
28
|
+
*/
|
|
29
|
+
const TAKE_SLOT = `local now = redis.call('time')
|
|
30
|
+
local ms = tonumber(now[1]) * 1000 + math.floor(tonumber(now[2]) / 1000)
|
|
31
|
+
redis.call('zremrangebyscore', KEYS[1], '-inf', ms)
|
|
32
|
+
if redis.call('zcard', KEYS[1]) >= tonumber(ARGV[2]) then return 0 end
|
|
33
|
+
redis.call('zadd', KEYS[1], ms + tonumber(ARGV[3]), ARGV[1])
|
|
34
|
+
local last = redis.call('zrange', KEYS[1], -1, -1, 'withscores')
|
|
35
|
+
redis.call('pexpireat', KEYS[1], tonumber(last[2]))
|
|
36
|
+
return 1`;
|
|
23
37
|
/** Resolves after `ms`; rejects with the abort reason when `signal` aborts first. */
|
|
24
38
|
function sleep(ms, signal) {
|
|
25
39
|
return new Promise((resolve, reject) => {
|
|
@@ -117,6 +131,19 @@ let LockService = class LockService {
|
|
|
117
131
|
async releaseIf(key, holder) {
|
|
118
132
|
return (await this.redis.eval(RELEASE_IF, 1, key, holder)) === 1;
|
|
119
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Takes one of `limit` slots of the counting semaphore `key` for `holder` (a unique token), for at
|
|
136
|
+
* most `ttlMs` (a crashed holder's slot frees itself then; no renewal). False when every slot is
|
|
137
|
+
* taken. Release with {@link releaseSlot}.
|
|
138
|
+
*/
|
|
139
|
+
async takeSlot(key, holder, limit, ttlMs) {
|
|
140
|
+
assertNoTransaction("takeSlot");
|
|
141
|
+
return ((await this.redis.eval(TAKE_SLOT, 1, key, holder, String(limit), String(Math.ceil(ttlMs)))) === 1);
|
|
142
|
+
}
|
|
143
|
+
/** Gives back `holder`'s slot of the semaphore `key` (nothing when it already expired). */
|
|
144
|
+
async releaseSlot(key, holder) {
|
|
145
|
+
await this.redis.zrem(key, holder);
|
|
146
|
+
}
|
|
120
147
|
/**
|
|
121
148
|
* Takes `key` (no `lock:` prefix) with the caller's `holder` value for `ttlMs`, unless it is
|
|
122
149
|
* held, and renews it every TTL/3 like {@link acquire} (a run longer than the TTL keeps it, a
|
|
@@ -6,8 +6,10 @@ export interface LoggingModuleOptions {
|
|
|
6
6
|
logger?: KernelLogger;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Provides the process logger as `
|
|
10
|
-
*
|
|
9
|
+
* Provides the process logger as `KERNEL_ROOT_LOGGER` and, as `KERNEL_LOGGER`, one child per injecting
|
|
10
|
+
* class with `context` = the class name (the `[context=…]` of the pretty output; octok's
|
|
11
|
+
* per-class Nest logger context). The logger is created before the Nest context (it must exist for
|
|
12
|
+
* startup errors), so it is passed in or derived from the startup config here.
|
|
11
13
|
*/
|
|
12
14
|
export declare class LoggingModule {
|
|
13
15
|
static forRoot(config: KernelConfig, opts?: LoggingModuleOptions): DynamicModule;
|