@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap.json +94 -5
- package/dist/admin/admin-agents.controller.d.ts +28 -0
- package/dist/admin/admin-agents.controller.js +79 -0
- package/dist/admin/admin-connectors.controller.d.ts +29 -0
- package/dist/admin/admin-connectors.controller.js +79 -0
- package/dist/admin/admin-items.schemas.d.ts +42 -0
- package/dist/admin/admin-items.schemas.js +48 -0
- package/dist/admin/admin.controller.d.ts +52 -80
- package/dist/admin/admin.controller.js +112 -81
- package/dist/admin/admin.module.d.ts +4 -1
- package/dist/admin/admin.module.js +50 -4
- package/dist/admin/admin.schemas.d.ts +69 -0
- package/dist/admin/admin.schemas.js +53 -0
- package/dist/admin/audit.controller.d.ts +14 -0
- package/dist/admin/audit.controller.js +42 -0
- package/dist/admin/audit.schemas.d.ts +8 -0
- package/dist/admin/audit.schemas.js +17 -0
- package/dist/admin/extensions.controller.d.ts +34 -3
- package/dist/admin/extensions.controller.js +66 -8
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/health.service.d.ts +104 -0
- package/dist/admin/health.service.js +246 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/overview.controller.d.ts +31 -0
- package/dist/admin/overview.controller.js +78 -0
- package/dist/admin/overview.schemas.d.ts +8 -0
- package/dist/admin/overview.schemas.js +13 -0
- package/dist/admin/overview.service.d.ts +112 -0
- package/dist/admin/overview.service.js +223 -0
- package/dist/admin/platform-audit.service.d.ts +41 -0
- package/dist/admin/platform-audit.service.js +70 -0
- package/dist/admin/setup-lock.d.ts +1 -1
- package/dist/admin/setup-lock.js +1 -1
- package/dist/admin/setup.controller.d.ts +1 -1
- package/dist/admin/setup.controller.js +1 -1
- package/dist/admin/setup.service.d.ts +4 -4
- package/dist/admin/setup.service.js +8 -8
- package/dist/admin/usage.service.d.ts +149 -0
- package/dist/admin/usage.service.js +321 -0
- package/dist/agents/admin-agents.d.ts +92 -0
- package/dist/agents/admin-agents.js +170 -0
- package/dist/agents/agent-lookup.d.ts +24 -0
- package/dist/agents/agent-lookup.js +46 -2
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +53 -168
- package/dist/agents/agents.controller.js +163 -34
- package/dist/agents/agents.module.d.ts +6 -2
- package/dist/agents/agents.module.js +41 -7
- package/dist/agents/agents.schemas.d.ts +392 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +121 -36
- package/dist/agents/agents.service.js +411 -121
- package/dist/agents/definition.d.ts +142 -21
- package/dist/agents/definition.js +389 -43
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +876 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +77 -5
- package/dist/agents/templates.controller.js +153 -7
- package/dist/agents/templates.d.ts +127 -23
- package/dist/agents/templates.js +482 -44
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +109 -0
- package/dist/background/tasks.service.js +271 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +136 -52
- package/dist/catalog/admin-catalog.controller.js +275 -65
- package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
- package/dist/catalog/admin-catalog.schemas.js +99 -0
- package/dist/catalog/appearance.schemas.d.ts +10 -0
- package/dist/catalog/appearance.schemas.js +20 -0
- package/dist/catalog/appearance.service.d.ts +105 -0
- package/dist/catalog/appearance.service.js +306 -0
- package/dist/catalog/catalog-content.d.ts +122 -35
- package/dist/catalog/catalog-content.js +122 -14
- package/dist/catalog/catalog-files.d.ts +42 -0
- package/dist/catalog/catalog-files.js +89 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +63 -0
- package/dist/catalog/catalog-items.d.ts +122 -7
- package/dist/catalog/catalog-items.js +301 -13
- package/dist/catalog/catalog-scope.service.d.ts +293 -0
- package/dist/catalog/catalog-scope.service.js +1236 -0
- package/dist/catalog/catalog.module.d.ts +7 -9
- package/dist/catalog/catalog.module.js +47 -31
- package/dist/catalog/catalog.service.d.ts +122 -31
- package/dist/catalog/catalog.service.js +177 -105
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/claude/translate.js +3 -0
- package/dist/catalog/cli.d.ts +11 -1
- package/dist/catalog/cli.js +29 -1
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +102 -0
- package/dist/catalog/component-scope.controller.js +257 -0
- package/dist/catalog/component-scope.schemas.d.ts +118 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +394 -0
- package/dist/catalog/component-scope.service.js +1133 -0
- package/dist/catalog/component-state.d.ts +207 -0
- package/dist/catalog/component-state.js +484 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +30 -0
- package/dist/catalog/job-ids.js +25 -0
- package/dist/catalog/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +50 -41
- package/dist/catalog/marketplaces.controller.js +130 -46
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +110 -17
- package/dist/catalog/marketplaces.service.js +337 -29
- package/dist/catalog/org-catalog.controller.d.ts +114 -62
- package/dist/catalog/org-catalog.controller.js +191 -98
- package/dist/catalog/org-catalog.schemas.d.ts +104 -0
- package/dist/catalog/org-catalog.schemas.js +107 -0
- package/dist/catalog/org-catalog.service.d.ts +72 -33
- package/dist/catalog/org-catalog.service.js +367 -158
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +133 -0
- package/dist/catalog/org-extension.controller.js +313 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +808 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +243 -0
- package/dist/catalog/platform-components.js +872 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +583 -0
- package/dist/catalog/plugin-import.d.ts +254 -47
- package/dist/catalog/plugin-import.js +810 -112
- package/dist/catalog/plugin-install.d.ts +205 -42
- package/dist/catalog/plugin-install.js +828 -126
- package/dist/catalog/plugin-package.d.ts +43 -4
- package/dist/catalog/plugin-package.js +194 -7
- package/dist/catalog/plugin-upgrade.d.ts +308 -225
- package/dist/catalog/plugin-upgrade.js +1325 -1131
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +194 -118
- package/dist/catalog/requests.service.js +530 -343
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +119 -0
- package/dist/channels/actions.js +10 -3
- package/dist/channels/cards.d.ts +36 -10
- package/dist/channels/cards.js +100 -25
- package/dist/channels/channels.module.js +13 -2
- package/dist/channels/channels.schemas.d.ts +41 -0
- package/dist/channels/channels.schemas.js +40 -0
- package/dist/channels/connections.controller.d.ts +46 -37
- package/dist/channels/connections.controller.js +76 -34
- package/dist/channels/connections.service.d.ts +102 -10
- package/dist/channels/connections.service.js +271 -24
- package/dist/channels/inbound.d.ts +11 -1
- package/dist/channels/inbound.js +87 -7
- package/dist/channels/outbound.d.ts +14 -1
- package/dist/channels/outbound.js +64 -15
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +2 -0
- package/dist/channels/supervisor.js +4 -0
- package/dist/channels/threads.d.ts +5 -0
- package/dist/channels/threads.js +8 -0
- package/dist/channels/webhook.d.ts +21 -1
- package/dist/channels/webhook.js +39 -4
- package/dist/client/client-access.service.d.ts +102 -0
- package/dist/client/client-access.service.js +303 -0
- package/dist/client/client-builds.service.d.ts +109 -0
- package/dist/client/client-builds.service.js +229 -0
- package/dist/client/client-delivery.controller.d.ts +25 -0
- package/dist/client/client-delivery.controller.js +66 -0
- package/dist/client/client-files.d.ts +48 -0
- package/dist/client/client-files.js +136 -0
- package/dist/client/client-reports.cron.d.ts +13 -0
- package/dist/client/client-reports.cron.js +42 -0
- package/dist/client/client-reports.service.d.ts +30 -0
- package/dist/client/client-reports.service.js +102 -0
- package/dist/client/client-sign-in.service.d.ts +21 -0
- package/dist/client/client-sign-in.service.js +49 -0
- package/dist/client/client.controller.d.ts +49 -0
- package/dist/client/client.controller.js +129 -0
- package/dist/client/client.module.d.ts +8 -0
- package/dist/client/client.module.js +28 -0
- package/dist/client/client.schemas.d.ts +61 -0
- package/dist/client/client.schemas.js +27 -0
- package/dist/config/docs.js +5 -1
- package/dist/config/schema.d.ts +35 -2
- package/dist/config/schema.js +216 -21
- package/dist/conversations/access.d.ts +6 -4
- package/dist/conversations/access.js +29 -5
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -0
- package/dist/conversations/artifacts.d.ts +1 -1
- package/dist/conversations/artifacts.js +1 -1
- package/dist/conversations/attachments.service.d.ts +30 -0
- package/dist/conversations/attachments.service.js +130 -5
- package/dist/conversations/conversations.controller.d.ts +79 -44
- package/dist/conversations/conversations.controller.js +133 -82
- package/dist/conversations/conversations.module.d.ts +1 -1
- package/dist/conversations/conversations.module.js +10 -7
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +161 -13
- package/dist/conversations/conversations.service.js +329 -57
- package/dist/conversations/device-status.d.ts +24 -0
- package/dist/conversations/device-status.js +71 -0
- package/dist/conversations/event-log.d.ts +45 -9
- package/dist/conversations/event-log.js +113 -6
- package/dist/conversations/events.d.ts +255 -9
- package/dist/conversations/events.js +250 -34
- package/dist/conversations/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/queue.d.ts +5 -2
- package/dist/conversations/queue.js +24 -4
- package/dist/conversations/queue.service.d.ts +2 -2
- package/dist/conversations/queue.service.js +21 -3
- package/dist/conversations/titles.d.ts +12 -3
- package/dist/conversations/titles.js +40 -16
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/create-ctx.d.ts +48 -5
- package/dist/ctx/create-ctx.js +174 -34
- package/dist/db/kernel-schema.d.ts +668 -27
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +3 -0
- package/dist/devices/access.d.ts +66 -0
- package/dist/devices/access.js +113 -0
- package/dist/devices/conversation-devices.d.ts +75 -0
- package/dist/devices/conversation-devices.js +230 -0
- package/dist/devices/devices.controller.d.ts +36 -0
- package/dist/devices/devices.controller.js +124 -0
- package/dist/devices/devices.module.d.ts +8 -0
- package/dist/devices/devices.module.js +34 -0
- package/dist/devices/devices.schemas.d.ts +3 -0
- package/dist/devices/devices.schemas.js +14 -0
- package/dist/devices/devices.service.d.ts +251 -0
- package/dist/devices/devices.service.js +791 -0
- package/dist/devices/dto.d.ts +25 -0
- package/dist/devices/dto.js +12 -0
- package/dist/devices/label.d.ts +11 -0
- package/dist/devices/label.js +25 -0
- package/dist/devices/legacy-cleanup.job.d.ts +34 -0
- package/dist/devices/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +215 -3
- package/dist/errors.js +215 -3
- package/dist/evals/evals.module.js +11 -2
- package/dist/evals/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +20 -3
- package/dist/evals/run-replay.js +78 -14
- package/dist/evals/runs.controller.d.ts +2 -57
- package/dist/evals/runs.controller.js +1 -42
- package/dist/evals/runs.service.d.ts +8 -7
- package/dist/evals/runs.service.js +45 -30
- package/dist/evals/sets.controller.d.ts +2 -28
- package/dist/evals/sets.controller.js +1 -31
- package/dist/evals/sets.service.d.ts +7 -7
- package/dist/evals/sets.service.js +23 -17
- package/dist/evals/snapshot.d.ts +3 -2
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +4 -6
- package/dist/evals/step-replay.js +16 -9
- package/dist/evals/trajectory.d.ts +5 -3
- package/dist/evals/trajectory.js +4 -1
- package/dist/evals/trajectory.service.d.ts +8 -3
- package/dist/evals/trajectory.service.js +26 -14
- package/dist/evals/worker.d.ts +5 -5
- package/dist/evals/worker.js +9 -3
- package/dist/extensions/admin-ops.d.ts +81 -14
- package/dist/extensions/admin-ops.js +181 -47
- package/dist/extensions/admin-view.d.ts +57 -10
- package/dist/extensions/admin-view.js +249 -27
- package/dist/extensions/approvals.d.ts +12 -2
- package/dist/extensions/blobs.d.ts +14 -1
- package/dist/extensions/blobs.js +49 -5
- package/dist/extensions/bootstrap.d.ts +85 -10
- package/dist/extensions/bootstrap.js +215 -36
- package/dist/extensions/cli.d.ts +12 -0
- package/dist/extensions/cli.js +11 -2
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +13 -1
- package/dist/extensions/config-issues.js +22 -5
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +6 -0
- package/dist/extensions/deployment-config.d.ts +94 -9
- package/dist/extensions/deployment-config.js +255 -34
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +133 -0
- package/dist/extensions/effective-config.js +379 -0
- package/dist/extensions/extensions.module.js +31 -12
- package/dist/extensions/guide-places.d.ts +68 -0
- package/dist/extensions/guide-places.js +152 -0
- package/dist/extensions/hooks.d.ts +37 -4
- package/dist/extensions/hooks.js +82 -16
- package/dist/extensions/host.d.ts +105 -12
- package/dist/extensions/host.js +372 -87
- package/dist/extensions/installs.d.ts +30 -9
- package/dist/extensions/installs.js +57 -16
- package/dist/extensions/instance.d.ts +17 -2
- package/dist/extensions/instance.js +21 -0
- package/dist/extensions/ledger.d.ts +1 -1
- package/dist/extensions/locks.d.ts +12 -0
- package/dist/extensions/locks.js +26 -0
- package/dist/extensions/org-config.d.ts +97 -7
- package/dist/extensions/org-config.js +215 -45
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +18 -4
- package/dist/extensions/package.js +56 -3
- package/dist/extensions/permission-set.d.ts +35 -5
- package/dist/extensions/permission-set.js +36 -5
- package/dist/extensions/permission-view.d.ts +106 -13
- package/dist/extensions/permission-view.js +33 -15
- package/dist/extensions/plugin-guides.d.ts +282 -0
- package/dist/extensions/plugin-guides.js +554 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.js +2 -0
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +13 -2
- package/dist/extensions/sources.js +2 -0
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +46 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- package/dist/files/previewers.controller.js +2 -3
- package/dist/files/previewers.d.ts +10 -3
- package/dist/files/previewers.js +40 -11
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- package/dist/http/api.module.js +76 -4
- package/dist/http/app.d.ts +11 -2
- package/dist/http/app.js +31 -5
- package/dist/http/gateway-routes.d.ts +7 -3
- package/dist/http/gateway-routes.js +6 -3
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +77 -31
- package/dist/identity/accounts.js +133 -52
- package/dist/identity/audit.d.ts +2 -1
- package/dist/identity/auth.controller.js +9 -5
- package/dist/identity/auth.guard.d.ts +13 -5
- package/dist/identity/auth.guard.js +35 -9
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- package/dist/identity/identity.module.d.ts +1 -1
- package/dist/identity/identity.module.js +7 -4
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +17 -1
- package/dist/identity/me.controller.js +45 -4
- package/dist/identity/me.schemas.d.ts +24 -0
- package/dist/identity/me.schemas.js +25 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +12 -0
- package/dist/identity/sessions.js +45 -0
- package/dist/identity/settings.d.ts +99 -12
- package/dist/identity/settings.js +234 -25
- package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
- package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
- package/dist/identity/write-actor.d.ts +11 -0
- package/dist/identity/write-actor.js +7 -0
- package/dist/inbox/inbox.module.d.ts +4 -1
- package/dist/inbox/inbox.module.js +7 -3
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +64 -4
- package/dist/inbox/inbox.service.js +74 -4
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +157 -0
- package/dist/inbox/platform-inbox.service.js +281 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -1
- package/dist/infra/cli/kernel-cli.module.js +9 -1
- package/dist/infra/config/kernel-config.service.js +32 -1
- package/dist/infra/database/database.module.js +1 -0
- package/dist/infra/database/xact-lock.d.ts +1 -1
- package/dist/infra/database/xact-lock.js +1 -1
- package/dist/infra/events/kernel-events.d.ts +31 -3
- package/dist/infra/lifecycle/process-guards.js +4 -0
- package/dist/infra/lock/lock.service.d.ts +8 -0
- package/dist/infra/lock/lock.service.js +27 -0
- package/dist/infra/logging/logging.module.d.ts +4 -2
- package/dist/infra/logging/logging.module.js +24 -6
- package/dist/infra/presence/presence.module.d.ts +6 -0
- package/dist/infra/presence/presence.module.js +22 -0
- package/dist/infra/presence/replica-presence.d.ts +87 -0
- package/dist/infra/presence/replica-presence.js +189 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -0
- package/dist/infra/queue/redis-connection.d.ts +6 -0
- package/dist/infra/queue/redis-connection.js +7 -0
- package/dist/infra/redis/redis.module.js +6 -2
- package/dist/infra/throttler/named-throttlers.d.ts +12 -0
- package/dist/infra/throttler/named-throttlers.js +67 -0
- package/dist/infra/throttler/throttler.guard.js +1 -1
- package/dist/infra/tokens.d.ts +6 -1
- package/dist/infra/tokens.js +6 -1
- package/dist/kernel.module.js +15 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +9 -3
- package/dist/lifecycle/kernel-lifecycle.js +51 -11
- package/dist/local-devices/device-auth.controller.d.ts +42 -0
- package/dist/local-devices/device-auth.controller.js +116 -0
- package/dist/local-devices/device-auth.d.ts +119 -0
- package/dist/local-devices/device-auth.js +401 -0
- package/dist/local-devices/device-auth.module.d.ts +7 -0
- package/dist/local-devices/device-auth.module.js +25 -0
- package/dist/local-devices/device-routes.d.ts +36 -0
- package/dist/local-devices/device-routes.js +90 -0
- package/dist/local-devices/dto.d.ts +66 -0
- package/dist/local-devices/dto.js +44 -0
- package/dist/local-devices/keys.d.ts +25 -0
- package/dist/local-devices/keys.js +25 -0
- package/dist/local-devices/local-device-gateway.d.ts +134 -0
- package/dist/local-devices/local-device-gateway.js +542 -0
- package/dist/local-devices/local-device-provider.d.ts +89 -0
- package/dist/local-devices/local-device-provider.js +151 -0
- package/dist/local-devices/local-devices.module.d.ts +16 -0
- package/dist/local-devices/local-devices.module.js +44 -0
- package/dist/local-devices/machines.d.ts +118 -0
- package/dist/local-devices/machines.js +366 -0
- package/dist/local-devices/relay.d.ts +100 -0
- package/dist/local-devices/relay.js +373 -0
- package/dist/local-devices/targets.d.ts +28 -0
- package/dist/local-devices/targets.js +73 -0
- package/dist/log.d.ts +13 -1
- package/dist/log.js +93 -17
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +5 -1
- package/dist/models/models.module.js +16 -4
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +8 -6
- package/dist/models/prices.js +11 -9
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +13 -7
- package/dist/models/purposes.d.ts +72 -14
- package/dist/models/purposes.js +115 -34
- package/dist/orgs/directory-sync.d.ts +14 -5
- package/dist/orgs/directory-sync.js +41 -17
- package/dist/orgs/offboarding.d.ts +12 -8
- package/dist/orgs/offboarding.js +54 -33
- package/dist/orgs/org-lock.d.ts +5 -0
- package/dist/orgs/org-lock.js +13 -0
- package/dist/orgs/org.guard.d.ts +10 -0
- package/dist/orgs/org.guard.js +43 -32
- package/dist/orgs/orgs.controller.d.ts +2 -5
- package/dist/orgs/orgs.controller.js +3 -6
- package/dist/orgs/orgs.module.js +3 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +23 -8
- package/dist/orgs/orgs.service.js +38 -16
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.service.d.ts +66 -6
- package/dist/orgs/settings.service.js +89 -10
- package/dist/overrides.d.ts +16 -1
- package/dist/overrides.js +10 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +774 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +102 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin-items.ops.d.ts +37 -0
- package/dist/platform/ops/admin-items.ops.js +278 -0
- package/dist/platform/ops/admin.ops.d.ts +38 -0
- package/dist/platform/ops/admin.ops.js +497 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
- package/dist/platform/ops/agent-skills.ops.js +509 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +730 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
- package/dist/platform/ops/catalog-admin.ops.js +682 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +854 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +190 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/devices.ops.d.ts +26 -0
- package/dist/platform/ops/devices.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +381 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
- package/dist/platform/ops/org-plugins.ops.js +388 -0
- package/dist/platform/ops/org-settings.ops.d.ts +18 -0
- package/dist/platform/ops/org-settings.ops.js +127 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +298 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +30 -0
- package/dist/platform/ops/platform.ops.js +231 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/setup.ops.d.ts +24 -0
- package/dist/platform/ops/setup.ops.js +212 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +160 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/themes.ops.d.ts +14 -0
- package/dist/platform/ops/themes.ops.js +47 -0
- package/dist/platform/ops/ui.ops.d.ts +8 -0
- package/dist/platform/ops/ui.ops.js +41 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +43 -0
- package/dist/platform/platform-ops.module.js +142 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +85 -0
- package/dist/roles/gateway-role.d.ts +18 -3
- package/dist/roles/gateway-role.js +33 -5
- package/dist/roles/gateway.module.d.ts +2 -1
- package/dist/roles/gateway.module.js +6 -3
- package/dist/roles/worker-role.d.ts +6 -4
- package/dist/roles/worker-role.js +14 -7
- package/dist/roles/worker.module.d.ts +1 -1
- package/dist/roles/worker.module.js +21 -1
- package/dist/runtime/context/build.d.ts +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/device-paths.d.ts +40 -0
- package/dist/runtime/context/device-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/hook-calls.d.ts +8 -1
- package/dist/runtime/hook-calls.js +40 -7
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +36 -17
- package/dist/runtime/loop.d.ts +35 -6
- package/dist/runtime/maintenance.d.ts +9 -4
- package/dist/runtime/maintenance.js +35 -8
- package/dist/runtime/model-call.d.ts +54 -11
- package/dist/runtime/model-call.js +105 -28
- package/dist/runtime/providers.d.ts +149 -29
- package/dist/runtime/providers.js +332 -63
- package/dist/runtime/run-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +11 -1
- package/dist/runtime/run-control.js +12 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -0
- package/dist/runtime/run-finish.d.ts +1 -1
- package/dist/runtime/run-jobs.d.ts +3 -5
- package/dist/runtime/run-jobs.js +7 -9
- package/dist/runtime/run-queue.d.ts +62 -5
- package/dist/runtime/run-queue.js +313 -40
- package/dist/runtime/run-worker.d.ts +19 -8
- package/dist/runtime/run-worker.js +105 -44
- package/dist/runtime/runtime.module.js +13 -3
- package/dist/runtime/step-log.d.ts +15 -4
- package/dist/runtime/step-log.js +24 -7
- package/dist/runtime/stream.controller.d.ts +23 -1
- package/dist/runtime/stream.controller.js +60 -3
- package/dist/runtime/stream.d.ts +4 -1
- package/dist/runtime/stream.js +27 -3
- package/dist/runtime/subagents/child.d.ts +55 -7
- package/dist/runtime/subagents/child.js +105 -7
- package/dist/runtime/subagents/definition.d.ts +31 -26
- package/dist/runtime/subagents/definition.js +89 -142
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +116 -27
- package/dist/runtime/subagents/dispatch.js +213 -142
- package/dist/runtime/subagents/limits.d.ts +24 -5
- package/dist/runtime/subagents/limits.js +40 -6
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.js +2 -1
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +8 -6
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +25 -8
- package/dist/runtime/subagents/roster.js +48 -12
- package/dist/runtime/subagents/skill-fork.d.ts +4 -3
- package/dist/runtime/subagents/skill-fork.js +9 -5
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +9 -6
- package/dist/runtime/subagents/subagents.service.js +13 -8
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +35 -39
- package/dist/runtime/usage-report.js +171 -97
- package/dist/runtime/waits.d.ts +148 -39
- package/dist/runtime/waits.js +426 -112
- package/dist/sandbox/jobs.d.ts +40 -13
- package/dist/sandbox/jobs.js +57 -20
- package/dist/sandbox/leases.d.ts +37 -54
- package/dist/sandbox/leases.js +71 -115
- package/dist/sandbox/providers.d.ts +34 -7
- package/dist/sandbox/providers.js +54 -9
- package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
- package/dist/sandbox/sandbox-file-reader.js +98 -0
- package/dist/sandbox/sandbox.module.d.ts +3 -2
- package/dist/sandbox/sandbox.module.js +10 -4
- package/dist/sandbox/sandbox.service.d.ts +345 -132
- package/dist/sandbox/sandbox.service.js +883 -399
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/setup/kernel-checks.d.ts +91 -0
- package/dist/setup/kernel-checks.js +295 -0
- package/dist/setup/oauth-token-probe.d.ts +47 -0
- package/dist/setup/oauth-token-probe.js +108 -0
- package/dist/setup/redact-check.d.ts +18 -0
- package/dist/setup/redact-check.js +46 -0
- package/dist/setup/setup-check-registry.d.ts +86 -0
- package/dist/setup/setup-check-registry.js +75 -0
- package/dist/setup/setup-checks.controller.d.ts +28 -0
- package/dist/setup/setup-checks.controller.js +78 -0
- package/dist/setup/setup-checks.schemas.d.ts +38 -0
- package/dist/setup/setup-checks.schemas.js +43 -0
- package/dist/setup/setup-checks.service.d.ts +144 -0
- package/dist/setup/setup-checks.service.js +683 -0
- package/dist/setup/setup-guides.controller.d.ts +18 -0
- package/dist/setup/setup-guides.controller.js +48 -0
- package/dist/setup/setup-guides.schemas.d.ts +10 -0
- package/dist/setup/setup-guides.schemas.js +6 -0
- package/dist/setup/setup-guides.service.d.ts +126 -0
- package/dist/setup/setup-guides.service.js +315 -0
- package/dist/setup/setup.module.d.ts +8 -0
- package/dist/setup/setup.module.js +31 -0
- package/dist/skills/agent-skills.controller.d.ts +48 -0
- package/dist/skills/agent-skills.controller.js +131 -0
- package/dist/skills/agent-skills.service.d.ts +262 -0
- package/dist/skills/agent-skills.service.js +996 -0
- package/dist/skills/catalog.d.ts +14 -11
- package/dist/skills/catalog.js +32 -50
- package/dist/skills/changes.controller.d.ts +12 -22
- package/dist/skills/changes.controller.js +27 -56
- package/dist/skills/changes.service.d.ts +69 -115
- package/dist/skills/changes.service.js +249 -598
- package/dist/skills/conversation-catalog.d.ts +53 -0
- package/dist/skills/conversation-catalog.js +149 -0
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +2 -2
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +3 -3
- package/dist/skills/invoke.js +21 -8
- package/dist/skills/package.d.ts +15 -1
- package/dist/skills/package.js +14 -1
- package/dist/skills/skills.controller.d.ts +32 -6
- package/dist/skills/skills.controller.js +64 -11
- package/dist/skills/skills.module.js +25 -3
- package/dist/skills/skills.schemas.d.ts +44 -0
- package/dist/skills/skills.schemas.js +68 -0
- package/dist/skills/skills.service.d.ts +123 -26
- package/dist/skills/skills.service.js +493 -76
- package/dist/skills/usable.d.ts +82 -0
- package/dist/skills/usable.js +388 -0
- package/dist/themes/render-css.d.ts +13 -0
- package/dist/themes/render-css.js +135 -0
- package/dist/themes/theme-delivery.service.d.ts +36 -0
- package/dist/themes/theme-delivery.service.js +116 -0
- package/dist/themes/theme-state.d.ts +116 -0
- package/dist/themes/theme-state.js +221 -0
- package/dist/themes/theme-usage.d.ts +61 -0
- package/dist/themes/theme-usage.js +98 -0
- package/dist/themes/themes-public.controller.d.ts +33 -0
- package/dist/themes/themes-public.controller.js +98 -0
- package/dist/themes/themes.controller.d.ts +13 -0
- package/dist/themes/themes.controller.js +38 -0
- package/dist/themes/themes.module.d.ts +3 -0
- package/dist/themes/themes.module.js +21 -0
- package/dist/themes/themes.schemas.d.ts +3 -0
- package/dist/themes/themes.schemas.js +2 -0
- package/dist/themes/themes.service.d.ts +50 -0
- package/dist/themes/themes.service.js +99 -0
- package/dist/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/admin-connectors.d.ts +69 -0
- package/dist/tools/admin-connectors.js +135 -0
- package/dist/tools/approvals.controller.js +2 -3
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +26 -2
- package/dist/tools/approvals.service.js +44 -5
- package/dist/tools/builtin-names.d.ts +104 -0
- package/dist/tools/builtin-names.js +164 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- package/dist/tools/builtins/ask-user.d.ts +1 -1
- package/dist/tools/builtins/ask-user.js +5 -4
- package/dist/tools/builtins/builtin-tools.d.ts +23 -4
- package/dist/tools/builtins/builtin-tools.js +78 -12
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -0
- package/dist/tools/builtins/read-tool-output.d.ts +1 -1
- package/dist/tools/builtins/read-tool-output.js +2 -2
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +291 -39
- package/dist/tools/builtins/sandbox/common.d.ts +135 -36
- package/dist/tools/builtins/sandbox/common.js +222 -62
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +19 -16
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +64 -50
- package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
- package/dist/tools/builtins/sandbox/file-state.js +34 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob-match.js +1 -1
- package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
- package/dist/tools/builtins/sandbox/glob.js +17 -12
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +153 -34
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +29 -19
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +51 -44
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +29 -18
- package/dist/tools/builtins/skill-load.js +125 -73
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- package/dist/tools/connector-account-policies.d.ts +51 -0
- package/dist/tools/connector-account-policies.js +165 -0
- package/dist/tools/connectors.controller.d.ts +74 -9
- package/dist/tools/connectors.controller.js +133 -16
- package/dist/tools/connectors.schemas.d.ts +27 -0
- package/dist/tools/connectors.schemas.js +34 -0
- package/dist/tools/connectors.service.d.ts +101 -8
- package/dist/tools/connectors.service.js +266 -28
- package/dist/tools/credentials.d.ts +23 -0
- package/dist/tools/credentials.js +90 -1
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.js +5 -5
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +61 -4
- package/dist/tools/info.js +119 -33
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +114 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +1 -1
- package/dist/tools/oauth/flow-paths.js +1 -1
- package/dist/tools/oauth/flow.js +1 -1
- package/dist/tools/oauth/tokens.d.ts +54 -7
- package/dist/tools/oauth/tokens.js +87 -17
- package/dist/tools/org-tool-switches.d.ts +89 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.js +1 -1
- package/dist/tools/pipeline.d.ts +67 -47
- package/dist/tools/pipeline.js +319 -380
- package/dist/tools/policy.d.ts +30 -23
- package/dist/tools/policy.js +142 -64
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +1 -1
- package/dist/tools/questions.service.d.ts +23 -2
- package/dist/tools/questions.service.js +104 -2
- package/dist/tools/registry.d.ts +189 -68
- package/dist/tools/registry.js +318 -236
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/tools.module.js +31 -3
- package/dist/tools/validate.js +1 -1
- package/dist/ui/admin-ui.controller.d.ts +56 -0
- package/dist/ui/admin-ui.controller.js +192 -0
- package/dist/ui/arrangement.d.ts +65 -0
- package/dist/ui/arrangement.js +171 -0
- package/dist/ui/embed-token.d.ts +2 -2
- package/dist/ui/embed-token.js +30 -5
- package/dist/ui/registry.d.ts +42 -17
- package/dist/ui/registry.js +46 -14
- package/dist/ui/slots.controller.d.ts +11 -0
- package/dist/ui/slots.controller.js +25 -0
- package/dist/ui/ui-stream.d.ts +20 -3
- package/dist/ui/ui-stream.js +25 -7
- package/dist/ui/ui.schemas.d.ts +70 -0
- package/dist/ui/ui.schemas.js +65 -0
- package/dist/ui/views.controller.d.ts +35 -49
- package/dist/ui/views.controller.js +48 -70
- package/dist/ui/views.d.ts +112 -18
- package/dist/ui/views.js +254 -47
- package/package.json +6 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/src/migrations/0102_themes.sql +64 -0
- package/src/migrations/0103_ui_theme_setting.sql +7 -0
- package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
- package/src/migrations/0105_devices_rename.sql +136 -0
- package/src/migrations/0106_setup_guides_v2.sql +10 -0
- package/src/migrations/0107_extension_client_builds.sql +50 -0
- package/src/migrations/0108_question_skipped.sql +6 -0
- package/src/migrations/0109_audit_platform_idx.sql +5 -0
- package/src/migrations/0110_usage_time_idx.sql +8 -0
- package/src/migrations/0111_agent_skill_sharing.sql +22 -0
- package/src/migrations/0112_skill_share_requests.sql +4 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -56
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -24
- package/dist/conversations/sandbox-status.js +0 -52
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -62
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- package/dist/tools/builtins/skill-write.d.ts +0 -59
- package/dist/tools/builtins/skill-write.js +0 -244
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { domainToASCII } from "node:url";
|
|
2
|
+
import { ToolError, } from "@capybara-hq/plugin-sdk";
|
|
3
|
+
import { BUILTIN } from "../../builtin-names.js";
|
|
4
|
+
import { webToolError } from "./errors.js";
|
|
5
|
+
/** The extension point name (without the major) the provider is resolved from. */
|
|
6
|
+
const POINT = "web-search";
|
|
7
|
+
/**
|
|
8
|
+
* The fixed spec (web tools spec §3.1). No date and nothing per org or provider: `specHash` stays
|
|
9
|
+
* the same across days and providers, so remembered grants survive both and replays match the log.
|
|
10
|
+
* The date is the first line of every result instead.
|
|
11
|
+
*/
|
|
12
|
+
export const WEB_SEARCH_SPEC = {
|
|
13
|
+
name: BUILTIN.WebSearch,
|
|
14
|
+
// Display only (the tool row; not in the fingerprint, never sent to the model).
|
|
15
|
+
keyArgs: ["query"],
|
|
16
|
+
description: "Search the web and get a list of results with title, URL and a short snippet. Use it for " +
|
|
17
|
+
"information newer than your training data, or to check whether something you know is still " +
|
|
18
|
+
"current. Then use WebFetch to read the pages you need. Do not use it for questions you can " +
|
|
19
|
+
"answer reliably without the web. Cite the sources you use.",
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {
|
|
23
|
+
query: {
|
|
24
|
+
type: "string",
|
|
25
|
+
minLength: 2,
|
|
26
|
+
maxLength: 500,
|
|
27
|
+
description: "The search query.",
|
|
28
|
+
},
|
|
29
|
+
allowed_domains: {
|
|
30
|
+
type: "array",
|
|
31
|
+
items: { type: "string", minLength: 1, maxLength: 253 },
|
|
32
|
+
maxItems: 50,
|
|
33
|
+
description: "Only return results from these domains (hostnames such as example.com; subdomains " +
|
|
34
|
+
"are included). Do not combine with blocked_domains.",
|
|
35
|
+
},
|
|
36
|
+
blocked_domains: {
|
|
37
|
+
type: "array",
|
|
38
|
+
items: { type: "string", minLength: 1, maxLength: 253 },
|
|
39
|
+
maxItems: 50,
|
|
40
|
+
description: "Never return results from these domains (hostnames such as example.com; subdomains " +
|
|
41
|
+
"are included). Do not combine with allowed_domains.",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
required: ["query"],
|
|
45
|
+
additionalProperties: false,
|
|
46
|
+
},
|
|
47
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
48
|
+
};
|
|
49
|
+
/** The last line of a result with entries (Claude Code tells the model to list its sources). */
|
|
50
|
+
const CITE_LINE = "Cite the sources you use as markdown links in your answer.";
|
|
51
|
+
/** Why the tool is unavailable in an org (web tools spec §3.4; English, actionable). */
|
|
52
|
+
function unavailableText(reason) {
|
|
53
|
+
if (reason === "none") {
|
|
54
|
+
return "No web search provider is enabled in this organization; ask an org admin to enable one.";
|
|
55
|
+
}
|
|
56
|
+
return "Several web search providers are enabled and none is the default; ask an org admin to choose one in the organization settings.";
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A domain entry as a bare lowercase ASCII hostname: tolerates a scheme, a path, a port, a leading
|
|
60
|
+
* `*.` / `.` and a trailing dot; a Unicode (IDN) name becomes its punycode form, as result hosts
|
|
61
|
+
* are (WHATWG URL parsing). Empty when nothing is left.
|
|
62
|
+
*/
|
|
63
|
+
function normalizeDomain(entry) {
|
|
64
|
+
let d = entry.trim().toLowerCase();
|
|
65
|
+
d = d.replace(/^[a-z][a-z0-9+.-]*:\/\//, "");
|
|
66
|
+
d = d.replace(/[/?#].*$/, "").replace(/:\d+$/, "");
|
|
67
|
+
d = d.replace(/^\*\./, "").replace(/^\.+/, "").replace(/\.+$/, "");
|
|
68
|
+
if (d === "")
|
|
69
|
+
return d;
|
|
70
|
+
// domainToASCII is "" for a name IDNA rejects: keep the entry as given (it matches no host)
|
|
71
|
+
return domainToASCII(d) || d;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A domain list normalized; undefined when absent or empty (no filter). A list whose entries all
|
|
75
|
+
* normalize to nothing stays an empty list, which no host matches.
|
|
76
|
+
*/
|
|
77
|
+
const normalizeDomains = (list) => list === undefined || list.length === 0
|
|
78
|
+
? undefined
|
|
79
|
+
: [...new Set(list.map(normalizeDomain).filter((d) => d !== ""))];
|
|
80
|
+
/** Whether `host` is `domain` or one of its subdomains. */
|
|
81
|
+
const covers = (domain, host) => host === domain || host.endsWith(`.${domain}`);
|
|
82
|
+
const oneLine = (s) => s.replace(/\s+/g, " ").trim();
|
|
83
|
+
/**
|
|
84
|
+
* The provider's results the model may see (web tools spec §7.2): an absolute http(s) URL, a
|
|
85
|
+
* non-empty title, each URL once, within the domain lists, at most `max`. The kernel filters even
|
|
86
|
+
* when the provider honored the domain hints.
|
|
87
|
+
*/
|
|
88
|
+
function usable(results, allowed, blocked, max) {
|
|
89
|
+
const seen = new Set();
|
|
90
|
+
const out = [];
|
|
91
|
+
for (const r of results) {
|
|
92
|
+
if (out.length >= max)
|
|
93
|
+
break;
|
|
94
|
+
if (typeof r?.url !== "string" || typeof r.title !== "string")
|
|
95
|
+
continue;
|
|
96
|
+
const title = oneLine(r.title);
|
|
97
|
+
if (title === "")
|
|
98
|
+
continue;
|
|
99
|
+
let u;
|
|
100
|
+
try {
|
|
101
|
+
// no base: a relative URL throws
|
|
102
|
+
u = new URL(r.url.trim());
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (u.protocol !== "https:" && u.protocol !== "http:")
|
|
108
|
+
continue;
|
|
109
|
+
const host = u.hostname.toLowerCase().replace(/\.$/, "");
|
|
110
|
+
if (host === "")
|
|
111
|
+
continue;
|
|
112
|
+
if (allowed !== undefined && !allowed.some((d) => covers(d, host)))
|
|
113
|
+
continue;
|
|
114
|
+
if (blocked?.some((d) => covers(d, host)))
|
|
115
|
+
continue;
|
|
116
|
+
if (seen.has(u.href))
|
|
117
|
+
continue;
|
|
118
|
+
seen.add(u.href);
|
|
119
|
+
const date = typeof r.publishedAt === "string" ? /^\d{4}-\d{2}-\d{2}/.exec(r.publishedAt.trim()) : null;
|
|
120
|
+
const snippet = typeof r.snippet === "string" ? oneLine(r.snippet) : "";
|
|
121
|
+
out.push({
|
|
122
|
+
title,
|
|
123
|
+
url: u.href,
|
|
124
|
+
...(date !== null && { date: date[0] }),
|
|
125
|
+
...(snippet !== "" && { snippet }),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
return out;
|
|
129
|
+
}
|
|
130
|
+
/** The model-visible result (web tools spec §3.1): the date line first, then the entries. */
|
|
131
|
+
function resultText(day, entries) {
|
|
132
|
+
const head = `Search date: ${day} (UTC).`;
|
|
133
|
+
if (entries.length === 0)
|
|
134
|
+
return `${head}\n\nNo results.`;
|
|
135
|
+
const blocks = entries.map((e, i) => [
|
|
136
|
+
`${i + 1}. ${e.title}`,
|
|
137
|
+
` URL: ${e.url}`,
|
|
138
|
+
...(e.date !== undefined ? [` Published: ${e.date}`] : []),
|
|
139
|
+
...(e.snippet !== undefined ? [` ${e.snippet}`] : []),
|
|
140
|
+
].join("\n"));
|
|
141
|
+
return [head, ...blocks, CITE_LINE].join("\n\n");
|
|
142
|
+
}
|
|
143
|
+
/** The query in the display summary: one line, at most this many code points. */
|
|
144
|
+
const DISPLAY_QUERY_MAX = 120;
|
|
145
|
+
function displayQuery(query) {
|
|
146
|
+
const cps = [...oneLine(query)];
|
|
147
|
+
return cps.length > DISPLAY_QUERY_MAX
|
|
148
|
+
? `${cps.slice(0, DISPLAY_QUERY_MAX - 1).join("")}…`
|
|
149
|
+
: cps.join("");
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* The builtin `WebSearch` (web tools spec §3.1): searches with the org's `web-search@1` provider
|
|
153
|
+
* (`ExtensionPointDefaults`, resolved per call and per step, never cached), asking it for
|
|
154
|
+
* `web.search.maxResults` results with the domain lists as hints and the org's config, then
|
|
155
|
+
* filters the results again. Default `ask`; unavailable when the org has no provider or several
|
|
156
|
+
* without a default.
|
|
157
|
+
*/
|
|
158
|
+
export function webSearchTool(deps) {
|
|
159
|
+
const now = deps.now ?? (() => new Date());
|
|
160
|
+
return {
|
|
161
|
+
spec: WEB_SEARCH_SPEC,
|
|
162
|
+
defaultPolicy: "ask",
|
|
163
|
+
async unavailable({ orgId }) {
|
|
164
|
+
const r = await deps.points.resolve(orgId, POINT);
|
|
165
|
+
return r.ok ? null : unavailableText(r.reason);
|
|
166
|
+
},
|
|
167
|
+
async run(input, ctx) {
|
|
168
|
+
const { query, allowed_domains, blocked_domains } = input;
|
|
169
|
+
if (allowed_domains !== undefined && blocked_domains !== undefined) {
|
|
170
|
+
throw new ToolError("Pass either allowed_domains or blocked_domains, not both; call WebSearch again with one of them.");
|
|
171
|
+
}
|
|
172
|
+
const allowed = normalizeDomains(allowed_domains);
|
|
173
|
+
const blocked = normalizeDomains(blocked_domains);
|
|
174
|
+
// the provider may have changed since the step resolved the tool: resolve again
|
|
175
|
+
const resolved = await deps.points.resolve(ctx.orgId, POINT);
|
|
176
|
+
if (!resolved.ok)
|
|
177
|
+
throw new ToolError(unavailableText(resolved.reason));
|
|
178
|
+
const max = deps.config.get().web.search.maxResults;
|
|
179
|
+
const day = now().toISOString().slice(0, 10);
|
|
180
|
+
let results;
|
|
181
|
+
try {
|
|
182
|
+
const out = await resolved.impl.search({
|
|
183
|
+
query,
|
|
184
|
+
...(allowed !== undefined && allowed.length > 0 && { allowedDomains: allowed }),
|
|
185
|
+
...(blocked !== undefined && blocked.length > 0 && { blockedDomains: blocked }),
|
|
186
|
+
maxResults: max,
|
|
187
|
+
orgConfig: resolved.orgConfig,
|
|
188
|
+
config: resolved.config,
|
|
189
|
+
signal: ctx.signal,
|
|
190
|
+
});
|
|
191
|
+
results = Array.isArray(out?.results) ? out.results : [];
|
|
192
|
+
}
|
|
193
|
+
catch (e) {
|
|
194
|
+
webToolError(e, "search");
|
|
195
|
+
}
|
|
196
|
+
const entries = usable(results, allowed, blocked, max);
|
|
197
|
+
const q = displayQuery(query);
|
|
198
|
+
const n = entries.length;
|
|
199
|
+
return {
|
|
200
|
+
content: [{ type: "text", text: resultText(day, entries) }],
|
|
201
|
+
display: {
|
|
202
|
+
summary: {
|
|
203
|
+
zh: `搜索网页:${q}(${n} 条结果)`,
|
|
204
|
+
en: `Searched the web: ${q} (${n} result${n === 1 ? "" : "s"})`,
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
};
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** The longest URL `WebFetch` accepts, in characters (Claude Code's limit; web tools spec §7.1). */
|
|
2
|
+
export declare const MAX_FETCH_URL_CHARS = 2000;
|
|
3
|
+
/** The outcome of {@link normalizeFetchUrl}: the URL to fetch, or a model-visible error. */
|
|
4
|
+
export type FetchUrlCheck = {
|
|
5
|
+
ok: true;
|
|
6
|
+
url: string;
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
error: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* A `WebFetch` URL checked and normalized (web tools spec §7.1): absolute http(s), `http:`
|
|
13
|
+
* upgraded to `https:`, no user name or password, at most {@link MAX_FETCH_URL_CHARS} characters
|
|
14
|
+
* (before and after normalization), and a host that can name a public internet host. Pure, no DNS: a public name that resolves to a
|
|
15
|
+
* private address is the provider's to refuse. Errors are English and tell the model what to pass.
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeFetchUrl(raw: string): FetchUrlCheck;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { isPublicHostname } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
/** The longest URL `WebFetch` accepts, in characters (Claude Code's limit; web tools spec §7.1). */
|
|
3
|
+
export const MAX_FETCH_URL_CHARS = 2000;
|
|
4
|
+
const fail = (error) => ({ ok: false, error });
|
|
5
|
+
/**
|
|
6
|
+
* A `WebFetch` URL checked and normalized (web tools spec §7.1): absolute http(s), `http:`
|
|
7
|
+
* upgraded to `https:`, no user name or password, at most {@link MAX_FETCH_URL_CHARS} characters
|
|
8
|
+
* (before and after normalization), and a host that can name a public internet host. Pure, no DNS: a public name that resolves to a
|
|
9
|
+
* private address is the provider's to refuse. Errors are English and tell the model what to pass.
|
|
10
|
+
*/
|
|
11
|
+
export function normalizeFetchUrl(raw) {
|
|
12
|
+
const input = raw.trim();
|
|
13
|
+
// a cheap guard before parsing; the normalized URL is checked again below
|
|
14
|
+
if (input.length > MAX_FETCH_URL_CHARS) {
|
|
15
|
+
return fail(`Pass a URL of at most ${MAX_FETCH_URL_CHARS} characters.`);
|
|
16
|
+
}
|
|
17
|
+
let u;
|
|
18
|
+
try {
|
|
19
|
+
// no base: a relative URL throws
|
|
20
|
+
u = new URL(input);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return fail("Pass a full absolute URL, such as https://example.com/page.");
|
|
24
|
+
}
|
|
25
|
+
if (u.protocol !== "https:" && u.protocol !== "http:") {
|
|
26
|
+
return fail("Pass an https URL; only http and https URLs can be fetched.");
|
|
27
|
+
}
|
|
28
|
+
if (u.username !== "" || u.password !== "") {
|
|
29
|
+
return fail("Pass the URL without a user name or password.");
|
|
30
|
+
}
|
|
31
|
+
u.protocol = "https:";
|
|
32
|
+
// `u.hostname` is WHATWG-normalized (lowercased, IDNA, numeric IPv4 forms such as `0x7f.0.0.1`
|
|
33
|
+
// rewritten to dotted decimal, IPv6 in brackets), which is what isPublicHostname expects: never
|
|
34
|
+
// pass it a hand-parsed host.
|
|
35
|
+
if (!isPublicHostname(u.hostname)) {
|
|
36
|
+
return fail("Pass a full public https URL; this host is private or local.");
|
|
37
|
+
}
|
|
38
|
+
// the limit is on the URL as fetched: the upgrade, IDNA and percent-encoding can lengthen it
|
|
39
|
+
if (u.href.length > MAX_FETCH_URL_CHARS) {
|
|
40
|
+
return fail(`Pass a URL of at most ${MAX_FETCH_URL_CHARS} characters.`);
|
|
41
|
+
}
|
|
42
|
+
return { ok: true, url: u.href };
|
|
43
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
2
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
3
|
+
import { OrgLock } from "../orgs/org-lock.js";
|
|
4
|
+
import { type ToolPolicy } from "./registry.js";
|
|
5
|
+
/**
|
|
6
|
+
* Why a member cannot set a tool's policy: the org switched the tool off (or it is not offered:
|
|
7
|
+
* pending review, gone), or the org set its default to deny. Either way it stays denied.
|
|
8
|
+
*/
|
|
9
|
+
export type MemberPolicyLock = "disabled" | "org_deny";
|
|
10
|
+
/** One tool on the member's 权限 sheet (`GET …/connectors/:id/tool-policies/me`). */
|
|
11
|
+
export interface MemberToolPolicyView {
|
|
12
|
+
name: string;
|
|
13
|
+
key: string;
|
|
14
|
+
title: string | null;
|
|
15
|
+
description: string;
|
|
16
|
+
/** The org's default for the tool (`connector_tools.default_policy`): what applies without a setting. */
|
|
17
|
+
defaultPolicy: ToolPolicy;
|
|
18
|
+
/** What the tool's annotations alone give (`readOnlyHint: true` allows, anything else asks). */
|
|
19
|
+
annotationPolicy: "allow" | "ask";
|
|
20
|
+
/** The member's own setting, null without one. */
|
|
21
|
+
policy: ToolPolicy | null;
|
|
22
|
+
/** Locked by the org: the member's setting does not apply, the tool is denied. */
|
|
23
|
+
locked: MemberPolicyLock | null;
|
|
24
|
+
}
|
|
25
|
+
/** Whether a connector's credential is per member: its calls are made with the member's connection. */
|
|
26
|
+
export declare const personalAuth: (auth: unknown) => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* A member's own tool policies for their own connection of a personal-credential connector
|
|
29
|
+
* (maintainer decision 2026-11-09, the connector card's 权限). They apply to every agent the
|
|
30
|
+
* member uses; an agent's tool policy overrides them; a tool the org switched off or set to deny
|
|
31
|
+
* stays denied (`tools/policy.ts` `connectorPolicy`). Only the account itself reads or writes its
|
|
32
|
+
* rows: the routes take the account from the session, never from the request.
|
|
33
|
+
*/
|
|
34
|
+
export declare class ConnectorAccountPolicies {
|
|
35
|
+
private readonly kdb;
|
|
36
|
+
private readonly orgLock;
|
|
37
|
+
readonly txHost: TransactionHost;
|
|
38
|
+
constructor(kdb: KernelDb, orgLock: OrgLock, txHost: TransactionHost);
|
|
39
|
+
/** The kernel-schema handle of the current context (its transaction, else the pool). */
|
|
40
|
+
private get db();
|
|
41
|
+
/** The connector's tools with the account's settings; not personal -> 409 `connector.not_personal`. */
|
|
42
|
+
read(orgId: string, connectorId: string, accountId: string): Promise<MemberToolPolicyView[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Sets (a policy) or clears (null) the account's policies for some of the connector's tools;
|
|
45
|
+
* an unknown tool -> 404 `connector.tool_not_found`. Locked tools may hold a setting: it does not
|
|
46
|
+
* apply while the lock lasts. Audits `connector.member_policies_changed`.
|
|
47
|
+
*/
|
|
48
|
+
set(orgId: string, connectorId: string, accountId: string, changes: Record<string, ToolPolicy | null>, actorTokenId?: string): Promise<void>;
|
|
49
|
+
/** The org's live personal-credential connector, else 404 / 409. */
|
|
50
|
+
private connector;
|
|
51
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { connectorToolKey } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
12
|
+
import { sql } from "kysely";
|
|
13
|
+
import { ApiError } from "../errors.js";
|
|
14
|
+
import { audit } from "../identity/audit.js";
|
|
15
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
16
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
17
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
18
|
+
import { OrgLock } from "../orgs/org-lock.js";
|
|
19
|
+
import { policyFromAnnotations } from "./registry.js";
|
|
20
|
+
/** Whether a connector's credential is per member: its calls are made with the member's connection. */
|
|
21
|
+
export const personalAuth = (auth) => {
|
|
22
|
+
const a = auth;
|
|
23
|
+
return a !== null && a.type !== "none" && a.ownership === "personal";
|
|
24
|
+
};
|
|
25
|
+
const notPersonal = () => new ApiError("connector.not_personal", "This connector uses one credential for the whole organization; only a connector each member connects to with their own credential has per-member tool policies");
|
|
26
|
+
const notFound = () => new ApiError("connector.not_found", "Connector not found");
|
|
27
|
+
/**
|
|
28
|
+
* A member's own tool policies for their own connection of a personal-credential connector
|
|
29
|
+
* (maintainer decision 2026-11-09, the connector card's 权限). They apply to every agent the
|
|
30
|
+
* member uses; an agent's tool policy overrides them; a tool the org switched off or set to deny
|
|
31
|
+
* stays denied (`tools/policy.ts` `connectorPolicy`). Only the account itself reads or writes its
|
|
32
|
+
* rows: the routes take the account from the session, never from the request.
|
|
33
|
+
*/
|
|
34
|
+
let ConnectorAccountPolicies = class ConnectorAccountPolicies {
|
|
35
|
+
kdb;
|
|
36
|
+
orgLock;
|
|
37
|
+
txHost;
|
|
38
|
+
constructor(kdb, orgLock, txHost) {
|
|
39
|
+
this.kdb = kdb;
|
|
40
|
+
this.orgLock = orgLock;
|
|
41
|
+
this.txHost = txHost;
|
|
42
|
+
}
|
|
43
|
+
/** The kernel-schema handle of the current context (its transaction, else the pool). */
|
|
44
|
+
get db() {
|
|
45
|
+
return this.kdb.db;
|
|
46
|
+
}
|
|
47
|
+
/** The connector's tools with the account's settings; not personal -> 409 `connector.not_personal`. */
|
|
48
|
+
async read(orgId, connectorId, accountId) {
|
|
49
|
+
const c = await this.connector(orgId, connectorId);
|
|
50
|
+
const tools = await this.db
|
|
51
|
+
.selectFrom("connector_tools")
|
|
52
|
+
.select(["name", "spec", "status", "default_policy", "missing_since"])
|
|
53
|
+
.where("connector_id", "=", connectorId)
|
|
54
|
+
.orderBy("name")
|
|
55
|
+
.execute();
|
|
56
|
+
const mine = new Map((await this.db
|
|
57
|
+
.selectFrom("connector_tool_account_policies")
|
|
58
|
+
.select(["tool_name", "policy"])
|
|
59
|
+
.where("connector_id", "=", connectorId)
|
|
60
|
+
.where("account_id", "=", accountId)
|
|
61
|
+
.execute()).map((r) => [r.tool_name, r.policy]));
|
|
62
|
+
return tools.map((t) => {
|
|
63
|
+
const spec = t.spec;
|
|
64
|
+
const locked = t.status !== "enabled" || t.missing_since !== null
|
|
65
|
+
? "disabled"
|
|
66
|
+
: t.default_policy === "deny"
|
|
67
|
+
? "org_deny"
|
|
68
|
+
: null;
|
|
69
|
+
return {
|
|
70
|
+
name: t.name,
|
|
71
|
+
key: connectorToolKey(c.slug, t.name),
|
|
72
|
+
title: typeof spec.title === "string" ? spec.title : null,
|
|
73
|
+
description: spec.description,
|
|
74
|
+
defaultPolicy: t.default_policy,
|
|
75
|
+
annotationPolicy: policyFromAnnotations(spec.annotations),
|
|
76
|
+
policy: mine.get(t.name) ?? null,
|
|
77
|
+
locked,
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Sets (a policy) or clears (null) the account's policies for some of the connector's tools;
|
|
83
|
+
* an unknown tool -> 404 `connector.tool_not_found`. Locked tools may hold a setting: it does not
|
|
84
|
+
* apply while the lock lasts. Audits `connector.member_policies_changed`.
|
|
85
|
+
*/
|
|
86
|
+
async set(orgId, connectorId, accountId, changes, actorTokenId) {
|
|
87
|
+
await this.orgLock.lockAndAuthorize(orgId, accountId, "connectors.use");
|
|
88
|
+
await this.connector(orgId, connectorId);
|
|
89
|
+
const names = Object.keys(changes);
|
|
90
|
+
if (names.length === 0)
|
|
91
|
+
return;
|
|
92
|
+
const known = new Set((await this.db
|
|
93
|
+
.selectFrom("connector_tools")
|
|
94
|
+
.select("name")
|
|
95
|
+
.where("connector_id", "=", connectorId)
|
|
96
|
+
.where("name", "in", names)
|
|
97
|
+
.execute()).map((r) => r.name));
|
|
98
|
+
const unknown = names.find((n) => !known.has(n));
|
|
99
|
+
if (unknown !== undefined) {
|
|
100
|
+
throw new ApiError("connector.tool_not_found", `No tool ${unknown} in this connector`);
|
|
101
|
+
}
|
|
102
|
+
const cleared = names.filter((n) => changes[n] === null);
|
|
103
|
+
if (cleared.length > 0) {
|
|
104
|
+
await this.db
|
|
105
|
+
.deleteFrom("connector_tool_account_policies")
|
|
106
|
+
.where("connector_id", "=", connectorId)
|
|
107
|
+
.where("account_id", "=", accountId)
|
|
108
|
+
.where("tool_name", "in", cleared)
|
|
109
|
+
.execute();
|
|
110
|
+
}
|
|
111
|
+
const set = names.flatMap((n) => {
|
|
112
|
+
const p = changes[n];
|
|
113
|
+
return p === null || p === undefined ? [] : [{ name: n, policy: p }];
|
|
114
|
+
});
|
|
115
|
+
if (set.length > 0) {
|
|
116
|
+
await this.db
|
|
117
|
+
.insertInto("connector_tool_account_policies")
|
|
118
|
+
.values(set.map((x) => ({
|
|
119
|
+
org_id: orgId,
|
|
120
|
+
connector_id: connectorId,
|
|
121
|
+
account_id: accountId,
|
|
122
|
+
tool_name: x.name,
|
|
123
|
+
policy: x.policy,
|
|
124
|
+
})))
|
|
125
|
+
.onConflict((oc) => oc.columns(["connector_id", "account_id", "tool_name"]).doUpdateSet({
|
|
126
|
+
policy: (eb) => eb.ref("excluded.policy"),
|
|
127
|
+
updated_at: sql `now()`,
|
|
128
|
+
}))
|
|
129
|
+
.execute();
|
|
130
|
+
}
|
|
131
|
+
await audit(this.db, {
|
|
132
|
+
actorAccountId: accountId,
|
|
133
|
+
...(actorTokenId !== undefined && { actorTokenId }),
|
|
134
|
+
orgId,
|
|
135
|
+
action: "connector.member_policies_changed",
|
|
136
|
+
target: connectorId,
|
|
137
|
+
detail: { tools: changes },
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/** The org's live personal-credential connector, else 404 / 409. */
|
|
141
|
+
async connector(orgId, connectorId) {
|
|
142
|
+
const c = await this.db
|
|
143
|
+
.selectFrom("connectors")
|
|
144
|
+
.select(["slug", "auth"])
|
|
145
|
+
.where("id", "=", connectorId)
|
|
146
|
+
.where("org_id", "=", orgId)
|
|
147
|
+
.where("deleted_at", "is", null)
|
|
148
|
+
.executeTakeFirst();
|
|
149
|
+
if (!c)
|
|
150
|
+
throw notFound();
|
|
151
|
+
if (!personalAuth(c.auth))
|
|
152
|
+
throw notPersonal();
|
|
153
|
+
return { slug: c.slug };
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
__decorate([
|
|
157
|
+
Transactional()
|
|
158
|
+
], ConnectorAccountPolicies.prototype, "set", null);
|
|
159
|
+
ConnectorAccountPolicies = __decorate([
|
|
160
|
+
Injectable(),
|
|
161
|
+
__param(0, Inject(KernelDb)),
|
|
162
|
+
__param(1, Inject(OrgLock)),
|
|
163
|
+
__param(2, Inject(TransactionHost))
|
|
164
|
+
], ConnectorAccountPolicies);
|
|
165
|
+
export { ConnectorAccountPolicies };
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import type { ConnectionGuideState } from "../extensions/plugin-guides.js";
|
|
3
|
+
import { PluginIcons } from "../extensions/plugin-icons.js";
|
|
2
4
|
import { type Principal } from "../identity/principal.js";
|
|
5
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
3
6
|
import { type OrgContext } from "../orgs/org.guard.js";
|
|
7
|
+
import { ConnectorAccountPolicies, type MemberToolPolicyView } from "./connector-account-policies.js";
|
|
8
|
+
import { ConnectorGuideAckSchema, CredentialValue, MemberToolPoliciesBody } from "./connectors.schemas.js";
|
|
4
9
|
import { type ConnectorDetail, type ConnectorPreview, type ConnectorSummary, ConnectorsService, type ToolIssue } from "./connectors.service.js";
|
|
5
|
-
/** 凭据值:形状由 `Credentials.validate` 按认证方式校验(不回显值);这里只限大小。 */
|
|
6
|
-
export declare const CredentialValue: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
7
10
|
declare const CreateBody: z.ZodObject<{
|
|
8
11
|
name: z.ZodString;
|
|
9
12
|
slug: z.ZodOptional<z.ZodString>;
|
|
@@ -59,6 +62,7 @@ declare const CreateBody: z.ZodObject<{
|
|
|
59
62
|
client_secret_basic: "client_secret_basic";
|
|
60
63
|
client_secret_post: "client_secret_post";
|
|
61
64
|
}>>;
|
|
65
|
+
tokenTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
62
66
|
}, z.core.$strict>, z.ZodObject<{
|
|
63
67
|
type: z.ZodLiteral<"oauth_client">;
|
|
64
68
|
ownership: z.ZodLiteral<"org">;
|
|
@@ -68,6 +72,7 @@ declare const CreateBody: z.ZodObject<{
|
|
|
68
72
|
client_secret_basic: "client_secret_basic";
|
|
69
73
|
client_secret_post: "client_secret_post";
|
|
70
74
|
}>>;
|
|
75
|
+
tokenTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
71
76
|
}, z.core.$strict>], "type">;
|
|
72
77
|
credential: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
73
78
|
}, z.core.$strict>;
|
|
@@ -127,6 +132,7 @@ declare const PreviewBody: z.ZodObject<{
|
|
|
127
132
|
client_secret_basic: "client_secret_basic";
|
|
128
133
|
client_secret_post: "client_secret_post";
|
|
129
134
|
}>>;
|
|
135
|
+
tokenTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
130
136
|
}, z.core.$strict>, z.ZodObject<{
|
|
131
137
|
type: z.ZodLiteral<"oauth_client">;
|
|
132
138
|
ownership: z.ZodLiteral<"org">;
|
|
@@ -136,6 +142,7 @@ declare const PreviewBody: z.ZodObject<{
|
|
|
136
142
|
client_secret_basic: "client_secret_basic";
|
|
137
143
|
client_secret_post: "client_secret_post";
|
|
138
144
|
}>>;
|
|
145
|
+
tokenTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
139
146
|
}, z.core.$strict>], "type">>;
|
|
140
147
|
credential: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
141
148
|
}, z.core.$strict>;
|
|
@@ -164,18 +171,50 @@ declare const UpdateBody: z.ZodObject<{
|
|
|
164
171
|
}, z.core.$strict>>>;
|
|
165
172
|
allowUnannotated: z.ZodOptional<z.ZodBoolean>;
|
|
166
173
|
}, z.core.$strict>;
|
|
174
|
+
/**
|
|
175
|
+
* A connector as the org's pages show it: with its plugin's icon (`icon`, see `withIcons`), its
|
|
176
|
+
* template's setup guide and the drift since it was set up (`setupGuide`, `guideDrift`; spec
|
|
177
|
+
* 2026-11-09-setup-guides-v2-design.md §9.3, §11).
|
|
178
|
+
*/
|
|
179
|
+
export type ConnectorPage<T extends ConnectorSummary = ConnectorDetail> = T & ConnectionGuideState & {
|
|
180
|
+
icon: string | null;
|
|
181
|
+
/** The one-connector read of an `oauth_code` connector, for managers: its redirect URI. */
|
|
182
|
+
oauthCallbackUrl?: string | null;
|
|
183
|
+
};
|
|
167
184
|
/**
|
|
168
185
|
* 连接器(`/api/v1/orgs/:orgId/connectors`):读与个人凭据用 `connectors.use`(访客起),安装 / 修改 / 删除 / 刷新 /
|
|
169
186
|
* 组织凭据用 `connectors.manage`(管理员起);两者都仅限用户主体。
|
|
170
187
|
*/
|
|
171
188
|
export declare class ConnectorsController {
|
|
172
189
|
private readonly connectors;
|
|
173
|
-
|
|
190
|
+
private readonly icons;
|
|
191
|
+
private readonly memberPolicies;
|
|
192
|
+
private readonly config;
|
|
193
|
+
constructor(connectors: ConnectorsService, icons: PluginIcons, memberPolicies: ConnectorAccountPolicies, config: Pick<KernelConfigService, "get">);
|
|
194
|
+
/**
|
|
195
|
+
* Each connector with `icon`: the icon of the plugin its template came from, on the org's catalog
|
|
196
|
+
* route (null for a custom connector, a plugin without an icon, or one the reader's catalog does
|
|
197
|
+
* not show: the share gate holds; maintainer decision 2026-11-09).
|
|
198
|
+
*/
|
|
199
|
+
private withIcons;
|
|
174
200
|
list(org: OrgContext): Promise<{
|
|
175
|
-
connectors: ConnectorSummary[];
|
|
201
|
+
connectors: ConnectorPage<ConnectorSummary>[];
|
|
202
|
+
}>;
|
|
203
|
+
/** Adds the icon and the setup guide fields to connector views (one lookup each for all). */
|
|
204
|
+
private withGuides;
|
|
205
|
+
private withGuide;
|
|
206
|
+
/**
|
|
207
|
+
* The connector kinds the org can create connectors of, each with the plugin providing it (the
|
|
208
|
+
* install wizard offers only these; an empty list means no connector extension is enabled).
|
|
209
|
+
*/
|
|
210
|
+
kinds(org: OrgContext): Promise<{
|
|
211
|
+
kinds: {
|
|
212
|
+
kind: string;
|
|
213
|
+
plugin: string;
|
|
214
|
+
}[];
|
|
176
215
|
}>;
|
|
177
216
|
create(principal: Principal, org: OrgContext, body: z.infer<typeof CreateBody>): Promise<{
|
|
178
|
-
connector:
|
|
217
|
+
connector: ConnectorPage;
|
|
179
218
|
issues: ToolIssue[];
|
|
180
219
|
}>;
|
|
181
220
|
/**
|
|
@@ -184,14 +223,14 @@ export declare class ConnectorsController {
|
|
|
184
223
|
*/
|
|
185
224
|
preview(principal: Principal, org: OrgContext, body: z.infer<typeof PreviewBody>): Promise<ConnectorPreview>;
|
|
186
225
|
get(principal: Principal, org: OrgContext, connectorId: string): Promise<{
|
|
187
|
-
connector:
|
|
226
|
+
connector: ConnectorPage;
|
|
188
227
|
}>;
|
|
189
228
|
update(principal: Principal, org: OrgContext, connectorId: string, body: z.infer<typeof UpdateBody>): Promise<{
|
|
190
|
-
connector:
|
|
229
|
+
connector: ConnectorPage;
|
|
191
230
|
}>;
|
|
192
231
|
remove(principal: Principal, org: OrgContext, connectorId: string): Promise<void>;
|
|
193
232
|
refresh(principal: Principal, org: OrgContext, connectorId: string): Promise<{
|
|
194
|
-
connector:
|
|
233
|
+
connector: ConnectorPage;
|
|
195
234
|
issues: ToolIssue[];
|
|
196
235
|
changes: {
|
|
197
236
|
added: string[];
|
|
@@ -201,10 +240,36 @@ export declare class ConnectorsController {
|
|
|
201
240
|
}>;
|
|
202
241
|
/** 复核待复核的工具(漂移检测,spec 7.3):approve 采用新定义并启用,reject 停用并保留旧定义。 */
|
|
203
242
|
review(principal: Principal, org: OrgContext, connectorId: string, name: string, body: z.infer<typeof ReviewBody>): Promise<{
|
|
204
|
-
connector:
|
|
243
|
+
connector: ConnectorPage;
|
|
244
|
+
}>;
|
|
245
|
+
/**
|
|
246
|
+
* 「我已更新应用」: the org admin updated the third-party app to the connector template's current
|
|
247
|
+
* setup guide (`{ hash }` of the guide shown) -> 200 `{ connector }`; 409
|
|
248
|
+
* `connector.guide_changed` when the guide moved on since, 404 `catalog.guide_not_found` for a
|
|
249
|
+
* connector without a template guide.
|
|
250
|
+
*/
|
|
251
|
+
ackGuide(principal: Principal, org: OrgContext, connectorId: string, body: z.infer<typeof ConnectorGuideAckSchema>): Promise<{
|
|
252
|
+
connector: ConnectorPage;
|
|
205
253
|
}>;
|
|
206
254
|
setOrgCredential(principal: Principal, org: OrgContext, connectorId: string, body: z.infer<typeof CredentialValue>): Promise<void>;
|
|
207
255
|
setMyCredential(principal: Principal, org: OrgContext, connectorId: string, body: z.infer<typeof CredentialValue>): Promise<void>;
|
|
256
|
+
/**
|
|
257
|
+
* The caller's own tool policies for their own connection of a personal-credential connector
|
|
258
|
+
* (the card's 权限, decision 2026-11-09): each tool with the org default, the annotation default,
|
|
259
|
+
* the caller's setting and whether the org locked it. Only ever the caller's rows. A connector
|
|
260
|
+
* with one org credential -> 409 `connector.not_personal`.
|
|
261
|
+
*/
|
|
262
|
+
myToolPolicies(principal: Principal, org: OrgContext, connectorId: string): Promise<{
|
|
263
|
+
tools: MemberToolPolicyView[];
|
|
264
|
+
}>;
|
|
265
|
+
/**
|
|
266
|
+
* Sets (`allow` / `ask` / `deny`) or clears (null) the caller's own policies for some tools:
|
|
267
|
+
* `{ tools: { <name>: policy | null } }` -> the sheet again. Unknown tool -> 404
|
|
268
|
+
* `connector.tool_not_found`.
|
|
269
|
+
*/
|
|
270
|
+
setMyToolPolicies(principal: Principal, org: OrgContext, connectorId: string, body: z.infer<typeof MemberToolPoliciesBody>): Promise<{
|
|
271
|
+
tools: MemberToolPolicyView[];
|
|
272
|
+
}>;
|
|
208
273
|
clearMyCredential(principal: Principal, org: OrgContext, connectorId: string): Promise<void>;
|
|
209
274
|
}
|
|
210
275
|
export {};
|