@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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The method of the `Platform` tool (spec §5.2): the rules the root `browse` result carries, after
|
|
3
|
+
* the domains. Model-visible English; a tool result, never part of the tool definition, so
|
|
4
|
+
* changing it changes no definition fingerprint.
|
|
5
|
+
*/
|
|
6
|
+
export const PLATFORM_METHOD = [
|
|
7
|
+
"How to work with the platform:",
|
|
8
|
+
"1. Read before you write: list or get what you are about to change.",
|
|
9
|
+
"2. Before a write, tell the person in one sentence what you will do and why; the platform then asks them to confirm.",
|
|
10
|
+
"3. A declined confirmation means stop; do not retry the same change another way.",
|
|
11
|
+
"4. An operation you may not call is not a dead end: its reason says who can (an org admin, the super admin) and whether a request operation exists; offer that.",
|
|
12
|
+
"5. Errors say what to do next; follow them.",
|
|
13
|
+
'6. When unsure how the platform works, use action "read" for the docs before acting.',
|
|
14
|
+
'Find an operation with "browse" (a domain) or "search": each lists its input keys in "params" ("?" marks an optional key, an id key takes the id field of the matching list or get result). "describe" gives the types, bounds and an example; describe before a call whose params you are unsure of, and never guess a key that params does not list.',
|
|
15
|
+
].join("\n");
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import type { OrgAction } from "../orgs/roles.js";
|
|
3
|
+
import type { ErrorRole } from "./errors.js";
|
|
4
|
+
/**
|
|
5
|
+
* How an operation is confirmed (spec §6.2): `read` runs; `personal` asks each time and may be
|
|
6
|
+
* remembered; `org` / `platform` ask each time and are never remembered.
|
|
7
|
+
*/
|
|
8
|
+
export type ConfirmClass = "read" | "personal" | "org" | "platform";
|
|
9
|
+
/** Who may call an operation: the org action of the route it mirrors, or the super admin. */
|
|
10
|
+
export type OperationAuthz = {
|
|
11
|
+
orgAction: OrgAction;
|
|
12
|
+
} | {
|
|
13
|
+
superAdmin: true;
|
|
14
|
+
};
|
|
15
|
+
/** What an operation's handler gets besides its input: the actor and where the call happens. */
|
|
16
|
+
export interface OperationContext {
|
|
17
|
+
orgId: string;
|
|
18
|
+
/** The run's trigger account (spec §6.1), the principal the handler acts as. */
|
|
19
|
+
actorAccountId: string;
|
|
20
|
+
agentId: string;
|
|
21
|
+
conversationId: string;
|
|
22
|
+
runId: string | null;
|
|
23
|
+
/**
|
|
24
|
+
* The tool call being run (absent at confirmation time): what a result shown only on the web is
|
|
25
|
+
* keyed by, e.g. the generated password of `accounts.create`, read by the person who approved
|
|
26
|
+
* that call.
|
|
27
|
+
*/
|
|
28
|
+
callId?: string;
|
|
29
|
+
signal: AbortSignal;
|
|
30
|
+
/**
|
|
31
|
+
* The actor's role for next steps, from the facts the tool read for this call (spec §14.5
|
|
32
|
+
* item 7). Absent where no tool call is behind the context (a test running `op.run`): read it
|
|
33
|
+
* then with `roleFor` in ./ops/unavailable.ts.
|
|
34
|
+
*/
|
|
35
|
+
errorRole?: ErrorRole;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The next step after an error: one text, or one per role where the step differs (spec §14.5
|
|
39
|
+
* item 7). Only the super admin gets the `superAdmin` text (the admin console path); see
|
|
40
|
+
* `nextStepFor` in ./errors.ts for the fallbacks.
|
|
41
|
+
*/
|
|
42
|
+
export type OperationErrorNext = string | {
|
|
43
|
+
readonly superAdmin?: string;
|
|
44
|
+
readonly orgAdmin?: string;
|
|
45
|
+
readonly member?: string;
|
|
46
|
+
};
|
|
47
|
+
/** A notable error code of an operation and what to do next (model-visible English). */
|
|
48
|
+
export interface OperationError {
|
|
49
|
+
code: string;
|
|
50
|
+
next: OperationErrorNext;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* What {@link PlatformOperation.precheck} found: nothing known against the write, or why it fails.
|
|
54
|
+
* `next` replaces the operation's `errors[]` entry for the code when the step depends on the target
|
|
55
|
+
* (e.g. the admin console path naming the extension).
|
|
56
|
+
*
|
|
57
|
+
* Some codes exist only in the tool, never answered by a route: `marketplace.already_added` (the
|
|
58
|
+
* `marketplaces.add` duplicate check is tool policy; the web accepts a duplicate source),
|
|
59
|
+
* `plugin.needs_input` (input only a person enters on the web), `agent.visibility_web_only`,
|
|
60
|
+
* `catalog.org_owned` (`plugins.set-shown` leaves an org's own plugin to that org), and
|
|
61
|
+
* `account.self` / `account.no_change` (disabling your own account, a status that is set already).
|
|
62
|
+
*/
|
|
63
|
+
export type PrecheckResult = {
|
|
64
|
+
ok: true;
|
|
65
|
+
} | {
|
|
66
|
+
ok: false;
|
|
67
|
+
code: string;
|
|
68
|
+
message: string;
|
|
69
|
+
next?: OperationErrorNext;
|
|
70
|
+
};
|
|
71
|
+
/** How long a precheck may take before the tool skips it (spec §14.2 item 2). */
|
|
72
|
+
export declare const PRECHECK_TIMEOUT_MS = 2000;
|
|
73
|
+
/** One operation of the `Platform` tool (spec §7), defined next to its domain. */
|
|
74
|
+
export interface PlatformOperation<I = unknown> {
|
|
75
|
+
/** `<domain>.<verb>`, matching {@link OPERATION_ID}; the domain is one of {@link PLATFORM_DOMAINS}. */
|
|
76
|
+
id: string;
|
|
77
|
+
/** English, one paragraph; the first sentence is the line `browse` and `search` show. */
|
|
78
|
+
description: string;
|
|
79
|
+
/** Every string bounded; `describe` shows its JSON Schema. */
|
|
80
|
+
input: z.ZodType<I>;
|
|
81
|
+
example: I;
|
|
82
|
+
/** The route's authorization, or the role the service enforces (spec §9). */
|
|
83
|
+
authz: OperationAuthz;
|
|
84
|
+
/**
|
|
85
|
+
* `"service-enforced"`: the service enforces a higher role than the mirrored route's decorator,
|
|
86
|
+
* so `authz` may name a stricter action (`check:platform-ops` requires its role to be at least
|
|
87
|
+
* the route's).
|
|
88
|
+
*/
|
|
89
|
+
authzNote?: "service-enforced";
|
|
90
|
+
/** The HTTP routes it corresponds to, e.g. `POST /api/v1/orgs/:orgId/skills`; [] when synthetic. */
|
|
91
|
+
mirrors: readonly string[];
|
|
92
|
+
/**
|
|
93
|
+
* Fields of the mirrored route (body, query, path params but `:orgId`) the input leaves out, e.g.
|
|
94
|
+
* `uploadId` of `skills.create` (spec §14.5 item 3; the parity test in `tools/checks` holds it).
|
|
95
|
+
*/
|
|
96
|
+
omits?: readonly string[];
|
|
97
|
+
/** Input fields the mirrored route lacks, e.g. `cursor` of a paged list. */
|
|
98
|
+
extras?: readonly string[];
|
|
99
|
+
/**
|
|
100
|
+
* Input fields compared with a route field of another name or path: `{ skillId: "id" }`, a
|
|
101
|
+
* flattened `{ name: "definition.name" }`. The route field counts as present.
|
|
102
|
+
*/
|
|
103
|
+
renames?: Readonly<Record<string, string>>;
|
|
104
|
+
/**
|
|
105
|
+
* Input fields allowed to accept more than the route (bounds, pattern, required-ness, never the
|
|
106
|
+
* type), each with its reason, e.g. a confirm value that also takes `nothing-installed`.
|
|
107
|
+
*/
|
|
108
|
+
loosens?: Readonly<Record<string, string>>;
|
|
109
|
+
confirm: ConfirmClass;
|
|
110
|
+
/**
|
|
111
|
+
* `false`: a confirmation is never remembered, whatever the class (a destructive personal write
|
|
112
|
+
* such as deleting a conversation). Static; absent: remembered only for the class `personal`.
|
|
113
|
+
*/
|
|
114
|
+
rememberable?: false;
|
|
115
|
+
/**
|
|
116
|
+
* The class of one call when it depends on the target (read at confirmation time): e.g.
|
|
117
|
+
* `agents.update` is `personal` only on a private agent the actor owns and `org` otherwise, so a
|
|
118
|
+
* remembered grant never carries over to a shared agent. Only for writes, never returns `read`;
|
|
119
|
+
* absent: `confirm`. The tool treats a throw as not remembered.
|
|
120
|
+
*/
|
|
121
|
+
confirmFor?(input: I, ctx: OperationContext): Promise<ConfirmClass>;
|
|
122
|
+
/**
|
|
123
|
+
* The notable error codes of the operation and what to do next (model-visible English), shown
|
|
124
|
+
* by `describe` (spec §3) and appended to an `ApiError` of that code (spec §14.5 item 7). `next`
|
|
125
|
+
* is keyed by role where the step differs (`check:platform-ops` rule `platform-op-errors`).
|
|
126
|
+
*/
|
|
127
|
+
errors?: readonly OperationError[];
|
|
128
|
+
/**
|
|
129
|
+
* Preconditions read before the card (spec §14.2 item 2): a write known to fail (a taken name, a
|
|
130
|
+
* stale preview) is denied with this reason and the person is never asked. Reads only; runs
|
|
131
|
+
* again when an approved call resumes (a failure then returns the error, nothing runs). Bounded
|
|
132
|
+
* by the tool ({@link PRECHECK_TIMEOUT_MS}); a timeout or a throw skips it, and the write's own
|
|
133
|
+
* errors speak.
|
|
134
|
+
*/
|
|
135
|
+
precheck?(input: I, ctx: OperationContext): Promise<PrecheckResult>;
|
|
136
|
+
/**
|
|
137
|
+
* The bilingual card summary of a write, rendered from the input and kernel reads (names of
|
|
138
|
+
* the targets, preview counts), never from model text; required unless `confirm` is `read`.
|
|
139
|
+
* May read PG; the tool falls back to the operation id when it throws. Method syntax so an
|
|
140
|
+
* operation of any input type is a `PlatformOperation` (the registry's element type).
|
|
141
|
+
*/
|
|
142
|
+
summary?(input: I, ctx: OperationContext): {
|
|
143
|
+
zh: string;
|
|
144
|
+
en: string;
|
|
145
|
+
} | Promise<{
|
|
146
|
+
zh: string;
|
|
147
|
+
en: string;
|
|
148
|
+
}>;
|
|
149
|
+
run(input: I, ctx: OperationContext): Promise<unknown>;
|
|
150
|
+
}
|
|
151
|
+
/** Identity helper that types an operation's handler and summary from its input schema. */
|
|
152
|
+
export declare function defineOperation<I>(op: PlatformOperation<I>): PlatformOperation<I>;
|
|
153
|
+
/** The shape of an operation id: `<domain>.<verb>`, lower case words joined by `-`. */
|
|
154
|
+
export declare const OPERATION_ID: RegExp;
|
|
155
|
+
/** The domain part of an operation id (`skills` of `skills.list`). */
|
|
156
|
+
export declare const operationDomain: (id: string) => string;
|
|
157
|
+
/** The phase 1 domains (spec §7), in the order `browse` lists them; model-visible English. */
|
|
158
|
+
export declare const PLATFORM_DOMAINS: readonly {
|
|
159
|
+
id: string;
|
|
160
|
+
description: string;
|
|
161
|
+
}[];
|
|
162
|
+
/**
|
|
163
|
+
* Something that contributes operations (a domain's provider). Kept as a type only: providers
|
|
164
|
+
* call `PlatformOperations.register` from their `onModuleInit` (ruling P2), so `PlatformModule`
|
|
165
|
+
* imports no domain module.
|
|
166
|
+
*/
|
|
167
|
+
export interface OperationProvider {
|
|
168
|
+
operations(): readonly PlatformOperation[];
|
|
169
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** How long a precheck may take before the tool skips it (spec §14.2 item 2). */
|
|
2
|
+
export const PRECHECK_TIMEOUT_MS = 2000;
|
|
3
|
+
/** Identity helper that types an operation's handler and summary from its input schema. */
|
|
4
|
+
export function defineOperation(op) {
|
|
5
|
+
return op;
|
|
6
|
+
}
|
|
7
|
+
/** The shape of an operation id: `<domain>.<verb>`, lower case words joined by `-`. */
|
|
8
|
+
export const OPERATION_ID = /^[a-z][a-z-]*\.[a-z][a-z-]*$/;
|
|
9
|
+
/** The domain part of an operation id (`skills` of `skills.list`). */
|
|
10
|
+
export const operationDomain = (id) => id.slice(0, id.indexOf("."));
|
|
11
|
+
/** The phase 1 domains (spec §7), in the order `browse` lists them; model-visible English. */
|
|
12
|
+
export const PLATFORM_DOMAINS = [
|
|
13
|
+
{
|
|
14
|
+
id: "platform",
|
|
15
|
+
description: "What this platform is, its tool families, what you and this agent can do, and your own preferences (time zone).",
|
|
16
|
+
},
|
|
17
|
+
{ id: "skills", description: "The org's skill library: list, read, create, switch on or off." },
|
|
18
|
+
{
|
|
19
|
+
id: "agents",
|
|
20
|
+
description: "Agents in the org: list, read, create private ones, update or delete those you may edit, their profile (avatar, quick actions), versions, pending connectors, readiness.",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "agent-templates",
|
|
24
|
+
description: "Agent templates: list, read, save an agent as a template, update, share or delete the org's own.",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: "plugins",
|
|
28
|
+
description: "Plugins in the org and on the platform: list, read, enable, disable, update, scope, import, the org's own uploads.",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "marketplaces",
|
|
32
|
+
description: "Marketplace sources and their entries: list, browse, add, edit, refresh, remove, import, request a plugin.",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "requests",
|
|
36
|
+
description: "Requests to admins: list yours, create one; org admins list the members' pending ones; the super admin lists the platform's.",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "connectors",
|
|
40
|
+
description: "Connectors and connector templates: list and read, refresh tools, delete.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: "extensions",
|
|
44
|
+
description: "Extensions in the org (state, tool switches, extension point defaults, file previewers) and, for the super admin, on the platform (state, pending permission confirmations, enable, disable, uninstall).",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "conversations",
|
|
48
|
+
description: "Your own conversations: list, read, rename, archive, delete, read their events, list and stop their background tasks.",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: "orgs",
|
|
52
|
+
description: "This org (read, rename, members) and, for the super admin, every org and its limits.",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "accounts",
|
|
56
|
+
description: "Platform accounts (super admin): list, read, create, disable, enable.",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "admin",
|
|
60
|
+
description: "The admin console (super admin): dashboard totals and deployment settings.",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "models",
|
|
64
|
+
description: "The org's model per purpose, the models available and the ones it switched off; for the super admin, the platform's models: catalog and disabled list, prices, default model per purpose.",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: "evals",
|
|
68
|
+
description: "Eval sets, their cases and runs, results and labels (org admins): replay a candidate model or prompt over real cases.",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: "inbox",
|
|
72
|
+
description: "Your inbox (what waits for you, as summaries; dismiss notices) and, for the super admin, the platform inbox. Deciding is done on the web.",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: "approvals",
|
|
76
|
+
description: "Tool call approvals you can decide: list and read them as summaries, never the call's input. Deciding is done on the web.",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: "channels",
|
|
80
|
+
description: "The org's channel connections (IM bots): list, read without credentials, change the binding, remove.",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: "org-settings",
|
|
84
|
+
description: "The org's settings (tool search, language, sandbox policy, the Platform tool switch): read and change.",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: "environments",
|
|
88
|
+
description: "Your own cloud environments (the workspaces your conversations run in): list, read, create, rename, delete, wipe the files.",
|
|
89
|
+
},
|
|
90
|
+
];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type OnModuleInit } from "@nestjs/common";
|
|
3
|
+
import { AccountsService } from "../../identity/accounts.js";
|
|
4
|
+
import { InitialPasswords } from "../../identity/initial-passwords.js";
|
|
5
|
+
import { SessionService } from "../../identity/sessions.js";
|
|
6
|
+
import { OrgsService } from "../../orgs/orgs.service.js";
|
|
7
|
+
import { PlatformOperations } from "../registry.js";
|
|
8
|
+
/** What the tool result says instead of the password (model-visible English). */
|
|
9
|
+
export declare const INITIAL_PASSWORD_NOTE = "The kernel generated a one-time initial password. It is shown once, on the web, to the person who approved this call (the approval card in this conversation); it is not available to you, so never ask for it or make one up. If it is not read within 24 hours it is lost: disable the account and create it again. The account must change it at first sign-in.";
|
|
10
|
+
/**
|
|
11
|
+
* Account operations of the `Platform` tool (spec §14.2, admin console): the super admin lists,
|
|
12
|
+
* reads, creates, disables and enables accounts, only through their own private agent
|
|
13
|
+
* (`availability`). Creating takes no password: the kernel generates a one-time one, the account
|
|
14
|
+
* must change it at first sign-in, and only the approving person sees it, on the web (spec §14.5
|
|
15
|
+
* item 2); the result, the events, the audit and the logs never carry it. The super-admin flag
|
|
16
|
+
* stays a human-only change (a role change).
|
|
17
|
+
*/
|
|
18
|
+
export declare class AccountsOperations implements OnModuleInit {
|
|
19
|
+
private readonly registry;
|
|
20
|
+
private readonly accounts;
|
|
21
|
+
private readonly passwords;
|
|
22
|
+
private readonly sessions;
|
|
23
|
+
private readonly orgs;
|
|
24
|
+
private readonly log;
|
|
25
|
+
constructor(registry: PlatformOperations, accounts: AccountsService, passwords: InitialPasswords, sessions: SessionService, orgs: OrgsService, log: Logger);
|
|
26
|
+
private account;
|
|
27
|
+
/** Refuses a status change that cannot or need not run, before the card. */
|
|
28
|
+
private statusPrecheck;
|
|
29
|
+
private setStatus;
|
|
30
|
+
private statusSummary;
|
|
31
|
+
onModuleInit(): void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { AccountListQuery, AccountParams, CreateAccountBody } from "../../admin/admin.schemas.js";
|
|
13
|
+
import { ApiError } from "../../errors.js";
|
|
14
|
+
import { AccountsService } from "../../identity/accounts.js";
|
|
15
|
+
import { InitialPasswords } from "../../identity/initial-passwords.js";
|
|
16
|
+
import { SessionService } from "../../identity/sessions.js";
|
|
17
|
+
import { KERNEL_LOGGER } from "../../infra/tokens.js";
|
|
18
|
+
import { OrgsService } from "../../orgs/orgs.service.js";
|
|
19
|
+
import { defineOperation } from "../operation.js";
|
|
20
|
+
import { PlatformOperations } from "../registry.js";
|
|
21
|
+
import { precheckBy, viaAgent } from "./errors.js";
|
|
22
|
+
import { named } from "./summary.js";
|
|
23
|
+
const PAGE = 50;
|
|
24
|
+
const AccountId = AccountParams.shape.accountId.describe("The account id (accounts.list).");
|
|
25
|
+
/** What the tool result says instead of the password (model-visible English). */
|
|
26
|
+
export const INITIAL_PASSWORD_NOTE = "The kernel generated a one-time initial password. It is shown once, on the web, to the person who approved this call (the approval card in this conversation); it is not available to you, so never ask for it or make one up. If it is not read within 24 hours it is lost: disable the account and create it again. The account must change it at first sign-in.";
|
|
27
|
+
/** An account as a detail returns it (the admin console's account fields). */
|
|
28
|
+
const accountView = (a, login) => ({
|
|
29
|
+
id: a.id,
|
|
30
|
+
login,
|
|
31
|
+
displayName: a.displayName,
|
|
32
|
+
email: a.email,
|
|
33
|
+
status: a.status,
|
|
34
|
+
superAdmin: a.isSuperAdmin,
|
|
35
|
+
mustChangePassword: a.mustChangePassword,
|
|
36
|
+
createdAt: a.createdAt,
|
|
37
|
+
});
|
|
38
|
+
/** The account's name as a card summary quotes it: display name and login. */
|
|
39
|
+
const quoted = (a, login) => login ? `${named(a.displayName)} (${named(login)})` : named(a.displayName);
|
|
40
|
+
/**
|
|
41
|
+
* Account operations of the `Platform` tool (spec §14.2, admin console): the super admin lists,
|
|
42
|
+
* reads, creates, disables and enables accounts, only through their own private agent
|
|
43
|
+
* (`availability`). Creating takes no password: the kernel generates a one-time one, the account
|
|
44
|
+
* must change it at first sign-in, and only the approving person sees it, on the web (spec §14.5
|
|
45
|
+
* item 2); the result, the events, the audit and the logs never carry it. The super-admin flag
|
|
46
|
+
* stays a human-only change (a role change).
|
|
47
|
+
*/
|
|
48
|
+
let AccountsOperations = class AccountsOperations {
|
|
49
|
+
registry;
|
|
50
|
+
accounts;
|
|
51
|
+
passwords;
|
|
52
|
+
sessions;
|
|
53
|
+
orgs;
|
|
54
|
+
log;
|
|
55
|
+
constructor(registry, accounts, passwords, sessions, orgs, log) {
|
|
56
|
+
this.registry = registry;
|
|
57
|
+
this.accounts = accounts;
|
|
58
|
+
this.passwords = passwords;
|
|
59
|
+
this.sessions = sessions;
|
|
60
|
+
this.orgs = orgs;
|
|
61
|
+
this.log = log;
|
|
62
|
+
}
|
|
63
|
+
async account(id) {
|
|
64
|
+
const a = await this.accounts.get(id);
|
|
65
|
+
if (!a)
|
|
66
|
+
throw new ApiError("account.not_found", "Account not found");
|
|
67
|
+
return a;
|
|
68
|
+
}
|
|
69
|
+
/** Refuses a status change that cannot or need not run, before the card. */
|
|
70
|
+
async statusPrecheck(accountId, status, ctx) {
|
|
71
|
+
const r = await precheckBy(() => this.account(accountId));
|
|
72
|
+
if (!r.ok)
|
|
73
|
+
return r;
|
|
74
|
+
const a = await this.account(accountId);
|
|
75
|
+
if (a.status === status) {
|
|
76
|
+
return {
|
|
77
|
+
ok: false,
|
|
78
|
+
code: "account.no_change",
|
|
79
|
+
message: `The account is ${status} already`,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (status === "disabled" && accountId === ctx.actorAccountId) {
|
|
83
|
+
return {
|
|
84
|
+
ok: false,
|
|
85
|
+
code: "account.self",
|
|
86
|
+
message: "You cannot disable your own account through your agent",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (status === "disabled" &&
|
|
90
|
+
a.isSuperAdmin &&
|
|
91
|
+
a.status === "active" &&
|
|
92
|
+
(await this.accounts.countSuperAdmins()) <= 1) {
|
|
93
|
+
return {
|
|
94
|
+
ok: false,
|
|
95
|
+
code: "account.last_super_admin",
|
|
96
|
+
message: "This is the last active super admin",
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return { ok: true };
|
|
100
|
+
}
|
|
101
|
+
async setStatus(operation, accountId, status, ctx) {
|
|
102
|
+
const { account, revokedSessionIds } = await this.accounts.updateAccount(accountId, { status }, ctx.actorAccountId, undefined, { auditDetail: viaAgent(operation, ctx) });
|
|
103
|
+
try {
|
|
104
|
+
await this.sessions.markRevoked(revokedSessionIds);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
// the Redis markers are only the fast path: auth reads PG revoked_at on every request
|
|
108
|
+
this.log.warn("failed to write session revocation markers after account deactivation", {
|
|
109
|
+
accountId,
|
|
110
|
+
err,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const login = (await this.accounts.localLogins([account.id])).get(account.id) ?? null;
|
|
114
|
+
return { account: accountView(account, login) };
|
|
115
|
+
}
|
|
116
|
+
async statusSummary(accountId, zh, en) {
|
|
117
|
+
const a = await this.accounts.get(accountId);
|
|
118
|
+
if (!a)
|
|
119
|
+
return { zh: `${zh}账号 ${accountId}`, en: `${en} account ${accountId}` };
|
|
120
|
+
const login = (await this.accounts.localLogins([a.id])).get(a.id);
|
|
121
|
+
return { zh: `${zh}账号「${quoted(a, login)}」`, en: `${en} account "${quoted(a, login)}"` };
|
|
122
|
+
}
|
|
123
|
+
onModuleInit() {
|
|
124
|
+
this.registry.register([
|
|
125
|
+
defineOperation({
|
|
126
|
+
id: "accounts.list",
|
|
127
|
+
description: "List the platform's accounts (super admin), one compact row each: id, display name, state (active or disabled), login, email and whether it is a super admin. Ordered by id; pages by 50: pass the returned next as params.after. Details come from accounts.get.",
|
|
128
|
+
input: z
|
|
129
|
+
.object({ after: AccountListQuery.shape.after.unwrap().max(100).optional() })
|
|
130
|
+
.strict(),
|
|
131
|
+
example: {},
|
|
132
|
+
authz: { superAdmin: true },
|
|
133
|
+
mirrors: ["GET /api/v1/admin/accounts"],
|
|
134
|
+
// the page size is fixed at 50 (compact rows)
|
|
135
|
+
omits: ["limit"],
|
|
136
|
+
confirm: "read",
|
|
137
|
+
run: async (input) => {
|
|
138
|
+
const rows = await this.accounts.list({
|
|
139
|
+
limit: PAGE + 1,
|
|
140
|
+
...(input.after !== undefined && { after: input.after }),
|
|
141
|
+
});
|
|
142
|
+
const page = rows.slice(0, PAGE);
|
|
143
|
+
const logins = await this.accounts.localLogins(page.map((a) => a.id));
|
|
144
|
+
return {
|
|
145
|
+
items: page.map((a) => ({
|
|
146
|
+
id: a.id,
|
|
147
|
+
name: a.displayName,
|
|
148
|
+
state: a.status,
|
|
149
|
+
login: logins.get(a.id) ?? null,
|
|
150
|
+
email: a.email,
|
|
151
|
+
superAdmin: a.isSuperAdmin,
|
|
152
|
+
})),
|
|
153
|
+
next: rows.length > PAGE ? (page.at(-1)?.id ?? null) : null,
|
|
154
|
+
};
|
|
155
|
+
},
|
|
156
|
+
}),
|
|
157
|
+
defineOperation({
|
|
158
|
+
id: "accounts.get",
|
|
159
|
+
description: "Read one account (super admin): login, display name, email, state, whether it is a super admin, whether it still has to change a generated initial password, when it was created, and the orgs it belongs to with its role in each.",
|
|
160
|
+
input: z.object({ accountId: AccountId }).strict(),
|
|
161
|
+
example: { accountId: "00000000-0000-4000-8000-000000000000" },
|
|
162
|
+
authz: { superAdmin: true },
|
|
163
|
+
mirrors: [],
|
|
164
|
+
confirm: "read",
|
|
165
|
+
errors: [
|
|
166
|
+
{
|
|
167
|
+
code: "account.not_found",
|
|
168
|
+
next: "Look the account up with accounts.list and pass its id.",
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
run: async (input) => {
|
|
172
|
+
const a = await this.account(input.accountId);
|
|
173
|
+
const [logins, orgs] = await Promise.all([
|
|
174
|
+
this.accounts.localLogins([a.id]),
|
|
175
|
+
this.orgs.listForAccount(a.id),
|
|
176
|
+
]);
|
|
177
|
+
return {
|
|
178
|
+
account: accountView(a, logins.get(a.id) ?? null),
|
|
179
|
+
orgs: orgs.map((o) => ({ id: o.id, name: o.name, slug: o.slug, role: o.role })),
|
|
180
|
+
};
|
|
181
|
+
},
|
|
182
|
+
}),
|
|
183
|
+
defineOperation({
|
|
184
|
+
id: "accounts.create",
|
|
185
|
+
description: "Create a local sign-in account (super admin): a login (3-64 characters: letters, digits, . _ @ + -), a display name and an optional email. You pass no password: the kernel generates a one-time initial password, shows it once to the person who approves this call, on the web (the approval card); it is lost if not read within 24 hours (then disable the account and create it again). The account must change it at first sign-in. The account is never a super admin; that and org memberships are set by a person on the web (add it to an org with an invitation).",
|
|
186
|
+
input: CreateAccountBody.pick({ login: true, displayName: true, email: true }).strict(),
|
|
187
|
+
example: { login: "alice", displayName: "Alice Chen", email: "alice@example.com" },
|
|
188
|
+
authz: { superAdmin: true },
|
|
189
|
+
mirrors: ["POST /api/v1/admin/accounts"],
|
|
190
|
+
// the password is generated by the kernel; the super-admin flag is a role change (human-only)
|
|
191
|
+
omits: ["password", "superAdmin"],
|
|
192
|
+
confirm: "platform",
|
|
193
|
+
errors: [
|
|
194
|
+
{
|
|
195
|
+
code: "account.login_taken",
|
|
196
|
+
next: "Choose another login, or use the existing account (accounts.list).",
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
code: "account.create_needs_approval",
|
|
200
|
+
next: "Call it from a conversation with your private agent, where you approve the call yourself, or create the account on the web (admin console, Accounts).",
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
code: "validation_failed",
|
|
204
|
+
next: "Fix the login, display name or email as the message says, then call again.",
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
precheck: (i) => precheckBy(() => this.accounts.assertLoginFree(i.login)),
|
|
208
|
+
summary: (i) => ({
|
|
209
|
+
zh: `新建账号「${quoted(i, i.login)}」,初始密码由平台生成,批准后仅向你显示一次`,
|
|
210
|
+
en: `Create account "${quoted(i, i.login)}"; the platform generates the initial password and shows it once to you after approval`,
|
|
211
|
+
}),
|
|
212
|
+
run: async (input, ctx) => {
|
|
213
|
+
if (ctx.callId === undefined || ctx.runId === null) {
|
|
214
|
+
// the password reaches the approver through the approved call; without one it could
|
|
215
|
+
// never be shown, so nothing is created
|
|
216
|
+
throw new ApiError("account.create_needs_approval", "accounts.create runs only as a Platform call you approve in a conversation");
|
|
217
|
+
}
|
|
218
|
+
const account = await this.passwords.createAccount({
|
|
219
|
+
login: input.login,
|
|
220
|
+
displayName: input.displayName,
|
|
221
|
+
...(input.email !== undefined && { email: input.email }),
|
|
222
|
+
}, ctx.actorAccountId, {
|
|
223
|
+
conversationId: ctx.conversationId,
|
|
224
|
+
runId: ctx.runId,
|
|
225
|
+
callId: ctx.callId,
|
|
226
|
+
recipientAccountId: ctx.actorAccountId,
|
|
227
|
+
}, viaAgent("accounts.create", ctx));
|
|
228
|
+
const login = (await this.accounts.localLogins([account.id])).get(account.id) ?? null;
|
|
229
|
+
return { account: accountView(account, login), initialPassword: INITIAL_PASSWORD_NOTE };
|
|
230
|
+
},
|
|
231
|
+
}),
|
|
232
|
+
defineOperation({
|
|
233
|
+
id: "accounts.disable",
|
|
234
|
+
description: "Disable an account (super admin): it can no longer sign in, and its sessions and personal access tokens are revoked at once (enabling it again does not bring them back). You cannot disable your own account or the last active super admin.",
|
|
235
|
+
input: z.object({ accountId: AccountId }).strict(),
|
|
236
|
+
example: { accountId: "00000000-0000-4000-8000-000000000000" },
|
|
237
|
+
authz: { superAdmin: true },
|
|
238
|
+
mirrors: ["PATCH /api/v1/admin/accounts/:accountId"],
|
|
239
|
+
// only the status, set by the operation; the display name and the super-admin flag (a role
|
|
240
|
+
// change, human-only) are changed on the web
|
|
241
|
+
omits: ["displayName", "status", "isSuperAdmin"],
|
|
242
|
+
confirm: "platform",
|
|
243
|
+
errors: [
|
|
244
|
+
{
|
|
245
|
+
code: "account.not_found",
|
|
246
|
+
next: "Look the account up with accounts.list and pass its id.",
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
code: "account.last_super_admin",
|
|
250
|
+
next: "Make another account a super admin on the web first (admin console, Accounts).",
|
|
251
|
+
},
|
|
252
|
+
{ code: "account.self", next: "Ask another super admin to do it on the web." },
|
|
253
|
+
{ code: "account.no_change", next: "Nothing to do: the account is disabled already." },
|
|
254
|
+
],
|
|
255
|
+
precheck: (i, ctx) => this.statusPrecheck(i.accountId, "disabled", ctx),
|
|
256
|
+
summary: (i) => this.statusSummary(i.accountId, "停用", "Disable"),
|
|
257
|
+
run: (input, ctx) => this.setStatus("accounts.disable", input.accountId, "disabled", ctx),
|
|
258
|
+
}),
|
|
259
|
+
defineOperation({
|
|
260
|
+
id: "accounts.enable",
|
|
261
|
+
description: "Enable a disabled account again (super admin): it can sign in again with its password; its earlier sessions and tokens stay revoked.",
|
|
262
|
+
input: z.object({ accountId: AccountId }).strict(),
|
|
263
|
+
example: { accountId: "00000000-0000-4000-8000-000000000000" },
|
|
264
|
+
authz: { superAdmin: true },
|
|
265
|
+
mirrors: ["PATCH /api/v1/admin/accounts/:accountId"],
|
|
266
|
+
omits: ["displayName", "status", "isSuperAdmin"],
|
|
267
|
+
confirm: "platform",
|
|
268
|
+
errors: [
|
|
269
|
+
{
|
|
270
|
+
code: "account.not_found",
|
|
271
|
+
next: "Look the account up with accounts.list and pass its id.",
|
|
272
|
+
},
|
|
273
|
+
{ code: "account.no_change", next: "Nothing to do: the account is active already." },
|
|
274
|
+
],
|
|
275
|
+
precheck: (i, ctx) => this.statusPrecheck(i.accountId, "active", ctx),
|
|
276
|
+
summary: (i) => this.statusSummary(i.accountId, "启用", "Enable"),
|
|
277
|
+
run: (input, ctx) => this.setStatus("accounts.enable", input.accountId, "active", ctx),
|
|
278
|
+
}),
|
|
279
|
+
]);
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
AccountsOperations = __decorate([
|
|
283
|
+
Injectable(),
|
|
284
|
+
__param(0, Inject(PlatformOperations)),
|
|
285
|
+
__param(1, Inject(AccountsService)),
|
|
286
|
+
__param(2, Inject(InitialPasswords)),
|
|
287
|
+
__param(3, Inject(SessionService)),
|
|
288
|
+
__param(4, Inject(OrgsService)),
|
|
289
|
+
__param(5, Inject(KERNEL_LOGGER))
|
|
290
|
+
], AccountsOperations);
|
|
291
|
+
export { AccountsOperations };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type OnModuleInit } from "@nestjs/common";
|
|
2
|
+
import { CatalogRequestsService } from "../../catalog/requests.service.js";
|
|
3
|
+
import { ExtensionAdmin } from "../../extensions/admin-view.js";
|
|
4
|
+
import { ExtensionDisplayNames } from "../../extensions/display-name.js";
|
|
5
|
+
import { ExtensionRegistry } from "../../extensions/registry.js";
|
|
6
|
+
import { AccountsService } from "../../identity/accounts.js";
|
|
7
|
+
import { SettingsService } from "../../identity/settings.js";
|
|
8
|
+
import { ModelEnablement } from "../../models/enablement.js";
|
|
9
|
+
import { PricesService } from "../../models/prices.js";
|
|
10
|
+
import { ModelPurposesService } from "../../models/purposes.js";
|
|
11
|
+
import { OrgsService } from "../../orgs/orgs.service.js";
|
|
12
|
+
import { ProviderRegistry } from "../../runtime/providers.js";
|
|
13
|
+
import { PlatformOperations } from "../registry.js";
|
|
14
|
+
/**
|
|
15
|
+
* Admin console operations of the `Platform` tool (spec §14.2): the dashboard totals, the
|
|
16
|
+
* deployment settings, and the platform's models (the model catalog with the platform's disabled
|
|
17
|
+
* list, the price table, the default model per purpose). Super admin only, through their own
|
|
18
|
+
* private agent. The per-org overrides of models and purposes are the org's own pages.
|
|
19
|
+
*/
|
|
20
|
+
export declare class AdminOperations implements OnModuleInit {
|
|
21
|
+
private readonly registry;
|
|
22
|
+
private readonly extensions;
|
|
23
|
+
private readonly orgs;
|
|
24
|
+
private readonly accounts;
|
|
25
|
+
private readonly catalogRequests;
|
|
26
|
+
private readonly settings;
|
|
27
|
+
private readonly providers;
|
|
28
|
+
private readonly displayNames;
|
|
29
|
+
private readonly extensionRegistry;
|
|
30
|
+
private readonly enablement;
|
|
31
|
+
private readonly prices;
|
|
32
|
+
private readonly purposes;
|
|
33
|
+
constructor(registry: PlatformOperations, extensions: ExtensionAdmin, orgs: OrgsService, accounts: AccountsService, catalogRequests: CatalogRequestsService, settings: SettingsService, providers: ProviderRegistry, displayNames: ExtensionDisplayNames, extensionRegistry: ExtensionRegistry, enablement: ModelEnablement, prices: PricesService, purposes: ModelPurposesService);
|
|
34
|
+
private assertProvider;
|
|
35
|
+
onModuleInit(): void;
|
|
36
|
+
}
|