@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
|
@@ -11,21 +11,24 @@ import { isSafePackagePath, marketplaceEntryVersion, } from "@capybara-hq/plugin
|
|
|
11
11
|
import { Inject, Injectable } from "@nestjs/common";
|
|
12
12
|
import { sql } from "kysely";
|
|
13
13
|
import { ApiError } from "../errors.js";
|
|
14
|
-
import {
|
|
14
|
+
import { ExtensionAdmin } from "../extensions/admin-view.js";
|
|
15
15
|
import { ExtensionInstalls } from "../extensions/installs.js";
|
|
16
|
+
import { PluginInstallLock } from "../extensions/locks.js";
|
|
16
17
|
import { audit } from "../identity/audit.js";
|
|
17
|
-
import {
|
|
18
|
+
import { SuperAdminLock } from "../identity/super-admin.js";
|
|
18
19
|
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
19
20
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
20
21
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
21
22
|
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
22
23
|
import { sameRepository } from "../packages/provenance.js";
|
|
23
|
-
import {
|
|
24
|
+
import { assertNotPlatformDefault } from "../themes/theme-usage.js";
|
|
25
|
+
import { countInstalls, inAuthorOrder, itemConfirmations, itemScopeFacts, itemView, marketplaceLatest, versionUsable, } from "./catalog-items.js";
|
|
24
26
|
import { expandGitUrl, GitSourceError, gitErrorDetails, normalGitPath, readGitTreeAndOids, resolveGitCommit, } from "./git-source.js";
|
|
25
27
|
import { fetchMarketplaceArchive, marketplaceNetPolicy, marketplaceUrlProblem, } from "./marketplace-fetch.js";
|
|
26
|
-
import { entryCompatible, entrySourceHost, HOST_VERSIONS, hostAllowed, loadMarketplaceEntry, MarketplacesService, pluginNameFrom, } from "./marketplaces.service.js";
|
|
28
|
+
import { assertEntryNotDeprecated, entryCompatible, entrySourceHost, HOST_VERSIONS, hostAllowed, loadMarketplaceEntry, MarketplacesService, pluginNameFrom, } from "./marketplaces.service.js";
|
|
29
|
+
import { releaseExtensionClaim } from "./ownership.js";
|
|
27
30
|
import { PluginImport } from "./plugin-import.js";
|
|
28
|
-
import { cancelPendingRequests } from "./
|
|
31
|
+
import { cancelPendingRequests } from "./request-rules.js";
|
|
29
32
|
import { newestFirst } from "./versions.js";
|
|
30
33
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
31
34
|
const notFound = () => new ApiError("catalog.item_not_found", "Catalog item not found");
|
|
@@ -77,34 +80,41 @@ function gitSource(loc, read, pinned) {
|
|
|
77
80
|
export const CATALOG_LIST_DEFAULT_LIMIT = 200;
|
|
78
81
|
export const CATALOG_LIST_MAX_LIMIT = 1000;
|
|
79
82
|
/**
|
|
80
|
-
*
|
|
83
|
+
* Platform catalog items (D9 / C21 / C22, `/api/v1/admin/catalog/*`, super admins only). One
|
|
81
84
|
* kind: every item is a plugin (spec §4), imported through {@link PluginImport} (prepare -> confirm,
|
|
82
|
-
* one review); this service lists and shows items,
|
|
83
|
-
*
|
|
85
|
+
* one review, whose confirm installs the plugin's extension); this service lists and shows items,
|
|
86
|
+
* deletes, and prepares marketplace imports (scope and disable: `CatalogScopeService`). Stateless,
|
|
87
|
+
* shared by every replica.
|
|
84
88
|
*/
|
|
85
89
|
let CatalogService = class CatalogService {
|
|
86
90
|
kdb;
|
|
87
91
|
adminLock;
|
|
88
92
|
config;
|
|
89
93
|
installs;
|
|
90
|
-
|
|
94
|
+
admin;
|
|
91
95
|
pluginImport;
|
|
92
96
|
marketplaces;
|
|
97
|
+
installLock;
|
|
93
98
|
txHost;
|
|
94
99
|
constructor(kdb,
|
|
95
|
-
/** The
|
|
96
|
-
adminLock, config, installs,
|
|
100
|
+
/** The super admin lock (identity/super-admin.ts): joins the caller's transaction. */
|
|
101
|
+
adminLock, config, installs,
|
|
102
|
+
/** The deployment's extensions with their approvals (what is pending confirmation). */
|
|
103
|
+
admin,
|
|
97
104
|
/** Plugin import (a marketplace entry goes through its prepare). */
|
|
98
105
|
pluginImport,
|
|
99
|
-
/** The token of
|
|
100
|
-
marketplaces,
|
|
106
|
+
/** The token of a custom marketplace (sent only to its URL's origin). */
|
|
107
|
+
marketplaces,
|
|
108
|
+
/** Serializes a claim release with an install of that name still committing (F10). */
|
|
109
|
+
installLock, txHost) {
|
|
101
110
|
this.kdb = kdb;
|
|
102
111
|
this.adminLock = adminLock;
|
|
103
112
|
this.config = config;
|
|
104
113
|
this.installs = installs;
|
|
105
|
-
this.
|
|
114
|
+
this.admin = admin;
|
|
106
115
|
this.pluginImport = pluginImport;
|
|
107
116
|
this.marketplaces = marketplaces;
|
|
117
|
+
this.installLock = installLock;
|
|
108
118
|
this.txHost = txHost;
|
|
109
119
|
}
|
|
110
120
|
/** The kernel-schema handle of the current context (the transaction, else the pool). */
|
|
@@ -124,7 +134,8 @@ let CatalogService = class CatalogService {
|
|
|
124
134
|
/**
|
|
125
135
|
* Prepares the import of one marketplace entry (C25 / C26, spec §5.2): `version` defaults to the
|
|
126
136
|
* newest compatible version the marketplace lists for `name`; the entry must be compatible with
|
|
127
|
-
* the host (`marketplace.incompatible`)
|
|
137
|
+
* the host (`marketplace.incompatible`) and not deprecated (`marketplace.entry_deprecated`, 409; the
|
|
138
|
+
* confirm does not read the marketplace again); an npm source is downloaded from the configured registry
|
|
128
139
|
* and an archive source from its URL, both always verified against the marketplace's integrity
|
|
129
140
|
* (`marketplace.integrity_mismatch`, nothing written). A `path` source is read from the git
|
|
130
141
|
* marketplace's repository at its last refreshed commit (an http marketplace has none:
|
|
@@ -146,6 +157,7 @@ let CatalogService = class CatalogService {
|
|
|
146
157
|
if (!entryCompatible(entry)) {
|
|
147
158
|
throw new ApiError("marketplace.incompatible", `${entry.name}${version !== null ? `@${version}` : ""} needs kernel >= ${entry.minKernel}; this deployment runs kernel ${HOST_VERSIONS.kernel}`);
|
|
148
159
|
}
|
|
160
|
+
assertEntryNotDeprecated(entry);
|
|
149
161
|
const src = entry.source;
|
|
150
162
|
const host = entrySourceHost(entry);
|
|
151
163
|
if (host !== undefined && !hostAllowed(host, config)) {
|
|
@@ -153,6 +165,7 @@ let CatalogService = class CatalogService {
|
|
|
153
165
|
}
|
|
154
166
|
const prepareOpts = {
|
|
155
167
|
...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
|
|
168
|
+
...(opts.auditDetail !== undefined && { auditDetail: opts.auditDetail }),
|
|
156
169
|
expect: {
|
|
157
170
|
marketplace: {
|
|
158
171
|
name: entry.name,
|
|
@@ -289,6 +302,7 @@ let CatalogService = class CatalogService {
|
|
|
289
302
|
: where.detail.path.split("/").pop();
|
|
290
303
|
const r = await this.pluginImport.prepareGit(actor, read.files, { kind: "git", ref: where.ref, detail: where.detail }, {
|
|
291
304
|
...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
|
|
305
|
+
...(opts.auditDetail !== undefined && { auditDetail: opts.auditDetail }),
|
|
292
306
|
fallback: {
|
|
293
307
|
name: pluginNameFrom(segment),
|
|
294
308
|
version: gitFallbackVersion(read.commit),
|
|
@@ -327,6 +341,25 @@ let CatalogService = class CatalogService {
|
|
|
327
341
|
}
|
|
328
342
|
/** Same as {@link list}, plus the offset of the next page (null when there is none). */
|
|
329
343
|
async page(q = {}) {
|
|
344
|
+
// `pending`: every item waiting for a confirmation (one list, not paged: the pending set is small)
|
|
345
|
+
if (q.pending === true) {
|
|
346
|
+
const all = await this.page({
|
|
347
|
+
...(q.includeDeleted && { includeDeleted: true }),
|
|
348
|
+
limit: CATALOG_LIST_MAX_LIMIT,
|
|
349
|
+
});
|
|
350
|
+
const items = [...all.items];
|
|
351
|
+
let next = all.nextOffset;
|
|
352
|
+
while (next !== null) {
|
|
353
|
+
const more = await this.page({
|
|
354
|
+
...(q.includeDeleted && { includeDeleted: true }),
|
|
355
|
+
limit: CATALOG_LIST_MAX_LIMIT,
|
|
356
|
+
offset: next,
|
|
357
|
+
});
|
|
358
|
+
items.push(...more.items);
|
|
359
|
+
next = more.nextOffset;
|
|
360
|
+
}
|
|
361
|
+
return { items: items.filter((i) => i.pending), nextOffset: null };
|
|
362
|
+
}
|
|
330
363
|
const limit = Math.min(Math.max(1, q.limit ?? CATALOG_LIST_DEFAULT_LIMIT), CATALOG_LIST_MAX_LIMIT);
|
|
331
364
|
const offset = Math.max(0, q.offset ?? 0);
|
|
332
365
|
let query = this.db
|
|
@@ -354,19 +387,29 @@ let CatalogService = class CatalogService {
|
|
|
354
387
|
"integrity",
|
|
355
388
|
"source_detail",
|
|
356
389
|
"imported_at",
|
|
390
|
+
"manifest",
|
|
391
|
+
"source_format",
|
|
392
|
+
"applied_at",
|
|
393
|
+
"rejected_at",
|
|
357
394
|
])
|
|
358
395
|
.where("item_id", "in", items.map((i) => i.id))
|
|
359
396
|
.execute();
|
|
397
|
+
const platformOwned = new Set(items.filter((i) => i.owner_org_id === null).map((i) => i.id));
|
|
360
398
|
const byItem = new Map();
|
|
361
399
|
for (const v of versions) {
|
|
400
|
+
// a platform item offers only versions it may use (a transferred org item's rejected or
|
|
401
|
+
// never-applied uploads stay out, ruling P3-52); an org item's pending ones show in 待确认
|
|
402
|
+
if (platformOwned.has(v.item_id) && !versionUsable(v))
|
|
403
|
+
continue;
|
|
362
404
|
const list = byItem.get(v.item_id) ?? [];
|
|
363
405
|
list.push(v);
|
|
364
406
|
byItem.set(v.item_id, list);
|
|
365
407
|
}
|
|
366
408
|
const installs = await countInstalls(this.db, items, byItem);
|
|
367
409
|
const latest = await marketplaceLatest(this.db, this.config.get(), items, byItem);
|
|
410
|
+
const facts = await itemScopeFacts(this.db, items, await itemConfirmations(this.admin, items, byItem));
|
|
368
411
|
return {
|
|
369
|
-
items: items.map((i) => itemView(i, byItem.get(i.id) ?? [], installs.get(i.id) ?? 0, latest.get(i.id))),
|
|
412
|
+
items: items.map((i) => itemView(i, byItem.get(i.id) ?? [], installs.get(i.id) ?? 0, latest.get(i.id), facts.get(i.id))),
|
|
370
413
|
nextOffset,
|
|
371
414
|
};
|
|
372
415
|
}
|
|
@@ -381,20 +424,22 @@ let CatalogService = class CatalogService {
|
|
|
381
424
|
.executeTakeFirst();
|
|
382
425
|
if (!item)
|
|
383
426
|
throw notFound();
|
|
384
|
-
const rows = await this.db
|
|
427
|
+
const rows = (await this.db
|
|
385
428
|
.selectFrom("catalog_item_versions")
|
|
386
429
|
.selectAll()
|
|
387
430
|
.where("item_id", "=", itemId)
|
|
388
|
-
.execute();
|
|
431
|
+
.execute()).filter((v) => item.owner_org_id !== null || versionUsable(v));
|
|
389
432
|
rows.sort((a, b) => newestFirst({ version: a.version, importedAt: a.imported_at }, { version: b.version, importedAt: b.imported_at }));
|
|
390
433
|
const byItem = new Map([[item.id, rows]]);
|
|
391
434
|
const installs = await countInstalls(this.db, [item], byItem);
|
|
392
435
|
const latest = await marketplaceLatest(this.db, this.config.get(), [item], byItem);
|
|
436
|
+
const facts = await itemScopeFacts(this.db, [item], await itemConfirmations(this.admin, [item], byItem));
|
|
393
437
|
return {
|
|
394
438
|
item: {
|
|
395
|
-
...itemView(item, rows, installs.get(item.id) ?? 0, latest.get(item.id)),
|
|
439
|
+
...itemView(item, rows, installs.get(item.id) ?? 0, latest.get(item.id), facts.get(item.id)),
|
|
396
440
|
packageName: item.package_name,
|
|
397
441
|
deletedAt: item.deleted_at?.toISOString() ?? null,
|
|
442
|
+
platformVersion: item.platform_synced_version ?? item.latest_version,
|
|
398
443
|
},
|
|
399
444
|
versions: rows.map((v) => ({
|
|
400
445
|
version: v.version,
|
|
@@ -403,7 +448,7 @@ let CatalogService = class CatalogService {
|
|
|
403
448
|
integrity: v.integrity,
|
|
404
449
|
contentDigest: v.content_digest,
|
|
405
450
|
sourceDetail: v.source_detail ?? null,
|
|
406
|
-
manifest: v.manifest,
|
|
451
|
+
manifest: inAuthorOrder(v.manifest, v.appearance_order),
|
|
407
452
|
files: v.files,
|
|
408
453
|
size: Number(v.size),
|
|
409
454
|
extensionSha256: v.extension_sha256,
|
|
@@ -417,132 +462,159 @@ let CatalogService = class CatalogService {
|
|
|
417
462
|
};
|
|
418
463
|
}
|
|
419
464
|
/**
|
|
420
|
-
*
|
|
421
|
-
*
|
|
465
|
+
* Deletes the item (soft delete, audit `catalog.removed`; requests still pending are cancelled in
|
|
466
|
+
* the same transaction): versions and stored files are kept (installed components still refer to
|
|
467
|
+
* them), its themes are soft-deleted (nothing refers to their rows), organizations no longer see
|
|
468
|
+
* it; the same name can later be imported again as a new item. Deleted / missing -> `catalog.item_not_found`. A platform plugin whose extension is
|
|
469
|
+
* still enabled on the deployment -> 409 `catalog.extension_enabled` (details
|
|
470
|
+
* `[{ extension, displayName }]`): disable it on the Extensions page first, as an uninstall
|
|
471
|
+
* requires. A disabled extension keeps its install record (the super admin uninstalls it on the
|
|
472
|
+
* Extensions page); an org-owned item's extension is taken out by `OwnedPluginCleanup`.
|
|
422
473
|
*/
|
|
423
|
-
async
|
|
474
|
+
async remove(actor, itemId, opts = {}) {
|
|
424
475
|
if (!UUID_RE.test(itemId))
|
|
425
476
|
throw notFound();
|
|
426
|
-
await this.
|
|
427
|
-
return this.view(itemId);
|
|
477
|
+
await this.writeRemove(actor, itemId, opts);
|
|
428
478
|
}
|
|
429
|
-
|
|
430
|
-
|
|
479
|
+
/**
|
|
480
|
+
* The precheck of {@link remove} (the Platform tool's `plugins.delete`): throws what the delete
|
|
481
|
+
* would throw for an enabled extension; read-only, no locks.
|
|
482
|
+
*/
|
|
483
|
+
async assertRemovable(itemId) {
|
|
484
|
+
if (!UUID_RE.test(itemId))
|
|
485
|
+
throw notFound();
|
|
486
|
+
await this.assertExtensionDisabled(this.kdb.db, itemId);
|
|
487
|
+
}
|
|
488
|
+
async writeRemove(actor, itemId, opts) {
|
|
431
489
|
await this.adminLock.lockAndAuthorize(actor);
|
|
432
|
-
|
|
490
|
+
// The item row before the install lock the check below takes (the global lock order: the
|
|
491
|
+
// item, then the install lock, ruling P3-50; also the item before its theme rows in removeIn)
|
|
492
|
+
await this.db
|
|
433
493
|
.selectFrom("catalog_items")
|
|
434
|
-
.select(
|
|
494
|
+
.select("id")
|
|
435
495
|
.where("id", "=", itemId)
|
|
436
|
-
.where("deleted_at", "is", null)
|
|
437
496
|
.forUpdate()
|
|
438
|
-
.executeTakeFirst();
|
|
439
|
-
if (!row)
|
|
440
|
-
throw notFound();
|
|
441
|
-
if (row.policy === policy)
|
|
442
|
-
return;
|
|
443
|
-
await t
|
|
444
|
-
.updateTable("catalog_items")
|
|
445
|
-
.set({ policy, updated_at: sql `now()` })
|
|
446
|
-
.where("id", "=", itemId)
|
|
447
497
|
.execute();
|
|
448
|
-
await
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
action: "catalog.policy_changed",
|
|
452
|
-
target: itemId,
|
|
453
|
-
detail: { name: row.name, from: row.policy, to: policy },
|
|
454
|
-
});
|
|
498
|
+
await this.assertExtensionDisabled(this.db, itemId, true);
|
|
499
|
+
if ((await this.removeIn(actor, itemId, opts)) === null)
|
|
500
|
+
throw notFound();
|
|
455
501
|
}
|
|
456
502
|
/**
|
|
457
|
-
*
|
|
458
|
-
*
|
|
459
|
-
*
|
|
460
|
-
* item. Deleted / missing -> `catalog.item_not_found`.
|
|
503
|
+
* A live platform item whose extension (the install of the item's name from its package) is
|
|
504
|
+
* enabled -> 409 `catalog.extension_enabled`. With `lock`, under the per-name install lock an
|
|
505
|
+
* enable takes too (the caller's transaction), so no enable slips in between.
|
|
461
506
|
*/
|
|
462
|
-
async
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
507
|
+
async assertExtensionDisabled(db, itemId, lock = false) {
|
|
508
|
+
const item = await db
|
|
509
|
+
.selectFrom("catalog_items")
|
|
510
|
+
.select(["name", "package_name", "owner_org_id", "display_name"])
|
|
511
|
+
.where("id", "=", itemId)
|
|
512
|
+
.where("deleted_at", "is", null)
|
|
513
|
+
.executeTakeFirst();
|
|
514
|
+
if (!item || item.owner_org_id !== null)
|
|
515
|
+
return;
|
|
516
|
+
if (lock)
|
|
517
|
+
await this.installLock.lock(item.name);
|
|
518
|
+
const install = await db
|
|
519
|
+
.selectFrom("extension_installs as x")
|
|
520
|
+
.innerJoin("extension_packages as p", "p.sha256", "x.sha256")
|
|
521
|
+
.select(["x.desired_state", "p.package_name"])
|
|
522
|
+
.where("x.name", "=", item.name)
|
|
523
|
+
.executeTakeFirst();
|
|
524
|
+
if (install === undefined || install.desired_state !== "enabled")
|
|
525
|
+
return;
|
|
526
|
+
if (item.package_name !== null && install.package_name !== item.package_name)
|
|
527
|
+
return;
|
|
528
|
+
throw new ApiError("catalog.extension_enabled", `The extension "${item.name}" of this plugin is enabled on the deployment; disable it on the Extensions page first, then delete the plugin`, [{ extension: item.name, displayName: item.display_name ?? null }]);
|
|
466
529
|
}
|
|
467
|
-
|
|
530
|
+
/**
|
|
531
|
+
* The soft delete of {@link remove} in the caller's transaction, without its super admin check
|
|
532
|
+
* (pre-flight F14: the super admin's remove and an owner's delete or an org deletion,
|
|
533
|
+
* `OwnedItems.transferOrRemove`, share it): `deleted_at` set, a pending version cleared, the
|
|
534
|
+
* extension name claim of a first upload still waiting released (ruling P3-37, F10), its themes
|
|
535
|
+
* soft-deleted (refused with 409 `theme.platform_default` while one is the platform default),
|
|
536
|
+
* pending requests cancelled, audit `catalog.removed` (`actor` null: the kernel). Returns the
|
|
537
|
+
* removed item's name, or null when it is gone already.
|
|
538
|
+
*/
|
|
539
|
+
async removeIn(actor, itemId, opts = {}) {
|
|
468
540
|
const t = this.db;
|
|
469
|
-
|
|
541
|
+
const now = sql `now()`;
|
|
542
|
+
// Its themes go with it: refused while one is the platform default (themes spec §7), before
|
|
543
|
+
// anything is written
|
|
544
|
+
// (the theme rows FOR UPDATE first: the theme lock order is item, theme row, `uiTheme`)
|
|
545
|
+
const themes = await t
|
|
546
|
+
.selectFrom("platform_themes")
|
|
547
|
+
.select("id")
|
|
548
|
+
.where("catalog_item_id", "=", itemId)
|
|
549
|
+
.where("deleted_at", "is", null)
|
|
550
|
+
.forUpdate()
|
|
551
|
+
.execute();
|
|
552
|
+
await assertNotPlatformDefault(t, themes.map((r) => r.id), () => "gone");
|
|
470
553
|
const row = await t
|
|
471
554
|
.updateTable("catalog_items")
|
|
472
555
|
.set({
|
|
473
|
-
deleted_at:
|
|
474
|
-
updated_at:
|
|
556
|
+
deleted_at: now,
|
|
557
|
+
updated_at: now,
|
|
558
|
+
pending_version: null,
|
|
559
|
+
pending_by: null,
|
|
560
|
+
pending_at: null,
|
|
475
561
|
})
|
|
476
562
|
.where("id", "=", itemId)
|
|
477
563
|
.where("deleted_at", "is", null)
|
|
478
|
-
.returning(["name"])
|
|
564
|
+
.returning(["name", "awaiting_confirmation", "package_name", "owner_org_id"])
|
|
479
565
|
.executeTakeFirst();
|
|
480
566
|
if (!row)
|
|
481
|
-
|
|
567
|
+
return null;
|
|
568
|
+
// An org upload still waiting: free the name when nothing is installed under its claim
|
|
569
|
+
// (ruling P3-37, pre-flight F10). Under the install lock, so an install a running confirmation
|
|
570
|
+
// is committing is seen: that claim stays for its take-out or the cleanup job
|
|
571
|
+
if (row.awaiting_confirmation && row.package_name !== null) {
|
|
572
|
+
await this.installLock.lock(row.name);
|
|
573
|
+
await releaseExtensionClaim(t, row.name, row.package_name);
|
|
574
|
+
}
|
|
575
|
+
// Its themes go with it (themes spec §6): nothing refers to a theme row (a theme picked by an
|
|
576
|
+
// org or a person is an id that falls back once no live theme has it)
|
|
577
|
+
await t
|
|
578
|
+
.updateTable("platform_themes")
|
|
579
|
+
.set({ deleted_at: now, updated_at: now })
|
|
580
|
+
.where("catalog_item_id", "=", itemId)
|
|
581
|
+
.where("deleted_at", "is", null)
|
|
582
|
+
.execute();
|
|
482
583
|
// Pending requests for a deleted item are pointless: cancel them in the same transaction
|
|
483
584
|
await cancelPendingRequests(t, { itemId }, actor, "item_removed", opts);
|
|
484
585
|
await audit(t, {
|
|
485
586
|
actorAccountId: actor,
|
|
486
587
|
...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
|
|
588
|
+
// an org-owned item's removal shows in its owner org's audit log too
|
|
589
|
+
...(row.owner_org_id !== null && { orgId: row.owner_org_id }),
|
|
487
590
|
action: "catalog.removed",
|
|
488
591
|
target: itemId,
|
|
489
|
-
detail: {
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
* state; audit `extension.installed`), with the install record linked to the item (F-AA). The
|
|
496
|
-
* returned status may be `pending_approval` when the version's permissions are not approved yet.
|
|
497
|
-
* A version without an extension -> `catalog.no_extension`; item or version missing ->
|
|
498
|
-
* `catalog.item_not_found`.
|
|
499
|
-
*/
|
|
500
|
-
async installToDeployment(actor, itemId, version, opts = {}) {
|
|
501
|
-
if (!UUID_RE.test(itemId))
|
|
502
|
-
throw notFound();
|
|
503
|
-
const item = await this.db
|
|
504
|
-
.selectFrom("catalog_items")
|
|
505
|
-
.select(["id", "name"])
|
|
506
|
-
.where("id", "=", itemId)
|
|
507
|
-
.where("deleted_at", "is", null)
|
|
508
|
-
.executeTakeFirst();
|
|
509
|
-
if (!item)
|
|
510
|
-
throw notFound();
|
|
511
|
-
const v = await this.db
|
|
512
|
-
.selectFrom("catalog_item_versions")
|
|
513
|
-
.select("extension_sha256")
|
|
514
|
-
.where("item_id", "=", itemId)
|
|
515
|
-
.where("version", "=", version)
|
|
516
|
-
.executeTakeFirst();
|
|
517
|
-
if (!v) {
|
|
518
|
-
throw new ApiError("catalog.item_not_found", `Version ${version} of this item not found`);
|
|
519
|
-
}
|
|
520
|
-
if (v.extension_sha256 === null) {
|
|
521
|
-
throw new ApiError("catalog.no_extension", `Plugin ${item.name} ${version} has no extension; there is nothing to install on the deployment`);
|
|
522
|
-
}
|
|
523
|
-
return this.ops.install(item.name, v.extension_sha256, actor, opts.actorTokenId, {
|
|
524
|
-
catalogItemId: itemId,
|
|
592
|
+
detail: {
|
|
593
|
+
name: row.name,
|
|
594
|
+
...(row.owner_org_id !== null && { ownerOrgId: row.owner_org_id }),
|
|
595
|
+
...(opts.reason !== undefined && { reason: opts.reason }),
|
|
596
|
+
...opts.auditDetail,
|
|
597
|
+
},
|
|
525
598
|
});
|
|
526
|
-
|
|
527
|
-
async view(itemId) {
|
|
528
|
-
return (await this.get(itemId)).item;
|
|
599
|
+
return { name: row.name };
|
|
529
600
|
}
|
|
530
601
|
};
|
|
531
|
-
__decorate([
|
|
532
|
-
Transactional()
|
|
533
|
-
], CatalogService.prototype, "writePolicy", null);
|
|
534
602
|
__decorate([
|
|
535
603
|
Transactional()
|
|
536
604
|
], CatalogService.prototype, "writeRemove", null);
|
|
605
|
+
__decorate([
|
|
606
|
+
Transactional({ propagation: "mandatory" })
|
|
607
|
+
], CatalogService.prototype, "removeIn", null);
|
|
537
608
|
CatalogService = __decorate([
|
|
538
609
|
Injectable(),
|
|
539
610
|
__param(0, Inject(KernelDb)),
|
|
540
|
-
__param(1, Inject(
|
|
611
|
+
__param(1, Inject(SuperAdminLock)),
|
|
541
612
|
__param(2, Inject(KernelConfigService)),
|
|
542
613
|
__param(3, Inject(ExtensionInstalls)),
|
|
543
|
-
__param(4, Inject(
|
|
614
|
+
__param(4, Inject(ExtensionAdmin)),
|
|
544
615
|
__param(5, Inject(PluginImport)),
|
|
545
616
|
__param(6, Inject(MarketplacesService)),
|
|
546
|
-
__param(7, Inject(
|
|
617
|
+
__param(7, Inject(PluginInstallLock)),
|
|
618
|
+
__param(8, Inject(TransactionHost))
|
|
547
619
|
], CatalogService);
|
|
548
620
|
export { CatalogService };
|
|
@@ -13,16 +13,21 @@ import { item } from "./report.js";
|
|
|
13
13
|
export const GENERATED_AGENTS_DIR = ".capybara-generated/agents";
|
|
14
14
|
/** Claude Code tool names -> Capybara tool keys (spec §16.4; anything else is dropped). */
|
|
15
15
|
const TOOL_MAP = {
|
|
16
|
-
Bash: "
|
|
17
|
-
Read: "
|
|
18
|
-
Write: "
|
|
19
|
-
Edit: "
|
|
20
|
-
MultiEdit: "
|
|
21
|
-
Glob: "
|
|
22
|
-
Grep: "
|
|
23
|
-
Skill: "
|
|
24
|
-
|
|
25
|
-
ToolSearch: "
|
|
16
|
+
Bash: "Bash",
|
|
17
|
+
Read: "Read",
|
|
18
|
+
Write: "Write",
|
|
19
|
+
Edit: "Edit",
|
|
20
|
+
MultiEdit: "Edit",
|
|
21
|
+
Glob: "Glob",
|
|
22
|
+
Grep: "Grep",
|
|
23
|
+
Skill: "Skill",
|
|
24
|
+
AskUserQuestion: "AskUserQuestion",
|
|
25
|
+
ToolSearch: "ToolSearch",
|
|
26
|
+
Agent: "Agent",
|
|
27
|
+
Task: "Agent",
|
|
28
|
+
TodoWrite: "plugin__todo__write",
|
|
29
|
+
WebFetch: "WebFetch",
|
|
30
|
+
WebSearch: "WebSearch",
|
|
26
31
|
};
|
|
27
32
|
/** Claude ignores these for plugin agents: `not_applicable`. */
|
|
28
33
|
const NOT_APPLICABLE = new Set(["permissionMode", "hooks", "mcpServers"]);
|
|
@@ -836,6 +836,9 @@ export function translateClaudePlugin(files, o) {
|
|
|
836
836
|
// the raw Claude agents/*.md the tree still holds and parse them as Capybara templates
|
|
837
837
|
// (batch 12 review I1); normalizedManifest drops an empty list, so digests are unchanged
|
|
838
838
|
agents: agents.agents.map((a) => ({ path: `./${a.path}` })),
|
|
839
|
+
// always empty, for the same reason: a Claude Code plugin's themes/*.json are not Capybara
|
|
840
|
+
// themes (themes spec §4); normalizedManifest drops the empty list
|
|
841
|
+
themes: [],
|
|
839
842
|
};
|
|
840
843
|
const checked = parsePluginManifest(manifest);
|
|
841
844
|
if ("errors" in checked) {
|
package/dist/catalog/cli.d.ts
CHANGED
|
@@ -4,11 +4,21 @@ import { type ExtensionCli } from "../extensions/cli.js";
|
|
|
4
4
|
import type { KernelLogger } from "../log.js";
|
|
5
5
|
import { CatalogService } from "./catalog.service.js";
|
|
6
6
|
import { PluginImport } from "./plugin-import.js";
|
|
7
|
+
import type { PluginScope } from "./scope.js";
|
|
7
8
|
/** {@link openCatalogCli}'s result: the extension CLI context plus the catalog services. */
|
|
8
9
|
export interface CatalogCli extends ExtensionCli {
|
|
9
10
|
catalog: CatalogService;
|
|
10
11
|
/** Plugin import (prepare / confirm). The CLI acts without an account (actor `null`). */
|
|
11
12
|
imports: PluginImport;
|
|
13
|
+
/**
|
|
14
|
+
* After an import's confirm: enqueues the item's plugin scope sync, as the admin console's
|
|
15
|
+
* confirm does, when its scope turns it on by itself (`all` or `named`). A failure only warns
|
|
16
|
+
* (the next worker start enqueues every item); returns whether it was enqueued.
|
|
17
|
+
*/
|
|
18
|
+
enqueueScopeSync(item: {
|
|
19
|
+
id: string;
|
|
20
|
+
scope: PluginScope;
|
|
21
|
+
}): Promise<boolean>;
|
|
12
22
|
}
|
|
13
23
|
/** What the CLI can do with the deployment's object store, and why not when it cannot. */
|
|
14
24
|
export type CliObjectStore = {
|
|
@@ -35,7 +45,7 @@ export declare function loadCliObjectStore(cli: Pick<ExtensionCli, "inspected" |
|
|
|
35
45
|
* The CLI's plugin catalog context (`capybara plugins *`): {@link openExtensionCli} with the
|
|
36
46
|
* catalog's {@link CatalogImportModule}, so {@link PluginImport} and {@link CatalogService} are the
|
|
37
47
|
* kernel's providers. Imports run with actor `null` (the operator of the
|
|
38
|
-
* deployment, like `capybara extensions install`: no
|
|
48
|
+
* deployment, like `capybara extensions install`: no super-admin re-check, audits without an
|
|
39
49
|
* actor, permission snapshots written with source `cli`). Files of the plugin (skills, connector
|
|
40
50
|
* templates, icons) go to the deployment's object store, set up in-process from the declared or
|
|
41
51
|
* installed object-store extension (see {@link loadCliObjectStore}; an installed package is synced
|
package/dist/catalog/cli.js
CHANGED
|
@@ -2,17 +2,22 @@ import { mkdtemp, rm } from "node:fs/promises";
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { OBJECT_STORE_EXTENSION_POINT, } from "@capybara-hq/plugin-sdk";
|
|
5
|
+
import { ClientBuilds } from "../client/client-builds.service.js";
|
|
5
6
|
import { ApiError } from "../errors.js";
|
|
6
7
|
import { planApprovals, snapshotCovers } from "../extensions/approvals.js";
|
|
7
8
|
import { openExtensionCli } from "../extensions/cli.js";
|
|
8
9
|
import { assertSecretsReachable } from "../extensions/host.js";
|
|
9
10
|
import { importExtensionModule, matchesSection } from "../extensions/instance.js";
|
|
10
11
|
import { packageRootOf, syncPackage } from "../extensions/sync.js";
|
|
12
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
13
|
+
import { addJobOnce } from "../infra/queue/add-job-once.js";
|
|
14
|
+
import { REDIS } from "../infra/tokens.js";
|
|
11
15
|
import { packagePath } from "../packages/tgz.js";
|
|
12
16
|
import { PrefixedStorage } from "../storage/storage.service.js";
|
|
13
17
|
import { CatalogImportModule } from "./catalog.module.js";
|
|
14
18
|
import { CatalogService } from "./catalog.service.js";
|
|
15
19
|
import { PluginImport } from "./plugin-import.js";
|
|
20
|
+
import { PLUGIN_SCOPE_QUEUE, scopeItemJob } from "./scope-sync.js";
|
|
16
21
|
/**
|
|
17
22
|
* Sets up the deployment's object-store extension inside the CLI process. The CLI hosts no
|
|
18
23
|
* extensions, so this runs only the provider's `setup` with a context that offers `config` and
|
|
@@ -148,7 +153,7 @@ class CliStorage extends PrefixedStorage {
|
|
|
148
153
|
* The CLI's plugin catalog context (`capybara plugins *`): {@link openExtensionCli} with the
|
|
149
154
|
* catalog's {@link CatalogImportModule}, so {@link PluginImport} and {@link CatalogService} are the
|
|
150
155
|
* kernel's providers. Imports run with actor `null` (the operator of the
|
|
151
|
-
* deployment, like `capybara extensions install`: no
|
|
156
|
+
* deployment, like `capybara extensions install`: no super-admin re-check, audits without an
|
|
152
157
|
* actor, permission snapshots written with source `cli`). Files of the plugin (skills, connector
|
|
153
158
|
* templates, icons) go to the deployment's object store, set up in-process from the declared or
|
|
154
159
|
* installed object-store extension (see {@link loadCliObjectStore}; an installed package is synced
|
|
@@ -174,11 +179,34 @@ export async function openCatalogCli(config, log, opts = {}) {
|
|
|
174
179
|
// inspection (the registry), marketplace imports are not offered by the CLI.
|
|
175
180
|
const imports = cli.app.get(PluginImport);
|
|
176
181
|
imports.useCliStorage(storage);
|
|
182
|
+
// and so do the client files of a package with client code (stored with the package)
|
|
183
|
+
cli.app.get(ClientBuilds).useCliStorage(storage);
|
|
177
184
|
const catalog = cli.app.get(CatalogService);
|
|
185
|
+
const db = cli.app.get(KernelDb);
|
|
186
|
+
const redis = cli.app.get(REDIS);
|
|
178
187
|
return {
|
|
179
188
|
...cli,
|
|
180
189
|
catalog,
|
|
181
190
|
imports,
|
|
191
|
+
async enqueueScopeSync(item) {
|
|
192
|
+
if (item.scope === "optional")
|
|
193
|
+
return false;
|
|
194
|
+
try {
|
|
195
|
+
const row = await db.db
|
|
196
|
+
.selectFrom("catalog_items")
|
|
197
|
+
.select("scope_version")
|
|
198
|
+
.where("id", "=", item.id)
|
|
199
|
+
.executeTakeFirst();
|
|
200
|
+
if (!row)
|
|
201
|
+
return false;
|
|
202
|
+
await addJobOnce(redis, PLUGIN_SCOPE_QUEUE, scopeItemJob(item.id, row.scope_version));
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
log.warn("cannot enqueue the plugin scope sync; the next worker start converges the orgs", { itemId: item.id, err });
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
},
|
|
182
210
|
async close() {
|
|
183
211
|
await cli.close();
|
|
184
212
|
await removeSyncDir();
|