@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.11
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.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +60 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- 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 +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- 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 +868 -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 +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -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 +77 -0
- package/dist/background/tasks.service.js +216 -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 +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +264 -0
- package/dist/catalog/catalog-content.js +430 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +677 -0
- package/dist/catalog/catalog-scope.service.d.ts +286 -0
- package/dist/catalog/catalog-scope.service.js +1196 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +144 -207
- package/dist/catalog/catalog.service.js +258 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- 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 +90 -0
- package/dist/catalog/component-scope.controller.js +234 -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 +366 -0
- package/dist/catalog/component-scope.service.js +1115 -0
- package/dist/catalog/component-state.d.ts +197 -0
- package/dist/catalog/component-state.js +473 -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 +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -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 +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +434 -472
- 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 +113 -0
- package/dist/catalog/org-extension.controller.js +271 -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 +293 -71
- package/dist/catalog/plugin-import.js +1039 -281
- package/dist/catalog/plugin-install.d.ts +271 -66
- package/dist/catalog/plugin-install.js +1198 -344
- package/dist/catalog/plugin-package.d.ts +41 -4
- package/dist/catalog/plugin-package.js +140 -7
- package/dist/catalog/plugin-upgrade.d.ts +312 -188
- package/dist/catalog/plugin-upgrade.js +1371 -1065
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- 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.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -202
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +36 -2
- package/dist/config/schema.js +226 -25
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -71
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +589 -27
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +160 -2
- package/dist/errors.js +160 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -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 +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -124
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +99 -36
- package/dist/extensions/bootstrap.js +290 -134
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- 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 +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- 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 +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -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 +50 -2
- package/dist/extensions/registry.js +91 -4
- 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 +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +93 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +46 -65
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- 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 +137 -38
- package/dist/identity/accounts.js +386 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- 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 +32 -15
- package/dist/identity/me.controller.js +80 -33
- 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 +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +69 -23
- package/dist/identity/settings.js +201 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- 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 +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +22 -13
- package/dist/index.js +16 -7
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -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/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -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 +7 -0
- package/dist/models/models.module.js +36 -0
- 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 +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -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 +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +76 -14
- package/dist/orgs/settings.service.js +140 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -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 +683 -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 +94 -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.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +407 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -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 +717 -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 +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -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 +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.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 +378 -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 +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -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 +296 -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/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -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/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 +40 -0
- package/dist/platform/platform-ops.module.js +127 -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 +66 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- 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/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-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/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -137
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- 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 +43 -0
- package/dist/runtime/run-control.js +89 -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 +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -237
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- 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 +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- 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 +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- 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 +121 -83
- package/dist/runtime/usage-report.js +355 -181
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/themes/render-css.d.ts +12 -0
- package/dist/themes/render-css.js +132 -0
- package/dist/themes/theme-delivery.service.d.ts +34 -0
- package/dist/themes/theme-delivery.service.js +111 -0
- package/dist/themes/theme-state.d.ts +95 -0
- package/dist/themes/theme-state.js +203 -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 +28 -0
- package/dist/themes/themes-public.controller.js +92 -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/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -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 +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- 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 +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +137 -37
- 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 +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- 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 +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- 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 +30 -20
- 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 +52 -45
- 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 +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- 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/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- 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 +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- 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 +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +13 -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/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { type PluginExtensionSection } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { core } from "zod";
|
|
3
|
+
import type { Keyring } from "../ctx/secrets.js";
|
|
4
|
+
import { SuperAdminLock } from "../identity/super-admin.js";
|
|
5
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
6
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
7
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
8
|
+
import { OrgLock } from "../orgs/org-lock.js";
|
|
4
9
|
import { type ProvenanceResult } from "../packages/provenance.js";
|
|
5
|
-
import
|
|
10
|
+
import { ExtensionApprovals } from "./approvals.js";
|
|
11
|
+
import { ExtensionBlobs } from "./blobs.js";
|
|
6
12
|
import { migrationWarnings, type PackageWarning, type PermissionGroup, type PermissionItem } from "./permission-view.js";
|
|
13
|
+
import { ExtensionRegistry } from "./registry.js";
|
|
7
14
|
export { migrationWarnings, type PackageWarning };
|
|
8
|
-
import type { ExtensionSource } from "./sources.js";
|
|
9
15
|
/** 上传 / 拉取一个包后的审阅结果(权限按静态清单与迁移 SQL 计算,不执行插件代码)。 */
|
|
10
16
|
export interface PackageReview {
|
|
11
17
|
sha256: string;
|
|
@@ -69,19 +75,45 @@ export interface IngestSource {
|
|
|
69
75
|
source: "npm" | "file" | "catalog" | "bootstrap";
|
|
70
76
|
ref: string;
|
|
71
77
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
/** npm 下载的总时限(毫秒),默认 120s。 */
|
|
79
|
-
npmTimeoutMs?: number;
|
|
80
|
-
}
|
|
81
|
-
/** 插件安装记录与包的导入(上传文件、npm)。本身无状态,多副本共用。 */
|
|
78
|
+
/**
|
|
79
|
+
* Extension install records and package imports (uploaded file, npm), and the deployment's desired
|
|
80
|
+
* state the replicas converge to: the install records desired enabled and each extension's
|
|
81
|
+
* effective deployment config (the startup config completed by the fields stored in PG). Stateless,
|
|
82
|
+
* shared by every replica; the extension host reads the desired state from here (one way).
|
|
83
|
+
*/
|
|
82
84
|
export declare class ExtensionInstalls {
|
|
83
|
-
private readonly
|
|
84
|
-
|
|
85
|
+
private readonly db;
|
|
86
|
+
readonly txHost: TransactionHost;
|
|
87
|
+
/** The super admin lock (identity/super-admin.ts): joins the transaction. */
|
|
88
|
+
private readonly adminLock;
|
|
89
|
+
private readonly blobs;
|
|
90
|
+
private readonly approvals;
|
|
91
|
+
/** The config-declared extension names (an install cannot take them, C15). */
|
|
92
|
+
private readonly registry;
|
|
93
|
+
private readonly config;
|
|
94
|
+
private readonly keyring;
|
|
95
|
+
/** The owner org's lock: an org upload re-checks its org admin instead (ruling P3-10). */
|
|
96
|
+
private readonly orgLock;
|
|
97
|
+
constructor(db: KernelDb, txHost: TransactionHost,
|
|
98
|
+
/** The super admin lock (identity/super-admin.ts): joins the transaction. */
|
|
99
|
+
adminLock: SuperAdminLock, blobs: ExtensionBlobs, approvals: ExtensionApprovals,
|
|
100
|
+
/** The config-declared extension names (an install cannot take them, C15). */
|
|
101
|
+
registry: ExtensionRegistry, config: KernelConfigService, keyring: Keyring,
|
|
102
|
+
/** The owner org's lock: an org upload re-checks its org admin instead (ruling P3-10). */
|
|
103
|
+
orgLock: OrgLock);
|
|
104
|
+
/**
|
|
105
|
+
* An extension's effective deployment config, not validated yet (C10): the startup config
|
|
106
|
+
* (`fileValue`, file / Nacos merged with env) completed by the fields stored in PG; merged by
|
|
107
|
+
* the fields of `schema` when it is given.
|
|
108
|
+
*/
|
|
109
|
+
effectiveDeploymentConfig(plugin: string, fileValue: unknown, schema?: core.$ZodType): Promise<unknown>;
|
|
110
|
+
/**
|
|
111
|
+
* Whether PG holds a deployment config row for the extension (a super admin saved one and has
|
|
112
|
+
* not cleared it since; `DELETE /api/v1/admin/extensions/:name/config` removes it).
|
|
113
|
+
*/
|
|
114
|
+
hasStoredDeploymentConfig(plugin: string): Promise<boolean>;
|
|
115
|
+
/** Every install record's extension name (any desired state). */
|
|
116
|
+
installedNames(): Promise<string[]>;
|
|
85
117
|
/**
|
|
86
118
|
* Validates and stores one package and returns the review; audits `extension.package_uploaded`.
|
|
87
119
|
* Only stores: no install, no desired state change (T14).
|
|
@@ -90,13 +122,31 @@ export declare class ExtensionInstalls {
|
|
|
90
122
|
* - extension name equal to a config-declared one -> `extension.config_declared`;
|
|
91
123
|
* - an install record of the same name comes from another npm package -> `extension.name_conflict`
|
|
92
124
|
* (a new version of the same package is an upgrade, handled elsewhere).
|
|
93
|
-
* `actor` null means the CLI (no
|
|
125
|
+
* `actor` null means the CLI (no super admin re-check, audit without an actor). `owner`: an org
|
|
126
|
+
* upload (spec §14, P3-10): the actor is re-checked as an org admin of that org (`catalog.upload`)
|
|
127
|
+
* instead of a super admin; the package is only stored, as always (nothing runs, no install).
|
|
94
128
|
*/
|
|
95
129
|
ingest(actor: string | null, bytes: Uint8Array, src: IngestSource, opts?: {
|
|
96
130
|
actorTokenId?: string;
|
|
97
131
|
store?: "object" | "pg";
|
|
98
132
|
expectPackageName?: string;
|
|
133
|
+
owner?: {
|
|
134
|
+
orgId: string;
|
|
135
|
+
};
|
|
99
136
|
}): Promise<PackageReview>;
|
|
137
|
+
/**
|
|
138
|
+
* The super admin re-check under its lock, in a transaction of its own (`requires_new`, as
|
|
139
|
+
* before the conversion): the package write that follows never runs inside a caller's
|
|
140
|
+
* transaction holding the lock.
|
|
141
|
+
*/
|
|
142
|
+
private authorize;
|
|
143
|
+
/** The super admin, or for an org upload the owner org's admin, re-checked under its lock. */
|
|
144
|
+
private authorizeIn;
|
|
145
|
+
/**
|
|
146
|
+
* The `extension.package_uploaded` audit, re-checking the actor under the lock, committed on its
|
|
147
|
+
* own (`requires_new`): the stored package it records is not rolled back by a caller either.
|
|
148
|
+
*/
|
|
149
|
+
private auditUpload;
|
|
100
150
|
/** 上传的 tgz(来源 `file`)。 */
|
|
101
151
|
ingestFile(actor: string | null, bytes: Uint8Array, opts?: {
|
|
102
152
|
actorTokenId?: string;
|
|
@@ -105,7 +155,7 @@ export declare class ExtensionInstalls {
|
|
|
105
155
|
/**
|
|
106
156
|
* Fetches one package from the configured npm registry (verified by `dist.integrity`, see
|
|
107
157
|
* packages/npm.ts), downloading only, not storing: download failure -> `packages.npm_failed` (502);
|
|
108
|
-
* over `packages.maxBytes` -> `extension.package_too_large`.
|
|
158
|
+
* over `packages.maxBytes` -> `extension.package_too_large`. Platform catalog npm imports use it
|
|
109
159
|
* too.
|
|
110
160
|
*/
|
|
111
161
|
fetchNpm(input: {
|
|
@@ -161,6 +211,10 @@ export declare class ExtensionInstalls {
|
|
|
161
211
|
}): Promise<PackageReview>;
|
|
162
212
|
/** 全部安装记录(按名字)。 */
|
|
163
213
|
list(): Promise<ExtensionInstallRow[]>;
|
|
164
|
-
/**
|
|
214
|
+
/**
|
|
215
|
+
* Install records desired enabled, with their reviewed extension sections, the earliest enabled
|
|
216
|
+
* first (`enabled_at`, then the install time, then the name): of two enabled providers of a
|
|
217
|
+
* single-provider extension point the first one in this order is the one every replica loads.
|
|
218
|
+
*/
|
|
165
219
|
desired(): Promise<DesiredExtension[]>;
|
|
166
220
|
}
|
|
@@ -1,19 +1,98 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
1
10
|
import { SDK_VERSION } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { sql } from "kysely";
|
|
13
|
+
import { configFields } from "../config/fields.js";
|
|
2
14
|
import { ApiError } from "../errors.js";
|
|
3
15
|
import { audit } from "../identity/audit.js";
|
|
4
|
-
import {
|
|
16
|
+
import { SuperAdminLock } from "../identity/super-admin.js";
|
|
17
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
18
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
19
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
20
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
21
|
+
import { KEYRING } from "../infra/tokens.js";
|
|
22
|
+
import { OrgLock } from "../orgs/org-lock.js";
|
|
5
23
|
import { fetchNpmPackage, IntegrityMismatchError, NpmFetchError, PackageTooLargeError, } from "../packages/npm.js";
|
|
6
24
|
import { fetchProvenance, PROVENANCE_TIMEOUT_MS, } from "../packages/provenance.js";
|
|
7
25
|
import { ExtensionApprovals } from "./approvals.js";
|
|
26
|
+
import { ExtensionBlobs } from "./blobs.js";
|
|
27
|
+
import { mergeDeploymentConfig, readStoredDeploymentConfig, schemaFields, secretPathsOf, } from "./deployment-config-store.js";
|
|
8
28
|
import { ExtensionPackageError, extensionPackageApiError, permissionSetOfPackage, readExtensionPackage, } from "./package.js";
|
|
9
29
|
import { diffPermissions } from "./permission-set.js";
|
|
10
30
|
import { migrationWarnings, permissionGroups, permissionKeyItems, reviewHash, } from "./permission-view.js";
|
|
31
|
+
import { ExtensionRegistry } from "./registry.js";
|
|
11
32
|
export { migrationWarnings };
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
/** The npm download time limit (ms). */
|
|
34
|
+
const NPM_TIMEOUT_MS = 120_000;
|
|
35
|
+
/**
|
|
36
|
+
* Extension install records and package imports (uploaded file, npm), and the deployment's desired
|
|
37
|
+
* state the replicas converge to: the install records desired enabled and each extension's
|
|
38
|
+
* effective deployment config (the startup config completed by the fields stored in PG). Stateless,
|
|
39
|
+
* shared by every replica; the extension host reads the desired state from here (one way).
|
|
40
|
+
*/
|
|
41
|
+
let ExtensionInstalls = class ExtensionInstalls {
|
|
42
|
+
db;
|
|
43
|
+
txHost;
|
|
44
|
+
adminLock;
|
|
45
|
+
blobs;
|
|
46
|
+
approvals;
|
|
47
|
+
registry;
|
|
48
|
+
config;
|
|
49
|
+
keyring;
|
|
50
|
+
orgLock;
|
|
51
|
+
constructor(db, txHost,
|
|
52
|
+
/** The super admin lock (identity/super-admin.ts): joins the transaction. */
|
|
53
|
+
adminLock, blobs, approvals,
|
|
54
|
+
/** The config-declared extension names (an install cannot take them, C15). */
|
|
55
|
+
registry, config, keyring,
|
|
56
|
+
/** The owner org's lock: an org upload re-checks its org admin instead (ruling P3-10). */
|
|
57
|
+
orgLock) {
|
|
58
|
+
this.db = db;
|
|
59
|
+
this.txHost = txHost;
|
|
60
|
+
this.adminLock = adminLock;
|
|
61
|
+
this.blobs = blobs;
|
|
62
|
+
this.approvals = approvals;
|
|
63
|
+
this.registry = registry;
|
|
64
|
+
this.config = config;
|
|
65
|
+
this.keyring = keyring;
|
|
66
|
+
this.orgLock = orgLock;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* An extension's effective deployment config, not validated yet (C10): the startup config
|
|
70
|
+
* (`fileValue`, file / Nacos merged with env) completed by the fields stored in PG; merged by
|
|
71
|
+
* the fields of `schema` when it is given.
|
|
72
|
+
*/
|
|
73
|
+
async effectiveDeploymentConfig(plugin, fileValue, schema) {
|
|
74
|
+
const stored = await readStoredDeploymentConfig(this.db.db, this.keyring, plugin, {
|
|
75
|
+
secretPaths: secretPathsOf(schemaFields(schema)),
|
|
76
|
+
});
|
|
77
|
+
const fields = schema ? configFields(schema).map((f) => f.path) : undefined;
|
|
78
|
+
return mergeDeploymentConfig(stored, fileValue, fields);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Whether PG holds a deployment config row for the extension (a super admin saved one and has
|
|
82
|
+
* not cleared it since; `DELETE /api/v1/admin/extensions/:name/config` removes it).
|
|
83
|
+
*/
|
|
84
|
+
async hasStoredDeploymentConfig(plugin) {
|
|
85
|
+
const row = await this.db
|
|
86
|
+
.selectFrom("extension_deployment_configs")
|
|
87
|
+
.select("plugin")
|
|
88
|
+
.where("plugin", "=", plugin)
|
|
89
|
+
.executeTakeFirst();
|
|
90
|
+
return row !== undefined;
|
|
91
|
+
}
|
|
92
|
+
/** Every install record's extension name (any desired state). */
|
|
93
|
+
async installedNames() {
|
|
94
|
+
const rows = await this.db.selectFrom("extension_installs").select("name").execute();
|
|
95
|
+
return rows.map((r) => r.name);
|
|
17
96
|
}
|
|
18
97
|
/**
|
|
19
98
|
* Validates and stores one package and returns the review; audits `extension.package_uploaded`.
|
|
@@ -23,10 +102,15 @@ export class ExtensionInstalls {
|
|
|
23
102
|
* - extension name equal to a config-declared one -> `extension.config_declared`;
|
|
24
103
|
* - an install record of the same name comes from another npm package -> `extension.name_conflict`
|
|
25
104
|
* (a new version of the same package is an upgrade, handled elsewhere).
|
|
26
|
-
* `actor` null means the CLI (no
|
|
105
|
+
* `actor` null means the CLI (no super admin re-check, audit without an actor). `owner`: an org
|
|
106
|
+
* upload (spec §14, P3-10): the actor is re-checked as an org admin of that org (`catalog.upload`)
|
|
107
|
+
* instead of a super admin; the package is only stored, as always (nothing runs, no install).
|
|
27
108
|
*/
|
|
28
109
|
async ingest(actor, bytes, src, opts = {}) {
|
|
29
|
-
|
|
110
|
+
if (opts.owner !== undefined && actor === null) {
|
|
111
|
+
throw new Error("an org upload has an actor");
|
|
112
|
+
}
|
|
113
|
+
const maxBytes = this.config.get().packages.maxBytes;
|
|
30
114
|
if (bytes.byteLength > maxBytes) {
|
|
31
115
|
throw new ApiError("extension.package_too_large", `The extension package is larger than ${maxBytes} bytes`);
|
|
32
116
|
}
|
|
@@ -47,11 +131,11 @@ export class ExtensionInstalls {
|
|
|
47
131
|
issue,
|
|
48
132
|
]);
|
|
49
133
|
}
|
|
50
|
-
const declared = this.
|
|
134
|
+
const declared = this.registry.declared().get(m.name);
|
|
51
135
|
if (declared === "config") {
|
|
52
136
|
throw new ApiError("extension.config_declared", `Extension ${m.name} is declared in the startup config (extensions); remove it there before installing it as a package`);
|
|
53
137
|
}
|
|
54
|
-
const installed = await this.
|
|
138
|
+
const installed = await this.db
|
|
55
139
|
.selectFrom("extension_installs")
|
|
56
140
|
.innerJoin("extension_packages", "extension_packages.sha256", "extension_installs.sha256")
|
|
57
141
|
.select("extension_packages.package_name")
|
|
@@ -60,29 +144,24 @@ export class ExtensionInstalls {
|
|
|
60
144
|
if (installed && installed.package_name !== packageName) {
|
|
61
145
|
throw new ApiError("extension.name_conflict", `Extension ${m.name} is already installed from package ${installed.package_name}; package ${packageName} uses the same extension name`);
|
|
62
146
|
}
|
|
63
|
-
//
|
|
64
|
-
if (actor !== null)
|
|
65
|
-
await this.
|
|
66
|
-
|
|
67
|
-
await this.d.blobs.put(pkg, bytes, {
|
|
147
|
+
// 写包之前在锁内复核发起人仍是超级管理员(守卫读到的身份可能已过期);审计在写完后同样复核
|
|
148
|
+
if (actor !== null)
|
|
149
|
+
await this.authorize(actor, opts.owner);
|
|
150
|
+
await this.blobs.put(pkg, bytes, {
|
|
68
151
|
source: src.source,
|
|
69
152
|
ref: src.ref,
|
|
70
153
|
actor,
|
|
71
154
|
...(opts.store !== undefined && { store: opts.store }),
|
|
72
155
|
});
|
|
73
|
-
await this.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
target: m.name,
|
|
81
|
-
detail: { name: m.name, version: m.version, sha256: pkg.sha256, source: src.source },
|
|
82
|
-
});
|
|
83
|
-
});
|
|
156
|
+
await this.auditUpload(actor, opts.actorTokenId, {
|
|
157
|
+
name: m.name,
|
|
158
|
+
version: m.version,
|
|
159
|
+
sha256: pkg.sha256,
|
|
160
|
+
source: src.source,
|
|
161
|
+
...(opts.owner !== undefined && { orgId: opts.owner.orgId }),
|
|
162
|
+
}, opts.owner);
|
|
84
163
|
const set = permissionSetOfPackage(pkg);
|
|
85
|
-
const snapshot = (await
|
|
164
|
+
const snapshot = (await this.approvals.all()).get(m.name);
|
|
86
165
|
const { added, removed } = diffPermissions(snapshot?.permissions, set);
|
|
87
166
|
const warnings = migrationWarnings(pkg.migrationSql, m.name);
|
|
88
167
|
return {
|
|
@@ -97,6 +176,36 @@ export class ExtensionInstalls {
|
|
|
97
176
|
warnings,
|
|
98
177
|
};
|
|
99
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* The super admin re-check under its lock, in a transaction of its own (`requires_new`, as
|
|
181
|
+
* before the conversion): the package write that follows never runs inside a caller's
|
|
182
|
+
* transaction holding the lock.
|
|
183
|
+
*/
|
|
184
|
+
async authorize(actor, owner) {
|
|
185
|
+
await this.authorizeIn(actor, owner);
|
|
186
|
+
}
|
|
187
|
+
/** The super admin, or for an org upload the owner org's admin, re-checked under its lock. */
|
|
188
|
+
async authorizeIn(actor, owner) {
|
|
189
|
+
if (owner !== undefined)
|
|
190
|
+
await this.orgLock.lockAndAuthorize(owner.orgId, actor, "catalog.upload");
|
|
191
|
+
else
|
|
192
|
+
await this.adminLock.lockAndAuthorize(actor);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* The `extension.package_uploaded` audit, re-checking the actor under the lock, committed on its
|
|
196
|
+
* own (`requires_new`): the stored package it records is not rolled back by a caller either.
|
|
197
|
+
*/
|
|
198
|
+
async auditUpload(actor, actorTokenId, detail, owner) {
|
|
199
|
+
if (actor !== null)
|
|
200
|
+
await this.authorizeIn(actor, owner);
|
|
201
|
+
await audit(this.db.db, {
|
|
202
|
+
...(actor !== null && { actorAccountId: actor }),
|
|
203
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
204
|
+
action: "extension.package_uploaded",
|
|
205
|
+
target: detail.name,
|
|
206
|
+
detail,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
100
209
|
/** 上传的 tgz(来源 `file`)。 */
|
|
101
210
|
ingestFile(actor, bytes, opts = {}) {
|
|
102
211
|
return this.ingest(actor, bytes, { source: "file", ref: "upload" }, opts);
|
|
@@ -104,17 +213,17 @@ export class ExtensionInstalls {
|
|
|
104
213
|
/**
|
|
105
214
|
* Fetches one package from the configured npm registry (verified by `dist.integrity`, see
|
|
106
215
|
* packages/npm.ts), downloading only, not storing: download failure -> `packages.npm_failed` (502);
|
|
107
|
-
* over `packages.maxBytes` -> `extension.package_too_large`.
|
|
216
|
+
* over `packages.maxBytes` -> `extension.package_too_large`. Platform catalog npm imports use it
|
|
108
217
|
* too.
|
|
109
218
|
*/
|
|
110
219
|
async fetchNpm(input, signal) {
|
|
111
|
-
const c = this.
|
|
220
|
+
const c = this.config.get();
|
|
112
221
|
const cfg = {
|
|
113
222
|
registry: c.packages.npmRegistry,
|
|
114
223
|
maxBytes: c.packages.maxBytes,
|
|
115
224
|
...(c.packages.npmToken !== undefined && { token: c.packages.npmToken }),
|
|
116
225
|
};
|
|
117
|
-
const timeout = AbortSignal.timeout(
|
|
226
|
+
const timeout = AbortSignal.timeout(NPM_TIMEOUT_MS);
|
|
118
227
|
try {
|
|
119
228
|
return await fetchNpmPackage(cfg, input.package, input.version, signal ? AbortSignal.any([signal, timeout]) : timeout);
|
|
120
229
|
}
|
|
@@ -149,7 +258,7 @@ export class ExtensionInstalls {
|
|
|
149
258
|
* failure is `{ checked: false, reason }`. `integrity` ties the statement to the tarball.
|
|
150
259
|
*/
|
|
151
260
|
fetchProvenance(input, signal) {
|
|
152
|
-
const c = this.
|
|
261
|
+
const c = this.config.get();
|
|
153
262
|
const cfg = {
|
|
154
263
|
registry: c.packages.npmRegistry,
|
|
155
264
|
maxBytes: c.packages.maxBytes,
|
|
@@ -159,14 +268,14 @@ export class ExtensionInstalls {
|
|
|
159
268
|
return fetchProvenance(cfg, input.package, input.version, signal ? AbortSignal.any([signal, timeout]) : timeout, input.integrity !== undefined ? { integrity: input.integrity } : {});
|
|
160
269
|
}
|
|
161
270
|
async fetchVerified(input, signal, codes) {
|
|
162
|
-
const c = this.
|
|
271
|
+
const c = this.config.get();
|
|
163
272
|
const cfg = {
|
|
164
273
|
registry: c.packages.npmRegistry,
|
|
165
274
|
maxBytes: c.packages.maxBytes,
|
|
166
275
|
allowInsecureLoopback: c.marketplaces.allowInsecureLoopback,
|
|
167
276
|
...(c.packages.npmToken !== undefined && { token: c.packages.npmToken }),
|
|
168
277
|
};
|
|
169
|
-
const timeout = AbortSignal.timeout(
|
|
278
|
+
const timeout = AbortSignal.timeout(NPM_TIMEOUT_MS);
|
|
170
279
|
try {
|
|
171
280
|
return await fetchNpmPackage(cfg, input.package, input.version, signal ? AbortSignal.any([signal, timeout]) : timeout, {
|
|
172
281
|
expectedIntegrity: input.integrity,
|
|
@@ -201,7 +310,7 @@ export class ExtensionInstalls {
|
|
|
201
310
|
}
|
|
202
311
|
/** 全部安装记录(按名字)。 */
|
|
203
312
|
async list() {
|
|
204
|
-
const rows = await this.
|
|
313
|
+
const rows = await this.db
|
|
205
314
|
.selectFrom("extension_installs")
|
|
206
315
|
.innerJoin("extension_packages", "extension_packages.sha256", "extension_installs.sha256")
|
|
207
316
|
.selectAll("extension_installs")
|
|
@@ -223,9 +332,13 @@ export class ExtensionInstalls {
|
|
|
223
332
|
updatedAt: r.updated_at.toISOString(),
|
|
224
333
|
}));
|
|
225
334
|
}
|
|
226
|
-
/**
|
|
335
|
+
/**
|
|
336
|
+
* Install records desired enabled, with their reviewed extension sections, the earliest enabled
|
|
337
|
+
* first (`enabled_at`, then the install time, then the name): of two enabled providers of a
|
|
338
|
+
* single-provider extension point the first one in this order is the one every replica loads.
|
|
339
|
+
*/
|
|
227
340
|
async desired() {
|
|
228
|
-
const rows = await this.
|
|
341
|
+
const rows = await this.db
|
|
229
342
|
.selectFrom("extension_installs")
|
|
230
343
|
.innerJoin("extension_packages", "extension_packages.sha256", "extension_installs.sha256")
|
|
231
344
|
.select([
|
|
@@ -238,6 +351,8 @@ export class ExtensionInstalls {
|
|
|
238
351
|
"extension_packages.blob_store",
|
|
239
352
|
])
|
|
240
353
|
.where("extension_installs.desired_state", "=", "enabled")
|
|
354
|
+
.orderBy(sql `extension_installs.enabled_at ASC NULLS LAST`)
|
|
355
|
+
.orderBy("extension_installs.installed_at")
|
|
241
356
|
.orderBy("extension_installs.name")
|
|
242
357
|
.execute();
|
|
243
358
|
return rows.map((r) => ({
|
|
@@ -250,4 +365,26 @@ export class ExtensionInstalls {
|
|
|
250
365
|
section: r.section,
|
|
251
366
|
}));
|
|
252
367
|
}
|
|
253
|
-
}
|
|
368
|
+
};
|
|
369
|
+
__decorate([
|
|
370
|
+
Transactional({ propagation: "requires_new" })
|
|
371
|
+
], ExtensionInstalls.prototype, "authorize", null);
|
|
372
|
+
__decorate([
|
|
373
|
+
Transactional({ propagation: "mandatory" })
|
|
374
|
+
], ExtensionInstalls.prototype, "authorizeIn", null);
|
|
375
|
+
__decorate([
|
|
376
|
+
Transactional({ propagation: "requires_new" })
|
|
377
|
+
], ExtensionInstalls.prototype, "auditUpload", null);
|
|
378
|
+
ExtensionInstalls = __decorate([
|
|
379
|
+
Injectable(),
|
|
380
|
+
__param(0, Inject(KernelDb)),
|
|
381
|
+
__param(1, Inject(TransactionHost)),
|
|
382
|
+
__param(2, Inject(SuperAdminLock)),
|
|
383
|
+
__param(3, Inject(ExtensionBlobs)),
|
|
384
|
+
__param(4, Inject(ExtensionApprovals)),
|
|
385
|
+
__param(5, Inject(ExtensionRegistry)),
|
|
386
|
+
__param(6, Inject(KernelConfigService)),
|
|
387
|
+
__param(7, Inject(KEYRING)),
|
|
388
|
+
__param(8, Inject(OrgLock))
|
|
389
|
+
], ExtensionInstalls);
|
|
390
|
+
export { ExtensionInstalls };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The maintenance job scheduler ids the plugins reconcile had before becoming `@LockedCron` /
|
|
3
|
+
* `@LockedInterval` jobs (retired at worker start, `RETIRED_SCHEDULER_IDS`). A leaf module.
|
|
4
|
+
*/
|
|
5
|
+
/** The BullMQ repeatable scheduler the job had before it became `@LockedInterval` (retired). */
|
|
6
|
+
export declare const PLUGINS_RECONCILE_SCHEDULER_ID = "plugins-reconcile-every";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The maintenance job scheduler ids the plugins reconcile had before becoming `@LockedCron` /
|
|
3
|
+
* `@LockedInterval` jobs (retired at worker start, `RETIRED_SCHEDULER_IDS`). A leaf module.
|
|
4
|
+
*/
|
|
5
|
+
/** The BullMQ repeatable scheduler the job had before it became `@LockedInterval` (retired). */
|
|
6
|
+
export const PLUGINS_RECONCILE_SCHEDULER_ID = "plugins-reconcile-every";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** The kernel bus topics and the job of the extension lifecycle (a leaf module: no imports). */
|
|
2
|
+
/**
|
|
3
|
+
* 插件期望状态 / 快照变了(kernel bus 主题,频道 `cap:kernel:plugins.changed`,payload `{ plugin }`)。
|
|
4
|
+
* 后台、CLI 写完 PG 后发布;各副本据此 reconcile,并作废路由闸门的名字缓存。
|
|
5
|
+
*/
|
|
6
|
+
export declare const PLUGINS_CHANGED_TOPIC = "plugins.changed";
|
|
7
|
+
/** 周期兜底(kernel bus 主题 `plugins.reconcile`,payload `{}`):维护任务 `plugins-reconcile` 发布。 */
|
|
8
|
+
export declare const PLUGINS_RECONCILE_TOPIC = "plugins.reconcile";
|
|
9
|
+
/** The `@LockedInterval` job that publishes `plugins.reconcile` every `extensionHost.reconcileIntervalSeconds`. */
|
|
10
|
+
export declare const PLUGINS_RECONCILE_JOB = "plugins-reconcile";
|
|
11
|
+
/** 副本行心跳超过这么多个 reconcile 周期的副本不计入(C16;读状态的一方据此筛选)。 */
|
|
12
|
+
export declare const STALE_RECONCILE_PERIODS = 3;
|
|
13
|
+
/**
|
|
14
|
+
* 部署配置保存之后(kernel bus 主题,频道 `cap:kernel:plugin-deployment-config`,payload `{ plugin }`):
|
|
15
|
+
* 各副本重读并校验——只改了 hot 字段就地替换,改了非 hot 字段重新加载实例,不合法保持当前值并告警;
|
|
16
|
+
* 插件此刻待配置时,下一次 reconcile 加载它。
|
|
17
|
+
*/
|
|
18
|
+
export declare const PLUGIN_DEPLOYMENT_CONFIG_TOPIC = "plugin-deployment-config";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** The kernel bus topics and the job of the extension lifecycle (a leaf module: no imports). */
|
|
2
|
+
/**
|
|
3
|
+
* 插件期望状态 / 快照变了(kernel bus 主题,频道 `cap:kernel:plugins.changed`,payload `{ plugin }`)。
|
|
4
|
+
* 后台、CLI 写完 PG 后发布;各副本据此 reconcile,并作废路由闸门的名字缓存。
|
|
5
|
+
*/
|
|
6
|
+
export const PLUGINS_CHANGED_TOPIC = "plugins.changed";
|
|
7
|
+
/** 周期兜底(kernel bus 主题 `plugins.reconcile`,payload `{}`):维护任务 `plugins-reconcile` 发布。 */
|
|
8
|
+
export const PLUGINS_RECONCILE_TOPIC = "plugins.reconcile";
|
|
9
|
+
/** The `@LockedInterval` job that publishes `plugins.reconcile` every `extensionHost.reconcileIntervalSeconds`. */
|
|
10
|
+
export const PLUGINS_RECONCILE_JOB = "plugins-reconcile";
|
|
11
|
+
/** 副本行心跳超过这么多个 reconcile 周期的副本不计入(C16;读状态的一方据此筛选)。 */
|
|
12
|
+
export const STALE_RECONCILE_PERIODS = 3;
|
|
13
|
+
/**
|
|
14
|
+
* 部署配置保存之后(kernel bus 主题,频道 `cap:kernel:plugin-deployment-config`,payload `{ plugin }`):
|
|
15
|
+
* 各副本重读并校验——只改了 hot 字段就地替换,改了非 hot 字段重新加载实例,不合法保持当前值并告警;
|
|
16
|
+
* 插件此刻待配置时,下一次 reconcile 加载它。
|
|
17
|
+
*/
|
|
18
|
+
export const PLUGIN_DEPLOYMENT_CONFIG_TOPIC = "plugin-deployment-config";
|
|
@@ -1,49 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
1
|
+
import type { ExtensionContext } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
3
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
4
|
+
import type { KernelLogger } from "../log.js";
|
|
5
|
+
import { ExtensionHost } from "./host.js";
|
|
6
|
+
import { ExtensionInstalls } from "./installs.js";
|
|
7
|
+
import { PLUGINS_CHANGED_TOPIC, PLUGINS_RECONCILE_JOB, PLUGINS_RECONCILE_TOPIC, STALE_RECONCILE_PERIODS } from "./lifecycle-topics.js";
|
|
3
8
|
import { PLUGINS_MIGRATED_TOPIC } from "./migrate-lock.js";
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
* 插件期望状态 / 快照变了(kernel bus 主题,频道 `cap:kernel:plugins.changed`,payload `{ plugin }`)。
|
|
7
|
-
* 后台、CLI 写完 PG 后发布;各副本据此 reconcile,并作废路由闸门的名字缓存。
|
|
8
|
-
*/
|
|
9
|
-
export declare const PLUGINS_CHANGED_TOPIC = "plugins.changed";
|
|
10
|
-
/** 周期兜底(kernel bus 主题 `plugins.reconcile`,payload `{}`):维护任务 `plugins-reconcile` 发布。 */
|
|
11
|
-
export declare const PLUGINS_RECONCILE_TOPIC = "plugins.reconcile";
|
|
12
|
-
export { PLUGINS_MIGRATED_TOPIC };
|
|
13
|
-
/** 维护任务:每 `extensionHost.reconcileIntervalSeconds` 秒发布一次 `plugins.reconcile`(任务名与 scheduler id 不含 `:`)。 */
|
|
14
|
-
export declare const PLUGINS_RECONCILE_JOB = "plugins-reconcile";
|
|
15
|
-
export declare const PLUGINS_RECONCILE_SCHEDULER_ID = "plugins-reconcile-every";
|
|
16
|
-
/** 副本行心跳超过这么多个 reconcile 周期的副本不计入(C16;读状态的一方据此筛选)。 */
|
|
17
|
-
export declare const STALE_RECONCILE_PERIODS = 3;
|
|
18
|
-
/** The host operations {@link ExtensionLifecycle} needs. */
|
|
19
|
-
export interface LifecycleHost {
|
|
20
|
-
/** Converges this replica to the deployment's desired state (serialized; see `ExtensionHost.converge`). */
|
|
21
|
-
converge(): Promise<void>;
|
|
22
|
-
/** 用同一个包重新 setup(配置的非 hot 改动、依赖方联动)。 */
|
|
23
|
-
reload(name: string): Promise<ExtensionInstance>;
|
|
24
|
-
/**
|
|
25
|
-
* 部署配置保存后本副本重读并校验(hot 就地替换、非 hot 重新加载、不合法保持当前值);
|
|
26
|
-
* 插件此刻没在本副本生效时返回 `not_loaded`(待配置的由随后的 reconcile 加载)。
|
|
27
|
-
*/
|
|
28
|
-
applyDeploymentConfig(name: string): Promise<string>;
|
|
29
|
-
/** 在本副本生效、声明了部署级配置的插件(周期 reconcile 据此补上丢了消息的配置改动)。 */
|
|
30
|
-
configurablePlugins(): string[];
|
|
31
|
-
/** 作废路由闸门的安装记录名字缓存。 */
|
|
32
|
-
invalidateKnownNames(): void;
|
|
33
|
-
/** 内置与配置声明的插件名。 */
|
|
34
|
-
declared(): ReadonlyMap<string, unknown>;
|
|
35
|
-
}
|
|
36
|
-
export interface ExtensionLifecycleDeps {
|
|
37
|
-
host: LifecycleHost;
|
|
38
|
-
bus: {
|
|
39
|
-
subscribe(topic: string, handler: (payload: unknown) => void): Promise<() => Promise<void>>;
|
|
40
|
-
};
|
|
41
|
-
status: ReplicaStatusStore;
|
|
42
|
-
/** 安装记录里的全部插件名(任何期望状态;清理本副本已不认识的状态行)。 */
|
|
43
|
-
installedNames(): Promise<string[]>;
|
|
44
|
-
reconcileIntervalSeconds(): number;
|
|
45
|
-
log: Pick<Logger, "info" | "warn" | "error">;
|
|
46
|
-
}
|
|
9
|
+
import { ReplicaStatusStore } from "./sources.js";
|
|
10
|
+
export { PLUGINS_CHANGED_TOPIC, PLUGINS_MIGRATED_TOPIC, PLUGINS_RECONCILE_JOB, PLUGINS_RECONCILE_TOPIC, STALE_RECONCILE_PERIODS, };
|
|
47
11
|
/**
|
|
48
12
|
* 每副本一个:把本副本的插件加载状态收敛到 PG 期望状态(C16)。
|
|
49
13
|
* 触发来源:bus `kernel.plugins.changed`(后台 / CLI 改了期望状态或快照)、`kernel.plugins.reconcile`(维护任务周期兜底,
|
|
@@ -53,12 +17,22 @@ export interface ExtensionLifecycleDeps {
|
|
|
53
17
|
* 进程内只有排队用的 Promise(不是跨副本状态)。
|
|
54
18
|
*/
|
|
55
19
|
export declare class ExtensionLifecycle {
|
|
56
|
-
private readonly
|
|
20
|
+
private readonly host;
|
|
21
|
+
private readonly bus;
|
|
22
|
+
private readonly status;
|
|
23
|
+
/** Every install record's name (any desired state): prunes status rows this replica no longer knows. */
|
|
24
|
+
private readonly installs;
|
|
25
|
+
private readonly config;
|
|
26
|
+
private readonly log;
|
|
57
27
|
private running;
|
|
58
28
|
private queued;
|
|
59
29
|
private unsubs;
|
|
30
|
+
/** {@link start} was called (the kernel's start sequence; never in the CLI, which loads nothing). */
|
|
31
|
+
private started;
|
|
60
32
|
private stopped;
|
|
61
|
-
constructor(
|
|
33
|
+
constructor(host: ExtensionHost, bus: Pick<ExtensionContext["bus"], "publish" | "subscribe">, status: ReplicaStatusStore,
|
|
34
|
+
/** Every install record's name (any desired state): prunes status rows this replica no longer knows. */
|
|
35
|
+
installs: ExtensionInstalls, config: KernelConfigService, log: KernelLogger);
|
|
62
36
|
/** 订阅三个主题(订阅失败只记 error:周期任务的消息同样收不到时,下次启动再来)。 */
|
|
63
37
|
start(): Promise<void>;
|
|
64
38
|
/**
|
|
@@ -78,3 +52,17 @@ export declare class ExtensionLifecycle {
|
|
|
78
52
|
private trigger;
|
|
79
53
|
private run;
|
|
80
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* The periodic reconcile fallback (job `plugins-reconcile`, once per
|
|
57
|
+
* `extensionHost.reconcileIntervalSeconds` across replicas): publishes `kernel.plugins.reconcile`,
|
|
58
|
+
* so every replica converges even when it lost a message. A worker-role job (`WorkerModule`); every
|
|
59
|
+
* replica's {@link ExtensionLifecycle} subscribes to the topic.
|
|
60
|
+
*/
|
|
61
|
+
export declare class PluginsReconcileJob {
|
|
62
|
+
private readonly bus;
|
|
63
|
+
readonly config: KernelConfigService;
|
|
64
|
+
readonly lockService: LockService;
|
|
65
|
+
readonly log: KernelLogger;
|
|
66
|
+
constructor(bus: Pick<ExtensionContext["bus"], "publish">, config: KernelConfigService, lockService: LockService, log: KernelLogger);
|
|
67
|
+
run(): Promise<void>;
|
|
68
|
+
}
|