@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.20
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-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 +41 -5
- package/dist/extensions/bootstrap.js +121 -19
- 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 +4 -2
- package/dist/lifecycle/kernel-lifecycle.js +35 -7
- 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
|
@@ -15,17 +15,19 @@ import { ApiError } from "../errors.js";
|
|
|
15
15
|
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
16
16
|
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
17
17
|
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
18
|
+
import { assertThemeOnForAccount } from "../themes/theme-state.js";
|
|
18
19
|
import { audit } from "./audit.js";
|
|
19
|
-
import { EnterpriseAdminLock, EnterpriseAdminLockModule } from "./enterprise-admin.js";
|
|
20
20
|
import { MAX_PASSWORD_LENGTH, normalizeLogin, validatePassword } from "./login.js";
|
|
21
21
|
import { DUMMY_PASSWORD_HASH, hashPassword, verifyPassword } from "./passwords.js";
|
|
22
|
+
import { SuperAdminLock, SuperAdminLockModule } from "./super-admin.js";
|
|
22
23
|
/** 构造 `Account` 所需的 accounts 列(供跨表查询 select 使用)。 */
|
|
23
24
|
export const ACCOUNT_COLUMNS = [
|
|
24
25
|
"accounts.id",
|
|
25
26
|
"accounts.display_name",
|
|
26
27
|
"accounts.email",
|
|
27
28
|
"accounts.status",
|
|
28
|
-
"accounts.
|
|
29
|
+
"accounts.is_super_admin",
|
|
30
|
+
"accounts.must_change_password",
|
|
29
31
|
"accounts.created_at",
|
|
30
32
|
];
|
|
31
33
|
export function toAccount(r) {
|
|
@@ -34,7 +36,8 @@ export function toAccount(r) {
|
|
|
34
36
|
displayName: r.display_name,
|
|
35
37
|
email: r.email,
|
|
36
38
|
status: r.status,
|
|
37
|
-
|
|
39
|
+
isSuperAdmin: r.is_super_admin,
|
|
40
|
+
mustChangePassword: r.must_change_password,
|
|
38
41
|
createdAt: r.created_at,
|
|
39
42
|
};
|
|
40
43
|
}
|
|
@@ -82,15 +85,42 @@ let AccountsService = class AccountsService {
|
|
|
82
85
|
return this.insertLocal(await prepareLocal(input, passwordHash));
|
|
83
86
|
}
|
|
84
87
|
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
88
|
+
* A super admin creates a local account (optionally a super admin): under the
|
|
89
|
+
* super admin lock, re-checks that the actor is still an active super admin (else
|
|
87
90
|
* `forbidden`), creates the account and audits `account.created`. The hash is computed before
|
|
88
91
|
* the lock.
|
|
89
92
|
*/
|
|
90
|
-
async createByAdmin(input, actorAccountId, actorTokenId) {
|
|
91
|
-
return this.createByAdminIn(await prepareLocal(input), actorAccountId, actorTokenId);
|
|
93
|
+
async createByAdmin(input, actorAccountId, actorTokenId, opts = {}) {
|
|
94
|
+
return this.createByAdminIn(await prepareLocal(input), actorAccountId, actorTokenId, opts);
|
|
92
95
|
}
|
|
93
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Whether `login` is free for a new local account (`account.login_taken` otherwise) and well
|
|
98
|
+
* formed (`validation_failed`): the read a caller checks before asking a person to confirm.
|
|
99
|
+
*/
|
|
100
|
+
async assertLoginFree(login) {
|
|
101
|
+
const external = normalizeLogin(login);
|
|
102
|
+
const taken = await this.db
|
|
103
|
+
.selectFrom("identities")
|
|
104
|
+
.select("account_id")
|
|
105
|
+
.where("source", "=", "local")
|
|
106
|
+
.where("external_id", "=", external)
|
|
107
|
+
.executeTakeFirst();
|
|
108
|
+
if (taken)
|
|
109
|
+
throw new ApiError("account.login_taken", "Login is already taken");
|
|
110
|
+
}
|
|
111
|
+
/** The local login of each account that has one (accounts without are left out). */
|
|
112
|
+
async localLogins(accountIds) {
|
|
113
|
+
if (accountIds.length === 0)
|
|
114
|
+
return new Map();
|
|
115
|
+
const rows = await this.db
|
|
116
|
+
.selectFrom("identities")
|
|
117
|
+
.select(["account_id", "external_id"])
|
|
118
|
+
.where("source", "=", "local")
|
|
119
|
+
.where("account_id", "in", accountIds)
|
|
120
|
+
.execute();
|
|
121
|
+
return new Map(rows.map((r) => [r.account_id, r.external_id]));
|
|
122
|
+
}
|
|
123
|
+
async createByAdminIn(prepared, actorAccountId, actorTokenId, opts) {
|
|
94
124
|
await this.adminLock.lockAndAuthorize(actorAccountId);
|
|
95
125
|
const a = await this.insertLocal(prepared);
|
|
96
126
|
await audit(this.db.db, {
|
|
@@ -98,45 +128,50 @@ let AccountsService = class AccountsService {
|
|
|
98
128
|
...(actorTokenId !== undefined && { actorTokenId }),
|
|
99
129
|
action: "account.created",
|
|
100
130
|
target: a.id,
|
|
101
|
-
detail: {
|
|
131
|
+
detail: {
|
|
132
|
+
superAdmin: a.isSuperAdmin,
|
|
133
|
+
...(a.mustChangePassword && { mustChangePassword: true }),
|
|
134
|
+
...opts.auditDetail,
|
|
135
|
+
},
|
|
102
136
|
});
|
|
137
|
+
await opts.inTransaction?.(a);
|
|
103
138
|
return a;
|
|
104
139
|
}
|
|
105
140
|
/**
|
|
106
|
-
* CLI: creates
|
|
141
|
+
* CLI: creates a super admin without checking whether the deployment is set up; a taken
|
|
107
142
|
* login → `account.login_taken`.
|
|
108
143
|
*/
|
|
109
|
-
async
|
|
110
|
-
return this.
|
|
144
|
+
async createSuperAdmin(input) {
|
|
145
|
+
return this.insertSuperAdmin(input, await this.hashNewPassword(input.password));
|
|
111
146
|
}
|
|
112
147
|
/**
|
|
113
|
-
* CLI `admin create --if-none`: creates
|
|
148
|
+
* CLI `admin create --if-none`: creates a super admin only when no active one exists. The
|
|
114
149
|
* check and the insert run in one transaction under {@link SetupLock}, the lock the web setup
|
|
115
150
|
* takes, so concurrent runs (and a concurrent web setup) create exactly one. Returns undefined
|
|
116
|
-
* when an active
|
|
151
|
+
* when an active super admin already exists; a taken login still throws
|
|
117
152
|
* `account.login_taken`.
|
|
118
153
|
*/
|
|
119
|
-
async
|
|
120
|
-
return this.
|
|
154
|
+
async createSuperAdminIfNone(input) {
|
|
155
|
+
return this.createSuperAdminIfNoneIn(input, await this.hashNewPassword(input.password));
|
|
121
156
|
}
|
|
122
|
-
async
|
|
157
|
+
async createSuperAdminIfNoneIn(input, passwordHash) {
|
|
123
158
|
await this.setupLock.lock();
|
|
124
|
-
if ((await this.
|
|
159
|
+
if ((await this.countSuperAdmins()) > 0)
|
|
125
160
|
return undefined;
|
|
126
|
-
return this.
|
|
161
|
+
return this.insertSuperAdmin(input, passwordHash);
|
|
127
162
|
}
|
|
128
|
-
async
|
|
163
|
+
async insertSuperAdmin(input, passwordHash) {
|
|
129
164
|
const account = await this.createLocal({
|
|
130
165
|
login: input.login,
|
|
131
166
|
password: input.password,
|
|
132
167
|
displayName: input.displayName,
|
|
133
|
-
|
|
168
|
+
superAdmin: true,
|
|
134
169
|
...(input.email !== undefined && { email: input.email }),
|
|
135
170
|
}, passwordHash);
|
|
136
171
|
await audit(this.db.db, {
|
|
137
172
|
action: "account.created",
|
|
138
173
|
target: account.id,
|
|
139
|
-
detail: {
|
|
174
|
+
detail: { superAdmin: true, via: "cli" },
|
|
140
175
|
});
|
|
141
176
|
return account;
|
|
142
177
|
}
|
|
@@ -163,7 +198,8 @@ let AccountsService = class AccountsService {
|
|
|
163
198
|
"accounts.email",
|
|
164
199
|
"accounts.email_verified",
|
|
165
200
|
"accounts.status",
|
|
166
|
-
"accounts.
|
|
201
|
+
"accounts.is_super_admin",
|
|
202
|
+
"accounts.must_change_password",
|
|
167
203
|
"accounts.created_at",
|
|
168
204
|
"accounts.updated_at",
|
|
169
205
|
"local_passwords.password_hash",
|
|
@@ -201,6 +237,39 @@ let AccountsService = class AccountsService {
|
|
|
201
237
|
.executeTakeFirst();
|
|
202
238
|
return row && toAccount(row);
|
|
203
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* A person's preferences: `timeZone` is their time zone setting (IANA), null = follow the browser
|
|
242
|
+
* (run context spec §3.4); `theme` their theme (a `platform_themes` id), null = follow the org
|
|
243
|
+
* (themes spec §7). Missing account -> nulls.
|
|
244
|
+
*/
|
|
245
|
+
async preferences(accountId) {
|
|
246
|
+
const row = await this.db
|
|
247
|
+
.selectFrom("accounts")
|
|
248
|
+
.select(["time_zone", "theme"])
|
|
249
|
+
.where("id", "=", accountId)
|
|
250
|
+
.executeTakeFirst();
|
|
251
|
+
return { timeZone: row?.time_zone ?? null, theme: row?.theme ?? null };
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Updates the preferences given (a field left out keeps its value; the caller validated the time
|
|
255
|
+
* zone). A theme must be on in at least one of the person's orgs, else 400 `theme.not_available`.
|
|
256
|
+
*/
|
|
257
|
+
async setPreferences(accountId, prefs) {
|
|
258
|
+
if (prefs.theme != null)
|
|
259
|
+
await assertThemeOnForAccount(this.db.db, accountId, prefs.theme);
|
|
260
|
+
const set = {
|
|
261
|
+
...(prefs.timeZone !== undefined && { time_zone: prefs.timeZone }),
|
|
262
|
+
...(prefs.theme !== undefined && { theme: prefs.theme }),
|
|
263
|
+
};
|
|
264
|
+
if (Object.keys(set).length > 0) {
|
|
265
|
+
await this.db
|
|
266
|
+
.updateTable("accounts")
|
|
267
|
+
.set({ ...set, updated_at: new Date() })
|
|
268
|
+
.where("id", "=", accountId)
|
|
269
|
+
.execute();
|
|
270
|
+
}
|
|
271
|
+
return this.preferences(accountId);
|
|
272
|
+
}
|
|
204
273
|
/** 按 id 升序分页,`after` 为上一页最后一个 id。 */
|
|
205
274
|
async list(opts) {
|
|
206
275
|
let q = this.db.selectFrom("accounts").selectAll().orderBy("id").limit(opts.limit);
|
|
@@ -224,6 +293,17 @@ let AccountsService = class AccountsService {
|
|
|
224
293
|
}
|
|
225
294
|
async changePasswordIn(accountId, passwordHash, exceptSessionId) {
|
|
226
295
|
await this.writePassword(accountId, passwordHash);
|
|
296
|
+
// the person set their own password: the generated one is no longer theirs to be shown
|
|
297
|
+
await this.db
|
|
298
|
+
.updateTable("accounts")
|
|
299
|
+
.set({ must_change_password: false })
|
|
300
|
+
.where("id", "=", accountId)
|
|
301
|
+
.where("must_change_password", "=", true)
|
|
302
|
+
.execute();
|
|
303
|
+
await this.db
|
|
304
|
+
.deleteFrom("account_initial_passwords")
|
|
305
|
+
.where("account_id", "=", accountId)
|
|
306
|
+
.execute();
|
|
227
307
|
const sessions = await this.db
|
|
228
308
|
.updateTable("sessions")
|
|
229
309
|
.set({ revoked_at: sql `now()` })
|
|
@@ -245,13 +325,13 @@ let AccountsService = class AccountsService {
|
|
|
245
325
|
return (await this.updateAccount(id, patch, actorAccountId, actorTokenId)).account;
|
|
246
326
|
}
|
|
247
327
|
/**
|
|
248
|
-
*
|
|
328
|
+
* A super admin changes an account. Disabling (`status: "disabled"`) revokes the
|
|
249
329
|
* account's sessions (`sessions.revoked_at`) and personal tokens in **the same PG transaction**,
|
|
250
330
|
* all or nothing; returns the revoked session ids, whose Redis markers the caller writes after
|
|
251
331
|
* the commit (the fast path; a failure is only a warning: auth reads PG).
|
|
252
332
|
*/
|
|
253
|
-
async updateAccount(id, patch, actorAccountId, actorTokenId) {
|
|
254
|
-
// Every
|
|
333
|
+
async updateAccount(id, patch, actorAccountId, actorTokenId, opts = {}) {
|
|
334
|
+
// Every super admin write is serialized by one lock and re-checks the actor under it: two
|
|
255
335
|
// admins revoking each other concurrently cannot leave none, and a just-revoked admin's
|
|
256
336
|
// request in flight fails
|
|
257
337
|
await this.adminLock.lockAndAuthorize(actorAccountId);
|
|
@@ -265,18 +345,18 @@ let AccountsService = class AccountsService {
|
|
|
265
345
|
return this.applyUpdate(before, patch, {
|
|
266
346
|
actorAccountId,
|
|
267
347
|
...(actorTokenId !== undefined && { actorTokenId }),
|
|
268
|
-
detail: patch,
|
|
348
|
+
detail: { ...patch, ...opts.auditDetail },
|
|
269
349
|
});
|
|
270
350
|
}
|
|
271
351
|
/**
|
|
272
|
-
* The CLI's `capybara admin grant|revoke <login>` (no actor account): changes the
|
|
273
|
-
* admin flag by local login under the
|
|
274
|
-
* {@link updateAccount} "last active
|
|
352
|
+
* The CLI's `capybara admin grant|revoke <login>` (no actor account): changes the super
|
|
353
|
+
* admin flag by local login under the super admin lock; revoking keeps the
|
|
354
|
+
* {@link updateAccount} "last active super admin" check (`account.last_super_admin`),
|
|
275
355
|
* decided under the lock, so it cannot race a web revoke into none. Audit `account.updated`
|
|
276
356
|
* without an actor, `detail.via = "cli"`. Already in the target state → no change and no audit
|
|
277
357
|
* (`changed: false`). Unknown login → `account.not_found`.
|
|
278
358
|
*/
|
|
279
|
-
async
|
|
359
|
+
async setSuperAdminByLogin(login, isSuperAdmin) {
|
|
280
360
|
let external;
|
|
281
361
|
try {
|
|
282
362
|
external = normalizeLogin(login);
|
|
@@ -284,9 +364,9 @@ let AccountsService = class AccountsService {
|
|
|
284
364
|
catch {
|
|
285
365
|
throw new ApiError("account.not_found", "Account not found");
|
|
286
366
|
}
|
|
287
|
-
return this.
|
|
367
|
+
return this.setSuperAdminIn(external, isSuperAdmin);
|
|
288
368
|
}
|
|
289
|
-
async
|
|
369
|
+
async setSuperAdminIn(external, isSuperAdmin) {
|
|
290
370
|
await this.adminLock.lock();
|
|
291
371
|
const before = await this.db
|
|
292
372
|
.selectFrom("identities")
|
|
@@ -297,10 +377,10 @@ let AccountsService = class AccountsService {
|
|
|
297
377
|
.executeTakeFirst();
|
|
298
378
|
if (!before)
|
|
299
379
|
throw new ApiError("account.not_found", "Account not found");
|
|
300
|
-
if (before.
|
|
380
|
+
if (before.is_super_admin === isSuperAdmin) {
|
|
301
381
|
return { account: toAccount(before), changed: false };
|
|
302
382
|
}
|
|
303
|
-
const patch = {
|
|
383
|
+
const patch = { isSuperAdmin };
|
|
304
384
|
const { account } = await this.applyUpdate(before, patch, {
|
|
305
385
|
detail: { ...patch, via: "cli" },
|
|
306
386
|
});
|
|
@@ -314,12 +394,12 @@ let AccountsService = class AccountsService {
|
|
|
314
394
|
.executeTakeFirstOrThrow();
|
|
315
395
|
return Number(r.n);
|
|
316
396
|
}
|
|
317
|
-
/** Active (status = active)
|
|
318
|
-
async
|
|
397
|
+
/** Active (status = active) super admins, in the context's transaction when there is one. */
|
|
398
|
+
async countSuperAdmins() {
|
|
319
399
|
const r = await this.db
|
|
320
400
|
.selectFrom("accounts")
|
|
321
401
|
.select((eb) => eb.fn.countAll().as("n"))
|
|
322
|
-
.where("
|
|
402
|
+
.where("is_super_admin", "=", true)
|
|
323
403
|
.where("status", "=", "active")
|
|
324
404
|
.executeTakeFirstOrThrow();
|
|
325
405
|
return Number(r.n);
|
|
@@ -334,7 +414,8 @@ let AccountsService = class AccountsService {
|
|
|
334
414
|
id,
|
|
335
415
|
display_name: input.displayName,
|
|
336
416
|
email: input.email ?? null,
|
|
337
|
-
|
|
417
|
+
is_super_admin: input.superAdmin ?? false,
|
|
418
|
+
must_change_password: input.mustChangePassword ?? false,
|
|
338
419
|
})
|
|
339
420
|
.returningAll()
|
|
340
421
|
.executeTakeFirstOrThrow();
|
|
@@ -380,8 +461,8 @@ let AccountsService = class AccountsService {
|
|
|
380
461
|
.execute();
|
|
381
462
|
}
|
|
382
463
|
/**
|
|
383
|
-
* Changes the account under the
|
|
384
|
-
* re-checks "the last active
|
|
464
|
+
* Changes the account under the super admin lock the caller holds: updates the row,
|
|
465
|
+
* re-checks "the last active super admin", audits `account.updated`; disabling revokes the
|
|
385
466
|
* account's sessions and personal tokens.
|
|
386
467
|
*/
|
|
387
468
|
async applyUpdate(before, patch, auditAs) {
|
|
@@ -391,18 +472,18 @@ let AccountsService = class AccountsService {
|
|
|
391
472
|
values.display_name = patch.displayName;
|
|
392
473
|
if (patch.status !== undefined)
|
|
393
474
|
values.status = patch.status;
|
|
394
|
-
if (patch.
|
|
395
|
-
values.
|
|
475
|
+
if (patch.isSuperAdmin !== undefined)
|
|
476
|
+
values.is_super_admin = patch.isSuperAdmin;
|
|
396
477
|
const row = await this.db
|
|
397
478
|
.updateTable("accounts")
|
|
398
479
|
.set(values)
|
|
399
480
|
.where("id", "=", id)
|
|
400
481
|
.returningAll()
|
|
401
482
|
.executeTakeFirstOrThrow();
|
|
402
|
-
const wasActiveAdmin = before.
|
|
403
|
-
const isActiveAdmin = row.
|
|
404
|
-
if (wasActiveAdmin && !isActiveAdmin && (await this.
|
|
405
|
-
throw new ApiError("account.
|
|
483
|
+
const wasActiveAdmin = before.is_super_admin && before.status === "active";
|
|
484
|
+
const isActiveAdmin = row.is_super_admin && row.status === "active";
|
|
485
|
+
if (wasActiveAdmin && !isActiveAdmin && (await this.countSuperAdmins()) === 0) {
|
|
486
|
+
throw new ApiError("account.last_super_admin", "Cannot remove the last active super admin");
|
|
406
487
|
}
|
|
407
488
|
await audit(this.db.db, {
|
|
408
489
|
...(auditAs.actorAccountId !== undefined && { actorAccountId: auditAs.actorAccountId }),
|
|
@@ -439,10 +520,10 @@ __decorate([
|
|
|
439
520
|
], AccountsService.prototype, "createByAdminIn", null);
|
|
440
521
|
__decorate([
|
|
441
522
|
Transactional()
|
|
442
|
-
], AccountsService.prototype, "
|
|
523
|
+
], AccountsService.prototype, "createSuperAdminIfNoneIn", null);
|
|
443
524
|
__decorate([
|
|
444
525
|
Transactional()
|
|
445
|
-
], AccountsService.prototype, "
|
|
526
|
+
], AccountsService.prototype, "insertSuperAdmin", null);
|
|
446
527
|
__decorate([
|
|
447
528
|
Transactional()
|
|
448
529
|
], AccountsService.prototype, "changePasswordIn", null);
|
|
@@ -451,7 +532,7 @@ __decorate([
|
|
|
451
532
|
], AccountsService.prototype, "updateAccount", null);
|
|
452
533
|
__decorate([
|
|
453
534
|
Transactional()
|
|
454
|
-
], AccountsService.prototype, "
|
|
535
|
+
], AccountsService.prototype, "setSuperAdminIn", null);
|
|
455
536
|
__decorate([
|
|
456
537
|
Transactional()
|
|
457
538
|
], AccountsService.prototype, "insertLocal", null);
|
|
@@ -465,7 +546,7 @@ AccountsService = __decorate([
|
|
|
465
546
|
Injectable(),
|
|
466
547
|
__param(0, Inject(KernelDb)),
|
|
467
548
|
__param(1, Inject(TransactionHost)),
|
|
468
|
-
__param(2, Inject(
|
|
549
|
+
__param(2, Inject(SuperAdminLock)),
|
|
469
550
|
__param(3, Inject(SetupLock))
|
|
470
551
|
], AccountsService);
|
|
471
552
|
export { AccountsService };
|
|
@@ -478,7 +559,7 @@ let AccountsModule = class AccountsModule {
|
|
|
478
559
|
};
|
|
479
560
|
AccountsModule = __decorate([
|
|
480
561
|
Module({
|
|
481
|
-
imports: [SetupLockModule,
|
|
562
|
+
imports: [SetupLockModule, SuperAdminLockModule],
|
|
482
563
|
providers: [AccountsService],
|
|
483
564
|
exports: [AccountsService],
|
|
484
565
|
})
|
package/dist/identity/audit.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
|
5
5
|
* so the event commits or rolls back with the write it records.
|
|
6
6
|
*/
|
|
7
7
|
export declare function audit(db: KernelSchemaDb, e: {
|
|
8
|
-
|
|
8
|
+
/** The acting account; absent or null for the kernel itself (a job such as the scope sync). */
|
|
9
|
+
actorAccountId?: string | null;
|
|
9
10
|
actorTokenId?: string;
|
|
10
11
|
orgId?: string;
|
|
11
12
|
action: string;
|
|
@@ -15,7 +15,7 @@ import { CredentialThrottler } from "../infra/throttler/credential-throttler.js"
|
|
|
15
15
|
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
16
16
|
import { ZBody } from "../infra/validation/zod-params.js";
|
|
17
17
|
import { AccountsService } from "./accounts.js";
|
|
18
|
-
import { ACCESS_COOKIE, clearSessionCookies,
|
|
18
|
+
import { ACCESS_COOKIE, clearSessionCookies, refreshCookieValues, setSessionCookies, } from "./cookies.js";
|
|
19
19
|
import { Public } from "./principal.js";
|
|
20
20
|
import { SessionService } from "./sessions.js";
|
|
21
21
|
const LoginBodySchema = z.object({ login: z.string().max(256), password: z.string() });
|
|
@@ -74,9 +74,13 @@ let AuthController = class AuthController {
|
|
|
74
74
|
*/
|
|
75
75
|
async refresh(req, reply) {
|
|
76
76
|
try {
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
// the header may carry several cap_rt (legacy Path and Path=/): the current one of a live session wins
|
|
78
|
+
const candidates = refreshCookieValues(req.headers.cookie);
|
|
79
|
+
if (candidates.length === 0) {
|
|
79
80
|
throw new ApiError("auth.refresh_invalid", "Refresh token is missing");
|
|
81
|
+
}
|
|
82
|
+
// none is current: the last one (the Path=/ cookie) goes through the usual replay handling
|
|
83
|
+
const rt = (await this.sessions.pickCurrentRefresh(candidates)) ?? candidates.at(-1);
|
|
80
84
|
const session = await this.sessions.refresh(rt, clientMeta(req));
|
|
81
85
|
const account = await this.accounts.get(session.accountId);
|
|
82
86
|
if (!account)
|
|
@@ -94,13 +98,13 @@ let AuthController = class AuthController {
|
|
|
94
98
|
async logout(req, reply) {
|
|
95
99
|
clearSessionCookies(reply);
|
|
96
100
|
const at = req.cookies[ACCESS_COOKIE];
|
|
97
|
-
const
|
|
101
|
+
const rts = refreshCookieValues(req.headers.cookie);
|
|
98
102
|
if (at) {
|
|
99
103
|
const sid = await this.sessions.sessionIdFromAccess(at);
|
|
100
104
|
if (sid !== undefined)
|
|
101
105
|
await this.sessions.revoke(sid);
|
|
102
106
|
}
|
|
103
|
-
|
|
107
|
+
for (const rt of rts)
|
|
104
108
|
await this.sessions.revokeByRefresh(rt);
|
|
105
109
|
}
|
|
106
110
|
};
|
|
@@ -3,21 +3,29 @@ import { Reflector } from "@nestjs/core";
|
|
|
3
3
|
import type { FastifyRequest } from "fastify";
|
|
4
4
|
import { AccountsService } from "./accounts.js";
|
|
5
5
|
import { ApiTokenService } from "./api-tokens.js";
|
|
6
|
+
import { type Principal } from "./principal.js";
|
|
6
7
|
import { SessionService } from "./sessions.js";
|
|
7
8
|
/** CSRF 头:Cookie 认证的非安全请求(及所有公开路由的非安全请求)必须带 `X-Capybara-Csrf: 1`。 */
|
|
8
9
|
export declare const CSRF_HEADER = "x-capybara-csrf";
|
|
9
|
-
/** 解析凭据要用的服务({@link AuthGuard} 与 {@link
|
|
10
|
+
/** 解析凭据要用的服务({@link AuthGuard} 与 {@link authorizeSuperAdmin} 共用)。 */
|
|
10
11
|
export interface AuthServices {
|
|
11
12
|
accounts: AccountsService;
|
|
12
13
|
sessions: SessionService;
|
|
13
14
|
tokens: ApiTokenService;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
|
-
* 在读请求体之前(Fastify `onRequest`)按 `@
|
|
17
|
-
* 等,Cookie 认证的非安全请求要求 CSRF
|
|
17
|
+
* 在读请求体之前(Fastify `onRequest`)按 `@SuperAdmin` 路由的规则认证:无凭据 / 凭据无效 → `auth.required`
|
|
18
|
+
* 等,Cookie 认证的非安全请求要求 CSRF 头,服务令牌与非超级管理员 → `forbidden`。插件包上传用它:
|
|
18
19
|
* 未认证的大请求体不被读入内存。之后 {@link AuthGuard} 照常再判一次。
|
|
19
20
|
*/
|
|
20
|
-
export declare function
|
|
21
|
+
export declare function authorizeSuperAdmin(req: FastifyRequest, s: AuthServices): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Before the body is read (Fastify `onRequest`), for an org's package upload (an `@OrgAction`
|
|
24
|
+
* route of a human-only action): authenticated like {@link authorizeSuperAdmin}, a person (service
|
|
25
|
+
* tokens -> `forbidden`), CSRF for cookies. Returns the principal for the org role check that also
|
|
26
|
+
* runs before the body (ruling P3-29); `OrgGuard` and the service's lock re-check it afterwards.
|
|
27
|
+
*/
|
|
28
|
+
export declare function authenticateOrgUploader(req: FastifyRequest, s: AuthServices): Promise<Principal>;
|
|
21
29
|
/**
|
|
22
30
|
* 全局守卫(`APP_GUARD`),默认拒绝:
|
|
23
31
|
* 1. `Authorization: Bearer cap_pat_…|cap_svc_…` → API 令牌;个人令牌再实时读账号状态。不做 CSRF 检查。
|
|
@@ -27,7 +35,7 @@ export declare function authorizeEnterpriseAdmin(req: FastifyRequest, s: AuthSer
|
|
|
27
35
|
* (便于登出 / 刷新);PG / Redis 故障等其他异常照常抛出。
|
|
28
36
|
* 4. 路由约束:service principal 只能访问 `@AllowService` 路由(否则 `forbidden`);
|
|
29
37
|
* `@SessionOnly` 要求 Web 会话:个人令牌 → `auth.session_required`,服务令牌(即使路由经 `@OrgAction`
|
|
30
|
-
* 隐含 `@AllowService`)→ `forbidden`;`@
|
|
38
|
+
* 隐含 `@AllowService`)→ `forbidden`;`@SuperAdmin` 要求超级管理员(`forbidden`)。
|
|
31
39
|
* 5. `@Public` 路由的非安全方法无论是否带 Cookie 都要求 CSRF 头。
|
|
32
40
|
* 账号状态每个请求都从 PG 实时读取,不在进程内缓存。插件路由 `/plugins/*` 不经过 Nest,不受此守卫约束。
|
|
33
41
|
*/
|
|
@@ -13,7 +13,7 @@ import { ApiError } from "../errors.js";
|
|
|
13
13
|
import { AccountsService } from "./accounts.js";
|
|
14
14
|
import { ApiTokenService } from "./api-tokens.js";
|
|
15
15
|
import { ACCESS_COOKIE } from "./cookies.js";
|
|
16
|
-
import { ALLOW_SERVICE_KEY,
|
|
16
|
+
import { ALLOW_SERVICE_KEY, PASSWORD_CHANGE_KEY, PUBLIC_KEY, SESSION_ONLY_KEY, SUPER_ADMIN_KEY, } from "./principal.js";
|
|
17
17
|
import { SessionService } from "./sessions.js";
|
|
18
18
|
/** CSRF 头:Cookie 认证的非安全请求(及所有公开路由的非安全请求)必须带 `X-Capybara-Csrf: 1`。 */
|
|
19
19
|
export const CSRF_HEADER = "x-capybara-csrf";
|
|
@@ -62,11 +62,11 @@ async function resolvePrincipal(req, s) {
|
|
|
62
62
|
return undefined;
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
* 在读请求体之前(Fastify `onRequest`)按 `@
|
|
66
|
-
* 等,Cookie 认证的非安全请求要求 CSRF
|
|
65
|
+
* 在读请求体之前(Fastify `onRequest`)按 `@SuperAdmin` 路由的规则认证:无凭据 / 凭据无效 → `auth.required`
|
|
66
|
+
* 等,Cookie 认证的非安全请求要求 CSRF 头,服务令牌与非超级管理员 → `forbidden`。插件包上传用它:
|
|
67
67
|
* 未认证的大请求体不被读入内存。之后 {@link AuthGuard} 照常再判一次。
|
|
68
68
|
*/
|
|
69
|
-
export async function
|
|
69
|
+
export async function authorizeSuperAdmin(req, s) {
|
|
70
70
|
const resolved = await resolvePrincipal(req, s);
|
|
71
71
|
if (!resolved)
|
|
72
72
|
throw new ApiError("auth.required", "Authentication required");
|
|
@@ -76,8 +76,29 @@ export async function authorizeEnterpriseAdmin(req, s) {
|
|
|
76
76
|
if (p.kind === "service") {
|
|
77
77
|
throw new ApiError("forbidden", "Service tokens cannot access this endpoint");
|
|
78
78
|
}
|
|
79
|
-
if (
|
|
80
|
-
throw
|
|
79
|
+
if (p.account.mustChangePassword)
|
|
80
|
+
throw passwordChangeRequired();
|
|
81
|
+
if (!p.account.isSuperAdmin)
|
|
82
|
+
throw new ApiError("forbidden", "Super admin required");
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Before the body is read (Fastify `onRequest`), for an org's package upload (an `@OrgAction`
|
|
86
|
+
* route of a human-only action): authenticated like {@link authorizeSuperAdmin}, a person (service
|
|
87
|
+
* tokens -> `forbidden`), CSRF for cookies. Returns the principal for the org role check that also
|
|
88
|
+
* runs before the body (ruling P3-29); `OrgGuard` and the service's lock re-check it afterwards.
|
|
89
|
+
*/
|
|
90
|
+
export async function authenticateOrgUploader(req, s) {
|
|
91
|
+
const resolved = await resolvePrincipal(req, s);
|
|
92
|
+
if (!resolved)
|
|
93
|
+
throw new ApiError("auth.required", "Authentication required");
|
|
94
|
+
if (resolved.cookie && !SAFE_METHODS.has(req.method.toUpperCase()))
|
|
95
|
+
requireCsrf(req);
|
|
96
|
+
if (resolved.principal.kind === "service") {
|
|
97
|
+
throw new ApiError("forbidden", "Service tokens cannot access this endpoint");
|
|
98
|
+
}
|
|
99
|
+
if (resolved.principal.account.mustChangePassword)
|
|
100
|
+
throw passwordChangeRequired();
|
|
101
|
+
return resolved.principal;
|
|
81
102
|
}
|
|
82
103
|
/**
|
|
83
104
|
* 全局守卫(`APP_GUARD`),默认拒绝:
|
|
@@ -88,7 +109,7 @@ export async function authorizeEnterpriseAdmin(req, s) {
|
|
|
88
109
|
* (便于登出 / 刷新);PG / Redis 故障等其他异常照常抛出。
|
|
89
110
|
* 4. 路由约束:service principal 只能访问 `@AllowService` 路由(否则 `forbidden`);
|
|
90
111
|
* `@SessionOnly` 要求 Web 会话:个人令牌 → `auth.session_required`,服务令牌(即使路由经 `@OrgAction`
|
|
91
|
-
* 隐含 `@AllowService`)→ `forbidden`;`@
|
|
112
|
+
* 隐含 `@AllowService`)→ `forbidden`;`@SuperAdmin` 要求超级管理员(`forbidden`)。
|
|
92
113
|
* 5. `@Public` 路由的非安全方法无论是否带 Cookie 都要求 CSRF 头。
|
|
93
114
|
* 账号状态每个请求都从 PG 实时读取,不在进程内缓存。插件路由 `/plugins/*` 不经过 Nest,不受此守卫约束。
|
|
94
115
|
*/
|
|
@@ -142,8 +163,11 @@ let AuthGuard = class AuthGuard {
|
|
|
142
163
|
if (flag(SESSION_ONLY_KEY) && !(p.kind === "user" && p.via === "session")) {
|
|
143
164
|
throw new ApiError("auth.session_required", "This endpoint requires a web session");
|
|
144
165
|
}
|
|
145
|
-
if (
|
|
146
|
-
throw
|
|
166
|
+
if (p.kind === "user" && p.account.mustChangePassword && !flag(PASSWORD_CHANGE_KEY)) {
|
|
167
|
+
throw passwordChangeRequired();
|
|
168
|
+
}
|
|
169
|
+
if (flag(SUPER_ADMIN_KEY) && !(p.kind === "user" && p.account.isSuperAdmin)) {
|
|
170
|
+
throw new ApiError("forbidden", "Super admin required");
|
|
147
171
|
}
|
|
148
172
|
return true;
|
|
149
173
|
}
|
|
@@ -156,6 +180,8 @@ AuthGuard = __decorate([
|
|
|
156
180
|
__param(3, Inject(ApiTokenService))
|
|
157
181
|
], AuthGuard);
|
|
158
182
|
export { AuthGuard };
|
|
183
|
+
/** An account signed in with a generated initial password reaches nothing until it changes it. */
|
|
184
|
+
const passwordChangeRequired = () => new ApiError("auth.password_change_required", "Set a new password first: this account signed in with a generated initial password");
|
|
159
185
|
function requireActive(account) {
|
|
160
186
|
if (account.status !== "active") {
|
|
161
187
|
throw new ApiError("auth.account_disabled", "Account is disabled");
|
|
@@ -3,14 +3,35 @@ import type { KernelConfig } from "../config/schema.js";
|
|
|
3
3
|
import type { IssuedSession } from "./sessions.js";
|
|
4
4
|
/** access token Cookie:随所有请求发送。 */
|
|
5
5
|
export declare const ACCESS_COOKIE = "cap_at";
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* The refresh-token cookie: SameSite=Lax so a top-level navigation from another site (an IM card
|
|
8
|
+
* link, an email, an OAuth return) carries it and the web tier can renew the session. The refresh
|
|
9
|
+
* endpoint is POST-only and requires `X-Capybara-Csrf`, and Lax cookies are not sent on cross-site
|
|
10
|
+
* POSTs, so this does not widen CSRF exposure.
|
|
11
|
+
*/
|
|
7
12
|
export declare const REFRESH_COOKIE = "cap_rt";
|
|
8
|
-
/** refresh Cookie 的 Path。 */
|
|
9
|
-
export declare const REFRESH_COOKIE_PATH = "/api/v1/auth";
|
|
10
13
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
14
|
+
* Path of the refresh Cookie: `/`, so the web tier sees it on page requests and can renew the
|
|
15
|
+
* session while rendering on the server.
|
|
16
|
+
*/
|
|
17
|
+
export declare const REFRESH_COOKIE_PATH = "/";
|
|
18
|
+
/** The Path earlier releases set `cap_rt` on; browsers may still hold it, so it is cleared too. */
|
|
19
|
+
export declare const LEGACY_REFRESH_COOKIE_PATH = "/api/v1/auth";
|
|
20
|
+
/**
|
|
21
|
+
* Writes the session cookies. Both are HttpOnly, host-only (no Domain), SameSite=Lax and Path=/;
|
|
22
|
+
* the `cap_rt` on the legacy Path is cleared at the same time.
|
|
13
23
|
*/
|
|
14
24
|
export declare function setSessionCookies(reply: FastifyReply, s: IssuedSession, cfg: KernelConfig): void;
|
|
15
25
|
/** 清除会话 Cookie(Path 必须与设置时一致才能覆盖)。 */
|
|
16
26
|
export declare function clearSessionCookies(reply: FastifyReply): void;
|
|
27
|
+
/**
|
|
28
|
+
* Every `cap_rt` value of a raw `cookie` header, in header order. A browser holding the legacy
|
|
29
|
+
* Path cookie and the new one sends both, the more specific Path first.
|
|
30
|
+
*/
|
|
31
|
+
export declare function refreshCookieValues(header: string | undefined): string[];
|
|
32
|
+
/**
|
|
33
|
+
* The startup warning for an http trial that cannot sign in: session cookies are Secure but the
|
|
34
|
+
* configured public URL is plain http, so browsers drop them. Null when cookies are not Secure,
|
|
35
|
+
* or the public URL is https or unset (an unset URL says nothing about how people reach the app).
|
|
36
|
+
*/
|
|
37
|
+
export declare function insecurePublicUrlWarning(cfg: KernelConfig): string | null;
|