@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +94 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +876 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +109 -0
- package/dist/background/tasks.service.js +271 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +85 -10
- package/dist/extensions/bootstrap.js +215 -36
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.js +2 -0
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +9 -3
- package/dist/lifecycle/kernel-lifecycle.js +51 -11
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +774 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +102 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +730 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +381 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +43 -0
- package/dist/platform/platform-ops.module.js +142 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +21 -1
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.js +2 -1
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +29 -19
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +51 -44
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +61 -4
- package/dist/tools/info.js +119 -33
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
import { visibleTo, wantedOn } from "./scope.js";
|
|
2
|
+
/** The kinds the scope, switch, ownership and preview flows (and the component routes) walk. */
|
|
3
|
+
export const COMPONENT_KINDS = [
|
|
4
|
+
"skill",
|
|
5
|
+
"agent_template",
|
|
6
|
+
"connector_template",
|
|
7
|
+
"theme",
|
|
8
|
+
];
|
|
9
|
+
/** The component or its plugin stops it everywhere: disabled, or the plugin disabled or deleted. */
|
|
10
|
+
function stopped(c, p) {
|
|
11
|
+
if (c.disabled)
|
|
12
|
+
return true;
|
|
13
|
+
if (c.itemId === null)
|
|
14
|
+
return false;
|
|
15
|
+
return p === null || !p.live || p.disabled;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Whether the component is on in the org (`listed`: the org on the component's own `named` list;
|
|
19
|
+
* `sw`: the org's component switch):
|
|
20
|
+
* - never when the component or its plugin is disabled, or its plugin is deleted;
|
|
21
|
+
* - `follow`: its plugin is on in the org (a live install, or builtin) and the switch is not off
|
|
22
|
+
* (a `defaultOff` template of a plugin that is not builtin: the switch is on);
|
|
23
|
+
* - `own`: `wantedOn` over the component's own scope, the list and the switch.
|
|
24
|
+
*/
|
|
25
|
+
export function componentOn(c, p, listed, sw) {
|
|
26
|
+
if (stopped(c, p))
|
|
27
|
+
return false;
|
|
28
|
+
if (c.scopeMode === "follow") {
|
|
29
|
+
const defaultOff = c.defaultOff === true && p?.builtin !== true;
|
|
30
|
+
return componentPluginOn(c, p) && (defaultOff ? sw === true : sw !== false);
|
|
31
|
+
}
|
|
32
|
+
return wantedOn({ scope: c.scope, disabled: false, builtin: false }, listed, sw);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Whether the plugin a component follows is on in the org (a live install there, or builtin); a
|
|
36
|
+
* component with its own scope does not depend on it (true). A `follow` component comes on and off
|
|
37
|
+
* with its plugin (spec §5 rule 5), so its own switch only matters while this holds.
|
|
38
|
+
*/
|
|
39
|
+
export function componentPluginOn(c, p) {
|
|
40
|
+
if (c.scopeMode === "own")
|
|
41
|
+
return true;
|
|
42
|
+
return p !== null && p.live && (p.installed || p.builtin);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Whether the component is offered to the org: on, or an org admin could turn it on there (spec
|
|
46
|
+
* §5 rule 10 refuses an org skill named like one). Not when it or its plugin is stopped; `follow`:
|
|
47
|
+
* its plugin is visible to the org (builtin, `all`, `optional`, or `named` listing the org); `own`:
|
|
48
|
+
* its own scope is visible to the org.
|
|
49
|
+
*/
|
|
50
|
+
export function componentOffered(c, p, listed) {
|
|
51
|
+
if (stopped(c, p))
|
|
52
|
+
return false;
|
|
53
|
+
if (c.scopeMode === "follow") {
|
|
54
|
+
return p !== null && (p.builtin || visibleTo({ scope: p.scope }, p.listed));
|
|
55
|
+
}
|
|
56
|
+
return visibleTo({ scope: c.scope }, listed);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Whether the component belongs to a builtin plugin: an org admin cannot switch it off
|
|
60
|
+
* (`plugin.scope_locked`, spec §13.5 as amended by the layering spec §4; an effective scope of
|
|
61
|
+
* `all`, its own or its plugin's, is switchable like a listed `named` one).
|
|
62
|
+
*/
|
|
63
|
+
export function componentLocked(_c, p) {
|
|
64
|
+
return p?.builtin === true;
|
|
65
|
+
}
|
|
66
|
+
/** A `{ zh, en }` display name from stored JSON (a template file's), else null. */
|
|
67
|
+
function localizedName(v) {
|
|
68
|
+
const n = v;
|
|
69
|
+
return typeof n?.zh === "string" && typeof n.en === "string" ? { zh: n.zh, en: n.en } : null;
|
|
70
|
+
}
|
|
71
|
+
/** The live platform components of `kind` (`ids` / `itemId`: only those). */
|
|
72
|
+
export async function loadComponents(db, kind, filter = {}) {
|
|
73
|
+
if (filter.ids !== undefined && filter.ids.length === 0)
|
|
74
|
+
return [];
|
|
75
|
+
const common = (r) => ({
|
|
76
|
+
kind,
|
|
77
|
+
id: r.id,
|
|
78
|
+
itemId: r.catalog_item_id,
|
|
79
|
+
scopeMode: r.scope_mode,
|
|
80
|
+
scope: r.scope,
|
|
81
|
+
disabled: r.disabled,
|
|
82
|
+
shownToOthers: r.shown_to_others,
|
|
83
|
+
ownerOrgId: r.owner_org_id,
|
|
84
|
+
shareable: r.shareable,
|
|
85
|
+
});
|
|
86
|
+
if (kind === "connector_template") {
|
|
87
|
+
let q = db
|
|
88
|
+
.selectFrom("platform_connector_templates as p")
|
|
89
|
+
.leftJoin("catalog_items as c", "c.id", "p.catalog_item_id")
|
|
90
|
+
.select([
|
|
91
|
+
"p.id",
|
|
92
|
+
"p.catalog_item_id",
|
|
93
|
+
"p.template_id",
|
|
94
|
+
"p.current_version",
|
|
95
|
+
"p.scope_mode",
|
|
96
|
+
"p.scope",
|
|
97
|
+
"p.disabled",
|
|
98
|
+
"p.shown_to_others",
|
|
99
|
+
"p.owner_org_id",
|
|
100
|
+
"p.shareable",
|
|
101
|
+
"p.file",
|
|
102
|
+
"c.name as item_name",
|
|
103
|
+
])
|
|
104
|
+
.where("p.deleted_at", "is", null);
|
|
105
|
+
if (filter.ids !== undefined)
|
|
106
|
+
q = q.where("p.id", "in", [...filter.ids]);
|
|
107
|
+
if (filter.itemId !== undefined)
|
|
108
|
+
q = q.where("p.catalog_item_id", "=", filter.itemId);
|
|
109
|
+
if (filter.name !== undefined)
|
|
110
|
+
q = q.where("p.template_id", "=", filter.name);
|
|
111
|
+
if (filter.forUpdate)
|
|
112
|
+
q = q.forUpdate("p");
|
|
113
|
+
return (await q.orderBy("p.id").execute()).map((r) => {
|
|
114
|
+
const file = r.file;
|
|
115
|
+
return {
|
|
116
|
+
...common(r),
|
|
117
|
+
...(file?.defaultEnabled === false && { defaultOff: true }),
|
|
118
|
+
name: r.template_id,
|
|
119
|
+
plugin: r.item_name,
|
|
120
|
+
version: r.current_version,
|
|
121
|
+
description: typeof file?.description === "string" ? file.description : null,
|
|
122
|
+
descriptionZh: null,
|
|
123
|
+
displayName: localizedName(file?.displayName),
|
|
124
|
+
originOrgId: null,
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
const table = kind === "skill"
|
|
129
|
+
? "platform_skills"
|
|
130
|
+
: kind === "theme"
|
|
131
|
+
? "platform_themes"
|
|
132
|
+
: "platform_agent_templates";
|
|
133
|
+
let q = db
|
|
134
|
+
.selectFrom(`${table} as p`)
|
|
135
|
+
.select([
|
|
136
|
+
"p.id",
|
|
137
|
+
"p.catalog_item_id",
|
|
138
|
+
"p.plugin_name",
|
|
139
|
+
"p.name",
|
|
140
|
+
"p.description",
|
|
141
|
+
"p.description_zh",
|
|
142
|
+
"p.current_version",
|
|
143
|
+
"p.scope_mode",
|
|
144
|
+
"p.scope",
|
|
145
|
+
"p.disabled",
|
|
146
|
+
"p.shown_to_others",
|
|
147
|
+
"p.owner_org_id",
|
|
148
|
+
"p.origin_org_id",
|
|
149
|
+
"p.shareable",
|
|
150
|
+
])
|
|
151
|
+
.where("p.deleted_at", "is", null);
|
|
152
|
+
if (filter.ids !== undefined)
|
|
153
|
+
q = q.where("p.id", "in", [...filter.ids]);
|
|
154
|
+
if (filter.itemId !== undefined)
|
|
155
|
+
q = q.where("p.catalog_item_id", "=", filter.itemId);
|
|
156
|
+
if (filter.name !== undefined)
|
|
157
|
+
q = q.where("p.name", "=", filter.name);
|
|
158
|
+
if (filter.forUpdate)
|
|
159
|
+
q = q.forUpdate();
|
|
160
|
+
return (await q.orderBy("p.id").execute()).map((r) => ({
|
|
161
|
+
...common(r),
|
|
162
|
+
name: r.name,
|
|
163
|
+
plugin: r.plugin_name,
|
|
164
|
+
version: String(r.current_version),
|
|
165
|
+
description: r.description,
|
|
166
|
+
descriptionZh: r.description_zh,
|
|
167
|
+
displayName: null,
|
|
168
|
+
originOrgId: r.origin_org_id,
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
const LIVE_INSTALL = ["installing", "installed", "upgrading"];
|
|
172
|
+
const groupBy = (rows, key, value) => {
|
|
173
|
+
const out = new Map();
|
|
174
|
+
for (const r of rows) {
|
|
175
|
+
const k = key(r);
|
|
176
|
+
const s = out.get(k) ?? new Set();
|
|
177
|
+
out.set(k, s);
|
|
178
|
+
s.add(value(r));
|
|
179
|
+
}
|
|
180
|
+
return out;
|
|
181
|
+
};
|
|
182
|
+
/** Reads the {@link ScopeState} of `comps` (all of one kind), one query after the other. */
|
|
183
|
+
export async function loadScopeState(db, kind, comps) {
|
|
184
|
+
const itemIds = [...new Set(comps.map((c) => c.itemId).filter((x) => x !== null))];
|
|
185
|
+
const ids = comps.map((c) => c.id);
|
|
186
|
+
const state = {
|
|
187
|
+
plugins: new Map(),
|
|
188
|
+
pluginListed: new Map(),
|
|
189
|
+
installed: new Map(),
|
|
190
|
+
listed: new Map(),
|
|
191
|
+
switches: new Map(),
|
|
192
|
+
};
|
|
193
|
+
if (itemIds.length > 0) {
|
|
194
|
+
const items = await db
|
|
195
|
+
.selectFrom("catalog_items")
|
|
196
|
+
.select(["id", "scope", "builtin", "disabled"])
|
|
197
|
+
.where("id", "in", itemIds)
|
|
198
|
+
.where("deleted_at", "is", null)
|
|
199
|
+
.execute();
|
|
200
|
+
for (const i of items)
|
|
201
|
+
state.plugins.set(i.id, i);
|
|
202
|
+
const listed = await db
|
|
203
|
+
.selectFrom("catalog_item_scope_orgs")
|
|
204
|
+
.select(["item_id", "org_id"])
|
|
205
|
+
.where("item_id", "in", itemIds)
|
|
206
|
+
.execute();
|
|
207
|
+
state.pluginListed = groupBy(listed, (r) => r.item_id, (r) => r.org_id);
|
|
208
|
+
const installs = await db
|
|
209
|
+
.selectFrom("plugin_installs")
|
|
210
|
+
.select(["item_id", "org_id"])
|
|
211
|
+
.where("item_id", "in", itemIds)
|
|
212
|
+
.where("status", "in", [...LIVE_INSTALL])
|
|
213
|
+
.execute();
|
|
214
|
+
state.installed = groupBy(installs, (r) => r.item_id, (r) => r.org_id);
|
|
215
|
+
}
|
|
216
|
+
if (ids.length > 0) {
|
|
217
|
+
const listed = await db
|
|
218
|
+
.selectFrom("component_scope_orgs")
|
|
219
|
+
.select(["component_id", "org_id"])
|
|
220
|
+
.where("kind", "=", kind)
|
|
221
|
+
.where("component_id", "in", ids)
|
|
222
|
+
.execute();
|
|
223
|
+
state.listed = groupBy(listed, (r) => r.component_id, (r) => r.org_id);
|
|
224
|
+
const switches = await db
|
|
225
|
+
.selectFrom("component_org_switches")
|
|
226
|
+
.select(["component_id", "org_id", "enabled"])
|
|
227
|
+
.where("kind", "=", kind)
|
|
228
|
+
.where("component_id", "in", ids)
|
|
229
|
+
.execute();
|
|
230
|
+
for (const s of switches) {
|
|
231
|
+
const m = state.switches.get(s.component_id) ?? new Map();
|
|
232
|
+
state.switches.set(s.component_id, m);
|
|
233
|
+
m.set(s.org_id, s.enabled);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return state;
|
|
237
|
+
}
|
|
238
|
+
/** The plugin facts of `itemId` for one org from a {@link ScopeState} (null: no plugin). */
|
|
239
|
+
export function pluginFactsOf(st, itemId, orgId) {
|
|
240
|
+
if (itemId === null)
|
|
241
|
+
return null;
|
|
242
|
+
const p = st.plugins.get(itemId);
|
|
243
|
+
if (!p)
|
|
244
|
+
return {
|
|
245
|
+
live: false,
|
|
246
|
+
disabled: false,
|
|
247
|
+
builtin: false,
|
|
248
|
+
scope: "optional",
|
|
249
|
+
listed: false,
|
|
250
|
+
installed: false,
|
|
251
|
+
};
|
|
252
|
+
return {
|
|
253
|
+
live: true,
|
|
254
|
+
disabled: p.disabled,
|
|
255
|
+
builtin: p.builtin,
|
|
256
|
+
scope: p.scope,
|
|
257
|
+
listed: st.pluginListed.get(itemId)?.has(orgId) ?? false,
|
|
258
|
+
installed: st.installed.get(itemId)?.has(orgId) ?? false,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
/** The org's switch of a component from a {@link ScopeState}. */
|
|
262
|
+
export const switchOf = (st, id, orgId) => st.switches.get(id)?.get(orgId) ?? null;
|
|
263
|
+
/** Whether the org is on a component's own `named` list in a {@link ScopeState}. */
|
|
264
|
+
export const listedIn = (st, id, orgId) => st.listed.get(id)?.has(orgId) ?? false;
|
|
265
|
+
/**
|
|
266
|
+
* The ids an agent definition references (see {@link DefinitionRefs}); `orgConnectors` are the
|
|
267
|
+
* ids of the org's live connectors.
|
|
268
|
+
*/
|
|
269
|
+
export function definitionRefs(definition, orgConnectors = []) {
|
|
270
|
+
const def = definition;
|
|
271
|
+
const connectors = new Set();
|
|
272
|
+
const skills = new Set();
|
|
273
|
+
const templates = new Set();
|
|
274
|
+
const off = new Set();
|
|
275
|
+
for (const ref of Array.isArray(def?.disabledTools) ? def.disabledTools : []) {
|
|
276
|
+
const n = ref;
|
|
277
|
+
if (n?.kind === "connector" && typeof n.connectorId === "string" && n.tools === "all") {
|
|
278
|
+
off.add(n.connectorId);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
for (const id of orgConnectors)
|
|
282
|
+
if (!off.has(id))
|
|
283
|
+
connectors.add(id);
|
|
284
|
+
const strings = (xs, into) => {
|
|
285
|
+
if (Array.isArray(xs))
|
|
286
|
+
for (const x of xs)
|
|
287
|
+
if (typeof x === "string")
|
|
288
|
+
into.add(x);
|
|
289
|
+
};
|
|
290
|
+
strings(def?.skills?.orgSkills, skills);
|
|
291
|
+
strings(def?.skills?.pinned, skills);
|
|
292
|
+
const inline = def?.subagents?.inline;
|
|
293
|
+
if (Array.isArray(inline))
|
|
294
|
+
for (const t of inline)
|
|
295
|
+
strings(t?.skills, skills);
|
|
296
|
+
strings(def?.subagents?.templates, templates);
|
|
297
|
+
return { connectors, skills, templates };
|
|
298
|
+
}
|
|
299
|
+
/** The org's live agents with their current definitions' references, sorted by id. */
|
|
300
|
+
export async function agentDefinitionRefs(db, orgId) {
|
|
301
|
+
const rows = await db
|
|
302
|
+
.selectFrom("agents as a")
|
|
303
|
+
.innerJoin("agent_versions as v", (j) => j.onRef("v.agent_id", "=", "a.id").onRef("v.version", "=", "a.current_version"))
|
|
304
|
+
.select(["a.id", "v.definition"])
|
|
305
|
+
.where("a.org_id", "=", orgId)
|
|
306
|
+
.where("a.deleted_at", "is", null)
|
|
307
|
+
.orderBy("a.id")
|
|
308
|
+
.execute();
|
|
309
|
+
const connectors = (await db
|
|
310
|
+
.selectFrom("connectors")
|
|
311
|
+
.select("id")
|
|
312
|
+
.where("org_id", "=", orgId)
|
|
313
|
+
.where("deleted_at", "is", null)
|
|
314
|
+
.orderBy("id")
|
|
315
|
+
.execute()).map((c) => c.id);
|
|
316
|
+
return rows.map((r) => {
|
|
317
|
+
const name = r.definition?.name;
|
|
318
|
+
return {
|
|
319
|
+
id: r.id,
|
|
320
|
+
name: typeof name === "string" ? name : r.id,
|
|
321
|
+
...definitionRefs(r.definition, connectors),
|
|
322
|
+
};
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* The ids an org's agents may reference a platform component by: its own id and the org's copies
|
|
327
|
+
* linked to it (ruling B2: unpinned ones resolve to it; ruling P2-18: pinned ones follow its
|
|
328
|
+
* availability). Connector templates: none (connectors made from one stay the org's own); themes:
|
|
329
|
+
* none (no agent references a theme, and a theme has no org copies).
|
|
330
|
+
*/
|
|
331
|
+
export async function referenceIds(db, orgId, kind, ids) {
|
|
332
|
+
const out = new Map();
|
|
333
|
+
if (kind === "connector_template" || kind === "theme" || ids.length === 0)
|
|
334
|
+
return out;
|
|
335
|
+
for (const id of ids)
|
|
336
|
+
out.set(id, id);
|
|
337
|
+
const copies = kind === "skill"
|
|
338
|
+
? await db
|
|
339
|
+
.selectFrom("skills")
|
|
340
|
+
.select(["id", "platform_skill_id as platform_id"])
|
|
341
|
+
.where("org_id", "=", orgId)
|
|
342
|
+
.where("deleted_at", "is", null)
|
|
343
|
+
.where("platform_skill_id", "in", [...ids])
|
|
344
|
+
.execute()
|
|
345
|
+
: await db
|
|
346
|
+
.selectFrom("agent_templates")
|
|
347
|
+
.select(["id", "platform_template_id as platform_id"])
|
|
348
|
+
.where("org_id", "=", orgId)
|
|
349
|
+
.where("deleted_at", "is", null)
|
|
350
|
+
.where("platform_template_id", "in", [...ids])
|
|
351
|
+
.execute();
|
|
352
|
+
for (const c of copies)
|
|
353
|
+
if (c.platform_id !== null)
|
|
354
|
+
out.set(c.id, c.platform_id);
|
|
355
|
+
return out;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* The org's agents that use any of the components `ids` of `kind`, each with the references it
|
|
359
|
+
* uses (`ref`: the id in its definition), sorted by id.
|
|
360
|
+
*/
|
|
361
|
+
export async function agentsUsing(db, orgId, kind, ids) {
|
|
362
|
+
const refs = await referenceIds(db, orgId, kind, ids);
|
|
363
|
+
if (refs.size === 0)
|
|
364
|
+
return [];
|
|
365
|
+
const out = [];
|
|
366
|
+
for (const a of await agentDefinitionRefs(db, orgId)) {
|
|
367
|
+
const used = kind === "skill" ? a.skills : a.templates;
|
|
368
|
+
const hit = [...used].filter((r) => refs.has(r)).sort();
|
|
369
|
+
if (hit.length > 0)
|
|
370
|
+
out.push({ id: a.id, name: a.name, refs: hit });
|
|
371
|
+
}
|
|
372
|
+
return out;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* The org's own skills (live, `scope = 'org'`, unlinked or pinned) named `name` that are not a copy
|
|
376
|
+
* of platform skill `component` (linked to it, or from its plugin): a clash under rule 10.
|
|
377
|
+
*/
|
|
378
|
+
export async function clashingOrgSkills(db, orgId, component, name) {
|
|
379
|
+
const rows = await db
|
|
380
|
+
.selectFrom("skills")
|
|
381
|
+
.select(["id", "platform_skill_id", "catalog_item_id"])
|
|
382
|
+
.where("org_id", "=", orgId)
|
|
383
|
+
.where("scope", "=", "org")
|
|
384
|
+
.where("deleted_at", "is", null)
|
|
385
|
+
.where("name", "=", name)
|
|
386
|
+
.where((eb) => eb.or([eb("platform_skill_id", "is", null), eb("pinned_version", "is not", null)]))
|
|
387
|
+
.execute();
|
|
388
|
+
return rows
|
|
389
|
+
.filter((r) => r.platform_skill_id !== component.id &&
|
|
390
|
+
!(r.catalog_item_id !== null && r.catalog_item_id === component.itemId))
|
|
391
|
+
.map((r) => r.id);
|
|
392
|
+
}
|
|
393
|
+
/** The platform components of `kind` named `name` that are offered to the org ({@link componentOffered}). */
|
|
394
|
+
export async function offeredNamed(db, orgId, kind, name) {
|
|
395
|
+
const comps = await loadComponents(db, kind, { name });
|
|
396
|
+
if (comps.length === 0)
|
|
397
|
+
return [];
|
|
398
|
+
const st = await loadScopeState(db, kind, comps);
|
|
399
|
+
return comps.filter((c) => componentOffered(c, pluginFactsOf(st, c.itemId, orgId), listedIn(st, c.id, orgId)));
|
|
400
|
+
}
|
|
401
|
+
/** The other platform skills named `name` that are on in the org (rule 10). */
|
|
402
|
+
export async function clashingPlatformSkills(db, orgId, component, name) {
|
|
403
|
+
const others = (await loadComponents(db, "skill", { name })).filter((c) => c.id !== component.id);
|
|
404
|
+
if (others.length === 0)
|
|
405
|
+
return [];
|
|
406
|
+
const st = await loadScopeState(db, "skill", others);
|
|
407
|
+
return others.filter((c) => componentOn(c, pluginFactsOf(st, c.itemId, orgId), listedIn(st, c.id, orgId), switchOf(st, c.id, orgId)));
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* The skills that already use the name of platform skill `component` in the org (rule 10): the
|
|
411
|
+
* org's own ({@link clashingOrgSkills}) and other platform skills on there (`plugins`: theirs).
|
|
412
|
+
*/
|
|
413
|
+
export async function skillNameClashes(db, orgId, component, name) {
|
|
414
|
+
const platform = await clashingPlatformSkills(db, orgId, component, name);
|
|
415
|
+
return {
|
|
416
|
+
skills: [
|
|
417
|
+
...(await clashingOrgSkills(db, orgId, component, name)),
|
|
418
|
+
...platform.map((c) => c.id),
|
|
419
|
+
],
|
|
420
|
+
plugins: platform.map((c) => c.plugin ?? "platform"),
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* The live themes with id `name` that are on in the org (themes spec §6: theme ids are unique in an
|
|
425
|
+
* org's usable set, rule 10), except `self` (null: a theme with no row yet, e.g. one an update adds).
|
|
426
|
+
*/
|
|
427
|
+
export async function themeIdClashes(db, orgId, self, name) {
|
|
428
|
+
const others = (await loadComponents(db, "theme", { name })).filter((c) => c.id !== self?.id);
|
|
429
|
+
if (others.length === 0)
|
|
430
|
+
return [];
|
|
431
|
+
const st = await loadScopeState(db, "theme", others);
|
|
432
|
+
return others.filter((c) => componentOn(c, pluginFactsOf(st, c.itemId, orgId), listedIn(st, c.id, orgId), switchOf(st, c.id, orgId)));
|
|
433
|
+
}
|
|
434
|
+
/** A connector template's id from its manifest path (`./connectors/<id>.json`). */
|
|
435
|
+
export const templateIdOfPath = (path) => (path.split("/").pop() ?? path).replace(/\.json$/, "");
|
|
436
|
+
/**
|
|
437
|
+
* The connector templates among `ids` (of catalog item `itemId`) that are on in the org once the
|
|
438
|
+
* plugin is on there (ruling P2-6): the component switch, its own scope and disabled flags decide;
|
|
439
|
+
* a template without a platform row counts as on. Installs create connectors only from these, and
|
|
440
|
+
* only these need the org's input (`needs_config`). `defaultOff`: by template id, whether another
|
|
441
|
+
* version's file (an update's target) ships it off, in place of the platform row's.
|
|
442
|
+
*/
|
|
443
|
+
export async function connectorTemplatesOn(db, orgId, itemId, ids, defaultOff) {
|
|
444
|
+
if (ids.length === 0)
|
|
445
|
+
return new Set();
|
|
446
|
+
const comps = await loadComponents(db, "connector_template", { itemId });
|
|
447
|
+
const st = await loadScopeState(db, "connector_template", comps);
|
|
448
|
+
const off = new Set(comps
|
|
449
|
+
.filter((c) => {
|
|
450
|
+
const p = pluginFactsOf(st, c.itemId, orgId);
|
|
451
|
+
const shipped = defaultOff?.get(c.name);
|
|
452
|
+
return !componentOn(shipped === undefined ? c : { ...c, defaultOff: shipped }, p && { ...p, installed: true }, listedIn(st, c.id, orgId), switchOf(st, c.id, orgId));
|
|
453
|
+
})
|
|
454
|
+
.map((c) => c.name));
|
|
455
|
+
return new Set(ids.filter((id) => !off.has(id)));
|
|
456
|
+
}
|
|
457
|
+
/** The org's live connectors made from platform connector template `id` (they stay its own). */
|
|
458
|
+
export async function connectorsMadeFrom(db, orgId, id) {
|
|
459
|
+
const r = await db
|
|
460
|
+
.selectFrom("connectors")
|
|
461
|
+
.select((eb) => eb.fn.countAll().as("n"))
|
|
462
|
+
.where("org_id", "=", orgId)
|
|
463
|
+
.where("platform_template_id", "=", id)
|
|
464
|
+
.where("deleted_at", "is", null)
|
|
465
|
+
.executeTakeFirstOrThrow();
|
|
466
|
+
return Number(r.n);
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Whether platform connector template `id` is on in the org (`on`), offered to it but off
|
|
470
|
+
* (`off`: its plugin not installed for a `follow` template, or switched off there), or neither
|
|
471
|
+
* (`absent`: missing, deleted, without a plugin, stopped or not offered). One more connector from a
|
|
472
|
+
* template needs `on` (ruling P4-T6-8), read before and again under the org lock.
|
|
473
|
+
*/
|
|
474
|
+
export async function connectorTemplateState(db, orgId, id) {
|
|
475
|
+
const [c] = await loadComponents(db, "connector_template", { ids: [id] });
|
|
476
|
+
if (!c || c.itemId === null)
|
|
477
|
+
return "absent";
|
|
478
|
+
const st = await loadScopeState(db, "connector_template", [c]);
|
|
479
|
+
const p = pluginFactsOf(st, c.itemId, orgId);
|
|
480
|
+
const listed = listedIn(st, c.id, orgId);
|
|
481
|
+
if (componentOn(c, p, listed, switchOf(st, c.id, orgId)))
|
|
482
|
+
return "on";
|
|
483
|
+
return componentOffered(c, p, listed) ? "off" : "absent";
|
|
484
|
+
}
|
|
@@ -115,13 +115,21 @@ export type ReadGitTreeOptions = GitOptions & {
|
|
|
115
115
|
* {@link readGitTree}, plus the git tree oids of directories at the same commit: `trees` gets the
|
|
116
116
|
* files read and returns directory paths relative to the repository root (`.` is the root); each
|
|
117
117
|
* one that exists and is a directory gets its tree oid (equal oids mean equal contents, so a
|
|
118
|
-
* plugin directory that did not change keeps its oid across commits).
|
|
118
|
+
* plugin directory that did not change keeps its oid across commits). `blobs` likewise names more
|
|
119
|
+
* files (paths relative to the root, from the same fetched commit, nothing else is downloaded):
|
|
120
|
+
* each that exists as a plain file of at most `maxBytes` is in `blobs` of the result; a missing
|
|
121
|
+
* path, a directory, a symlink, a submodule or a larger file is left out (never an error).
|
|
119
122
|
*/
|
|
120
123
|
export declare function readGitTreeAndOids(loc: GitLocation & {
|
|
121
124
|
commit: string;
|
|
122
125
|
}, o: ReadGitTreeOptions & {
|
|
123
126
|
trees?: (files: Map<string, Uint8Array>) => string[];
|
|
127
|
+
blobs?: {
|
|
128
|
+
paths: (files: Map<string, Uint8Array>) => string[];
|
|
129
|
+
maxBytes: number;
|
|
130
|
+
};
|
|
124
131
|
}): Promise<{
|
|
125
132
|
files: Map<string, Uint8Array>;
|
|
126
133
|
trees: Map<string, string>;
|
|
134
|
+
blobs: Map<string, Uint8Array>;
|
|
127
135
|
}>;
|
|
@@ -373,7 +373,10 @@ export async function readGitTree(loc, o) {
|
|
|
373
373
|
* {@link readGitTree}, plus the git tree oids of directories at the same commit: `trees` gets the
|
|
374
374
|
* files read and returns directory paths relative to the repository root (`.` is the root); each
|
|
375
375
|
* one that exists and is a directory gets its tree oid (equal oids mean equal contents, so a
|
|
376
|
-
* plugin directory that did not change keeps its oid across commits).
|
|
376
|
+
* plugin directory that did not change keeps its oid across commits). `blobs` likewise names more
|
|
377
|
+
* files (paths relative to the root, from the same fetched commit, nothing else is downloaded):
|
|
378
|
+
* each that exists as a plain file of at most `maxBytes` is in `blobs` of the result; a missing
|
|
379
|
+
* path, a directory, a symlink, a submodule or a larger file is left out (never an error).
|
|
377
380
|
*/
|
|
378
381
|
export async function readGitTreeAndOids(loc, o) {
|
|
379
382
|
if (!SHA_RE.test(loc.commit))
|
|
@@ -509,7 +512,31 @@ export async function readGitTreeAndOids(loc, o) {
|
|
|
509
512
|
if (oid !== undefined)
|
|
510
513
|
trees.set(dir, oid);
|
|
511
514
|
}
|
|
512
|
-
|
|
515
|
+
const blobs = new Map();
|
|
516
|
+
const wanted = o.blobs;
|
|
517
|
+
for (const path of wanted?.paths(sorted).slice(0, GIT_LIMITS.maxFiles) ?? []) {
|
|
518
|
+
const want = pathSegments(path);
|
|
519
|
+
if (want === undefined || want.length === 0 || blobs.has(path))
|
|
520
|
+
continue;
|
|
521
|
+
let oid = c.tree;
|
|
522
|
+
for (const [i, seg] of want.entries()) {
|
|
523
|
+
const { tree: entries } = await git.readTree({ fs, gitdir, oid, cache });
|
|
524
|
+
const e = entries.find((x) => x.path === seg);
|
|
525
|
+
const last = i === want.length - 1;
|
|
526
|
+
oid =
|
|
527
|
+
e !== undefined && e.mode !== "120000" && e.type === (last ? "blob" : "tree")
|
|
528
|
+
? e.oid
|
|
529
|
+
: undefined;
|
|
530
|
+
if (oid === undefined)
|
|
531
|
+
break;
|
|
532
|
+
}
|
|
533
|
+
if (oid === undefined)
|
|
534
|
+
continue;
|
|
535
|
+
const { blob } = await git.readBlob({ fs, gitdir, oid, cache });
|
|
536
|
+
if (wanted !== undefined && blob.byteLength <= wanted.maxBytes)
|
|
537
|
+
blobs.set(path, blob);
|
|
538
|
+
}
|
|
539
|
+
return { files: sorted, trees, blobs };
|
|
513
540
|
}
|
|
514
541
|
catch (e) {
|
|
515
542
|
throw mapError(e, op, o, what);
|
|
@@ -13,3 +13,33 @@ export declare const MARKETPLACES_REFRESH_SCHEDULER_ID = "catalogs-refresh-every
|
|
|
13
13
|
export declare const PLUGIN_STAGING_CLEANUP_JOB = "app-staging-cleanup";
|
|
14
14
|
/** The BullMQ repeatable scheduler the cleanup had before it became `@LockedCron` (retired). */
|
|
15
15
|
export declare const PLUGIN_STAGING_CLEANUP_SCHEDULER_ID = "app-staging-cleanup-hourly";
|
|
16
|
+
/**
|
|
17
|
+
* The one-off job that takes out the extension of a removed org-owned plugin (spec §14, P3-20,
|
|
18
|
+
* P3-21; `OwnedPluginCleanup.run`), on `cap-kernel-maintenance`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const OWNED_PLUGIN_CLEANUP_JOB = "owned-plugin-cleanup";
|
|
21
|
+
/** The daily `@LockedCron` repairing lost {@link OWNED_PLUGIN_CLEANUP_JOB} enqueues. */
|
|
22
|
+
export declare const OWNED_PLUGIN_CLEANUP_SWEEP_JOB = "owned-plugin-cleanup-sweep";
|
|
23
|
+
/** The data of an {@link OWNED_PLUGIN_CLEANUP_JOB}. */
|
|
24
|
+
export interface OwnedPluginCleanupData {
|
|
25
|
+
itemId: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The cleanup job of one removed item: id `owned-plugin-cleanup-<itemId>` (no `:`: item ids are
|
|
29
|
+
* UUIDs), removed when done so a later enqueue of the same item is not swallowed; the job is
|
|
30
|
+
* idempotent, so a few retries are safe.
|
|
31
|
+
*/
|
|
32
|
+
export declare function ownedPluginCleanupJob(itemId: string): {
|
|
33
|
+
name: string;
|
|
34
|
+
data: OwnedPluginCleanupData;
|
|
35
|
+
opts: {
|
|
36
|
+
jobId: string;
|
|
37
|
+
attempts: number;
|
|
38
|
+
backoff: {
|
|
39
|
+
type: "exponential";
|
|
40
|
+
delay: number;
|
|
41
|
+
};
|
|
42
|
+
removeOnComplete: true;
|
|
43
|
+
removeOnFail: true;
|
|
44
|
+
};
|
|
45
|
+
};
|
package/dist/catalog/job-ids.js
CHANGED
|
@@ -13,3 +13,28 @@ export const MARKETPLACES_REFRESH_SCHEDULER_ID = "catalogs-refresh-every";
|
|
|
13
13
|
export const PLUGIN_STAGING_CLEANUP_JOB = "app-staging-cleanup";
|
|
14
14
|
/** The BullMQ repeatable scheduler the cleanup had before it became `@LockedCron` (retired). */
|
|
15
15
|
export const PLUGIN_STAGING_CLEANUP_SCHEDULER_ID = "app-staging-cleanup-hourly";
|
|
16
|
+
/**
|
|
17
|
+
* The one-off job that takes out the extension of a removed org-owned plugin (spec §14, P3-20,
|
|
18
|
+
* P3-21; `OwnedPluginCleanup.run`), on `cap-kernel-maintenance`.
|
|
19
|
+
*/
|
|
20
|
+
export const OWNED_PLUGIN_CLEANUP_JOB = "owned-plugin-cleanup";
|
|
21
|
+
/** The daily `@LockedCron` repairing lost {@link OWNED_PLUGIN_CLEANUP_JOB} enqueues. */
|
|
22
|
+
export const OWNED_PLUGIN_CLEANUP_SWEEP_JOB = "owned-plugin-cleanup-sweep";
|
|
23
|
+
/**
|
|
24
|
+
* The cleanup job of one removed item: id `owned-plugin-cleanup-<itemId>` (no `:`: item ids are
|
|
25
|
+
* UUIDs), removed when done so a later enqueue of the same item is not swallowed; the job is
|
|
26
|
+
* idempotent, so a few retries are safe.
|
|
27
|
+
*/
|
|
28
|
+
export function ownedPluginCleanupJob(itemId) {
|
|
29
|
+
return {
|
|
30
|
+
name: OWNED_PLUGIN_CLEANUP_JOB,
|
|
31
|
+
data: { itemId },
|
|
32
|
+
opts: {
|
|
33
|
+
jobId: `${OWNED_PLUGIN_CLEANUP_JOB}-${itemId}`,
|
|
34
|
+
attempts: 3,
|
|
35
|
+
backoff: { type: "exponential", delay: 5_000 },
|
|
36
|
+
removeOnComplete: true,
|
|
37
|
+
removeOnFail: true,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -3,7 +3,7 @@ import type { KernelConfig } from "../config/schema.js";
|
|
|
3
3
|
import { type LookupFn, NetDeniedError, type NetPolicy } from "../net/public-address.js";
|
|
4
4
|
/**
|
|
5
5
|
* Fetching a marketplace manifest `marketplace.json` (C26, spec §5.2) and a marketplace's archive
|
|
6
|
-
* sources. The URLs come from
|
|
6
|
+
* sources. The URLs come from a super admin or the config, but responses are always hostile
|
|
7
7
|
* input:
|
|
8
8
|
* - https only (`allowInsecureLoopback`, tests only, allows http on loopback addresses), no user
|
|
9
9
|
* info in the URL;
|