@capybara-hq/kernel 0.1.0-rc.3 → 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 +47 -16
- package/dist/admin/admin.controller.js +44 -19
- package/dist/admin/extensions.controller.d.ts +24 -3
- package/dist/admin/extensions.controller.js +48 -8
- 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 +19 -0
- package/dist/agents/agent-lookup.js +21 -0
- package/dist/agents/agent-profile.service.d.ts +29 -0
- package/dist/agents/agent-profile.service.js +117 -0
- package/dist/agents/agents.controller.d.ts +168 -3
- package/dist/agents/agents.controller.js +201 -12
- package/dist/agents/agents.module.d.ts +4 -1
- package/dist/agents/agents.module.js +36 -6
- package/dist/agents/agents.service.d.ts +64 -27
- package/dist/agents/agents.service.js +199 -74
- package/dist/agents/definition.d.ts +53 -0
- package/dist/agents/definition.js +55 -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/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +9 -3
- package/dist/agents/models.controller.js +19 -4
- 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/profile.d.ts +96 -0
- package/dist/agents/profile.js +51 -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 +86 -5
- package/dist/agents/templates.controller.js +171 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +476 -53
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +87 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +94 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +36 -0
- package/dist/background/launch.js +70 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +190 -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 +79 -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 +243 -0
- package/dist/background/store.d.ts +162 -0
- package/dist/background/store.js +357 -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 +211 -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 +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/claude/agents.js +2 -0
- 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 +623 -83
- 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 +1148 -1137
- 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 +21 -3
- package/dist/channels/channels.module.js +2 -0
- package/dist/channels/connections.service.d.ts +16 -1
- package/dist/channels/connections.service.js +38 -4
- 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/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/config/docs.js +3 -1
- package/dist/config/schema.d.ts +24 -2
- package/dist/config/schema.js +145 -19
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -23
- package/dist/conversations/conversations.controller.js +141 -50
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.service.d.ts +108 -9
- package/dist/conversations/conversations.service.js +237 -30
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +21 -6
- package/dist/conversations/event-log.js +70 -1
- package/dist/conversations/events.d.ts +140 -0
- package/dist/conversations/events.js +142 -13
- package/dist/conversations/queue.d.ts +3 -1
- package/dist/conversations/queue.js +13 -2
- package/dist/conversations/queue.service.d.ts +1 -1
- package/dist/conversations/queue.service.js +8 -1
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +36 -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 +420 -20
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- 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 +90 -2
- package/dist/errors.js +90 -2
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +26 -7
- package/dist/evals/run-replay.d.ts +7 -2
- package/dist/evals/run-replay.js +42 -7
- package/dist/evals/step-replay.d.ts +2 -5
- package/dist/evals/step-replay.js +13 -7
- package/dist/evals/trajectory.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 +67 -42
- package/dist/extensions/admin-view.d.ts +39 -10
- package/dist/extensions/admin-view.js +111 -20
- package/dist/extensions/blobs.js +1 -0
- 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/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +78 -8
- package/dist/extensions/deployment-config.js +172 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/extensions.module.js +14 -2
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +45 -2
- package/dist/extensions/host.js +112 -16
- package/dist/extensions/installs.d.ts +20 -8
- package/dist/extensions/installs.js +37 -15
- package/dist/extensions/org-config.d.ts +81 -6
- package/dist/extensions/org-config.js +195 -44
- 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 +19 -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.controller.d.ts +34 -0
- package/dist/extensions/point-defaults.controller.js +71 -0
- package/dist/extensions/point-defaults.d.ts +71 -0
- package/dist/extensions/point-defaults.js +234 -0
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.js +2 -0
- 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 +31 -3
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- 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.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +26 -9
- package/dist/identity/cookies.d.ts +20 -5
- package/dist/identity/cookies.js +44 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +4 -4
- package/dist/identity/me.controller.d.ts +5 -1
- package/dist/identity/me.controller.js +12 -3
- package/dist/identity/principal.d.ts +3 -3
- package/dist/identity/principal.js +3 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- 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 +2 -2
- package/dist/index.js +1 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +27 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +19 -2
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- 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/log.d.ts +13 -1
- package/dist/log.js +93 -17
- 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 +43 -9
- package/dist/models/purposes.js +48 -18
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.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 +20 -3
- package/dist/orgs/settings.service.js +19 -4
- 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 +15 -1
- package/dist/runtime/context/build.d.ts +11 -7
- package/dist/runtime/context/build.js +46 -19
- package/dist/runtime/context/claude-tools.d.ts +3 -1
- package/dist/runtime/context/claude-tools.js +8 -6
- package/dist/runtime/context/compaction.js +13 -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 +36 -17
- package/dist/runtime/loop.d.ts +34 -5
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +46 -8
- package/dist/runtime/model-call.js +72 -21
- package/dist/runtime/providers.d.ts +6 -0
- package/dist/runtime/providers.js +8 -0
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +3 -7
- package/dist/runtime/run-queue.d.ts +59 -2
- package/dist/runtime/run-queue.js +311 -38
- package/dist/runtime/run-worker.d.ts +11 -5
- package/dist/runtime/run-worker.js +69 -33
- package/dist/runtime/runtime.module.js +11 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +12 -3
- package/dist/runtime/subagents/definition.js +44 -28
- 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.d.ts +2 -1
- package/dist/runtime/usage-report.js +19 -13
- package/dist/runtime/waits.d.ts +145 -36
- package/dist/runtime/waits.js +423 -109
- 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 +10 -4
- package/dist/sandbox/sandbox.service.d.ts +282 -129
- package/dist/sandbox/sandbox.service.js +736 -381
- 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 +25 -4
- package/dist/tools/builtin-names.d.ts +41 -7
- package/dist/tools/builtin-names.js +59 -7
- 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 +19 -1
- package/dist/tools/builtins/builtin-tools.js +59 -2
- 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.d.ts +1 -1
- package/dist/tools/builtins/sandbox/bash.js +241 -4
- package/dist/tools/builtins/sandbox/common.d.ts +69 -27
- package/dist/tools/builtins/sandbox/common.js +87 -48
- package/dist/tools/builtins/sandbox/deliver.js +1 -1
- 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 +3 -1
- package/dist/tools/builtins/sandbox/index.js +7 -1
- package/dist/tools/builtins/sandbox/read.js +1 -1
- package/dist/tools/builtins/sandbox/task-output.d.ts +74 -0
- package/dist/tools/builtins/sandbox/task-output.js +329 -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.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/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/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/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -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 +202 -364
- package/dist/tools/policy.d.ts +1 -1
- package/dist/tools/policy.js +36 -16
- package/dist/tools/registry.d.ts +120 -8
- package/dist/tools/registry.js +112 -19
- package/dist/tools/tools.module.js +24 -2
- package/dist/tools/validate.js +1 -1
- package/dist/ui/views.d.ts +2 -1
- package/dist/ui/views.js +17 -3
- package/package.json +3 -3
- 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/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
|
@@ -40,6 +40,16 @@ export const MAX_PENDING_SKILL_PACKAGES = 5;
|
|
|
40
40
|
* `POST /skills` 开始处理时再顺延这么久,处理期间不会被清理。
|
|
41
41
|
*/
|
|
42
42
|
export const SKILL_PACKAGE_TTL_HOURS = 1;
|
|
43
|
+
/** The image types an agent avatar upload may have (cropped square in the browser). */
|
|
44
|
+
export const AGENT_AVATAR_CONTENT_TYPES = ["image/png", "image/jpeg", "image/webp"];
|
|
45
|
+
/** The size limit of an agent avatar upload (bytes). */
|
|
46
|
+
export const AGENT_AVATAR_MAX_BYTES = 2 * 1024 * 1024;
|
|
47
|
+
/** Unfinished avatar uploads one account may have in an org (counted apart from other uploads). */
|
|
48
|
+
export const MAX_PENDING_AGENT_AVATARS = 10;
|
|
49
|
+
/** An avatar upload not saved into a profile expires (and is cleaned up) after this many hours. */
|
|
50
|
+
export const AGENT_AVATAR_TTL_HOURS = 24;
|
|
51
|
+
/** Download redirect lifetime of an avatar (seconds); also its `Cache-Control` max-age. */
|
|
52
|
+
export const AGENT_AVATAR_DOWNLOAD_TTL_SECONDS = 300;
|
|
43
53
|
/**
|
|
44
54
|
* 技能包解出的文件在 `kernel/<orgId>/` 下的前缀:按上传 id,同一上传重试写到同一批键(幂等),
|
|
45
55
|
* 并发处理同一上传也不会互相覆盖出不同内容。版本行记下这个前缀(`skill_versions.object_prefix`)。
|
|
@@ -56,7 +66,11 @@ const notFound = () => new ApiError("attachment.not_found", "Attachment not foun
|
|
|
56
66
|
export const normalizeContentType = (ct) => (ct.split(";")[0] ?? "").trim().toLowerCase();
|
|
57
67
|
const isImage = (ct) => IMAGE_MEDIA_TYPES.includes(ct);
|
|
58
68
|
/** 对象键:只用附件 id,用户的文件名不进键。技能包另放 `skill-packages/<id>`。 */
|
|
59
|
-
const objectKey = (id, purpose = "chat") => purpose === "chat"
|
|
69
|
+
const objectKey = (id, purpose = "chat") => purpose === "chat"
|
|
70
|
+
? `attachments/${id}`
|
|
71
|
+
: purpose === "agent-avatar"
|
|
72
|
+
? `agent-avatars/${id}`
|
|
73
|
+
: `skill-packages/${id}`;
|
|
60
74
|
const startsWith = (b, sig, at = 0) => sig.every((x, i) => b[at + i] === x);
|
|
61
75
|
const ascii = (s) => [...s].map((c) => c.charCodeAt(0));
|
|
62
76
|
/** 文件开头是否与声明的类型相符(图片与 PDF 看签名,文本不能含 NUL)。 */
|
|
@@ -139,12 +153,19 @@ let AttachmentsService = class AttachmentsService {
|
|
|
139
153
|
const cfg = this.config.get().attachments;
|
|
140
154
|
const contentType = normalizeContentType(input.contentType);
|
|
141
155
|
const skill = purpose === "skill-package";
|
|
156
|
+
const avatar = purpose === "agent-avatar";
|
|
142
157
|
if (skill
|
|
143
158
|
? contentType !== SKILL_PACKAGE_CONTENT_TYPE
|
|
144
|
-
:
|
|
159
|
+
: avatar
|
|
160
|
+
? !AGENT_AVATAR_CONTENT_TYPES.includes(contentType)
|
|
161
|
+
: !cfg.allowedTypes.includes(contentType)) {
|
|
145
162
|
throw new ApiError("attachment.type_not_allowed", `Attachment type ${JSON.stringify(contentType)} is not allowed`);
|
|
146
163
|
}
|
|
147
|
-
const limit = skill
|
|
164
|
+
const limit = skill
|
|
165
|
+
? SKILL_PACKAGE_UPLOAD_MAX_BYTES
|
|
166
|
+
: avatar
|
|
167
|
+
? AGENT_AVATAR_MAX_BYTES
|
|
168
|
+
: this.limitFor(contentType);
|
|
148
169
|
if (input.size > limit) {
|
|
149
170
|
throw new ApiError("attachment.too_large", `Attachment is ${input.size} bytes, over the limit of ${limit} bytes`);
|
|
150
171
|
}
|
|
@@ -156,13 +177,21 @@ let AttachmentsService = class AttachmentsService {
|
|
|
156
177
|
.where("status", "=", "pending")
|
|
157
178
|
.where("purpose", "=", purpose)
|
|
158
179
|
.executeTakeFirst();
|
|
159
|
-
const maxPending = skill
|
|
180
|
+
const maxPending = skill
|
|
181
|
+
? MAX_PENDING_SKILL_PACKAGES
|
|
182
|
+
: avatar
|
|
183
|
+
? MAX_PENDING_AGENT_AVATARS
|
|
184
|
+
: MAX_PENDING_ATTACHMENTS;
|
|
160
185
|
if (Number(pending?.n ?? 0) >= maxPending) {
|
|
161
186
|
throw new ApiError("attachment.too_many_pending", `Too many unfinished uploads (at most ${maxPending}); finish or wait for them first`);
|
|
162
187
|
}
|
|
163
188
|
const id = randomUUID();
|
|
164
189
|
const key = objectKey(id, purpose);
|
|
165
|
-
const ttlHours = skill
|
|
190
|
+
const ttlHours = skill
|
|
191
|
+
? SKILL_PACKAGE_TTL_HOURS
|
|
192
|
+
: avatar
|
|
193
|
+
? AGENT_AVATAR_TTL_HOURS
|
|
194
|
+
: cfg.unboundTtlHours;
|
|
166
195
|
const upload = await this.storage.kernel(orgId).presignPut(key, {
|
|
167
196
|
contentType,
|
|
168
197
|
maxSize: input.size,
|
|
@@ -541,6 +570,99 @@ let AttachmentsService = class AttachmentsService {
|
|
|
541
570
|
.where("id", "=", id)
|
|
542
571
|
.execute();
|
|
543
572
|
}
|
|
573
|
+
/**
|
|
574
|
+
* Makes an agent avatar upload ready to be saved into a profile (outside any transaction: it may
|
|
575
|
+
* read the object store): only the uploader, only the `agent-avatar` purpose, an image type, not
|
|
576
|
+
* expired and not yet used by another agent, else `attachment.not_found`. An upload still
|
|
577
|
+
* `pending` is finalized first (size, type and the image signature are checked). The expiry is
|
|
578
|
+
* extended so the cleanup job cannot delete it before {@link consumeAgentAvatar} runs.
|
|
579
|
+
*/
|
|
580
|
+
async prepareAgentAvatar(orgId, accountId, id, agentId) {
|
|
581
|
+
this.storage.assertAvailable();
|
|
582
|
+
const row = await this.db
|
|
583
|
+
.selectFrom("attachments")
|
|
584
|
+
.select([
|
|
585
|
+
"status",
|
|
586
|
+
"purpose",
|
|
587
|
+
"content_type",
|
|
588
|
+
"agent_id",
|
|
589
|
+
sql `expires_at is not null and expires_at <= now()`.as("expired"),
|
|
590
|
+
])
|
|
591
|
+
.where("id", "=", id)
|
|
592
|
+
.where("org_id", "=", orgId)
|
|
593
|
+
.where("account_id", "=", accountId)
|
|
594
|
+
.executeTakeFirst();
|
|
595
|
+
if (row?.purpose !== "agent-avatar" ||
|
|
596
|
+
row.status === "deleting" ||
|
|
597
|
+
row.expired ||
|
|
598
|
+
(row.agent_id !== null && row.agent_id !== agentId) ||
|
|
599
|
+
!AGENT_AVATAR_CONTENT_TYPES.includes(row.content_type)) {
|
|
600
|
+
throw notFound();
|
|
601
|
+
}
|
|
602
|
+
if (row.status === "pending")
|
|
603
|
+
await this.finalize(orgId, accountId, id);
|
|
604
|
+
await this.db
|
|
605
|
+
.updateTable("attachments")
|
|
606
|
+
.set({ expires_at: sql `now() + make_interval(hours => ${AGENT_AVATAR_TTL_HOURS})` })
|
|
607
|
+
.where("id", "=", id)
|
|
608
|
+
.where("status", "=", "ready")
|
|
609
|
+
.where("agent_id", "is", null)
|
|
610
|
+
.where("expires_at", "is not", null)
|
|
611
|
+
.execute();
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* In the caller's transaction, binds a ready avatar upload to `agentId` (row lock; the expiry is
|
|
615
|
+
* cleared, so the cleanup job keeps it while the profile uses it). An upload another agent
|
|
616
|
+
* already uses, or one that is not the account's ready avatar → `attachment.not_found`; saving
|
|
617
|
+
* the same upload to the same agent again is fine.
|
|
618
|
+
*/
|
|
619
|
+
async consumeAgentAvatar(orgId, accountId, id, agentId) {
|
|
620
|
+
const trx = this.db.db;
|
|
621
|
+
const row = await trx
|
|
622
|
+
.selectFrom("attachments")
|
|
623
|
+
.select(["status", "agent_id"])
|
|
624
|
+
.where("id", "=", id)
|
|
625
|
+
.where("org_id", "=", orgId)
|
|
626
|
+
.where("account_id", "=", accountId)
|
|
627
|
+
.where("purpose", "=", "agent-avatar")
|
|
628
|
+
.forUpdate()
|
|
629
|
+
.executeTakeFirst();
|
|
630
|
+
if (row?.status !== "ready" || (row.agent_id !== null && row.agent_id !== agentId)) {
|
|
631
|
+
throw notFound();
|
|
632
|
+
}
|
|
633
|
+
await trx
|
|
634
|
+
.updateTable("attachments")
|
|
635
|
+
.set({ agent_id: agentId, expires_at: null })
|
|
636
|
+
.where("id", "=", id)
|
|
637
|
+
.execute();
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* A short-lived presigned GET (inline, with the checked image type) of the avatar upload bound
|
|
641
|
+
* to `agentId`; `null` when there is none or its object is gone or no longer the finalized one.
|
|
642
|
+
*/
|
|
643
|
+
async agentAvatarUrl(orgId, agentId, id) {
|
|
644
|
+
this.storage.assertAvailable();
|
|
645
|
+
const row = await this.db
|
|
646
|
+
.selectFrom("attachments")
|
|
647
|
+
.select(["content_type", "object_key", "etag"])
|
|
648
|
+
.where("id", "=", id)
|
|
649
|
+
.where("org_id", "=", orgId)
|
|
650
|
+
.where("agent_id", "=", agentId)
|
|
651
|
+
.where("purpose", "=", "agent-avatar")
|
|
652
|
+
.where("status", "=", "ready")
|
|
653
|
+
.executeTakeFirst();
|
|
654
|
+
if (!row)
|
|
655
|
+
return null;
|
|
656
|
+
const store = this.storage.kernel(orgId);
|
|
657
|
+
const head = await store.head(row.object_key);
|
|
658
|
+
if (!head || !this.sameContent(row.etag, head.etag, { orgId, attachmentId: id }))
|
|
659
|
+
return null;
|
|
660
|
+
return store.presignGet(row.object_key, {
|
|
661
|
+
ttlSeconds: AGENT_AVATAR_DOWNLOAD_TTL_SECONDS,
|
|
662
|
+
disposition: "inline",
|
|
663
|
+
responseContentType: row.content_type,
|
|
664
|
+
});
|
|
665
|
+
}
|
|
544
666
|
/**
|
|
545
667
|
* 删除过期(`expires_at < now()`)且从未绑定到会话的附件:先把行认领为 `deleting`(`FOR UPDATE SKIP LOCKED`,
|
|
546
668
|
* 多副本并发时互不重复),再删对象、删行。删对象失败的行保持 `deleting`,下次运行重试。
|
|
@@ -613,6 +735,9 @@ __decorate([
|
|
|
613
735
|
__decorate([
|
|
614
736
|
Transactional({ propagation: "mandatory" })
|
|
615
737
|
], AttachmentsService.prototype, "consumeSkillPackage", null);
|
|
738
|
+
__decorate([
|
|
739
|
+
Transactional({ propagation: "mandatory" })
|
|
740
|
+
], AttachmentsService.prototype, "consumeAgentAvatar", null);
|
|
616
741
|
AttachmentsService = __decorate([
|
|
617
742
|
Injectable(),
|
|
618
743
|
__param(0, Inject(KernelDb)),
|
|
@@ -1,22 +1,40 @@
|
|
|
1
1
|
import type { FastifyReply } from "fastify";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
+
import type { EnvironmentView } from "../environments/environments.service.js";
|
|
3
4
|
import { type Principal } from "../identity/principal.js";
|
|
4
5
|
import { type OrgContext } from "../orgs/org.guard.js";
|
|
5
6
|
import { ConversationToolInfo, type ToolInfo } from "../tools/info.js";
|
|
7
|
+
import type { AgentTreeNode } from "./agent-tree.js";
|
|
6
8
|
import { type ArtifactPreview, ConversationArtifacts } from "./artifacts.js";
|
|
7
9
|
import { type ConversationGroup, ConversationsService, type ConversationView, type SubagentView, type UsageTotals } from "./conversations.service.js";
|
|
10
|
+
import { ConversationEnvironmentStatus } from "./environment-status.js";
|
|
8
11
|
import type { ConversationEvent } from "./events.js";
|
|
9
12
|
import { ConversationFiles, type FileOutput } from "./files.js";
|
|
10
13
|
import { ConversationOutputs, type OutputPage } from "./outputs-read.js";
|
|
11
14
|
import type { QueueItem, QueuePauseReason } from "./queue.js";
|
|
12
15
|
import { ConversationQueue } from "./queue.service.js";
|
|
13
|
-
import { ConversationSandboxStatus, type SandboxStatusView } from "./sandbox-status.js";
|
|
14
16
|
declare const ListQuery: z.ZodObject<{
|
|
17
|
+
q: z.ZodOptional<z.ZodString>;
|
|
18
|
+
state: z.ZodOptional<z.ZodEnum<{
|
|
19
|
+
running: "running";
|
|
20
|
+
waiting: "waiting";
|
|
21
|
+
}>>;
|
|
22
|
+
archived: z.ZodOptional<z.ZodEnum<{
|
|
23
|
+
1: "1";
|
|
24
|
+
}>>;
|
|
15
25
|
after: z.ZodOptional<z.ZodString>;
|
|
16
26
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
17
27
|
agentId: z.ZodOptional<z.ZodString>;
|
|
18
28
|
}, z.core.$strip>;
|
|
19
29
|
declare const GroupsQuery: z.ZodObject<{
|
|
30
|
+
q: z.ZodOptional<z.ZodString>;
|
|
31
|
+
state: z.ZodOptional<z.ZodEnum<{
|
|
32
|
+
running: "running";
|
|
33
|
+
waiting: "waiting";
|
|
34
|
+
}>>;
|
|
35
|
+
archived: z.ZodOptional<z.ZodEnum<{
|
|
36
|
+
1: "1";
|
|
37
|
+
}>>;
|
|
20
38
|
perGroup: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
21
39
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
22
40
|
after: z.ZodOptional<z.ZodString>;
|
|
@@ -26,7 +44,8 @@ declare const SubagentsQuery: z.ZodObject<{
|
|
|
26
44
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
27
45
|
}, z.core.$strip>;
|
|
28
46
|
declare const EventsQuery: z.ZodObject<{
|
|
29
|
-
after: z.
|
|
47
|
+
after: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
48
|
+
before: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"end">, z.ZodCoercedNumber<unknown>]>>;
|
|
30
49
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
31
50
|
}, z.core.$strip>;
|
|
32
51
|
/** `?keys=a,b`: 1–100 comma-separated tool keys of 1–200 characters each. */
|
|
@@ -79,9 +98,12 @@ declare const MessageBody: z.ZodObject<{
|
|
|
79
98
|
* `POST /conversations`: `message` creates the conversation with its first message (create on
|
|
80
99
|
* first send; `clientMessageId` is required and makes a retry return the same conversation).
|
|
81
100
|
* Without it the conversation is created empty (API clients; the web never does).
|
|
101
|
+
* `environmentId` binds it to one of the caller's environments; without it the caller's default
|
|
102
|
+
* environment (environments spec §4.1 item 1).
|
|
82
103
|
*/
|
|
83
104
|
declare const CreateBody: z.ZodObject<{
|
|
84
105
|
agentId: z.ZodString;
|
|
106
|
+
environmentId: z.ZodOptional<z.ZodString>;
|
|
85
107
|
message: z.ZodOptional<z.ZodObject<{
|
|
86
108
|
text: z.ZodString;
|
|
87
109
|
attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -107,9 +129,7 @@ declare const CreateBody: z.ZodObject<{
|
|
|
107
129
|
}, z.core.$strict>>;
|
|
108
130
|
}, z.core.$strict>;
|
|
109
131
|
/**
|
|
110
|
-
* `POST …/queue
|
|
111
|
-
* now and applied when the message is sent (final review I1). A skill invocation is rendered now
|
|
112
|
-
* and checked again when sent (phase D Task 9).
|
|
132
|
+
* `POST …/queue` (deprecated, behaves as `POST …/messages`): the message fields (no retry).
|
|
113
133
|
*/
|
|
114
134
|
declare const QueueBody: z.ZodObject<{
|
|
115
135
|
text: z.ZodString;
|
|
@@ -142,9 +162,13 @@ declare const QueueEditBody: z.ZodObject<{
|
|
|
142
162
|
* A rename: 1–120 characters counted in code points after trimming, with no control or format
|
|
143
163
|
* (bidi, zero-width) characters, the same rule generated and tool titles follow.
|
|
144
164
|
*/
|
|
145
|
-
declare const
|
|
146
|
-
title: z.ZodString
|
|
165
|
+
declare const PatchBody: z.ZodObject<{
|
|
166
|
+
title: z.ZodOptional<z.ZodString>;
|
|
167
|
+
archived: z.ZodOptional<z.ZodBoolean>;
|
|
147
168
|
}, z.core.$strict>;
|
|
169
|
+
declare const IdParams: z.ZodObject<{
|
|
170
|
+
id: z.ZodString;
|
|
171
|
+
}, z.core.$strip>;
|
|
148
172
|
/**
|
|
149
173
|
* 会话(`/api/v1/orgs/:orgId/conversations`):`agents.use`(访客以上),只接受人类用户;
|
|
150
174
|
* 服务令牌 → 403 `forbidden`。只有会话所有者可见,其他人一律 `conversation.not_found`。
|
|
@@ -153,20 +177,30 @@ export declare class ConversationsController {
|
|
|
153
177
|
private readonly conversations;
|
|
154
178
|
private readonly outputs;
|
|
155
179
|
private readonly artifacts;
|
|
156
|
-
private readonly
|
|
180
|
+
private readonly environmentStatus;
|
|
157
181
|
private readonly toolInfo;
|
|
158
182
|
private readonly queue;
|
|
159
183
|
private readonly files;
|
|
160
|
-
constructor(conversations: ConversationsService, outputs: ConversationOutputs, artifacts: ConversationArtifacts,
|
|
161
|
-
/**
|
|
184
|
+
constructor(conversations: ConversationsService, outputs: ConversationOutputs, artifacts: ConversationArtifacts, environmentStatus: ConversationEnvironmentStatus, toolInfo: ConversationToolInfo, queue: ConversationQueue, files: ConversationFiles);
|
|
185
|
+
/**
|
|
186
|
+
* 201 when created; 200 when `message.clientMessageId` repeats an earlier first send. With a
|
|
187
|
+
* message the answer has `event` (the `user_message`) and `events`: every event the first send
|
|
188
|
+
* wrote, in seq order from seq 1 (a `model_switched` first when it switched).
|
|
189
|
+
*/
|
|
162
190
|
create(principal: Principal, org: OrgContext, body: z.infer<typeof CreateBody>, reply: FastifyReply): Promise<{
|
|
163
191
|
conversation: ConversationView;
|
|
164
192
|
event?: ConversationEvent;
|
|
193
|
+
events?: ConversationEvent[];
|
|
165
194
|
}>;
|
|
166
|
-
/**
|
|
167
|
-
|
|
195
|
+
/**
|
|
196
|
+
* Rename and / or archive (owner only). A rename makes `titleSource` `manual`, so the title is
|
|
197
|
+
* never regenerated; `archived` archives or unarchives. Returns the final view.
|
|
198
|
+
*/
|
|
199
|
+
patch(principal: Principal, org: OrgContext, id: string, body: z.infer<typeof PatchBody>): Promise<{
|
|
168
200
|
conversation: ConversationView;
|
|
169
201
|
}>;
|
|
202
|
+
/** Soft delete (owner only): stops an active run and hides the conversation everywhere. */
|
|
203
|
+
remove(principal: Principal, org: OrgContext, { id }: z.infer<typeof IdParams>): Promise<void>;
|
|
170
204
|
/** 我的会话,最近更新的在前:`next` 为下一页游标(作为 `after` 传回),没有更多时为 null。 */
|
|
171
205
|
list(principal: Principal, org: OrgContext, q: z.infer<typeof ListQuery>): Promise<{
|
|
172
206
|
conversations: ConversationView[];
|
|
@@ -180,13 +214,19 @@ export declare class ConversationsController {
|
|
|
180
214
|
groups(principal: Principal, org: OrgContext, q: z.infer<typeof GroupsQuery>): Promise<{
|
|
181
215
|
groups: ConversationGroup[];
|
|
182
216
|
next: string | null;
|
|
217
|
+
archivedCount: number;
|
|
183
218
|
}>;
|
|
184
219
|
get(principal: Principal, org: OrgContext, id: string): Promise<{
|
|
185
220
|
conversation: ConversationView;
|
|
186
221
|
}>;
|
|
187
|
-
/**
|
|
222
|
+
/**
|
|
223
|
+
* Events in ascending seq. `after`: those after it (at most `limit`; the client passes the last
|
|
224
|
+
* seq back as the next `after`). `before` (a seq, or `end` for the log's last page): the
|
|
225
|
+
* turn-aligned page before it, `{ events, turnsBefore }` (history paging spec §2).
|
|
226
|
+
*/
|
|
188
227
|
events(principal: Principal, org: OrgContext, id: string, q: z.infer<typeof EventsQuery>): Promise<{
|
|
189
228
|
events: ConversationEvent[];
|
|
229
|
+
turnsBefore?: number;
|
|
190
230
|
}>;
|
|
191
231
|
/**
|
|
192
232
|
* The conversation's sub-agents, newest first (sub-agents spec §14.3): `{ subagents, next }`,
|
|
@@ -197,6 +237,14 @@ export declare class ConversationsController {
|
|
|
197
237
|
subagents: SubagentView[];
|
|
198
238
|
next: string | null;
|
|
199
239
|
}>;
|
|
240
|
+
/**
|
|
241
|
+
* The agent tree of a root conversation (agent map spec §8, §9.2): `{ root }`, each node with its
|
|
242
|
+
* status, model, time, tokens, tool calls and children. Owner only; a sub-agent's id is
|
|
243
|
+
* `conversation.not_found`.
|
|
244
|
+
*/
|
|
245
|
+
agentTree(principal: Principal, org: OrgContext, { id }: z.infer<typeof IdParams>): Promise<{
|
|
246
|
+
root: AgentTreeNode;
|
|
247
|
+
}>;
|
|
200
248
|
/**
|
|
201
249
|
* The conversation's token usage, its sub-agents' included (sub-agents spec §8.3):
|
|
202
250
|
* `{ usage: { inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens } }`. Owner only.
|
|
@@ -239,11 +287,13 @@ export declare class ConversationsController {
|
|
|
239
287
|
*/
|
|
240
288
|
fileContent(principal: Principal, org: OrgContext, id: string, fileId: string, q: z.infer<typeof FileContentQuery>, reply: FastifyReply): Promise<void>;
|
|
241
289
|
/**
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
290
|
+
* The environment the conversation works in (a sub-agent: its root's), as its owner sees it,
|
|
291
|
+
* with its instance state; `null` while unbound, or when the environment was deleted. Same
|
|
292
|
+
* visibility as the event stream.
|
|
245
293
|
*/
|
|
246
|
-
|
|
294
|
+
environment(principal: Principal, org: OrgContext, id: string): Promise<{
|
|
295
|
+
environment: EnvironmentView | null;
|
|
296
|
+
}>;
|
|
247
297
|
/**
|
|
248
298
|
* Display metadata (title, kind, key arguments, source) of the tools a conversation's calls name,
|
|
249
299
|
* for the tool rows (UI refresh B). Same visibility as the event stream; never model-visible.
|
|
@@ -264,12 +314,12 @@ export declare class ConversationsController {
|
|
|
264
314
|
pauseReason?: QueuePauseReason;
|
|
265
315
|
}>;
|
|
266
316
|
/**
|
|
267
|
-
*
|
|
268
|
-
*
|
|
317
|
+
* Deprecated: behaves as `POST …/messages` (202 `{ event }`): an interjection while a run is
|
|
318
|
+
* active, a new run otherwise; nothing is queued any more. Kept for older clients for one release;
|
|
319
|
+
* the leftover-item routes below keep working until the queue table is dropped (contract step).
|
|
269
320
|
*/
|
|
270
|
-
enqueue(principal: Principal, org: OrgContext, id: string, body: z.infer<typeof QueueBody
|
|
271
|
-
|
|
272
|
-
event?: ConversationEvent;
|
|
321
|
+
enqueue(principal: Principal, org: OrgContext, id: string, body: z.infer<typeof QueueBody>): Promise<{
|
|
322
|
+
event: ConversationEvent;
|
|
273
323
|
}>;
|
|
274
324
|
/** "Continue sending" after a pause (202). Declared before `:itemId` routes. */
|
|
275
325
|
resumeQueue(principal: Principal, org: OrgContext, id: string): Promise<Record<string, never>>;
|
|
@@ -281,7 +331,13 @@ export declare class ConversationsController {
|
|
|
281
331
|
sendQueued(principal: Principal, org: OrgContext, id: string, itemId: string): Promise<{
|
|
282
332
|
event: ConversationEvent;
|
|
283
333
|
}>;
|
|
284
|
-
/**
|
|
334
|
+
/**
|
|
335
|
+
* Stops the current run (the conversation's owner): 202 `{ runId }`; nothing active → 409
|
|
336
|
+
* `run.not_active`. On a root conversation `runId` is the stopped run, and its background
|
|
337
|
+
* sub-agents keep working. On a sub-agent's conversation (the root's owner, at any depth) the
|
|
338
|
+
* sub-agent stops with every sub-agent below it, and `runId` is the sub-agent's latest run,
|
|
339
|
+
* which may already be finished when only its descendants were working (agent map spec §6).
|
|
340
|
+
*/
|
|
285
341
|
abort(principal: Principal, org: OrgContext, id: string): Promise<{
|
|
286
342
|
runId: string;
|
|
287
343
|
}>;
|