@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +85 -5
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +60 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +264 -0
- package/dist/catalog/catalog-content.js +430 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +677 -0
- package/dist/catalog/catalog-scope.service.d.ts +286 -0
- package/dist/catalog/catalog-scope.service.js +1196 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +144 -207
- package/dist/catalog/catalog.service.js +258 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +366 -0
- package/dist/catalog/component-scope.service.js +1115 -0
- package/dist/catalog/component-state.d.ts +197 -0
- package/dist/catalog/component-state.js +473 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +434 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +293 -71
- package/dist/catalog/plugin-import.js +1039 -281
- package/dist/catalog/plugin-install.d.ts +271 -66
- package/dist/catalog/plugin-install.js +1198 -344
- package/dist/catalog/plugin-package.d.ts +41 -4
- package/dist/catalog/plugin-package.js +140 -7
- package/dist/catalog/plugin-upgrade.d.ts +312 -188
- package/dist/catalog/plugin-upgrade.js +1371 -1065
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -202
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +36 -2
- package/dist/config/schema.js +226 -25
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -71
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +589 -27
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +160 -2
- package/dist/errors.js +160 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -124
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +99 -36
- package/dist/extensions/bootstrap.js +290 -134
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +93 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +46 -65
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +137 -38
- package/dist/identity/accounts.js +386 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +80 -33
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +69 -23
- package/dist/identity/settings.js +201 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +22 -13
- package/dist/index.js +16 -7
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +76 -14
- package/dist/orgs/settings.service.js +140 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +683 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +94 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +407 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +296 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +40 -0
- package/dist/platform/platform-ops.module.js +127 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +66 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -137
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -237
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -181
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/themes/render-css.d.ts +12 -0
- package/dist/themes/render-css.js +132 -0
- package/dist/themes/theme-delivery.service.d.ts +34 -0
- package/dist/themes/theme-delivery.service.js +111 -0
- package/dist/themes/theme-state.d.ts +95 -0
- package/dist/themes/theme-state.js +203 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +28 -0
- package/dist/themes/themes-public.controller.js +92 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +137 -37
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +13 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
|
@@ -1,14 +1,60 @@
|
|
|
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
|
-
import { visibleTo } from "../agents/
|
|
13
|
+
import { AgentLookup, visibleTo } from "../agents/agent-lookup.js";
|
|
14
|
+
import { BackgroundTaskStopper } from "../background/stop.js";
|
|
15
|
+
import { unbindConversation } from "../channels/threads.js";
|
|
16
|
+
import { ConversationEnvironments, } from "../environments/conversation-environments.js";
|
|
4
17
|
import { ApiError } from "../errors.js";
|
|
5
|
-
import {
|
|
6
|
-
|
|
18
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
19
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
20
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
21
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
22
|
+
import { ProviderRegistry } from "../runtime/providers.js";
|
|
23
|
+
import { RunControl as RunControlService } from "../runtime/run-control.js";
|
|
24
|
+
import { rootConversationOf } from "../runtime/subagents/child.js";
|
|
25
|
+
import { SkillInvoker } from "../skills/invoke.js";
|
|
26
|
+
import { ConnectorContent } from "../tools/connector-content.js";
|
|
27
|
+
import { ConversationAccess, parentReachable } from "./access.js";
|
|
28
|
+
import { readAgentTree } from "./agent-tree.js";
|
|
29
|
+
import { AttachmentsService } from "./attachments.service.js";
|
|
30
|
+
import { EventLog } from "./event-log.js";
|
|
31
|
+
import { userMessageIdemKey } from "./idem-keys.js";
|
|
32
|
+
import { readMessageContext, } from "./message-context.js";
|
|
33
|
+
import { NO_SELECTION, planSelection, readSelection } from "./selection.js";
|
|
34
|
+
import { conversationTree } from "./tree.js";
|
|
35
|
+
/** Escapes `\`, `%` and `_` so user text is matched literally by `LIKE … ESCAPE '\'`. */
|
|
36
|
+
export function escapeLike(s) {
|
|
37
|
+
return s.replace(/[\\%_]/g, (ch) => `\\${ch}`);
|
|
38
|
+
}
|
|
7
39
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
40
|
+
* SQL for the activity of the conversation row aliased/named `ref` (a correlated subquery).
|
|
41
|
+
* A run waiting on its sub-agents (status waiting with `wait_expires_at`, set only for a
|
|
42
|
+
* `subagents` wait) is still working, so it reports `running`; only a wait for a person
|
|
43
|
+
* (approval, input) reports `waiting`.
|
|
10
44
|
*/
|
|
11
|
-
|
|
45
|
+
function activitySql(ref) {
|
|
46
|
+
const id = sql.ref(`${ref}.id`);
|
|
47
|
+
return sql `(
|
|
48
|
+
SELECT CASE
|
|
49
|
+
WHEN lr.status IN ('queued', 'running') THEN 'running'
|
|
50
|
+
WHEN lr.status = 'waiting' AND lr.wait_expires_at IS NOT NULL THEN 'running'
|
|
51
|
+
WHEN lr.status = 'waiting' THEN 'waiting' END
|
|
52
|
+
FROM capybara.runs lr WHERE lr.conversation_id = ${id}
|
|
53
|
+
ORDER BY lr.created_at DESC, lr.id DESC LIMIT 1
|
|
54
|
+
)`;
|
|
55
|
+
}
|
|
56
|
+
const notFound = () => new ApiError("conversation.not_found", "Conversation not found");
|
|
57
|
+
export { userMessageIdemKey } from "./idem-keys.js";
|
|
12
58
|
const COLUMNS = [
|
|
13
59
|
"id",
|
|
14
60
|
"org_id",
|
|
@@ -22,6 +68,8 @@ const COLUMNS = [
|
|
|
22
68
|
"updated_at",
|
|
23
69
|
"parent_conversation_id",
|
|
24
70
|
"subagent_type",
|
|
71
|
+
"archived_at",
|
|
72
|
+
"environment_id",
|
|
25
73
|
];
|
|
26
74
|
function toView(r) {
|
|
27
75
|
return {
|
|
@@ -37,29 +85,18 @@ function toView(r) {
|
|
|
37
85
|
updatedAt: r.updated_at,
|
|
38
86
|
parentConversationId: r.parent_conversation_id,
|
|
39
87
|
subagentType: r.subagent_type,
|
|
88
|
+
archivedAt: r.archived_at,
|
|
89
|
+
environmentId: r.environment_id,
|
|
90
|
+
activity: r.activity ?? null,
|
|
40
91
|
};
|
|
41
92
|
}
|
|
42
93
|
/** The longest conversation title (characters, after trimming). */
|
|
43
94
|
export const CONVERSATION_TITLE_MAX_CHARS = 120;
|
|
44
95
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* not deleted and still visible to the viewer. Any other kind passes. The child's own `agent_id`
|
|
48
|
-
* (the dispatched agent for an org agent, §5.5) is checked on top by the callers.
|
|
96
|
+
* How far back a `before` page of events reaches past its `limit` for the start of a turn (history
|
|
97
|
+
* paging spec §2); a longer run starts mid-run.
|
|
49
98
|
*/
|
|
50
|
-
const
|
|
51
|
-
eb("conversations.kind", "<>", "subagent"),
|
|
52
|
-
eb.exists(eb
|
|
53
|
-
.selectFrom("conversations as p")
|
|
54
|
-
.innerJoin("agents", "agents.id", "p.agent_id")
|
|
55
|
-
.select(sql `1`.as("one"))
|
|
56
|
-
.whereRef("p.id", "=", "conversations.parent_conversation_id")
|
|
57
|
-
.whereRef("p.org_id", "=", "conversations.org_id")
|
|
58
|
-
.where("p.account_id", "=", viewerAccountId)
|
|
59
|
-
.where("p.kind", "=", "chat")
|
|
60
|
-
.where("agents.deleted_at", "is", null)
|
|
61
|
-
.where(visibleTo(viewerAccountId))),
|
|
62
|
-
]);
|
|
99
|
+
export const EVENTS_TURN_EXTEND = 2000;
|
|
63
100
|
/** The sums of the `usage` events matching `where` (over `conversation_events e`), one row. */
|
|
64
101
|
const usageSums = (where) => sql `
|
|
65
102
|
SELECT
|
|
@@ -80,48 +117,76 @@ const toUsage = (r) => ({
|
|
|
80
117
|
* 会话:只有所有者可见;每次访问都实时复核 agent 对所有者仍可用(spec 3.6 R5),
|
|
81
118
|
* 不可用时会话也按不存在处理(`conversation.not_found`)。
|
|
82
119
|
*/
|
|
83
|
-
|
|
120
|
+
let ConversationsService = class ConversationsService {
|
|
84
121
|
db;
|
|
85
122
|
eventLog;
|
|
86
123
|
agents;
|
|
124
|
+
access;
|
|
87
125
|
runs;
|
|
126
|
+
providers;
|
|
88
127
|
log;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
models;
|
|
128
|
+
content;
|
|
129
|
+
attachments;
|
|
92
130
|
invoker;
|
|
93
|
-
|
|
131
|
+
background;
|
|
132
|
+
environments;
|
|
133
|
+
txHost;
|
|
134
|
+
constructor(db, eventLog, agents, access,
|
|
135
|
+
/** Starts and stops the conversation's runs. */
|
|
136
|
+
runs,
|
|
94
137
|
/** Resolves a switched-to model and its declared parameters (UI refresh B). */
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
|
|
138
|
+
providers, log,
|
|
139
|
+
/** Reads `@` resources with the sender's credentials. */
|
|
140
|
+
content,
|
|
141
|
+
/** Binds uploaded files to the conversation in the message's transaction. */
|
|
142
|
+
attachments,
|
|
143
|
+
/** Renders a person's skill invocation (phase D). */
|
|
144
|
+
invoker,
|
|
145
|
+
/** Stops a deleted conversation's background tasks. */
|
|
146
|
+
background,
|
|
147
|
+
/** The environment a new conversation is bound to (environments spec §4.1 item 1). */
|
|
148
|
+
environments, txHost) {
|
|
98
149
|
this.db = db;
|
|
99
150
|
this.eventLog = eventLog;
|
|
100
151
|
this.agents = agents;
|
|
152
|
+
this.access = access;
|
|
101
153
|
this.runs = runs;
|
|
154
|
+
this.providers = providers;
|
|
102
155
|
this.log = log;
|
|
103
|
-
this.
|
|
104
|
-
this.
|
|
105
|
-
this.models = models;
|
|
156
|
+
this.content = content;
|
|
157
|
+
this.attachments = attachments;
|
|
106
158
|
this.invoker = invoker;
|
|
159
|
+
this.background = background;
|
|
160
|
+
this.environments = environments;
|
|
161
|
+
this.txHost = txHost;
|
|
107
162
|
}
|
|
108
163
|
/**
|
|
109
164
|
* 不阻塞地调用一次 `ensureRun`(打开 SSE、读事件时):它幂等,并顺带清理孤儿运行,
|
|
110
165
|
* 会话不会因为某次运行结束后的投递失败而永远停在「运行中」。失败只记日志。
|
|
111
166
|
*/
|
|
112
167
|
kickRun(conversationId) {
|
|
113
|
-
if (!this.runs)
|
|
114
|
-
return;
|
|
115
168
|
this.runs
|
|
116
169
|
.ensureRun(conversationId)
|
|
117
|
-
.catch((err) => this.log
|
|
170
|
+
.catch((err) => this.log.warn("ensureRun on conversation open failed", { conversationId, err }));
|
|
118
171
|
}
|
|
119
|
-
/**
|
|
120
|
-
|
|
172
|
+
/**
|
|
173
|
+
* Creates an empty conversation bound to its environment (`pick`, see
|
|
174
|
+
* {@link ConversationEnvironments.forNew}); an agent the account cannot use →
|
|
175
|
+
* `agent.not_found`, an environment it may not use → `environment.not_found` /
|
|
176
|
+
* `environment.unavailable`, and nothing is created.
|
|
177
|
+
*/
|
|
178
|
+
async create(orgId, accountId, agentId, pick = {}) {
|
|
121
179
|
await this.agents.get(orgId, agentId, accountId);
|
|
180
|
+
const environmentId = await this.environments.forNew(orgId, accountId, pick);
|
|
122
181
|
const row = await this.db
|
|
123
182
|
.insertInto("conversations")
|
|
124
|
-
.values({
|
|
183
|
+
.values({
|
|
184
|
+
id: randomUUID(),
|
|
185
|
+
org_id: orgId,
|
|
186
|
+
agent_id: agentId,
|
|
187
|
+
account_id: accountId,
|
|
188
|
+
environment_id: environmentId,
|
|
189
|
+
})
|
|
125
190
|
.returning(COLUMNS)
|
|
126
191
|
.executeTakeFirstOrThrow();
|
|
127
192
|
return toView(row);
|
|
@@ -132,48 +197,56 @@ export class ConversationsService {
|
|
|
132
197
|
* message's `clientMessageId` (`create_request_id`), so a retried send returns the same
|
|
133
198
|
* conversation and event with `created: false`. An agent the caller cannot use →
|
|
134
199
|
* `agent.not_found` and nothing is written. Queues a run afterwards, like `postUserMessage`.
|
|
200
|
+
* `events` are every event the create wrote, in seq order from seq 1 (a `model_switched` before
|
|
201
|
+
* the message when the send switched), so a client can seed the new conversation's log whole.
|
|
135
202
|
*/
|
|
136
|
-
async createWithMessage(orgId, accountId, agentId, input) {
|
|
203
|
+
async createWithMessage(orgId, accountId, agentId, input, pick = {}) {
|
|
137
204
|
const agent = await this.agents.get(orgId, agentId, accountId);
|
|
138
205
|
const prior = await this.findCreated(orgId, accountId, agentId, input.clientMessageId);
|
|
139
206
|
if (prior)
|
|
140
207
|
return prior;
|
|
141
|
-
this.
|
|
142
|
-
const next = await this.planSwitch(agent.definition, NO_SELECTION, input);
|
|
208
|
+
const environmentId = await this.environments.forNew(orgId, accountId, pick);
|
|
209
|
+
const next = await this.planSwitch(orgId, agent.definition, NO_SELECTION, input);
|
|
143
210
|
const extra = await this.resolveExtra(orgId, accountId, input);
|
|
144
211
|
const invoked = await this.prepareSkill(orgId, agentId, undefined, agent.definition, input);
|
|
145
212
|
const id = randomUUID();
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
.values({
|
|
150
|
-
id,
|
|
151
|
-
org_id: orgId,
|
|
152
|
-
agent_id: agentId,
|
|
153
|
-
account_id: accountId,
|
|
154
|
-
create_request_id: input.clientMessageId,
|
|
155
|
-
})
|
|
156
|
-
.onConflict((oc) => oc
|
|
157
|
-
.columns(["org_id", "account_id", "create_request_id"])
|
|
158
|
-
.where("create_request_id", "is not", null)
|
|
159
|
-
.doNothing())
|
|
160
|
-
.returning("id")
|
|
161
|
-
.executeTakeFirst();
|
|
162
|
-
// a concurrent retry committed first: answer with its conversation below
|
|
163
|
-
if (!row)
|
|
164
|
-
return undefined;
|
|
165
|
-
const blocks = await this.bindIn(t, orgId, id, accountId, input.files ?? []);
|
|
166
|
-
return this.writeMessage(t, id, accountId, input, next, extra, blocks, invoked);
|
|
167
|
-
});
|
|
168
|
-
if (!written) {
|
|
213
|
+
const all = await this.createIn({ id, orgId, accountId, agentId, environmentId }, input, next, extra, invoked);
|
|
214
|
+
const written = all?.at(-1);
|
|
215
|
+
if (!all || !written) {
|
|
169
216
|
const raced = await this.findCreated(orgId, accountId, agentId, input.clientMessageId);
|
|
170
217
|
if (!raced)
|
|
171
218
|
throw new ApiError("conflict", "The conversation is being created; retry");
|
|
172
219
|
return raced;
|
|
173
220
|
}
|
|
174
221
|
await this.eventLog.notify(id, written.seq);
|
|
175
|
-
await this.runs
|
|
176
|
-
return { conversation: await this.rowView(id), event: written, created: true };
|
|
222
|
+
await this.runs.ensureRun(id);
|
|
223
|
+
return { conversation: await this.rowView(id), event: written, events: all, created: true };
|
|
224
|
+
}
|
|
225
|
+
/** The conversation row and its first message (undefined: a concurrent retry committed first). */
|
|
226
|
+
// its own transaction: the caller notifies and publishes after the commit
|
|
227
|
+
async createIn(conv, input, next, extra, invoked) {
|
|
228
|
+
const { id, orgId, accountId } = conv;
|
|
229
|
+
const row = await this.db
|
|
230
|
+
.insertInto("conversations")
|
|
231
|
+
.values({
|
|
232
|
+
id,
|
|
233
|
+
org_id: orgId,
|
|
234
|
+
agent_id: conv.agentId,
|
|
235
|
+
account_id: accountId,
|
|
236
|
+
environment_id: conv.environmentId,
|
|
237
|
+
create_request_id: input.clientMessageId,
|
|
238
|
+
})
|
|
239
|
+
.onConflict((oc) => oc
|
|
240
|
+
.columns(["org_id", "account_id", "create_request_id"])
|
|
241
|
+
.where("create_request_id", "is not", null)
|
|
242
|
+
.doNothing())
|
|
243
|
+
.returning("id")
|
|
244
|
+
.executeTakeFirst();
|
|
245
|
+
// a concurrent retry committed first: answer with its conversation below
|
|
246
|
+
if (!row)
|
|
247
|
+
return undefined;
|
|
248
|
+
const blocks = await this.bindIn(orgId, id, accountId, input.files ?? []);
|
|
249
|
+
return this.writeMessage(orgId, id, accountId, input, next, extra, blocks, invoked);
|
|
177
250
|
}
|
|
178
251
|
/**
|
|
179
252
|
* The conversation (and its first event) an earlier first send with this id created. The id used
|
|
@@ -197,8 +270,10 @@ export class ConversationsService {
|
|
|
197
270
|
const event = await this.eventLog.findByIdem(row.id, userMessageIdemKey(clientMessageId));
|
|
198
271
|
if (!event)
|
|
199
272
|
return null;
|
|
200
|
-
|
|
201
|
-
|
|
273
|
+
// what the first send wrote: the log from its start up to the message
|
|
274
|
+
const events = (await this.eventLog.readAfter(row.id, 0, event.seq)).filter((e) => e.seq <= event.seq);
|
|
275
|
+
await this.runs.ensureRun(row.id);
|
|
276
|
+
return { conversation: toView(row), event, events, created: false };
|
|
202
277
|
}
|
|
203
278
|
async rowView(id) {
|
|
204
279
|
return toView(await this.db
|
|
@@ -222,6 +297,65 @@ export class ConversationsService {
|
|
|
222
297
|
await this.eventLog.publishChanged(conversationId, "title");
|
|
223
298
|
return toView(row);
|
|
224
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Archives or unarchives a conversation (owner only, as {@link rename}). An archived
|
|
302
|
+
* conversation leaves the default lists but stays readable. Publishes `changed: archived`.
|
|
303
|
+
*/
|
|
304
|
+
async setArchived(orgId, conversationId, accountId, archived) {
|
|
305
|
+
await this.writable(orgId, conversationId, accountId);
|
|
306
|
+
const row = await this.db
|
|
307
|
+
.updateTable("conversations")
|
|
308
|
+
.set({ archived_at: archived ? sql `now()` : null })
|
|
309
|
+
.where("id", "=", conversationId)
|
|
310
|
+
.returning(COLUMNS)
|
|
311
|
+
.executeTakeFirstOrThrow();
|
|
312
|
+
await this.eventLog.publishChanged(conversationId, "archived");
|
|
313
|
+
return toView(row);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Soft-deletes a conversation (owner only; a sub-agent's conversation is `conversation.read_only`):
|
|
317
|
+
* stops an active run, hides the conversation everywhere for its owner and drops its channel
|
|
318
|
+
* bindings, stops every running background task in its sandbox (its sub-agents' too; outside
|
|
319
|
+
* the delete's transaction, a task whose sandbox cannot be reached ends `lost` with
|
|
320
|
+
* `kill_pending`), then every active run of its sub-agent tree (agent map spec §10). The tasks
|
|
321
|
+
* are stopped after the conversation is marked deleted, so no finish
|
|
322
|
+
* (the stops' own, or one the poller writes meanwhile) can wake a run on it: `ensureRun` refuses a
|
|
323
|
+
* deleted conversation (the stops' finishes carry `stoppedBy: "deletion"` as well). The event
|
|
324
|
+
* log, runs and trajectory stay (super admins still see them).
|
|
325
|
+
*/
|
|
326
|
+
async remove(orgId, conversationId, accountId) {
|
|
327
|
+
await this.writable(orgId, conversationId, accountId);
|
|
328
|
+
try {
|
|
329
|
+
await this.abort(orgId, conversationId, accountId);
|
|
330
|
+
}
|
|
331
|
+
catch (e) {
|
|
332
|
+
if (!(e instanceof ApiError && e.code === "run.not_active"))
|
|
333
|
+
throw e;
|
|
334
|
+
}
|
|
335
|
+
await this.markDeleted(conversationId);
|
|
336
|
+
// after the mark, so no finish or delivery of the stops below can start a run on the deleted
|
|
337
|
+
// root (`ensureRun` refuses it). The sandbox's tasks stop first, so the sub-agents' tasks end
|
|
338
|
+
// as a deletion; the tree stop then only stops a task a sub-agent started in between
|
|
339
|
+
// (`stoppedBy: "subagent_end"`, which never wakes either)
|
|
340
|
+
await this.background.stopForDeletedConversation(conversationId);
|
|
341
|
+
// the whole tree stops (agent map spec §10)
|
|
342
|
+
await this.runs.stopTree(conversationId, accountId, { includeSelf: false });
|
|
343
|
+
await this.eventLog.publishChanged(conversationId, "deleted");
|
|
344
|
+
}
|
|
345
|
+
// the publish happens after the commit, in the caller
|
|
346
|
+
async markDeleted(conversationId) {
|
|
347
|
+
await this.db
|
|
348
|
+
.updateTable("conversations")
|
|
349
|
+
.set({ deleted_at: sql `now()` })
|
|
350
|
+
.where("id", "=", conversationId)
|
|
351
|
+
.execute();
|
|
352
|
+
// Queued messages must not start a run on a deleted conversation
|
|
353
|
+
await this.db
|
|
354
|
+
.deleteFrom("conversation_queue")
|
|
355
|
+
.where("conversation_id", "=", conversationId)
|
|
356
|
+
.execute();
|
|
357
|
+
await unbindConversation(this.db.db, conversationId);
|
|
358
|
+
}
|
|
225
359
|
/** 读会话:非所有者、或 agent 已对所有者不可用 → `conversation.not_found`。 */
|
|
226
360
|
async get(orgId, conversationId, viewerAccountId) {
|
|
227
361
|
const { kind: _kind, ...row } = await this.readable(orgId, conversationId, viewerAccountId);
|
|
@@ -246,6 +380,7 @@ export class ConversationsService {
|
|
|
246
380
|
.where("id", "=", conversationId)
|
|
247
381
|
.where("org_id", "=", orgId)
|
|
248
382
|
.where("account_id", "=", viewerAccountId)
|
|
383
|
+
.where("deleted_at", "is", null)
|
|
249
384
|
// Hidden eval replay conversations (kind 'eval') are not reachable here (only the trajectory
|
|
250
385
|
// viewer shows them); a sub-agent's conversation is, for its owner (sub-agents spec §6.1)
|
|
251
386
|
.where("kind", "in", ["chat", "subagent"])
|
|
@@ -263,35 +398,9 @@ export class ConversationsService {
|
|
|
263
398
|
}
|
|
264
399
|
return row;
|
|
265
400
|
}
|
|
266
|
-
/**
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
* (`visibleTo` 已含「组织未删除、viewer 仍是成员」)。
|
|
270
|
-
*/
|
|
271
|
-
async isAccessible(orgId, conversationId, viewerAccountId) {
|
|
272
|
-
const row = await this.db
|
|
273
|
-
.selectFrom("conversations")
|
|
274
|
-
.select("conversations.id")
|
|
275
|
-
.where("conversations.id", "=", conversationId)
|
|
276
|
-
.where("conversations.org_id", "=", orgId)
|
|
277
|
-
.where("conversations.account_id", "=", viewerAccountId)
|
|
278
|
-
.where("conversations.kind", "in", ["chat", "subagent"])
|
|
279
|
-
.where(parentReachable(viewerAccountId))
|
|
280
|
-
.where((eb) => eb.and([
|
|
281
|
-
eb.exists(eb
|
|
282
|
-
.selectFrom("accounts")
|
|
283
|
-
.select(sql `1`.as("one"))
|
|
284
|
-
.where("accounts.id", "=", viewerAccountId)
|
|
285
|
-
.where("accounts.status", "=", "active")),
|
|
286
|
-
eb.exists(eb
|
|
287
|
-
.selectFrom("agents")
|
|
288
|
-
.select(sql `1`.as("one"))
|
|
289
|
-
.whereRef("agents.id", "=", "conversations.agent_id")
|
|
290
|
-
.where("agents.deleted_at", "is", null)
|
|
291
|
-
.where(visibleTo(viewerAccountId))),
|
|
292
|
-
]))
|
|
293
|
-
.executeTakeFirst();
|
|
294
|
-
return row !== undefined;
|
|
401
|
+
/** The stream's visibility check ({@link ConversationAccess.isAccessible}). */
|
|
402
|
+
isAccessible(orgId, conversationId, viewerAccountId) {
|
|
403
|
+
return this.access.isAccessible(orgId, conversationId, viewerAccountId);
|
|
295
404
|
}
|
|
296
405
|
/**
|
|
297
406
|
* 我的会话,最近更新的在前;只含 agent 仍可用的会话。`after` 为上一页最后一个会话的 id,
|
|
@@ -301,10 +410,13 @@ export class ConversationsService {
|
|
|
301
410
|
let q = this.db
|
|
302
411
|
.selectFrom("conversations")
|
|
303
412
|
.select(COLUMNS)
|
|
413
|
+
.select(activitySql("conversations").as("activity"))
|
|
304
414
|
.where("org_id", "=", orgId)
|
|
305
415
|
.where("account_id", "=", accountId)
|
|
306
416
|
// 评测回放的隐藏对话(kind = 'eval')不在「我的对话」里
|
|
307
417
|
.where("kind", "=", "chat")
|
|
418
|
+
.where("deleted_at", "is", null)
|
|
419
|
+
.where("archived_at", opts.archived === true ? "is not" : "is", null)
|
|
308
420
|
.where((eb) => eb.exists(eb
|
|
309
421
|
.selectFrom("agents")
|
|
310
422
|
.select(sql `1`.as("one"))
|
|
@@ -316,6 +428,12 @@ export class ConversationsService {
|
|
|
316
428
|
.limit(opts.limit);
|
|
317
429
|
if (opts.agentId !== undefined)
|
|
318
430
|
q = q.where("agent_id", "=", opts.agentId);
|
|
431
|
+
if (opts.q !== undefined) {
|
|
432
|
+
q = q.where(sql `conversations.title ILIKE ${`%${escapeLike(opts.q)}%`} ESCAPE '\\'`);
|
|
433
|
+
}
|
|
434
|
+
if (opts.state !== undefined) {
|
|
435
|
+
q = q.where(sql `${activitySql("conversations")} = ${opts.state}`);
|
|
436
|
+
}
|
|
319
437
|
if (opts.after !== undefined) {
|
|
320
438
|
const after = opts.after;
|
|
321
439
|
q = q.where((eb) => sql `(${eb.ref("updated_at")}, ${eb.ref("id")}) < (
|
|
@@ -339,6 +457,11 @@ export class ConversationsService {
|
|
|
339
457
|
.where("agents.org_id", "=", orgId)
|
|
340
458
|
.where("agents.deleted_at", "is", null)
|
|
341
459
|
.where(visibleTo(accountId));
|
|
460
|
+
const archivedFilter = opts.archived === true ? sql `c.archived_at IS NOT NULL` : sql `c.archived_at IS NULL`;
|
|
461
|
+
const searchFilter = opts.q === undefined
|
|
462
|
+
? sql ``
|
|
463
|
+
: sql `AND c.title ILIKE ${`%${escapeLike(opts.q)}%`} ESCAPE '\\'`;
|
|
464
|
+
const stateFilter = opts.state === undefined ? sql `` : sql `AND ${activitySql("c")} = ${opts.state}`;
|
|
342
465
|
const cursor = opts.after === undefined
|
|
343
466
|
? sql ``
|
|
344
467
|
: sql `WHERE (g.latest_at, g.agent_id) < (
|
|
@@ -349,6 +472,7 @@ export class ConversationsService {
|
|
|
349
472
|
SELECT c.agent_id, max(c.updated_at) AS latest_at
|
|
350
473
|
FROM capybara.conversations c
|
|
351
474
|
WHERE c.org_id = ${orgId} AND c.account_id = ${accountId} AND c.kind = 'chat'
|
|
475
|
+
AND c.deleted_at IS NULL AND ${archivedFilter} ${searchFilter} ${stateFilter}
|
|
352
476
|
AND c.agent_id IN ${visibleAgents}
|
|
353
477
|
GROUP BY c.agent_id
|
|
354
478
|
), page AS (
|
|
@@ -359,21 +483,24 @@ export class ConversationsService {
|
|
|
359
483
|
)
|
|
360
484
|
SELECT page.agent_id, page.latest_at, v.definition ->> 'name' AS agent_name,
|
|
361
485
|
cs.id, cs.org_id, cs.account_id, cs.title, cs.title_source, cs.selection, cs.last_seq,
|
|
362
|
-
cs.created_at, cs.updated_at, cs.parent_conversation_id, cs.subagent_type
|
|
486
|
+
cs.created_at, cs.updated_at, cs.parent_conversation_id, cs.subagent_type,
|
|
487
|
+
cs.archived_at, cs.environment_id, cs.activity
|
|
363
488
|
FROM page
|
|
364
489
|
JOIN capybara.agents a ON a.id = page.agent_id
|
|
365
490
|
JOIN capybara.agent_versions v ON v.agent_id = a.id AND v.version = a.current_version
|
|
366
491
|
CROSS JOIN LATERAL (
|
|
367
492
|
SELECT c.id, c.org_id, c.account_id, c.title, c.title_source, c.selection, c.last_seq,
|
|
368
|
-
c.created_at, c.updated_at, c.parent_conversation_id, c.subagent_type
|
|
493
|
+
c.created_at, c.updated_at, c.parent_conversation_id, c.subagent_type,
|
|
494
|
+
c.archived_at, c.environment_id, ${activitySql("c")} AS activity
|
|
369
495
|
FROM capybara.conversations c
|
|
370
496
|
WHERE c.org_id = ${orgId} AND c.account_id = ${accountId} AND c.kind = 'chat'
|
|
497
|
+
AND c.deleted_at IS NULL AND ${archivedFilter} ${searchFilter} ${stateFilter}
|
|
371
498
|
AND c.agent_id = page.agent_id
|
|
372
499
|
ORDER BY c.updated_at DESC, c.id DESC
|
|
373
500
|
LIMIT ${opts.perGroup + 1}
|
|
374
501
|
) cs
|
|
375
502
|
ORDER BY page.latest_at DESC, page.agent_id DESC, cs.updated_at DESC, cs.id DESC
|
|
376
|
-
`.execute(this.db);
|
|
503
|
+
`.execute(this.db.db);
|
|
377
504
|
const groups = [];
|
|
378
505
|
let current;
|
|
379
506
|
for (const r of rows) {
|
|
@@ -394,7 +521,14 @@ export class ConversationsService {
|
|
|
394
521
|
}
|
|
395
522
|
const page = groups.slice(0, opts.limit);
|
|
396
523
|
const next = groups.length > opts.limit ? (page.at(-1)?.agent.id ?? null) : null;
|
|
397
|
-
|
|
524
|
+
// The archived entry's count ignores `q` and `state`
|
|
525
|
+
const counted = await sql `
|
|
526
|
+
SELECT count(*) AS n FROM capybara.conversations c
|
|
527
|
+
WHERE c.org_id = ${orgId} AND c.account_id = ${accountId} AND c.kind = 'chat'
|
|
528
|
+
AND c.deleted_at IS NULL AND c.archived_at IS NOT NULL
|
|
529
|
+
AND c.agent_id IN ${visibleAgents}
|
|
530
|
+
`.execute(this.db.db);
|
|
531
|
+
return { groups: page, next, archivedCount: Number(counted.rows[0]?.n ?? 0) };
|
|
398
532
|
}
|
|
399
533
|
/**
|
|
400
534
|
* The sub-agents of a conversation, newest first (sub-agents spec §14.3); owner only, as
|
|
@@ -459,7 +593,7 @@ export class ConversationsService {
|
|
|
459
593
|
CROSS JOIN LATERAL (${usageSums(sql `e.conversation_id = c.id`)}) u
|
|
460
594
|
LEFT JOIN described d ON d.id = c.id
|
|
461
595
|
ORDER BY c.created_at DESC, c.id DESC
|
|
462
|
-
`.execute(this.db);
|
|
596
|
+
`.execute(this.db.db);
|
|
463
597
|
const subagents = rows.slice(0, opts.limit).map((r) => ({
|
|
464
598
|
id: r.id,
|
|
465
599
|
agentType: r.subagent_type ?? "",
|
|
@@ -476,26 +610,38 @@ export class ConversationsService {
|
|
|
476
610
|
return { subagents, next };
|
|
477
611
|
}
|
|
478
612
|
/**
|
|
479
|
-
*
|
|
480
|
-
*
|
|
613
|
+
* The agent tree of a root conversation (agent map spec §8, §9.2): the root and every sub-agent
|
|
614
|
+
* below it with status, model, time, tokens and tool calls. Owner only, as {@link isAccessible};
|
|
615
|
+
* a sub-agent's id (not a root) is `conversation.not_found` too.
|
|
616
|
+
*/
|
|
617
|
+
async agentTree(orgId, conversationId, viewerAccountId) {
|
|
618
|
+
if (!(await this.isAccessible(orgId, conversationId, viewerAccountId)))
|
|
619
|
+
throw notFound();
|
|
620
|
+
const root = await readAgentTree(this.db.db, orgId, conversationId);
|
|
621
|
+
if (!root)
|
|
622
|
+
throw notFound();
|
|
623
|
+
return { root };
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* A conversation's token usage: its own `usage` events (compaction included) plus those of every
|
|
627
|
+
* sub-agent below it, at any depth (sub-agents spec §8.3, agent map spec §6: every descendant
|
|
628
|
+
* counts toward the root; `conversationTree`), whose logs keep their own. Owner only, as
|
|
629
|
+
* {@link get}.
|
|
481
630
|
*/
|
|
482
631
|
async usage(orgId, conversationId, viewerAccountId) {
|
|
483
632
|
if (!(await this.isAccessible(orgId, conversationId, viewerAccountId)))
|
|
484
633
|
throw notFound();
|
|
485
|
-
const
|
|
486
|
-
|
|
487
|
-
UNION ALL
|
|
488
|
-
SELECT c.id FROM capybara.conversations c
|
|
489
|
-
WHERE c.parent_conversation_id = ${conversationId} AND c.kind = 'subagent'
|
|
490
|
-
)`)}`.execute(this.db);
|
|
634
|
+
const ids = (await conversationTree(this.db.db, conversationId)).map((c) => c.id);
|
|
635
|
+
const { rows } = await sql `${usageSums(sql `e.conversation_id IN (${sql.join(ids.length > 0 ? ids : [conversationId])})`)}`.execute(this.db.db);
|
|
491
636
|
const row = rows[0];
|
|
492
637
|
return row
|
|
493
638
|
? toUsage(row)
|
|
494
639
|
: { inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 };
|
|
495
640
|
}
|
|
496
641
|
/**
|
|
497
|
-
* The conversation whose sandbox `conversationId` works in: a sub-agent's is its
|
|
498
|
-
* (sub-agents spec §10.1), any other its own. Call
|
|
642
|
+
* The conversation whose sandbox `conversationId` works in: a sub-agent's is its root
|
|
643
|
+
* conversation's at any depth (sub-agents spec §10.1, agent map spec §6), any other its own. Call
|
|
644
|
+
* only after an access check.
|
|
499
645
|
*/
|
|
500
646
|
async sandboxConversationOf(orgId, conversationId) {
|
|
501
647
|
const row = await this.db
|
|
@@ -504,7 +650,9 @@ export class ConversationsService {
|
|
|
504
650
|
.where("id", "=", conversationId)
|
|
505
651
|
.where("org_id", "=", orgId)
|
|
506
652
|
.executeTakeFirst();
|
|
507
|
-
|
|
653
|
+
if (!row?.parent_conversation_id)
|
|
654
|
+
return conversationId;
|
|
655
|
+
return rootConversationOf(this.db.db, row.parent_conversation_id);
|
|
508
656
|
}
|
|
509
657
|
/** 读事件(先做 `get` 的可见性判定);顺带不阻塞地 {@link kickRun}。 */
|
|
510
658
|
async listEvents(orgId, conversationId, viewerAccountId, afterSeq, limit) {
|
|
@@ -512,6 +660,16 @@ export class ConversationsService {
|
|
|
512
660
|
this.kickRun(conversationId);
|
|
513
661
|
return this.eventLog.readAfter(conversationId, afterSeq, limit);
|
|
514
662
|
}
|
|
663
|
+
/**
|
|
664
|
+
* The turn-aligned page of events before `beforeSeq` (`null`: the log's last page), with how
|
|
665
|
+
* many runs started before it ({@link EventLog.readTurnPageBefore}; history paging spec §2).
|
|
666
|
+
* Visibility as {@link get}; kicks a stalled run as {@link listEvents} does.
|
|
667
|
+
*/
|
|
668
|
+
async listEventsBefore(orgId, conversationId, viewerAccountId, beforeSeq, limit) {
|
|
669
|
+
await this.get(orgId, conversationId, viewerAccountId);
|
|
670
|
+
this.kickRun(conversationId);
|
|
671
|
+
return this.eventLog.readTurnPageBefore(conversationId, beforeSeq, limit, EVENTS_TURN_EXTEND);
|
|
672
|
+
}
|
|
515
673
|
/**
|
|
516
674
|
* 追加一条用户消息;带 `clientMessageId` 时重复提交返回同一事件。写入后调用 `ensureRun`:
|
|
517
675
|
* 没有进行中的运行时投递一轮;运行中则由当前运行在步骤间隙吸收,或在它结束时再次 `ensureRun`。
|
|
@@ -529,13 +687,12 @@ export class ConversationsService {
|
|
|
529
687
|
const conv = await this.writable(orgId, conversationId, accountId);
|
|
530
688
|
const refs = input.attachments ?? [];
|
|
531
689
|
const files = input.files ?? [];
|
|
532
|
-
this.checkFilesSupported(input);
|
|
533
690
|
// A retry returns the written event (no resource read, no file check, no skill resolution)
|
|
534
691
|
if ((refs.length > 0 || files.length > 0 || input.skill !== undefined) &&
|
|
535
692
|
input.clientMessageId !== undefined) {
|
|
536
693
|
const existing = await this.eventLog.findByIdem(conversationId, userMessageIdemKey(input.clientMessageId));
|
|
537
694
|
if (existing) {
|
|
538
|
-
await this.runs
|
|
695
|
+
await this.runs.ensureRun(conversationId);
|
|
539
696
|
return existing;
|
|
540
697
|
}
|
|
541
698
|
}
|
|
@@ -545,48 +702,54 @@ export class ConversationsService {
|
|
|
545
702
|
: undefined;
|
|
546
703
|
const next = agent === undefined || (input.model === undefined && input.effort === undefined)
|
|
547
704
|
? null
|
|
548
|
-
: await this.planSwitch(agent, conv.selection, input);
|
|
705
|
+
: await this.planSwitch(orgId, agent, conv.selection, input);
|
|
549
706
|
const extra = await this.resolveExtra(orgId, accountId, input);
|
|
550
707
|
const invoked = agent === undefined
|
|
551
708
|
? undefined
|
|
552
709
|
: await this.prepareSkill(orgId, conv.agentId, conversationId, agent, input);
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
710
|
+
// one transaction: the sender, time zone and language are read with the message's write
|
|
711
|
+
// (run context spec §3.2)
|
|
712
|
+
const event = await this.postIn(orgId, conversationId, accountId, input, next, extra, invoked);
|
|
713
|
+
await this.eventLog.notify(conversationId, event.seq);
|
|
714
|
+
if (next !== null)
|
|
715
|
+
await this.eventLog.publishChanged(conversationId, "selection");
|
|
716
|
+
// The message is written: it brings an archived conversation back into the default lists
|
|
717
|
+
if (conv.archivedAt !== null) {
|
|
718
|
+
await this.db
|
|
719
|
+
.updateTable("conversations")
|
|
720
|
+
.set({ archived_at: null })
|
|
721
|
+
.where("id", "=", conversationId)
|
|
722
|
+
.execute();
|
|
723
|
+
await this.eventLog.publishChanged(conversationId, "archived");
|
|
567
724
|
}
|
|
568
|
-
await this.runs
|
|
725
|
+
await this.runs.ensureRun(conversationId);
|
|
569
726
|
return event;
|
|
570
727
|
}
|
|
728
|
+
/**
|
|
729
|
+
* Writes a message in one transaction: binds its files, reads its sender context and appends it
|
|
730
|
+
* (after its `model_switched` when it switches).
|
|
731
|
+
*/
|
|
732
|
+
// its own transaction: the caller notifies and publishes after the commit
|
|
733
|
+
async postIn(orgId, conversationId, accountId, input, next, extra, invoked) {
|
|
734
|
+
const blocks = await this.bindIn(orgId, conversationId, accountId, input.files ?? []);
|
|
735
|
+
const written = await this.writeMessage(orgId, conversationId, accountId, input, next, extra, blocks, invoked);
|
|
736
|
+
return written.at(-1);
|
|
737
|
+
}
|
|
571
738
|
/**
|
|
572
739
|
* The selection a message switches to, or null when it changes nothing. A model equal to the
|
|
573
740
|
* agent's means "back to the agent's model" (null); a model change without `effort` resets the
|
|
574
741
|
* effort. The target model must resolve (`agent.model_unavailable`) and declare the effort
|
|
575
|
-
* (`validation_failed`). Resolving is the agent editor's check
|
|
576
|
-
*
|
|
577
|
-
* worker's `fallBackIfUnavailable`
|
|
742
|
+
* (`validation_failed`). Resolving is the agent editor's check, for the org (its effective
|
|
743
|
+
* provider config, spec B §5.5) and its disabled lists: a model the platform or the org disabled,
|
|
744
|
+
* or a non-chat model, is refused (spec B §5.3), as the run worker's `fallBackIfUnavailable` falls
|
|
745
|
+
* back from it.
|
|
578
746
|
*/
|
|
579
|
-
async planSwitch(agent, current, input) {
|
|
747
|
+
async planSwitch(orgId, agent, current, input) {
|
|
580
748
|
const next = planSelection(agent.model, current, input);
|
|
581
749
|
if (next === null)
|
|
582
750
|
return null;
|
|
583
751
|
const { model, effort } = next;
|
|
584
|
-
|
|
585
|
-
throw new ApiError("validation_failed", "Request validation failed", [
|
|
586
|
-
{ path: "model", message: "Model switching is not supported" },
|
|
587
|
-
]);
|
|
588
|
-
}
|
|
589
|
-
const { info } = await this.models.resolve(model ?? agent.model);
|
|
752
|
+
const { info } = await this.providers.resolve(orgId, model ?? agent.model);
|
|
590
753
|
if (effort !== null) {
|
|
591
754
|
const knob = info.parameters.find((p) => p.key === "effort");
|
|
592
755
|
const values = knob?.schema?.enum ?? [];
|
|
@@ -607,13 +770,14 @@ export class ConversationsService {
|
|
|
607
770
|
if (pick.model === undefined && pick.effort === undefined)
|
|
608
771
|
return;
|
|
609
772
|
const agent = await this.agents.get(orgId, conv.agentId, accountId);
|
|
610
|
-
await this.planSwitch(agent.definition, conv.selection, pick);
|
|
773
|
+
await this.planSwitch(orgId, agent.definition, conv.selection, pick);
|
|
611
774
|
}
|
|
612
775
|
/**
|
|
613
776
|
* Writes the message (preceded by its `model_switched` when it switches) inside `t` and updates
|
|
614
|
-
* `conversations.selection`; returns the
|
|
777
|
+
* `conversations.selection`; returns the events written, in seq order (the `user_message`
|
|
778
|
+
* last). The caller notifies after commit.
|
|
615
779
|
*/
|
|
616
|
-
async writeMessage(
|
|
780
|
+
async writeMessage(orgId, conversationId, accountId, input, next, extra, blocks, invoked) {
|
|
617
781
|
const events = [];
|
|
618
782
|
if (next !== null) {
|
|
619
783
|
events.push({
|
|
@@ -624,9 +788,17 @@ export class ConversationsService {
|
|
|
624
788
|
payload: { ...next, byAccountId: accountId, reason: "user" },
|
|
625
789
|
});
|
|
626
790
|
}
|
|
627
|
-
|
|
628
|
-
|
|
791
|
+
const context = await readMessageContext(this.db.db, {
|
|
792
|
+
orgId,
|
|
793
|
+
accountId,
|
|
794
|
+
senderName: input.senderName,
|
|
795
|
+
browser: { timeZone: input.timeZone, locale: input.locale },
|
|
796
|
+
im: input.im,
|
|
797
|
+
});
|
|
798
|
+
events.push(this.userMessage(accountId, input, extra, blocks, invoked, context));
|
|
799
|
+
const written = await this.eventLog.appendIn(conversationId, events);
|
|
629
800
|
if (next !== null) {
|
|
801
|
+
const t = this.db.db;
|
|
630
802
|
// the cache follows the log (a retried message's switch may be an old, deduped event that a
|
|
631
803
|
// later switch already replaced), read under the row lock append took
|
|
632
804
|
await t
|
|
@@ -635,7 +807,7 @@ export class ConversationsService {
|
|
|
635
807
|
.where("id", "=", conversationId)
|
|
636
808
|
.execute();
|
|
637
809
|
}
|
|
638
|
-
return written
|
|
810
|
+
return written;
|
|
639
811
|
}
|
|
640
812
|
/**
|
|
641
813
|
* Renders the message's skill invocation (phase D), or undefined when it has none. Resolved
|
|
@@ -644,11 +816,6 @@ export class ConversationsService {
|
|
|
644
816
|
async prepareSkill(orgId, agentId, conversationId, agent, input) {
|
|
645
817
|
if (input.skill === undefined)
|
|
646
818
|
return undefined;
|
|
647
|
-
if (!this.invoker) {
|
|
648
|
-
throw new ApiError("validation_failed", "Request validation failed", [
|
|
649
|
-
{ path: "skill", message: "Skill invocation is not supported" },
|
|
650
|
-
]);
|
|
651
|
-
}
|
|
652
819
|
return this.invoker.prepare({
|
|
653
820
|
orgId,
|
|
654
821
|
agentId,
|
|
@@ -669,14 +836,6 @@ export class ConversationsService {
|
|
|
669
836
|
const agent = await this.agents.get(orgId, conv.agentId, accountId);
|
|
670
837
|
return this.prepareSkill(orgId, conv.agentId, conv.id, agent.definition, input);
|
|
671
838
|
}
|
|
672
|
-
/** `files` need the attachments service (shared with the queue). */
|
|
673
|
-
checkFilesSupported(input) {
|
|
674
|
-
if ((input.files?.length ?? 0) > 0 && !this.bindFiles) {
|
|
675
|
-
throw new ApiError("validation_failed", "Request validation failed", [
|
|
676
|
-
{ path: "files", message: "Files are not supported" },
|
|
677
|
-
]);
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
839
|
/**
|
|
681
840
|
* Reads the `@` resources with the sender's credentials (nothing when there are none). Shared
|
|
682
841
|
* with the queue, which reads them when a message is queued (decision 15).
|
|
@@ -685,20 +844,15 @@ export class ConversationsService {
|
|
|
685
844
|
const refs = input.attachments ?? [];
|
|
686
845
|
if (refs.length === 0)
|
|
687
846
|
return { blocks: [], attachments: [] };
|
|
688
|
-
|
|
689
|
-
throw new ApiError("validation_failed", "Request validation failed", [
|
|
690
|
-
{ path: "attachments", message: "Attachments are not supported" },
|
|
691
|
-
]);
|
|
692
|
-
}
|
|
693
|
-
return this.resolveAttachments(orgId, accountId, refs);
|
|
847
|
+
return this.content.resolveAttachments(orgId, accountId, refs);
|
|
694
848
|
}
|
|
695
849
|
/** Binds uploaded files inside the message's (or queue item's) transaction; none → no blocks. */
|
|
696
|
-
async bindIn(
|
|
697
|
-
if (files.length === 0
|
|
850
|
+
async bindIn(orgId, conversationId, accountId, files) {
|
|
851
|
+
if (files.length === 0)
|
|
698
852
|
return [];
|
|
699
|
-
return this.
|
|
853
|
+
return this.attachments.bindForMessage(orgId, conversationId, accountId, files);
|
|
700
854
|
}
|
|
701
|
-
userMessage(accountId, input, extra, fileBlocks, invoked) {
|
|
855
|
+
userMessage(accountId, input, extra, fileBlocks, invoked, context) {
|
|
702
856
|
// a skill invocation's rendered text replaces the typed arguments as content[0]
|
|
703
857
|
const text = invoked?.text ?? input.text;
|
|
704
858
|
return {
|
|
@@ -715,6 +869,7 @@ export class ConversationsService {
|
|
|
715
869
|
],
|
|
716
870
|
...(extra.attachments.length > 0 && { attachments: extra.attachments }),
|
|
717
871
|
authorAccountId: accountId,
|
|
872
|
+
...context,
|
|
718
873
|
...(input.clientMessageId !== undefined && { clientMessageId: input.clientMessageId }),
|
|
719
874
|
...(input.retryOf !== undefined && { retryOf: input.retryOf }),
|
|
720
875
|
...(invoked !== undefined && { skill: invoked.skill }),
|
|
@@ -725,9 +880,26 @@ export class ConversationsService {
|
|
|
725
880
|
* 中止会话当前的运行(queued / running / waiting):返回 runId;没有 → `run.not_active`。
|
|
726
881
|
* 等人处理的运行没有 worker:直接取消等待并写终态。其余经 Redis 广播,运行所在的任意副本都会收到;
|
|
727
882
|
* 运行已是孤儿(没有任何 worker 在执行)时直接写终态。
|
|
883
|
+
*
|
|
884
|
+
* A root conversation's stop stops only its own run: its background sub-agents keep working
|
|
885
|
+
* (agent map spec §6). A sub-agent's conversation (its owner, from the agent map) stops that
|
|
886
|
+
* sub-agent with every descendant (`RunControl.stopTree`); `run.not_active` when nothing in that
|
|
887
|
+
* subtree runs, else the sub-agent's latest run id.
|
|
728
888
|
*/
|
|
729
889
|
async abort(orgId, conversationId, accountId) {
|
|
730
|
-
await this.get(orgId, conversationId, accountId);
|
|
890
|
+
const conv = await this.get(orgId, conversationId, accountId);
|
|
891
|
+
if (conv.parentConversationId !== null) {
|
|
892
|
+
const latest = await this.db
|
|
893
|
+
.selectFrom("runs")
|
|
894
|
+
.select("id")
|
|
895
|
+
.where("conversation_id", "=", conversationId)
|
|
896
|
+
.orderBy("created_at", "desc")
|
|
897
|
+
.executeTakeFirst();
|
|
898
|
+
const n = await this.runs.stopTree(conversationId, accountId);
|
|
899
|
+
if (n === 0 || !latest)
|
|
900
|
+
throw new ApiError("run.not_active", "No active run to abort");
|
|
901
|
+
return latest.id;
|
|
902
|
+
}
|
|
731
903
|
const run = await this.db
|
|
732
904
|
.selectFrom("runs")
|
|
733
905
|
.select(["id", "status"])
|
|
@@ -735,20 +907,52 @@ export class ConversationsService {
|
|
|
735
907
|
.where("status", "in", ["queued", "running", "waiting"])
|
|
736
908
|
.orderBy("created_at", "desc")
|
|
737
909
|
.executeTakeFirst();
|
|
738
|
-
if (!run
|
|
910
|
+
if (!run)
|
|
739
911
|
throw new ApiError("run.not_active", "No active run to abort");
|
|
912
|
+
const runs = this.runs;
|
|
740
913
|
// 等待中:直接结束;没成功(刚被续跑、已回到 queued)则按下面的常规路径中止。
|
|
741
|
-
if (run.status === "waiting" &&
|
|
742
|
-
(await this.runs.abortWaiting(conversationId, run.id, accountId))) {
|
|
914
|
+
if (run.status === "waiting" && (await runs.abortWaiting(conversationId, run.id, accountId))) {
|
|
743
915
|
this.kickRun(conversationId);
|
|
744
916
|
return run.id;
|
|
745
917
|
}
|
|
746
918
|
// 孤儿运行没有 worker 在听中止广播:直接写成 aborted,之后再看有没有等待中的消息要起新一轮。
|
|
747
|
-
if (await
|
|
919
|
+
if (await runs.abortIfOrphaned(conversationId, run.id, accountId)) {
|
|
748
920
|
this.kickRun(conversationId);
|
|
749
921
|
return run.id;
|
|
750
922
|
}
|
|
751
|
-
await
|
|
923
|
+
await runs.requestAbort(run.id, accountId);
|
|
752
924
|
return run.id;
|
|
753
925
|
}
|
|
754
|
-
}
|
|
926
|
+
};
|
|
927
|
+
__decorate([
|
|
928
|
+
Transactional({ propagation: "requires_new" })
|
|
929
|
+
], ConversationsService.prototype, "createIn", null);
|
|
930
|
+
__decorate([
|
|
931
|
+
Transactional()
|
|
932
|
+
], ConversationsService.prototype, "markDeleted", null);
|
|
933
|
+
__decorate([
|
|
934
|
+
Transactional({ propagation: "requires_new" })
|
|
935
|
+
], ConversationsService.prototype, "postIn", null);
|
|
936
|
+
__decorate([
|
|
937
|
+
Transactional({ propagation: "mandatory" })
|
|
938
|
+
], ConversationsService.prototype, "writeMessage", null);
|
|
939
|
+
__decorate([
|
|
940
|
+
Transactional({ propagation: "mandatory" })
|
|
941
|
+
], ConversationsService.prototype, "bindIn", null);
|
|
942
|
+
ConversationsService = __decorate([
|
|
943
|
+
Injectable(),
|
|
944
|
+
__param(0, Inject(KernelDb)),
|
|
945
|
+
__param(1, Inject(EventLog)),
|
|
946
|
+
__param(2, Inject(AgentLookup)),
|
|
947
|
+
__param(3, Inject(ConversationAccess)),
|
|
948
|
+
__param(4, Inject(RunControlService)),
|
|
949
|
+
__param(5, Inject(ProviderRegistry)),
|
|
950
|
+
__param(6, Inject(KERNEL_LOGGER)),
|
|
951
|
+
__param(7, Inject(ConnectorContent)),
|
|
952
|
+
__param(8, Inject(AttachmentsService)),
|
|
953
|
+
__param(9, Inject(SkillInvoker)),
|
|
954
|
+
__param(10, Inject(BackgroundTaskStopper)),
|
|
955
|
+
__param(11, Inject(ConversationEnvironments)),
|
|
956
|
+
__param(12, Inject(TransactionHost))
|
|
957
|
+
], ConversationsService);
|
|
958
|
+
export { ConversationsService };
|