@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,326 @@
|
|
|
1
|
+
// Owners of catalog items and platform components, and the share gate (plugin scope phase 3, spec
|
|
2
|
+
// §14, rulings P3-1, P3-16, P3-17). An item or component is owned by the platform
|
|
3
|
+
// (`owner_org_id` null) or by one org; an org-owned one reaches other orgs only while its owner
|
|
4
|
+
// makes it shareable. Every writer that shows an item to another org or associates one checks the
|
|
5
|
+
// gate on the row it writes, read `FOR UPDATE` in its transaction.
|
|
6
|
+
import { createHash } from "node:crypto";
|
|
7
|
+
import { sql } from "kysely";
|
|
8
|
+
import { ApiError } from "../errors.js";
|
|
9
|
+
import { componentOn, listedIn, loadComponents, loadScopeState, pluginFactsOf, switchOf, } from "./component-state.js";
|
|
10
|
+
import { wantedOn } from "./scope.js";
|
|
11
|
+
export const PLATFORM_OWNER = { kind: "platform" };
|
|
12
|
+
/**
|
|
13
|
+
* The share gate (P3-1): a platform item, or an org-owned one its owner made shareable. Closed:
|
|
14
|
+
* the item is never shown, requestable or associable outside its owner (orgs already associated
|
|
15
|
+
* keep it).
|
|
16
|
+
*/
|
|
17
|
+
export function shareGate(row) {
|
|
18
|
+
return row.owner_org_id === null || row.shareable;
|
|
19
|
+
}
|
|
20
|
+
/** 409 `catalog.not_shareable` unless the row passes the {@link shareGate} (P3-16). */
|
|
21
|
+
export function assertShareable(row) {
|
|
22
|
+
if (shareGate(row))
|
|
23
|
+
return;
|
|
24
|
+
throw new ApiError("catalog.not_shareable", `${row.name} is owned by an organization that has not made it shareable`);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 409 `catalog.owner_required` when a `named` list after a change leaves out the item's owner org
|
|
28
|
+
* (P3-17: the owner stays on its own item's list).
|
|
29
|
+
*/
|
|
30
|
+
export function assertOwnerListed(row, target) {
|
|
31
|
+
if (row.owner_org_id === null || target.scope !== "named")
|
|
32
|
+
return;
|
|
33
|
+
if (target.orgs.includes(row.owner_org_id))
|
|
34
|
+
return;
|
|
35
|
+
throw new ApiError("catalog.owner_required", `${row.name} is owned by an organization that must stay on its list`);
|
|
36
|
+
}
|
|
37
|
+
const BREADTH = { named: 0, optional: 1, all: 2 };
|
|
38
|
+
/**
|
|
39
|
+
* A widening of the scope for a row that does not pass the share gate -> 409
|
|
40
|
+
* `catalog.not_shareable`: a broader scope (`named` < `optional` < `all`), or, `named` to `named`,
|
|
41
|
+
* an org not on the list before the change. Narrowing is always allowed (P3-16).
|
|
42
|
+
*/
|
|
43
|
+
export function assertShareableTarget(row, from, target) {
|
|
44
|
+
if (shareGate(row))
|
|
45
|
+
return;
|
|
46
|
+
const wider = (BREADTH[target.scope] ?? 2) > (BREADTH[from.scope] ?? 2);
|
|
47
|
+
const known = new Set(from.orgs);
|
|
48
|
+
const added = from.scope === "named" && target.scope === "named" && target.orgs.some((o) => !known.has(o));
|
|
49
|
+
if (wider || added)
|
|
50
|
+
assertShareable(row);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether an item can serve anything at all (ruling P3-9, F12): confirmed (not a first upload
|
|
54
|
+
* still waiting for the super admin), not disabled and not deleted. The one predicate for the
|
|
55
|
+
* dependency check of org uploads (P3-13), the scope sync, org switches and installs.
|
|
56
|
+
*/
|
|
57
|
+
export function isUsable(item) {
|
|
58
|
+
return !item.awaiting_confirmation && !item.disabled && item.deleted_at === null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 409 `catalog.item_pending`: the item, or the version asked for, waits for the super admin's
|
|
62
|
+
* confirmation in 待确认 (ruling P3-9): no scope edit, switch, install or generic update.
|
|
63
|
+
*/
|
|
64
|
+
export function itemPendingError(name, version) {
|
|
65
|
+
return new ApiError("catalog.item_pending", version === undefined
|
|
66
|
+
? `${name} waits for a super admin to confirm its extension; confirm or reject it in 待确认 first`
|
|
67
|
+
: `Version ${version} of ${name} waits for a super admin to confirm its extension; confirm it in 待确认`);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 409 `catalog.item_removed`: the item was removed while a super admin confirmation of its upload
|
|
71
|
+
* was running (ruling P3-21).
|
|
72
|
+
*/
|
|
73
|
+
export function itemRemovedError(name) {
|
|
74
|
+
return new ApiError("catalog.item_removed", `${name} was removed while its confirmation was running; nothing of it stays installed`);
|
|
75
|
+
}
|
|
76
|
+
/** 409 `catalog.item_pending` while the item's first version waits for the super admin (P3-9). */
|
|
77
|
+
export function assertNotAwaiting(item) {
|
|
78
|
+
if (item.awaiting_confirmation)
|
|
79
|
+
throw itemPendingError(item.name);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* The digest a super admin confirms an org upload's pending version with (rulings P3-10, P3-11):
|
|
83
|
+
* the extension's permission review digest bound to the exact package, so a pending version
|
|
84
|
+
* replaced by another upload is stale even when both ask for the same permissions.
|
|
85
|
+
*/
|
|
86
|
+
export function pendingDigest(sha256, reviewHash) {
|
|
87
|
+
return createHash("sha256")
|
|
88
|
+
.update(JSON.stringify({ sha256, reviewHash }))
|
|
89
|
+
.digest("hex")
|
|
90
|
+
.slice(0, 32);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Releases the extension name an org upload claimed (pre-flight F10), in the caller's
|
|
94
|
+
* transaction, when nothing is installed under it: a rejected or withdrawn upload, a pending first
|
|
95
|
+
* version replaced by one without an extension, a deleted org's pending upload. An installed
|
|
96
|
+
* extension keeps its claim (its removal is the cleanup job's).
|
|
97
|
+
*/
|
|
98
|
+
export async function releaseExtensionClaim(db, name, packageName) {
|
|
99
|
+
if (packageName === null)
|
|
100
|
+
return;
|
|
101
|
+
const installed = await db
|
|
102
|
+
.selectFrom("extension_installs")
|
|
103
|
+
.select("name")
|
|
104
|
+
.where("name", "=", name)
|
|
105
|
+
.executeTakeFirst();
|
|
106
|
+
if (installed !== undefined)
|
|
107
|
+
return;
|
|
108
|
+
await db
|
|
109
|
+
.deleteFrom("extension_name_owners")
|
|
110
|
+
.where("name", "=", name)
|
|
111
|
+
.where("package_name", "=", packageName)
|
|
112
|
+
.execute();
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Whether `orgId` can use the item (P3-13): {@link isUsable}, and its owner, or listed by a `named`
|
|
116
|
+
* scope (an org already associated keeps it), or offered to every org (`all` / `optional`, builtin)
|
|
117
|
+
* through the {@link shareGate} (another org's item only while it is shared).
|
|
118
|
+
*/
|
|
119
|
+
export function usableBy(item, orgId, listed) {
|
|
120
|
+
if (!isUsable(item))
|
|
121
|
+
return false;
|
|
122
|
+
if (item.owner_org_id === orgId)
|
|
123
|
+
return true;
|
|
124
|
+
if (!item.builtin && item.scope === "named")
|
|
125
|
+
return listed;
|
|
126
|
+
return listed || shareGate(item);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The owner of the live catalog item called `name` when it is not `owner` (null = the platform),
|
|
130
|
+
* else undefined: a plugin name is live for one owner only (ruling P3-14).
|
|
131
|
+
*/
|
|
132
|
+
export async function otherNameOwner(db, name, owner) {
|
|
133
|
+
const live = await db
|
|
134
|
+
.selectFrom("catalog_items")
|
|
135
|
+
.select("owner_org_id")
|
|
136
|
+
.where("name", "=", name)
|
|
137
|
+
.where("deleted_at", "is", null)
|
|
138
|
+
.executeTakeFirst();
|
|
139
|
+
if (live === undefined || live.owner_org_id === owner)
|
|
140
|
+
return undefined;
|
|
141
|
+
const ids = live.owner_org_id === null ? [] : [live.owner_org_id];
|
|
142
|
+
return ownerOf(live.owner_org_id, await ownersOf(db, ids));
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* 409 `plugin.name_taken` (details `[{ owner }]`) when the plugin name is live for another owner
|
|
146
|
+
* than `owner` (null = the platform): an org cannot upload a platform's or another org's name, and
|
|
147
|
+
* the super admin cannot import an org's (ruling P3-14). The same owner adds a version.
|
|
148
|
+
*/
|
|
149
|
+
export async function assertNameFree(db, name, owner) {
|
|
150
|
+
const other = await otherNameOwner(db, name, owner);
|
|
151
|
+
if (other === undefined)
|
|
152
|
+
return;
|
|
153
|
+
throw new ApiError("plugin.name_taken", other.kind === "platform"
|
|
154
|
+
? `Plugin name ${name} is taken by the platform`
|
|
155
|
+
: `Plugin name ${name} is taken by organization ${other.name}`, [{ owner: other }]);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* The owner other than `owner` (an org id) that already holds npm package `packageName`, else
|
|
159
|
+
* undefined (ruling P3-51: a package name is an identity only within one owner). Held = a catalog
|
|
160
|
+
* item of the package of another owner that is live, or removed while its extension is still
|
|
161
|
+
* installed or its name claimed (a cleanup not run yet); an install of the package whose catalog
|
|
162
|
+
* item is not one of `owner`'s (none = the platform: bootstrap or a direct install); a name claim
|
|
163
|
+
* of the package for which `owner` has no item of that name (an uninstalled platform extension
|
|
164
|
+
* keeps its claim).
|
|
165
|
+
*/
|
|
166
|
+
export async function otherPackageOwner(db, packageName, owner) {
|
|
167
|
+
if (packageName === null)
|
|
168
|
+
return undefined;
|
|
169
|
+
const found = async (ownerOrgId) => ownerOf(ownerOrgId, await ownersOf(db, ownerOrgId === null ? [] : [ownerOrgId]));
|
|
170
|
+
const item = await db
|
|
171
|
+
.selectFrom("catalog_items as ci")
|
|
172
|
+
.select("ci.owner_org_id")
|
|
173
|
+
.where("ci.package_name", "=", packageName)
|
|
174
|
+
.where(sql `ci.owner_org_id IS DISTINCT FROM ${owner}`)
|
|
175
|
+
.where(({ or, eb, exists, selectFrom }) => or([
|
|
176
|
+
eb("ci.deleted_at", "is", null),
|
|
177
|
+
exists(selectFrom("extension_installs as x")
|
|
178
|
+
.innerJoin("extension_packages as p", "p.sha256", "x.sha256")
|
|
179
|
+
.select("x.name")
|
|
180
|
+
.whereRef("x.name", "=", "ci.name")
|
|
181
|
+
.whereRef("p.package_name", "=", "ci.package_name")),
|
|
182
|
+
exists(selectFrom("extension_name_owners as o")
|
|
183
|
+
.select("o.name")
|
|
184
|
+
.whereRef("o.name", "=", "ci.name")
|
|
185
|
+
.whereRef("o.package_name", "=", "ci.package_name")),
|
|
186
|
+
]))
|
|
187
|
+
.orderBy("ci.deleted_at", (o) => o.desc().nullsFirst())
|
|
188
|
+
.orderBy("ci.created_at")
|
|
189
|
+
.executeTakeFirst();
|
|
190
|
+
if (item !== undefined)
|
|
191
|
+
return found(item.owner_org_id);
|
|
192
|
+
const install = await db
|
|
193
|
+
.selectFrom("extension_installs as x")
|
|
194
|
+
.innerJoin("extension_packages as p", "p.sha256", "x.sha256")
|
|
195
|
+
.leftJoin("catalog_items as ci", "ci.id", "x.catalog_item_id")
|
|
196
|
+
.select(["ci.id", "ci.owner_org_id"])
|
|
197
|
+
.where("p.package_name", "=", packageName)
|
|
198
|
+
.where((eb) => eb.or([eb("ci.id", "is", null), eb("ci.owner_org_id", "is distinct from", owner)]))
|
|
199
|
+
.executeTakeFirst();
|
|
200
|
+
if (install !== undefined)
|
|
201
|
+
return found(install.id === null ? null : install.owner_org_id);
|
|
202
|
+
const claim = await db
|
|
203
|
+
.selectFrom("extension_name_owners as o")
|
|
204
|
+
.select("o.name")
|
|
205
|
+
.where("o.package_name", "=", packageName)
|
|
206
|
+
.where(({ not, exists, selectFrom }) => not(exists(selectFrom("catalog_items as ci")
|
|
207
|
+
.select("ci.id")
|
|
208
|
+
.whereRef("ci.name", "=", "o.name")
|
|
209
|
+
.whereRef("ci.package_name", "=", "o.package_name")
|
|
210
|
+
.where("ci.owner_org_id", "=", owner))))
|
|
211
|
+
.executeTakeFirst();
|
|
212
|
+
if (claim !== undefined)
|
|
213
|
+
return packageOwner(db, packageName, claim.name);
|
|
214
|
+
return undefined;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* 409 `plugin.name_taken` (details `[{ owner }]`) when an org upload's npm package is held by
|
|
218
|
+
* another owner ({@link otherPackageOwner}, ruling P3-51): an org never shares a package identity
|
|
219
|
+
* with another org or the platform, so no name claim, existing install or cleanup can mistake one
|
|
220
|
+
* owner's plugin for another's.
|
|
221
|
+
*/
|
|
222
|
+
export async function assertPackageFree(db, packageName, owner) {
|
|
223
|
+
const other = await otherPackageOwner(db, packageName, owner);
|
|
224
|
+
if (other === undefined)
|
|
225
|
+
return;
|
|
226
|
+
throw new ApiError("plugin.name_taken", other.kind === "platform"
|
|
227
|
+
? `Package ${packageName} is used by a plugin of the platform; rename the package (package.json name) and upload it again`
|
|
228
|
+
: `Package ${packageName} is used by a plugin of organization ${other.name}; rename the package (package.json name) and upload it again`, [{ owner: other }]);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* The owner of extension `extensionName`, held by npm package `packageName` (package -> its live
|
|
232
|
+
* catalog item -> that item's owner; ruling P3-14). The item is the one named like the extension
|
|
233
|
+
* (a plugin and its extension share one name), else the oldest live item of the package; none ->
|
|
234
|
+
* the platform (an extension installed outside the catalog is the super admin's).
|
|
235
|
+
*/
|
|
236
|
+
export async function packageOwner(db, packageName, extensionName) {
|
|
237
|
+
if (packageName === null)
|
|
238
|
+
return PLATFORM_OWNER;
|
|
239
|
+
const item = await db
|
|
240
|
+
.selectFrom("catalog_items")
|
|
241
|
+
.select("owner_org_id")
|
|
242
|
+
.where("package_name", "=", packageName)
|
|
243
|
+
.where("deleted_at", "is", null)
|
|
244
|
+
.orderBy(sql `name = ${extensionName}`, "desc")
|
|
245
|
+
.orderBy("created_at")
|
|
246
|
+
.orderBy("id")
|
|
247
|
+
.executeTakeFirst();
|
|
248
|
+
const id = item?.owner_org_id ?? null;
|
|
249
|
+
return ownerOf(id, await ownersOf(db, id === null ? [] : [id]));
|
|
250
|
+
}
|
|
251
|
+
/** The owners of `orgIds` by org id (deleted orgs included, by their name). */
|
|
252
|
+
export async function ownersOf(db, orgIds) {
|
|
253
|
+
const ids = [...new Set(orgIds)];
|
|
254
|
+
const out = new Map();
|
|
255
|
+
if (ids.length === 0)
|
|
256
|
+
return out;
|
|
257
|
+
const rows = await db.selectFrom("orgs").select(["id", "name"]).where("id", "in", ids).execute();
|
|
258
|
+
for (const r of rows)
|
|
259
|
+
out.set(r.id, { kind: "org", orgId: r.id, name: r.name });
|
|
260
|
+
return out;
|
|
261
|
+
}
|
|
262
|
+
/** The {@link Owner} of a row from {@link ownersOf}'s map (an org row gone: its id as the name). */
|
|
263
|
+
export function ownerOf(ownerOrgId, owners) {
|
|
264
|
+
if (ownerOrgId === null)
|
|
265
|
+
return PLATFORM_OWNER;
|
|
266
|
+
return owners.get(ownerOrgId) ?? { kind: "org", orgId: ownerOrgId, name: ownerOrgId };
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* The live orgs an item is on in (ruling P3-18: listed and not switched off for `named`, switched
|
|
270
|
+
* on for `optional`, any live org for `all`; a component by {@link componentOn}), minus
|
|
271
|
+
* `except` (usually the owner), by name. One definition for the update notices and the
|
|
272
|
+
* "used by another org" check of deletes. An item that is gone or disabled is on nowhere.
|
|
273
|
+
*/
|
|
274
|
+
export async function orgsUsing(db, ref, opts = {}) {
|
|
275
|
+
const orgs = await db
|
|
276
|
+
.selectFrom("orgs")
|
|
277
|
+
.select(["id", "name"])
|
|
278
|
+
.where("deleted_at", "is", null)
|
|
279
|
+
.orderBy("name")
|
|
280
|
+
.orderBy("id")
|
|
281
|
+
.execute();
|
|
282
|
+
const others = orgs.filter((o) => o.id !== opts.except);
|
|
283
|
+
if (others.length === 0)
|
|
284
|
+
return [];
|
|
285
|
+
if (ref.kind === "plugin") {
|
|
286
|
+
const item = await db
|
|
287
|
+
.selectFrom("catalog_items")
|
|
288
|
+
.select(["scope", "builtin", "disabled"])
|
|
289
|
+
.where("id", "=", ref.id)
|
|
290
|
+
.where("deleted_at", "is", null)
|
|
291
|
+
.executeTakeFirst();
|
|
292
|
+
if (!item)
|
|
293
|
+
return [];
|
|
294
|
+
const listed = new Set((await db
|
|
295
|
+
.selectFrom("catalog_item_scope_orgs")
|
|
296
|
+
.select("org_id")
|
|
297
|
+
.where("item_id", "=", ref.id)
|
|
298
|
+
.execute()).map((r) => r.org_id));
|
|
299
|
+
const switches = new Map((await db
|
|
300
|
+
.selectFrom("catalog_item_org_switches")
|
|
301
|
+
.select(["org_id", "enabled"])
|
|
302
|
+
.where("item_id", "=", ref.id)
|
|
303
|
+
.execute()).map((r) => [r.org_id, r.enabled]));
|
|
304
|
+
return others.filter((o) => wantedOn(item, listed.has(o.id), switches.get(o.id) ?? null));
|
|
305
|
+
}
|
|
306
|
+
const kind = ref.kind;
|
|
307
|
+
const [c] = await loadComponents(db, kind, { ids: [ref.id] });
|
|
308
|
+
if (!c)
|
|
309
|
+
return [];
|
|
310
|
+
const st = await loadScopeState(db, kind, [c]);
|
|
311
|
+
return others.filter((o) => componentOn(c, pluginFactsOf(st, c.itemId, o.id), listedIn(st, c.id, o.id), switchOf(st, c.id, o.id)));
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Who a scope change newly shows an org-owned item to (the `item_shared` notice, P3-22): the orgs
|
|
315
|
+
* added to a `named` list, or `all_orgs` when the scope gets broader (`named` < `optional` < `all`);
|
|
316
|
+
* nothing for a narrowing or a platform-owned item.
|
|
317
|
+
*/
|
|
318
|
+
export function newlySharedWith(from, to) {
|
|
319
|
+
if ((BREADTH[to.scope] ?? 2) > (BREADTH[from.scope] ?? 2))
|
|
320
|
+
return "all_orgs";
|
|
321
|
+
if (from.scope === "named" && to.scope === "named") {
|
|
322
|
+
const known = new Set(from.orgs);
|
|
323
|
+
return to.orgs.filter((o) => !known.has(o));
|
|
324
|
+
}
|
|
325
|
+
return [];
|
|
326
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { type AgentTemplate, type ConnectorTemplateFile } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import type { SkillManifest, SourceFormat } from "../db/kernel-schema.js";
|
|
3
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
4
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
5
|
+
import type { KernelLogger } from "../log.js";
|
|
6
|
+
import { type SkillPackageFile } from "../skills/package.js";
|
|
7
|
+
import { type PrefixedStorage, StorageService } from "../storage/storage.service.js";
|
|
8
|
+
import { CatalogItemLock } from "./locks.js";
|
|
9
|
+
/** A skill or agent template version a sync wrote (`from` null: the component was created). */
|
|
10
|
+
export interface ChangedRef {
|
|
11
|
+
kind: "skill" | "agent_template";
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
from: number | null;
|
|
15
|
+
to: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A connector template a sync wrote. Connector templates carry the catalog version that last
|
|
19
|
+
* changed them (`platform_connector_templates.current_version` is text), so `from` / `to` are
|
|
20
|
+
* catalog versions; `name` is the template id (the file's base name).
|
|
21
|
+
*/
|
|
22
|
+
export interface ChangedConnectorTemplateRef {
|
|
23
|
+
kind: "connector_template";
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
from: string | null;
|
|
27
|
+
to: string;
|
|
28
|
+
}
|
|
29
|
+
/** What {@link PlatformComponents.syncFromVersion} changed (unchanged components are not listed). */
|
|
30
|
+
export interface PlatformSyncResult {
|
|
31
|
+
skills: ChangedRef[];
|
|
32
|
+
agentTemplates: ChangedRef[];
|
|
33
|
+
connectorTemplates: ChangedConnectorTemplateRef[];
|
|
34
|
+
}
|
|
35
|
+
/** The prefix (in `deployment/`) of a platform skill version's files. */
|
|
36
|
+
export declare const platformSkillPrefix: (id: string, version: number) => string;
|
|
37
|
+
/** The prefix (in `deployment/`) of a platform agent template version's file. */
|
|
38
|
+
export declare const platformAgentTemplatePrefix: (id: string, version: number) => string;
|
|
39
|
+
/**
|
|
40
|
+
* A fresh prefix (in `deployment/`) for a version written before its transaction (ruling P3-45):
|
|
41
|
+
* `<id>/<version>-<uuid>/`, so two writers racing for one version number never overwrite each
|
|
42
|
+
* other's objects, and the loser's are deleted after its transaction failed.
|
|
43
|
+
*/
|
|
44
|
+
export declare const uniqueVersionPrefix: (base: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* The prefix of a version a plugin sync writes: `<id>/<version>-<catalog version>/` (the catalog
|
|
47
|
+
* version made key-safe), so syncs of two catalog versions racing for one number never overwrite
|
|
48
|
+
* each other. Stored on the version row; readers use the stored prefix, so rows written before keep
|
|
49
|
+
* theirs.
|
|
50
|
+
*/
|
|
51
|
+
export declare const syncVersionPrefix: (base: string, catalogVersion: string) => string;
|
|
52
|
+
/** The live component a plan was made against (absent: the plan creates it). */
|
|
53
|
+
interface Base<V> {
|
|
54
|
+
id: string;
|
|
55
|
+
version: V;
|
|
56
|
+
}
|
|
57
|
+
interface SkillStep {
|
|
58
|
+
name: string;
|
|
59
|
+
base: Base<number> | undefined;
|
|
60
|
+
id: string;
|
|
61
|
+
to: number;
|
|
62
|
+
prefix: string;
|
|
63
|
+
files: SkillPackageFile[];
|
|
64
|
+
manifest: SkillManifest;
|
|
65
|
+
suggestPinned: boolean;
|
|
66
|
+
}
|
|
67
|
+
interface TemplateStep {
|
|
68
|
+
name: string;
|
|
69
|
+
base: Base<number> | undefined;
|
|
70
|
+
id: string;
|
|
71
|
+
to: number;
|
|
72
|
+
prefix: string;
|
|
73
|
+
file: SkillPackageFile;
|
|
74
|
+
template: AgentTemplate;
|
|
75
|
+
}
|
|
76
|
+
interface ConnectorTemplateStep {
|
|
77
|
+
name: string;
|
|
78
|
+
base: Base<string> | undefined;
|
|
79
|
+
id: string;
|
|
80
|
+
file: ConnectorTemplateFile;
|
|
81
|
+
}
|
|
82
|
+
/** A planned sync (see {@link PreparedSync}). */
|
|
83
|
+
export interface SyncPlan {
|
|
84
|
+
itemId: string;
|
|
85
|
+
plugin: string;
|
|
86
|
+
version: string;
|
|
87
|
+
sourceFormat: SourceFormat;
|
|
88
|
+
skills: SkillStep[];
|
|
89
|
+
agentTemplates: TemplateStep[];
|
|
90
|
+
connectorTemplates: ConnectorTemplateStep[];
|
|
91
|
+
}
|
|
92
|
+
/** A component changed between the plan and its write (a concurrent sync): plan again. */
|
|
93
|
+
export declare class PlanStale extends Error {
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* A sync planned and its files copied ({@link PlatformComponents.prepareSync}), waiting for its rows
|
|
97
|
+
* ({@link PlatformComponents.applySyncIn}). Opaque outside this module.
|
|
98
|
+
*/
|
|
99
|
+
export interface PreparedSync {
|
|
100
|
+
readonly plan: SyncPlan;
|
|
101
|
+
}
|
|
102
|
+
/** A component version written by an upload ({@link PlatformComponents.uploadSkillVersion}). */
|
|
103
|
+
export interface UploadedComponentVersion {
|
|
104
|
+
kind: "skill" | "agent_template";
|
|
105
|
+
id: string;
|
|
106
|
+
name: string;
|
|
107
|
+
/** The version written (`current_version` after the upload). */
|
|
108
|
+
version: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The owner's next version of a skill it promoted (ruling P3-4), its files written
|
|
112
|
+
* ({@link PlatformComponents.prepareOwnerVersion}), waiting for its row
|
|
113
|
+
* ({@link PlatformComponents.addOwnerVersionIn}).
|
|
114
|
+
*/
|
|
115
|
+
export interface OwnerVersion {
|
|
116
|
+
readonly platformId: string;
|
|
117
|
+
/** The version it becomes (the platform row's current version + 1 when prepared). */
|
|
118
|
+
readonly to: number;
|
|
119
|
+
readonly prefix: string;
|
|
120
|
+
}
|
|
121
|
+
/** Who uploads (the super admin; `actorTokenId` when through a personal access token). */
|
|
122
|
+
export interface UploadActor {
|
|
123
|
+
accountId: string;
|
|
124
|
+
actorTokenId?: string;
|
|
125
|
+
/** Added to the audit detail (the Platform tool's `via`). */
|
|
126
|
+
auditDetail?: Record<string, unknown>;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Writes the platform rows of a catalog version's components. Called by the import confirm that
|
|
130
|
+
* creates a catalog item (`initial`), and by the platform plugin update for a new version.
|
|
131
|
+
*/
|
|
132
|
+
export declare class PlatformComponents {
|
|
133
|
+
private readonly kdb;
|
|
134
|
+
private readonly itemLock;
|
|
135
|
+
private readonly log;
|
|
136
|
+
readonly txHost: TransactionHost;
|
|
137
|
+
/** Where the files are read and written (the kernel's object storage; the CLI's own). */
|
|
138
|
+
private files;
|
|
139
|
+
constructor(kdb: KernelDb, storage: StorageService, itemLock: CatalogItemLock, log: KernelLogger, txHost: TransactionHost);
|
|
140
|
+
private get db();
|
|
141
|
+
/** CLI only (see `PluginImport.useCliStorage`): files go to the object store the CLI set up. */
|
|
142
|
+
useCliStorage(storage: PrefixedStorage): void;
|
|
143
|
+
/**
|
|
144
|
+
* Creates or updates the platform rows of every component of catalog version `version` of item
|
|
145
|
+
* `itemId`: a component is matched by plugin and name (connector templates by item and template
|
|
146
|
+
* id) and gets a new version only when its content changed (skills by their files' digest,
|
|
147
|
+
* templates by canonical JSON); new rows follow the plugin's scope (`scope_mode: follow`).
|
|
148
|
+
* Files are copied from the catalog prefix to `deployment/platform/…` before the rows are
|
|
149
|
+
* written (outside the transaction), so a sync that stops midway leaves at most unreferenced
|
|
150
|
+
* files, and running it again is a no-op once it succeeded. `initial` is the confirm that
|
|
151
|
+
* created the item. Components missing from the version are left alone (the platform update
|
|
152
|
+
* decides what a removal means). On success the item records `version` as
|
|
153
|
+
* `platform_synced_version`.
|
|
154
|
+
*/
|
|
155
|
+
syncFromVersion(itemId: string, version: string, opts: {
|
|
156
|
+
initial: boolean;
|
|
157
|
+
}): Promise<PlatformSyncResult>;
|
|
158
|
+
/**
|
|
159
|
+
* The first phase of a sync inside a caller's transaction (the platform plugin update): plans the
|
|
160
|
+
* version's components and copies their files, outside any transaction (no storage call holds a
|
|
161
|
+
* row lock). {@link applySyncIn} writes the rows.
|
|
162
|
+
*/
|
|
163
|
+
prepareSync(itemId: string, version: string): Promise<PreparedSync>;
|
|
164
|
+
/**
|
|
165
|
+
* The second phase: writes the prepared rows in the caller's transaction and records
|
|
166
|
+
* `platform_synced_version`. A component changed since the plan -> {@link PlanStale} (the caller
|
|
167
|
+
* prepares again).
|
|
168
|
+
*/
|
|
169
|
+
applySyncIn(p: PreparedSync): Promise<PlatformSyncResult>;
|
|
170
|
+
/**
|
|
171
|
+
* A platform skill updated on its own (spec §7.2): the super admin uploads a skill package (zip)
|
|
172
|
+
* for component `id`. The package keeps the component's name (else 400 `validation_failed`);
|
|
173
|
+
* the new version keeps the component's plugin provenance and format, is flagged `updated_on_own`
|
|
174
|
+
* (the next plugin update preview marks it) and serves in orgs at once (resolution is
|
|
175
|
+
* read-time). Files go to the platform prefix before the transaction; a concurrent change of the
|
|
176
|
+
* component -> 409 `component.version_stale`. Audits `component.version_uploaded`.
|
|
177
|
+
*/
|
|
178
|
+
uploadSkillVersion(actor: UploadActor, id: string, zip: Uint8Array): Promise<UploadedComponentVersion>;
|
|
179
|
+
/**
|
|
180
|
+
* A platform agent template updated on its own (spec §7.2), as {@link uploadSkillVersion}: the
|
|
181
|
+
* template file (markdown) keeps the component's name.
|
|
182
|
+
*/
|
|
183
|
+
uploadAgentTemplateVersion(actor: UploadActor, id: string, text: string): Promise<UploadedComponentVersion>;
|
|
184
|
+
/**
|
|
185
|
+
* The first phase of the owner's new version of platform skill `platformId` (ruling P3-4: an org
|
|
186
|
+
* that promoted its skill writes later versions to the platform row, never a pin on its copy):
|
|
187
|
+
* the files go to a fresh `deployment/platform/skills/<id>/<current + 1>-<uuid>/` (ruling
|
|
188
|
+
* P3-45), outside any transaction; a caller whose transaction then fails calls
|
|
189
|
+
* {@link discardPrefix}. Missing -> 404 `component.not_found`.
|
|
190
|
+
*/
|
|
191
|
+
prepareOwnerVersion(platformId: string, files: SkillPackageFile[]): Promise<OwnerVersion>;
|
|
192
|
+
/**
|
|
193
|
+
* The second phase, in the caller's transaction (the owner org's skill upload, under the org row
|
|
194
|
+
* and the copy's row lock): the platform row becomes version `v.to` with `manifest`, keeping its
|
|
195
|
+
* format. A version written since the first phase -> 409 `component.version_stale`. Returns
|
|
196
|
+
* the version written. The caller tells the orgs using it (`notifySharedUpdate`).
|
|
197
|
+
*/
|
|
198
|
+
addOwnerVersionIn(v: OwnerVersion, manifest: SkillManifest, actorAccountId: string | null): Promise<number>;
|
|
199
|
+
/**
|
|
200
|
+
* Deletes the objects a version wrote before its transaction failed (ruling P3-45), best effort:
|
|
201
|
+
* nothing references them; a failure is logged.
|
|
202
|
+
*/
|
|
203
|
+
discardPrefix(prefix: string): Promise<void>;
|
|
204
|
+
private liveSkill;
|
|
205
|
+
private liveTemplate;
|
|
206
|
+
private writeSkillVersionIn;
|
|
207
|
+
private writeTemplateVersionIn;
|
|
208
|
+
/**
|
|
209
|
+
* Records that the item's platform components are written from `version`
|
|
210
|
+
* (`catalog_items.platform_synced_version`): the migration job syncs only items without it.
|
|
211
|
+
*/
|
|
212
|
+
private markSynced;
|
|
213
|
+
/** Reads the version's components and the live platform rows; keeps only what changed. */
|
|
214
|
+
private plan;
|
|
215
|
+
/** Copies the planned versions' files to their platform prefixes. */
|
|
216
|
+
private writeFiles;
|
|
217
|
+
/**
|
|
218
|
+
* Writes the planned rows under the item name's lock (the lock of the import confirm), after
|
|
219
|
+
* checking that every component is still where the plan found it ({@link PlanStale} otherwise).
|
|
220
|
+
*/
|
|
221
|
+
private apply;
|
|
222
|
+
}
|
|
223
|
+
export {};
|