@capybara-hq/kernel 0.0.0-stage → 0.1.0-rc.1
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/LICENSE +202 -0
- package/NOTICE +2 -0
- package/README.md +20 -2
- package/bootstrap.json +26 -0
- package/dist/admin/admin.controller.d.ts +139 -0
- package/dist/admin/admin.controller.js +238 -0
- package/dist/admin/extensions.controller.d.ts +100 -0
- package/dist/admin/extensions.controller.js +226 -0
- package/dist/admin/setup.controller.d.ts +36 -0
- package/dist/admin/setup.controller.js +106 -0
- package/dist/admin/setup.service.d.ts +47 -0
- package/dist/admin/setup.service.js +90 -0
- package/dist/agents/agents.controller.d.ts +205 -0
- package/dist/agents/agents.controller.js +144 -0
- package/dist/agents/agents.service.d.ts +177 -0
- package/dist/agents/agents.service.js +677 -0
- package/dist/agents/definition.d.ts +198 -0
- package/dist/agents/definition.js +152 -0
- package/dist/agents/models.controller.d.ts +13 -0
- package/dist/agents/models.controller.js +31 -0
- package/dist/agents/templates.controller.d.ts +15 -0
- package/dist/agents/templates.controller.js +37 -0
- package/dist/agents/templates.d.ts +83 -0
- package/dist/agents/templates.js +173 -0
- package/dist/catalog/admin-catalog.controller.d.ts +143 -0
- package/dist/catalog/admin-catalog.controller.js +245 -0
- package/dist/catalog/catalog.service.d.ts +430 -0
- package/dist/catalog/catalog.service.js +882 -0
- package/dist/catalog/claude/agents.d.ts +27 -0
- package/dist/catalog/claude/agents.js +270 -0
- package/dist/catalog/claude/commands.d.ts +50 -0
- package/dist/catalog/claude/commands.js +179 -0
- package/dist/catalog/claude/manifest.d.ts +69 -0
- package/dist/catalog/claude/manifest.js +134 -0
- package/dist/catalog/claude/marketplace.d.ts +35 -0
- package/dist/catalog/claude/marketplace.js +194 -0
- package/dist/catalog/claude/mcp.d.ts +33 -0
- package/dist/catalog/claude/mcp.js +226 -0
- package/dist/catalog/claude/report.d.ts +86 -0
- package/dist/catalog/claude/report.js +121 -0
- package/dist/catalog/claude/translate.d.ts +56 -0
- package/dist/catalog/claude/translate.js +857 -0
- package/dist/catalog/cli.d.ts +46 -0
- package/dist/catalog/cli.js +211 -0
- package/dist/catalog/git-source.d.ts +127 -0
- package/dist/catalog/git-source.js +520 -0
- package/dist/catalog/marketplace-fetch.d.ts +99 -0
- package/dist/catalog/marketplace-fetch.js +203 -0
- package/dist/catalog/marketplaces.controller.d.ts +97 -0
- package/dist/catalog/marketplaces.controller.js +197 -0
- package/dist/catalog/marketplaces.service.d.ts +340 -0
- package/dist/catalog/marketplaces.service.js +1217 -0
- package/dist/catalog/org-catalog.controller.d.ts +128 -0
- package/dist/catalog/org-catalog.controller.js +277 -0
- package/dist/catalog/org-catalog.service.d.ts +246 -0
- package/dist/catalog/org-catalog.service.js +625 -0
- package/dist/catalog/plugin-import.d.ts +436 -0
- package/dist/catalog/plugin-import.js +1069 -0
- package/dist/catalog/plugin-install.d.ts +447 -0
- package/dist/catalog/plugin-install.js +1333 -0
- package/dist/catalog/plugin-package.d.ts +143 -0
- package/dist/catalog/plugin-package.js +382 -0
- package/dist/catalog/plugin-upgrade.d.ts +222 -0
- package/dist/catalog/plugin-upgrade.js +1219 -0
- package/dist/catalog/requests.service.d.ts +162 -0
- package/dist/catalog/requests.service.js +504 -0
- package/dist/catalog/schema-path.d.ts +7 -0
- package/dist/catalog/schema-path.js +63 -0
- package/dist/catalog/upgrade-targets.d.ts +59 -0
- package/dist/catalog/upgrade-targets.js +90 -0
- package/dist/catalog/versions.d.ts +31 -0
- package/dist/catalog/versions.js +44 -0
- package/dist/channels/actions.d.ts +37 -0
- package/dist/channels/actions.js +121 -0
- package/dist/channels/cards.d.ts +44 -0
- package/dist/channels/cards.js +156 -0
- package/dist/channels/connections.controller.d.ts +59 -0
- package/dist/channels/connections.controller.js +115 -0
- package/dist/channels/connections.service.d.ts +187 -0
- package/dist/channels/connections.service.js +534 -0
- package/dist/channels/features.d.ts +12 -0
- package/dist/channels/features.js +22 -0
- package/dist/channels/inbound.d.ts +120 -0
- package/dist/channels/inbound.js +332 -0
- package/dist/channels/outbound.d.ts +140 -0
- package/dist/channels/outbound.js +1126 -0
- package/dist/channels/phrases.d.ts +100 -0
- package/dist/channels/phrases.js +81 -0
- package/dist/channels/supervisor.d.ts +182 -0
- package/dist/channels/supervisor.js +625 -0
- package/dist/channels/threads.d.ts +29 -0
- package/dist/channels/threads.js +104 -0
- package/dist/channels/webhook-url.d.ts +16 -0
- package/dist/channels/webhook-url.js +34 -0
- package/dist/channels/webhook.controller.d.ts +19 -0
- package/dist/channels/webhook.controller.js +72 -0
- package/dist/channels/webhook.d.ts +73 -0
- package/dist/channels/webhook.js +274 -0
- package/dist/config/docs.d.ts +9 -0
- package/dist/config/docs.js +85 -0
- package/dist/config/env.d.ts +6 -0
- package/dist/config/env.js +73 -0
- package/dist/config/fields.d.ts +42 -0
- package/dist/config/fields.js +214 -0
- package/dist/config/file-source.d.ts +3 -0
- package/dist/config/file-source.js +31 -0
- package/dist/config/load.d.ts +20 -0
- package/dist/config/load.js +98 -0
- package/dist/config/nacos-source.d.ts +31 -0
- package/dist/config/nacos-source.js +229 -0
- package/dist/config/schema.d.ts +237 -0
- package/dist/config/schema.js +1192 -0
- package/dist/config/sources.d.ts +18 -0
- package/dist/config/sources.js +59 -0
- package/dist/config/types.d.ts +9 -0
- package/dist/config/types.js +7 -0
- package/dist/conversations/artifacts.d.ts +52 -0
- package/dist/conversations/artifacts.js +137 -0
- package/dist/conversations/attachments.controller.d.ts +28 -0
- package/dist/conversations/attachments.controller.js +96 -0
- package/dist/conversations/attachments.service.d.ts +180 -0
- package/dist/conversations/attachments.service.js +578 -0
- package/dist/conversations/conversations.controller.d.ts +288 -0
- package/dist/conversations/conversations.controller.js +607 -0
- package/dist/conversations/conversations.service.d.ts +321 -0
- package/dist/conversations/conversations.service.js +754 -0
- package/dist/conversations/event-log.d.ts +122 -0
- package/dist/conversations/event-log.js +259 -0
- package/dist/conversations/events.d.ts +856 -0
- package/dist/conversations/events.js +639 -0
- package/dist/conversations/files.d.ts +92 -0
- package/dist/conversations/files.js +213 -0
- package/dist/conversations/outputs-read.d.ts +34 -0
- package/dist/conversations/outputs-read.js +37 -0
- package/dist/conversations/queue.d.ts +169 -0
- package/dist/conversations/queue.js +527 -0
- package/dist/conversations/sandbox-status.d.ts +21 -0
- package/dist/conversations/sandbox-status.js +24 -0
- package/dist/conversations/selection.d.ts +46 -0
- package/dist/conversations/selection.js +75 -0
- package/dist/conversations/titles.d.ts +93 -0
- package/dist/conversations/titles.js +423 -0
- package/dist/ctx/bus.d.ts +16 -0
- package/dist/ctx/bus.js +101 -0
- package/dist/ctx/create-ctx.d.ts +109 -0
- package/dist/ctx/create-ctx.js +592 -0
- package/dist/ctx/kv.d.ts +4 -0
- package/dist/ctx/kv.js +31 -0
- package/dist/ctx/lock.d.ts +4 -0
- package/dist/ctx/lock.js +39 -0
- package/dist/ctx/namespace.d.ts +6 -0
- package/dist/ctx/namespace.js +12 -0
- package/dist/ctx/queue.d.ts +25 -0
- package/dist/ctx/queue.js +151 -0
- package/dist/ctx/secrets.d.ts +45 -0
- package/dist/ctx/secrets.js +175 -0
- package/dist/db/kernel-schema.d.ts +1122 -0
- package/dist/db/kernel-schema.js +5 -0
- package/dist/db/migrator.d.ts +28 -0
- package/dist/db/migrator.js +140 -0
- package/dist/db/pool.d.ts +21 -0
- package/dist/db/pool.js +28 -0
- package/dist/db/sql-statements.d.ts +34 -0
- package/dist/db/sql-statements.js +168 -0
- package/dist/errors.d.ts +211 -0
- package/dist/errors.js +213 -0
- package/dist/evals/budget.d.ts +61 -0
- package/dist/evals/budget.js +181 -0
- package/dist/evals/diff.d.ts +55 -0
- package/dist/evals/diff.js +133 -0
- package/dist/evals/judge.d.ts +53 -0
- package/dist/evals/judge.js +149 -0
- package/dist/evals/plan.d.ts +47 -0
- package/dist/evals/plan.js +77 -0
- package/dist/evals/reconstruct.d.ts +137 -0
- package/dist/evals/reconstruct.js +322 -0
- package/dist/evals/recorded-tools.d.ts +54 -0
- package/dist/evals/recorded-tools.js +167 -0
- package/dist/evals/run-replay.d.ts +86 -0
- package/dist/evals/run-replay.js +502 -0
- package/dist/evals/runs.controller.d.ts +100 -0
- package/dist/evals/runs.controller.js +199 -0
- package/dist/evals/runs.service.d.ts +275 -0
- package/dist/evals/runs.service.js +836 -0
- package/dist/evals/sets.controller.d.ts +61 -0
- package/dist/evals/sets.controller.js +183 -0
- package/dist/evals/sets.service.d.ts +128 -0
- package/dist/evals/sets.service.js +558 -0
- package/dist/evals/snapshot.d.ts +76 -0
- package/dist/evals/snapshot.js +207 -0
- package/dist/evals/step-replay.d.ts +113 -0
- package/dist/evals/step-replay.js +181 -0
- package/dist/evals/trajectory.controller.d.ts +41 -0
- package/dist/evals/trajectory.controller.js +88 -0
- package/dist/evals/trajectory.d.ts +144 -0
- package/dist/evals/trajectory.js +338 -0
- package/dist/evals/trajectory.service.d.ts +108 -0
- package/dist/evals/trajectory.service.js +323 -0
- package/dist/evals/worker.d.ts +101 -0
- package/dist/evals/worker.js +790 -0
- package/dist/extensions/admin-ops.d.ts +105 -0
- package/dist/extensions/admin-ops.js +353 -0
- package/dist/extensions/admin-view.d.ts +79 -0
- package/dist/extensions/admin-view.js +327 -0
- package/dist/extensions/approvals.d.ts +119 -0
- package/dist/extensions/approvals.js +205 -0
- package/dist/extensions/blobs.d.ts +45 -0
- package/dist/extensions/blobs.js +160 -0
- package/dist/extensions/bootstrap.d.ts +176 -0
- package/dist/extensions/bootstrap.js +535 -0
- package/dist/extensions/cli.d.ts +61 -0
- package/dist/extensions/cli.js +165 -0
- package/dist/extensions/config-json-schema.d.ts +9 -0
- package/dist/extensions/config-json-schema.js +73 -0
- package/dist/extensions/deployment-config.d.ts +138 -0
- package/dist/extensions/deployment-config.js +394 -0
- package/dist/extensions/enabled.d.ts +31 -0
- package/dist/extensions/enabled.js +55 -0
- package/dist/extensions/hooks.d.ts +161 -0
- package/dist/extensions/hooks.js +425 -0
- package/dist/extensions/host.d.ts +577 -0
- package/dist/extensions/host.js +2071 -0
- package/dist/extensions/inflight.d.ts +69 -0
- package/dist/extensions/inflight.js +277 -0
- package/dist/extensions/installs.d.ts +166 -0
- package/dist/extensions/installs.js +253 -0
- package/dist/extensions/instance.d.ts +167 -0
- package/dist/extensions/instance.js +329 -0
- package/dist/extensions/ledger.d.ts +30 -0
- package/dist/extensions/ledger.js +50 -0
- package/dist/extensions/lifecycle.d.ts +80 -0
- package/dist/extensions/lifecycle.js +152 -0
- package/dist/extensions/migrate-lock.d.ts +51 -0
- package/dist/extensions/migrate-lock.js +100 -0
- package/dist/extensions/org-config.controller.d.ts +24 -0
- package/dist/extensions/org-config.controller.js +59 -0
- package/dist/extensions/org-config.d.ts +169 -0
- package/dist/extensions/org-config.js +520 -0
- package/dist/extensions/package.d.ts +115 -0
- package/dist/extensions/package.js +246 -0
- package/dist/extensions/permission-set.d.ts +117 -0
- package/dist/extensions/permission-set.js +184 -0
- package/dist/extensions/permission-view.d.ts +194 -0
- package/dist/extensions/permission-view.js +284 -0
- package/dist/extensions/registry.d.ts +24 -0
- package/dist/extensions/registry.js +56 -0
- package/dist/extensions/resolve.d.ts +12 -0
- package/dist/extensions/resolve.js +71 -0
- package/dist/extensions/sources.d.ts +69 -0
- package/dist/extensions/sources.js +120 -0
- package/dist/extensions/sync.d.ts +40 -0
- package/dist/extensions/sync.js +242 -0
- package/dist/files/previewers.controller.d.ts +46 -0
- package/dist/files/previewers.controller.js +105 -0
- package/dist/files/previewers.d.ts +100 -0
- package/dist/files/previewers.js +250 -0
- package/dist/http/api.module.d.ts +114 -0
- package/dist/http/api.module.js +448 -0
- package/dist/http/app.d.ts +77 -0
- package/dist/http/app.js +220 -0
- package/dist/http/error.filter.d.ts +21 -0
- package/dist/http/error.filter.js +85 -0
- package/dist/http/gateway.module.d.ts +15 -0
- package/dist/http/gateway.module.js +13 -0
- package/dist/http/health.controller.d.ts +26 -0
- package/dist/http/health.controller.js +79 -0
- package/dist/http/nest-logger.d.ts +20 -0
- package/dist/http/nest-logger.js +28 -0
- package/dist/http/plugin-dispatch.d.ts +68 -0
- package/dist/http/plugin-dispatch.js +200 -0
- package/dist/http/tokens.d.ts +131 -0
- package/dist/http/tokens.js +131 -0
- package/dist/http/zod.pipe.d.ts +8 -0
- package/dist/http/zod.pipe.js +14 -0
- package/dist/identity/accounts.d.ts +93 -0
- package/dist/identity/accounts.js +367 -0
- package/dist/identity/api-tokens.d.ts +73 -0
- package/dist/identity/api-tokens.js +197 -0
- package/dist/identity/audit.d.ts +23 -0
- package/dist/identity/audit.js +41 -0
- package/dist/identity/auth.controller.d.ts +40 -0
- package/dist/identity/auth.controller.js +130 -0
- package/dist/identity/auth.guard.d.ts +41 -0
- package/dist/identity/auth.guard.js +162 -0
- package/dist/identity/binding.d.ts +47 -0
- package/dist/identity/binding.js +84 -0
- package/dist/identity/cookies.d.ts +16 -0
- package/dist/identity/cookies.js +32 -0
- package/dist/identity/credential-check.d.ts +17 -0
- package/dist/identity/credential-check.js +24 -0
- package/dist/identity/enterprise-admin.d.ts +14 -0
- package/dist/identity/enterprise-admin.js +27 -0
- package/dist/identity/external.d.ts +106 -0
- package/dist/identity/external.js +337 -0
- package/dist/identity/hash.d.ts +2 -0
- package/dist/identity/hash.js +3 -0
- package/dist/identity/login.d.ts +6 -0
- package/dist/identity/login.js +20 -0
- package/dist/identity/me.controller.d.ts +61 -0
- package/dist/identity/me.controller.js +159 -0
- package/dist/identity/passwords.d.ts +6 -0
- package/dist/identity/passwords.js +37 -0
- package/dist/identity/principal.d.ts +56 -0
- package/dist/identity/principal.js +38 -0
- package/dist/identity/rate-limit.d.ts +55 -0
- package/dist/identity/rate-limit.js +121 -0
- package/dist/identity/sessions.d.ts +84 -0
- package/dist/identity/sessions.js +306 -0
- package/dist/identity/settings.d.ts +121 -0
- package/dist/identity/settings.js +248 -0
- package/dist/identity/sso.controller.d.ts +59 -0
- package/dist/identity/sso.controller.js +192 -0
- package/dist/identity/sso.d.ts +83 -0
- package/dist/identity/sso.js +202 -0
- package/dist/inbox/inbox.service.d.ts +43 -0
- package/dist/inbox/inbox.service.js +57 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.js +67 -0
- package/dist/kernel.d.ts +259 -0
- package/dist/kernel.js +1326 -0
- package/dist/log-config.d.ts +9 -0
- package/dist/log-config.js +27 -0
- package/dist/log-context.d.ts +32 -0
- package/dist/log-context.js +40 -0
- package/dist/log-loki.d.ts +34 -0
- package/dist/log-loki.js +145 -0
- package/dist/log.d.ts +79 -0
- package/dist/log.js +303 -0
- package/dist/models/prices.d.ts +53 -0
- package/dist/models/prices.js +121 -0
- package/dist/models/purposes.controller.d.ts +19 -0
- package/dist/models/purposes.controller.js +56 -0
- package/dist/models/purposes.d.ts +140 -0
- package/dist/models/purposes.js +267 -0
- package/dist/net/proxy.d.ts +44 -0
- package/dist/net/proxy.js +162 -0
- package/dist/net/public-address.d.ts +60 -0
- package/dist/net/public-address.js +272 -0
- package/dist/net/safe-fetch.d.ts +38 -0
- package/dist/net/safe-fetch.js +140 -0
- package/dist/orgs/directory-sync.controller.d.ts +14 -0
- package/dist/orgs/directory-sync.controller.js +40 -0
- package/dist/orgs/directory-sync.d.ts +166 -0
- package/dist/orgs/directory-sync.js +558 -0
- package/dist/orgs/invitations.controller.d.ts +58 -0
- package/dist/orgs/invitations.controller.js +137 -0
- package/dist/orgs/invitations.service.d.ts +80 -0
- package/dist/orgs/invitations.service.js +217 -0
- package/dist/orgs/members.service.d.ts +63 -0
- package/dist/orgs/members.service.js +234 -0
- package/dist/orgs/offboarding.d.ts +141 -0
- package/dist/orgs/offboarding.js +398 -0
- package/dist/orgs/org-lock.d.ts +32 -0
- package/dist/orgs/org-lock.js +46 -0
- package/dist/orgs/org.guard.d.ts +35 -0
- package/dist/orgs/org.guard.js +95 -0
- package/dist/orgs/orgs.controller.d.ts +78 -0
- package/dist/orgs/orgs.controller.js +192 -0
- package/dist/orgs/orgs.service.d.ts +61 -0
- package/dist/orgs/orgs.service.js +209 -0
- package/dist/orgs/roles.d.ts +13 -0
- package/dist/orgs/roles.js +58 -0
- package/dist/orgs/settings.controller.d.ts +20 -0
- package/dist/orgs/settings.controller.js +53 -0
- package/dist/orgs/settings.service.d.ts +120 -0
- package/dist/orgs/settings.service.js +178 -0
- package/dist/packages/npm.d.ts +50 -0
- package/dist/packages/npm.js +218 -0
- package/dist/packages/provenance.d.ts +47 -0
- package/dist/packages/provenance.js +147 -0
- package/dist/packages/tgz.d.ts +76 -0
- package/dist/packages/tgz.js +225 -0
- package/dist/runtime/abort.d.ts +32 -0
- package/dist/runtime/abort.js +71 -0
- package/dist/runtime/checkpointer.d.ts +32 -0
- package/dist/runtime/checkpointer.js +243 -0
- package/dist/runtime/context/build.d.ts +254 -0
- package/dist/runtime/context/build.js +693 -0
- package/dist/runtime/context/claude-tools.d.ts +11 -0
- package/dist/runtime/context/claude-tools.js +24 -0
- package/dist/runtime/context/compaction.d.ts +26 -0
- package/dist/runtime/context/compaction.js +195 -0
- package/dist/runtime/context/pairing.d.ts +11 -0
- package/dist/runtime/context/pairing.js +82 -0
- package/dist/runtime/context/reminders.d.ts +5 -0
- package/dist/runtime/context/reminders.js +11 -0
- package/dist/runtime/context/skills.d.ts +105 -0
- package/dist/runtime/context/skills.js +283 -0
- package/dist/runtime/context/tokens.d.ts +19 -0
- package/dist/runtime/context/tokens.js +104 -0
- package/dist/runtime/conversation-lock.d.ts +40 -0
- package/dist/runtime/conversation-lock.js +97 -0
- package/dist/runtime/hook-calls.d.ts +84 -0
- package/dist/runtime/hook-calls.js +136 -0
- package/dist/runtime/langgraph-loop.d.ts +52 -0
- package/dist/runtime/langgraph-loop.js +247 -0
- package/dist/runtime/loop.d.ts +93 -0
- package/dist/runtime/loop.js +7 -0
- package/dist/runtime/maintenance.d.ts +80 -0
- package/dist/runtime/maintenance.js +148 -0
- package/dist/runtime/media-cache.d.ts +21 -0
- package/dist/runtime/media-cache.js +51 -0
- package/dist/runtime/model-call.d.ts +176 -0
- package/dist/runtime/model-call.js +1049 -0
- package/dist/runtime/providers.d.ts +86 -0
- package/dist/runtime/providers.js +224 -0
- package/dist/runtime/quota.d.ts +29 -0
- package/dist/runtime/quota.js +70 -0
- package/dist/runtime/run-finish.d.ts +45 -0
- package/dist/runtime/run-finish.js +69 -0
- package/dist/runtime/run-queue.d.ts +121 -0
- package/dist/runtime/run-queue.js +493 -0
- package/dist/runtime/run-worker.d.ts +138 -0
- package/dist/runtime/run-worker.js +806 -0
- package/dist/runtime/stream.controller.d.ts +34 -0
- package/dist/runtime/stream.controller.js +122 -0
- package/dist/runtime/stream.d.ts +63 -0
- package/dist/runtime/stream.js +262 -0
- package/dist/runtime/subagents/child.d.ts +80 -0
- package/dist/runtime/subagents/child.js +225 -0
- package/dist/runtime/subagents/definition.d.ts +103 -0
- package/dist/runtime/subagents/definition.js +392 -0
- package/dist/runtime/subagents/dispatch.d.ts +69 -0
- package/dist/runtime/subagents/dispatch.js +502 -0
- package/dist/runtime/subagents/limits.d.ts +23 -0
- package/dist/runtime/subagents/limits.js +34 -0
- package/dist/runtime/subagents/org-agents.d.ts +50 -0
- package/dist/runtime/subagents/org-agents.js +70 -0
- package/dist/runtime/subagents/preamble.d.ts +7 -0
- package/dist/runtime/subagents/preamble.js +11 -0
- package/dist/runtime/subagents/progress.d.ts +26 -0
- package/dist/runtime/subagents/progress.js +36 -0
- package/dist/runtime/subagents/roster.d.ts +55 -0
- package/dist/runtime/subagents/roster.js +111 -0
- package/dist/runtime/subagents/skill-fork.d.ts +123 -0
- package/dist/runtime/subagents/skill-fork.js +259 -0
- package/dist/runtime/usage-report.d.ts +163 -0
- package/dist/runtime/usage-report.js +551 -0
- package/dist/runtime/waits.d.ts +233 -0
- package/dist/runtime/waits.js +883 -0
- package/dist/sandbox/leases.d.ts +169 -0
- package/dist/sandbox/leases.js +515 -0
- package/dist/sandbox/lifecycle.d.ts +21 -0
- package/dist/sandbox/lifecycle.js +68 -0
- package/dist/sandbox/sandbox.service.d.ts +249 -0
- package/dist/sandbox/sandbox.service.js +908 -0
- package/dist/skills/catalog.d.ts +149 -0
- package/dist/skills/catalog.js +405 -0
- package/dist/skills/changes.controller.d.ts +56 -0
- package/dist/skills/changes.controller.js +136 -0
- package/dist/skills/changes.service.d.ts +175 -0
- package/dist/skills/changes.service.js +805 -0
- package/dist/skills/invocable.controller.d.ts +23 -0
- package/dist/skills/invocable.controller.js +50 -0
- package/dist/skills/invocation-keys.d.ts +23 -0
- package/dist/skills/invocation-keys.js +44 -0
- package/dist/skills/invoke.d.ts +135 -0
- package/dist/skills/invoke.js +286 -0
- package/dist/skills/package.d.ts +87 -0
- package/dist/skills/package.js +227 -0
- package/dist/skills/skills.controller.d.ts +40 -0
- package/dist/skills/skills.controller.js +110 -0
- package/dist/skills/skills.service.d.ts +192 -0
- package/dist/skills/skills.service.js +567 -0
- package/dist/storage/prefix.d.ts +36 -0
- package/dist/storage/prefix.js +104 -0
- package/dist/storage/purge.d.ts +27 -0
- package/dist/storage/purge.js +75 -0
- package/dist/storage/storage.service.d.ts +44 -0
- package/dist/storage/storage.service.js +145 -0
- package/dist/text.d.ts +13 -0
- package/dist/text.js +13 -0
- package/dist/tools/approvals.controller.d.ts +53 -0
- package/dist/tools/approvals.controller.js +128 -0
- package/dist/tools/approvals.service.d.ts +172 -0
- package/dist/tools/approvals.service.js +568 -0
- package/dist/tools/breaker.d.ts +28 -0
- package/dist/tools/breaker.js +72 -0
- package/dist/tools/builtins/agent.d.ts +81 -0
- package/dist/tools/builtins/agent.js +223 -0
- package/dist/tools/builtins/ask-user.d.ts +28 -0
- package/dist/tools/builtins/ask-user.js +139 -0
- package/dist/tools/builtins/read-tool-output.d.ts +18 -0
- package/dist/tools/builtins/read-tool-output.js +108 -0
- package/dist/tools/builtins/sandbox/bash.d.ts +16 -0
- package/dist/tools/builtins/sandbox/bash.js +137 -0
- package/dist/tools/builtins/sandbox/common.d.ts +116 -0
- package/dist/tools/builtins/sandbox/common.js +306 -0
- package/dist/tools/builtins/sandbox/deliver.d.ts +5 -0
- package/dist/tools/builtins/sandbox/deliver.js +180 -0
- package/dist/tools/builtins/sandbox/edit.d.ts +4 -0
- package/dist/tools/builtins/sandbox/edit.js +98 -0
- package/dist/tools/builtins/sandbox/glob-match.d.ts +25 -0
- package/dist/tools/builtins/sandbox/glob-match.js +240 -0
- package/dist/tools/builtins/sandbox/glob.d.ts +4 -0
- package/dist/tools/builtins/sandbox/glob.js +104 -0
- package/dist/tools/builtins/sandbox/grep.d.ts +9 -0
- package/dist/tools/builtins/sandbox/grep.js +133 -0
- package/dist/tools/builtins/sandbox/index.d.ts +12 -0
- package/dist/tools/builtins/sandbox/index.js +27 -0
- package/dist/tools/builtins/sandbox/names.d.ts +7 -0
- package/dist/tools/builtins/sandbox/names.js +20 -0
- package/dist/tools/builtins/sandbox/read.d.ts +8 -0
- package/dist/tools/builtins/sandbox/read.js +121 -0
- package/dist/tools/builtins/sandbox/write.d.ts +4 -0
- package/dist/tools/builtins/sandbox/write.js +88 -0
- package/dist/tools/builtins/skill-load.d.ts +53 -0
- package/dist/tools/builtins/skill-load.js +446 -0
- package/dist/tools/builtins/skill-write.d.ts +59 -0
- package/dist/tools/builtins/skill-write.js +244 -0
- package/dist/tools/builtins/tool-search.d.ts +31 -0
- package/dist/tools/builtins/tool-search.js +171 -0
- package/dist/tools/connector-content.controller.d.ts +34 -0
- package/dist/tools/connector-content.controller.js +78 -0
- package/dist/tools/connector-content.d.ts +104 -0
- package/dist/tools/connector-content.js +267 -0
- package/dist/tools/connectors.controller.d.ts +210 -0
- package/dist/tools/connectors.controller.js +234 -0
- package/dist/tools/connectors.service.d.ts +303 -0
- package/dist/tools/connectors.service.js +1102 -0
- package/dist/tools/credentials.d.ts +139 -0
- package/dist/tools/credentials.js +351 -0
- package/dist/tools/drift.d.ts +141 -0
- package/dist/tools/drift.js +539 -0
- package/dist/tools/elicitation.d.ts +81 -0
- package/dist/tools/elicitation.js +266 -0
- package/dist/tools/endpoint.d.ts +18 -0
- package/dist/tools/endpoint.js +115 -0
- package/dist/tools/info.d.ts +67 -0
- package/dist/tools/info.js +113 -0
- package/dist/tools/naming.d.ts +27 -0
- package/dist/tools/naming.js +47 -0
- package/dist/tools/oauth/discovery.d.ts +65 -0
- package/dist/tools/oauth/discovery.js +307 -0
- package/dist/tools/oauth/flow.d.ts +63 -0
- package/dist/tools/oauth/flow.js +237 -0
- package/dist/tools/oauth/oauth.controller.d.ts +31 -0
- package/dist/tools/oauth/oauth.controller.js +95 -0
- package/dist/tools/oauth/tokens.d.ts +111 -0
- package/dist/tools/oauth/tokens.js +258 -0
- package/dist/tools/outputs.d.ts +61 -0
- package/dist/tools/outputs.js +156 -0
- package/dist/tools/pipeline.d.ts +322 -0
- package/dist/tools/pipeline.js +1236 -0
- package/dist/tools/policy.d.ts +60 -0
- package/dist/tools/policy.js +236 -0
- package/dist/tools/questions.controller.d.ts +24 -0
- package/dist/tools/questions.controller.js +58 -0
- package/dist/tools/questions.service.d.ts +103 -0
- package/dist/tools/questions.service.js +295 -0
- package/dist/tools/redact.d.ts +20 -0
- package/dist/tools/redact.js +60 -0
- package/dist/tools/registry.d.ts +246 -0
- package/dist/tools/registry.js +481 -0
- package/dist/tools/resources.d.ts +16 -0
- package/dist/tools/resources.js +76 -0
- package/dist/tools/specs.d.ts +14 -0
- package/dist/tools/specs.js +31 -0
- package/dist/tools/validate.d.ts +20 -0
- package/dist/tools/validate.js +183 -0
- package/dist/tools/view.d.ts +43 -0
- package/dist/tools/view.js +225 -0
- package/dist/ui/embed-token.d.ts +31 -0
- package/dist/ui/embed-token.js +132 -0
- package/dist/ui/registry.d.ts +58 -0
- package/dist/ui/registry.js +90 -0
- package/dist/ui/ui-stream.d.ts +37 -0
- package/dist/ui/ui-stream.js +162 -0
- package/dist/ui/views.controller.d.ts +81 -0
- package/dist/ui/views.controller.js +261 -0
- package/dist/ui/views.d.ts +155 -0
- package/dist/ui/views.js +306 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.js +6 -0
- package/package.json +69 -3
- package/src/migrations/0001_init.sql +8 -0
- package/src/migrations/0002_secrets.sql +8 -0
- package/src/migrations/0003_identity.sql +117 -0
- package/src/migrations/0004_plugin_org_config_nullable.sql +3 -0
- package/src/migrations/0005_agents.sql +27 -0
- package/src/migrations/0006_conversations.sql +37 -0
- package/src/migrations/0007_checkpoints.sql +26 -0
- package/src/migrations/0008_runs_trigger_seq.sql +3 -0
- package/src/migrations/0009_runs_active_unique.sql +4 -0
- package/src/migrations/0010_tools.sql +125 -0
- package/src/migrations/0011_approvals_spec.sql +10 -0
- package/src/migrations/0012_run_waits.sql +24 -0
- package/src/migrations/0013_app_tools_source.sql +4 -0
- package/src/migrations/0014_tool_specs.sql +8 -0
- package/src/migrations/0015_tool_drift.sql +20 -0
- package/src/migrations/0016_plugin_permissions.sql +11 -0
- package/src/migrations/0017_identity_sources.sql +6 -0
- package/src/migrations/0018_channels.sql +74 -0
- package/src/migrations/0019_identity_trust.sql +17 -0
- package/src/migrations/0020_channel_card_lookup.sql +10 -0
- package/src/migrations/0021_org_storage_purge.sql +9 -0
- package/src/migrations/0022_attachments.sql +29 -0
- package/src/migrations/0023_sandboxes.sql +37 -0
- package/src/migrations/0024_skills.sql +46 -0
- package/src/migrations/0025_skills_catalog_idx.sql +6 -0
- package/src/migrations/0026_skill_changes.sql +34 -0
- package/src/migrations/0027_model_prices.sql +18 -0
- package/src/migrations/0028_evals.sql +105 -0
- package/src/migrations/0029_model_purposes.sql +18 -0
- package/src/migrations/0030_plugin_installs.sql +73 -0
- package/src/migrations/0031_plugin_snapshot_source.sql +6 -0
- package/src/migrations/0032_plugin_deployment_configs.sql +10 -0
- package/src/migrations/0033_rename_apps_to_connectors.sql +25 -0
- package/src/migrations/0034_directory.sql +49 -0
- package/src/migrations/0035_catalogs.sql +40 -0
- package/src/migrations/0036_app_import_staging.sql +17 -0
- package/src/migrations/0037_directory_installs.sql +92 -0
- package/src/migrations/0038_channel_inbound_mode.sql +6 -0
- package/src/migrations/0039_channel_card_pending.sql +8 -0
- package/src/migrations/0040_usage_report_sweep.sql +10 -0
- package/src/migrations/0041_rename_plugins_to_extensions.sql +38 -0
- package/src/migrations/0042_rename_directory_to_catalog.sql +80 -0
- package/src/migrations/0043_rename_app_installs_to_plugin_installs.sql +20 -0
- package/src/migrations/0044_catalog_one_kind.sql +90 -0
- package/src/migrations/0045_plugin_dependencies.sql +9 -0
- package/src/migrations/0046_git_sources.sql +25 -0
- package/src/migrations/0047_marketplace_entry_heads.sql +7 -0
- package/src/migrations/0048_marketplace_entry_trees.sql +8 -0
- package/src/migrations/0049_plugin_upgrades.sql +37 -0
- package/src/migrations/0050_bootstrap.sql +53 -0
- package/src/migrations/0051_claude_compat.sql +26 -0
- package/src/migrations/0052_conversations_account_agent_idx.sql +5 -0
- package/src/migrations/0053_subagents.sql +73 -0
- package/src/migrations/0054_subagent_wait_expiry.sql +7 -0
- package/src/migrations/0055_subagent_parent_indexes.sql +10 -0
- package/src/migrations/0056_approval_reason.sql +3 -0
- package/src/migrations/0057_conversation_titles.sql +11 -0
- package/src/migrations/0058_conversation_selection.sql +4 -0
- package/src/migrations/0059_conversation_queue.sql +22 -0
- package/src/migrations/0060_file_previewers.sql +10 -0
- package/src/migrations/0061_queue_selection.sql +5 -0
- package/src/migrations/0062_queued_skill.sql +8 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import { type Logger, type MarketplaceEntry, type MarketplaceSource } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type KernelConfig } from "../config/schema.js";
|
|
3
|
+
import { type Keyring } from "../ctx/secrets.js";
|
|
4
|
+
import type { KernelDb } from "../db/kernel-schema.js";
|
|
5
|
+
import { type ClaudeEntryOverlay } from "./claude/manifest.js";
|
|
6
|
+
import { type MarketplaceSkipReason } from "./claude/marketplace.js";
|
|
7
|
+
/** 官方清单来源的 id。 */
|
|
8
|
+
export declare const OFFICIAL_MARKETPLACE_ID = "official";
|
|
9
|
+
/** 拉取一份清单的超时。 */
|
|
10
|
+
export declare const MARKETPLACE_FETCH_TIMEOUT_MS = 30000;
|
|
11
|
+
/**
|
|
12
|
+
* Overall deadline of the periodic refresh of every marketplace (each URL also has its own
|
|
13
|
+
* {@link MARKETPLACE_FETCH_TIMEOUT_MS}).
|
|
14
|
+
*/
|
|
15
|
+
export declare const MARKETPLACES_REFRESH_DEADLINE_MS = 600000;
|
|
16
|
+
/** `entries()` 一次最多返回的条目数。 */
|
|
17
|
+
export declare const MARKETPLACE_ENTRIES_MAX = 5000;
|
|
18
|
+
/**
|
|
19
|
+
* At most this many branch heads are resolved per refresh (entries that follow a git branch and
|
|
20
|
+
* are already imported; spec §5.3 "content changed at the same version").
|
|
21
|
+
*/
|
|
22
|
+
export declare const MARKETPLACE_HEADS_MAX = 50;
|
|
23
|
+
/** A marketplace's form: `http` (a marketplace.json URL) or `git` (a repository, spec §5.1). */
|
|
24
|
+
export type MarketplaceForm = "http" | "git";
|
|
25
|
+
/** 一个清单来源(后台列表)。令牌不回显,只给 `hasToken`。 */
|
|
26
|
+
export interface MarketplaceView {
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
url: string;
|
|
30
|
+
form: MarketplaceForm;
|
|
31
|
+
/** The ref a git marketplace follows (null: the remote HEAD; always null for http). */
|
|
32
|
+
ref: string | null;
|
|
33
|
+
/** The commit of a git marketplace's last successful refresh (null for http or before one). */
|
|
34
|
+
lastCommit: string | null;
|
|
35
|
+
mirrors: string[];
|
|
36
|
+
builtin: boolean;
|
|
37
|
+
/** 生效的启用状态(official 还要配置 `marketplaces.official.enabled` 为 true)。 */
|
|
38
|
+
enabled: boolean;
|
|
39
|
+
/** official 被配置关闭(离线模式);企业清单恒为 false。 */
|
|
40
|
+
disabledByConfig: boolean;
|
|
41
|
+
hasToken: boolean;
|
|
42
|
+
etag: string | null;
|
|
43
|
+
lastRefreshedAt: string | null;
|
|
44
|
+
lastStatus: "ok" | "error" | "never";
|
|
45
|
+
lastError: string | null;
|
|
46
|
+
entryCount: number;
|
|
47
|
+
/** Entries the last successful refresh could not store (a Claude marketplace's npm sources, …). */
|
|
48
|
+
skipped: {
|
|
49
|
+
name: string;
|
|
50
|
+
reason: MarketplaceSkipReason;
|
|
51
|
+
}[];
|
|
52
|
+
createdAt: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Why a marketplace entry cannot be imported: `host_not_allowed` when its git / archive source is
|
|
56
|
+
* on a host outside `marketplaces.allowedHosts`; `path_needs_git_marketplace` for a `path` source
|
|
57
|
+
* of a marketplace fetched over http (a path is read from the marketplace's own repository).
|
|
58
|
+
*/
|
|
59
|
+
export type MarketplaceEntryUnimportable = "host_not_allowed" | "path_needs_git_marketplace";
|
|
60
|
+
/** A marketplace entry (admin browsing). One entry is one version of a plugin. */
|
|
61
|
+
export interface MarketplaceEntryView {
|
|
62
|
+
sourceId: string;
|
|
63
|
+
sourceName: string;
|
|
64
|
+
name: string;
|
|
65
|
+
/** The entry's version (`version`, else the npm source's); null when it has none (the plugin's own). */
|
|
66
|
+
version: string | null;
|
|
67
|
+
summary: {
|
|
68
|
+
en: string;
|
|
69
|
+
zh?: string;
|
|
70
|
+
};
|
|
71
|
+
minKernel: string | null;
|
|
72
|
+
homepage: string | null;
|
|
73
|
+
permissions: {
|
|
74
|
+
keys: string[];
|
|
75
|
+
sensitive: string[];
|
|
76
|
+
} | null;
|
|
77
|
+
source: MarketplaceSource;
|
|
78
|
+
/** `claude-code` for an entry of a Claude Code marketplace (`.claude-plugin/marketplace.json`). */
|
|
79
|
+
format: "capybara" | "claude-code";
|
|
80
|
+
/** `minKernel` is satisfied by this deployment. */
|
|
81
|
+
compatible: boolean;
|
|
82
|
+
/** The kernel can import this entry's source now. */
|
|
83
|
+
importable: boolean;
|
|
84
|
+
reason?: MarketplaceEntryUnimportable;
|
|
85
|
+
/** Imported as a catalog item (a non-deleted item with the same name) and its versions. */
|
|
86
|
+
adopted: {
|
|
87
|
+
itemId: string;
|
|
88
|
+
versions: string[];
|
|
89
|
+
} | null;
|
|
90
|
+
/** Adopted, and this compatible entry is newer than the newest imported version (never automatic). */
|
|
91
|
+
newerAvailable: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* "Content changed at the same version" (spec §5.3): a version of this entry's release is
|
|
94
|
+
* imported (for an entry without a version: a version from the same git location), but none of
|
|
95
|
+
* them has the commit or integrity the entry points at now (a branch-following git entry: the
|
|
96
|
+
* branch head of the last refresh; a path entry: the marketplace's last commit). Importing it
|
|
97
|
+
* again records `<version>+git.<sha12>` / `+sha256.<12>`.
|
|
98
|
+
*/
|
|
99
|
+
contentChanged: boolean;
|
|
100
|
+
}
|
|
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
|
+
export interface ActorOpts {
|
|
110
|
+
actorTokenId?: string;
|
|
111
|
+
}
|
|
112
|
+
/** A plugin name from a repo URL or path segment (lower case, invalid characters as `-`). */
|
|
113
|
+
export declare function pluginNameFrom(segment: string): string;
|
|
114
|
+
/** Where an entry's plugin is now (columns of the entry row and its marketplace). */
|
|
115
|
+
export interface EntryAt {
|
|
116
|
+
/** The marketplace listing the entry. */
|
|
117
|
+
marketplaceId: string;
|
|
118
|
+
/** The branch head of a branch-following git entry (the last refresh's; null: unknown). */
|
|
119
|
+
headCommit: string | null;
|
|
120
|
+
/**
|
|
121
|
+
* The git tree oid of the entry's plugin directory (a path entry: at the marketplace's last
|
|
122
|
+
* commit; a git entry with a path: at its head); null: unknown.
|
|
123
|
+
*/
|
|
124
|
+
treeOid: string | null;
|
|
125
|
+
/** The marketplace URL and last commit (path entries read the marketplace's repository). */
|
|
126
|
+
url: string;
|
|
127
|
+
lastCommit: string | null;
|
|
128
|
+
}
|
|
129
|
+
/** A catalog version as an entry is compared with (columns of `catalog_item_versions`). */
|
|
130
|
+
export interface ImportedAs {
|
|
131
|
+
version: string;
|
|
132
|
+
source: string;
|
|
133
|
+
source_ref: string;
|
|
134
|
+
integrity: string | null;
|
|
135
|
+
source_detail: unknown;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Whether the content of an entry changed at a version already imported from the same source (see
|
|
139
|
+
* {@link MarketplaceEntryView.contentChanged}). Only versions imported from what the entry points
|
|
140
|
+
* at count: a git / path entry -> the same git location (host, repo, path); an archive -> an
|
|
141
|
+
* archive from the same URL or listed by this marketplace; npm -> the same package version, from this marketplace or straight from npm, with an
|
|
142
|
+
* integrity. Of those, the entry's release (all of them for an entry without a version). Changed
|
|
143
|
+
* when none of them matches what the entry points at now: npm / archive by integrity; git / path
|
|
144
|
+
* by tree oid when both sides know it (a monorepo commit elsewhere changes nothing), else by
|
|
145
|
+
* commit. Unknown (no head or last commit) -> false.
|
|
146
|
+
*/
|
|
147
|
+
export declare function entryContentChanged(e: MarketplaceEntry, at: EntryAt, versions: readonly ImportedAs[]): boolean;
|
|
148
|
+
/** A branch-following git entry whose head a refresh resolves. */
|
|
149
|
+
type FollowingEntry = MarketplaceEntry & {
|
|
150
|
+
source: {
|
|
151
|
+
git: {
|
|
152
|
+
url: string;
|
|
153
|
+
ref?: string;
|
|
154
|
+
path?: string;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Which entries a refresh resolves the branch head of: git entries without a pinned commit, on a
|
|
160
|
+
* host `marketplaces.allowedHosts` lets through, with a version imported from the same git
|
|
161
|
+
* location (of the entry's release; any, for an entry without a version), at most `max`, by name.
|
|
162
|
+
*/
|
|
163
|
+
export declare function headsToResolve(entries: readonly MarketplaceEntry[], imported: readonly (ImportedAs & {
|
|
164
|
+
name: string;
|
|
165
|
+
})[], config: KernelConfig, max: number): FollowingEntry[];
|
|
166
|
+
/** The host versions (an entry's `minKernel` is judged against them). */
|
|
167
|
+
export declare const HOST_VERSIONS: {
|
|
168
|
+
readonly kernel: string;
|
|
169
|
+
readonly sdk: "0.1.0-rc.0";
|
|
170
|
+
};
|
|
171
|
+
/** Whether this deployment satisfies the entry's `minKernel`. */
|
|
172
|
+
export declare const entryCompatible: (e: Pick<MarketplaceEntry, "minKernel">) => boolean;
|
|
173
|
+
/**
|
|
174
|
+
* The form of a marketplace address (spec §5.1): `owner/repo` (expanded to GitHub), an https URL
|
|
175
|
+
* whose path ends in `.git`, or any URL with `form: "git"` is a git repository; anything else
|
|
176
|
+
* (a `.json` URL included) is an http marketplace.json URL. `form` given wins.
|
|
177
|
+
*/
|
|
178
|
+
export declare function marketplaceForm(url: string, form?: MarketplaceForm): {
|
|
179
|
+
form: MarketplaceForm;
|
|
180
|
+
url: string;
|
|
181
|
+
};
|
|
182
|
+
/** The host a git / archive entry downloads from (lower case), undefined for npm / path. */
|
|
183
|
+
export declare function entrySourceHost(e: Pick<MarketplaceEntry, "source">): string | undefined;
|
|
184
|
+
/** Whether `marketplaces.allowedHosts` lets an entry download from `host` (empty: any host). */
|
|
185
|
+
export declare function hostAllowed(host: string, config: KernelConfig): boolean;
|
|
186
|
+
/** What an import needs to know about the marketplace of an entry. */
|
|
187
|
+
export interface MarketplaceOfEntry {
|
|
188
|
+
url: string;
|
|
189
|
+
form: MarketplaceForm;
|
|
190
|
+
ref: string | null;
|
|
191
|
+
lastCommit: string | null;
|
|
192
|
+
ownerName: string | null;
|
|
193
|
+
builtin: boolean;
|
|
194
|
+
}
|
|
195
|
+
/** 来源是否生效:本身启用,official 还要配置没关。 */
|
|
196
|
+
export declare const sourceEffective: (row: {
|
|
197
|
+
builtin: boolean;
|
|
198
|
+
enabled: boolean;
|
|
199
|
+
}, config: KernelConfig) => boolean;
|
|
200
|
+
/**
|
|
201
|
+
* Reads a marketplace entry for import: `version` given -> the entry listing that version; omitted
|
|
202
|
+
* -> the newest compatible versioned entry, else the entry without a version, else the newest
|
|
203
|
+
* versioned one (refused later as incompatible). Marketplace missing -> `marketplace.not_found`;
|
|
204
|
+
* marketplace disabled (official offline included), entry or version missing ->
|
|
205
|
+
* `marketplace.entry_not_found`.
|
|
206
|
+
*/
|
|
207
|
+
export declare function loadMarketplaceEntry(db: KernelDb, config: KernelConfig, sourceId: string, name: string, version?: string): Promise<{
|
|
208
|
+
entry: MarketplaceEntry;
|
|
209
|
+
marketplace: MarketplaceOfEntry;
|
|
210
|
+
/** The overlay of an entry of a Claude Code marketplace. */
|
|
211
|
+
claude?: ClaudeEntryOverlay;
|
|
212
|
+
}>;
|
|
213
|
+
/**
|
|
214
|
+
* Marketplaces (D16 / C25 / C26, `/api/v1/admin/marketplaces/*`, enterprise admins only): the official
|
|
215
|
+
* marketplace (config `marketplaces.official.*`, synced at startup into the marketplace with id
|
|
216
|
+
* `official`) and enterprise marketplaces (PG, optional token in secrets). A refresh (maintenance
|
|
217
|
+
* job `catalogs-refresh` every `marketplaces.refreshIntervalMinutes` minutes, or manual) tries the main
|
|
218
|
+
* URL and then the mirrors with If-None-Match; on success it replaces that marketplace's cached
|
|
219
|
+
* entries as a whole, when all fail (an invalid manifest included) it keeps the previous ones with
|
|
220
|
+
* status `error`. A status change audits `marketplace.refreshed` and logs once. Stateless, shared
|
|
221
|
+
* by every replica.
|
|
222
|
+
*/
|
|
223
|
+
export declare class MarketplacesService {
|
|
224
|
+
private readonly d;
|
|
225
|
+
constructor(d: MarketplacesServiceDeps);
|
|
226
|
+
/**
|
|
227
|
+
* Creates / updates the official marketplace from config (name, URL, its form per
|
|
228
|
+
* {@link marketplaceForm}, mirrors; the admin's enable switch is left alone). Called by every
|
|
229
|
+
* replica at start; idempotent. A changed URL or form drops the ETag and the last git commit, so
|
|
230
|
+
* the next refresh reads everything (the entries stay until then). A git URL with mirrors is a
|
|
231
|
+
* config error (the config schema refuses it first; checked again here for configs built
|
|
232
|
+
* without the schema).
|
|
233
|
+
*/
|
|
234
|
+
syncOfficialFromConfig(): Promise<void>;
|
|
235
|
+
/** 全部来源(official 在前,其余按创建时间)。 */
|
|
236
|
+
list(): Promise<MarketplaceView[]>;
|
|
237
|
+
get(id: string): Promise<MarketplaceView>;
|
|
238
|
+
/**
|
|
239
|
+
* Adds an enterprise marketplace (audit `marketplace.added`). URL and mirrors must be https,
|
|
240
|
+
* without user info. The form follows {@link marketplaceForm}; a git marketplace may name a `ref`
|
|
241
|
+
* (branch or tag, default the remote HEAD) and has no mirrors.
|
|
242
|
+
*/
|
|
243
|
+
add(actor: string, input: {
|
|
244
|
+
name: string;
|
|
245
|
+
url: string;
|
|
246
|
+
form?: MarketplaceForm;
|
|
247
|
+
ref?: string;
|
|
248
|
+
mirrors?: string[];
|
|
249
|
+
token?: string;
|
|
250
|
+
}, opts?: ActorOpts): Promise<MarketplaceView>;
|
|
251
|
+
/**
|
|
252
|
+
* Updates an enterprise marketplace (audit `marketplace.updated`, listing the changed fields, the
|
|
253
|
+
* token's value never recorded; not written when unchanged). `token: null` clears the token.
|
|
254
|
+
* Official only takes `enabled`, any other field -> `marketplace.builtin`. Changing the URL, form
|
|
255
|
+
* or ref clears the ETag and the last commit (the next refresh reads everything again); a new URL
|
|
256
|
+
* gets its form from {@link marketplaceForm} unless `form` is given. `ref: null` follows the
|
|
257
|
+
* remote HEAD. Switching the form clears the other form's field (the ref when becoming http,
|
|
258
|
+
* the mirrors when becoming git) unless the patch sets it.
|
|
259
|
+
*/
|
|
260
|
+
update(actor: string, id: string, patch: {
|
|
261
|
+
name?: string;
|
|
262
|
+
url?: string;
|
|
263
|
+
form?: MarketplaceForm;
|
|
264
|
+
ref?: string | null;
|
|
265
|
+
mirrors?: string[];
|
|
266
|
+
enabled?: boolean;
|
|
267
|
+
token?: string | null;
|
|
268
|
+
}, opts?: ActorOpts): Promise<MarketplaceView>;
|
|
269
|
+
/**
|
|
270
|
+
* Deletes an enterprise marketplace (audit `marketplace.removed`): its cached entries and token
|
|
271
|
+
* are deleted; imported catalog items are kept (their marketplace becomes null). Official can
|
|
272
|
+
* only be disabled -> `marketplace.builtin`.
|
|
273
|
+
*/
|
|
274
|
+
remove(actor: string, id: string, opts?: ActorOpts): Promise<void>;
|
|
275
|
+
/**
|
|
276
|
+
* Refreshes one marketplace: the main URL, then the mirrors (with If-None-Match, at most
|
|
277
|
+
* `marketplaces.maxIndexBytes`); 304 keeps the entries, a valid 200 replaces them as a whole; when all
|
|
278
|
+
* fail the old entries are kept with status `error`. A disabled marketplace -> 409 `conflict`.
|
|
279
|
+
* A status change audits `marketplace.refreshed {from, to}` (a periodic refresh has no actor) and
|
|
280
|
+
* logs once. If the URL / mirrors changed during the fetch: the result is discarded and nothing is
|
|
281
|
+
* written (M-1).
|
|
282
|
+
* `throwOnError` (manual refresh): after recording the status, a failure throws 502 —
|
|
283
|
+
* `marketplace.invalid` when some URL returned an invalid manifest, else `marketplace.fetch_failed`
|
|
284
|
+
* (the message gives each URL's failure).
|
|
285
|
+
*/
|
|
286
|
+
refresh(id: string, signal: AbortSignal, actor?: string, opts?: ActorOpts & {
|
|
287
|
+
throwOnError?: boolean;
|
|
288
|
+
}): Promise<MarketplaceView>;
|
|
289
|
+
/**
|
|
290
|
+
* Reads a git marketplace (spec §5.1): resolves `ref` (default the remote HEAD); the same commit
|
|
291
|
+
* as the last refresh -> `not_modified` (nothing else is fetched). Otherwise only what the root
|
|
292
|
+
* needs is read, in this order: `.capybara-plugin/marketplace.json` (at most
|
|
293
|
+
* `marketplaces.maxIndexBytes`, validated like an http manifest); `.claude-plugin/marketplace.json`
|
|
294
|
+
* (a Claude Code marketplace: each entry's component fields and `strict` become its overlay, and
|
|
295
|
+
* entries Capybara cannot store are `skipped`); else a single-plugin repo (the root has
|
|
296
|
+
* `.capybara-plugin/plugin.json`, `.claude-plugin/plugin.json` or `skills/`) becomes one entry
|
|
297
|
+
* with source path `.`, named by plugin.json or, for a skills-only repo, by the repo name
|
|
298
|
+
* (Decision 3). Throws {@link GitSourceError} or {@link MarketplaceInvalidError}.
|
|
299
|
+
*/
|
|
300
|
+
private fetchGit;
|
|
301
|
+
/**
|
|
302
|
+
* Resolves the branch heads of the entries {@link headsToResolve} picks (at most
|
|
303
|
+
* {@link MARKETPLACE_HEADS_MAX} per refresh), each through the network rules with the fetch
|
|
304
|
+
* timeout; the token goes only to the marketplace URL's origin. For an entry with a path whose
|
|
305
|
+
* head is not a commit already imported from it, the head is fetched too, for the tree oid of
|
|
306
|
+
* that directory (equal oids: unchanged although the repo moved). A failed lookup leaves the
|
|
307
|
+
* entry unknown (never fails the refresh). Returns `name\0version` -> head.
|
|
308
|
+
*/
|
|
309
|
+
private resolveHeads;
|
|
310
|
+
/** The token of an enterprise marketplace (undefined without one; official never has one). */
|
|
311
|
+
token(id: string): Promise<string | undefined>;
|
|
312
|
+
/** Refreshes every effective marketplace (maintenance job `catalogs-refresh`), one failing not stopping the rest. */
|
|
313
|
+
refreshAll(signal: AbortSignal): Promise<void>;
|
|
314
|
+
/**
|
|
315
|
+
* Browses entries (enabled marketplaces only): filtered by marketplace, `q` matches a substring of
|
|
316
|
+
* the name / npm package name / summary (case-insensitive). Ordered by name, version (newest
|
|
317
|
+
* first), marketplace, at most {@link MARKETPLACE_ENTRIES_MAX}; `truncated` means there are more
|
|
318
|
+
* (the UI suggests narrowing the filter).
|
|
319
|
+
*/
|
|
320
|
+
entries(q?: {
|
|
321
|
+
marketplaceId?: string;
|
|
322
|
+
q?: string;
|
|
323
|
+
}): Promise<{
|
|
324
|
+
items: MarketplaceEntryView[];
|
|
325
|
+
truncated: boolean;
|
|
326
|
+
}>;
|
|
327
|
+
/**
|
|
328
|
+
* Replaces the entries of a marketplace; `trees` (a git marketplace) gives each path entry the
|
|
329
|
+
* tree oid of its directory.
|
|
330
|
+
*/
|
|
331
|
+
private replaceEntries;
|
|
332
|
+
private views;
|
|
333
|
+
private secrets;
|
|
334
|
+
private checkName;
|
|
335
|
+
private checkUrls;
|
|
336
|
+
/** A git marketplace has no mirrors; only a git marketplace has a ref. */
|
|
337
|
+
private checkGitFields;
|
|
338
|
+
private checkToken;
|
|
339
|
+
}
|
|
340
|
+
export {};
|