@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
|
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
|
+
import { EXTENSION_NAME_RE } from "@capybara-hq/plugin-sdk";
|
|
10
11
|
import { Inject, Injectable } from "@nestjs/common";
|
|
11
12
|
import { z } from "zod";
|
|
12
13
|
import { ApiError } from "../errors.js";
|
|
@@ -14,8 +15,10 @@ import { KernelDb } from "../infra/database/kernel-db.js";
|
|
|
14
15
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
15
16
|
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
16
17
|
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
18
|
+
import { assertPlatformDefaultEligible, lockThemeShared } from "../themes/theme-state.js";
|
|
19
|
+
import { mergeArrangement, UiArrangementPatchSchema, UiArrangementSchema, } from "../ui/arrangement.js";
|
|
17
20
|
import { audit } from "./audit.js";
|
|
18
|
-
import {
|
|
21
|
+
import { SuperAdminLock } from "./super-admin.js";
|
|
19
22
|
/** 币种代码:ISO 4217 的三位大写字母(如 USD、CNY)。 */
|
|
20
23
|
const CurrencyCode = z.string().regex(/^[A-Z]{3}$/, "must be a 3-letter ISO 4217 currency code");
|
|
21
24
|
/** 沙箱 cpu(核)与内存(MB)覆盖的范围(C19)。 */
|
|
@@ -37,23 +40,84 @@ export const SANDBOX_LIMIT_OVERRIDE = z
|
|
|
37
40
|
message: "give cpu, memoryMb or both",
|
|
38
41
|
});
|
|
39
42
|
/**
|
|
40
|
-
* One organization's sub-agent limits (sub-agents spec §8.2): any of the
|
|
41
|
-
* values, within the same bounds
|
|
43
|
+
* One organization's sub-agent limits (sub-agents spec §8.2, agent map spec §6): any of the
|
|
44
|
+
* `subagents.*` values, within the same bounds (0 for dispatches or tokens: no limit); the ones not
|
|
45
|
+
* given use the deployment's config.
|
|
42
46
|
*/
|
|
43
47
|
export const SUBAGENT_LIMIT_OVERRIDE = z
|
|
44
48
|
.object({
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
maxDepth: z.number().int().min(1).max(5).optional(),
|
|
50
|
+
maxConcurrentPerConversation: z.number().int().min(1).max(20).optional(),
|
|
51
|
+
maxDispatchesPerRun: z
|
|
52
|
+
.number()
|
|
53
|
+
.int()
|
|
54
|
+
.max(500)
|
|
55
|
+
.refine((n) => n === 0 || n >= 1, "0 (no limit) or 1 to 500")
|
|
56
|
+
.optional(),
|
|
57
|
+
maxTokensPerRun: z
|
|
58
|
+
.number()
|
|
59
|
+
.int()
|
|
60
|
+
.refine((n) => n === 0 || n >= 10_000, "0 (no limit) or at least 10,000")
|
|
61
|
+
.optional(),
|
|
48
62
|
})
|
|
49
63
|
.strict()
|
|
50
64
|
.refine((o) => Object.values(o).some((v) => v !== undefined), {
|
|
51
|
-
message: "give
|
|
65
|
+
message: "give maxDepth, maxConcurrentPerConversation, maxDispatchesPerRun or maxTokensPerRun",
|
|
52
66
|
});
|
|
53
|
-
/** 组织能否自建连接器 / 技能(C22):`deny`
|
|
67
|
+
/** 组织能否自建连接器 / 技能(C22):`deny` 时只能从平台目录安装(T26 执行)。 */
|
|
54
68
|
const CustomPolicy = z.enum(["allow", "deny"]);
|
|
69
|
+
/** The deployment setting key of the platform default theme (themes spec §7). */
|
|
70
|
+
export const UI_THEME_SETTING = "uiTheme";
|
|
71
|
+
/**
|
|
72
|
+
* The platform default theme (themes spec §7): a `platform_themes` id, or null for the built-in
|
|
73
|
+
* theme. Only a platform-owned theme whose effective scope is `all` can be set (checked by
|
|
74
|
+
* {@link SettingsService.update}); every reader goes through {@link readUiTheme} or
|
|
75
|
+
* {@link SettingsService.get}, both parsing with this schema.
|
|
76
|
+
*/
|
|
77
|
+
export const UiThemeSetting = z.object({ id: z.string().min(1).max(200).nullable() });
|
|
78
|
+
/** The deployment setting key of the client code kill switch (client extensions spec §10.2). */
|
|
79
|
+
export const CLIENT_EXTENSIONS_SETTING = "clientExtensions";
|
|
80
|
+
/** The plugins listed in `clientExtensions.disabled`: at most this many. */
|
|
81
|
+
export const CLIENT_DISABLED_MAX = 200;
|
|
82
|
+
const ClientDisabledList = z
|
|
83
|
+
.array(z.string().regex(EXTENSION_NAME_RE, "must be an extension name"))
|
|
84
|
+
.max(CLIENT_DISABLED_MAX);
|
|
85
|
+
/**
|
|
86
|
+
* The client code kill switch (client extensions spec §10.2): `enabled: false` stops every plugin's
|
|
87
|
+
* client code (the shell reads list nothing, delivery is 404); `disabled` names the plugins whose
|
|
88
|
+
* client code alone is stopped while their server side keeps running. Every reader goes through
|
|
89
|
+
* {@link readClientExtensions} or {@link SettingsService.get}.
|
|
90
|
+
*/
|
|
91
|
+
export const ClientExtensionsSetting = z.object({
|
|
92
|
+
enabled: z.boolean(),
|
|
93
|
+
disabled: ClientDisabledList,
|
|
94
|
+
});
|
|
95
|
+
/** The kill switch's default (and what a missing or invalid stored value reads as): everything on. */
|
|
96
|
+
export const clientExtensionsDefault = () => ({
|
|
97
|
+
enabled: true,
|
|
98
|
+
disabled: [],
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Parses a stored `clientExtensions` value (the `deployment_settings` row's `value`, undefined when
|
|
102
|
+
* the row is missing): the default when missing; when invalid the default too, with a warning naming
|
|
103
|
+
* the key (a kill switch that fails open is worth a log line, as {@link SettingsService.get} logs
|
|
104
|
+
* every other invalid key). The one parser of the setting: the settings service and every access
|
|
105
|
+
* check read through it.
|
|
106
|
+
*/
|
|
107
|
+
export function parseClientExtensions(value, log) {
|
|
108
|
+
if (value === undefined)
|
|
109
|
+
return clientExtensionsDefault();
|
|
110
|
+
const parsed = ClientExtensionsSetting.safeParse(value);
|
|
111
|
+
if (parsed.success)
|
|
112
|
+
return parsed.data;
|
|
113
|
+
log?.warn("invalid deployment setting; using default", {
|
|
114
|
+
key: CLIENT_EXTENSIONS_SETTING,
|
|
115
|
+
issues: parsed.error.issues.map((i) => i.message),
|
|
116
|
+
});
|
|
117
|
+
return clientExtensionsDefault();
|
|
118
|
+
}
|
|
55
119
|
export const DEPLOYMENT_SETTINGS = z.object({
|
|
56
|
-
orgCreation: z.enum(["anyone", "
|
|
120
|
+
orgCreation: z.enum(["anyone", "super_admin"]).default("anyone"),
|
|
57
121
|
/** 按组织覆盖运行并发上限(orgId → 上限);未列出的组织用 `runtime.orgConcurrency`。 */
|
|
58
122
|
runConcurrencyOverrides: z.record(z.string().min(1), z.number().int().positive()).default({}),
|
|
59
123
|
/** 模型价格表(`model_prices`)的币种;只用于显示估算成本,不做换算。 */
|
|
@@ -65,13 +129,28 @@ export const DEPLOYMENT_SETTINGS = z.object({
|
|
|
65
129
|
* not given, use `subagents.*`. Read live on every dispatch and tool resolution.
|
|
66
130
|
*/
|
|
67
131
|
subagentLimitOverrides: z.record(z.string().min(1), SUBAGENT_LIMIT_OVERRIDE).default({}),
|
|
68
|
-
/**
|
|
132
|
+
/** 组织能否自建连接器(不经平台目录)。 */
|
|
69
133
|
customConnectors: CustomPolicy.default("allow"),
|
|
70
134
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
135
|
+
* Whether the org can create its own skills (not through the platform catalog): on deny org admins
|
|
136
|
+
* cannot upload skill packages. An agent registering its own skill (`agents.register-skill`) is not
|
|
137
|
+
* governed by it; only sharing a skill to the org is refused.
|
|
73
138
|
*/
|
|
74
139
|
customSkills: CustomPolicy.default("allow"),
|
|
140
|
+
/**
|
|
141
|
+
* Org admins may browse the marketplaces read-only and ask for an entry to be imported (plugin
|
|
142
|
+
* scope spec §5.1 rule 3). false hides the browse route and refuses those requests.
|
|
143
|
+
*/
|
|
144
|
+
orgMarketplaceBrowse: z.boolean().default(true),
|
|
145
|
+
/** The platform default theme (themes spec §7); `{ id: null }`: the built-in theme. */
|
|
146
|
+
uiTheme: UiThemeSetting.default({ id: null }),
|
|
147
|
+
/**
|
|
148
|
+
* The platform default arrangement of UI slots (UI slots spec §5): `{ hidden, order }` per list
|
|
149
|
+
* slot, `{ use }` per single slot (client extensions spec §6.3); orgs override per slot.
|
|
150
|
+
*/
|
|
151
|
+
uiArrangement: UiArrangementSchema.default({}),
|
|
152
|
+
/** The client code kill switch (client extensions spec §10.2). */
|
|
153
|
+
clientExtensions: ClientExtensionsSetting.default(clientExtensionsDefault),
|
|
75
154
|
});
|
|
76
155
|
const DEFAULTS = DEPLOYMENT_SETTINGS.parse({});
|
|
77
156
|
/**
|
|
@@ -84,7 +163,7 @@ const DEFAULTS = DEPLOYMENT_SETTINGS.parse({});
|
|
|
84
163
|
*/
|
|
85
164
|
export const DEPLOYMENT_SETTINGS_PATCH = z
|
|
86
165
|
.object({
|
|
87
|
-
orgCreation: z.enum(["anyone", "
|
|
166
|
+
orgCreation: z.enum(["anyone", "super_admin"]).optional(),
|
|
88
167
|
runConcurrencyOverrides: z
|
|
89
168
|
.record(z.string().min(1), z.number().int().positive().nullable())
|
|
90
169
|
.optional(),
|
|
@@ -97,6 +176,28 @@ export const DEPLOYMENT_SETTINGS_PATCH = z
|
|
|
97
176
|
.optional(),
|
|
98
177
|
customConnectors: CustomPolicy.optional(),
|
|
99
178
|
customSkills: CustomPolicy.optional(),
|
|
179
|
+
orgMarketplaceBrowse: z.boolean().optional(),
|
|
180
|
+
/**
|
|
181
|
+
* The platform default theme: a platform-owned theme whose effective scope is `all`, not
|
|
182
|
+
* disabled (else 400 `theme.not_available`), or `{ id: null }` for the built-in theme.
|
|
183
|
+
*/
|
|
184
|
+
uiTheme: UiThemeSetting.strict().optional(),
|
|
185
|
+
/**
|
|
186
|
+
* Per slot, the entry to hide / order contributions with (`{ use }` on a single slot); null
|
|
187
|
+
* removes a slot's entry.
|
|
188
|
+
*/
|
|
189
|
+
uiArrangement: UiArrangementPatchSchema.optional(),
|
|
190
|
+
/**
|
|
191
|
+
* The client code kill switch: each given field replaces the stored one (`disabled` is the
|
|
192
|
+
* whole list, stored sorted without duplicates); at least one field.
|
|
193
|
+
*/
|
|
194
|
+
clientExtensions: z
|
|
195
|
+
.object({ enabled: z.boolean().optional(), disabled: ClientDisabledList.optional() })
|
|
196
|
+
.strict()
|
|
197
|
+
.refine((o) => o.enabled !== undefined || o.disabled !== undefined, {
|
|
198
|
+
message: "give enabled, disabled or both",
|
|
199
|
+
})
|
|
200
|
+
.optional(),
|
|
100
201
|
})
|
|
101
202
|
.strict();
|
|
102
203
|
/**
|
|
@@ -140,7 +241,7 @@ export async function readSubagentLimitOverride(db, orgId) {
|
|
|
140
241
|
}
|
|
141
242
|
/**
|
|
142
243
|
* When orgs may not create their own connectors / skills (deployment setting `customConnectors` /
|
|
143
|
-
* `customSkills` is `deny`, C22) throws `catalog.custom_disabled`: install from the
|
|
244
|
+
* `customSkills` is `deny`, C22) throws `catalog.custom_disabled`: install from the platform
|
|
144
245
|
* catalog only. Reads PG live every time (can read in the caller's transaction); an invalid stored
|
|
145
246
|
* value counts as allow.
|
|
146
247
|
*/
|
|
@@ -155,10 +256,83 @@ export async function assertCustomAllowed(db, key) {
|
|
|
155
256
|
const parsed = CustomPolicy.safeParse(row.value);
|
|
156
257
|
if (parsed.success && parsed.data === "deny") {
|
|
157
258
|
throw new ApiError("catalog.custom_disabled", key === "customConnectors"
|
|
158
|
-
? "Custom connectors are disabled in this deployment; install connectors from the
|
|
159
|
-
: "Custom skills are disabled in this deployment; install skills from the
|
|
259
|
+
? "Custom connectors are disabled in this deployment; install connectors from the platform catalog"
|
|
260
|
+
: "Custom skills are disabled in this deployment; install skills from the platform catalog");
|
|
160
261
|
}
|
|
161
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* The deployment setting `orgMarketplaceBrowse`, read live from PG (in the caller's transaction
|
|
265
|
+
* when there is one); missing or invalid -> the default, true.
|
|
266
|
+
*/
|
|
267
|
+
export async function readOrgMarketplaceBrowse(db) {
|
|
268
|
+
const row = await db
|
|
269
|
+
.selectFrom("deployment_settings")
|
|
270
|
+
.select("value")
|
|
271
|
+
.where("key", "=", "orgMarketplaceBrowse")
|
|
272
|
+
.executeTakeFirst();
|
|
273
|
+
if (!row)
|
|
274
|
+
return true;
|
|
275
|
+
const parsed = z.boolean().safeParse(row.value);
|
|
276
|
+
return parsed.success ? parsed.data : true;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* The platform default theme setting, read live from PG (in the caller's transaction when there is
|
|
280
|
+
* one) and parsed with {@link UiThemeSetting}: missing or invalid -> `{ id: null }`. `lock`: the
|
|
281
|
+
* row is read FOR SHARE, so a concurrent write of the setting (which holds it FOR UPDATE) waits for
|
|
282
|
+
* the caller's transaction, and the reverse.
|
|
283
|
+
*/
|
|
284
|
+
export async function readUiTheme(db, opts = {}) {
|
|
285
|
+
let q = db.selectFrom("deployment_settings").select("value").where("key", "=", UI_THEME_SETTING);
|
|
286
|
+
if (opts.lock)
|
|
287
|
+
q = q.forShare();
|
|
288
|
+
const row = await q.executeTakeFirst();
|
|
289
|
+
const parsed = UiThemeSetting.safeParse(row?.value);
|
|
290
|
+
return parsed.success ? parsed.data : { id: null };
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Locks the `uiTheme` row FOR UPDATE in the caller's transaction, creating it as `{ id: null }`
|
|
294
|
+
* first when it is missing (migration 0094 seeds it; a test may have truncated the table), so the
|
|
295
|
+
* FOR SHARE readers always find a row to wait on.
|
|
296
|
+
*/
|
|
297
|
+
async function lockUiThemeRow(db) {
|
|
298
|
+
await db
|
|
299
|
+
.insertInto("deployment_settings")
|
|
300
|
+
.values({ key: UI_THEME_SETTING, value: JSON.stringify({ id: null }) })
|
|
301
|
+
.onConflict((oc) => oc.column("key").doNothing())
|
|
302
|
+
.execute();
|
|
303
|
+
await db
|
|
304
|
+
.selectFrom("deployment_settings")
|
|
305
|
+
.select("key")
|
|
306
|
+
.where("key", "=", UI_THEME_SETTING)
|
|
307
|
+
.forUpdate()
|
|
308
|
+
.execute();
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* The platform default arrangement of UI slots, read live (the lists apply it). An invalid
|
|
312
|
+
* stored value reads as `{}` (the same fallback {@link SettingsService.get} uses).
|
|
313
|
+
*/
|
|
314
|
+
export async function readUiArrangement(db) {
|
|
315
|
+
const row = await db
|
|
316
|
+
.selectFrom("deployment_settings")
|
|
317
|
+
.select("value")
|
|
318
|
+
.where("key", "=", "uiArrangement")
|
|
319
|
+
.executeTakeFirst();
|
|
320
|
+
const parsed = UiArrangementSchema.safeParse(row?.value);
|
|
321
|
+
return parsed.success ? parsed.data : {};
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* The client code kill switch, read live from PG on every request (in the caller's transaction when
|
|
325
|
+
* there is one; never cached: every replica sees a change at once), through
|
|
326
|
+
* {@link parseClientExtensions} (missing or invalid -> everything on; invalid also warns on `log`).
|
|
327
|
+
*/
|
|
328
|
+
export async function readClientExtensions(db, log) {
|
|
329
|
+
const row = await db
|
|
330
|
+
.selectFrom("deployment_settings")
|
|
331
|
+
.select("value")
|
|
332
|
+
.where("key", "=", CLIENT_EXTENSIONS_SETTING)
|
|
333
|
+
.executeTakeFirst();
|
|
334
|
+
return parseClientExtensions(row?.value, log);
|
|
335
|
+
}
|
|
162
336
|
/** 按组织合并覆盖:值为 null 删除该组织,其余整项替换;未列出的组织不变。 */
|
|
163
337
|
function mergeByOrg(current, patch) {
|
|
164
338
|
const merged = { ...current };
|
|
@@ -208,18 +382,20 @@ let SettingsService = class SettingsService {
|
|
|
208
382
|
}
|
|
209
383
|
return out;
|
|
210
384
|
}
|
|
211
|
-
/** Updates settings under the
|
|
212
|
-
async update(patch, actorAccountId, actorTokenId
|
|
385
|
+
/** Updates settings under the super admin lock, re-checking the actor (else `forbidden`). */
|
|
386
|
+
async update(patch, actorAccountId, actorTokenId,
|
|
387
|
+
/** Merged into the audit detail (the Platform tool's `via: "agent"`). */
|
|
388
|
+
auditDetail) {
|
|
213
389
|
const check = DEPLOYMENT_SETTINGS_PATCH.safeParse(patch);
|
|
214
390
|
if (!check.success) {
|
|
215
391
|
throw new ApiError("validation_failed", "Invalid deployment settings", check.error.issues.map((i) => ({ path: i.path.join("."), message: i.message })));
|
|
216
392
|
}
|
|
217
|
-
await this.write(check.data, actorAccountId, actorTokenId);
|
|
393
|
+
await this.write(check.data, actorAccountId, actorTokenId, auditDetail);
|
|
218
394
|
return this.get();
|
|
219
395
|
}
|
|
220
|
-
async write(patch, actorAccountId, actorTokenId) {
|
|
396
|
+
async write(patch, actorAccountId, actorTokenId, auditDetail) {
|
|
221
397
|
await this.adminLock.lockAndAuthorize(actorAccountId);
|
|
222
|
-
// The
|
|
398
|
+
// The super admin lock serializes every settings write: the current overrides are read
|
|
223
399
|
// and merged under it, so no concurrent change is lost
|
|
224
400
|
const next = {};
|
|
225
401
|
if (patch.orgCreation !== undefined)
|
|
@@ -230,9 +406,42 @@ let SettingsService = class SettingsService {
|
|
|
230
406
|
next.customConnectors = patch.customConnectors;
|
|
231
407
|
if (patch.customSkills !== undefined)
|
|
232
408
|
next.customSkills = patch.customSkills;
|
|
233
|
-
|
|
234
|
-
|
|
409
|
+
if (patch.orgMarketplaceBrowse !== undefined) {
|
|
410
|
+
next.orgMarketplaceBrowse = patch.orgMarketplaceBrowse;
|
|
411
|
+
}
|
|
412
|
+
if (patch.uiTheme !== undefined) {
|
|
413
|
+
// The one theme lock order (themes spec §7), inside the super admin lock above: the chosen
|
|
414
|
+
// theme's catalog item, then its `platform_themes` row FOR SHARE, then the `uiTheme` row FOR
|
|
415
|
+
// UPDATE, and only then the eligibility check (on in every live org). The writers that take
|
|
416
|
+
// a theme away or switch it off in an org (scope, disable, removal, the org switch and
|
|
417
|
+
// uninstall) hold the item or theme row before they read `uiTheme` FOR SHARE, so they and
|
|
418
|
+
// this write wait for each other in the same order and never deadlock.
|
|
419
|
+
if (patch.uiTheme.id !== null)
|
|
420
|
+
await lockThemeShared(this.db.db, patch.uiTheme.id);
|
|
421
|
+
await lockUiThemeRow(this.db.db);
|
|
422
|
+
if (patch.uiTheme.id !== null) {
|
|
423
|
+
await assertPlatformDefaultEligible(this.db.db, patch.uiTheme.id);
|
|
424
|
+
}
|
|
425
|
+
next.uiTheme = { id: patch.uiTheme.id };
|
|
426
|
+
}
|
|
427
|
+
const { runConcurrencyOverrides: runPatch, sandboxLimitOverrides: sandboxPatch, subagentLimitOverrides: subagentPatch, uiArrangement: arrangementPatch, clientExtensions: clientPatch, } = patch;
|
|
428
|
+
if (runPatch !== undefined ||
|
|
429
|
+
sandboxPatch !== undefined ||
|
|
430
|
+
subagentPatch !== undefined ||
|
|
431
|
+
arrangementPatch !== undefined ||
|
|
432
|
+
clientPatch !== undefined) {
|
|
235
433
|
const current = await this.get();
|
|
434
|
+
if (clientPatch !== undefined) {
|
|
435
|
+
next.clientExtensions = {
|
|
436
|
+
enabled: clientPatch.enabled ?? current.clientExtensions.enabled,
|
|
437
|
+
disabled: clientPatch.disabled === undefined
|
|
438
|
+
? current.clientExtensions.disabled
|
|
439
|
+
: [...new Set(clientPatch.disabled)].sort(),
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
if (arrangementPatch !== undefined) {
|
|
443
|
+
next.uiArrangement = mergeArrangement(current.uiArrangement, arrangementPatch);
|
|
444
|
+
}
|
|
236
445
|
if (runPatch !== undefined) {
|
|
237
446
|
next.runConcurrencyOverrides = mergeByOrg(current.runConcurrencyOverrides, runPatch);
|
|
238
447
|
}
|
|
@@ -259,7 +468,7 @@ let SettingsService = class SettingsService {
|
|
|
259
468
|
actorAccountId,
|
|
260
469
|
...(actorTokenId !== undefined && { actorTokenId }),
|
|
261
470
|
action: "deployment.settings.updated",
|
|
262
|
-
detail: patch,
|
|
471
|
+
detail: { ...patch, ...auditDetail },
|
|
263
472
|
});
|
|
264
473
|
}
|
|
265
474
|
};
|
|
@@ -270,7 +479,7 @@ SettingsService = __decorate([
|
|
|
270
479
|
Injectable(),
|
|
271
480
|
__param(0, Inject(KernelDb)),
|
|
272
481
|
__param(1, Inject(TransactionHost)),
|
|
273
|
-
__param(2, Inject(
|
|
482
|
+
__param(2, Inject(SuperAdminLock)),
|
|
274
483
|
__param(3, Inject(KERNEL_LOGGER))
|
|
275
484
|
], SettingsService);
|
|
276
485
|
export { SettingsService };
|
|
@@ -2,19 +2,19 @@ import { KernelDb } from "../infra/database/kernel-db.js";
|
|
|
2
2
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
3
3
|
import { XactLock } from "../infra/database/xact-lock.js";
|
|
4
4
|
/**
|
|
5
|
-
* The
|
|
5
|
+
* The super admin lock, the one implementation of "lock, then re-check the actor":
|
|
6
6
|
* both methods join the caller's transaction (`mandatory`), which holds the lock until it ends.
|
|
7
7
|
*/
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class SuperAdminLock {
|
|
9
9
|
private readonly db;
|
|
10
10
|
private readonly xactLock;
|
|
11
11
|
readonly txHost: TransactionHost;
|
|
12
12
|
constructor(db: KernelDb, xactLock: XactLock, txHost: TransactionHost);
|
|
13
13
|
/** Only the lock (callers without an actor: the CLI, bootstrap). */
|
|
14
14
|
lock(): Promise<void>;
|
|
15
|
-
/** The lock, then {@link
|
|
15
|
+
/** The lock, then {@link assertActiveSuperAdmin} under it. */
|
|
16
16
|
lockAndAuthorize(actorAccountId: string): Promise<void>;
|
|
17
17
|
}
|
|
18
|
-
/** The one {@link
|
|
19
|
-
export declare class
|
|
18
|
+
/** The one {@link SuperAdminLock}: identity, models, the extensions and the catalog import it. */
|
|
19
|
+
export declare class SuperAdminLockModule {
|
|
20
20
|
}
|
|
@@ -15,32 +15,32 @@ import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
|
15
15
|
import { XactLock } from "../infra/database/xact-lock.js";
|
|
16
16
|
/**
|
|
17
17
|
* The transaction-scoped lock (`XactLock`, `pg_advisory_xact_lock`) that serializes every
|
|
18
|
-
*
|
|
18
|
+
* super admin write: revoke / disable / create an admin, deployment settings, prices,
|
|
19
19
|
* purposes, the catalog and extension admin writes, the CLI's `capybara admin grant|revoke`.
|
|
20
20
|
*/
|
|
21
|
-
const
|
|
21
|
+
const SUPER_ADMINS_LOCK = "capybara.super_admins";
|
|
22
22
|
/**
|
|
23
|
-
* The run-time re-check of
|
|
24
|
-
* {@link
|
|
23
|
+
* The run-time re-check of a super admin write (spec 3.6 R5), under
|
|
24
|
+
* {@link SUPER_ADMINS_LOCK}: the actor must still be an active super admin, else
|
|
25
25
|
* `forbidden`. The identity the auth guard read at the start of the request may be stale (another
|
|
26
26
|
* admin just revoked it), so it is re-read under the lock.
|
|
27
27
|
*/
|
|
28
|
-
async function
|
|
28
|
+
async function assertActiveSuperAdmin(db, actorAccountId) {
|
|
29
29
|
const actor = await db
|
|
30
30
|
.selectFrom("accounts")
|
|
31
31
|
.select("id")
|
|
32
32
|
.where("id", "=", actorAccountId)
|
|
33
|
-
.where("
|
|
33
|
+
.where("is_super_admin", "=", true)
|
|
34
34
|
.where("status", "=", "active")
|
|
35
35
|
.executeTakeFirst();
|
|
36
36
|
if (!actor)
|
|
37
|
-
throw new ApiError("forbidden", "
|
|
37
|
+
throw new ApiError("forbidden", "Super admin required");
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
* The
|
|
40
|
+
* The super admin lock, the one implementation of "lock, then re-check the actor":
|
|
41
41
|
* both methods join the caller's transaction (`mandatory`), which holds the lock until it ends.
|
|
42
42
|
*/
|
|
43
|
-
let
|
|
43
|
+
let SuperAdminLock = class SuperAdminLock {
|
|
44
44
|
db;
|
|
45
45
|
xactLock;
|
|
46
46
|
txHost;
|
|
@@ -51,31 +51,31 @@ let EnterpriseAdminLock = class EnterpriseAdminLock {
|
|
|
51
51
|
}
|
|
52
52
|
/** Only the lock (callers without an actor: the CLI, bootstrap). */
|
|
53
53
|
async lock() {
|
|
54
|
-
await this.xactLock.lock(
|
|
54
|
+
await this.xactLock.lock(SUPER_ADMINS_LOCK);
|
|
55
55
|
}
|
|
56
|
-
/** The lock, then {@link
|
|
56
|
+
/** The lock, then {@link assertActiveSuperAdmin} under it. */
|
|
57
57
|
async lockAndAuthorize(actorAccountId) {
|
|
58
|
-
await this.xactLock.lock(
|
|
59
|
-
await
|
|
58
|
+
await this.xactLock.lock(SUPER_ADMINS_LOCK);
|
|
59
|
+
await assertActiveSuperAdmin(this.db.db, actorAccountId);
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
62
|
__decorate([
|
|
63
63
|
Transactional({ propagation: "mandatory" })
|
|
64
|
-
],
|
|
64
|
+
], SuperAdminLock.prototype, "lock", null);
|
|
65
65
|
__decorate([
|
|
66
66
|
Transactional({ propagation: "mandatory" })
|
|
67
|
-
],
|
|
68
|
-
|
|
67
|
+
], SuperAdminLock.prototype, "lockAndAuthorize", null);
|
|
68
|
+
SuperAdminLock = __decorate([
|
|
69
69
|
Injectable(),
|
|
70
70
|
__param(0, Inject(KernelDb)),
|
|
71
71
|
__param(1, Inject(XactLock)),
|
|
72
72
|
__param(2, Inject(TransactionHost))
|
|
73
|
-
],
|
|
74
|
-
export {
|
|
75
|
-
/** The one {@link
|
|
76
|
-
let
|
|
73
|
+
], SuperAdminLock);
|
|
74
|
+
export { SuperAdminLock };
|
|
75
|
+
/** The one {@link SuperAdminLock}: identity, models, the extensions and the catalog import it. */
|
|
76
|
+
let SuperAdminLockModule = class SuperAdminLockModule {
|
|
77
77
|
};
|
|
78
|
-
|
|
79
|
-
Module({ providers: [
|
|
80
|
-
],
|
|
81
|
-
export {
|
|
78
|
+
SuperAdminLockModule = __decorate([
|
|
79
|
+
Module({ providers: [SuperAdminLock], exports: [SuperAdminLock] })
|
|
80
|
+
], SuperAdminLockModule);
|
|
81
|
+
export { SuperAdminLockModule };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Principal } from "./principal.js";
|
|
2
|
+
/**
|
|
3
|
+
* Who performs a write on the platform's behalf (a super admin acting on an org they need not be
|
|
4
|
+
* a member of): the account and, for a write made with a personal access token, the token id.
|
|
5
|
+
*/
|
|
6
|
+
export interface WriteActor {
|
|
7
|
+
accountId: string;
|
|
8
|
+
tokenId?: string;
|
|
9
|
+
}
|
|
10
|
+
/** The writer of a request: its user and, for a personal access token, the token id. */
|
|
11
|
+
export declare function writeActorOf(principal: Principal): WriteActor;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { patTokenId, requireUser } from "./principal.js";
|
|
2
|
+
/** The writer of a request: its user and, for a personal access token, the token id. */
|
|
3
|
+
export function writeActorOf(principal) {
|
|
4
|
+
const user = requireUser(principal);
|
|
5
|
+
const tokenId = patTokenId(user);
|
|
6
|
+
return { accountId: user.account.id, ...(tokenId !== undefined && { tokenId }) };
|
|
7
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* The inboxes, read live from PG: an org member's (pending tool approvals, skill changes, catalog
|
|
3
|
+
* requests, org notices) and the super admin's (`PlatformInboxService`).
|
|
4
|
+
*/
|
|
2
5
|
export declare class InboxModule {
|
|
3
6
|
}
|
|
@@ -9,14 +9,18 @@ import { CatalogModule } from "../catalog/catalog.module.js";
|
|
|
9
9
|
import { SkillsModule } from "../skills/skills.module.js";
|
|
10
10
|
import { ToolsModule } from "../tools/tools.module.js";
|
|
11
11
|
import { InboxService } from "./inbox.service.js";
|
|
12
|
-
|
|
12
|
+
import { PlatformInboxService } from "./platform-inbox.service.js";
|
|
13
|
+
/**
|
|
14
|
+
* The inboxes, read live from PG: an org member's (pending tool approvals, skill changes, catalog
|
|
15
|
+
* requests, org notices) and the super admin's (`PlatformInboxService`).
|
|
16
|
+
*/
|
|
13
17
|
let InboxModule = class InboxModule {
|
|
14
18
|
};
|
|
15
19
|
InboxModule = __decorate([
|
|
16
20
|
Module({
|
|
17
21
|
imports: [ToolsModule, SkillsModule, CatalogModule],
|
|
18
|
-
providers: [InboxService],
|
|
19
|
-
exports: [InboxService],
|
|
22
|
+
providers: [InboxService, PlatformInboxService],
|
|
23
|
+
exports: [InboxService, PlatformInboxService],
|
|
20
24
|
})
|
|
21
25
|
], InboxModule);
|
|
22
26
|
export { InboxModule };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RouteSchemas } from "../platform/route-schemas.js";
|
|
3
|
+
/** `:id` of a notice dismissal (the org's and the platform's inbox). */
|
|
4
|
+
export declare const InboxNoticeParams: z.ZodObject<{
|
|
5
|
+
id: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
/** The inbox routes (the org's and the super admin's) the Platform inbox operations mirror. */
|
|
8
|
+
export declare const INBOX_ROUTES: readonly RouteSchemas[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** `:id` of a notice dismissal (the org's and the platform's inbox). */
|
|
3
|
+
export const InboxNoticeParams = z.object({ id: z.string().min(1).max(100) });
|
|
4
|
+
/** The inbox routes (the org's and the super admin's) the Platform inbox operations mirror. */
|
|
5
|
+
export const INBOX_ROUTES = [
|
|
6
|
+
{ route: "GET /api/v1/orgs/:orgId/inbox" },
|
|
7
|
+
{ route: "POST /api/v1/orgs/:orgId/inbox/notices/:id/dismiss", params: InboxNoticeParams },
|
|
8
|
+
{ route: "GET /api/v1/admin/inbox" },
|
|
9
|
+
{ route: "GET /api/v1/admin/inbox/count" },
|
|
10
|
+
{ route: "POST /api/v1/admin/inbox/notices/:id/dismiss", params: InboxNoticeParams },
|
|
11
|
+
];
|
|
@@ -1,14 +1,53 @@
|
|
|
1
1
|
import { CatalogRequestsService, type CatalogRequestView } from "../catalog/requests.service.js";
|
|
2
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
2
3
|
import { SkillChangesService, type SkillChangeView } from "../skills/changes.service.js";
|
|
3
4
|
import { ApprovalsService, type ApprovalView } from "../tools/approvals.service.js";
|
|
5
|
+
import type { OrgNoticeDetails } from "./org-notices.js";
|
|
6
|
+
/** The most open org notices one inbox read returns. */
|
|
7
|
+
export declare const ORG_NOTICES_LIST_MAX = 100;
|
|
8
|
+
/** The skill the platform components migration renamed (`skill_renamed`). */
|
|
9
|
+
export interface SkillRenamedDetail {
|
|
10
|
+
skillId: string;
|
|
11
|
+
from: string;
|
|
12
|
+
to: string;
|
|
13
|
+
platformSkillId: string;
|
|
14
|
+
plugin: string | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A notice for the org's admins (`org_notices`), shown until one of them dismisses it; `kind`
|
|
18
|
+
* picks the detail field that is set:
|
|
19
|
+
* - `skill_renamed` (`skillRenamed`): the platform components migration renamed an org skill whose
|
|
20
|
+
* name a platform skill on in the org has; agents keep it, by id;
|
|
21
|
+
* - `item_shared`, `shared_item_updated`, `upload_confirmed`, `upload_rejected` (`detail`): the
|
|
22
|
+
* shapes of {@link OrgNoticeDetails} (plugin scope phase 3, P3-22).
|
|
23
|
+
*/
|
|
24
|
+
export type OrgNoticeView = {
|
|
25
|
+
id: string;
|
|
26
|
+
createdAt: string;
|
|
27
|
+
} & ({
|
|
28
|
+
kind: "skill_renamed";
|
|
29
|
+
skillRenamed: SkillRenamedDetail;
|
|
30
|
+
} | {
|
|
31
|
+
[K in keyof OrgNoticeDetails]: {
|
|
32
|
+
kind: K;
|
|
33
|
+
detail: OrgNoticeDetails[K];
|
|
34
|
+
};
|
|
35
|
+
}[keyof OrgNoticeDetails]);
|
|
4
36
|
/** 收件箱一次最多返回的事项数。 */
|
|
5
37
|
export declare const INBOX_MAX_ITEMS = 100;
|
|
6
38
|
/**
|
|
7
39
|
* 收件箱里的一项(按 `type` 区分,形状稳定):
|
|
8
40
|
* - `tool_approval`:当前用户能处理的待处理工具调用审批(与 `GET /approvals?status=pending` 同一视图);
|
|
9
|
-
* - `skill_change
|
|
10
|
-
*
|
|
11
|
-
*
|
|
41
|
+
* - `skill_change`: pending skill share requests and proposed versions of shared skills, when the
|
|
42
|
+
* current user is an org admin (`skillChange.kind`; spec §5.4, §5.5);
|
|
43
|
+
* - `catalog_request`: pending `enable` requests from members and pending `connector_setup`
|
|
44
|
+
* requests (`request.kind`; `request.agent` and `request.connectors` set, `item` null; ruling
|
|
45
|
+
* P4-T6-5), when the current user is an org admin (M6 T26, C22; plugin scope spec §5.1);
|
|
46
|
+
* - `catalog_request_decided`: the current user's own requests in this org that were approved or
|
|
47
|
+
* rejected (with the reason), until dismissed (`POST catalog-requests/:id/dismiss`);
|
|
48
|
+
* - the org notices (`skill_renamed`, `item_shared`, `shared_item_updated`, `upload_confirmed`,
|
|
49
|
+
* `upload_rejected`; `type` = the notice's kind): for org admins, until one dismisses it
|
|
50
|
+
* (`POST inbox/notices/:id/dismiss`).
|
|
12
51
|
*/
|
|
13
52
|
export type InboxItem = {
|
|
14
53
|
type: "tool_approval";
|
|
@@ -25,6 +64,17 @@ export type InboxItem = {
|
|
|
25
64
|
id: string;
|
|
26
65
|
createdAt: string;
|
|
27
66
|
request: CatalogRequestView;
|
|
67
|
+
} | {
|
|
68
|
+
type: "catalog_request_decided";
|
|
69
|
+
id: string;
|
|
70
|
+
/** When it was decided. */
|
|
71
|
+
createdAt: string;
|
|
72
|
+
request: CatalogRequestView;
|
|
73
|
+
} | {
|
|
74
|
+
type: OrgNoticeView["kind"];
|
|
75
|
+
id: string;
|
|
76
|
+
createdAt: string;
|
|
77
|
+
notice: OrgNoticeView;
|
|
28
78
|
};
|
|
29
79
|
/** `GET /inbox` 的结果:新的在前,最多 {@link INBOX_MAX_ITEMS} 项;`truncated` 为 true 表示还有更多。 */
|
|
30
80
|
export interface InboxView {
|
|
@@ -35,7 +85,17 @@ export interface InboxView {
|
|
|
35
85
|
export declare class InboxService {
|
|
36
86
|
private readonly approvals;
|
|
37
87
|
private readonly skillChanges;
|
|
88
|
+
private readonly kdb;
|
|
38
89
|
private readonly catalogRequests;
|
|
39
|
-
constructor(approvals: Pick<ApprovalsService, "list">, skillChanges: Pick<SkillChangesService, "listPending">, catalogRequests: Pick<CatalogRequestsService, "listForOrgAdmin">);
|
|
90
|
+
constructor(approvals: Pick<ApprovalsService, "list">, skillChanges: Pick<SkillChangesService, "listPending">, kdb: KernelDb, catalogRequests: Pick<CatalogRequestsService, "listForOrgAdmin" | "listDecidedForRequester">);
|
|
40
91
|
list(orgId: string, accountId: string): Promise<InboxView>;
|
|
92
|
+
/** The org's open notices when the account is an org admin (else none), newest first. */
|
|
93
|
+
private notices;
|
|
94
|
+
/**
|
|
95
|
+
* An org admin dismisses an open notice (`POST /orgs/:orgId/inbox/notices/:id/dismiss`); for
|
|
96
|
+
* every admin of the org. Not an admin, or no open notice of the org with that id ->
|
|
97
|
+
* `inbox.notice_not_found`.
|
|
98
|
+
*/
|
|
99
|
+
dismissNotice(orgId: string, accountId: string, id: string): Promise<void>;
|
|
100
|
+
private isAdmin;
|
|
41
101
|
}
|