@capybara-hq/kernel 0.1.0-rc.0 → 0.1.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +92 -8
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +57 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +232 -0
- package/dist/catalog/catalog-content.js +367 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +431 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +801 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -201
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +51 -3
- package/dist/config/schema.js +269 -27
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -70
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/queue.js +3 -2
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +550 -25
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +136 -2
- package/dist/errors.js +136 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -123
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +136 -46
- package/dist/extensions/bootstrap.js +417 -167
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +86 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +83 -52
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +130 -38
- package/dist/identity/accounts.js +373 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +42 -23
- package/dist/identity/settings.js +137 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +25 -14
- package/dist/index.js +20 -9
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -241
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-config.d.ts +9 -0
- package/dist/log-config.js +27 -0
- package/dist/log-context.d.ts +34 -0
- package/dist/log-context.js +44 -0
- package/dist/log-loki.d.ts +34 -0
- package/dist/log-loki.js +145 -0
- package/dist/log.d.ts +53 -10
- package/dist/log.js +168 -18
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/net/public-address.js +3 -2
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +45 -14
- package/dist/orgs/settings.service.js +110 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +667 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +90 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +36 -0
- package/dist/platform/ops/admin.ops.js +389 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +853 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +28 -0
- package/dist/platform/ops/platform.ops.js +204 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +39 -0
- package/dist/platform/platform-ops.module.js +122 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +63 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -136
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -236
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -180
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +142 -40
- package/dist/tools/builtins/sandbox/common.js +227 -65
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +15 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
|
@@ -1,18 +1,38 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
1
10
|
import { validateAllowHost } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
2
12
|
import { z } from "zod";
|
|
3
13
|
import { ApiError } from "../errors.js";
|
|
4
14
|
import { audit } from "../identity/audit.js";
|
|
5
15
|
import { readSandboxLimitOverride } from "../identity/settings.js";
|
|
6
|
-
import {
|
|
16
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
17
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
18
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
19
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
20
|
+
import { IanaTimeZone } from "../time-zone.js";
|
|
21
|
+
import { OrgLock } from "./org-lock.js";
|
|
7
22
|
/**
|
|
8
23
|
* 组织设置(`capybara.orgs.settings` jsonb)。读取宽松:缺失或非法的字段按默认值,未知键保留不动
|
|
9
24
|
* (更新时与存量合并),新版本加字段不需要迁移。
|
|
10
|
-
* - `toolSearch`:工具超过阈值时是否改用目录 + `
|
|
25
|
+
* - `toolSearch`:工具超过阈值时是否改用目录 + `ToolSearch`(D11,默认 on)。
|
|
11
26
|
* - `locale`:组织默认语言(`zh` / `en`,默认 en),机器人在 IM 里说的固定话术按它选择。
|
|
12
27
|
* - `sandboxToolPolicy`:沙箱工具的默认策略(M5 T8,默认 allow)。为 `ask` 时除只读的
|
|
13
|
-
* `
|
|
28
|
+
* `Read` / `Glob` / `Grep` 外都需要审批(执行时实时读取)。
|
|
29
|
+
* - `wakeOnBackgroundTask`:组织对 `runtime.wakeOnBackgroundTask` 的覆盖(缺省跟随部署),见 {@link effectiveWakeOnBackgroundTask}。
|
|
14
30
|
* - `sandboxEgress`:组织的沙箱出站(Ruling M19 / D6),缺省跟随部署的 `sandbox.limits.egress` + `allowHosts`。
|
|
15
31
|
* 见 {@link effectiveSandboxEgress}。存量值非法时按 `none` 读(宁可断网,不悄悄放宽到部署默认)。
|
|
32
|
+
* - `platformTool`: the `Platform` builtin for the whole org (Platform tool spec §3): `on`,
|
|
33
|
+
* `read-only` (writes listed as unavailable) or `off` (default `on`).
|
|
34
|
+
* - `timeZone`: the org's default time zone (IANA; absent = UTC) for senders without one of their
|
|
35
|
+
* own (run context spec §3.3); an invalid stored value reads as absent.
|
|
16
36
|
*/
|
|
17
37
|
/** 组织沙箱出站白名单的主机数上限。 */
|
|
18
38
|
export const ORG_SANDBOX_ALLOW_HOSTS_MAX = 200;
|
|
@@ -43,7 +63,12 @@ export const OrgSettingsSchema = z.object({
|
|
|
43
63
|
toolSearch: z.enum(["on", "off"]).default("on").catch("on"),
|
|
44
64
|
locale: z.enum(["zh", "en"]).default("en").catch("en"),
|
|
45
65
|
sandboxToolPolicy: z.enum(["allow", "ask"]).default("allow").catch("allow"),
|
|
66
|
+
platformTool: z.enum(["on", "read-only", "off"]).default("on").catch("on"),
|
|
46
67
|
sandboxEgress: SandboxEgressSettingSchema.optional().catch({ mode: "none" }),
|
|
68
|
+
/** Overrides `runtime.wakeOnBackgroundTask`; absent follows the deployment. */
|
|
69
|
+
wakeOnBackgroundTask: z.boolean().optional().catch(undefined),
|
|
70
|
+
/** The org's default time zone (run context spec §3.3); absent = UTC. */
|
|
71
|
+
timeZone: IanaTimeZone.optional().catch(undefined),
|
|
47
72
|
});
|
|
48
73
|
/** PATCH 体:只改给出的字段;未知字段 → 400。 */
|
|
49
74
|
export const OrgSettingsPatchSchema = z
|
|
@@ -51,8 +76,13 @@ export const OrgSettingsPatchSchema = z
|
|
|
51
76
|
toolSearch: z.enum(["on", "off"]).optional(),
|
|
52
77
|
locale: z.enum(["zh", "en"]).optional(),
|
|
53
78
|
sandboxToolPolicy: z.enum(["allow", "ask"]).optional(),
|
|
79
|
+
platformTool: z.enum(["on", "read-only", "off"]).optional(),
|
|
80
|
+
/** null clears (follow the deployment again). */
|
|
81
|
+
wakeOnBackgroundTask: z.boolean().nullable().optional(),
|
|
54
82
|
/** null 清除(恢复跟随部署默认)。 */
|
|
55
83
|
sandboxEgress: SandboxEgressSettingSchema.nullable().optional(),
|
|
84
|
+
/** The org's default time zone (IANA); null clears it (UTC). */
|
|
85
|
+
timeZone: IanaTimeZone.nullable().optional(),
|
|
56
86
|
})
|
|
57
87
|
.strict();
|
|
58
88
|
/**
|
|
@@ -66,8 +96,12 @@ export function effectiveSandboxEgress(deployment, org) {
|
|
|
66
96
|
return { egress: "none", allowHosts: [] };
|
|
67
97
|
return { egress: "allowlist", allowHosts: [...(org.allowHosts ?? deployment.allowHosts)] };
|
|
68
98
|
}
|
|
99
|
+
/** Whether a finished background task wakes an idle conversation: the org's setting, else the deployment's. */
|
|
100
|
+
export function effectiveWakeOnBackgroundTask(deployment, org) {
|
|
101
|
+
return org ?? deployment;
|
|
102
|
+
}
|
|
69
103
|
/**
|
|
70
|
-
* 组织实际生效的沙箱限额(C19 / Ruling M16
|
|
104
|
+
* 组织实际生效的沙箱限额(C19 / Ruling M16):超级管理员的覆盖(部署设置 `sandboxLimitOverrides[orgId]`)
|
|
71
105
|
* 给出的 cpu / memoryMb 替换部署默认,未给的项、disk 与出站沿用 `deployment`。只在创建沙箱时读取。
|
|
72
106
|
*/
|
|
73
107
|
export function effectiveSandboxLimits(deployment, override) {
|
|
@@ -96,30 +130,33 @@ export async function readOrgSettings(db, orgId) {
|
|
|
96
130
|
return parseOrgSettings(row?.settings);
|
|
97
131
|
}
|
|
98
132
|
/** 组织设置服务:读取与修改(修改需 `org.update`,锁内实时复核角色,写审计)。 */
|
|
99
|
-
|
|
133
|
+
let OrgSettingsService = class OrgSettingsService {
|
|
100
134
|
db;
|
|
135
|
+
txHost;
|
|
136
|
+
orgLock;
|
|
101
137
|
config;
|
|
102
|
-
constructor(db,
|
|
103
|
-
/**
|
|
138
|
+
constructor(db, txHost, orgLock,
|
|
139
|
+
/** The deployment config (`sandboxEgress` may not exceed the deployment's). */
|
|
104
140
|
config) {
|
|
105
141
|
this.db = db;
|
|
142
|
+
this.txHost = txHost;
|
|
143
|
+
this.orgLock = orgLock;
|
|
106
144
|
this.config = config;
|
|
107
145
|
}
|
|
108
146
|
/** 部署默认值(设置页展示「跟随部署」时的实际取值)。 */
|
|
109
147
|
deployment() {
|
|
110
|
-
const lim = this.config
|
|
148
|
+
const lim = this.config.get().sandbox.limits;
|
|
111
149
|
return {
|
|
112
|
-
sandboxEgress: { mode: lim
|
|
150
|
+
sandboxEgress: { mode: lim.egress, allowHosts: [...lim.allowHosts] },
|
|
113
151
|
};
|
|
114
152
|
}
|
|
115
|
-
/** 组织实际生效的沙箱 cpu /
|
|
153
|
+
/** 组织实际生效的沙箱 cpu / 内存(只读;由超级管理员在部署设置里覆盖)。 */
|
|
116
154
|
async sandboxLimits(orgId) {
|
|
117
|
-
const lim = this.config
|
|
118
|
-
const override = await readSandboxLimitOverride(this.db, orgId);
|
|
155
|
+
const lim = this.config.get().sandbox.limits;
|
|
156
|
+
const override = await readSandboxLimitOverride(this.db.db, orgId);
|
|
119
157
|
return {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
memoryMb: override?.memoryMb ?? lim?.memoryMb ?? 2048,
|
|
158
|
+
cpu: override?.cpu ?? lim.cpu,
|
|
159
|
+
memoryMb: override?.memoryMb ?? lim.memoryMb,
|
|
123
160
|
source: override === undefined ? "deployment" : "override",
|
|
124
161
|
};
|
|
125
162
|
}
|
|
@@ -134,45 +171,67 @@ export class OrgSettingsService {
|
|
|
134
171
|
throw new ApiError("org.not_found", "Organization not found");
|
|
135
172
|
return parseOrgSettings(row.settings);
|
|
136
173
|
}
|
|
137
|
-
|
|
174
|
+
/** The refusals of {@link update} that need no read of the org (the Platform tool's precheck). */
|
|
175
|
+
check(patch) {
|
|
138
176
|
if (patch.sandboxEgress?.mode === "allowlist" &&
|
|
139
177
|
this.deployment().sandboxEgress.mode === "none") {
|
|
140
178
|
throw new ApiError("org.sandbox_egress_not_allowed", "This deployment disables sandbox network access (sandbox.limits.egress is none); an organization can only set sandboxEgress to none");
|
|
141
179
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
//
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
180
|
+
}
|
|
181
|
+
async update(orgId, patch, actorAccountId, actorTokenId,
|
|
182
|
+
/** Merged into the audit detail (the Platform tool's `via: "agent"`). */
|
|
183
|
+
auditDetail) {
|
|
184
|
+
this.check(patch);
|
|
185
|
+
return this.updateIn(orgId, patch, actorAccountId, actorTokenId, auditDetail);
|
|
186
|
+
}
|
|
187
|
+
async updateIn(orgId, patch, actorAccountId, actorTokenId, auditDetail) {
|
|
188
|
+
await this.orgLock.lockAndAuthorize(orgId, actorAccountId, "org.update");
|
|
189
|
+
const row = await this.db
|
|
190
|
+
.selectFrom("orgs")
|
|
191
|
+
.select("settings")
|
|
192
|
+
.where("id", "=", orgId)
|
|
193
|
+
.executeTakeFirstOrThrow();
|
|
194
|
+
const stored = asObject(row.settings);
|
|
195
|
+
const before = parseOrgSettings(stored);
|
|
196
|
+
const changes = Object.fromEntries(Object.entries(patch)
|
|
197
|
+
.filter(([, v]) => v !== undefined)
|
|
198
|
+
// null clears sandboxEgress / wakeOnBackgroundTask: follow the deployment default again
|
|
199
|
+
.map(([k, v]) => [k, v === null ? undefined : v]));
|
|
200
|
+
const after = { ...before, ...changes };
|
|
201
|
+
if (after.sandboxEgress === undefined)
|
|
202
|
+
delete after.sandboxEgress;
|
|
203
|
+
if (after.wakeOnBackgroundTask === undefined)
|
|
204
|
+
delete after.wakeOnBackgroundTask;
|
|
205
|
+
if (after.timeZone === undefined)
|
|
206
|
+
delete after.timeZone;
|
|
207
|
+
if (sameSettings(before, after))
|
|
208
|
+
return before;
|
|
209
|
+
// 与存量合并:保留本版本不认识的键(清除的 sandboxEgress 不留在存量里)
|
|
210
|
+
const { sandboxEgress: _old, wakeOnBackgroundTask: _oldWake, timeZone: _oldZone, ...rest } = stored;
|
|
211
|
+
await this.db
|
|
212
|
+
.updateTable("orgs")
|
|
213
|
+
.set({ settings: JSON.stringify({ ...rest, ...after }) })
|
|
214
|
+
.where("id", "=", orgId)
|
|
215
|
+
.execute();
|
|
216
|
+
await audit(this.db.db, {
|
|
217
|
+
actorAccountId,
|
|
218
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
219
|
+
orgId,
|
|
220
|
+
action: "org.settings_updated",
|
|
221
|
+
target: orgId,
|
|
222
|
+
detail: { before, after, ...auditDetail },
|
|
176
223
|
});
|
|
224
|
+
return after;
|
|
177
225
|
}
|
|
178
|
-
}
|
|
226
|
+
};
|
|
227
|
+
__decorate([
|
|
228
|
+
Transactional()
|
|
229
|
+
], OrgSettingsService.prototype, "updateIn", null);
|
|
230
|
+
OrgSettingsService = __decorate([
|
|
231
|
+
Injectable(),
|
|
232
|
+
__param(0, Inject(KernelDb)),
|
|
233
|
+
__param(1, Inject(TransactionHost)),
|
|
234
|
+
__param(2, Inject(OrgLock)),
|
|
235
|
+
__param(3, Inject(KernelConfigService))
|
|
236
|
+
], OrgSettingsService);
|
|
237
|
+
export { OrgSettingsService };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { NestInterceptor } from "@nestjs/common";
|
|
2
|
+
import { APP_INTERCEPTOR } from "@nestjs/core";
|
|
3
|
+
import { CHANNEL_WEBHOOK_TIMINGS, type ChannelWebhookTimings } from "./channels/webhook.js";
|
|
4
|
+
import type { EvalReplayHooks } from "./evals/run-replay.js";
|
|
5
|
+
import { EVAL_REPLAY_HOOKS } from "./evals/worker.js";
|
|
6
|
+
import { BOOTSTRAP_LOCK_TTL } from "./extensions/bootstrap.js";
|
|
7
|
+
import { FILE_PREVIEW_TIMEOUT } from "./files/previewers.js";
|
|
8
|
+
import { LIST_MODELS_TIMEOUT } from "./runtime/providers.js";
|
|
9
|
+
import { RUN_CONTEXT_CLOCK } from "./runtime/run-context.service.js";
|
|
10
|
+
import { AGENT_LOOP_FACTORY, type AgentLoopFactory } from "./runtime/run-steps.js";
|
|
11
|
+
import { RUN_HOOKS, type RunHooks } from "./runtime/run-worker.js";
|
|
12
|
+
import { SUBAGENT_MESSAGES_HOOKS, type SubagentMessagesHooks } from "./runtime/subagents/messages.js";
|
|
13
|
+
import { USAGE_REPORT_RETRY, type UsageReportRetry } from "./runtime/usage-report.js";
|
|
14
|
+
import { SANDBOX_LEASE_TIMINGS, type SandboxLeaseTimings } from "./sandbox/leases.js";
|
|
15
|
+
import { TOOL_PIPELINE_HOOKS, type ToolPipelineHooks } from "./tools/pipeline.js";
|
|
16
|
+
import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
|
|
17
|
+
/**
|
|
18
|
+
* The value each seam token takes. Every token is an optional provider the kernel itself never
|
|
19
|
+
* provides (its consumer falls back to the production default):
|
|
20
|
+
*
|
|
21
|
+
* - `AGENT_LOOP_FACTORY`: the agent loop runs execute (default the LangGraph loop);
|
|
22
|
+
* - `RUN_HOOKS`: the run worker's hooks;
|
|
23
|
+
* - `EVAL_REPLAY_HOOKS`: the hooks of the eval full-run replay and the judge;
|
|
24
|
+
* - `TOOL_PIPELINE_HOOKS`: the tool pipeline's hooks and policy decision;
|
|
25
|
+
* - `SUBAGENT_MESSAGES_HOOKS`: the sub-agent message tools' hooks (a send raced by a run's end);
|
|
26
|
+
* - `BOOTSTRAP_LOCK_TTL`, `FILE_PREVIEW_TIMEOUT`, `LIST_MODELS_TIMEOUT`, `USAGE_REPORT_RETRY`,
|
|
27
|
+
* `SANDBOX_LEASE_TIMINGS`, `CHANNEL_WEBHOOK_TIMINGS`: shorter timings;
|
|
28
|
+
* - `EMBED_TOKEN_CLOCK`: the clock embed tokens are issued and checked with;
|
|
29
|
+
* - `RUN_CONTEXT_CLOCK`: the clock run start reads the run context's date from, and the
|
|
30
|
+
* `CurrentTime` builtin the time;
|
|
31
|
+
* - `APP_INTERCEPTOR`: one more global interceptor (a probe of the matched routes).
|
|
32
|
+
*/
|
|
33
|
+
interface KernelSeams {
|
|
34
|
+
[AGENT_LOOP_FACTORY]: AgentLoopFactory;
|
|
35
|
+
[RUN_HOOKS]: RunHooks;
|
|
36
|
+
[EVAL_REPLAY_HOOKS]: EvalReplayHooks;
|
|
37
|
+
[TOOL_PIPELINE_HOOKS]: ToolPipelineHooks;
|
|
38
|
+
[SUBAGENT_MESSAGES_HOOKS]: SubagentMessagesHooks;
|
|
39
|
+
[BOOTSTRAP_LOCK_TTL]: number;
|
|
40
|
+
[FILE_PREVIEW_TIMEOUT]: number;
|
|
41
|
+
[LIST_MODELS_TIMEOUT]: number;
|
|
42
|
+
[USAGE_REPORT_RETRY]: UsageReportRetry;
|
|
43
|
+
[SANDBOX_LEASE_TIMINGS]: Partial<SandboxLeaseTimings>;
|
|
44
|
+
[CHANNEL_WEBHOOK_TIMINGS]: Partial<ChannelWebhookTimings>;
|
|
45
|
+
[EMBED_TOKEN_CLOCK]: () => number;
|
|
46
|
+
[RUN_CONTEXT_CLOCK]: () => number;
|
|
47
|
+
[APP_INTERCEPTOR]: NestInterceptor;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* A seam of the kernel's own tests (`KernelAppOptions.overrides`): a value for one of the named
|
|
51
|
+
* seam tokens of {@link KernelSeams}. Domain classes cannot be replaced this way. The tokens are
|
|
52
|
+
* not exported from the package, and `@capybara-hq/testing`'s `startTestKernel` takes no
|
|
53
|
+
* overrides (decision R22 of the Nest kernel spec).
|
|
54
|
+
*/
|
|
55
|
+
export type KernelOverride = {
|
|
56
|
+
[K in keyof KernelSeams]: {
|
|
57
|
+
provide: K;
|
|
58
|
+
useValue: KernelSeams[K];
|
|
59
|
+
};
|
|
60
|
+
}[keyof KernelSeams];
|
|
61
|
+
/** The tokens {@link KernelOverride} may name; any other token is refused when the application is built. */
|
|
62
|
+
export declare const KERNEL_OVERRIDE_TOKENS: ReadonlySet<unknown>;
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { APP_INTERCEPTOR } from "@nestjs/core";
|
|
2
|
+
import { CHANNEL_WEBHOOK_TIMINGS } from "./channels/webhook.js";
|
|
3
|
+
import { EVAL_REPLAY_HOOKS } from "./evals/worker.js";
|
|
4
|
+
import { BOOTSTRAP_LOCK_TTL } from "./extensions/bootstrap.js";
|
|
5
|
+
import { FILE_PREVIEW_TIMEOUT } from "./files/previewers.js";
|
|
6
|
+
import { LIST_MODELS_TIMEOUT } from "./runtime/providers.js";
|
|
7
|
+
import { RUN_CONTEXT_CLOCK } from "./runtime/run-context.service.js";
|
|
8
|
+
import { AGENT_LOOP_FACTORY } from "./runtime/run-steps.js";
|
|
9
|
+
import { RUN_HOOKS } from "./runtime/run-worker.js";
|
|
10
|
+
import { SUBAGENT_MESSAGES_HOOKS, } from "./runtime/subagents/messages.js";
|
|
11
|
+
import { USAGE_REPORT_RETRY } from "./runtime/usage-report.js";
|
|
12
|
+
import { SANDBOX_LEASE_TIMINGS } from "./sandbox/leases.js";
|
|
13
|
+
import { TOOL_PIPELINE_HOOKS } from "./tools/pipeline.js";
|
|
14
|
+
import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
|
|
15
|
+
const SEAM_TOKENS = [
|
|
16
|
+
AGENT_LOOP_FACTORY,
|
|
17
|
+
RUN_HOOKS,
|
|
18
|
+
EVAL_REPLAY_HOOKS,
|
|
19
|
+
TOOL_PIPELINE_HOOKS,
|
|
20
|
+
SUBAGENT_MESSAGES_HOOKS,
|
|
21
|
+
BOOTSTRAP_LOCK_TTL,
|
|
22
|
+
FILE_PREVIEW_TIMEOUT,
|
|
23
|
+
LIST_MODELS_TIMEOUT,
|
|
24
|
+
USAGE_REPORT_RETRY,
|
|
25
|
+
SANDBOX_LEASE_TIMINGS,
|
|
26
|
+
CHANNEL_WEBHOOK_TIMINGS,
|
|
27
|
+
EMBED_TOKEN_CLOCK,
|
|
28
|
+
RUN_CONTEXT_CLOCK,
|
|
29
|
+
APP_INTERCEPTOR,
|
|
30
|
+
];
|
|
31
|
+
const allSeamsListed = true;
|
|
32
|
+
void allSeamsListed;
|
|
33
|
+
/** The tokens {@link KernelOverride} may name; any other token is refused when the application is built. */
|
|
34
|
+
export const KERNEL_OVERRIDE_TOKENS = new Set(SEAM_TOKENS);
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
2
|
+
import type { OrgRole } from "../orgs/roles.js";
|
|
3
|
+
import { type OrgSettings } from "../orgs/settings.service.js";
|
|
4
|
+
/** What `availability()` (./availability.ts) decides on, read live for each call (spec §6.1). */
|
|
5
|
+
export interface ActorFacts {
|
|
6
|
+
/**
|
|
7
|
+
* The actor's role in the org; null: not a member any more, or the account is disabled (the HTTP
|
|
8
|
+
* auth refuses a disabled account on every request).
|
|
9
|
+
*/
|
|
10
|
+
role: OrgRole | null;
|
|
11
|
+
isSuperAdmin: boolean;
|
|
12
|
+
/** A person who can see and answer a confirmation is behind this run. */
|
|
13
|
+
personPresent: boolean;
|
|
14
|
+
/** The root conversation's agent is `private` and its owner is the actor. */
|
|
15
|
+
agentPrivateToActor: boolean;
|
|
16
|
+
/** The org setting `platformTool`. */
|
|
17
|
+
setting: OrgSettings["platformTool"];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Reads the facts about the actor of a `Platform` call: the run's trigger account (spec §6.1),
|
|
21
|
+
* re-read on every call, as the HTTP guards would.
|
|
22
|
+
*
|
|
23
|
+
* A person is present when all of these hold:
|
|
24
|
+
* - there is a run, it belongs to the conversation and its trigger account is the actor;
|
|
25
|
+
* - the root conversation of the tree (a sub-agent's is followed up through its parents) is a
|
|
26
|
+
* `chat` (an `eval` conversation replays, nobody watches it);
|
|
27
|
+
* - the actor is an active member of the org, and not the org's anonymous guest account (a channel
|
|
28
|
+
* message from an unlinked user under the `anonymous` policy runs as that account).
|
|
29
|
+
*
|
|
30
|
+
* The agent is private to the actor when the root conversation's agent is `private` and owned by
|
|
31
|
+
* the actor (a sub-agent's own agent does not count; Platform tool spec §6.1).
|
|
32
|
+
*
|
|
33
|
+
* Service tokens cannot start runs (posting a message requires a user principal), so no run is
|
|
34
|
+
* token-started; a wake run (`budget_run_id` set) runs as the person whose run it continues and
|
|
35
|
+
* counts as present. No new run column is needed to tell the origins apart.
|
|
36
|
+
*/
|
|
37
|
+
export declare class PlatformActor {
|
|
38
|
+
private readonly db;
|
|
39
|
+
constructor(db: KernelDb);
|
|
40
|
+
facts(ctx: {
|
|
41
|
+
orgId: string;
|
|
42
|
+
accountId: string;
|
|
43
|
+
/** The calling agent (from the runtime, never from the model's input). */
|
|
44
|
+
agentId: string;
|
|
45
|
+
conversationId: string;
|
|
46
|
+
runId?: string | null;
|
|
47
|
+
}): Promise<ActorFacts>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
12
|
+
import { readOrgSettings } from "../orgs/settings.service.js";
|
|
13
|
+
import { rootConversationOf } from "../runtime/subagents/child.js";
|
|
14
|
+
/**
|
|
15
|
+
* Reads the facts about the actor of a `Platform` call: the run's trigger account (spec §6.1),
|
|
16
|
+
* re-read on every call, as the HTTP guards would.
|
|
17
|
+
*
|
|
18
|
+
* A person is present when all of these hold:
|
|
19
|
+
* - there is a run, it belongs to the conversation and its trigger account is the actor;
|
|
20
|
+
* - the root conversation of the tree (a sub-agent's is followed up through its parents) is a
|
|
21
|
+
* `chat` (an `eval` conversation replays, nobody watches it);
|
|
22
|
+
* - the actor is an active member of the org, and not the org's anonymous guest account (a channel
|
|
23
|
+
* message from an unlinked user under the `anonymous` policy runs as that account).
|
|
24
|
+
*
|
|
25
|
+
* The agent is private to the actor when the root conversation's agent is `private` and owned by
|
|
26
|
+
* the actor (a sub-agent's own agent does not count; Platform tool spec §6.1).
|
|
27
|
+
*
|
|
28
|
+
* Service tokens cannot start runs (posting a message requires a user principal), so no run is
|
|
29
|
+
* token-started; a wake run (`budget_run_id` set) runs as the person whose run it continues and
|
|
30
|
+
* counts as present. No new run column is needed to tell the origins apart.
|
|
31
|
+
*/
|
|
32
|
+
let PlatformActor = class PlatformActor {
|
|
33
|
+
db;
|
|
34
|
+
constructor(db) {
|
|
35
|
+
this.db = db;
|
|
36
|
+
}
|
|
37
|
+
async facts(ctx) {
|
|
38
|
+
const rootId = await rootConversationOf(this.db.db, ctx.conversationId);
|
|
39
|
+
const [account, settings, root, anonymous, run] = await Promise.all([
|
|
40
|
+
this.db
|
|
41
|
+
.selectFrom("accounts")
|
|
42
|
+
.leftJoin("memberships", (j) => j
|
|
43
|
+
.onRef("memberships.account_id", "=", "accounts.id")
|
|
44
|
+
.on("memberships.org_id", "=", ctx.orgId))
|
|
45
|
+
.select(["accounts.is_super_admin", "accounts.status", "memberships.role"])
|
|
46
|
+
.where("accounts.id", "=", ctx.accountId)
|
|
47
|
+
.executeTakeFirst(),
|
|
48
|
+
readOrgSettings(this.db.db, ctx.orgId),
|
|
49
|
+
this.db
|
|
50
|
+
.selectFrom("conversations")
|
|
51
|
+
.select(["kind", "agent_id"])
|
|
52
|
+
.where("id", "=", rootId)
|
|
53
|
+
.where("org_id", "=", ctx.orgId)
|
|
54
|
+
.executeTakeFirst(),
|
|
55
|
+
this.db
|
|
56
|
+
.selectFrom("org_anonymous_accounts")
|
|
57
|
+
.select("account_id")
|
|
58
|
+
.where("org_id", "=", ctx.orgId)
|
|
59
|
+
.where("account_id", "=", ctx.accountId)
|
|
60
|
+
.executeTakeFirst(),
|
|
61
|
+
ctx.runId == null
|
|
62
|
+
? undefined
|
|
63
|
+
: this.db
|
|
64
|
+
.selectFrom("runs")
|
|
65
|
+
.select("trigger_account_id")
|
|
66
|
+
.where("id", "=", ctx.runId)
|
|
67
|
+
.where("conversation_id", "=", ctx.conversationId)
|
|
68
|
+
.executeTakeFirst(),
|
|
69
|
+
]);
|
|
70
|
+
// the super admin's "own private agent" is the tree's root agent: a sub-agent (a template or
|
|
71
|
+
// general-purpose child) of a shared agent's conversation never counts as private
|
|
72
|
+
const agentId = rootId === ctx.conversationId ? ctx.agentId : root?.agent_id;
|
|
73
|
+
const agent = agentId == null
|
|
74
|
+
? undefined
|
|
75
|
+
: await this.db
|
|
76
|
+
.selectFrom("agents")
|
|
77
|
+
.select(["owner_account_id", "visibility"])
|
|
78
|
+
.where("id", "=", agentId)
|
|
79
|
+
.where("org_id", "=", ctx.orgId)
|
|
80
|
+
.where("deleted_at", "is", null)
|
|
81
|
+
.executeTakeFirst();
|
|
82
|
+
const activeMember = account?.role != null && account.status === "active";
|
|
83
|
+
return {
|
|
84
|
+
role: activeMember ? (account?.role ?? null) : null,
|
|
85
|
+
isSuperAdmin: account?.is_super_admin === true && account.status === "active",
|
|
86
|
+
// the run is the actor's, in this conversation, and its tree's root is a `chat`
|
|
87
|
+
personPresent: activeMember &&
|
|
88
|
+
anonymous === undefined &&
|
|
89
|
+
run?.trigger_account_id === ctx.accountId &&
|
|
90
|
+
root?.kind === "chat",
|
|
91
|
+
agentPrivateToActor: agent?.visibility === "private" && agent.owner_account_id === ctx.accountId,
|
|
92
|
+
setting: settings.platformTool,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
PlatformActor = __decorate([
|
|
97
|
+
Injectable(),
|
|
98
|
+
__param(0, Inject(KernelDb))
|
|
99
|
+
], PlatformActor);
|
|
100
|
+
export { PlatformActor };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface AgentDocTopic {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* The documentation topics the `Platform` tool's `read` action serves (Platform tool spec §8):
|
|
7
|
+
* the Markdown files of the SDK's `agent-docs` directory, versioned with the contracts they
|
|
8
|
+
* describe. The files are immutable within a version, so one read per process is a cache of
|
|
9
|
+
* package files, not shared state.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AgentDocs {
|
|
12
|
+
private cache;
|
|
13
|
+
private load;
|
|
14
|
+
/** Topic ids (path without `.md`, e.g. `extension-points/channel`) with their titles. */
|
|
15
|
+
topics(): AgentDocTopic[];
|
|
16
|
+
/** The Markdown of a topic, or null when there is none. */
|
|
17
|
+
read(id: string): string | null;
|
|
18
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
8
|
+
import { createRequire } from "node:module";
|
|
9
|
+
import { dirname, join } from "node:path";
|
|
10
|
+
import { Injectable } from "@nestjs/common";
|
|
11
|
+
/** The SDK's `agent-docs` directory, found from the installed `@capybara-hq/plugin-sdk` package. */
|
|
12
|
+
function agentDocsDir() {
|
|
13
|
+
const pkg = createRequire(import.meta.url).resolve("@capybara-hq/plugin-sdk/package.json");
|
|
14
|
+
return join(dirname(pkg), "agent-docs");
|
|
15
|
+
}
|
|
16
|
+
function listTopics(dir, prefix = "") {
|
|
17
|
+
const topics = new Map();
|
|
18
|
+
if (!existsSync(dir))
|
|
19
|
+
return topics;
|
|
20
|
+
for (const e of readdirSync(dir, { withFileTypes: true }).sort((a, b) => a.name.localeCompare(b.name))) {
|
|
21
|
+
if (e.isDirectory()) {
|
|
22
|
+
for (const [id, text] of listTopics(join(dir, e.name), `${prefix}${e.name}/`)) {
|
|
23
|
+
topics.set(id, text);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else if (e.name.endsWith(".md")) {
|
|
27
|
+
topics.set(`${prefix}${e.name.slice(0, -3)}`, readFileSync(join(dir, e.name), "utf8"));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return topics;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The documentation topics the `Platform` tool's `read` action serves (Platform tool spec §8):
|
|
34
|
+
* the Markdown files of the SDK's `agent-docs` directory, versioned with the contracts they
|
|
35
|
+
* describe. The files are immutable within a version, so one read per process is a cache of
|
|
36
|
+
* package files, not shared state.
|
|
37
|
+
*/
|
|
38
|
+
let AgentDocs = class AgentDocs {
|
|
39
|
+
cache;
|
|
40
|
+
load() {
|
|
41
|
+
this.cache ??= listTopics(agentDocsDir());
|
|
42
|
+
return this.cache;
|
|
43
|
+
}
|
|
44
|
+
/** Topic ids (path without `.md`, e.g. `extension-points/channel`) with their titles. */
|
|
45
|
+
topics() {
|
|
46
|
+
return [...this.load()].map(([id, text]) => ({
|
|
47
|
+
id,
|
|
48
|
+
title: /^#\s+(.+)$/m.exec(text)?.[1]?.trim() ?? id,
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
/** The Markdown of a topic, or null when there is none. */
|
|
52
|
+
read(id) {
|
|
53
|
+
return this.load().get(id) ?? null;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
AgentDocs = __decorate([
|
|
57
|
+
Injectable()
|
|
58
|
+
], AgentDocs);
|
|
59
|
+
export { AgentDocs };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ActorFacts } from "./actor.js";
|
|
2
|
+
import type { PlatformOperation } from "./operation.js";
|
|
3
|
+
export type Availability = {
|
|
4
|
+
ok: true;
|
|
5
|
+
} | {
|
|
6
|
+
ok: false;
|
|
7
|
+
reason: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Whether the actor may call `op` now (spec §6), decided on facts read at call time. The reason
|
|
11
|
+
* is model-visible English: it says who can do it or why not, so the agent can offer the next
|
|
12
|
+
* step (a request operation, the web page, an admin) instead of retrying.
|
|
13
|
+
*/
|
|
14
|
+
export declare function availability(op: PlatformOperation, f: ActorFacts): Availability;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ACTION_MIN_ROLE, can } from "../orgs/roles.js";
|
|
2
|
+
/** Who holds a role, as a reason names them. */
|
|
3
|
+
const HOLDER = {
|
|
4
|
+
guest: "any org member",
|
|
5
|
+
member: "an org member (not a guest)",
|
|
6
|
+
admin: "an org admin",
|
|
7
|
+
owner: "an org owner",
|
|
8
|
+
};
|
|
9
|
+
const refuse = (reason) => ({ ok: false, reason });
|
|
10
|
+
/**
|
|
11
|
+
* Whether the actor may call `op` now (spec §6), decided on facts read at call time. The reason
|
|
12
|
+
* is model-visible English: it says who can do it or why not, so the agent can offer the next
|
|
13
|
+
* step (a request operation, the web page, an admin) instead of retrying.
|
|
14
|
+
*/
|
|
15
|
+
export function availability(op, f) {
|
|
16
|
+
if (f.role === null) {
|
|
17
|
+
return refuse("You are not a member of this org any more, or your account is disabled, so no Platform operation is available; ask an org admin to add you back or the super admin to enable your account.");
|
|
18
|
+
}
|
|
19
|
+
if (f.setting === "off") {
|
|
20
|
+
return refuse("The org turned the Platform tool off; an org admin can switch it on in the organization settings.");
|
|
21
|
+
}
|
|
22
|
+
if ("superAdmin" in op.authz) {
|
|
23
|
+
if (!f.isSuperAdmin) {
|
|
24
|
+
return refuse("Only the super admin can do this; ask them, or use a request operation where one exists.");
|
|
25
|
+
}
|
|
26
|
+
if (!f.agentPrivateToActor) {
|
|
27
|
+
return refuse("Platform-scope operations run only through your own private agent; open a conversation with a private agent you own and do it there.");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else if (!can(f.role, op.authz.orgAction)) {
|
|
31
|
+
const min = ACTION_MIN_ROLE[op.authz.orgAction];
|
|
32
|
+
return refuse(`This needs the ${min} role in the org (you are ${f.role}); ${HOLDER[min]} can do it, or use a request operation where one exists.`);
|
|
33
|
+
}
|
|
34
|
+
if (op.confirm !== "read") {
|
|
35
|
+
if (f.setting === "read-only") {
|
|
36
|
+
return refuse("The org set the Platform tool to read-only, so writes are unavailable; do it on the web, or ask an org admin to change the setting.");
|
|
37
|
+
}
|
|
38
|
+
if (!f.personPresent) {
|
|
39
|
+
return refuse("This write needs a person to confirm it, and no person is present in this run (a scheduled, evaluation or anonymous run); only read operations are available.");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return { ok: true };
|
|
43
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ToolError } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import type { ActorFacts } from "./actor.js";
|
|
3
|
+
import type { OperationError, OperationErrorNext } from "./operation.js";
|
|
4
|
+
/** What the model is told to do after an operation refused its input (Platform tool spec §5.2). */
|
|
5
|
+
export declare const OPERATION_ERROR_NEXT = "Check the input with describe and call again, or ask the person.";
|
|
6
|
+
/** The role an error's next step is written for (spec §14.5 item 7). */
|
|
7
|
+
export type ErrorRole = "superAdmin" | "orgAdmin" | "member";
|
|
8
|
+
/** The actor's role for next steps: the super admin first, then an org admin (admin or owner). */
|
|
9
|
+
export declare function errorRoleOf(facts: Pick<ActorFacts, "role" | "isSuperAdmin">): ErrorRole;
|
|
10
|
+
/** The next step an operation declares for `code`, for this role; undefined when it has none. */
|
|
11
|
+
export declare function nextStepFor(errors: readonly OperationError[] | undefined, code: string, role: ErrorRole): string | undefined;
|
|
12
|
+
/** One next step resolved for this role (the fallbacks of {@link nextStepFor}). */
|
|
13
|
+
export declare function resolveNext(next: OperationErrorNext | undefined, role: ErrorRole): string | undefined;
|
|
14
|
+
/** `errors[]` as `describe` shows them to this actor: each `next` resolved for the role. */
|
|
15
|
+
export declare function errorsFor(errors: readonly OperationError[], role: ErrorRole): {
|
|
16
|
+
code: string;
|
|
17
|
+
next: string;
|
|
18
|
+
}[];
|
|
19
|
+
/**
|
|
20
|
+
* An error an operation threw, as the `Platform` tool's error for the model (spec §5.2: errors say
|
|
21
|
+
* what to do next). A `ToolError` passes as is; an `ApiError` (what the same HTTP route would
|
|
22
|
+
* answer) keeps its code, message and details, then gives the next step: `nextOf(code)` (the
|
|
23
|
+
* operation's entry for the actor's role), else the generic one. Anything else is a kernel fault,
|
|
24
|
+
* not the model's: it is rethrown, so the pipeline logs it and reports the generic failure.
|
|
25
|
+
*/
|
|
26
|
+
export declare function toToolError(e: unknown, nextOf?: (code: string) => string | undefined): ToolError;
|
|
27
|
+
/** A text ending with a full stop (`.` added unless it ends with `.`, `!` or `?`). */
|
|
28
|
+
export declare const sentence: (s: string) => string;
|