@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
|
@@ -13,16 +13,19 @@ import { item } from "./report.js";
|
|
|
13
13
|
export const GENERATED_AGENTS_DIR = ".capybara-generated/agents";
|
|
14
14
|
/** Claude Code tool names -> Capybara tool keys (spec §16.4; anything else is dropped). */
|
|
15
15
|
const TOOL_MAP = {
|
|
16
|
-
Bash: "
|
|
17
|
-
Read: "
|
|
18
|
-
Write: "
|
|
19
|
-
Edit: "
|
|
20
|
-
MultiEdit: "
|
|
21
|
-
Glob: "
|
|
22
|
-
Grep: "
|
|
23
|
-
Skill: "
|
|
24
|
-
|
|
25
|
-
ToolSearch: "
|
|
16
|
+
Bash: "Bash",
|
|
17
|
+
Read: "Read",
|
|
18
|
+
Write: "Write",
|
|
19
|
+
Edit: "Edit",
|
|
20
|
+
MultiEdit: "Edit",
|
|
21
|
+
Glob: "Glob",
|
|
22
|
+
Grep: "Grep",
|
|
23
|
+
Skill: "Skill",
|
|
24
|
+
AskUserQuestion: "AskUserQuestion",
|
|
25
|
+
ToolSearch: "ToolSearch",
|
|
26
|
+
Agent: "Agent",
|
|
27
|
+
Task: "Agent",
|
|
28
|
+
TodoWrite: "plugin__todo__write",
|
|
26
29
|
};
|
|
27
30
|
/** Claude ignores these for plugin agents: `not_applicable`. */
|
|
28
31
|
const NOT_APPLICABLE = new Set(["permissionMode", "hooks", "mcpServers"]);
|
package/dist/catalog/cli.d.ts
CHANGED
|
@@ -32,8 +32,9 @@ export type CliObjectStore = {
|
|
|
32
32
|
*/
|
|
33
33
|
export declare function loadCliObjectStore(cli: Pick<ExtensionCli, "inspected" | "deploymentConfigs" | "deploymentConfigOf" | "approvals" | "config" | "configIssues" | "installs" | "packageSet" | "readPackage">, log: Pick<KernelLogger, "warn">, syncDir: string): Promise<CliObjectStore>;
|
|
34
34
|
/**
|
|
35
|
-
* The CLI's plugin catalog context (`capybara plugins *`): {@link openExtensionCli}
|
|
36
|
-
* {@link PluginImport} and {@link CatalogService}
|
|
35
|
+
* The CLI's plugin catalog context (`capybara plugins *`): {@link openExtensionCli} with the
|
|
36
|
+
* catalog's {@link CatalogImportModule}, so {@link PluginImport} and {@link CatalogService} are the
|
|
37
|
+
* kernel's providers. Imports run with actor `null` (the operator of the
|
|
37
38
|
* deployment, like `capybara extensions install`: no enterprise-admin re-check, audits without an
|
|
38
39
|
* actor, permission snapshots written with source `cli`). Files of the plugin (skills, connector
|
|
39
40
|
* templates, icons) go to the deployment's object store, set up in-process from the declared or
|
package/dist/catalog/cli.js
CHANGED
|
@@ -9,7 +9,8 @@ import { assertSecretsReachable } from "../extensions/host.js";
|
|
|
9
9
|
import { importExtensionModule, matchesSection } from "../extensions/instance.js";
|
|
10
10
|
import { packageRootOf, syncPackage } from "../extensions/sync.js";
|
|
11
11
|
import { packagePath } from "../packages/tgz.js";
|
|
12
|
-
import {
|
|
12
|
+
import { PrefixedStorage } from "../storage/storage.service.js";
|
|
13
|
+
import { CatalogImportModule } from "./catalog.module.js";
|
|
13
14
|
import { CatalogService } from "./catalog.service.js";
|
|
14
15
|
import { PluginImport } from "./plugin-import.js";
|
|
15
16
|
/**
|
|
@@ -131,7 +132,7 @@ export async function loadCliObjectStore(cli, log, syncDir) {
|
|
|
131
132
|
return { store: undefined, reason: reasons.join("; ") };
|
|
132
133
|
}
|
|
133
134
|
/** `storage.unavailable` with the CLI's constraint spelled out (the generic text points to a plugin install). */
|
|
134
|
-
class CliStorage extends
|
|
135
|
+
class CliStorage extends PrefixedStorage {
|
|
135
136
|
reason;
|
|
136
137
|
constructor(deps, reason) {
|
|
137
138
|
super(deps);
|
|
@@ -144,8 +145,9 @@ class CliStorage extends StorageService {
|
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
/**
|
|
147
|
-
* The CLI's plugin catalog context (`capybara plugins *`): {@link openExtensionCli}
|
|
148
|
-
* {@link PluginImport} and {@link CatalogService}
|
|
148
|
+
* The CLI's plugin catalog context (`capybara plugins *`): {@link openExtensionCli} with the
|
|
149
|
+
* catalog's {@link CatalogImportModule}, so {@link PluginImport} and {@link CatalogService} are the
|
|
150
|
+
* kernel's providers. Imports run with actor `null` (the operator of the
|
|
149
151
|
* deployment, like `capybara extensions install`: no enterprise-admin re-check, audits without an
|
|
150
152
|
* actor, permission snapshots written with source `cli`). Files of the plugin (skills, connector
|
|
151
153
|
* templates, icons) go to the deployment's object store, set up in-process from the declared or
|
|
@@ -154,7 +156,7 @@ class CliStorage extends StorageService {
|
|
|
154
156
|
* plugin does not bring are checked statically only (the CLI loads no connector).
|
|
155
157
|
*/
|
|
156
158
|
export async function openCatalogCli(config, log, opts = {}) {
|
|
157
|
-
const cli = await openExtensionCli(config, log, opts);
|
|
159
|
+
const cli = await openExtensionCli(config, log, { ...opts, modules: [CatalogImportModule] });
|
|
158
160
|
let syncDir;
|
|
159
161
|
const removeSyncDir = async () => {
|
|
160
162
|
if (syncDir !== undefined)
|
|
@@ -167,32 +169,12 @@ export async function openCatalogCli(config, log, opts = {}) {
|
|
|
167
169
|
provider: () => store,
|
|
168
170
|
plugins: async () => cli.inspected.map((p) => p.manifest.name),
|
|
169
171
|
}, "reason" in rest ? rest.reason : undefined);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
ops: cli.ops,
|
|
177
|
-
blobs: { get: (sha256) => cli.readPackage(sha256) },
|
|
178
|
-
declared: () => declared,
|
|
179
|
-
// The CLI loads no connectors: templates get static checks only (the org install re-checks)
|
|
180
|
-
findConnector: () => undefined,
|
|
181
|
-
connectorsLoaded: false,
|
|
182
|
-
log,
|
|
183
|
-
});
|
|
184
|
-
const catalog = new CatalogService({
|
|
185
|
-
db: cli.db,
|
|
186
|
-
config: () => config,
|
|
187
|
-
installs: cli.installs,
|
|
188
|
-
ops: cli.ops,
|
|
189
|
-
pluginImport: imports,
|
|
190
|
-
// Unreachable from the CLI: only marketplace imports (CatalogService.importFromMarketplace)
|
|
191
|
-
// download archives, and the CLI offers file, npm and direct git imports only.
|
|
192
|
-
fetchArchive: () => Promise.reject(new ApiError("internal", "marketplace imports are not available in the CLI")),
|
|
193
|
-
// Only marketplace imports send a marketplace token; a direct git import has none
|
|
194
|
-
marketplaceToken: async () => undefined,
|
|
195
|
-
});
|
|
172
|
+
// Plugin files go to that store; connector templates get static checks only (the CLI loads
|
|
173
|
+
// no connector; the org install re-checks them). Config-declared names come from the
|
|
174
|
+
// inspection (the registry), marketplace imports are not offered by the CLI.
|
|
175
|
+
const imports = cli.app.get(PluginImport);
|
|
176
|
+
imports.useCliStorage(storage);
|
|
177
|
+
const catalog = cli.app.get(CatalogService);
|
|
196
178
|
return {
|
|
197
179
|
...cli,
|
|
198
180
|
catalog,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** The catalog's periodic jobs (a leaf module: no imports). */
|
|
2
|
+
/**
|
|
3
|
+
* Periodic marketplace refresh (C26), every `marketplaces.refreshIntervalMinutes` (a
|
|
4
|
+
* `@LockedInterval`, once per tick across replicas): refreshes each enabled marketplace in turn.
|
|
5
|
+
*/
|
|
6
|
+
export declare const MARKETPLACES_REFRESH_JOB = "catalogs-refresh";
|
|
7
|
+
/** The BullMQ repeatable scheduler the refresh had before it became `@LockedInterval` (retired). */
|
|
8
|
+
export declare const MARKETPLACES_REFRESH_SCHEDULER_ID = "catalogs-refresh-every";
|
|
9
|
+
/**
|
|
10
|
+
* Hourly cleanup of plugin import staging (T25, F-AE; a `@LockedCron`): deletes expired (24-hour)
|
|
11
|
+
* staging rows and their object storage prefixes (`PluginImport.cleanupExpired`).
|
|
12
|
+
*/
|
|
13
|
+
export declare const PLUGIN_STAGING_CLEANUP_JOB = "app-staging-cleanup";
|
|
14
|
+
/** The BullMQ repeatable scheduler the cleanup had before it became `@LockedCron` (retired). */
|
|
15
|
+
export declare const PLUGIN_STAGING_CLEANUP_SCHEDULER_ID = "app-staging-cleanup-hourly";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** The catalog's periodic jobs (a leaf module: no imports). */
|
|
2
|
+
/**
|
|
3
|
+
* Periodic marketplace refresh (C26), every `marketplaces.refreshIntervalMinutes` (a
|
|
4
|
+
* `@LockedInterval`, once per tick across replicas): refreshes each enabled marketplace in turn.
|
|
5
|
+
*/
|
|
6
|
+
export const MARKETPLACES_REFRESH_JOB = "catalogs-refresh";
|
|
7
|
+
/** The BullMQ repeatable scheduler the refresh had before it became `@LockedInterval` (retired). */
|
|
8
|
+
export const MARKETPLACES_REFRESH_SCHEDULER_ID = "catalogs-refresh-every";
|
|
9
|
+
/**
|
|
10
|
+
* Hourly cleanup of plugin import staging (T25, F-AE; a `@LockedCron`): deletes expired (24-hour)
|
|
11
|
+
* staging rows and their object storage prefixes (`PluginImport.cleanupExpired`).
|
|
12
|
+
*/
|
|
13
|
+
export const PLUGIN_STAGING_CLEANUP_JOB = "app-staging-cleanup";
|
|
14
|
+
/** The BullMQ repeatable scheduler the cleanup had before it became `@LockedCron` (retired). */
|
|
15
|
+
export const PLUGIN_STAGING_CLEANUP_SCHEDULER_ID = "app-staging-cleanup-hourly";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
2
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
3
|
+
import type { KernelLogger } from "../log.js";
|
|
4
|
+
import { MarketplacesService } from "./marketplaces.service.js";
|
|
5
|
+
import { PluginImport } from "./plugin-import.js";
|
|
6
|
+
/**
|
|
7
|
+
* The catalog's periodic jobs, each run once per tick across replicas: the marketplace refresh
|
|
8
|
+
* (`catalogs-refresh`, every `marketplaces.refreshIntervalMinutes` and once after the start:
|
|
9
|
+
* `@LockedInterval` with `runOnStart`) and the
|
|
10
|
+
* hourly cleanup of expired plugin import staging (`app-staging-cleanup`: `@LockedCron`).
|
|
11
|
+
*/
|
|
12
|
+
export declare class CatalogJobs {
|
|
13
|
+
private readonly marketplaces;
|
|
14
|
+
private readonly imports;
|
|
15
|
+
readonly config: KernelConfigService;
|
|
16
|
+
readonly lockService: LockService;
|
|
17
|
+
readonly log: KernelLogger;
|
|
18
|
+
constructor(marketplaces: MarketplacesService, imports: PluginImport, config: KernelConfigService, lockService: LockService, log: KernelLogger);
|
|
19
|
+
/**
|
|
20
|
+
* Refreshes every enabled marketplace in turn (overall deadline
|
|
21
|
+
* {@link MARKETPLACES_REFRESH_DEADLINE_MS}; the job's signal aborts it: the stop, or the run
|
|
22
|
+
* lock lost).
|
|
23
|
+
*/
|
|
24
|
+
refreshMarketplaces(stop?: AbortSignal): Promise<void>;
|
|
25
|
+
/** Deletes expired staging rows and their objects. */
|
|
26
|
+
cleanupStaging(): Promise<void>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
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 } from "@nestjs/common";
|
|
11
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
12
|
+
import { LockService } from "../infra/lock/lock.service.js";
|
|
13
|
+
import { LockedCron } from "../infra/schedule/locked-cron.decorator.js";
|
|
14
|
+
import { LockedInterval } from "../infra/schedule/locked-interval.js";
|
|
15
|
+
import { KERNEL_LOGGER } from "../infra/tokens.js";
|
|
16
|
+
import { MARKETPLACES_REFRESH_JOB, PLUGIN_STAGING_CLEANUP_JOB } from "./job-ids.js";
|
|
17
|
+
import { MARKETPLACES_REFRESH_DEADLINE_MS, MarketplacesService } from "./marketplaces.service.js";
|
|
18
|
+
import { PluginImport } from "./plugin-import.js";
|
|
19
|
+
/**
|
|
20
|
+
* The catalog's periodic jobs, each run once per tick across replicas: the marketplace refresh
|
|
21
|
+
* (`catalogs-refresh`, every `marketplaces.refreshIntervalMinutes` and once after the start:
|
|
22
|
+
* `@LockedInterval` with `runOnStart`) and the
|
|
23
|
+
* hourly cleanup of expired plugin import staging (`app-staging-cleanup`: `@LockedCron`).
|
|
24
|
+
*/
|
|
25
|
+
let CatalogJobs = class CatalogJobs {
|
|
26
|
+
marketplaces;
|
|
27
|
+
imports;
|
|
28
|
+
config;
|
|
29
|
+
lockService;
|
|
30
|
+
log;
|
|
31
|
+
constructor(marketplaces, imports, config, lockService, log) {
|
|
32
|
+
this.marketplaces = marketplaces;
|
|
33
|
+
this.imports = imports;
|
|
34
|
+
this.config = config;
|
|
35
|
+
this.lockService = lockService;
|
|
36
|
+
this.log = log;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Refreshes every enabled marketplace in turn (overall deadline
|
|
40
|
+
* {@link MARKETPLACES_REFRESH_DEADLINE_MS}; the job's signal aborts it: the stop, or the run
|
|
41
|
+
* lock lost).
|
|
42
|
+
*/
|
|
43
|
+
async refreshMarketplaces(stop) {
|
|
44
|
+
const deadline = AbortSignal.timeout(MARKETPLACES_REFRESH_DEADLINE_MS);
|
|
45
|
+
await this.marketplaces.refreshAll(stop ? AbortSignal.any([deadline, stop]) : deadline);
|
|
46
|
+
}
|
|
47
|
+
/** Deletes expired staging rows and their objects. */
|
|
48
|
+
async cleanupStaging() {
|
|
49
|
+
const n = await this.imports.cleanupExpired();
|
|
50
|
+
if (n > 0)
|
|
51
|
+
this.log.info("expired plugin imports cleaned up", { count: n });
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
__decorate([
|
|
55
|
+
LockedInterval(MARKETPLACES_REFRESH_JOB, (c) => c.marketplaces.refreshIntervalMinutes * 60_000,
|
|
56
|
+
// a fresh deployment's marketplaces are refreshed right after the start
|
|
57
|
+
{ runOnStart: true })
|
|
58
|
+
], CatalogJobs.prototype, "refreshMarketplaces", null);
|
|
59
|
+
__decorate([
|
|
60
|
+
LockedCron("0 * * * *", { name: PLUGIN_STAGING_CLEANUP_JOB })
|
|
61
|
+
], CatalogJobs.prototype, "cleanupStaging", null);
|
|
62
|
+
CatalogJobs = __decorate([
|
|
63
|
+
Injectable(),
|
|
64
|
+
__param(0, Inject(MarketplacesService)),
|
|
65
|
+
__param(1, Inject(PluginImport)),
|
|
66
|
+
__param(2, Inject(KernelConfigService)),
|
|
67
|
+
__param(3, Inject(LockService)),
|
|
68
|
+
__param(4, Inject(KERNEL_LOGGER))
|
|
69
|
+
], CatalogJobs);
|
|
70
|
+
export { CatalogJobs };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
2
|
+
import { XactLock } from "../infra/database/xact-lock.js";
|
|
3
|
+
/**
|
|
4
|
+
* Serializes the writes of one marketplace's cached entries and refresh status (a refresh's
|
|
5
|
+
* result against concurrent refreshes and the admin's changes). Joins the caller's transaction
|
|
6
|
+
* (`mandatory`), which holds the lock until it ends.
|
|
7
|
+
*/
|
|
8
|
+
export declare class CatalogSourceLock {
|
|
9
|
+
private readonly xactLock;
|
|
10
|
+
readonly txHost: TransactionHost;
|
|
11
|
+
constructor(xactLock: XactLock, txHost: TransactionHost);
|
|
12
|
+
lock(marketplaceId: string): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Serializes the imports of one catalog item name (the conflict re-check and the item / version
|
|
16
|
+
* write of a confirm), including a first import that has no item row to lock yet. Joins the
|
|
17
|
+
* caller's transaction (`mandatory`).
|
|
18
|
+
*/
|
|
19
|
+
export declare class CatalogItemLock {
|
|
20
|
+
private readonly xactLock;
|
|
21
|
+
readonly txHost: TransactionHost;
|
|
22
|
+
constructor(xactLock: XactLock, txHost: TransactionHost);
|
|
23
|
+
lock(name: string): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
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 } from "@nestjs/common";
|
|
11
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
12
|
+
import { Transactional } from "../infra/database/transactional.decorator.js";
|
|
13
|
+
import { XactLock } from "../infra/database/xact-lock.js";
|
|
14
|
+
/**
|
|
15
|
+
* Serializes the writes of one marketplace's cached entries and refresh status (a refresh's
|
|
16
|
+
* result against concurrent refreshes and the admin's changes). Joins the caller's transaction
|
|
17
|
+
* (`mandatory`), which holds the lock until it ends.
|
|
18
|
+
*/
|
|
19
|
+
let CatalogSourceLock = class CatalogSourceLock {
|
|
20
|
+
xactLock;
|
|
21
|
+
txHost;
|
|
22
|
+
constructor(xactLock, txHost) {
|
|
23
|
+
this.xactLock = xactLock;
|
|
24
|
+
this.txHost = txHost;
|
|
25
|
+
}
|
|
26
|
+
async lock(marketplaceId) {
|
|
27
|
+
await this.xactLock.lock(`capybara.catalog-source:${marketplaceId}`);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
__decorate([
|
|
31
|
+
Transactional({ propagation: "mandatory" })
|
|
32
|
+
], CatalogSourceLock.prototype, "lock", null);
|
|
33
|
+
CatalogSourceLock = __decorate([
|
|
34
|
+
Injectable(),
|
|
35
|
+
__param(0, Inject(XactLock)),
|
|
36
|
+
__param(1, Inject(TransactionHost))
|
|
37
|
+
], CatalogSourceLock);
|
|
38
|
+
export { CatalogSourceLock };
|
|
39
|
+
/**
|
|
40
|
+
* Serializes the imports of one catalog item name (the conflict re-check and the item / version
|
|
41
|
+
* write of a confirm), including a first import that has no item row to lock yet. Joins the
|
|
42
|
+
* caller's transaction (`mandatory`).
|
|
43
|
+
*/
|
|
44
|
+
let CatalogItemLock = class CatalogItemLock {
|
|
45
|
+
xactLock;
|
|
46
|
+
txHost;
|
|
47
|
+
constructor(xactLock, txHost) {
|
|
48
|
+
this.xactLock = xactLock;
|
|
49
|
+
this.txHost = txHost;
|
|
50
|
+
}
|
|
51
|
+
async lock(name) {
|
|
52
|
+
await this.xactLock.lock(`capybara.directory-item:${name}`);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
__decorate([
|
|
56
|
+
Transactional({ propagation: "mandatory" })
|
|
57
|
+
], CatalogItemLock.prototype, "lock", null);
|
|
58
|
+
CatalogItemLock = __decorate([
|
|
59
|
+
Injectable(),
|
|
60
|
+
__param(0, Inject(XactLock)),
|
|
61
|
+
__param(1, Inject(TransactionHost))
|
|
62
|
+
], CatalogItemLock);
|
|
63
|
+
export { CatalogItemLock };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { type KernelConfig } from "../config/schema.js";
|
|
3
2
|
import { type Principal } from "../identity/principal.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
4
|
+
import { CatalogService, type MarketplaceImportResult } from "./catalog.service.js";
|
|
5
|
+
import { type MarketplaceEntryView, MarketplacesService, type MarketplaceView } from "./marketplaces.service.js";
|
|
6
6
|
declare const AddBody: z.ZodObject<{
|
|
7
7
|
name: z.ZodString;
|
|
8
8
|
url: z.ZodString;
|
|
@@ -42,7 +42,7 @@ export declare class MarketplacesController {
|
|
|
42
42
|
private readonly marketplaces;
|
|
43
43
|
private readonly catalog;
|
|
44
44
|
private readonly config;
|
|
45
|
-
constructor(marketplaces: MarketplacesService, catalog: CatalogService, config:
|
|
45
|
+
constructor(marketplaces: MarketplacesService, catalog: CatalogService, config: KernelConfigService);
|
|
46
46
|
/** 全部来源;`offline` 为 true 表示 `marketplaces.official.enabled` 为 false(界面显示「离线模式」)。 */
|
|
47
47
|
list(): Promise<{
|
|
48
48
|
items: MarketplaceView[];
|
|
@@ -7,12 +7,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { Controller, Delete, Get, HttpCode, Inject, Param, Patch, Post } from "@nestjs/common";
|
|
11
11
|
import { z } from "zod";
|
|
12
12
|
import { MARKETPLACE_MAX_MIRRORS } from "../config/schema.js";
|
|
13
|
-
import { CATALOG, KERNEL_CONFIG, MARKETPLACES } from "../http/tokens.js";
|
|
14
|
-
import { ZodPipe } from "../http/zod.pipe.js";
|
|
15
13
|
import { CurrentPrincipal, EnterpriseAdmin, patTokenId, requireUser, } from "../identity/principal.js";
|
|
14
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
15
|
+
import { createZodDto } from "../infra/validation/create-zod-dto.js";
|
|
16
|
+
import { ZBody, ZQuery } from "../infra/validation/zod-params.js";
|
|
17
|
+
import { CatalogService } from "./catalog.service.js";
|
|
18
|
+
import { MarketplacesService, } from "./marketplaces.service.js";
|
|
16
19
|
const Url = z.string().min(1).max(2000);
|
|
17
20
|
const Form = z.enum(["http", "git"]);
|
|
18
21
|
const Ref = z.string().min(1).max(256);
|
|
@@ -46,6 +49,14 @@ const actorOpts = (actor) => {
|
|
|
46
49
|
const tokenId = patTokenId(actor);
|
|
47
50
|
return tokenId !== undefined ? { actorTokenId: tokenId } : {};
|
|
48
51
|
};
|
|
52
|
+
class MarketplaceAddBody extends createZodDto(AddBody, "MarketplaceAddBody") {
|
|
53
|
+
}
|
|
54
|
+
class MarketplaceEntriesQuery extends createZodDto(EntriesQuery, "MarketplaceEntriesQuery") {
|
|
55
|
+
}
|
|
56
|
+
class MarketplaceImportBody extends createZodDto(ImportBody, "MarketplaceImportBody") {
|
|
57
|
+
}
|
|
58
|
+
class MarketplacePatchBody extends createZodDto(PatchBody, "MarketplacePatchBody") {
|
|
59
|
+
}
|
|
49
60
|
/**
|
|
50
61
|
* Marketplaces (`/api/v1/admin/marketplaces/*`, enterprise admins): create, update, delete and
|
|
51
62
|
* refresh the official and enterprise marketplaces, browse entries, import from a marketplace.
|
|
@@ -64,7 +75,7 @@ let MarketplacesController = class MarketplacesController {
|
|
|
64
75
|
async list() {
|
|
65
76
|
return {
|
|
66
77
|
items: await this.marketplaces.list(),
|
|
67
|
-
offline: !this.config().marketplaces.official.enabled,
|
|
78
|
+
offline: !this.config.get().marketplaces.official.enabled,
|
|
68
79
|
};
|
|
69
80
|
}
|
|
70
81
|
/**
|
|
@@ -155,17 +166,17 @@ __decorate([
|
|
|
155
166
|
Post(),
|
|
156
167
|
HttpCode(201),
|
|
157
168
|
__param(0, CurrentPrincipal()),
|
|
158
|
-
__param(1,
|
|
169
|
+
__param(1, ZBody(MarketplaceAddBody))
|
|
159
170
|
], MarketplacesController.prototype, "add", null);
|
|
160
171
|
__decorate([
|
|
161
172
|
Get("entries"),
|
|
162
|
-
__param(0,
|
|
173
|
+
__param(0, ZQuery(MarketplaceEntriesQuery))
|
|
163
174
|
], MarketplacesController.prototype, "entries", null);
|
|
164
175
|
__decorate([
|
|
165
176
|
Patch(":id"),
|
|
166
177
|
__param(0, CurrentPrincipal()),
|
|
167
178
|
__param(1, Param("id")),
|
|
168
|
-
__param(2,
|
|
179
|
+
__param(2, ZBody(MarketplacePatchBody))
|
|
169
180
|
], MarketplacesController.prototype, "update", null);
|
|
170
181
|
__decorate([
|
|
171
182
|
Delete(":id"),
|
|
@@ -185,13 +196,13 @@ __decorate([
|
|
|
185
196
|
__param(0, CurrentPrincipal()),
|
|
186
197
|
__param(1, Param("id")),
|
|
187
198
|
__param(2, Param("name")),
|
|
188
|
-
__param(3,
|
|
199
|
+
__param(3, ZBody(MarketplaceImportBody))
|
|
189
200
|
], MarketplacesController.prototype, "importEntry", null);
|
|
190
201
|
MarketplacesController = __decorate([
|
|
191
202
|
Controller("api/v1/admin/marketplaces"),
|
|
192
203
|
EnterpriseAdmin(),
|
|
193
|
-
__param(0, Inject(
|
|
194
|
-
__param(1, Inject(
|
|
195
|
-
__param(2, Inject(
|
|
204
|
+
__param(0, Inject(MarketplacesService)),
|
|
205
|
+
__param(1, Inject(CatalogService)),
|
|
206
|
+
__param(2, Inject(KernelConfigService))
|
|
196
207
|
], MarketplacesController);
|
|
197
208
|
export { MarketplacesController };
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type MarketplaceEntry, type MarketplaceSource } from "@capybara-hq/plugin-sdk";
|
|
2
2
|
import { type KernelConfig } from "../config/schema.js";
|
|
3
3
|
import { type Keyring } from "../ctx/secrets.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { KernelSchemaDb } from "../db/kernel-schema.js";
|
|
5
|
+
import { EnterpriseAdminLock } from "../identity/enterprise-admin.js";
|
|
6
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
7
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
8
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
9
|
+
import type { KernelLogger } from "../log.js";
|
|
5
10
|
import { type ClaudeEntryOverlay } from "./claude/manifest.js";
|
|
6
11
|
import { type MarketplaceSkipReason } from "./claude/marketplace.js";
|
|
12
|
+
import { CatalogSourceLock } from "./locks.js";
|
|
7
13
|
/** 官方清单来源的 id。 */
|
|
8
14
|
export declare const OFFICIAL_MARKETPLACE_ID = "official";
|
|
9
15
|
/** 拉取一份清单的超时。 */
|
|
@@ -98,14 +104,6 @@ export interface MarketplaceEntryView {
|
|
|
98
104
|
*/
|
|
99
105
|
contentChanged: boolean;
|
|
100
106
|
}
|
|
101
|
-
export interface MarketplacesServiceDeps {
|
|
102
|
-
db: KernelDb;
|
|
103
|
-
config: () => KernelConfig;
|
|
104
|
-
keyring: Keyring;
|
|
105
|
-
log: Pick<Logger, "info" | "warn" | "error">;
|
|
106
|
-
/** 测试可调短。 */
|
|
107
|
-
fetchTimeoutMs?: number;
|
|
108
|
-
}
|
|
109
107
|
export interface ActorOpts {
|
|
110
108
|
actorTokenId?: string;
|
|
111
109
|
}
|
|
@@ -166,7 +164,7 @@ export declare function headsToResolve(entries: readonly MarketplaceEntry[], imp
|
|
|
166
164
|
/** The host versions (an entry's `minKernel` is judged against them). */
|
|
167
165
|
export declare const HOST_VERSIONS: {
|
|
168
166
|
readonly kernel: string;
|
|
169
|
-
readonly sdk: "0.1.0-rc.
|
|
167
|
+
readonly sdk: "0.1.0-rc.1";
|
|
170
168
|
};
|
|
171
169
|
/** Whether this deployment satisfies the entry's `minKernel`. */
|
|
172
170
|
export declare const entryCompatible: (e: Pick<MarketplaceEntry, "minKernel">) => boolean;
|
|
@@ -204,7 +202,7 @@ export declare const sourceEffective: (row: {
|
|
|
204
202
|
* marketplace disabled (official offline included), entry or version missing ->
|
|
205
203
|
* `marketplace.entry_not_found`.
|
|
206
204
|
*/
|
|
207
|
-
export declare function loadMarketplaceEntry(db:
|
|
205
|
+
export declare function loadMarketplaceEntry(db: KernelSchemaDb, config: KernelConfig, sourceId: string, name: string, version?: string): Promise<{
|
|
208
206
|
entry: MarketplaceEntry;
|
|
209
207
|
marketplace: MarketplaceOfEntry;
|
|
210
208
|
/** The overlay of an entry of a Claude Code marketplace. */
|
|
@@ -221,8 +219,19 @@ export declare function loadMarketplaceEntry(db: KernelDb, config: KernelConfig,
|
|
|
221
219
|
* by every replica.
|
|
222
220
|
*/
|
|
223
221
|
export declare class MarketplacesService {
|
|
224
|
-
private readonly
|
|
225
|
-
|
|
222
|
+
private readonly kdb;
|
|
223
|
+
/** The enterprise admin lock (identity/enterprise-admin.ts): joins the caller's transaction. */
|
|
224
|
+
private readonly adminLock;
|
|
225
|
+
private readonly sourceLock;
|
|
226
|
+
private readonly config;
|
|
227
|
+
private readonly keyring;
|
|
228
|
+
private readonly log;
|
|
229
|
+
readonly txHost: TransactionHost;
|
|
230
|
+
constructor(kdb: KernelDb,
|
|
231
|
+
/** The enterprise admin lock (identity/enterprise-admin.ts): joins the caller's transaction. */
|
|
232
|
+
adminLock: EnterpriseAdminLock, sourceLock: CatalogSourceLock, config: KernelConfigService, keyring: Keyring, log: KernelLogger, txHost: TransactionHost);
|
|
233
|
+
/** The kernel-schema handle of the current context (the transaction, else the pool). */
|
|
234
|
+
private get db();
|
|
226
235
|
/**
|
|
227
236
|
* Creates / updates the official marketplace from config (name, URL, its form per
|
|
228
237
|
* {@link marketplaceForm}, mirrors; the admin's enable switch is left alone). Called by every
|
|
@@ -248,6 +257,7 @@ export declare class MarketplacesService {
|
|
|
248
257
|
mirrors?: string[];
|
|
249
258
|
token?: string;
|
|
250
259
|
}, opts?: ActorOpts): Promise<MarketplaceView>;
|
|
260
|
+
private writeAdd;
|
|
251
261
|
/**
|
|
252
262
|
* Updates an enterprise marketplace (audit `marketplace.updated`, listing the changed fields, the
|
|
253
263
|
* token's value never recorded; not written when unchanged). `token: null` clears the token.
|
|
@@ -266,6 +276,7 @@ export declare class MarketplacesService {
|
|
|
266
276
|
enabled?: boolean;
|
|
267
277
|
token?: string | null;
|
|
268
278
|
}, opts?: ActorOpts): Promise<MarketplaceView>;
|
|
279
|
+
private writeUpdate;
|
|
269
280
|
/**
|
|
270
281
|
* Deletes an enterprise marketplace (audit `marketplace.removed`): its cached entries and token
|
|
271
282
|
* are deleted; imported catalog items are kept (their marketplace becomes null). Official can
|
|
@@ -324,12 +335,18 @@ export declare class MarketplacesService {
|
|
|
324
335
|
items: MarketplaceEntryView[];
|
|
325
336
|
truncated: boolean;
|
|
326
337
|
}>;
|
|
338
|
+
/**
|
|
339
|
+
* Writes a refresh's result under the marketplace's lock (entries, heads, status, the status
|
|
340
|
+
* change audit); `stale` when the marketplace changed during the fetch (nothing is written).
|
|
341
|
+
*/
|
|
342
|
+
private recordRefresh;
|
|
327
343
|
/**
|
|
328
344
|
* Replaces the entries of a marketplace; `trees` (a git marketplace) gives each path entry the
|
|
329
345
|
* tree oid of its directory.
|
|
330
346
|
*/
|
|
331
347
|
private replaceEntries;
|
|
332
348
|
private views;
|
|
349
|
+
/** The deployment secrets on the current context's handle (the transaction, else the pool). */
|
|
333
350
|
private secrets;
|
|
334
351
|
private checkName;
|
|
335
352
|
private checkUrls;
|