@capybara-hq/kernel 0.1.0-rc.0 → 0.1.0-rc.10
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 +92 -8
- 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 +57 -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 +232 -0
- package/dist/catalog/catalog-content.js +367 -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 +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -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 +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- 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 +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -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 +431 -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 +801 -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 +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- 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 +118 -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 -201
- 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 +51 -3
- package/dist/config/schema.js +269 -27
- 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 -70
- 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/queue.js +3 -2
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +550 -25
- 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 +136 -2
- package/dist/errors.js +136 -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 -123
- 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 +136 -46
- package/dist/extensions/bootstrap.js +417 -167
- 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 +86 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +83 -52
- 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 +130 -38
- package/dist/identity/accounts.js +373 -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 +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -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 +42 -23
- package/dist/identity/settings.js +137 -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 +25 -14
- package/dist/index.js +20 -9
- 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 -241
- 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-config.d.ts +9 -0
- package/dist/log-config.js +27 -0
- package/dist/log-context.d.ts +34 -0
- package/dist/log-context.js +44 -0
- package/dist/log-loki.d.ts +34 -0
- package/dist/log-loki.js +145 -0
- package/dist/log.d.ts +53 -10
- package/dist/log.js +168 -18
- 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/net/public-address.js +3 -2
- 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 +45 -14
- package/dist/orgs/settings.service.js +110 -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 +667 -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 +90 -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 +36 -0
- package/dist/platform/ops/admin.ops.js +389 -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 +853 -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 +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -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 +28 -0
- package/dist/platform/ops/platform.ops.js +204 -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/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 +39 -0
- package/dist/platform/platform-ops.module.js +122 -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 +63 -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 -136
- 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 -236
- 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 -180
- 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/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 +142 -40
- package/dist/tools/builtins/sandbox/common.js +227 -65
- 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 +15 -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/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,32 @@
|
|
|
1
1
|
import type { ChannelTarget } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import type {
|
|
2
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
3
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
4
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
5
|
+
import { XactLock } from "../infra/database/xact-lock.js";
|
|
3
6
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
+
* The lock of an org's anonymous guest account (one provider per transaction-scoped lock):
|
|
8
|
+
* serializes the first creation across replicas, so only one account is created. Joins the caller's
|
|
9
|
+
* transaction (`mandatory`), which holds it until it ends.
|
|
7
10
|
*/
|
|
8
|
-
export declare
|
|
11
|
+
export declare class AnonymousGuestLock {
|
|
12
|
+
private readonly xactLock;
|
|
13
|
+
readonly txHost: TransactionHost;
|
|
14
|
+
constructor(xactLock: XactLock, txHost: TransactionHost);
|
|
15
|
+
lock(orgId: string): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/** 组织的匿名访客账号(渠道连接的未绑定策略 `anonymous`)。 */
|
|
18
|
+
export declare class AnonymousGuests {
|
|
19
|
+
private readonly db;
|
|
20
|
+
private readonly guestLock;
|
|
21
|
+
readonly txHost: TransactionHost;
|
|
22
|
+
constructor(db: KernelDb, guestLock: AnonymousGuestLock, txHost: TransactionHost);
|
|
23
|
+
/**
|
|
24
|
+
* 该组织唯一的匿名访客账号 id;首次使用时创建(`accounts.status = active`、没有任何登录方式、组织角色 guest)。
|
|
25
|
+
* 每次都确保成员关系存在(被移出后再次使用会补回 guest):运行的兜底扫描会中止「发起人已不是该组织成员」的运行。
|
|
26
|
+
* 跨副本并发首次创建由 {@link AnonymousGuestLock} 串行化,只建一个账号。
|
|
27
|
+
*/
|
|
28
|
+
ensure(orgId: string): Promise<string>;
|
|
29
|
+
}
|
|
9
30
|
/** 一条 IM 话题的定位:连接 + chat + 话题键 + 账号(匿名为 null)。 */
|
|
10
31
|
export interface ThreadKey {
|
|
11
32
|
connectionId: string;
|
|
@@ -19,11 +40,16 @@ export interface ThreadKey {
|
|
|
19
40
|
*/
|
|
20
41
|
export declare function threadKeyOf(target: ChannelTarget, senderExternalId: string, messageId: string): string;
|
|
21
42
|
/** 未归档的话题行对应的会话;没有返回 undefined。 */
|
|
22
|
-
export declare function findThread(db:
|
|
43
|
+
export declare function findThread(db: KernelSchemaDb, k: ThreadKey): Promise<string | undefined>;
|
|
23
44
|
/**
|
|
24
45
|
* 记下话题 → 会话;同一话题已有未归档的行(并发的另一条消息抢先建了)时不写,返回已有的会话 id。
|
|
25
46
|
* 返回实际生效的会话 id。
|
|
26
47
|
*/
|
|
27
|
-
export declare function insertThread(db:
|
|
48
|
+
export declare function insertThread(db: KernelSchemaDb, k: ThreadKey, conversationId: string): Promise<string>;
|
|
28
49
|
/** 私聊 `/new`:归档当前话题行(下一条消息新建对话)。返回是否归档了一行。 */
|
|
29
|
-
export declare function archiveThread(db:
|
|
50
|
+
export declare function archiveThread(db: KernelSchemaDb, k: ThreadKey): Promise<boolean>;
|
|
51
|
+
/**
|
|
52
|
+
* Drops a conversation's channel bindings (its thread rows and its delivery target), so a deleted
|
|
53
|
+
* conversation neither receives inbound messages nor posts to the chat any more.
|
|
54
|
+
*/
|
|
55
|
+
export declare function unbindConversation(db: KernelSchemaDb, conversationId: string): Promise<void>;
|
package/dist/channels/threads.js
CHANGED
|
@@ -1,19 +1,67 @@
|
|
|
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 { randomUUID } from "node:crypto";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
2
12
|
import { sql } from "kysely";
|
|
3
13
|
import { audit } from "../identity/audit.js";
|
|
14
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
15
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
16
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
17
|
+
import { XactLock } from "../infra/database/xact-lock.js";
|
|
4
18
|
/** 匿名访客账号的显示名。 */
|
|
5
19
|
const ANONYMOUS_DISPLAY_NAME = "Anonymous guest";
|
|
6
20
|
/** 匿名访客成员关系的来源标记(通讯录同步只撤销 `directory:*`,不会碰它)。 */
|
|
7
21
|
const ANONYMOUS_MEMBERSHIP_SOURCE = "anonymous";
|
|
8
22
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
23
|
+
* The lock of an org's anonymous guest account (one provider per transaction-scoped lock):
|
|
24
|
+
* serializes the first creation across replicas, so only one account is created. Joins the caller's
|
|
25
|
+
* transaction (`mandatory`), which holds it until it ends.
|
|
12
26
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
27
|
+
let AnonymousGuestLock = class AnonymousGuestLock {
|
|
28
|
+
xactLock;
|
|
29
|
+
txHost;
|
|
30
|
+
constructor(xactLock, txHost) {
|
|
31
|
+
this.xactLock = xactLock;
|
|
32
|
+
this.txHost = txHost;
|
|
33
|
+
}
|
|
34
|
+
async lock(orgId) {
|
|
35
|
+
await this.xactLock.lock(`capybara.anonymous:${orgId}`);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
__decorate([
|
|
39
|
+
Transactional({ propagation: "mandatory" })
|
|
40
|
+
], AnonymousGuestLock.prototype, "lock", null);
|
|
41
|
+
AnonymousGuestLock = __decorate([
|
|
42
|
+
Injectable(),
|
|
43
|
+
__param(0, Inject(XactLock)),
|
|
44
|
+
__param(1, Inject(TransactionHost))
|
|
45
|
+
], AnonymousGuestLock);
|
|
46
|
+
export { AnonymousGuestLock };
|
|
47
|
+
/** 组织的匿名访客账号(渠道连接的未绑定策略 `anonymous`)。 */
|
|
48
|
+
let AnonymousGuests = class AnonymousGuests {
|
|
49
|
+
db;
|
|
50
|
+
guestLock;
|
|
51
|
+
txHost;
|
|
52
|
+
constructor(db, guestLock, txHost) {
|
|
53
|
+
this.db = db;
|
|
54
|
+
this.guestLock = guestLock;
|
|
55
|
+
this.txHost = txHost;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 该组织唯一的匿名访客账号 id;首次使用时创建(`accounts.status = active`、没有任何登录方式、组织角色 guest)。
|
|
59
|
+
* 每次都确保成员关系存在(被移出后再次使用会补回 guest):运行的兜底扫描会中止「发起人已不是该组织成员」的运行。
|
|
60
|
+
* 跨副本并发首次创建由 {@link AnonymousGuestLock} 串行化,只建一个账号。
|
|
61
|
+
*/
|
|
62
|
+
async ensure(orgId) {
|
|
63
|
+
await this.guestLock.lock(orgId);
|
|
64
|
+
const existing = await this.db
|
|
17
65
|
.selectFrom("org_anonymous_accounts")
|
|
18
66
|
.select("account_id")
|
|
19
67
|
.where("org_id", "=", orgId)
|
|
@@ -21,22 +69,22 @@ export async function ensureAnonymousGuest(db, orgId) {
|
|
|
21
69
|
let accountId = existing?.account_id;
|
|
22
70
|
if (accountId === undefined) {
|
|
23
71
|
accountId = randomUUID();
|
|
24
|
-
await
|
|
72
|
+
await this.db
|
|
25
73
|
.insertInto("accounts")
|
|
26
74
|
.values({ id: accountId, display_name: ANONYMOUS_DISPLAY_NAME, email: null })
|
|
27
75
|
.execute();
|
|
28
|
-
await
|
|
76
|
+
await this.db
|
|
29
77
|
.insertInto("org_anonymous_accounts")
|
|
30
78
|
.values({ org_id: orgId, account_id: accountId })
|
|
31
79
|
.execute();
|
|
32
|
-
await audit(
|
|
80
|
+
await audit(this.db.db, {
|
|
33
81
|
orgId,
|
|
34
82
|
action: "account.created",
|
|
35
83
|
target: accountId,
|
|
36
84
|
detail: { anonymousGuest: true },
|
|
37
85
|
});
|
|
38
86
|
}
|
|
39
|
-
await
|
|
87
|
+
await this.db
|
|
40
88
|
.insertInto("memberships")
|
|
41
89
|
.values({
|
|
42
90
|
org_id: orgId,
|
|
@@ -47,8 +95,18 @@ export async function ensureAnonymousGuest(db, orgId) {
|
|
|
47
95
|
.onConflict((oc) => oc.columns(["org_id", "account_id"]).doNothing())
|
|
48
96
|
.execute();
|
|
49
97
|
return accountId;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
__decorate([
|
|
101
|
+
Transactional()
|
|
102
|
+
], AnonymousGuests.prototype, "ensure", null);
|
|
103
|
+
AnonymousGuests = __decorate([
|
|
104
|
+
Injectable(),
|
|
105
|
+
__param(0, Inject(KernelDb)),
|
|
106
|
+
__param(1, Inject(AnonymousGuestLock)),
|
|
107
|
+
__param(2, Inject(TransactionHost))
|
|
108
|
+
], AnonymousGuests);
|
|
109
|
+
export { AnonymousGuests };
|
|
52
110
|
/**
|
|
53
111
|
* 话题键:私聊 `dm:<externalId>`;群聊用平台话题 id,消息不在话题里(开启新话题)时用该消息 id——
|
|
54
112
|
* 机器人回复在以它为根的话题里,后续消息的 threadId 就是它,于是落到同一个对话。
|
|
@@ -102,3 +160,11 @@ export async function archiveThread(db, k) {
|
|
|
102
160
|
.executeTakeFirst();
|
|
103
161
|
return r.numUpdatedRows > 0n;
|
|
104
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Drops a conversation's channel bindings (its thread rows and its delivery target), so a deleted
|
|
165
|
+
* conversation neither receives inbound messages nor posts to the chat any more.
|
|
166
|
+
*/
|
|
167
|
+
export async function unbindConversation(db, conversationId) {
|
|
168
|
+
await db.deleteFrom("channel_threads").where("conversation_id", "=", conversationId).execute();
|
|
169
|
+
await db.deleteFrom("channel_deliveries").where("conversation_id", "=", conversationId).execute();
|
|
170
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ChannelWebhookRequest, ChannelWebhookResponse, Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { ChannelConnections } from "./connections.service.js";
|
|
3
|
+
import { ChannelInbound } from "./inbound.js";
|
|
4
4
|
/**
|
|
5
5
|
* Deadline of one webhook request: connection lookups, the plugin's `webhook.handle` and handing
|
|
6
6
|
* its events to `onEvent` (platform ack deadlines are a few seconds). Past it the kernel answers 503.
|
|
@@ -8,6 +8,15 @@ import type { ChannelInbound } from "./inbound.js";
|
|
|
8
8
|
export declare const WEBHOOK_HANDLE_TIMEOUT_MS = 10000;
|
|
9
9
|
/** How long a connection's decrypted runtime (plugin + config) is reused across requests. */
|
|
10
10
|
export declare const WEBHOOK_RUNTIME_CACHE_MS = 5000;
|
|
11
|
+
/** The timings of {@link ChannelWebhooks}. */
|
|
12
|
+
export interface ChannelWebhookTimings {
|
|
13
|
+
/** The deadline of one request (ms), default {@link WEBHOOK_HANDLE_TIMEOUT_MS}. */
|
|
14
|
+
handleTimeoutMs: number;
|
|
15
|
+
/** How long a connection's runtime is reused (ms; 0 disables the cache), default {@link WEBHOOK_RUNTIME_CACHE_MS}. */
|
|
16
|
+
runtimeCacheMs: number;
|
|
17
|
+
}
|
|
18
|
+
/** Optional provider: {@link ChannelWebhookTimings} that replace some defaults (tests). */
|
|
19
|
+
export declare const CHANNEL_WEBHOOK_TIMINGS: unique symbol;
|
|
11
20
|
/** Most connections whose runtime is cached in one process. */
|
|
12
21
|
export declare const WEBHOOK_RUNTIME_CACHE_MAX = 1000;
|
|
13
22
|
/**
|
|
@@ -15,17 +24,8 @@ export declare const WEBHOOK_RUNTIME_CACHE_MAX = 1000;
|
|
|
15
24
|
* be rendered or sniffed by a browser).
|
|
16
25
|
*/
|
|
17
26
|
export declare const WEBHOOK_SECURITY_HEADERS: Readonly<Record<string, string>>;
|
|
18
|
-
export interface ChannelWebhooksDeps {
|
|
19
|
-
connections: Pick<ChannelConnections, "row" | "runtime">;
|
|
20
|
-
inbound: Pick<ChannelInbound, "onEvent">;
|
|
21
|
-
log: Pick<Logger, "warn">;
|
|
22
|
-
/** Defaults to {@link WEBHOOK_HANDLE_TIMEOUT_MS}. */
|
|
23
|
-
handleTimeoutMs?: number;
|
|
24
|
-
/** Defaults to {@link WEBHOOK_RUNTIME_CACHE_MS}; 0 disables the cache. */
|
|
25
|
-
runtimeCacheMs?: number;
|
|
26
|
-
}
|
|
27
27
|
/**
|
|
28
|
-
* Channel webhook inbound (F8 / F9),
|
|
28
|
+
* Channel webhook inbound (F8 / F9), gateway role only. The gateway route
|
|
29
29
|
* `POST /channels/webhook/:connectionId` hands every request here; the kernel applies no auth, so
|
|
30
30
|
* everything a request can do goes through the plugin's `webhook.handle`, which verifies the
|
|
31
31
|
* signature, decrypts and checks timestamps:
|
|
@@ -57,11 +57,17 @@ export interface ChannelWebhooksDeps {
|
|
|
57
57
|
* counter keeps a fetch that started before `invalidateAll` from storing the old plugin instance.
|
|
58
58
|
*/
|
|
59
59
|
export declare class ChannelWebhooks {
|
|
60
|
-
private readonly
|
|
60
|
+
private readonly connections;
|
|
61
|
+
private readonly inbound;
|
|
62
|
+
private readonly log;
|
|
61
63
|
private readonly runtimes;
|
|
62
64
|
/** Bumped by {@link invalidateAll}: a fetch started before the bump is not stored. */
|
|
63
65
|
private generation;
|
|
64
|
-
|
|
66
|
+
/** The deadline of one request. */
|
|
67
|
+
private readonly handleTimeoutMs;
|
|
68
|
+
/** How long a connection's runtime is reused; 0 disables the cache. */
|
|
69
|
+
private readonly runtimeCacheMs;
|
|
70
|
+
constructor(connections: Pick<ChannelConnections, "row" | "runtime">, inbound: Pick<ChannelInbound, "onEvent">, log: Pick<Logger, "warn">, timings?: Partial<ChannelWebhookTimings>);
|
|
65
71
|
/** Drops the cached runtime of one connection (on `channel.changed`). */
|
|
66
72
|
invalidate(connectionId: string): void;
|
|
67
73
|
/** Drops every cached runtime (a plugin was replaced, revoked or reloaded). */
|
package/dist/channels/webhook.js
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable, Optional } from "@nestjs/common";
|
|
1
11
|
import { ApiError, errorBody } from "../errors.js";
|
|
2
12
|
import { ExtensionUnloadedError } from "../extensions/inflight.js";
|
|
13
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
14
|
+
import { ChannelConnections } from "./connections.service.js";
|
|
15
|
+
import { ChannelInbound } from "./inbound.js";
|
|
3
16
|
/**
|
|
4
17
|
* Deadline of one webhook request: connection lookups, the plugin's `webhook.handle` and handing
|
|
5
18
|
* its events to `onEvent` (platform ack deadlines are a few seconds). Past it the kernel answers 503.
|
|
@@ -7,6 +20,8 @@ import { ExtensionUnloadedError } from "../extensions/inflight.js";
|
|
|
7
20
|
export const WEBHOOK_HANDLE_TIMEOUT_MS = 10_000;
|
|
8
21
|
/** How long a connection's decrypted runtime (plugin + config) is reused across requests. */
|
|
9
22
|
export const WEBHOOK_RUNTIME_CACHE_MS = 5_000;
|
|
23
|
+
/** Optional provider: {@link ChannelWebhookTimings} that replace some defaults (tests). */
|
|
24
|
+
export const CHANNEL_WEBHOOK_TIMINGS = Symbol("CHANNEL_WEBHOOK_TIMINGS");
|
|
10
25
|
/** Most connections whose runtime is cached in one process. */
|
|
11
26
|
export const WEBHOOK_RUNTIME_CACHE_MAX = 1_000;
|
|
12
27
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
@@ -60,7 +75,7 @@ function raceAbort(p, signal) {
|
|
|
60
75
|
});
|
|
61
76
|
}
|
|
62
77
|
/**
|
|
63
|
-
* Channel webhook inbound (F8 / F9),
|
|
78
|
+
* Channel webhook inbound (F8 / F9), gateway role only. The gateway route
|
|
64
79
|
* `POST /channels/webhook/:connectionId` hands every request here; the kernel applies no auth, so
|
|
65
80
|
* everything a request can do goes through the plugin's `webhook.handle`, which verifies the
|
|
66
81
|
* signature, decrypts and checks timestamps:
|
|
@@ -91,13 +106,23 @@ function raceAbort(p, signal) {
|
|
|
91
106
|
* mode switch, deletion…) and {@link invalidateAll} when a plugin instance changes; a generation
|
|
92
107
|
* counter keeps a fetch that started before `invalidateAll` from storing the old plugin instance.
|
|
93
108
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
109
|
+
let ChannelWebhooks = class ChannelWebhooks {
|
|
110
|
+
connections;
|
|
111
|
+
inbound;
|
|
112
|
+
log;
|
|
96
113
|
runtimes = new Map();
|
|
97
114
|
/** Bumped by {@link invalidateAll}: a fetch started before the bump is not stored. */
|
|
98
115
|
generation = 0;
|
|
99
|
-
|
|
100
|
-
|
|
116
|
+
/** The deadline of one request. */
|
|
117
|
+
handleTimeoutMs;
|
|
118
|
+
/** How long a connection's runtime is reused; 0 disables the cache. */
|
|
119
|
+
runtimeCacheMs;
|
|
120
|
+
constructor(connections, inbound, log, timings = {}) {
|
|
121
|
+
this.connections = connections;
|
|
122
|
+
this.inbound = inbound;
|
|
123
|
+
this.log = log;
|
|
124
|
+
this.handleTimeoutMs = timings.handleTimeoutMs ?? WEBHOOK_HANDLE_TIMEOUT_MS;
|
|
125
|
+
this.runtimeCacheMs = timings.runtimeCacheMs ?? WEBHOOK_RUNTIME_CACHE_MS;
|
|
101
126
|
}
|
|
102
127
|
/** Drops the cached runtime of one connection (on `channel.changed`). */
|
|
103
128
|
invalidate(connectionId) {
|
|
@@ -112,13 +137,13 @@ export class ChannelWebhooks {
|
|
|
112
137
|
return secure(await this.respond(connectionId, request, signal));
|
|
113
138
|
}
|
|
114
139
|
async runtime(connectionId, deadline) {
|
|
115
|
-
const ttl = this.
|
|
140
|
+
const ttl = this.runtimeCacheMs;
|
|
116
141
|
const now = Date.now();
|
|
117
142
|
const hit = this.runtimes.get(connectionId);
|
|
118
143
|
if (hit && hit.expiresAt > now)
|
|
119
144
|
return hit.value;
|
|
120
145
|
const generation = this.generation;
|
|
121
|
-
const value = await raceAbort(this.
|
|
146
|
+
const value = await raceAbort(this.connections.runtime(connectionId), deadline);
|
|
122
147
|
// A plugin instance changed while fetching: use the value once, keep no stale instance
|
|
123
148
|
if (ttl > 0 && generation === this.generation) {
|
|
124
149
|
this.runtimes.delete(connectionId);
|
|
@@ -137,22 +162,19 @@ export class ChannelWebhooks {
|
|
|
137
162
|
return notFound();
|
|
138
163
|
// One deadline for the whole request (DB lookups, handle, onEvent); also aborts when the
|
|
139
164
|
// platform hangs up
|
|
140
|
-
const deadline = AbortSignal.any([
|
|
141
|
-
signal,
|
|
142
|
-
AbortSignal.timeout(this.deps.handleTimeoutMs ?? WEBHOOK_HANDLE_TIMEOUT_MS),
|
|
143
|
-
]);
|
|
165
|
+
const deadline = AbortSignal.any([signal, AbortSignal.timeout(this.handleTimeoutMs)]);
|
|
144
166
|
try {
|
|
145
167
|
return await this.respondBefore(connectionId, request, deadline);
|
|
146
168
|
}
|
|
147
169
|
catch (err) {
|
|
148
170
|
if (!(err instanceof WebhookDeadline))
|
|
149
171
|
throw err;
|
|
150
|
-
this.
|
|
172
|
+
this.log.warn("channel webhook timed out; the platform will retry", { connectionId });
|
|
151
173
|
return retryLater();
|
|
152
174
|
}
|
|
153
175
|
}
|
|
154
176
|
async respondBefore(connectionId, request, deadline) {
|
|
155
|
-
const row = await raceAbort(this.
|
|
177
|
+
const row = await raceAbort(this.connections.row(connectionId), deadline);
|
|
156
178
|
if (row === undefined ||
|
|
157
179
|
row.inboundMode !== "webhook" ||
|
|
158
180
|
row.status !== "active" ||
|
|
@@ -171,7 +193,7 @@ export class ChannelWebhooks {
|
|
|
171
193
|
(err.code === "channel.not_found" || err.code === "extension.not_enabled")) {
|
|
172
194
|
return notFound();
|
|
173
195
|
}
|
|
174
|
-
this.
|
|
196
|
+
this.log.warn("channel webhook cannot load its connection", {
|
|
175
197
|
connectionId,
|
|
176
198
|
code: err instanceof ApiError ? err.code : undefined,
|
|
177
199
|
});
|
|
@@ -200,13 +222,13 @@ export class ChannelWebhooks {
|
|
|
200
222
|
}
|
|
201
223
|
catch (err) {
|
|
202
224
|
if (err instanceof WebhookDeadline) {
|
|
203
|
-
this.
|
|
225
|
+
this.log.warn("channel webhook handler timed out; the platform will retry", {
|
|
204
226
|
connectionId,
|
|
205
227
|
});
|
|
206
228
|
return retryLater();
|
|
207
229
|
}
|
|
208
230
|
// The kernel log redacts the connection's secrets (runtime() registered them)
|
|
209
|
-
this.
|
|
231
|
+
this.log.warn("channel webhook handler failed", { connectionId, err });
|
|
210
232
|
return jsonError(500, "internal", "Internal error");
|
|
211
233
|
}
|
|
212
234
|
finally {
|
|
@@ -223,10 +245,10 @@ export class ChannelWebhooks {
|
|
|
223
245
|
break;
|
|
224
246
|
for (const e of events) {
|
|
225
247
|
try {
|
|
226
|
-
await raceAbort(this.
|
|
248
|
+
await raceAbort(this.inbound.onEvent(connectionId, e), deadline);
|
|
227
249
|
}
|
|
228
250
|
catch (err) {
|
|
229
|
-
this.
|
|
251
|
+
this.log.warn("channel webhook event not accepted; the platform will retry", {
|
|
230
252
|
connectionId,
|
|
231
253
|
...(err instanceof WebhookDeadline ? { timedOut: true } : { err }),
|
|
232
254
|
});
|
|
@@ -236,10 +258,19 @@ export class ChannelWebhooks {
|
|
|
236
258
|
return sanitize(result.ack);
|
|
237
259
|
}
|
|
238
260
|
}
|
|
239
|
-
this.
|
|
261
|
+
this.log.warn("channel webhook handler returned an invalid result", { connectionId });
|
|
240
262
|
return jsonError(500, "internal", "Internal error");
|
|
241
263
|
}
|
|
242
|
-
}
|
|
264
|
+
};
|
|
265
|
+
ChannelWebhooks = __decorate([
|
|
266
|
+
Injectable(),
|
|
267
|
+
__param(0, Inject(ChannelConnections)),
|
|
268
|
+
__param(1, Inject(ChannelInbound)),
|
|
269
|
+
__param(2, Inject(KERNEL_LOGGER)),
|
|
270
|
+
__param(3, Optional()),
|
|
271
|
+
__param(3, Inject(CHANNEL_WEBHOOK_TIMINGS))
|
|
272
|
+
], ChannelWebhooks);
|
|
273
|
+
export { ChannelWebhooks };
|
|
243
274
|
/** Generic codes for the statuses a plugin may reject with (same as the HTTP error filter's). */
|
|
244
275
|
const REJECT_CODES = { 400: "validation_failed", 401: "auth.required", 403: "forbidden" };
|
|
245
276
|
function rejected(status) {
|
package/dist/config/docs.js
CHANGED
|
@@ -63,7 +63,9 @@ export function renderConfigDocs(schema) {
|
|
|
63
63
|
// body and package upload limits), apps/web/server.mjs (PORT / CAPYBARA_WEB_HOST) and
|
|
64
64
|
// apps/web/src/dev/catalog/routes.tsx (CAPYBARA_DEV_UI); change this text together with them.
|
|
65
65
|
// CAPYBARA_WEB_TRUST_PROXY: apps/web/src/lib/peer.ts; CAPYBARA_WEB_SHUTDOWN_GRACE_MS: apps/web/server.mjs.
|
|
66
|
+
// CAPYBARA_WEB_KEEP_ALIVE_TIMEOUT_MS: apps/web/src/lib/keep-alive.ts.
|
|
66
67
|
// CAPYBARA_WEB_OBJECT_STORE_*: apps/web/src/lib/object-store-proxy.ts.
|
|
68
|
+
// CAPYBARA_WEB_GATEWAY_URL: apps/web/src/lib/device-connect-proxy.ts.
|
|
67
69
|
"## Web tier (apps/web) environment variables",
|
|
68
70
|
"",
|
|
69
71
|
"The web tier is a separate process (started through `apps/web/server.mjs`); it does not read the kernel config and only honors the following environment variables:",
|
|
@@ -74,11 +76,13 @@ export function renderConfigDocs(schema) {
|
|
|
74
76
|
"| `PORT` / `CAPYBARA_WEB_HOST` | The web tier's listen port (default 3000) and address |",
|
|
75
77
|
"| `CAPYBARA_WEB_TRUST_PROXY` | Proxies in front of the web tier (TLS proxy, load balancer) trusted to report the client address in `X-Forwarded-For`: a hop count (`1` = the nearest proxy) or a list of IPs / CIDRs, comma-separated or a JSON array, in the grammar of `http.trustProxy` (dotted netmasks, `loopback` / `linklocal` / `uniquelocal`; a range that trusts every address such as `/0` is refused; no `true` / `false`). Unset (default) trusts nothing: the socket peer is the client, so behind a proxy every user shares the proxy's address for login rate limiting. A hop count is only safe when the web tier is reachable solely through exactly that many proxies. Either way the kernel receives one sanitized client address; a malformed value stops the web tier at startup |",
|
|
76
78
|
"| `CAPYBARA_WEB_SHUTDOWN_GRACE_MS` | Production only: after SIGTERM / SIGINT, how long in-flight requests (including SSE streams) may run before the process exits; default 5000 |",
|
|
79
|
+
"| `CAPYBARA_WEB_KEEP_ALIVE_TIMEOUT_MS` | How long an idle HTTP keep-alive connection to the web tier stays open, in milliseconds; default 65000. Keep it above the idle timeout of any load balancer or proxy in front of the web tier (often 60 s): otherwise the web tier may close a connection just as the proxy reuses it, and that request fails (a 502 at the proxy). A value that is not a positive integer stops the web tier at startup |",
|
|
77
80
|
"| `CAPYBARA_WEB_MAX_BODY_BYTES` | Request body limit of the `/api/*` proxy, default 1 MiB (matches the kernel's bodyLimit) |",
|
|
78
|
-
"| `CAPYBARA_WEB_MAX_PACKAGE_BYTES` | Request body limit for extension package and plugin uploads (`/api/v1/admin/extensions/packages/file`, `/api/v1/admin/catalog/import/file`), default 50 MiB, forwarded while being read. This is the web tier's limit; the kernel additionally rejects by `packages.maxBytes`. Raise both together, otherwise a large package uploaded through the web is first rejected by the web tier with a 413 |",
|
|
81
|
+
"| `CAPYBARA_WEB_MAX_PACKAGE_BYTES` | Request body limit for extension package and plugin uploads (`/api/v1/admin/extensions/packages/file`, `/api/v1/admin/catalog/import/file`, `/api/v1/orgs/:orgId/catalog/uploads/file`), default 50 MiB, forwarded while being read. This is the web tier's limit; the kernel additionally rejects by `packages.maxBytes`. Raise both together, otherwise a large package uploaded through the web is first rejected by the web tier with a 413 |",
|
|
79
82
|
"| `CAPYBARA_WEB_OBJECT_STORE_URL` | Object storage on the web origin: the object store's address as web reaches it (e.g. `http://seaweedfs-s3:8333`). When set, web proxies `/<bucket>/**` (and `/<bucket>` itself for POST only) there, so browsers upload attachments (presigned POST) and download attachments and artifacts (presigned GET) through web; set the object-store extension's `publicEndpoint` to the web origin with `forcePathStyle: true`. Only GET, HEAD and POST; the path is forwarded unchanged; cookies and authorization are not forwarded; responses carry `X-Content-Type-Options: nosniff` and `Content-Security-Policy: sandbox`; uploads are capped at `CAPYBARA_WEB_MAX_PACKAGE_BYTES`. Unset (default): off |",
|
|
80
83
|
"| `CAPYBARA_WEB_OBJECT_STORE_BUCKET` | With `CAPYBARA_WEB_OBJECT_STORE_URL`: the bucket, equal to the object-store extension's `bucket` (it is the first path segment web proxies) |",
|
|
81
84
|
"| `CAPYBARA_WEB_OBJECT_STORE_PUBLIC_HOST` | With `CAPYBARA_WEB_OBJECT_STORE_URL`: the host of the extension's `publicEndpoint` (a host such as `capybara.example.com`, or that URL). Sent upstream as `Host` instead of the incoming one, because presigned URLs sign the host they were issued for and front proxies rewrite it |",
|
|
85
|
+
"| `CAPYBARA_WEB_GATEWAY_URL` | Connected machines on the web origin: a `gateway` replica's address as web reaches it (an http(s) URL, e.g. `http://gateway:8080`). WebSocket upgrades on exactly `/device/connect` are forwarded to it (`capybara-device` connects at `<http.publicUrl>/device/connect`). Unset, they go to `CAPYBARA_KERNEL_URL` (the kernel runs every role unless the deployment splits them), so only deployments with separate gateway replicas set it (compose does). A malformed value stops the web tier at startup |",
|
|
82
86
|
"| `CAPYBARA_DEV_UI` | When set to `1`, production builds also serve the `/dev/ui` component catalog page (off by default) |",
|
|
83
87
|
"",
|
|
84
88
|
].join("\n");
|
package/dist/config/load.d.ts
CHANGED
|
@@ -11,8 +11,9 @@ export declare function resolveConfig(raw: unknown, env: NodeJS.ProcessEnv): Ker
|
|
|
11
11
|
/** 选来源 → 深合并环境变量覆盖(优先级最高)→ 校验。 */
|
|
12
12
|
export declare function loadConfig(env: NodeJS.ProcessEnv): Promise<KernelConfig>;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
* {@link extensionConfigSources}
|
|
14
|
+
* Like {@link loadConfig}, and also where each extension deployment config field comes from (file
|
|
15
|
+
* / Nacos / environment, see {@link extensionConfigSources}): the `extensionConfigSources` option of
|
|
16
|
+
* `startKernelApp` / `createKernelApp`, by which the admin console marks these fields read-only (D8).
|
|
16
17
|
*/
|
|
17
18
|
export declare function loadConfigWithSources(env: NodeJS.ProcessEnv): Promise<{
|
|
18
19
|
config: KernelConfig;
|
package/dist/config/load.js
CHANGED
|
@@ -85,8 +85,9 @@ export async function loadConfig(env) {
|
|
|
85
85
|
return resolveConfig(await selectConfigSource(env).load(), env);
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
89
|
-
* {@link extensionConfigSources}
|
|
88
|
+
* Like {@link loadConfig}, and also where each extension deployment config field comes from (file
|
|
89
|
+
* / Nacos / environment, see {@link extensionConfigSources}): the `extensionConfigSources` option of
|
|
90
|
+
* `startKernelApp` / `createKernelApp`, by which the admin console marks these fields read-only (D8).
|
|
90
91
|
*/
|
|
91
92
|
export async function loadConfigWithSources(env) {
|
|
92
93
|
const raw = await selectConfigSource(env).load();
|
|
@@ -101,7 +101,14 @@ export function createNacosSource(opts) {
|
|
|
101
101
|
return doFetch(withToken(fresh), init);
|
|
102
102
|
}
|
|
103
103
|
async function fetchText(signal) {
|
|
104
|
-
|
|
104
|
+
// `tenant` too: Nacos 2.3 authorizes a namespace-scoped user by `tenant` only, and treats a
|
|
105
|
+
// request without it as the public namespace (403 for a user granted just this namespace)
|
|
106
|
+
const qs = new URLSearchParams({
|
|
107
|
+
dataId: opts.dataId,
|
|
108
|
+
group,
|
|
109
|
+
namespaceId: opts.namespace,
|
|
110
|
+
tenant: opts.namespace,
|
|
111
|
+
});
|
|
105
112
|
const timeout = AbortSignal.timeout(timeoutMs);
|
|
106
113
|
const combined = signal ? AbortSignal.any([signal, timeout]) : timeout;
|
|
107
114
|
let res;
|
|
@@ -150,7 +157,9 @@ export function createNacosSource(opts) {
|
|
|
150
157
|
const body = new URLSearchParams({ "Listening-Configs": `${entry}\u0001` });
|
|
151
158
|
let res;
|
|
152
159
|
try {
|
|
153
|
-
|
|
160
|
+
// The namespace in the body is not what Nacos authorizes; `tenant` is (see fetchText)
|
|
161
|
+
const qs = new URLSearchParams({ tenant: opts.namespace });
|
|
162
|
+
res = await authedFetch(`${server}/nacos/v1/cs/configs/listener?${qs}`, {
|
|
154
163
|
method: "POST",
|
|
155
164
|
headers: {
|
|
156
165
|
"Long-Pulling-Timeout": String(LONG_POLL_MS),
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export declare const KernelConfigSchema: z.ZodObject<{
|
|
|
51
51
|
url: z.ZodString;
|
|
52
52
|
poolMax: z.ZodDefault<z.ZodNumber>;
|
|
53
53
|
connectTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
54
|
+
idleTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
54
55
|
}, z.core.$strip>>;
|
|
55
56
|
redis: z.ZodPrefault<z.ZodObject<{
|
|
56
57
|
url: z.ZodString;
|
|
@@ -72,6 +73,9 @@ export declare const KernelConfigSchema: z.ZodObject<{
|
|
|
72
73
|
npmToken: z.ZodOptional<z.ZodString>;
|
|
73
74
|
maxBytes: z.ZodDefault<z.ZodNumber>;
|
|
74
75
|
}, z.core.$strip>>;
|
|
76
|
+
bootstrap: z.ZodPrefault<z.ZodObject<{
|
|
77
|
+
dir: z.ZodDefault<z.ZodString>;
|
|
78
|
+
}, z.core.$strip>>;
|
|
75
79
|
catalog: z.ZodPrefault<z.ZodObject<{
|
|
76
80
|
staleInstallMinutes: z.ZodDefault<z.ZodNumber>;
|
|
77
81
|
}, z.core.$strip>>;
|
|
@@ -98,6 +102,7 @@ export declare const KernelConfigSchema: z.ZodObject<{
|
|
|
98
102
|
port: z.ZodDefault<z.ZodNumber>;
|
|
99
103
|
trustProxy: z.ZodDefault<z.ZodPreprocess<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber, z.ZodArray<z.ZodString>]>, unknown>>;
|
|
100
104
|
replicaId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
105
|
+
swagger: z.ZodDefault<z.ZodBoolean>;
|
|
101
106
|
publicUrl: z.ZodOptional<z.ZodURL>;
|
|
102
107
|
}, z.core.$strip>>;
|
|
103
108
|
roles: z.ZodDefault<z.ZodPreprocess<z.ZodArray<z.ZodEnum<{
|
|
@@ -115,6 +120,7 @@ export declare const KernelConfigSchema: z.ZodObject<{
|
|
|
115
120
|
}, z.core.$strip>>;
|
|
116
121
|
runtime: z.ZodDefault<z.ZodObject<{
|
|
117
122
|
maxSteps: z.ZodDefault<z.ZodNumber>;
|
|
123
|
+
wakeOnBackgroundTask: z.ZodDefault<z.ZodBoolean>;
|
|
118
124
|
maxRunSeconds: z.ZodDefault<z.ZodNumber>;
|
|
119
125
|
streamIdleMs: z.ZodDefault<z.ZodNumber>;
|
|
120
126
|
maxOutputTokens: z.ZodDefault<z.ZodNumber>;
|
|
@@ -171,15 +177,32 @@ export declare const KernelConfigSchema: z.ZodObject<{
|
|
|
171
177
|
requestMediaBytes: z.ZodDefault<z.ZodNumber>;
|
|
172
178
|
}, z.core.$strip>>;
|
|
173
179
|
subagents: z.ZodPrefault<z.ZodObject<{
|
|
174
|
-
|
|
180
|
+
maxDepth: z.ZodDefault<z.ZodNumber>;
|
|
181
|
+
maxConcurrentPerConversation: z.ZodDefault<z.ZodNumber>;
|
|
175
182
|
maxDispatchesPerRun: z.ZodDefault<z.ZodNumber>;
|
|
176
183
|
maxTokensPerRun: z.ZodDefault<z.ZodNumber>;
|
|
177
184
|
}, z.core.$strip>>;
|
|
185
|
+
web: z.ZodPrefault<z.ZodObject<{
|
|
186
|
+
search: z.ZodPrefault<z.ZodObject<{
|
|
187
|
+
maxResults: z.ZodDefault<z.ZodNumber>;
|
|
188
|
+
}, z.core.$strip>>;
|
|
189
|
+
fetch: z.ZodPrefault<z.ZodObject<{
|
|
190
|
+
maxPageChars: z.ZodDefault<z.ZodNumber>;
|
|
191
|
+
maxAnswerTokens: z.ZodDefault<z.ZodNumber>;
|
|
192
|
+
cacheSeconds: z.ZodDefault<z.ZodNumber>;
|
|
193
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
194
|
+
}, z.core.$strip>>;
|
|
195
|
+
}, z.core.$strip>>;
|
|
178
196
|
sandbox: z.ZodPrefault<z.ZodObject<{
|
|
179
|
-
image: z.
|
|
197
|
+
image: z.ZodOptional<z.ZodString>;
|
|
180
198
|
lockWaitSeconds: z.ZodDefault<z.ZodNumber>;
|
|
181
199
|
maxConcurrentCommands: z.ZodDefault<z.ZodNumber>;
|
|
182
200
|
deliverMaxBytes: z.ZodDefault<z.ZodNumber>;
|
|
201
|
+
background: z.ZodPrefault<z.ZodObject<{
|
|
202
|
+
maxTasks: z.ZodDefault<z.ZodNumber>;
|
|
203
|
+
maxSeconds: z.ZodDefault<z.ZodNumber>;
|
|
204
|
+
pollSeconds: z.ZodDefault<z.ZodNumber>;
|
|
205
|
+
}, z.core.$strip>>;
|
|
183
206
|
limits: z.ZodPrefault<z.ZodObject<{
|
|
184
207
|
cpu: z.ZodDefault<z.ZodNumber>;
|
|
185
208
|
memoryMb: z.ZodDefault<z.ZodNumber>;
|
|
@@ -196,6 +219,16 @@ export declare const KernelConfigSchema: z.ZodObject<{
|
|
|
196
219
|
allowHosts: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
197
220
|
}, z.core.$strip>>;
|
|
198
221
|
}, z.core.$strip>>;
|
|
222
|
+
environments: z.ZodPrefault<z.ZodObject<{
|
|
223
|
+
maxPersonal: z.ZodDefault<z.ZodNumber>;
|
|
224
|
+
device: z.ZodPrefault<z.ZodObject<{
|
|
225
|
+
reconnectGraceSeconds: z.ZodDefault<z.ZodNumber>;
|
|
226
|
+
leaseTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
227
|
+
authCodeTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
228
|
+
pollIntervalSeconds: z.ZodDefault<z.ZodNumber>;
|
|
229
|
+
maxFrameBytes: z.ZodDefault<z.ZodNumber>;
|
|
230
|
+
}, z.core.$strip>>;
|
|
231
|
+
}, z.core.$strip>>;
|
|
199
232
|
evals: z.ZodPrefault<z.ZodObject<{
|
|
200
233
|
orgConcurrency: z.ZodDefault<z.ZodNumber>;
|
|
201
234
|
workerConcurrency: z.ZodDefault<z.ZodNumber>;
|
|
@@ -206,18 +239,33 @@ export declare const KernelConfigSchema: z.ZodObject<{
|
|
|
206
239
|
judgeMaxOutputTokens: z.ZodDefault<z.ZodNumber>;
|
|
207
240
|
maxConsecutiveErrors: z.ZodDefault<z.ZodNumber>;
|
|
208
241
|
}, z.core.$strip>>;
|
|
242
|
+
models: z.ZodPrefault<z.ZodObject<{
|
|
243
|
+
listTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
244
|
+
embedTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
245
|
+
}, z.core.$strip>>;
|
|
209
246
|
hooks: z.ZodPrefault<z.ZodObject<{
|
|
210
247
|
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
211
248
|
usageReportConcurrency: z.ZodDefault<z.ZodNumber>;
|
|
212
249
|
usageReportKeepHours: z.ZodDefault<z.ZodNumber>;
|
|
213
250
|
}, z.core.$strip>>;
|
|
214
|
-
log: z.
|
|
251
|
+
log: z.ZodPrefault<z.ZodObject<{
|
|
215
252
|
level: z.ZodDefault<z.ZodEnum<{
|
|
216
253
|
debug: "debug";
|
|
217
254
|
error: "error";
|
|
218
255
|
info: "info";
|
|
219
256
|
warn: "warn";
|
|
220
257
|
}>>;
|
|
258
|
+
format: z.ZodDefault<z.ZodEnum<{
|
|
259
|
+
auto: "auto";
|
|
260
|
+
json: "json";
|
|
261
|
+
pretty: "pretty";
|
|
262
|
+
}>>;
|
|
263
|
+
loki: z.ZodPrefault<z.ZodObject<{
|
|
264
|
+
url: z.ZodOptional<z.ZodURL>;
|
|
265
|
+
username: z.ZodOptional<z.ZodString>;
|
|
266
|
+
password: z.ZodOptional<z.ZodString>;
|
|
267
|
+
labels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
268
|
+
}, z.core.$strip>>;
|
|
221
269
|
}, z.core.$strip>>;
|
|
222
270
|
}, z.core.$strip>;
|
|
223
271
|
export type KernelConfig = z.infer<typeof KernelConfigSchema>;
|