@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +85 -5
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +60 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +264 -0
- package/dist/catalog/catalog-content.js +430 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +677 -0
- package/dist/catalog/catalog-scope.service.d.ts +286 -0
- package/dist/catalog/catalog-scope.service.js +1196 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +144 -207
- package/dist/catalog/catalog.service.js +258 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +366 -0
- package/dist/catalog/component-scope.service.js +1115 -0
- package/dist/catalog/component-state.d.ts +197 -0
- package/dist/catalog/component-state.js +473 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +434 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +293 -71
- package/dist/catalog/plugin-import.js +1039 -281
- package/dist/catalog/plugin-install.d.ts +271 -66
- package/dist/catalog/plugin-install.js +1198 -344
- package/dist/catalog/plugin-package.d.ts +41 -4
- package/dist/catalog/plugin-package.js +140 -7
- package/dist/catalog/plugin-upgrade.d.ts +312 -188
- package/dist/catalog/plugin-upgrade.js +1371 -1065
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +71 -80
- package/dist/channels/outbound.js +219 -202
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +36 -2
- package/dist/config/schema.js +226 -25
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -71
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +589 -27
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +160 -2
- package/dist/errors.js +160 -2
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -124
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +99 -36
- package/dist/extensions/bootstrap.js +290 -134
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +93 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +46 -65
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +137 -38
- package/dist/identity/accounts.js +386 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +80 -33
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +69 -23
- package/dist/identity/settings.js +201 -72
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +22 -13
- package/dist/index.js +16 -7
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +173 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +157 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +91 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +121 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +90 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +13 -0
- package/dist/infra/queue/redis-connection.js +25 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +91 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +20 -0
- package/dist/infra/tokens.js +20 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +76 -14
- package/dist/orgs/settings.service.js +140 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +683 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +94 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +407 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +296 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +40 -0
- package/dist/platform/platform-ops.module.js +127 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +66 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +50 -74
- package/dist/runtime/maintenance.js +166 -137
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +46 -0
- package/dist/runtime/run-jobs.js +91 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -237
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -181
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/themes/render-css.d.ts +12 -0
- package/dist/themes/render-css.js +132 -0
- package/dist/themes/theme-delivery.service.d.ts +34 -0
- package/dist/themes/theme-delivery.service.js +111 -0
- package/dist/themes/theme-state.d.ts +95 -0
- package/dist/themes/theme-state.js +203 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +28 -0
- package/dist/themes/themes-public.controller.js +92 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +137 -37
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +215 -84
- package/dist/tools/registry.js +382 -264
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +113 -0
- package/dist/tools/validate.js +1 -1
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +13 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
package/dist/models/purposes.js
CHANGED
|
@@ -1,20 +1,37 @@
|
|
|
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 { sanitizeParams, } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
2
12
|
import { z } from "zod";
|
|
3
|
-
import { paramIssues } from "../agents/
|
|
4
|
-
import { ModelRef } from "../agents/definition.js";
|
|
13
|
+
import { ModelRef, paramIssues } from "../agents/definition.js";
|
|
5
14
|
import { ApiError } from "../errors.js";
|
|
15
|
+
import { ExtensionRegistry } from "../extensions/registry.js";
|
|
6
16
|
import { audit } from "../identity/audit.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
17
|
+
import { SuperAdminLock } from "../identity/super-admin.js";
|
|
18
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
19
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
20
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
21
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
22
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
23
|
+
import { OrgLock } from "../orgs/org-lock.js";
|
|
9
24
|
import { estimateTokens } from "../runtime/context/tokens.js";
|
|
10
25
|
import { consumeModelStream } from "../runtime/model-call.js";
|
|
11
|
-
import { ProviderListError } from "../runtime/providers.js";
|
|
26
|
+
import { ProviderListError, ProviderRegistry } from "../runtime/providers.js";
|
|
12
27
|
/**
|
|
13
28
|
* 模型用途映射(C9):内核与插件按「用途」取模型,不在代码里写死模型。
|
|
14
29
|
* - 用途 = 内核用途 {@link KERNEL_PURPOSES}(目前只有评委 `eval`),或已加载插件 `permissions.models` 声明的;
|
|
15
|
-
* - 映射 = 部署默认(`org_id` 为 null
|
|
30
|
+
* - 映射 = 部署默认(`org_id` 为 null,超级管理员设)+ 组织覆盖(组织管理员设,`org.models.manage`);
|
|
16
31
|
* 生效的映射先取组织覆盖、再取部署默认,都没有 → `model.unconfigured`;
|
|
17
|
-
* -
|
|
32
|
+
* - a target's kind must equal the purpose's kind; an org's override must be enabled in the org on
|
|
33
|
+
* save (a deployment default: not disabled on the platform), and an effective target disabled in
|
|
34
|
+
* the org (by either layer) counts as unconfigured there (spec B §5.3);参数按目标模型自己的声明严格校验;
|
|
18
35
|
* - 每次都查 PG,不在进程内缓存(多副本下改映射立即生效)。`ctx.models` 仍预留,插件暂不能调用。
|
|
19
36
|
*/
|
|
20
37
|
/**
|
|
@@ -26,22 +43,36 @@ export const KERNEL_PURPOSES = [
|
|
|
26
43
|
{ purpose: "eval", kind: "chat", label: { zh: "评测评委", en: "Eval judge" } },
|
|
27
44
|
/** Conversation titles (UI refresh B); unmapped → the conversation's current chat model. */
|
|
28
45
|
{ purpose: "title", kind: "chat", label: { zh: "会话标题", en: "Conversation titles" } },
|
|
46
|
+
/**
|
|
47
|
+
* The `WebFetch` extraction call (web tools spec §5); unmapped → the calling conversation's
|
|
48
|
+
* current chat model (a sub-agent's call: the sub-agent's).
|
|
49
|
+
*/
|
|
50
|
+
{ purpose: "web_fetch", kind: "chat", label: { zh: "网页提取", en: "Web page extraction" } },
|
|
29
51
|
{
|
|
30
52
|
purpose: "subagent_fast",
|
|
31
53
|
kind: "chat",
|
|
32
|
-
label: { zh: "
|
|
54
|
+
label: { zh: "子智能体:快速", en: "Sub-agent: fast" },
|
|
33
55
|
},
|
|
34
56
|
{
|
|
35
57
|
purpose: "subagent_standard",
|
|
36
58
|
kind: "chat",
|
|
37
|
-
label: { zh: "
|
|
59
|
+
label: { zh: "子智能体:标准", en: "Sub-agent: standard" },
|
|
38
60
|
},
|
|
39
61
|
{
|
|
40
62
|
purpose: "subagent_capable",
|
|
41
63
|
kind: "chat",
|
|
42
|
-
label: { zh: "
|
|
64
|
+
label: { zh: "子智能体:最强", en: "Sub-agent: capable" },
|
|
43
65
|
},
|
|
44
66
|
];
|
|
67
|
+
/** {@link PurposeListing}s of `views`, the display names read in one call. */
|
|
68
|
+
export async function withDeclaredByNames(views, names) {
|
|
69
|
+
const plugins = views.map((v) => v.declaredBy).filter((d) => d !== "kernel");
|
|
70
|
+
const found = await names.many(plugins);
|
|
71
|
+
return views.map((v) => ({
|
|
72
|
+
...v,
|
|
73
|
+
declaredByName: v.declaredBy === "kernel" ? null : (found.get(v.declaredBy) ?? null),
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
45
76
|
/** `PUT …/model-purposes/:purpose` 的 body:设映射,或 `target: null` 清除。 */
|
|
46
77
|
export const PURPOSE_PUT = z
|
|
47
78
|
.object({
|
|
@@ -54,6 +85,9 @@ export const PURPOSE_PUT = z
|
|
|
54
85
|
.nullable(),
|
|
55
86
|
})
|
|
56
87
|
.strict();
|
|
88
|
+
/** {@link PURPOSE_PUT} as a DTO (`@ZBody(PurposePutDto)`). */
|
|
89
|
+
export class PurposePutDto extends createZodDto(PURPOSE_PUT, "ModelPurposePut") {
|
|
90
|
+
}
|
|
57
91
|
/**
|
|
58
92
|
* 用途请求已经发出、但没有正常收完(出错、超时、中止):`tokens` 是应计入预算的估算用量(输入估算 + 已流出字符 / 4,
|
|
59
93
|
* 与评测回放一致),`cause` 是原始错误。请求发出之前的失败(未映射、模型不可用)原样抛出。
|
|
@@ -80,10 +114,26 @@ const targetOf = (r) => r === undefined
|
|
|
80
114
|
model: { provider: r.provider, model: r.model },
|
|
81
115
|
params: (r.params ?? {}),
|
|
82
116
|
};
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
117
|
+
/**
|
|
118
|
+
* The model purposes (one provider). Extension-declared purposes come from the manifests in the
|
|
119
|
+
* {@link ExtensionRegistry}; targets resolve through the model provider registry.
|
|
120
|
+
*/
|
|
121
|
+
let ModelPurposesService = class ModelPurposesService {
|
|
122
|
+
db;
|
|
123
|
+
extensions;
|
|
124
|
+
config;
|
|
125
|
+
providers;
|
|
126
|
+
txHost;
|
|
127
|
+
adminLock;
|
|
128
|
+
orgLock;
|
|
129
|
+
constructor(db, extensions, config, providers, txHost, adminLock, orgLock) {
|
|
130
|
+
this.db = db;
|
|
131
|
+
this.extensions = extensions;
|
|
132
|
+
this.config = config;
|
|
133
|
+
this.providers = providers;
|
|
134
|
+
this.txHost = txHost;
|
|
135
|
+
this.adminLock = adminLock;
|
|
136
|
+
this.orgLock = orgLock;
|
|
87
137
|
}
|
|
88
138
|
/** 全部已声明的用途:内核的在前,其后按插件加载顺序。 */
|
|
89
139
|
declared() {
|
|
@@ -94,7 +144,7 @@ export class ModelPurposesService {
|
|
|
94
144
|
declaredBy: "kernel",
|
|
95
145
|
}));
|
|
96
146
|
const seen = new Set(out.map((p) => p.purpose));
|
|
97
|
-
for (const m of this.
|
|
147
|
+
for (const m of this.extensions.manifests()) {
|
|
98
148
|
for (const p of m.permissions?.models ?? []) {
|
|
99
149
|
if (seen.has(p.purpose))
|
|
100
150
|
continue;
|
|
@@ -118,7 +168,7 @@ export class ModelPurposesService {
|
|
|
118
168
|
async rows(purposes, orgId) {
|
|
119
169
|
if (purposes.length === 0)
|
|
120
170
|
return [];
|
|
121
|
-
return this.
|
|
171
|
+
return this.db
|
|
122
172
|
.selectFrom("model_purpose_mappings")
|
|
123
173
|
.select(["org_id", "purpose", "provider", "model", "params"])
|
|
124
174
|
.where("purpose", "in", purposes)
|
|
@@ -141,11 +191,17 @@ export class ModelPurposesService {
|
|
|
141
191
|
async list(orgId) {
|
|
142
192
|
return this.views(this.declared(), orgId);
|
|
143
193
|
}
|
|
144
|
-
/**
|
|
145
|
-
|
|
194
|
+
/**
|
|
195
|
+
* 校验目标:模型可解析且启用(an org's override for the org, a deployment default in the
|
|
196
|
+
* platform view)、its kind is the purpose's `kind`、参数按它的声明严格通过。
|
|
197
|
+
*/
|
|
198
|
+
async check(orgId, target, kind) {
|
|
146
199
|
let info;
|
|
147
200
|
try {
|
|
148
|
-
|
|
201
|
+
info =
|
|
202
|
+
orgId === null
|
|
203
|
+
? await this.providers.platformInfo(target.model, { kind: "callable" })
|
|
204
|
+
: (await this.providers.resolve(orgId, target.model, { kind: "callable" })).info;
|
|
149
205
|
}
|
|
150
206
|
catch (e) {
|
|
151
207
|
if (e instanceof ProviderListError)
|
|
@@ -155,69 +211,135 @@ export class ModelPurposesService {
|
|
|
155
211
|
}
|
|
156
212
|
throw e;
|
|
157
213
|
}
|
|
214
|
+
if (info.kind !== kind) {
|
|
215
|
+
throw invalid([
|
|
216
|
+
{
|
|
217
|
+
path: "target.model",
|
|
218
|
+
message: `this purpose needs ${kind === "embedding" ? "an" : "a"} ${kind} model, not ${info.kind}`,
|
|
219
|
+
},
|
|
220
|
+
]);
|
|
221
|
+
}
|
|
158
222
|
const issues = paramIssues("target.params", info.parameters, target.params);
|
|
159
223
|
if (issues.length > 0)
|
|
160
224
|
throw invalid(issues);
|
|
161
225
|
}
|
|
162
|
-
async set(orgId, purpose, target, actor, actorTokenId) {
|
|
226
|
+
async set(orgId, purpose, target, actor, actorTokenId, auditDetail) {
|
|
163
227
|
const decl = this.find(purpose);
|
|
164
228
|
if (target)
|
|
165
|
-
await this.check(target);
|
|
166
|
-
await this.
|
|
167
|
-
if (orgId === null)
|
|
168
|
-
await lockEnterpriseAdminsAndAuthorize(trx, actor);
|
|
169
|
-
else
|
|
170
|
-
await lockOrgAndAuthorize(trx, orgId, actor, "org.models.manage");
|
|
171
|
-
if (target === null) {
|
|
172
|
-
await trx
|
|
173
|
-
.deleteFrom("model_purpose_mappings")
|
|
174
|
-
.where("purpose", "=", purpose)
|
|
175
|
-
.where((eb) => (orgId === null ? eb("org_id", "is", null) : eb("org_id", "=", orgId)))
|
|
176
|
-
.execute();
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
const values = {
|
|
180
|
-
provider: target.model.provider,
|
|
181
|
-
model: target.model.model,
|
|
182
|
-
params: JSON.stringify(target.params),
|
|
183
|
-
updated_by: actor,
|
|
184
|
-
};
|
|
185
|
-
await trx
|
|
186
|
-
.insertInto("model_purpose_mappings")
|
|
187
|
-
.values({ org_id: orgId, purpose, ...values })
|
|
188
|
-
.onConflict((oc) => oc
|
|
189
|
-
.constraint("model_purpose_mappings_scope_key")
|
|
190
|
-
.doUpdateSet({ ...values, updated_at: new Date() }))
|
|
191
|
-
.execute();
|
|
192
|
-
}
|
|
193
|
-
await audit(trx, {
|
|
194
|
-
actorAccountId: actor,
|
|
195
|
-
...(actorTokenId !== undefined && { actorTokenId }),
|
|
196
|
-
...(orgId !== null && { orgId }),
|
|
197
|
-
action: "model.purpose_mapped",
|
|
198
|
-
target: purpose,
|
|
199
|
-
detail: { scope: orgId === null ? "deployment" : "org", target },
|
|
200
|
-
});
|
|
201
|
-
});
|
|
229
|
+
await this.check(orgId, target, decl.kind);
|
|
230
|
+
await this.write(orgId, purpose, target, actor, actorTokenId, auditDetail);
|
|
202
231
|
const [view] = await this.views([decl], orgId ?? undefined);
|
|
203
232
|
return view;
|
|
204
233
|
}
|
|
205
|
-
/**
|
|
206
|
-
|
|
207
|
-
|
|
234
|
+
/**
|
|
235
|
+
* The checks {@link set} runs before writing, nothing written: an unknown purpose, and a target
|
|
236
|
+
* model the scope cannot use, of another kind, or with invalid params (the Platform tool's
|
|
237
|
+
* precheck, so a known failure never reaches the confirmation card).
|
|
238
|
+
*/
|
|
239
|
+
async validate(orgId, purpose, target) {
|
|
240
|
+
const decl = this.find(purpose);
|
|
241
|
+
if (target)
|
|
242
|
+
await this.check(orgId, target, decl.kind);
|
|
243
|
+
}
|
|
244
|
+
/** The mapping write of {@link set}, under the super admin or org lock. */
|
|
245
|
+
async write(orgId, purpose, target, actor, actorTokenId, auditDetail) {
|
|
246
|
+
if (orgId === null)
|
|
247
|
+
await this.adminLock.lockAndAuthorize(actor);
|
|
248
|
+
else
|
|
249
|
+
await this.orgLock.lockAndAuthorize(orgId, actor, "org.models.manage");
|
|
250
|
+
if (target === null) {
|
|
251
|
+
await this.db
|
|
252
|
+
.deleteFrom("model_purpose_mappings")
|
|
253
|
+
.where("purpose", "=", purpose)
|
|
254
|
+
.where((eb) => (orgId === null ? eb("org_id", "is", null) : eb("org_id", "=", orgId)))
|
|
255
|
+
.execute();
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
const values = {
|
|
259
|
+
provider: target.model.provider,
|
|
260
|
+
model: target.model.model,
|
|
261
|
+
params: JSON.stringify(target.params),
|
|
262
|
+
updated_by: actor,
|
|
263
|
+
};
|
|
264
|
+
await this.db
|
|
265
|
+
.insertInto("model_purpose_mappings")
|
|
266
|
+
.values({ org_id: orgId, purpose, ...values })
|
|
267
|
+
.onConflict((oc) => oc
|
|
268
|
+
.constraint("model_purpose_mappings_scope_key")
|
|
269
|
+
.doUpdateSet({ ...values, updated_at: new Date() }))
|
|
270
|
+
.execute();
|
|
271
|
+
}
|
|
272
|
+
await audit(this.db.db, {
|
|
273
|
+
actorAccountId: actor,
|
|
274
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
275
|
+
...(orgId !== null && { orgId }),
|
|
276
|
+
action: "model.purpose_mapped",
|
|
277
|
+
target: purpose,
|
|
278
|
+
detail: { scope: orgId === null ? "deployment" : "org", target, ...auditDetail },
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
/** 设置(或 `null` 清除)部署默认;只有超级管理员(事务内复核)。 */
|
|
282
|
+
setDefault(purpose, target, actor, actorTokenId,
|
|
283
|
+
/** Merged into the audit detail (a write made through the Platform tool). */
|
|
284
|
+
auditDetail) {
|
|
285
|
+
return this.set(null, purpose, target, actor, actorTokenId, auditDetail);
|
|
208
286
|
}
|
|
209
287
|
/** 设置(或 `null` 清除)组织覆盖;事务内锁组织并复核 `org.models.manage`。 */
|
|
210
|
-
setOrg(orgId, purpose, target, actor, actorTokenId
|
|
211
|
-
|
|
288
|
+
setOrg(orgId, purpose, target, actor, actorTokenId,
|
|
289
|
+
/** Merged into the audit detail (a write made through the Platform tool). */
|
|
290
|
+
auditDetail) {
|
|
291
|
+
return this.set(orgId, purpose, target, actor, actorTokenId, auditDetail);
|
|
212
292
|
}
|
|
213
|
-
/**
|
|
293
|
+
/**
|
|
294
|
+
* 生效的映射:组织覆盖,否则部署默认;都没有 → `model.unconfigured`;用途未声明 → `model.purpose_unknown`。
|
|
295
|
+
* An effective target the org cannot use counts as unconfigured there (spec B §5.3): checked in
|
|
296
|
+
* the registry's org view, so a model the platform or the org disabled, a provider off or needing
|
|
297
|
+
* configuration in the org, a model gone from the org's list or of another kind than the purpose
|
|
298
|
+
* all give `model.unconfigured`. A provider whose list fails (`ProviderListError`) keeps the
|
|
299
|
+
* mapping: the call that follows resolves the model again and fails there, retryably, so paths
|
|
300
|
+
* that only read the mapping (sub-agent tiers, eval start, `ctx.models.describe`) do not fail on
|
|
301
|
+
* a transient list error.
|
|
302
|
+
*/
|
|
214
303
|
async resolve(orgId, purpose) {
|
|
215
|
-
const
|
|
304
|
+
const decl = this.find(purpose);
|
|
305
|
+
const [view] = await this.views([decl], orgId);
|
|
216
306
|
if (!view?.effective) {
|
|
217
307
|
throw new ApiError("model.unconfigured", `No model is configured for the "${purpose}" purpose`);
|
|
218
308
|
}
|
|
309
|
+
try {
|
|
310
|
+
await this.providers.resolve(orgId, view.effective.model, { kind: decl.kind });
|
|
311
|
+
}
|
|
312
|
+
catch (e) {
|
|
313
|
+
if (e instanceof ProviderListError)
|
|
314
|
+
return view.effective;
|
|
315
|
+
if (e instanceof ApiError && e.code === "agent.model_unavailable") {
|
|
316
|
+
throw new ApiError("model.unconfigured", `The model configured for the "${purpose}" purpose is not available in this organization`);
|
|
317
|
+
}
|
|
318
|
+
throw e;
|
|
319
|
+
}
|
|
219
320
|
return view.effective;
|
|
220
321
|
}
|
|
322
|
+
/** The target a {@link chat} call on `purpose` uses: the mapping, else `fallback` when unmapped. */
|
|
323
|
+
async chatTarget(orgId, purpose, fallback) {
|
|
324
|
+
try {
|
|
325
|
+
return await this.resolve(orgId, purpose);
|
|
326
|
+
}
|
|
327
|
+
catch (e) {
|
|
328
|
+
if (!(e instanceof ApiError && e.code === "model.unconfigured") || !fallback)
|
|
329
|
+
throw e;
|
|
330
|
+
return fallback;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* The limits of the model a {@link chat} call on `purpose` would use now (the same mapping and
|
|
335
|
+
* `fallback` rule): its context window and output cap, so a caller can size its request (e.g.
|
|
336
|
+
* the `WebFetch` page) before the call. Fails as `chat` does before sending.
|
|
337
|
+
*/
|
|
338
|
+
async chatLimits(orgId, purpose, opts = {}) {
|
|
339
|
+
const target = await this.chatTarget(orgId, purpose, opts.fallback);
|
|
340
|
+
const { info } = await this.providers.resolve(orgId, target.model);
|
|
341
|
+
return { contextWindow: info.contextWindow, maxOutputTokens: info.maxOutputTokens };
|
|
342
|
+
}
|
|
221
343
|
/**
|
|
222
344
|
* 按用途发一次对话请求:解析映射、按目标模型的声明宽松处理参数(补默认值,与运行时一致),用 `consumeModelStream`
|
|
223
345
|
* 收完(只有流空闲看门狗)。输出上限取 `min(req.maxOutputTokens, 目标模型的 maxOutputTokens)`。
|
|
@@ -225,26 +347,21 @@ export class ModelPurposesService {
|
|
|
225
347
|
* `opts.fallback`: the target used when the purpose is not mapped (`model.unconfigured`).
|
|
226
348
|
* `opts.beforeSend`: called with the resolved target and the final request just before sending;
|
|
227
349
|
* what it throws is thrown as is (a pre-send failure, e.g. a denied `model.request` hook).
|
|
350
|
+
* `opts.paramDefaults`: values for parameters the target does not set, kept only where the
|
|
351
|
+
* target model declares the key and the value fits it (e.g. `thinking: "off"` for a short call).
|
|
228
352
|
*/
|
|
229
353
|
async chat(orgId, purpose, req, signal, opts = {}) {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
target = await this.resolve(orgId, purpose);
|
|
233
|
-
}
|
|
234
|
-
catch (e) {
|
|
235
|
-
if (!(e instanceof ApiError && e.code === "model.unconfigured") || !opts.fallback)
|
|
236
|
-
throw e;
|
|
237
|
-
target = opts.fallback;
|
|
238
|
-
}
|
|
239
|
-
const { provider, info } = await this.d.registry.resolve(target.model);
|
|
354
|
+
const target = await this.chatTarget(orgId, purpose, opts.fallback);
|
|
355
|
+
const { provider, info } = await this.providers.resolve(orgId, target.model);
|
|
240
356
|
const request = {
|
|
241
357
|
...req,
|
|
242
358
|
model: info.id,
|
|
243
|
-
|
|
359
|
+
// undeclared or unfitting defaults are dropped like any other parameter
|
|
360
|
+
params: sanitizeParams(info.parameters, { ...opts.paramDefaults, ...target.params }).value,
|
|
244
361
|
// 输出上限不超过目标模型自己的上限(与运行时 assembleModelRequest 一致)
|
|
245
362
|
maxOutputTokens: Math.min(req.maxOutputTokens, info.maxOutputTokens),
|
|
246
363
|
};
|
|
247
|
-
const idleMs = info.streamIdleTimeoutMs ?? this.
|
|
364
|
+
const idleMs = info.streamIdleTimeoutMs ?? this.config.get().runtime.streamIdleMs;
|
|
248
365
|
await opts.beforeSend?.(target.model, request);
|
|
249
366
|
let chars = 0;
|
|
250
367
|
try {
|
|
@@ -264,4 +381,18 @@ export class ModelPurposesService {
|
|
|
264
381
|
throw new PurposeAttemptError(err, tokens, target.model.provider, target.model.model);
|
|
265
382
|
}
|
|
266
383
|
}
|
|
267
|
-
}
|
|
384
|
+
};
|
|
385
|
+
__decorate([
|
|
386
|
+
Transactional()
|
|
387
|
+
], ModelPurposesService.prototype, "write", null);
|
|
388
|
+
ModelPurposesService = __decorate([
|
|
389
|
+
Injectable(),
|
|
390
|
+
__param(0, Inject(KernelDb)),
|
|
391
|
+
__param(1, Inject(ExtensionRegistry)),
|
|
392
|
+
__param(2, Inject(KernelConfigService)),
|
|
393
|
+
__param(3, Inject(ProviderRegistry)),
|
|
394
|
+
__param(4, Inject(TransactionHost)),
|
|
395
|
+
__param(5, Inject(SuperAdminLock)),
|
|
396
|
+
__param(6, Inject(OrgLock))
|
|
397
|
+
], ModelPurposesService);
|
|
398
|
+
export { ModelPurposesService };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Principal } from "../identity/principal.js";
|
|
2
|
-
import
|
|
2
|
+
import { DirectorySync } from "./directory-sync.js";
|
|
3
3
|
import { type OrgContext } from "./org.guard.js";
|
|
4
4
|
/**
|
|
5
5
|
* Manual directory sync (`/api/v1/orgs/:orgId/extensions/:extension/directory/sync`): it adds and
|
|
@@ -8,8 +8,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
10
|
import { Controller, HttpCode, Inject, Param, Post } from "@nestjs/common";
|
|
11
|
-
import { DIRECTORY_SYNC } from "../http/tokens.js";
|
|
12
11
|
import { CurrentPrincipal, patTokenId, requireUser, } from "../identity/principal.js";
|
|
12
|
+
import { DirectorySync } from "./directory-sync.js";
|
|
13
13
|
import { CurrentOrg, OrgAction } from "./org.guard.js";
|
|
14
14
|
/**
|
|
15
15
|
* Manual directory sync (`/api/v1/orgs/:orgId/extensions/:extension/directory/sync`): it adds and
|
|
@@ -35,6 +35,6 @@ __decorate([
|
|
|
35
35
|
], DirectorySyncController.prototype, "sync", null);
|
|
36
36
|
DirectorySyncController = __decorate([
|
|
37
37
|
Controller("api/v1/orgs/:orgId/extensions/:extension/directory"),
|
|
38
|
-
__param(0, Inject(
|
|
38
|
+
__param(0, Inject(DirectorySync))
|
|
39
39
|
], DirectorySyncController);
|
|
40
40
|
export { DirectorySyncController };
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Queue } from "bullmq";
|
|
2
2
|
import type { Redis } from "ioredis";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
3
|
+
import { EffectiveConfigs } from "../extensions/effective-config.js";
|
|
4
|
+
import { OrgExtensionConfigs } from "../extensions/org-config.js";
|
|
5
|
+
import { ExtensionRegistry } from "../extensions/registry.js";
|
|
6
|
+
import { ExternalIdentities } from "../identity/external.js";
|
|
7
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
8
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
9
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
10
|
+
import type { KernelLogger } from "../log.js";
|
|
11
|
+
import { Offboarding } from "./offboarding.js";
|
|
12
|
+
import { OrgLock } from "./org-lock.js";
|
|
13
|
+
/** The hourly scan: cron job name (no `:`). */
|
|
10
14
|
export declare const DIRECTORY_SCAN_JOB = "directory-scan";
|
|
11
|
-
|
|
12
|
-
export declare const DIRECTORY_SCAN_EVERY_MS = 3600000;
|
|
13
|
-
/** 一次 (组织, 插件) 同步的维护任务名。 */
|
|
15
|
+
/** The job name of one (org, extension) sync on the maintenance queue. */
|
|
14
16
|
export declare const DIRECTORY_SYNC_JOB = "directory-sync";
|
|
15
|
-
/**
|
|
16
|
-
export declare const
|
|
17
|
+
/** The run lock's TTL (renewed while held); a crashed holder's lock expires within it. */
|
|
18
|
+
export declare const DIRECTORY_SYNC_LOCK_TTL_MS = 30000;
|
|
19
|
+
/** The `LockService` key of one (org, extension) sync: one sync at a time. */
|
|
20
|
+
export declare const directorySyncLockKey: (orgId: string, plugin: string) => string;
|
|
17
21
|
/** 脏标记的保留时长(秒):锁被占时记下,持有者跑完后取走并补一轮。 */
|
|
18
22
|
export declare const DIRECTORY_SYNC_DIRTY_TTL_SECONDS = 3600;
|
|
19
23
|
/** 脏标记(Redis 键):同步进行中又有同步请求被锁挡掉。 */
|
|
@@ -32,9 +36,11 @@ export declare const DIRECTORY_MAX_PAGES = 10000;
|
|
|
32
36
|
export type DirectorySyncTrigger = "schedule" | "changed" | "manual";
|
|
33
37
|
/**
|
|
34
38
|
* 不同步的原因(陈旧任务、插件已停用 / 配置不再有效、组织已删除、另一同步在跑;`not_configured`:插件的
|
|
35
|
-
* `Directory.configured` 说这份组织配置没配好通讯录,Ruling A28
|
|
39
|
+
* `Directory.configured` 说这份组织配置没配好通讯录,Ruling A28,静默跳过)。`needs_config`: the
|
|
40
|
+
* extension's effective deployment config for the org is not valid (layering spec A §6): skipped
|
|
41
|
+
* silently like `not_configured`; the org admin sees the extension as needing configuration.
|
|
36
42
|
*/
|
|
37
|
-
export type DirectorySkipReason = "plugin_unavailable" | "org_not_found" | "not_enabled" | "config_invalid" | "not_configured" | "locked";
|
|
43
|
+
export type DirectorySkipReason = "plugin_unavailable" | "org_not_found" | "not_enabled" | "config_invalid" | "not_configured" | "needs_config" | "locked";
|
|
38
44
|
export type DirectorySyncResult = {
|
|
39
45
|
status: "skipped";
|
|
40
46
|
reason: DirectorySkipReason;
|
|
@@ -72,26 +78,27 @@ export declare function minuteBucket(d?: Date): string;
|
|
|
72
78
|
* `directory_changed` 按分钟桶去重;手动触发每次唯一,不会被同一小时的扫描任务吞掉。
|
|
73
79
|
*/
|
|
74
80
|
export declare function directorySyncJobId(orgId: string, plugin: string, trigger: DirectorySyncTrigger, now?: Date): string;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
/** 给了就登记每小时扫描与同步任务(worker 角色执行);不给时只能直接调用 `sync`。 */
|
|
83
|
-
maintenance?: Pick<Maintenance, "add" | "handle" | "schedule">;
|
|
84
|
-
log: Pick<Logger, "warn" | "info">;
|
|
81
|
+
/** The data of a `directory-sync` job. */
|
|
82
|
+
export interface SyncJobData {
|
|
83
|
+
orgId: string;
|
|
84
|
+
plugin: string;
|
|
85
|
+
trigger: DirectorySyncTrigger;
|
|
86
|
+
requestedBy?: string;
|
|
87
|
+
requestedByToken?: string;
|
|
85
88
|
}
|
|
86
89
|
/**
|
|
87
90
|
* 通讯录同步(`directory@1`):把企业通讯录同步为组织成员。框架无关。
|
|
88
91
|
*
|
|
89
92
|
* - 维护队列每小时 `directory-scan`:给每个「插件提供 `directory@1`、在该组织启用、组织级配置满足 schema」的
|
|
90
93
|
* (组织, 插件) 投递一次同步(job id 按小时桶去重,多副本重复扫描只跑一次);手动与 `directory_changed` 也投递同步。
|
|
91
|
-
* -
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
94
|
+
* - One sync at a time per (org, extension): the `LockService` lock
|
|
95
|
+
* `lock:directory-sync:<org>:<plugin>`, renewed while held. A sync that finds the lock taken sets
|
|
96
|
+
* the dirty flag `capk:directory-sync-dirty:<org>:<plugin>` (1 hour) and ends; after releasing
|
|
97
|
+
* the lock the holder takes the flag with GETDEL and, if it was set, enqueues one `changed` sync
|
|
98
|
+
* (the running round may have read pages from before the change). Ruling A32: before the removal
|
|
99
|
+
* phase the holder GETs the flag (without taking it); if it is set, the round counts as
|
|
100
|
+
* incomplete and removes nobody (audit `partialReason = changed_during_sync`), leaving removals
|
|
101
|
+
* to the follow-up sync.
|
|
95
102
|
* After writing the flag, a blocked sync tries the lock once more: when the holder finished in
|
|
96
103
|
* between (and its GETDEL found no flag), this sync clears the flag and runs itself.
|
|
97
104
|
* - Ruling A17:非手动触发的一轮,计划移除数超过 `max(5, 20% × 现有通讯录成员数)`,或列表里没有在职成员而已有
|
|
@@ -108,18 +115,37 @@ export interface DirectorySyncDeps {
|
|
|
108
115
|
* 能力)时,扫描、`directory_changed` 与执行时的复核都静默跳过(不投递、不审计、不记警告),手动触发 409
|
|
109
116
|
* `directory.not_configured`。
|
|
110
117
|
* - 审计 `org.directory.synced`(计数、是否不完整)。任务执行时再核对插件与配置:已停用的插件的陈旧任务什么都不做。
|
|
118
|
+
*
|
|
119
|
+
* The hourly scan is {@link DirectoryScanJob} (a `@LockedCron`); one-off syncs are jobs on the maintenance queue (same name and
|
|
120
|
+
* job ids as before), consumed by `MaintenanceProcessor`.
|
|
111
121
|
*/
|
|
112
122
|
export declare class DirectorySync {
|
|
113
|
-
private readonly
|
|
114
|
-
|
|
115
|
-
|
|
123
|
+
private readonly db;
|
|
124
|
+
readonly txHost: TransactionHost;
|
|
125
|
+
private readonly redis;
|
|
126
|
+
private readonly registry;
|
|
127
|
+
private readonly orgConfigs;
|
|
128
|
+
private readonly effective;
|
|
129
|
+
private readonly external;
|
|
130
|
+
private readonly offboarding;
|
|
131
|
+
private readonly orgLock;
|
|
132
|
+
private readonly queue;
|
|
133
|
+
readonly lockService: LockService;
|
|
134
|
+
readonly log: KernelLogger;
|
|
135
|
+
constructor(db: KernelDb, txHost: TransactionHost, redis: Redis, registry: Pick<ExtensionRegistry, "list">, orgConfigs: Pick<OrgExtensionConfigs, "get">, effective: Pick<EffectiveConfigs, "get">, external: Pick<ExternalIdentities, "resolve">, offboarding: Pick<Offboarding, "offboard" | "afterOffboard">, orgLock: OrgLock, queue: Pick<Queue, "add">, lockService: LockService, log: KernelLogger);
|
|
136
|
+
/** A `directory-sync` job (dispatched by `MaintenanceProcessor`). */
|
|
137
|
+
runSyncJob(data: SyncJobData): Promise<void>;
|
|
116
138
|
/** 插件提供的 `directory@1`;未加载或不提供时 undefined。 */
|
|
117
139
|
private provider;
|
|
118
|
-
/**
|
|
140
|
+
/**
|
|
141
|
+
* The org exists, the extension provides a directory, is enabled in the org, its org config
|
|
142
|
+
* satisfies the schema (reuses the `OrgExtensionConfigs.get` validation) and its effective
|
|
143
|
+
* deployment config for the org is valid (layering spec A §6).
|
|
144
|
+
*/
|
|
119
145
|
private eligible;
|
|
120
146
|
/**
|
|
121
147
|
* 投递一次 `directory_changed` 同步(按分钟桶去重);返回 job id。入站 `directory_changed` 经
|
|
122
|
-
*
|
|
148
|
+
* `ChannelInbound`(`directory_changed`)调用这里。通讯录未配置(`Directory.configured` 返回 false,Ruling A28)时
|
|
123
149
|
* 静默不投递,返回 undefined;其他不可同步的情况照常投递,由任务执行时跳过。
|
|
124
150
|
*/
|
|
125
151
|
enqueue(orgId: string, plugin: string, now?: Date): Promise<string | undefined>;
|
|
@@ -128,12 +154,14 @@ export declare class DirectorySync {
|
|
|
128
154
|
* Manual trigger by an admin: re-checks `org.members.manage` live under the org row lock, then that
|
|
129
155
|
* the extension can sync (does not provide a directory -> `extension.not_found`, not enabled ->
|
|
130
156
|
* `extension.not_enabled`, config no longer valid -> `extension.config_invalid`, the extension says
|
|
131
|
-
* the directory is not configured -> `directory.not_configured`, Ruling A28
|
|
157
|
+
* the directory is not configured -> `directory.not_configured`, Ruling A28; the effective config
|
|
158
|
+
* is not valid in the org -> `extension.needs_config`, layering spec A §6), and enqueues a sync
|
|
132
159
|
* job with a unique id.
|
|
133
160
|
*/
|
|
134
161
|
request(orgId: string, plugin: string, actorAccountId: string, actorTokenId?: string): Promise<{
|
|
135
162
|
jobId: string;
|
|
136
163
|
}>;
|
|
164
|
+
private authorize;
|
|
137
165
|
/**
|
|
138
166
|
* 每小时扫描:给每个可同步的 (组织, 插件) 投递一次同步(job id 按小时桶),返回投递的目标。
|
|
139
167
|
* 已存配置不再满足 schema 的跳过(记 warn);单个投递失败记 warn、继续其他目标。
|
|
@@ -157,10 +185,21 @@ export declare class DirectorySync {
|
|
|
157
185
|
* 组织行锁内完成(与移出成员同一把锁、与移出时写排除串行),组织已删除 → {@link OrgGone}。
|
|
158
186
|
*/
|
|
159
187
|
private addMember;
|
|
188
|
+
/** One short transaction per member, under the org row lock. */
|
|
189
|
+
private addMemberIn;
|
|
160
190
|
/**
|
|
161
191
|
* 一个离职者:独立事务内先锁组织行、再锁其成员关系行(与 `switchCurrentOrg` / 移出成员同一顺序),
|
|
162
192
|
* 确认仍是本通讯录加入的,再走 `Offboarding.offboard`(吊销会话与令牌、删个人凭据、转交 agent 都在这个事务里)。
|
|
163
193
|
* 最后一个 owner → 回滚并返回 `last_owner`;期间已被移除或不再是本通讯录加入的 → `gone`。
|
|
164
194
|
*/
|
|
165
195
|
private offboardOne;
|
|
196
|
+
private offboardIn;
|
|
197
|
+
}
|
|
198
|
+
/** The hourly directory scan ({@link DirectorySync.scan}), once per tick across replicas; a worker-role job (`WorkerModule`). */
|
|
199
|
+
export declare class DirectoryScanJob {
|
|
200
|
+
private readonly directory;
|
|
201
|
+
readonly lockService: LockService;
|
|
202
|
+
readonly log: KernelLogger;
|
|
203
|
+
constructor(directory: Pick<DirectorySync, "scan">, lockService: LockService, log: KernelLogger);
|
|
204
|
+
run(): Promise<void>;
|
|
166
205
|
}
|