@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
|
@@ -9,7 +9,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
9
9
|
};
|
|
10
10
|
import { Inject, Injectable } from "@nestjs/common";
|
|
11
11
|
import { ApiError } from "../errors.js";
|
|
12
|
+
import { templateGuideOf } from "../extensions/plugin-guides.js";
|
|
12
13
|
import { ExtensionRegistry } from "../extensions/registry.js";
|
|
14
|
+
import { ExtensionAvailability } from "../extensions/unavailable.js";
|
|
13
15
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
14
16
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
15
17
|
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
@@ -18,53 +20,59 @@ import { OrgLock } from "../orgs/org-lock.js";
|
|
|
18
20
|
import { can, roleAtLeast } from "../orgs/roles.js";
|
|
19
21
|
import { packagePath } from "../packages/tgz.js";
|
|
20
22
|
import { StorageService } from "../storage/storage.service.js";
|
|
21
|
-
import { catalogHasIcon, findConnectorIn,
|
|
22
|
-
import { itemView } from "./catalog-items.js";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
23
|
+
import { catalogHasIcon, findConnectorIn, orgTemplateView, readCatalogIcon, readCatalogTemplates, templatePluginProblem, } from "./catalog-content.js";
|
|
24
|
+
import { itemView, ownerOnlyFacts, versionUsable } from "./catalog-items.js";
|
|
25
|
+
import { connectorTemplatesOn, templateIdOfPath } from "./component-state.js";
|
|
26
|
+
import { itemPendingError, ownerOf, ownersOf } from "./ownership.js";
|
|
27
|
+
import { PluginInstaller, uninstallPreviewHash, upsertOrgSwitch, } from "./plugin-install.js";
|
|
28
|
+
import { requestable, switchable, visibleTo, wantedOn } from "./scope.js";
|
|
27
29
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
28
30
|
const itemNotFound = () => new ApiError("catalog.item_not_found", "Catalog item not found");
|
|
29
|
-
const
|
|
31
|
+
const notOffered = () => new ApiError("catalog.approval_required", "This plugin is not offered to this organization; an org admin can request access");
|
|
32
|
+
const pluginDisabled = () => new ApiError("plugin.disabled", "This plugin is disabled by the super admin and cannot be switched on");
|
|
30
33
|
/**
|
|
31
|
-
* Organizations
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
34
|
+
* Organizations see the platform catalog with the plugin scope rules applied (plugin and component
|
|
35
|
+
* management spec §5): a plugin is `all` (on in every org unless an org admin switched it off,
|
|
36
|
+
* layering spec §4), `optional` (an org admin switches it on), or `named` (offered to the listed
|
|
37
|
+
* orgs). Members get the list read-only; org admins switch a plugin on (an install by
|
|
38
|
+
* {@link PluginInstaller}, with its dependencies; the union of the component actions of the plugins
|
|
39
|
+
* it brings in is re-checked inside the org row lock) or off (an uninstall, after a preview they
|
|
40
|
+
* confirm with its hash). Disabled item -> `plugin.disabled`; a
|
|
41
|
+
* dependency unresolved / disabled / in a cycle -> `catalog.dependency_*`; an extension or a
|
|
42
|
+
* template's connector not on the deployment -> `catalog.not_deployed`. No in-process state.
|
|
39
43
|
*/
|
|
40
44
|
let OrgCatalogService = class OrgCatalogService {
|
|
41
45
|
kdb;
|
|
42
46
|
orgLock;
|
|
43
47
|
storage;
|
|
44
48
|
registry;
|
|
45
|
-
requests;
|
|
46
49
|
pluginInstaller;
|
|
47
|
-
pluginUpgrader;
|
|
48
50
|
log;
|
|
49
51
|
txHost;
|
|
52
|
+
availability;
|
|
50
53
|
constructor(kdb,
|
|
51
54
|
/** The org row lock (orgs/org-lock.ts): joins the caller's transaction. */
|
|
52
|
-
orgLock, storage, registry,
|
|
55
|
+
orgLock, storage, registry, pluginInstaller, log, txHost,
|
|
56
|
+
/** Why a plugin's extension cannot run (the `unavailable` state's reason). */
|
|
57
|
+
availability) {
|
|
53
58
|
this.kdb = kdb;
|
|
54
59
|
this.orgLock = orgLock;
|
|
55
60
|
this.storage = storage;
|
|
56
61
|
this.registry = registry;
|
|
57
|
-
this.requests = requests;
|
|
58
62
|
this.pluginInstaller = pluginInstaller;
|
|
59
|
-
this.pluginUpgrader = pluginUpgrader;
|
|
60
63
|
this.log = log;
|
|
61
64
|
this.txHost = txHost;
|
|
65
|
+
this.availability = availability;
|
|
62
66
|
}
|
|
63
67
|
/** The kernel-schema handle of the current context (the transaction, else the pool). */
|
|
64
68
|
get db() {
|
|
65
69
|
return this.kdb.db;
|
|
66
70
|
}
|
|
67
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* The org's view of the items: a `named` item without the org on its list is `not_offered` when
|
|
73
|
+
* shown to other orgs and absent otherwise; disabled ones are shown to admins as `unavailable`
|
|
74
|
+
* and absent for members. Each item carries the org's pending request for it.
|
|
75
|
+
*/
|
|
68
76
|
async list(orgId, accountId, itemId) {
|
|
69
77
|
const m = await this.db
|
|
70
78
|
.selectFrom("memberships")
|
|
@@ -82,67 +90,163 @@ let OrgCatalogService = class OrgCatalogService {
|
|
|
82
90
|
if (itemId !== undefined)
|
|
83
91
|
q = q.where("id", "=", itemId);
|
|
84
92
|
if (!isAdmin)
|
|
85
|
-
q = q.where("
|
|
86
|
-
const
|
|
93
|
+
q = q.where("disabled", "=", false);
|
|
94
|
+
const all = await q.execute();
|
|
95
|
+
const [listed, switches] = await Promise.all([
|
|
96
|
+
this.db
|
|
97
|
+
.selectFrom("catalog_item_scope_orgs")
|
|
98
|
+
.select("item_id")
|
|
99
|
+
.where("org_id", "=", orgId)
|
|
100
|
+
.execute(),
|
|
101
|
+
this.db
|
|
102
|
+
.selectFrom("catalog_item_org_switches")
|
|
103
|
+
.select(["item_id", "enabled"])
|
|
104
|
+
.where("org_id", "=", orgId)
|
|
105
|
+
.execute(),
|
|
106
|
+
]);
|
|
107
|
+
const inList = new Set(listed.map((r) => r.item_id));
|
|
108
|
+
// Hidden `named` items (not listed, not shown to other orgs) are absent; shown ones are
|
|
109
|
+
// `not_offered`
|
|
110
|
+
// An org upload waiting for the super admin is its owner's only (ruling P3-9)
|
|
111
|
+
const items = all.filter((i) => (!i.awaiting_confirmation || i.owner_org_id === orgId) &&
|
|
112
|
+
(visibleTo({ scope: i.builtin ? "all" : i.scope }, inList.has(i.id)) ||
|
|
113
|
+
requestable(i, inList.has(i.id))));
|
|
87
114
|
if (items.length === 0)
|
|
88
115
|
return [];
|
|
116
|
+
const sw = new Map(switches.map((r) => [r.item_id, r.enabled]));
|
|
89
117
|
const ids = items.map((i) => i.id);
|
|
90
|
-
const [versions,
|
|
118
|
+
const [versions, pluginInstalls, configs, requests] = await Promise.all([
|
|
91
119
|
this.db
|
|
92
120
|
.selectFrom("catalog_item_versions")
|
|
93
|
-
.select([
|
|
121
|
+
.select([
|
|
122
|
+
"item_id",
|
|
123
|
+
"version",
|
|
124
|
+
"source",
|
|
125
|
+
"source_format",
|
|
126
|
+
"manifest",
|
|
127
|
+
"object_prefix",
|
|
128
|
+
"files",
|
|
129
|
+
"applied_at",
|
|
130
|
+
"rejected_at",
|
|
131
|
+
])
|
|
94
132
|
.where("item_id", "in", ids)
|
|
95
133
|
.execute(),
|
|
96
|
-
this.db
|
|
97
|
-
.selectFrom("catalog_org_grants")
|
|
98
|
-
.select("item_id")
|
|
99
|
-
.where("org_id", "=", orgId)
|
|
100
|
-
.execute(),
|
|
101
|
-
this.requests.latestByItem(orgId),
|
|
102
134
|
this.db
|
|
103
135
|
.selectFrom("plugin_installs")
|
|
104
136
|
.select(["id", "item_id", "version"])
|
|
105
137
|
.where("org_id", "=", orgId)
|
|
106
138
|
.where("status", "in", ["installing", "installed", "upgrading"])
|
|
107
139
|
.execute(),
|
|
140
|
+
this.db
|
|
141
|
+
.selectFrom("extension_org_configs")
|
|
142
|
+
.select("plugin")
|
|
143
|
+
.where("org_id", "=", orgId)
|
|
144
|
+
.where("config", "is not", null)
|
|
145
|
+
.execute(),
|
|
146
|
+
this.db
|
|
147
|
+
.selectFrom("catalog_requests")
|
|
148
|
+
.select(["id", "item_id", "kind", "created_at"])
|
|
149
|
+
.where("org_id", "=", orgId)
|
|
150
|
+
.where("item_id", "in", ids)
|
|
151
|
+
.where("kind", "in", ["access", "enable"])
|
|
152
|
+
.where("status", "=", "pending")
|
|
153
|
+
.orderBy("created_at")
|
|
154
|
+
.execute(),
|
|
108
155
|
]);
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const granted = new Set(grants.map((g) => g.item_id));
|
|
156
|
+
const pending = new Map(requests.map((r) => [
|
|
157
|
+
r.item_id,
|
|
158
|
+
{ id: r.id, kind: r.kind, createdAt: r.created_at.toISOString() },
|
|
159
|
+
]));
|
|
114
160
|
const undeployed = await this.undeployed(items.flatMap((i) => {
|
|
115
161
|
const v = versions.find((x) => x.item_id === i.id && x.version === i.latest_version);
|
|
116
162
|
return v ? [v] : [];
|
|
117
163
|
}));
|
|
164
|
+
const configured = new Set(configs.map((c) => c.plugin));
|
|
165
|
+
const owners = await ownersOf(this.db, items.flatMap((i) => (i.owner_org_id === null ? [] : [i.owner_org_id])));
|
|
166
|
+
const loaded = new Map(this.registry.manifests().map((x) => [x.name, x]));
|
|
167
|
+
// the extensions of the latest versions that are not loaded: why (the `unavailable` reason)
|
|
168
|
+
const extensionOf = (i) => {
|
|
169
|
+
const v = versions.find((x) => x.item_id === i.id && x.version === i.latest_version);
|
|
170
|
+
const m = v?.manifest;
|
|
171
|
+
return m?.extension ? m.name : undefined;
|
|
172
|
+
};
|
|
173
|
+
const unloaded = await this.availability.unavailable(items.flatMap((i) => {
|
|
174
|
+
const n = extensionOf(i);
|
|
175
|
+
return n === undefined ? [] : [n];
|
|
176
|
+
}));
|
|
118
177
|
const out = [];
|
|
119
178
|
for (const i of items) {
|
|
120
|
-
|
|
121
|
-
|
|
179
|
+
// Another org sees only an org-owned plugin's applied version, never one its owner
|
|
180
|
+
// uploaded that is pending or was rejected (ruling P3-34), nor such a version of a plugin
|
|
181
|
+
// transferred to the platform since (ruling P3-52)
|
|
182
|
+
const vs = versions.filter((v) => v.item_id === i.id &&
|
|
183
|
+
(i.owner_org_id === orgId ||
|
|
184
|
+
(versionUsable(v) && (i.owner_org_id === null || v.version === i.latest_version))));
|
|
185
|
+
const { installs: _installs, marketplaceId: _source, latestMarketplaceVersion: _latest, newerInMarketplace: _newer, scopeOrgs: _scopeOrgs, enabledOrgs: _enabledOrgs, offCount: _offCount, pending: _pending, shownToOthers: _shown, awaitingConfirmation, pendingVersion, ...view } = itemView(i, vs, 0, undefined, ownerOnlyFacts(ownerOf(i.owner_org_id, owners)));
|
|
122
186
|
const latest = vs.find((v) => v.version === i.latest_version);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
187
|
+
const a = pluginInstalls.find((x) => x.item_id === i.id);
|
|
188
|
+
const scope = i.builtin ? "all" : i.scope;
|
|
189
|
+
const wanted = wantedOn(i, inList.has(i.id), sw.get(i.id) ?? null);
|
|
190
|
+
let state;
|
|
191
|
+
let reason;
|
|
192
|
+
const extName = extensionOf(i);
|
|
193
|
+
const why = extName === undefined ? undefined : unloaded.get(extName);
|
|
194
|
+
if (i.awaiting_confirmation)
|
|
195
|
+
state = "awaiting_confirmation";
|
|
196
|
+
else if (i.disabled) {
|
|
197
|
+
state = "unavailable";
|
|
198
|
+
reason = "plugin_disabled";
|
|
128
199
|
}
|
|
129
|
-
else if (i.
|
|
130
|
-
|
|
200
|
+
else if (requestable(i, inList.has(i.id)))
|
|
201
|
+
state = "not_offered";
|
|
202
|
+
// not installed here and its extension cannot run: switching it on would fail (spec §14.2
|
|
203
|
+
// problem 1); an installed one keeps its state (an org admin can still switch it off)
|
|
204
|
+
else if (!a && why !== undefined) {
|
|
205
|
+
state = "unavailable";
|
|
206
|
+
reason = why.reason;
|
|
207
|
+
}
|
|
208
|
+
else if (a) {
|
|
209
|
+
// An on connector template without a connector here (ruling P2-10)
|
|
210
|
+
const missing = await this.pluginInstaller.missingConnectors(orgId, i.id);
|
|
211
|
+
state = (missing?.templates.length ?? 0) > 0 ? "needs_config" : "on";
|
|
212
|
+
}
|
|
213
|
+
else if (i.builtin)
|
|
214
|
+
state = "on";
|
|
215
|
+
else if (!wanted)
|
|
216
|
+
state = "off";
|
|
217
|
+
else {
|
|
218
|
+
const m = latest?.manifest;
|
|
219
|
+
const ext = m?.extension ? loaded.get(m.name) : undefined;
|
|
220
|
+
// only the connector templates on in the org need input (ruling P2-6)
|
|
221
|
+
const templateIds = (m?.connectorTemplates ?? []).map((t) => templateIdOfPath(t.path));
|
|
222
|
+
const needsInputs = (await connectorTemplatesOn(this.db, orgId, i.id, templateIds)).size > 0 ||
|
|
223
|
+
(m?.extension !== undefined &&
|
|
224
|
+
ext?.config?.org !== undefined &&
|
|
225
|
+
!ext.config.org.safeParse({}).success &&
|
|
226
|
+
!configured.has(m.name));
|
|
227
|
+
// Wanted but not installed and needing nothing: the sync has not installed it (yet, or its
|
|
228
|
+
// install failed); `off`, so an org admin can switch it on (the worker start retries it)
|
|
229
|
+
state = needsInputs ? "needs_config" : "off";
|
|
131
230
|
}
|
|
132
|
-
else
|
|
133
|
-
installable = "yes";
|
|
134
|
-
const a = pluginInstalls.find((x) => x.item_id === i.id);
|
|
135
231
|
out.push({
|
|
136
232
|
...view,
|
|
137
|
-
|
|
233
|
+
// A pending upload is the owner's business only (other orgs never learn of it)
|
|
234
|
+
...(i.owner_org_id === orgId && { awaitingConfirmation, pendingVersion }),
|
|
235
|
+
scope,
|
|
236
|
+
builtin: i.builtin,
|
|
237
|
+
state,
|
|
238
|
+
...(reason !== undefined && { reason }),
|
|
239
|
+
switchable: state !== "not_offered" && state !== "awaiting_confirmation" && switchable(i),
|
|
240
|
+
notDeployed: latest !== undefined && undeployed.has(i.id),
|
|
138
241
|
installed: a
|
|
139
242
|
? {
|
|
140
243
|
pluginInstallId: a.id,
|
|
141
244
|
version: a.version,
|
|
142
|
-
|
|
245
|
+
// no per-org upgrade: the platform update moves every org (ruling F2)
|
|
246
|
+
upgradeAvailable: null,
|
|
143
247
|
}
|
|
144
248
|
: null,
|
|
145
|
-
request:
|
|
249
|
+
request: pending.get(i.id) ?? null,
|
|
146
250
|
});
|
|
147
251
|
}
|
|
148
252
|
return out;
|
|
@@ -168,22 +272,65 @@ let OrgCatalogService = class OrgCatalogService {
|
|
|
168
272
|
if (!v)
|
|
169
273
|
throw itemNotFound();
|
|
170
274
|
const m = v.manifest;
|
|
275
|
+
const templates = await readCatalogTemplates(this.storage, v);
|
|
276
|
+
// where each template's page finds its setup guide (spec 2026-11-09-setup-guides-v2 §9.3)
|
|
277
|
+
const guideOf = (templateId) => {
|
|
278
|
+
const g = templateGuideOf(m, templateId);
|
|
279
|
+
return g ? { itemId, guideId: g.id } : null;
|
|
280
|
+
};
|
|
281
|
+
// Providers the install would switch on first (a refusal is the install's to report)
|
|
282
|
+
const implied = await this.pluginInstaller
|
|
283
|
+
.impliedProviders(orgId, m, templates, m.dependencies ?? [])
|
|
284
|
+
.catch((e) => {
|
|
285
|
+
if (e instanceof ApiError)
|
|
286
|
+
return [];
|
|
287
|
+
throw e;
|
|
288
|
+
});
|
|
171
289
|
return {
|
|
172
290
|
item,
|
|
173
291
|
hasIcon: m.icon !== undefined,
|
|
174
292
|
extension: m.extension ? m.name : null,
|
|
175
|
-
templates:
|
|
176
|
-
dependencies:
|
|
293
|
+
templates: templates.map((t) => orgTemplateView(t.id, t.file, guideOf(t.id))),
|
|
294
|
+
dependencies: [
|
|
295
|
+
...(m.dependencies ?? []).map((d) => ({ name: d.name, range: d.version })),
|
|
296
|
+
...implied.map((d) => ({ name: d.name, range: d.range, implied: true })),
|
|
297
|
+
],
|
|
177
298
|
skills: (m.skills ?? []).map((s) => packagePath(s.path)),
|
|
178
299
|
agents: (m.agents ?? []).map((a) => packagePath(a.path)),
|
|
300
|
+
missingTemplates: item.installed !== null && item.state === "needs_config"
|
|
301
|
+
? ((await this.pluginInstaller.missingConnectors(orgId, itemId))?.templates ?? []).map((t) => orgTemplateView(t.id, t.file, guideOf(t.id)))
|
|
302
|
+
: [],
|
|
179
303
|
};
|
|
180
304
|
}
|
|
181
305
|
/**
|
|
182
|
-
* The item's icon; members don't see disabled items
|
|
183
|
-
* reading storage).
|
|
306
|
+
* The item's icon; members don't see disabled items, nobody outside its list sees a hidden
|
|
307
|
+
* `named` item (-> `catalog.item_not_found`, decided before reading storage). Without `orgId`
|
|
308
|
+
* (the super admin) every item.
|
|
184
309
|
*/
|
|
185
|
-
icon(itemId, isAdmin) {
|
|
186
|
-
|
|
310
|
+
async icon(itemId, isAdmin, orgId) {
|
|
311
|
+
if (orgId === undefined)
|
|
312
|
+
return readCatalogIcon(this.db, itemId, isAdmin);
|
|
313
|
+
if (!UUID_RE.test(itemId))
|
|
314
|
+
throw itemNotFound();
|
|
315
|
+
// A hidden `named` item stays absent here too
|
|
316
|
+
const item = await this.db
|
|
317
|
+
.selectFrom("catalog_items")
|
|
318
|
+
.select(["scope", "builtin", "shown_to_others", "owner_org_id", "shareable"])
|
|
319
|
+
.where("id", "=", itemId)
|
|
320
|
+
.where("deleted_at", "is", null)
|
|
321
|
+
.executeTakeFirst();
|
|
322
|
+
// Not requestable from outside its list (hidden, or held back by the share gate): only listed orgs
|
|
323
|
+
if (item && !item.builtin && item.scope === "named" && !requestable(item, false)) {
|
|
324
|
+
const listed = await this.db
|
|
325
|
+
.selectFrom("catalog_item_scope_orgs")
|
|
326
|
+
.select("item_id")
|
|
327
|
+
.where("item_id", "=", itemId)
|
|
328
|
+
.where("org_id", "=", orgId)
|
|
329
|
+
.executeTakeFirst();
|
|
330
|
+
if (listed === undefined)
|
|
331
|
+
throw itemNotFound();
|
|
332
|
+
}
|
|
333
|
+
return readCatalogIcon(this.db, itemId, isAdmin);
|
|
187
334
|
}
|
|
188
335
|
/** For the admin item detail: whether the latest version has an icon. */
|
|
189
336
|
hasIcon(itemId) {
|
|
@@ -226,22 +373,18 @@ let OrgCatalogService = class OrgCatalogService {
|
|
|
226
373
|
}));
|
|
227
374
|
return out;
|
|
228
375
|
}
|
|
229
|
-
/**
|
|
230
|
-
|
|
376
|
+
/**
|
|
377
|
+
* Installs a plugin in the org (the old install route, an alias of switching it on): the role
|
|
378
|
+
* first, then item errors (a member cannot probe a disabled item through error codes), then the
|
|
379
|
+
* installer. Records the org's switch as on.
|
|
380
|
+
*/
|
|
381
|
+
async install(orgId, actor, itemId, body, actorTokenId, auditDetail) {
|
|
231
382
|
if (!UUID_RE.test(itemId))
|
|
232
383
|
throw itemNotFound();
|
|
233
|
-
// The role first (forbidden when it can install nothing), then item errors: a member cannot
|
|
234
|
-
// probe the existence or versions of a disabled item through error codes
|
|
235
384
|
await this.assertCanInstall(orgId, actor);
|
|
236
|
-
const item = await this.
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
.where("id", "=", itemId)
|
|
240
|
-
.where("deleted_at", "is", null)
|
|
241
|
-
.executeTakeFirst();
|
|
242
|
-
if (!item)
|
|
243
|
-
throw itemNotFound();
|
|
244
|
-
const version = body.version ?? item.latest_version;
|
|
385
|
+
const item = await this.visibleItem(orgId, itemId);
|
|
386
|
+
// The platform's version (one per deployment, ruling P2-17)
|
|
387
|
+
const version = item.platform_synced_version ?? item.latest_version;
|
|
245
388
|
const v = await this.db
|
|
246
389
|
.selectFrom("catalog_item_versions")
|
|
247
390
|
.select("version")
|
|
@@ -250,107 +393,177 @@ let OrgCatalogService = class OrgCatalogService {
|
|
|
250
393
|
.executeTakeFirst();
|
|
251
394
|
if (!v)
|
|
252
395
|
throw new ApiError("catalog.item_not_found", `Version ${version} of this item not found`);
|
|
253
|
-
const opts =
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
//
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
return { status: 202, request: await this.requests.view(pending) };
|
|
264
|
-
}
|
|
265
|
-
// 2. Install (each step re-checks the item policy in its own transaction)
|
|
266
|
-
const { version: _version, ...input } = body;
|
|
267
|
-
const view = await this.pluginInstaller.install(orgId, actor, itemId, version, input, opts);
|
|
396
|
+
const opts = {
|
|
397
|
+
switchOn: true,
|
|
398
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
399
|
+
...(auditDetail !== undefined && { auditDetail }),
|
|
400
|
+
};
|
|
401
|
+
if (item.disabled)
|
|
402
|
+
throw pluginDisabled();
|
|
403
|
+
// Dependencies resolved, extensions deployed, template connectors available
|
|
404
|
+
await this.pluginInstaller.preflight(orgId, actor, itemId, version);
|
|
405
|
+
const view = await this.pluginInstaller.install(orgId, actor, itemId, version, body, opts);
|
|
268
406
|
return {
|
|
269
407
|
status: 201,
|
|
270
408
|
installed: { itemId, version, pluginInstallId: view.id },
|
|
271
409
|
install: view,
|
|
272
410
|
};
|
|
273
411
|
}
|
|
274
|
-
/**
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
*/
|
|
278
|
-
async requestIfNeeded(orgId, actor, item, version, actions, opts) {
|
|
279
|
-
const itemId = item.id;
|
|
280
|
-
const t = this.db;
|
|
281
|
-
await lockOrgForActions(this.orgLock, orgId, actor, actions);
|
|
282
|
-
const locked = await t
|
|
412
|
+
/** The item when the org may see it (scope), else `catalog.item_not_found`. */
|
|
413
|
+
async visibleItem(orgId, itemId) {
|
|
414
|
+
const item = await this.db
|
|
283
415
|
.selectFrom("catalog_items")
|
|
284
|
-
.
|
|
416
|
+
.selectAll()
|
|
285
417
|
.where("id", "=", itemId)
|
|
286
|
-
.
|
|
418
|
+
.where("deleted_at", "is", null)
|
|
287
419
|
.executeTakeFirst();
|
|
288
|
-
if (!
|
|
420
|
+
if (!item)
|
|
421
|
+
throw itemNotFound();
|
|
422
|
+
// An org upload waiting for the super admin: absent for other orgs, not switchable by its
|
|
423
|
+
// owner (ruling P3-9)
|
|
424
|
+
if (item.awaiting_confirmation) {
|
|
425
|
+
if (item.owner_org_id !== orgId)
|
|
426
|
+
throw itemNotFound();
|
|
427
|
+
throw itemPendingError(item.name);
|
|
428
|
+
}
|
|
429
|
+
const listed = await this.db
|
|
430
|
+
.selectFrom("catalog_item_scope_orgs")
|
|
431
|
+
.select("item_id")
|
|
432
|
+
.where("item_id", "=", itemId)
|
|
433
|
+
.where("org_id", "=", orgId)
|
|
434
|
+
.executeTakeFirst();
|
|
435
|
+
if (!visibleTo({ scope: item.builtin ? "all" : item.scope }, listed !== undefined)) {
|
|
436
|
+
// Shown to other orgs: the org sees it and may request access, but cannot switch it on
|
|
437
|
+
if (requestable(item, false))
|
|
438
|
+
throw notOffered();
|
|
289
439
|
throw itemNotFound();
|
|
290
|
-
if (locked.policy === "disabled")
|
|
291
|
-
throw itemDisabled();
|
|
292
|
-
if (locked.policy === "needs_approval") {
|
|
293
|
-
const grant = await t
|
|
294
|
-
.selectFrom("catalog_org_grants")
|
|
295
|
-
.select("item_id")
|
|
296
|
-
.where("item_id", "=", itemId)
|
|
297
|
-
.where("org_id", "=", orgId)
|
|
298
|
-
.executeTakeFirst();
|
|
299
|
-
if (!grant) {
|
|
300
|
-
return this.requests.requestDeployment(orgId, actor, item, version, opts);
|
|
301
|
-
}
|
|
302
440
|
}
|
|
303
|
-
return
|
|
441
|
+
return item;
|
|
304
442
|
}
|
|
305
|
-
/** The
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
443
|
+
/** The org's live plugin install of the item, if any. */
|
|
444
|
+
liveInstall(orgId, itemId) {
|
|
445
|
+
return this.db
|
|
446
|
+
.selectFrom("plugin_installs")
|
|
447
|
+
.select("id")
|
|
448
|
+
.where("org_id", "=", orgId)
|
|
449
|
+
.where("item_id", "=", itemId)
|
|
450
|
+
.where("status", "in", ["installing", "installed", "upgrading"])
|
|
451
|
+
.executeTakeFirst();
|
|
309
452
|
}
|
|
310
453
|
/**
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
454
|
+
* The org admin's switch of a plugin (`PUT catalog/:itemId/switch`). On: installs it (or just
|
|
455
|
+
* records the switch when it is installed already). Off: refused for builtin items
|
|
456
|
+
* (`plugin.scope_locked`; an `all` one may go off, layering spec §4); without `confirm` returns
|
|
457
|
+
* the uninstall preview and its hash, with the hash of the current preview uninstalls (a changed
|
|
458
|
+
* preview -> `plugin.switch_stale`). The switch row is written after the install / uninstall.
|
|
315
459
|
*/
|
|
316
|
-
async
|
|
460
|
+
async setSwitch(orgId, actor, itemId, body, actorTokenId, auditDetail) {
|
|
461
|
+
if (!UUID_RE.test(itemId))
|
|
462
|
+
throw itemNotFound();
|
|
317
463
|
await this.assertCanInstall(orgId, actor);
|
|
318
|
-
const
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
return { status: 202, request: await this.requests.view(pending) };
|
|
323
|
-
}
|
|
324
|
-
return {
|
|
325
|
-
status: 200,
|
|
326
|
-
install: await this.pluginUpgrader.upgrade(orgId, actor, installId, body, opts, diff),
|
|
464
|
+
const item = await this.visibleItem(orgId, itemId);
|
|
465
|
+
const opts = {
|
|
466
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
467
|
+
...(auditDetail !== undefined && { auditDetail }),
|
|
327
468
|
};
|
|
469
|
+
if (body.enabled) {
|
|
470
|
+
if (item.disabled)
|
|
471
|
+
throw pluginDisabled();
|
|
472
|
+
if ((await this.liveInstall(orgId, itemId)) !== undefined) {
|
|
473
|
+
await this.recordSwitch(orgId, actor, itemId, true);
|
|
474
|
+
}
|
|
475
|
+
else {
|
|
476
|
+
await this.install(orgId, actor, itemId, body.inputs ?? {}, actorTokenId, auditDetail);
|
|
477
|
+
}
|
|
478
|
+
return { kind: "done", item: await this.itemOf(orgId, actor, itemId) };
|
|
479
|
+
}
|
|
480
|
+
if (!switchable(item)) {
|
|
481
|
+
throw new ApiError("plugin.scope_locked", "This plugin is built in: it is on for every organization and cannot be switched off here");
|
|
482
|
+
}
|
|
483
|
+
const live = await this.liveInstall(orgId, itemId);
|
|
484
|
+
if (live === undefined) {
|
|
485
|
+
await this.recordSwitch(orgId, actor, itemId, false);
|
|
486
|
+
return { kind: "done", item: await this.itemOf(orgId, actor, itemId) };
|
|
487
|
+
}
|
|
488
|
+
// The platform default theme is locked on (themes spec §7): refused at the preview already;
|
|
489
|
+
// the uninstall's transaction checks again before it writes
|
|
490
|
+
await this.pluginInstaller.assertKeepsPlatformDefault(orgId, live.id);
|
|
491
|
+
const preview = await this.pluginInstaller.previewUninstall(orgId, live.id);
|
|
492
|
+
const confirm = uninstallPreviewHash(preview);
|
|
493
|
+
if (body.confirm === undefined)
|
|
494
|
+
return { kind: "preview", preview, confirm };
|
|
495
|
+
// The hash is re-checked and the switch row written inside the uninstall's transaction
|
|
496
|
+
await this.pluginInstaller.uninstall(orgId, actor, live.id, opts, { expectHash: body.confirm });
|
|
497
|
+
return { kind: "done", item: await this.itemOf(orgId, actor, itemId) };
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* `DELETE plugin-installs/:installId` of a catalog plugin follows the switch-off semantics: builtin
|
|
501
|
+
* items are refused (`plugin.scope_locked`) unless the install is not live (failed, or
|
|
502
|
+
* `installing`: the installer cleans up a stale one and refuses a fresh one). Removing a live
|
|
503
|
+
* install writes the switch row false in the uninstall's transaction (an `all` item then stays
|
|
504
|
+
* off in the org); removing a failed or stale one writes none.
|
|
505
|
+
*/
|
|
506
|
+
async uninstall(orgId, actor, installId, actorTokenId,
|
|
507
|
+
/** Merged into the audit detail (a write made through the Platform tool). */
|
|
508
|
+
auditDetail) {
|
|
509
|
+
if (!UUID_RE.test(installId))
|
|
510
|
+
throw new ApiError("plugin.install_not_found", "Plugin install not found");
|
|
511
|
+
const row = await this.db
|
|
512
|
+
.selectFrom("plugin_installs as a")
|
|
513
|
+
.innerJoin("catalog_items as i", "i.id", "a.item_id")
|
|
514
|
+
.select(["i.scope", "i.builtin", "a.status"])
|
|
515
|
+
.where("a.id", "=", installId)
|
|
516
|
+
.where("a.org_id", "=", orgId)
|
|
517
|
+
.executeTakeFirst();
|
|
518
|
+
// A failed or stuck install is cleaned up whatever the scope (it is not on anyway)
|
|
519
|
+
const live = row?.status === "installed" || row?.status === "upgrading";
|
|
520
|
+
if (row !== undefined && live && !switchable(row)) {
|
|
521
|
+
throw new ApiError("plugin.scope_locked", "This plugin is built in: it is on for every organization and cannot be uninstalled here");
|
|
522
|
+
}
|
|
523
|
+
return this.pluginInstaller.uninstall(orgId, actor, installId, {
|
|
524
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
525
|
+
...(auditDetail !== undefined && { auditDetail }),
|
|
526
|
+
},
|
|
527
|
+
// only a live install was on: removing a failed or stale one writes no switch row, so an
|
|
528
|
+
// item its scope wants stays wanted and the sync installs it again
|
|
529
|
+
row !== undefined && live ? {} : undefined);
|
|
530
|
+
}
|
|
531
|
+
async itemOf(orgId, accountId, itemId) {
|
|
532
|
+
const [item] = await this.list(orgId, accountId, itemId);
|
|
533
|
+
if (!item)
|
|
534
|
+
throw itemNotFound();
|
|
535
|
+
return item;
|
|
328
536
|
}
|
|
329
|
-
/**
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
537
|
+
/**
|
|
538
|
+
* Writes the org's switch row of the item under the org row lock. The item row is locked FOR
|
|
539
|
+
* SHARE first (exclusive with a scope change, an unshare, ruling P3-25, and an owner's delete or
|
|
540
|
+
* transfer); switching on re-checks that the org may still see it; the install path re-checks the same in `assertItemInstallable`.
|
|
541
|
+
*/
|
|
542
|
+
async recordSwitch(orgId, actor, itemId, enabled) {
|
|
543
|
+
await this.orgLock.lock(orgId);
|
|
544
|
+
// Both directions lock the item row FOR SHARE: an owner's delete or transfer (FOR UPDATE)
|
|
545
|
+
// decides on who uses it, so a switch-off racing it must not change that answer meanwhile
|
|
546
|
+
const item = await this.db
|
|
334
547
|
.selectFrom("catalog_items")
|
|
335
|
-
.select(["
|
|
548
|
+
.select(["scope", "builtin"])
|
|
336
549
|
.where("id", "=", itemId)
|
|
550
|
+
.where("deleted_at", "is", null)
|
|
337
551
|
.forShare()
|
|
338
552
|
.executeTakeFirst();
|
|
339
|
-
if (
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
.
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
return this.requests.requestDeployment(orgId, actor, locked, body.version, opts);
|
|
553
|
+
if (enabled) {
|
|
554
|
+
if (!item)
|
|
555
|
+
throw itemNotFound();
|
|
556
|
+
const listed = await this.db
|
|
557
|
+
.selectFrom("catalog_item_scope_orgs")
|
|
558
|
+
.select("item_id")
|
|
559
|
+
.where("item_id", "=", itemId)
|
|
560
|
+
.where("org_id", "=", orgId)
|
|
561
|
+
.executeTakeFirst();
|
|
562
|
+
if (!visibleTo({ scope: item.builtin ? "all" : item.scope }, listed !== undefined)) {
|
|
563
|
+
throw itemNotFound();
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
await upsertOrgSwitch(this.db, orgId, itemId, enabled, actor);
|
|
354
567
|
}
|
|
355
568
|
/** The actor can install something in the org (forbidden otherwise), checked before item errors. */
|
|
356
569
|
async assertCanInstall(orgId, actor) {
|
|
@@ -362,10 +575,7 @@ let OrgCatalogService = class OrgCatalogService {
|
|
|
362
575
|
};
|
|
363
576
|
__decorate([
|
|
364
577
|
Transactional()
|
|
365
|
-
], OrgCatalogService.prototype, "
|
|
366
|
-
__decorate([
|
|
367
|
-
Transactional()
|
|
368
|
-
], OrgCatalogService.prototype, "upgradeRequestIfNeeded", null);
|
|
578
|
+
], OrgCatalogService.prototype, "recordSwitch", null);
|
|
369
579
|
__decorate([
|
|
370
580
|
Transactional()
|
|
371
581
|
], OrgCatalogService.prototype, "assertCanInstall", null);
|
|
@@ -375,10 +585,9 @@ OrgCatalogService = __decorate([
|
|
|
375
585
|
__param(1, Inject(OrgLock)),
|
|
376
586
|
__param(2, Inject(StorageService)),
|
|
377
587
|
__param(3, Inject(ExtensionRegistry)),
|
|
378
|
-
__param(4, Inject(
|
|
379
|
-
__param(5, Inject(
|
|
380
|
-
__param(6, Inject(
|
|
381
|
-
__param(7, Inject(
|
|
382
|
-
__param(8, Inject(TransactionHost))
|
|
588
|
+
__param(4, Inject(PluginInstaller)),
|
|
589
|
+
__param(5, Inject(KERNEL_LOGGER)),
|
|
590
|
+
__param(6, Inject(TransactionHost)),
|
|
591
|
+
__param(7, Inject(ExtensionAvailability))
|
|
383
592
|
], OrgCatalogService);
|
|
384
593
|
export { OrgCatalogService };
|