@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
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type DynamicModule } from "@nestjs/common";
|
|
2
|
+
import type { KernelAppOptions } from "./app.js";
|
|
3
|
+
import type { KernelConfig } from "./config/schema.js";
|
|
4
|
+
/**
|
|
5
|
+
* The kernel application's root module (nest kernel spec §2): the global infra (config, logging,
|
|
6
|
+
* the shutdown state, database, Redis, locks, cache, queues, throttler), the application options,
|
|
7
|
+
* the domain modules `KernelLifecycle` uses, the role modules by `roles` (`ApiModule`: the
|
|
8
|
+
* controllers; `WorkerModule`: every cron and queue consumer; `GatewayModule`: the channel
|
|
9
|
+
* supervisor and the webhook inbound), the health endpoints and the global error filter on every
|
|
10
|
+
* role, and {@link KernelLifecycle}, which owns the start order and the stop phases (it drives the
|
|
11
|
+
* worker and gateway roles' parts, `WorkerRole` / `GatewayRole`). `KernelLifecycle` sits in the
|
|
12
|
+
* root module on purpose: Nest runs shutdown hooks from the root outwards, so its stop phases
|
|
13
|
+
* finish before the global infra closes Redis and the pool.
|
|
14
|
+
*/
|
|
15
|
+
export declare class KernelModule {
|
|
16
|
+
static forRoot(config: KernelConfig, options?: KernelAppOptions): DynamicModule;
|
|
17
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
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 KernelAppOptionsModule_1, KernelModule_1;
|
|
8
|
+
import { Global, Module } from "@nestjs/common";
|
|
9
|
+
import { APP_INTERCEPTOR } from "@nestjs/core";
|
|
10
|
+
import { CatalogModule } from "./catalog/catalog.module.js";
|
|
11
|
+
import { ChannelsModule } from "./channels/channels.module.js";
|
|
12
|
+
import { TitlesModule } from "./conversations/titles.js";
|
|
13
|
+
import { ExtensionsModule } from "./extensions/extensions.module.js";
|
|
14
|
+
import { ApiModule } from "./http/api.module.js";
|
|
15
|
+
import { ErrorFilterModule } from "./http/error-filter.module.js";
|
|
16
|
+
import { IdentityModule } from "./identity/identity.module.js";
|
|
17
|
+
import { CacheModule } from "./infra/cache/cache.module.js";
|
|
18
|
+
import { ConfigModule } from "./infra/config/config.module.js";
|
|
19
|
+
import { DatabaseModule } from "./infra/database/database.module.js";
|
|
20
|
+
import { KernelEventsModule } from "./infra/events/kernel-events.js";
|
|
21
|
+
import { HealthController } from "./infra/health/health.controller.js";
|
|
22
|
+
import { HealthModule } from "./infra/health/health.module.js";
|
|
23
|
+
import { databaseCheck, HEALTH_CHECKS, redisCheck } from "./infra/health/health.options.js";
|
|
24
|
+
import { GracefulShutdownModule } from "./infra/lifecycle/graceful-shutdown.module.js";
|
|
25
|
+
import { LockModule } from "./infra/lock/lock.module.js";
|
|
26
|
+
import { LoggingModule } from "./infra/logging/logging.module.js";
|
|
27
|
+
import { QueueModule } from "./infra/queue/queue.module.js";
|
|
28
|
+
import { RedisModule } from "./infra/redis/redis.module.js";
|
|
29
|
+
import { KernelThrottlerModule } from "./infra/throttler/throttler.module.js";
|
|
30
|
+
import { KERNEL_POOL, REDIS } from "./infra/tokens.js";
|
|
31
|
+
import { ValidationModule } from "./infra/validation/validation.module.js";
|
|
32
|
+
import { KernelLifecycle } from "./lifecycle/kernel-lifecycle.js";
|
|
33
|
+
import { KERNEL_APP_OPTIONS } from "./lifecycle/tokens.js";
|
|
34
|
+
import { createConfiguredLogger } from "./log-config.js";
|
|
35
|
+
import { KERNEL_OVERRIDE_TOKENS } from "./overrides.js";
|
|
36
|
+
import { GatewayModule } from "./roles/gateway.module.js";
|
|
37
|
+
import { WorkerModule } from "./roles/worker.module.js";
|
|
38
|
+
import { UsageReportModule } from "./runtime/usage-report.js";
|
|
39
|
+
/**
|
|
40
|
+
* Global: the options the application was built with (`KERNEL_APP_OPTIONS`) and its `overrides`,
|
|
41
|
+
* the test seams (`KernelOverride`: values for the named seam tokens the domain modules
|
|
42
|
+
* resolve as optional providers). A token outside {@link KERNEL_OVERRIDE_TOKENS} is refused, so no
|
|
43
|
+
* domain class can be replaced this way.
|
|
44
|
+
*/
|
|
45
|
+
let KernelAppOptionsModule = KernelAppOptionsModule_1 = class KernelAppOptionsModule {
|
|
46
|
+
static forRoot(options) {
|
|
47
|
+
const overrides = options.overrides ?? [];
|
|
48
|
+
for (const o of overrides) {
|
|
49
|
+
if (!KERNEL_OVERRIDE_TOKENS.has(o.provide)) {
|
|
50
|
+
const token = o.provide;
|
|
51
|
+
const name = typeof token === "function" ? token.name : String(token);
|
|
52
|
+
throw new Error(`overrides: ${name} is not a kernel test seam`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
module: KernelAppOptionsModule_1,
|
|
57
|
+
global: true,
|
|
58
|
+
providers: [{ provide: KERNEL_APP_OPTIONS, useValue: options }, ...overrides],
|
|
59
|
+
// an application enhancer (`APP_INTERCEPTOR`) applies globally from any module and is never
|
|
60
|
+
// exported (Nest gives it a unique token)
|
|
61
|
+
exports: [
|
|
62
|
+
KERNEL_APP_OPTIONS,
|
|
63
|
+
...overrides.map((o) => o.provide).filter((t) => t !== APP_INTERCEPTOR),
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
KernelAppOptionsModule = KernelAppOptionsModule_1 = __decorate([
|
|
69
|
+
Global(),
|
|
70
|
+
Module({})
|
|
71
|
+
], KernelAppOptionsModule);
|
|
72
|
+
/**
|
|
73
|
+
* The kernel application's root module (nest kernel spec §2): the global infra (config, logging,
|
|
74
|
+
* the shutdown state, database, Redis, locks, cache, queues, throttler), the application options,
|
|
75
|
+
* the domain modules `KernelLifecycle` uses, the role modules by `roles` (`ApiModule`: the
|
|
76
|
+
* controllers; `WorkerModule`: every cron and queue consumer; `GatewayModule`: the channel
|
|
77
|
+
* supervisor and the webhook inbound), the health endpoints and the global error filter on every
|
|
78
|
+
* role, and {@link KernelLifecycle}, which owns the start order and the stop phases (it drives the
|
|
79
|
+
* worker and gateway roles' parts, `WorkerRole` / `GatewayRole`). `KernelLifecycle` sits in the
|
|
80
|
+
* root module on purpose: Nest runs shutdown hooks from the root outwards, so its stop phases
|
|
81
|
+
* finish before the global infra closes Redis and the pool.
|
|
82
|
+
*/
|
|
83
|
+
let KernelModule = KernelModule_1 = class KernelModule {
|
|
84
|
+
static forRoot(config, options = {}) {
|
|
85
|
+
const logger = options.logger ?? createConfiguredLogger(config);
|
|
86
|
+
return {
|
|
87
|
+
module: KernelModule_1,
|
|
88
|
+
imports: [
|
|
89
|
+
LoggingModule.forRoot(config, { logger }),
|
|
90
|
+
ConfigModule.forRoot(config, options.env !== undefined ? { env: options.env } : {}),
|
|
91
|
+
GracefulShutdownModule,
|
|
92
|
+
DatabaseModule.forRoot(),
|
|
93
|
+
RedisModule,
|
|
94
|
+
LockModule,
|
|
95
|
+
CacheModule,
|
|
96
|
+
KernelEventsModule,
|
|
97
|
+
QueueModule.forRoot(),
|
|
98
|
+
KernelThrottlerModule,
|
|
99
|
+
HealthModule,
|
|
100
|
+
ValidationModule,
|
|
101
|
+
ErrorFilterModule,
|
|
102
|
+
KernelAppOptionsModule.forRoot({ ...options, logger }),
|
|
103
|
+
// KernelLifecycle's setup check, the extension host it drives, the catalog it syncs and
|
|
104
|
+
// the producers its stop closes on every role (titles, usage.report, channel deliveries)
|
|
105
|
+
IdentityModule,
|
|
106
|
+
ExtensionsModule,
|
|
107
|
+
CatalogModule,
|
|
108
|
+
TitlesModule,
|
|
109
|
+
UsageReportModule,
|
|
110
|
+
ChannelsModule,
|
|
111
|
+
// the role modules, by `roles` (nest kernel spec §2)
|
|
112
|
+
...(config.roles.includes("api") ? [ApiModule] : []),
|
|
113
|
+
...(config.roles.includes("worker") ? [WorkerModule.forRoot(config)] : []),
|
|
114
|
+
...(config.roles.includes("gateway") ? [GatewayModule] : []),
|
|
115
|
+
],
|
|
116
|
+
controllers: [HealthController],
|
|
117
|
+
providers: [
|
|
118
|
+
{
|
|
119
|
+
provide: HEALTH_CHECKS,
|
|
120
|
+
inject: [KERNEL_POOL, REDIS],
|
|
121
|
+
// biome-ignore lint/suspicious/noExplicitAny: the pool carries no schema types
|
|
122
|
+
useFactory: (pool, redis) => ({
|
|
123
|
+
pg: databaseCheck(pool),
|
|
124
|
+
redis: redisCheck(redis),
|
|
125
|
+
}),
|
|
126
|
+
},
|
|
127
|
+
KernelLifecycle,
|
|
128
|
+
],
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
KernelModule = KernelModule_1 = __decorate([
|
|
133
|
+
Module({})
|
|
134
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: a Nest dynamic module
|
|
135
|
+
], KernelModule);
|
|
136
|
+
export { KernelModule };
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { type ExtensionContext } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type BeforeApplicationShutdown, type OnApplicationBootstrap, type OnApplicationShutdown } from "@nestjs/common";
|
|
3
|
+
import type { Redis } from "ioredis";
|
|
4
|
+
import { type Kysely } from "kysely";
|
|
5
|
+
import type { KernelAppOptions } from "../app.js";
|
|
6
|
+
import { MarketplacesService } from "../catalog/marketplaces.service.js";
|
|
7
|
+
import { PluginImport } from "../catalog/plugin-import.js";
|
|
8
|
+
import { ChannelJobs } from "../channels/jobs.js";
|
|
9
|
+
import { ChannelOutbound } from "../channels/outbound.js";
|
|
10
|
+
import { TitleQueue } from "../conversations/titles.js";
|
|
11
|
+
import { ExtensionBlobs } from "../extensions/blobs.js";
|
|
12
|
+
import { BootstrapService } from "../extensions/bootstrap.js";
|
|
13
|
+
import { ExtensionHost } from "../extensions/host.js";
|
|
14
|
+
import { ExtensionInstalls } from "../extensions/installs.js";
|
|
15
|
+
import { ExtensionLifecycle } from "../extensions/lifecycle.js";
|
|
16
|
+
import { ExtensionRegistry } from "../extensions/registry.js";
|
|
17
|
+
import { ReplicaStatusStore } from "../extensions/sources.js";
|
|
18
|
+
import type { KernelHttpApp } from "../http/app.js";
|
|
19
|
+
import type { GatewayRoutes } from "../http/gateway-routes.js";
|
|
20
|
+
import { AccountsService } from "../identity/accounts.js";
|
|
21
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
22
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
23
|
+
import { GracefulShutdown } from "../infra/lifecycle/graceful-shutdown.service.js";
|
|
24
|
+
import type { KernelLogger } from "../log.js";
|
|
25
|
+
import { GatewayRole } from "../roles/gateway-role.js";
|
|
26
|
+
import { WorkerRole } from "../roles/worker-role.js";
|
|
27
|
+
import { UsageReporter } from "../runtime/usage-report.js";
|
|
28
|
+
/**
|
|
29
|
+
* The stop phase budgets. Each phase waits `min(its budget, what is left of the total)`, where the
|
|
30
|
+
* total is `STOP_TIMEOUT_MS` (30 s, `GracefulShutdown`) counted from the moment the shutdown
|
|
31
|
+
* began, in this order: migrate 2 s (the start's in-flight kernel migration, aborted, until its
|
|
32
|
+
* session ended) → http 10 s → runs 10 s → plugins 5 s, 27 s in all. The bus subscriber, Redis and
|
|
33
|
+
* the pool are closed after the phases by the infra modules (`onApplicationShutdown`) within what
|
|
34
|
+
* is left of the same 30 s, so the whole stop never takes longer than 30 s.
|
|
35
|
+
* The http phase is one deadline: first the listen in progress finishes (closing while listening
|
|
36
|
+
* would leave the port open), then HTTP closes, both within these 10 s; whatever is still open at
|
|
37
|
+
* the deadline is disconnected.
|
|
38
|
+
* The runs phase: this process's runs get the stop signal, stop at their next step boundary and
|
|
39
|
+
* their jobs go back to the queue; runs over the budget are left to BullMQ's stalled-job handling
|
|
40
|
+
* on another worker (spec 8.5). So when an earlier phase hangs, the extension queues still get at
|
|
41
|
+
* least 5 s to drain.
|
|
42
|
+
*/
|
|
43
|
+
export declare const STOP_BUDGET_MS: {
|
|
44
|
+
readonly migrate: 2000;
|
|
45
|
+
readonly http: 10000;
|
|
46
|
+
readonly runs: 10000;
|
|
47
|
+
readonly plugins: 5000;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* The kernel's start order and stop phases on Nest's hooks (nest kernel spec §4).
|
|
51
|
+
*
|
|
52
|
+
* Start (`onApplicationBootstrap`, run by `app.init()`): Redis ready → kernel migrations → official
|
|
53
|
+
* marketplace sync → bootstrap → extension host load → role parts (workers, schedules, gateway) →
|
|
54
|
+
* mount extension routes → extension lifecycle reconcile → (second bootstrap pass) → config watch.
|
|
55
|
+
* {@link listen} runs only after that resolved, so nothing is served before the extensions are
|
|
56
|
+
* loaded. A stop requested meanwhile makes the sequence throw at its next checkpoint.
|
|
57
|
+
*
|
|
58
|
+
* Stop (`beforeApplicationShutdown`, or {@link stop} directly): readiness answers 503, the start is
|
|
59
|
+
* aborted, then today's phases with {@link STOP_BUDGET_MS} (HTTP, runs, channels, queues, the
|
|
60
|
+
* extension host). Redis and the pool are closed after this by the infra modules
|
|
61
|
+
* (`onApplicationShutdown`, global modules run last).
|
|
62
|
+
*/
|
|
63
|
+
export declare class KernelLifecycle implements OnApplicationBootstrap, BeforeApplicationShutdown, OnApplicationShutdown {
|
|
64
|
+
private readonly accounts;
|
|
65
|
+
private readonly configService;
|
|
66
|
+
readonly log: KernelLogger;
|
|
67
|
+
private readonly options;
|
|
68
|
+
private readonly pool;
|
|
69
|
+
private readonly redis;
|
|
70
|
+
private readonly kdb;
|
|
71
|
+
private readonly shutdown;
|
|
72
|
+
private readonly host;
|
|
73
|
+
private readonly registry;
|
|
74
|
+
private readonly installs;
|
|
75
|
+
private readonly blobs;
|
|
76
|
+
private readonly extensionLifecycle;
|
|
77
|
+
private readonly replicaStatus;
|
|
78
|
+
private readonly bootstrap;
|
|
79
|
+
private readonly marketplaces;
|
|
80
|
+
private readonly pluginImport;
|
|
81
|
+
private readonly bus;
|
|
82
|
+
private readonly usageReport;
|
|
83
|
+
private readonly titles;
|
|
84
|
+
private readonly channelJobs;
|
|
85
|
+
private readonly channelOutbound;
|
|
86
|
+
private readonly worker?;
|
|
87
|
+
private readonly gateway?;
|
|
88
|
+
/** The startup config (hot fields are read through the config service). */
|
|
89
|
+
private readonly config;
|
|
90
|
+
/** Set when the application was never set up completely: shutdown only releases connections. */
|
|
91
|
+
private onlyRelease;
|
|
92
|
+
private stopPromise;
|
|
93
|
+
/** {@link listen} was called: the start work in flight is the listen, not the start sequence. */
|
|
94
|
+
private listenStarted;
|
|
95
|
+
private listening;
|
|
96
|
+
private httpApp;
|
|
97
|
+
private unwatchConfig;
|
|
98
|
+
/** What the first bootstrap pass did, carried into the second one. */
|
|
99
|
+
private bootstrapCarry;
|
|
100
|
+
constructor(accounts: AccountsService, configService: KernelConfigService, log: KernelLogger, options: KernelAppOptions, pool: Kysely<any>, redis: Redis, kdb: KernelDb, shutdown: GracefulShutdown, host: ExtensionHost, registry: ExtensionRegistry, installs: ExtensionInstalls, blobs: ExtensionBlobs, extensionLifecycle: ExtensionLifecycle, replicaStatus: ReplicaStatusStore, bootstrap: BootstrapService, marketplaces: MarketplacesService, pluginImport: PluginImport, bus: Pick<ExtensionContext["bus"], "publish" | "subscribe">, usageReport: UsageReporter, titles: TitleQueue, channelJobs: ChannelJobs, channelOutbound: ChannelOutbound, worker?: WorkerRole | undefined, gateway?: GatewayRole | undefined);
|
|
101
|
+
/** The kernel HTTP application (set up by `buildKernelApp` before `init()`). */
|
|
102
|
+
get http(): KernelHttpApp;
|
|
103
|
+
attachHttp(http: KernelHttpApp): void;
|
|
104
|
+
/** The gateway role's HTTP routes (the channel webhook), when the roles include `gateway`. */
|
|
105
|
+
gatewayRoutes(): GatewayRoutes | undefined;
|
|
106
|
+
/** The port listened on; undefined before {@link listen} resolves and after the stop. */
|
|
107
|
+
get port(): number | undefined;
|
|
108
|
+
/** The application was not set up completely: its shutdown only releases connections. */
|
|
109
|
+
releaseOnly(): void;
|
|
110
|
+
private checkpoint;
|
|
111
|
+
onApplicationBootstrap(): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Listens on `port` (0.0.0.0; every role listens: worker-only serves only `/healthz` and
|
|
114
|
+
* `/readyz`) after the start sequence; returns the actual port.
|
|
115
|
+
*/
|
|
116
|
+
listen(port: number): Promise<number>;
|
|
117
|
+
/**
|
|
118
|
+
* Runs the bootstrap step unless it is done for the manifest. A required entry that cannot be
|
|
119
|
+
* completed (or a missing / tampered package: then nothing was installed) stops the start, so the
|
|
120
|
+
* kernel never serves without a required plugin. A failed optional entry is logged and returns
|
|
121
|
+
* true: the start runs the step once more after the extensions loaded (a declarative entry's
|
|
122
|
+
* catalog files need the object store, which on a fresh deployment is itself a bootstrap plugin),
|
|
123
|
+
* and the next start tries again while it stays incomplete.
|
|
124
|
+
*/
|
|
125
|
+
private runBootstrap;
|
|
126
|
+
/** 部署尚无活跃企业管理员时提示去初始化;查询失败只记日志,不影响启动。 */
|
|
127
|
+
private warnIfSetupPending;
|
|
128
|
+
beforeApplicationShutdown(): Promise<void>;
|
|
129
|
+
/** Logs the end of the stop phases (Redis and the pool close right after, in the infra modules). */
|
|
130
|
+
onApplicationShutdown(): void;
|
|
131
|
+
/**
|
|
132
|
+
* Runs the stop phases once (idempotent): the shutdown begins at once (`GracefulShutdown.begin`:
|
|
133
|
+
* readiness answers 503, the start is aborted, the SSE streams close). Closing the application
|
|
134
|
+
* calls this from `beforeApplicationShutdown`; `closeKernelApp` (the tests, the signal handlers
|
|
135
|
+
* of `startKernelApp`) calls it directly next to `app.close()`, so the shutdown
|
|
136
|
+
* begins before any module's `onModuleDestroy` runs (Nest runs those first).
|
|
137
|
+
*/
|
|
138
|
+
stop(): Promise<void>;
|
|
139
|
+
private runStopPhases;
|
|
140
|
+
}
|