@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.3
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/dist/admin/admin.controller.d.ts +17 -17
- package/dist/admin/admin.controller.js +43 -26
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/extensions.controller.d.ts +14 -14
- package/dist/admin/extensions.controller.js +30 -17
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +8 -8
- package/dist/admin/setup.controller.js +27 -25
- package/dist/admin/setup.service.d.ts +19 -27
- package/dist/admin/setup.service.js +61 -61
- package/dist/agents/agent-lookup.d.ts +53 -0
- package/dist/agents/agent-lookup.js +187 -0
- package/dist/agents/agents.controller.d.ts +1 -1
- package/dist/agents/agents.controller.js +14 -8
- package/dist/agents/agents.module.d.ts +7 -0
- package/dist/agents/agents.module.js +41 -0
- package/dist/agents/agents.service.d.ts +39 -58
- package/dist/agents/agents.service.js +280 -335
- package/dist/agents/definition.d.ts +39 -8
- package/dist/agents/definition.js +201 -17
- package/dist/agents/models.controller.d.ts +1 -1
- package/dist/agents/models.controller.js +2 -2
- package/dist/agents/templates.controller.d.ts +1 -1
- package/dist/agents/templates.controller.js +2 -2
- package/dist/agents/templates.d.ts +6 -8
- package/dist/agents/templates.js +39 -8
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/catalog/admin-catalog.controller.d.ts +3 -3
- package/dist/catalog/admin-catalog.controller.js +27 -13
- package/dist/catalog/catalog-content.d.ts +185 -0
- package/dist/catalog/catalog-content.js +326 -0
- package/dist/catalog/catalog-items.d.ts +186 -0
- package/dist/catalog/catalog-items.js +410 -0
- package/dist/catalog/catalog.module.d.ts +14 -0
- package/dist/catalog/catalog.module.js +71 -0
- package/dist/catalog/catalog.service.d.ts +34 -188
- package/dist/catalog/catalog.service.js +155 -489
- package/dist/catalog/claude/agents.js +13 -10
- package/dist/catalog/cli.d.ts +3 -2
- package/dist/catalog/cli.js +13 -31
- package/dist/catalog/job-ids.d.ts +15 -0
- package/dist/catalog/job-ids.js +15 -0
- package/dist/catalog/jobs.d.ts +27 -0
- package/dist/catalog/jobs.js +70 -0
- package/dist/catalog/locks.d.ts +24 -0
- package/dist/catalog/locks.js +63 -0
- package/dist/catalog/marketplaces.controller.d.ts +4 -4
- package/dist/catalog/marketplaces.controller.js +22 -11
- package/dist/catalog/marketplaces.service.d.ts +31 -14
- package/dist/catalog/marketplaces.service.js +330 -256
- package/dist/catalog/org-catalog.controller.d.ts +4 -3
- package/dist/catalog/org-catalog.controller.js +29 -14
- package/dist/catalog/org-catalog.service.d.ts +32 -198
- package/dist/catalog/org-catalog.service.js +159 -400
- package/dist/catalog/plugin-import.d.ts +73 -34
- package/dist/catalog/plugin-import.js +356 -217
- package/dist/catalog/plugin-install.d.ts +83 -41
- package/dist/catalog/plugin-install.js +421 -269
- package/dist/catalog/plugin-upgrade.d.ts +59 -4
- package/dist/catalog/plugin-upgrade.js +407 -282
- package/dist/catalog/requests.service.d.ts +27 -15
- package/dist/catalog/requests.service.js +201 -145
- package/dist/catalog/upgrade-targets.d.ts +4 -7
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +1 -1
- package/dist/channels/cards.d.ts +10 -4
- package/dist/channels/cards.js +16 -8
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +128 -0
- package/dist/channels/connections.controller.d.ts +1 -1
- package/dist/channels/connections.controller.js +11 -6
- package/dist/channels/connections.service.d.ts +43 -21
- package/dist/channels/connections.service.js +236 -131
- package/dist/channels/inbound.d.ts +34 -38
- package/dist/channels/inbound.js +107 -41
- package/dist/channels/job-ids.d.ts +10 -0
- package/dist/channels/job-ids.js +10 -0
- package/dist/channels/jobs.d.ts +85 -0
- package/dist/channels/jobs.js +157 -0
- package/dist/channels/outbound.d.ts +60 -82
- package/dist/channels/outbound.js +165 -194
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +29 -8
- package/dist/channels/threads.js +71 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/load.d.ts +3 -2
- package/dist/config/load.js +3 -2
- package/dist/config/nacos-source.js +11 -2
- package/dist/config/schema.d.ts +1 -0
- package/dist/config/schema.js +12 -6
- package/dist/conversations/access.d.ts +29 -0
- package/dist/conversations/access.js +86 -0
- package/dist/conversations/artifacts.d.ts +11 -11
- package/dist/conversations/artifacts.js +36 -10
- package/dist/conversations/attachments.controller.d.ts +1 -1
- package/dist/conversations/attachments.controller.js +8 -6
- package/dist/conversations/attachments.module.d.ts +7 -0
- package/dist/conversations/attachments.module.js +25 -0
- package/dist/conversations/attachments.service.d.ts +30 -22
- package/dist/conversations/attachments.service.js +119 -46
- package/dist/conversations/conversations.controller.d.ts +8 -7
- package/dist/conversations/conversations.controller.js +59 -29
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +69 -0
- package/dist/conversations/conversations.service.d.ts +40 -38
- package/dist/conversations/conversations.service.js +130 -140
- package/dist/conversations/event-log.d.ts +39 -18
- package/dist/conversations/event-log.js +93 -27
- package/dist/conversations/events.d.ts +23 -3
- package/dist/conversations/events.js +26 -14
- package/dist/conversations/files.d.ts +10 -10
- package/dist/conversations/files.js +37 -11
- package/dist/conversations/idem-keys.d.ts +5 -0
- package/dist/conversations/idem-keys.js +5 -0
- package/dist/conversations/job-ids.d.ts +6 -0
- package/dist/conversations/job-ids.js +6 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +48 -56
- package/dist/conversations/queue.js +13 -289
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +343 -0
- package/dist/conversations/sandbox-status.d.ts +13 -10
- package/dist/conversations/sandbox-status.js +36 -8
- package/dist/conversations/titles.d.ts +71 -24
- package/dist/conversations/titles.js +159 -63
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +6 -0
- package/dist/ctx/create-ctx.js +7 -9
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +4 -4
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +1 -0
- package/dist/errors.d.ts +1 -0
- package/dist/errors.js +1 -0
- package/dist/evals/budget.d.ts +42 -21
- package/dist/evals/budget.js +114 -62
- package/dist/evals/evals.module.d.ts +31 -0
- package/dist/evals/evals.module.js +114 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/recorded-tools.d.ts +27 -1
- package/dist/evals/recorded-tools.js +85 -10
- package/dist/evals/run-replay.d.ts +61 -8
- package/dist/evals/run-replay.js +159 -85
- package/dist/evals/runs.controller.d.ts +1 -1
- package/dist/evals/runs.controller.js +17 -8
- package/dist/evals/runs.service.d.ts +23 -45
- package/dist/evals/runs.service.js +245 -234
- package/dist/evals/sets.controller.d.ts +1 -1
- package/dist/evals/sets.controller.js +17 -8
- package/dist/evals/sets.service.d.ts +22 -6
- package/dist/evals/sets.service.js +248 -194
- package/dist/evals/snapshot.d.ts +2 -2
- package/dist/evals/step-replay.d.ts +2 -2
- package/dist/evals/step-replay.js +1 -1
- package/dist/evals/trajectory.controller.d.ts +1 -1
- package/dist/evals/trajectory.controller.js +11 -7
- package/dist/evals/trajectory.d.ts +2 -2
- package/dist/evals/trajectory.service.d.ts +5 -4
- package/dist/evals/trajectory.service.js +30 -7
- package/dist/evals/worker.d.ts +44 -27
- package/dist/evals/worker.js +220 -121
- package/dist/extensions/admin-ops.d.ts +61 -33
- package/dist/extensions/admin-ops.js +248 -154
- package/dist/extensions/admin-view.d.ts +38 -27
- package/dist/extensions/admin-view.js +126 -55
- package/dist/extensions/approvals.d.ts +12 -8
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +111 -45
- package/dist/extensions/bootstrap.d.ts +58 -31
- package/dist/extensions/bootstrap.js +175 -121
- package/dist/extensions/cli.d.ts +20 -10
- package/dist/extensions/cli.js +41 -96
- package/dist/extensions/config-issues.d.ts +7 -0
- package/dist/extensions/config-issues.js +31 -0
- package/dist/extensions/deployment-config-store.d.ts +49 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +58 -67
- package/dist/extensions/deployment-config.js +202 -230
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +77 -0
- package/dist/extensions/hooks.d.ts +3 -2
- package/dist/extensions/hooks.js +1 -1
- package/dist/extensions/host.d.ts +72 -68
- package/dist/extensions/host.js +191 -152
- package/dist/extensions/installs.d.ts +49 -16
- package/dist/extensions/installs.js +128 -32
- package/dist/extensions/job-ids.d.ts +6 -0
- package/dist/extensions/job-ids.js +6 -0
- package/dist/extensions/lifecycle-topics.d.ts +18 -0
- package/dist/extensions/lifecycle-topics.js +18 -0
- package/dist/extensions/lifecycle.d.ts +35 -47
- package/dist/extensions/lifecycle.js +103 -39
- package/dist/extensions/locks.d.ts +33 -0
- package/dist/extensions/locks.js +86 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.controller.d.ts +1 -1
- package/dist/extensions/org-config.controller.js +8 -5
- package/dist/extensions/org-config.d.ts +48 -46
- package/dist/extensions/org-config.js +284 -226
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +89 -4
- package/dist/extensions/sources.d.ts +12 -8
- package/dist/extensions/sources.js +34 -13
- package/dist/files/files.module.d.ts +3 -0
- package/dist/files/files.module.js +22 -0
- package/dist/files/previewers.controller.d.ts +7 -2
- package/dist/files/previewers.controller.js +17 -9
- package/dist/files/previewers.d.ts +13 -18
- package/dist/files/previewers.js +83 -36
- package/dist/http/adapter.d.ts +3 -0
- package/dist/http/adapter.js +25 -0
- package/dist/http/api.module.d.ts +3 -110
- package/dist/http/api.module.js +47 -355
- package/dist/http/app.d.ts +11 -15
- package/dist/http/app.js +17 -62
- package/dist/http/error-filter.module.d.ts +5 -0
- package/dist/http/error-filter.module.js +18 -0
- package/dist/http/error.filter.js +2 -2
- package/dist/identity/accounts.d.ts +82 -29
- package/dist/identity/accounts.js +294 -175
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +7 -4
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +31 -25
- package/dist/identity/auth.guard.d.ts +3 -3
- package/dist/identity/auth.guard.js +6 -4
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/enterprise-admin.d.ts +18 -12
- package/dist/identity/enterprise-admin.js +67 -13
- package/dist/identity/external-identity-lock.d.ts +17 -0
- package/dist/identity/external-identity-lock.js +39 -0
- package/dist/identity/external.d.ts +19 -15
- package/dist/identity/external.js +163 -125
- package/dist/identity/identity.module.d.ts +6 -0
- package/dist/identity/identity.module.js +56 -0
- package/dist/identity/me.controller.d.ts +16 -15
- package/dist/identity/me.controller.js +37 -31
- package/dist/identity/sessions.d.ts +12 -10
- package/dist/identity/sessions.js +74 -42
- package/dist/identity/settings.d.ts +20 -14
- package/dist/identity/settings.js +86 -58
- package/dist/identity/sso.controller.d.ts +7 -7
- package/dist/identity/sso.controller.js +13 -9
- package/dist/identity/sso.d.ts +9 -12
- package/dist/identity/sso.js +54 -24
- package/dist/inbox/inbox.module.d.ts +3 -0
- package/dist/inbox/inbox.module.js +22 -0
- package/dist/inbox/inbox.service.d.ts +7 -9
- package/dist/inbox/inbox.service.js +32 -11
- package/dist/index.d.ts +16 -11
- package/dist/index.js +9 -6
- package/dist/infra/cache/cache.module.d.ts +3 -0
- package/dist/infra/cache/cache.module.js +16 -0
- package/dist/infra/cache/cache.service.d.ts +21 -0
- package/dist/infra/cache/cache.service.js +80 -0
- package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
- package/dist/infra/cache/cacheable.decorator.js +83 -0
- package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
- package/dist/infra/cli/kernel-cli.module.js +165 -0
- package/dist/infra/close-within.d.ts +15 -0
- package/dist/infra/close-within.js +36 -0
- package/dist/infra/config/config.module.d.ts +13 -0
- package/dist/infra/config/config.module.js +39 -0
- package/dist/infra/config/kernel-config.service.d.ts +25 -0
- package/dist/infra/config/kernel-config.service.js +126 -0
- package/dist/infra/database/after-commit.d.ts +6 -0
- package/dist/infra/database/after-commit.js +9 -0
- package/dist/infra/database/database.module.d.ts +25 -0
- package/dist/infra/database/database.module.js +90 -0
- package/dist/infra/database/kernel-db.d.ts +22 -0
- package/dist/infra/database/kernel-db.js +65 -0
- package/dist/infra/database/transaction-host.d.ts +50 -0
- package/dist/infra/database/transaction-host.js +125 -0
- package/dist/infra/database/transactional.decorator.d.ts +15 -0
- package/dist/infra/database/transactional.decorator.js +27 -0
- package/dist/infra/database/xact-lock.d.ts +17 -0
- package/dist/infra/database/xact-lock.js +43 -0
- package/dist/infra/events/kernel-events.d.ts +96 -0
- package/dist/infra/events/kernel-events.js +65 -0
- package/dist/infra/health/health.controller.d.ts +26 -0
- package/dist/infra/health/health.controller.js +104 -0
- package/dist/infra/health/health.module.d.ts +9 -0
- package/dist/infra/health/health.module.js +24 -0
- package/dist/infra/health/health.options.d.ts +10 -0
- package/dist/infra/health/health.options.js +15 -0
- package/dist/infra/health/shutdown-state.d.ts +6 -0
- package/dist/infra/health/shutdown-state.js +2 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
- package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
- package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
- package/dist/infra/lifecycle/process-guards.d.ts +52 -0
- package/dist/infra/lifecycle/process-guards.js +86 -0
- package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
- package/dist/infra/lifecycle/shutdown-signals.js +48 -0
- package/dist/infra/lock/key-template.d.ts +13 -0
- package/dist/infra/lock/key-template.js +46 -0
- package/dist/infra/lock/lock.module.d.ts +3 -0
- package/dist/infra/lock/lock.module.js +16 -0
- package/dist/infra/lock/lock.service.d.ts +120 -0
- package/dist/infra/lock/lock.service.js +343 -0
- package/dist/infra/lock/shared-lease.d.ts +44 -0
- package/dist/infra/lock/shared-lease.js +121 -0
- package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
- package/dist/infra/lock/with-lock.decorator.js +49 -0
- package/dist/infra/logging/logging.module.d.ts +16 -0
- package/dist/infra/logging/logging.module.js +34 -0
- package/dist/infra/queue/configured-processor.d.ts +18 -0
- package/dist/infra/queue/configured-processor.js +23 -0
- package/dist/infra/queue/job-failure.d.ts +18 -0
- package/dist/infra/queue/job-failure.js +26 -0
- package/dist/infra/queue/queue-shutdown.d.ts +27 -0
- package/dist/infra/queue/queue-shutdown.js +81 -0
- package/dist/infra/queue/queue.module.d.ts +16 -0
- package/dist/infra/queue/queue.module.js +61 -0
- package/dist/infra/queue/redis-connection.d.ts +7 -0
- package/dist/infra/queue/redis-connection.js +18 -0
- package/dist/infra/queue/retired-schedulers.d.ts +7 -0
- package/dist/infra/queue/retired-schedulers.js +9 -0
- package/dist/infra/queue/run-job.d.ts +16 -0
- package/dist/infra/queue/run-job.js +19 -0
- package/dist/infra/redis/redis.module.d.ts +24 -0
- package/dist/infra/redis/redis.module.js +87 -0
- package/dist/infra/schedule/cron-tick.d.ts +12 -0
- package/dist/infra/schedule/cron-tick.js +25 -0
- package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
- package/dist/infra/schedule/locked-cron.decorator.js +53 -0
- package/dist/infra/schedule/locked-interval.d.ts +69 -0
- package/dist/infra/schedule/locked-interval.js +190 -0
- package/dist/infra/schedule/locked-tick.d.ts +90 -0
- package/dist/infra/schedule/locked-tick.js +137 -0
- package/dist/infra/schedule/schedule.module.d.ts +8 -0
- package/dist/infra/schedule/schedule.module.js +27 -0
- package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
- package/dist/infra/schedule/scheduled-runs.js +163 -0
- package/dist/infra/swagger/swagger.d.ts +16 -0
- package/dist/infra/swagger/swagger.js +31 -0
- package/dist/infra/throttler/credential-throttler.d.ts +35 -0
- package/dist/infra/throttler/credential-throttler.js +77 -0
- package/dist/infra/throttler/named-throttlers.d.ts +31 -0
- package/dist/infra/throttler/named-throttlers.js +119 -0
- package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
- package/dist/infra/throttler/redis-throttler-storage.js +130 -0
- package/dist/infra/throttler/throttler.guard.d.ts +23 -0
- package/dist/infra/throttler/throttler.guard.js +68 -0
- package/dist/infra/throttler/throttler.module.d.ts +15 -0
- package/dist/infra/throttler/throttler.module.js +53 -0
- package/dist/infra/tokens.d.ts +15 -0
- package/dist/infra/tokens.js +15 -0
- package/dist/infra/validation/create-zod-dto.d.ts +23 -0
- package/dist/infra/validation/create-zod-dto.js +35 -0
- package/dist/infra/validation/parse-with-zod.d.ts +7 -0
- package/dist/infra/validation/parse-with-zod.js +12 -0
- package/dist/infra/validation/validation.module.d.ts +3 -0
- package/dist/infra/validation/validation.module.js +16 -0
- package/dist/infra/validation/zod-params.d.ts +7 -0
- package/dist/infra/validation/zod-params.js +42 -0
- package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
- package/dist/infra/validation/zod-validation.pipe.js +31 -0
- package/dist/kernel.d.ts +9 -244
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +136 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +456 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-context.d.ts +2 -0
- package/dist/log-context.js +4 -0
- package/dist/models/models.module.d.ts +3 -0
- package/dist/models/models.module.js +24 -0
- package/dist/models/prices.d.ts +8 -2
- package/dist/models/prices.js +65 -37
- package/dist/models/purposes.controller.d.ts +1 -1
- package/dist/models/purposes.controller.js +5 -6
- package/dist/models/purposes.d.ts +35 -13
- package/dist/models/purposes.js +101 -51
- package/dist/orgs/directory-sync.controller.d.ts +1 -1
- package/dist/orgs/directory-sync.controller.js +2 -2
- package/dist/orgs/directory-sync.d.ts +61 -31
- package/dist/orgs/directory-sync.js +212 -125
- package/dist/orgs/invitations.controller.d.ts +8 -8
- package/dist/orgs/invitations.controller.js +27 -26
- package/dist/orgs/invitations.service.d.ts +12 -9
- package/dist/orgs/invitations.service.js +130 -92
- package/dist/orgs/job-ids.d.ts +8 -0
- package/dist/orgs/job-ids.js +8 -0
- package/dist/orgs/members.service.d.ts +19 -12
- package/dist/orgs/members.service.js +161 -117
- package/dist/orgs/offboarding.d.ts +54 -57
- package/dist/orgs/offboarding.js +161 -71
- package/dist/orgs/org-lock.d.ts +28 -19
- package/dist/orgs/org-lock.js +81 -35
- package/dist/orgs/org.guard.d.ts +1 -1
- package/dist/orgs/org.guard.js +2 -2
- package/dist/orgs/orgs.controller.d.ts +13 -13
- package/dist/orgs/orgs.controller.js +29 -17
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +68 -0
- package/dist/orgs/orgs.service.d.ts +30 -19
- package/dist/orgs/orgs.service.js +139 -86
- package/dist/orgs/settings.controller.d.ts +1 -1
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +16 -10
- package/dist/orgs/settings.service.js +77 -48
- package/dist/overrides.d.ts +56 -0
- package/dist/overrides.js +30 -0
- package/dist/roles/gateway-role.d.ts +43 -0
- package/dist/roles/gateway-role.js +98 -0
- package/dist/roles/gateway.module.d.ts +8 -0
- package/dist/roles/gateway.module.js +28 -0
- package/dist/roles/worker-role.d.ts +63 -0
- package/dist/roles/worker-role.js +144 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +90 -0
- package/dist/runtime/abort.js +19 -2
- package/dist/runtime/checkpointer.d.ts +8 -3
- package/dist/runtime/checkpointer.js +87 -55
- package/dist/runtime/context/build.d.ts +6 -6
- package/dist/runtime/context/build.js +18 -8
- package/dist/runtime/context/claude-tools.d.ts +2 -1
- package/dist/runtime/context/claude-tools.js +9 -10
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +37 -30
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +3 -3
- package/dist/runtime/hook-calls.js +1 -6
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.js +1 -1
- package/dist/runtime/loop.d.ts +8 -1
- package/dist/runtime/loop.js +14 -0
- package/dist/runtime/maintenance-queue.d.ts +10 -0
- package/dist/runtime/maintenance-queue.js +10 -0
- package/dist/runtime/maintenance.d.ts +45 -74
- package/dist/runtime/maintenance.js +139 -137
- package/dist/runtime/model-call.d.ts +7 -4
- package/dist/runtime/model-call.js +25 -58
- package/dist/runtime/providers.d.ts +17 -6
- package/dist/runtime/providers.js +66 -25
- package/dist/runtime/quota.d.ts +17 -3
- package/dist/runtime/quota.js +27 -2
- package/dist/runtime/retired-schedulers.d.ts +7 -0
- package/dist/runtime/retired-schedulers.js +31 -0
- package/dist/runtime/run-control.d.ts +33 -0
- package/dist/runtime/run-control.js +77 -0
- package/dist/runtime/run-finish.d.ts +27 -18
- package/dist/runtime/run-finish.js +98 -51
- package/dist/runtime/run-jobs.d.ts +48 -0
- package/dist/runtime/run-jobs.js +95 -0
- package/dist/runtime/run-processors.d.ts +60 -0
- package/dist/runtime/run-processors.js +185 -0
- package/dist/runtime/run-queue.d.ts +32 -57
- package/dist/runtime/run-queue.js +291 -295
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +122 -76
- package/dist/runtime/run-worker.js +343 -229
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +112 -0
- package/dist/runtime/step-log.d.ts +40 -0
- package/dist/runtime/step-log.js +94 -0
- package/dist/runtime/stream.controller.d.ts +5 -8
- package/dist/runtime/stream.controller.js +14 -12
- package/dist/runtime/stream.d.ts +24 -6
- package/dist/runtime/stream.js +78 -7
- package/dist/runtime/subagents/child.d.ts +3 -44
- package/dist/runtime/subagents/child.js +0 -79
- package/dist/runtime/subagents/definition.d.ts +5 -10
- package/dist/runtime/subagents/definition.js +13 -14
- package/dist/runtime/subagents/dispatch.d.ts +89 -8
- package/dist/runtime/subagents/dispatch.js +137 -142
- package/dist/runtime/subagents/limits.d.ts +9 -4
- package/dist/runtime/subagents/limits.js +4 -2
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/progress.d.ts +2 -2
- package/dist/runtime/subagents/roster.d.ts +4 -4
- package/dist/runtime/subagents/roster.js +2 -2
- package/dist/runtime/subagents/skill-fork.d.ts +8 -9
- package/dist/runtime/subagents/skill-fork.js +17 -6
- package/dist/runtime/subagents/subagents.service.d.ts +40 -0
- package/dist/runtime/subagents/subagents.service.js +101 -0
- package/dist/runtime/usage-report.d.ts +94 -52
- package/dist/runtime/usage-report.js +200 -100
- package/dist/runtime/waits.d.ts +127 -59
- package/dist/runtime/waits.js +433 -210
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +41 -0
- package/dist/sandbox/jobs.js +113 -0
- package/dist/sandbox/leases.d.ts +39 -31
- package/dist/sandbox/leases.js +117 -257
- package/dist/sandbox/providers.d.ts +19 -0
- package/dist/sandbox/providers.js +38 -0
- package/dist/sandbox/sandbox.module.d.ts +8 -0
- package/dist/sandbox/sandbox.module.js +30 -0
- package/dist/sandbox/sandbox.service.d.ts +24 -29
- package/dist/sandbox/sandbox.service.js +106 -75
- package/dist/skills/catalog.d.ts +37 -24
- package/dist/skills/catalog.js +100 -57
- package/dist/skills/changes.controller.d.ts +4 -4
- package/dist/skills/changes.controller.js +15 -9
- package/dist/skills/changes.service.d.ts +30 -20
- package/dist/skills/changes.service.js +425 -367
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +8 -5
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +17 -16
- package/dist/skills/invoke.js +53 -21
- package/dist/skills/skills.controller.d.ts +1 -1
- package/dist/skills/skills.controller.js +11 -6
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +30 -0
- package/dist/skills/skills.service.d.ts +47 -30
- package/dist/skills/skills.service.js +221 -158
- package/dist/storage/job-ids.d.ts +6 -0
- package/dist/storage/job-ids.js +6 -0
- package/dist/storage/purge.d.ts +22 -7
- package/dist/storage/purge.js +55 -3
- package/dist/storage/storage.module.d.ts +6 -0
- package/dist/storage/storage.module.js +23 -0
- package/dist/storage/storage.service.d.ts +18 -4
- package/dist/storage/storage.service.js +44 -3
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +12 -8
- package/dist/tools/approvals.service.d.ts +33 -25
- package/dist/tools/approvals.service.js +343 -259
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +73 -0
- package/dist/tools/builtin-names.js +116 -0
- package/dist/tools/builtins/agent.d.ts +7 -7
- package/dist/tools/builtins/agent.js +7 -11
- package/dist/tools/builtins/ask-user.d.ts +3 -3
- package/dist/tools/builtins/ask-user.js +3 -3
- package/dist/tools/builtins/builtin-tools.d.ts +21 -0
- package/dist/tools/builtins/builtin-tools.js +80 -0
- package/dist/tools/builtins/read-tool-output.d.ts +3 -3
- package/dist/tools/builtins/read-tool-output.js +3 -3
- package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
- package/dist/tools/builtins/sandbox/bash.js +33 -30
- package/dist/tools/builtins/sandbox/common.d.ts +5 -4
- package/dist/tools/builtins/sandbox/common.js +2 -2
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +13 -13
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +42 -31
- 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 +6 -6
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +149 -32
- package/dist/tools/builtins/sandbox/index.d.ts +1 -1
- package/dist/tools/builtins/sandbox/index.js +1 -1
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +22 -15
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +38 -34
- package/dist/tools/builtins/skill-load.d.ts +6 -6
- package/dist/tools/builtins/skill-load.js +33 -17
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +10 -10
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/canonical-json.d.ts +6 -0
- package/dist/tools/canonical-json.js +16 -0
- package/dist/tools/connector-content.controller.d.ts +1 -1
- package/dist/tools/connector-content.controller.js +11 -6
- package/dist/tools/connector-content.d.ts +12 -15
- package/dist/tools/connector-content.js +53 -18
- package/dist/tools/connectors.controller.d.ts +1 -1
- package/dist/tools/connectors.controller.js +21 -10
- package/dist/tools/connectors.service.d.ts +31 -13
- package/dist/tools/connectors.service.js +438 -348
- package/dist/tools/credentials.d.ts +17 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/display-names.d.ts +9 -0
- package/dist/tools/display-names.js +24 -0
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +116 -84
- package/dist/tools/elicitation.js +1 -1
- package/dist/tools/info.d.ts +32 -13
- package/dist/tools/info.js +88 -39
- package/dist/tools/job-ids.d.ts +13 -0
- package/dist/tools/job-ids.js +15 -0
- package/dist/tools/jobs.d.ts +24 -0
- package/dist/tools/jobs.js +69 -0
- package/dist/tools/legacy-data.d.ts +34 -0
- package/dist/tools/legacy-data.js +76 -0
- package/dist/tools/legacy-keys.d.ts +51 -0
- package/dist/tools/legacy-keys.js +115 -0
- package/dist/tools/naming.d.ts +1 -5
- package/dist/tools/naming.js +1 -7
- package/dist/tools/oauth/flow-paths.d.ts +16 -0
- package/dist/tools/oauth/flow-paths.js +38 -0
- package/dist/tools/oauth/flow.d.ts +30 -30
- package/dist/tools/oauth/flow.js +109 -81
- package/dist/tools/oauth/oauth.controller.d.ts +3 -3
- package/dist/tools/oauth/oauth.controller.js +12 -9
- package/dist/tools/oauth/tokens.d.ts +11 -3
- package/dist/tools/oauth/tokens.js +15 -14
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +72 -50
- package/dist/tools/pipeline.js +239 -100
- package/dist/tools/policy.d.ts +3 -16
- package/dist/tools/policy.js +13 -19
- package/dist/tools/questions.controller.d.ts +2 -2
- package/dist/tools/questions.controller.js +9 -6
- package/dist/tools/questions.service.d.ts +26 -25
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +43 -38
- package/dist/tools/registry.js +100 -72
- package/dist/tools/resources.d.ts +1 -1
- package/dist/tools/resources.js +1 -1
- package/dist/tools/specs.d.ts +5 -4
- package/dist/tools/specs.js +3 -1
- package/dist/tools/tools.module.d.ts +10 -0
- package/dist/tools/tools.module.js +91 -0
- package/dist/ui/call-extension.d.ts +16 -0
- package/dist/ui/call-extension.js +38 -0
- package/dist/ui/embed-token.d.ts +9 -5
- package/dist/ui/embed-token.js +34 -6
- package/dist/ui/ui-stream.d.ts +22 -17
- package/dist/ui/ui-stream.js +72 -12
- package/dist/ui/ui.module.d.ts +7 -0
- package/dist/ui/ui.module.js +28 -0
- package/dist/ui/views.controller.d.ts +14 -12
- package/dist/ui/views.controller.js +32 -25
- package/dist/ui/views.d.ts +9 -57
- package/dist/ui/views.js +43 -45
- package/package.json +10 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/dist/http/health.controller.d.ts +0 -26
- package/dist/http/health.controller.js +0 -79
- package/dist/http/tokens.d.ts +0 -131
- package/dist/http/tokens.js +0 -131
- package/dist/http/zod.pipe.d.ts +0 -8
- package/dist/http/zod.pipe.js +0 -14
- package/dist/identity/rate-limit.d.ts +0 -55
- package/dist/identity/rate-limit.js +0 -121
- package/dist/sandbox/lifecycle.d.ts +0 -21
- package/dist/sandbox/lifecycle.js +0 -68
- package/dist/tools/builtins/sandbox/names.d.ts +0 -7
- package/dist/tools/builtins/sandbox/names.js +0 -20
- /package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
- /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
|
@@ -1,8 +1,23 @@
|
|
|
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
|
+
};
|
|
1
10
|
import { ToolError } from "@capybara-hq/plugin-sdk";
|
|
11
|
+
import { Inject, Injectable } from "@nestjs/common";
|
|
2
12
|
import { ApiError } from "../errors.js";
|
|
3
|
-
import {
|
|
13
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
14
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
15
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
16
|
+
import { Breaker } from "./breaker.js";
|
|
17
|
+
import { CredentialMissing, Credentials } from "./credentials.js";
|
|
4
18
|
import { renderResult } from "./outputs.js";
|
|
5
19
|
import { redactDeep, redactorFor } from "./redact.js";
|
|
20
|
+
import { ToolRegistry } from "./registry.js";
|
|
6
21
|
import { READ_RESOURCE } from "./resources.js";
|
|
7
22
|
/**
|
|
8
23
|
* 用户直接使用连接器内容(D4,仿 Claude Code):`/` 斜杠命令(MCP prompts)与 `@` 资源引用。
|
|
@@ -27,13 +42,23 @@ const ATTACHMENTS_TIMEOUT_MS = 30_000;
|
|
|
27
42
|
/** 错误说明里带的上游错误消息最多字符数。 */
|
|
28
43
|
const MAX_DETAIL = 500;
|
|
29
44
|
const errName = (e) => e instanceof Error && typeof e.name === "string" && e.name !== "" ? e.name : "Error";
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
let ConnectorContent = class ConnectorContent {
|
|
46
|
+
db;
|
|
47
|
+
registry;
|
|
48
|
+
credentials;
|
|
49
|
+
breaker;
|
|
50
|
+
config;
|
|
51
|
+
log;
|
|
52
|
+
constructor(db, registry, credentials, breaker, config, log) {
|
|
53
|
+
this.db = db;
|
|
54
|
+
this.registry = registry;
|
|
55
|
+
this.credentials = credentials;
|
|
56
|
+
this.breaker = breaker;
|
|
57
|
+
this.config = config;
|
|
58
|
+
this.log = log;
|
|
34
59
|
}
|
|
35
60
|
async activeConnectors(orgId) {
|
|
36
|
-
return this.
|
|
61
|
+
return this.db
|
|
37
62
|
.selectFrom("connectors")
|
|
38
63
|
.select(["id", "slug", "name", "connector", "endpoint", "auth"])
|
|
39
64
|
.where("org_id", "=", orgId)
|
|
@@ -44,7 +69,7 @@ export class ConnectorContent {
|
|
|
44
69
|
.execute();
|
|
45
70
|
}
|
|
46
71
|
async connectorRow(orgId, connectorId) {
|
|
47
|
-
const r = await this.
|
|
72
|
+
const r = await this.db
|
|
48
73
|
.selectFrom("connectors")
|
|
49
74
|
.select(["id", "slug", "name", "connector", "endpoint", "auth"])
|
|
50
75
|
.where("org_id", "=", orgId)
|
|
@@ -63,7 +88,7 @@ export class ConnectorContent {
|
|
|
63
88
|
async resourcesEnabled(connectorIds) {
|
|
64
89
|
if (connectorIds.length === 0)
|
|
65
90
|
return new Set();
|
|
66
|
-
const rows = await this.
|
|
91
|
+
const rows = await this.db
|
|
67
92
|
.selectFrom("connector_tools")
|
|
68
93
|
.select("connector_id")
|
|
69
94
|
.where("connector_id", "in", connectorIds)
|
|
@@ -79,11 +104,11 @@ export class ConnectorContent {
|
|
|
79
104
|
* `work` 返回 undefined 表示该连接器不支持这项能力。
|
|
80
105
|
*/
|
|
81
106
|
async withSession(orgId, app, accountId, timeoutMs, work) {
|
|
82
|
-
const connector = this.
|
|
107
|
+
const connector = this.registry.findConnector(app.connector);
|
|
83
108
|
if (!connector) {
|
|
84
109
|
throw new ApiError("connector.connect_failed", `The connector ${app.connector} is not installed`);
|
|
85
110
|
}
|
|
86
|
-
const breaker = await this.
|
|
111
|
+
const breaker = await this.breaker.check(orgId, app.id);
|
|
87
112
|
if (breaker.open) {
|
|
88
113
|
throw new ApiError("connector.connect_failed", `The connector is temporarily unavailable; retry in ${breaker.retryAfterSeconds}s`);
|
|
89
114
|
}
|
|
@@ -91,7 +116,7 @@ export class ConnectorContent {
|
|
|
91
116
|
const injected = [];
|
|
92
117
|
let cached;
|
|
93
118
|
const getAuth = () => {
|
|
94
|
-
cached ??= this.
|
|
119
|
+
cached ??= this.credentials.injection(orgId, app.id, auth, accountId).then((inj) => {
|
|
95
120
|
injected.push(inj);
|
|
96
121
|
return inj;
|
|
97
122
|
});
|
|
@@ -107,7 +132,7 @@ export class ConnectorContent {
|
|
|
107
132
|
onUnauthorized: async () => {
|
|
108
133
|
const stale = injected.at(-1);
|
|
109
134
|
cached = undefined;
|
|
110
|
-
await this.
|
|
135
|
+
await this.credentials.onUnauthorized(orgId, app.id, auth, accountId, stale);
|
|
111
136
|
},
|
|
112
137
|
signal: AbortSignal.timeout(timeoutMs),
|
|
113
138
|
});
|
|
@@ -116,7 +141,7 @@ export class ConnectorContent {
|
|
|
116
141
|
catch (e) {
|
|
117
142
|
if (e instanceof ApiError)
|
|
118
143
|
throw e;
|
|
119
|
-
this.
|
|
144
|
+
this.log.warn("connector content request failed", { orgId, connectorId: app.id, err: e });
|
|
120
145
|
const detail = e instanceof ToolError
|
|
121
146
|
? `: ${redact()(e.message).slice(0, MAX_DETAIL)}`
|
|
122
147
|
: ` (${errName(e)})`;
|
|
@@ -124,7 +149,7 @@ export class ConnectorContent {
|
|
|
124
149
|
}
|
|
125
150
|
finally {
|
|
126
151
|
await session?.close().catch((err) => {
|
|
127
|
-
this.
|
|
152
|
+
this.log.warn("connector session close failed", { orgId, connectorId: app.id, err });
|
|
128
153
|
});
|
|
129
154
|
}
|
|
130
155
|
}
|
|
@@ -132,7 +157,7 @@ export class ConnectorContent {
|
|
|
132
157
|
async acrossConnectors(orgId, accountId, work, only) {
|
|
133
158
|
const all = await this.activeConnectors(orgId);
|
|
134
159
|
const apps = only ? await only(all) : all;
|
|
135
|
-
const timeoutMs = Math.min(this.
|
|
160
|
+
const timeoutMs = Math.min(this.config.get().tools.timeoutMs, LIST_TIMEOUT_MS);
|
|
136
161
|
const results = await Promise.all(apps.map(async (app) => {
|
|
137
162
|
try {
|
|
138
163
|
return {
|
|
@@ -178,7 +203,7 @@ export class ConnectorContent {
|
|
|
178
203
|
*/
|
|
179
204
|
async getPrompt(orgId, connectorId, name, args, accountId) {
|
|
180
205
|
const app = await this.connectorRow(orgId, connectorId);
|
|
181
|
-
const rendered = await this.withSession(orgId, app, accountId, this.
|
|
206
|
+
const rendered = await this.withSession(orgId, app, accountId, this.config.get().tools.timeoutMs, async (s) => (s.getPrompt ? s.getPrompt(name, args) : undefined));
|
|
182
207
|
if (!rendered)
|
|
183
208
|
throw new ApiError("connector.not_found", "This connector does not provide prompts");
|
|
184
209
|
let text = rendered.messages
|
|
@@ -233,7 +258,7 @@ export class ConnectorContent {
|
|
|
233
258
|
throw new ApiError("connector.resources_disabled", "Reading resources is turned off for this connector");
|
|
234
259
|
}
|
|
235
260
|
}
|
|
236
|
-
const timeoutMs = Math.min(this.
|
|
261
|
+
const timeoutMs = Math.min(this.config.get().tools.timeoutMs, ATTACHMENTS_TIMEOUT_MS);
|
|
237
262
|
const read = await Promise.all(refs.map(async (ref) => {
|
|
238
263
|
const app = apps.get(ref.connectorId);
|
|
239
264
|
const got = await this.withSession(orgId, app, accountId, timeoutMs, async (s) => {
|
|
@@ -264,4 +289,14 @@ export class ConnectorContent {
|
|
|
264
289
|
}
|
|
265
290
|
return { blocks, attachments };
|
|
266
291
|
}
|
|
267
|
-
}
|
|
292
|
+
};
|
|
293
|
+
ConnectorContent = __decorate([
|
|
294
|
+
Injectable(),
|
|
295
|
+
__param(0, Inject(KernelDb)),
|
|
296
|
+
__param(1, Inject(ToolRegistry)),
|
|
297
|
+
__param(2, Inject(Credentials)),
|
|
298
|
+
__param(3, Inject(Breaker)),
|
|
299
|
+
__param(4, Inject(KernelConfigService)),
|
|
300
|
+
__param(5, Inject(KERNEL_LOGGER))
|
|
301
|
+
], ConnectorContent);
|
|
302
|
+
export { ConnectorContent };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { type Principal } from "../identity/principal.js";
|
|
3
3
|
import { type OrgContext } from "../orgs/org.guard.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type ConnectorDetail, type ConnectorPreview, type ConnectorSummary, ConnectorsService, type ToolIssue } from "./connectors.service.js";
|
|
5
5
|
/** 凭据值:形状由 `Credentials.validate` 按认证方式校验(不回显值);这里只限大小。 */
|
|
6
6
|
export declare const CredentialValue: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
7
7
|
declare const CreateBody: z.ZodObject<{
|
|
@@ -8,13 +8,14 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
10
|
import { ConnectorAuthSchema } from "@capybara-hq/plugin-sdk";
|
|
11
|
-
import {
|
|
11
|
+
import { Controller, Delete, Get, HttpCode, Inject, Param, Patch, Post, Put } from "@nestjs/common";
|
|
12
12
|
import { z } from "zod";
|
|
13
|
-
import { CONNECTORS } from "../http/tokens.js";
|
|
14
|
-
import { ZodPipe } from "../http/zod.pipe.js";
|
|
15
13
|
import { CurrentPrincipal, patTokenId, requireUser, } from "../identity/principal.js";
|
|
14
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
15
|
+
import { ZBody } from "../infra/validation/zod-params.js";
|
|
16
16
|
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
17
17
|
import { can } from "../orgs/roles.js";
|
|
18
|
+
import { ConnectorsService, } from "./connectors.service.js";
|
|
18
19
|
import { publicEndpoint } from "./endpoint.js";
|
|
19
20
|
/**
|
|
20
21
|
* 没有 `connectors.manage` 的读者只看到端点的公开部分(URL 不带 query、只有头名,见 endpoint.ts),
|
|
@@ -76,6 +77,16 @@ const UpdateBody = z
|
|
|
76
77
|
allowUnannotated: z.boolean().optional(),
|
|
77
78
|
})
|
|
78
79
|
.strict();
|
|
80
|
+
class ConnectorCreateBody extends createZodDto(CreateBody, "ConnectorCreateBody") {
|
|
81
|
+
}
|
|
82
|
+
class ConnectorPreviewBody extends createZodDto(PreviewBody, "ConnectorPreviewBody") {
|
|
83
|
+
}
|
|
84
|
+
class ConnectorUpdateBody extends createZodDto(UpdateBody, "ConnectorUpdateBody") {
|
|
85
|
+
}
|
|
86
|
+
class ConnectorToolReviewBody extends createZodDto(ReviewBody, "ConnectorToolReviewBody") {
|
|
87
|
+
}
|
|
88
|
+
class ConnectorCredentialBody extends createZodDto(CredentialValue, "ConnectorCredentialBody") {
|
|
89
|
+
}
|
|
79
90
|
/**
|
|
80
91
|
* 连接器(`/api/v1/orgs/:orgId/connectors`):读与个人凭据用 `connectors.use`(访客起),安装 / 修改 / 删除 / 刷新 /
|
|
81
92
|
* 组织凭据用 `connectors.manage`(管理员起);两者都仅限用户主体。
|
|
@@ -150,7 +161,7 @@ __decorate([
|
|
|
150
161
|
OrgAction("connectors.manage"),
|
|
151
162
|
__param(0, CurrentPrincipal()),
|
|
152
163
|
__param(1, CurrentOrg()),
|
|
153
|
-
__param(2,
|
|
164
|
+
__param(2, ZBody(ConnectorCreateBody))
|
|
154
165
|
], ConnectorsController.prototype, "create", null);
|
|
155
166
|
__decorate([
|
|
156
167
|
Post("preview"),
|
|
@@ -158,7 +169,7 @@ __decorate([
|
|
|
158
169
|
OrgAction("connectors.manage"),
|
|
159
170
|
__param(0, CurrentPrincipal()),
|
|
160
171
|
__param(1, CurrentOrg()),
|
|
161
|
-
__param(2,
|
|
172
|
+
__param(2, ZBody(ConnectorPreviewBody))
|
|
162
173
|
], ConnectorsController.prototype, "preview", null);
|
|
163
174
|
__decorate([
|
|
164
175
|
Get(":connectorId"),
|
|
@@ -173,7 +184,7 @@ __decorate([
|
|
|
173
184
|
__param(0, CurrentPrincipal()),
|
|
174
185
|
__param(1, CurrentOrg()),
|
|
175
186
|
__param(2, Param("connectorId")),
|
|
176
|
-
__param(3,
|
|
187
|
+
__param(3, ZBody(ConnectorUpdateBody))
|
|
177
188
|
], ConnectorsController.prototype, "update", null);
|
|
178
189
|
__decorate([
|
|
179
190
|
Delete(":connectorId"),
|
|
@@ -199,7 +210,7 @@ __decorate([
|
|
|
199
210
|
__param(1, CurrentOrg()),
|
|
200
211
|
__param(2, Param("connectorId")),
|
|
201
212
|
__param(3, Param("name")),
|
|
202
|
-
__param(4,
|
|
213
|
+
__param(4, ZBody(ConnectorToolReviewBody))
|
|
203
214
|
], ConnectorsController.prototype, "review", null);
|
|
204
215
|
__decorate([
|
|
205
216
|
Put(":connectorId/credentials/org"),
|
|
@@ -208,7 +219,7 @@ __decorate([
|
|
|
208
219
|
__param(0, CurrentPrincipal()),
|
|
209
220
|
__param(1, CurrentOrg()),
|
|
210
221
|
__param(2, Param("connectorId")),
|
|
211
|
-
__param(3,
|
|
222
|
+
__param(3, ZBody(ConnectorCredentialBody))
|
|
212
223
|
], ConnectorsController.prototype, "setOrgCredential", null);
|
|
213
224
|
__decorate([
|
|
214
225
|
Put(":connectorId/credentials/me"),
|
|
@@ -217,7 +228,7 @@ __decorate([
|
|
|
217
228
|
__param(0, CurrentPrincipal()),
|
|
218
229
|
__param(1, CurrentOrg()),
|
|
219
230
|
__param(2, Param("connectorId")),
|
|
220
|
-
__param(3,
|
|
231
|
+
__param(3, ZBody(ConnectorCredentialBody))
|
|
221
232
|
], ConnectorsController.prototype, "setMyCredential", null);
|
|
222
233
|
__decorate([
|
|
223
234
|
Delete(":connectorId/credentials/me"),
|
|
@@ -229,6 +240,6 @@ __decorate([
|
|
|
229
240
|
], ConnectorsController.prototype, "clearMyCredential", null);
|
|
230
241
|
ConnectorsController = __decorate([
|
|
231
242
|
Controller("api/v1/orgs/:orgId/connectors"),
|
|
232
|
-
__param(0, Inject(
|
|
243
|
+
__param(0, Inject(ConnectorsService))
|
|
233
244
|
], ConnectorsController);
|
|
234
245
|
export { ConnectorsController };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { type AuthHint, type ConnectorOperation, type ToolAnnotations } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import { type
|
|
2
|
+
import { ExtensionRegistry } from "../extensions/registry.js";
|
|
3
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
4
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
5
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
6
|
+
import { OrgLock } from "../orgs/org-lock.js";
|
|
7
|
+
import { type ConnectorAuth, type CredentialOwner, Credentials, type StaticSecret } from "./credentials.js";
|
|
8
|
+
import { type DriftChanges, ToolDrift, type ToolIssue } from "./drift.js";
|
|
8
9
|
import { type OAuthClientRecord, type OAuthTokenRecord } from "./oauth/tokens.js";
|
|
9
|
-
import { type ToolPolicy,
|
|
10
|
-
type Trx = Transaction<KernelDatabase>;
|
|
10
|
+
import { type ToolPolicy, ToolRegistry } from "./registry.js";
|
|
11
11
|
export type { ToolIssue } from "./drift.js";
|
|
12
12
|
type ToolStatus = "enabled" | "disabled" | "pending_review";
|
|
13
13
|
type ToolSource = "connector" | "resources";
|
|
@@ -176,13 +176,23 @@ export interface OAuthSetup {
|
|
|
176
176
|
* (detail 只有凭据类型与归属,没有值)。连接器会话按操作打开、用完即关,不在进程内缓存。
|
|
177
177
|
*/
|
|
178
178
|
export declare class ConnectorsService {
|
|
179
|
-
private readonly
|
|
179
|
+
private readonly kdb;
|
|
180
180
|
private readonly registry;
|
|
181
|
-
|
|
181
|
+
/** Extension manifests (a slug may not take an extension's name). */
|
|
182
|
+
private readonly extensions;
|
|
182
183
|
private readonly credentials;
|
|
183
184
|
private readonly config;
|
|
184
185
|
private readonly drift;
|
|
185
|
-
|
|
186
|
+
/** The org row lock (orgs/org-lock.ts): joins the caller's transaction. */
|
|
187
|
+
private readonly orgLock;
|
|
188
|
+
readonly txHost: TransactionHost;
|
|
189
|
+
constructor(kdb: KernelDb, registry: ToolRegistry,
|
|
190
|
+
/** Extension manifests (a slug may not take an extension's name). */
|
|
191
|
+
extensions: Pick<ExtensionRegistry, "manifests">, credentials: Credentials, config: Pick<KernelConfigService, "get">, drift: ToolDrift,
|
|
192
|
+
/** The org row lock (orgs/org-lock.ts): joins the caller's transaction. */
|
|
193
|
+
orgLock: Pick<OrgLock, "lockAndAuthorize">, txHost: TransactionHost);
|
|
194
|
+
/** The kernel-schema handle of the current context (its transaction, else the pool). */
|
|
195
|
+
private get db();
|
|
186
196
|
/**
|
|
187
197
|
* 校验连接器存在、端点按其 schema 合法、不含凭据样式的头 / query 参数 / URL 用户信息(端点对成员可见,
|
|
188
198
|
* 凭据须走认证设置);返回解析后的端点。
|
|
@@ -218,6 +228,8 @@ export declare class ConnectorsService {
|
|
|
218
228
|
connector: ConnectorDetail;
|
|
219
229
|
issues: ToolIssue[];
|
|
220
230
|
}>;
|
|
231
|
+
/** The org-locked, re-checked insert of {@link create} (the outbound checks ran before). */
|
|
232
|
+
private createIn;
|
|
221
233
|
/**
|
|
222
234
|
* Checks a template update before anything is written (an org plugin upgrade): the endpoint
|
|
223
235
|
* against the connector's schema, and with `resetCredentials` the new credential's shape, or for
|
|
@@ -234,7 +246,7 @@ export declare class ConnectorsService {
|
|
|
234
246
|
* unnamed `derived` tools and the org's own (`admin`) stay (spec §10). Tool definitions are untouched (the next refresh takes the new endpoint through drift review). With `resetCredentials` the credentials are replaced.
|
|
235
247
|
* Audits `connector.template_applied`. Deleted / missing -> `connector.not_found`.
|
|
236
248
|
*/
|
|
237
|
-
applyTemplateIn(
|
|
249
|
+
applyTemplateIn(orgId: string, connectorId: string, actorAccountId: string, p: PreparedTemplateUpdate, actorTokenId?: string): Promise<void>;
|
|
238
250
|
/**
|
|
239
251
|
* Previews a connector (Ruling A20, for the install wizard): after checking the connector, the
|
|
240
252
|
* endpoint (credential pattern check included) and the credential shape, reads the endpoint
|
|
@@ -263,7 +275,7 @@ export declare class ConnectorsService {
|
|
|
263
275
|
* 在调用方事务里软删除连接器(调用方已锁组织行并按需复核角色;应用安装的回滚与卸载用):删全部凭据与授权,
|
|
264
276
|
* 审计 `connector.deleted`(`reason` 并进 detail)。已删除 / 不存在 → `connector.not_found`。
|
|
265
277
|
*/
|
|
266
|
-
removeIn(
|
|
278
|
+
removeIn(orgId: string, connectorId: string, actorAccountId: string, actorTokenId?: string, reason?: string): Promise<void>;
|
|
267
279
|
/**
|
|
268
280
|
* 重新 listTools 并按漂移检测的规则比对写入(见 drift.ts):新增 / 定义变化的工具待复核(旧定义保留供对比),
|
|
269
281
|
* 消失的工具停用;连接器从未拍过快照时首个快照直接启用。
|
|
@@ -278,6 +290,8 @@ export declare class ConnectorsService {
|
|
|
278
290
|
issues: ToolIssue[];
|
|
279
291
|
changes: DriftChanges;
|
|
280
292
|
}>;
|
|
293
|
+
/** The org-locked compare-and-write of {@link refresh} (the tool list was fetched before). */
|
|
294
|
+
private refreshIn;
|
|
281
295
|
/**
|
|
282
296
|
* 复核一个待复核的工具(`connectors.manage`,spec 7.3)。`approve`:采用待复核的新定义(若有)并启用,
|
|
283
297
|
* `reviewed_at` 记为现在;默认策略按新定义的注解重新推导,除非管理员设过(`policy_source = admin`)且来源没变。
|
|
@@ -291,6 +305,8 @@ export declare class ConnectorsService {
|
|
|
291
305
|
* 形状与归属不符 → `validation_failed`。审计只记类型与归属。
|
|
292
306
|
*/
|
|
293
307
|
setCredential(orgId: string, connectorId: string, actorAccountId: string, ownership: "org" | "personal", value: unknown, actorTokenId?: string): Promise<void>;
|
|
308
|
+
/** The org-locked static credential write of {@link setCredential}. */
|
|
309
|
+
private setCredentialIn;
|
|
294
310
|
/**
|
|
295
311
|
* 轮换 OAuth 客户端(Ruling A18,组织凭据接口,`connectors.manage`):值为 `{ clientId, clientSecret }`。
|
|
296
312
|
* 客户端凭据连接器先用新客户端取一次 token 验证(失败 → 502 `connector.connect_failed`,什么都不改),再替换客户端并以
|
|
@@ -298,6 +314,8 @@ export declare class ConnectorsService {
|
|
|
298
314
|
* invalid_client 会作废)。审计只记类型与归属。
|
|
299
315
|
*/
|
|
300
316
|
private rotateOAuthClient;
|
|
317
|
+
/** The org-locked client (and token) write of {@link rotateOAuthClient}. */
|
|
318
|
+
private storeOAuthClient;
|
|
301
319
|
/** 删除发起人自己的个人凭据(`connectors.use`);本来就没有也成功。 */
|
|
302
320
|
clearMyCredential(orgId: string, connectorId: string, actorAccountId: string, actorTokenId?: string): Promise<void>;
|
|
303
321
|
}
|