@capybara-hq/kernel 0.1.0-rc.4 → 0.1.0-rc.5
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 +61 -5
- package/dist/admin/admin.controller.d.ts +39 -13
- package/dist/admin/admin.controller.js +33 -17
- package/dist/admin/extensions.controller.d.ts +16 -2
- package/dist/admin/extensions.controller.js +26 -6
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/agents/agent-lookup.d.ts +16 -0
- package/dist/agents/agent-lookup.js +11 -0
- package/dist/agents/agents.controller.d.ts +76 -1
- package/dist/agents/agents.controller.js +90 -11
- package/dist/agents/agents.module.d.ts +4 -1
- package/dist/agents/agents.module.js +32 -6
- package/dist/agents/agents.service.d.ts +51 -22
- package/dist/agents/agents.service.js +172 -70
- package/dist/agents/definition.d.ts +49 -0
- package/dist/agents/definition.js +45 -0
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +649 -0
- package/dist/agents/from-template.service.d.ts +60 -0
- package/dist/agents/from-template.service.js +161 -0
- package/dist/agents/org-templates.d.ts +176 -0
- package/dist/agents/org-templates.js +827 -0
- package/dist/agents/pending-connector-requests.d.ts +77 -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/templates.controller.d.ts +86 -5
- package/dist/agents/templates.controller.js +171 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +475 -52
- package/dist/background/background.module.js +8 -1
- package/dist/background/finish.d.ts +3 -2
- package/dist/background/launch-lock.d.ts +4 -3
- package/dist/background/launch-lock.js +4 -3
- package/dist/background/poll.job.d.ts +9 -6
- package/dist/background/poll.job.js +30 -22
- package/dist/background/session.d.ts +13 -2
- package/dist/background/session.js +13 -0
- package/dist/background/stop.d.ts +12 -6
- package/dist/background/stop.js +57 -39
- package/dist/background/store.d.ts +18 -6
- package/dist/background/store.js +12 -6
- package/dist/background/tasks.service.d.ts +15 -5
- package/dist/background/tasks.service.js +42 -17
- package/dist/background/wake-rules.d.ts +27 -18
- package/dist/background/wake-rules.js +52 -22
- package/dist/background/wake.d.ts +13 -11
- package/dist/background/wake.js +20 -14
- package/dist/catalog/admin-catalog.controller.d.ts +129 -30
- package/dist/catalog/admin-catalog.controller.js +213 -42
- package/dist/catalog/catalog-content.d.ts +58 -32
- package/dist/catalog/catalog-content.js +34 -8
- 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 +111 -7
- package/dist/catalog/catalog-items.js +279 -13
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1116 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +41 -31
- package/dist/catalog/catalog.service.d.ts +101 -29
- package/dist/catalog/catalog.service.js +104 -106
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +26 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +152 -0
- package/dist/catalog/component-scope.controller.js +287 -0
- package/dist/catalog/component-scope.service.d.ts +303 -0
- package/dist/catalog/component-scope.service.js +936 -0
- package/dist/catalog/component-state.d.ts +174 -0
- package/dist/catalog/component-state.js +437 -0
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplaces.controller.d.ts +22 -5
- package/dist/catalog/marketplaces.controller.js +56 -7
- package/dist/catalog/marketplaces.service.d.ts +54 -14
- package/dist/catalog/marketplaces.service.js +71 -22
- package/dist/catalog/org-catalog.controller.d.ts +125 -34
- package/dist/catalog/org-catalog.controller.js +181 -65
- package/dist/catalog/org-catalog.service.d.ts +65 -33
- package/dist/catalog/org-catalog.service.js +324 -157
- 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 +119 -0
- package/dist/catalog/org-extension.controller.js +266 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +98 -0
- package/dist/catalog/org-plugin-uploads.controller.js +213 -0
- package/dist/catalog/org-plugin-uploads.d.ts +63 -0
- package/dist/catalog/org-plugin-uploads.js +116 -0
- package/dist/catalog/owned-items.d.ts +184 -0
- package/dist/catalog/owned-items.js +789 -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 +221 -0
- package/dist/catalog/platform-components.js +761 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +178 -34
- package/dist/catalog/plugin-import.js +622 -82
- package/dist/catalog/plugin-install.d.ts +185 -41
- package/dist/catalog/plugin-install.js +758 -126
- package/dist/catalog/plugin-upgrade.d.ts +260 -225
- package/dist/catalog/plugin-upgrade.js +1147 -1136
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +193 -118
- package/dist/catalog/requests.service.js +526 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.js +1 -0
- package/dist/channels/cards.js +20 -2
- package/dist/channels/channels.module.js +2 -0
- package/dist/channels/inbound.d.ts +9 -1
- package/dist/channels/inbound.js +67 -5
- package/dist/channels/phrases.d.ts +35 -0
- package/dist/channels/phrases.js +29 -0
- package/dist/config/docs.js +3 -1
- package/dist/config/schema.d.ts +6 -2
- package/dist/config/schema.js +46 -22
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +27 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/conversations.controller.d.ts +43 -18
- package/dist/conversations/conversations.controller.js +79 -38
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +7 -7
- package/dist/conversations/conversations.service.d.ts +69 -12
- package/dist/conversations/conversations.service.js +106 -27
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +20 -5
- package/dist/conversations/event-log.js +60 -0
- package/dist/conversations/events.d.ts +84 -2
- package/dist/conversations/events.js +91 -17
- package/dist/conversations/queue.service.d.ts +1 -1
- package/dist/conversations/queue.service.js +5 -0
- package/dist/conversations/titles.d.ts +5 -3
- package/dist/conversations/titles.js +21 -8
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +5 -0
- package/dist/ctx/create-ctx.js +15 -5
- package/dist/db/kernel-schema.d.ts +362 -18
- package/dist/environments/access.d.ts +41 -0
- package/dist/environments/access.js +77 -0
- package/dist/environments/conversation-environments.d.ts +61 -0
- package/dist/environments/conversation-environments.js +170 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +33 -0
- package/dist/environments/environments.controller.js +110 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +27 -0
- package/dist/environments/environments.service.d.ts +153 -0
- package/dist/environments/environments.service.js +541 -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 +82 -2
- package/dist/errors.js +82 -2
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +26 -7
- package/dist/evals/run-replay.d.ts +4 -2
- package/dist/evals/run-replay.js +16 -4
- package/dist/evals/step-replay.d.ts +2 -5
- package/dist/evals/step-replay.js +1 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +36 -10
- package/dist/extensions/admin-ops.js +65 -42
- package/dist/extensions/admin-view.d.ts +37 -10
- package/dist/extensions/admin-view.js +103 -20
- package/dist/extensions/bootstrap.d.ts +17 -4
- package/dist/extensions/bootstrap.js +70 -9
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/deployment-config.d.ts +28 -5
- package/dist/extensions/deployment-config.js +48 -7
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/extensions.module.js +8 -2
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +19 -1
- package/dist/extensions/host.js +30 -7
- package/dist/extensions/installs.d.ts +20 -8
- package/dist/extensions/installs.js +37 -15
- package/dist/extensions/org-config.d.ts +75 -6
- package/dist/extensions/org-config.js +184 -32
- 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/permission-view.d.ts +16 -4
- package/dist/extensions/permission-view.js +4 -4
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.d.ts +12 -5
- package/dist/extensions/point-defaults.js +37 -9
- package/dist/extensions/resolve.d.ts +5 -1
- package/dist/extensions/resolve.js +15 -2
- package/dist/files/previewers.d.ts +8 -1
- package/dist/files/previewers.js +35 -6
- package/dist/http/api.module.js +23 -3
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/identity/accounts.d.ts +29 -29
- package/dist/identity/accounts.js +47 -47
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +26 -9
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +4 -4
- package/dist/identity/me.controller.js +1 -1
- package/dist/identity/principal.d.ts +3 -3
- package/dist/identity/principal.js +3 -3
- package/dist/identity/settings.d.ts +22 -11
- package/dist/identity/settings.js +53 -18
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.service.d.ts +62 -3
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +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 +1 -1
- package/dist/index.js +1 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +21 -1
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +11 -2
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/kernel.module.js +6 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +1 -1
- package/dist/lifecycle/kernel-lifecycle.js +4 -4
- package/dist/models/prices.d.ts +5 -5
- package/dist/models/prices.js +4 -4
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +20 -9
- package/dist/models/purposes.js +17 -8
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +9 -7
- package/dist/orgs/offboarding.js +28 -17
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.service.d.ts +20 -7
- package/dist/orgs/orgs.service.js +32 -12
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +15 -3
- package/dist/orgs/settings.service.js +6 -2
- package/dist/overrides.d.ts +3 -0
- package/dist/overrides.js +2 -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 +11 -0
- package/dist/platform/errors.js +26 -0
- package/dist/platform/exclusions.d.ts +12 -0
- package/dist/platform/exclusions.js +1387 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +92 -0
- package/dist/platform/operation.js +35 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +14 -0
- package/dist/platform/ops/agent-templates.ops.js +92 -0
- package/dist/platform/ops/agents.ops.d.ts +19 -0
- package/dist/platform/ops/agents.ops.js +294 -0
- package/dist/platform/ops/connectors.ops.d.ts +15 -0
- package/dist/platform/ops/connectors.ops.js +126 -0
- package/dist/platform/ops/errors.d.ts +11 -0
- package/dist/platform/ops/errors.js +22 -0
- package/dist/platform/ops/extensions.ops.d.ts +19 -0
- package/dist/platform/ops/extensions.ops.js +116 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +16 -0
- package/dist/platform/ops/marketplaces.ops.js +157 -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 +23 -0
- package/dist/platform/ops/platform.ops.js +158 -0
- package/dist/platform/ops/plugins.ops.d.ts +33 -0
- package/dist/platform/ops/plugins.ops.js +377 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +153 -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 +13 -0
- package/dist/platform/ops/skills.ops.js +98 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/platform-ops.module.d.ts +7 -0
- package/dist/platform/platform-ops.module.js +55 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/redact-orgs.d.ts +7 -0
- package/dist/platform/redact-orgs.js +52 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +9 -1
- package/dist/runtime/context/build.d.ts +6 -4
- package/dist/runtime/context/build.js +26 -7
- package/dist/runtime/context/claude-tools.d.ts +2 -1
- package/dist/runtime/context/claude-tools.js +5 -4
- package/dist/runtime/context/compaction.js +9 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/skills.js +9 -2
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.js +2 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +35 -17
- package/dist/runtime/loop.d.ts +32 -4
- package/dist/runtime/maintenance.d.ts +7 -4
- package/dist/runtime/maintenance.js +23 -8
- package/dist/runtime/model-call.d.ts +30 -8
- package/dist/runtime/model-call.js +69 -19
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +3 -7
- package/dist/runtime/run-queue.d.ts +37 -3
- package/dist/runtime/run-queue.js +188 -11
- package/dist/runtime/run-worker.d.ts +11 -5
- package/dist/runtime/run-worker.js +54 -31
- package/dist/runtime/runtime.module.js +3 -0
- package/dist/runtime/step-log.d.ts +9 -4
- package/dist/runtime/step-log.js +8 -5
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +12 -3
- package/dist/runtime/subagents/definition.js +43 -29
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +115 -26
- package/dist/runtime/subagents/dispatch.js +212 -141
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +24 -7
- package/dist/runtime/subagents/roster.js +47 -11
- package/dist/runtime/subagents/skill-fork.d.ts +3 -2
- package/dist/runtime/subagents/skill-fork.js +8 -4
- 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 +7 -4
- package/dist/runtime/subagents/subagents.service.js +11 -6
- package/dist/runtime/usage-report.js +17 -12
- package/dist/runtime/waits.d.ts +140 -37
- package/dist/runtime/waits.js +394 -106
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +2 -2
- package/dist/sandbox/providers.js +1 -1
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +4 -3
- package/dist/sandbox/sandbox.service.d.ts +229 -134
- package/dist/sandbox/sandbox.service.js +630 -409
- package/dist/skills/catalog.d.ts +3 -2
- package/dist/skills/catalog.js +21 -43
- package/dist/skills/changes.controller.d.ts +7 -0
- package/dist/skills/changes.controller.js +19 -1
- package/dist/skills/invoke.js +8 -3
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +39 -4
- package/dist/skills/skills.controller.js +88 -10
- package/dist/skills/skills.module.js +10 -1
- package/dist/skills/skills.service.d.ts +106 -26
- package/dist/skills/skills.service.js +421 -75
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/tools/approvals.service.d.ts +20 -2
- package/dist/tools/approvals.service.js +23 -4
- package/dist/tools/builtin-names.d.ts +21 -5
- package/dist/tools/builtin-names.js +30 -5
- package/dist/tools/builtins/agent.d.ts +23 -21
- package/dist/tools/builtins/agent.js +62 -55
- package/dist/tools/builtins/builtin-tools.d.ts +6 -2
- package/dist/tools/builtins/builtin-tools.js +37 -12
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +34 -0
- package/dist/tools/builtins/platform.js +362 -0
- package/dist/tools/builtins/sandbox/bash.js +13 -3
- package/dist/tools/builtins/sandbox/common.d.ts +43 -24
- package/dist/tools/builtins/sandbox/common.js +80 -45
- package/dist/tools/builtins/sandbox/edit.js +2 -2
- package/dist/tools/builtins/sandbox/glob.js +2 -2
- package/dist/tools/builtins/sandbox/grep.js +2 -4
- package/dist/tools/builtins/sandbox/index.d.ts +1 -1
- package/dist/tools/builtins/sandbox/index.js +1 -1
- package/dist/tools/builtins/sandbox/read.js +1 -1
- package/dist/tools/builtins/sandbox/task-output.d.ts +14 -3
- package/dist/tools/builtins/sandbox/task-output.js +30 -5
- package/dist/tools/builtins/sandbox/task-stop.js +2 -1
- package/dist/tools/builtins/sandbox/write.js +2 -2
- 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 +22 -14
- package/dist/tools/builtins/skill-load.js +86 -57
- package/dist/tools/builtins/skill-write.js +1 -1
- package/dist/tools/builtins/web/extract.js +5 -1
- package/dist/tools/builtins/web/fetch.js +1 -0
- package/dist/tools/builtins/web/search.js +1 -0
- package/dist/tools/connectors.controller.d.ts +10 -0
- package/dist/tools/connectors.controller.js +12 -0
- package/dist/tools/connectors.service.d.ts +46 -5
- package/dist/tools/connectors.service.js +94 -15
- 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 +42 -1
- package/dist/tools/info.js +64 -1
- package/dist/tools/org-tool-switches.d.ts +74 -0
- package/dist/tools/org-tool-switches.js +184 -0
- package/dist/tools/pipeline.d.ts +46 -40
- package/dist/tools/pipeline.js +187 -364
- package/dist/tools/policy.d.ts +1 -1
- package/dist/tools/policy.js +36 -16
- package/dist/tools/registry.d.ts +98 -5
- package/dist/tools/registry.js +87 -9
- package/dist/tools/tools.module.js +12 -2
- package/dist/ui/views.d.ts +2 -1
- package/dist/ui/views.js +17 -3
- package/package.json +3 -3
- 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/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -32
- package/dist/extensions/org-config.controller.js +0 -70
|
@@ -19,10 +19,10 @@ import { MAX_ATTACHMENTS } from "../tools/connector-content.js";
|
|
|
19
19
|
import { ConversationToolInfo, TOOL_INFO_KEY_MAX, TOOL_INFO_MAX_KEYS, } from "../tools/info.js";
|
|
20
20
|
import { ARTIFACT_DOWNLOAD_CACHE_SECONDS, ConversationArtifacts, } from "./artifacts.js";
|
|
21
21
|
import { CONVERSATION_TITLE_MAX_CHARS, ConversationsService, } from "./conversations.service.js";
|
|
22
|
+
import { ConversationEnvironmentStatus } from "./environment-status.js";
|
|
22
23
|
import { ConversationFiles, FILE_CONTENT_MAX_BYTES, FILES_PAGE_MAX, } from "./files.js";
|
|
23
24
|
import { ConversationOutputs, OUTPUT_PAGE_MAX_CHARS } from "./outputs-read.js";
|
|
24
25
|
import { ConversationQueue } from "./queue.service.js";
|
|
25
|
-
import { ConversationSandboxStatus } from "./sandbox-status.js";
|
|
26
26
|
/** Shared by the list and groups queries: title search, run activity and the archived list. */
|
|
27
27
|
const searchFields = {
|
|
28
28
|
q: z.string().min(1).max(100).optional(),
|
|
@@ -48,9 +48,16 @@ const SubagentsQuery = z.object({
|
|
|
48
48
|
after: z.string().min(1).max(100).optional(),
|
|
49
49
|
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
50
50
|
});
|
|
51
|
-
const EventsQuery = z
|
|
52
|
-
|
|
51
|
+
const EventsQuery = z
|
|
52
|
+
.object({
|
|
53
|
+
after: z.coerce.number().int().min(0).optional(),
|
|
54
|
+
/** The page before this seq, or the log's last page (`end`); exclusive with `after`. */
|
|
55
|
+
before: z.union([z.literal("end"), z.coerce.number().int().min(1)]).optional(),
|
|
53
56
|
limit: z.coerce.number().int().min(1).max(500).default(500),
|
|
57
|
+
})
|
|
58
|
+
.refine((q) => q.after === undefined || q.before === undefined, {
|
|
59
|
+
message: "after and before are exclusive",
|
|
60
|
+
path: ["before"],
|
|
54
61
|
});
|
|
55
62
|
/** `?keys=a,b`: 1–100 comma-separated tool keys of 1–200 characters each. */
|
|
56
63
|
const ToolsQuery = z.object({
|
|
@@ -125,10 +132,13 @@ const MessageBody = MessageFields.strict().refine(...textRule);
|
|
|
125
132
|
* `POST /conversations`: `message` creates the conversation with its first message (create on
|
|
126
133
|
* first send; `clientMessageId` is required and makes a retry return the same conversation).
|
|
127
134
|
* Without it the conversation is created empty (API clients; the web never does).
|
|
135
|
+
* `environmentId` binds it to one of the caller's environments; without it the caller's default
|
|
136
|
+
* environment (environments spec §4.1 item 1).
|
|
128
137
|
*/
|
|
129
138
|
const CreateBody = z
|
|
130
139
|
.object({
|
|
131
140
|
agentId: z.string().min(1).max(100),
|
|
141
|
+
environmentId: z.string().min(1).max(100).optional(),
|
|
132
142
|
message: MessageFields.omit({ retryOf: true })
|
|
133
143
|
.extend({ clientMessageId: z.string().min(1).max(200) })
|
|
134
144
|
.strict()
|
|
@@ -137,9 +147,7 @@ const CreateBody = z
|
|
|
137
147
|
})
|
|
138
148
|
.strict();
|
|
139
149
|
/**
|
|
140
|
-
* `POST …/queue
|
|
141
|
-
* now and applied when the message is sent (final review I1). A skill invocation is rendered now
|
|
142
|
-
* and checked again when sent (phase D Task 9).
|
|
150
|
+
* `POST …/queue` (deprecated, behaves as `POST …/messages`): the message fields (no retry).
|
|
143
151
|
*/
|
|
144
152
|
const QueueBody = MessageFields.omit({ retryOf: true })
|
|
145
153
|
.extend({ clientMessageId: z.string().min(1).max(200) })
|
|
@@ -205,15 +213,15 @@ let ConversationsController = class ConversationsController {
|
|
|
205
213
|
conversations;
|
|
206
214
|
outputs;
|
|
207
215
|
artifacts;
|
|
208
|
-
|
|
216
|
+
environmentStatus;
|
|
209
217
|
toolInfo;
|
|
210
218
|
queue;
|
|
211
219
|
files;
|
|
212
|
-
constructor(conversations, outputs, artifacts,
|
|
220
|
+
constructor(conversations, outputs, artifacts, environmentStatus, toolInfo, queue, files) {
|
|
213
221
|
this.conversations = conversations;
|
|
214
222
|
this.outputs = outputs;
|
|
215
223
|
this.artifacts = artifacts;
|
|
216
|
-
this.
|
|
224
|
+
this.environmentStatus = environmentStatus;
|
|
217
225
|
this.toolInfo = toolInfo;
|
|
218
226
|
this.queue = queue;
|
|
219
227
|
this.files = files;
|
|
@@ -225,9 +233,10 @@ let ConversationsController = class ConversationsController {
|
|
|
225
233
|
*/
|
|
226
234
|
async create(principal, org, body, reply) {
|
|
227
235
|
const p = requireUser(principal);
|
|
236
|
+
const pick = body.environmentId === undefined ? {} : { environmentId: body.environmentId };
|
|
228
237
|
if (body.message === undefined) {
|
|
229
238
|
return {
|
|
230
|
-
conversation: await this.conversations.create(org.orgId, p.account.id, body.agentId),
|
|
239
|
+
conversation: await this.conversations.create(org.orgId, p.account.id, body.agentId, pick),
|
|
231
240
|
};
|
|
232
241
|
}
|
|
233
242
|
const m = body.message;
|
|
@@ -239,7 +248,7 @@ let ConversationsController = class ConversationsController {
|
|
|
239
248
|
...(m.model !== undefined && { model: m.model }),
|
|
240
249
|
...(m.effort !== undefined && { effort: m.effort }),
|
|
241
250
|
...(m.skill !== undefined && { skill: m.skill }),
|
|
242
|
-
});
|
|
251
|
+
}, pick);
|
|
243
252
|
reply.status(out.created ? 201 : 200);
|
|
244
253
|
return { conversation: out.conversation, event: out.event, events: out.events };
|
|
245
254
|
}
|
|
@@ -302,11 +311,19 @@ let ConversationsController = class ConversationsController {
|
|
|
302
311
|
const p = requireUser(principal);
|
|
303
312
|
return { conversation: await this.conversations.get(org.orgId, id, p.account.id) };
|
|
304
313
|
}
|
|
305
|
-
/**
|
|
314
|
+
/**
|
|
315
|
+
* Events in ascending seq. `after`: those after it (at most `limit`; the client passes the last
|
|
316
|
+
* seq back as the next `after`). `before` (a seq, or `end` for the log's last page): the
|
|
317
|
+
* turn-aligned page before it, `{ events, turnsBefore }` (history paging spec §2).
|
|
318
|
+
*/
|
|
306
319
|
async events(principal, org, id, q) {
|
|
307
320
|
const p = requireUser(principal);
|
|
321
|
+
if (q.before !== undefined) {
|
|
322
|
+
const before = q.before === "end" ? null : q.before;
|
|
323
|
+
return this.conversations.listEventsBefore(org.orgId, id, p.account.id, before, q.limit);
|
|
324
|
+
}
|
|
308
325
|
return {
|
|
309
|
-
events: await this.conversations.listEvents(org.orgId, id, p.account.id, q.after, q.limit),
|
|
326
|
+
events: await this.conversations.listEvents(org.orgId, id, p.account.id, q.after ?? 0, q.limit),
|
|
310
327
|
};
|
|
311
328
|
}
|
|
312
329
|
/**
|
|
@@ -321,6 +338,15 @@ let ConversationsController = class ConversationsController {
|
|
|
321
338
|
...(q.after !== undefined && { after: q.after }),
|
|
322
339
|
});
|
|
323
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* The agent tree of a root conversation (agent map spec §8, §9.2): `{ root }`, each node with its
|
|
343
|
+
* status, model, time, tokens, tool calls and children. Owner only; a sub-agent's id is
|
|
344
|
+
* `conversation.not_found`.
|
|
345
|
+
*/
|
|
346
|
+
async agentTree(principal, org, { id }) {
|
|
347
|
+
const p = requireUser(principal);
|
|
348
|
+
return this.conversations.agentTree(org.orgId, id, p.account.id);
|
|
349
|
+
}
|
|
324
350
|
/**
|
|
325
351
|
* The conversation's token usage, its sub-agents' included (sub-agents spec §8.3):
|
|
326
352
|
* `{ usage: { inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens } }`. Owner only.
|
|
@@ -389,13 +415,13 @@ let ConversationsController = class ConversationsController {
|
|
|
389
415
|
await reply.send(c.body);
|
|
390
416
|
}
|
|
391
417
|
/**
|
|
392
|
-
*
|
|
393
|
-
*
|
|
394
|
-
*
|
|
418
|
+
* The environment the conversation works in (a sub-agent: its root's), as its owner sees it,
|
|
419
|
+
* with its instance state; `null` while unbound, or when the environment was deleted. Same
|
|
420
|
+
* visibility as the event stream.
|
|
395
421
|
*/
|
|
396
|
-
async
|
|
422
|
+
async environment(principal, org, id) {
|
|
397
423
|
const p = requireUser(principal);
|
|
398
|
-
return this.
|
|
424
|
+
return { environment: await this.environmentStatus.get(org.orgId, id, p.account.id) };
|
|
399
425
|
}
|
|
400
426
|
/**
|
|
401
427
|
* Display metadata (title, kind, key arguments, source) of the tools a conversation's calls name,
|
|
@@ -429,22 +455,23 @@ let ConversationsController = class ConversationsController {
|
|
|
429
455
|
return this.queue.list(org.orgId, id, p.account.id);
|
|
430
456
|
}
|
|
431
457
|
/**
|
|
432
|
-
*
|
|
433
|
-
*
|
|
458
|
+
* Deprecated: behaves as `POST …/messages` (202 `{ event }`): an interjection while a run is
|
|
459
|
+
* active, a new run otherwise; nothing is queued any more. Kept for older clients for one release;
|
|
460
|
+
* the leftover-item routes below keep working until the queue table is dropped (contract step).
|
|
434
461
|
*/
|
|
435
|
-
async enqueue(principal, org, id, body
|
|
462
|
+
async enqueue(principal, org, id, body) {
|
|
436
463
|
const p = requireUser(principal);
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
464
|
+
return {
|
|
465
|
+
event: await this.conversations.postUserMessage(org.orgId, id, p.account.id, {
|
|
466
|
+
text: body.text,
|
|
467
|
+
clientMessageId: body.clientMessageId,
|
|
468
|
+
...(body.attachments !== undefined && { attachments: body.attachments }),
|
|
469
|
+
...(body.files !== undefined && { files: body.files }),
|
|
470
|
+
...(body.model !== undefined && { model: body.model }),
|
|
471
|
+
...(body.effort !== undefined && { effort: body.effort }),
|
|
472
|
+
...(body.skill !== undefined && { skill: body.skill }),
|
|
473
|
+
}),
|
|
474
|
+
};
|
|
448
475
|
}
|
|
449
476
|
/** "Continue sending" after a pause (202). Declared before `:itemId` routes. */
|
|
450
477
|
async resumeQueue(principal, org, id) {
|
|
@@ -465,7 +492,13 @@ let ConversationsController = class ConversationsController {
|
|
|
465
492
|
const p = requireUser(principal);
|
|
466
493
|
return { event: await this.queue.sendNow(org.orgId, id, p.account.id, itemId) };
|
|
467
494
|
}
|
|
468
|
-
/**
|
|
495
|
+
/**
|
|
496
|
+
* Stops the current run (the conversation's owner): 202 `{ runId }`; nothing active → 409
|
|
497
|
+
* `run.not_active`. On a root conversation `runId` is the stopped run, and its background
|
|
498
|
+
* sub-agents keep working. On a sub-agent's conversation (the root's owner, at any depth) the
|
|
499
|
+
* sub-agent stops with every sub-agent below it, and `runId` is the sub-agent's latest run,
|
|
500
|
+
* which may already be finished when only its descendants were working (agent map spec §6).
|
|
501
|
+
*/
|
|
469
502
|
async abort(principal, org, id) {
|
|
470
503
|
const p = requireUser(principal);
|
|
471
504
|
return { runId: await this.conversations.abort(org.orgId, id, p.account.id) };
|
|
@@ -533,6 +566,14 @@ __decorate([
|
|
|
533
566
|
__param(2, Param("id")),
|
|
534
567
|
__param(3, ZQuery(ConversationSubagentsQueryDto))
|
|
535
568
|
], ConversationsController.prototype, "subagents", null);
|
|
569
|
+
__decorate([
|
|
570
|
+
Get(":id/agent-tree"),
|
|
571
|
+
Header("cache-control", "private, no-store"),
|
|
572
|
+
OrgAction("agents.use"),
|
|
573
|
+
__param(0, CurrentPrincipal()),
|
|
574
|
+
__param(1, CurrentOrg()),
|
|
575
|
+
__param(2, ZParam(ConversationIdParamsDto))
|
|
576
|
+
], ConversationsController.prototype, "agentTree", null);
|
|
536
577
|
__decorate([
|
|
537
578
|
Get(":id/usage"),
|
|
538
579
|
Header("cache-control", "private, no-store"),
|
|
@@ -589,13 +630,13 @@ __decorate([
|
|
|
589
630
|
__param(5, Res())
|
|
590
631
|
], ConversationsController.prototype, "fileContent", null);
|
|
591
632
|
__decorate([
|
|
592
|
-
Get(":id/
|
|
633
|
+
Get(":id/environment"),
|
|
593
634
|
Header("cache-control", "private, no-store"),
|
|
594
635
|
OrgAction("agents.use"),
|
|
595
636
|
__param(0, CurrentPrincipal()),
|
|
596
637
|
__param(1, CurrentOrg()),
|
|
597
638
|
__param(2, Param("id"))
|
|
598
|
-
], ConversationsController.prototype, "
|
|
639
|
+
], ConversationsController.prototype, "environment", null);
|
|
599
640
|
__decorate([
|
|
600
641
|
Get(":id/tools"),
|
|
601
642
|
Header("cache-control", "private, no-store"),
|
|
@@ -624,12 +665,12 @@ __decorate([
|
|
|
624
665
|
], ConversationsController.prototype, "listQueue", null);
|
|
625
666
|
__decorate([
|
|
626
667
|
Post(":id/queue"),
|
|
668
|
+
HttpCode(202),
|
|
627
669
|
OrgAction("agents.use"),
|
|
628
670
|
__param(0, CurrentPrincipal()),
|
|
629
671
|
__param(1, CurrentOrg()),
|
|
630
672
|
__param(2, Param("id")),
|
|
631
|
-
__param(3, ZBody(ConversationQueueBodyDto))
|
|
632
|
-
__param(4, Res({ passthrough: true }))
|
|
673
|
+
__param(3, ZBody(ConversationQueueBodyDto))
|
|
633
674
|
], ConversationsController.prototype, "enqueue", null);
|
|
634
675
|
__decorate([
|
|
635
676
|
Post(":id/queue/resume"),
|
|
@@ -679,7 +720,7 @@ ConversationsController = __decorate([
|
|
|
679
720
|
__param(0, Inject(ConversationsService)),
|
|
680
721
|
__param(1, Inject(ConversationOutputs)),
|
|
681
722
|
__param(2, Inject(ConversationArtifacts)),
|
|
682
|
-
__param(3, Inject(
|
|
723
|
+
__param(3, Inject(ConversationEnvironmentStatus)),
|
|
683
724
|
__param(4, Inject(ConversationToolInfo)),
|
|
684
725
|
__param(5, Inject(ConversationQueue)),
|
|
685
726
|
__param(6, Inject(ConversationFiles))
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Conversations: the one {@link ConversationsService} (messages, model switches, skill
|
|
3
3
|
* invocations, sub-agent views, abort), the queue, the file / artifact / output reads and the
|
|
4
|
-
*
|
|
4
|
+
* conversation's environment. The event log, the access check and the attachments are their own modules (the
|
|
5
5
|
* skills and tools use them too) and are re-exported here.
|
|
6
6
|
*/
|
|
7
7
|
export declare class ConversationsModule {
|
|
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { Module } from "@nestjs/common";
|
|
8
8
|
import { AgentLookupModule } from "../agents/agent-lookup.js";
|
|
9
9
|
import { BackgroundModule } from "../background/background.module.js";
|
|
10
|
+
import { EnvironmentsModule } from "../environments/environments.module.js";
|
|
10
11
|
import { ProvidersModule } from "../runtime/providers.js";
|
|
11
12
|
import { RuntimeModule } from "../runtime/runtime.module.js";
|
|
12
|
-
import { SandboxModule } from "../sandbox/sandbox.module.js";
|
|
13
13
|
import { SkillsModule } from "../skills/skills.module.js";
|
|
14
14
|
import { StorageModule } from "../storage/storage.module.js";
|
|
15
15
|
import { ToolsModule } from "../tools/tools.module.js";
|
|
@@ -17,15 +17,15 @@ import { ConversationAccessModule } from "./access.js";
|
|
|
17
17
|
import { ConversationArtifacts } from "./artifacts.js";
|
|
18
18
|
import { AttachmentsModule } from "./attachments.module.js";
|
|
19
19
|
import { ConversationsService } from "./conversations.service.js";
|
|
20
|
+
import { ConversationEnvironmentStatus } from "./environment-status.js";
|
|
20
21
|
import { EventLogModule } from "./event-log.js";
|
|
21
22
|
import { ConversationFiles } from "./files.js";
|
|
22
23
|
import { ConversationOutputs } from "./outputs-read.js";
|
|
23
24
|
import { ConversationQueue } from "./queue.service.js";
|
|
24
|
-
import { ConversationSandboxStatus } from "./sandbox-status.js";
|
|
25
25
|
/**
|
|
26
26
|
* Conversations: the one {@link ConversationsService} (messages, model switches, skill
|
|
27
27
|
* invocations, sub-agent views, abort), the queue, the file / artifact / output reads and the
|
|
28
|
-
*
|
|
28
|
+
* conversation's environment. The event log, the access check and the attachments are their own modules (the
|
|
29
29
|
* skills and tools use them too) and are re-exported here.
|
|
30
30
|
*/
|
|
31
31
|
let ConversationsModule = class ConversationsModule {
|
|
@@ -43,8 +43,8 @@ ConversationsModule = __decorate([
|
|
|
43
43
|
// the run control (start a run after a message, stop runs) and the model provider registry
|
|
44
44
|
RuntimeModule,
|
|
45
45
|
ProvidersModule,
|
|
46
|
-
// the
|
|
47
|
-
|
|
46
|
+
// the environment a conversation is bound to, and its view
|
|
47
|
+
EnvironmentsModule,
|
|
48
48
|
// the stop of a deleted conversation's background tasks
|
|
49
49
|
BackgroundModule,
|
|
50
50
|
],
|
|
@@ -54,7 +54,7 @@ ConversationsModule = __decorate([
|
|
|
54
54
|
ConversationOutputs,
|
|
55
55
|
ConversationArtifacts,
|
|
56
56
|
ConversationFiles,
|
|
57
|
-
|
|
57
|
+
ConversationEnvironmentStatus,
|
|
58
58
|
],
|
|
59
59
|
exports: [
|
|
60
60
|
EventLogModule,
|
|
@@ -65,7 +65,7 @@ ConversationsModule = __decorate([
|
|
|
65
65
|
ConversationOutputs,
|
|
66
66
|
ConversationArtifacts,
|
|
67
67
|
ConversationFiles,
|
|
68
|
-
|
|
68
|
+
ConversationEnvironmentStatus,
|
|
69
69
|
],
|
|
70
70
|
})
|
|
71
71
|
], ConversationsModule);
|
|
@@ -2,6 +2,7 @@ import { AgentLookup } from "../agents/agent-lookup.js";
|
|
|
2
2
|
import type { ModelRef } from "../agents/definition.js";
|
|
3
3
|
import { BackgroundTaskStopper } from "../background/stop.js";
|
|
4
4
|
import type { TitleSource } from "../db/kernel-schema.js";
|
|
5
|
+
import { ConversationEnvironments, type NewConversationEnvironment } from "../environments/conversation-environments.js";
|
|
5
6
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
6
7
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
7
8
|
import type { KernelLogger } from "../log.js";
|
|
@@ -9,6 +10,7 @@ import { ProviderRegistry } from "../runtime/providers.js";
|
|
|
9
10
|
import { type RenderedInvocation, SkillInvoker } from "../skills/invoke.js";
|
|
10
11
|
import { ConnectorContent } from "../tools/connector-content.js";
|
|
11
12
|
import { ConversationAccess } from "./access.js";
|
|
13
|
+
import { type AgentTreeNode } from "./agent-tree.js";
|
|
12
14
|
import { AttachmentsService } from "./attachments.service.js";
|
|
13
15
|
import { EventLog } from "./event-log.js";
|
|
14
16
|
import type { ConversationEvent, LogContentBlock } from "./events.js";
|
|
@@ -34,6 +36,12 @@ export interface ConversationView {
|
|
|
34
36
|
subagentType: string | null;
|
|
35
37
|
/** When the owner archived it; null = not archived (hidden from the default lists). */
|
|
36
38
|
archivedAt: Date | null;
|
|
39
|
+
/**
|
|
40
|
+
* The environment it works in (environments spec §4.1 item 1); null while unbound (no sandbox
|
|
41
|
+
* provider when it was created, an anonymous IM sender's, or created before environments). A
|
|
42
|
+
* sub-agent's is null: it works in its root conversation's.
|
|
43
|
+
*/
|
|
44
|
+
environmentId: string | null;
|
|
37
45
|
/**
|
|
38
46
|
* What the latest run is doing: `running` (queued or running), `waiting` (an approval or a
|
|
39
47
|
* question), else null. Only the list queries compute it; other responses carry null.
|
|
@@ -85,6 +93,8 @@ export interface SubagentView {
|
|
|
85
93
|
export interface RunControl {
|
|
86
94
|
/** 有未消费的消息且没有进行中的运行时投递一轮运行;返回 runId 或 null。 */
|
|
87
95
|
ensureRun(conversationId: string): Promise<string | null>;
|
|
96
|
+
/** After a root's queue was unpaused: the wakes it held for its tree (agent map spec §5.3). */
|
|
97
|
+
wakeHeldTree(rootId: string): Promise<void>;
|
|
88
98
|
/**
|
|
89
99
|
* 运行是孤儿(会话锁空闲、任务已不存在,没有 worker 会收到中止广播)时直接把它写成 aborted,返回 true;
|
|
90
100
|
* 否则返回 false。
|
|
@@ -97,6 +107,13 @@ export interface RunControl {
|
|
|
97
107
|
abortWaiting(conversationId: string, runId: string, byAccountId: string): Promise<boolean>;
|
|
98
108
|
/** 请求中止运行(广播到所有副本)。 */
|
|
99
109
|
requestAbort(runId: string, byAccountId: string): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Stops a sub-agent with its descendants (with `includeSelf: false` only the sub-agent
|
|
112
|
+
* conversations below); the number of runs asked to stop (agent map spec §6).
|
|
113
|
+
*/
|
|
114
|
+
stopTree(conversationId: string, byAccountId: string, opts?: {
|
|
115
|
+
includeSelf?: boolean;
|
|
116
|
+
}): Promise<number>;
|
|
100
117
|
}
|
|
101
118
|
/** 消息附件引用(连接器 + 资源 URI)。 */
|
|
102
119
|
export interface AttachmentRef {
|
|
@@ -120,6 +137,11 @@ export interface ResolvedExtra {
|
|
|
120
137
|
export { userMessageIdemKey } from "./idem-keys.js";
|
|
121
138
|
/** The longest conversation title (characters, after trimming). */
|
|
122
139
|
export declare const CONVERSATION_TITLE_MAX_CHARS = 120;
|
|
140
|
+
/**
|
|
141
|
+
* How far back a `before` page of events reaches past its `limit` for the start of a turn (history
|
|
142
|
+
* paging spec §2); a longer run starts mid-run.
|
|
143
|
+
*/
|
|
144
|
+
export declare const EVENTS_TURN_EXTEND = 2000;
|
|
123
145
|
/** A user message as posted (`POST …/messages`, or the first message of `POST /conversations`). */
|
|
124
146
|
export interface UserMessageInput {
|
|
125
147
|
text: string;
|
|
@@ -162,6 +184,8 @@ export declare class ConversationsService {
|
|
|
162
184
|
private readonly invoker;
|
|
163
185
|
/** Stops a deleted conversation's background tasks. */
|
|
164
186
|
private readonly background;
|
|
187
|
+
/** The environment a new conversation is bound to (environments spec §4.1 item 1). */
|
|
188
|
+
private readonly environments;
|
|
165
189
|
readonly txHost: TransactionHost;
|
|
166
190
|
constructor(db: KernelDb, eventLog: EventLog, agents: Pick<AgentLookup, "get">, access: Pick<ConversationAccess, "isAccessible">,
|
|
167
191
|
/** Starts and stops the conversation's runs. */
|
|
@@ -175,14 +199,21 @@ export declare class ConversationsService {
|
|
|
175
199
|
/** Renders a person's skill invocation (phase D). */
|
|
176
200
|
invoker: Pick<SkillInvoker, "prepare">,
|
|
177
201
|
/** Stops a deleted conversation's background tasks. */
|
|
178
|
-
background: Pick<BackgroundTaskStopper, "stopForDeletedConversation">,
|
|
202
|
+
background: Pick<BackgroundTaskStopper, "stopForDeletedConversation">,
|
|
203
|
+
/** The environment a new conversation is bound to (environments spec §4.1 item 1). */
|
|
204
|
+
environments: Pick<ConversationEnvironments, "forNew">, txHost: TransactionHost);
|
|
179
205
|
/**
|
|
180
206
|
* 不阻塞地调用一次 `ensureRun`(打开 SSE、读事件时):它幂等,并顺带清理孤儿运行,
|
|
181
207
|
* 会话不会因为某次运行结束后的投递失败而永远停在「运行中」。失败只记日志。
|
|
182
208
|
*/
|
|
183
209
|
kickRun(conversationId: string): void;
|
|
184
|
-
/**
|
|
185
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Creates an empty conversation bound to its environment (`pick`, see
|
|
212
|
+
* {@link ConversationEnvironments.forNew}); an agent the account cannot use →
|
|
213
|
+
* `agent.not_found`, an environment it may not use → `environment.not_found` /
|
|
214
|
+
* `environment.unavailable`, and nothing is created.
|
|
215
|
+
*/
|
|
216
|
+
create(orgId: string, accountId: string, agentId: string, pick?: NewConversationEnvironment): Promise<ConversationView>;
|
|
186
217
|
/**
|
|
187
218
|
* Creates a conversation together with its first message (UI refresh B, create on first send):
|
|
188
219
|
* the conversation row and the `user_message` are written in one transaction, keyed by the
|
|
@@ -194,7 +225,7 @@ export declare class ConversationsService {
|
|
|
194
225
|
*/
|
|
195
226
|
createWithMessage(orgId: string, accountId: string, agentId: string, input: UserMessageInput & {
|
|
196
227
|
clientMessageId: string;
|
|
197
|
-
}): Promise<{
|
|
228
|
+
}, pick?: NewConversationEnvironment): Promise<{
|
|
198
229
|
conversation: ConversationView;
|
|
199
230
|
event: ConversationEvent;
|
|
200
231
|
events: ConversationEvent[];
|
|
@@ -222,12 +253,13 @@ export declare class ConversationsService {
|
|
|
222
253
|
/**
|
|
223
254
|
* Soft-deletes a conversation (owner only; a sub-agent's conversation is `conversation.read_only`):
|
|
224
255
|
* stops an active run, hides the conversation everywhere for its owner and drops its channel
|
|
225
|
-
* bindings,
|
|
226
|
-
*
|
|
227
|
-
* `kill_pending`)
|
|
256
|
+
* bindings, stops every running background task in its sandbox (its sub-agents' too; outside
|
|
257
|
+
* the delete's transaction, a task whose sandbox cannot be reached ends `lost` with
|
|
258
|
+
* `kill_pending`), then every active run of its sub-agent tree (agent map spec §10). The tasks
|
|
259
|
+
* are stopped after the conversation is marked deleted, so no finish
|
|
228
260
|
* (the stops' own, or one the poller writes meanwhile) can wake a run on it: `ensureRun` refuses a
|
|
229
261
|
* deleted conversation (the stops' finishes carry `stoppedBy: "deletion"` as well). The event
|
|
230
|
-
* log, runs and trajectory stay (
|
|
262
|
+
* log, runs and trajectory stay (super admins still see them).
|
|
231
263
|
*/
|
|
232
264
|
remove(orgId: string, conversationId: string, accountId: string): Promise<void>;
|
|
233
265
|
private markDeleted;
|
|
@@ -289,17 +321,37 @@ export declare class ConversationsService {
|
|
|
289
321
|
next: string | null;
|
|
290
322
|
}>;
|
|
291
323
|
/**
|
|
292
|
-
*
|
|
293
|
-
*
|
|
324
|
+
* The agent tree of a root conversation (agent map spec §8, §9.2): the root and every sub-agent
|
|
325
|
+
* below it with status, model, time, tokens and tool calls. Owner only, as {@link isAccessible};
|
|
326
|
+
* a sub-agent's id (not a root) is `conversation.not_found` too.
|
|
327
|
+
*/
|
|
328
|
+
agentTree(orgId: string, conversationId: string, viewerAccountId: string): Promise<{
|
|
329
|
+
root: AgentTreeNode;
|
|
330
|
+
}>;
|
|
331
|
+
/**
|
|
332
|
+
* A conversation's token usage: its own `usage` events (compaction included) plus those of every
|
|
333
|
+
* sub-agent below it, at any depth (sub-agents spec §8.3, agent map spec §6: every descendant
|
|
334
|
+
* counts toward the root; `conversationTree`), whose logs keep their own. Owner only, as
|
|
335
|
+
* {@link get}.
|
|
294
336
|
*/
|
|
295
337
|
usage(orgId: string, conversationId: string, viewerAccountId: string): Promise<UsageTotals>;
|
|
296
338
|
/**
|
|
297
|
-
* The conversation whose sandbox `conversationId` works in: a sub-agent's is its
|
|
298
|
-
* (sub-agents spec §10.1), any other its own. Call
|
|
339
|
+
* The conversation whose sandbox `conversationId` works in: a sub-agent's is its root
|
|
340
|
+
* conversation's at any depth (sub-agents spec §10.1, agent map spec §6), any other its own. Call
|
|
341
|
+
* only after an access check.
|
|
299
342
|
*/
|
|
300
343
|
sandboxConversationOf(orgId: string, conversationId: string): Promise<string>;
|
|
301
344
|
/** 读事件(先做 `get` 的可见性判定);顺带不阻塞地 {@link kickRun}。 */
|
|
302
345
|
listEvents(orgId: string, conversationId: string, viewerAccountId: string, afterSeq: number, limit: number): Promise<ConversationEvent[]>;
|
|
346
|
+
/**
|
|
347
|
+
* The turn-aligned page of events before `beforeSeq` (`null`: the log's last page), with how
|
|
348
|
+
* many runs started before it ({@link EventLog.readTurnPageBefore}; history paging spec §2).
|
|
349
|
+
* Visibility as {@link get}; kicks a stalled run as {@link listEvents} does.
|
|
350
|
+
*/
|
|
351
|
+
listEventsBefore(orgId: string, conversationId: string, viewerAccountId: string, beforeSeq: number | null, limit: number): Promise<{
|
|
352
|
+
events: ConversationEvent[];
|
|
353
|
+
turnsBefore: number;
|
|
354
|
+
}>;
|
|
303
355
|
/**
|
|
304
356
|
* 追加一条用户消息;带 `clientMessageId` 时重复提交返回同一事件。写入后调用 `ensureRun`:
|
|
305
357
|
* 没有进行中的运行时投递一轮;运行中则由当前运行在步骤间隙吸收,或在它结束时再次 `ensureRun`。
|
|
@@ -360,6 +412,11 @@ export declare class ConversationsService {
|
|
|
360
412
|
* 中止会话当前的运行(queued / running / waiting):返回 runId;没有 → `run.not_active`。
|
|
361
413
|
* 等人处理的运行没有 worker:直接取消等待并写终态。其余经 Redis 广播,运行所在的任意副本都会收到;
|
|
362
414
|
* 运行已是孤儿(没有任何 worker 在执行)时直接写终态。
|
|
415
|
+
*
|
|
416
|
+
* A root conversation's stop stops only its own run: its background sub-agents keep working
|
|
417
|
+
* (agent map spec §6). A sub-agent's conversation (its owner, from the agent map) stops that
|
|
418
|
+
* sub-agent with every descendant (`RunControl.stopTree`); `run.not_active` when nothing in that
|
|
419
|
+
* subtree runs, else the sub-agent's latest run id.
|
|
363
420
|
*/
|
|
364
421
|
abort(orgId: string, conversationId: string, accountId: string): Promise<string>;
|
|
365
422
|
}
|