@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,101 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { Inject, Injectable, Module } from "@nestjs/common";
|
|
11
|
+
import { EventLog, EventLogModule } from "../../conversations/event-log.js";
|
|
12
|
+
import { KernelConfigService } from "../../infra/config/kernel-config.service.js";
|
|
13
|
+
import { KernelDb } from "../../infra/database/kernel-db.js";
|
|
14
|
+
import { TransactionHost } from "../../infra/database/transaction-host.js";
|
|
15
|
+
import { Transactional } from "../../infra/database/transactional.decorator.js";
|
|
16
|
+
import { KERNEL_BUS, KERNEL_LOGGER } from "../../infra/tokens.js";
|
|
17
|
+
import { ModelsModule } from "../../models/models.module.js";
|
|
18
|
+
import { ModelPurposesService } from "../../models/purposes.js";
|
|
19
|
+
import { SkillInvoker } from "../../skills/invoke.js";
|
|
20
|
+
import { SkillsModule } from "../../skills/skills.module.js";
|
|
21
|
+
import { ProviderRegistry, ProvidersModule } from "../providers.js";
|
|
22
|
+
import { RunJobs, RunJobsModule } from "../run-jobs.js";
|
|
23
|
+
import { commitDispatchIn, dispatchSubagent, } from "./dispatch.js";
|
|
24
|
+
import { publishSubagentProgress } from "./progress.js";
|
|
25
|
+
import { liveSkillForks } from "./skill-fork.js";
|
|
26
|
+
/**
|
|
27
|
+
* Sub-agents (phase C, spec §7) and forked skills (phase D): the `Agent` tool's dispatch (the
|
|
28
|
+
* tool pipeline calls {@link dispatch}), a run's fork invocation ({@link skillForks}, the loop's
|
|
29
|
+
* `prepare`) and a child step's progress on the parent's stream ({@link progress}). Child runs go
|
|
30
|
+
* to the sub-agent run queue through {@link RunJobs}. The child lifecycle after dispatch (a
|
|
31
|
+
* finished child resumes its parent, a stopped parent stops its children) is the waits'
|
|
32
|
+
* (`Waits.childFinished` / `stopChildren`).
|
|
33
|
+
*/
|
|
34
|
+
let SubagentsService = class SubagentsService {
|
|
35
|
+
bus;
|
|
36
|
+
log;
|
|
37
|
+
txHost;
|
|
38
|
+
/** The dispatch's dependencies (`dispatch.ts`, `skill-fork.ts`). */
|
|
39
|
+
deps;
|
|
40
|
+
/** The live fork handler of the loop (`LoopDeps.skillForks`). */
|
|
41
|
+
skillForks;
|
|
42
|
+
constructor(kdb, eventLog, purposes, registry, config, jobs, invoker, bus, log, txHost) {
|
|
43
|
+
this.bus = bus;
|
|
44
|
+
this.log = log;
|
|
45
|
+
this.txHost = txHost;
|
|
46
|
+
this.deps = {
|
|
47
|
+
get db() {
|
|
48
|
+
return kdb.db;
|
|
49
|
+
},
|
|
50
|
+
eventLog,
|
|
51
|
+
purposes,
|
|
52
|
+
registry,
|
|
53
|
+
config,
|
|
54
|
+
enqueue: (data, jobId, kind) => jobs.enqueue(data, jobId, kind),
|
|
55
|
+
log,
|
|
56
|
+
invoker,
|
|
57
|
+
commitDispatch: (a, plan, child) => this.commitDispatch(a, plan, child),
|
|
58
|
+
};
|
|
59
|
+
this.skillForks = liveSkillForks(this.deps);
|
|
60
|
+
}
|
|
61
|
+
/** Dispatches the sub-agent of one `Agent` call (`dispatchSubagent`). */
|
|
62
|
+
dispatch(a) {
|
|
63
|
+
return dispatchSubagent(this.deps, a);
|
|
64
|
+
}
|
|
65
|
+
/** The dispatch's writes in a transaction of their own (see `commitDispatchIn`). */
|
|
66
|
+
commitDispatch(a, plan, child) {
|
|
67
|
+
return commitDispatchIn(this.deps, a, plan, child);
|
|
68
|
+
}
|
|
69
|
+
/** A sub-agent's finished step on its parent's stream (sub-agents spec §14.2). Never throws. */
|
|
70
|
+
progress(s) {
|
|
71
|
+
return publishSubagentProgress({ db: this.deps.db, bus: this.bus, log: this.log }, s);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
__decorate([
|
|
75
|
+
Transactional({ propagation: "requires_new" })
|
|
76
|
+
], SubagentsService.prototype, "commitDispatch", null);
|
|
77
|
+
SubagentsService = __decorate([
|
|
78
|
+
Injectable(),
|
|
79
|
+
__param(0, Inject(KernelDb)),
|
|
80
|
+
__param(1, Inject(EventLog)),
|
|
81
|
+
__param(2, Inject(ModelPurposesService)),
|
|
82
|
+
__param(3, Inject(ProviderRegistry)),
|
|
83
|
+
__param(4, Inject(KernelConfigService)),
|
|
84
|
+
__param(5, Inject(RunJobs)),
|
|
85
|
+
__param(6, Inject(SkillInvoker)),
|
|
86
|
+
__param(7, Inject(KERNEL_BUS)),
|
|
87
|
+
__param(8, Inject(KERNEL_LOGGER)),
|
|
88
|
+
__param(9, Inject(TransactionHost))
|
|
89
|
+
], SubagentsService);
|
|
90
|
+
export { SubagentsService };
|
|
91
|
+
/** Sub-agent dispatch (the tools domain's `Agent` tool and the run loop use it). */
|
|
92
|
+
let SubagentsModule = class SubagentsModule {
|
|
93
|
+
};
|
|
94
|
+
SubagentsModule = __decorate([
|
|
95
|
+
Module({
|
|
96
|
+
imports: [EventLogModule, ModelsModule, ProvidersModule, RunJobsModule, SkillsModule],
|
|
97
|
+
providers: [SubagentsService],
|
|
98
|
+
exports: [SubagentsService],
|
|
99
|
+
})
|
|
100
|
+
], SubagentsModule);
|
|
101
|
+
export { SubagentsModule };
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
2
|
+
import { Job, type Queue, type Worker } from "bullmq";
|
|
3
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
4
|
+
import { ExtensionHost } from "../extensions/host.js";
|
|
5
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
6
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
7
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
8
|
+
import type { KernelLogger } from "../log.js";
|
|
5
9
|
/** Queue of `usage.report` deliveries (no `:` in the name). */
|
|
6
10
|
export declare const USAGE_REPORT_QUEUE = "cap-kernel-usage-report";
|
|
7
11
|
/** One job per `usage` event (no `:`: conversation ids are UUIDs, seq is a number). */
|
|
@@ -23,10 +27,17 @@ export interface UsageReportJob {
|
|
|
23
27
|
export declare const USAGE_REPORT_ATTEMPTS = 6;
|
|
24
28
|
/** Retry backoff: 2 s, doubling (2, 4, 8, 16, 32 s). */
|
|
25
29
|
export declare const USAGE_REPORT_BACKOFF_MS = 2000;
|
|
26
|
-
/**
|
|
30
|
+
/** The delivery retry policy of {@link UsageReporter}: attempts and the first exponential backoff. */
|
|
31
|
+
export interface UsageReportRetry {
|
|
32
|
+
attempts: number;
|
|
33
|
+
backoffMs: number;
|
|
34
|
+
}
|
|
35
|
+
/** Optional provider: the {@link UsageReportRetry} instead of the defaults above (tests). */
|
|
36
|
+
export declare const USAGE_REPORT_RETRY: unique symbol;
|
|
37
|
+
/** The sweeper's cron job name (no `:`; every minute, once across replicas). */
|
|
27
38
|
export declare const USAGE_SWEEP_JOB = "usage-report-sweep";
|
|
28
|
-
|
|
29
|
-
export
|
|
39
|
+
/** The maintenance scheduler the sweep ran on before it became a `@LockedCron` (retired). */
|
|
40
|
+
export { USAGE_SWEEP_SCHEDULER_ID } from "./job-ids.js";
|
|
30
41
|
/** The sweep leaves the newest events to the fast path (and to transactions still committing). */
|
|
31
42
|
export declare const USAGE_SWEEP_LAG_MS = 30000;
|
|
32
43
|
/**
|
|
@@ -35,45 +46,13 @@ export declare const USAGE_SWEEP_LAG_MS = 30000;
|
|
|
35
46
|
* (`hooks.usageReportKeepHours` ≥ 1 h), so re-enqueued events dedupe on the kept job.
|
|
36
47
|
*/
|
|
37
48
|
export declare const USAGE_SWEEP_OVERLAP_MS: number;
|
|
38
|
-
export interface UsageReporterDeps {
|
|
39
|
-
db: KernelDb;
|
|
40
|
-
redisUrl: string;
|
|
41
|
-
/**
|
|
42
|
-
* The host's registry: handlers of the current local plugin generations (through inflight.run), and
|
|
43
|
-
* `has("usage.report")`, the in-process check that lets `enqueue` skip all I/O without handlers.
|
|
44
|
-
*/
|
|
45
|
-
hooks: Pick<HookRegistry, "handlers" | "has">;
|
|
46
|
-
/**
|
|
47
|
-
* Whether the plugin's current instance is active on this replica (I-2): an active instance that
|
|
48
|
-
* registered no `usage.report` handler is not a subscriber, and its target is dropped. Absent: never.
|
|
49
|
-
*/
|
|
50
|
-
isActive?(plugin: string): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Of these plugins, the ones no replica can serve right now (I-2): replicas report them (live
|
|
53
|
-
* `extension_replica_status` rows) and none has them loaded. Their targets are dropped at once instead
|
|
54
|
-
* of failing every attempt. See {@link queryUnservable}. Absent: none.
|
|
55
|
-
*/
|
|
56
|
-
unservable?(plugins: readonly string[]): Promise<Set<string>>;
|
|
57
|
-
/**
|
|
58
|
-
* Plugins that subscribe to `usage.report`, from deployment state (approved manifests in PG), not from this replica's loaded handlers. With `orgId`: only those the
|
|
59
|
-
* organization enabled. See {@link queryUsageSubscribers}.
|
|
60
|
-
*/
|
|
61
|
-
subscribers(orgId?: string): Promise<Set<string>>;
|
|
62
|
-
config: () => KernelConfig;
|
|
63
|
-
log: Logger;
|
|
64
|
-
/** Tests: retry policy (defaults {@link USAGE_REPORT_ATTEMPTS} / {@link USAGE_REPORT_BACKOFF_MS}). */
|
|
65
|
-
retry?: {
|
|
66
|
-
attempts: number;
|
|
67
|
-
backoffMs: number;
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
49
|
/**
|
|
71
50
|
* Plugins that subscribe to `usage.report` according to deployment state: an approved permission
|
|
72
51
|
* snapshot that declares the `usage.report` hook, for a plugin the deployment still knows: an enabled
|
|
73
52
|
* install, or a config-declared plugin with a replica status row that is not `unloaded`. With `orgId`, only plugins
|
|
74
53
|
* the organization enabled (org config rows and required bootstrap plugins).
|
|
75
54
|
*/
|
|
76
|
-
export declare function queryUsageSubscribers(db:
|
|
55
|
+
export declare function queryUsageSubscribers(db: KernelSchemaDb, orgId?: string): Promise<Set<string>>;
|
|
77
56
|
/**
|
|
78
57
|
* Of `plugins`, those that are **definitely** unservable right now (I-2, N-3): live replicas report
|
|
79
58
|
* them (a `extension_replica_status` row with a heartbeat newer than `staleSeconds`), no live row is
|
|
@@ -82,7 +61,7 @@ export declare function queryUsageSubscribers(db: KernelDb, orgId?: string): Pro
|
|
|
82
61
|
* reconcile). A plugin with no live row at all is unknown too (slow to load, or a host without a
|
|
83
62
|
* status store). Unknown plugins are never listed.
|
|
84
63
|
*/
|
|
85
|
-
export declare function queryUnservable(db:
|
|
64
|
+
export declare function queryUnservable(db: KernelSchemaDb, plugins: readonly string[], staleSeconds: number): Promise<Set<string>>;
|
|
86
65
|
/**
|
|
87
66
|
* The next `pending` set (m-2 fence): plugins that failed now, narrowed to what the stored job data
|
|
88
67
|
* still lists. A plugin another (stalled-over) execution already delivered never comes back.
|
|
@@ -118,14 +97,50 @@ export declare function narrowPending(stored: readonly string[] | undefined, fai
|
|
|
118
97
|
* Single-step eval replays and judge requests log no usage: not reported (M7).
|
|
119
98
|
*/
|
|
120
99
|
export declare class UsageReporter {
|
|
121
|
-
private readonly
|
|
122
|
-
private queue;
|
|
123
|
-
|
|
100
|
+
private readonly kdb;
|
|
101
|
+
private readonly queue;
|
|
102
|
+
/**
|
|
103
|
+
* The host's hook registry: handlers of the current local plugin generations (through
|
|
104
|
+
* inflight.run), and `has("usage.report")`, the in-process check that lets `enqueue` skip all
|
|
105
|
+
* I/O without handlers; and whether a plugin's current instance is active here.
|
|
106
|
+
*/
|
|
107
|
+
private readonly host;
|
|
108
|
+
private readonly config;
|
|
109
|
+
/** The warning throttle's markers (`capk:usage-warn:<plugin>:<kind>`, SET NX PX). */
|
|
110
|
+
private readonly locks;
|
|
111
|
+
private readonly log;
|
|
112
|
+
private readonly retry;
|
|
124
113
|
private worker;
|
|
125
|
-
private workerConn;
|
|
126
114
|
private closed;
|
|
127
115
|
private readonly stopping;
|
|
128
|
-
constructor(
|
|
116
|
+
constructor(kdb: KernelDb, queue: Queue<UsageReportJob>,
|
|
117
|
+
/**
|
|
118
|
+
* The host's hook registry: handlers of the current local plugin generations (through
|
|
119
|
+
* inflight.run), and `has("usage.report")`, the in-process check that lets `enqueue` skip all
|
|
120
|
+
* I/O without handlers; and whether a plugin's current instance is active here.
|
|
121
|
+
*/
|
|
122
|
+
host: Pick<ExtensionHost, "hooks" | "current">, config: Pick<KernelConfigService, "get">,
|
|
123
|
+
/** The warning throttle's markers (`capk:usage-warn:<plugin>:<kind>`, SET NX PX). */
|
|
124
|
+
locks: Pick<LockService, "lease">, log: Logger, retry?: UsageReportRetry);
|
|
125
|
+
private get db();
|
|
126
|
+
private get hooks();
|
|
127
|
+
/**
|
|
128
|
+
* Whether the plugin's current instance is active on this replica (I-2): an active instance that
|
|
129
|
+
* registered no `usage.report` handler is not a subscriber, and its target is dropped.
|
|
130
|
+
*/
|
|
131
|
+
isActive(plugin: string): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Of these plugins, the ones no replica can serve right now (I-2): replicas report them (live
|
|
134
|
+
* `extension_replica_status` rows) and none has them loaded. Their targets are dropped at once
|
|
135
|
+
* instead of failing every attempt. See {@link queryUnservable}.
|
|
136
|
+
*/
|
|
137
|
+
unservable(plugins: readonly string[]): Promise<Set<string>>;
|
|
138
|
+
/**
|
|
139
|
+
* Plugins that subscribe to `usage.report`, from deployment state (approved manifests in PG),
|
|
140
|
+
* not from this replica's loaded handlers. With `orgId`: only those the organization enabled.
|
|
141
|
+
* See {@link queryUsageSubscribers}.
|
|
142
|
+
*/
|
|
143
|
+
subscribers(orgId?: string): Promise<Set<string>>;
|
|
129
144
|
private jobOpts;
|
|
130
145
|
/**
|
|
131
146
|
* Enqueues the delivery of one `usage` event. Returns without a job when no plugin subscribes.
|
|
@@ -140,11 +155,20 @@ export declare class UsageReporter {
|
|
|
140
155
|
sweep(opts?: {
|
|
141
156
|
now?: number;
|
|
142
157
|
}): Promise<number>;
|
|
143
|
-
/**
|
|
144
|
-
|
|
145
|
-
|
|
158
|
+
/**
|
|
159
|
+
* Starts consuming (worker role only): `worker` is the `@Processor` worker of
|
|
160
|
+
* {@link USAGE_REPORT_QUEUE} (built with the run queue's job lock and stalled detection).
|
|
161
|
+
*/
|
|
162
|
+
startWorker(worker: Worker<UsageReportJob>): void;
|
|
163
|
+
/** The worker's `error` event. */
|
|
164
|
+
onError(err: Error): void;
|
|
165
|
+
/** A job failed (the worker's `failed` event): logs retries and the final failure. */
|
|
166
|
+
onFailed(j: Job<UsageReportJob> | undefined, err: Error): void;
|
|
167
|
+
/**
|
|
168
|
+
* Stops: no more enqueues, in-flight calls are aborted (their jobs requeued) and the worker
|
|
169
|
+
* closes. The queue itself closes with the application.
|
|
170
|
+
*/
|
|
146
171
|
stop(): Promise<void>;
|
|
147
|
-
private getQueue;
|
|
148
172
|
/** The payload of one usage event, read from the log; null when the event no longer exists. */
|
|
149
173
|
private payloadOf;
|
|
150
174
|
/**
|
|
@@ -153,11 +177,29 @@ export declare class UsageReporter {
|
|
|
153
177
|
* dropped can stay, so a plugin another execution delivered never comes back.
|
|
154
178
|
*/
|
|
155
179
|
private writePending;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
180
|
+
/** One delivery job (the `@Processor` of {@link USAGE_REPORT_QUEUE} calls it). */
|
|
181
|
+
process(j: Job<UsageReportJob>, token: string | undefined): Promise<void>;
|
|
182
|
+
/** {@link unservable}; a lookup failure counts as "unknown" (keep retrying). */
|
|
183
|
+
private unservableOrNone;
|
|
159
184
|
/** Logs a warning at most once per plugin and kind per minute (Redis key with a TTL). */
|
|
160
185
|
private warnOnce;
|
|
161
186
|
/** One handler call with its own signal (timeout or replica stop aborts it); rejects on either. */
|
|
162
187
|
private call;
|
|
163
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* The usage sweeper (R13), every minute, once across replicas: {@link UsageReporter.sweep}.
|
|
191
|
+
* Replaces the maintenance scheduler `usage-report-sweep-every` (retired at worker start).
|
|
192
|
+
*/
|
|
193
|
+
export declare class UsageSweepJob {
|
|
194
|
+
private readonly reporter;
|
|
195
|
+
readonly lockService: LockService;
|
|
196
|
+
readonly log: KernelLogger;
|
|
197
|
+
constructor(reporter: Pick<UsageReporter, "sweep">, lockService: LockService, log: KernelLogger);
|
|
198
|
+
run(): Promise<void>;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* `usage.report` delivery: the producer on every role; the consumer and the sweep ({@link UsageSweepJob})
|
|
202
|
+
* on the worker role (`WorkerModule`).
|
|
203
|
+
*/
|
|
204
|
+
export declare class UsageReportModule {
|
|
205
|
+
}
|