@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.11
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 +60 -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 +264 -0
- package/dist/catalog/catalog-content.js +430 -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 +677 -0
- package/dist/catalog/catalog-scope.service.d.ts +286 -0
- package/dist/catalog/catalog-scope.service.js +1196 -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 +144 -207
- package/dist/catalog/catalog.service.js +258 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- 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 +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +366 -0
- package/dist/catalog/component-scope.service.js +1115 -0
- package/dist/catalog/component-state.d.ts +197 -0
- package/dist/catalog/component-state.js +473 -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 +434 -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 +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +293 -71
- package/dist/catalog/plugin-import.js +1039 -281
- package/dist/catalog/plugin-install.d.ts +271 -66
- package/dist/catalog/plugin-install.js +1198 -344
- package/dist/catalog/plugin-package.d.ts +41 -4
- package/dist/catalog/plugin-package.js +140 -7
- package/dist/catalog/plugin-upgrade.d.ts +312 -188
- package/dist/catalog/plugin-upgrade.js +1371 -1065
- 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 +119 -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 +589 -27
- 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 +160 -2
- package/dist/errors.js +160 -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 +93 -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 +137 -38
- package/dist/identity/accounts.js +386 -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 +80 -33
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +69 -23
- package/dist/identity/settings.js +201 -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 +76 -14
- package/dist/orgs/settings.service.js +140 -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 +683 -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 +94 -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 +38 -0
- package/dist/platform/ops/admin.ops.js +407 -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 +854 -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 +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +296 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/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/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -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 +40 -0
- package/dist/platform/platform-ops.module.js +127 -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 +66 -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/themes/render-css.d.ts +12 -0
- package/dist/themes/render-css.js +132 -0
- package/dist/themes/theme-delivery.service.d.ts +34 -0
- package/dist/themes/theme-delivery.service.js +111 -0
- package/dist/themes/theme-state.d.ts +95 -0
- package/dist/themes/theme-state.js +203 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +28 -0
- package/dist/themes/themes-public.controller.js +92 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/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/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -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,41 @@
|
|
|
1
|
+
import { OrgExtensionConfigs, type OrgExtensionInput, type OrgExtensionView } from "../extensions/org-config.js";
|
|
2
|
+
import { OrgCatalogService } from "./org-catalog.service.js";
|
|
3
|
+
import type { UninstallPreview } from "./plugin-install.js";
|
|
4
|
+
/** The result of {@link OrgExtensionSwitch.put}: the extension, or the plugin uninstall preview. */
|
|
5
|
+
export type OrgExtensionPutResult = {
|
|
6
|
+
kind: "done";
|
|
7
|
+
view: OrgExtensionView;
|
|
8
|
+
} | {
|
|
9
|
+
kind: "preview";
|
|
10
|
+
preview: UninstallPreview;
|
|
11
|
+
confirm: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* `PUT orgs/:orgId/extensions/:extension`: for an extension that ships in a catalog plugin, `enabled`
|
|
15
|
+
* is the plugin's org switch ({@link OrgCatalogService.setSwitch}); anything else is the direct
|
|
16
|
+
* {@link OrgExtensionConfigs.put}. Lives in the catalog module because the catalog depends on the
|
|
17
|
+
* extensions, not the other way round. No in-process state.
|
|
18
|
+
*
|
|
19
|
+
* Order: the config is validated first (`validateOnly`: no side effect), so an invalid config fails
|
|
20
|
+
* before the plugin switches with the plain 400 `extension.config_invalid`. Switching on validates
|
|
21
|
+
* the effective config (the stored one with its secrets, or the given `config` merged with them),
|
|
22
|
+
* and the install receives the given `config` as its `extensionConfig`, so the extension is enabled
|
|
23
|
+
* with it. A config write that fails for another reason after the switch succeeded returns that
|
|
24
|
+
* error with the switch done (the two writes are separate transactions).
|
|
25
|
+
*/
|
|
26
|
+
export declare class OrgExtensionSwitch {
|
|
27
|
+
private readonly configs;
|
|
28
|
+
private readonly catalog;
|
|
29
|
+
constructor(configs: OrgExtensionConfigs, catalog: OrgCatalogService);
|
|
30
|
+
/**
|
|
31
|
+
* - `enabled` on an extension of one catalog plugin: that plugin's switch; off without `confirm`
|
|
32
|
+
* returns the preview and its hash, with the hash uninstalls; a builtin plugin (any of several
|
|
33
|
+
* source items) -> 409 `plugin.scope_locked` (an `all` one may go off, layering spec §4).
|
|
34
|
+
* - A required bootstrap plugin, a config-declared extension and one sourced from several items
|
|
35
|
+
* keep the direct write.
|
|
36
|
+
* - `config` is always written directly, after the switch.
|
|
37
|
+
*/
|
|
38
|
+
put(orgId: string, actor: string, extension: string, body: OrgExtensionInput & {
|
|
39
|
+
confirm?: string | undefined;
|
|
40
|
+
}, actorTokenId?: string): Promise<OrgExtensionPutResult>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { ApiError } from "../errors.js";
|
|
12
|
+
import { OrgExtensionConfigs, } from "../extensions/org-config.js";
|
|
13
|
+
import { OrgCatalogService } from "./org-catalog.service.js";
|
|
14
|
+
/**
|
|
15
|
+
* `PUT orgs/:orgId/extensions/:extension`: for an extension that ships in a catalog plugin, `enabled`
|
|
16
|
+
* is the plugin's org switch ({@link OrgCatalogService.setSwitch}); anything else is the direct
|
|
17
|
+
* {@link OrgExtensionConfigs.put}. Lives in the catalog module because the catalog depends on the
|
|
18
|
+
* extensions, not the other way round. No in-process state.
|
|
19
|
+
*
|
|
20
|
+
* Order: the config is validated first (`validateOnly`: no side effect), so an invalid config fails
|
|
21
|
+
* before the plugin switches with the plain 400 `extension.config_invalid`. Switching on validates
|
|
22
|
+
* the effective config (the stored one with its secrets, or the given `config` merged with them),
|
|
23
|
+
* and the install receives the given `config` as its `extensionConfig`, so the extension is enabled
|
|
24
|
+
* with it. A config write that fails for another reason after the switch succeeded returns that
|
|
25
|
+
* error with the switch done (the two writes are separate transactions).
|
|
26
|
+
*/
|
|
27
|
+
let OrgExtensionSwitch = class OrgExtensionSwitch {
|
|
28
|
+
configs;
|
|
29
|
+
catalog;
|
|
30
|
+
constructor(configs, catalog) {
|
|
31
|
+
this.configs = configs;
|
|
32
|
+
this.catalog = catalog;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* - `enabled` on an extension of one catalog plugin: that plugin's switch; off without `confirm`
|
|
36
|
+
* returns the preview and its hash, with the hash uninstalls; a builtin plugin (any of several
|
|
37
|
+
* source items) -> 409 `plugin.scope_locked` (an `all` one may go off, layering spec §4).
|
|
38
|
+
* - A required bootstrap plugin, a config-declared extension and one sourced from several items
|
|
39
|
+
* keep the direct write.
|
|
40
|
+
* - `config` is always written directly, after the switch.
|
|
41
|
+
*/
|
|
42
|
+
async put(orgId, actor, extension, body, actorTokenId) {
|
|
43
|
+
const { confirm, ...input } = body;
|
|
44
|
+
const plan = input.enabled === undefined
|
|
45
|
+
? { kind: "direct" }
|
|
46
|
+
: await this.configs.switchPlan(extension, input.enabled);
|
|
47
|
+
if (plan.kind === "locked") {
|
|
48
|
+
throw new ApiError("plugin.scope_locked", "This plugin is built in: it is on for every organization and cannot be switched off here");
|
|
49
|
+
}
|
|
50
|
+
if (plan.kind === "direct") {
|
|
51
|
+
return {
|
|
52
|
+
kind: "done",
|
|
53
|
+
view: await this.configs.put(orgId, extension, input, actor, actorTokenId),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const { enabled } = input;
|
|
57
|
+
const config = input.config !== undefined ? { config: input.config } : {};
|
|
58
|
+
// Fail before the switch when the config would be refused: switching on checks the effective
|
|
59
|
+
// config (a required field never saved is refused here, not as a failed install)
|
|
60
|
+
if (enabled || input.config !== undefined) {
|
|
61
|
+
await this.configs.put(orgId, extension, { ...config, ...(enabled && { enabled: true }) }, actor, actorTokenId, { validateOnly: true });
|
|
62
|
+
}
|
|
63
|
+
const r = await this.catalog
|
|
64
|
+
.setSwitch(orgId, actor, plan.itemId, enabled
|
|
65
|
+
? {
|
|
66
|
+
enabled: true,
|
|
67
|
+
...(input.config !== undefined && { inputs: { extensionConfig: input.config } }),
|
|
68
|
+
}
|
|
69
|
+
: { enabled: false, ...(confirm !== undefined && { confirm }) }, actorTokenId)
|
|
70
|
+
.catch((e) => {
|
|
71
|
+
throw configInvalidOf(e) ?? e;
|
|
72
|
+
});
|
|
73
|
+
if (r.kind === "preview")
|
|
74
|
+
return r;
|
|
75
|
+
if (input.config === undefined) {
|
|
76
|
+
if (!enabled) {
|
|
77
|
+
const view = (await this.configs.list(orgId)).find((v) => v.plugin === extension);
|
|
78
|
+
if (view)
|
|
79
|
+
return { kind: "done", view };
|
|
80
|
+
}
|
|
81
|
+
// Switching on: the install enabled it already (no second write)
|
|
82
|
+
return {
|
|
83
|
+
kind: "done",
|
|
84
|
+
view: await this.configs.put(orgId, extension, { enabled: true }, actor, actorTokenId, {
|
|
85
|
+
ifDisabled: { skipped: false },
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
kind: "done",
|
|
91
|
+
view: await this.configs.put(orgId, extension, { config: input.config, ...(enabled && { enabled: true }) }, actor, actorTokenId),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
OrgExtensionSwitch = __decorate([
|
|
96
|
+
Injectable(),
|
|
97
|
+
__param(0, Inject(OrgExtensionConfigs)),
|
|
98
|
+
__param(1, Inject(OrgCatalogService))
|
|
99
|
+
], OrgExtensionSwitch);
|
|
100
|
+
export { OrgExtensionSwitch };
|
|
101
|
+
/**
|
|
102
|
+
* An install that failed only at its own extension step on the org config (it was valid when
|
|
103
|
+
* checked, then changed concurrently): the plain 400 `extension.config_invalid` with the field
|
|
104
|
+
* issues, as when saving the config; the install was rolled back. Anything else: undefined.
|
|
105
|
+
*/
|
|
106
|
+
function configInvalidOf(e) {
|
|
107
|
+
if (!(e instanceof ApiError) || e.code !== "plugin.install_failed")
|
|
108
|
+
return undefined;
|
|
109
|
+
const [d] = (e.details ?? []);
|
|
110
|
+
if (d?.step !== "extension" || d.code !== "extension.config_invalid")
|
|
111
|
+
return undefined;
|
|
112
|
+
if (d.dependency !== undefined || d.rolledBack !== true)
|
|
113
|
+
return undefined;
|
|
114
|
+
return new ApiError("extension.config_invalid", d.message ?? "Invalid organization config", d.causeDetails);
|
|
115
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { LocalizedName } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ExtensionDisplayNames } from "../extensions/display-name.js";
|
|
4
|
+
import { OrgExtensionConfigs, type OrgExtensionView } from "../extensions/org-config.js";
|
|
5
|
+
import { OrgOverrides, type OrgOverrideView } from "../extensions/org-overrides.js";
|
|
6
|
+
import { PluginIcons } from "../extensions/plugin-icons.js";
|
|
7
|
+
import { type Principal } from "../identity/principal.js";
|
|
8
|
+
import { type OrgContext } from "../orgs/org.guard.js";
|
|
9
|
+
import { type OrgToolSwitch, OrgToolSwitches, type OrgToolSwitchResult } from "../tools/org-tool-switches.js";
|
|
10
|
+
import { OrgExtensionParams as ExtensionParams, OrgExtensionToolParams as ToolParams, OrgToolSwitchPut as ToolSwitchPut } from "./org-extension.schemas.js";
|
|
11
|
+
import { OrgExtensionSwitch } from "./org-extension-switch.js";
|
|
12
|
+
import type { UninstallPreview } from "./plugin-install.js";
|
|
13
|
+
declare const PutBody: z.ZodObject<{
|
|
14
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
16
|
+
force: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
confirm: z.ZodOptional<z.ZodString>;
|
|
18
|
+
}, z.core.$strict>;
|
|
19
|
+
declare const OverridesPut: z.ZodObject<{
|
|
20
|
+
values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
21
|
+
secretEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
22
|
+
path: z.ZodString;
|
|
23
|
+
key: z.ZodString;
|
|
24
|
+
value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
renameFrom: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strict>>>;
|
|
27
|
+
}, z.core.$strict>;
|
|
28
|
+
declare const OverridesTake: z.ZodObject<{
|
|
29
|
+
paths: z.ZodArray<z.ZodString>;
|
|
30
|
+
}, z.core.$strict>;
|
|
31
|
+
/**
|
|
32
|
+
* One extension of the org list: the org view plus the plugin's display name, the URL of its
|
|
33
|
+
* plugin's icon on the org's catalog route (null without one or when the org may not see the
|
|
34
|
+
* plugin's item) and the extension points it provides (`channel@1`, `web-search@1`, … the names
|
|
35
|
+
* only, also for members).
|
|
36
|
+
*/
|
|
37
|
+
export type OrgExtensionItem = OrgExtensionView & {
|
|
38
|
+
displayName: LocalizedName | null;
|
|
39
|
+
icon: string | null;
|
|
40
|
+
provides: string[];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* What a member sees of an extension: its state and the points it provides (names only, what the
|
|
44
|
+
* 扩展 page sorts by), never the org config, the secrets' state, the config schema or the
|
|
45
|
+
* permission list.
|
|
46
|
+
*/
|
|
47
|
+
export type OrgExtensionMemberItem = Omit<OrgExtensionItem, "config" | "secrets" | "orgConfigSchema" | "permissions">;
|
|
48
|
+
/**
|
|
49
|
+
* Org-level extension enablement and config (`/api/v1/orgs/:orgId/extensions`); responses echo only
|
|
50
|
+
* non-secret config and whether each secret is set.
|
|
51
|
+
*/
|
|
52
|
+
export declare class OrgExtensionConfigsController {
|
|
53
|
+
private readonly configs;
|
|
54
|
+
private readonly displayNames;
|
|
55
|
+
private readonly extSwitch;
|
|
56
|
+
private readonly icons;
|
|
57
|
+
constructor(configs: OrgExtensionConfigs, displayNames: ExtensionDisplayNames, extSwitch: OrgExtensionSwitch, icons: PluginIcons);
|
|
58
|
+
/**
|
|
59
|
+
* The org's extensions (also the channel plugin options: those providing `channel@1`). Members
|
|
60
|
+
* get the projection {@link OrgExtensionMemberItem}; admins the full view.
|
|
61
|
+
*/
|
|
62
|
+
list(org: OrgContext): Promise<{
|
|
63
|
+
extensions: OrgExtensionItem[] | OrgExtensionMemberItem[];
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* Writes enablement and / or config; see {@link OrgExtensionSwitch.put} for how `enabled` follows
|
|
67
|
+
* the extension's plugin (off answers `{ preview, confirm }` until `confirm` carries the hash).
|
|
68
|
+
*/
|
|
69
|
+
put(principal: Principal, org: OrgContext, extension: string, body: z.infer<typeof PutBody>): Promise<{
|
|
70
|
+
extension: OrgExtensionItem;
|
|
71
|
+
} | {
|
|
72
|
+
preview: UninstallPreview;
|
|
73
|
+
confirm: string;
|
|
74
|
+
}>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The org's two-level deployment config of an extension (spec A §5.3 to §5.6): following or a copy,
|
|
78
|
+
* the read-only and overridable fields (hidden ones are never sent), secrets as set or not.
|
|
79
|
+
*/
|
|
80
|
+
export declare class OrgExtensionOverridesController {
|
|
81
|
+
private readonly overrides;
|
|
82
|
+
constructor(overrides: OrgOverrides);
|
|
83
|
+
view(org: OrgContext, { extension }: z.infer<typeof ExtensionParams>): Promise<OrgOverrideView>;
|
|
84
|
+
/**
|
|
85
|
+
* Saves overridable fields; the first save makes the copy, which must be valid on its own (the
|
|
86
|
+
* org's own secrets in the same save). A read-only, hidden or unknown field -> 400
|
|
87
|
+
* `extension.field_not_overridable`; invalid -> 400 `extension.config_invalid`.
|
|
88
|
+
*/
|
|
89
|
+
save(principal: Principal, org: OrgContext, { extension }: z.infer<typeof ExtensionParams>, body: z.infer<typeof OverridesPut>): Promise<OrgOverrideView>;
|
|
90
|
+
/** Drops the copy (its secrets too): the org follows the platform again. */
|
|
91
|
+
reset(principal: Principal, org: OrgContext, { extension }: z.infer<typeof ExtensionParams>): Promise<OrgOverrideView>;
|
|
92
|
+
/** Takes the platform's current values of non-secret overridable fields into the copy. */
|
|
93
|
+
take(principal: Principal, org: OrgContext, { extension }: z.infer<typeof ExtensionParams>, body: z.infer<typeof OverridesTake>): Promise<OrgOverrideView>;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The org's switches of an extension's single tools (layering spec A §7): members read them, org
|
|
97
|
+
* admins turn a tool off (previewed with the agents that selected it, PCM §5 rule 8) or on.
|
|
98
|
+
*/
|
|
99
|
+
export declare class OrgExtensionToolSwitchesController {
|
|
100
|
+
private readonly switches;
|
|
101
|
+
constructor(switches: OrgToolSwitches);
|
|
102
|
+
/** Every tool the extension registers, with its switch (on unless the org turned it off). */
|
|
103
|
+
list(org: OrgContext, { extension }: z.infer<typeof ExtensionParams>): Promise<{
|
|
104
|
+
tools: OrgToolSwitch[];
|
|
105
|
+
}>;
|
|
106
|
+
/**
|
|
107
|
+
* Switches one tool: on applies at once; off answers `{ applied: false, affectedAgents, confirm }`
|
|
108
|
+
* until `confirm` carries the hash (a changed preview -> 409 `plugin.switch_stale`). A tool the
|
|
109
|
+
* extension does not register -> 404 `extension.tool_not_found`.
|
|
110
|
+
*/
|
|
111
|
+
set(principal: Principal, org: OrgContext, { extension, tool }: z.infer<typeof ToolParams>, body: z.infer<typeof ToolSwitchPut>): Promise<OrgToolSwitchResult>;
|
|
112
|
+
}
|
|
113
|
+
export {};
|
|
@@ -0,0 +1,271 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Controller, Delete, Get, HttpCode, Inject, Param, Post, Put } from "@nestjs/common";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { ExtensionDisplayNames } from "../extensions/display-name.js";
|
|
13
|
+
import { OrgExtensionConfigs, providesOf, } from "../extensions/org-config.js";
|
|
14
|
+
import { OrgOverrides } from "../extensions/org-overrides.js";
|
|
15
|
+
import { orgIconScope, PluginIcons } from "../extensions/plugin-icons.js";
|
|
16
|
+
import { CurrentPrincipal, patTokenId, requireUser, } from "../identity/principal.js";
|
|
17
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
18
|
+
import { ZBody, ZParam } from "../infra/validation/zod-params.js";
|
|
19
|
+
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
20
|
+
import { roleAtLeast } from "../orgs/roles.js";
|
|
21
|
+
import { OrgToolSwitches, } from "../tools/org-tool-switches.js";
|
|
22
|
+
import { OrgExtensionParams as ExtensionParams, OrgExtensionToolParams as ToolParams, OrgToolSwitchPut as ToolSwitchPut, } from "./org-extension.schemas.js";
|
|
23
|
+
import { OrgExtensionSwitch } from "./org-extension-switch.js";
|
|
24
|
+
const PutBody = z
|
|
25
|
+
.object({
|
|
26
|
+
enabled: z.boolean().optional(),
|
|
27
|
+
config: z.record(z.string(), z.unknown()).optional(),
|
|
28
|
+
force: z.boolean().optional(),
|
|
29
|
+
/** The hash of the plugin uninstall preview, to confirm switching the extension's plugin off. */
|
|
30
|
+
confirm: z.string().optional(),
|
|
31
|
+
})
|
|
32
|
+
.strict();
|
|
33
|
+
class OrgExtensionPutBody extends createZodDto(PutBody, "OrgExtensionPutBody") {
|
|
34
|
+
}
|
|
35
|
+
const OverrideSecretEntry = z
|
|
36
|
+
.object({
|
|
37
|
+
/** A secret record field of the copy some `x-ui.secrets[].path` names. */
|
|
38
|
+
path: z.string().min(1).max(256),
|
|
39
|
+
key: z.string().min(1).max(256),
|
|
40
|
+
/** A string sets the key, `null` removes it. */
|
|
41
|
+
value: z.string().max(65_536).nullable().optional(),
|
|
42
|
+
/** Moves the value at this key to `key` first. */
|
|
43
|
+
renameFrom: z.string().min(1).max(256).optional(),
|
|
44
|
+
})
|
|
45
|
+
.strict()
|
|
46
|
+
.refine((e) => e.value !== undefined || e.renameFrom !== undefined, {
|
|
47
|
+
message: "an entry needs value or renameFrom",
|
|
48
|
+
})
|
|
49
|
+
.refine((e) => e.key !== "__proto__" && e.renameFrom !== "__proto__", {
|
|
50
|
+
message: "__proto__ is not a valid key",
|
|
51
|
+
});
|
|
52
|
+
const OverridesPut = z
|
|
53
|
+
.object({
|
|
54
|
+
/** Overridable field dot path -> new value (`null` clears); secret fields too. */
|
|
55
|
+
values: z.record(z.string().min(1).max(256), z.unknown()),
|
|
56
|
+
secretEntries: z.array(OverrideSecretEntry).max(200).optional(),
|
|
57
|
+
})
|
|
58
|
+
.strict();
|
|
59
|
+
const OverridesTake = z
|
|
60
|
+
.object({ paths: z.array(z.string().min(1).max(256)).min(1).max(200) })
|
|
61
|
+
.strict();
|
|
62
|
+
class OrgToolSwitchPutBody extends createZodDto(ToolSwitchPut, "OrgToolSwitchPutBody") {
|
|
63
|
+
}
|
|
64
|
+
class OrgExtensionParamsDto extends createZodDto(ExtensionParams, "OrgExtensionParams") {
|
|
65
|
+
}
|
|
66
|
+
class OrgExtensionToolParamsDto extends createZodDto(ToolParams, "OrgExtensionToolParams") {
|
|
67
|
+
}
|
|
68
|
+
class OrgOverridesPutBody extends createZodDto(OverridesPut, "OrgOverridesPutBody") {
|
|
69
|
+
}
|
|
70
|
+
class OrgOverridesTakeBody extends createZodDto(OverridesTake, "OrgOverridesTakeBody") {
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Org-level extension enablement and config (`/api/v1/orgs/:orgId/extensions`); responses echo only
|
|
74
|
+
* non-secret config and whether each secret is set.
|
|
75
|
+
*/
|
|
76
|
+
let OrgExtensionConfigsController = class OrgExtensionConfigsController {
|
|
77
|
+
configs;
|
|
78
|
+
displayNames;
|
|
79
|
+
extSwitch;
|
|
80
|
+
icons;
|
|
81
|
+
constructor(configs, displayNames, extSwitch, icons) {
|
|
82
|
+
this.configs = configs;
|
|
83
|
+
this.displayNames = displayNames;
|
|
84
|
+
this.extSwitch = extSwitch;
|
|
85
|
+
this.icons = icons;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The org's extensions (also the channel plugin options: those providing `channel@1`). Members
|
|
89
|
+
* get the projection {@link OrgExtensionMemberItem}; admins the full view.
|
|
90
|
+
*/
|
|
91
|
+
async list(org) {
|
|
92
|
+
const views = await this.configs.list(org.orgId);
|
|
93
|
+
const plugins = views.map((v) => v.plugin);
|
|
94
|
+
const [names, icons] = await Promise.all([
|
|
95
|
+
this.displayNames.many(plugins),
|
|
96
|
+
this.icons.many(plugins, orgIconScope(org)),
|
|
97
|
+
]);
|
|
98
|
+
const items = views.map((v) => ({
|
|
99
|
+
...v,
|
|
100
|
+
displayName: names.get(v.plugin) ?? null,
|
|
101
|
+
icon: icons.get(v.plugin) ?? null,
|
|
102
|
+
provides: providesOf(v),
|
|
103
|
+
}));
|
|
104
|
+
if (roleAtLeast(org.role, "admin"))
|
|
105
|
+
return { extensions: items };
|
|
106
|
+
return {
|
|
107
|
+
extensions: items.map(({ config: _c, secrets: _s, orgConfigSchema: _o, permissions: _p, ...rest }) => rest),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Writes enablement and / or config; see {@link OrgExtensionSwitch.put} for how `enabled` follows
|
|
112
|
+
* the extension's plugin (off answers `{ preview, confirm }` until `confirm` carries the hash).
|
|
113
|
+
*/
|
|
114
|
+
async put(principal, org, extension, body) {
|
|
115
|
+
const p = requireUser(principal);
|
|
116
|
+
const r = await this.extSwitch.put(org.orgId, p.account.id, extension, body, patTokenId(p));
|
|
117
|
+
if (r.kind === "preview")
|
|
118
|
+
return { preview: r.preview, confirm: r.confirm };
|
|
119
|
+
const [displayName, icons] = await Promise.all([
|
|
120
|
+
this.displayNames.get(r.view.plugin),
|
|
121
|
+
this.icons.many([r.view.plugin], orgIconScope(org)),
|
|
122
|
+
]);
|
|
123
|
+
return {
|
|
124
|
+
extension: {
|
|
125
|
+
...r.view,
|
|
126
|
+
displayName,
|
|
127
|
+
icon: icons.get(r.view.plugin) ?? null,
|
|
128
|
+
provides: providesOf(r.view),
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
__decorate([
|
|
134
|
+
Get(),
|
|
135
|
+
OrgAction("org.extensions.read"),
|
|
136
|
+
__param(0, CurrentOrg())
|
|
137
|
+
], OrgExtensionConfigsController.prototype, "list", null);
|
|
138
|
+
__decorate([
|
|
139
|
+
Put(":extension"),
|
|
140
|
+
OrgAction("org.extensions.manage"),
|
|
141
|
+
__param(0, CurrentPrincipal()),
|
|
142
|
+
__param(1, CurrentOrg()),
|
|
143
|
+
__param(2, Param("extension")),
|
|
144
|
+
__param(3, ZBody(OrgExtensionPutBody))
|
|
145
|
+
], OrgExtensionConfigsController.prototype, "put", null);
|
|
146
|
+
OrgExtensionConfigsController = __decorate([
|
|
147
|
+
Controller("api/v1/orgs/:orgId/extensions"),
|
|
148
|
+
__param(0, Inject(OrgExtensionConfigs)),
|
|
149
|
+
__param(1, Inject(ExtensionDisplayNames)),
|
|
150
|
+
__param(2, Inject(OrgExtensionSwitch)),
|
|
151
|
+
__param(3, Inject(PluginIcons))
|
|
152
|
+
], OrgExtensionConfigsController);
|
|
153
|
+
export { OrgExtensionConfigsController };
|
|
154
|
+
/**
|
|
155
|
+
* The org's two-level deployment config of an extension (spec A §5.3 to §5.6): following or a copy,
|
|
156
|
+
* the read-only and overridable fields (hidden ones are never sent), secrets as set or not.
|
|
157
|
+
*/
|
|
158
|
+
let OrgExtensionOverridesController = class OrgExtensionOverridesController {
|
|
159
|
+
overrides;
|
|
160
|
+
constructor(overrides) {
|
|
161
|
+
this.overrides = overrides;
|
|
162
|
+
}
|
|
163
|
+
view(org, { extension }) {
|
|
164
|
+
return this.overrides.view(org.orgId, extension);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Saves overridable fields; the first save makes the copy, which must be valid on its own (the
|
|
168
|
+
* org's own secrets in the same save). A read-only, hidden or unknown field -> 400
|
|
169
|
+
* `extension.field_not_overridable`; invalid -> 400 `extension.config_invalid`.
|
|
170
|
+
*/
|
|
171
|
+
save(principal, org, { extension }, body) {
|
|
172
|
+
const p = requireUser(principal);
|
|
173
|
+
return this.overrides.save(org.orgId, extension, body.values, body.secretEntries ?? [], {
|
|
174
|
+
accountId: p.account.id,
|
|
175
|
+
tokenId: patTokenId(p),
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/** Drops the copy (its secrets too): the org follows the platform again. */
|
|
179
|
+
reset(principal, org, { extension }) {
|
|
180
|
+
const p = requireUser(principal);
|
|
181
|
+
return this.overrides.reset(org.orgId, extension, {
|
|
182
|
+
accountId: p.account.id,
|
|
183
|
+
tokenId: patTokenId(p),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
/** Takes the platform's current values of non-secret overridable fields into the copy. */
|
|
187
|
+
take(principal, org, { extension }, body) {
|
|
188
|
+
const p = requireUser(principal);
|
|
189
|
+
return this.overrides.take(org.orgId, extension, body.paths, {
|
|
190
|
+
accountId: p.account.id,
|
|
191
|
+
tokenId: patTokenId(p),
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
__decorate([
|
|
196
|
+
Get(),
|
|
197
|
+
OrgAction("org.extensions.manage"),
|
|
198
|
+
__param(0, CurrentOrg()),
|
|
199
|
+
__param(1, ZParam(OrgExtensionParamsDto))
|
|
200
|
+
], OrgExtensionOverridesController.prototype, "view", null);
|
|
201
|
+
__decorate([
|
|
202
|
+
Put(),
|
|
203
|
+
OrgAction("org.extensions.manage"),
|
|
204
|
+
__param(0, CurrentPrincipal()),
|
|
205
|
+
__param(1, CurrentOrg()),
|
|
206
|
+
__param(2, ZParam(OrgExtensionParamsDto)),
|
|
207
|
+
__param(3, ZBody(OrgOverridesPutBody))
|
|
208
|
+
], OrgExtensionOverridesController.prototype, "save", null);
|
|
209
|
+
__decorate([
|
|
210
|
+
Delete(),
|
|
211
|
+
OrgAction("org.extensions.manage"),
|
|
212
|
+
__param(0, CurrentPrincipal()),
|
|
213
|
+
__param(1, CurrentOrg()),
|
|
214
|
+
__param(2, ZParam(OrgExtensionParamsDto))
|
|
215
|
+
], OrgExtensionOverridesController.prototype, "reset", null);
|
|
216
|
+
__decorate([
|
|
217
|
+
Post("take"),
|
|
218
|
+
HttpCode(200),
|
|
219
|
+
OrgAction("org.extensions.manage"),
|
|
220
|
+
__param(0, CurrentPrincipal()),
|
|
221
|
+
__param(1, CurrentOrg()),
|
|
222
|
+
__param(2, ZParam(OrgExtensionParamsDto)),
|
|
223
|
+
__param(3, ZBody(OrgOverridesTakeBody))
|
|
224
|
+
], OrgExtensionOverridesController.prototype, "take", null);
|
|
225
|
+
OrgExtensionOverridesController = __decorate([
|
|
226
|
+
Controller("api/v1/orgs/:orgId/extensions/:extension/overrides"),
|
|
227
|
+
__param(0, Inject(OrgOverrides))
|
|
228
|
+
], OrgExtensionOverridesController);
|
|
229
|
+
export { OrgExtensionOverridesController };
|
|
230
|
+
/**
|
|
231
|
+
* The org's switches of an extension's single tools (layering spec A §7): members read them, org
|
|
232
|
+
* admins turn a tool off (previewed with the agents that selected it, PCM §5 rule 8) or on.
|
|
233
|
+
*/
|
|
234
|
+
let OrgExtensionToolSwitchesController = class OrgExtensionToolSwitchesController {
|
|
235
|
+
switches;
|
|
236
|
+
constructor(switches) {
|
|
237
|
+
this.switches = switches;
|
|
238
|
+
}
|
|
239
|
+
/** Every tool the extension registers, with its switch (on unless the org turned it off). */
|
|
240
|
+
async list(org, { extension }) {
|
|
241
|
+
return { tools: await this.switches.list(org.orgId, extension) };
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Switches one tool: on applies at once; off answers `{ applied: false, affectedAgents, confirm }`
|
|
245
|
+
* until `confirm` carries the hash (a changed preview -> 409 `plugin.switch_stale`). A tool the
|
|
246
|
+
* extension does not register -> 404 `extension.tool_not_found`.
|
|
247
|
+
*/
|
|
248
|
+
set(principal, org, { extension, tool }, body) {
|
|
249
|
+
const p = requireUser(principal);
|
|
250
|
+
return this.switches.set(org.orgId, extension, tool, body.enabled, { accountId: p.account.id, tokenId: patTokenId(p) }, body.confirm);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
__decorate([
|
|
254
|
+
Get(),
|
|
255
|
+
OrgAction("org.extensions.read"),
|
|
256
|
+
__param(0, CurrentOrg()),
|
|
257
|
+
__param(1, ZParam(OrgExtensionParamsDto))
|
|
258
|
+
], OrgExtensionToolSwitchesController.prototype, "list", null);
|
|
259
|
+
__decorate([
|
|
260
|
+
Put(":tool"),
|
|
261
|
+
OrgAction("org.extensions.manage"),
|
|
262
|
+
__param(0, CurrentPrincipal()),
|
|
263
|
+
__param(1, CurrentOrg()),
|
|
264
|
+
__param(2, ZParam(OrgExtensionToolParamsDto)),
|
|
265
|
+
__param(3, ZBody(OrgToolSwitchPutBody))
|
|
266
|
+
], OrgExtensionToolSwitchesController.prototype, "set", null);
|
|
267
|
+
OrgExtensionToolSwitchesController = __decorate([
|
|
268
|
+
Controller("api/v1/orgs/:orgId/extensions/:extension/tools"),
|
|
269
|
+
__param(0, Inject(OrgToolSwitches))
|
|
270
|
+
], OrgExtensionToolSwitchesController);
|
|
271
|
+
export { OrgExtensionToolSwitchesController };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RouteSchemas } from "../platform/route-schemas.js";
|
|
3
|
+
/** Route parameters of the overrides and tool switch routes (decision R20). */
|
|
4
|
+
export declare const OrgExtensionParams: z.ZodObject<{
|
|
5
|
+
extension: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare const OrgExtensionToolParams: z.ZodObject<{
|
|
8
|
+
extension: z.ZodString;
|
|
9
|
+
tool: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const OrgToolSwitchPut: z.ZodObject<{
|
|
12
|
+
enabled: z.ZodBoolean;
|
|
13
|
+
confirm: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strict>;
|
|
15
|
+
export declare const ORG_EXTENSION_ROUTES: readonly RouteSchemas[];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Route parameters of the overrides and tool switch routes (decision R20). */
|
|
3
|
+
export const OrgExtensionParams = z.object({ extension: z.string().min(1).max(64) });
|
|
4
|
+
export const OrgExtensionToolParams = OrgExtensionParams.extend({
|
|
5
|
+
tool: z.string().min(1).max(64),
|
|
6
|
+
});
|
|
7
|
+
export const OrgToolSwitchPut = z
|
|
8
|
+
.object({
|
|
9
|
+
enabled: z.boolean(),
|
|
10
|
+
/** The hash of the switch-off preview, to confirm turning the tool off. */
|
|
11
|
+
confirm: z.string().min(1).max(128).optional(),
|
|
12
|
+
})
|
|
13
|
+
.strict();
|
|
14
|
+
export const ORG_EXTENSION_ROUTES = [
|
|
15
|
+
{ route: "GET /api/v1/orgs/:orgId/extensions" },
|
|
16
|
+
{ route: "GET /api/v1/orgs/:orgId/extensions/:extension/tools", params: OrgExtensionParams },
|
|
17
|
+
{
|
|
18
|
+
route: "PUT /api/v1/orgs/:orgId/extensions/:extension/tools/:tool",
|
|
19
|
+
params: OrgExtensionToolParams,
|
|
20
|
+
body: OrgToolSwitchPut,
|
|
21
|
+
},
|
|
22
|
+
];
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import { type Principal } from "../identity/principal.js";
|
|
3
|
+
import { type OrgContext } from "../orgs/org.guard.js";
|
|
4
|
+
import { CatalogScopeService } from "./catalog-scope.service.js";
|
|
5
|
+
import { OrgPluginUploads, type OrgUploadResult, type OrgUploadReview } from "./org-plugin-uploads.js";
|
|
6
|
+
import { OrgUploadConfirmBody as ConfirmBody, OrgOwnedDeleteBody as DeleteBody, OrgOwnedPluginParams as OwnedParams, OrgOwnedShareableBody as ShareableBody, OrgUploadStagingParams as StagingParams } from "./org-plugin-uploads.schemas.js";
|
|
7
|
+
import { type OwnedDeletePreview, OwnedItems } from "./owned-items.js";
|
|
8
|
+
/**
|
|
9
|
+
* An org admin's plugin uploads (`/api/v1/orgs/:orgId/catalog/uploads/*`, spec §14, rulings P3-7,
|
|
10
|
+
* P3-8): a `.tgz` without an extension, prepared (one review) and confirmed like the super admin's
|
|
11
|
+
* import, owned by the org. Writes re-check the org admin under the org row lock.
|
|
12
|
+
*/
|
|
13
|
+
export declare class OrgPluginUploadsController {
|
|
14
|
+
private readonly uploads;
|
|
15
|
+
constructor(uploads: OrgPluginUploads);
|
|
16
|
+
/**
|
|
17
|
+
* Prepares an upload (the tgz as the raw body, `application/octet-stream`, at most
|
|
18
|
+
* `packages.maxBytes`): `{ stagingId, review, update }`, the staging kept 24 hours for this org.
|
|
19
|
+
* The checks of the platform import, plus: `customSkills` = deny with skills or agent templates,
|
|
20
|
+
* or `customConnectors` = deny with connector templates -> 403 `catalog.custom_disabled`
|
|
21
|
+
* (ruling P3-15'); a name live for another owner -> 409 `plugin.name_taken` (details
|
|
22
|
+
* `[{ owner }]`); a dependency the org cannot use -> 409 `plugin.dependency_unavailable`
|
|
23
|
+
* (details `[{ dependencies }]`).
|
|
24
|
+
*/
|
|
25
|
+
upload(principal: Principal, org: OrgContext, req: {
|
|
26
|
+
body?: unknown;
|
|
27
|
+
}): Promise<OrgUploadReview>;
|
|
28
|
+
/** The org's staged upload; unknown, expired, confirmed, another org's or the platform's -> 404. */
|
|
29
|
+
staged(org: OrgContext, params: z.infer<typeof StagingParams>): Promise<OrgUploadReview>;
|
|
30
|
+
/**
|
|
31
|
+
* Confirms the org's staged upload (201 `{ item, outcome }`): a new item owned by the org, scope
|
|
32
|
+
* `named: [org]`, not shown to other orgs, `shareable` as sent (default false), installed in the
|
|
33
|
+
* org by the scope sync (`installed`); a new version of its own item (`updated`). The checks of
|
|
34
|
+
* prepare run again under the item name's lock (the first confirm of a name wins). A package
|
|
35
|
+
* with an extension waits for the super admin (`pending`, ruling P3-10): stored, its extension
|
|
36
|
+
* name claimed (another package's -> 409 `extension.name_conflict` naming the owner), nothing
|
|
37
|
+
* installed or usable until confirmed in 待确认; a later upload replaces the pending version
|
|
38
|
+
* (P3-11). A version without an extension for an item whose first version still waits replaces
|
|
39
|
+
* that upload and is installed at once (`installed`).
|
|
40
|
+
*/
|
|
41
|
+
confirm(principal: Principal, org: OrgContext, params: z.infer<typeof StagingParams>, body: z.infer<typeof ConfirmBody>): Promise<OrgUploadResult>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The org's own plugins (`/api/v1/orgs/:orgId/owned-plugins/*`, spec §14, P3-17 to P3-19): the
|
|
45
|
+
* owner org's admin withdraws a pending upload, toggles 可共享 and deletes the plugin after a
|
|
46
|
+
* preview. Another org's or a platform plugin -> 404. Writes re-check the org admin under the org
|
|
47
|
+
* row lock.
|
|
48
|
+
*/
|
|
49
|
+
export declare class OrgOwnedPluginsController {
|
|
50
|
+
private readonly scope;
|
|
51
|
+
private readonly owned;
|
|
52
|
+
constructor(scope: CatalogScopeService, owned: OwnedItems);
|
|
53
|
+
/**
|
|
54
|
+
* Sets 可共享 (ruling P3-2: the plugin and its component rows in one transaction; turning it
|
|
55
|
+
* off keeps the orgs already associated and hides it from new ones, ruling P3-25). 204.
|
|
56
|
+
*/
|
|
57
|
+
setShareable(principal: Principal, org: OrgContext, params: z.infer<typeof OwnedParams>, body: z.infer<typeof ShareableBody>): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* What deleting the plugin does (P3-19, nothing written): `outcome` `removed` (no other org
|
|
60
|
+
* uses it) or `transferred` (to the platform), `orgs` the other orgs using it, `agents` the
|
|
61
|
+
* org's agents that lose it, and the `previewHash` to confirm.
|
|
62
|
+
*/
|
|
63
|
+
previewDelete(org: OrgContext, params: z.infer<typeof OwnedParams>): Promise<OwnedDeletePreview>;
|
|
64
|
+
/**
|
|
65
|
+
* Deletes the plugin after its preview: removed, or transferred to the platform when another
|
|
66
|
+
* org uses it (platform notice `ownership_transferred`). A preview that changed meanwhile ->
|
|
67
|
+
* 409 `catalog.preview_stale`. 204.
|
|
68
|
+
*/
|
|
69
|
+
delete(principal: Principal, org: OrgContext, params: z.infer<typeof OwnedParams>, body: z.infer<typeof DeleteBody>): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Withdraws the org's pending upload of the plugin (ruling P3-10, no notice): a first version
|
|
72
|
+
* is removed (its name free again), a new version's pending state cleared (the platform version
|
|
73
|
+
* keeps running). Another org's or a platform plugin -> 404; nothing pending -> 409
|
|
74
|
+
* `extension.not_pending`. 204.
|
|
75
|
+
*/
|
|
76
|
+
withdraw(principal: Principal, org: OrgContext, params: z.infer<typeof OwnedParams>): Promise<void>;
|
|
77
|
+
}
|