@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.10
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.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +57 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- 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 +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- 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 +868 -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 +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -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 +77 -0
- package/dist/background/tasks.service.js +216 -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 +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +232 -0
- package/dist/catalog/catalog-content.js +367 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- 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 +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -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 +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -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 +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +431 -472
- 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 +113 -0
- package/dist/catalog/org-extension.controller.js +271 -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 +801 -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 +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- 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 +118 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -202
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +36 -2
- package/dist/config/schema.js +226 -25
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -71
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +550 -25
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +135 -2
- package/dist/errors.js +135 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -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 +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -124
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +99 -36
- package/dist/extensions/bootstrap.js +290 -134
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- 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 +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- 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 +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -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 +50 -2
- package/dist/extensions/registry.js +91 -4
- 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 +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +86 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +46 -65
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- 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 +130 -38
- package/dist/identity/accounts.js +373 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- 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 +32 -15
- package/dist/identity/me.controller.js +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +42 -23
- package/dist/identity/settings.js +137 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- 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 +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +22 -13
- package/dist/index.js +16 -7
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -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/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -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 +7 -0
- package/dist/models/models.module.js +36 -0
- 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 +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -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 +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +45 -14
- package/dist/orgs/settings.service.js +110 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -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 +667 -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 +90 -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.ops.d.ts +36 -0
- package/dist/platform/ops/admin.ops.js +389 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -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 +717 -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 +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -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 +853 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.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 +378 -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 +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -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 +28 -0
- package/dist/platform/ops/platform.ops.js +204 -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/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -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 +39 -0
- package/dist/platform/platform-ops.module.js +122 -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 +63 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- 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/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-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/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -137
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- 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 +43 -0
- package/dist/runtime/run-control.js +89 -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 +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -237
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- 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 +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- 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 +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- 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 +121 -83
- package/dist/runtime/usage-report.js +355 -181
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -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 +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- 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 +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +137 -37
- 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 +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- 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 +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- 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 +30 -20
- 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 +52 -45
- 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 +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- 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/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- 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 +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- 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 +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +13 -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/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
// Reading a catalog version's stored content (templates, skills, agent templates, icons) and the
|
|
2
|
+
// org install helpers (no providers), shared by PluginInstaller, PlatformPluginUpdater and
|
|
3
|
+
// OrgCatalogService: kept out of org-catalog.service.ts so the installer's module never imports a
|
|
4
|
+
// module whose provider injects PluginInstaller (an ESM import cycle would run decorators early).
|
|
5
|
+
import { createHash } from "node:crypto";
|
|
6
|
+
import { parseAgentTemplate, parseConnectorTemplateFile, } from "@capybara-hq/plugin-sdk";
|
|
7
|
+
import { normalizeToolKeys } from "../agents/definition.js";
|
|
8
|
+
import { ApiError } from "../errors.js";
|
|
9
|
+
import { can } from "../orgs/roles.js";
|
|
10
|
+
import { packagePath } from "../packages/tgz.js";
|
|
11
|
+
import { checkSkillFiles, SkillArchiveError } from "../skills/package.js";
|
|
12
|
+
import { readDisplayFiles } from "./catalog-files.js";
|
|
13
|
+
import { iconProblem } from "./plugin-package.js";
|
|
14
|
+
import { satisfiesRange } from "./versions.js";
|
|
15
|
+
/**
|
|
16
|
+
* A connector template as an org sees it (the install wizard and the upgrade preview's inputs):
|
|
17
|
+
* presets and editable paths, no credentials.
|
|
18
|
+
*/
|
|
19
|
+
export function orgTemplateView(id, file) {
|
|
20
|
+
const t = file.template;
|
|
21
|
+
return {
|
|
22
|
+
id,
|
|
23
|
+
displayName: file.displayName,
|
|
24
|
+
description: file.description ?? "",
|
|
25
|
+
plugin: t.plugin,
|
|
26
|
+
connector: t.connector,
|
|
27
|
+
endpoint: t.endpoint,
|
|
28
|
+
editableEndpoint: t.editableEndpoint ?? [],
|
|
29
|
+
auth: t.auth,
|
|
30
|
+
ownership: t.ownership ??
|
|
31
|
+
(typeof t.auth.ownership === "string" ? t.auth.ownership : null),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const iconNotFound = () => new ApiError("catalog.icon_not_found", "This catalog item has no icon");
|
|
35
|
+
/**
|
|
36
|
+
* The digest of a skill's files (paths relative to the skill directory): equal digests = the same
|
|
37
|
+
* content. Shared by the org upgrade diff and the platform components.
|
|
38
|
+
*/
|
|
39
|
+
export function skillFilesDigest(files) {
|
|
40
|
+
return createHash("sha256")
|
|
41
|
+
.update(files
|
|
42
|
+
.map((f) => `${f.path}\0${f.sha256}\n`)
|
|
43
|
+
.sort()
|
|
44
|
+
.join(""))
|
|
45
|
+
.digest("hex");
|
|
46
|
+
}
|
|
47
|
+
/** The digest of the files under `dir/` of a catalog version (paths relative to it). */
|
|
48
|
+
export function dirDigest(row, dir) {
|
|
49
|
+
const prefix = `${dir}/`;
|
|
50
|
+
return skillFilesDigest(row.files
|
|
51
|
+
.filter((f) => f.path.startsWith(prefix))
|
|
52
|
+
.map((f) => ({ path: f.path.slice(prefix.length), sha256: f.sha256 })));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The item's latest version row; item missing, deleted or (when `includeDisabled` is false)
|
|
56
|
+
* disabled -> `catalog.item_not_found`.
|
|
57
|
+
*/
|
|
58
|
+
async function latestVersionRow(db, itemId, includeDisabled) {
|
|
59
|
+
if (!UUID_RE.test(itemId))
|
|
60
|
+
throw itemNotFound();
|
|
61
|
+
const item = await db
|
|
62
|
+
.selectFrom("catalog_items")
|
|
63
|
+
.select(["latest_version", "disabled"])
|
|
64
|
+
.where("id", "=", itemId)
|
|
65
|
+
.where("deleted_at", "is", null)
|
|
66
|
+
.executeTakeFirst();
|
|
67
|
+
// An item the caller cannot see is "not found" before any version / storage is read, so "no icon"
|
|
68
|
+
// never reveals that it exists
|
|
69
|
+
if (!item || (!includeDisabled && item.disabled))
|
|
70
|
+
throw itemNotFound();
|
|
71
|
+
const v = await db
|
|
72
|
+
.selectFrom("catalog_item_versions")
|
|
73
|
+
.select(["manifest", "object_prefix", "files"])
|
|
74
|
+
.where("item_id", "=", itemId)
|
|
75
|
+
.where("version", "=", item.latest_version)
|
|
76
|
+
.executeTakeFirst();
|
|
77
|
+
if (!v)
|
|
78
|
+
throw itemNotFound();
|
|
79
|
+
return { item, v };
|
|
80
|
+
}
|
|
81
|
+
/** The icon's path in the version's files (undefined without an icon). */
|
|
82
|
+
const iconPath = (v) => {
|
|
83
|
+
const icon = v.manifest.icon;
|
|
84
|
+
return icon === undefined ? undefined : packagePath(icon);
|
|
85
|
+
};
|
|
86
|
+
/** Whether the item's latest version has an icon; unreadable counts as none. */
|
|
87
|
+
export async function catalogHasIcon(db, itemId) {
|
|
88
|
+
try {
|
|
89
|
+
const { v } = await latestVersionRow(db, itemId, true);
|
|
90
|
+
const path = iconPath(v);
|
|
91
|
+
return path !== undefined && v.files.some((f) => f.path === path);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Reads the icon of the item's latest version (served only through kernel routes, with nosniff and
|
|
99
|
+
* a CSP sandbox in the response headers; the web only shows it with `<img>`). Item missing, deleted
|
|
100
|
+
* or (when `includeDisabled` is false) disabled -> `catalog.item_not_found` (decided before reading
|
|
101
|
+
* storage); no icon -> `catalog.icon_not_found`; stored content that is not a valid svg / png
|
|
102
|
+
* (checked at import, this guards against tampered storage) -> `internal`.
|
|
103
|
+
*/
|
|
104
|
+
export async function readCatalogIcon(db, itemId, includeDisabled) {
|
|
105
|
+
const { v } = await latestVersionRow(db, itemId, includeDisabled);
|
|
106
|
+
const path = iconPath(v);
|
|
107
|
+
const f = path === undefined ? undefined : v.files.find((x) => x.path === path);
|
|
108
|
+
if (path === undefined || !f)
|
|
109
|
+
throw iconNotFound();
|
|
110
|
+
const [file] = await readCatalogDisplayFiles(db, [f]);
|
|
111
|
+
if (!file)
|
|
112
|
+
throw iconNotFound();
|
|
113
|
+
const problem = iconProblem(path, file.data);
|
|
114
|
+
if (problem !== undefined)
|
|
115
|
+
throw new ApiError("internal", `Stored icon is invalid: ${problem}`);
|
|
116
|
+
return {
|
|
117
|
+
data: file.data,
|
|
118
|
+
contentType: /\.svg$/i.test(path) ? "image/svg+xml" : "image/png",
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
122
|
+
const itemNotFound = () => new ApiError("catalog.item_not_found", "Catalog item not found");
|
|
123
|
+
const fail = (path, message) => new ApiError("validation_failed", "Request validation failed", [{ path, message }]);
|
|
124
|
+
/**
|
|
125
|
+
* The org actions installing / uninstalling a plugin needs: the union over its components (an
|
|
126
|
+
* extension -> `org.extensions.manage`, skills -> `skills.manage`, connector templates ->
|
|
127
|
+
* `connectors.manage`, agent templates -> `agents.manage`), re-checked inside the org row lock.
|
|
128
|
+
*/
|
|
129
|
+
export function requiredActions(m) {
|
|
130
|
+
const out = [];
|
|
131
|
+
if (m.extension)
|
|
132
|
+
out.push("org.extensions.manage");
|
|
133
|
+
if ((m.connectorTemplates ?? []).length > 0)
|
|
134
|
+
out.push("connectors.manage");
|
|
135
|
+
if ((m.skills ?? []).length > 0)
|
|
136
|
+
out.push("skills.manage");
|
|
137
|
+
if ((m.agents ?? []).length > 0)
|
|
138
|
+
out.push("agents.manage");
|
|
139
|
+
return out.length > 0 ? out : ["org.extensions.manage"];
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Locks the org row in the caller's transaction (`orgLock` joins it) and re-checks the actor can do
|
|
143
|
+
* every action (else `forbidden`). `actor` null is the kernel itself (the plugin scope sync): the
|
|
144
|
+
* lock only.
|
|
145
|
+
*/
|
|
146
|
+
export async function lockOrgForActions(orgLock, orgId, actor, actions) {
|
|
147
|
+
if (actor === null) {
|
|
148
|
+
await orgLock.lock(orgId);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const [first, ...rest] = actions;
|
|
152
|
+
const { role } = await orgLock.lockAndAuthorize(orgId, actor, first);
|
|
153
|
+
for (const a of rest) {
|
|
154
|
+
if (!can(role, a))
|
|
155
|
+
throw new ApiError("forbidden", "Insufficient organization role");
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
159
|
+
const UNSAFE_KEYS = new Set(["__proto__", "prototype", "constructor"]);
|
|
160
|
+
/** 对象的全部叶子点路径(数组与非对象值算叶子)。 */
|
|
161
|
+
function leafPaths(v, base = "") {
|
|
162
|
+
const out = [];
|
|
163
|
+
for (const [k, x] of Object.entries(v)) {
|
|
164
|
+
const p = base ? `${base}.${k}` : k;
|
|
165
|
+
if (isObj(x) && Object.keys(x).length > 0)
|
|
166
|
+
out.push(...leafPaths(x, p));
|
|
167
|
+
else
|
|
168
|
+
out.push(p);
|
|
169
|
+
}
|
|
170
|
+
return out;
|
|
171
|
+
}
|
|
172
|
+
/** The value at a dot path of `v` (own keys only), undefined when absent. */
|
|
173
|
+
export function getPath(v, path) {
|
|
174
|
+
let node = v;
|
|
175
|
+
for (const seg of path.split(".")) {
|
|
176
|
+
if (!isObj(node) || !Object.hasOwn(node, seg))
|
|
177
|
+
return undefined;
|
|
178
|
+
node = node[seg];
|
|
179
|
+
}
|
|
180
|
+
return node;
|
|
181
|
+
}
|
|
182
|
+
/** Sets the value at a dot path of `obj`, creating the objects on the way. */
|
|
183
|
+
export function setPath(obj, path, value) {
|
|
184
|
+
const segs = path.split(".");
|
|
185
|
+
let node = obj;
|
|
186
|
+
for (const seg of segs.slice(0, -1)) {
|
|
187
|
+
if (!isObj(node[seg]))
|
|
188
|
+
node[seg] = {};
|
|
189
|
+
node = node[seg];
|
|
190
|
+
}
|
|
191
|
+
node[segs[segs.length - 1]] = value;
|
|
192
|
+
}
|
|
193
|
+
/** The connector `kind` provided by extension `plugin` loaded on this replica (from the registry). */
|
|
194
|
+
export function findConnectorIn(registry, plugin, kind) {
|
|
195
|
+
return registry
|
|
196
|
+
.list("connector")
|
|
197
|
+
.find((e) => e.plugin === plugin && e.impl?.kind === kind)?.impl;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* 模板的连接器插件此刻是否可用:插件加载且提供该 kind,并满足 `pluginVersion`(若写了);不可用返回原因
|
|
201
|
+
* (模型不可见,给管理员看的英文)。
|
|
202
|
+
*/
|
|
203
|
+
export function templatePluginProblem(d, template) {
|
|
204
|
+
if (!d.findConnector(template.plugin, template.connector)) {
|
|
205
|
+
return `Connector extension ${template.plugin} providing "${template.connector}" is not deployed; ask the super admin to install and enable it`;
|
|
206
|
+
}
|
|
207
|
+
const range = template.pluginVersion;
|
|
208
|
+
const version = d.pluginVersion(template.plugin);
|
|
209
|
+
if (range !== undefined && version !== undefined && !satisfiesRange(version, range)) {
|
|
210
|
+
return `Connector extension ${template.plugin} is deployed at version ${version}, but the template needs ${range}; ask the super admin to upgrade it`;
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Builds the connector install input from a connector template plus what the org filled in (C30):
|
|
216
|
+
* the endpoint comes from the template, only paths listed in `editableEndpoint` (or fields under
|
|
217
|
+
* them) may be changed by the org, changing another path -> `validation_failed`; the auth method
|
|
218
|
+
* comes from the template, the org only gives credentials (static credentials via `credential`,
|
|
219
|
+
* OAuth via `client`). Re-checks the template's plugin, kind and `pluginVersion` against the
|
|
220
|
+
* connectors loaded on this replica right now (unmet -> `catalog.not_deployed`); the endpoint
|
|
221
|
+
* (merged as a whole) schema check, credential pattern check and OAuth URL policy are re-checked by
|
|
222
|
+
* `ConnectorsService.create`.
|
|
223
|
+
*/
|
|
224
|
+
export function templateConnectorInput(deps, template, ref, input, defaultName, at = "connector") {
|
|
225
|
+
const problem = templatePluginProblem(deps, template);
|
|
226
|
+
if (problem !== undefined)
|
|
227
|
+
throw new ApiError("catalog.not_deployed", problem);
|
|
228
|
+
const given = input ?? {};
|
|
229
|
+
const editable = template.editableEndpoint ?? [];
|
|
230
|
+
const endpoint = structuredClone(template.endpoint);
|
|
231
|
+
if (given.endpoint !== undefined) {
|
|
232
|
+
if (!isObj(given.endpoint))
|
|
233
|
+
throw fail(`${at}.endpoint`, "Expected an object");
|
|
234
|
+
for (const p of leafPaths(given.endpoint)) {
|
|
235
|
+
const segs = p.split(".");
|
|
236
|
+
if (segs.some((s) => UNSAFE_KEYS.has(s))) {
|
|
237
|
+
throw fail(`${at}.endpoint.${p}`, "Invalid key");
|
|
238
|
+
}
|
|
239
|
+
const allowed = editable.some((e) => p === e || p.startsWith(`${e}.`));
|
|
240
|
+
if (!allowed) {
|
|
241
|
+
throw fail(`${at}.endpoint.${p}`, "This endpoint field is set by the template and cannot be changed");
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
for (const e of editable) {
|
|
245
|
+
const v = getPath(given.endpoint, e);
|
|
246
|
+
if (v !== undefined)
|
|
247
|
+
setPath(endpoint, e, v);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
const auth = template.auth;
|
|
251
|
+
const oauth = auth.type === "oauth_code" || auth.type === "oauth_client";
|
|
252
|
+
if (oauth && given.credential !== undefined) {
|
|
253
|
+
throw fail(`${at}.credential`, "This connector uses OAuth; provide client instead");
|
|
254
|
+
}
|
|
255
|
+
if (!oauth && given.client !== undefined) {
|
|
256
|
+
throw fail(`${at}.client`, "This connector does not use OAuth; provide credential instead");
|
|
257
|
+
}
|
|
258
|
+
const credential = oauth ? given.client : given.credential;
|
|
259
|
+
return {
|
|
260
|
+
name: given.name ?? defaultName,
|
|
261
|
+
...(given.slug !== undefined && { slug: given.slug }),
|
|
262
|
+
connector: template.connector,
|
|
263
|
+
endpoint,
|
|
264
|
+
auth,
|
|
265
|
+
...(credential !== undefined && { credential }),
|
|
266
|
+
template: {
|
|
267
|
+
...ref,
|
|
268
|
+
...(template.defaultToolPolicies !== undefined && {
|
|
269
|
+
defaultToolPolicies: template.defaultToolPolicies,
|
|
270
|
+
}),
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/** 从部署存储读目录版本里的文件(按版本行的 sha256 校验);`under` 给出时只读该目录下的文件,路径去掉该前缀。 */
|
|
275
|
+
export async function readCatalogFiles(storage, objectPrefix, files, under) {
|
|
276
|
+
storage.assertAvailable();
|
|
277
|
+
if (objectPrefix === null)
|
|
278
|
+
return [];
|
|
279
|
+
const store = storage.deployment();
|
|
280
|
+
const dir = under === undefined ? "" : `${under}/`;
|
|
281
|
+
const out = [];
|
|
282
|
+
for (const f of files) {
|
|
283
|
+
if (!f.path.startsWith(dir))
|
|
284
|
+
continue;
|
|
285
|
+
const got = await store.get(`${objectPrefix}${f.path}`);
|
|
286
|
+
if (!got) {
|
|
287
|
+
throw new ApiError("storage.unavailable", `Catalog file ${f.path} is missing from object storage`);
|
|
288
|
+
}
|
|
289
|
+
const data = new Uint8Array(await new Response(got.body).arrayBuffer());
|
|
290
|
+
if (createHash("sha256").update(data).digest("hex") !== f.sha256) {
|
|
291
|
+
throw new ApiError("internal", `Catalog file ${f.path} does not match its recorded hash`);
|
|
292
|
+
}
|
|
293
|
+
out.push({ path: f.path.slice(dir.length), size: data.byteLength, sha256: f.sha256, data });
|
|
294
|
+
}
|
|
295
|
+
return out;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Reads a version's display files (icons, setup guide files; `catalog-files.ts`) from PG, sha256
|
|
299
|
+
* checked, in the order given; no object storage is involved. A listed file missing from PG is lost
|
|
300
|
+
* or tampered data (`internal`).
|
|
301
|
+
*/
|
|
302
|
+
export async function readCatalogDisplayFiles(db, files) {
|
|
303
|
+
const stored = await readDisplayFiles(db, files);
|
|
304
|
+
return files.map((f) => {
|
|
305
|
+
const got = stored.get(f.path);
|
|
306
|
+
if (!got)
|
|
307
|
+
throw new ApiError("internal", `Catalog file ${f.path} is not stored`);
|
|
308
|
+
return got;
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
/** 校验技能文件并取名字与描述(导入时已校验过;这里防存储被改)。 */
|
|
312
|
+
export function skillOf(files) {
|
|
313
|
+
try {
|
|
314
|
+
// Stored files: a version imported before phase D keeps installing (its invocation keys are
|
|
315
|
+
// read leniently; `skillInvocation` ignores values of the wrong type)
|
|
316
|
+
return checkSkillFiles(files, { invocationKeys: false });
|
|
317
|
+
}
|
|
318
|
+
catch (e) {
|
|
319
|
+
if (e instanceof SkillArchiveError) {
|
|
320
|
+
throw new ApiError("internal", `Stored skill is invalid: ${e.problems.join("; ")}`);
|
|
321
|
+
}
|
|
322
|
+
throw e;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
/** The connector templates of a catalog version, read from storage (id = the file's base name). */
|
|
326
|
+
export async function readCatalogTemplates(storage, v) {
|
|
327
|
+
const refs = v.manifest.connectorTemplates ?? [];
|
|
328
|
+
if (refs.length === 0)
|
|
329
|
+
return [];
|
|
330
|
+
const paths = refs.map((r) => packagePath(r.path));
|
|
331
|
+
const files = await readCatalogFiles(storage, v.object_prefix, v.files.filter((f) => paths.includes(f.path)));
|
|
332
|
+
return paths.map((path) => {
|
|
333
|
+
const f = files.find((x) => x.path === path);
|
|
334
|
+
let parsed;
|
|
335
|
+
try {
|
|
336
|
+
parsed = f && parseConnectorTemplateFile(JSON.parse(new TextDecoder().decode(f.data)));
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
339
|
+
parsed = undefined;
|
|
340
|
+
}
|
|
341
|
+
if (!parsed || "errors" in parsed) {
|
|
342
|
+
throw new ApiError("internal", `Stored connector template ${path} is missing or invalid`);
|
|
343
|
+
}
|
|
344
|
+
return { id: path.split("/").pop().replace(/\.json$/, ""), file: parsed };
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* The agent templates of a catalog version (`manifest.agents`, listed explicitly since import),
|
|
349
|
+
* parsed from storage (checked at import; parsed again in case storage was changed).
|
|
350
|
+
*/
|
|
351
|
+
export async function readCatalogAgentTemplates(storage, v) {
|
|
352
|
+
const refs = v.manifest.agents ?? [];
|
|
353
|
+
if (refs.length === 0)
|
|
354
|
+
return [];
|
|
355
|
+
const paths = refs.map((r) => packagePath(r.path));
|
|
356
|
+
const files = await readCatalogFiles(storage, v.object_prefix, v.files.filter((f) => paths.includes(f.path)));
|
|
357
|
+
return paths.map((path) => {
|
|
358
|
+
const f = files.find((x) => x.path === path);
|
|
359
|
+
const parsed = f && parseAgentTemplate(new TextDecoder().decode(f.data));
|
|
360
|
+
if (!parsed || "errors" in parsed) {
|
|
361
|
+
throw new ApiError("internal", `Stored agent template ${path} is missing or invalid`);
|
|
362
|
+
}
|
|
363
|
+
// an rc package's template may name old builtins: read as the current names (tool naming
|
|
364
|
+
// spec §8.3); rc `<x>__<tool>` keys are read with the org's scope by `loadTemplates`
|
|
365
|
+
return { path, template: normalizeToolKeys(parsed.template) };
|
|
366
|
+
});
|
|
367
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { PluginManifest } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
3
|
+
type Db = Pick<KernelSchemaDb, "selectFrom" | "insertInto" | "deleteFrom">;
|
|
4
|
+
/** A stored file as a version row lists it. */
|
|
5
|
+
interface FileMeta {
|
|
6
|
+
path: string;
|
|
7
|
+
size: number;
|
|
8
|
+
sha256: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The display file paths of a plugin (package paths): the plugin icon, the connector templates'
|
|
12
|
+
* icons (given by the caller, which parsed the templates) and the setup guide files.
|
|
13
|
+
*/
|
|
14
|
+
export declare function displayFilePaths(m: PluginManifest, templateIcons?: string[]): Set<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Stores display files (one row per sha256; a file already there gets its `touched_at` renewed, so
|
|
17
|
+
* the sweep never removes the bytes of an import in progress). Runs in the caller's transaction
|
|
18
|
+
* when there is one: the staging row that lists the files commits with them.
|
|
19
|
+
*/
|
|
20
|
+
export declare function putDisplayFiles(db: Db, files: {
|
|
21
|
+
sha256: string;
|
|
22
|
+
data: Uint8Array;
|
|
23
|
+
}[]): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* The display files of `files` found in PG, by path, each checked against its recorded sha256 (a
|
|
26
|
+
* mismatch is tampering: `internal`). Files not in PG are absent from the result.
|
|
27
|
+
*/
|
|
28
|
+
export declare function readDisplayFiles(db: Db, files: FileMeta[]): Promise<Map<string, {
|
|
29
|
+
path: string;
|
|
30
|
+
size: number;
|
|
31
|
+
sha256: string;
|
|
32
|
+
data: Uint8Array;
|
|
33
|
+
}>>;
|
|
34
|
+
/**
|
|
35
|
+
* Removes display files no catalog version and no import staging lists, last stored more than
|
|
36
|
+
* `olderThanMs` ago (the staging cleanup passes the staging TTL: an import storing a file renews
|
|
37
|
+
* it, and a concurrent renewal makes the row fail the age check when the delete re-reads it).
|
|
38
|
+
* Returns the rows removed.
|
|
39
|
+
*/
|
|
40
|
+
export declare function sweepDisplayFiles(db: Db, olderThanMs: number): Promise<number>;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Catalog display files in PG (`catalog_files`, migration 0100): a plugin's icon, its connector
|
|
2
|
+
// templates' icons and its setup guide files. They are small (64 KiB each at most, by the plugin
|
|
3
|
+
// format) and must be readable without object storage: a bootstrap plugin is imported before any
|
|
4
|
+
// object-store extension runs, and the object-store plugin's own icon can never wait for itself.
|
|
5
|
+
// Skills, connector templates and agent templates stay in object storage under the version's
|
|
6
|
+
// `object_prefix` (they are copied into platform components there).
|
|
7
|
+
import { createHash } from "node:crypto";
|
|
8
|
+
import { sql } from "kysely";
|
|
9
|
+
import { ApiError } from "../errors.js";
|
|
10
|
+
import { packagePath } from "../packages/tgz.js";
|
|
11
|
+
/**
|
|
12
|
+
* The display file paths of a plugin (package paths): the plugin icon, the connector templates'
|
|
13
|
+
* icons (given by the caller, which parsed the templates) and the setup guide files.
|
|
14
|
+
*/
|
|
15
|
+
export function displayFilePaths(m, templateIcons = []) {
|
|
16
|
+
const out = new Set();
|
|
17
|
+
if (m.icon !== undefined)
|
|
18
|
+
out.add(packagePath(m.icon));
|
|
19
|
+
for (const icon of templateIcons)
|
|
20
|
+
out.add(packagePath(icon));
|
|
21
|
+
for (const g of m.setupGuides ?? [])
|
|
22
|
+
for (const f of g.files ?? [])
|
|
23
|
+
out.add(packagePath(f.path));
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Stores display files (one row per sha256; a file already there gets its `touched_at` renewed, so
|
|
28
|
+
* the sweep never removes the bytes of an import in progress). Runs in the caller's transaction
|
|
29
|
+
* when there is one: the staging row that lists the files commits with them.
|
|
30
|
+
*/
|
|
31
|
+
export async function putDisplayFiles(db, files) {
|
|
32
|
+
const unique = new Map(files.map((f) => [f.sha256, f.data]));
|
|
33
|
+
// sorted: two imports storing overlapping sets lock the rows in the same order
|
|
34
|
+
for (const sha256 of [...unique.keys()].sort()) {
|
|
35
|
+
const data = unique.get(sha256);
|
|
36
|
+
await db
|
|
37
|
+
.insertInto("catalog_files")
|
|
38
|
+
.values({ sha256, data: Buffer.from(data) })
|
|
39
|
+
.onConflict((oc) => oc.column("sha256").doUpdateSet({ touched_at: sql `now()` }))
|
|
40
|
+
.execute();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The display files of `files` found in PG, by path, each checked against its recorded sha256 (a
|
|
45
|
+
* mismatch is tampering: `internal`). Files not in PG are absent from the result.
|
|
46
|
+
*/
|
|
47
|
+
export async function readDisplayFiles(db, files) {
|
|
48
|
+
const out = new Map();
|
|
49
|
+
if (files.length === 0)
|
|
50
|
+
return out;
|
|
51
|
+
const rows = await db
|
|
52
|
+
.selectFrom("catalog_files")
|
|
53
|
+
.select(["sha256", "data"])
|
|
54
|
+
.where("sha256", "in", [...new Set(files.map((f) => f.sha256))])
|
|
55
|
+
.execute();
|
|
56
|
+
const bySha = new Map(rows.map((r) => [r.sha256, new Uint8Array(r.data)]));
|
|
57
|
+
for (const f of files) {
|
|
58
|
+
const data = bySha.get(f.sha256);
|
|
59
|
+
if (data === undefined)
|
|
60
|
+
continue;
|
|
61
|
+
if (createHash("sha256").update(data).digest("hex") !== f.sha256) {
|
|
62
|
+
throw new ApiError("internal", `Catalog file ${f.path} does not match its recorded hash`);
|
|
63
|
+
}
|
|
64
|
+
out.set(f.path, { path: f.path, size: data.byteLength, sha256: f.sha256, data });
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Removes display files no catalog version and no import staging lists, last stored more than
|
|
70
|
+
* `olderThanMs` ago (the staging cleanup passes the staging TTL: an import storing a file renews
|
|
71
|
+
* it, and a concurrent renewal makes the row fail the age check when the delete re-reads it).
|
|
72
|
+
* Returns the rows removed.
|
|
73
|
+
*/
|
|
74
|
+
export async function sweepDisplayFiles(db, olderThanMs) {
|
|
75
|
+
const r = await db
|
|
76
|
+
.deleteFrom("catalog_files as f")
|
|
77
|
+
.where("f.touched_at", "<", sql `now() - make_interval(secs => ${olderThanMs / 1000})`)
|
|
78
|
+
.where(({ not, exists, selectFrom }) => not(exists(selectFrom("catalog_item_versions as v")
|
|
79
|
+
.select(sql `1`.as("x"))
|
|
80
|
+
.where(sql `v.files @> jsonb_build_array(jsonb_build_object('sha256', f.sha256))`))))
|
|
81
|
+
.where(({ not, exists, selectFrom }) => not(exists(selectFrom("plugin_import_staging as s")
|
|
82
|
+
.select(sql `1`.as("x"))
|
|
83
|
+
.where(sql `s.manifest->'files' @> jsonb_build_array(jsonb_build_object('sha256', f.sha256))`))))
|
|
84
|
+
.executeTakeFirst();
|
|
85
|
+
return Number(r.numDeletedRows);
|
|
86
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The platform side of the catalog: marketplaces, the one import review (prepare -> confirm), the
|
|
3
|
+
* items and their platform components. The CLI's `capybara plugins *` and `capybara bootstrap` run on this
|
|
4
|
+
* part alone.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CatalogImportModule {
|
|
7
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from "@nestjs/common";
|
|
8
|
+
import { ExtensionsModule } from "../extensions/extensions.module.js";
|
|
9
|
+
import { SuperAdminLockModule } from "../identity/super-admin.js";
|
|
10
|
+
import { QueueModule } from "../infra/queue/queue.module.js";
|
|
11
|
+
import { OrgLockModule } from "../orgs/org-lock.js";
|
|
12
|
+
import { MAINTENANCE_QUEUE_NAME } from "../runtime/maintenance-queue.js";
|
|
13
|
+
import { StorageModule } from "../storage/storage.module.js";
|
|
14
|
+
import { CatalogService } from "./catalog.service.js";
|
|
15
|
+
import { ComponentPromotion } from "./component-promotion.js";
|
|
16
|
+
import { CatalogItemLock, CatalogSourceLock } from "./locks.js";
|
|
17
|
+
import { MarketplacesService } from "./marketplaces.service.js";
|
|
18
|
+
import { PlatformComponents } from "./platform-components.js";
|
|
19
|
+
import { PluginImport } from "./plugin-import.js";
|
|
20
|
+
// Its own file so that `SkillsModule` can import it (an owner's new version of a promoted skill is
|
|
21
|
+
// written to its platform row, ruling P3-4) without a module file cycle through `CatalogModule`.
|
|
22
|
+
/**
|
|
23
|
+
* The platform side of the catalog: marketplaces, the one import review (prepare -> confirm), the
|
|
24
|
+
* items and their platform components. The CLI's `capybara plugins *` and `capybara bootstrap` run on this
|
|
25
|
+
* part alone.
|
|
26
|
+
*/
|
|
27
|
+
let CatalogImportModule = class CatalogImportModule {
|
|
28
|
+
};
|
|
29
|
+
CatalogImportModule = __decorate([
|
|
30
|
+
Module({
|
|
31
|
+
imports: [
|
|
32
|
+
ExtensionsModule,
|
|
33
|
+
SuperAdminLockModule,
|
|
34
|
+
// an org upload re-checks the owner org's admin (`PluginImport`, ruling P3-7)
|
|
35
|
+
OrgLockModule,
|
|
36
|
+
StorageModule,
|
|
37
|
+
// a failed post-import platform sync enqueues the migration job (`PluginImport.syncPlatform`)
|
|
38
|
+
QueueModule.registerQueue(MAINTENANCE_QUEUE_NAME),
|
|
39
|
+
],
|
|
40
|
+
providers: [
|
|
41
|
+
CatalogSourceLock,
|
|
42
|
+
CatalogItemLock,
|
|
43
|
+
MarketplacesService,
|
|
44
|
+
PluginImport,
|
|
45
|
+
PlatformComponents,
|
|
46
|
+
// promote on share (ruling P3-3): the admin component routes and the owner's 可共享
|
|
47
|
+
ComponentPromotion,
|
|
48
|
+
CatalogService,
|
|
49
|
+
],
|
|
50
|
+
exports: [
|
|
51
|
+
MarketplacesService,
|
|
52
|
+
PluginImport,
|
|
53
|
+
PlatformComponents,
|
|
54
|
+
ComponentPromotion,
|
|
55
|
+
CatalogService,
|
|
56
|
+
CatalogItemLock,
|
|
57
|
+
],
|
|
58
|
+
})
|
|
59
|
+
], CatalogImportModule);
|
|
60
|
+
export { CatalogImportModule };
|