@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.2
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 +179 -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 +261 -329
- package/dist/agents/definition.d.ts +8 -0
- package/dist/agents/definition.js +8 -0
- 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 +20 -4
- 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 +323 -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/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 +30 -13
- 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 +2 -2
- 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 +10 -4
- package/dist/conversations/access.d.ts +29 -0
- package/dist/conversations/access.js +86 -0
- package/dist/conversations/artifacts.d.ts +10 -10
- package/dist/conversations/artifacts.js +35 -9
- 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 +28 -18
- package/dist/conversations/event-log.js +74 -27
- 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 +2 -2
- 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/run-replay.d.ts +56 -8
- package/dist/evals/run-replay.js +140 -80
- 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.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 +85 -57
- 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 +451 -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 +14 -8
- package/dist/orgs/settings.service.js +75 -46
- 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/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 +7 -0
- 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 +24 -57
- 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 +26 -17
- 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 +121 -75
- package/dist/runtime/run-worker.js +340 -226
- 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 +4 -4
- package/dist/runtime/subagents/definition.js +2 -2
- package/dist/runtime/subagents/dispatch.d.ts +87 -6
- package/dist/runtime/subagents/dispatch.js +135 -140
- 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 +1 -1
- package/dist/runtime/subagents/progress.d.ts +2 -2
- package/dist/runtime/subagents/roster.d.ts +3 -3
- package/dist/runtime/subagents/roster.js +1 -1
- package/dist/runtime/subagents/skill-fork.d.ts +6 -7
- package/dist/runtime/subagents/skill-fork.js +16 -5
- 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 +125 -57
- package/dist/runtime/waits.js +431 -208
- 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 +33 -20
- package/dist/skills/catalog.js +96 -53
- package/dist/skills/changes.controller.d.ts +4 -4
- package/dist/skills/changes.controller.js +15 -9
- package/dist/skills/changes.service.d.ts +28 -18
- package/dist/skills/changes.service.js +421 -364
- package/dist/skills/invocable.controller.d.ts +1 -1
- package/dist/skills/invocable.controller.js +8 -5
- package/dist/skills/invoke.d.ts +16 -15
- package/dist/skills/invoke.js +48 -17
- 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 +27 -25
- package/dist/tools/approvals.service.js +324 -258
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtins/ask-user.d.ts +2 -2
- package/dist/tools/builtins/ask-user.js +1 -1
- 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 +2 -2
- package/dist/tools/builtins/read-tool-output.js +1 -1
- package/dist/tools/builtins/sandbox/bash.js +2 -2
- package/dist/tools/builtins/sandbox/common.d.ts +2 -1
- package/dist/tools/builtins/sandbox/deliver.js +2 -2
- package/dist/tools/builtins/sandbox/edit.js +1 -1
- package/dist/tools/builtins/sandbox/glob.js +2 -2
- package/dist/tools/builtins/sandbox/grep.js +2 -2
- package/dist/tools/builtins/sandbox/read.js +1 -1
- package/dist/tools/builtins/sandbox/write.js +1 -1
- package/dist/tools/builtins/skill-load.d.ts +3 -3
- package/dist/tools/builtins/skill-load.js +1 -1
- 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 +434 -344
- package/dist/tools/credentials.d.ts +17 -20
- package/dist/tools/credentials.js +55 -34
- package/dist/tools/drift.d.ts +29 -41
- package/dist/tools/drift.js +111 -79
- package/dist/tools/info.d.ts +12 -9
- package/dist/tools/info.js +33 -7
- 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/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 +47 -3
- package/dist/tools/pipeline.d.ts +62 -46
- package/dist/tools/pipeline.js +145 -64
- package/dist/tools/policy.d.ts +2 -2
- package/dist/tools/questions.controller.d.ts +1 -1
- package/dist/tools/questions.controller.js +8 -5
- package/dist/tools/questions.service.d.ts +25 -24
- package/dist/tools/questions.service.js +201 -142
- package/dist/tools/registry.d.ts +30 -20
- package/dist/tools/registry.js +73 -37
- 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 +9 -2
- 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/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
- /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
package/dist/channels/cards.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ChannelCard, FormAnswer, InputForm, OutboundMessage } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import type {
|
|
2
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
3
3
|
import type { ApprovalsService } from "../tools/approvals.service.js";
|
|
4
4
|
import { type ChannelLocale } from "./phrases.js";
|
|
5
5
|
/** 审批卡片里工具参数预览的最大长度(字符)。 */
|
|
@@ -24,7 +24,7 @@ export declare const conversationUrl: (base: string, conversationId: string) =>
|
|
|
24
24
|
/** 个人连接页里某个连接器的位置(与网页 ConnectCard 的链接一致)。 */
|
|
25
25
|
export declare const connectUrl: (base: string, connectorId: string) => string;
|
|
26
26
|
export interface CardDeps {
|
|
27
|
-
db:
|
|
27
|
+
db: KernelSchemaDb;
|
|
28
28
|
approvals: Pick<ApprovalsService, "describe">;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { WorkerHost } from "@nestjs/bullmq";
|
|
2
|
+
import { type DynamicModule } from "@nestjs/common";
|
|
3
|
+
import type { Job, Worker } from "bullmq";
|
|
4
|
+
import type { KernelConfig } from "../config/schema.js";
|
|
5
|
+
import { type ProcessorWorkerOptions } from "../infra/queue/configured-processor.js";
|
|
6
|
+
import { type ChannelJobData } from "./jobs.js";
|
|
7
|
+
import { ChannelOutbound } from "./outbound.js";
|
|
8
|
+
/**
|
|
9
|
+
* Channels on every role: the org's channel connections, inbound (dedupe and enqueue; the inbound
|
|
10
|
+
* jobs), the outbound delivery, the producer of the channel queue `cap-kernel-channels`, the
|
|
11
|
+
* anonymous guests. The roles' parts are the role modules': the queue's consumer
|
|
12
|
+
* ({@link ChannelWorkersModule}) and the gateway check job are the worker role's, the long-connection
|
|
13
|
+
* supervisor and the webhook inbound the gateway role's (`GatewayModule`).
|
|
14
|
+
*/
|
|
15
|
+
export declare class ChannelsModule {
|
|
16
|
+
}
|
|
17
|
+
/** The consumer of `cap-kernel-channels` (deliveries and inbound jobs): {@link ChannelOutbound}. */
|
|
18
|
+
export declare class ChannelsProcessor extends WorkerHost<Worker<ChannelJobData>> {
|
|
19
|
+
private readonly outbound;
|
|
20
|
+
constructor(outbound: ChannelOutbound);
|
|
21
|
+
process(job: Job<ChannelJobData>, token?: string): Promise<void>;
|
|
22
|
+
failed(job: Job<ChannelJobData> | undefined, err: Error): void;
|
|
23
|
+
error(err: Error): void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The worker options of the channel queue's consumer, from the startup config: concurrency
|
|
27
|
+
* `channels.deliveryConcurrency`, the run queue's job lock and stalled detection, and the delivery
|
|
28
|
+
* backoff (a platform's retry-after, else exponential).
|
|
29
|
+
*/
|
|
30
|
+
export declare function channelsProcessorOptions(config: Pick<KernelConfig, "runtime" | "channels">): ProcessorWorkerOptions;
|
|
31
|
+
/**
|
|
32
|
+
* The consumer of the channel queue (concurrency `channels.deliveryConcurrency`, the run queue's job
|
|
33
|
+
* lock and stalled detection, the delivery backoff). Imported only by the worker role
|
|
34
|
+
* (`WorkerModule`), so other roles get no processor and no BullMQ worker. It never starts by itself:
|
|
35
|
+
* the worker role (`WorkerRole`) starts it after the extension load; `ChannelOutbound.close` closes it
|
|
36
|
+
* on stop.
|
|
37
|
+
*/
|
|
38
|
+
export declare class ChannelWorkersModule {
|
|
39
|
+
static forRoot(config: KernelConfig): DynamicModule;
|
|
40
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
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
|
+
var ChannelWorkersModule_1;
|
|
11
|
+
import { OnWorkerEvent, WorkerHost } from "@nestjs/bullmq";
|
|
12
|
+
import { Inject, Injectable, Module } from "@nestjs/common";
|
|
13
|
+
import { ConversationsModule } from "../conversations/conversations.module.js";
|
|
14
|
+
import { EventLogModule } from "../conversations/event-log.js";
|
|
15
|
+
import { ExtensionsModule } from "../extensions/extensions.module.js";
|
|
16
|
+
import { IdentityModule } from "../identity/identity.module.js";
|
|
17
|
+
import { configuredProcessor, } from "../infra/queue/configured-processor.js";
|
|
18
|
+
import { QueueModule } from "../infra/queue/queue.module.js";
|
|
19
|
+
import { runJob } from "../infra/queue/run-job.js";
|
|
20
|
+
import { OrgLockModule } from "../orgs/org-lock.js";
|
|
21
|
+
import { OrgsModule } from "../orgs/orgs.module.js";
|
|
22
|
+
import { RuntimeModule } from "../runtime/runtime.module.js";
|
|
23
|
+
import { ToolsModule } from "../tools/tools.module.js";
|
|
24
|
+
import { ChannelConnections } from "./connections.service.js";
|
|
25
|
+
import { ChannelInbound } from "./inbound.js";
|
|
26
|
+
import { CHANNEL_QUEUE_NAME, ChannelJobs } from "./jobs.js";
|
|
27
|
+
import { ChannelOutbound, deliverBackoff } from "./outbound.js";
|
|
28
|
+
import { AnonymousGuestLock, AnonymousGuests } from "./threads.js";
|
|
29
|
+
/**
|
|
30
|
+
* Channels on every role: the org's channel connections, inbound (dedupe and enqueue; the inbound
|
|
31
|
+
* jobs), the outbound delivery, the producer of the channel queue `cap-kernel-channels`, the
|
|
32
|
+
* anonymous guests. The roles' parts are the role modules': the queue's consumer
|
|
33
|
+
* ({@link ChannelWorkersModule}) and the gateway check job are the worker role's, the long-connection
|
|
34
|
+
* supervisor and the webhook inbound the gateway role's (`GatewayModule`).
|
|
35
|
+
*/
|
|
36
|
+
let ChannelsModule = class ChannelsModule {
|
|
37
|
+
};
|
|
38
|
+
ChannelsModule = __decorate([
|
|
39
|
+
Module({
|
|
40
|
+
imports: [
|
|
41
|
+
EventLogModule,
|
|
42
|
+
ExtensionsModule,
|
|
43
|
+
IdentityModule,
|
|
44
|
+
OrgLockModule,
|
|
45
|
+
OrgsModule,
|
|
46
|
+
ToolsModule,
|
|
47
|
+
ConversationsModule,
|
|
48
|
+
RuntimeModule,
|
|
49
|
+
QueueModule.registerQueue(CHANNEL_QUEUE_NAME),
|
|
50
|
+
],
|
|
51
|
+
providers: [
|
|
52
|
+
ChannelJobs,
|
|
53
|
+
ChannelConnections,
|
|
54
|
+
AnonymousGuestLock,
|
|
55
|
+
AnonymousGuests,
|
|
56
|
+
ChannelInbound,
|
|
57
|
+
ChannelOutbound,
|
|
58
|
+
],
|
|
59
|
+
exports: [ChannelJobs, ChannelConnections, AnonymousGuests, ChannelInbound, ChannelOutbound],
|
|
60
|
+
})
|
|
61
|
+
], ChannelsModule);
|
|
62
|
+
export { ChannelsModule };
|
|
63
|
+
/** The consumer of `cap-kernel-channels` (deliveries and inbound jobs): {@link ChannelOutbound}. */
|
|
64
|
+
let ChannelsProcessor = class ChannelsProcessor extends WorkerHost {
|
|
65
|
+
outbound;
|
|
66
|
+
constructor(outbound) {
|
|
67
|
+
super();
|
|
68
|
+
this.outbound = outbound;
|
|
69
|
+
}
|
|
70
|
+
process(job, token) {
|
|
71
|
+
return runJob(CHANNEL_QUEUE_NAME, job, () => this.outbound.process(job, token));
|
|
72
|
+
}
|
|
73
|
+
failed(job, err) {
|
|
74
|
+
this.outbound.onFailed(job, err);
|
|
75
|
+
}
|
|
76
|
+
error(err) {
|
|
77
|
+
this.outbound.onError(err);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
__decorate([
|
|
81
|
+
OnWorkerEvent("failed")
|
|
82
|
+
], ChannelsProcessor.prototype, "failed", null);
|
|
83
|
+
__decorate([
|
|
84
|
+
OnWorkerEvent("error")
|
|
85
|
+
], ChannelsProcessor.prototype, "error", null);
|
|
86
|
+
ChannelsProcessor = __decorate([
|
|
87
|
+
Injectable(),
|
|
88
|
+
__param(0, Inject(ChannelOutbound))
|
|
89
|
+
], ChannelsProcessor);
|
|
90
|
+
export { ChannelsProcessor };
|
|
91
|
+
/**
|
|
92
|
+
* The worker options of the channel queue's consumer, from the startup config: concurrency
|
|
93
|
+
* `channels.deliveryConcurrency`, the run queue's job lock and stalled detection, and the delivery
|
|
94
|
+
* backoff (a platform's retry-after, else exponential).
|
|
95
|
+
*/
|
|
96
|
+
export function channelsProcessorOptions(config) {
|
|
97
|
+
return {
|
|
98
|
+
concurrency: config.channels.deliveryConcurrency,
|
|
99
|
+
lockDuration: config.runtime.jobLockMs,
|
|
100
|
+
stalledInterval: config.runtime.stalledIntervalMs,
|
|
101
|
+
maxStalledCount: 3,
|
|
102
|
+
settings: { backoffStrategy: (n, _type, err) => deliverBackoff(n, err) },
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The consumer of the channel queue (concurrency `channels.deliveryConcurrency`, the run queue's job
|
|
107
|
+
* lock and stalled detection, the delivery backoff). Imported only by the worker role
|
|
108
|
+
* (`WorkerModule`), so other roles get no processor and no BullMQ worker. It never starts by itself:
|
|
109
|
+
* the worker role (`WorkerRole`) starts it after the extension load; `ChannelOutbound.close` closes it
|
|
110
|
+
* on stop.
|
|
111
|
+
*/
|
|
112
|
+
let ChannelWorkersModule = ChannelWorkersModule_1 = class ChannelWorkersModule {
|
|
113
|
+
static forRoot(config) {
|
|
114
|
+
return {
|
|
115
|
+
module: ChannelWorkersModule_1,
|
|
116
|
+
imports: [ChannelsModule],
|
|
117
|
+
providers: [
|
|
118
|
+
configuredProcessor(ChannelsProcessor, CHANNEL_QUEUE_NAME, channelsProcessorOptions(config)),
|
|
119
|
+
],
|
|
120
|
+
exports: [ChannelsProcessor],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
ChannelWorkersModule = ChannelWorkersModule_1 = __decorate([
|
|
125
|
+
Module({})
|
|
126
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: a Nest dynamic module
|
|
127
|
+
], ChannelWorkersModule);
|
|
128
|
+
export { ChannelWorkersModule };
|
|
@@ -2,7 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import type { JsonSchema } from "../extensions/config-json-schema.js";
|
|
3
3
|
import { type Principal } from "../identity/principal.js";
|
|
4
4
|
import { type OrgContext } from "../orgs/org.guard.js";
|
|
5
|
-
import
|
|
5
|
+
import { ChannelConnections, type ChannelConnectionView } from "./connections.service.js";
|
|
6
6
|
declare const CreateBody: z.ZodObject<{
|
|
7
7
|
plugin: z.ZodString;
|
|
8
8
|
name: z.ZodString;
|
|
@@ -7,12 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { Controller, Delete, Get, HttpCode, Inject, Param, Patch, Post } from "@nestjs/common";
|
|
11
11
|
import { z } from "zod";
|
|
12
|
-
import { CHANNEL_CONNECTIONS } from "../http/tokens.js";
|
|
13
|
-
import { ZodPipe } from "../http/zod.pipe.js";
|
|
14
12
|
import { CurrentPrincipal, patTokenId, requireUser, } from "../identity/principal.js";
|
|
13
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
14
|
+
import { ZBody } from "../infra/validation/zod-params.js";
|
|
15
15
|
import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
|
|
16
|
+
import { ChannelConnections } from "./connections.service.js";
|
|
16
17
|
const Config = z.record(z.string().max(200), z.unknown());
|
|
17
18
|
const Policy = z.enum(["bind", "anonymous"]);
|
|
18
19
|
const CreateBody = z
|
|
@@ -35,6 +36,10 @@ const PatchBody = z
|
|
|
35
36
|
config: Config.optional(),
|
|
36
37
|
})
|
|
37
38
|
.strict();
|
|
39
|
+
class ChannelCreateBody extends createZodDto(CreateBody, "ChannelCreateBody") {
|
|
40
|
+
}
|
|
41
|
+
class ChannelPatchBody extends createZodDto(PatchBody, "ChannelPatchBody") {
|
|
42
|
+
}
|
|
38
43
|
/**
|
|
39
44
|
* 组织的渠道连接(`/api/v1/orgs/:orgId/channels`),全部需要 `channels.manage`(admin,仅限人)。
|
|
40
45
|
* 响应只回显非密钥配置与密钥是否已设置。
|
|
@@ -84,7 +89,7 @@ __decorate([
|
|
|
84
89
|
OrgAction("channels.manage"),
|
|
85
90
|
__param(0, CurrentPrincipal()),
|
|
86
91
|
__param(1, CurrentOrg()),
|
|
87
|
-
__param(2,
|
|
92
|
+
__param(2, ZBody(ChannelCreateBody))
|
|
88
93
|
], ChannelConnectionsController.prototype, "create", null);
|
|
89
94
|
__decorate([
|
|
90
95
|
Get(":connectionId"),
|
|
@@ -98,7 +103,7 @@ __decorate([
|
|
|
98
103
|
__param(0, CurrentPrincipal()),
|
|
99
104
|
__param(1, CurrentOrg()),
|
|
100
105
|
__param(2, Param("connectionId")),
|
|
101
|
-
__param(3,
|
|
106
|
+
__param(3, ZBody(ChannelPatchBody))
|
|
102
107
|
], ChannelConnectionsController.prototype, "update", null);
|
|
103
108
|
__decorate([
|
|
104
109
|
Delete(":connectionId"),
|
|
@@ -110,6 +115,6 @@ __decorate([
|
|
|
110
115
|
], ChannelConnectionsController.prototype, "remove", null);
|
|
111
116
|
ChannelConnectionsController = __decorate([
|
|
112
117
|
Controller("api/v1/orgs/:orgId/channels"),
|
|
113
|
-
__param(0, Inject(
|
|
118
|
+
__param(0, Inject(ChannelConnections))
|
|
114
119
|
], ChannelConnectionsController);
|
|
115
120
|
export { ChannelConnectionsController };
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { type Channel, type ChannelTarget, type ExtensionContext, type
|
|
1
|
+
import { type Channel, type ChannelTarget, type ExtensionContext, type OutboundMessage } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type OnApplicationShutdown } from "@nestjs/common";
|
|
2
3
|
import type { Redis } from "ioredis";
|
|
3
|
-
import type { KernelConfig } from "../config/schema.js";
|
|
4
4
|
import { type Keyring } from "../ctx/secrets.js";
|
|
5
|
-
import type { KernelDb } from "../db/kernel-schema.js";
|
|
6
5
|
import { type JsonSchema } from "../extensions/config-json-schema.js";
|
|
7
|
-
import type { ExtensionHost } from "../extensions/host.js";
|
|
8
6
|
import type { InflightTracker } from "../extensions/inflight.js";
|
|
7
|
+
import { ExtensionRegistry } from "../extensions/registry.js";
|
|
8
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
9
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
10
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
11
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
12
|
+
import { type KernelLogger } from "../log.js";
|
|
13
|
+
import { OrgLock } from "../orgs/org-lock.js";
|
|
14
|
+
import { ChannelJobs } from "./jobs.js";
|
|
9
15
|
/** 连接配置里全部密钥字段存成一行:`{ 点路径: 值 }` 的 JSON。 */
|
|
10
16
|
export declare const connectionSecretKey: (connectionId: string) => string;
|
|
11
17
|
/**
|
|
@@ -78,29 +84,39 @@ export interface UpdateChannelInput {
|
|
|
78
84
|
inboundMode?: InboundMode | undefined;
|
|
79
85
|
config?: Record<string, unknown> | undefined;
|
|
80
86
|
}
|
|
81
|
-
export interface ChannelConnectionsDeps {
|
|
82
|
-
db: KernelDb;
|
|
83
|
-
keyring: Keyring;
|
|
84
|
-
host: Pick<ExtensionHost, "list">;
|
|
85
|
-
bus: ExtensionContext["bus"];
|
|
86
|
-
redis: Redis;
|
|
87
|
-
log: Pick<Logger, "warn">;
|
|
88
|
-
/** 连接重新可投递(轮换凭据 / 重新启用)后调用;内核传出站的 `resumeConnection`(补投落下的会话)。 */
|
|
89
|
-
onResume?: (connectionId: string) => Promise<void>;
|
|
90
|
-
/** 经手(写入或解密读出)的密钥值;内核传 `log.addOrgSecrets` 使其在日志中打码。 */
|
|
91
|
-
onSecrets?: (values: string[]) => void;
|
|
92
|
-
/** Current config (`channels.webhookBaseUrl`); without it webhook mode is unavailable. */
|
|
93
|
-
config?: () => Pick<KernelConfig, "channels" | "tools">;
|
|
94
|
-
}
|
|
95
87
|
/**
|
|
96
88
|
* 组织的渠道连接(spec:渠道连接属于组织,bot 凭据 + 绑定的 agent)。框架无关。
|
|
97
89
|
* 非密钥配置存 `channel_connections.config`;密钥字段整体加密存 `capybara.secrets`
|
|
98
90
|
* (命名空间 `kernel`,键 `channels:<id>:config`)。写操作在组织行锁内实时复核 `channels.manage`,写审计;
|
|
99
91
|
* 改动提交后经内核 bus 广播 `channel.changed`,持有该连接的副本据此断开(下一轮扫描按新配置重连)。
|
|
100
92
|
*/
|
|
101
|
-
export declare class ChannelConnections {
|
|
102
|
-
private readonly
|
|
103
|
-
|
|
93
|
+
export declare class ChannelConnections implements OnApplicationShutdown {
|
|
94
|
+
private readonly db;
|
|
95
|
+
/** The org row lock (orgs/org-lock.ts): joins the transaction of the write. */
|
|
96
|
+
private readonly orgLock;
|
|
97
|
+
private readonly keyring;
|
|
98
|
+
private readonly registry;
|
|
99
|
+
private readonly bus;
|
|
100
|
+
private readonly redis;
|
|
101
|
+
/** A connection that can deliver again catches up its conversations (`resumeConnection`). */
|
|
102
|
+
private readonly jobs;
|
|
103
|
+
/** `channels.webhookBaseUrl`: without it webhook mode is unavailable. */
|
|
104
|
+
private readonly config;
|
|
105
|
+
/** Secret values handled here (written or decrypted) are redacted from the logs (`addOrgSecrets`). */
|
|
106
|
+
private readonly log;
|
|
107
|
+
readonly txHost: TransactionHost;
|
|
108
|
+
private readonly unsubscribe;
|
|
109
|
+
constructor(db: KernelDb,
|
|
110
|
+
/** The org row lock (orgs/org-lock.ts): joins the transaction of the write. */
|
|
111
|
+
orgLock: Pick<OrgLock, "lockAndAuthorize">, keyring: Keyring, registry: Pick<ExtensionRegistry, "list">, bus: ExtensionContext["bus"], redis: Pick<Redis, "del">,
|
|
112
|
+
/** A connection that can deliver again catches up its conversations (`resumeConnection`). */
|
|
113
|
+
jobs: Pick<ChannelJobs, "resumeConnection">,
|
|
114
|
+
/** `channels.webhookBaseUrl`: without it webhook mode is unavailable. */
|
|
115
|
+
config: Pick<KernelConfigService, "get">, events: Pick<KernelEvents, "on">,
|
|
116
|
+
/** Secret values handled here (written or decrypted) are redacted from the logs (`addOrgSecrets`). */
|
|
117
|
+
log: Pick<KernelLogger, "warn" | "addOrgSecrets">, txHost: TransactionHost);
|
|
118
|
+
/** Unsubscribes after the stop phases: events emitted while they drain are still handled. */
|
|
119
|
+
onApplicationShutdown(): void;
|
|
104
120
|
/** The extension's `channel@1`; not loaded or not provided -> `extension.not_found`. */
|
|
105
121
|
channel(plugin: string): Channel;
|
|
106
122
|
private channelEntry;
|
|
@@ -126,6 +142,8 @@ export declare class ChannelConnections {
|
|
|
126
142
|
get(orgId: string, id: string): Promise<ChannelConnectionView>;
|
|
127
143
|
/** 新建:插件须提供 channel@1 且在该组织启用;配置按 `connectionSchema` 校验;先 `verify`,失败不落库。 */
|
|
128
144
|
create(orgId: string, input: CreateChannelInput, actorAccountId: string, actorTokenId?: string): Promise<ChannelConnectionView>;
|
|
145
|
+
/** The rows of {@link create}, in their own transaction (the caller publishes after the commit). */
|
|
146
|
+
private insertIn;
|
|
129
147
|
/**
|
|
130
148
|
* 修改名称、agent、未绑定策略、启停,或轮换凭据(新配置同样先 `verify`,失败什么都不改)。
|
|
131
149
|
* 插件在该组织停用时仍可轮换凭据,此时不 verify,返回 `verifySkipped: true`。
|
|
@@ -134,8 +152,12 @@ export declare class ChannelConnections {
|
|
|
134
152
|
channel: ChannelConnectionView;
|
|
135
153
|
verifySkipped: boolean;
|
|
136
154
|
}>;
|
|
155
|
+
/** The rows of {@link update}, in their own transaction (the caller publishes after the commit). */
|
|
156
|
+
private updateIn;
|
|
137
157
|
/** 删除(软删除,同一事务删掉密钥);持有长连接的副本收到广播后断开。 */
|
|
138
158
|
remove(orgId: string, id: string, actorAccountId: string, actorTokenId?: string): Promise<void>;
|
|
159
|
+
/** The rows of {@link remove}, in their own transaction (the caller publishes after the commit). */
|
|
160
|
+
private removeIn;
|
|
139
161
|
/** 提交后广播;失败只记日志(持有方每轮续租时也会复核连接状态)。 */
|
|
140
162
|
private changed;
|
|
141
163
|
/**
|