@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.21
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 +94 -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 +85 -10
- package/dist/extensions/bootstrap.js +215 -36
- 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 +9 -3
- package/dist/lifecycle/kernel-lifecycle.js +51 -11
- 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
|
@@ -10,7 +10,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
10
10
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
11
11
|
import { Inject, Injectable } from "@nestjs/common";
|
|
12
12
|
import { sql } from "kysely";
|
|
13
|
-
import {
|
|
13
|
+
import { OwnedItems } from "../catalog/owned-items.js";
|
|
14
|
+
import { cancelPendingRequests } from "../catalog/request-rules.js";
|
|
15
|
+
import { PluginScopeSync } from "../catalog/scope-sync.js";
|
|
14
16
|
import { ApiError } from "../errors.js";
|
|
15
17
|
import { EvalBudget } from "../evals/budget.js";
|
|
16
18
|
import { ApiTokenService } from "../identity/api-tokens.js";
|
|
@@ -70,8 +72,8 @@ async function slugGuard(p) {
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
73
|
-
* Organizations: create, read, update and soft delete. A
|
|
74
|
-
* {@link KernelEvents} after the commit.
|
|
75
|
+
* Organizations: create, read, update and soft delete. A new org's plugin scope sync is enqueued
|
|
76
|
+
* after the commit; a soft delete emits `org.deleted` on {@link KernelEvents} after the commit.
|
|
75
77
|
*/
|
|
76
78
|
let OrgsService = class OrgsService {
|
|
77
79
|
db;
|
|
@@ -81,9 +83,15 @@ let OrgsService = class OrgsService {
|
|
|
81
83
|
orgLock;
|
|
82
84
|
events;
|
|
83
85
|
evalBudget;
|
|
86
|
+
scopeSync;
|
|
87
|
+
ownedItems;
|
|
84
88
|
constructor(db, txHost, settings, apiTokens, orgLock, events,
|
|
85
89
|
/** Cancels the deleted org's running eval runs (in the delete's transaction). */
|
|
86
|
-
evalBudget
|
|
90
|
+
evalBudget,
|
|
91
|
+
/** A new org gets the plugins its scope offers it (the scope sync, after the commit). */
|
|
92
|
+
scopeSync,
|
|
93
|
+
/** What the deleted org owns is transferred or removed in the delete's transaction (P3-20). */
|
|
94
|
+
ownedItems) {
|
|
87
95
|
this.db = db;
|
|
88
96
|
this.txHost = txHost;
|
|
89
97
|
this.settings = settings;
|
|
@@ -91,6 +99,8 @@ let OrgsService = class OrgsService {
|
|
|
91
99
|
this.orgLock = orgLock;
|
|
92
100
|
this.events = events;
|
|
93
101
|
this.evalBudget = evalBudget;
|
|
102
|
+
this.scopeSync = scopeSync;
|
|
103
|
+
this.ownedItems = ownedItems;
|
|
94
104
|
}
|
|
95
105
|
/**
|
|
96
106
|
* Creates an org with the actor as owner, in the caller's transaction when there is one (the
|
|
@@ -104,8 +114,8 @@ let OrgsService = class OrgsService {
|
|
|
104
114
|
// read in the context's transaction: a caller holding a connection asking the pool for a
|
|
105
115
|
// second one could exhaust it under load
|
|
106
116
|
const { orgCreation } = await this.settings.get();
|
|
107
|
-
if (orgCreation === "
|
|
108
|
-
throw new ApiError("org.creation_disabled", "Only
|
|
117
|
+
if (orgCreation === "super_admin" && !actor.isSuperAdmin) {
|
|
118
|
+
throw new ApiError("org.creation_disabled", "Only super admins can create organizations");
|
|
109
119
|
}
|
|
110
120
|
const name = checkName(input.name);
|
|
111
121
|
const slug = input.slug ?? slugFromName(name);
|
|
@@ -127,6 +137,7 @@ let OrgsService = class OrgsService {
|
|
|
127
137
|
target: row.id,
|
|
128
138
|
detail: { slug, name },
|
|
129
139
|
});
|
|
140
|
+
afterCommit(() => this.scopeSync.enqueueOrg(row.id));
|
|
130
141
|
return toOrg(row);
|
|
131
142
|
}
|
|
132
143
|
/** 账号所属的(未软删除的)组织及其角色,按创建时间升序。 */
|
|
@@ -142,7 +153,7 @@ let OrgsService = class OrgsService {
|
|
|
142
153
|
.execute();
|
|
143
154
|
return rows.map((r) => ({ ...toOrg(r), role: r.role }));
|
|
144
155
|
}
|
|
145
|
-
/**
|
|
156
|
+
/** 全部(未软删除的)组织及成员数(超级管理员用)。 */
|
|
146
157
|
async listAll() {
|
|
147
158
|
const rows = await this.db
|
|
148
159
|
.selectFrom("orgs")
|
|
@@ -167,7 +178,9 @@ let OrgsService = class OrgsService {
|
|
|
167
178
|
return row && toOrg(row);
|
|
168
179
|
}
|
|
169
180
|
/** Renames / re-slugs (needs admin, decided live under the org lock). */
|
|
170
|
-
async update(orgId, patch, actor, actorTokenId
|
|
181
|
+
async update(orgId, patch, actor, actorTokenId,
|
|
182
|
+
/** Merged into the audit detail (the Platform tool's `via: "agent"`). */
|
|
183
|
+
auditDetail) {
|
|
171
184
|
const values = {};
|
|
172
185
|
if (patch.name !== undefined)
|
|
173
186
|
values.name = checkName(patch.name);
|
|
@@ -175,9 +188,9 @@ let OrgsService = class OrgsService {
|
|
|
175
188
|
checkSlug(patch.slug);
|
|
176
189
|
values.slug = patch.slug;
|
|
177
190
|
}
|
|
178
|
-
return slugGuard(this.updateIn(orgId, values, actor, actorTokenId));
|
|
191
|
+
return slugGuard(this.updateIn(orgId, values, actor, actorTokenId, auditDetail));
|
|
179
192
|
}
|
|
180
|
-
async updateIn(orgId, values, actor, actorTokenId) {
|
|
193
|
+
async updateIn(orgId, values, actor, actorTokenId, auditDetail) {
|
|
181
194
|
const { org: before } = await this.orgLock.lockAndAuthorize(orgId, actor.id, "org.update");
|
|
182
195
|
if (Object.keys(values).length === 0) {
|
|
183
196
|
const row = await this.db
|
|
@@ -199,15 +212,18 @@ let OrgsService = class OrgsService {
|
|
|
199
212
|
orgId,
|
|
200
213
|
action: "org.updated",
|
|
201
214
|
target: orgId,
|
|
202
|
-
detail: { before, after: values },
|
|
215
|
+
detail: { before, after: values, ...auditDetail },
|
|
203
216
|
});
|
|
204
217
|
return toOrg(row);
|
|
205
218
|
}
|
|
206
219
|
/**
|
|
207
220
|
* Soft delete (needs owner, decided live under the org lock): in the same transaction revokes
|
|
208
|
-
* the org's service tokens, cancels its running eval runs and pending catalog requests,
|
|
209
|
-
*
|
|
210
|
-
*
|
|
221
|
+
* the org's service tokens, cancels its running eval runs and pending catalog requests, clears
|
|
222
|
+
* sessions' current org pointing at it, and transfers or removes the plugins and promoted
|
|
223
|
+
* components it owns ({@link OwnedItems.onOrgDeleted}, P3-20: shared ones become the platform's,
|
|
224
|
+
* the others are removed, a removed plugin's extension taken out by its cleanup job after the
|
|
225
|
+
* commit); after the commit emits `org.deleted` (channel connections go with the org: the
|
|
226
|
+
* runtime's connection reads filter deleted orgs).
|
|
211
227
|
*/
|
|
212
228
|
async softDelete(orgId, actor, actorTokenId) {
|
|
213
229
|
await this.softDeleteIn(orgId, actor, actorTokenId);
|
|
@@ -219,10 +235,14 @@ let OrgsService = class OrgsService {
|
|
|
219
235
|
.set({ deleted_at: sql `now()` })
|
|
220
236
|
.where("id", "=", orgId)
|
|
221
237
|
.execute();
|
|
238
|
+
// after the org is marked deleted, so it counts as no user of what it shared (P3-18)
|
|
239
|
+
await this.ownedItems.onOrgDeleted(orgId, actor.id, {
|
|
240
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
241
|
+
});
|
|
222
242
|
await this.apiTokens.revokeAllForOrg(orgId);
|
|
223
243
|
// eval runs of a deleted org stop spending: cancelled explicitly (audited with the reason)
|
|
224
244
|
await this.evalBudget.cancelRuns({ orgId }, { accountId: actor.id, ...(actorTokenId !== undefined && { tokenId: actorTokenId }) }, "org_deleted");
|
|
225
|
-
// pending catalog requests (including those passed to
|
|
245
|
+
// pending catalog requests (including those passed to super admins) are cancelled too
|
|
226
246
|
await cancelPendingRequests(this.db.db, { orgId }, actor.id, "org_deleted", actorTokenId !== undefined ? { actorTokenId } : {});
|
|
227
247
|
await this.db
|
|
228
248
|
.updateTable("sessions")
|
|
@@ -257,6 +277,8 @@ OrgsService = __decorate([
|
|
|
257
277
|
__param(3, Inject(ApiTokenService)),
|
|
258
278
|
__param(4, Inject(OrgLock)),
|
|
259
279
|
__param(5, Inject(KernelEvents)),
|
|
260
|
-
__param(6, Inject(EvalBudget))
|
|
280
|
+
__param(6, Inject(EvalBudget)),
|
|
281
|
+
__param(7, Inject(PluginScopeSync)),
|
|
282
|
+
__param(8, Inject(OwnedItems))
|
|
261
283
|
], OrgsService);
|
|
262
284
|
export { OrgsService };
|
package/dist/orgs/roles.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type OrgRole = (typeof ORG_ROLES)[number];
|
|
|
4
4
|
/** `role` 是否不低于 `min`。 */
|
|
5
5
|
export declare function roleAtLeast(role: OrgRole, min: OrgRole): boolean;
|
|
6
6
|
/** 组织级动作;路由用 `@OrgAction(action)` 声明所需动作。 */
|
|
7
|
-
export type OrgAction = "org.read" | "org.update" | "org.delete" | "org.transfer" | "org.members.read" | "org.members.manage" | "org.invitations.manage" | "org.tokens.manage" | "org.extensions.manage" | "agents.create" | "agents.use" | "agents.manage" | "connectors.manage" | "connectors.use" | "approvals.decide" | "channels.manage" | "skills.read" | "skills.manage" | "ui.use" | "trajectories.read" | "evals.manage" | "org.models.manage" | "catalog.read" | "catalog.request" | "catalog.decide";
|
|
7
|
+
export type OrgAction = "org.read" | "org.update" | "org.delete" | "org.transfer" | "org.members.read" | "org.members.manage" | "org.invitations.manage" | "org.tokens.manage" | "org.extensions.read" | "org.extensions.manage" | "agents.create" | "agents.use" | "agents.manage" | "connectors.manage" | "connectors.use" | "approvals.decide" | "channels.manage" | "skills.read" | "skills.manage" | "ui.use" | "trajectories.read" | "evals.manage" | "org.models.manage" | "catalog.read" | "catalog.request" | "catalog.decide" | "catalog.upload";
|
|
8
8
|
/** 每个动作所需的最低角色。 */
|
|
9
9
|
export declare const ACTION_MIN_ROLE: Record<OrgAction, OrgRole>;
|
|
10
10
|
/** 只允许 user principal 执行的动作:服务令牌即使角色足够也拒绝(除 SERVICE_ALLOWED 外全部)。 */
|
package/dist/orgs/roles.js
CHANGED
|
@@ -12,6 +12,8 @@ export const ACTION_MIN_ROLE = {
|
|
|
12
12
|
"org.members.manage": "admin",
|
|
13
13
|
"org.invitations.manage": "admin",
|
|
14
14
|
"org.tokens.manage": "admin",
|
|
15
|
+
// the 扩展 page for members: state only, no config / secrets / schema (the list projects by role)
|
|
16
|
+
"org.extensions.read": "member",
|
|
15
17
|
"org.extensions.manage": "admin",
|
|
16
18
|
"org.delete": "owner",
|
|
17
19
|
"org.transfer": "owner",
|
|
@@ -38,11 +40,13 @@ export const ACTION_MIN_ROLE = {
|
|
|
38
40
|
"evals.manage": "admin",
|
|
39
41
|
// 本组织的模型用途映射(覆盖部署默认,如评委用途 eval)
|
|
40
42
|
"org.models.manage": "admin",
|
|
41
|
-
//
|
|
43
|
+
// 平台目录(组织视角):成员浏览(看不到 disabled)与申请;组织管理员决定成员申请(F-AF)。
|
|
42
44
|
// 安装另按条目种类要求 skills.manage / connectors.manage / org.extensions.manage(服务里在组织行锁内复核)
|
|
43
45
|
"catalog.read": "member",
|
|
44
46
|
"catalog.request": "member",
|
|
45
47
|
"catalog.decide": "admin",
|
|
48
|
+
// An org admin uploads a plugin package the org owns (spec §14.1 item 1, ruling P3-7)
|
|
49
|
+
"catalog.upload": "admin",
|
|
46
50
|
};
|
|
47
51
|
/** 服务令牌也可执行的动作:只读的 org.read、org.members.read,以及使用 agent 的 agents.use。 */
|
|
48
52
|
const SERVICE_ALLOWED = new Set([
|
|
@@ -4,7 +4,7 @@ import { type OrgSandboxLimits, type OrgSettings, type OrgSettingsDeployment, ty
|
|
|
4
4
|
/**
|
|
5
5
|
* 组织设置(`/api/v1/orgs/:orgId/settings`):成员可读,修改需 `org.update`(admin)。
|
|
6
6
|
* 响应带 `deployment`(部署默认值,如沙箱出站),设置页据此展示「跟随部署」时的实际取值;
|
|
7
|
-
* 以及只读的 `sandboxLimits`(组织实际生效的沙箱 cpu /
|
|
7
|
+
* 以及只读的 `sandboxLimits`(组织实际生效的沙箱 cpu / 内存与来源,超级管理员在部署设置里覆盖,C19)。
|
|
8
8
|
*/
|
|
9
9
|
type SettingsResponse = {
|
|
10
10
|
settings: OrgSettings;
|
|
@@ -8,12 +8,21 @@ import { OrgLock } from "./org-lock.js";
|
|
|
8
8
|
/**
|
|
9
9
|
* 组织设置(`capybara.orgs.settings` jsonb)。读取宽松:缺失或非法的字段按默认值,未知键保留不动
|
|
10
10
|
* (更新时与存量合并),新版本加字段不需要迁移。
|
|
11
|
-
* - `toolSearch`:工具超过阈值时是否改用目录 + `
|
|
11
|
+
* - `toolSearch`:工具超过阈值时是否改用目录 + `ToolSearch`(D11,默认 on)。
|
|
12
12
|
* - `locale`:组织默认语言(`zh` / `en`,默认 en),机器人在 IM 里说的固定话术按它选择。
|
|
13
13
|
* - `sandboxToolPolicy`:沙箱工具的默认策略(M5 T8,默认 allow)。为 `ask` 时除只读的
|
|
14
|
-
* `
|
|
14
|
+
* `Read` / `Glob` / `Grep` 外都需要审批(执行时实时读取)。
|
|
15
|
+
* - `wakeOnBackgroundTask`:组织对 `runtime.wakeOnBackgroundTask` 的覆盖(缺省跟随部署),见 {@link effectiveWakeOnBackgroundTask}。
|
|
15
16
|
* - `sandboxEgress`:组织的沙箱出站(Ruling M19 / D6),缺省跟随部署的 `sandbox.limits.egress` + `allowHosts`。
|
|
16
17
|
* 见 {@link effectiveSandboxEgress}。存量值非法时按 `none` 读(宁可断网,不悄悄放宽到部署默认)。
|
|
18
|
+
* - `platformTool`: the `Platform` builtin for the whole org (Platform tool spec §3): `on`,
|
|
19
|
+
* `read-only` (writes listed as unavailable) or `off` (default `on`).
|
|
20
|
+
* - `timeZone`: the org's default time zone (IANA; absent = UTC) for senders without one of their
|
|
21
|
+
* own (run context spec §3.3); an invalid stored value reads as absent.
|
|
22
|
+
* - `theme`: the org's default theme and whether members may pick their own (themes spec §7);
|
|
23
|
+
* absent (or an invalid stored value) = follow the platform, personal picks allowed.
|
|
24
|
+
* - `uiArrangement`: per slot, the extension contributions the org hides and their order (UI slots
|
|
25
|
+
* spec §5); a slot with no entry follows the platform's; an invalid stored value reads as absent.
|
|
17
26
|
*/
|
|
18
27
|
/** 组织沙箱出站白名单的主机数上限。 */
|
|
19
28
|
export declare const ORG_SANDBOX_ALLOW_HOSTS_MAX = 200;
|
|
@@ -29,6 +38,21 @@ export declare const SandboxEgressSettingSchema: z.ZodObject<{
|
|
|
29
38
|
allowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
30
39
|
}, z.core.$strict>;
|
|
31
40
|
export type SandboxEgressSetting = z.infer<typeof SandboxEgressSettingSchema>;
|
|
41
|
+
/**
|
|
42
|
+
* The org's theme setting (themes spec §7): `id` a theme on in the org (a `platform_themes` id),
|
|
43
|
+
* null = follow the platform's default; `personal: "locked"` hides the personal picker in the org
|
|
44
|
+
* and resolution ignores personal picks there.
|
|
45
|
+
*/
|
|
46
|
+
export declare const OrgThemeSettingSchema: z.ZodObject<{
|
|
47
|
+
id: z.ZodNullable<z.ZodString>;
|
|
48
|
+
personal: z.ZodEnum<{
|
|
49
|
+
allowed: "allowed";
|
|
50
|
+
locked: "locked";
|
|
51
|
+
}>;
|
|
52
|
+
}, z.core.$strict>;
|
|
53
|
+
export type OrgThemeSetting = z.infer<typeof OrgThemeSettingSchema>;
|
|
54
|
+
/** The theme setting of an org that has none: follow the platform, personal picks allowed. */
|
|
55
|
+
export declare const DEFAULT_ORG_THEME: OrgThemeSetting;
|
|
32
56
|
export declare const OrgSettingsSchema: z.ZodObject<{
|
|
33
57
|
toolSearch: z.ZodCatch<z.ZodDefault<z.ZodEnum<{
|
|
34
58
|
off: "off";
|
|
@@ -42,6 +66,11 @@ export declare const OrgSettingsSchema: z.ZodObject<{
|
|
|
42
66
|
allow: "allow";
|
|
43
67
|
ask: "ask";
|
|
44
68
|
}>>>;
|
|
69
|
+
platformTool: z.ZodCatch<z.ZodDefault<z.ZodEnum<{
|
|
70
|
+
off: "off";
|
|
71
|
+
on: "on";
|
|
72
|
+
"read-only": "read-only";
|
|
73
|
+
}>>>;
|
|
45
74
|
sandboxEgress: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
|
46
75
|
mode: z.ZodEnum<{
|
|
47
76
|
allowlist: "allowlist";
|
|
@@ -49,6 +78,16 @@ export declare const OrgSettingsSchema: z.ZodObject<{
|
|
|
49
78
|
}>;
|
|
50
79
|
allowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
51
80
|
}, z.core.$strict>>>;
|
|
81
|
+
wakeOnBackgroundTask: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
|
|
82
|
+
timeZone: z.ZodCatch<z.ZodOptional<z.ZodString>>;
|
|
83
|
+
theme: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
|
84
|
+
id: z.ZodNullable<z.ZodString>;
|
|
85
|
+
personal: z.ZodEnum<{
|
|
86
|
+
allowed: "allowed";
|
|
87
|
+
locked: "locked";
|
|
88
|
+
}>;
|
|
89
|
+
}, z.core.$strict>>>;
|
|
90
|
+
uiArrangement: z.ZodCatch<z.ZodOptional<z.ZodType<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry>>, unknown, z.core.$ZodTypeInternals<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry>>, unknown>>>>;
|
|
52
91
|
}, z.core.$strip>;
|
|
53
92
|
export type OrgSettings = z.infer<typeof OrgSettingsSchema>;
|
|
54
93
|
/** PATCH 体:只改给出的字段;未知字段 → 400。 */
|
|
@@ -65,6 +104,12 @@ export declare const OrgSettingsPatchSchema: z.ZodObject<{
|
|
|
65
104
|
allow: "allow";
|
|
66
105
|
ask: "ask";
|
|
67
106
|
}>>;
|
|
107
|
+
platformTool: z.ZodOptional<z.ZodEnum<{
|
|
108
|
+
off: "off";
|
|
109
|
+
on: "on";
|
|
110
|
+
"read-only": "read-only";
|
|
111
|
+
}>>;
|
|
112
|
+
wakeOnBackgroundTask: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
68
113
|
sandboxEgress: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
69
114
|
mode: z.ZodEnum<{
|
|
70
115
|
allowlist: "allowlist";
|
|
@@ -72,6 +117,15 @@ export declare const OrgSettingsPatchSchema: z.ZodObject<{
|
|
|
72
117
|
}>;
|
|
73
118
|
allowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
119
|
}, z.core.$strict>>>;
|
|
120
|
+
timeZone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
121
|
+
theme: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
122
|
+
id: z.ZodNullable<z.ZodString>;
|
|
123
|
+
personal: z.ZodEnum<{
|
|
124
|
+
allowed: "allowed";
|
|
125
|
+
locked: "locked";
|
|
126
|
+
}>;
|
|
127
|
+
}, z.core.$strict>>>;
|
|
128
|
+
uiArrangement: z.ZodOptional<z.ZodType<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry | null>>, unknown, z.core.$ZodTypeInternals<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry | null>>, unknown>>>;
|
|
75
129
|
}, z.core.$strict>;
|
|
76
130
|
export type OrgSettingsPatch = z.infer<typeof OrgSettingsPatchSchema>;
|
|
77
131
|
/** 部署的沙箱出站(`sandbox.limits.egress` + `allowHosts`)。 */
|
|
@@ -81,15 +135,17 @@ export type DeploymentEgress = Pick<SandboxLimits, "egress" | "allowHosts">;
|
|
|
81
135
|
* (省略时用部署的),但部署是 `none` 时仍为 `none`(组织永远不比部署放得更开,部署改成 none 后存量设置也随之收紧)。
|
|
82
136
|
*/
|
|
83
137
|
export declare function effectiveSandboxEgress(deployment: DeploymentEgress, org: SandboxEgressSetting | undefined): DeploymentEgress;
|
|
138
|
+
/** Whether a finished background task wakes an idle conversation: the org's setting, else the deployment's. */
|
|
139
|
+
export declare function effectiveWakeOnBackgroundTask(deployment: boolean, org: OrgSettings["wakeOnBackgroundTask"]): boolean;
|
|
84
140
|
/**
|
|
85
|
-
* 组织实际生效的沙箱限额(C19 / Ruling M16
|
|
141
|
+
* 组织实际生效的沙箱限额(C19 / Ruling M16):超级管理员的覆盖(部署设置 `sandboxLimitOverrides[orgId]`)
|
|
86
142
|
* 给出的 cpu / memoryMb 替换部署默认,未给的项、disk 与出站沿用 `deployment`。只在创建沙箱时读取。
|
|
87
143
|
*/
|
|
88
144
|
export declare function effectiveSandboxLimits(deployment: SandboxLimits, override: {
|
|
89
145
|
cpu?: number | undefined;
|
|
90
146
|
memoryMb?: number | undefined;
|
|
91
147
|
} | undefined): SandboxLimits;
|
|
92
|
-
/** 组织设置 GET
|
|
148
|
+
/** 组织设置 GET 带回的只读沙箱限额:实际生效值与来源(有超级管理员的覆盖为 `override`)。 */
|
|
93
149
|
export interface OrgSandboxLimits {
|
|
94
150
|
cpu: number;
|
|
95
151
|
memoryMb: number;
|
|
@@ -118,9 +174,13 @@ export declare class OrgSettingsService {
|
|
|
118
174
|
config: Pick<KernelConfigService, "get">);
|
|
119
175
|
/** 部署默认值(设置页展示「跟随部署」时的实际取值)。 */
|
|
120
176
|
deployment(): OrgSettingsDeployment;
|
|
121
|
-
/** 组织实际生效的沙箱 cpu /
|
|
177
|
+
/** 组织实际生效的沙箱 cpu / 内存(只读;由超级管理员在部署设置里覆盖)。 */
|
|
122
178
|
sandboxLimits(orgId: string): Promise<OrgSandboxLimits>;
|
|
123
179
|
get(orgId: string): Promise<OrgSettings>;
|
|
124
|
-
update
|
|
180
|
+
/** The refusals of {@link update} that need no read of the org (the Platform tool's precheck). */
|
|
181
|
+
check(patch: OrgSettingsPatch): void;
|
|
182
|
+
update(orgId: string, patch: OrgSettingsPatch, actorAccountId: string, actorTokenId?: string,
|
|
183
|
+
/** Merged into the audit detail (the Platform tool's `via: "agent"`). */
|
|
184
|
+
auditDetail?: Record<string, unknown>): Promise<OrgSettings>;
|
|
125
185
|
private updateIn;
|
|
126
186
|
}
|
|
@@ -17,16 +17,28 @@ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
|
17
17
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
18
18
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
19
19
|
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
20
|
+
import { assertThemeOnIn } from "../themes/theme-state.js";
|
|
21
|
+
import { IanaTimeZone } from "../time-zone.js";
|
|
22
|
+
import { mergeArrangement, OrgUiArrangementPatchSchema, UiArrangementSchema, } from "../ui/arrangement.js";
|
|
20
23
|
import { OrgLock } from "./org-lock.js";
|
|
21
24
|
/**
|
|
22
25
|
* 组织设置(`capybara.orgs.settings` jsonb)。读取宽松:缺失或非法的字段按默认值,未知键保留不动
|
|
23
26
|
* (更新时与存量合并),新版本加字段不需要迁移。
|
|
24
|
-
* - `toolSearch`:工具超过阈值时是否改用目录 + `
|
|
27
|
+
* - `toolSearch`:工具超过阈值时是否改用目录 + `ToolSearch`(D11,默认 on)。
|
|
25
28
|
* - `locale`:组织默认语言(`zh` / `en`,默认 en),机器人在 IM 里说的固定话术按它选择。
|
|
26
29
|
* - `sandboxToolPolicy`:沙箱工具的默认策略(M5 T8,默认 allow)。为 `ask` 时除只读的
|
|
27
|
-
* `
|
|
30
|
+
* `Read` / `Glob` / `Grep` 外都需要审批(执行时实时读取)。
|
|
31
|
+
* - `wakeOnBackgroundTask`:组织对 `runtime.wakeOnBackgroundTask` 的覆盖(缺省跟随部署),见 {@link effectiveWakeOnBackgroundTask}。
|
|
28
32
|
* - `sandboxEgress`:组织的沙箱出站(Ruling M19 / D6),缺省跟随部署的 `sandbox.limits.egress` + `allowHosts`。
|
|
29
33
|
* 见 {@link effectiveSandboxEgress}。存量值非法时按 `none` 读(宁可断网,不悄悄放宽到部署默认)。
|
|
34
|
+
* - `platformTool`: the `Platform` builtin for the whole org (Platform tool spec §3): `on`,
|
|
35
|
+
* `read-only` (writes listed as unavailable) or `off` (default `on`).
|
|
36
|
+
* - `timeZone`: the org's default time zone (IANA; absent = UTC) for senders without one of their
|
|
37
|
+
* own (run context spec §3.3); an invalid stored value reads as absent.
|
|
38
|
+
* - `theme`: the org's default theme and whether members may pick their own (themes spec §7);
|
|
39
|
+
* absent (or an invalid stored value) = follow the platform, personal picks allowed.
|
|
40
|
+
* - `uiArrangement`: per slot, the extension contributions the org hides and their order (UI slots
|
|
41
|
+
* spec §5); a slot with no entry follows the platform's; an invalid stored value reads as absent.
|
|
30
42
|
*/
|
|
31
43
|
/** 组织沙箱出站白名单的主机数上限。 */
|
|
32
44
|
export const ORG_SANDBOX_ALLOW_HOSTS_MAX = 200;
|
|
@@ -53,11 +65,33 @@ export const SandboxEgressSettingSchema = z
|
|
|
53
65
|
.optional(),
|
|
54
66
|
})
|
|
55
67
|
.strict();
|
|
68
|
+
/**
|
|
69
|
+
* The org's theme setting (themes spec §7): `id` a theme on in the org (a `platform_themes` id),
|
|
70
|
+
* null = follow the platform's default; `personal: "locked"` hides the personal picker in the org
|
|
71
|
+
* and resolution ignores personal picks there.
|
|
72
|
+
*/
|
|
73
|
+
export const OrgThemeSettingSchema = z
|
|
74
|
+
.object({
|
|
75
|
+
id: z.string().min(1).max(200).nullable(),
|
|
76
|
+
personal: z.enum(["allowed", "locked"]),
|
|
77
|
+
})
|
|
78
|
+
.strict();
|
|
79
|
+
/** The theme setting of an org that has none: follow the platform, personal picks allowed. */
|
|
80
|
+
export const DEFAULT_ORG_THEME = { id: null, personal: "allowed" };
|
|
56
81
|
export const OrgSettingsSchema = z.object({
|
|
57
82
|
toolSearch: z.enum(["on", "off"]).default("on").catch("on"),
|
|
58
83
|
locale: z.enum(["zh", "en"]).default("en").catch("en"),
|
|
59
84
|
sandboxToolPolicy: z.enum(["allow", "ask"]).default("allow").catch("allow"),
|
|
85
|
+
platformTool: z.enum(["on", "read-only", "off"]).default("on").catch("on"),
|
|
60
86
|
sandboxEgress: SandboxEgressSettingSchema.optional().catch({ mode: "none" }),
|
|
87
|
+
/** Overrides `runtime.wakeOnBackgroundTask`; absent follows the deployment. */
|
|
88
|
+
wakeOnBackgroundTask: z.boolean().optional().catch(undefined),
|
|
89
|
+
/** The org's default time zone (run context spec §3.3); absent = UTC. */
|
|
90
|
+
timeZone: IanaTimeZone.optional().catch(undefined),
|
|
91
|
+
/** The org's default theme and personal lock (themes spec §7); absent = {@link DEFAULT_ORG_THEME}. */
|
|
92
|
+
theme: OrgThemeSettingSchema.optional().catch(undefined),
|
|
93
|
+
/** Hidden and ordered extension contributions per slot; absent = follow the platform. */
|
|
94
|
+
uiArrangement: UiArrangementSchema.optional().catch(undefined),
|
|
61
95
|
});
|
|
62
96
|
/** PATCH 体:只改给出的字段;未知字段 → 400。 */
|
|
63
97
|
export const OrgSettingsPatchSchema = z
|
|
@@ -65,8 +99,23 @@ export const OrgSettingsPatchSchema = z
|
|
|
65
99
|
toolSearch: z.enum(["on", "off"]).optional(),
|
|
66
100
|
locale: z.enum(["zh", "en"]).optional(),
|
|
67
101
|
sandboxToolPolicy: z.enum(["allow", "ask"]).optional(),
|
|
102
|
+
platformTool: z.enum(["on", "read-only", "off"]).optional(),
|
|
103
|
+
/** null clears (follow the deployment again). */
|
|
104
|
+
wakeOnBackgroundTask: z.boolean().nullable().optional(),
|
|
68
105
|
/** null 清除(恢复跟随部署默认)。 */
|
|
69
106
|
sandboxEgress: SandboxEgressSettingSchema.nullable().optional(),
|
|
107
|
+
/** The org's default time zone (IANA); null clears it (UTC). */
|
|
108
|
+
timeZone: IanaTimeZone.nullable().optional(),
|
|
109
|
+
/**
|
|
110
|
+
* The org's default theme (`id`: a theme on in the org, else 400 `theme.not_available`; null
|
|
111
|
+
* follows the platform) and whether members may pick their own; null clears it.
|
|
112
|
+
*/
|
|
113
|
+
theme: OrgThemeSettingSchema.nullable().optional(),
|
|
114
|
+
/**
|
|
115
|
+
* Per slot, the entry to hide / order contributions with (replaces that slot's stored entry);
|
|
116
|
+
* null removes a slot's entry (it follows the platform again). `platform.page` is refused.
|
|
117
|
+
*/
|
|
118
|
+
uiArrangement: OrgUiArrangementPatchSchema.optional(),
|
|
70
119
|
})
|
|
71
120
|
.strict();
|
|
72
121
|
/**
|
|
@@ -80,8 +129,12 @@ export function effectiveSandboxEgress(deployment, org) {
|
|
|
80
129
|
return { egress: "none", allowHosts: [] };
|
|
81
130
|
return { egress: "allowlist", allowHosts: [...(org.allowHosts ?? deployment.allowHosts)] };
|
|
82
131
|
}
|
|
132
|
+
/** Whether a finished background task wakes an idle conversation: the org's setting, else the deployment's. */
|
|
133
|
+
export function effectiveWakeOnBackgroundTask(deployment, org) {
|
|
134
|
+
return org ?? deployment;
|
|
135
|
+
}
|
|
83
136
|
/**
|
|
84
|
-
* 组织实际生效的沙箱限额(C19 / Ruling M16
|
|
137
|
+
* 组织实际生效的沙箱限额(C19 / Ruling M16):超级管理员的覆盖(部署设置 `sandboxLimitOverrides[orgId]`)
|
|
85
138
|
* 给出的 cpu / memoryMb 替换部署默认,未给的项、disk 与出站沿用 `deployment`。只在创建沙箱时读取。
|
|
86
139
|
*/
|
|
87
140
|
export function effectiveSandboxLimits(deployment, override) {
|
|
@@ -130,7 +183,7 @@ let OrgSettingsService = class OrgSettingsService {
|
|
|
130
183
|
sandboxEgress: { mode: lim.egress, allowHosts: [...lim.allowHosts] },
|
|
131
184
|
};
|
|
132
185
|
}
|
|
133
|
-
/** 组织实际生效的沙箱 cpu /
|
|
186
|
+
/** 组织实际生效的沙箱 cpu / 内存(只读;由超级管理员在部署设置里覆盖)。 */
|
|
134
187
|
async sandboxLimits(orgId) {
|
|
135
188
|
const lim = this.config.get().sandbox.limits;
|
|
136
189
|
const override = await readSandboxLimitOverride(this.db.db, orgId);
|
|
@@ -151,14 +204,20 @@ let OrgSettingsService = class OrgSettingsService {
|
|
|
151
204
|
throw new ApiError("org.not_found", "Organization not found");
|
|
152
205
|
return parseOrgSettings(row.settings);
|
|
153
206
|
}
|
|
154
|
-
|
|
207
|
+
/** The refusals of {@link update} that need no read of the org (the Platform tool's precheck). */
|
|
208
|
+
check(patch) {
|
|
155
209
|
if (patch.sandboxEgress?.mode === "allowlist" &&
|
|
156
210
|
this.deployment().sandboxEgress.mode === "none") {
|
|
157
211
|
throw new ApiError("org.sandbox_egress_not_allowed", "This deployment disables sandbox network access (sandbox.limits.egress is none); an organization can only set sandboxEgress to none");
|
|
158
212
|
}
|
|
159
|
-
return this.updateIn(orgId, patch, actorAccountId, actorTokenId);
|
|
160
213
|
}
|
|
161
|
-
async
|
|
214
|
+
async update(orgId, patch, actorAccountId, actorTokenId,
|
|
215
|
+
/** Merged into the audit detail (the Platform tool's `via: "agent"`). */
|
|
216
|
+
auditDetail) {
|
|
217
|
+
this.check(patch);
|
|
218
|
+
return this.updateIn(orgId, patch, actorAccountId, actorTokenId, auditDetail);
|
|
219
|
+
}
|
|
220
|
+
async updateIn(orgId, patch, actorAccountId, actorTokenId, auditDetail) {
|
|
162
221
|
await this.orgLock.lockAndAuthorize(orgId, actorAccountId, "org.update");
|
|
163
222
|
const row = await this.db
|
|
164
223
|
.selectFrom("orgs")
|
|
@@ -169,15 +228,35 @@ let OrgSettingsService = class OrgSettingsService {
|
|
|
169
228
|
const before = parseOrgSettings(stored);
|
|
170
229
|
const changes = Object.fromEntries(Object.entries(patch)
|
|
171
230
|
.filter(([, v]) => v !== undefined)
|
|
172
|
-
// null
|
|
231
|
+
// null clears sandboxEgress / wakeOnBackgroundTask: follow the deployment default again
|
|
173
232
|
.map(([k, v]) => [k, v === null ? undefined : v]));
|
|
233
|
+
const arrangementPatch = patch.uiArrangement;
|
|
234
|
+
delete changes.uiArrangement;
|
|
174
235
|
const after = { ...before, ...changes };
|
|
236
|
+
if (arrangementPatch !== undefined) {
|
|
237
|
+
after.uiArrangement = mergeArrangement(before.uiArrangement, arrangementPatch);
|
|
238
|
+
if (Object.keys(after.uiArrangement).length === 0)
|
|
239
|
+
delete after.uiArrangement;
|
|
240
|
+
}
|
|
175
241
|
if (after.sandboxEgress === undefined)
|
|
176
242
|
delete after.sandboxEgress;
|
|
243
|
+
if (after.wakeOnBackgroundTask === undefined)
|
|
244
|
+
delete after.wakeOnBackgroundTask;
|
|
245
|
+
if (after.timeZone === undefined)
|
|
246
|
+
delete after.timeZone;
|
|
247
|
+
if (after.theme === undefined)
|
|
248
|
+
delete after.theme;
|
|
249
|
+
if (after.uiArrangement === undefined)
|
|
250
|
+
delete after.uiArrangement;
|
|
177
251
|
if (sameSettings(before, after))
|
|
178
252
|
return before;
|
|
253
|
+
// Lock order: the org row (orgLock above), then the theme's catalog item and its row FOR
|
|
254
|
+
// SHARE (assertThemeOnIn), then the check, so no scope writer changes what it read first
|
|
255
|
+
if (patch.theme?.id != null && patch.theme.id !== before.theme?.id) {
|
|
256
|
+
await assertThemeOnIn(this.db.db, orgId, patch.theme.id);
|
|
257
|
+
}
|
|
179
258
|
// 与存量合并:保留本版本不认识的键(清除的 sandboxEgress 不留在存量里)
|
|
180
|
-
const { sandboxEgress: _old, ...rest } = stored;
|
|
259
|
+
const { sandboxEgress: _old, wakeOnBackgroundTask: _oldWake, timeZone: _oldZone, theme: _oldTheme, uiArrangement: _oldArrangement, ...rest } = stored;
|
|
181
260
|
await this.db
|
|
182
261
|
.updateTable("orgs")
|
|
183
262
|
.set({ settings: JSON.stringify({ ...rest, ...after }) })
|
|
@@ -189,7 +268,7 @@ let OrgSettingsService = class OrgSettingsService {
|
|
|
189
268
|
orgId,
|
|
190
269
|
action: "org.settings_updated",
|
|
191
270
|
target: orgId,
|
|
192
|
-
detail: { before, after },
|
|
271
|
+
detail: { before, after, ...auditDetail },
|
|
193
272
|
});
|
|
194
273
|
return after;
|
|
195
274
|
}
|
package/dist/overrides.d.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import type { NestInterceptor } from "@nestjs/common";
|
|
2
2
|
import { APP_INTERCEPTOR } from "@nestjs/core";
|
|
3
|
+
import { ADMIN_USAGE_TIMINGS, type AdminUsageTimings } from "./admin/usage.service.js";
|
|
3
4
|
import { CHANNEL_WEBHOOK_TIMINGS, type ChannelWebhookTimings } from "./channels/webhook.js";
|
|
4
5
|
import type { EvalReplayHooks } from "./evals/run-replay.js";
|
|
5
6
|
import { EVAL_REPLAY_HOOKS } from "./evals/worker.js";
|
|
6
7
|
import { BOOTSTRAP_LOCK_TTL } from "./extensions/bootstrap.js";
|
|
7
8
|
import { FILE_PREVIEW_TIMEOUT } from "./files/previewers.js";
|
|
9
|
+
import { PRESENCE_INTERVAL_MS } from "./infra/presence/replica-presence.js";
|
|
8
10
|
import { LIST_MODELS_TIMEOUT } from "./runtime/providers.js";
|
|
11
|
+
import { RUN_CONTEXT_CLOCK } from "./runtime/run-context.service.js";
|
|
9
12
|
import { AGENT_LOOP_FACTORY, type AgentLoopFactory } from "./runtime/run-steps.js";
|
|
10
13
|
import { RUN_HOOKS, type RunHooks } from "./runtime/run-worker.js";
|
|
14
|
+
import { SUBAGENT_MESSAGES_HOOKS, type SubagentMessagesHooks } from "./runtime/subagents/messages.js";
|
|
11
15
|
import { USAGE_REPORT_RETRY, type UsageReportRetry } from "./runtime/usage-report.js";
|
|
12
16
|
import { SANDBOX_LEASE_TIMINGS, type SandboxLeaseTimings } from "./sandbox/leases.js";
|
|
17
|
+
import { SETUP_CHECK_TIMEOUT } from "./setup/setup-checks.service.js";
|
|
13
18
|
import { TOOL_PIPELINE_HOOKS, type ToolPipelineHooks } from "./tools/pipeline.js";
|
|
14
19
|
import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
|
|
15
20
|
/**
|
|
@@ -20,9 +25,14 @@ import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
|
|
|
20
25
|
* - `RUN_HOOKS`: the run worker's hooks;
|
|
21
26
|
* - `EVAL_REPLAY_HOOKS`: the hooks of the eval full-run replay and the judge;
|
|
22
27
|
* - `TOOL_PIPELINE_HOOKS`: the tool pipeline's hooks and policy decision;
|
|
28
|
+
* - `SUBAGENT_MESSAGES_HOOKS`: the sub-agent message tools' hooks (a send raced by a run's end);
|
|
23
29
|
* - `BOOTSTRAP_LOCK_TTL`, `FILE_PREVIEW_TIMEOUT`, `LIST_MODELS_TIMEOUT`, `USAGE_REPORT_RETRY`,
|
|
24
|
-
* `SANDBOX_LEASE_TIMINGS`, `CHANNEL_WEBHOOK_TIMINGS
|
|
30
|
+
* `SANDBOX_LEASE_TIMINGS`, `CHANNEL_WEBHOOK_TIMINGS`, `SETUP_CHECK_TIMEOUT`,
|
|
31
|
+
* `PRESENCE_INTERVAL_MS`: shorter timings;
|
|
32
|
+
* - `ADMIN_USAGE_TIMINGS`: the usage aggregate's statement timeout and clock;
|
|
25
33
|
* - `EMBED_TOKEN_CLOCK`: the clock embed tokens are issued and checked with;
|
|
34
|
+
* - `RUN_CONTEXT_CLOCK`: the clock run start reads the run context's date from, and the
|
|
35
|
+
* `CurrentTime` builtin the time;
|
|
26
36
|
* - `APP_INTERCEPTOR`: one more global interceptor (a probe of the matched routes).
|
|
27
37
|
*/
|
|
28
38
|
interface KernelSeams {
|
|
@@ -30,13 +40,18 @@ interface KernelSeams {
|
|
|
30
40
|
[RUN_HOOKS]: RunHooks;
|
|
31
41
|
[EVAL_REPLAY_HOOKS]: EvalReplayHooks;
|
|
32
42
|
[TOOL_PIPELINE_HOOKS]: ToolPipelineHooks;
|
|
43
|
+
[SUBAGENT_MESSAGES_HOOKS]: SubagentMessagesHooks;
|
|
33
44
|
[BOOTSTRAP_LOCK_TTL]: number;
|
|
34
45
|
[FILE_PREVIEW_TIMEOUT]: number;
|
|
35
46
|
[LIST_MODELS_TIMEOUT]: number;
|
|
36
47
|
[USAGE_REPORT_RETRY]: UsageReportRetry;
|
|
37
48
|
[SANDBOX_LEASE_TIMINGS]: Partial<SandboxLeaseTimings>;
|
|
38
49
|
[CHANNEL_WEBHOOK_TIMINGS]: Partial<ChannelWebhookTimings>;
|
|
50
|
+
[SETUP_CHECK_TIMEOUT]: number;
|
|
51
|
+
[PRESENCE_INTERVAL_MS]: number;
|
|
52
|
+
[ADMIN_USAGE_TIMINGS]: Partial<AdminUsageTimings>;
|
|
39
53
|
[EMBED_TOKEN_CLOCK]: () => number;
|
|
54
|
+
[RUN_CONTEXT_CLOCK]: () => number;
|
|
40
55
|
[APP_INTERCEPTOR]: NestInterceptor;
|
|
41
56
|
}
|
|
42
57
|
/**
|
package/dist/overrides.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { APP_INTERCEPTOR } from "@nestjs/core";
|
|
2
|
+
import { ADMIN_USAGE_TIMINGS } from "./admin/usage.service.js";
|
|
2
3
|
import { CHANNEL_WEBHOOK_TIMINGS } from "./channels/webhook.js";
|
|
3
4
|
import { EVAL_REPLAY_HOOKS } from "./evals/worker.js";
|
|
4
5
|
import { BOOTSTRAP_LOCK_TTL } from "./extensions/bootstrap.js";
|
|
5
6
|
import { FILE_PREVIEW_TIMEOUT } from "./files/previewers.js";
|
|
7
|
+
import { PRESENCE_INTERVAL_MS } from "./infra/presence/replica-presence.js";
|
|
6
8
|
import { LIST_MODELS_TIMEOUT } from "./runtime/providers.js";
|
|
9
|
+
import { RUN_CONTEXT_CLOCK } from "./runtime/run-context.service.js";
|
|
7
10
|
import { AGENT_LOOP_FACTORY } from "./runtime/run-steps.js";
|
|
8
11
|
import { RUN_HOOKS } from "./runtime/run-worker.js";
|
|
12
|
+
import { SUBAGENT_MESSAGES_HOOKS, } from "./runtime/subagents/messages.js";
|
|
9
13
|
import { USAGE_REPORT_RETRY } from "./runtime/usage-report.js";
|
|
10
14
|
import { SANDBOX_LEASE_TIMINGS } from "./sandbox/leases.js";
|
|
15
|
+
import { SETUP_CHECK_TIMEOUT } from "./setup/setup-checks.service.js";
|
|
11
16
|
import { TOOL_PIPELINE_HOOKS } from "./tools/pipeline.js";
|
|
12
17
|
import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
|
|
13
18
|
const SEAM_TOKENS = [
|
|
@@ -15,13 +20,18 @@ const SEAM_TOKENS = [
|
|
|
15
20
|
RUN_HOOKS,
|
|
16
21
|
EVAL_REPLAY_HOOKS,
|
|
17
22
|
TOOL_PIPELINE_HOOKS,
|
|
23
|
+
SUBAGENT_MESSAGES_HOOKS,
|
|
18
24
|
BOOTSTRAP_LOCK_TTL,
|
|
19
25
|
FILE_PREVIEW_TIMEOUT,
|
|
20
26
|
LIST_MODELS_TIMEOUT,
|
|
21
27
|
USAGE_REPORT_RETRY,
|
|
22
28
|
SANDBOX_LEASE_TIMINGS,
|
|
23
29
|
CHANNEL_WEBHOOK_TIMINGS,
|
|
30
|
+
SETUP_CHECK_TIMEOUT,
|
|
31
|
+
PRESENCE_INTERVAL_MS,
|
|
32
|
+
ADMIN_USAGE_TIMINGS,
|
|
24
33
|
EMBED_TOKEN_CLOCK,
|
|
34
|
+
RUN_CONTEXT_CLOCK,
|
|
25
35
|
APP_INTERCEPTOR,
|
|
26
36
|
];
|
|
27
37
|
const allSeamsListed = true;
|