@capybara-hq/kernel 0.1.0-rc.1 → 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 +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 +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 -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 +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 +135 -2
- package/dist/errors.js +135 -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 +86 -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 +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 +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 +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 -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/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/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/http/app.js
CHANGED
|
@@ -1,52 +1,40 @@
|
|
|
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
1
|
import "reflect-metadata";
|
|
8
|
-
import { randomUUID } from "node:crypto";
|
|
9
2
|
import fastifyCookie from "@fastify/cookie";
|
|
10
|
-
import { Module } from "@nestjs/common";
|
|
11
|
-
import { APP_FILTER, NestFactory } from "@nestjs/core";
|
|
12
|
-
import { FastifyAdapter } from "@nestjs/platform-fastify";
|
|
13
3
|
import { ApiError, errorBody } from "../errors.js";
|
|
14
|
-
import {
|
|
4
|
+
import { AccountsService } from "../identity/accounts.js";
|
|
5
|
+
import { ApiTokenService } from "../identity/api-tokens.js";
|
|
6
|
+
import { authenticateOrgUploader, authorizeSuperAdmin, } from "../identity/auth.guard.js";
|
|
7
|
+
import { SessionService } from "../identity/sessions.js";
|
|
8
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
15
9
|
import { withLogContext } from "../log-context.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { NestLogAdapter } from "./nest-logger.js";
|
|
10
|
+
import { authorizeOrgAction } from "../orgs/org.guard.js";
|
|
11
|
+
import { redactPath } from "./error.filter.js";
|
|
12
|
+
import { registerGatewayRoutes } from "./gateway-routes.js";
|
|
20
13
|
import { createPluginRouter, registerPluginDispatch, staticRouteTable, } from "./plugin-dispatch.js";
|
|
21
|
-
import { ACCOUNTS, API_TOKENS, HEALTH_OPTIONS, KERNEL_LOG, SESSIONS } from "./tokens.js";
|
|
22
14
|
/** The extension package upload route (Fastify route template). */
|
|
23
15
|
export const EXTENSION_PACKAGE_UPLOAD_ROUTE = "/api/v1/admin/extensions/packages/file";
|
|
24
16
|
/** The plugin package upload route of the catalog import (Fastify route template). */
|
|
25
17
|
export const CATALOG_UPLOAD_ROUTE = "/api/v1/admin/catalog/import/file";
|
|
18
|
+
/** The platform skill version upload route (a skill package zip as the raw body). */
|
|
19
|
+
export const COMPONENT_SKILL_UPLOAD_ROUTE = "/api/v1/admin/components/skill/:id/versions";
|
|
26
20
|
/**
|
|
27
21
|
* The upload routes that take raw bytes (`application/octet-stream`, limit `packages.maxBytes`,
|
|
28
|
-
* the
|
|
22
|
+
* the super admin is authenticated before the body is read).
|
|
29
23
|
*/
|
|
30
24
|
export const PACKAGE_UPLOAD_ROUTES = new Set([
|
|
31
25
|
EXTENSION_PACKAGE_UPLOAD_ROUTE,
|
|
32
26
|
CATALOG_UPLOAD_ROUTE,
|
|
27
|
+
COMPONENT_SKILL_UPLOAD_ROUTE,
|
|
33
28
|
]);
|
|
29
|
+
/** An org admin's plugin package upload (spec §14, ruling P3-7; a tgz as the raw body). */
|
|
30
|
+
export const ORG_PLUGIN_UPLOAD_ROUTE = "/api/v1/orgs/:orgId/catalog/uploads/file";
|
|
34
31
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* 所以由这里实现跳数语义——前提是服务只能经由这 n 层代理访问(配置说明里已写明,并推荐 CIDR 列表)。
|
|
32
|
+
* The org routes that take raw package bytes (limit `packages.maxBytes`): before the body is read
|
|
33
|
+
* the caller is authenticated as a person with the org role of `catalog.upload` (ruling P3-29).
|
|
38
34
|
*/
|
|
39
|
-
|
|
40
|
-
return typeof tp === "number" ? (_addr, hop) => hop < tp : tp;
|
|
41
|
-
}
|
|
42
|
-
const REQUEST_ID = /^[A-Za-z0-9._-]{1,128}$/;
|
|
35
|
+
export const ORG_PACKAGE_UPLOAD_ROUTES = new Set([ORG_PLUGIN_UPLOAD_ROUTE]);
|
|
43
36
|
/** Paths without an access log line (probes). */
|
|
44
37
|
const QUIET_PATHS = new Set(["/healthz", "/readyz"]);
|
|
45
|
-
/** The request id: a valid incoming `x-request-id`, else a random one. */
|
|
46
|
-
function requestId(req) {
|
|
47
|
-
const h = req.headers["x-request-id"];
|
|
48
|
-
return typeof h === "string" && REQUEST_ID.test(h) ? h : randomUUID();
|
|
49
|
-
}
|
|
50
38
|
/**
|
|
51
39
|
* Request ids and the access log. Every request runs in a log context with its `reqId` (records
|
|
52
40
|
* logged while handling it carry it) and answers with `x-request-id` (set on the raw response, so
|
|
@@ -87,36 +75,16 @@ const LARGE_BODY_ROUTES = new Set([
|
|
|
87
75
|
"/api/v1/orgs/:orgId/connectors/preview",
|
|
88
76
|
]);
|
|
89
77
|
const LARGE_BODY_LIMIT = 6 * 1024 * 1024;
|
|
90
|
-
/** 根模块:总是含健康检查;`serveApi` 时 import `apiModule`;全局错误过滤器。 */
|
|
91
|
-
function rootModule(opts) {
|
|
92
|
-
let RootModule = class RootModule {
|
|
93
|
-
};
|
|
94
|
-
RootModule = __decorate([
|
|
95
|
-
Module({})
|
|
96
|
-
], RootModule);
|
|
97
|
-
return {
|
|
98
|
-
module: RootModule,
|
|
99
|
-
imports: opts.serveApi && opts.apiModule ? [opts.apiModule] : [],
|
|
100
|
-
controllers: [HealthController],
|
|
101
|
-
providers: [
|
|
102
|
-
{ provide: KERNEL_LOG, useValue: opts.log },
|
|
103
|
-
{ provide: HEALTH_OPTIONS, useValue: opts.health },
|
|
104
|
-
{ provide: APP_FILTER, useClass: ErrorFilter },
|
|
105
|
-
],
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
78
|
/**
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
79
|
+
* Sets up the Fastify side of the kernel's Nest application (built by `buildKernelApp` from
|
|
80
|
+
* `KernelModule`, which provides the health endpoints and the API) without connecting to anything,
|
|
81
|
+
* and returns it uninitialized: `init()` is the caller's (it runs the start sequence), `close()`
|
|
82
|
+
* closes only the HTTP server (the rest of the application is closed by the caller's shutdown).
|
|
83
|
+
* Extension routes do not go through Nest: `/plugins/*` is dispatched in its own Fastify scope
|
|
84
|
+
* (see plugin-dispatch.ts) and answers 404 until extensions are loaded. Unmatched kernel routes
|
|
85
|
+
* answer the 404 error envelope as well.
|
|
112
86
|
*/
|
|
113
|
-
export async function createHttpApp(opts) {
|
|
114
|
-
const app = await NestFactory.create(rootModule(opts), new FastifyAdapter({
|
|
115
|
-
trustProxy: fastifyTrustProxy(opts.trustProxy ?? false),
|
|
116
|
-
// x-request-id is read by requestId() (validated), never trusted as is
|
|
117
|
-
requestIdHeader: false,
|
|
118
|
-
genReqId: requestId,
|
|
119
|
-
}), { logger: new NestLogAdapter(opts.log), abortOnError: false });
|
|
87
|
+
export async function createHttpApp(opts, app) {
|
|
120
88
|
// Cookie 解析(会话 Cookie);必须在 init 之前注册
|
|
121
89
|
await app.register(fastifyCookie);
|
|
122
90
|
const fastify = app.getHttpAdapter().getInstance();
|
|
@@ -136,18 +104,19 @@ export async function createHttpApp(opts) {
|
|
|
136
104
|
if (LARGE_BODY_ROUTES.has(r.url) && [r.method].flat().includes("POST")) {
|
|
137
105
|
r.bodyLimit = LARGE_BODY_LIMIT;
|
|
138
106
|
}
|
|
139
|
-
|
|
107
|
+
const upload = PACKAGE_UPLOAD_ROUTES.has(r.url) || ORG_PACKAGE_UPLOAD_ROUTES.has(r.url);
|
|
108
|
+
if (upload && opts.packageMaxBytes !== undefined) {
|
|
140
109
|
r.bodyLimit = opts.packageMaxBytes + 1;
|
|
141
110
|
}
|
|
142
111
|
});
|
|
143
|
-
//
|
|
112
|
+
// 读请求体之前:包上传(插件包、平台目录包)先认证(未认证 / 非超级管理员的大请求体不读进内存);其余内核路由不收
|
|
144
113
|
// application/octet-stream(415)。插件路由 /plugins/* 在自己的作用域里收任何类型,不受影响
|
|
145
114
|
let authServices;
|
|
146
115
|
const services = () => {
|
|
147
116
|
authServices ??= {
|
|
148
|
-
accounts: app.get(
|
|
149
|
-
sessions: app.get(
|
|
150
|
-
tokens: app.get(
|
|
117
|
+
accounts: app.get(AccountsService, { strict: false }),
|
|
118
|
+
sessions: app.get(SessionService, { strict: false }),
|
|
119
|
+
tokens: app.get(ApiTokenService, { strict: false }),
|
|
151
120
|
};
|
|
152
121
|
return authServices;
|
|
153
122
|
};
|
|
@@ -163,7 +132,20 @@ export async function createHttpApp(opts) {
|
|
|
163
132
|
return;
|
|
164
133
|
if (req.method === "POST" && PACKAGE_UPLOAD_ROUTES.has(req.routeOptions.url ?? "")) {
|
|
165
134
|
try {
|
|
166
|
-
await
|
|
135
|
+
await authorizeSuperAdmin(req, services());
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
return sendError(reply, e, req.method, req.url);
|
|
139
|
+
}
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (req.method === "POST" && ORG_PACKAGE_UPLOAD_ROUTES.has(req.routeOptions.url ?? "")) {
|
|
143
|
+
try {
|
|
144
|
+
// the org admin role before the body (ruling P3-29): no one else makes the kernel buffer
|
|
145
|
+
// a package-sized body
|
|
146
|
+
const principal = await authenticateOrgUploader(req, services());
|
|
147
|
+
const orgId = req.params.orgId ?? "";
|
|
148
|
+
await authorizeOrgAction(app.get(KernelDb, { strict: false }).db, principal, orgId, "catalog.upload");
|
|
167
149
|
}
|
|
168
150
|
catch (e) {
|
|
169
151
|
return sendError(reply, e, req.method, req.url);
|
|
@@ -189,7 +171,6 @@ export async function createHttpApp(opts) {
|
|
|
189
171
|
: undefined;
|
|
190
172
|
if (opts.gateway)
|
|
191
173
|
await registerGatewayRoutes(fastify, opts.gateway, opts.log);
|
|
192
|
-
await app.init();
|
|
193
174
|
return {
|
|
194
175
|
inject: (o) => fastify.inject(o),
|
|
195
176
|
routes: () => [...routes],
|
|
@@ -212,7 +193,7 @@ export async function createHttpApp(opts) {
|
|
|
212
193
|
close: () => {
|
|
213
194
|
unwatch?.();
|
|
214
195
|
dispatch?.abortAll();
|
|
215
|
-
return
|
|
196
|
+
return fastify.close();
|
|
216
197
|
},
|
|
217
198
|
abortPluginRequests: () => dispatch?.abortAll(),
|
|
218
199
|
closeAllConnections: () => fastify.server.closeAllConnections(),
|
|
@@ -0,0 +1,18 @@
|
|
|
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 { Module } from "@nestjs/common";
|
|
8
|
+
import { APP_FILTER } from "@nestjs/core";
|
|
9
|
+
import { ErrorFilter } from "./error.filter.js";
|
|
10
|
+
/**
|
|
11
|
+
* The global error filter (`APP_FILTER`: the error envelope for every route).
|
|
12
|
+
*/
|
|
13
|
+
let ErrorFilterModule = class ErrorFilterModule {
|
|
14
|
+
};
|
|
15
|
+
ErrorFilterModule = __decorate([
|
|
16
|
+
Module({ providers: [{ provide: APP_FILTER, useClass: ErrorFilter }] })
|
|
17
|
+
], ErrorFilterModule);
|
|
18
|
+
export { ErrorFilterModule };
|
|
@@ -9,7 +9,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
9
9
|
};
|
|
10
10
|
import { Catch, HttpException, Inject, } from "@nestjs/common";
|
|
11
11
|
import { ApiError, errorBody } from "../errors.js";
|
|
12
|
-
import {
|
|
12
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
13
13
|
/**
|
|
14
14
|
* Nest `HttpException`(框架自身抛出,如路由不存在、请求体解析失败)的状态码 → 通用错误码。
|
|
15
15
|
* 显式列出而不是反查 `ERROR_CODES`:同一状态码下有多个业务码,反查会误取到业务码。
|
|
@@ -80,6 +80,6 @@ let ErrorFilter = class ErrorFilter {
|
|
|
80
80
|
};
|
|
81
81
|
ErrorFilter = __decorate([
|
|
82
82
|
Catch(),
|
|
83
|
-
__param(0, Inject(
|
|
83
|
+
__param(0, Inject(KERNEL_LOGGER))
|
|
84
84
|
], ErrorFilter);
|
|
85
85
|
export { ErrorFilter };
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
2
|
import type { FastifyInstance } from "fastify";
|
|
3
3
|
import type { ChannelWebhooks } from "../channels/webhook.js";
|
|
4
|
+
import { type DeviceRoutesOptions } from "../devices/device-routes.js";
|
|
4
5
|
/** What the gateway role serves over HTTP besides health and plugin routes. */
|
|
5
6
|
export interface GatewayRoutes {
|
|
6
7
|
webhooks: Pick<ChannelWebhooks, "handle">;
|
|
7
8
|
/** `channels.webhookMaxBodyBytes`. */
|
|
8
9
|
webhookMaxBodyBytes: number;
|
|
10
|
+
/** The device connection route (`GET /device/connect`, environments spec §13.4). */
|
|
11
|
+
devices: DeviceRoutesOptions;
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
11
|
-
* Registers the gateway role's HTTP routes (`serveGateway = roles.includes("gateway")`):
|
|
12
|
-
* channel webhook. These are raw Fastify routes, not a Nest
|
|
13
|
-
* CSRF check do not apply (P-4); each route does its own
|
|
14
|
+
* Registers the gateway role's HTTP routes (`serveGateway = roles.includes("gateway")`): the
|
|
15
|
+
* channel webhook and the device connection WebSocket. These are raw Fastify routes, not a Nest
|
|
16
|
+
* module, so the API's global guard and CSRF check do not apply (P-4); each route does its own
|
|
17
|
+
* verification (the channel plugin's signature check, the machine credential).
|
|
14
18
|
*/
|
|
15
19
|
export declare function registerGatewayRoutes(fastify: FastifyInstance, routes: GatewayRoutes, log: Pick<Logger, "error">): Promise<void>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { registerChannelWebhookRoute } from "../channels/webhook.controller.js";
|
|
2
|
+
import { registerDeviceConnectRoute } from "../devices/device-routes.js";
|
|
3
|
+
/**
|
|
4
|
+
* Registers the gateway role's HTTP routes (`serveGateway = roles.includes("gateway")`): the
|
|
5
|
+
* channel webhook and the device connection WebSocket. These are raw Fastify routes, not a Nest
|
|
6
|
+
* module, so the API's global guard and CSRF check do not apply (P-4); each route does its own
|
|
7
|
+
* verification (the channel plugin's signature check, the machine credential).
|
|
8
|
+
*/
|
|
9
|
+
export async function registerGatewayRoutes(fastify, routes, log) {
|
|
10
|
+
await registerChannelWebhookRoute(fastify, {
|
|
11
|
+
webhooks: routes.webhooks,
|
|
12
|
+
maxBodyBytes: routes.webhookMaxBodyBytes,
|
|
13
|
+
log,
|
|
14
|
+
});
|
|
15
|
+
await registerDeviceConnectRoute(fastify, routes.devices);
|
|
16
|
+
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
2
|
import type { LoggerService } from "@nestjs/common";
|
|
3
|
-
/**
|
|
3
|
+
/** A logger with an optional debug (the kernel logger has one; the SDK Logger does not). */
|
|
4
4
|
type MaybeDebugLogger = Logger & {
|
|
5
5
|
debug?: (msg: string, fields?: Record<string, unknown>) => void;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* `
|
|
8
|
+
* Forwards Nest's own log lines to the kernel logger, as octok does: `log` (module loading,
|
|
9
|
+
* the `Mapped {/api/v1/…, GET} route` lines at startup) at info, `warn` / `error` as they are,
|
|
10
|
+
* `debug` / `verbose` at debug. Nest's context name becomes the record's `context`.
|
|
10
11
|
*/
|
|
11
12
|
export declare class NestLogAdapter implements LoggerService {
|
|
12
13
|
private readonly logger;
|
|
@@ -14,7 +15,7 @@ export declare class NestLogAdapter implements LoggerService {
|
|
|
14
15
|
log(message: unknown, ...params: unknown[]): void;
|
|
15
16
|
warn(message: unknown, ...params: unknown[]): void;
|
|
16
17
|
error(message: unknown, ...params: unknown[]): void;
|
|
17
|
-
debug(): void;
|
|
18
|
-
verbose(): void;
|
|
18
|
+
debug(message: unknown, ...params: unknown[]): void;
|
|
19
|
+
verbose(message: unknown, ...params: unknown[]): void;
|
|
19
20
|
}
|
|
20
21
|
export {};
|
package/dist/http/nest-logger.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* `
|
|
2
|
+
* Forwards Nest's own log lines to the kernel logger, as octok does: `log` (module loading,
|
|
3
|
+
* the `Mapped {/api/v1/…, GET} route` lines at startup) at info, `warn` / `error` as they are,
|
|
4
|
+
* `debug` / `verbose` at debug. Nest's context name becomes the record's `context`.
|
|
4
5
|
*/
|
|
5
6
|
export class NestLogAdapter {
|
|
6
7
|
logger;
|
|
@@ -8,7 +9,7 @@ export class NestLogAdapter {
|
|
|
8
9
|
this.logger = logger;
|
|
9
10
|
}
|
|
10
11
|
log(message, ...params) {
|
|
11
|
-
this.logger.
|
|
12
|
+
this.logger.info(String(message), fields(params));
|
|
12
13
|
}
|
|
13
14
|
warn(message, ...params) {
|
|
14
15
|
this.logger.warn(String(message), fields(params));
|
|
@@ -16,13 +17,26 @@ export class NestLogAdapter {
|
|
|
16
17
|
error(message, ...params) {
|
|
17
18
|
this.logger.error(String(message), fields(params));
|
|
18
19
|
}
|
|
19
|
-
debug() {
|
|
20
|
-
|
|
20
|
+
debug(message, ...params) {
|
|
21
|
+
this.logger.debug?.(String(message), fields(params));
|
|
22
|
+
}
|
|
23
|
+
verbose(message, ...params) {
|
|
24
|
+
this.logger.debug?.(String(message), fields(params));
|
|
25
|
+
}
|
|
21
26
|
}
|
|
22
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Nest passes its context name (e.g. `RoutesResolver`) last and, for errors, the stack before it. The
|
|
29
|
+
* name becomes `context` (the pretty `[context=…]`), anything else `nest`.
|
|
30
|
+
*/
|
|
23
31
|
function fields(params) {
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
const rest = params.filter((p) => p !== undefined);
|
|
33
|
+
const last = rest.at(-1);
|
|
34
|
+
const out = {};
|
|
35
|
+
if (typeof last === "string" && /^[A-Za-z][\w.-]*$/.test(last)) {
|
|
36
|
+
out.context = last;
|
|
37
|
+
rest.pop();
|
|
38
|
+
}
|
|
39
|
+
if (rest.length > 0)
|
|
40
|
+
out.nest = rest.length === 1 ? rest[0] : rest;
|
|
41
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
28
42
|
}
|
|
@@ -45,7 +45,10 @@ export declare function createPluginRouter(routes: Route[]): PluginRouter;
|
|
|
45
45
|
* - `req.signal` aborts only when the client disconnects before the response is written (not on
|
|
46
46
|
* normal completion); long-lived handlers use it to unsubscribe;
|
|
47
47
|
* - a throwing handler is logged (path redacted with `redactPath`) and returns 500 `internal` (the
|
|
48
|
-
* error message is not echoed).
|
|
48
|
+
* error message is not echoed), except a `model.hook_denied` `ApiError` that escaped from
|
|
49
|
+
* `ctx.models.embed` (an organization policy hook denied the call, spec B §5.4): a deliberate
|
|
50
|
+
* outcome, not a failure, so it answers 403 `model.hook_denied` with a generic message (the
|
|
51
|
+
* routes are unauthenticated: the policy extension's name and reason are not echoed).
|
|
49
52
|
* - Fastify's own errors (a body over 1 MiB and so on) are mapped to the error envelope by the
|
|
50
53
|
* scope's error handler: 4xx by the common error code table (413 `payload_too_large`, 415
|
|
51
54
|
* `unsupported_media_type` and so on), 5xx are logged and return `internal`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Readable } from "node:stream";
|
|
2
2
|
import FindMyWay from "find-my-way";
|
|
3
|
-
import { errorBody } from "../errors.js";
|
|
3
|
+
import { ApiError, ERROR_CODES, errorBody } from "../errors.js";
|
|
4
4
|
import { ACCESS_COOKIE, REFRESH_COOKIE } from "../identity/cookies.js";
|
|
5
5
|
import { codeForStatus, redactPath } from "./error.filter.js";
|
|
6
6
|
/** 插件路由都在此前缀下(ctx.http.route 已加 `/plugins/<name>` 前缀)。 */
|
|
@@ -47,7 +47,10 @@ export function createPluginRouter(routes) {
|
|
|
47
47
|
* - `req.signal` aborts only when the client disconnects before the response is written (not on
|
|
48
48
|
* normal completion); long-lived handlers use it to unsubscribe;
|
|
49
49
|
* - a throwing handler is logged (path redacted with `redactPath`) and returns 500 `internal` (the
|
|
50
|
-
* error message is not echoed).
|
|
50
|
+
* error message is not echoed), except a `model.hook_denied` `ApiError` that escaped from
|
|
51
|
+
* `ctx.models.embed` (an organization policy hook denied the call, spec B §5.4): a deliberate
|
|
52
|
+
* outcome, not a failure, so it answers 403 `model.hook_denied` with a generic message (the
|
|
53
|
+
* routes are unauthenticated: the policy extension's name and reason are not echoed).
|
|
51
54
|
* - Fastify's own errors (a body over 1 MiB and so on) are mapped to the error envelope by the
|
|
52
55
|
* scope's error handler: 4xx by the common error code table (413 `payload_too_large`, 415
|
|
53
56
|
* `unsupported_media_type` and so on), 5xx are logged and return `internal`.
|
|
@@ -108,6 +111,15 @@ export async function registerPluginDispatch(fastify, getTable, log) {
|
|
|
108
111
|
res = await pluginHandler(webReq);
|
|
109
112
|
}
|
|
110
113
|
catch (err) {
|
|
114
|
+
if (err instanceof ApiError && err.code === "model.hook_denied") {
|
|
115
|
+
log.warn("plugin handler refused: a policy hook denied its model call", {
|
|
116
|
+
method: req.method,
|
|
117
|
+
path: redactPath(path),
|
|
118
|
+
});
|
|
119
|
+
return reply
|
|
120
|
+
.code(ERROR_CODES["model.hook_denied"])
|
|
121
|
+
.send(errorBody(err.code, "An organization policy denied this model call"));
|
|
122
|
+
}
|
|
111
123
|
log.error("plugin handler failed", { method: req.method, path: redactPath(path), err });
|
|
112
124
|
return reply.code(500).send(errorBody("internal", "Internal error"));
|
|
113
125
|
}
|
|
@@ -1,51 +1,117 @@
|
|
|
1
|
-
import { type Selectable
|
|
2
|
-
import
|
|
1
|
+
import { type Selectable } from "kysely";
|
|
2
|
+
import { SetupLock } from "../admin/setup-lock.js";
|
|
3
|
+
import type { AccountsTable } from "../db/kernel-schema.js";
|
|
4
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
5
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
6
|
+
import { SuperAdminLock } from "./super-admin.js";
|
|
3
7
|
export interface Account {
|
|
4
8
|
id: string;
|
|
5
9
|
displayName: string;
|
|
6
10
|
email: string | null;
|
|
7
11
|
status: "active" | "disabled";
|
|
8
|
-
|
|
12
|
+
isSuperAdmin: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The account signed in with a generated initial password and must set its own before anything
|
|
15
|
+
* else (Platform tool spec §14.5 item 2): the auth guard refuses every other route until then.
|
|
16
|
+
*/
|
|
17
|
+
mustChangePassword: boolean;
|
|
9
18
|
createdAt: Date;
|
|
10
19
|
}
|
|
11
|
-
|
|
12
|
-
/** 企业管理员可改的账号字段。 */
|
|
20
|
+
/** 超级管理员可改的账号字段。 */
|
|
13
21
|
export type AccountPatch = {
|
|
14
22
|
displayName?: string;
|
|
15
23
|
status?: "active" | "disabled";
|
|
16
|
-
|
|
24
|
+
isSuperAdmin?: boolean;
|
|
17
25
|
};
|
|
18
26
|
/** 构造 `Account` 所需的 accounts 列(供跨表查询 select 使用)。 */
|
|
19
|
-
export declare const ACCOUNT_COLUMNS: readonly ["accounts.id", "accounts.display_name", "accounts.email", "accounts.status", "accounts.
|
|
20
|
-
type AccountRow = Pick<Selectable<AccountsTable>, "id" | "display_name" | "email" | "status" | "
|
|
27
|
+
export declare const ACCOUNT_COLUMNS: readonly ["accounts.id", "accounts.display_name", "accounts.email", "accounts.status", "accounts.is_super_admin", "accounts.must_change_password", "accounts.created_at"];
|
|
28
|
+
type AccountRow = Pick<Selectable<AccountsTable>, "id" | "display_name" | "email" | "status" | "is_super_admin" | "must_change_password" | "created_at">;
|
|
21
29
|
export declare function toAccount(r: AccountRow): Account;
|
|
22
30
|
export interface LocalAccountInput {
|
|
23
31
|
login: string;
|
|
24
32
|
password: string;
|
|
25
33
|
displayName: string;
|
|
26
34
|
email?: string;
|
|
27
|
-
|
|
35
|
+
superAdmin?: boolean;
|
|
36
|
+
/** The account must set its own password at first sign-in (a generated initial password). */
|
|
37
|
+
mustChangePassword?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** Options of {@link AccountsService.createByAdmin}. */
|
|
40
|
+
export interface AdminCreateOptions {
|
|
41
|
+
/** Merged into the `account.created` audit detail (e.g. the Platform tool's `via: "agent"`). */
|
|
42
|
+
auditDetail?: Record<string, unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* Runs in the creation's transaction right after the insert (the generated password is sealed
|
|
45
|
+
* there), so the account and what goes with it commit or roll back together.
|
|
46
|
+
*/
|
|
47
|
+
inTransaction?: (account: Account) => Promise<void>;
|
|
28
48
|
}
|
|
29
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Accounts: local account creation, authentication and administration. Every write is
|
|
51
|
+
* `@Transactional` (joining the caller's transaction when there is one); scrypt runs before any
|
|
52
|
+
* transaction opens.
|
|
53
|
+
*/
|
|
30
54
|
export declare class AccountsService {
|
|
31
55
|
private readonly db;
|
|
32
|
-
|
|
33
|
-
|
|
56
|
+
readonly txHost: TransactionHost;
|
|
57
|
+
private readonly adminLock;
|
|
58
|
+
private readonly setupLock;
|
|
59
|
+
constructor(db: KernelDb, txHost: TransactionHost, adminLock: SuperAdminLock, setupLock: SetupLock);
|
|
60
|
+
/** Checks the password length and hashes it (scrypt, slow): for callers that hash before their transaction opens. */
|
|
34
61
|
hashNewPassword(password: string): Promise<string>;
|
|
35
62
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
63
|
+
* Creates a local account, in the caller's transaction when there is one. A caller inside a
|
|
64
|
+
* transaction hashes first with {@link hashNewPassword} and passes `passwordHash`, so the
|
|
65
|
+
* connection is never idle in transaction during scrypt.
|
|
66
|
+
*/
|
|
67
|
+
createLocal(input: LocalAccountInput, passwordHash?: string): Promise<Account>;
|
|
68
|
+
/**
|
|
69
|
+
* A super admin creates a local account (optionally a super admin): under the
|
|
70
|
+
* super admin lock, re-checks that the actor is still an active super admin (else
|
|
71
|
+
* `forbidden`), creates the account and audits `account.created`. The hash is computed before
|
|
72
|
+
* the lock.
|
|
73
|
+
*/
|
|
74
|
+
createByAdmin(input: LocalAccountInput, actorAccountId: string, actorTokenId?: string, opts?: AdminCreateOptions): Promise<Account>;
|
|
75
|
+
/**
|
|
76
|
+
* Whether `login` is free for a new local account (`account.login_taken` otherwise) and well
|
|
77
|
+
* formed (`validation_failed`): the read a caller checks before asking a person to confirm.
|
|
38
78
|
*/
|
|
39
|
-
|
|
79
|
+
assertLoginFree(login: string): Promise<void>;
|
|
80
|
+
/** The local login of each account that has one (accounts without are left out). */
|
|
81
|
+
localLogins(accountIds: readonly string[]): Promise<Map<string, string>>;
|
|
82
|
+
private createByAdminIn;
|
|
40
83
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
84
|
+
* CLI: creates a super admin without checking whether the deployment is set up; a taken
|
|
85
|
+
* login → `account.login_taken`.
|
|
43
86
|
*/
|
|
44
|
-
|
|
87
|
+
createSuperAdmin(input: SuperAdminInput): Promise<Account>;
|
|
88
|
+
/**
|
|
89
|
+
* CLI `admin create --if-none`: creates a super admin only when no active one exists. The
|
|
90
|
+
* check and the insert run in one transaction under {@link SetupLock}, the lock the web setup
|
|
91
|
+
* takes, so concurrent runs (and a concurrent web setup) create exactly one. Returns undefined
|
|
92
|
+
* when an active super admin already exists; a taken login still throws
|
|
93
|
+
* `account.login_taken`.
|
|
94
|
+
*/
|
|
95
|
+
createSuperAdminIfNone(input: SuperAdminInput): Promise<Account | undefined>;
|
|
96
|
+
private createSuperAdminIfNoneIn;
|
|
97
|
+
private insertSuperAdmin;
|
|
45
98
|
authenticateLocal(login: string, password: string): Promise<Account | null>;
|
|
46
99
|
/** 按账号 id 校验本地密码(改密码时核对旧密码);没有本地密码、超长或不符 → false。 */
|
|
47
100
|
verifyPassword(accountId: string, password: string): Promise<boolean>;
|
|
48
101
|
get(id: string): Promise<Account | undefined>;
|
|
102
|
+
/**
|
|
103
|
+
* A person's preferences (run context spec §3.4): `timeZone` is their time zone setting (IANA),
|
|
104
|
+
* null = follow the browser. Missing account → null.
|
|
105
|
+
*/
|
|
106
|
+
preferences(accountId: string): Promise<{
|
|
107
|
+
timeZone: string | null;
|
|
108
|
+
}>;
|
|
109
|
+
/** Sets a person's preferences (the caller validated the time zone). */
|
|
110
|
+
setPreferences(accountId: string, prefs: {
|
|
111
|
+
timeZone: string | null;
|
|
112
|
+
}): Promise<{
|
|
113
|
+
timeZone: string | null;
|
|
114
|
+
}>;
|
|
49
115
|
/** 按 id 升序分页,`after` 为上一页最后一个 id。 */
|
|
50
116
|
list(opts: {
|
|
51
117
|
limit: number;
|
|
@@ -53,41 +119,67 @@ export declare class AccountsService {
|
|
|
53
119
|
}): Promise<Account[]>;
|
|
54
120
|
setPassword(accountId: string, password: string): Promise<void>;
|
|
55
121
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
122
|
+
* A person changes their password (R24): one PG transaction writes the new password and revokes
|
|
123
|
+
* the account's sessions except `exceptSessionId` (`sessions.revoked_at`) and all its personal
|
|
124
|
+
* access tokens; all or nothing. scrypt runs before BEGIN. Returns the revoked session ids; the
|
|
125
|
+
* caller then writes the Redis revocation markers (the fast path: auth reads PG `revoked_at`,
|
|
126
|
+
* so a failed marker never keeps a session usable).
|
|
60
127
|
*/
|
|
61
128
|
changePassword(accountId: string, password: string, exceptSessionId: string): Promise<string[]>;
|
|
129
|
+
private changePasswordIn;
|
|
62
130
|
update(id: string, patch: AccountPatch, actorAccountId: string, actorTokenId?: string): Promise<Account>;
|
|
63
131
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
132
|
+
* A super admin changes an account. Disabling (`status: "disabled"`) revokes the
|
|
133
|
+
* account's sessions (`sessions.revoked_at`) and personal tokens in **the same PG transaction**,
|
|
134
|
+
* all or nothing; returns the revoked session ids, whose Redis markers the caller writes after
|
|
135
|
+
* the commit (the fast path; a failure is only a warning: auth reads PG).
|
|
67
136
|
*/
|
|
68
|
-
updateAccount(id: string, patch: AccountPatch, actorAccountId: string, actorTokenId?: string
|
|
137
|
+
updateAccount(id: string, patch: AccountPatch, actorAccountId: string, actorTokenId?: string, opts?: {
|
|
138
|
+
auditDetail?: Record<string, unknown>;
|
|
139
|
+
}): Promise<{
|
|
69
140
|
account: Account;
|
|
70
141
|
revokedSessionIds: string[];
|
|
71
142
|
}>;
|
|
72
143
|
/**
|
|
73
|
-
* CLI
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
144
|
+
* The CLI's `capybara admin grant|revoke <login>` (no actor account): changes the super
|
|
145
|
+
* admin flag by local login under the super admin lock; revoking keeps the
|
|
146
|
+
* {@link updateAccount} "last active super admin" check (`account.last_super_admin`),
|
|
147
|
+
* decided under the lock, so it cannot race a web revoke into none. Audit `account.updated`
|
|
148
|
+
* without an actor, `detail.via = "cli"`. Already in the target state → no change and no audit
|
|
149
|
+
* (`changed: false`). Unknown login → `account.not_found`.
|
|
78
150
|
*/
|
|
79
|
-
|
|
151
|
+
setSuperAdminByLogin(login: string, isSuperAdmin: boolean): Promise<{
|
|
80
152
|
account: Account;
|
|
81
153
|
changed: boolean;
|
|
82
154
|
}>;
|
|
155
|
+
private setSuperAdminIn;
|
|
156
|
+
/** 全部账号数(含停用的;后台概览)。 */
|
|
157
|
+
count(): Promise<number>;
|
|
158
|
+
/** Active (status = active) super admins, in the context's transaction when there is one. */
|
|
159
|
+
countSuperAdmins(): Promise<number>;
|
|
160
|
+
/** Inserts the account, its local identity and password; a taken login → `account.login_taken`. */
|
|
161
|
+
private insertLocal;
|
|
162
|
+
/** Writes (or replaces) the local password hash; a missing account → `account.not_found`. */
|
|
163
|
+
private writePassword;
|
|
83
164
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
165
|
+
* Changes the account under the super admin lock the caller holds: updates the row,
|
|
166
|
+
* re-checks "the last active super admin", audits `account.updated`; disabling revokes the
|
|
167
|
+
* account's sessions and personal tokens.
|
|
86
168
|
*/
|
|
87
169
|
private applyUpdate;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
170
|
+
}
|
|
171
|
+
/** Input of the CLI super admin creation. */
|
|
172
|
+
export interface SuperAdminInput {
|
|
173
|
+
login: string;
|
|
174
|
+
password: string;
|
|
175
|
+
displayName: string;
|
|
176
|
+
email?: string | undefined;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* {@link AccountsService} with the locks it takes; needs only the database. Part of
|
|
180
|
+
* `IdentityModule`; the CLI's `admin create` / `admin grant` contexts and `@capybara-hq/testing`'s
|
|
181
|
+
* `createLocalAccount` import it alone.
|
|
182
|
+
*/
|
|
183
|
+
export declare class AccountsModule {
|
|
92
184
|
}
|
|
93
185
|
export {};
|