@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
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type OnModuleInit } from "@nestjs/common";
|
|
2
|
+
import { ThemesService } from "../../themes/themes.service.js";
|
|
3
|
+
import { PlatformOperations } from "../registry.js";
|
|
4
|
+
/**
|
|
5
|
+
* Theme operations of the `Platform` tool (themes spec §9): the org's theme listing. Setting a
|
|
6
|
+
* theme goes through the settings operations (`platform.set-preferences`, `org-settings.update`,
|
|
7
|
+
* `admin.update-settings`).
|
|
8
|
+
*/
|
|
9
|
+
export declare class ThemesOperations implements OnModuleInit {
|
|
10
|
+
private readonly registry;
|
|
11
|
+
private readonly themes;
|
|
12
|
+
constructor(registry: PlatformOperations, themes: ThemesService);
|
|
13
|
+
onModuleInit(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
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 { z } from "zod";
|
|
12
|
+
import { ThemesService } from "../../themes/themes.service.js";
|
|
13
|
+
import { defineOperation } from "../operation.js";
|
|
14
|
+
import { PlatformOperations } from "../registry.js";
|
|
15
|
+
/**
|
|
16
|
+
* Theme operations of the `Platform` tool (themes spec §9): the org's theme listing. Setting a
|
|
17
|
+
* theme goes through the settings operations (`platform.set-preferences`, `org-settings.update`,
|
|
18
|
+
* `admin.update-settings`).
|
|
19
|
+
*/
|
|
20
|
+
let ThemesOperations = class ThemesOperations {
|
|
21
|
+
registry;
|
|
22
|
+
themes;
|
|
23
|
+
constructor(registry, themes) {
|
|
24
|
+
this.registry = registry;
|
|
25
|
+
this.themes = themes;
|
|
26
|
+
}
|
|
27
|
+
onModuleInit() {
|
|
28
|
+
this.registry.register([
|
|
29
|
+
defineOperation({
|
|
30
|
+
id: "themes.list",
|
|
31
|
+
description: "List the themes on in this org (id, version, name, schemes, logo and the bg / panel / ink / accent swatches per scheme), the theme in effect for you here (resolved; null is the built-in theme) and the org's setting (its default theme id, null following the platform, and whether personal picks are allowed or locked). Use a theme id with platform.set-preferences to change your own theme, or with org-settings.update to change the org's default.",
|
|
32
|
+
input: z.object({}).strict(),
|
|
33
|
+
example: {},
|
|
34
|
+
authz: { orgAction: "org.read" },
|
|
35
|
+
mirrors: ["GET /api/v1/orgs/:orgId/themes"],
|
|
36
|
+
confirm: "read",
|
|
37
|
+
run: async (_input, ctx) => this.themes.forOrg(ctx.orgId, ctx.actorAccountId),
|
|
38
|
+
}),
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
ThemesOperations = __decorate([
|
|
43
|
+
Injectable(),
|
|
44
|
+
__param(0, Inject(PlatformOperations)),
|
|
45
|
+
__param(1, Inject(ThemesService))
|
|
46
|
+
], ThemesOperations);
|
|
47
|
+
export { ThemesOperations };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type OnModuleInit } from "@nestjs/common";
|
|
2
|
+
import { PlatformOperations } from "../registry.js";
|
|
3
|
+
/** UI operations of the `Platform` tool (UI slots spec §3): the slot catalog. */
|
|
4
|
+
export declare class UiOperations implements OnModuleInit {
|
|
5
|
+
private readonly registry;
|
|
6
|
+
constructor(registry: PlatformOperations);
|
|
7
|
+
onModuleInit(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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 { UI_SLOTS } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
import { defineOperation } from "../operation.js";
|
|
14
|
+
import { PlatformOperations } from "../registry.js";
|
|
15
|
+
/** UI operations of the `Platform` tool (UI slots spec §3): the slot catalog. */
|
|
16
|
+
let UiOperations = class UiOperations {
|
|
17
|
+
registry;
|
|
18
|
+
constructor(registry) {
|
|
19
|
+
this.registry = registry;
|
|
20
|
+
}
|
|
21
|
+
onModuleInit() {
|
|
22
|
+
this.registry.register([
|
|
23
|
+
defineOperation({
|
|
24
|
+
id: "ui.slots",
|
|
25
|
+
description: "List the UI slots an extension can contribute to (id, version, where it is, scope and args, accepted kinds view / embed / component, cardinality list or single, minimum role, anchors). Use a slot id as a ui contribution's `slot` in a plugin manifest.",
|
|
26
|
+
input: z.object({}).strict(),
|
|
27
|
+
example: {},
|
|
28
|
+
// any signed-in person may call the route; every run's actor is a member of this org
|
|
29
|
+
authz: { orgAction: "agents.use" },
|
|
30
|
+
mirrors: ["GET /api/v1/ui/slots"],
|
|
31
|
+
confirm: "read",
|
|
32
|
+
run: async () => ({ slots: UI_SLOTS }),
|
|
33
|
+
}),
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
UiOperations = __decorate([
|
|
38
|
+
Injectable(),
|
|
39
|
+
__param(0, Inject(PlatformOperations))
|
|
40
|
+
], UiOperations);
|
|
41
|
+
export { UiOperations };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PluginUnavailableReason } from "../../catalog/catalog-content.js";
|
|
2
|
+
import type { KernelSchemaDb } from "../../db/kernel-schema.js";
|
|
3
|
+
import { type ErrorRole } from "../errors.js";
|
|
4
|
+
import type { OperationContext, OperationErrorNext } from "../operation.js";
|
|
5
|
+
/** The next step for an unavailable plugin or extension, keyed by role. */
|
|
6
|
+
export declare function unavailableNext(reason: PluginUnavailableReason, name: string): OperationErrorNext;
|
|
7
|
+
/** Why it cannot be used: "The extension of plugin "X" is not running on the platform: … (reason)." */
|
|
8
|
+
export declare function unavailableMessage(reason: PluginUnavailableReason, name: string): string;
|
|
9
|
+
/** The fields an unavailable list row or detail adds: the reason and the role's next step. */
|
|
10
|
+
export declare function unavailableFields(reason: PluginUnavailableReason | undefined, name: string, role: ErrorRole): {
|
|
11
|
+
reason?: PluginUnavailableReason;
|
|
12
|
+
next?: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The actor's role for next steps: the one the tool derived from this call's actor facts
|
|
16
|
+
* (`ctx.errorRole`), else read now with {@link errorRoleFor} (a context no tool call is behind).
|
|
17
|
+
*/
|
|
18
|
+
export declare function roleFor(db: KernelSchemaDb, ctx: OperationContext): Promise<ErrorRole>;
|
|
19
|
+
/**
|
|
20
|
+
* The actor's role for next steps, read now (the super admin first, then an org admin): the
|
|
21
|
+
* fallback of {@link roleFor}, the same rule as `errorRoleOf` over `PlatformActor` facts.
|
|
22
|
+
*/
|
|
23
|
+
export declare function errorRoleFor(db: KernelSchemaDb, orgId: string, accountId: string): Promise<ErrorRole>;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { errorRoleOf, resolveNext } from "../errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* What an unavailable plugin or extension tells the model (Platform tool spec §14.2 problems 1
|
|
4
|
+
* and 3): what is missing, and the next step for the actor's role. Only the super admin gets the
|
|
5
|
+
* admin console path; nothing names a config field or carries a value.
|
|
6
|
+
*/
|
|
7
|
+
/** What is missing, per reason (model-visible English, completes "…is not running on the platform: "). */
|
|
8
|
+
const MISSING = {
|
|
9
|
+
plugin_disabled: "the super admin stopped the plugin on the platform",
|
|
10
|
+
not_deployed: "its extension is not installed on the platform",
|
|
11
|
+
needs_deployment_config: "it is installed, but its deployment config is missing or invalid",
|
|
12
|
+
pending_approval: "it is installed, but its permissions wait for the super admin's approval",
|
|
13
|
+
pending_migration: "the platform is still preparing it (database migration)",
|
|
14
|
+
loading: "the platform is still loading it",
|
|
15
|
+
dependency: "it requires an extension point that no running extension provides",
|
|
16
|
+
conflict: "it provides an extension point only one extension may provide, and another running extension already provides it",
|
|
17
|
+
failed: "it failed to load on the platform",
|
|
18
|
+
deployment_disabled: "the super admin disabled it on the platform",
|
|
19
|
+
};
|
|
20
|
+
/** No request operation reaches the super admin for these (requests.create: enable / access only). */
|
|
21
|
+
const TELL_SUPER_ADMIN = "There is no request operation for this (requests.create covers enabling and access only), so tell the super admin directly.";
|
|
22
|
+
/** The member's step: inside the org, never the admin console. */
|
|
23
|
+
const memberNext = (name) => `Ask an org admin: the super admin must set up ${name} on the platform before anyone in the org can use it.`;
|
|
24
|
+
/** The next step for an unavailable plugin or extension, keyed by role. */
|
|
25
|
+
export function unavailableNext(reason, name) {
|
|
26
|
+
const adminPath = `Open the admin console → Extensions → ${name}`;
|
|
27
|
+
switch (reason) {
|
|
28
|
+
case "loading":
|
|
29
|
+
case "pending_migration":
|
|
30
|
+
return `The platform is still bringing ${name} up; wait a minute and check again with plugins.get or extensions.list.`;
|
|
31
|
+
case "plugin_disabled":
|
|
32
|
+
return {
|
|
33
|
+
superAdmin: "The plugin is stopped on the platform: turn it back on in the admin console under Plugins, then call again.",
|
|
34
|
+
orgAdmin: "The super admin stopped this plugin on the platform; ask them.",
|
|
35
|
+
member: "The super admin stopped this plugin on the platform; nothing can switch it on here.",
|
|
36
|
+
};
|
|
37
|
+
case "needs_deployment_config":
|
|
38
|
+
return {
|
|
39
|
+
superAdmin: `${adminPath} → fill in the deployment config; once it loads, switch the plugin on again.`,
|
|
40
|
+
orgAdmin: `Only the super admin can fill in the deployment config of ${name}. ${TELL_SUPER_ADMIN}`,
|
|
41
|
+
member: memberNext(name),
|
|
42
|
+
};
|
|
43
|
+
case "pending_approval":
|
|
44
|
+
return {
|
|
45
|
+
superAdmin: `${adminPath} → review and approve its permissions; once it loads, switch the plugin on again.`,
|
|
46
|
+
orgAdmin: `Only the super admin can approve the permissions of ${name}. ${TELL_SUPER_ADMIN}`,
|
|
47
|
+
member: memberNext(name),
|
|
48
|
+
};
|
|
49
|
+
case "dependency":
|
|
50
|
+
return {
|
|
51
|
+
superAdmin: `${adminPath} to see the extension point it requires, then install or enable an extension that provides it.`,
|
|
52
|
+
orgAdmin: `Only the super admin can provide what ${name} requires. ${TELL_SUPER_ADMIN}`,
|
|
53
|
+
member: memberNext(name),
|
|
54
|
+
};
|
|
55
|
+
case "conflict":
|
|
56
|
+
return {
|
|
57
|
+
superAdmin: `${adminPath} to see which extension already provides the same extension point; disable that one (or uninstall it) and ${name} loads, no restart.`,
|
|
58
|
+
orgAdmin: `Only the super admin can resolve the conflict of ${name} with another extension. ${TELL_SUPER_ADMIN}`,
|
|
59
|
+
member: memberNext(name),
|
|
60
|
+
};
|
|
61
|
+
case "failed":
|
|
62
|
+
return {
|
|
63
|
+
superAdmin: `${adminPath} to see why it failed to load; fix its deployment config or reinstall it.`,
|
|
64
|
+
orgAdmin: `Only the super admin can fix ${name}, which failed to load. ${TELL_SUPER_ADMIN}`,
|
|
65
|
+
member: memberNext(name),
|
|
66
|
+
};
|
|
67
|
+
case "deployment_disabled":
|
|
68
|
+
return {
|
|
69
|
+
superAdmin: `${adminPath} → enable it; once it loads, switch the plugin on again.`,
|
|
70
|
+
orgAdmin: `Only the super admin can enable ${name} on the platform. ${TELL_SUPER_ADMIN}`,
|
|
71
|
+
member: memberNext(name),
|
|
72
|
+
};
|
|
73
|
+
case "not_deployed":
|
|
74
|
+
return {
|
|
75
|
+
superAdmin: `Install the extension of ${name}: admin console → Extensions (or update the plugin in the admin console under Plugins), then switch it on again.`,
|
|
76
|
+
orgAdmin: `Only the super admin can install the extension of ${name}. ${TELL_SUPER_ADMIN}`,
|
|
77
|
+
member: memberNext(name),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/** Why it cannot be used: "The extension of plugin "X" is not running on the platform: … (reason)." */
|
|
82
|
+
export function unavailableMessage(reason, name) {
|
|
83
|
+
if (reason === "plugin_disabled")
|
|
84
|
+
return `Plugin "${name}" is unavailable: ${MISSING[reason]}.`;
|
|
85
|
+
return `The extension of "${name}" is not running on the platform: ${MISSING[reason]} (${reason}).`;
|
|
86
|
+
}
|
|
87
|
+
/** The fields an unavailable list row or detail adds: the reason and the role's next step. */
|
|
88
|
+
export function unavailableFields(reason, name, role) {
|
|
89
|
+
if (reason === undefined)
|
|
90
|
+
return {};
|
|
91
|
+
const next = resolveNext(unavailableNext(reason, name), role);
|
|
92
|
+
return { reason, ...(next !== undefined && { next }) };
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The actor's role for next steps: the one the tool derived from this call's actor facts
|
|
96
|
+
* (`ctx.errorRole`), else read now with {@link errorRoleFor} (a context no tool call is behind).
|
|
97
|
+
*/
|
|
98
|
+
export function roleFor(db, ctx) {
|
|
99
|
+
return ctx.errorRole !== undefined
|
|
100
|
+
? Promise.resolve(ctx.errorRole)
|
|
101
|
+
: errorRoleFor(db, ctx.orgId, ctx.actorAccountId);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The actor's role for next steps, read now (the super admin first, then an org admin): the
|
|
105
|
+
* fallback of {@link roleFor}, the same rule as `errorRoleOf` over `PlatformActor` facts.
|
|
106
|
+
*/
|
|
107
|
+
export async function errorRoleFor(db, orgId, accountId) {
|
|
108
|
+
const row = await db
|
|
109
|
+
.selectFrom("accounts")
|
|
110
|
+
.leftJoin("memberships", (j) => j.onRef("memberships.account_id", "=", "accounts.id").on("memberships.org_id", "=", orgId))
|
|
111
|
+
.select(["accounts.is_super_admin", "accounts.status", "memberships.role"])
|
|
112
|
+
.where("accounts.id", "=", accountId)
|
|
113
|
+
.executeTakeFirst();
|
|
114
|
+
return errorRoleOf({
|
|
115
|
+
role: row?.role ?? null,
|
|
116
|
+
isSuperAdmin: row?.is_super_admin === true && row.status === "active",
|
|
117
|
+
});
|
|
118
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { PlatformOperation } from "./operation.js";
|
|
2
|
+
import type { RouteSchemas } from "./route-schemas.js";
|
|
3
|
+
/** One difference between an operation's input and its mirrored route (spec §14.5 item 3). */
|
|
4
|
+
export interface ParityFinding {
|
|
5
|
+
op: string;
|
|
6
|
+
route: string;
|
|
7
|
+
/** The operation field (or declaration entry) it is about; absent when about the whole route. */
|
|
8
|
+
field?: string;
|
|
9
|
+
message: string;
|
|
10
|
+
}
|
|
11
|
+
/** What {@link inputParity} reads of an operation. */
|
|
12
|
+
export type ParityOperation = Pick<PlatformOperation, "id" | "input" | "mirrors"> & Partial<Pick<PlatformOperation, "omits" | "extras" | "renames" | "loosens">>;
|
|
13
|
+
/**
|
|
14
|
+
* Compares an operation's input with one mirrored route's body + query + path params (spec
|
|
15
|
+
* §14.5 item 3), on their input JSON Schemas:
|
|
16
|
+
* - each input field is compared with the route field of the same name, or the route path its
|
|
17
|
+
* `renames` entry names (`skillId` → `id`, `name` → `definition.name`): the same type (an
|
|
18
|
+
* operation `integer` fits a route `number`), enum values a subset, bounds no looser
|
|
19
|
+
* (`maxLength` / `maximum` / `maxItems` at most the route's, the lower bounds at least), the
|
|
20
|
+
* same `pattern` and `format`, and required where the route requires it; nested objects,
|
|
21
|
+
* arrays and records recursively (a nested optional route field the operation leaves out is
|
|
22
|
+
* allowed, a required one is not);
|
|
23
|
+
* - a `loosens` entry names an input field allowed to accept more than the route (with the
|
|
24
|
+
* reason); it is still compared by type, and an entry that loosens nothing is stale;
|
|
25
|
+
* - a top-level route field the input neither has nor renames into is listed in `omits`, an input
|
|
26
|
+
* field with no route counterpart in `extras`; stale entries of either are findings.
|
|
27
|
+
*/
|
|
28
|
+
export declare function inputParity(op: ParityOperation, route: RouteSchemas): ParityFinding[];
|
|
29
|
+
/**
|
|
30
|
+
* {@link inputParity} of every operation against each route it mirrors; a mirrored route whose
|
|
31
|
+
* schemas are not registered is a finding too (a removed route is `check:platform-ops`'s orphan).
|
|
32
|
+
*/
|
|
33
|
+
export declare function checkInputParity(ops: readonly ParityOperation[], routes: readonly RouteSchemas[]): ParityFinding[];
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** `:orgId` is the conversation's org: never an operation field, so never compared. */
|
|
3
|
+
const IMPLICIT = new Set(["orgId"]);
|
|
4
|
+
/** Bounds an operation may tighten but never loosen: the upper ones, then the lower ones. */
|
|
5
|
+
const UPPER = ["maxLength", "maximum", "exclusiveMaximum", "maxItems", "maxProperties"];
|
|
6
|
+
const LOWER = ["minLength", "minimum", "exclusiveMinimum", "minItems", "minProperties"];
|
|
7
|
+
const toJson = (s) => z.toJSONSchema(s, { io: "input", unrepresentable: "any" });
|
|
8
|
+
/** A schema's alternatives: the branches of `anyOf` / `oneOf` (flattened), else itself. */
|
|
9
|
+
function alternatives(s) {
|
|
10
|
+
const branches = (s.anyOf ?? s.oneOf);
|
|
11
|
+
return branches ? branches.flatMap(alternatives) : [s];
|
|
12
|
+
}
|
|
13
|
+
const propsOf = (s) => s.properties;
|
|
14
|
+
const requiredOf = (s) => new Set((s.required ?? []));
|
|
15
|
+
/**
|
|
16
|
+
* The top-level fields of an object schema; of a union, each branch's fields (a field that
|
|
17
|
+
* differs between branches is the `anyOf` of its branch schemas, required only when every
|
|
18
|
+
* branch requires it).
|
|
19
|
+
*/
|
|
20
|
+
function fieldsOf(s) {
|
|
21
|
+
const branches = alternatives(s);
|
|
22
|
+
const out = new Map();
|
|
23
|
+
for (const branch of branches) {
|
|
24
|
+
const req = requiredOf(branch);
|
|
25
|
+
for (const [k, v] of Object.entries(propsOf(branch) ?? {})) {
|
|
26
|
+
const f = out.get(k) ?? { schemas: [], requiredIn: 0 };
|
|
27
|
+
f.schemas.push(v);
|
|
28
|
+
if (req.has(k))
|
|
29
|
+
f.requiredIn += 1;
|
|
30
|
+
out.set(k, f);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return new Map([...out].map(([k, f]) => {
|
|
34
|
+
const distinct = [...new Map(f.schemas.map((v) => [JSON.stringify(v), v])).values()];
|
|
35
|
+
const schema = distinct.length === 1 ? distinct[0] : { anyOf: distinct };
|
|
36
|
+
return [k, { schema, required: f.requiredIn === branches.length }];
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
/** The route field at a dotted path (`definition.name`): required only when every step is. */
|
|
40
|
+
function fieldAt(fields, path) {
|
|
41
|
+
const [head, ...rest] = path.split(".");
|
|
42
|
+
let f = fields.get(head);
|
|
43
|
+
for (const seg of rest) {
|
|
44
|
+
if (f === undefined)
|
|
45
|
+
return undefined;
|
|
46
|
+
const holder = alternatives(f.schema).find((a) => propsOf(a)?.[seg] !== undefined);
|
|
47
|
+
const next = holder && propsOf(holder)?.[seg];
|
|
48
|
+
if (!holder || !next)
|
|
49
|
+
return undefined;
|
|
50
|
+
f = { schema: next, required: f.required && requiredOf(holder).has(seg) };
|
|
51
|
+
}
|
|
52
|
+
return f;
|
|
53
|
+
}
|
|
54
|
+
const jsonType = (v) => v === null ? "null" : Array.isArray(v) ? "array" : typeof v;
|
|
55
|
+
/** The JSON types a schema accepts; `undefined` when it accepts anything. */
|
|
56
|
+
function typesOf(s) {
|
|
57
|
+
if (s.type !== undefined)
|
|
58
|
+
return new Set(Array.isArray(s.type) ? s.type : [s.type]);
|
|
59
|
+
if ("const" in s)
|
|
60
|
+
return new Set([jsonType(s.const)]);
|
|
61
|
+
if (Array.isArray(s.enum))
|
|
62
|
+
return new Set(s.enum.map(jsonType));
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
/** `integer` is a `number`; every other type only itself. */
|
|
66
|
+
const typeFits = (t, allowed) => allowed.has(t) || (t === "integer" && allowed.has("number"));
|
|
67
|
+
const describeTypes = (t) => t === undefined ? "any" : [...t].sort().join(" | ");
|
|
68
|
+
const valuesOf = (s) => "const" in s ? [s.const] : Array.isArray(s.enum) ? s.enum : undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Why one operation alternative accepts more than one route alternative, or null when it accepts
|
|
71
|
+
* no more (spec §14.5 item 3). Objects, arrays and records are compared recursively: every
|
|
72
|
+
* operation property is a route property, every property the route requires the operation
|
|
73
|
+
* requires, a closed route object is closed in the operation, items and values fit.
|
|
74
|
+
*/
|
|
75
|
+
function misfit(op, route, path, top) {
|
|
76
|
+
/** The reason, prefixed by the path inside the compared field (none at the field itself). */
|
|
77
|
+
const at = (p, why) => (p === top ? why : `${p}: ${why}`);
|
|
78
|
+
const want = typesOf(route);
|
|
79
|
+
const got = typesOf(op);
|
|
80
|
+
if (want !== undefined && (got === undefined || [...got].some((t) => !typeFits(t, want)))) {
|
|
81
|
+
return at(path, `type ${describeTypes(got)} in the operation, ${describeTypes(want)} in the route`);
|
|
82
|
+
}
|
|
83
|
+
const allowed = valuesOf(route);
|
|
84
|
+
if (allowed !== undefined) {
|
|
85
|
+
const vs = valuesOf(op);
|
|
86
|
+
const keys = new Set(allowed.map((v) => JSON.stringify(v)));
|
|
87
|
+
if (vs === undefined || vs.some((v) => !keys.has(JSON.stringify(v)))) {
|
|
88
|
+
return at(path, `values ${vs === undefined ? "any" : JSON.stringify(vs)} are looser than the route's ${JSON.stringify(allowed)}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
for (const k of UPPER) {
|
|
92
|
+
const r = route[k];
|
|
93
|
+
const o = op[k];
|
|
94
|
+
if (r !== undefined && (o === undefined || o > r)) {
|
|
95
|
+
return at(path, `${k} ${o ?? "unbounded"} is looser than the route's ${r}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
for (const k of LOWER) {
|
|
99
|
+
const r = route[k];
|
|
100
|
+
const o = op[k];
|
|
101
|
+
if (r !== undefined && (o === undefined || o < r)) {
|
|
102
|
+
return at(path, `${k} ${o ?? "unbounded"} is looser than the route's ${r}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
for (const k of ["pattern", "format"]) {
|
|
106
|
+
if (route[k] !== undefined && op[k] !== route[k]) {
|
|
107
|
+
return at(path, `${k} ${op[k] === undefined ? "none" : JSON.stringify(op[k])} differs from the route's ${JSON.stringify(route[k])}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const sub = (k) => `${path}.${k}`;
|
|
111
|
+
const rp = propsOf(route);
|
|
112
|
+
if (rp !== undefined) {
|
|
113
|
+
const opProps = propsOf(op) ?? {};
|
|
114
|
+
const opReq = requiredOf(op);
|
|
115
|
+
for (const k of requiredOf(route)) {
|
|
116
|
+
if (!opReq.has(k))
|
|
117
|
+
return at(sub(k), "required by the route, optional or missing here");
|
|
118
|
+
}
|
|
119
|
+
for (const [k, v] of Object.entries(opProps)) {
|
|
120
|
+
const r = rp[k];
|
|
121
|
+
if (r === undefined)
|
|
122
|
+
return at(sub(k), "no field of the route");
|
|
123
|
+
const why = fieldMismatch(v, r, sub(k), top);
|
|
124
|
+
if (why !== null)
|
|
125
|
+
return why;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (route.additionalProperties === false && op.additionalProperties !== false) {
|
|
129
|
+
return at(path, "accepts unknown keys, the route does not");
|
|
130
|
+
}
|
|
131
|
+
// a record's values: an operation closed to unknown keys accepts none, else its values must fit
|
|
132
|
+
if (typeof route.additionalProperties === "object" && op.additionalProperties !== false) {
|
|
133
|
+
const why = fieldMismatch((op.additionalProperties ?? {}), route.additionalProperties, sub("*"), top);
|
|
134
|
+
if (why !== null)
|
|
135
|
+
return why;
|
|
136
|
+
}
|
|
137
|
+
if (typeof route.propertyNames === "object") {
|
|
138
|
+
const why = fieldMismatch((op.propertyNames ?? {}), route.propertyNames, sub("<key>"), top);
|
|
139
|
+
if (why !== null)
|
|
140
|
+
return why;
|
|
141
|
+
}
|
|
142
|
+
if (typeof route.items === "object" && route.items !== null) {
|
|
143
|
+
const why = fieldMismatch((op.items ?? {}), route.items, sub("[]"), top);
|
|
144
|
+
if (why !== null)
|
|
145
|
+
return why;
|
|
146
|
+
}
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
/** Why the operation's schema accepts more than the route's, or null: each op alternative fits one. */
|
|
150
|
+
function fieldMismatch(op, route, path, top) {
|
|
151
|
+
const routeAlts = alternatives(route);
|
|
152
|
+
for (const a of alternatives(op)) {
|
|
153
|
+
const reasons = routeAlts.map((b) => misfit(a, b, path, top));
|
|
154
|
+
if (!reasons.includes(null))
|
|
155
|
+
return reasons[0];
|
|
156
|
+
}
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Compares an operation's input with one mirrored route's body + query + path params (spec
|
|
161
|
+
* §14.5 item 3), on their input JSON Schemas:
|
|
162
|
+
* - each input field is compared with the route field of the same name, or the route path its
|
|
163
|
+
* `renames` entry names (`skillId` → `id`, `name` → `definition.name`): the same type (an
|
|
164
|
+
* operation `integer` fits a route `number`), enum values a subset, bounds no looser
|
|
165
|
+
* (`maxLength` / `maximum` / `maxItems` at most the route's, the lower bounds at least), the
|
|
166
|
+
* same `pattern` and `format`, and required where the route requires it; nested objects,
|
|
167
|
+
* arrays and records recursively (a nested optional route field the operation leaves out is
|
|
168
|
+
* allowed, a required one is not);
|
|
169
|
+
* - a `loosens` entry names an input field allowed to accept more than the route (with the
|
|
170
|
+
* reason); it is still compared by type, and an entry that loosens nothing is stale;
|
|
171
|
+
* - a top-level route field the input neither has nor renames into is listed in `omits`, an input
|
|
172
|
+
* field with no route counterpart in `extras`; stale entries of either are findings.
|
|
173
|
+
*/
|
|
174
|
+
export function inputParity(op, route) {
|
|
175
|
+
const out = [];
|
|
176
|
+
const add = (field, message) => out.push({ op: op.id, route: route.route, field, message: `${op.id}: ${message}` });
|
|
177
|
+
const opFields = fieldsOf(toJson(op.input));
|
|
178
|
+
const routeFields = new Map();
|
|
179
|
+
for (const part of [route.params, route.query, route.body]) {
|
|
180
|
+
if (part === undefined)
|
|
181
|
+
continue;
|
|
182
|
+
for (const [k, v] of fieldsOf(toJson(part)))
|
|
183
|
+
if (!IMPLICIT.has(k))
|
|
184
|
+
routeFields.set(k, v);
|
|
185
|
+
}
|
|
186
|
+
const omits = new Set(op.omits ?? []);
|
|
187
|
+
const extras = new Set(op.extras ?? []);
|
|
188
|
+
const renames = new Map(Object.entries(op.renames ?? {}));
|
|
189
|
+
const loosens = new Map(Object.entries(op.loosens ?? {}));
|
|
190
|
+
const r = `\`${route.route}\``;
|
|
191
|
+
/** Top-level route fields an input field covers (by name or by a rename into it). */
|
|
192
|
+
const covered = new Set();
|
|
193
|
+
for (const [k, opField] of opFields) {
|
|
194
|
+
const target = renames.get(k) ?? k;
|
|
195
|
+
const routeField = fieldAt(routeFields, target);
|
|
196
|
+
if (routeField === undefined) {
|
|
197
|
+
if (renames.has(k))
|
|
198
|
+
add(k, `\`renames\` maps \`${k}\` to \`${target}\`, no field of ${r}`);
|
|
199
|
+
else if (!extras.has(k))
|
|
200
|
+
add(k, `\`${k}\` is no field of ${r} and not in \`extras\``);
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
covered.add(target.split(".")[0]);
|
|
204
|
+
if (extras.has(k))
|
|
205
|
+
add(k, `\`extras\` names \`${k}\`, which ${r} has as \`${target}\``);
|
|
206
|
+
const reason = loosens.get(k);
|
|
207
|
+
const name = target === k ? `\`${k}\`` : `\`${k}\` (\`${target}\`)`;
|
|
208
|
+
if (reason !== undefined) {
|
|
209
|
+
if (reason.trim() === "")
|
|
210
|
+
add(k, `\`loosens\` names \`${k}\` without a reason`);
|
|
211
|
+
const want = typesOf(routeField.schema);
|
|
212
|
+
const got = typesOf(opField.schema);
|
|
213
|
+
if (want !== undefined && (got === undefined || [...got].some((t) => !typeFits(t, want)))) {
|
|
214
|
+
add(k, `${name}: type ${describeTypes(got)} in the operation, ${describeTypes(want)} in the route (${r}; \`loosens\` excuses bounds, never the type)`);
|
|
215
|
+
}
|
|
216
|
+
const looser = (routeField.required && !opField.required) ||
|
|
217
|
+
fieldMismatch(opField.schema, routeField.schema, target, target) !== null;
|
|
218
|
+
if (!looser)
|
|
219
|
+
add(k, `\`loosens\` names ${name}, which is no looser than ${r}`);
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
if (routeField.required && !opField.required) {
|
|
223
|
+
add(k, `${name} is required by ${r} but optional here (declare it in \`loosens\` if meant)`);
|
|
224
|
+
}
|
|
225
|
+
const why = fieldMismatch(opField.schema, routeField.schema, target, target);
|
|
226
|
+
if (why !== null)
|
|
227
|
+
add(k, `${name}: ${why} (${r})`);
|
|
228
|
+
}
|
|
229
|
+
for (const k of routeFields.keys()) {
|
|
230
|
+
if (!covered.has(k) && !omits.has(k)) {
|
|
231
|
+
add(k, `\`${k}\` of ${r} is missing from the input and not in \`omits\``);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
for (const k of omits) {
|
|
235
|
+
if (!routeFields.has(k))
|
|
236
|
+
add(k, `\`omits\` names \`${k}\`, no field of ${r}`);
|
|
237
|
+
else if (covered.has(k))
|
|
238
|
+
add(k, `\`omits\` names \`${k}\`, but the input has it`);
|
|
239
|
+
}
|
|
240
|
+
for (const k of extras) {
|
|
241
|
+
if (!opFields.has(k))
|
|
242
|
+
add(k, `\`extras\` names \`${k}\`, which the input lacks`);
|
|
243
|
+
}
|
|
244
|
+
for (const k of renames.keys()) {
|
|
245
|
+
if (!opFields.has(k))
|
|
246
|
+
add(k, `\`renames\` names \`${k}\`, which the input lacks`);
|
|
247
|
+
}
|
|
248
|
+
for (const k of loosens.keys()) {
|
|
249
|
+
if (!opFields.has(k))
|
|
250
|
+
add(k, `\`loosens\` names \`${k}\`, which the input lacks`);
|
|
251
|
+
}
|
|
252
|
+
return out;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* {@link inputParity} of every operation against each route it mirrors; a mirrored route whose
|
|
256
|
+
* schemas are not registered is a finding too (a removed route is `check:platform-ops`'s orphan).
|
|
257
|
+
*/
|
|
258
|
+
export function checkInputParity(ops, routes) {
|
|
259
|
+
const byRoute = new Map(routes.map((r) => [r.route, r]));
|
|
260
|
+
return ops.flatMap((op) => op.mirrors.flatMap((m) => {
|
|
261
|
+
const r = byRoute.get(m);
|
|
262
|
+
return r !== undefined
|
|
263
|
+
? inputParity(op, r)
|
|
264
|
+
: [
|
|
265
|
+
{
|
|
266
|
+
op: op.id,
|
|
267
|
+
route: m,
|
|
268
|
+
message: `${op.id} mirrors \`${m}\`, whose schemas are not in ROUTE_SCHEMAS: export them from the controller's <domain>.schemas.ts and list them there`,
|
|
269
|
+
},
|
|
270
|
+
];
|
|
271
|
+
}));
|
|
272
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AccountsOperations } from "./ops/accounts.ops.js";
|
|
2
|
+
import { AdminOperations } from "./ops/admin.ops.js";
|
|
3
|
+
import { AdminItemsOperations } from "./ops/admin-items.ops.js";
|
|
4
|
+
import { AgentSkillsOperations } from "./ops/agent-skills.ops.js";
|
|
5
|
+
import { AgentTemplatesOperations } from "./ops/agent-templates.ops.js";
|
|
6
|
+
import { AgentsOperations } from "./ops/agents.ops.js";
|
|
7
|
+
import { ApprovalsOperations } from "./ops/approvals.ops.js";
|
|
8
|
+
import { BackgroundOperations } from "./ops/background.ops.js";
|
|
9
|
+
import { CatalogAdminOperations } from "./ops/catalog-admin.ops.js";
|
|
10
|
+
import { ChannelsOperations } from "./ops/channels.ops.js";
|
|
11
|
+
import { ComponentsOperations } from "./ops/components.ops.js";
|
|
12
|
+
import { ConnectorsOperations } from "./ops/connectors.ops.js";
|
|
13
|
+
import { ConversationsOperations } from "./ops/conversations.ops.js";
|
|
14
|
+
import { DevicesOperations } from "./ops/devices.ops.js";
|
|
15
|
+
import { EvalsOperations } from "./ops/evals.ops.js";
|
|
16
|
+
import { ExtensionsOperations } from "./ops/extensions.ops.js";
|
|
17
|
+
import { ExtensionsAdminOperations } from "./ops/extensions-admin.ops.js";
|
|
18
|
+
import { InboxOperations } from "./ops/inbox.ops.js";
|
|
19
|
+
import { MarketplacesOperations } from "./ops/marketplaces.ops.js";
|
|
20
|
+
import { ModelsOperations } from "./ops/models.ops.js";
|
|
21
|
+
import { OrgPluginsOperations } from "./ops/org-plugins.ops.js";
|
|
22
|
+
import { OrgSettingsOperations } from "./ops/org-settings.ops.js";
|
|
23
|
+
import { OrgsOperations } from "./ops/orgs.ops.js";
|
|
24
|
+
import { PlatformOperationsProvider } from "./ops/platform.ops.js";
|
|
25
|
+
import { PluginsOperations } from "./ops/plugins.ops.js";
|
|
26
|
+
import { PreviewersOperations } from "./ops/previewers.ops.js";
|
|
27
|
+
import { RequestsOperations } from "./ops/requests.ops.js";
|
|
28
|
+
import { SetupOperations } from "./ops/setup.ops.js";
|
|
29
|
+
import { SkillsOperations } from "./ops/skills.ops.js";
|
|
30
|
+
import { ThemesOperations } from "./ops/themes.ops.js";
|
|
31
|
+
import { UiOperations } from "./ops/ui.ops.js";
|
|
32
|
+
/**
|
|
33
|
+
* One provider per domain, each taking `PlatformOperations` as its first constructor argument:
|
|
34
|
+
* the parity test in `tools/checks` builds the operations from it without a Nest app.
|
|
35
|
+
*/
|
|
36
|
+
export declare const PLATFORM_OPERATION_PROVIDERS: readonly [typeof PlatformOperationsProvider, typeof SkillsOperations, typeof AgentsOperations, typeof AgentTemplatesOperations, typeof PluginsOperations, typeof MarketplacesOperations, typeof RequestsOperations, typeof ConnectorsOperations, typeof ExtensionsOperations, typeof ConversationsOperations, typeof ComponentsOperations, typeof AccountsOperations, typeof OrgsOperations, typeof AdminOperations, typeof CatalogAdminOperations, typeof OrgPluginsOperations, typeof ExtensionsAdminOperations, typeof ModelsOperations, typeof InboxOperations, typeof ApprovalsOperations, typeof ChannelsOperations, typeof OrgSettingsOperations, typeof EvalsOperations, typeof BackgroundOperations, typeof PreviewersOperations, typeof DevicesOperations, typeof AgentSkillsOperations, typeof ThemesOperations, typeof SetupOperations, typeof UiOperations, typeof AdminItemsOperations];
|
|
37
|
+
/**
|
|
38
|
+
* The `Platform` tool's operations (ruling P2): one provider per domain, each registering its
|
|
39
|
+
* operations into `PlatformOperations` from `onModuleInit`. It imports the domain modules, which
|
|
40
|
+
* `PlatformModule` itself must not.
|
|
41
|
+
*/
|
|
42
|
+
export declare class PlatformOpsModule {
|
|
43
|
+
}
|