@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +85 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +876 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +109 -0
- package/dist/background/tasks.service.js +271 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +41 -5
- package/dist/extensions/bootstrap.js +121 -19
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.js +2 -0
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +4 -2
- package/dist/lifecycle/kernel-lifecycle.js +35 -7
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +774 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +102 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +730 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +381 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +43 -0
- package/dist/platform/platform-ops.module.js +142 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +21 -1
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.js +2 -1
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +29 -19
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +51 -44
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +61 -4
- package/dist/tools/info.js +119 -33
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
|
@@ -0,0 +1,476 @@
|
|
|
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 { ToolError } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
import { CatalogIdPathParams, CatalogUpdateBody } from "../../catalog/admin-catalog.schemas.js";
|
|
14
|
+
import { CatalogService } from "../../catalog/catalog.service.js";
|
|
15
|
+
import { CatalogItemPathParams } from "../../catalog/org-catalog.schemas.js";
|
|
16
|
+
import { OrgCatalogService } from "../../catalog/org-catalog.service.js";
|
|
17
|
+
import { PluginInstaller, uninstallPreviewHash } from "../../catalog/plugin-install.js";
|
|
18
|
+
import { PlatformPluginUpdater } from "../../catalog/plugin-upgrade.js";
|
|
19
|
+
import { OrgExtensionConfigs } from "../../extensions/org-config.js";
|
|
20
|
+
import { ExtensionAvailability } from "../../extensions/unavailable.js";
|
|
21
|
+
import { KernelDb } from "../../infra/database/kernel-db.js";
|
|
22
|
+
import { defineOperation } from "../operation.js";
|
|
23
|
+
import { PlatformOperations } from "../registry.js";
|
|
24
|
+
import { viaAgent } from "./errors.js";
|
|
25
|
+
import { assertNotOtherOrgs, otherOrgItems } from "./other-orgs.js";
|
|
26
|
+
import { Cursor, pageOf, startOf } from "./paging.js";
|
|
27
|
+
import { localized } from "./summary.js";
|
|
28
|
+
import { roleFor, unavailableFields, unavailableMessage, unavailableNext } from "./unavailable.js";
|
|
29
|
+
/** An org catalog item id (`:itemId` of the org routes). */
|
|
30
|
+
const ItemId = CatalogItemPathParams.shape.itemId.max(100);
|
|
31
|
+
/** A platform catalog item id (`:id` of the admin routes), named `itemId` like the org's. */
|
|
32
|
+
const PlatformItemId = CatalogIdPathParams.shape.id.max(100);
|
|
33
|
+
const Version = CatalogUpdateBody.shape.version.max(100);
|
|
34
|
+
/** The switch-off confirm: the uninstall preview's hash, or `nothing-installed`. */
|
|
35
|
+
const Confirm = z.string().min(1).max(200);
|
|
36
|
+
/** Entries per page of the paged lists (the tool caps a bare list at 50). */
|
|
37
|
+
const PAGE = 50;
|
|
38
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
39
|
+
export { OTHER_ORG } from "./other-orgs.js";
|
|
40
|
+
const LOCKED = "This plugin is on for every org (or shipped with the platform) and cannot be switched off in one org.";
|
|
41
|
+
/** The confirm value of switching off a plugin with nothing installed in the org. */
|
|
42
|
+
const NOTHING_INSTALLED = "nothing-installed";
|
|
43
|
+
export const NEEDS_INPUT = "This plugin needs configuration a person must enter; ask them to enable it on the 插件 page.";
|
|
44
|
+
/** The English name of a plugin as next steps and messages name it. */
|
|
45
|
+
const enName = (i) => localized(i.displayName, i.name).en;
|
|
46
|
+
/** The item with the reason its extension stopped loading (state unchanged), when it has one. */
|
|
47
|
+
const withStopped = (i, stopped) => {
|
|
48
|
+
const reason = i.reason ?? stopped.get(i.name);
|
|
49
|
+
return reason === undefined ? i : { ...i, reason };
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* An org's view of a plugin (`plugins.get`): the state, and when unavailable the reason and the
|
|
53
|
+
* actor's next step (spec §14.2 problem 4: one call decides it).
|
|
54
|
+
*/
|
|
55
|
+
const brief = (i, role) => ({
|
|
56
|
+
id: i.id,
|
|
57
|
+
name: i.name,
|
|
58
|
+
displayName: i.displayName,
|
|
59
|
+
description: i.description,
|
|
60
|
+
scope: i.scope,
|
|
61
|
+
state: i.state,
|
|
62
|
+
...unavailableFields(i.reason, enName(i), role),
|
|
63
|
+
switchable: i.switchable,
|
|
64
|
+
builtin: i.builtin,
|
|
65
|
+
notDeployed: i.notDeployed,
|
|
66
|
+
latestVersion: i.latestVersion,
|
|
67
|
+
installedVersion: i.installed?.version ?? null,
|
|
68
|
+
componentCounts: i.componentCounts,
|
|
69
|
+
owner: i.owner,
|
|
70
|
+
request: i.request,
|
|
71
|
+
});
|
|
72
|
+
/** A plugin as `plugins.list` shows it: a compact row; the rest comes from `plugins.get`. */
|
|
73
|
+
const row = (i, role) => ({
|
|
74
|
+
id: i.id,
|
|
75
|
+
name: i.name,
|
|
76
|
+
state: i.state,
|
|
77
|
+
...unavailableFields(i.reason, enName(i), role),
|
|
78
|
+
displayName: i.displayName,
|
|
79
|
+
switchable: i.switchable,
|
|
80
|
+
request: i.request,
|
|
81
|
+
});
|
|
82
|
+
const hasConfigFields = (schema) => {
|
|
83
|
+
const props = schema?.properties;
|
|
84
|
+
return typeof props === "object" && props !== null && Object.keys(props).length > 0;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Whether switching the plugin on needs input a person enters (the web's install wizard, the
|
|
88
|
+
* web's `needsInput`): an org config still missing (`needs_config`), connector templates, or the
|
|
89
|
+
* org config form of its extension while that extension is off in the org.
|
|
90
|
+
*/
|
|
91
|
+
function needsInput(item, extensions) {
|
|
92
|
+
if (item.state === "needs_config")
|
|
93
|
+
return true;
|
|
94
|
+
if (item.installed !== null)
|
|
95
|
+
return false;
|
|
96
|
+
if (item.componentCounts.connectorTemplates > 0)
|
|
97
|
+
return true;
|
|
98
|
+
if (item.componentCounts.extension === 0)
|
|
99
|
+
return false;
|
|
100
|
+
const own = extensions.find((e) => e.catalogItem?.itemId === item.id);
|
|
101
|
+
return own !== undefined && !own.enabled && hasConfigFields(own.orgConfigSchema);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Plugin operations of the `Platform` tool (spec §7): the org's view (list, get, switch on or off)
|
|
105
|
+
* and the super admin's platform view (list, get, update with its preview). Every platform result
|
|
106
|
+
* shows the admin console's data in full for platform items and the org's own (spec §14.5 item 1);
|
|
107
|
+
* plugins other orgs own are only counted, and reading or updating one is refused.
|
|
108
|
+
*/
|
|
109
|
+
let PluginsOperations = class PluginsOperations {
|
|
110
|
+
registry;
|
|
111
|
+
orgCatalog;
|
|
112
|
+
catalog;
|
|
113
|
+
updater;
|
|
114
|
+
installer;
|
|
115
|
+
extensions;
|
|
116
|
+
kdb;
|
|
117
|
+
availability;
|
|
118
|
+
constructor(registry, orgCatalog, catalog, updater, installer, extensions, kdb, availability) {
|
|
119
|
+
this.registry = registry;
|
|
120
|
+
this.orgCatalog = orgCatalog;
|
|
121
|
+
this.catalog = catalog;
|
|
122
|
+
this.updater = updater;
|
|
123
|
+
this.installer = installer;
|
|
124
|
+
this.extensions = extensions;
|
|
125
|
+
this.kdb = kdb;
|
|
126
|
+
this.availability = availability;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Installed (or builtin) plugins whose extension stopped loading: the reason, keyed by plugin
|
|
130
|
+
* name. Their state stays (`on` / `needs_config`) so an org admin can still switch them off;
|
|
131
|
+
* the reason and next step tell why the plugin does nothing now.
|
|
132
|
+
*/
|
|
133
|
+
async stopped(items) {
|
|
134
|
+
const names = items
|
|
135
|
+
.filter((i) => i.reason === undefined &&
|
|
136
|
+
i.componentCounts.extension > 0 &&
|
|
137
|
+
(i.installed !== null || i.builtin))
|
|
138
|
+
// a plugin's extension carries the plugin's name
|
|
139
|
+
.map((i) => i.name);
|
|
140
|
+
const out = new Map();
|
|
141
|
+
for (const [name, u] of await this.availability.unavailable(names))
|
|
142
|
+
out.set(name, u.reason);
|
|
143
|
+
return out;
|
|
144
|
+
}
|
|
145
|
+
onModuleInit() {
|
|
146
|
+
this.registry.register([
|
|
147
|
+
defineOperation({
|
|
148
|
+
id: "plugins.list",
|
|
149
|
+
description: "List the plugins this org can see, one compact row each: the state here (on, off, needs_config, unavailable, not_offered), why an unavailable one cannot be used (reason) and your next step (next; an installed plugin whose extension stopped running keeps its state and carries them too), whether an org admin can switch it, and the org's pending request. Details come from plugins.get. Pages by 50: pass the returned next as params.cursor.",
|
|
150
|
+
input: z.object({ cursor: Cursor.optional() }).strict(),
|
|
151
|
+
example: {},
|
|
152
|
+
authz: { orgAction: "catalog.read" },
|
|
153
|
+
mirrors: ["GET /api/v1/orgs/:orgId/catalog"],
|
|
154
|
+
extras: ["cursor"],
|
|
155
|
+
confirm: "read",
|
|
156
|
+
run: async (input, ctx) => {
|
|
157
|
+
const [all, role] = await Promise.all([
|
|
158
|
+
this.orgCatalog.list(ctx.orgId, ctx.actorAccountId),
|
|
159
|
+
roleFor(this.kdb.db, ctx),
|
|
160
|
+
]);
|
|
161
|
+
const stopped = await this.stopped(all);
|
|
162
|
+
return pageOf(all.map((i) => row(withStopped(i, stopped), role)), startOf(input.cursor), PAGE);
|
|
163
|
+
},
|
|
164
|
+
}),
|
|
165
|
+
defineOperation({
|
|
166
|
+
id: "plugins.get",
|
|
167
|
+
description: "Read one plugin as this org sees it: its state (with the reason and your next step when it is unavailable, or installed but its extension stopped running), extension, connector templates (presets only, never credentials), dependencies, skills and agent templates.",
|
|
168
|
+
input: z.object({ itemId: ItemId }).strict(),
|
|
169
|
+
example: { itemId: "3f1c2a9e-5b7d-4e21-9c0a-1d2e3f4a5b6c" },
|
|
170
|
+
authz: { orgAction: "catalog.read" },
|
|
171
|
+
mirrors: ["GET /api/v1/orgs/:orgId/catalog/:itemId"],
|
|
172
|
+
confirm: "read",
|
|
173
|
+
errors: [
|
|
174
|
+
{ code: "catalog.item_not_found", next: "Check the plugin id with plugins.list." },
|
|
175
|
+
],
|
|
176
|
+
run: async (input, ctx) => {
|
|
177
|
+
const [d, role] = await Promise.all([
|
|
178
|
+
this.orgCatalog.detail(ctx.orgId, ctx.actorAccountId, input.itemId),
|
|
179
|
+
roleFor(this.kdb.db, ctx),
|
|
180
|
+
]);
|
|
181
|
+
return { ...d, item: brief(withStopped(d.item, await this.stopped([d.item])), role) };
|
|
182
|
+
},
|
|
183
|
+
}),
|
|
184
|
+
defineOperation({
|
|
185
|
+
id: "plugins.disable-preview",
|
|
186
|
+
description: "Preview switching a plugin off in this org (org admins): what it would remove and which agents use it, and the confirm value plugins.set-enabled needs to switch it off. Show the preview to the person before switching off.",
|
|
187
|
+
input: z.object({ itemId: ItemId }).strict(),
|
|
188
|
+
example: { itemId: "3f1c2a9e-5b7d-4e21-9c0a-1d2e3f4a5b6c" },
|
|
189
|
+
// the web previews through the switch route itself (no confirm); writes nothing here
|
|
190
|
+
authz: { orgAction: "org.extensions.manage" },
|
|
191
|
+
mirrors: [],
|
|
192
|
+
confirm: "read",
|
|
193
|
+
errors: [
|
|
194
|
+
{ code: "catalog.item_not_found", next: "Check the plugin id with plugins.list." },
|
|
195
|
+
],
|
|
196
|
+
run: async (input, ctx) => {
|
|
197
|
+
const d = await this.orgCatalog.detail(ctx.orgId, ctx.actorAccountId, input.itemId);
|
|
198
|
+
if (!d.item.switchable)
|
|
199
|
+
throw new ToolError(LOCKED);
|
|
200
|
+
const live = d.item.installed;
|
|
201
|
+
if (live === null) {
|
|
202
|
+
return {
|
|
203
|
+
preview: null,
|
|
204
|
+
confirm: NOTHING_INSTALLED,
|
|
205
|
+
next: "Nothing is installed in the org, so switching off removes nothing; pass this confirm value.",
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
const preview = await this.installer.previewUninstall(ctx.orgId, live.pluginInstallId);
|
|
209
|
+
return { preview, confirm: uninstallPreviewHash(preview) };
|
|
210
|
+
},
|
|
211
|
+
}),
|
|
212
|
+
defineOperation({
|
|
213
|
+
id: "plugins.set-enabled",
|
|
214
|
+
description: "Switch a plugin on or off in this org. Switching on installs it; a plugin whose enabling needs configuration a person enters (connector credentials, extension config) is refused, so point the person to the 插件 page. Switching off removes what the plugin brought and needs confirm: the value plugins.disable-preview returned with the preview the person saw.",
|
|
215
|
+
input: z.discriminatedUnion("enabled", [
|
|
216
|
+
z.object({ itemId: ItemId, enabled: z.literal(true) }).strict(),
|
|
217
|
+
z.object({ itemId: ItemId, enabled: z.literal(false), confirm: Confirm }).strict(),
|
|
218
|
+
]),
|
|
219
|
+
example: { itemId: "3f1c2a9e-5b7d-4e21-9c0a-1d2e3f4a5b6c", enabled: true },
|
|
220
|
+
// the route needs catalog.read; setSwitch requires an org admin (any of skills.manage,
|
|
221
|
+
// connectors.manage, org.extensions.manage, all the admin role)
|
|
222
|
+
authz: { orgAction: "org.extensions.manage" },
|
|
223
|
+
authzNote: "service-enforced",
|
|
224
|
+
mirrors: ["PUT /api/v1/orgs/:orgId/catalog/:itemId/switch"],
|
|
225
|
+
// install inputs a person enters on the web (a plugin that needs them is refused)
|
|
226
|
+
omits: ["inputs"],
|
|
227
|
+
loosens: {
|
|
228
|
+
confirm: "also takes `nothing-installed` (plugins.disable-preview's value when nothing is installed), which the route's hash pattern rejects; the service checks confirm only when something is installed",
|
|
229
|
+
},
|
|
230
|
+
confirm: "org",
|
|
231
|
+
errors: [
|
|
232
|
+
{
|
|
233
|
+
code: "plugin.switch_stale",
|
|
234
|
+
next: "The uninstall preview changed: call plugins.disable-preview again, show it, and call again with the new confirm value.",
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
code: "plugin.scope_locked",
|
|
238
|
+
next: "The plugin is on for every org and cannot be switched off in one org.",
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
code: "plugin.disabled",
|
|
242
|
+
next: {
|
|
243
|
+
superAdmin: "The plugin is stopped on the platform: turn it back on in the admin console under Plugins, then call again.",
|
|
244
|
+
orgAdmin: "The super admin stopped this plugin on the platform; ask them.",
|
|
245
|
+
member: "The super admin stopped this plugin on the platform; tell your org admin, who can ask the super admin.",
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
code: "catalog.item_not_found",
|
|
250
|
+
next: "Check the plugin id with plugins.list.",
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
code: "plugin.needs_input",
|
|
254
|
+
next: "Ask the person to enable it on the 插件 page, where they enter its configuration.",
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
code: "catalog.approval_required",
|
|
258
|
+
next: "The plugin is not offered to this org: create an access request with requests.create.",
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
code: "catalog.not_deployed",
|
|
262
|
+
next: {
|
|
263
|
+
superAdmin: "Open the admin console → Extensions → the plugin's extension to see why it is not running (deployment config, permission approval, disabled, or failed to load); fix it, then call again.",
|
|
264
|
+
orgAdmin: "Only the super admin can make the plugin's extension run; plugins.get shows the reason. There is no request operation for this (requests.create covers enabling and access only), so tell the super admin directly.",
|
|
265
|
+
member: "Ask an org admin: the super admin must set up the plugin's extension on the platform first.",
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
code: "plugin.skill_conflict",
|
|
270
|
+
next: "An org skill has the name of one of the plugin's skills; the person resolves it on the web.",
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
// what is known to fail before the card: an unknown plugin, switching off a locked one,
|
|
274
|
+
// switching on one whose extension cannot run (with the role's next step naming it) or
|
|
275
|
+
// that needs a person's input
|
|
276
|
+
precheck: async (i, ctx) => {
|
|
277
|
+
const [item] = UUID_RE.test(i.itemId)
|
|
278
|
+
? await this.orgCatalog.list(ctx.orgId, ctx.actorAccountId, i.itemId)
|
|
279
|
+
: [];
|
|
280
|
+
if (item === undefined) {
|
|
281
|
+
return { ok: false, code: "catalog.item_not_found", message: "Catalog item not found" };
|
|
282
|
+
}
|
|
283
|
+
if (!i.enabled && !item.switchable) {
|
|
284
|
+
return { ok: false, code: "plugin.scope_locked", message: LOCKED };
|
|
285
|
+
}
|
|
286
|
+
if (i.enabled && item.state === "unavailable" && item.reason !== undefined) {
|
|
287
|
+
const name = enName(item);
|
|
288
|
+
return {
|
|
289
|
+
ok: false,
|
|
290
|
+
code: item.reason === "plugin_disabled" ? "plugin.disabled" : "catalog.not_deployed",
|
|
291
|
+
message: unavailableMessage(item.reason, name),
|
|
292
|
+
next: unavailableNext(item.reason, name),
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
if (i.enabled && needsInput(item, await this.extensions.list(ctx.orgId))) {
|
|
296
|
+
return { ok: false, code: "plugin.needs_input", message: NEEDS_INPUT };
|
|
297
|
+
}
|
|
298
|
+
return { ok: true };
|
|
299
|
+
},
|
|
300
|
+
summary: async (i, ctx) => {
|
|
301
|
+
const [item] = await this.orgCatalog.list(ctx.orgId, ctx.actorAccountId, i.itemId);
|
|
302
|
+
if (item === undefined)
|
|
303
|
+
throw new Error("no such plugin");
|
|
304
|
+
const n = localized(item.displayName, item.name);
|
|
305
|
+
if (i.enabled) {
|
|
306
|
+
return { zh: `在本组织启用插件「${n.zh}」`, en: `Enable plugin "${n.en}" in the org` };
|
|
307
|
+
}
|
|
308
|
+
const live = item.installed;
|
|
309
|
+
if (live === null) {
|
|
310
|
+
return {
|
|
311
|
+
zh: `在本组织停用插件「${n.zh}」(本组织未安装任何内容)`,
|
|
312
|
+
en: `Disable plugin "${n.en}" in the org (nothing is installed here)`,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
// the preview the confirm value binds: what goes, and the agents that lose it
|
|
316
|
+
const p = await this.installer.previewUninstall(ctx.orgId, live.pluginInstallId);
|
|
317
|
+
return {
|
|
318
|
+
zh: `在本组织停用插件「${n.zh}」:移除 ${p.components.length} 个组件,${p.agents.length} 个智能体在用`,
|
|
319
|
+
en: `Disable plugin "${n.en}" in the org: removes ${p.components.length} components; ${p.agents.length} agents use it`,
|
|
320
|
+
};
|
|
321
|
+
},
|
|
322
|
+
run: async (input, ctx) => {
|
|
323
|
+
if (input.enabled) {
|
|
324
|
+
const [item] = await this.orgCatalog.list(ctx.orgId, ctx.actorAccountId, input.itemId);
|
|
325
|
+
if (item && needsInput(item, await this.extensions.list(ctx.orgId))) {
|
|
326
|
+
throw new ToolError(NEEDS_INPUT);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
const r = await this.orgCatalog.setSwitch(ctx.orgId, ctx.actorAccountId, input.itemId, input.enabled ? { enabled: true } : { enabled: false, confirm: input.confirm }, undefined, viaAgent("plugins.set-enabled", ctx));
|
|
330
|
+
if (r.kind === "done") {
|
|
331
|
+
return {
|
|
332
|
+
item: brief(r.item, await roleFor(this.kdb.db, ctx)),
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
// unreachable: confirm is required when switching off
|
|
336
|
+
return { preview: r.preview, confirm: r.confirm };
|
|
337
|
+
},
|
|
338
|
+
}),
|
|
339
|
+
defineOperation({
|
|
340
|
+
id: "plugins.platform-list",
|
|
341
|
+
description: "List the platform's plugins and this org's own (super admin): scope, disabled, versions, pending confirmation and how many orgs use it. Plugins other orgs own are only counted (otherOrgItems). Pages by 50: pass the returned next as params.cursor.",
|
|
342
|
+
input: z.object({ cursor: Cursor.optional() }).strict(),
|
|
343
|
+
example: {},
|
|
344
|
+
authz: { superAdmin: true },
|
|
345
|
+
mirrors: ["GET /api/v1/admin/catalog/items"],
|
|
346
|
+
// paged by cursor; deleted items and the pending filter are the admin console's
|
|
347
|
+
omits: ["includeDeleted", "limit", "offset", "pending"],
|
|
348
|
+
extras: ["cursor"],
|
|
349
|
+
confirm: "read",
|
|
350
|
+
run: async (input, ctx) => {
|
|
351
|
+
const p = await this.catalog.page({ limit: PAGE, offset: startOf(input.cursor) });
|
|
352
|
+
return {
|
|
353
|
+
items: p.items.filter((i) => i.owner.kind !== "org" || i.owner.orgId === ctx.orgId),
|
|
354
|
+
otherOrgItems: await otherOrgItems(this.kdb.db, ctx.orgId),
|
|
355
|
+
next: p.nextOffset === null ? null : String(p.nextOffset),
|
|
356
|
+
};
|
|
357
|
+
},
|
|
358
|
+
}),
|
|
359
|
+
defineOperation({
|
|
360
|
+
id: "plugins.platform-get",
|
|
361
|
+
description: "Read one platform catalog plugin (super admin): the item, its platform version and every version with its source, and the orgs it is offered to. Another org's own plugin is refused.",
|
|
362
|
+
input: z.object({ itemId: PlatformItemId }).strict(),
|
|
363
|
+
example: { itemId: "3f1c2a9e-5b7d-4e21-9c0a-1d2e3f4a5b6c" },
|
|
364
|
+
authz: { superAdmin: true },
|
|
365
|
+
mirrors: ["GET /api/v1/admin/catalog/items/:id"],
|
|
366
|
+
renames: { itemId: "id" },
|
|
367
|
+
confirm: "read",
|
|
368
|
+
errors: [
|
|
369
|
+
{
|
|
370
|
+
code: "catalog.item_not_found",
|
|
371
|
+
next: "Check the plugin id with plugins.platform-list.",
|
|
372
|
+
},
|
|
373
|
+
],
|
|
374
|
+
run: async (input, ctx) => {
|
|
375
|
+
await assertNotOtherOrgs(this.kdb.db, input.itemId, ctx.orgId);
|
|
376
|
+
const d = await this.catalog.get(input.itemId);
|
|
377
|
+
return {
|
|
378
|
+
item: d.item,
|
|
379
|
+
versions: d.versions.map((v) => ({
|
|
380
|
+
version: v.version,
|
|
381
|
+
source: v.source,
|
|
382
|
+
sourceRef: v.sourceRef,
|
|
383
|
+
sourceFormat: v.sourceFormat,
|
|
384
|
+
importedAt: v.importedAt,
|
|
385
|
+
...(v.version === d.item.platformVersion && { manifest: v.manifest }),
|
|
386
|
+
})),
|
|
387
|
+
};
|
|
388
|
+
},
|
|
389
|
+
}),
|
|
390
|
+
defineOperation({
|
|
391
|
+
id: "plugins.update-preview",
|
|
392
|
+
description: "Preview updating a platform plugin to another imported version (super admin): every component's change, the extension step and the org connectors it touches, with the diffHash plugins.update takes. Another org's own plugin is refused.",
|
|
393
|
+
input: z.object({ itemId: PlatformItemId, version: Version }).strict(),
|
|
394
|
+
example: { itemId: "3f1c2a9e-5b7d-4e21-9c0a-1d2e3f4a5b6c", version: "1.2.0" },
|
|
395
|
+
authz: { superAdmin: true },
|
|
396
|
+
mirrors: ["POST /api/v1/admin/catalog/items/:id/update/preview"],
|
|
397
|
+
renames: { itemId: "id" },
|
|
398
|
+
confirm: "read",
|
|
399
|
+
errors: [
|
|
400
|
+
{
|
|
401
|
+
code: "catalog.item_not_found",
|
|
402
|
+
next: "Check the plugin id and its versions with plugins.platform-get.",
|
|
403
|
+
},
|
|
404
|
+
],
|
|
405
|
+
run: async (input, ctx) => {
|
|
406
|
+
await assertNotOtherOrgs(this.kdb.db, input.itemId, ctx.orgId);
|
|
407
|
+
return this.updater.preview(input.itemId, input.version);
|
|
408
|
+
},
|
|
409
|
+
}),
|
|
410
|
+
defineOperation({
|
|
411
|
+
id: "plugins.update",
|
|
412
|
+
description: "Update a platform plugin to the version previewed (super admin), for every org at once: pass the version and the diffHash plugins.update-preview returned. A preview that is out of date is refused; preview again.",
|
|
413
|
+
input: z
|
|
414
|
+
.object({
|
|
415
|
+
itemId: PlatformItemId,
|
|
416
|
+
version: Version,
|
|
417
|
+
diffHash: CatalogUpdateBody.shape.diffHash,
|
|
418
|
+
})
|
|
419
|
+
.strict(),
|
|
420
|
+
example: {
|
|
421
|
+
itemId: "3f1c2a9e-5b7d-4e21-9c0a-1d2e3f4a5b6c",
|
|
422
|
+
version: "1.2.0",
|
|
423
|
+
diffHash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
424
|
+
},
|
|
425
|
+
authz: { superAdmin: true },
|
|
426
|
+
mirrors: ["PUT /api/v1/admin/catalog/items/:id/update"],
|
|
427
|
+
renames: { itemId: "id" },
|
|
428
|
+
confirm: "platform",
|
|
429
|
+
errors: [
|
|
430
|
+
{
|
|
431
|
+
code: "plugin.upgrade_stale",
|
|
432
|
+
next: "Call plugins.update-preview again and use its new diffHash.",
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
code: "plugin.install_in_progress",
|
|
436
|
+
next: "Another update of this plugin is running; try again in a minute.",
|
|
437
|
+
},
|
|
438
|
+
],
|
|
439
|
+
summary: async (i, ctx) => {
|
|
440
|
+
await assertNotOtherOrgs(this.kdb.db, i.itemId, ctx.orgId);
|
|
441
|
+
const [{ item }, p] = await Promise.all([
|
|
442
|
+
this.catalog.get(i.itemId),
|
|
443
|
+
this.updater.preview(i.itemId, i.version),
|
|
444
|
+
]);
|
|
445
|
+
const n = localized(item.displayName, item.name);
|
|
446
|
+
const count = (...changes) => p.components.filter((c) => changes.includes(c.change)).length;
|
|
447
|
+
const changed = count("upgrade", "downgrade");
|
|
448
|
+
const added = count("added");
|
|
449
|
+
const removed = count("removed");
|
|
450
|
+
// one version for every org: how many orgs it is on in
|
|
451
|
+
const orgs = item.enabledOrgs;
|
|
452
|
+
return {
|
|
453
|
+
zh: `把平台插件「${n.zh}」从 ${p.from ?? "无"} 更新到 ${p.to}:组件 ${changed} 个更新、${added} 个新增、${removed} 个移除,影响 ${orgs} 个组织`,
|
|
454
|
+
en: `Update platform plugin "${n.en}" from ${p.from ?? "none"} to ${p.to}: components ${changed} updated, ${added} added, ${removed} removed; ${orgs} orgs affected`,
|
|
455
|
+
};
|
|
456
|
+
},
|
|
457
|
+
run: async (input, ctx) => {
|
|
458
|
+
await assertNotOtherOrgs(this.kdb.db, input.itemId, ctx.orgId);
|
|
459
|
+
return this.updater.update(ctx.actorAccountId, input.itemId, { version: input.version, diffHash: input.diffHash }, { auditDetail: viaAgent("plugins.update", ctx) });
|
|
460
|
+
},
|
|
461
|
+
}),
|
|
462
|
+
]);
|
|
463
|
+
}
|
|
464
|
+
};
|
|
465
|
+
PluginsOperations = __decorate([
|
|
466
|
+
Injectable(),
|
|
467
|
+
__param(0, Inject(PlatformOperations)),
|
|
468
|
+
__param(1, Inject(OrgCatalogService)),
|
|
469
|
+
__param(2, Inject(CatalogService)),
|
|
470
|
+
__param(3, Inject(PlatformPluginUpdater)),
|
|
471
|
+
__param(4, Inject(PluginInstaller)),
|
|
472
|
+
__param(5, Inject(OrgExtensionConfigs)),
|
|
473
|
+
__param(6, Inject(KernelDb)),
|
|
474
|
+
__param(7, Inject(ExtensionAvailability))
|
|
475
|
+
], PluginsOperations);
|
|
476
|
+
export { PluginsOperations };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type OnModuleInit } from "@nestjs/common";
|
|
2
|
+
import { PreviewerRegistry } from "../../files/previewers.js";
|
|
3
|
+
import { PlatformOperations } from "../registry.js";
|
|
4
|
+
/**
|
|
5
|
+
* File previewer operations (the `extensions` domain): the org's order of the previewers its
|
|
6
|
+
* extensions provide and which are off (org admins, `org.extensions.manage`). Rendering a preview
|
|
7
|
+
* is the web's (`transport`).
|
|
8
|
+
*/
|
|
9
|
+
export declare class PreviewersOperations implements OnModuleInit {
|
|
10
|
+
private readonly registry;
|
|
11
|
+
private readonly previewers;
|
|
12
|
+
constructor(registry: PlatformOperations, previewers: PreviewerRegistry);
|
|
13
|
+
onModuleInit(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
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 { PreviewerRegistry } from "../../files/previewers.js";
|
|
13
|
+
import { FilePreviewersOrderBody } from "../../files/previewers.schemas.js";
|
|
14
|
+
import { defineOperation } from "../operation.js";
|
|
15
|
+
import { PlatformOperations } from "../registry.js";
|
|
16
|
+
import { viaAgent } from "./errors.js";
|
|
17
|
+
import { named } from "./summary.js";
|
|
18
|
+
const Item = FilePreviewersOrderBody.shape.items.element;
|
|
19
|
+
const row = (p) => ({
|
|
20
|
+
id: `${p.plugin}/${p.id}`,
|
|
21
|
+
name: p.title.en,
|
|
22
|
+
state: p.disabled ? "disabled" : "enabled",
|
|
23
|
+
plugin: p.plugin,
|
|
24
|
+
kind: p.kind,
|
|
25
|
+
position: p.position,
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* File previewer operations (the `extensions` domain): the org's order of the previewers its
|
|
29
|
+
* extensions provide and which are off (org admins, `org.extensions.manage`). Rendering a preview
|
|
30
|
+
* is the web's (`transport`).
|
|
31
|
+
*/
|
|
32
|
+
let PreviewersOperations = class PreviewersOperations {
|
|
33
|
+
registry;
|
|
34
|
+
previewers;
|
|
35
|
+
constructor(registry, previewers) {
|
|
36
|
+
this.registry = registry;
|
|
37
|
+
this.previewers = previewers;
|
|
38
|
+
}
|
|
39
|
+
onModuleInit() {
|
|
40
|
+
this.registry.register([
|
|
41
|
+
defineOperation({
|
|
42
|
+
id: "extensions.previewers",
|
|
43
|
+
description: "List the file previewers of the org's enabled extensions in the org's order (org admins): which extension provides each, its kind and whether the org switched it off. The first previewer that takes a file opens it.",
|
|
44
|
+
input: z.object({}).strict(),
|
|
45
|
+
example: {},
|
|
46
|
+
authz: { orgAction: "org.extensions.manage" },
|
|
47
|
+
mirrors: ["GET /api/v1/orgs/:orgId/file-previewers"],
|
|
48
|
+
confirm: "read",
|
|
49
|
+
run: async (_input, ctx) => {
|
|
50
|
+
const items = await this.previewers.list(ctx.orgId);
|
|
51
|
+
return { items: items.map(row), total: items.length };
|
|
52
|
+
},
|
|
53
|
+
}),
|
|
54
|
+
defineOperation({
|
|
55
|
+
id: "extensions.set-previewers",
|
|
56
|
+
description: "Set the org's order of file previewers and which are off (org admins): items lists { plugin, id, disabled } first to last, and previewers not listed follow in their usual order. Read the current list with extensions.previewers first; an item that is not a previewer of an enabled extension, or is listed twice, is refused.",
|
|
57
|
+
input: z
|
|
58
|
+
.object({
|
|
59
|
+
items: z.array(Item.strict()).max(500),
|
|
60
|
+
})
|
|
61
|
+
.strict(),
|
|
62
|
+
example: { items: [{ plugin: "viewer-markdown", id: "markdown", disabled: false }] },
|
|
63
|
+
authz: { orgAction: "org.extensions.manage" },
|
|
64
|
+
mirrors: ["PUT /api/v1/orgs/:orgId/file-previewers"],
|
|
65
|
+
confirm: "org",
|
|
66
|
+
errors: [
|
|
67
|
+
{
|
|
68
|
+
code: "validation_failed",
|
|
69
|
+
next: "An item is not a previewer of an extension enabled in this org, or is listed twice; take plugin and id from extensions.previewers.",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
precheck: async (i, ctx) => {
|
|
73
|
+
const known = new Set((await this.previewers.list(ctx.orgId)).map((p) => `${p.plugin}/${p.id}`));
|
|
74
|
+
const seen = new Set();
|
|
75
|
+
for (const x of i.items) {
|
|
76
|
+
const k = `${x.plugin}/${x.id}`;
|
|
77
|
+
if (!known.has(k) || seen.has(k)) {
|
|
78
|
+
return {
|
|
79
|
+
ok: false,
|
|
80
|
+
code: "validation_failed",
|
|
81
|
+
message: `${k} is not a previewer of an extension enabled in this organization, or is listed twice`,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
seen.add(k);
|
|
85
|
+
}
|
|
86
|
+
return { ok: true };
|
|
87
|
+
},
|
|
88
|
+
summary: (i) => {
|
|
89
|
+
const off = i.items.filter((x) => x.disabled).map((x) => `${x.plugin}/${x.id}`);
|
|
90
|
+
const first = i.items.slice(0, 3).map((x) => named(`${x.plugin}/${x.id}`));
|
|
91
|
+
return {
|
|
92
|
+
zh: `设置文件预览器的顺序:${i.items.length} 项在前(${first.join("、") || "无"}${i.items.length > 3 ? "…" : ""}),其中 ${off.length} 项关闭`,
|
|
93
|
+
en: `Set the order of file previewers: ${i.items.length} first (${first.join(", ") || "none"}${i.items.length > 3 ? ", …" : ""}), ${off.length} of them switched off`,
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
run: async (input, ctx) => {
|
|
97
|
+
const items = await this.previewers.put(ctx.orgId, input.items, { accountId: ctx.actorAccountId }, viaAgent("extensions.set-previewers", ctx));
|
|
98
|
+
return { items: items.map(row), total: items.length };
|
|
99
|
+
},
|
|
100
|
+
}),
|
|
101
|
+
]);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
PreviewersOperations = __decorate([
|
|
105
|
+
Injectable(),
|
|
106
|
+
__param(0, Inject(PlatformOperations)),
|
|
107
|
+
__param(1, Inject(PreviewerRegistry))
|
|
108
|
+
], PreviewersOperations);
|
|
109
|
+
export { PreviewersOperations };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type OnModuleInit } from "@nestjs/common";
|
|
2
|
+
import { CatalogRequestsService } from "../../catalog/requests.service.js";
|
|
3
|
+
import { PlatformOperations } from "../registry.js";
|
|
4
|
+
/**
|
|
5
|
+
* Request operations of the `Platform` tool (spec §7): a member asks the org admins to switch a
|
|
6
|
+
* plugin on, an org admin asks the super admin for access to a plugin or for an import from a
|
|
7
|
+
* marketplace. Deciding a request is human-only (spec §6.4) and not offered.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RequestsOperations implements OnModuleInit {
|
|
10
|
+
private readonly registry;
|
|
11
|
+
private readonly requests;
|
|
12
|
+
constructor(registry: PlatformOperations, requests: CatalogRequestsService);
|
|
13
|
+
onModuleInit(): void;
|
|
14
|
+
}
|