@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
|
@@ -3,6 +3,7 @@ import { ExtensionAdminOps } from "../extensions/admin-ops.js";
|
|
|
3
3
|
import { ExtensionAdmin } from "../extensions/admin-view.js";
|
|
4
4
|
import { type DeploymentConfigView, ExtensionDeploymentConfigService } from "../extensions/deployment-config.js";
|
|
5
5
|
import { ExtensionInstalls, type PackageReview } from "../extensions/installs.js";
|
|
6
|
+
import { type OrgOverrideSummary, OrgOverrides } from "../extensions/org-overrides.js";
|
|
6
7
|
import type { AdminExtensionView } from "../extensions/permission-view.js";
|
|
7
8
|
import { type Principal } from "../identity/principal.js";
|
|
8
9
|
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
@@ -15,13 +16,23 @@ declare const InstallSchema: z.ZodObject<{
|
|
|
15
16
|
}, z.core.$strip>;
|
|
16
17
|
declare const ConfigSchema: z.ZodObject<{
|
|
17
18
|
values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
19
|
+
secretEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
20
|
+
path: z.ZodString;
|
|
21
|
+
key: z.ZodString;
|
|
22
|
+
value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
renameFrom: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strict>>>;
|
|
18
25
|
}, z.core.$strip>;
|
|
19
26
|
declare const NpmSchema: z.ZodObject<{
|
|
20
27
|
package: z.ZodString;
|
|
21
28
|
version: z.ZodOptional<z.ZodString>;
|
|
22
29
|
}, z.core.$strip>;
|
|
30
|
+
/** The `:name` route parameter of the org-overrides list (decision R20). */
|
|
31
|
+
declare const NameParams: z.ZodObject<{
|
|
32
|
+
name: z.ZodString;
|
|
33
|
+
}, z.core.$strip>;
|
|
23
34
|
/**
|
|
24
|
-
* Deployment-level extension management (`/api/v1/admin/extensions/*`,
|
|
35
|
+
* Deployment-level extension management (`/api/v1/admin/extensions/*`, super admins): package
|
|
25
36
|
* import (upload / npm, returns the review), the extension list and detail, web permission approval
|
|
26
37
|
* (D8), install / enable / disable / uninstall (only writes the desired state and publishes
|
|
27
38
|
* `kernel.plugins.changed`; every replica reconciles, no restart; replicas may still be converging
|
|
@@ -33,7 +44,8 @@ export declare class AdminExtensionsController {
|
|
|
33
44
|
private readonly ops;
|
|
34
45
|
private readonly deploymentConfigs;
|
|
35
46
|
private readonly kernelConfig;
|
|
36
|
-
|
|
47
|
+
private readonly orgOverrides;
|
|
48
|
+
constructor(installs: ExtensionInstalls, admin: ExtensionAdmin, ops: ExtensionAdminOps, deploymentConfigs: ExtensionDeploymentConfigService, kernelConfig: KernelConfigService, orgOverrides: OrgOverrides);
|
|
37
49
|
/**
|
|
38
50
|
* 部署上的全部插件(内置、配置声明、安装记录)及其状态、权限与快照;`drainSeconds` 为停用 / 升级时
|
|
39
51
|
* 在途工具调用最多等待的秒数(`extensionHost.drainSeconds`,界面提示用)。
|
|
@@ -50,6 +62,14 @@ export declare class AdminExtensionsController {
|
|
|
50
62
|
* result. Unknown -> 404 `extension.not_found`.
|
|
51
63
|
*/
|
|
52
64
|
config(name: string): Promise<DeploymentConfigView>;
|
|
65
|
+
/**
|
|
66
|
+
* The orgs keeping their own copy of the extension's overridable config (spec A §5.7): when it
|
|
67
|
+
* was made, which non-secret fields differ from the platform, whether each secret is set; never
|
|
68
|
+
* a secret value. The super admin cannot edit or drop a copy.
|
|
69
|
+
*/
|
|
70
|
+
orgCopies({ name }: z.infer<typeof NameParams>): Promise<{
|
|
71
|
+
overrides: OrgOverrideSummary[];
|
|
72
|
+
}>;
|
|
53
73
|
/**
|
|
54
74
|
* Saves the deployment config (`values` keyed by field dot path; `null` clears, omitted keeps).
|
|
55
75
|
* A field present in the startup config -> 409 `extension.config_readonly`; unknown or invalid
|
|
@@ -57,9 +77,20 @@ export declare class AdminExtensionsController {
|
|
|
57
77
|
* (a value from the startup config) does not block the PUT: it saves anyway, the extension stays
|
|
58
78
|
* pending configuration and the startup config has to change. Every replica re-reads after saving:
|
|
59
79
|
* hot fields are replaced in place, other fields reload the extension, and a pending extension
|
|
60
|
-
* loads (no restart).
|
|
80
|
+
* loads (no restart). `secretEntries` set, rename or remove single keys of a secret record a
|
|
81
|
+
* config UI hint draws per item (a path no hint names -> 400 `validation_failed`).
|
|
61
82
|
*/
|
|
62
83
|
putConfig(principal: Principal, name: string, body: z.infer<typeof ConfigSchema>): Promise<DeploymentConfigView>;
|
|
84
|
+
/**
|
|
85
|
+
* Clears the deployment config saved here: the stored fields and every stored secret value of
|
|
86
|
+
* the extension; audits `extension.config_cleared`. Fields from the startup config (file / Nacos
|
|
87
|
+
* / env) cannot be removed here: they stay in effect and the returned view still shows them
|
|
88
|
+
* (`readonly`, with their `source`). Every replica re-reads, the same way as after a PUT: the
|
|
89
|
+
* extension loads from what remains, or becomes pending configuration when that is missing or
|
|
90
|
+
* invalid (no restart). Nothing stored -> no change (no audit). Unknown -> 404
|
|
91
|
+
* `extension.not_found`.
|
|
92
|
+
*/
|
|
93
|
+
clearConfig(principal: Principal, name: string): Promise<DeploymentConfigView>;
|
|
63
94
|
/**
|
|
64
95
|
* Web approval: writes the snapshot (source web), audits `extension.permissions_approved` and
|
|
65
96
|
* publishes `kernel.plugins.changed`. Package or
|
|
@@ -14,10 +14,11 @@ import { ExtensionAdminOps } from "../extensions/admin-ops.js";
|
|
|
14
14
|
import { ExtensionAdmin } from "../extensions/admin-view.js";
|
|
15
15
|
import { ExtensionDeploymentConfigService, } from "../extensions/deployment-config.js";
|
|
16
16
|
import { ExtensionInstalls } from "../extensions/installs.js";
|
|
17
|
-
import {
|
|
17
|
+
import { OrgOverrides } from "../extensions/org-overrides.js";
|
|
18
|
+
import { CurrentPrincipal, patTokenId, requireUser, SuperAdmin, } from "../identity/principal.js";
|
|
18
19
|
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
19
20
|
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
20
|
-
import { ZBody } from "../infra/validation/zod-params.js";
|
|
21
|
+
import { ZBody, ZParam } from "../infra/validation/zod-params.js";
|
|
21
22
|
const ApproveSchema = z.object({
|
|
22
23
|
/** 安装记录的包(审阅时的 sha256);配置声明的插件为 null。 */
|
|
23
24
|
sha256: z
|
|
@@ -30,9 +31,28 @@ const InstallSchema = z.object({
|
|
|
30
31
|
/** 包存储里的包(上传 / npm 导入返回的 sha256)。 */
|
|
31
32
|
sha256: z.string().regex(/^[0-9a-f]{64}$/),
|
|
32
33
|
});
|
|
34
|
+
const SecretEntrySchema = z
|
|
35
|
+
.object({
|
|
36
|
+
/** A secret record field some `x-ui.secrets[].path` names. */
|
|
37
|
+
path: z.string().min(1).max(256),
|
|
38
|
+
key: z.string().min(1).max(256),
|
|
39
|
+
/** A string sets the key, `null` removes it. */
|
|
40
|
+
value: z.string().max(65_536).nullable().optional(),
|
|
41
|
+
/** Moves the value at this key to `key` first. */
|
|
42
|
+
renameFrom: z.string().min(1).max(256).optional(),
|
|
43
|
+
})
|
|
44
|
+
.strict()
|
|
45
|
+
.refine((e) => e.value !== undefined || e.renameFrom !== undefined, {
|
|
46
|
+
message: "an entry needs value or renameFrom",
|
|
47
|
+
})
|
|
48
|
+
.refine((e) => e.key !== "__proto__" && e.renameFrom !== "__proto__", {
|
|
49
|
+
message: "__proto__ is not a valid key",
|
|
50
|
+
});
|
|
33
51
|
const ConfigSchema = z.object({
|
|
34
52
|
/** 字段点路径 → 新值(`null` 清除)。 */
|
|
35
53
|
values: z.record(z.string().min(1).max(256), z.unknown()),
|
|
54
|
+
/** Single keys of hinted secret records (extension config forms spec §4.3), applied in order. */
|
|
55
|
+
secretEntries: z.array(SecretEntrySchema).max(200).optional(),
|
|
36
56
|
});
|
|
37
57
|
const NpmSchema = z.object({
|
|
38
58
|
package: z.string().min(1).max(214),
|
|
@@ -46,8 +66,12 @@ class ExtensionConfigBody extends createZodDto(ConfigSchema, "ExtensionConfigBod
|
|
|
46
66
|
}
|
|
47
67
|
class ExtensionNpmImportBody extends createZodDto(NpmSchema, "ExtensionNpmImportBody") {
|
|
48
68
|
}
|
|
69
|
+
/** The `:name` route parameter of the org-overrides list (decision R20). */
|
|
70
|
+
const NameParams = z.object({ name: z.string().min(1).max(64) });
|
|
71
|
+
class AdminExtensionNameParamsDto extends createZodDto(NameParams, "AdminExtensionNameParams") {
|
|
72
|
+
}
|
|
49
73
|
/**
|
|
50
|
-
* Deployment-level extension management (`/api/v1/admin/extensions/*`,
|
|
74
|
+
* Deployment-level extension management (`/api/v1/admin/extensions/*`, super admins): package
|
|
51
75
|
* import (upload / npm, returns the review), the extension list and detail, web permission approval
|
|
52
76
|
* (D8), install / enable / disable / uninstall (only writes the desired state and publishes
|
|
53
77
|
* `kernel.plugins.changed`; every replica reconciles, no restart; replicas may still be converging
|
|
@@ -59,14 +83,16 @@ let AdminExtensionsController = class AdminExtensionsController {
|
|
|
59
83
|
ops;
|
|
60
84
|
deploymentConfigs;
|
|
61
85
|
kernelConfig;
|
|
86
|
+
orgOverrides;
|
|
62
87
|
constructor(installs, admin, ops, deploymentConfigs,
|
|
63
88
|
// 字段名不能与路由方法同名(如 `config`):实例字段会遮住原型上的处理函数
|
|
64
|
-
kernelConfig) {
|
|
89
|
+
kernelConfig, orgOverrides) {
|
|
65
90
|
this.installs = installs;
|
|
66
91
|
this.admin = admin;
|
|
67
92
|
this.ops = ops;
|
|
68
93
|
this.deploymentConfigs = deploymentConfigs;
|
|
69
94
|
this.kernelConfig = kernelConfig;
|
|
95
|
+
this.orgOverrides = orgOverrides;
|
|
70
96
|
}
|
|
71
97
|
/**
|
|
72
98
|
* 部署上的全部插件(内置、配置声明、安装记录)及其状态、权限与快照;`drainSeconds` 为停用 / 升级时
|
|
@@ -90,6 +116,14 @@ let AdminExtensionsController = class AdminExtensionsController {
|
|
|
90
116
|
config(name) {
|
|
91
117
|
return this.deploymentConfigs.view(name);
|
|
92
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* The orgs keeping their own copy of the extension's overridable config (spec A §5.7): when it
|
|
121
|
+
* was made, which non-secret fields differ from the platform, whether each secret is set; never
|
|
122
|
+
* a secret value. The super admin cannot edit or drop a copy.
|
|
123
|
+
*/
|
|
124
|
+
async orgCopies({ name }) {
|
|
125
|
+
return { overrides: await this.orgOverrides.listForPlugin(name) };
|
|
126
|
+
}
|
|
93
127
|
/**
|
|
94
128
|
* Saves the deployment config (`values` keyed by field dot path; `null` clears, omitted keeps).
|
|
95
129
|
* A field present in the startup config -> 409 `extension.config_readonly`; unknown or invalid
|
|
@@ -97,11 +131,25 @@ let AdminExtensionsController = class AdminExtensionsController {
|
|
|
97
131
|
* (a value from the startup config) does not block the PUT: it saves anyway, the extension stays
|
|
98
132
|
* pending configuration and the startup config has to change. Every replica re-reads after saving:
|
|
99
133
|
* hot fields are replaced in place, other fields reload the extension, and a pending extension
|
|
100
|
-
* loads (no restart).
|
|
134
|
+
* loads (no restart). `secretEntries` set, rename or remove single keys of a secret record a
|
|
135
|
+
* config UI hint draws per item (a path no hint names -> 400 `validation_failed`).
|
|
101
136
|
*/
|
|
102
137
|
putConfig(principal, name, body) {
|
|
103
138
|
const actor = requireUser(principal);
|
|
104
|
-
return this.deploymentConfigs.put(name, body.values, actor.account.id, patTokenId(actor));
|
|
139
|
+
return this.deploymentConfigs.put(name, body.values, actor.account.id, patTokenId(actor), body.secretEntries);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Clears the deployment config saved here: the stored fields and every stored secret value of
|
|
143
|
+
* the extension; audits `extension.config_cleared`. Fields from the startup config (file / Nacos
|
|
144
|
+
* / env) cannot be removed here: they stay in effect and the returned view still shows them
|
|
145
|
+
* (`readonly`, with their `source`). Every replica re-reads, the same way as after a PUT: the
|
|
146
|
+
* extension loads from what remains, or becomes pending configuration when that is missing or
|
|
147
|
+
* invalid (no restart). Nothing stored -> no change (no audit). Unknown -> 404
|
|
148
|
+
* `extension.not_found`.
|
|
149
|
+
*/
|
|
150
|
+
clearConfig(principal, name) {
|
|
151
|
+
const actor = requireUser(principal);
|
|
152
|
+
return this.deploymentConfigs.clear(name, actor.account.id, patTokenId(actor));
|
|
105
153
|
}
|
|
106
154
|
/**
|
|
107
155
|
* Web approval: writes the snapshot (source web), audits `extension.permissions_approved` and
|
|
@@ -177,12 +225,21 @@ __decorate([
|
|
|
177
225
|
Get(":name/config"),
|
|
178
226
|
__param(0, Param("name"))
|
|
179
227
|
], AdminExtensionsController.prototype, "config", null);
|
|
228
|
+
__decorate([
|
|
229
|
+
Get(":name/org-overrides"),
|
|
230
|
+
__param(0, ZParam(AdminExtensionNameParamsDto))
|
|
231
|
+
], AdminExtensionsController.prototype, "orgCopies", null);
|
|
180
232
|
__decorate([
|
|
181
233
|
Put(":name/config"),
|
|
182
234
|
__param(0, CurrentPrincipal()),
|
|
183
235
|
__param(1, Param("name")),
|
|
184
236
|
__param(2, ZBody(ExtensionConfigBody))
|
|
185
237
|
], AdminExtensionsController.prototype, "putConfig", null);
|
|
238
|
+
__decorate([
|
|
239
|
+
Delete(":name/config"),
|
|
240
|
+
__param(0, CurrentPrincipal()),
|
|
241
|
+
__param(1, Param("name"))
|
|
242
|
+
], AdminExtensionsController.prototype, "clearConfig", null);
|
|
186
243
|
__decorate([
|
|
187
244
|
Post(":name/approve"),
|
|
188
245
|
HttpCode(200),
|
|
@@ -229,11 +286,12 @@ __decorate([
|
|
|
229
286
|
], AdminExtensionsController.prototype, "fromNpm", null);
|
|
230
287
|
AdminExtensionsController = __decorate([
|
|
231
288
|
Controller("api/v1/admin/extensions"),
|
|
232
|
-
|
|
289
|
+
SuperAdmin(),
|
|
233
290
|
__param(0, Inject(ExtensionInstalls)),
|
|
234
291
|
__param(1, Inject(ExtensionAdmin)),
|
|
235
292
|
__param(2, Inject(ExtensionAdminOps)),
|
|
236
293
|
__param(3, Inject(ExtensionDeploymentConfigService)),
|
|
237
|
-
__param(4, Inject(KernelConfigService))
|
|
294
|
+
__param(4, Inject(KernelConfigService)),
|
|
295
|
+
__param(5, Inject(OrgOverrides))
|
|
238
296
|
], AdminExtensionsController);
|
|
239
297
|
export { AdminExtensionsController };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RouteSchemas } from "../platform/route-schemas.js";
|
|
3
|
+
/** `:name` as the lifecycle and detail routes take it (`@Param`). */
|
|
4
|
+
export declare const AdminExtensionNamePathParams: z.ZodObject<{
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare const ADMIN_EXTENSION_ROUTES: readonly RouteSchemas[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** `:name` as the lifecycle and detail routes take it (`@Param`). */
|
|
3
|
+
export const AdminExtensionNamePathParams = z.object({ name: z.string().min(1) });
|
|
4
|
+
export const ADMIN_EXTENSION_ROUTES = [
|
|
5
|
+
{ route: "GET /api/v1/admin/extensions" },
|
|
6
|
+
{ route: "GET /api/v1/admin/extensions/:name", params: AdminExtensionNamePathParams },
|
|
7
|
+
{ route: "POST /api/v1/admin/extensions/:name/enable", params: AdminExtensionNamePathParams },
|
|
8
|
+
{ route: "POST /api/v1/admin/extensions/:name/disable", params: AdminExtensionNamePathParams },
|
|
9
|
+
{ route: "DELETE /api/v1/admin/extensions/:name", params: AdminExtensionNamePathParams },
|
|
10
|
+
];
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { Queue } from "bullmq";
|
|
2
|
+
import type { Redis } from "ioredis";
|
|
3
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
4
|
+
import { type LiveReplica, ReplicaPresence } from "../infra/presence/replica-presence.js";
|
|
5
|
+
import type { KernelLogger } from "../log.js";
|
|
6
|
+
/** The kernel's own queues, in the order the overview lists them (extension queues are not read). */
|
|
7
|
+
export declare const KERNEL_QUEUE_NAMES: readonly ["cap-kernel-runs", "cap-kernel-subagent-runs", "cap-kernel-channels", "cap-kernel-maintenance", "cap-kernel-plugin-scope", "cap-kernel-titles", "cap-kernel-usage-report", "cap-kernel-evals"];
|
|
8
|
+
/** How long each source's reads may take before the answer marks it unavailable. */
|
|
9
|
+
export declare const HEALTH_READ_TIMEOUT_MS = 3000;
|
|
10
|
+
/** A live replica as the overview shows it. */
|
|
11
|
+
export interface AdminHealthReplica {
|
|
12
|
+
/** The process id (the one extension status rows and the gateway heartbeat use). */
|
|
13
|
+
id: string;
|
|
14
|
+
roles: LiveReplica["roles"];
|
|
15
|
+
version: string;
|
|
16
|
+
startedAt: string;
|
|
17
|
+
httpReplicaId: string | null;
|
|
18
|
+
}
|
|
19
|
+
/** One kernel queue: counts only, never job data or a failure text (spec §9). */
|
|
20
|
+
export interface AdminHealthQueue {
|
|
21
|
+
name: (typeof KERNEL_QUEUE_NAMES)[number];
|
|
22
|
+
/** Waiting to be picked up (a paused queue keeps them here too), prioritized ones included. */
|
|
23
|
+
waiting: number;
|
|
24
|
+
active: number;
|
|
25
|
+
/** Delayed: scheduled for later, or waiting out a retry backoff. */
|
|
26
|
+
delayed: number;
|
|
27
|
+
/** Failed jobs still kept (each queue keeps the last 5000). */
|
|
28
|
+
failed: number;
|
|
29
|
+
/** Of those, the ones that failed in the last 24 hours (by `finishedOn`). */
|
|
30
|
+
failedLastDay: number;
|
|
31
|
+
}
|
|
32
|
+
/** A source the answer could not read right now (its numbers are null). */
|
|
33
|
+
export type AdminHealthSource = "redis" | "database";
|
|
34
|
+
/**
|
|
35
|
+
* The admin overview's 运行状况 (`GET /api/v1/admin/overview/health`, admin overview spec §5.2,
|
|
36
|
+
* §6.2). Each source degrades on its own: when Redis does not answer, `replicas`, `roles`,
|
|
37
|
+
* `queues`, `channels.online` / `.offline` and `devices.online` are null; when PostgreSQL does
|
|
38
|
+
* not, the channel, device and sandbox numbers read from it are null; `unavailable` names them.
|
|
39
|
+
*/
|
|
40
|
+
export interface AdminHealth {
|
|
41
|
+
kernel: {
|
|
42
|
+
version: string;
|
|
43
|
+
};
|
|
44
|
+
/** Live replicas (presence beat within its window), oldest start first. */
|
|
45
|
+
replicas: AdminHealthReplica[] | null;
|
|
46
|
+
/** Live replicas per role (a replica with several roles counts in each). */
|
|
47
|
+
roles: {
|
|
48
|
+
api: number;
|
|
49
|
+
worker: number;
|
|
50
|
+
gateway: number;
|
|
51
|
+
} | null;
|
|
52
|
+
queues: AdminHealthQueue[] | null;
|
|
53
|
+
/**
|
|
54
|
+
* Channel connections of orgs not deleted (deleted connections are not counted):
|
|
55
|
+
* - `online`: long connections held by a live gateway replica now (the replicas' own counts);
|
|
56
|
+
* - `offline`: active long-connection connections no replica holds (`max(0, active − online)`):
|
|
57
|
+
* waiting for a gateway, backing off after a failure, or their plugin is off in the org;
|
|
58
|
+
* - `webhook`: active connections in webhook mode (callbacks, nothing to hold);
|
|
59
|
+
* - `disabled` / `error`: connections in that status, whatever their mode.
|
|
60
|
+
*/
|
|
61
|
+
channels: {
|
|
62
|
+
online: number | null;
|
|
63
|
+
offline: number | null;
|
|
64
|
+
webhook: number | null;
|
|
65
|
+
disabled: number | null;
|
|
66
|
+
error: number | null;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* `local`: local devices (not deleted, org not deleted); `online`: the devices whose connection a
|
|
70
|
+
* live replica holds (lease held), at most `local`.
|
|
71
|
+
*/
|
|
72
|
+
devices: {
|
|
73
|
+
online: number | null;
|
|
74
|
+
local: number | null;
|
|
75
|
+
};
|
|
76
|
+
/** Sandbox instances by status, and running ones per provider (most first). */
|
|
77
|
+
sandboxes: {
|
|
78
|
+
running: number;
|
|
79
|
+
suspended: number;
|
|
80
|
+
byProvider: {
|
|
81
|
+
provider: string;
|
|
82
|
+
running: number;
|
|
83
|
+
}[];
|
|
84
|
+
} | null;
|
|
85
|
+
unavailable: AdminHealthSource[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Reads the platform's health for the admin overview: the live replicas (replica presence), the
|
|
89
|
+
* kernel queues (BullMQ counts plus a ZCOUNT of each failed set over the last 24 hours, the set's
|
|
90
|
+
* score being `finishedOn`), and channel, device and sandbox counts (grouped PostgreSQL counts,
|
|
91
|
+
* plus the connections the live replicas report holding). Not cached: it is cheap, and stale health
|
|
92
|
+
* misleads. Reads the shared queue instances (no connection per request).
|
|
93
|
+
*/
|
|
94
|
+
export declare class AdminHealthService {
|
|
95
|
+
private readonly presence;
|
|
96
|
+
private readonly db;
|
|
97
|
+
private readonly redis;
|
|
98
|
+
private readonly log;
|
|
99
|
+
private readonly queues;
|
|
100
|
+
constructor(presence: Pick<ReplicaPresence, "live">, db: KernelDb, redis: Pick<Redis, "zcount" | "status">, log: Pick<KernelLogger, "warn">, runs: Queue, subagentRuns: Queue, channels: Queue, maintenance: Queue, pluginScope: Queue, titles: Queue, usageReport: Queue, evals: Queue);
|
|
101
|
+
read(): Promise<AdminHealth>;
|
|
102
|
+
private readRedis;
|
|
103
|
+
private readDb;
|
|
104
|
+
}
|
|
@@ -0,0 +1,246 @@
|
|
|
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 { getQueueToken } from "@nestjs/bullmq";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { sql } from "kysely";
|
|
13
|
+
import { PLUGIN_SCOPE_QUEUE } from "../catalog/scope-sync.js";
|
|
14
|
+
import { CHANNEL_QUEUE_NAME } from "../channels/jobs.js";
|
|
15
|
+
import { TITLE_QUEUE } from "../conversations/titles.js";
|
|
16
|
+
import { EVAL_QUEUE_NAME } from "../evals/jobs.js";
|
|
17
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
18
|
+
import { ReplicaPresence } from "../infra/presence/replica-presence.js";
|
|
19
|
+
import { KERNEL_LOGGER, REDIS } from "../infra/tokens.js";
|
|
20
|
+
import { MAINTENANCE_QUEUE_NAME } from "../runtime/maintenance-queue.js";
|
|
21
|
+
import { RUN_QUEUE_NAME, SUBAGENT_RUN_QUEUE_NAME } from "../runtime/run-jobs.js";
|
|
22
|
+
import { USAGE_REPORT_QUEUE } from "../runtime/usage-report-jobs.js";
|
|
23
|
+
import { KERNEL_VERSION } from "../version.js";
|
|
24
|
+
/** The kernel's own queues, in the order the overview lists them (extension queues are not read). */
|
|
25
|
+
export const KERNEL_QUEUE_NAMES = [
|
|
26
|
+
RUN_QUEUE_NAME,
|
|
27
|
+
SUBAGENT_RUN_QUEUE_NAME,
|
|
28
|
+
CHANNEL_QUEUE_NAME,
|
|
29
|
+
MAINTENANCE_QUEUE_NAME,
|
|
30
|
+
PLUGIN_SCOPE_QUEUE,
|
|
31
|
+
TITLE_QUEUE,
|
|
32
|
+
USAGE_REPORT_QUEUE,
|
|
33
|
+
EVAL_QUEUE_NAME,
|
|
34
|
+
];
|
|
35
|
+
/** How long each source's reads may take before the answer marks it unavailable. */
|
|
36
|
+
export const HEALTH_READ_TIMEOUT_MS = 3_000;
|
|
37
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
38
|
+
/** Rejects when `p` does not settle within `ms` (a down Redis makes commands wait, not fail). */
|
|
39
|
+
function within(p, ms) {
|
|
40
|
+
let timer;
|
|
41
|
+
const timeout = new Promise((_, reject) => {
|
|
42
|
+
timer = setTimeout(() => reject(new Error(`no answer within ${ms} ms`)), ms);
|
|
43
|
+
timer.unref?.();
|
|
44
|
+
});
|
|
45
|
+
p.catch(() => { }); // a late rejection after the timeout is not unhandled
|
|
46
|
+
return Promise.race([p, timeout]).finally(() => clearTimeout(timer));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Reads the platform's health for the admin overview: the live replicas (replica presence), the
|
|
50
|
+
* kernel queues (BullMQ counts plus a ZCOUNT of each failed set over the last 24 hours, the set's
|
|
51
|
+
* score being `finishedOn`), and channel, device and sandbox counts (grouped PostgreSQL counts,
|
|
52
|
+
* plus the connections the live replicas report holding). Not cached: it is cheap, and stale health
|
|
53
|
+
* misleads. Reads the shared queue instances (no connection per request).
|
|
54
|
+
*/
|
|
55
|
+
let AdminHealthService = class AdminHealthService {
|
|
56
|
+
presence;
|
|
57
|
+
db;
|
|
58
|
+
redis;
|
|
59
|
+
log;
|
|
60
|
+
queues;
|
|
61
|
+
constructor(presence, db, redis, log, runs, subagentRuns, channels, maintenance, pluginScope, titles, usageReport, evals) {
|
|
62
|
+
this.presence = presence;
|
|
63
|
+
this.db = db;
|
|
64
|
+
this.redis = redis;
|
|
65
|
+
this.log = log;
|
|
66
|
+
// the order of KERNEL_QUEUE_NAMES
|
|
67
|
+
this.queues = [
|
|
68
|
+
runs,
|
|
69
|
+
subagentRuns,
|
|
70
|
+
channels,
|
|
71
|
+
maintenance,
|
|
72
|
+
pluginScope,
|
|
73
|
+
titles,
|
|
74
|
+
usageReport,
|
|
75
|
+
evals,
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
async read() {
|
|
79
|
+
const [r, d] = await Promise.allSettled([
|
|
80
|
+
within(this.readRedis(), HEALTH_READ_TIMEOUT_MS),
|
|
81
|
+
// a query left running past the limit finishes on its pooled connection
|
|
82
|
+
within(this.readDb(), HEALTH_READ_TIMEOUT_MS),
|
|
83
|
+
]);
|
|
84
|
+
const unavailable = [];
|
|
85
|
+
const redis = r.status === "fulfilled" ? r.value : null;
|
|
86
|
+
if (r.status === "rejected") {
|
|
87
|
+
unavailable.push("redis");
|
|
88
|
+
this.log.warn("admin health: cannot read Redis", { err: r.reason });
|
|
89
|
+
}
|
|
90
|
+
const db = d.status === "fulfilled" ? d.value : null;
|
|
91
|
+
if (d.status === "rejected") {
|
|
92
|
+
unavailable.push("database");
|
|
93
|
+
this.log.warn("admin health: cannot read the database", { err: d.reason });
|
|
94
|
+
}
|
|
95
|
+
const replicas = redis?.replicas ?? null;
|
|
96
|
+
const sum = (k) => replicas === null ? null : replicas.reduce((n, x) => n + x[k], 0);
|
|
97
|
+
const online = sum("channelsHeld");
|
|
98
|
+
const channelCount = (f) => db === null ? null : db.channels.filter(f).reduce((n, c) => n + c.n, 0);
|
|
99
|
+
const longActive = channelCount((c) => c.status === "active" && c.mode === "long_connection");
|
|
100
|
+
// Each replica counts only the devices whose lease it holds, so a device is online on at most
|
|
101
|
+
// one; the clamp covers a lease handover in flight and devices deleted while still connected
|
|
102
|
+
const connected = sum("devicesConnected");
|
|
103
|
+
const devicesOnline = connected === null || db === null ? connected : Math.min(connected, db.localDevices);
|
|
104
|
+
let sandboxes = null;
|
|
105
|
+
if (db !== null) {
|
|
106
|
+
const byProvider = new Map();
|
|
107
|
+
let running = 0;
|
|
108
|
+
let suspended = 0;
|
|
109
|
+
for (const i of db.instances) {
|
|
110
|
+
if (i.status === "suspended")
|
|
111
|
+
suspended += i.n;
|
|
112
|
+
if (i.status !== "running")
|
|
113
|
+
continue;
|
|
114
|
+
running += i.n;
|
|
115
|
+
if (i.provider !== null) {
|
|
116
|
+
byProvider.set(i.provider, (byProvider.get(i.provider) ?? 0) + i.n);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
sandboxes = {
|
|
120
|
+
running,
|
|
121
|
+
suspended,
|
|
122
|
+
byProvider: [...byProvider]
|
|
123
|
+
.map(([provider, n]) => ({ provider, running: n }))
|
|
124
|
+
.sort((a, b) => b.running - a.running || a.provider.localeCompare(b.provider)),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
kernel: { version: KERNEL_VERSION },
|
|
129
|
+
replicas: replicas?.map((x) => ({
|
|
130
|
+
id: x.id,
|
|
131
|
+
roles: x.roles,
|
|
132
|
+
version: x.version,
|
|
133
|
+
startedAt: x.startedAt,
|
|
134
|
+
httpReplicaId: x.httpReplicaId,
|
|
135
|
+
})) ?? null,
|
|
136
|
+
roles: replicas === null
|
|
137
|
+
? null
|
|
138
|
+
: {
|
|
139
|
+
api: replicas.filter((x) => x.roles.includes("api")).length,
|
|
140
|
+
worker: replicas.filter((x) => x.roles.includes("worker")).length,
|
|
141
|
+
gateway: replicas.filter((x) => x.roles.includes("gateway")).length,
|
|
142
|
+
},
|
|
143
|
+
queues: redis?.queues ?? null,
|
|
144
|
+
channels: {
|
|
145
|
+
online,
|
|
146
|
+
offline: online === null || longActive === null ? null : Math.max(0, longActive - online),
|
|
147
|
+
webhook: channelCount((c) => c.status === "active" && c.mode === "webhook"),
|
|
148
|
+
disabled: channelCount((c) => c.status === "disabled"),
|
|
149
|
+
error: channelCount((c) => c.status === "error"),
|
|
150
|
+
},
|
|
151
|
+
devices: { online: devicesOnline, local: db?.localDevices ?? null },
|
|
152
|
+
sandboxes,
|
|
153
|
+
unavailable,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
async readRedis() {
|
|
157
|
+
// Fail fast while a connection is down: ioredis queues commands until it reconnects (the
|
|
158
|
+
// BullMQ connections retry forever, maxRetriesPerRequest null), so with the page polling every
|
|
159
|
+
// 30 s the reads would pile up in the offline queues instead of reporting Redis unavailable
|
|
160
|
+
if (this.redis.status !== "ready")
|
|
161
|
+
throw new Error(`redis is ${this.redis.status}`);
|
|
162
|
+
for (const q of this.queues) {
|
|
163
|
+
const status = (await q.getBackend().client).status;
|
|
164
|
+
if (status !== "ready")
|
|
165
|
+
throw new Error(`queue ${q.name} connection is ${status}`);
|
|
166
|
+
}
|
|
167
|
+
const since = Date.now() - DAY_MS;
|
|
168
|
+
const [replicas, queues] = await Promise.all([
|
|
169
|
+
this.presence.live(),
|
|
170
|
+
Promise.all(this.queues.map(async (q, i) => {
|
|
171
|
+
const [c, failedLastDay] = await Promise.all([
|
|
172
|
+
q.getJobCounts("wait", "prioritized", "active", "delayed", "failed"),
|
|
173
|
+
// the failed set is scored by finishedOn (pinned by the health test)
|
|
174
|
+
this.redis.zcount(q.toKey("failed"), since, "+inf"),
|
|
175
|
+
]);
|
|
176
|
+
return {
|
|
177
|
+
name: KERNEL_QUEUE_NAMES[i],
|
|
178
|
+
waiting: (c.wait ?? 0) + (c.prioritized ?? 0),
|
|
179
|
+
active: c.active ?? 0,
|
|
180
|
+
delayed: c.delayed ?? 0,
|
|
181
|
+
failed: c.failed ?? 0,
|
|
182
|
+
failedLastDay,
|
|
183
|
+
};
|
|
184
|
+
})),
|
|
185
|
+
]);
|
|
186
|
+
return { replicas, queues };
|
|
187
|
+
}
|
|
188
|
+
async readDb() {
|
|
189
|
+
const db = this.db.db;
|
|
190
|
+
const [channels, devices, instances] = await Promise.all([
|
|
191
|
+
db
|
|
192
|
+
.selectFrom("channel_connections as c")
|
|
193
|
+
.innerJoin("orgs as o", "o.id", "c.org_id")
|
|
194
|
+
.select(["c.status as status", "c.inbound_mode as mode"])
|
|
195
|
+
.select(sql `count(*)`.as("n"))
|
|
196
|
+
.where("c.deleted_at", "is", null)
|
|
197
|
+
.where("o.deleted_at", "is", null)
|
|
198
|
+
.groupBy(["c.status", "c.inbound_mode"])
|
|
199
|
+
.execute(),
|
|
200
|
+
db
|
|
201
|
+
.selectFrom("devices as d")
|
|
202
|
+
.innerJoin("orgs as o", "o.id", "d.org_id")
|
|
203
|
+
.select(sql `count(*)`.as("n"))
|
|
204
|
+
.where("d.source", "=", "local")
|
|
205
|
+
.where("d.deleted_at", "is", null)
|
|
206
|
+
.where("o.deleted_at", "is", null)
|
|
207
|
+
.executeTakeFirst(),
|
|
208
|
+
// the partial indexes on device_instances (running / live) serve these statuses; an
|
|
209
|
+
// instance of a deleted org is left out like its channels and devices
|
|
210
|
+
db
|
|
211
|
+
.selectFrom("device_instances as i")
|
|
212
|
+
.innerJoin("orgs as o", "o.id", "i.org_id")
|
|
213
|
+
.select(["i.provider as provider", "i.status as status"])
|
|
214
|
+
.select(sql `count(*)`.as("n"))
|
|
215
|
+
.where("i.status", "in", ["running", "suspended"])
|
|
216
|
+
.where("o.deleted_at", "is", null)
|
|
217
|
+
.groupBy(["i.provider", "i.status"])
|
|
218
|
+
.execute(),
|
|
219
|
+
]);
|
|
220
|
+
return {
|
|
221
|
+
channels: channels.map((c) => ({ status: c.status, mode: c.mode, n: Number(c.n) })),
|
|
222
|
+
localDevices: Number(devices?.n ?? 0),
|
|
223
|
+
instances: instances.map((i) => ({
|
|
224
|
+
provider: i.provider,
|
|
225
|
+
status: i.status,
|
|
226
|
+
n: Number(i.n),
|
|
227
|
+
})),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
AdminHealthService = __decorate([
|
|
232
|
+
Injectable(),
|
|
233
|
+
__param(0, Inject(ReplicaPresence)),
|
|
234
|
+
__param(1, Inject(KernelDb)),
|
|
235
|
+
__param(2, Inject(REDIS)),
|
|
236
|
+
__param(3, Inject(KERNEL_LOGGER)),
|
|
237
|
+
__param(4, Inject(getQueueToken(RUN_QUEUE_NAME))),
|
|
238
|
+
__param(5, Inject(getQueueToken(SUBAGENT_RUN_QUEUE_NAME))),
|
|
239
|
+
__param(6, Inject(getQueueToken(CHANNEL_QUEUE_NAME))),
|
|
240
|
+
__param(7, Inject(getQueueToken(MAINTENANCE_QUEUE_NAME))),
|
|
241
|
+
__param(8, Inject(getQueueToken(PLUGIN_SCOPE_QUEUE))),
|
|
242
|
+
__param(9, Inject(getQueueToken(TITLE_QUEUE))),
|
|
243
|
+
__param(10, Inject(getQueueToken(USAGE_REPORT_QUEUE))),
|
|
244
|
+
__param(11, Inject(getQueueToken(EVAL_QUEUE_NAME)))
|
|
245
|
+
], AdminHealthService);
|
|
246
|
+
export { AdminHealthService };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
2
|
+
import type { SubagentLimits } from "../runtime/subagents/limits.js";
|
|
3
|
+
/**
|
|
4
|
+
* The deployment's defaults of the per-org limits (with `GET /api/v1/admin/orgs`): what an
|
|
5
|
+
* organization without an override gets, from the live config. `subagents.maxDispatchesPerRun` and
|
|
6
|
+
* `maxTokensPerRun` of 0 mean no limit.
|
|
7
|
+
*/
|
|
8
|
+
export interface LimitDefaults {
|
|
9
|
+
/** `runtime.orgConcurrency`. */
|
|
10
|
+
runConcurrency: number;
|
|
11
|
+
/** `sandbox.limits.cpu` / `memoryMb`. */
|
|
12
|
+
sandbox: {
|
|
13
|
+
cpu: number;
|
|
14
|
+
memoryMb: number;
|
|
15
|
+
};
|
|
16
|
+
/** `subagents.*`. */
|
|
17
|
+
subagents: SubagentLimits;
|
|
18
|
+
}
|
|
19
|
+
/** {@link LimitDefaults} from the live config. */
|
|
20
|
+
export declare function limitDefaults(config: KernelConfigService): LimitDefaults;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** {@link LimitDefaults} from the live config. */
|
|
2
|
+
export function limitDefaults(config) {
|
|
3
|
+
const cfg = config.get();
|
|
4
|
+
const { maxDepth, maxConcurrentPerConversation, maxDispatchesPerRun, maxTokensPerRun } = cfg.subagents;
|
|
5
|
+
return {
|
|
6
|
+
runConcurrency: cfg.runtime.orgConcurrency,
|
|
7
|
+
sandbox: { cpu: cfg.sandbox.limits.cpu, memoryMb: cfg.sandbox.limits.memoryMb },
|
|
8
|
+
subagents: { maxDepth, maxConcurrentPerConversation, maxDispatchesPerRun, maxTokensPerRun },
|
|
9
|
+
};
|
|
10
|
+
}
|