@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,64 @@
|
|
|
1
|
+
import { type MarketplaceEntry } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type LookupFn, type NetPolicy } from "../net/public-address.js";
|
|
3
|
+
/**
|
|
4
|
+
* Marketplace entry icons (maintainer decision 2026-11-08; plugin component management spec §16):
|
|
5
|
+
* the icon a marketplace entry names for its plugin before it is imported. An entry's `icon` is an
|
|
6
|
+
* https URL or a path in a git marketplace's repository (SDK `MarketplaceEntry.icon`). The refresh
|
|
7
|
+
* reads each one (a URL through `net/safeFetch` under the marketplace network rules and
|
|
8
|
+
* `marketplaces.allowedHosts`, never with the marketplace token; a path from the commit it fetched
|
|
9
|
+
* anyway), keeps those that really are an svg / png of at most 64 KiB in `marketplace_icons`, and
|
|
10
|
+
* the admin market list serves them like plugin icons (`sendCatalogIcon`). A failed or invalid
|
|
11
|
+
* icon is only logged: the entry has no icon and the list shows its initial.
|
|
12
|
+
*/
|
|
13
|
+
/** The timeout of one icon download. */
|
|
14
|
+
export declare const MARKETPLACE_ICON_TIMEOUT_MS = 10000;
|
|
15
|
+
/** At most this many icon URLs are downloaded per refresh (the rest wait for the next one). */
|
|
16
|
+
export declare const MARKETPLACE_ICON_FETCHES_MAX = 100;
|
|
17
|
+
/** How long after a failed download an icon URL is tried again (by a later refresh). */
|
|
18
|
+
export declare const MARKETPLACE_ICON_RETRY_MS: number;
|
|
19
|
+
/** Parallel icon downloads of one refresh. */
|
|
20
|
+
export declare const MARKETPLACE_ICON_CONCURRENCY = 4;
|
|
21
|
+
/** The largest icon (the plugin icon limit). */
|
|
22
|
+
export declare const MARKETPLACE_ICON_MAX_BYTES: number;
|
|
23
|
+
/** A stored icon: its content type and sha256 (the address the admin route serves it at). */
|
|
24
|
+
export interface CheckedIcon {
|
|
25
|
+
contentType: "image/svg+xml" | "image/png";
|
|
26
|
+
sha256: string;
|
|
27
|
+
data: Uint8Array;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Whether `data` is an icon the kernel serves, by the extension of `name` (a URL's path or a
|
|
31
|
+
* repository path) and its content, like a plugin icon ({@link iconProblem}): the checked icon, or
|
|
32
|
+
* the problem (English).
|
|
33
|
+
*/
|
|
34
|
+
export declare function checkMarketplaceIcon(name: string, data: Uint8Array): CheckedIcon | string;
|
|
35
|
+
/**
|
|
36
|
+
* Downloads one icon URL under the marketplace network rules (https, public addresses or
|
|
37
|
+
* `allowPrivateHosts`, `net.httpsProxy`, no redirects, {@link MARKETPLACE_ICON_TIMEOUT_MS}, at
|
|
38
|
+
* most {@link MARKETPLACE_ICON_MAX_BYTES}) and checks it: the icon, or why it was not kept. Never
|
|
39
|
+
* throws (an abort of `signal` is a problem too).
|
|
40
|
+
*/
|
|
41
|
+
export declare function fetchMarketplaceIcon(url: string, o: {
|
|
42
|
+
net: NetPolicy;
|
|
43
|
+
signal: AbortSignal;
|
|
44
|
+
lookup?: LookupFn;
|
|
45
|
+
}): Promise<CheckedIcon | string>;
|
|
46
|
+
/**
|
|
47
|
+
* The repository paths (relative to the root, without `./`) of the icons a git marketplace's
|
|
48
|
+
* manifest names, read leniently (the manifest is validated afterwards); for a single-plugin repo
|
|
49
|
+
* (no manifest) the root `plugin.json`'s icon. At most `max` paths.
|
|
50
|
+
*/
|
|
51
|
+
export declare function gitIconPaths(files: Map<string, Uint8Array>, manifestPath: string, maxIndexBytes: number, max: number): string[];
|
|
52
|
+
/**
|
|
53
|
+
* The icons a refresh has to have for `entries` of a marketplace of `form`, as the entries write
|
|
54
|
+
* them (the stored `ref`): repository paths `./…` (git marketplaces only; an http marketplace has
|
|
55
|
+
* no repository) and URLs, each once.
|
|
56
|
+
*/
|
|
57
|
+
export declare function wantedIcons(entries: Pick<MarketplaceEntry, "icon">[], form: "http" | "git"): {
|
|
58
|
+
paths: Set<string>;
|
|
59
|
+
urls: Set<string>;
|
|
60
|
+
};
|
|
61
|
+
/** The admin route of a stored icon (content addressed: the URL changes with the bytes). */
|
|
62
|
+
export declare const marketplaceIconUrl: (sourceId: string, sha256: string) => string;
|
|
63
|
+
/** The org browse route of a stored icon (org admins of `orgId`, like the org browse). */
|
|
64
|
+
export declare const orgMarketplaceIconUrl: (orgId: string) => (sourceId: string, sha256: string) => string;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { MARKETPLACE_ICON_RE, MARKETPLACE_LIMITS, marketplaceEntryIcon, PLUGIN_MANIFEST_FILE, } from "@capybara-hq/plugin-sdk";
|
|
3
|
+
import { NetDeniedError } from "../net/public-address.js";
|
|
4
|
+
import { safeFetch } from "../net/safe-fetch.js";
|
|
5
|
+
import { packagePath } from "../packages/tgz.js";
|
|
6
|
+
import { marketplaceUrlProblem } from "./marketplace-fetch.js";
|
|
7
|
+
import { iconProblem } from "./plugin-package.js";
|
|
8
|
+
/**
|
|
9
|
+
* Marketplace entry icons (maintainer decision 2026-11-08; plugin component management spec §16):
|
|
10
|
+
* the icon a marketplace entry names for its plugin before it is imported. An entry's `icon` is an
|
|
11
|
+
* https URL or a path in a git marketplace's repository (SDK `MarketplaceEntry.icon`). The refresh
|
|
12
|
+
* reads each one (a URL through `net/safeFetch` under the marketplace network rules and
|
|
13
|
+
* `marketplaces.allowedHosts`, never with the marketplace token; a path from the commit it fetched
|
|
14
|
+
* anyway), keeps those that really are an svg / png of at most 64 KiB in `marketplace_icons`, and
|
|
15
|
+
* the admin market list serves them like plugin icons (`sendCatalogIcon`). A failed or invalid
|
|
16
|
+
* icon is only logged: the entry has no icon and the list shows its initial.
|
|
17
|
+
*/
|
|
18
|
+
/** The timeout of one icon download. */
|
|
19
|
+
export const MARKETPLACE_ICON_TIMEOUT_MS = 10_000;
|
|
20
|
+
/** At most this many icon URLs are downloaded per refresh (the rest wait for the next one). */
|
|
21
|
+
export const MARKETPLACE_ICON_FETCHES_MAX = 100;
|
|
22
|
+
/** How long after a failed download an icon URL is tried again (by a later refresh). */
|
|
23
|
+
export const MARKETPLACE_ICON_RETRY_MS = 6 * 3600_000;
|
|
24
|
+
/** Parallel icon downloads of one refresh. */
|
|
25
|
+
export const MARKETPLACE_ICON_CONCURRENCY = 4;
|
|
26
|
+
/** The largest icon (the plugin icon limit). */
|
|
27
|
+
export const MARKETPLACE_ICON_MAX_BYTES = MARKETPLACE_LIMITS.iconBytes;
|
|
28
|
+
/**
|
|
29
|
+
* Whether `data` is an icon the kernel serves, by the extension of `name` (a URL's path or a
|
|
30
|
+
* repository path) and its content, like a plugin icon ({@link iconProblem}): the checked icon, or
|
|
31
|
+
* the problem (English).
|
|
32
|
+
*/
|
|
33
|
+
export function checkMarketplaceIcon(name, data) {
|
|
34
|
+
if (!MARKETPLACE_ICON_RE.test(name))
|
|
35
|
+
return `${name} is not a .svg or .png file`;
|
|
36
|
+
const problem = iconProblem(name, data);
|
|
37
|
+
if (problem !== undefined)
|
|
38
|
+
return problem;
|
|
39
|
+
return {
|
|
40
|
+
contentType: /\.svg$/i.test(name) ? "image/svg+xml" : "image/png",
|
|
41
|
+
sha256: createHash("sha256").update(data).digest("hex"),
|
|
42
|
+
data,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Downloads one icon URL under the marketplace network rules (https, public addresses or
|
|
47
|
+
* `allowPrivateHosts`, `net.httpsProxy`, no redirects, {@link MARKETPLACE_ICON_TIMEOUT_MS}, at
|
|
48
|
+
* most {@link MARKETPLACE_ICON_MAX_BYTES}) and checks it: the icon, or why it was not kept. Never
|
|
49
|
+
* throws (an abort of `signal` is a problem too).
|
|
50
|
+
*/
|
|
51
|
+
export async function fetchMarketplaceIcon(url, o) {
|
|
52
|
+
const problem = marketplaceUrlProblem(url, o.net.allowInsecureLoopback);
|
|
53
|
+
if (problem !== null)
|
|
54
|
+
return `invalid icon URL: ${problem}`;
|
|
55
|
+
const target = new URL(url);
|
|
56
|
+
const signal = AbortSignal.any([o.signal, AbortSignal.timeout(MARKETPLACE_ICON_TIMEOUT_MS)]);
|
|
57
|
+
try {
|
|
58
|
+
const res = await safeFetch(target.href, { signal }, o.net, {
|
|
59
|
+
maxBytes: MARKETPLACE_ICON_MAX_BYTES,
|
|
60
|
+
...(o.lookup !== undefined && { lookup: o.lookup }),
|
|
61
|
+
});
|
|
62
|
+
if (!res.ok) {
|
|
63
|
+
await res.body?.cancel().catch(() => { });
|
|
64
|
+
return `the icon URL responded with HTTP ${res.status}`;
|
|
65
|
+
}
|
|
66
|
+
const data = new Uint8Array(await res.arrayBuffer());
|
|
67
|
+
return checkMarketplaceIcon(target.pathname, data);
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
if (e instanceof NetDeniedError)
|
|
71
|
+
return `icon download refused: ${e.message}`;
|
|
72
|
+
return `cannot fetch the icon: ${e instanceof Error ? e.message : String(e)}`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The repository paths (relative to the root, without `./`) of the icons a git marketplace's
|
|
77
|
+
* manifest names, read leniently (the manifest is validated afterwards); for a single-plugin repo
|
|
78
|
+
* (no manifest) the root `plugin.json`'s icon. At most `max` paths.
|
|
79
|
+
*/
|
|
80
|
+
export function gitIconPaths(files, manifestPath, maxIndexBytes, max) {
|
|
81
|
+
const json = (raw) => {
|
|
82
|
+
if (raw === undefined || raw.byteLength > maxIndexBytes)
|
|
83
|
+
return undefined;
|
|
84
|
+
try {
|
|
85
|
+
return JSON.parse(new TextDecoder().decode(raw));
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const paths = new Set();
|
|
92
|
+
const manifest = json(files.get(manifestPath));
|
|
93
|
+
if (files.has(manifestPath)) {
|
|
94
|
+
if (!Array.isArray(manifest?.plugins))
|
|
95
|
+
return [];
|
|
96
|
+
for (const p of manifest.plugins) {
|
|
97
|
+
const icon = p?.icon;
|
|
98
|
+
if (typeof icon === "string" && icon.startsWith("./") && MARKETPLACE_ICON_RE.test(icon)) {
|
|
99
|
+
paths.add(icon.slice(2));
|
|
100
|
+
}
|
|
101
|
+
if (paths.size >= max)
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
return [...paths];
|
|
105
|
+
}
|
|
106
|
+
const icon = json(files.get(PLUGIN_MANIFEST_FILE))?.icon;
|
|
107
|
+
return typeof icon === "string" && MARKETPLACE_ICON_RE.test(icon) ? [packagePath(icon)] : [];
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The icons a refresh has to have for `entries` of a marketplace of `form`, as the entries write
|
|
111
|
+
* them (the stored `ref`): repository paths `./…` (git marketplaces only; an http marketplace has
|
|
112
|
+
* no repository) and URLs, each once.
|
|
113
|
+
*/
|
|
114
|
+
export function wantedIcons(entries, form) {
|
|
115
|
+
const paths = new Set();
|
|
116
|
+
const urls = new Set();
|
|
117
|
+
for (const e of entries) {
|
|
118
|
+
const icon = marketplaceEntryIcon(e);
|
|
119
|
+
if (icon === null)
|
|
120
|
+
continue;
|
|
121
|
+
if ("url" in icon)
|
|
122
|
+
urls.add(icon.url);
|
|
123
|
+
else if (form === "git")
|
|
124
|
+
paths.add(`./${icon.path}`);
|
|
125
|
+
}
|
|
126
|
+
return { paths, urls };
|
|
127
|
+
}
|
|
128
|
+
/** The admin route of a stored icon (content addressed: the URL changes with the bytes). */
|
|
129
|
+
export const marketplaceIconUrl = (sourceId, sha256) => `/api/v1/admin/marketplaces/${encodeURIComponent(sourceId)}/icons/${sha256}`;
|
|
130
|
+
/** The org browse route of a stored icon (org admins of `orgId`, like the org browse). */
|
|
131
|
+
export const orgMarketplaceIconUrl = (orgId) => (sourceId, sha256) => `/api/v1/orgs/${encodeURIComponent(orgId)}/marketplaces/${encodeURIComponent(sourceId)}/icons/${sha256}`;
|
|
@@ -1,77 +1,61 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { FastifyReply } from "fastify";
|
|
2
|
+
import type { z } from "zod";
|
|
3
|
+
import { PluginIcons } from "../extensions/plugin-icons.js";
|
|
2
4
|
import { type Principal } from "../identity/principal.js";
|
|
3
5
|
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
6
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
7
|
+
import { type OrgContext } from "../orgs/org.guard.js";
|
|
4
8
|
import { CatalogService, type MarketplaceImportResult } from "./catalog.service.js";
|
|
9
|
+
import { MarketplaceImportBody as ImportBody, MarketplaceAddBody, MarketplaceEntriesQuery, MarketplacePatchBody as PatchBody } from "./marketplaces.schemas.js";
|
|
5
10
|
import { type MarketplaceEntryView, MarketplacesService, type MarketplaceView } from "./marketplaces.service.js";
|
|
6
|
-
declare const AddBody: z.ZodObject<{
|
|
7
|
-
name: z.ZodString;
|
|
8
|
-
url: z.ZodString;
|
|
9
|
-
form: z.ZodOptional<z.ZodEnum<{
|
|
10
|
-
git: "git";
|
|
11
|
-
http: "http";
|
|
12
|
-
}>>;
|
|
13
|
-
ref: z.ZodOptional<z.ZodString>;
|
|
14
|
-
mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
|
-
token: z.ZodOptional<z.ZodString>;
|
|
16
|
-
}, z.core.$strip>;
|
|
17
|
-
declare const PatchBody: z.ZodObject<{
|
|
18
|
-
name: z.ZodOptional<z.ZodString>;
|
|
19
|
-
url: z.ZodOptional<z.ZodString>;
|
|
20
|
-
form: z.ZodOptional<z.ZodEnum<{
|
|
21
|
-
git: "git";
|
|
22
|
-
http: "http";
|
|
23
|
-
}>>;
|
|
24
|
-
ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
-
mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26
|
-
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
-
token: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
28
|
-
}, z.core.$strict>;
|
|
29
|
-
declare const EntriesQuery: z.ZodObject<{
|
|
30
|
-
sourceId: z.ZodOptional<z.ZodString>;
|
|
31
|
-
q: z.ZodOptional<z.ZodString>;
|
|
32
|
-
}, z.core.$strip>;
|
|
33
|
-
declare const ImportBody: z.ZodObject<{
|
|
34
|
-
version: z.ZodOptional<z.ZodString>;
|
|
35
|
-
}, z.core.$strip>;
|
|
36
11
|
/**
|
|
37
|
-
* Marketplaces (`/api/v1/admin/marketplaces/*`,
|
|
38
|
-
* refresh the official and
|
|
39
|
-
* Writes re-check the
|
|
12
|
+
* Marketplaces (`/api/v1/admin/marketplaces/*`, super admins): create, update, delete and
|
|
13
|
+
* refresh the official and custom marketplaces, browse entries, import from a marketplace.
|
|
14
|
+
* Writes re-check the super admin inside the service's lock and are audited.
|
|
40
15
|
*/
|
|
41
16
|
export declare class MarketplacesController {
|
|
42
17
|
private readonly marketplaces;
|
|
43
18
|
private readonly catalog;
|
|
44
19
|
private readonly config;
|
|
45
|
-
|
|
20
|
+
private readonly icons;
|
|
21
|
+
constructor(marketplaces: MarketplacesService, catalog: CatalogService, config: KernelConfigService, icons: PluginIcons);
|
|
46
22
|
/** 全部来源;`offline` 为 true 表示 `marketplaces.official.enabled` 为 false(界面显示「离线模式」)。 */
|
|
47
23
|
list(): Promise<{
|
|
48
24
|
items: MarketplaceView[];
|
|
49
25
|
offline: boolean;
|
|
50
26
|
}>;
|
|
51
27
|
/**
|
|
52
|
-
* Adds
|
|
28
|
+
* Adds a custom marketplace (https URL and mirrors; the token is kept in secrets and sent only
|
|
53
29
|
* to the URL's origin). A git URL (`…/*.git`, `owner/repo`, or any URL with `form: "git"`) is a
|
|
54
30
|
* git marketplace with an optional `ref`; anything else is a marketplace.json URL.
|
|
55
31
|
*/
|
|
56
|
-
add(principal: Principal, body: z.infer<typeof
|
|
32
|
+
add(principal: Principal, body: z.infer<typeof MarketplaceAddBody>): Promise<MarketplaceView>;
|
|
57
33
|
/**
|
|
58
34
|
* Browses entries (enabled marketplaces only, `sourceId` filters by marketplace; at most
|
|
59
35
|
* `MARKETPLACE_ENTRIES_MAX`, `truncated` true means there are more). An entry that cannot be
|
|
60
36
|
* imported has `importable: false` and a `reason`: `host_not_allowed` (its git / archive host is
|
|
61
37
|
* outside `marketplaces.allowedHosts`) or `path_needs_git_marketplace` (a path entry of an http
|
|
62
|
-
* marketplace).
|
|
38
|
+
* marketplace). `icon`: an imported plugin's catalog icon (its current version's, the one the
|
|
39
|
+
* 已安装 list shows, also on an entry of a newer version), else the marketplace icon the last
|
|
40
|
+
* refresh stored, else null.
|
|
63
41
|
*/
|
|
64
|
-
entries(q: z.infer<typeof
|
|
42
|
+
entries(q: z.infer<typeof MarketplaceEntriesQuery>): Promise<{
|
|
65
43
|
items: MarketplaceEntryView[];
|
|
66
44
|
truncated: boolean;
|
|
67
45
|
}>;
|
|
46
|
+
/**
|
|
47
|
+
* A marketplace entry icon the last refresh stored (`icon` of the entries), from PG with the
|
|
48
|
+
* plugin icon response headers (`sendCatalogIcon`: nosniff, CSP sandbox). Not stored -> 404
|
|
49
|
+
* `catalog.icon_not_found`.
|
|
50
|
+
*/
|
|
51
|
+
icon(id: string, sha256: string, reply: FastifyReply): Promise<void>;
|
|
68
52
|
/**
|
|
69
53
|
* Updates a marketplace (official only takes `enabled`, anything else -> 409
|
|
70
54
|
* `marketplace.builtin`; `token: null` clears the token).
|
|
71
55
|
*/
|
|
72
56
|
update(principal: Principal, id: string, body: z.infer<typeof PatchBody>): Promise<MarketplaceView>;
|
|
73
57
|
/**
|
|
74
|
-
* Deletes
|
|
58
|
+
* Deletes a custom marketplace (imported catalog items are kept); official -> 409
|
|
75
59
|
* `marketplace.builtin`.
|
|
76
60
|
*/
|
|
77
61
|
remove(principal: Principal, id: string): Promise<void>;
|
|
@@ -94,4 +78,29 @@ export declare class MarketplacesController {
|
|
|
94
78
|
*/
|
|
95
79
|
importEntry(principal: Principal, id: string, name: string, body: z.infer<typeof ImportBody>): Promise<MarketplaceImportResult>;
|
|
96
80
|
}
|
|
97
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Org admins browse the marketplaces read-only (`GET /api/v1/orgs/:orgId/marketplaces/entries`,
|
|
83
|
+
* `catalog.decide`; plugin scope spec §5.1 rule 3) to request an import. The deployment setting
|
|
84
|
+
* `orgMarketplaceBrowse` off -> 404 `not_found`. An entry imported as an item the org can neither
|
|
85
|
+
* see nor request (a hidden `named` item) reads as not imported (`adopted: null`). `icon`: the
|
|
86
|
+
* catalog item's org icon route when the org's catalog shows the item (the share gate,
|
|
87
|
+
* `PluginIcons`), else the marketplace icon on this controller's icon route, else null.
|
|
88
|
+
*/
|
|
89
|
+
export declare class OrgMarketplacesController {
|
|
90
|
+
private readonly marketplaces;
|
|
91
|
+
private readonly kdb;
|
|
92
|
+
private readonly icons;
|
|
93
|
+
constructor(marketplaces: MarketplacesService, kdb: KernelDb, icons: PluginIcons);
|
|
94
|
+
/** The org browse is off (`orgMarketplaceBrowse`) -> 404, like the entries. */
|
|
95
|
+
private assertBrowse;
|
|
96
|
+
/**
|
|
97
|
+
* A marketplace entry icon for the org browse (`catalog.decide`, the org admins), gated like the
|
|
98
|
+
* entries: browsing on, the marketplace enabled; served like plugin icons (`sendCatalogIcon`).
|
|
99
|
+
* Not stored -> 404 `catalog.icon_not_found`.
|
|
100
|
+
*/
|
|
101
|
+
icon(id: string, sha256: string, reply: FastifyReply): Promise<void>;
|
|
102
|
+
entries(org: OrgContext, q: z.infer<typeof MarketplaceEntriesQuery>): Promise<{
|
|
103
|
+
items: MarketplaceEntryView[];
|
|
104
|
+
truncated: boolean;
|
|
105
|
+
}>;
|
|
106
|
+
}
|
|
@@ -7,69 +7,51 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
|
-
import { Controller, Delete, Get, HttpCode, Inject, Param, Patch, Post } from "@nestjs/common";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { CurrentPrincipal,
|
|
10
|
+
import { Controller, Delete, Get, HttpCode, Inject, Param, Patch, Post, Res } from "@nestjs/common";
|
|
11
|
+
import { ApiError } from "../errors.js";
|
|
12
|
+
import { orgIconScope, PluginIcons } from "../extensions/plugin-icons.js";
|
|
13
|
+
import { CurrentPrincipal, patTokenId, requireUser, SuperAdmin, } from "../identity/principal.js";
|
|
14
|
+
import { readOrgMarketplaceBrowse } from "../identity/settings.js";
|
|
14
15
|
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
16
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
15
17
|
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
16
18
|
import { ZBody, ZQuery } from "../infra/validation/zod-params.js";
|
|
19
|
+
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
17
20
|
import { CatalogService } from "./catalog.service.js";
|
|
21
|
+
import { orgMarketplaceIconUrl } from "./marketplace-icons.js";
|
|
22
|
+
import { MarketplaceImportBody as ImportBody, MarketplaceAddBody, MarketplaceEntriesQuery, MarketplacePatchBody as PatchBody, } from "./marketplaces.schemas.js";
|
|
18
23
|
import { MarketplacesService, } from "./marketplaces.service.js";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const Ref = z.string().min(1).max(256);
|
|
22
|
-
const AddBody = z.object({
|
|
23
|
-
name: z.string().min(1).max(100),
|
|
24
|
-
url: Url,
|
|
25
|
-
form: Form.optional(),
|
|
26
|
-
ref: Ref.optional(),
|
|
27
|
-
mirrors: z.array(Url).max(MARKETPLACE_MAX_MIRRORS).optional(),
|
|
28
|
-
token: z.string().min(1).max(4096).optional(),
|
|
29
|
-
});
|
|
30
|
-
const PatchBody = z
|
|
31
|
-
.object({
|
|
32
|
-
name: z.string().min(1).max(100).optional(),
|
|
33
|
-
url: Url.optional(),
|
|
34
|
-
form: Form.optional(),
|
|
35
|
-
ref: Ref.nullable().optional(),
|
|
36
|
-
mirrors: z.array(Url).max(MARKETPLACE_MAX_MIRRORS).optional(),
|
|
37
|
-
enabled: z.boolean().optional(),
|
|
38
|
-
token: z.string().min(1).max(4096).nullable().optional(),
|
|
39
|
-
})
|
|
40
|
-
.strict();
|
|
41
|
-
const EntriesQuery = z.object({
|
|
42
|
-
sourceId: z.string().min(1).max(100).optional(),
|
|
43
|
-
q: z.string().max(200).optional(),
|
|
44
|
-
});
|
|
45
|
-
const ImportBody = z.object({ version: z.string().min(1).max(256).optional() });
|
|
24
|
+
import { sendCatalogIcon } from "./org-catalog.controller.js";
|
|
25
|
+
import { itemsSeenBy } from "./scope-state.js";
|
|
46
26
|
/** 手动刷新的总时限(每个地址另有 30 秒超时)。 */
|
|
47
27
|
const REFRESH_DEADLINE_MS = 300_000;
|
|
48
28
|
const actorOpts = (actor) => {
|
|
49
29
|
const tokenId = patTokenId(actor);
|
|
50
30
|
return tokenId !== undefined ? { actorTokenId: tokenId } : {};
|
|
51
31
|
};
|
|
52
|
-
class
|
|
32
|
+
class MarketplaceAddBodyDto extends createZodDto(MarketplaceAddBody, "MarketplaceAddBody") {
|
|
53
33
|
}
|
|
54
|
-
class
|
|
34
|
+
class MarketplaceEntriesQueryDto extends createZodDto(MarketplaceEntriesQuery, "MarketplaceEntriesQuery") {
|
|
55
35
|
}
|
|
56
36
|
class MarketplaceImportBody extends createZodDto(ImportBody, "MarketplaceImportBody") {
|
|
57
37
|
}
|
|
58
38
|
class MarketplacePatchBody extends createZodDto(PatchBody, "MarketplacePatchBody") {
|
|
59
39
|
}
|
|
60
40
|
/**
|
|
61
|
-
* Marketplaces (`/api/v1/admin/marketplaces/*`,
|
|
62
|
-
* refresh the official and
|
|
63
|
-
* Writes re-check the
|
|
41
|
+
* Marketplaces (`/api/v1/admin/marketplaces/*`, super admins): create, update, delete and
|
|
42
|
+
* refresh the official and custom marketplaces, browse entries, import from a marketplace.
|
|
43
|
+
* Writes re-check the super admin inside the service's lock and are audited.
|
|
64
44
|
*/
|
|
65
45
|
let MarketplacesController = class MarketplacesController {
|
|
66
46
|
marketplaces;
|
|
67
47
|
catalog;
|
|
68
48
|
config;
|
|
69
|
-
|
|
49
|
+
icons;
|
|
50
|
+
constructor(marketplaces, catalog, config, icons) {
|
|
70
51
|
this.marketplaces = marketplaces;
|
|
71
52
|
this.catalog = catalog;
|
|
72
53
|
this.config = config;
|
|
54
|
+
this.icons = icons;
|
|
73
55
|
}
|
|
74
56
|
/** 全部来源;`offline` 为 true 表示 `marketplaces.official.enabled` 为 false(界面显示「离线模式」)。 */
|
|
75
57
|
async list() {
|
|
@@ -79,7 +61,7 @@ let MarketplacesController = class MarketplacesController {
|
|
|
79
61
|
};
|
|
80
62
|
}
|
|
81
63
|
/**
|
|
82
|
-
* Adds
|
|
64
|
+
* Adds a custom marketplace (https URL and mirrors; the token is kept in secrets and sent only
|
|
83
65
|
* to the URL's origin). A git URL (`…/*.git`, `owner/repo`, or any URL with `form: "git"`) is a
|
|
84
66
|
* git marketplace with an optional `ref`; anything else is a marketplace.json URL.
|
|
85
67
|
*/
|
|
@@ -99,13 +81,31 @@ let MarketplacesController = class MarketplacesController {
|
|
|
99
81
|
* `MARKETPLACE_ENTRIES_MAX`, `truncated` true means there are more). An entry that cannot be
|
|
100
82
|
* imported has `importable: false` and a `reason`: `host_not_allowed` (its git / archive host is
|
|
101
83
|
* outside `marketplaces.allowedHosts`) or `path_needs_git_marketplace` (a path entry of an http
|
|
102
|
-
* marketplace).
|
|
84
|
+
* marketplace). `icon`: an imported plugin's catalog icon (its current version's, the one the
|
|
85
|
+
* 已安装 list shows, also on an entry of a newer version), else the marketplace icon the last
|
|
86
|
+
* refresh stored, else null.
|
|
103
87
|
*/
|
|
104
|
-
entries(q) {
|
|
105
|
-
|
|
88
|
+
async entries(q) {
|
|
89
|
+
const r = await this.marketplaces.entries({
|
|
106
90
|
...(q.sourceId !== undefined && { marketplaceId: q.sourceId }),
|
|
107
91
|
...(q.q !== undefined && { q: q.q }),
|
|
108
92
|
});
|
|
93
|
+
const installed = await this.icons.ofItems(r.items.flatMap((e) => (e.adopted ? [e.adopted.itemId] : [])), { kind: "admin" });
|
|
94
|
+
return {
|
|
95
|
+
...r,
|
|
96
|
+
items: r.items.map((e) => {
|
|
97
|
+
const own = e.adopted ? installed.get(e.adopted.itemId) : undefined;
|
|
98
|
+
return own === undefined ? e : { ...e, icon: own };
|
|
99
|
+
}),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A marketplace entry icon the last refresh stored (`icon` of the entries), from PG with the
|
|
104
|
+
* plugin icon response headers (`sendCatalogIcon`: nosniff, CSP sandbox). Not stored -> 404
|
|
105
|
+
* `catalog.icon_not_found`.
|
|
106
|
+
*/
|
|
107
|
+
async icon(id, sha256, reply) {
|
|
108
|
+
await sendCatalogIcon(reply, await this.marketplaces.icon(id, sha256));
|
|
109
109
|
}
|
|
110
110
|
/**
|
|
111
111
|
* Updates a marketplace (official only takes `enabled`, anything else -> 409
|
|
@@ -124,7 +124,7 @@ let MarketplacesController = class MarketplacesController {
|
|
|
124
124
|
}, actorOpts(actor));
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
|
-
* Deletes
|
|
127
|
+
* Deletes a custom marketplace (imported catalog items are kept); official -> 409
|
|
128
128
|
* `marketplace.builtin`.
|
|
129
129
|
*/
|
|
130
130
|
async remove(principal, id) {
|
|
@@ -166,12 +166,18 @@ __decorate([
|
|
|
166
166
|
Post(),
|
|
167
167
|
HttpCode(201),
|
|
168
168
|
__param(0, CurrentPrincipal()),
|
|
169
|
-
__param(1, ZBody(
|
|
169
|
+
__param(1, ZBody(MarketplaceAddBodyDto))
|
|
170
170
|
], MarketplacesController.prototype, "add", null);
|
|
171
171
|
__decorate([
|
|
172
172
|
Get("entries"),
|
|
173
|
-
__param(0, ZQuery(
|
|
173
|
+
__param(0, ZQuery(MarketplaceEntriesQueryDto))
|
|
174
174
|
], MarketplacesController.prototype, "entries", null);
|
|
175
|
+
__decorate([
|
|
176
|
+
Get(":id/icons/:sha256"),
|
|
177
|
+
__param(0, Param("id")),
|
|
178
|
+
__param(1, Param("sha256")),
|
|
179
|
+
__param(2, Res())
|
|
180
|
+
], MarketplacesController.prototype, "icon", null);
|
|
175
181
|
__decorate([
|
|
176
182
|
Patch(":id"),
|
|
177
183
|
__param(0, CurrentPrincipal()),
|
|
@@ -200,9 +206,87 @@ __decorate([
|
|
|
200
206
|
], MarketplacesController.prototype, "importEntry", null);
|
|
201
207
|
MarketplacesController = __decorate([
|
|
202
208
|
Controller("api/v1/admin/marketplaces"),
|
|
203
|
-
|
|
209
|
+
SuperAdmin(),
|
|
204
210
|
__param(0, Inject(MarketplacesService)),
|
|
205
211
|
__param(1, Inject(CatalogService)),
|
|
206
|
-
__param(2, Inject(KernelConfigService))
|
|
212
|
+
__param(2, Inject(KernelConfigService)),
|
|
213
|
+
__param(3, Inject(PluginIcons))
|
|
207
214
|
], MarketplacesController);
|
|
208
215
|
export { MarketplacesController };
|
|
216
|
+
/**
|
|
217
|
+
* Org admins browse the marketplaces read-only (`GET /api/v1/orgs/:orgId/marketplaces/entries`,
|
|
218
|
+
* `catalog.decide`; plugin scope spec §5.1 rule 3) to request an import. The deployment setting
|
|
219
|
+
* `orgMarketplaceBrowse` off -> 404 `not_found`. An entry imported as an item the org can neither
|
|
220
|
+
* see nor request (a hidden `named` item) reads as not imported (`adopted: null`). `icon`: the
|
|
221
|
+
* catalog item's org icon route when the org's catalog shows the item (the share gate,
|
|
222
|
+
* `PluginIcons`), else the marketplace icon on this controller's icon route, else null.
|
|
223
|
+
*/
|
|
224
|
+
let OrgMarketplacesController = class OrgMarketplacesController {
|
|
225
|
+
marketplaces;
|
|
226
|
+
kdb;
|
|
227
|
+
icons;
|
|
228
|
+
constructor(marketplaces, kdb, icons) {
|
|
229
|
+
this.marketplaces = marketplaces;
|
|
230
|
+
this.kdb = kdb;
|
|
231
|
+
this.icons = icons;
|
|
232
|
+
}
|
|
233
|
+
/** The org browse is off (`orgMarketplaceBrowse`) -> 404, like the entries. */
|
|
234
|
+
async assertBrowse() {
|
|
235
|
+
if (!(await readOrgMarketplaceBrowse(this.kdb.db))) {
|
|
236
|
+
throw new ApiError("not_found", "Marketplace browsing is off for organizations");
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* A marketplace entry icon for the org browse (`catalog.decide`, the org admins), gated like the
|
|
241
|
+
* entries: browsing on, the marketplace enabled; served like plugin icons (`sendCatalogIcon`).
|
|
242
|
+
* Not stored -> 404 `catalog.icon_not_found`.
|
|
243
|
+
*/
|
|
244
|
+
async icon(id, sha256, reply) {
|
|
245
|
+
await this.assertBrowse();
|
|
246
|
+
await sendCatalogIcon(reply, await this.marketplaces.icon(id, sha256, { browsable: true }));
|
|
247
|
+
}
|
|
248
|
+
async entries(org, q) {
|
|
249
|
+
await this.assertBrowse();
|
|
250
|
+
const r = await this.marketplaces.entries({
|
|
251
|
+
...(q.sourceId !== undefined && { marketplaceId: q.sourceId }),
|
|
252
|
+
...(q.q !== undefined && { q: q.q }),
|
|
253
|
+
}, orgMarketplaceIconUrl(org.orgId));
|
|
254
|
+
// A hidden `named` item the org is not listed on stays unknown to it: the entry reads as not
|
|
255
|
+
// imported (and shows the marketplace icon, never the item's)
|
|
256
|
+
const adoptedIds = r.items.flatMap((e) => (e.adopted ? [e.adopted.itemId] : []));
|
|
257
|
+
const seen = await itemsSeenBy(this.kdb.db, org.orgId, adoptedIds);
|
|
258
|
+
const own = await this.icons.ofItems(adoptedIds.filter((id) => seen.has(id)), orgIconScope(org));
|
|
259
|
+
return {
|
|
260
|
+
...r,
|
|
261
|
+
items: r.items.map((e) => {
|
|
262
|
+
if (e.adopted === null)
|
|
263
|
+
return e;
|
|
264
|
+
if (!seen.has(e.adopted.itemId)) {
|
|
265
|
+
return { ...e, adopted: null, newerAvailable: false, contentChanged: false };
|
|
266
|
+
}
|
|
267
|
+
const icon = own.get(e.adopted.itemId);
|
|
268
|
+
return icon === undefined ? e : { ...e, icon };
|
|
269
|
+
}),
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
__decorate([
|
|
274
|
+
Get(":id/icons/:sha256"),
|
|
275
|
+
OrgAction("catalog.decide"),
|
|
276
|
+
__param(0, Param("id")),
|
|
277
|
+
__param(1, Param("sha256")),
|
|
278
|
+
__param(2, Res())
|
|
279
|
+
], OrgMarketplacesController.prototype, "icon", null);
|
|
280
|
+
__decorate([
|
|
281
|
+
Get("entries"),
|
|
282
|
+
OrgAction("catalog.decide"),
|
|
283
|
+
__param(0, CurrentOrg()),
|
|
284
|
+
__param(1, ZQuery(MarketplaceEntriesQueryDto))
|
|
285
|
+
], OrgMarketplacesController.prototype, "entries", null);
|
|
286
|
+
OrgMarketplacesController = __decorate([
|
|
287
|
+
Controller("api/v1/orgs/:orgId/marketplaces"),
|
|
288
|
+
__param(0, Inject(MarketplacesService)),
|
|
289
|
+
__param(1, Inject(KernelDb)),
|
|
290
|
+
__param(2, Inject(PluginIcons))
|
|
291
|
+
], OrgMarketplacesController);
|
|
292
|
+
export { OrgMarketplacesController };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RouteSchemas } from "../platform/route-schemas.js";
|
|
3
|
+
export declare const MarketplaceUrl: z.ZodString;
|
|
4
|
+
export declare const MarketplaceForm: z.ZodEnum<{
|
|
5
|
+
git: "git";
|
|
6
|
+
http: "http";
|
|
7
|
+
}>;
|
|
8
|
+
export declare const MarketplaceRef: z.ZodString;
|
|
9
|
+
export declare const MarketplaceAddBody: z.ZodObject<{
|
|
10
|
+
name: z.ZodString;
|
|
11
|
+
url: z.ZodString;
|
|
12
|
+
form: z.ZodOptional<z.ZodEnum<{
|
|
13
|
+
git: "git";
|
|
14
|
+
http: "http";
|
|
15
|
+
}>>;
|
|
16
|
+
ref: z.ZodOptional<z.ZodString>;
|
|
17
|
+
mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
+
token: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export declare const MarketplaceEntriesQuery: z.ZodObject<{
|
|
21
|
+
sourceId: z.ZodOptional<z.ZodString>;
|
|
22
|
+
q: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const MarketplacePatchBody: z.ZodObject<{
|
|
25
|
+
name: z.ZodOptional<z.ZodString>;
|
|
26
|
+
url: z.ZodOptional<z.ZodString>;
|
|
27
|
+
form: z.ZodOptional<z.ZodEnum<{
|
|
28
|
+
git: "git";
|
|
29
|
+
http: "http";
|
|
30
|
+
}>>;
|
|
31
|
+
ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
32
|
+
mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
33
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
34
|
+
token: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
35
|
+
}, z.core.$strict>;
|
|
36
|
+
export declare const MarketplaceImportBody: z.ZodObject<{
|
|
37
|
+
version: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
/** `:id` of a marketplace as the routes take it (`@Param`). */
|
|
40
|
+
export declare const MarketplaceIdPathParams: z.ZodObject<{
|
|
41
|
+
id: z.ZodString;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
/** `:id` and the entry `:name` of the import route (`@Param`). */
|
|
44
|
+
export declare const MarketplaceEntryPathParams: z.ZodObject<{
|
|
45
|
+
id: z.ZodString;
|
|
46
|
+
name: z.ZodString;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export declare const MARKETPLACE_ROUTES: readonly RouteSchemas[];
|