@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
|
@@ -8,7 +8,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
10
|
import { randomUUID } from "node:crypto";
|
|
11
|
-
import { CATALOG_ITEM_NAME_RE, marketplaceEntryVersion, PLUGIN_MANIFEST_FILE, parseMarketplaceManifest, parsePluginManifest, SDK_VERSION, SEMVER_VERSION_RE, } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { CATALOG_ITEM_NAME_RE, marketplaceEntryDeprecation, marketplaceEntryVersion, PLUGIN_MANIFEST_FILE, parseMarketplaceManifest, parsePluginManifest, pluginDescription, SDK_VERSION, SEMVER_VERSION_RE, } from "@capybara-hq/plugin-sdk";
|
|
12
12
|
import { Inject, Injectable } from "@nestjs/common";
|
|
13
13
|
import { sql } from "kysely";
|
|
14
14
|
import semver from "semver";
|
|
@@ -18,7 +18,7 @@ import { createSecrets } from "../ctx/secrets.js";
|
|
|
18
18
|
import { ApiError } from "../errors.js";
|
|
19
19
|
import { DEPLOYMENT_SECRETS_ORG } from "../extensions/deployment-config-store.js";
|
|
20
20
|
import { audit } from "../identity/audit.js";
|
|
21
|
-
import {
|
|
21
|
+
import { SuperAdminLock } from "../identity/super-admin.js";
|
|
22
22
|
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
23
23
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
24
24
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
@@ -30,6 +30,7 @@ import { CLAUDE_MARKETPLACE_FILE, parseClaudeMarketplace, } from "./claude/marke
|
|
|
30
30
|
import { expandGitUrl, GitSourceError, gitErrorDetails, gitLocationIdentity, gitUrlIdentity, normalGitPath, readGitTreeAndOids, resolveGitCommit, } from "./git-source.js";
|
|
31
31
|
import { CatalogSourceLock } from "./locks.js";
|
|
32
32
|
import { fetchMarketplaceManifest, MarketplaceFetchError, MarketplaceInvalidError, marketplaceNetPolicy, marketplaceUrlProblem, } from "./marketplace-fetch.js";
|
|
33
|
+
import { checkMarketplaceIcon, fetchMarketplaceIcon, gitIconPaths, MARKETPLACE_ICON_CONCURRENCY, MARKETPLACE_ICON_FETCHES_MAX, MARKETPLACE_ICON_MAX_BYTES, MARKETPLACE_ICON_RETRY_MS, marketplaceIconUrl, wantedIcons, } from "./marketplace-icons.js";
|
|
33
34
|
import { compareVersions, newestFirst, sameRelease } from "./versions.js";
|
|
34
35
|
/** 官方清单来源的 id。 */
|
|
35
36
|
export const OFFICIAL_MARKETPLACE_ID = "official";
|
|
@@ -243,6 +244,20 @@ export function headsToResolve(entries, imported, config, max) {
|
|
|
243
244
|
export const HOST_VERSIONS = { kernel: KERNEL_VERSION, sdk: SDK_VERSION };
|
|
244
245
|
/** Whether this deployment satisfies the entry's `minKernel`. */
|
|
245
246
|
export const entryCompatible = (e) => e.minKernel === undefined || semver.gte(HOST_VERSIONS.kernel, e.minKernel);
|
|
247
|
+
/** Whether the marketplace marks the entry deprecated (`deprecated: true` or with a reason). */
|
|
248
|
+
export const entryDeprecated = (e) => marketplaceEntryDeprecation(e) !== null;
|
|
249
|
+
/**
|
|
250
|
+
* Refuses importing (or requesting) a deprecated marketplace entry: 409
|
|
251
|
+
* `marketplace.entry_deprecated`, its reason in the message and details.
|
|
252
|
+
*/
|
|
253
|
+
export function assertEntryNotDeprecated(e) {
|
|
254
|
+
const d = marketplaceEntryDeprecation(e);
|
|
255
|
+
if (d === null)
|
|
256
|
+
return;
|
|
257
|
+
const version = marketplaceEntryVersion(e);
|
|
258
|
+
throw new ApiError("marketplace.entry_deprecated", `${e.name}${version !== null ? `@${version}` : ""} is deprecated by its marketplace` +
|
|
259
|
+
`${d.reason !== null ? `: ${d.reason}` : ""}; import another version`, [{ entry: e.name, version, reason: d.reason }]);
|
|
260
|
+
}
|
|
246
261
|
/**
|
|
247
262
|
* The form of a marketplace address (spec §5.1): `owner/repo` (expanded to GitHub), an https URL
|
|
248
263
|
* whose path ends in `.git`, or any URL with `form: "git"` is a git repository; anything else
|
|
@@ -282,7 +297,7 @@ export function hostAllowed(host, config) {
|
|
|
282
297
|
return allowed.length === 0 || allowed.includes(host.toLowerCase());
|
|
283
298
|
}
|
|
284
299
|
/** Why an entry is not importable from a marketplace of `form`, or undefined when it is. */
|
|
285
|
-
function unimportable(e, form, config) {
|
|
300
|
+
export function unimportable(e, form, config) {
|
|
286
301
|
if ("path" in e.source && form !== "git")
|
|
287
302
|
return "path_needs_git_marketplace";
|
|
288
303
|
const host = entrySourceHost(e);
|
|
@@ -292,10 +307,30 @@ function unimportable(e, form, config) {
|
|
|
292
307
|
}
|
|
293
308
|
/** 来源是否生效:本身启用,official 还要配置没关。 */
|
|
294
309
|
export const sourceEffective = (row, config) => row.enabled && (!row.builtin || config.marketplaces.official.enabled);
|
|
310
|
+
/**
|
|
311
|
+
* The default entry of a marketplace plugin (`version` `""`: the entry without a version), the
|
|
312
|
+
* same order as the web's market row (`groupMarketplaceEntries`, apps/web/src/lib/catalog.ts):
|
|
313
|
+
* the newest `usable` versioned entry, a stable version before a prerelease; else the entry
|
|
314
|
+
* without a version that is not deprecated; else the newest versioned one that is not deprecated;
|
|
315
|
+
* else the entry without a version; else the newest.
|
|
316
|
+
*/
|
|
317
|
+
export function pickDefaultEntry(entries, o) {
|
|
318
|
+
const versioned = entries
|
|
319
|
+
.filter((e) => e.version !== "")
|
|
320
|
+
.sort((a, b) => newestFirst(a.version, b.version));
|
|
321
|
+
const bare = entries.filter((e) => e.version === "");
|
|
322
|
+
return (versioned.find((e) => o.usable(e) && semver.prerelease(e.version) === null) ??
|
|
323
|
+
versioned.find(o.usable) ??
|
|
324
|
+
bare.find((e) => !o.deprecated(e)) ??
|
|
325
|
+
versioned.find((e) => !o.deprecated(e)) ??
|
|
326
|
+
bare[0] ??
|
|
327
|
+
versioned[0]);
|
|
328
|
+
}
|
|
295
329
|
/**
|
|
296
330
|
* Reads a marketplace entry for import: `version` given -> the entry listing that version; omitted
|
|
297
|
-
* ->
|
|
298
|
-
*
|
|
331
|
+
* -> {@link pickDefaultEntry} over the compatible, importable entries that are not deprecated
|
|
332
|
+
* (a fallback is refused later as incompatible or deprecated). Marketplace missing ->
|
|
333
|
+
* `marketplace.not_found`;
|
|
299
334
|
* marketplace disabled (official offline included), entry or version missing ->
|
|
300
335
|
* `marketplace.entry_not_found`.
|
|
301
336
|
*/
|
|
@@ -325,13 +360,13 @@ export async function loadMarketplaceEntry(db, config, sourceId, name, version)
|
|
|
325
360
|
pickedRow = entries.find((e) => e.version === version);
|
|
326
361
|
}
|
|
327
362
|
else {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
363
|
+
pickedRow = pickDefaultEntry(entries, {
|
|
364
|
+
// compatible, importable, not deprecated
|
|
365
|
+
usable: (e) => entryCompatible(e.entry) &&
|
|
366
|
+
unimportable(e.entry, src.form, config) === undefined &&
|
|
367
|
+
!entryDeprecated(e.entry),
|
|
368
|
+
deprecated: (e) => entryDeprecated(e.entry),
|
|
369
|
+
});
|
|
335
370
|
}
|
|
336
371
|
const picked = pickedRow?.entry;
|
|
337
372
|
if (!picked) {
|
|
@@ -353,9 +388,9 @@ export async function loadMarketplaceEntry(db, config, sourceId, name, version)
|
|
|
353
388
|
};
|
|
354
389
|
}
|
|
355
390
|
/**
|
|
356
|
-
* Marketplaces (D16 / C25 / C26, `/api/v1/admin/marketplaces/*`,
|
|
391
|
+
* Marketplaces (D16 / C25 / C26, `/api/v1/admin/marketplaces/*`, super admins only): the official
|
|
357
392
|
* marketplace (config `marketplaces.official.*`, synced at startup into the marketplace with id
|
|
358
|
-
* `official`) and
|
|
393
|
+
* `official`) and custom marketplaces (PG, optional token in secrets). A refresh (maintenance
|
|
359
394
|
* job `catalogs-refresh` every `marketplaces.refreshIntervalMinutes` minutes, or manual) tries the main
|
|
360
395
|
* URL and then the mirrors with If-None-Match; on success it replaces that marketplace's cached
|
|
361
396
|
* entries as a whole, when all fail (an invalid manifest included) it keeps the previous ones with
|
|
@@ -371,7 +406,7 @@ let MarketplacesService = class MarketplacesService {
|
|
|
371
406
|
log;
|
|
372
407
|
txHost;
|
|
373
408
|
constructor(kdb,
|
|
374
|
-
/** The
|
|
409
|
+
/** The super admin lock (identity/super-admin.ts): joins the caller's transaction. */
|
|
375
410
|
adminLock, sourceLock, config, keyring, log, txHost) {
|
|
376
411
|
this.kdb = kdb;
|
|
377
412
|
this.adminLock = adminLock;
|
|
@@ -447,7 +482,7 @@ let MarketplacesService = class MarketplacesService {
|
|
|
447
482
|
return (await this.views([row]))[0];
|
|
448
483
|
}
|
|
449
484
|
/**
|
|
450
|
-
* Adds
|
|
485
|
+
* Adds a custom marketplace (audit `marketplace.added`). URL and mirrors must be https,
|
|
451
486
|
* without user info. The form follows {@link marketplaceForm}; a git marketplace may name a `ref`
|
|
452
487
|
* (branch or tag, default the remote HEAD) and has no mirrors.
|
|
453
488
|
*/
|
|
@@ -462,6 +497,25 @@ let MarketplacesService = class MarketplacesService {
|
|
|
462
497
|
await this.writeAdd(actor, id, { ...input, name, form, url }, opts);
|
|
463
498
|
return this.get(id);
|
|
464
499
|
}
|
|
500
|
+
/**
|
|
501
|
+
* The read-only checks of {@link add}, for the `Platform` tool's precheck (before the card): the
|
|
502
|
+
* name, URL and git fields as `add` checks them (throws `validation_failed`), then the source
|
|
503
|
+
* that has the same URL and ref already, if any (adding a duplicate is allowed; the tool points
|
|
504
|
+
* the agent at the existing source instead).
|
|
505
|
+
*/
|
|
506
|
+
async checkAdd(input) {
|
|
507
|
+
this.checkName(input.name);
|
|
508
|
+
const { form, url } = marketplaceForm(input.url);
|
|
509
|
+
this.checkUrls(url, []);
|
|
510
|
+
this.checkGitFields(form, input.ref ?? null, []);
|
|
511
|
+
const same = await this.db
|
|
512
|
+
.selectFrom("marketplaces")
|
|
513
|
+
.select(["id", "name"])
|
|
514
|
+
.where("url", "=", url)
|
|
515
|
+
.where("ref", input.ref === undefined ? "is" : "=", input.ref ?? null)
|
|
516
|
+
.executeTakeFirst();
|
|
517
|
+
return same ?? null;
|
|
518
|
+
}
|
|
465
519
|
async writeAdd(actor, id, input, opts) {
|
|
466
520
|
const { name, url, form } = input;
|
|
467
521
|
const t = this.db;
|
|
@@ -495,11 +549,12 @@ let MarketplacesService = class MarketplacesService {
|
|
|
495
549
|
...(input.ref !== undefined && { ref: input.ref }),
|
|
496
550
|
mirrors: input.mirrors ?? [],
|
|
497
551
|
hasToken: input.token !== undefined,
|
|
552
|
+
...opts.auditDetail,
|
|
498
553
|
},
|
|
499
554
|
});
|
|
500
555
|
}
|
|
501
556
|
/**
|
|
502
|
-
* Updates
|
|
557
|
+
* Updates a custom marketplace (audit `marketplace.updated`, listing the changed fields, the
|
|
503
558
|
* token's value never recorded; not written when unchanged). `token: null` clears the token.
|
|
504
559
|
* Official only takes `enabled`, any other field -> `marketplace.builtin`. Changing the URL, form
|
|
505
560
|
* or ref clears the ETag and the last commit (the next refresh reads everything again); a new URL
|
|
@@ -604,11 +659,12 @@ let MarketplacesService = class MarketplacesService {
|
|
|
604
659
|
...(set.url !== undefined && { url: set.url }),
|
|
605
660
|
...(set.form !== undefined && { form: set.form }),
|
|
606
661
|
...(set.ref !== undefined && { ref: set.ref }),
|
|
662
|
+
...opts.auditDetail,
|
|
607
663
|
},
|
|
608
664
|
});
|
|
609
665
|
}
|
|
610
666
|
/**
|
|
611
|
-
* Deletes
|
|
667
|
+
* Deletes a custom marketplace (audit `marketplace.removed`): its cached entries and token
|
|
612
668
|
* are deleted; imported catalog items are kept (their marketplace becomes null). Official can
|
|
613
669
|
* only be disabled -> `marketplace.builtin`.
|
|
614
670
|
*/
|
|
@@ -632,7 +688,7 @@ let MarketplacesService = class MarketplacesService {
|
|
|
632
688
|
...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
|
|
633
689
|
action: "marketplace.removed",
|
|
634
690
|
target: id,
|
|
635
|
-
detail: { name: row.name, url: row.url },
|
|
691
|
+
detail: { name: row.name, url: row.url, ...opts.auditDetail },
|
|
636
692
|
});
|
|
637
693
|
}
|
|
638
694
|
/**
|
|
@@ -731,6 +787,24 @@ let MarketplacesService = class MarketplacesService {
|
|
|
731
787
|
this.log.info("marketplace changed during refresh; result discarded", { marketplace: id });
|
|
732
788
|
return this.get(id);
|
|
733
789
|
}
|
|
790
|
+
if (outcome !== undefined) {
|
|
791
|
+
// a failed icon never fails the refresh: the entry shows its initial
|
|
792
|
+
try {
|
|
793
|
+
await this.syncIcons(row, outcome === "not_modified" ? undefined : outcome.icons, signal);
|
|
794
|
+
// only now is the commit fully synced: a refresh at it may be not_modified from here on
|
|
795
|
+
if (outcome !== "not_modified" && outcome.commit !== undefined) {
|
|
796
|
+
await this.db
|
|
797
|
+
.updateTable("marketplaces")
|
|
798
|
+
.set({ icons_commit: outcome.commit })
|
|
799
|
+
.where("id", "=", id)
|
|
800
|
+
.where("last_commit", "=", outcome.commit)
|
|
801
|
+
.execute();
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
catch (err) {
|
|
805
|
+
this.log.warn("marketplace icons not updated", { marketplace: id, err });
|
|
806
|
+
}
|
|
807
|
+
}
|
|
734
808
|
if (from !== status) {
|
|
735
809
|
if (status === "error") {
|
|
736
810
|
this.log.warn("marketplace refresh failed", { marketplace: id, error: lastError });
|
|
@@ -750,8 +824,9 @@ let MarketplacesService = class MarketplacesService {
|
|
|
750
824
|
}
|
|
751
825
|
/**
|
|
752
826
|
* Reads a git marketplace (spec §5.1): resolves `ref` (default the remote HEAD); the same commit
|
|
753
|
-
* as the last refresh
|
|
754
|
-
*
|
|
827
|
+
* as the last refresh, whose path icons were stored too (`icons_commit`) -> `not_modified`
|
|
828
|
+
* (nothing else is fetched; a commit whose icons were not stored is read again). Otherwise only
|
|
829
|
+
* what the root needs is read, in this order: `.capybara-plugin/marketplace.json` (at most
|
|
755
830
|
* `marketplaces.maxIndexBytes`, validated like an http manifest); `.claude-plugin/marketplace.json`
|
|
756
831
|
* (a Claude Code marketplace: each entry's component fields and `strict` become its overlay, and
|
|
757
832
|
* entries Capybara cannot store are `skipped`); else a single-plugin repo (the root has
|
|
@@ -769,12 +844,12 @@ let MarketplacesService = class MarketplacesService {
|
|
|
769
844
|
};
|
|
770
845
|
const loc = { url: row.url, ...(row.ref !== null && { ref: row.ref }) };
|
|
771
846
|
const commit = await resolveGitCommit(loc, options);
|
|
772
|
-
if (commit === row.last_commit)
|
|
847
|
+
if (commit === row.last_commit && commit === row.icons_commit)
|
|
773
848
|
return "not_modified";
|
|
774
849
|
const MANIFEST = ".capybara-plugin/marketplace.json";
|
|
775
850
|
let hasSkills = false;
|
|
776
851
|
const dec = (b) => new TextDecoder().decode(b);
|
|
777
|
-
const { files, trees } = await readGitTreeAndOids({ url: row.url, commit }, {
|
|
852
|
+
const { files, trees, blobs: icons, } = await readGitTreeAndOids({ url: row.url, commit }, {
|
|
778
853
|
...options,
|
|
779
854
|
include: (path, type) => {
|
|
780
855
|
if (path === "skills" && type === "tree")
|
|
@@ -790,6 +865,13 @@ let MarketplacesService = class MarketplacesService {
|
|
|
790
865
|
trees: (read) => read.has(MANIFEST) || !read.has(CLAUDE_MARKETPLACE_FILE)
|
|
791
866
|
? pathEntryDirs(read.get(MANIFEST), config.marketplaces.maxIndexBytes)
|
|
792
867
|
: claudePathEntryDirs(read.get(CLAUDE_MARKETPLACE_FILE), config.marketplaces.maxIndexBytes, config.marketplaces.allowInsecureLoopback),
|
|
868
|
+
// the icon files the entries name (a Claude Code marketplace names none)
|
|
869
|
+
blobs: {
|
|
870
|
+
paths: (read) => read.has(MANIFEST) || !read.has(CLAUDE_MARKETPLACE_FILE)
|
|
871
|
+
? gitIconPaths(read, MANIFEST, config.marketplaces.maxIndexBytes, MARKETPLACE_ICON_FETCHES_MAX)
|
|
872
|
+
: [],
|
|
873
|
+
maxBytes: MARKETPLACE_ICON_MAX_BYTES,
|
|
874
|
+
},
|
|
793
875
|
});
|
|
794
876
|
const raw = files.get(MANIFEST);
|
|
795
877
|
const claudeRaw = files.get(CLAUDE_MARKETPLACE_FILE);
|
|
@@ -847,9 +929,16 @@ let MarketplacesService = class MarketplacesService {
|
|
|
847
929
|
if ("errors" in m) {
|
|
848
930
|
throw new MarketplaceInvalidError(`the repository is a single plugin, but its ${PLUGIN_MANIFEST_FILE} is invalid: ${m.errors.slice(0, 5).join("; ")}`, m.errors);
|
|
849
931
|
}
|
|
932
|
+
const d = pluginDescription(m.description);
|
|
850
933
|
entry = {
|
|
851
934
|
name: m.name,
|
|
852
|
-
summary: {
|
|
935
|
+
summary: {
|
|
936
|
+
en: d.en.slice(0, SUMMARY_MAX),
|
|
937
|
+
...(d.zh !== undefined && { zh: d.zh.slice(0, SUMMARY_MAX) }),
|
|
938
|
+
},
|
|
939
|
+
...(m.displayName !== undefined && { displayName: m.displayName }),
|
|
940
|
+
// the plugin's own icon, read from the same commit
|
|
941
|
+
...(m.icon !== undefined && { icon: `./${normalGitPath(m.icon)}` }),
|
|
853
942
|
version: m.version,
|
|
854
943
|
source: { path: "." },
|
|
855
944
|
};
|
|
@@ -869,7 +958,7 @@ let MarketplacesService = class MarketplacesService {
|
|
|
869
958
|
}
|
|
870
959
|
manifest = { schemaVersion: 1, name: row.name, plugins: [entry] };
|
|
871
960
|
}
|
|
872
|
-
return { manifest, etag: null, commit, trees };
|
|
961
|
+
return { manifest, etag: null, commit, trees, icons };
|
|
873
962
|
}
|
|
874
963
|
/**
|
|
875
964
|
* Resolves the branch heads of the entries {@link headsToResolve} picks (at most
|
|
@@ -935,7 +1024,200 @@ let MarketplacesService = class MarketplacesService {
|
|
|
935
1024
|
}));
|
|
936
1025
|
return out;
|
|
937
1026
|
}
|
|
938
|
-
/**
|
|
1027
|
+
/**
|
|
1028
|
+
* Brings the marketplace's stored icons (`marketplace_icons`) in line with its stored entries
|
|
1029
|
+
* after a refresh (outside any transaction: downloads first, then one short write). A repository
|
|
1030
|
+
* path (git marketplaces) is taken from `fresh`, the files of the commit just read, and kept as
|
|
1031
|
+
* stored when the commit did not change (`fresh` undefined). A URL is downloaded only when it is
|
|
1032
|
+
* not stored yet (its content is treated as fixed), at most {@link MARKETPLACE_ICON_FETCHES_MAX}
|
|
1033
|
+
* per refresh, under the marketplace network rules and `marketplaces.allowedHosts`, never with
|
|
1034
|
+
* the token. A failed download is remembered (`marketplace_icon_failures`) and retried only after
|
|
1035
|
+
* {@link MARKETPLACE_ICON_RETRY_MS}, URLs never tried first, so broken URLs never starve the
|
|
1036
|
+
* cap. An icon that is missing, too large or not a real svg / png is skipped and logged; icons
|
|
1037
|
+
* (and failures) no entry names any more are deleted.
|
|
1038
|
+
*/
|
|
1039
|
+
async syncIcons(row, fresh, signal) {
|
|
1040
|
+
const config = this.config.get();
|
|
1041
|
+
const entries = await this.db
|
|
1042
|
+
.selectFrom("marketplace_entries")
|
|
1043
|
+
.select("entry")
|
|
1044
|
+
.where("source_id", "=", row.id)
|
|
1045
|
+
.execute();
|
|
1046
|
+
const { paths, urls } = wantedIcons(entries.map((r) => r.entry), row.form);
|
|
1047
|
+
const have = new Set((await this.db
|
|
1048
|
+
.selectFrom("marketplace_icons")
|
|
1049
|
+
.select("ref")
|
|
1050
|
+
.where("source_id", "=", row.id)
|
|
1051
|
+
.execute()).map((r) => r.ref));
|
|
1052
|
+
// the URLs that failed before, oldest failure first, and whether their backoff is over
|
|
1053
|
+
const failures = await this.db
|
|
1054
|
+
.selectFrom("marketplace_icon_failures")
|
|
1055
|
+
.select([
|
|
1056
|
+
"ref",
|
|
1057
|
+
sql `failed_at <= now() - make_interval(secs => ${MARKETPLACE_ICON_RETRY_MS / 1000})`.as("due"),
|
|
1058
|
+
])
|
|
1059
|
+
.where("source_id", "=", row.id)
|
|
1060
|
+
.orderBy("failed_at")
|
|
1061
|
+
.orderBy("ref")
|
|
1062
|
+
.execute();
|
|
1063
|
+
const failedBefore = new Map(failures.map((f) => [f.ref, f.due]));
|
|
1064
|
+
const put = [];
|
|
1065
|
+
const keep = new Set();
|
|
1066
|
+
const problems = [];
|
|
1067
|
+
for (const ref of paths) {
|
|
1068
|
+
if (fresh === undefined) {
|
|
1069
|
+
if (have.has(ref))
|
|
1070
|
+
keep.add(ref);
|
|
1071
|
+
continue;
|
|
1072
|
+
}
|
|
1073
|
+
const data = fresh.get(ref.slice(2));
|
|
1074
|
+
const r = data === undefined
|
|
1075
|
+
? `${ref} is not a file of at most ${MARKETPLACE_ICON_MAX_BYTES} bytes in the repository`
|
|
1076
|
+
: checkMarketplaceIcon(ref, data);
|
|
1077
|
+
if (typeof r === "string")
|
|
1078
|
+
problems.push({ icon: ref, problem: r });
|
|
1079
|
+
else
|
|
1080
|
+
put.push({ ref, icon: r });
|
|
1081
|
+
}
|
|
1082
|
+
// IPv6 hostnames come bracketed from URL; allowedHosts entries are written without brackets
|
|
1083
|
+
const hostOf = (url) => new URL(url).hostname.toLowerCase().replace(/^\[(.*)\]$/, "$1");
|
|
1084
|
+
const neverTried = [];
|
|
1085
|
+
for (const url of urls) {
|
|
1086
|
+
if (have.has(url)) {
|
|
1087
|
+
keep.add(url);
|
|
1088
|
+
continue;
|
|
1089
|
+
}
|
|
1090
|
+
const host = hostOf(url);
|
|
1091
|
+
if (!hostAllowed(host, config)) {
|
|
1092
|
+
problems.push({ icon: url, problem: `${host} is not in marketplaces.allowedHosts` });
|
|
1093
|
+
}
|
|
1094
|
+
else if (!failedBefore.has(url)) {
|
|
1095
|
+
neverTried.push(url);
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1098
|
+
// retries after the never-tried URLs, oldest failure first, within the cap
|
|
1099
|
+
const retries = failures
|
|
1100
|
+
.filter((f) => f.due && urls.has(f.ref) && !have.has(f.ref))
|
|
1101
|
+
.map((f) => f.ref)
|
|
1102
|
+
.filter((url) => hostAllowed(hostOf(url), config));
|
|
1103
|
+
const toFetch = [...neverTried, ...retries].slice(0, MARKETPLACE_ICON_FETCHES_MAX);
|
|
1104
|
+
const net = marketplaceNetPolicy(config);
|
|
1105
|
+
const queue = [...toFetch];
|
|
1106
|
+
const failed = [];
|
|
1107
|
+
await Promise.all(Array.from({ length: Math.min(MARKETPLACE_ICON_CONCURRENCY, queue.length) }, async () => {
|
|
1108
|
+
for (let url = queue.shift(); url !== undefined; url = queue.shift()) {
|
|
1109
|
+
if (signal.aborted)
|
|
1110
|
+
return;
|
|
1111
|
+
const r = await fetchMarketplaceIcon(url, { net, signal });
|
|
1112
|
+
if (typeof r === "string") {
|
|
1113
|
+
problems.push({ icon: url, problem: r });
|
|
1114
|
+
// an aborted refresh says nothing about the URL
|
|
1115
|
+
if (!signal.aborted)
|
|
1116
|
+
failed.push(url);
|
|
1117
|
+
}
|
|
1118
|
+
else
|
|
1119
|
+
put.push({ ref: url, icon: r });
|
|
1120
|
+
}
|
|
1121
|
+
}));
|
|
1122
|
+
if (problems.length > 0) {
|
|
1123
|
+
this.log.warn("marketplace icons skipped", {
|
|
1124
|
+
marketplace: row.id,
|
|
1125
|
+
count: problems.length,
|
|
1126
|
+
problems: problems.slice(0, 5),
|
|
1127
|
+
});
|
|
1128
|
+
}
|
|
1129
|
+
const gone = [...have].filter((ref) => !keep.has(ref) && !put.some((p) => p.ref === ref));
|
|
1130
|
+
// failures of URLs now stored or named by no entry
|
|
1131
|
+
const cleared = [...failedBefore.keys()].filter((ref) => !urls.has(ref) || put.some((p) => p.ref === ref));
|
|
1132
|
+
if (put.length > 0 || gone.length > 0 || failed.length > 0 || cleared.length > 0) {
|
|
1133
|
+
await this.writeIcons(row.id, { put, gone, failed, cleared });
|
|
1134
|
+
}
|
|
1135
|
+
}
|
|
1136
|
+
/**
|
|
1137
|
+
* Writes a refresh's icons: upserts `put`, deletes `gone`, records the `failed` downloads and
|
|
1138
|
+
* forgets the `cleared` failures (see {@link syncIcons}).
|
|
1139
|
+
*/
|
|
1140
|
+
async writeIcons(id, w) {
|
|
1141
|
+
const t = this.db;
|
|
1142
|
+
if (w.gone.length > 0) {
|
|
1143
|
+
await t
|
|
1144
|
+
.deleteFrom("marketplace_icons")
|
|
1145
|
+
.where("source_id", "=", id)
|
|
1146
|
+
.where("ref", "in", w.gone)
|
|
1147
|
+
.execute();
|
|
1148
|
+
}
|
|
1149
|
+
for (const { ref, icon } of w.put) {
|
|
1150
|
+
const values = {
|
|
1151
|
+
sha256: icon.sha256,
|
|
1152
|
+
content_type: icon.contentType,
|
|
1153
|
+
data: Buffer.from(icon.data),
|
|
1154
|
+
fetched_at: sql `now()`,
|
|
1155
|
+
};
|
|
1156
|
+
await t
|
|
1157
|
+
.insertInto("marketplace_icons")
|
|
1158
|
+
.values({ source_id: id, ref, ...values })
|
|
1159
|
+
.onConflict((oc) => oc.columns(["source_id", "ref"]).doUpdateSet(values))
|
|
1160
|
+
.execute();
|
|
1161
|
+
}
|
|
1162
|
+
if (w.cleared.length > 0) {
|
|
1163
|
+
await t
|
|
1164
|
+
.deleteFrom("marketplace_icon_failures")
|
|
1165
|
+
.where("source_id", "=", id)
|
|
1166
|
+
.where("ref", "in", w.cleared)
|
|
1167
|
+
.execute();
|
|
1168
|
+
}
|
|
1169
|
+
// sorted: two replicas refreshing at once lock the rows in the same order
|
|
1170
|
+
for (const ref of [...w.failed].sort()) {
|
|
1171
|
+
await t
|
|
1172
|
+
.insertInto("marketplace_icon_failures")
|
|
1173
|
+
.values({ source_id: id, ref })
|
|
1174
|
+
.onConflict((oc) => oc.columns(["source_id", "ref"]).doUpdateSet({
|
|
1175
|
+
failed_at: sql `now()`,
|
|
1176
|
+
attempts: sql `marketplace_icon_failures.attempts + 1`,
|
|
1177
|
+
}))
|
|
1178
|
+
.execute();
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
/**
|
|
1182
|
+
* A stored marketplace icon by its sha256 (the address the entries carry); not stored ->
|
|
1183
|
+
* `catalog.icon_not_found`. Read from PG, never from the network. `browsable` (the org route):
|
|
1184
|
+
* the marketplace must also be one the org browse lists (effective), else not found.
|
|
1185
|
+
*/
|
|
1186
|
+
async icon(id, sha256, opts = {}) {
|
|
1187
|
+
if (opts.browsable) {
|
|
1188
|
+
// the org browse lists enabled marketplaces only (official also needs the config on)
|
|
1189
|
+
const m = await this.db
|
|
1190
|
+
.selectFrom("marketplaces")
|
|
1191
|
+
.select(["builtin", "enabled"])
|
|
1192
|
+
.where("id", "=", id)
|
|
1193
|
+
.executeTakeFirst();
|
|
1194
|
+
if (!m || !sourceEffective(m, this.config.get())) {
|
|
1195
|
+
throw new ApiError("catalog.icon_not_found", "This marketplace has no such icon");
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
const row = /^[0-9a-f]{64}$/.test(sha256)
|
|
1199
|
+
? await this.db
|
|
1200
|
+
.selectFrom("marketplace_icons")
|
|
1201
|
+
.select(["content_type", "data"])
|
|
1202
|
+
.where("source_id", "=", id)
|
|
1203
|
+
.where("sha256", "=", sha256)
|
|
1204
|
+
.limit(1)
|
|
1205
|
+
.executeTakeFirst()
|
|
1206
|
+
: undefined;
|
|
1207
|
+
if (!row)
|
|
1208
|
+
throw new ApiError("catalog.icon_not_found", "This marketplace has no such icon");
|
|
1209
|
+
// checked again on read, like a catalog icon (`readCatalogIcon`): PG may have been changed
|
|
1210
|
+
const data = new Uint8Array(row.data);
|
|
1211
|
+
const checked = checkMarketplaceIcon(row.content_type === "image/svg+xml" ? "icon.svg" : "icon.png", data);
|
|
1212
|
+
if (typeof checked === "string") {
|
|
1213
|
+
throw new ApiError("internal", `Stored marketplace icon is invalid: ${checked}`);
|
|
1214
|
+
}
|
|
1215
|
+
if (checked.sha256 !== sha256) {
|
|
1216
|
+
throw new ApiError("internal", "Stored marketplace icon does not match its recorded hash");
|
|
1217
|
+
}
|
|
1218
|
+
return { contentType: checked.contentType, data };
|
|
1219
|
+
}
|
|
1220
|
+
/** The token of a custom marketplace (undefined without one; official never has one). */
|
|
939
1221
|
async token(id) {
|
|
940
1222
|
return (await this.secrets().get(DEPLOYMENT_SECRETS_ORG, tokenKey(id))) ?? undefined;
|
|
941
1223
|
}
|
|
@@ -966,7 +1248,9 @@ let MarketplacesService = class MarketplacesService {
|
|
|
966
1248
|
* first), marketplace, at most {@link MARKETPLACE_ENTRIES_MAX}; `truncated` means there are more
|
|
967
1249
|
* (the UI suggests narrowing the filter).
|
|
968
1250
|
*/
|
|
969
|
-
async entries(q = {}
|
|
1251
|
+
async entries(q = {},
|
|
1252
|
+
/** The URL of a stored marketplace icon (default: the admin route). */
|
|
1253
|
+
iconUrl = marketplaceIconUrl) {
|
|
970
1254
|
const config = this.config.get();
|
|
971
1255
|
let query = this.db
|
|
972
1256
|
.selectFrom("marketplace_entries as e")
|
|
@@ -1000,6 +1284,8 @@ let MarketplacesService = class MarketplacesService {
|
|
|
1000
1284
|
eb(sql `coalesce(e.npm, '')`, "ilike", like),
|
|
1001
1285
|
eb(sql `e.entry->'summary'->>'en'`, "ilike", like),
|
|
1002
1286
|
eb(sql `coalesce(e.entry->'summary'->>'zh', '')`, "ilike", like),
|
|
1287
|
+
eb(sql `coalesce(e.entry->'displayName'->>'en', '')`, "ilike", like),
|
|
1288
|
+
eb(sql `coalesce(e.entry->'displayName'->>'zh', '')`, "ilike", like),
|
|
1003
1289
|
]));
|
|
1004
1290
|
}
|
|
1005
1291
|
const fetched = await query.execute();
|
|
@@ -1044,6 +1330,16 @@ let MarketplacesService = class MarketplacesService {
|
|
|
1044
1330
|
a.imported.sort(newestFirst);
|
|
1045
1331
|
a.versions = a.imported.map((v) => v.version);
|
|
1046
1332
|
}
|
|
1333
|
+
const iconRows = await this.db
|
|
1334
|
+
.selectFrom("marketplace_icons")
|
|
1335
|
+
.select(["source_id", "ref", "sha256"])
|
|
1336
|
+
.where("source_id", "in", [...new Set(rows.map((r) => r.source_id))])
|
|
1337
|
+
.execute();
|
|
1338
|
+
const iconOf = new Map(iconRows.map((i) => [`${i.source_id}\0${i.ref}`, i.sha256]));
|
|
1339
|
+
const iconUrlOf = (sourceId, ref) => {
|
|
1340
|
+
const sha = ref === undefined ? undefined : iconOf.get(`${sourceId}\0${ref}`);
|
|
1341
|
+
return sha === undefined ? null : iconUrl(sourceId, sha);
|
|
1342
|
+
};
|
|
1047
1343
|
const views = rows.map((r) => {
|
|
1048
1344
|
const e = r.entry;
|
|
1049
1345
|
const version = marketplaceEntryVersion(e);
|
|
@@ -1058,17 +1354,25 @@ let MarketplacesService = class MarketplacesService {
|
|
|
1058
1354
|
name: r.name,
|
|
1059
1355
|
version,
|
|
1060
1356
|
summary: e.summary,
|
|
1357
|
+
displayName: e.displayName ?? null,
|
|
1061
1358
|
minKernel: e.minKernel ?? null,
|
|
1062
1359
|
homepage: e.homepage ?? null,
|
|
1063
1360
|
permissions: e.permissions ?? null,
|
|
1064
1361
|
source: e.source,
|
|
1362
|
+
deprecated: marketplaceEntryDeprecation(e),
|
|
1065
1363
|
format: r.claude === null ? "capybara" : "claude-code",
|
|
1066
1364
|
compatible,
|
|
1067
1365
|
importable,
|
|
1068
1366
|
...(reason !== undefined && { reason }),
|
|
1069
1367
|
adopted: adopted ? { itemId: adopted.itemId, versions: [...adopted.versions] } : null,
|
|
1070
|
-
|
|
1368
|
+
icon: iconUrlOf(r.source_id, e.icon),
|
|
1369
|
+
newerAvailable: compatible &&
|
|
1370
|
+
!entryDeprecated(e) &&
|
|
1371
|
+
version !== null &&
|
|
1372
|
+
top !== undefined &&
|
|
1373
|
+
compareVersions(version, top) > 0,
|
|
1071
1374
|
contentChanged: adopted !== null &&
|
|
1375
|
+
!entryDeprecated(e) &&
|
|
1072
1376
|
entryContentChanged(e, {
|
|
1073
1377
|
marketplaceId: r.source_id,
|
|
1074
1378
|
headCommit: r.head_commit,
|
|
@@ -1155,6 +1459,7 @@ let MarketplacesService = class MarketplacesService {
|
|
|
1155
1459
|
from: cur.last_status,
|
|
1156
1460
|
to: status,
|
|
1157
1461
|
...(lastError !== null && { error: lastError }),
|
|
1462
|
+
...opts.auditDetail,
|
|
1158
1463
|
},
|
|
1159
1464
|
});
|
|
1160
1465
|
}
|
|
@@ -1272,6 +1577,9 @@ __decorate([
|
|
|
1272
1577
|
__decorate([
|
|
1273
1578
|
Transactional()
|
|
1274
1579
|
], MarketplacesService.prototype, "remove", null);
|
|
1580
|
+
__decorate([
|
|
1581
|
+
Transactional()
|
|
1582
|
+
], MarketplacesService.prototype, "writeIcons", null);
|
|
1275
1583
|
__decorate([
|
|
1276
1584
|
Transactional()
|
|
1277
1585
|
], MarketplacesService.prototype, "recordRefresh", null);
|
|
@@ -1281,7 +1589,7 @@ __decorate([
|
|
|
1281
1589
|
MarketplacesService = __decorate([
|
|
1282
1590
|
Injectable(),
|
|
1283
1591
|
__param(0, Inject(KernelDb)),
|
|
1284
|
-
__param(1, Inject(
|
|
1592
|
+
__param(1, Inject(SuperAdminLock)),
|
|
1285
1593
|
__param(2, Inject(CatalogSourceLock)),
|
|
1286
1594
|
__param(3, Inject(KernelConfigService)),
|
|
1287
1595
|
__param(4, Inject(KEYRING)),
|