@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +85 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +876 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +109 -0
- package/dist/background/tasks.service.js +271 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +41 -5
- package/dist/extensions/bootstrap.js +121 -19
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.js +2 -0
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +4 -2
- package/dist/lifecycle/kernel-lifecycle.js +35 -7
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +774 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +102 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +730 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +381 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +43 -0
- package/dist/platform/platform-ops.module.js +142 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +21 -1
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.js +2 -1
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +29 -19
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +51 -44
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +61 -4
- package/dist/tools/info.js +119 -33
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
|
@@ -0,0 +1,125 @@
|
|
|
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 { sql } from "kysely";
|
|
12
|
+
import { requestable } from "../catalog/scope.js";
|
|
13
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
14
|
+
import { roleAtLeast } from "../orgs/roles.js";
|
|
15
|
+
import { packagePath } from "../packages/tgz.js";
|
|
16
|
+
/** The icon scope of an org route's caller (its org and role). */
|
|
17
|
+
export const orgIconScope = (org) => ({
|
|
18
|
+
kind: "org",
|
|
19
|
+
orgId: org.orgId,
|
|
20
|
+
isAdmin: roleAtLeast(org.role, "admin"),
|
|
21
|
+
});
|
|
22
|
+
const enc = encodeURIComponent;
|
|
23
|
+
/**
|
|
24
|
+
* The rows of live catalog items the org's catalog shows (one query for the org's list rows):
|
|
25
|
+
* members never see disabled items, an upload waiting for confirmation only its owner, another
|
|
26
|
+
* org's item only when shareable or listed here (the share gate), a `named` item only its listed
|
|
27
|
+
* orgs or as requestable. Shared by the plugin icons and the setup guides.
|
|
28
|
+
*/
|
|
29
|
+
export async function orgVisibleItems(db, rows, orgId, isAdmin) {
|
|
30
|
+
if (rows.length === 0)
|
|
31
|
+
return [];
|
|
32
|
+
const listed = new Set((await db
|
|
33
|
+
.selectFrom("catalog_item_scope_orgs")
|
|
34
|
+
.select("item_id")
|
|
35
|
+
.where("org_id", "=", orgId)
|
|
36
|
+
.where("item_id", "in", rows.map((r) => r.id))
|
|
37
|
+
.execute()).map((r) => r.item_id));
|
|
38
|
+
return rows.filter((r) => {
|
|
39
|
+
const inList = listed.has(r.id);
|
|
40
|
+
const own = r.owner_org_id === orgId;
|
|
41
|
+
return ((isAdmin || !r.disabled) &&
|
|
42
|
+
(!r.awaiting_confirmation || own) &&
|
|
43
|
+
// the share gate: another org's item reaches this org only when shareable or listed here
|
|
44
|
+
(r.owner_org_id === null || own || r.shareable || inList) &&
|
|
45
|
+
(r.builtin || r.scope !== "named" || inList || requestable(r, inList)));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Plugin icons for the things a plugin brings (channels, extensions, model providers; maintainer
|
|
50
|
+
* decision 2026-11-08): extension name -> the URL of its plugin's icon, the catalog item of the
|
|
51
|
+
* same name (one live item per name). A name is present only when the item's latest version has
|
|
52
|
+
* an icon and the reader may load it: the admin scope gets `GET /api/v1/admin/catalog/items/:id/icon`
|
|
53
|
+
* for every live item; an org gets `GET /api/v1/orgs/:orgId/catalog/:itemId/icon` only for items
|
|
54
|
+
* its catalog shows (members never see disabled items, a `named` item only for its listed orgs or
|
|
55
|
+
* as requestable, an org-owned item only for its owner or through the share gate, an upload
|
|
56
|
+
* waiting for confirmation only for its owner). The URL carries the version, so a new icon is not
|
|
57
|
+
* hidden by the browser cache. Stateless; one query per call (two for an org: its list rows).
|
|
58
|
+
*/
|
|
59
|
+
let PluginIcons = class PluginIcons {
|
|
60
|
+
db;
|
|
61
|
+
constructor(db) {
|
|
62
|
+
this.db = db;
|
|
63
|
+
}
|
|
64
|
+
/** Extension (plugin) name -> its icon's URL; names without one are absent. */
|
|
65
|
+
async many(names, scope) {
|
|
66
|
+
const icons = await this.resolve("name", names, scope);
|
|
67
|
+
return new Map(icons.map((i) => [i.name, i.url]));
|
|
68
|
+
}
|
|
69
|
+
/** Catalog item id -> its icon's URL (a list of items); items without one are absent. */
|
|
70
|
+
async ofItems(ids, scope) {
|
|
71
|
+
const icons = await this.resolve("id", ids, scope);
|
|
72
|
+
return new Map(icons.map((i) => [i.id, i.url]));
|
|
73
|
+
}
|
|
74
|
+
async resolve(by, keys, scope) {
|
|
75
|
+
const out = [];
|
|
76
|
+
const unique = [...new Set(keys)];
|
|
77
|
+
if (unique.length === 0)
|
|
78
|
+
return out;
|
|
79
|
+
const rows = await this.db
|
|
80
|
+
.selectFrom("catalog_items as i")
|
|
81
|
+
.innerJoin("catalog_item_versions as v", (j) => j.onRef("v.item_id", "=", "i.id").onRef("v.version", "=", "i.latest_version"))
|
|
82
|
+
.select([
|
|
83
|
+
"i.id",
|
|
84
|
+
"i.name",
|
|
85
|
+
"i.scope",
|
|
86
|
+
"i.builtin",
|
|
87
|
+
"i.disabled",
|
|
88
|
+
"i.shown_to_others",
|
|
89
|
+
"i.owner_org_id",
|
|
90
|
+
"i.shareable",
|
|
91
|
+
"i.awaiting_confirmation",
|
|
92
|
+
"i.latest_version",
|
|
93
|
+
sql `v.manifest->>'icon'`.as("icon"),
|
|
94
|
+
"v.files",
|
|
95
|
+
])
|
|
96
|
+
.where(by === "name" ? "i.name" : "i.id", "in", unique)
|
|
97
|
+
.where("i.deleted_at", "is", null)
|
|
98
|
+
.execute();
|
|
99
|
+
const withIcon = rows.filter((r) => {
|
|
100
|
+
if (r.icon === null)
|
|
101
|
+
return false;
|
|
102
|
+
const path = packagePath(r.icon);
|
|
103
|
+
return r.files.some((f) => f.path === path);
|
|
104
|
+
});
|
|
105
|
+
if (withIcon.length === 0)
|
|
106
|
+
return out;
|
|
107
|
+
if (scope.kind === "admin") {
|
|
108
|
+
for (const r of withIcon) {
|
|
109
|
+
const url = `/api/v1/admin/catalog/items/${enc(r.id)}/icon?v=${enc(r.latest_version)}`;
|
|
110
|
+
out.push({ id: r.id, name: r.name, url });
|
|
111
|
+
}
|
|
112
|
+
return out;
|
|
113
|
+
}
|
|
114
|
+
for (const r of await orgVisibleItems(this.db, withIcon, scope.orgId, scope.isAdmin)) {
|
|
115
|
+
const url = `/api/v1/orgs/${enc(scope.orgId)}/catalog/${enc(r.id)}/icon?v=${enc(r.latest_version)}`;
|
|
116
|
+
out.push({ id: r.id, name: r.name, url });
|
|
117
|
+
}
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
PluginIcons = __decorate([
|
|
122
|
+
Injectable(),
|
|
123
|
+
__param(0, Inject(KernelDb))
|
|
124
|
+
], PluginIcons);
|
|
125
|
+
export { PluginIcons };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { PluginScope } from "../catalog/scope.js";
|
|
2
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
3
|
+
/** The catalog item (the plugin) an extension ships in. */
|
|
4
|
+
export interface ExtensionPluginItem {
|
|
5
|
+
id: string;
|
|
6
|
+
scope: PluginScope;
|
|
7
|
+
builtin: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The live catalog items of each extension in `names`, the one recorded on its install
|
|
12
|
+
* (`extension_installs.catalog_item_id`) first, then its other `extension_catalog_sources` by id.
|
|
13
|
+
* An extension without a live item (declared in the startup config, or its items deleted) is absent.
|
|
14
|
+
* `db` may be a transaction.
|
|
15
|
+
*/
|
|
16
|
+
export declare function pluginItemsOf(db: KernelSchemaDb, names: readonly string[]): Promise<Map<string, ExtensionPluginItem[]>>;
|
|
17
|
+
/**
|
|
18
|
+
* Whether an item keeps its plugin on in every org (builtin only: an org may switch off an `all`
|
|
19
|
+
* one, layering spec §4): its switch cannot go off.
|
|
20
|
+
*/
|
|
21
|
+
export declare const itemLocked: (i: ExtensionPluginItem) => boolean;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The live catalog items of each extension in `names`, the one recorded on its install
|
|
3
|
+
* (`extension_installs.catalog_item_id`) first, then its other `extension_catalog_sources` by id.
|
|
4
|
+
* An extension without a live item (declared in the startup config, or its items deleted) is absent.
|
|
5
|
+
* `db` may be a transaction.
|
|
6
|
+
*/
|
|
7
|
+
export async function pluginItemsOf(db, names) {
|
|
8
|
+
const out = new Map();
|
|
9
|
+
if (names.length === 0)
|
|
10
|
+
return out;
|
|
11
|
+
const add = (plugin, item) => {
|
|
12
|
+
const list = out.get(plugin) ?? [];
|
|
13
|
+
if (!list.some((i) => i.id === item.id))
|
|
14
|
+
list.push(item);
|
|
15
|
+
out.set(plugin, list);
|
|
16
|
+
};
|
|
17
|
+
const own = await db
|
|
18
|
+
.selectFrom("extension_installs as e")
|
|
19
|
+
.innerJoin("catalog_items as i", "i.id", "e.catalog_item_id")
|
|
20
|
+
.select(["e.name as plugin", "i.id", "i.scope", "i.builtin", "i.disabled"])
|
|
21
|
+
.where("e.name", "in", [...names])
|
|
22
|
+
.where("i.deleted_at", "is", null)
|
|
23
|
+
.execute();
|
|
24
|
+
for (const r of own)
|
|
25
|
+
add(r.plugin, r);
|
|
26
|
+
const sources = await db
|
|
27
|
+
.selectFrom("extension_catalog_sources as s")
|
|
28
|
+
.innerJoin("catalog_items as i", "i.id", "s.item_id")
|
|
29
|
+
.select(["s.plugin", "i.id", "i.scope", "i.builtin", "i.disabled"])
|
|
30
|
+
.where("s.plugin", "in", [...names])
|
|
31
|
+
.where("i.deleted_at", "is", null)
|
|
32
|
+
.orderBy("i.id")
|
|
33
|
+
.execute();
|
|
34
|
+
for (const r of sources)
|
|
35
|
+
add(r.plugin, r);
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Whether an item keeps its plugin on in every org (builtin only: an org may switch off an `all`
|
|
40
|
+
* one, layering spec §4): its switch cannot go off.
|
|
41
|
+
*/
|
|
42
|
+
export const itemLocked = (i) => i.builtin;
|
|
@@ -0,0 +1,28 @@
|
|
|
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 { ExtensionPointDefaults, type OrgPointDefaultView } from "./point-defaults.js";
|
|
5
|
+
import { ExtensionPointDefaultBody as DefaultBody, ExtensionPointParams as PointParams } from "./point-defaults.schemas.js";
|
|
6
|
+
/**
|
|
7
|
+
* The org default provider of `org-default` extension points (web tools spec §6):
|
|
8
|
+
* - `GET /api/v1/orgs/:orgId/extension-points` (`org.extensions.manage`) → `{ points }`: each
|
|
9
|
+
* point with its candidate providers, the stored default and the effective provider;
|
|
10
|
+
* - `PUT /api/v1/orgs/:orgId/extension-points/:point/default` `{ extension }`
|
|
11
|
+
* (`org.extensions.manage`) → 204;
|
|
12
|
+
* - `GET /api/v1/orgs/:orgId/extension-points/available` (`agents.use`) → `{ points }`: whether
|
|
13
|
+
* each point has a provider now, without extension names (for the agent form).
|
|
14
|
+
*/
|
|
15
|
+
export declare class ExtensionPointDefaultsController {
|
|
16
|
+
private readonly points;
|
|
17
|
+
constructor(points: ExtensionPointDefaults);
|
|
18
|
+
list(org: OrgContext): Promise<{
|
|
19
|
+
points: OrgPointDefaultView[];
|
|
20
|
+
}>;
|
|
21
|
+
available(org: OrgContext): Promise<{
|
|
22
|
+
points: {
|
|
23
|
+
point: string;
|
|
24
|
+
available: boolean;
|
|
25
|
+
}[];
|
|
26
|
+
}>;
|
|
27
|
+
setDefault(principal: Principal, org: OrgContext, { point }: z.infer<typeof PointParams>, body: z.infer<typeof DefaultBody>): Promise<void>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
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, Get, HttpCode, Inject, Put } from "@nestjs/common";
|
|
11
|
+
import { CurrentPrincipal, requireUser } from "../identity/principal.js";
|
|
12
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
13
|
+
import { ZBody, ZParam } from "../infra/validation/zod-params.js";
|
|
14
|
+
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
15
|
+
import { ExtensionPointDefaults } from "./point-defaults.js";
|
|
16
|
+
import { ExtensionPointDefaultBody as DefaultBody, ExtensionPointParams as PointParams, } from "./point-defaults.schemas.js";
|
|
17
|
+
class ExtensionPointParamsDto extends createZodDto(PointParams, "ExtensionPointParams") {
|
|
18
|
+
}
|
|
19
|
+
class ExtensionPointDefaultBodyDto extends createZodDto(DefaultBody, "ExtensionPointDefaultBody") {
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The org default provider of `org-default` extension points (web tools spec §6):
|
|
23
|
+
* - `GET /api/v1/orgs/:orgId/extension-points` (`org.extensions.manage`) → `{ points }`: each
|
|
24
|
+
* point with its candidate providers, the stored default and the effective provider;
|
|
25
|
+
* - `PUT /api/v1/orgs/:orgId/extension-points/:point/default` `{ extension }`
|
|
26
|
+
* (`org.extensions.manage`) → 204;
|
|
27
|
+
* - `GET /api/v1/orgs/:orgId/extension-points/available` (`agents.use`) → `{ points }`: whether
|
|
28
|
+
* each point has a provider now, without extension names (for the agent form).
|
|
29
|
+
*/
|
|
30
|
+
let ExtensionPointDefaultsController = class ExtensionPointDefaultsController {
|
|
31
|
+
points;
|
|
32
|
+
constructor(points) {
|
|
33
|
+
this.points = points;
|
|
34
|
+
}
|
|
35
|
+
async list(org) {
|
|
36
|
+
return { points: await this.points.list(org.orgId) };
|
|
37
|
+
}
|
|
38
|
+
async available(org) {
|
|
39
|
+
return { points: await this.points.available(org.orgId) };
|
|
40
|
+
}
|
|
41
|
+
async setDefault(principal, org, { point }, body) {
|
|
42
|
+
const p = requireUser(principal);
|
|
43
|
+
await this.points.setDefault(org.orgId, point, body.extension, p.account.id);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
__decorate([
|
|
47
|
+
Get(),
|
|
48
|
+
OrgAction("org.extensions.manage"),
|
|
49
|
+
__param(0, CurrentOrg())
|
|
50
|
+
], ExtensionPointDefaultsController.prototype, "list", null);
|
|
51
|
+
__decorate([
|
|
52
|
+
Get("available"),
|
|
53
|
+
OrgAction("agents.use"),
|
|
54
|
+
__param(0, CurrentOrg())
|
|
55
|
+
], ExtensionPointDefaultsController.prototype, "available", null);
|
|
56
|
+
__decorate([
|
|
57
|
+
Put(":point/default"),
|
|
58
|
+
HttpCode(204),
|
|
59
|
+
OrgAction("org.extensions.manage"),
|
|
60
|
+
__param(0, CurrentPrincipal()),
|
|
61
|
+
__param(1, CurrentOrg()),
|
|
62
|
+
__param(2, ZParam(ExtensionPointParamsDto)),
|
|
63
|
+
__param(3, ZBody(ExtensionPointDefaultBodyDto))
|
|
64
|
+
], ExtensionPointDefaultsController.prototype, "setDefault", null);
|
|
65
|
+
ExtensionPointDefaultsController = __decorate([
|
|
66
|
+
Controller("api/v1/orgs/:orgId/extension-points"),
|
|
67
|
+
__param(0, Inject(ExtensionPointDefaults))
|
|
68
|
+
], ExtensionPointDefaultsController);
|
|
69
|
+
export { ExtensionPointDefaultsController };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
2
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
3
|
+
import type { KernelLogger } from "../log.js";
|
|
4
|
+
import { EffectiveConfigs } from "./effective-config.js";
|
|
5
|
+
import { OrgExtensionConfigs } from "./org-config.js";
|
|
6
|
+
import { ExtensionRegistry } from "./registry.js";
|
|
7
|
+
/**
|
|
8
|
+
* The outcome of {@link ExtensionPointDefaults.resolve}: the provider with its org config and its
|
|
9
|
+
* effective deployment config for the org (layering spec A §6), both to pass back to it.
|
|
10
|
+
*/
|
|
11
|
+
export type PointResolution<T> = {
|
|
12
|
+
ok: true;
|
|
13
|
+
extension: string;
|
|
14
|
+
impl: T;
|
|
15
|
+
orgConfig: unknown;
|
|
16
|
+
config: unknown;
|
|
17
|
+
} | {
|
|
18
|
+
ok: false;
|
|
19
|
+
reason: "none" | "ambiguous";
|
|
20
|
+
};
|
|
21
|
+
/** One `org-default` extension point of an org (the admin view). */
|
|
22
|
+
export interface OrgPointDefaultView {
|
|
23
|
+
point: string;
|
|
24
|
+
/** The extensions that could serve the org now, by name. */
|
|
25
|
+
candidates: string[];
|
|
26
|
+
/** The stored default, also when it is not a candidate now. */
|
|
27
|
+
default: string | null;
|
|
28
|
+
/** The extension a call would use now; null when there is none or the choice is ambiguous. */
|
|
29
|
+
effective: string | null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The org default provider of an `org-default` extension point (web tools spec §6). Per call,
|
|
33
|
+
* never cached in process: the candidates are the providers loaded on this replica that are
|
|
34
|
+
* enabled in the org, whose org config and effective deployment config for the org (layering spec
|
|
35
|
+
* A §6) are valid, and whose `configured()` (when present) does not return false. One candidate is used as is; several need the org's stored default
|
|
36
|
+
* (`capybara.org_extension_point_defaults`), else the choice is ambiguous. A stored default that
|
|
37
|
+
* is not a candidate (disabled, uninstalled, unconfigured) stays and counts again once it is one.
|
|
38
|
+
*/
|
|
39
|
+
export declare class ExtensionPointDefaults {
|
|
40
|
+
private readonly kdb;
|
|
41
|
+
readonly txHost: TransactionHost;
|
|
42
|
+
private readonly registry;
|
|
43
|
+
private readonly orgConfigs;
|
|
44
|
+
private readonly effective;
|
|
45
|
+
private readonly log;
|
|
46
|
+
constructor(kdb: KernelDb, txHost: TransactionHost, registry: Pick<ExtensionRegistry, "list">, orgConfigs: Pick<OrgExtensionConfigs, "get">, effective: Pick<EffectiveConfigs, "get">, log: KernelLogger);
|
|
47
|
+
/**
|
|
48
|
+
* The provider of `point` (the name without the major, e.g. `web-search`) for `orgId`, with the
|
|
49
|
+
* org's decrypted config and the effective deployment config to pass back to it. Throws when the
|
|
50
|
+
* point has no `selection`.
|
|
51
|
+
*/
|
|
52
|
+
resolve<T>(orgId: string, point: string): Promise<PointResolution<T>>;
|
|
53
|
+
/** Every `org-default` point with its candidates, stored default and effective provider. */
|
|
54
|
+
list(orgId: string): Promise<OrgPointDefaultView[]>;
|
|
55
|
+
/** Whether each `org-default` point has a provider for the org now (no extension names). */
|
|
56
|
+
available(orgId: string): Promise<{
|
|
57
|
+
point: string;
|
|
58
|
+
available: boolean;
|
|
59
|
+
}[]>;
|
|
60
|
+
/**
|
|
61
|
+
* Stores `extension` as the org's default provider of `point`. 400 `validation_failed` unless
|
|
62
|
+
* the point is an `org-default` one and the extension provides it (loaded here) and is enabled
|
|
63
|
+
* in the org. Audited as `extension_point.default_set`.
|
|
64
|
+
*/
|
|
65
|
+
setDefault(orgId: string, point: string, extension: string, actorId: string,
|
|
66
|
+
/** Merged into the audit detail (a write made through the Platform tool). */
|
|
67
|
+
auditDetail?: Record<string, unknown>): Promise<void>;
|
|
68
|
+
/** The candidates of `point` in `orgId`, by extension name. */
|
|
69
|
+
private candidates;
|
|
70
|
+
private choose;
|
|
71
|
+
/** The org's stored defaults, point → extension. */
|
|
72
|
+
private storedDefaults;
|
|
73
|
+
}
|
|
@@ -0,0 +1,236 @@
|
|
|
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 { EXTENSION_POINTS } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { ApiError } from "../errors.js";
|
|
13
|
+
import { audit } from "../identity/audit.js";
|
|
14
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
15
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
16
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
17
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
18
|
+
import { EffectiveConfigs } from "./effective-config.js";
|
|
19
|
+
import { enabledExtensionsQuery, isExtensionEnabled } from "./enabled.js";
|
|
20
|
+
import { OrgExtensionConfigs } from "./org-config.js";
|
|
21
|
+
import { ExtensionRegistry } from "./registry.js";
|
|
22
|
+
/** The extension points whose provider each org chooses (`selection: "org-default"`). */
|
|
23
|
+
function selectionPoints() {
|
|
24
|
+
return Object.entries(EXTENSION_POINTS)
|
|
25
|
+
.filter(([, info]) => info.selection === "org-default")
|
|
26
|
+
.map(([name]) => name);
|
|
27
|
+
}
|
|
28
|
+
const hasSelection = (point) => EXTENSION_POINTS[point]?.selection === "org-default";
|
|
29
|
+
/**
|
|
30
|
+
* The org default provider of an `org-default` extension point (web tools spec §6). Per call,
|
|
31
|
+
* never cached in process: the candidates are the providers loaded on this replica that are
|
|
32
|
+
* enabled in the org, whose org config and effective deployment config for the org (layering spec
|
|
33
|
+
* A §6) are valid, and whose `configured()` (when present) does not return false. One candidate is used as is; several need the org's stored default
|
|
34
|
+
* (`capybara.org_extension_point_defaults`), else the choice is ambiguous. A stored default that
|
|
35
|
+
* is not a candidate (disabled, uninstalled, unconfigured) stays and counts again once it is one.
|
|
36
|
+
*/
|
|
37
|
+
let ExtensionPointDefaults = class ExtensionPointDefaults {
|
|
38
|
+
kdb;
|
|
39
|
+
txHost;
|
|
40
|
+
registry;
|
|
41
|
+
orgConfigs;
|
|
42
|
+
effective;
|
|
43
|
+
log;
|
|
44
|
+
constructor(kdb, txHost, registry, orgConfigs, effective, log) {
|
|
45
|
+
this.kdb = kdb;
|
|
46
|
+
this.txHost = txHost;
|
|
47
|
+
this.registry = registry;
|
|
48
|
+
this.orgConfigs = orgConfigs;
|
|
49
|
+
this.effective = effective;
|
|
50
|
+
this.log = log;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The provider of `point` (the name without the major, e.g. `web-search`) for `orgId`, with the
|
|
54
|
+
* org's decrypted config and the effective deployment config to pass back to it. Throws when the
|
|
55
|
+
* point has no `selection`.
|
|
56
|
+
*/
|
|
57
|
+
async resolve(orgId, point) {
|
|
58
|
+
if (!hasSelection(point)) {
|
|
59
|
+
throw new Error(`extension point ${point} has no org-default selection`);
|
|
60
|
+
}
|
|
61
|
+
const candidates = await this.candidates(orgId, point);
|
|
62
|
+
const chosen = await this.choose(orgId, point, candidates);
|
|
63
|
+
if (!chosen.ok)
|
|
64
|
+
return chosen;
|
|
65
|
+
const c = chosen.candidate;
|
|
66
|
+
return {
|
|
67
|
+
ok: true,
|
|
68
|
+
extension: c.extension,
|
|
69
|
+
impl: c.impl,
|
|
70
|
+
orgConfig: c.orgConfig,
|
|
71
|
+
config: c.config,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/** Every `org-default` point with its candidates, stored default and effective provider. */
|
|
75
|
+
async list(orgId) {
|
|
76
|
+
const stored = await this.storedDefaults(orgId);
|
|
77
|
+
const out = [];
|
|
78
|
+
for (const point of selectionPoints()) {
|
|
79
|
+
const candidates = await this.candidates(orgId, point);
|
|
80
|
+
const chosen = pick(candidates, stored.get(point));
|
|
81
|
+
out.push({
|
|
82
|
+
point,
|
|
83
|
+
candidates: candidates.map((c) => c.extension),
|
|
84
|
+
default: stored.get(point) ?? null,
|
|
85
|
+
effective: chosen.ok ? chosen.candidate.extension : null,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
/** Whether each `org-default` point has a provider for the org now (no extension names). */
|
|
91
|
+
async available(orgId) {
|
|
92
|
+
const out = [];
|
|
93
|
+
for (const point of selectionPoints()) {
|
|
94
|
+
out.push({ point, available: (await this.resolve(orgId, point)).ok });
|
|
95
|
+
}
|
|
96
|
+
return out;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Stores `extension` as the org's default provider of `point`. 400 `validation_failed` unless
|
|
100
|
+
* the point is an `org-default` one and the extension provides it (loaded here) and is enabled
|
|
101
|
+
* in the org. Audited as `extension_point.default_set`.
|
|
102
|
+
*/
|
|
103
|
+
async setDefault(orgId, point, extension, actorId,
|
|
104
|
+
/** Merged into the audit detail (a write made through the Platform tool). */
|
|
105
|
+
auditDetail) {
|
|
106
|
+
const db = this.kdb.db;
|
|
107
|
+
if (!hasSelection(point)) {
|
|
108
|
+
throw new ApiError("validation_failed", `${point} is not an extension point with an organization default`);
|
|
109
|
+
}
|
|
110
|
+
const provides = this.registry.list(point).some((e) => e.plugin === extension);
|
|
111
|
+
if (!provides || !(await isExtensionEnabled(db, orgId, extension))) {
|
|
112
|
+
throw new ApiError("validation_failed", `Extension ${extension} does not provide ${point} or is not enabled in this organization`);
|
|
113
|
+
}
|
|
114
|
+
await db
|
|
115
|
+
.insertInto("org_extension_point_defaults")
|
|
116
|
+
.values({ org_id: orgId, point, extension, updated_by: actorId })
|
|
117
|
+
.onConflict((oc) => oc.columns(["org_id", "point"]).doUpdateSet({
|
|
118
|
+
extension,
|
|
119
|
+
updated_by: actorId,
|
|
120
|
+
updated_at: new Date(),
|
|
121
|
+
}))
|
|
122
|
+
.execute();
|
|
123
|
+
await audit(db, {
|
|
124
|
+
actorAccountId: actorId,
|
|
125
|
+
orgId,
|
|
126
|
+
action: "extension_point.default_set",
|
|
127
|
+
target: point,
|
|
128
|
+
detail: { point, extension, ...auditDetail },
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/** The candidates of `point` in `orgId`, by extension name. */
|
|
132
|
+
async candidates(orgId, point) {
|
|
133
|
+
const db = this.kdb.db;
|
|
134
|
+
const enabled = new Set((await db
|
|
135
|
+
.selectFrom(enabledExtensionsQuery(db, orgId).as("en"))
|
|
136
|
+
.select("en.plugin")
|
|
137
|
+
.execute()).map((r) => r.plugin));
|
|
138
|
+
const providers = new Map();
|
|
139
|
+
for (const e of this.registry.list(point)) {
|
|
140
|
+
if (enabled.has(e.plugin) && !providers.has(e.plugin))
|
|
141
|
+
providers.set(e.plugin, e.impl);
|
|
142
|
+
}
|
|
143
|
+
const out = [];
|
|
144
|
+
for (const [extension, impl] of providers) {
|
|
145
|
+
let cfg;
|
|
146
|
+
try {
|
|
147
|
+
cfg = await this.orgConfigs.get(orgId, extension);
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
this.log.warn("org default provider: provider excluded, its org config is invalid", {
|
|
151
|
+
orgId,
|
|
152
|
+
point,
|
|
153
|
+
extension,
|
|
154
|
+
err,
|
|
155
|
+
});
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
if (!cfg?.enabled)
|
|
159
|
+
continue;
|
|
160
|
+
// spec A §6: an org whose effective config is not valid gets no call from this extension
|
|
161
|
+
let effective;
|
|
162
|
+
try {
|
|
163
|
+
effective = await this.effective.get(orgId, extension);
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
this.log.warn("org default provider: provider excluded, cannot read its effective config", {
|
|
167
|
+
orgId,
|
|
168
|
+
point,
|
|
169
|
+
extension,
|
|
170
|
+
err,
|
|
171
|
+
});
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (!effective.ok)
|
|
175
|
+
continue;
|
|
176
|
+
const configured = impl
|
|
177
|
+
.configured;
|
|
178
|
+
if (typeof configured === "function") {
|
|
179
|
+
let ok;
|
|
180
|
+
try {
|
|
181
|
+
ok = configured.call(impl, cfg.config, effective.config) !== false;
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
this.log.warn("org default provider: provider excluded, configured() threw", {
|
|
185
|
+
orgId,
|
|
186
|
+
point,
|
|
187
|
+
extension,
|
|
188
|
+
err,
|
|
189
|
+
});
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (!ok)
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
out.push({ extension, impl, orgConfig: cfg.config, config: effective.config });
|
|
196
|
+
}
|
|
197
|
+
return out.sort((a, b) => (a.extension < b.extension ? -1 : a.extension > b.extension ? 1 : 0));
|
|
198
|
+
}
|
|
199
|
+
async choose(orgId, point, candidates) {
|
|
200
|
+
if (candidates.length < 2)
|
|
201
|
+
return pick(candidates, undefined);
|
|
202
|
+
return pick(candidates, (await this.storedDefaults(orgId)).get(point));
|
|
203
|
+
}
|
|
204
|
+
/** The org's stored defaults, point → extension. */
|
|
205
|
+
async storedDefaults(orgId) {
|
|
206
|
+
const rows = await this.kdb.db
|
|
207
|
+
.selectFrom("org_extension_point_defaults")
|
|
208
|
+
.select(["point", "extension"])
|
|
209
|
+
.where("org_id", "=", orgId)
|
|
210
|
+
.execute();
|
|
211
|
+
return new Map(rows.map((r) => [r.point, r.extension]));
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
__decorate([
|
|
215
|
+
Transactional()
|
|
216
|
+
], ExtensionPointDefaults.prototype, "setDefault", null);
|
|
217
|
+
ExtensionPointDefaults = __decorate([
|
|
218
|
+
Injectable(),
|
|
219
|
+
__param(0, Inject(KernelDb)),
|
|
220
|
+
__param(1, Inject(TransactionHost)),
|
|
221
|
+
__param(2, Inject(ExtensionRegistry)),
|
|
222
|
+
__param(3, Inject(OrgExtensionConfigs)),
|
|
223
|
+
__param(4, Inject(EffectiveConfigs)),
|
|
224
|
+
__param(5, Inject(KERNEL_LOGGER))
|
|
225
|
+
], ExtensionPointDefaults);
|
|
226
|
+
export { ExtensionPointDefaults };
|
|
227
|
+
/** Rules 2-4 of spec §6: one candidate → it; several → the stored default if a candidate. */
|
|
228
|
+
function pick(candidates, stored) {
|
|
229
|
+
const [only] = candidates;
|
|
230
|
+
if (only === undefined)
|
|
231
|
+
return { ok: false, reason: "none" };
|
|
232
|
+
if (candidates.length === 1)
|
|
233
|
+
return { ok: true, candidate: only };
|
|
234
|
+
const chosen = candidates.find((c) => c.extension === stored);
|
|
235
|
+
return chosen ? { ok: true, candidate: chosen } : { ok: false, reason: "ambiguous" };
|
|
236
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RouteSchemas } from "../platform/route-schemas.js";
|
|
3
|
+
export declare const ExtensionPointParams: z.ZodObject<{
|
|
4
|
+
point: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export declare const ExtensionPointDefaultBody: z.ZodObject<{
|
|
7
|
+
extension: z.ZodString;
|
|
8
|
+
}, z.core.$strict>;
|
|
9
|
+
export declare const EXTENSION_POINT_ROUTES: readonly RouteSchemas[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const ExtensionPointParams = z.object({ point: z.string().min(1).max(100) });
|
|
3
|
+
export const ExtensionPointDefaultBody = z
|
|
4
|
+
.object({ extension: z.string().min(1).max(214) })
|
|
5
|
+
.strict();
|
|
6
|
+
export const EXTENSION_POINT_ROUTES = [
|
|
7
|
+
{ route: "GET /api/v1/orgs/:orgId/extension-points" },
|
|
8
|
+
{ route: "GET /api/v1/orgs/:orgId/extension-points/available" },
|
|
9
|
+
{
|
|
10
|
+
route: "PUT /api/v1/orgs/:orgId/extension-points/:point/default",
|
|
11
|
+
params: ExtensionPointParams,
|
|
12
|
+
body: ExtensionPointDefaultBody,
|
|
13
|
+
},
|
|
14
|
+
];
|
|
@@ -11,7 +11,7 @@ export interface ExtensionPointEntry {
|
|
|
11
11
|
version: string;
|
|
12
12
|
/** 部署配置摘要,见 `deploymentConfigHash`。 */
|
|
13
13
|
configHash: string;
|
|
14
|
-
/**
|
|
14
|
+
/** The provider instance's in-flight tracker (a tracked point's `impl`: connector, sandbox, model-provider, web-search, web-fetch, is already a proxy counted in it). */
|
|
15
15
|
inflight: InflightTracker;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
@@ -12,6 +12,8 @@ const TRACKED_EXTENSION_POINTS = {
|
|
|
12
12
|
connector: { sessions: ["open"] },
|
|
13
13
|
sandbox: {},
|
|
14
14
|
"model-provider": {},
|
|
15
|
+
"web-search": {},
|
|
16
|
+
"web-fetch": {},
|
|
15
17
|
};
|
|
16
18
|
/**
|
|
17
19
|
* The extension instances in effect in this process (by extension name, one each). One provider
|