@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.21
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 +94 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- 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 +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- 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 +876 -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 +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -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 +109 -0
- package/dist/background/tasks.service.js +271 -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 +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -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 +30 -0
- package/dist/catalog/job-ids.js +25 -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 +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- 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 +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -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 +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +85 -10
- package/dist/extensions/bootstrap.js +215 -36
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- 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 +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -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 +1 -1
- package/dist/extensions/registry.js +2 -0
- 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 +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- 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 +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- 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 +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -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/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +9 -3
- package/dist/lifecycle/kernel-lifecycle.js +51 -11
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -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 +5 -1
- package/dist/models/models.module.js +16 -4
- 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 +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -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 +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -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 +774 -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 +102 -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-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -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 +730 -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 +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.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 +381 -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 +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -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 +43 -0
- package/dist/platform/platform-ops.module.js +142 -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 +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +21 -1
- 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/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-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/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- 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 +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.js +2 -1
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- 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 +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- 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 +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -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 +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- 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 +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- 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 +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- 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 +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- 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 +29 -19
- 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 +51 -44
- 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 +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- 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/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- 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 +61 -4
- package/dist/tools/info.js +119 -33
- 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 +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
package/dist/identity/cookies.js
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
/** access token Cookie:随所有请求发送。 */
|
|
2
2
|
export const ACCESS_COOKIE = "cap_at";
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The refresh-token cookie: SameSite=Lax so a top-level navigation from another site (an IM card
|
|
5
|
+
* link, an email, an OAuth return) carries it and the web tier can renew the session. The refresh
|
|
6
|
+
* endpoint is POST-only and requires `X-Capybara-Csrf`, and Lax cookies are not sent on cross-site
|
|
7
|
+
* POSTs, so this does not widen CSRF exposure.
|
|
8
|
+
*/
|
|
4
9
|
export const REFRESH_COOKIE = "cap_rt";
|
|
5
|
-
/** refresh Cookie 的 Path。 */
|
|
6
|
-
export const REFRESH_COOKIE_PATH = "/api/v1/auth";
|
|
7
10
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
11
|
+
* Path of the refresh Cookie: `/`, so the web tier sees it on page requests and can renew the
|
|
12
|
+
* session while rendering on the server.
|
|
13
|
+
*/
|
|
14
|
+
export const REFRESH_COOKIE_PATH = "/";
|
|
15
|
+
/** The Path earlier releases set `cap_rt` on; browsers may still hold it, so it is cleared too. */
|
|
16
|
+
export const LEGACY_REFRESH_COOKIE_PATH = "/api/v1/auth";
|
|
17
|
+
/**
|
|
18
|
+
* Writes the session cookies. Both are HttpOnly, host-only (no Domain), SameSite=Lax and Path=/;
|
|
19
|
+
* the `cap_rt` on the legacy Path is cleared at the same time.
|
|
10
20
|
*/
|
|
11
21
|
export function setSessionCookies(reply, s, cfg) {
|
|
12
22
|
const secure = cfg.auth.cookieSecure;
|
|
@@ -20,13 +30,55 @@ export function setSessionCookies(reply, s, cfg) {
|
|
|
20
30
|
reply.setCookie(REFRESH_COOKIE, s.refreshToken, {
|
|
21
31
|
path: REFRESH_COOKIE_PATH,
|
|
22
32
|
httpOnly: true,
|
|
23
|
-
sameSite: "
|
|
33
|
+
sameSite: "lax",
|
|
24
34
|
secure,
|
|
25
35
|
maxAge: cfg.auth.refreshTokenTtlDays * 86400,
|
|
26
36
|
});
|
|
37
|
+
reply.clearCookie(REFRESH_COOKIE, { path: LEGACY_REFRESH_COOKIE_PATH });
|
|
27
38
|
}
|
|
28
39
|
/** 清除会话 Cookie(Path 必须与设置时一致才能覆盖)。 */
|
|
29
40
|
export function clearSessionCookies(reply) {
|
|
30
41
|
reply.clearCookie(ACCESS_COOKIE, { path: "/" });
|
|
31
42
|
reply.clearCookie(REFRESH_COOKIE, { path: REFRESH_COOKIE_PATH });
|
|
43
|
+
reply.clearCookie(REFRESH_COOKIE, { path: LEGACY_REFRESH_COOKIE_PATH });
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Every `cap_rt` value of a raw `cookie` header, in header order. A browser holding the legacy
|
|
47
|
+
* Path cookie and the new one sends both, the more specific Path first.
|
|
48
|
+
*/
|
|
49
|
+
export function refreshCookieValues(header) {
|
|
50
|
+
if (!header)
|
|
51
|
+
return [];
|
|
52
|
+
const out = [];
|
|
53
|
+
for (const part of header.split(";")) {
|
|
54
|
+
const eq = part.indexOf("=");
|
|
55
|
+
if (eq < 0 || part.slice(0, eq).trim() !== REFRESH_COOKIE)
|
|
56
|
+
continue;
|
|
57
|
+
let v = part.slice(eq + 1).trim();
|
|
58
|
+
if (v.startsWith('"') && v.endsWith('"') && v.length >= 2)
|
|
59
|
+
v = v.slice(1, -1);
|
|
60
|
+
try {
|
|
61
|
+
v = decodeURIComponent(v);
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// keep the raw value
|
|
65
|
+
}
|
|
66
|
+
if (v)
|
|
67
|
+
out.push(v);
|
|
68
|
+
}
|
|
69
|
+
return out;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The startup warning for an http trial that cannot sign in: session cookies are Secure but the
|
|
73
|
+
* configured public URL is plain http, so browsers drop them. Null when cookies are not Secure,
|
|
74
|
+
* or the public URL is https or unset (an unset URL says nothing about how people reach the app).
|
|
75
|
+
*/
|
|
76
|
+
export function insecurePublicUrlWarning(cfg) {
|
|
77
|
+
const url = cfg.http.publicUrl;
|
|
78
|
+
if (!cfg.auth.cookieSecure || url === undefined || !url.startsWith("http://"))
|
|
79
|
+
return null;
|
|
80
|
+
const host = new URL(url).hostname;
|
|
81
|
+
if (host === "localhost" || host.endsWith(".localhost") || host === "127.0.0.1")
|
|
82
|
+
return null;
|
|
83
|
+
return `http.publicUrl is ${url} (plain http) while auth.cookieSecure is true: browsers drop the Secure session cookies, so sign-in will not stick. Serve the app over HTTPS, or for a short http trial set auth.cookieSecure=false (CAPYBARA_AUTH__COOKIE_SECURE=false; CAPYBARA_COOKIE_SECURE=false in the compose .env)`;
|
|
32
84
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Identity: accounts, sessions, API tokens, deployment settings and the
|
|
2
|
+
* Identity: accounts, sessions, API tokens, deployment settings and the super admin lock,
|
|
3
3
|
* external identities with IM binding and third-party sign-in.
|
|
4
4
|
*/
|
|
5
5
|
export declare class IdentityModule {
|
|
@@ -11,14 +11,15 @@ import { OrgLockModule } from "../orgs/org-lock.js";
|
|
|
11
11
|
import { AccountsModule } from "./accounts.js";
|
|
12
12
|
import { ApiTokenService } from "./api-tokens.js";
|
|
13
13
|
import { IdentityBinding } from "./binding.js";
|
|
14
|
-
import { EnterpriseAdminLockModule } from "./enterprise-admin.js";
|
|
15
14
|
import { ExternalIdentities } from "./external.js";
|
|
16
15
|
import { ExternalIdentityLock } from "./external-identity-lock.js";
|
|
16
|
+
import { InitialPasswords } from "./initial-passwords.js";
|
|
17
17
|
import { SessionService } from "./sessions.js";
|
|
18
18
|
import { SettingsService } from "./settings.js";
|
|
19
19
|
import { SsoFlow } from "./sso.js";
|
|
20
|
+
import { SuperAdminLockModule } from "./super-admin.js";
|
|
20
21
|
/**
|
|
21
|
-
* Identity: accounts, sessions, API tokens, deployment settings and the
|
|
22
|
+
* Identity: accounts, sessions, API tokens, deployment settings and the super admin lock,
|
|
22
23
|
* external identities with IM binding and third-party sign-in.
|
|
23
24
|
*/
|
|
24
25
|
let IdentityModule = class IdentityModule {
|
|
@@ -29,7 +30,7 @@ IdentityModule = __decorate([
|
|
|
29
30
|
AccountsModule,
|
|
30
31
|
OrgLockModule,
|
|
31
32
|
SetupLockModule,
|
|
32
|
-
|
|
33
|
+
SuperAdminLockModule,
|
|
33
34
|
ExtensionRegistryModule,
|
|
34
35
|
],
|
|
35
36
|
providers: [
|
|
@@ -40,16 +41,18 @@ IdentityModule = __decorate([
|
|
|
40
41
|
ExternalIdentities,
|
|
41
42
|
IdentityBinding,
|
|
42
43
|
SsoFlow,
|
|
44
|
+
InitialPasswords,
|
|
43
45
|
],
|
|
44
46
|
exports: [
|
|
45
47
|
AccountsModule,
|
|
46
48
|
SessionService,
|
|
47
49
|
ApiTokenService,
|
|
48
50
|
SettingsService,
|
|
49
|
-
|
|
51
|
+
SuperAdminLockModule,
|
|
50
52
|
ExternalIdentities,
|
|
51
53
|
IdentityBinding,
|
|
52
54
|
SsoFlow,
|
|
55
|
+
InitialPasswords,
|
|
53
56
|
],
|
|
54
57
|
})
|
|
55
58
|
], IdentityModule);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type OrgContext } from "../orgs/org.guard.js";
|
|
3
|
+
import { InitialPasswords } from "./initial-passwords.js";
|
|
4
|
+
import { type Principal } from "./principal.js";
|
|
5
|
+
declare const ApprovalParams: z.ZodObject<{
|
|
6
|
+
approvalId: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
/**
|
|
9
|
+
* The generated initial password of an account the super admin's agent created (Platform tool
|
|
10
|
+
* spec §14.5 item 2): shown once, on the web, to the person who approved the `accounts.create`
|
|
11
|
+
* call. A POST because reading consumes it.
|
|
12
|
+
*/
|
|
13
|
+
export declare class InitialPasswordsController {
|
|
14
|
+
private readonly passwords;
|
|
15
|
+
constructor(passwords: InitialPasswords);
|
|
16
|
+
reveal(principal: Principal, org: OrgContext, params: z.infer<typeof ApprovalParams>): Promise<{
|
|
17
|
+
accountId: string;
|
|
18
|
+
login: string | null;
|
|
19
|
+
password: string;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
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 { Controller, HttpCode, Inject, Post } from "@nestjs/common";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
13
|
+
import { ZParam } from "../infra/validation/zod-params.js";
|
|
14
|
+
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
15
|
+
import { InitialPasswords } from "./initial-passwords.js";
|
|
16
|
+
import { CurrentPrincipal, requireUser, SessionOnly, SuperAdmin, } from "./principal.js";
|
|
17
|
+
const ApprovalParams = z.object({ approvalId: z.string().min(1).max(100) });
|
|
18
|
+
class ApprovalParamsDto extends createZodDto(ApprovalParams, "InitialPasswordParams") {
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The generated initial password of an account the super admin's agent created (Platform tool
|
|
22
|
+
* spec §14.5 item 2): shown once, on the web, to the person who approved the `accounts.create`
|
|
23
|
+
* call. A POST because reading consumes it.
|
|
24
|
+
*/
|
|
25
|
+
let InitialPasswordsController = class InitialPasswordsController {
|
|
26
|
+
passwords;
|
|
27
|
+
constructor(passwords) {
|
|
28
|
+
this.passwords = passwords;
|
|
29
|
+
}
|
|
30
|
+
async reveal(principal, org, params) {
|
|
31
|
+
const p = requireUser(principal);
|
|
32
|
+
return this.passwords.reveal(org.orgId, params.approvalId, p.account.id);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
__decorate([
|
|
36
|
+
Post(),
|
|
37
|
+
HttpCode(200),
|
|
38
|
+
OrgAction("org.read"),
|
|
39
|
+
SuperAdmin(),
|
|
40
|
+
SessionOnly(),
|
|
41
|
+
__param(0, CurrentPrincipal()),
|
|
42
|
+
__param(1, CurrentOrg()),
|
|
43
|
+
__param(2, ZParam(ApprovalParamsDto))
|
|
44
|
+
], InitialPasswordsController.prototype, "reveal", null);
|
|
45
|
+
InitialPasswordsController = __decorate([
|
|
46
|
+
Controller("api/v1/orgs/:orgId/approvals/:approvalId/initial-password"),
|
|
47
|
+
__param(0, Inject(InitialPasswords))
|
|
48
|
+
], InitialPasswordsController);
|
|
49
|
+
export { InitialPasswordsController };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Keyring } from "../ctx/secrets.js";
|
|
2
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
3
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
4
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
5
|
+
import { type Account, AccountsService } from "./accounts.js";
|
|
6
|
+
/**
|
|
7
|
+
* How long a generated password waits for its reader. The approving person reads it right after
|
|
8
|
+
* the call runs; one that is never read expires (the account can still be disabled and recreated).
|
|
9
|
+
*/
|
|
10
|
+
export declare const INITIAL_PASSWORD_TTL_MS: number;
|
|
11
|
+
/** The tool key of the approval a generated password belongs to. */
|
|
12
|
+
export declare const CREATE_ACCOUNT_TOOL_KEY = "Platform:accounts.create";
|
|
13
|
+
/** A one-time initial password, cryptographically random. */
|
|
14
|
+
export declare function generateInitialPassword(): string;
|
|
15
|
+
/** Where a generated password is delivered: the approved tool call and the person who approved. */
|
|
16
|
+
export interface InitialPasswordDelivery {
|
|
17
|
+
conversationId: string;
|
|
18
|
+
/** The run of the call: a call id is unique only within its run. */
|
|
19
|
+
runId: string;
|
|
20
|
+
callId: string;
|
|
21
|
+
/** The account that may read it: the actor who confirmed the call. */
|
|
22
|
+
recipientAccountId: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Accounts created with a kernel-generated one-time password (Platform tool spec §14.5 item 2).
|
|
26
|
+
* The password never leaves the kernel except through {@link reveal}: it is not returned to the
|
|
27
|
+
* caller, not written to the audit, the event log or the logs. It is sealed with the master keyring
|
|
28
|
+
* in the creation's transaction and read once, on the web, by the person who approved the call.
|
|
29
|
+
*/
|
|
30
|
+
export declare class InitialPasswords {
|
|
31
|
+
private readonly db;
|
|
32
|
+
readonly txHost: TransactionHost;
|
|
33
|
+
private readonly keyring;
|
|
34
|
+
private readonly accounts;
|
|
35
|
+
constructor(db: KernelDb, txHost: TransactionHost, keyring: Keyring, accounts: AccountsService);
|
|
36
|
+
/**
|
|
37
|
+
* Creates a local account (never a super admin) with a generated password it must change at
|
|
38
|
+
* first sign-in, and seals the password for `to`. Returns the account only.
|
|
39
|
+
*/
|
|
40
|
+
createAccount(input: {
|
|
41
|
+
login: string;
|
|
42
|
+
displayName: string;
|
|
43
|
+
email?: string;
|
|
44
|
+
}, actorAccountId: string, to: InitialPasswordDelivery, auditDetail?: Record<string, unknown>): Promise<Account>;
|
|
45
|
+
/** Stores the sealed password in the creation's transaction (the hourly job drops expired ones). */
|
|
46
|
+
private seal;
|
|
47
|
+
/**
|
|
48
|
+
* The password created by an approved `accounts.create` call, read once by the person who
|
|
49
|
+
* approved it (`approvalId` in `orgId`, decided by `accountId`), then deleted. Anything else (not
|
|
50
|
+
* that person, not approved, not run yet, read already, expired) is
|
|
51
|
+
* `account.initial_password_unavailable`, saying nothing about which. Audits the read (without
|
|
52
|
+
* the password).
|
|
53
|
+
*/
|
|
54
|
+
reveal(orgId: string, approvalId: string, accountId: string): Promise<{
|
|
55
|
+
accountId: string;
|
|
56
|
+
login: string | null;
|
|
57
|
+
password: string;
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
60
|
+
/** Deletes the sealed passwords past `expires_at`; returns how many. */
|
|
61
|
+
export declare function deleteExpiredInitialPasswords(db: KernelSchemaDb): Promise<number>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
2
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
3
|
+
import type { KernelLogger } from "../log.js";
|
|
4
|
+
/** The hourly cleanup of expired sealed initial passwords (`@LockedCron`). */
|
|
5
|
+
export declare const INITIAL_PASSWORD_CLEANUP_JOB = "initial-password-cleanup";
|
|
6
|
+
/**
|
|
7
|
+
* Deletes generated initial passwords nobody read before they expired (Platform tool spec §14.5
|
|
8
|
+
* item 2), once per tick across replicas; the worker role's.
|
|
9
|
+
*/
|
|
10
|
+
export declare class InitialPasswordCleanupJob {
|
|
11
|
+
private readonly db;
|
|
12
|
+
readonly lockService: LockService;
|
|
13
|
+
readonly log: KernelLogger;
|
|
14
|
+
constructor(db: KernelDb, lockService: LockService, log: KernelLogger);
|
|
15
|
+
cleanup(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
11
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
12
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
13
|
+
import { LockedCron } from "../infra/schedule/locked-cron.decorator.js";
|
|
14
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
15
|
+
import { deleteExpiredInitialPasswords } from "./initial-passwords.js";
|
|
16
|
+
/** The hourly cleanup of expired sealed initial passwords (`@LockedCron`). */
|
|
17
|
+
export const INITIAL_PASSWORD_CLEANUP_JOB = "initial-password-cleanup";
|
|
18
|
+
/**
|
|
19
|
+
* Deletes generated initial passwords nobody read before they expired (Platform tool spec §14.5
|
|
20
|
+
* item 2), once per tick across replicas; the worker role's.
|
|
21
|
+
*/
|
|
22
|
+
let InitialPasswordCleanupJob = class InitialPasswordCleanupJob {
|
|
23
|
+
db;
|
|
24
|
+
lockService;
|
|
25
|
+
log;
|
|
26
|
+
constructor(db, lockService, log) {
|
|
27
|
+
this.db = db;
|
|
28
|
+
this.lockService = lockService;
|
|
29
|
+
this.log = log;
|
|
30
|
+
}
|
|
31
|
+
async cleanup() {
|
|
32
|
+
const n = await deleteExpiredInitialPasswords(this.db.db);
|
|
33
|
+
if (n > 0)
|
|
34
|
+
this.log.info("expired initial passwords deleted", { count: n });
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
__decorate([
|
|
38
|
+
LockedCron("20 * * * *", { name: INITIAL_PASSWORD_CLEANUP_JOB })
|
|
39
|
+
], InitialPasswordCleanupJob.prototype, "cleanup", null);
|
|
40
|
+
InitialPasswordCleanupJob = __decorate([
|
|
41
|
+
Injectable(),
|
|
42
|
+
__param(0, Inject(KernelDb)),
|
|
43
|
+
__param(1, Inject(LockService)),
|
|
44
|
+
__param(2, Inject(KERNEL_LOGGER))
|
|
45
|
+
], InitialPasswordCleanupJob);
|
|
46
|
+
export { InitialPasswordCleanupJob };
|
|
@@ -0,0 +1,159 @@
|
|
|
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 { randomInt } from "node:crypto";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { sql } from "kysely";
|
|
13
|
+
import { ApiError } from "../errors.js";
|
|
14
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
15
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
16
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
17
|
+
import { KEYRING } from "../infra/tokens.js";
|
|
18
|
+
import { AccountsService } from "./accounts.js";
|
|
19
|
+
import { audit } from "./audit.js";
|
|
20
|
+
/** Letters and digits without the look-alikes (0 O 1 l I): read off a screen and typed by hand. */
|
|
21
|
+
const ALPHABET = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789";
|
|
22
|
+
/** 20 characters of 56: about 116 bits. */
|
|
23
|
+
const LENGTH = 20;
|
|
24
|
+
/**
|
|
25
|
+
* How long a generated password waits for its reader. The approving person reads it right after
|
|
26
|
+
* the call runs; one that is never read expires (the account can still be disabled and recreated).
|
|
27
|
+
*/
|
|
28
|
+
export const INITIAL_PASSWORD_TTL_MS = 24 * 60 * 60 * 1000;
|
|
29
|
+
/** The tool key of the approval a generated password belongs to. */
|
|
30
|
+
export const CREATE_ACCOUNT_TOOL_KEY = "Platform:accounts.create";
|
|
31
|
+
/** A one-time initial password, cryptographically random. */
|
|
32
|
+
export function generateInitialPassword() {
|
|
33
|
+
let out = "";
|
|
34
|
+
for (let i = 0; i < LENGTH; i++)
|
|
35
|
+
out += ALPHABET[randomInt(ALPHABET.length)];
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
/** The AAD binding a sealed password to its account (a row moved to another account fails). */
|
|
39
|
+
const aadOf = (accountId) => `capybara:initial-password:${accountId}`;
|
|
40
|
+
/**
|
|
41
|
+
* Accounts created with a kernel-generated one-time password (Platform tool spec §14.5 item 2).
|
|
42
|
+
* The password never leaves the kernel except through {@link reveal}: it is not returned to the
|
|
43
|
+
* caller, not written to the audit, the event log or the logs. It is sealed with the master keyring
|
|
44
|
+
* in the creation's transaction and read once, on the web, by the person who approved the call.
|
|
45
|
+
*/
|
|
46
|
+
let InitialPasswords = class InitialPasswords {
|
|
47
|
+
db;
|
|
48
|
+
txHost;
|
|
49
|
+
keyring;
|
|
50
|
+
accounts;
|
|
51
|
+
constructor(db, txHost, keyring, accounts) {
|
|
52
|
+
this.db = db;
|
|
53
|
+
this.txHost = txHost;
|
|
54
|
+
this.keyring = keyring;
|
|
55
|
+
this.accounts = accounts;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Creates a local account (never a super admin) with a generated password it must change at
|
|
59
|
+
* first sign-in, and seals the password for `to`. Returns the account only.
|
|
60
|
+
*/
|
|
61
|
+
async createAccount(input, actorAccountId, to, auditDetail) {
|
|
62
|
+
const password = generateInitialPassword();
|
|
63
|
+
return this.accounts.createByAdmin({ ...input, password, superAdmin: false, mustChangePassword: true }, actorAccountId, undefined, {
|
|
64
|
+
...(auditDetail !== undefined && { auditDetail }),
|
|
65
|
+
inTransaction: (account) => this.seal(account.id, password, to),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/** Stores the sealed password in the creation's transaction (the hourly job drops expired ones). */
|
|
69
|
+
async seal(accountId, password, to) {
|
|
70
|
+
const { data, masterKeyId } = this.keyring.wrap(Buffer.from(password, "utf8"), aadOf(accountId));
|
|
71
|
+
await this.db
|
|
72
|
+
.insertInto("account_initial_passwords")
|
|
73
|
+
.values({
|
|
74
|
+
account_id: accountId,
|
|
75
|
+
recipient_account_id: to.recipientAccountId,
|
|
76
|
+
conversation_id: to.conversationId,
|
|
77
|
+
run_id: to.runId,
|
|
78
|
+
call_id: to.callId,
|
|
79
|
+
master_key_id: masterKeyId,
|
|
80
|
+
ciphertext: data,
|
|
81
|
+
expires_at: new Date(Date.now() + INITIAL_PASSWORD_TTL_MS),
|
|
82
|
+
})
|
|
83
|
+
.execute();
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The password created by an approved `accounts.create` call, read once by the person who
|
|
87
|
+
* approved it (`approvalId` in `orgId`, decided by `accountId`), then deleted. Anything else (not
|
|
88
|
+
* that person, not approved, not run yet, read already, expired) is
|
|
89
|
+
* `account.initial_password_unavailable`, saying nothing about which. Audits the read (without
|
|
90
|
+
* the password).
|
|
91
|
+
*/
|
|
92
|
+
async reveal(orgId, approvalId, accountId) {
|
|
93
|
+
const unavailable = () => new ApiError("account.initial_password_unavailable", "No initial password to show: it was shown already, has expired, or the account was not created by a call you approved");
|
|
94
|
+
const approval = await this.db
|
|
95
|
+
.selectFrom("approvals")
|
|
96
|
+
.select(["conversation_id", "run_id", "call_id", "tool_key", "status", "decided_by"])
|
|
97
|
+
.where("id", "=", approvalId)
|
|
98
|
+
.where("org_id", "=", orgId)
|
|
99
|
+
.executeTakeFirst();
|
|
100
|
+
if (approval === undefined ||
|
|
101
|
+
approval.tool_key !== CREATE_ACCOUNT_TOOL_KEY ||
|
|
102
|
+
approval.status !== "approved" ||
|
|
103
|
+
approval.decided_by !== accountId) {
|
|
104
|
+
throw unavailable();
|
|
105
|
+
}
|
|
106
|
+
// exactly the row of this approval's call: locked, then deleted by its key
|
|
107
|
+
const found = await this.db
|
|
108
|
+
.selectFrom("account_initial_passwords")
|
|
109
|
+
.select("account_id")
|
|
110
|
+
.where("conversation_id", "=", approval.conversation_id)
|
|
111
|
+
.where("run_id", "=", approval.run_id)
|
|
112
|
+
.where("call_id", "=", approval.call_id)
|
|
113
|
+
.where("recipient_account_id", "=", accountId)
|
|
114
|
+
.where("expires_at", ">", sql `now()`)
|
|
115
|
+
.limit(1)
|
|
116
|
+
.forUpdate()
|
|
117
|
+
.executeTakeFirst();
|
|
118
|
+
if (found === undefined)
|
|
119
|
+
throw unavailable();
|
|
120
|
+
const row = await this.db
|
|
121
|
+
.deleteFrom("account_initial_passwords")
|
|
122
|
+
.where("account_id", "=", found.account_id)
|
|
123
|
+
.returning(["account_id", "master_key_id", "ciphertext"])
|
|
124
|
+
.executeTakeFirst();
|
|
125
|
+
if (row === undefined)
|
|
126
|
+
throw unavailable();
|
|
127
|
+
const password = this.keyring
|
|
128
|
+
.unwrap(row.master_key_id, row.ciphertext, aadOf(row.account_id))
|
|
129
|
+
.toString("utf8");
|
|
130
|
+
const login = (await this.accounts.localLogins([row.account_id])).get(row.account_id) ?? null;
|
|
131
|
+
await audit(this.db.db, {
|
|
132
|
+
actorAccountId: accountId,
|
|
133
|
+
orgId,
|
|
134
|
+
action: "account.initial_password_shown",
|
|
135
|
+
target: row.account_id,
|
|
136
|
+
detail: { approvalId },
|
|
137
|
+
});
|
|
138
|
+
return { accountId: row.account_id, login, password };
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
__decorate([
|
|
142
|
+
Transactional()
|
|
143
|
+
], InitialPasswords.prototype, "reveal", null);
|
|
144
|
+
InitialPasswords = __decorate([
|
|
145
|
+
Injectable(),
|
|
146
|
+
__param(0, Inject(KernelDb)),
|
|
147
|
+
__param(1, Inject(TransactionHost)),
|
|
148
|
+
__param(2, Inject(KEYRING)),
|
|
149
|
+
__param(3, Inject(AccountsService))
|
|
150
|
+
], InitialPasswords);
|
|
151
|
+
export { InitialPasswords };
|
|
152
|
+
/** Deletes the sealed passwords past `expires_at`; returns how many. */
|
|
153
|
+
export async function deleteExpiredInitialPasswords(db) {
|
|
154
|
+
const r = await db
|
|
155
|
+
.deleteFrom("account_initial_passwords")
|
|
156
|
+
.where("expires_at", "<=", sql `now()`)
|
|
157
|
+
.executeTakeFirst();
|
|
158
|
+
return Number(r.numDeletedRows);
|
|
159
|
+
}
|
|
@@ -6,8 +6,10 @@ import { OrgsService } from "../orgs/orgs.service.js";
|
|
|
6
6
|
import type { OrgRole } from "../orgs/roles.js";
|
|
7
7
|
import { type Account, AccountsService } from "./accounts.js";
|
|
8
8
|
import { type ApiTokenRecord, ApiTokenService } from "./api-tokens.js";
|
|
9
|
+
import { type Preferences, type PreferencesSchema } from "./me.schemas.js";
|
|
9
10
|
import { type Principal } from "./principal.js";
|
|
10
11
|
import { SessionService } from "./sessions.js";
|
|
12
|
+
import { SettingsService } from "./settings.js";
|
|
11
13
|
declare const ChangePasswordSchema: z.ZodObject<{
|
|
12
14
|
currentPassword: z.ZodString;
|
|
13
15
|
newPassword: z.ZodString;
|
|
@@ -33,13 +35,27 @@ export declare class MeController {
|
|
|
33
35
|
private readonly tokens;
|
|
34
36
|
private readonly throttler;
|
|
35
37
|
private readonly log;
|
|
36
|
-
|
|
38
|
+
private readonly settings;
|
|
39
|
+
constructor(accounts: AccountsService, sessions: SessionService, orgs: OrgsService, tokens: ApiTokenService, throttler: CredentialThrottler, log: Logger, settings: SettingsService);
|
|
37
40
|
me(principal: Principal): Promise<{
|
|
38
41
|
account: Account;
|
|
39
42
|
via: "session" | "pat";
|
|
40
43
|
currentOrgId: string | null;
|
|
41
44
|
memberships: MembershipView[];
|
|
45
|
+
/** Whether `POST /api/v1/orgs` would accept this account (the `orgCreation` setting). */
|
|
46
|
+
canCreateOrg: boolean;
|
|
42
47
|
}>;
|
|
48
|
+
/**
|
|
49
|
+
* The person's preferences: `timeZone` null = follow the browser's time zone sent with each
|
|
50
|
+
* message, a set zone overrides it for the messages sent afterwards (run context spec §3.4);
|
|
51
|
+
* `theme` null = follow the org (themes spec §7).
|
|
52
|
+
*/
|
|
53
|
+
preferences(principal: Principal): Promise<Preferences>;
|
|
54
|
+
/**
|
|
55
|
+
* Updates the preferences given; a field left out keeps its value. An unknown time zone → 400
|
|
56
|
+
* `validation_failed`; a theme on in none of the person's orgs → 400 `theme.not_available`.
|
|
57
|
+
*/
|
|
58
|
+
setPreferences(principal: Principal, body: z.infer<typeof PreferencesSchema>): Promise<Preferences>;
|
|
43
59
|
/** 切换当前组织(仅 Web 会话);`null` 清空。非成员或已软删除的组织 → `org.not_found`。 */
|
|
44
60
|
setCurrentOrg(principal: Principal, body: z.infer<typeof CurrentOrgSchema>): Promise<void>;
|
|
45
61
|
/**
|
|
@@ -18,8 +18,10 @@ import { OrgsService } from "../orgs/orgs.service.js";
|
|
|
18
18
|
import { AccountsService } from "./accounts.js";
|
|
19
19
|
import { ApiTokenService, FutureIsoDate } from "./api-tokens.js";
|
|
20
20
|
import { MAX_PASSWORD_LENGTH } from "./login.js";
|
|
21
|
-
import {
|
|
21
|
+
import { PreferencesBody } from "./me.schemas.js";
|
|
22
|
+
import { AllowPendingPasswordChange, CurrentPrincipal, requireUser, SessionOnly, } from "./principal.js";
|
|
22
23
|
import { SessionService } from "./sessions.js";
|
|
24
|
+
import { SettingsService } from "./settings.js";
|
|
23
25
|
/** The credential throttlers of a password change (per account, per client IP). */
|
|
24
26
|
const CHANGE_PASSWORD_THROTTLERS = ["change-password", "change-password-ip"];
|
|
25
27
|
const ChangePasswordSchema = z.object({
|
|
@@ -45,13 +47,15 @@ let MeController = class MeController {
|
|
|
45
47
|
tokens;
|
|
46
48
|
throttler;
|
|
47
49
|
log;
|
|
48
|
-
|
|
50
|
+
settings;
|
|
51
|
+
constructor(accounts, sessions, orgs, tokens, throttler, log, settings) {
|
|
49
52
|
this.accounts = accounts;
|
|
50
53
|
this.sessions = sessions;
|
|
51
54
|
this.orgs = orgs;
|
|
52
55
|
this.tokens = tokens;
|
|
53
56
|
this.throttler = throttler;
|
|
54
57
|
this.log = log;
|
|
58
|
+
this.settings = settings;
|
|
55
59
|
}
|
|
56
60
|
async me(principal) {
|
|
57
61
|
const p = requireUser(principal);
|
|
@@ -62,7 +66,27 @@ let MeController = class MeController {
|
|
|
62
66
|
name: o.name,
|
|
63
67
|
role: o.role,
|
|
64
68
|
}));
|
|
65
|
-
|
|
69
|
+
// a session's org the account has since left reads as none (removal clears it, but a session
|
|
70
|
+
// created at that moment may still name it)
|
|
71
|
+
const current = memberships.some((m) => m.orgId === currentOrgId) ? currentOrgId : null;
|
|
72
|
+
const { orgCreation } = await this.settings.get();
|
|
73
|
+
const canCreateOrg = orgCreation === "anyone" || p.account.isSuperAdmin;
|
|
74
|
+
return { account: p.account, via: p.via, currentOrgId: current, memberships, canCreateOrg };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The person's preferences: `timeZone` null = follow the browser's time zone sent with each
|
|
78
|
+
* message, a set zone overrides it for the messages sent afterwards (run context spec §3.4);
|
|
79
|
+
* `theme` null = follow the org (themes spec §7).
|
|
80
|
+
*/
|
|
81
|
+
async preferences(principal) {
|
|
82
|
+
return this.accounts.preferences(requireUser(principal).account.id);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Updates the preferences given; a field left out keeps its value. An unknown time zone → 400
|
|
86
|
+
* `validation_failed`; a theme on in none of the person's orgs → 400 `theme.not_available`.
|
|
87
|
+
*/
|
|
88
|
+
async setPreferences(principal, body) {
|
|
89
|
+
return this.accounts.setPreferences(requireUser(principal).account.id, body);
|
|
66
90
|
}
|
|
67
91
|
/** 切换当前组织(仅 Web 会话);`null` 清空。非成员或已软删除的组织 → `org.not_found`。 */
|
|
68
92
|
async setCurrentOrg(principal, body) {
|
|
@@ -89,6 +113,11 @@ let MeController = class MeController {
|
|
|
89
113
|
throw new ApiError("auth.invalid_credentials", "Current password is incorrect");
|
|
90
114
|
}
|
|
91
115
|
await this.throttler.succeeded(CHANGE_PASSWORD_THROTTLERS, req);
|
|
116
|
+
if (p.account.mustChangePassword && body.newPassword === body.currentPassword) {
|
|
117
|
+
throw new ApiError("validation_failed", "Choose a password other than the initial one", [
|
|
118
|
+
{ path: "newPassword", message: "must differ from the initial password" },
|
|
119
|
+
]);
|
|
120
|
+
}
|
|
92
121
|
// 新密码、吊销其他会话(PG revoked_at)与个人令牌在同一个 PG 事务里完成
|
|
93
122
|
const revoked = await this.accounts.changePassword(p.account.id, body.newPassword, p.sessionId);
|
|
94
123
|
try {
|
|
@@ -117,8 +146,18 @@ let MeController = class MeController {
|
|
|
117
146
|
};
|
|
118
147
|
__decorate([
|
|
119
148
|
Get(),
|
|
149
|
+
AllowPendingPasswordChange(),
|
|
120
150
|
__param(0, CurrentPrincipal())
|
|
121
151
|
], MeController.prototype, "me", null);
|
|
152
|
+
__decorate([
|
|
153
|
+
Get("preferences"),
|
|
154
|
+
__param(0, CurrentPrincipal())
|
|
155
|
+
], MeController.prototype, "preferences", null);
|
|
156
|
+
__decorate([
|
|
157
|
+
Put("preferences"),
|
|
158
|
+
__param(0, CurrentPrincipal()),
|
|
159
|
+
__param(1, ZBody(PreferencesBody))
|
|
160
|
+
], MeController.prototype, "setPreferences", null);
|
|
122
161
|
__decorate([
|
|
123
162
|
Put("current-org"),
|
|
124
163
|
SessionOnly(),
|
|
@@ -129,6 +168,7 @@ __decorate([
|
|
|
129
168
|
__decorate([
|
|
130
169
|
Put("password"),
|
|
131
170
|
SessionOnly(),
|
|
171
|
+
AllowPendingPasswordChange(),
|
|
132
172
|
HttpCode(204),
|
|
133
173
|
__param(0, CurrentPrincipal()),
|
|
134
174
|
__param(1, ZBody(ChangePasswordBody)),
|
|
@@ -160,6 +200,7 @@ MeController = __decorate([
|
|
|
160
200
|
__param(2, Inject(OrgsService)),
|
|
161
201
|
__param(3, Inject(ApiTokenService)),
|
|
162
202
|
__param(4, Inject(CredentialThrottler)),
|
|
163
|
-
__param(5, Inject(KERNEL_LOGGER))
|
|
203
|
+
__param(5, Inject(KERNEL_LOGGER)),
|
|
204
|
+
__param(6, Inject(SettingsService))
|
|
164
205
|
], MeController);
|
|
165
206
|
export { MeController };
|