@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
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a provider call failed to reach the provider: `connect` when no connection was made (the
|
|
3
|
+
* request never reached the provider, so it did nothing), `dropped` when an open connection broke
|
|
4
|
+
* (the provider may have acted before it broke).
|
|
5
|
+
*/
|
|
6
|
+
export type ProviderConnectionFailure = "connect" | "dropped";
|
|
7
|
+
/**
|
|
8
|
+
* Whether `e` is a network-level failure to reach the provider, and which kind. Providers may
|
|
9
|
+
* wrap the socket error (`fetch failed` with a `cause`, an `AggregateError` of one error per
|
|
10
|
+
* address, an SDK error with a `cause`), so the cause chain and `errors` are searched. The
|
|
11
|
+
* provider's own verdicts (`SandboxGoneError`, `FileSystemGoneError`) are never connection
|
|
12
|
+
* failures.
|
|
13
|
+
*/
|
|
14
|
+
export declare function providerConnectionFailure(e: unknown, depth?: number): ProviderConnectionFailure | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* A sandbox provider call that could not reach the provider (the socket proxy, the Docker daemon,
|
|
17
|
+
* the E2B API is down or misaddressed). An ordinary error to the sandbox lifecycle (never "gone":
|
|
18
|
+
* a network blip must not rebuild the instance); the tools turn it into an actionable tool error.
|
|
19
|
+
* `cause` is the provider's error, unchanged.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SandboxProviderUnreachableError extends Error {
|
|
22
|
+
readonly failure: ProviderConnectionFailure;
|
|
23
|
+
constructor(failure: ProviderConnectionFailure, cause: unknown);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `impl` with every method's network-level failure rethrown as
|
|
27
|
+
* {@link SandboxProviderUnreachableError} (other errors and results unchanged): the one place a
|
|
28
|
+
* provider's connection failure is told apart from the kernel's own (database, Redis) failures.
|
|
29
|
+
*/
|
|
30
|
+
export declare function guardProviderConnection<P extends object>(impl: P): P;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { isFileSystemGoneError, isSandboxGoneError } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
/** Codes of a connection that was never made (node `net` / `dns`, undici). */
|
|
3
|
+
const CONNECT_CODES = new Set([
|
|
4
|
+
"ECONNREFUSED",
|
|
5
|
+
"ENOTFOUND",
|
|
6
|
+
"EAI_AGAIN",
|
|
7
|
+
"EHOSTUNREACH",
|
|
8
|
+
"EHOSTDOWN",
|
|
9
|
+
"ENETUNREACH",
|
|
10
|
+
"ENETDOWN",
|
|
11
|
+
"UND_ERR_CONNECT_TIMEOUT",
|
|
12
|
+
]);
|
|
13
|
+
/** Codes of a connection that broke after it was made. */
|
|
14
|
+
const DROPPED_CODES = new Set([
|
|
15
|
+
"ECONNRESET",
|
|
16
|
+
"ETIMEDOUT",
|
|
17
|
+
"EPIPE",
|
|
18
|
+
"ECONNABORTED",
|
|
19
|
+
"UND_ERR_SOCKET",
|
|
20
|
+
"UND_ERR_CLOSED",
|
|
21
|
+
]);
|
|
22
|
+
/** System calls that open a connection: any error code they fail with means no connection. */
|
|
23
|
+
const CONNECT_SYSCALLS = new Set(["connect", "getaddrinfo"]);
|
|
24
|
+
const MAX_DEPTH = 5;
|
|
25
|
+
/**
|
|
26
|
+
* Whether `e` is a network-level failure to reach the provider, and which kind. Providers may
|
|
27
|
+
* wrap the socket error (`fetch failed` with a `cause`, an `AggregateError` of one error per
|
|
28
|
+
* address, an SDK error with a `cause`), so the cause chain and `errors` are searched. The
|
|
29
|
+
* provider's own verdicts (`SandboxGoneError`, `FileSystemGoneError`) are never connection
|
|
30
|
+
* failures.
|
|
31
|
+
*/
|
|
32
|
+
export function providerConnectionFailure(e, depth = 0) {
|
|
33
|
+
if (depth > MAX_DEPTH || typeof e !== "object" || e === null)
|
|
34
|
+
return undefined;
|
|
35
|
+
if (isSandboxGoneError(e) || isFileSystemGoneError(e))
|
|
36
|
+
return undefined;
|
|
37
|
+
const { code, syscall, message, cause, errors } = e;
|
|
38
|
+
if (typeof code === "string") {
|
|
39
|
+
if (CONNECT_CODES.has(code))
|
|
40
|
+
return "connect";
|
|
41
|
+
if (typeof syscall === "string" && CONNECT_SYSCALLS.has(syscall))
|
|
42
|
+
return "connect";
|
|
43
|
+
if (DROPPED_CODES.has(code))
|
|
44
|
+
return "dropped";
|
|
45
|
+
}
|
|
46
|
+
if (typeof message === "string" && /socket hang up/i.test(message))
|
|
47
|
+
return "dropped";
|
|
48
|
+
let found;
|
|
49
|
+
if (Array.isArray(errors)) {
|
|
50
|
+
for (const inner of errors) {
|
|
51
|
+
const f = providerConnectionFailure(inner, depth + 1);
|
|
52
|
+
if (f === "dropped")
|
|
53
|
+
return f;
|
|
54
|
+
found ??= f;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return found ?? providerConnectionFailure(cause, depth + 1);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A sandbox provider call that could not reach the provider (the socket proxy, the Docker daemon,
|
|
61
|
+
* the E2B API is down or misaddressed). An ordinary error to the sandbox lifecycle (never "gone":
|
|
62
|
+
* a network blip must not rebuild the instance); the tools turn it into an actionable tool error.
|
|
63
|
+
* `cause` is the provider's error, unchanged.
|
|
64
|
+
*/
|
|
65
|
+
export class SandboxProviderUnreachableError extends Error {
|
|
66
|
+
failure;
|
|
67
|
+
constructor(failure, cause) {
|
|
68
|
+
const why = cause instanceof Error ? cause.message : String(cause);
|
|
69
|
+
super(`sandbox provider ${failure === "connect" ? "unreachable" : "connection dropped"}: ${why}`, { cause });
|
|
70
|
+
this.failure = failure;
|
|
71
|
+
this.name = "SandboxProviderUnreachableError";
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function converted(e) {
|
|
75
|
+
if (e instanceof SandboxProviderUnreachableError)
|
|
76
|
+
return e;
|
|
77
|
+
const failure = providerConnectionFailure(e);
|
|
78
|
+
return failure === undefined ? e : new SandboxProviderUnreachableError(failure, e);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* `impl` with every method's network-level failure rethrown as
|
|
82
|
+
* {@link SandboxProviderUnreachableError} (other errors and results unchanged): the one place a
|
|
83
|
+
* provider's connection failure is told apart from the kernel's own (database, Redis) failures.
|
|
84
|
+
*/
|
|
85
|
+
export function guardProviderConnection(impl) {
|
|
86
|
+
return new Proxy(impl, {
|
|
87
|
+
get(target, prop) {
|
|
88
|
+
const value = Reflect.get(target, prop, target);
|
|
89
|
+
if (typeof value !== "function")
|
|
90
|
+
return value;
|
|
91
|
+
return (...args) => {
|
|
92
|
+
let r;
|
|
93
|
+
try {
|
|
94
|
+
r = value.apply(target, args);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
throw converted(e);
|
|
98
|
+
}
|
|
99
|
+
if (r instanceof Promise) {
|
|
100
|
+
return r.catch((e) => {
|
|
101
|
+
throw converted(e);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return r;
|
|
105
|
+
};
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type SetupCheckResult, type SetupCheckText } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type OnModuleInit } from "@nestjs/common";
|
|
3
|
+
import type { Redis } from "ioredis";
|
|
4
|
+
import { webhookBase } from "../channels/webhook-url.js";
|
|
5
|
+
import type { KernelConfig } from "../config/schema.js";
|
|
6
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
7
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
8
|
+
import { Credentials } from "../tools/credentials.js";
|
|
9
|
+
import { SetupCheckRegistry } from "./setup-check-registry.js";
|
|
10
|
+
/** The fixed texts of the kernel checks (only `last_error` and a time are ever interpolated). */
|
|
11
|
+
export declare const KERNEL_CHECK_TEXTS: {
|
|
12
|
+
readonly publicUrlSet: SetupCheckText;
|
|
13
|
+
readonly publicUrlMissing: SetupCheckText;
|
|
14
|
+
readonly publicUrlFix: SetupCheckText;
|
|
15
|
+
readonly webhookPublic: SetupCheckText;
|
|
16
|
+
readonly webhookBaseMissing: SetupCheckText;
|
|
17
|
+
readonly webhookBaseFix: SetupCheckText;
|
|
18
|
+
readonly webhookNone: SetupCheckText;
|
|
19
|
+
readonly connectionGone: SetupCheckText;
|
|
20
|
+
readonly connectionDisabled: SetupCheckText;
|
|
21
|
+
readonly connectionEnableFix: SetupCheckText;
|
|
22
|
+
readonly connectionFailed: SetupCheckText;
|
|
23
|
+
readonly connectionFix: SetupCheckText;
|
|
24
|
+
readonly connectionPending: SetupCheckText;
|
|
25
|
+
readonly connectionActive: SetupCheckText;
|
|
26
|
+
readonly connectorGone: SetupCheckText;
|
|
27
|
+
readonly notOAuthCode: SetupCheckText;
|
|
28
|
+
readonly dcr: SetupCheckText;
|
|
29
|
+
readonly clientStored: SetupCheckText;
|
|
30
|
+
readonly clientMissing: SetupCheckText;
|
|
31
|
+
readonly clientFix: SetupCheckText;
|
|
32
|
+
readonly noClient: SetupCheckText;
|
|
33
|
+
readonly toolsRead: SetupCheckText;
|
|
34
|
+
readonly toolsPending: SetupCheckText;
|
|
35
|
+
readonly connected: SetupCheckText;
|
|
36
|
+
readonly notConnected: SetupCheckText;
|
|
37
|
+
readonly connectFix: SetupCheckText;
|
|
38
|
+
readonly publicUrlFirst: SetupCheckText;
|
|
39
|
+
};
|
|
40
|
+
/** `capybara:public-url`: `http.publicUrl` is set. */
|
|
41
|
+
export declare function publicUrlCheck(config: Pick<KernelConfig, "http">): SetupCheckResult;
|
|
42
|
+
/**
|
|
43
|
+
* `capybara:webhook-public`: webhook callback URLs have a usable https base. The kernel builds
|
|
44
|
+
* them from `channels.webhookBaseUrl` only (`webhook-url.ts`), never from `http.publicUrl`, so
|
|
45
|
+
* that is what is checked; a loopback http base (tests only) is not public.
|
|
46
|
+
*/
|
|
47
|
+
export declare function webhookPublicCheck(config: Parameters<typeof webhookBase>[0]): SetupCheckResult;
|
|
48
|
+
/** `capybara:webhook-received`: the marker the gateway sets on an accepted webhook, or none. */
|
|
49
|
+
export declare function webhookReceivedResult(seenAt: string | null): SetupCheckResult;
|
|
50
|
+
/**
|
|
51
|
+
* `capybara:connection-active`: active with a bot identity and no recorded error is ok. A recorded
|
|
52
|
+
* `last_error` (status `error`, or a failure an active connection keeps retrying) is failing with
|
|
53
|
+
* that text, redacted by every secret the result is redacted by and kept only when the result
|
|
54
|
+
* with it passes the result validation (control, bidi and lone surrogate rules, length);
|
|
55
|
+
* otherwise the reason leaves it out. The kernel pipeline validates and redacts the result again.
|
|
56
|
+
*/
|
|
57
|
+
export declare function connectionActiveResult(row: {
|
|
58
|
+
status: string;
|
|
59
|
+
botUserId: string | null;
|
|
60
|
+
lastError: string | null;
|
|
61
|
+
} | undefined, secrets: readonly string[]): SetupCheckResult;
|
|
62
|
+
/**
|
|
63
|
+
* Registers the kernel checks on module init (static code, the same on every replica). Each reads
|
|
64
|
+
* only the target the service resolved (ids of the caller's org, after authorization) and never
|
|
65
|
+
* writes; `capybara:oauth-token-endpoint` is the only one that leaves the kernel (§10.6).
|
|
66
|
+
*/
|
|
67
|
+
export declare class KernelChecks implements OnModuleInit {
|
|
68
|
+
private readonly registry;
|
|
69
|
+
private readonly config;
|
|
70
|
+
private readonly db;
|
|
71
|
+
private readonly redis;
|
|
72
|
+
private readonly credentials;
|
|
73
|
+
constructor(registry: SetupCheckRegistry, config: Pick<KernelConfigService, "get">, db: KernelDb, redis: Pick<Redis, "get">, credentials: Pick<Credentials, "oauthClient" | "status">);
|
|
74
|
+
onModuleInit(): void;
|
|
75
|
+
private webhookReceived;
|
|
76
|
+
private connectionActive;
|
|
77
|
+
/** The connector's auth settings (a live connector of the caller's org), or undefined. */
|
|
78
|
+
private connectorAuth;
|
|
79
|
+
private oauthClient;
|
|
80
|
+
private connectorTools;
|
|
81
|
+
/** The caller's own credential (cached per account, as every kernel check). */
|
|
82
|
+
private connectorConnected;
|
|
83
|
+
/**
|
|
84
|
+
* The token endpoint probe for a manual OAuth client (`oauth-token-probe.ts`): the stored
|
|
85
|
+
* client record is the connect flow's (its `tokenEndpoint` came from discovery or the
|
|
86
|
+
* template's `tokenUrl` at install, its auth method from `tokenAuthMethod`), the redirect URI
|
|
87
|
+
* is the connect flow's callback URL. Runs per admin (kernel checks are cached per account);
|
|
88
|
+
* each run is one token request, inside the per-account rate limit and the org's cap.
|
|
89
|
+
*/
|
|
90
|
+
private tokenEndpoint;
|
|
91
|
+
}
|
|
@@ -0,0 +1,295 @@
|
|
|
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
|
+
// The kernel's own setup checks, `capybara:*` (spec 2026-11-09-setup-guides-v2-design.md §10.6):
|
|
11
|
+
// answered from the kernel's state with no plugin code, usable by any guide of their place. They go
|
|
12
|
+
// through the same `SetupChecksService` pipeline as plugin checks (authorization, the rendered
|
|
13
|
+
// guide, cache, single flight, the org's concurrency cap, the time limit, validate / redact /
|
|
14
|
+
// validate), and are cached per account like every kernel check.
|
|
15
|
+
import { validateSetupCheckResult, } from "@capybara-hq/plugin-sdk";
|
|
16
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
17
|
+
import { webhookSeenKey } from "../channels/webhook.js";
|
|
18
|
+
import { webhookBase } from "../channels/webhook-url.js";
|
|
19
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
20
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
21
|
+
import { REDIS } from "../infra/tokens.js";
|
|
22
|
+
import { Credentials } from "../tools/credentials.js";
|
|
23
|
+
import { callbackUrl } from "../tools/oauth/flow-paths.js";
|
|
24
|
+
import { probeNetPolicy, probeTokenEndpoint } from "./oauth-token-probe.js";
|
|
25
|
+
import { checkRedactor } from "./redact-check.js";
|
|
26
|
+
import { SetupCheckRegistry } from "./setup-check-registry.js";
|
|
27
|
+
const text = (en, zh) => ({ en, zh });
|
|
28
|
+
/** The fixed texts of the kernel checks (only `last_error` and a time are ever interpolated). */
|
|
29
|
+
export const KERNEL_CHECK_TEXTS = {
|
|
30
|
+
publicUrlSet: text("The public URL (http.publicUrl) is set.", "公开地址(http.publicUrl)已设置。"),
|
|
31
|
+
publicUrlMissing: text("The public URL (http.publicUrl) is not set.", "公开地址(http.publicUrl)没有设置。"),
|
|
32
|
+
publicUrlFix: text("Ask your super admin to set http.publicUrl.", "请超级管理员设置 http.publicUrl。"),
|
|
33
|
+
webhookPublic: text("Webhook callbacks have a public https address (channels.webhookBaseUrl).", "Webhook 回调有公开的 https 地址(channels.webhookBaseUrl)。"),
|
|
34
|
+
webhookBaseMissing: text("No public https address is set for webhook callbacks (channels.webhookBaseUrl).", "没有为 Webhook 回调设置公开的 https 地址(channels.webhookBaseUrl)。"),
|
|
35
|
+
webhookBaseFix: text("Ask your super admin to set channels.webhookBaseUrl to an https address that reaches the gateway.", "请超级管理员把 channels.webhookBaseUrl 设置为能到达网关的 https 地址。"),
|
|
36
|
+
webhookNone: text("No verified webhook request has arrived in the last 7 days.", "最近 7 天没有收到通过校验的 Webhook 请求。"),
|
|
37
|
+
connectionGone: text("The connection was not found.", "找不到这个连接。"),
|
|
38
|
+
connectionDisabled: text("The connection is disabled.", "这个连接已停用。"),
|
|
39
|
+
connectionEnableFix: text("Enable the connection.", "启用这个连接。"),
|
|
40
|
+
connectionFailed: text("The connection reported an error.", "这个连接报告了错误。"),
|
|
41
|
+
connectionFix: text("Check the credentials on this page and save them again.", "检查本页的凭据并重新保存。"),
|
|
42
|
+
connectionPending: text("The connection has not reported its bot identity yet; retry in a moment.", "这个连接还没有报告机器人身份,请稍后重试。"),
|
|
43
|
+
connectionActive: text("The connection is active.", "这个连接正常运行。"),
|
|
44
|
+
connectorGone: text("The connector was not found.", "找不到这个连接器。"),
|
|
45
|
+
notOAuthCode: text("This connector does not use an OAuth client.", "这个连接器不使用 OAuth 客户端。"),
|
|
46
|
+
dcr: text("Registered automatically; nothing to check.", "客户端是自动注册的,无需检查。"),
|
|
47
|
+
clientStored: text("The OAuth client id and secret are stored.", "OAuth 客户端 ID 和密钥已保存。"),
|
|
48
|
+
clientMissing: text("The OAuth client id or secret is not stored.", "OAuth 客户端 ID 或密钥没有保存。"),
|
|
49
|
+
clientFix: text("Enter the Client ID and Client Secret on the connector's page.", "在连接器页面填写 Client ID 和 Client Secret。"),
|
|
50
|
+
noClient: text("No OAuth client is stored yet.", "还没有保存 OAuth 客户端。"),
|
|
51
|
+
toolsRead: text("The connector's tool list has been read.", "已读取这个连接器的工具清单。"),
|
|
52
|
+
toolsPending: text("The tool list is read when the first member connects.", "第一位成员连接后会读取工具清单。"),
|
|
53
|
+
connected: text("You are connected.", "你已连接。"),
|
|
54
|
+
notConnected: text("You have not connected your account yet.", "你还没有连接自己的账号。"),
|
|
55
|
+
connectFix: text("Select Connect and sign in.", "选择「连接」并登录。"),
|
|
56
|
+
publicUrlFirst: text("The callback URL needs http.publicUrl; ask your super admin to set it.", "回调地址需要 http.publicUrl,请超级管理员设置。"),
|
|
57
|
+
};
|
|
58
|
+
/** `capybara:public-url`: `http.publicUrl` is set. */
|
|
59
|
+
export function publicUrlCheck(config) {
|
|
60
|
+
return config.http.publicUrl
|
|
61
|
+
? { status: "ok", reason: KERNEL_CHECK_TEXTS.publicUrlSet }
|
|
62
|
+
: {
|
|
63
|
+
status: "failing",
|
|
64
|
+
reason: KERNEL_CHECK_TEXTS.publicUrlMissing,
|
|
65
|
+
fix: KERNEL_CHECK_TEXTS.publicUrlFix,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* `capybara:webhook-public`: webhook callback URLs have a usable https base. The kernel builds
|
|
70
|
+
* them from `channels.webhookBaseUrl` only (`webhook-url.ts`), never from `http.publicUrl`, so
|
|
71
|
+
* that is what is checked; a loopback http base (tests only) is not public.
|
|
72
|
+
*/
|
|
73
|
+
export function webhookPublicCheck(config) {
|
|
74
|
+
const base = webhookBase(config);
|
|
75
|
+
return base?.startsWith("https://")
|
|
76
|
+
? { status: "ok", reason: KERNEL_CHECK_TEXTS.webhookPublic }
|
|
77
|
+
: {
|
|
78
|
+
status: "failing",
|
|
79
|
+
reason: KERNEL_CHECK_TEXTS.webhookBaseMissing,
|
|
80
|
+
fix: KERNEL_CHECK_TEXTS.webhookBaseFix,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/** `capybara:webhook-received`: the marker the gateway sets on an accepted webhook, or none. */
|
|
84
|
+
export function webhookReceivedResult(seenAt) {
|
|
85
|
+
const at = seenAt === null ? Number.NaN : Date.parse(seenAt);
|
|
86
|
+
if (Number.isNaN(at))
|
|
87
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.webhookNone };
|
|
88
|
+
const iso = new Date(at).toISOString();
|
|
89
|
+
return {
|
|
90
|
+
status: "ok",
|
|
91
|
+
reason: text(`A verified webhook request arrived at ${iso}.`, `${iso} 收到过通过校验的 Webhook 请求。`),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/** The most of `last_error` a reason carries (after redaction). */
|
|
95
|
+
const LAST_ERROR_CHARS = 200;
|
|
96
|
+
/**
|
|
97
|
+
* `last_error` fit for a reason: redacted over the whole text first by every secret the result is
|
|
98
|
+
* redacted by (the connection's and the plugin's config secrets: a cut never leaves part of a
|
|
99
|
+
* secret behind), then cut to {@link LAST_ERROR_CHARS} code points.
|
|
100
|
+
*/
|
|
101
|
+
function lastErrorText(lastError, secrets) {
|
|
102
|
+
const redacted = checkRedactor(secrets)(lastError);
|
|
103
|
+
const points = [...redacted];
|
|
104
|
+
return points.length > LAST_ERROR_CHARS
|
|
105
|
+
? `${points.slice(0, LAST_ERROR_CHARS).join("")}…`
|
|
106
|
+
: redacted;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* `capybara:connection-active`: active with a bot identity and no recorded error is ok. A recorded
|
|
110
|
+
* `last_error` (status `error`, or a failure an active connection keeps retrying) is failing with
|
|
111
|
+
* that text, redacted by every secret the result is redacted by and kept only when the result
|
|
112
|
+
* with it passes the result validation (control, bidi and lone surrogate rules, length);
|
|
113
|
+
* otherwise the reason leaves it out. The kernel pipeline validates and redacts the result again.
|
|
114
|
+
*/
|
|
115
|
+
export function connectionActiveResult(row, secrets) {
|
|
116
|
+
if (!row)
|
|
117
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.connectionGone };
|
|
118
|
+
if (row.status === "disabled") {
|
|
119
|
+
return {
|
|
120
|
+
status: "failing",
|
|
121
|
+
reason: KERNEL_CHECK_TEXTS.connectionDisabled,
|
|
122
|
+
fix: KERNEL_CHECK_TEXTS.connectionEnableFix,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (row.status === "error" || (row.lastError !== null && row.lastError !== "")) {
|
|
126
|
+
const generic = {
|
|
127
|
+
status: "failing",
|
|
128
|
+
reason: KERNEL_CHECK_TEXTS.connectionFailed,
|
|
129
|
+
fix: KERNEL_CHECK_TEXTS.connectionFix,
|
|
130
|
+
};
|
|
131
|
+
if (row.lastError === null || row.lastError === "")
|
|
132
|
+
return generic;
|
|
133
|
+
const detail = lastErrorText(row.lastError, secrets);
|
|
134
|
+
const withError = validateSetupCheckResult({
|
|
135
|
+
...generic,
|
|
136
|
+
reason: text(`The connection reported an error: ${detail}`, `这个连接报告了错误:${detail}`),
|
|
137
|
+
});
|
|
138
|
+
return "problem" in withError ? generic : withError;
|
|
139
|
+
}
|
|
140
|
+
if (row.botUserId === null || row.botUserId === "") {
|
|
141
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.connectionPending };
|
|
142
|
+
}
|
|
143
|
+
return { status: "ok", reason: KERNEL_CHECK_TEXTS.connectionActive };
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Registers the kernel checks on module init (static code, the same on every replica). Each reads
|
|
147
|
+
* only the target the service resolved (ids of the caller's org, after authorization) and never
|
|
148
|
+
* writes; `capybara:oauth-token-endpoint` is the only one that leaves the kernel (§10.6).
|
|
149
|
+
*/
|
|
150
|
+
let KernelChecks = class KernelChecks {
|
|
151
|
+
registry;
|
|
152
|
+
config;
|
|
153
|
+
db;
|
|
154
|
+
redis;
|
|
155
|
+
credentials;
|
|
156
|
+
constructor(registry, config, db, redis, credentials) {
|
|
157
|
+
this.registry = registry;
|
|
158
|
+
this.config = config;
|
|
159
|
+
this.db = db;
|
|
160
|
+
this.redis = redis;
|
|
161
|
+
this.credentials = credentials;
|
|
162
|
+
}
|
|
163
|
+
onModuleInit() {
|
|
164
|
+
const r = this.registry;
|
|
165
|
+
r.registerKernel("capybara:public-url", "any", async () => publicUrlCheck(this.config.get()));
|
|
166
|
+
r.registerKernel("capybara:webhook-public", "channel-connection", async () => webhookPublicCheck(this.config.get()));
|
|
167
|
+
r.registerKernel("capybara:webhook-received", "channel-connection", (a) => this.webhookReceived(a));
|
|
168
|
+
r.registerKernel("capybara:connection-active", "channel-connection", (a) => this.connectionActive(a));
|
|
169
|
+
r.registerKernel("capybara:oauth-client", "connector-template", (a) => this.oauthClient(a));
|
|
170
|
+
r.registerKernel("capybara:connector-tools", "connector-template", (a) => this.connectorTools(a));
|
|
171
|
+
r.registerKernel("capybara:connector-connected", "connector-template", (a) => this.connectorConnected(a));
|
|
172
|
+
r.registerKernel("capybara:oauth-token-endpoint", "connector-template", (a) => this.tokenEndpoint(a));
|
|
173
|
+
}
|
|
174
|
+
async webhookReceived(a) {
|
|
175
|
+
if (a.target.kind !== "channel-connection")
|
|
176
|
+
return notApplicable();
|
|
177
|
+
return webhookReceivedResult(await this.redis.get(webhookSeenKey(a.target.connectionId)));
|
|
178
|
+
}
|
|
179
|
+
async connectionActive(a) {
|
|
180
|
+
if (a.target.kind !== "channel-connection")
|
|
181
|
+
return notApplicable();
|
|
182
|
+
const row = await this.db
|
|
183
|
+
.selectFrom("channel_connections")
|
|
184
|
+
.select(["status", "bot_user_id", "last_error"])
|
|
185
|
+
.where("id", "=", a.target.connectionId)
|
|
186
|
+
.where("org_id", "=", a.orgId)
|
|
187
|
+
.where("plugin", "=", a.target.plugin)
|
|
188
|
+
.where("deleted_at", "is", null)
|
|
189
|
+
.executeTakeFirst();
|
|
190
|
+
return connectionActiveResult(row && { status: row.status, botUserId: row.bot_user_id, lastError: row.last_error }, a.secrets);
|
|
191
|
+
}
|
|
192
|
+
/** The connector's auth settings (a live connector of the caller's org), or undefined. */
|
|
193
|
+
async connectorAuth(a) {
|
|
194
|
+
if (a.target.kind !== "connector")
|
|
195
|
+
return undefined;
|
|
196
|
+
const row = await this.db
|
|
197
|
+
.selectFrom("connectors")
|
|
198
|
+
.select("auth")
|
|
199
|
+
.where("id", "=", a.target.connectorId)
|
|
200
|
+
.where("org_id", "=", a.orgId)
|
|
201
|
+
.where("deleted_at", "is", null)
|
|
202
|
+
.executeTakeFirst();
|
|
203
|
+
return row ? row.auth : undefined;
|
|
204
|
+
}
|
|
205
|
+
async oauthClient(a) {
|
|
206
|
+
const auth = await this.connectorAuth(a);
|
|
207
|
+
if (!auth || a.target.kind !== "connector")
|
|
208
|
+
return connectorGone();
|
|
209
|
+
if (auth.type !== "oauth_code")
|
|
210
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.notOAuthCode };
|
|
211
|
+
if (auth.client === "dcr")
|
|
212
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.dcr };
|
|
213
|
+
const client = await this.credentials.oauthClient(a.orgId, a.target.connectorId);
|
|
214
|
+
return client && client.clientId !== "" && client.clientSecret
|
|
215
|
+
? { status: "ok", reason: KERNEL_CHECK_TEXTS.clientStored }
|
|
216
|
+
: {
|
|
217
|
+
status: "failing",
|
|
218
|
+
reason: KERNEL_CHECK_TEXTS.clientMissing,
|
|
219
|
+
fix: KERNEL_CHECK_TEXTS.clientFix,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
async connectorTools(a) {
|
|
223
|
+
if (a.target.kind !== "connector" || !(await this.connectorAuth(a)))
|
|
224
|
+
return connectorGone();
|
|
225
|
+
const tool = await this.db
|
|
226
|
+
.selectFrom("connector_tools")
|
|
227
|
+
.select("name")
|
|
228
|
+
.where("connector_id", "=", a.target.connectorId)
|
|
229
|
+
.limit(1)
|
|
230
|
+
.executeTakeFirst();
|
|
231
|
+
return tool
|
|
232
|
+
? { status: "ok", reason: KERNEL_CHECK_TEXTS.toolsRead }
|
|
233
|
+
: { status: "unknown", reason: KERNEL_CHECK_TEXTS.toolsPending };
|
|
234
|
+
}
|
|
235
|
+
/** The caller's own credential (cached per account, as every kernel check). */
|
|
236
|
+
async connectorConnected(a) {
|
|
237
|
+
const auth = await this.connectorAuth(a);
|
|
238
|
+
if (!auth || a.target.kind !== "connector")
|
|
239
|
+
return connectorGone();
|
|
240
|
+
const s = await this.credentials.status(a.orgId, a.target.connectorId, auth, a.accountId);
|
|
241
|
+
return s === "connected"
|
|
242
|
+
? { status: "ok", reason: KERNEL_CHECK_TEXTS.connected }
|
|
243
|
+
: {
|
|
244
|
+
status: "failing",
|
|
245
|
+
reason: KERNEL_CHECK_TEXTS.notConnected,
|
|
246
|
+
fix: KERNEL_CHECK_TEXTS.connectFix,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* The token endpoint probe for a manual OAuth client (`oauth-token-probe.ts`): the stored
|
|
251
|
+
* client record is the connect flow's (its `tokenEndpoint` came from discovery or the
|
|
252
|
+
* template's `tokenUrl` at install, its auth method from `tokenAuthMethod`), the redirect URI
|
|
253
|
+
* is the connect flow's callback URL. Runs per admin (kernel checks are cached per account);
|
|
254
|
+
* each run is one token request, inside the per-account rate limit and the org's cap.
|
|
255
|
+
*/
|
|
256
|
+
async tokenEndpoint(a) {
|
|
257
|
+
const auth = await this.connectorAuth(a);
|
|
258
|
+
if (!auth || a.target.kind !== "connector")
|
|
259
|
+
return connectorGone();
|
|
260
|
+
if (auth.type !== "oauth_code")
|
|
261
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.notOAuthCode };
|
|
262
|
+
if (auth.client === "dcr")
|
|
263
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.dcr };
|
|
264
|
+
const config = this.config.get();
|
|
265
|
+
const publicUrl = config.http.publicUrl;
|
|
266
|
+
if (!publicUrl)
|
|
267
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.publicUrlFirst };
|
|
268
|
+
const client = await this.credentials.oauthClient(a.orgId, a.target.connectorId);
|
|
269
|
+
if (!client)
|
|
270
|
+
return { status: "unknown", reason: KERNEL_CHECK_TEXTS.noClient };
|
|
271
|
+
return probeTokenEndpoint({
|
|
272
|
+
client,
|
|
273
|
+
redirectUri: callbackUrl(publicUrl),
|
|
274
|
+
net: probeNetPolicy(config),
|
|
275
|
+
signal: a.signal,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
KernelChecks = __decorate([
|
|
280
|
+
Injectable(),
|
|
281
|
+
__param(0, Inject(SetupCheckRegistry)),
|
|
282
|
+
__param(1, Inject(KernelConfigService)),
|
|
283
|
+
__param(2, Inject(KernelDb)),
|
|
284
|
+
__param(3, Inject(REDIS)),
|
|
285
|
+
__param(4, Inject(Credentials))
|
|
286
|
+
], KernelChecks);
|
|
287
|
+
export { KernelChecks };
|
|
288
|
+
const notApplicable = () => ({
|
|
289
|
+
status: "unknown",
|
|
290
|
+
reason: text("This check does not apply on this page.", "这项检查不适用于本页面。"),
|
|
291
|
+
});
|
|
292
|
+
const connectorGone = () => ({
|
|
293
|
+
status: "unknown",
|
|
294
|
+
reason: KERNEL_CHECK_TEXTS.connectorGone,
|
|
295
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { SetupCheckResult, SetupCheckText } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import type { KernelConfig } from "../config/schema.js";
|
|
3
|
+
import type { NetPolicy } from "../net/public-address.js";
|
|
4
|
+
import { safeFetch } from "../net/safe-fetch.js";
|
|
5
|
+
import { type OAuthClientRecord } from "../tools/oauth/tokens.js";
|
|
6
|
+
/** The authorization code the probe sends: never a code any server issued. */
|
|
7
|
+
export declare const PROBE_CODE = "capybara-setup-probe";
|
|
8
|
+
/** The probe's fixed texts: nothing a token endpoint sends ever reaches a result. */
|
|
9
|
+
export declare const PROBE_TEXTS: {
|
|
10
|
+
readonly accepted: SetupCheckText;
|
|
11
|
+
readonly clientRefused: SetupCheckText;
|
|
12
|
+
readonly clientFix: SetupCheckText;
|
|
13
|
+
readonly redirectRefused: SetupCheckText;
|
|
14
|
+
readonly unknown: SetupCheckText;
|
|
15
|
+
readonly netDenied: SetupCheckText;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* The fix of a redirect refusal: the kernel-built callback URL (never anything the endpoint
|
|
19
|
+
* said): `http.publicUrl` + the fixed callback path. (A public URL so long that the fix passes
|
|
20
|
+
* its limit makes the result invalid, which the kernel answers as unknown.)
|
|
21
|
+
*/
|
|
22
|
+
export declare const redirectFix: (callbackUrl: string) => SetupCheckText;
|
|
23
|
+
/**
|
|
24
|
+
* The network rules of the probe: the deployment's egress proxy (`net.httpsProxy` /
|
|
25
|
+
* `net.noProxy`), its private host exemptions (`marketplaces.allowPrivateHosts`, the one list of
|
|
26
|
+
* internal hosts the kernel may reach) and loopback http only under
|
|
27
|
+
* `tools.oauthAllowInsecureLoopback` (tests), as for every other OAuth URL.
|
|
28
|
+
*/
|
|
29
|
+
export declare function probeNetPolicy(config: KernelConfig): NetPolicy;
|
|
30
|
+
export interface TokenProbeInput {
|
|
31
|
+
/** The stored client: its `tokenEndpoint` is the one the connect flow posts codes to. */
|
|
32
|
+
client: OAuthClientRecord;
|
|
33
|
+
/** The connect flow's redirect URI (`http.publicUrl` + the callback path). */
|
|
34
|
+
redirectUri: string;
|
|
35
|
+
net: NetPolicy;
|
|
36
|
+
/** The run's signal (the kernel's time limit). */
|
|
37
|
+
signal: AbortSignal;
|
|
38
|
+
/** Tests only: the network calls (defaults to {@link safeFetch}). */
|
|
39
|
+
fetch?: typeof safeFetch;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Probes the token endpoint (spec §10.6 table): `invalid_grant` / Slack `invalid_code` → ok; a
|
|
43
|
+
* refused client (or any other 401) → failing with the copy-again fix; a refused redirect URI →
|
|
44
|
+
* failing with the callback URL; anything else (429, 5xx, a network error, a redirect, a 2xx) →
|
|
45
|
+
* unknown. Never throws, never logs; the answer is read only for its refusal code and dropped.
|
|
46
|
+
*/
|
|
47
|
+
export declare function probeTokenEndpoint(input: TokenProbeInput): Promise<SetupCheckResult>;
|