@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +94 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +876 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +109 -0
- package/dist/background/tasks.service.js +271 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +85 -10
- package/dist/extensions/bootstrap.js +215 -36
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.js +2 -0
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +9 -3
- package/dist/lifecycle/kernel-lifecycle.js +51 -11
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +774 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +102 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +730 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +381 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +43 -0
- package/dist/platform/platform-ops.module.js +142 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +21 -1
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.js +2 -1
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +29 -19
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +51 -44
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +61 -4
- package/dist/tools/info.js +119 -33
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
|
@@ -14,33 +14,26 @@ import { configSourceKind, extensionConfigSources, fieldSource, } from "../confi
|
|
|
14
14
|
import { createSecrets } from "../ctx/secrets.js";
|
|
15
15
|
import { ApiError } from "../errors.js";
|
|
16
16
|
import { audit } from "../identity/audit.js";
|
|
17
|
-
import {
|
|
17
|
+
import { SuperAdminLock } from "../identity/super-admin.js";
|
|
18
18
|
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
19
|
+
import { afterCommit } from "../infra/database/after-commit.js";
|
|
19
20
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
20
21
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
21
22
|
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
22
23
|
import { KERNEL_BUS, KERNEL_LOGGER, KEYRING } from "../infra/tokens.js";
|
|
23
24
|
import { KERNEL_APP_OPTIONS } from "../lifecycle/tokens.js";
|
|
24
25
|
import { toIssues } from "./config-issues.js";
|
|
25
|
-
import {
|
|
26
|
-
import { DEPLOYMENT_SECRETS_ORG, deleteDeep, mergeDeploymentConfig, readStoredDeploymentConfig, SECRETS_NAMESPACE, schemaFields, secretKey, secretPathsOf, setDeep, } from "./deployment-config-store.js";
|
|
26
|
+
import { checkConfigUi, configMessages, hintedSecretPaths, safeConfigFormSchema, } from "./config-json-schema.js";
|
|
27
|
+
import { DEPLOYMENT_SECRETS_ORG, deleteDeep, isObj, mergeDeploymentConfig, readStoredDeploymentConfig, SECRETS_NAMESPACE, schemaFields, secretKey, secretPathsOf, setDeep, } from "./deployment-config-store.js";
|
|
28
|
+
import { ExtensionDisplayNames } from "./display-name.js";
|
|
27
29
|
import { ExtensionHost } from "./host.js";
|
|
28
30
|
import { ExtensionInstalls } from "./installs.js";
|
|
29
31
|
import { ExtensionLifecycle } from "./lifecycle.js";
|
|
30
32
|
import { PLUGIN_DEPLOYMENT_CONFIG_TOPIC } from "./lifecycle-topics.js";
|
|
31
33
|
import { PluginDeploymentConfigLock } from "./locks.js";
|
|
34
|
+
import { fieldLevels, jsonSchemaFieldLevels, missingOverridable, parseLoadGate, } from "./org-levels.js";
|
|
32
35
|
export { DEPLOYMENT_SECRETS_ORG, mergeDeploymentConfig, readStoredDeploymentConfig, schemaFields, secretPathsOf, };
|
|
33
36
|
export { PLUGIN_DEPLOYMENT_CONFIG_TOPIC };
|
|
34
|
-
/** JSON Schema 转换按 schema 对象缓存(清单不可变)。 */
|
|
35
|
-
const jsonSchemaCache = new WeakMap();
|
|
36
|
-
function jsonSchemaOf(schema) {
|
|
37
|
-
let js = jsonSchemaCache.get(schema);
|
|
38
|
-
if (!js) {
|
|
39
|
-
js = configToJsonSchema(schema);
|
|
40
|
-
jsonSchemaCache.set(schema, js);
|
|
41
|
-
}
|
|
42
|
-
return structuredClone(js);
|
|
43
|
-
}
|
|
44
37
|
/** 某字段 zod 叶子上的默认值(整份配置不合法、校验没能补上默认值时,视图仍按它显示)。 */
|
|
45
38
|
function defaultOf(schema, path) {
|
|
46
39
|
const f = configFields(schema).find((x) => x.path === path);
|
|
@@ -69,10 +62,11 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
69
62
|
lifecycle;
|
|
70
63
|
bus;
|
|
71
64
|
log;
|
|
65
|
+
displayNames;
|
|
72
66
|
/** Where each startup-config field comes from (see `extensionConfigSources`); those fields are read-only. */
|
|
73
67
|
sources;
|
|
74
68
|
constructor(kdb, txHost,
|
|
75
|
-
/** The
|
|
69
|
+
/** The super admin lock (identity/super-admin.ts): joins the transaction. */
|
|
76
70
|
adminLock, configLock, keyring, config,
|
|
77
71
|
/** This replica's extension schemas (loaded, config-declared or prepared install records). */
|
|
78
72
|
host,
|
|
@@ -81,7 +75,7 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
81
75
|
/** Applies a saved config on this replica at once (other replicas through the bus). */
|
|
82
76
|
lifecycle,
|
|
83
77
|
/** Publishes {@link PLUGIN_DEPLOYMENT_CONFIG_TOPIC} after a save (a failure only warns). */
|
|
84
|
-
bus, log, options) {
|
|
78
|
+
bus, log, options, displayNames) {
|
|
85
79
|
this.kdb = kdb;
|
|
86
80
|
this.txHost = txHost;
|
|
87
81
|
this.adminLock = adminLock;
|
|
@@ -93,6 +87,7 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
93
87
|
this.lifecycle = lifecycle;
|
|
94
88
|
this.bus = bus;
|
|
95
89
|
this.log = log;
|
|
90
|
+
this.displayNames = displayNames;
|
|
96
91
|
const env = options.env ?? process.env;
|
|
97
92
|
this.sources =
|
|
98
93
|
options.extensionConfigSources ??
|
|
@@ -125,8 +120,11 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
125
120
|
/** Admin view; an extension unknown to the deployment -> `extension.not_found`. */
|
|
126
121
|
async view(plugin) {
|
|
127
122
|
const info = await this.info(plugin);
|
|
128
|
-
const stored = await
|
|
129
|
-
|
|
123
|
+
const [stored, displayName] = await Promise.all([
|
|
124
|
+
this.readStored(plugin, info),
|
|
125
|
+
this.displayNames.get(plugin),
|
|
126
|
+
]);
|
|
127
|
+
return this.render(plugin, info, stored, displayName);
|
|
130
128
|
}
|
|
131
129
|
/** `REPEATABLE READ` read-only: every stored field from one snapshot. */
|
|
132
130
|
readStored(plugin, info) {
|
|
@@ -141,12 +139,17 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
141
139
|
* invalid after merging (except a problem in a read-only startup-config field itself) ->
|
|
142
140
|
* `extension.config_invalid` (details carry only paths and messages);
|
|
143
141
|
* - a field present in the startup config (file / Nacos / env) -> 409 `extension.config_readonly`.
|
|
144
|
-
*
|
|
142
|
+
* `secretEntries` change single keys of secret records some `x-ui.secrets[].path` names
|
|
143
|
+
* ({@link SecretEntry}; spec §4.3): applied under the same locks to the decrypted record, which
|
|
144
|
+
* is re-encrypted whole, then validated with `values`; the audit lists the record's path, no keys.
|
|
145
|
+
* A path no hint names -> 400 `validation_failed`; one in the startup config -> 409
|
|
146
|
+
* `extension.config_readonly`.
|
|
147
|
+
* In a transaction, first `lockSuperAdminsAndAuthorize` (re-checks the super admin under
|
|
145
148
|
* the lock), then an advisory lock per extension; audit `extension.deployment_config_updated`
|
|
146
149
|
* (detail only `changedPaths`). After the commit publishes {@link PLUGIN_DEPLOYMENT_CONFIG_TOPIC} and
|
|
147
150
|
* applies it on this replica right away.
|
|
148
151
|
*/
|
|
149
|
-
async put(plugin, values, actor, actorTokenId) {
|
|
152
|
+
async put(plugin, values, actor, actorTokenId, secretEntries = []) {
|
|
150
153
|
const info = await this.info(plugin);
|
|
151
154
|
if (info.fields.length === 0) {
|
|
152
155
|
throw new ApiError("extension.config_invalid", `Extension ${plugin} has no deployment config`);
|
|
@@ -156,14 +159,16 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
156
159
|
if (unknown.length > 0) {
|
|
157
160
|
throw new ApiError("extension.config_invalid", `Unknown deployment config fields for extension ${plugin}`, unknown.map((path) => ({ path, message: "unknown field" })));
|
|
158
161
|
}
|
|
162
|
+
this.checkSecretEntries(plugin, info, values, secretEntries);
|
|
159
163
|
const sources = this.sources[plugin];
|
|
160
|
-
const
|
|
164
|
+
const entryPaths = [...new Set(secretEntries.map((e) => e.path))];
|
|
165
|
+
const readonly = [...Object.keys(values), ...entryPaths].filter((p) => fieldSource(sources, p) !== undefined);
|
|
161
166
|
if (readonly.length > 0) {
|
|
162
167
|
throw new ApiError("extension.config_readonly", `These deployment config fields of extension ${plugin} are set in the startup config (file, Nacos or environment) and are read-only here: ${readonly.join(", ")}`, readonly.map((path) => ({ path, source: fieldSource(sources, path) })));
|
|
163
168
|
}
|
|
164
169
|
const fileValue = this.fileConfig()[plugin];
|
|
165
170
|
const fieldPaths = info.fields.map((f) => f.path);
|
|
166
|
-
const { saved, changed } = await this.write(plugin, values, actor, actorTokenId, info, sources, fileValue);
|
|
171
|
+
const { saved, changed } = await this.write(plugin, values, secretEntries, actor, actorTokenId, info, sources, fileValue);
|
|
167
172
|
const stored = saved ?? {};
|
|
168
173
|
if (info.schema) {
|
|
169
174
|
const secrets = secretValues(info.schema, mergeDeploymentConfig(stored, fileValue, fieldPaths));
|
|
@@ -187,9 +192,117 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
187
192
|
});
|
|
188
193
|
}
|
|
189
194
|
}
|
|
190
|
-
return this.render(plugin, info, stored);
|
|
195
|
+
return this.render(plugin, info, stored, await this.displayNames.get(plugin));
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Clears the deployment config stored in PG: the `extension_deployment_configs` row and every
|
|
199
|
+
* secret stored for the extension (any path, also ones an older version declared). Fields from
|
|
200
|
+
* the startup config (file / Nacos / env) are untouched and stay in effect (they stay
|
|
201
|
+
* `readonly` in the view; only the startup config changes them). Unknown to the deployment ->
|
|
202
|
+
* `extension.not_found`.
|
|
203
|
+
* In a transaction: `lockAndAuthorize` (re-checks the super admin under the lock), the advisory
|
|
204
|
+
* lock per extension, audit `extension.config_cleared` (detail `clearedPaths`: the stored field
|
|
205
|
+
* paths, never values; nothing stored -> no audit, no publish). After the commit publishes
|
|
206
|
+
* {@link PLUGIN_DEPLOYMENT_CONFIG_TOPIC} and applies it on this replica: every replica re-reads,
|
|
207
|
+
* and the extension loads from what remains, or is unloaded and becomes pending configuration
|
|
208
|
+
* when that is missing or invalid (`ExtensionHost.applyDeploymentConfig`), without a restart.
|
|
209
|
+
*/
|
|
210
|
+
async clear(plugin, actor, actorTokenId) {
|
|
211
|
+
const info = await this.info(plugin);
|
|
212
|
+
await this.clearStored(plugin, info.fields.map((f) => f.path), actor, actorTokenId);
|
|
213
|
+
return this.render(plugin, info, {}, await this.displayNames.get(plugin));
|
|
214
|
+
}
|
|
215
|
+
async clearStored(plugin, fieldPaths, actor, actorTokenId) {
|
|
216
|
+
const t = this.db;
|
|
217
|
+
await this.adminLock.lockAndAuthorize(actor);
|
|
218
|
+
await this.configLock.lock(plugin);
|
|
219
|
+
const row = await t
|
|
220
|
+
.selectFrom("extension_deployment_configs")
|
|
221
|
+
.select("config")
|
|
222
|
+
.where("plugin", "=", plugin)
|
|
223
|
+
.forUpdate()
|
|
224
|
+
.executeTakeFirst();
|
|
225
|
+
const prefix = secretKey(plugin, "");
|
|
226
|
+
const secretKeys = (await t
|
|
227
|
+
.selectFrom("secrets")
|
|
228
|
+
.select("key")
|
|
229
|
+
.where("namespace", "=", SECRETS_NAMESPACE)
|
|
230
|
+
.where("org_id", "=", DEPLOYMENT_SECRETS_ORG)
|
|
231
|
+
.execute())
|
|
232
|
+
.map((r) => r.key)
|
|
233
|
+
.filter((k) => k.startsWith(prefix));
|
|
234
|
+
if (row === undefined && secretKeys.length === 0)
|
|
235
|
+
return;
|
|
236
|
+
if (secretKeys.length > 0) {
|
|
237
|
+
await t
|
|
238
|
+
.deleteFrom("secrets")
|
|
239
|
+
.where("namespace", "=", SECRETS_NAMESPACE)
|
|
240
|
+
.where("org_id", "=", DEPLOYMENT_SECRETS_ORG)
|
|
241
|
+
.where("key", "in", secretKeys)
|
|
242
|
+
.execute();
|
|
243
|
+
}
|
|
244
|
+
await t.deleteFrom("extension_deployment_configs").where("plugin", "=", plugin).execute();
|
|
245
|
+
const clearedPaths = [
|
|
246
|
+
...new Set([
|
|
247
|
+
...fieldPaths.filter((p) => getPath(row?.config ?? {}, p) !== undefined),
|
|
248
|
+
...secretKeys.map((k) => k.slice(prefix.length)),
|
|
249
|
+
]),
|
|
250
|
+
].sort();
|
|
251
|
+
await audit(t, {
|
|
252
|
+
actorAccountId: actor,
|
|
253
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
254
|
+
action: "extension.config_cleared",
|
|
255
|
+
target: plugin,
|
|
256
|
+
detail: { clearedPaths },
|
|
257
|
+
});
|
|
258
|
+
afterCommit(async () => {
|
|
259
|
+
try {
|
|
260
|
+
await this.bus.publish(PLUGIN_DEPLOYMENT_CONFIG_TOPIC, { plugin });
|
|
261
|
+
}
|
|
262
|
+
catch (err) {
|
|
263
|
+
this.log.warn("cannot publish plugin-deployment-config after clearing", { plugin, err });
|
|
264
|
+
}
|
|
265
|
+
try {
|
|
266
|
+
await this.lifecycle.applyConfig(plugin);
|
|
267
|
+
}
|
|
268
|
+
catch (err) {
|
|
269
|
+
this.log.error("applying the cleared plugin deployment config on this replica failed", {
|
|
270
|
+
plugin,
|
|
271
|
+
err,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
});
|
|
191
275
|
}
|
|
192
|
-
|
|
276
|
+
/**
|
|
277
|
+
* Secret entries name a secret record field some hint names (else 400 `validation_failed`, also
|
|
278
|
+
* for a path given in `values` too, an entry with neither `value` nor `renameFrom`, or a key
|
|
279
|
+
* `__proto__`). Messages carry paths and keys only, never values.
|
|
280
|
+
*/
|
|
281
|
+
checkSecretEntries(plugin, info, values, entries) {
|
|
282
|
+
if (entries.length === 0)
|
|
283
|
+
return;
|
|
284
|
+
const hinted = this.hintedPaths(plugin, info);
|
|
285
|
+
const secret = new Set(secretPathsOf(info.fields));
|
|
286
|
+
const problems = [];
|
|
287
|
+
for (const e of entries) {
|
|
288
|
+
if (!hinted.has(e.path) || !secret.has(e.path)) {
|
|
289
|
+
problems.push({ path: e.path, message: "no config UI hint draws this secret per item" });
|
|
290
|
+
}
|
|
291
|
+
else if (Object.hasOwn(values, e.path)) {
|
|
292
|
+
problems.push({ path: e.path, message: "given both in values and in secretEntries" });
|
|
293
|
+
}
|
|
294
|
+
else if (e.value === undefined && e.renameFrom === undefined) {
|
|
295
|
+
problems.push({ path: e.path, message: `entry ${e.key} has neither value nor renameFrom` });
|
|
296
|
+
}
|
|
297
|
+
else if (e.key === "__proto__" || e.renameFrom === "__proto__") {
|
|
298
|
+
problems.push({ path: e.path, message: "__proto__ is not a valid key" });
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
if (problems.length > 0) {
|
|
302
|
+
throw new ApiError("validation_failed", `Invalid secret entries for the deployment config of extension ${plugin}`, problems);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
async write(plugin, values, secretEntries, actor, actorTokenId, info, sources, fileValue) {
|
|
193
306
|
const fieldPaths = info.fields.map((f) => f.path);
|
|
194
307
|
let changed = [];
|
|
195
308
|
const t = this.db;
|
|
@@ -206,17 +319,20 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
206
319
|
else
|
|
207
320
|
setDeep(next, path, structuredClone(v));
|
|
208
321
|
}
|
|
322
|
+
applySecretEntries(next, secretEntries);
|
|
323
|
+
const touched = new Set([...Object.keys(values), ...secretEntries.map((e) => e.path)]);
|
|
209
324
|
if (info.schema) {
|
|
210
|
-
|
|
325
|
+
// overridable fields may stay empty on the platform (spec A §5.4a)
|
|
326
|
+
const r = parseLoadGate(info.schema, mergeDeploymentConfig(next, fileValue, fieldPaths));
|
|
211
327
|
if (!r.success) {
|
|
212
328
|
// 启动配置里只读字段自己的问题这里改不了(照样保存,插件保持待配置),其余拒绝
|
|
213
|
-
const issues = toIssues(r.error).filter((i) => i.path === "" || fieldSource(sources, i.path) === undefined);
|
|
329
|
+
const issues = toIssues(r.error, this.messagesOf(plugin, info)).filter((i) => i.path === "" || fieldSource(sources, i.path) === undefined);
|
|
214
330
|
if (issues.length > 0) {
|
|
215
331
|
throw new ApiError("extension.config_invalid", `Invalid deployment config for extension ${plugin}`, issues);
|
|
216
332
|
}
|
|
217
333
|
}
|
|
218
334
|
}
|
|
219
|
-
changed =
|
|
335
|
+
changed = [...touched]
|
|
220
336
|
.filter((p) => !isDeepStrictEqual(getPath(before, p), getPath(next, p)))
|
|
221
337
|
.sort();
|
|
222
338
|
const saved = next;
|
|
@@ -228,7 +344,7 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
228
344
|
if (!f.secret)
|
|
229
345
|
continue;
|
|
230
346
|
deleteDeep(plain, f.path);
|
|
231
|
-
if (!(f.path
|
|
347
|
+
if (!touched.has(f.path))
|
|
232
348
|
continue;
|
|
233
349
|
const v = getPath(next, f.path);
|
|
234
350
|
if (v === undefined)
|
|
@@ -261,7 +377,7 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
261
377
|
}
|
|
262
378
|
return info;
|
|
263
379
|
}
|
|
264
|
-
render(plugin, info, stored) {
|
|
380
|
+
render(plugin, info, stored, displayName) {
|
|
265
381
|
const fileValue = this.fileConfig()[plugin];
|
|
266
382
|
const sources = this.sources[plugin];
|
|
267
383
|
const raw = mergeDeploymentConfig(stored, fileValue, info.fields.map((f) => f.path));
|
|
@@ -269,14 +385,18 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
269
385
|
let valid = true;
|
|
270
386
|
let issues = [];
|
|
271
387
|
if (info.schema) {
|
|
272
|
-
|
|
388
|
+
// the load gate: overridable fields may stay empty (spec A §5.4a)
|
|
389
|
+
const r = parseLoadGate(info.schema, raw);
|
|
273
390
|
if (r.success)
|
|
274
391
|
effective = r.data;
|
|
275
392
|
else {
|
|
276
393
|
valid = false;
|
|
277
|
-
issues = toIssues(r.error);
|
|
394
|
+
issues = toIssues(r.error, this.messagesOf(plugin, info));
|
|
278
395
|
}
|
|
279
396
|
}
|
|
397
|
+
const formSchema = this.formSchemaOf(plugin, info);
|
|
398
|
+
const hinted = formSchema ? hintedSecretPaths(formSchema) : new Set();
|
|
399
|
+
const levels = levelsOf(info);
|
|
280
400
|
const fields = info.fields.map((f) => {
|
|
281
401
|
const from = fieldSource(sources, f.path);
|
|
282
402
|
let value = getPath(effective, f.path);
|
|
@@ -291,28 +411,72 @@ let ExtensionDeploymentConfigService = class ExtensionDeploymentConfigService {
|
|
|
291
411
|
value = d.value;
|
|
292
412
|
source = value === undefined ? "unset" : "default";
|
|
293
413
|
}
|
|
414
|
+
const level = levels.get(f.path.split(".")[0]);
|
|
294
415
|
const base = {
|
|
295
416
|
path: f.path,
|
|
296
417
|
secret: f.secret,
|
|
297
418
|
hot: f.hot,
|
|
298
419
|
source,
|
|
299
420
|
readonly: from !== undefined,
|
|
421
|
+
...(level !== undefined && level !== "hidden" && { org: level }),
|
|
300
422
|
};
|
|
423
|
+
// a schema default (e.g. `secret(record).default({})`) is no secret anybody set
|
|
424
|
+
const set = value !== undefined && source !== "default";
|
|
425
|
+
if (f.secret && hinted.has(f.path)) {
|
|
426
|
+
// record keys are item names, never values
|
|
427
|
+
return { ...base, set, keys: set && isObj(value) ? Object.keys(value).sort() : [] };
|
|
428
|
+
}
|
|
301
429
|
if (f.secret)
|
|
302
|
-
return { ...base, set
|
|
430
|
+
return { ...base, set };
|
|
303
431
|
return value === undefined ? base : { ...base, value: structuredClone(value) };
|
|
304
432
|
});
|
|
305
433
|
return {
|
|
306
434
|
plugin,
|
|
435
|
+
displayName,
|
|
307
436
|
version: info.version,
|
|
308
437
|
configurable: info.fields.length > 0,
|
|
309
438
|
fields,
|
|
310
|
-
schema:
|
|
439
|
+
schema: structuredClone(formSchema ?? null),
|
|
311
440
|
valid,
|
|
312
441
|
validated: info.schema !== undefined,
|
|
313
442
|
issues,
|
|
443
|
+
orgMustConfigure: orgMustConfigureOf(info, raw, levels),
|
|
314
444
|
};
|
|
315
445
|
}
|
|
446
|
+
/**
|
|
447
|
+
* The required `override` fields the platform left empty ({@link DeploymentConfigView}
|
|
448
|
+
* `orgMustConfigure`); reads nothing when the extension has no `override` field. Unknown to the
|
|
449
|
+
* deployment -> `extension.not_found`.
|
|
450
|
+
*/
|
|
451
|
+
async orgMustConfigure(plugin) {
|
|
452
|
+
const info = await this.info(plugin);
|
|
453
|
+
const levels = levelsOf(info);
|
|
454
|
+
if (![...levels.values()].includes("override"))
|
|
455
|
+
return [];
|
|
456
|
+
const stored = await this.readStored(plugin, info);
|
|
457
|
+
const raw = mergeDeploymentConfig(stored, this.fileConfig()[plugin], info.fields.map((f) => f.path));
|
|
458
|
+
return orgMustConfigureOf(info, raw, levels);
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* The form JSON Schema of the description: the zod schema's, else the package's static one. A
|
|
462
|
+
* hint conversion that throws (a hand-made package) drops the hints: the plain schema, or none
|
|
463
|
+
* when even the conversion fails; one warning per schema. Never throws.
|
|
464
|
+
*/
|
|
465
|
+
formSchemaOf(plugin, info) {
|
|
466
|
+
if (!info.schema)
|
|
467
|
+
return info.jsonSchema;
|
|
468
|
+
const r = safeConfigFormSchema(info.schema, "deployment", (err, schema) => this.log.warn("the deployment config form schema could not be built with its UI hints; hints dropped", { plugin, version: info.version, schema, err }));
|
|
469
|
+
return r?.schema;
|
|
470
|
+
}
|
|
471
|
+
messagesOf(plugin, info) {
|
|
472
|
+
const js = this.formSchemaOf(plugin, info);
|
|
473
|
+
return js && configMessages(js);
|
|
474
|
+
}
|
|
475
|
+
/** The secret record paths some hint of the form schema names. */
|
|
476
|
+
hintedPaths(plugin, info) {
|
|
477
|
+
const js = this.formSchemaOf(plugin, info);
|
|
478
|
+
return js ? hintedSecretPaths(js) : new Set();
|
|
479
|
+
}
|
|
316
480
|
};
|
|
317
481
|
__decorate([
|
|
318
482
|
Transactional({
|
|
@@ -321,6 +485,9 @@ __decorate([
|
|
|
321
485
|
accessMode: "read only",
|
|
322
486
|
})
|
|
323
487
|
], ExtensionDeploymentConfigService.prototype, "readStored", null);
|
|
488
|
+
__decorate([
|
|
489
|
+
Transactional()
|
|
490
|
+
], ExtensionDeploymentConfigService.prototype, "clearStored", null);
|
|
324
491
|
__decorate([
|
|
325
492
|
Transactional()
|
|
326
493
|
], ExtensionDeploymentConfigService.prototype, "write", null);
|
|
@@ -328,7 +495,7 @@ ExtensionDeploymentConfigService = __decorate([
|
|
|
328
495
|
Injectable(),
|
|
329
496
|
__param(0, Inject(KernelDb)),
|
|
330
497
|
__param(1, Inject(TransactionHost)),
|
|
331
|
-
__param(2, Inject(
|
|
498
|
+
__param(2, Inject(SuperAdminLock)),
|
|
332
499
|
__param(3, Inject(PluginDeploymentConfigLock)),
|
|
333
500
|
__param(4, Inject(KEYRING)),
|
|
334
501
|
__param(5, Inject(KernelConfigService)),
|
|
@@ -337,11 +504,58 @@ ExtensionDeploymentConfigService = __decorate([
|
|
|
337
504
|
__param(8, Inject(ExtensionLifecycle)),
|
|
338
505
|
__param(9, Inject(KERNEL_BUS)),
|
|
339
506
|
__param(10, Inject(KERNEL_LOGGER)),
|
|
340
|
-
__param(11, Inject(KERNEL_APP_OPTIONS))
|
|
507
|
+
__param(11, Inject(KERNEL_APP_OPTIONS)),
|
|
508
|
+
__param(12, Inject(ExtensionDisplayNames))
|
|
341
509
|
], ExtensionDeploymentConfigService);
|
|
342
510
|
export { ExtensionDeploymentConfigService };
|
|
511
|
+
/** The org level of each top-level key: from the zod schema, else the package's form schema. */
|
|
512
|
+
function levelsOf(info) {
|
|
513
|
+
return info.schema
|
|
514
|
+
? fieldLevels(info.schema)
|
|
515
|
+
: jsonSchemaFieldLevels(info.jsonSchema);
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* The required `override` keys `raw` leaves empty: by the zod schema, else (a static form schema)
|
|
519
|
+
* the `required` keys marked `override` that have no value.
|
|
520
|
+
*/
|
|
521
|
+
function orgMustConfigureOf(info, raw, levels) {
|
|
522
|
+
if (info.schema)
|
|
523
|
+
return missingOverridable(info.schema, raw);
|
|
524
|
+
const required = info.jsonSchema?.required;
|
|
525
|
+
if (!Array.isArray(required))
|
|
526
|
+
return [];
|
|
527
|
+
return [...levels]
|
|
528
|
+
.filter(([k, l]) => l === "override" && required.includes(k) && getPath(raw, k) === undefined)
|
|
529
|
+
.map(([k]) => k);
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Applies secret entries in order to the decrypted config `next` (in place): each record is read
|
|
533
|
+
* from `next` at its path, renamed, set or removed, and put back; an empty record is removed (the
|
|
534
|
+
* field falls back to its default).
|
|
535
|
+
*/
|
|
536
|
+
export function applySecretEntries(next, entries) {
|
|
537
|
+
for (const e of entries) {
|
|
538
|
+
const cur = getPath(next, e.path);
|
|
539
|
+
const rec = isObj(cur) ? { ...cur } : {};
|
|
540
|
+
if (e.renameFrom !== undefined && e.renameFrom !== e.key && Object.hasOwn(rec, e.renameFrom)) {
|
|
541
|
+
rec[e.key] = rec[e.renameFrom];
|
|
542
|
+
delete rec[e.renameFrom];
|
|
543
|
+
}
|
|
544
|
+
if (e.value === null)
|
|
545
|
+
delete rec[e.key];
|
|
546
|
+
else if (e.value !== undefined)
|
|
547
|
+
rec[e.key] = e.value;
|
|
548
|
+
if (Object.keys(rec).length === 0)
|
|
549
|
+
deleteDeep(next, e.path);
|
|
550
|
+
else
|
|
551
|
+
setDeep(next, e.path, rec);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
343
554
|
/**
|
|
344
555
|
* 本副本拿不到模块时(未加载的安装记录)按包内审阅过的静态清单给出字段(没有 zod schema:不校验,加载时再校验)。
|
|
556
|
+
* The package's `extension.configSchemas.deployment` (written by the packer) is the form schema;
|
|
557
|
+
* its hints are checked like a loaded schema's (stripped when invalid, silently: a hand-made
|
|
558
|
+
* package). It is not compared with the module (not part of `manifest_mismatch`, spec §4.5).
|
|
345
559
|
*/
|
|
346
560
|
export async function staticDeploymentSchema(db, plugin) {
|
|
347
561
|
const row = await db
|
|
@@ -355,8 +569,15 @@ export async function staticDeploymentSchema(db, plugin) {
|
|
|
355
569
|
// new rows hold the plugin's extension section, pre-0.1.0 rows the old capybara section; both
|
|
356
570
|
// carry the static manifest
|
|
357
571
|
const section = row.section;
|
|
572
|
+
const stored = section.configSchemas?.deployment;
|
|
573
|
+
let jsonSchema;
|
|
574
|
+
if (typeof stored === "object" && stored !== null && !Array.isArray(stored)) {
|
|
575
|
+
jsonSchema = structuredClone(stored);
|
|
576
|
+
checkConfigUi(jsonSchema, "deployment");
|
|
577
|
+
}
|
|
358
578
|
return {
|
|
359
579
|
version: row.version,
|
|
580
|
+
...(jsonSchema !== undefined && { jsonSchema }),
|
|
360
581
|
fields: (section.manifest.config?.deployment ?? []).map((f) => ({
|
|
361
582
|
path: f.path,
|
|
362
583
|
secret: f.secret,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LocalizedName } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
3
|
+
import { ExtensionHost } from "./host.js";
|
|
4
|
+
/**
|
|
5
|
+
* Extension display names (extension config forms spec §2.2), the one resolver every extension and
|
|
6
|
+
* model API uses: a config-declared extension's plugin.json (read by this replica's host at load,
|
|
7
|
+
* the same on every replica), else the installed package's `display_name`, else the live catalog
|
|
8
|
+
* item of the same name, else null. No backfill: a package stored before 0066 gets a name with its
|
|
9
|
+
* next version. Stateless; one query per call.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ExtensionDisplayNames {
|
|
12
|
+
private readonly db;
|
|
13
|
+
/** The config-declared extensions (they win over an install record of the same name, C15). */
|
|
14
|
+
private readonly host;
|
|
15
|
+
constructor(db: KernelDb,
|
|
16
|
+
/** The config-declared extensions (they win over an install record of the same name, C15). */
|
|
17
|
+
host: ExtensionHost);
|
|
18
|
+
/** One extension's display name. */
|
|
19
|
+
get(name: string): Promise<LocalizedName | null>;
|
|
20
|
+
/** The display names of `names` (each one a key, null when it has none), in one query. */
|
|
21
|
+
many(names: string[]): Promise<Map<string, LocalizedName | null>>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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 { KernelDb } from "../infra/database/kernel-db.js";
|
|
13
|
+
import { ExtensionHost } from "./host.js";
|
|
14
|
+
/**
|
|
15
|
+
* Extension display names (extension config forms spec §2.2), the one resolver every extension and
|
|
16
|
+
* model API uses: a config-declared extension's plugin.json (read by this replica's host at load,
|
|
17
|
+
* the same on every replica), else the installed package's `display_name`, else the live catalog
|
|
18
|
+
* item of the same name, else null. No backfill: a package stored before 0066 gets a name with its
|
|
19
|
+
* next version. Stateless; one query per call.
|
|
20
|
+
*/
|
|
21
|
+
let ExtensionDisplayNames = class ExtensionDisplayNames {
|
|
22
|
+
db;
|
|
23
|
+
host;
|
|
24
|
+
constructor(db,
|
|
25
|
+
/** The config-declared extensions (they win over an install record of the same name, C15). */
|
|
26
|
+
host) {
|
|
27
|
+
this.db = db;
|
|
28
|
+
this.host = host;
|
|
29
|
+
}
|
|
30
|
+
/** One extension's display name. */
|
|
31
|
+
async get(name) {
|
|
32
|
+
return (await this.many([name])).get(name) ?? null;
|
|
33
|
+
}
|
|
34
|
+
/** The display names of `names` (each one a key, null when it has none), in one query. */
|
|
35
|
+
async many(names) {
|
|
36
|
+
const out = new Map();
|
|
37
|
+
if (names.length === 0)
|
|
38
|
+
return out;
|
|
39
|
+
const declared = new Map(this.host.declaredPlugins().map((p) => [p.name, p]));
|
|
40
|
+
const rest = [];
|
|
41
|
+
for (const n of new Set(names)) {
|
|
42
|
+
const d = declared.get(n);
|
|
43
|
+
if (d)
|
|
44
|
+
out.set(n, d.displayName);
|
|
45
|
+
else
|
|
46
|
+
rest.push(n);
|
|
47
|
+
}
|
|
48
|
+
if (rest.length === 0)
|
|
49
|
+
return out;
|
|
50
|
+
const rows = await this.db
|
|
51
|
+
.selectFrom("extension_installs")
|
|
52
|
+
.innerJoin("extension_packages", "extension_packages.sha256", "extension_installs.sha256")
|
|
53
|
+
.select([
|
|
54
|
+
"extension_installs.name as name",
|
|
55
|
+
"extension_packages.display_name as display_name",
|
|
56
|
+
sql `0`.as("rank"),
|
|
57
|
+
])
|
|
58
|
+
.where("extension_installs.name", "in", rest)
|
|
59
|
+
.unionAll((eb) => eb
|
|
60
|
+
.selectFrom("catalog_items")
|
|
61
|
+
.select(["name", "display_name", sql `1`.as("rank")])
|
|
62
|
+
.where("name", "in", rest)
|
|
63
|
+
.where("deleted_at", "is", null))
|
|
64
|
+
.execute();
|
|
65
|
+
rows.sort((a, b) => Number(a.rank) - Number(b.rank));
|
|
66
|
+
for (const n of rest) {
|
|
67
|
+
out.set(n, rows.find((r) => r.name === n && r.display_name !== null)?.display_name ?? null);
|
|
68
|
+
}
|
|
69
|
+
return out;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
ExtensionDisplayNames = __decorate([
|
|
73
|
+
Injectable(),
|
|
74
|
+
__param(0, Inject(KernelDb)),
|
|
75
|
+
__param(1, Inject(ExtensionHost))
|
|
76
|
+
], ExtensionDisplayNames);
|
|
77
|
+
export { ExtensionDisplayNames };
|