@capybara-hq/kernel 0.1.0-rc.0 → 0.1.0-rc.10
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/bootstrap.json +92 -8
- package/dist/admin/admin.controller.d.ts +52 -71
- package/dist/admin/admin.controller.js +117 -63
- package/dist/admin/admin.module.d.ts +3 -0
- package/dist/admin/admin.module.js +22 -0
- package/dist/admin/admin.schemas.d.ts +57 -0
- package/dist/admin/admin.schemas.js +50 -0
- package/dist/admin/extensions.controller.d.ts +47 -16
- package/dist/admin/extensions.controller.js +94 -23
- package/dist/admin/extensions.schemas.d.ts +7 -0
- package/dist/admin/extensions.schemas.js +10 -0
- package/dist/admin/limit-defaults.d.ts +20 -0
- package/dist/admin/limit-defaults.js +10 -0
- package/dist/admin/setup-lock.d.ts +16 -0
- package/dist/admin/setup-lock.js +47 -0
- package/dist/admin/setup.controller.d.ts +9 -9
- package/dist/admin/setup.controller.js +28 -26
- package/dist/admin/setup.service.d.ts +20 -28
- package/dist/admin/setup.service.js +65 -65
- package/dist/agents/agent-lookup.d.ts +72 -0
- package/dist/agents/agent-lookup.js +208 -0
- package/dist/agents/agent-profile.service.d.ts +31 -0
- package/dist/agents/agent-profile.service.js +122 -0
- package/dist/agents/agents.controller.d.ts +54 -169
- package/dist/agents/agents.controller.js +172 -37
- package/dist/agents/agents.module.d.ts +10 -0
- package/dist/agents/agents.module.js +71 -0
- package/dist/agents/agents.schemas.d.ts +389 -0
- package/dist/agents/agents.schemas.js +126 -0
- package/dist/agents/agents.service.d.ts +104 -76
- package/dist/agents/agents.service.js +509 -383
- package/dist/agents/definition.d.ts +133 -21
- package/dist/agents/definition.js +361 -41
- package/dist/agents/from-template.d.ts +106 -0
- package/dist/agents/from-template.js +680 -0
- package/dist/agents/from-template.service.d.ts +72 -0
- package/dist/agents/from-template.service.js +178 -0
- package/dist/agents/instruction-files.d.ts +60 -0
- package/dist/agents/instruction-files.js +111 -0
- package/dist/agents/models.controller.d.ts +44 -6
- package/dist/agents/models.controller.js +84 -8
- package/dist/agents/org-templates.d.ts +186 -0
- package/dist/agents/org-templates.js +868 -0
- package/dist/agents/pending-connector-requests.d.ts +79 -0
- package/dist/agents/pending-connector-requests.js +215 -0
- package/dist/agents/pending-connectors.controller.d.ts +39 -0
- package/dist/agents/pending-connectors.controller.js +91 -0
- package/dist/agents/pending-connectors.service.d.ts +62 -0
- package/dist/agents/pending-connectors.service.js +282 -0
- package/dist/agents/profile.d.ts +114 -0
- package/dist/agents/profile.js +55 -0
- package/dist/agents/readiness.controller.d.ts +26 -0
- package/dist/agents/readiness.controller.js +56 -0
- package/dist/agents/templates.controller.d.ts +78 -6
- package/dist/agents/templates.controller.js +154 -8
- package/dist/agents/templates.d.ts +132 -30
- package/dist/agents/templates.js +500 -46
- package/dist/agents/templates.schemas.d.ts +20 -0
- package/dist/agents/templates.schemas.js +45 -0
- package/dist/app.d.ts +93 -0
- package/dist/app.js +150 -0
- package/dist/background/background.controller.d.ts +38 -0
- package/dist/background/background.controller.js +88 -0
- package/dist/background/background.module.d.ts +10 -0
- package/dist/background/background.module.js +39 -0
- package/dist/background/background.schemas.d.ts +10 -0
- package/dist/background/background.schemas.js +16 -0
- package/dist/background/finish.d.ts +44 -0
- package/dist/background/finish.js +95 -0
- package/dist/background/launch-lock.d.ts +15 -0
- package/dist/background/launch-lock.js +40 -0
- package/dist/background/launch.d.ts +42 -0
- package/dist/background/launch.js +77 -0
- package/dist/background/poll.job.d.ts +56 -0
- package/dist/background/poll.job.js +195 -0
- package/dist/background/render.d.ts +23 -0
- package/dist/background/render.js +48 -0
- package/dist/background/session.d.ts +48 -0
- package/dist/background/session.js +80 -0
- package/dist/background/status.d.ts +35 -0
- package/dist/background/status.js +57 -0
- package/dist/background/stop.d.ts +68 -0
- package/dist/background/stop.js +244 -0
- package/dist/background/store.d.ts +167 -0
- package/dist/background/store.js +361 -0
- package/dist/background/store.module.d.ts +6 -0
- package/dist/background/store.module.js +22 -0
- package/dist/background/tasks.service.d.ts +77 -0
- package/dist/background/tasks.service.js +216 -0
- package/dist/background/wake-rules.d.ts +66 -0
- package/dist/background/wake-rules.js +113 -0
- package/dist/background/wake.d.ts +30 -0
- package/dist/background/wake.js +63 -0
- package/dist/catalog/admin-catalog.controller.d.ts +102 -52
- package/dist/catalog/admin-catalog.controller.js +222 -67
- package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
- package/dist/catalog/admin-catalog.schemas.js +92 -0
- package/dist/catalog/catalog-content.d.ts +232 -0
- package/dist/catalog/catalog-content.js +367 -0
- package/dist/catalog/catalog-files.d.ts +41 -0
- package/dist/catalog/catalog-files.js +86 -0
- package/dist/catalog/catalog-import.module.d.ts +7 -0
- package/dist/catalog/catalog-import.module.js +60 -0
- package/dist/catalog/catalog-items.d.ts +290 -0
- package/dist/catalog/catalog-items.js +676 -0
- package/dist/catalog/catalog-scope.service.d.ts +260 -0
- package/dist/catalog/catalog-scope.service.js +1124 -0
- package/dist/catalog/catalog.module.d.ts +12 -0
- package/dist/catalog/catalog.module.js +81 -0
- package/dist/catalog/catalog.service.d.ts +141 -206
- package/dist/catalog/catalog.service.js +237 -528
- package/dist/catalog/claude/agents.js +15 -10
- package/dist/catalog/cli.d.ts +14 -3
- package/dist/catalog/cli.js +39 -32
- package/dist/catalog/component-promotion.d.ts +96 -0
- package/dist/catalog/component-promotion.js +395 -0
- package/dist/catalog/component-scope.controller.d.ts +90 -0
- package/dist/catalog/component-scope.controller.js +234 -0
- package/dist/catalog/component-scope.schemas.d.ts +114 -0
- package/dist/catalog/component-scope.schemas.js +97 -0
- package/dist/catalog/component-scope.service.d.ts +327 -0
- package/dist/catalog/component-scope.service.js +990 -0
- package/dist/catalog/component-state.d.ts +188 -0
- package/dist/catalog/component-state.js +455 -0
- package/dist/catalog/git-source.d.ts +9 -1
- package/dist/catalog/git-source.js +29 -2
- package/dist/catalog/job-ids.d.ts +45 -0
- package/dist/catalog/job-ids.js +40 -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/marketplace-fetch.d.ts +1 -1
- package/dist/catalog/marketplace-icons.d.ts +64 -0
- package/dist/catalog/marketplace-icons.js +131 -0
- package/dist/catalog/marketplaces.controller.d.ts +53 -44
- package/dist/catalog/marketplaces.controller.js +146 -51
- package/dist/catalog/marketplaces.schemas.d.ts +48 -0
- package/dist/catalog/marketplaces.schemas.js +53 -0
- package/dist/catalog/marketplaces.service.d.ts +136 -26
- package/dist/catalog/marketplaces.service.js +663 -281
- package/dist/catalog/org-catalog.controller.d.ts +115 -63
- package/dist/catalog/org-catalog.controller.js +207 -100
- package/dist/catalog/org-catalog.schemas.d.ts +88 -0
- package/dist/catalog/org-catalog.schemas.js +93 -0
- package/dist/catalog/org-catalog.service.d.ts +89 -216
- package/dist/catalog/org-catalog.service.js +431 -472
- package/dist/catalog/org-extension-switch.d.ts +41 -0
- package/dist/catalog/org-extension-switch.js +115 -0
- package/dist/catalog/org-extension.controller.d.ts +113 -0
- package/dist/catalog/org-extension.controller.js +271 -0
- package/dist/catalog/org-extension.schemas.d.ts +15 -0
- package/dist/catalog/org-extension.schemas.js +22 -0
- package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
- package/dist/catalog/org-plugin-uploads.controller.js +200 -0
- package/dist/catalog/org-plugin-uploads.d.ts +71 -0
- package/dist/catalog/org-plugin-uploads.js +122 -0
- package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
- package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
- package/dist/catalog/owned-items.d.ts +188 -0
- package/dist/catalog/owned-items.js +801 -0
- package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
- package/dist/catalog/owned-plugin-cleanup.js +194 -0
- package/dist/catalog/ownership.d.ts +172 -0
- package/dist/catalog/ownership.js +326 -0
- package/dist/catalog/platform-components.d.ts +223 -0
- package/dist/catalog/platform-components.js +763 -0
- package/dist/catalog/platform-migration.d.ts +115 -0
- package/dist/catalog/platform-migration.js +582 -0
- package/dist/catalog/plugin-import.d.ts +270 -68
- package/dist/catalog/plugin-import.js +1004 -277
- package/dist/catalog/plugin-install.d.ts +251 -65
- package/dist/catalog/plugin-install.js +1128 -344
- package/dist/catalog/plugin-package.js +14 -1
- package/dist/catalog/plugin-upgrade.d.ts +301 -188
- package/dist/catalog/plugin-upgrade.js +1256 -1068
- package/dist/catalog/request-rules.d.ts +65 -0
- package/dist/catalog/request-rules.js +217 -0
- package/dist/catalog/requests.service.d.ts +205 -117
- package/dist/catalog/requests.service.js +612 -369
- package/dist/catalog/reserved-names.d.ts +8 -0
- package/dist/catalog/reserved-names.js +42 -0
- package/dist/catalog/scope-orgs.d.ts +21 -0
- package/dist/catalog/scope-orgs.js +67 -0
- package/dist/catalog/scope-state.d.ts +35 -0
- package/dist/catalog/scope-state.js +87 -0
- package/dist/catalog/scope-sync-workers.d.ts +7 -0
- package/dist/catalog/scope-sync-workers.js +29 -0
- package/dist/catalog/scope-sync.d.ts +176 -0
- package/dist/catalog/scope-sync.js +576 -0
- package/dist/catalog/scope.d.ts +42 -0
- package/dist/catalog/scope.js +42 -0
- package/dist/catalog/unshare.d.ts +22 -0
- package/dist/catalog/unshare.js +118 -0
- package/dist/channels/actions.d.ts +6 -4
- package/dist/channels/actions.js +11 -4
- package/dist/channels/cards.d.ts +33 -11
- package/dist/channels/cards.js +96 -24
- package/dist/channels/channels.module.d.ts +40 -0
- package/dist/channels/channels.module.js +130 -0
- package/dist/channels/channels.schemas.d.ts +37 -0
- package/dist/channels/channels.schemas.js +38 -0
- package/dist/channels/connections.controller.d.ts +44 -37
- package/dist/channels/connections.controller.js +83 -38
- package/dist/channels/connections.service.d.ts +101 -30
- package/dist/channels/connections.service.js +380 -147
- package/dist/channels/inbound.d.ts +44 -38
- package/dist/channels/inbound.js +190 -44
- 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 +71 -80
- package/dist/channels/outbound.js +219 -201
- package/dist/channels/phrases.d.ts +33 -2
- package/dist/channels/phrases.js +29 -1
- package/dist/channels/supervisor.d.ts +88 -46
- package/dist/channels/supervisor.js +230 -132
- package/dist/channels/threads.d.ts +34 -8
- package/dist/channels/threads.js +79 -13
- package/dist/channels/webhook.d.ts +20 -14
- package/dist/channels/webhook.js +51 -20
- package/dist/config/docs.js +5 -1
- 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 +51 -3
- package/dist/config/schema.js +269 -27
- package/dist/conversations/access.d.ts +31 -0
- package/dist/conversations/access.js +110 -0
- package/dist/conversations/agent-tree.d.ts +46 -0
- package/dist/conversations/agent-tree.js +92 -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 +60 -22
- package/dist/conversations/attachments.service.js +249 -51
- package/dist/conversations/conversations.controller.d.ts +86 -50
- package/dist/conversations/conversations.controller.js +184 -103
- package/dist/conversations/conversations.module.d.ts +8 -0
- package/dist/conversations/conversations.module.js +72 -0
- package/dist/conversations/conversations.schemas.d.ts +52 -0
- package/dist/conversations/conversations.schemas.js +79 -0
- package/dist/conversations/conversations.service.d.ts +166 -49
- package/dist/conversations/conversations.service.js +383 -179
- package/dist/conversations/environment-status.d.ts +24 -0
- package/dist/conversations/environment-status.js +71 -0
- package/dist/conversations/event-log.d.ts +64 -27
- package/dist/conversations/event-log.js +167 -31
- package/dist/conversations/events.d.ts +252 -9
- package/dist/conversations/events.js +243 -32
- 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/message-context.d.ts +79 -0
- package/dist/conversations/message-context.js +145 -0
- package/dist/conversations/outputs-read.d.ts +11 -11
- package/dist/conversations/outputs-read.js +31 -7
- package/dist/conversations/queue.d.ts +53 -58
- package/dist/conversations/queue.js +37 -293
- package/dist/conversations/queue.service.d.ts +60 -0
- package/dist/conversations/queue.service.js +350 -0
- package/dist/conversations/titles.d.ts +83 -27
- package/dist/conversations/titles.js +195 -70
- package/dist/conversations/tree.d.ts +17 -0
- package/dist/conversations/tree.js +42 -0
- package/dist/ctx/bus.js +9 -3
- package/dist/ctx/create-ctx.d.ts +26 -1
- package/dist/ctx/create-ctx.js +45 -16
- package/dist/ctx/lock.d.ts +7 -3
- package/dist/ctx/lock.js +9 -20
- package/dist/ctx/queue.js +3 -2
- package/dist/ctx/secrets.d.ts +10 -2
- package/dist/ctx/secrets.js +7 -3
- package/dist/db/kernel-schema.d.ts +550 -25
- package/dist/db/pool.d.ts +10 -0
- package/dist/db/pool.js +4 -0
- package/dist/devices/device-auth.controller.d.ts +42 -0
- package/dist/devices/device-auth.controller.js +116 -0
- package/dist/devices/device-auth.d.ts +119 -0
- package/dist/devices/device-auth.js +403 -0
- package/dist/devices/device-auth.module.d.ts +7 -0
- package/dist/devices/device-auth.module.js +25 -0
- package/dist/devices/device-gateway.d.ts +128 -0
- package/dist/devices/device-gateway.js +530 -0
- package/dist/devices/device-provider.d.ts +89 -0
- package/dist/devices/device-provider.js +151 -0
- package/dist/devices/device-routes.d.ts +36 -0
- package/dist/devices/device-routes.js +90 -0
- package/dist/devices/devices.module.d.ts +16 -0
- package/dist/devices/devices.module.js +44 -0
- package/dist/devices/dto.d.ts +66 -0
- package/dist/devices/dto.js +44 -0
- package/dist/devices/keys.d.ts +25 -0
- package/dist/devices/keys.js +25 -0
- package/dist/devices/machines.d.ts +118 -0
- package/dist/devices/machines.js +366 -0
- package/dist/devices/relay.d.ts +100 -0
- package/dist/devices/relay.js +373 -0
- package/dist/devices/targets.d.ts +28 -0
- package/dist/devices/targets.js +73 -0
- package/dist/environments/access.d.ts +66 -0
- package/dist/environments/access.js +113 -0
- package/dist/environments/conversation-environments.d.ts +75 -0
- package/dist/environments/conversation-environments.js +231 -0
- package/dist/environments/dto.d.ts +25 -0
- package/dist/environments/dto.js +12 -0
- package/dist/environments/environments.controller.d.ts +36 -0
- package/dist/environments/environments.controller.js +124 -0
- package/dist/environments/environments.module.d.ts +8 -0
- package/dist/environments/environments.module.js +31 -0
- package/dist/environments/environments.schemas.d.ts +3 -0
- package/dist/environments/environments.schemas.js +14 -0
- package/dist/environments/environments.service.d.ts +251 -0
- package/dist/environments/environments.service.js +791 -0
- package/dist/environments/label.d.ts +11 -0
- package/dist/environments/label.js +25 -0
- package/dist/environments/legacy-cleanup.job.d.ts +34 -0
- package/dist/environments/legacy-cleanup.job.js +141 -0
- package/dist/errors.d.ts +136 -2
- package/dist/errors.js +136 -2
- 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/evals.schemas.d.ts +110 -0
- package/dist/evals/evals.schemas.js +107 -0
- package/dist/evals/jobs.d.ts +20 -0
- package/dist/evals/jobs.js +45 -0
- package/dist/evals/reconstruct.d.ts +18 -9
- package/dist/evals/reconstruct.js +36 -10
- package/dist/evals/recorded-tools.d.ts +37 -1
- package/dist/evals/recorded-tools.js +120 -10
- package/dist/evals/run-replay.d.ts +75 -10
- package/dist/evals/run-replay.js +218 -94
- package/dist/evals/runs.controller.d.ts +3 -58
- package/dist/evals/runs.controller.js +18 -50
- package/dist/evals/runs.service.d.ts +31 -52
- package/dist/evals/runs.service.js +281 -255
- package/dist/evals/sets.controller.d.ts +3 -29
- package/dist/evals/sets.controller.js +18 -39
- package/dist/evals/sets.service.d.ts +29 -13
- package/dist/evals/sets.service.js +262 -202
- package/dist/evals/snapshot.d.ts +5 -4
- package/dist/evals/snapshot.js +17 -4
- package/dist/evals/step-replay.d.ts +6 -8
- package/dist/evals/step-replay.js +17 -10
- 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.js +1 -1
- package/dist/evals/trajectory.service.d.ts +13 -7
- package/dist/evals/trajectory.service.js +56 -21
- package/dist/evals/worker.d.ts +48 -31
- package/dist/evals/worker.js +229 -123
- package/dist/extensions/admin-ops.d.ts +133 -41
- package/dist/extensions/admin-ops.js +378 -172
- package/dist/extensions/admin-view.d.ts +82 -32
- package/dist/extensions/admin-view.js +284 -71
- package/dist/extensions/approvals.d.ts +24 -10
- package/dist/extensions/approvals.js +73 -46
- package/dist/extensions/blobs.d.ts +27 -10
- package/dist/extensions/blobs.js +112 -45
- package/dist/extensions/bootstrap.d.ts +136 -46
- package/dist/extensions/bootstrap.js +417 -167
- package/dist/extensions/cli.d.ts +32 -10
- package/dist/extensions/cli.js +52 -98
- package/dist/extensions/config-hash.d.ts +10 -0
- package/dist/extensions/config-hash.js +38 -0
- package/dist/extensions/config-issues.d.ts +19 -0
- package/dist/extensions/config-issues.js +48 -0
- package/dist/extensions/config-json-schema.d.ts +43 -7
- package/dist/extensions/config-json-schema.js +124 -58
- package/dist/extensions/deployment-config-store.d.ts +55 -0
- package/dist/extensions/deployment-config-store.js +133 -0
- package/dist/extensions/deployment-config.d.ts +146 -70
- package/dist/extensions/deployment-config.js +439 -246
- package/dist/extensions/display-name.d.ts +22 -0
- package/dist/extensions/display-name.js +77 -0
- package/dist/extensions/effective-config.d.ts +127 -0
- package/dist/extensions/effective-config.js +368 -0
- package/dist/extensions/enabled.d.ts +5 -5
- package/dist/extensions/extensions.module.d.ts +8 -0
- package/dist/extensions/extensions.module.js +96 -0
- package/dist/extensions/hooks.d.ts +40 -6
- package/dist/extensions/hooks.js +83 -17
- package/dist/extensions/host.d.ts +161 -80
- package/dist/extensions/host.js +505 -213
- package/dist/extensions/installs.d.ts +73 -19
- package/dist/extensions/installs.js +174 -37
- 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 +45 -0
- package/dist/extensions/locks.js +112 -0
- package/dist/extensions/migrate-lock.d.ts +3 -4
- package/dist/extensions/org-config.d.ts +141 -49
- package/dist/extensions/org-config.js +471 -243
- package/dist/extensions/org-levels.d.ts +37 -0
- package/dist/extensions/org-levels.js +71 -0
- package/dist/extensions/org-overrides.d.ts +151 -0
- package/dist/extensions/org-overrides.js +524 -0
- package/dist/extensions/package.d.ts +14 -1
- package/dist/extensions/package.js +51 -2
- package/dist/extensions/permission-view.d.ts +59 -6
- package/dist/extensions/permission-view.js +7 -5
- package/dist/extensions/plugin-guides.d.ts +129 -0
- package/dist/extensions/plugin-guides.js +283 -0
- package/dist/extensions/plugin-icons.d.ts +54 -0
- package/dist/extensions/plugin-icons.js +125 -0
- package/dist/extensions/plugin-items.d.ts +21 -0
- package/dist/extensions/plugin-items.js +42 -0
- package/dist/extensions/point-defaults.controller.d.ts +28 -0
- package/dist/extensions/point-defaults.controller.js +69 -0
- package/dist/extensions/point-defaults.d.ts +73 -0
- package/dist/extensions/point-defaults.js +236 -0
- package/dist/extensions/point-defaults.schemas.d.ts +9 -0
- package/dist/extensions/point-defaults.schemas.js +14 -0
- package/dist/extensions/registry.d.ts +50 -2
- package/dist/extensions/registry.js +91 -4
- package/dist/extensions/resolve.d.ts +51 -1
- package/dist/extensions/resolve.js +85 -3
- package/dist/extensions/single-provider.d.ts +92 -0
- package/dist/extensions/single-provider.js +180 -0
- package/dist/extensions/sources.d.ts +19 -10
- package/dist/extensions/sources.js +34 -13
- package/dist/extensions/state.module.d.ts +9 -0
- package/dist/extensions/state.module.js +38 -0
- package/dist/extensions/unavailable.d.ts +50 -0
- package/dist/extensions/unavailable.js +115 -0
- 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 +19 -12
- package/dist/files/previewers.d.ts +21 -19
- package/dist/files/previewers.js +114 -38
- package/dist/files/previewers.schemas.d.ts +10 -0
- package/dist/files/previewers.schemas.js +9 -0
- 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 +86 -358
- package/dist/http/app.d.ts +22 -17
- package/dist/http/app.js +83 -52
- 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/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
- package/dist/http/gateway-routes.js +16 -0
- package/dist/http/nest-logger.d.ts +6 -5
- package/dist/http/nest-logger.js +24 -10
- package/dist/http/plugin-dispatch.d.ts +4 -1
- package/dist/http/plugin-dispatch.js +14 -2
- package/dist/identity/accounts.d.ts +130 -38
- package/dist/identity/accounts.js +373 -186
- package/dist/identity/api-tokens.d.ts +11 -7
- package/dist/identity/api-tokens.js +71 -44
- package/dist/identity/audit.d.ts +9 -5
- package/dist/identity/audit.js +5 -1
- package/dist/identity/auth.controller.d.ts +11 -10
- package/dist/identity/auth.controller.js +40 -30
- package/dist/identity/auth.guard.d.ts +16 -8
- package/dist/identity/auth.guard.js +41 -13
- package/dist/identity/binding.d.ts +9 -11
- package/dist/identity/binding.js +41 -13
- package/dist/identity/cookies.d.ts +26 -5
- package/dist/identity/cookies.js +58 -6
- 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 +59 -0
- package/dist/identity/initial-passwords.controller.d.ts +22 -0
- package/dist/identity/initial-passwords.controller.js +49 -0
- package/dist/identity/initial-passwords.d.ts +61 -0
- package/dist/identity/initial-passwords.job.d.ts +16 -0
- package/dist/identity/initial-passwords.job.js +46 -0
- package/dist/identity/initial-passwords.js +159 -0
- package/dist/identity/me.controller.d.ts +32 -15
- package/dist/identity/me.controller.js +78 -33
- package/dist/identity/me.schemas.d.ts +14 -0
- package/dist/identity/me.schemas.js +17 -0
- package/dist/identity/principal.d.ts +11 -3
- package/dist/identity/principal.js +11 -3
- package/dist/identity/sessions.d.ts +24 -10
- package/dist/identity/sessions.js +119 -42
- package/dist/identity/settings.d.ts +42 -23
- package/dist/identity/settings.js +137 -72
- 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/identity/super-admin.d.ts +20 -0
- package/dist/identity/super-admin.js +81 -0
- package/dist/inbox/inbox.module.d.ts +6 -0
- package/dist/inbox/inbox.module.js +26 -0
- package/dist/inbox/inbox.schemas.d.ts +8 -0
- package/dist/inbox/inbox.schemas.js +11 -0
- package/dist/inbox/inbox.service.d.ts +68 -11
- package/dist/inbox/inbox.service.js +104 -13
- package/dist/inbox/org-notices.d.ts +63 -0
- package/dist/inbox/org-notices.js +91 -0
- package/dist/inbox/platform-inbox.controller.d.ts +23 -0
- package/dist/inbox/platform-inbox.controller.js +58 -0
- package/dist/inbox/platform-inbox.service.d.ts +151 -0
- package/dist/inbox/platform-inbox.service.js +263 -0
- package/dist/inbox/platform-notices.d.ts +19 -0
- package/dist/inbox/platform-notices.js +9 -0
- package/dist/index.d.ts +25 -14
- package/dist/index.js +20 -9
- 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 +173 -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 +157 -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 +91 -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 +121 -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 +90 -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 +18 -0
- package/dist/infra/logging/logging.module.js +52 -0
- package/dist/infra/queue/add-job-once.d.ts +14 -0
- package/dist/infra/queue/add-job-once.js +16 -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 +13 -0
- package/dist/infra/queue/redis-connection.js +25 -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 +91 -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 +36 -0
- package/dist/infra/throttler/named-throttlers.js +157 -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 +20 -0
- package/dist/infra/tokens.js +20 -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 -241
- package/dist/kernel.js +8 -1305
- package/dist/kernel.module.d.ts +17 -0
- package/dist/kernel.module.js +145 -0
- package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
- package/dist/lifecycle/kernel-lifecycle.js +465 -0
- package/dist/lifecycle/tokens.d.ts +3 -0
- package/dist/lifecycle/tokens.js +3 -0
- package/dist/log-config.d.ts +9 -0
- package/dist/log-config.js +27 -0
- package/dist/log-context.d.ts +34 -0
- package/dist/log-context.js +44 -0
- package/dist/log-loki.d.ts +34 -0
- package/dist/log-loki.js +145 -0
- package/dist/log.d.ts +53 -10
- package/dist/log.js +168 -18
- package/dist/models/embeddings.d.ts +82 -0
- package/dist/models/embeddings.js +326 -0
- package/dist/models/enablement.controller.d.ts +40 -0
- package/dist/models/enablement.controller.js +74 -0
- package/dist/models/enablement.d.ts +101 -0
- package/dist/models/enablement.js +264 -0
- package/dist/models/models.module.d.ts +7 -0
- package/dist/models/models.module.js +36 -0
- package/dist/models/org-models.schemas.d.ts +8 -0
- package/dist/models/org-models.schemas.js +22 -0
- package/dist/models/prices.d.ts +13 -5
- package/dist/models/prices.js +69 -39
- package/dist/models/purposes.controller.d.ts +6 -4
- package/dist/models/purposes.controller.js +16 -11
- package/dist/models/purposes.d.ts +103 -23
- package/dist/models/purposes.js +208 -77
- package/dist/net/public-address.js +3 -2
- 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 +74 -35
- package/dist/orgs/directory-sync.js +243 -132
- 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 +61 -60
- package/dist/orgs/offboarding.js +206 -95
- package/dist/orgs/org-lock.d.ts +33 -19
- package/dist/orgs/org-lock.js +94 -35
- package/dist/orgs/org.guard.d.ts +11 -1
- package/dist/orgs/org.guard.js +45 -34
- package/dist/orgs/orgs.controller.d.ts +13 -16
- package/dist/orgs/orgs.controller.js +29 -20
- package/dist/orgs/orgs.module.d.ts +6 -0
- package/dist/orgs/orgs.module.js +71 -0
- package/dist/orgs/orgs.schemas.d.ts +8 -0
- package/dist/orgs/orgs.schemas.js +16 -0
- package/dist/orgs/orgs.service.d.ts +47 -21
- package/dist/orgs/orgs.service.js +166 -91
- package/dist/orgs/roles.d.ts +1 -1
- package/dist/orgs/roles.js +5 -1
- package/dist/orgs/settings.controller.d.ts +2 -2
- package/dist/orgs/settings.controller.js +8 -6
- package/dist/orgs/settings.service.d.ts +45 -14
- package/dist/orgs/settings.service.js +110 -51
- package/dist/overrides.d.ts +63 -0
- package/dist/overrides.js +34 -0
- package/dist/platform/actor.d.ts +48 -0
- package/dist/platform/actor.js +100 -0
- package/dist/platform/agent-docs.d.ts +18 -0
- package/dist/platform/agent-docs.js +59 -0
- package/dist/platform/availability.d.ts +14 -0
- package/dist/platform/availability.js +43 -0
- package/dist/platform/errors.d.ts +28 -0
- package/dist/platform/errors.js +65 -0
- package/dist/platform/exclusions.d.ts +11 -0
- package/dist/platform/exclusions.js +667 -0
- package/dist/platform/method.d.ts +6 -0
- package/dist/platform/method.js +15 -0
- package/dist/platform/operation.d.ts +169 -0
- package/dist/platform/operation.js +90 -0
- package/dist/platform/ops/accounts.ops.d.ts +32 -0
- package/dist/platform/ops/accounts.ops.js +291 -0
- package/dist/platform/ops/admin.ops.d.ts +36 -0
- package/dist/platform/ops/admin.ops.js +389 -0
- package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
- package/dist/platform/ops/agent-skills.ops.js +226 -0
- package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
- package/dist/platform/ops/agent-templates.ops.js +272 -0
- package/dist/platform/ops/agents.ops.d.ts +37 -0
- package/dist/platform/ops/agents.ops.js +717 -0
- package/dist/platform/ops/approvals.ops.d.ts +30 -0
- package/dist/platform/ops/approvals.ops.js +116 -0
- package/dist/platform/ops/background.ops.d.ts +14 -0
- package/dist/platform/ops/background.ops.js +134 -0
- package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
- package/dist/platform/ops/catalog-admin.ops.js +599 -0
- package/dist/platform/ops/channels.ops.d.ts +16 -0
- package/dist/platform/ops/channels.ops.js +195 -0
- package/dist/platform/ops/components.ops.d.ts +46 -0
- package/dist/platform/ops/components.ops.js +853 -0
- package/dist/platform/ops/connectors.ops.d.ts +17 -0
- package/dist/platform/ops/connectors.ops.js +188 -0
- package/dist/platform/ops/conversations.ops.d.ts +30 -0
- package/dist/platform/ops/conversations.ops.js +470 -0
- package/dist/platform/ops/environments.ops.d.ts +26 -0
- package/dist/platform/ops/environments.ops.js +311 -0
- package/dist/platform/ops/errors.d.ts +16 -0
- package/dist/platform/ops/errors.js +30 -0
- package/dist/platform/ops/evals.ops.d.ts +28 -0
- package/dist/platform/ops/evals.ops.js +783 -0
- package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
- package/dist/platform/ops/extensions-admin.ops.js +372 -0
- package/dist/platform/ops/extensions.ops.d.ts +25 -0
- package/dist/platform/ops/extensions.ops.js +347 -0
- package/dist/platform/ops/inbox.ops.d.ts +25 -0
- package/dist/platform/ops/inbox.ops.js +378 -0
- package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
- package/dist/platform/ops/marketplaces.ops.js +466 -0
- package/dist/platform/ops/models.ops.d.ts +25 -0
- package/dist/platform/ops/models.ops.js +232 -0
- package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
- package/dist/platform/ops/org-plugins.ops.js +329 -0
- package/dist/platform/ops/org-settings.ops.d.ts +16 -0
- package/dist/platform/ops/org-settings.ops.js +102 -0
- package/dist/platform/ops/orgs.ops.d.ts +28 -0
- package/dist/platform/ops/orgs.ops.js +295 -0
- package/dist/platform/ops/other-orgs.d.ts +20 -0
- package/dist/platform/ops/other-orgs.js +72 -0
- package/dist/platform/ops/paging.d.ts +14 -0
- package/dist/platform/ops/paging.js +20 -0
- package/dist/platform/ops/platform.ops.d.ts +28 -0
- package/dist/platform/ops/platform.ops.js +204 -0
- package/dist/platform/ops/plugins.ops.d.ts +35 -0
- package/dist/platform/ops/plugins.ops.js +476 -0
- package/dist/platform/ops/previewers.ops.d.ts +14 -0
- package/dist/platform/ops/previewers.ops.js +109 -0
- package/dist/platform/ops/requests.ops.d.ts +14 -0
- package/dist/platform/ops/requests.ops.js +191 -0
- package/dist/platform/ops/role.d.ts +4 -0
- package/dist/platform/ops/role.js +10 -0
- package/dist/platform/ops/skills.ops.d.ts +17 -0
- package/dist/platform/ops/skills.ops.js +216 -0
- package/dist/platform/ops/summary.d.ts +10 -0
- package/dist/platform/ops/summary.js +18 -0
- package/dist/platform/ops/unavailable.d.ts +23 -0
- package/dist/platform/ops/unavailable.js +118 -0
- package/dist/platform/parity.d.ts +33 -0
- package/dist/platform/parity.js +272 -0
- package/dist/platform/platform-ops.module.d.ts +39 -0
- package/dist/platform/platform-ops.module.js +122 -0
- package/dist/platform/platform.module.d.ts +8 -0
- package/dist/platform/platform.module.js +25 -0
- package/dist/platform/registry.d.ts +30 -0
- package/dist/platform/registry.js +111 -0
- package/dist/platform/route-schemas.d.ts +18 -0
- package/dist/platform/route-schemas.js +63 -0
- package/dist/roles/gateway-role.d.ts +54 -0
- package/dist/roles/gateway-role.js +118 -0
- package/dist/roles/gateway.module.d.ts +9 -0
- package/dist/roles/gateway.module.js +31 -0
- package/dist/roles/worker-role.d.ts +65 -0
- package/dist/roles/worker-role.js +151 -0
- package/dist/roles/worker.module.d.ts +14 -0
- package/dist/roles/worker.module.js +106 -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 +21 -13
- package/dist/runtime/context/build.js +106 -29
- package/dist/runtime/context/claude-tools.d.ts +4 -1
- package/dist/runtime/context/claude-tools.js +13 -12
- package/dist/runtime/context/compaction.js +24 -1
- package/dist/runtime/context/environment-paths.d.ts +40 -0
- package/dist/runtime/context/environment-paths.js +48 -0
- package/dist/runtime/context/legacy-text.d.ts +22 -0
- package/dist/runtime/context/legacy-text.js +37 -0
- package/dist/runtime/context/reminders.d.ts +2 -0
- package/dist/runtime/context/reminders.js +2 -0
- package/dist/runtime/context/run-context.d.ts +65 -0
- package/dist/runtime/context/run-context.js +215 -0
- package/dist/runtime/context/skills.d.ts +29 -11
- package/dist/runtime/context/skills.js +46 -32
- package/dist/runtime/context/tool-changes.d.ts +27 -0
- package/dist/runtime/context/tool-changes.js +60 -0
- package/dist/runtime/conversation-lock.d.ts +20 -11
- package/dist/runtime/conversation-lock.js +62 -72
- package/dist/runtime/hook-calls.d.ts +11 -4
- package/dist/runtime/hook-calls.js +41 -13
- package/dist/runtime/job-ids.d.ts +10 -0
- package/dist/runtime/job-ids.js +10 -0
- package/dist/runtime/langgraph-loop.d.ts +3 -1
- package/dist/runtime/langgraph-loop.js +37 -18
- package/dist/runtime/loop.d.ts +42 -6
- 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 +50 -74
- package/dist/runtime/maintenance.js +166 -136
- package/dist/runtime/model-call.d.ts +61 -15
- package/dist/runtime/model-call.js +128 -84
- package/dist/runtime/providers.d.ts +158 -27
- package/dist/runtime/providers.js +373 -63
- 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-context.service.d.ts +65 -0
- package/dist/runtime/run-context.service.js +236 -0
- package/dist/runtime/run-control.d.ts +43 -0
- package/dist/runtime/run-control.js +89 -0
- package/dist/runtime/run-drafts.d.ts +85 -0
- package/dist/runtime/run-drafts.js +230 -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 +46 -0
- package/dist/runtime/run-jobs.js +91 -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 +90 -58
- package/dist/runtime/run-queue.js +566 -297
- package/dist/runtime/run-steps.d.ts +39 -0
- package/dist/runtime/run-steps.js +96 -0
- package/dist/runtime/run-worker.d.ts +134 -77
- package/dist/runtime/run-worker.js +412 -236
- package/dist/runtime/runtime.module.d.ts +10 -0
- package/dist/runtime/runtime.module.js +122 -0
- package/dist/runtime/step-log.d.ts +51 -0
- package/dist/runtime/step-log.js +111 -0
- package/dist/runtime/stream.controller.d.ts +28 -9
- package/dist/runtime/stream.controller.js +72 -13
- package/dist/runtime/stream.d.ts +27 -6
- package/dist/runtime/stream.js +102 -7
- package/dist/runtime/subagents/child.d.ts +58 -51
- package/dist/runtime/subagents/child.js +105 -86
- package/dist/runtime/subagents/definition.d.ts +32 -28
- package/dist/runtime/subagents/definition.js +89 -143
- package/dist/runtime/subagents/deliveries.d.ts +71 -0
- package/dist/runtime/subagents/deliveries.js +228 -0
- package/dist/runtime/subagents/dispatch.d.ts +197 -27
- package/dist/runtime/subagents/dispatch.js +336 -270
- package/dist/runtime/subagents/limits.d.ts +32 -8
- package/dist/runtime/subagents/limits.js +44 -8
- package/dist/runtime/subagents/messages.d.ts +95 -0
- package/dist/runtime/subagents/messages.js +328 -0
- package/dist/runtime/subagents/org-agents.d.ts +4 -4
- package/dist/runtime/subagents/org-agents.js +3 -2
- package/dist/runtime/subagents/preamble.d.ts +4 -4
- package/dist/runtime/subagents/preamble.js +9 -7
- package/dist/runtime/subagents/progress.d.ts +10 -8
- package/dist/runtime/subagents/progress.js +11 -6
- package/dist/runtime/subagents/render.d.ts +30 -0
- package/dist/runtime/subagents/render.js +53 -0
- package/dist/runtime/subagents/roster.d.ts +27 -10
- package/dist/runtime/subagents/roster.js +49 -13
- package/dist/runtime/subagents/skill-fork.d.ts +10 -10
- package/dist/runtime/subagents/skill-fork.js +23 -8
- package/dist/runtime/subagents/status.d.ts +14 -0
- package/dist/runtime/subagents/status.js +23 -0
- package/dist/runtime/subagents/subagents.service.d.ts +43 -0
- package/dist/runtime/subagents/subagents.service.js +106 -0
- package/dist/runtime/usage-report-jobs.d.ts +88 -0
- package/dist/runtime/usage-report-jobs.js +158 -0
- package/dist/runtime/usage-report.d.ts +121 -83
- package/dist/runtime/usage-report.js +355 -180
- package/dist/runtime/waits.d.ts +258 -81
- package/dist/runtime/waits.js +800 -263
- package/dist/sandbox/job-ids.d.ts +10 -0
- package/dist/sandbox/job-ids.js +10 -0
- package/dist/sandbox/jobs.d.ts +68 -0
- package/dist/sandbox/jobs.js +150 -0
- package/dist/sandbox/leases.d.ts +73 -82
- package/dist/sandbox/leases.js +162 -346
- package/dist/sandbox/providers.d.ts +46 -0
- package/dist/sandbox/providers.js +83 -0
- package/dist/sandbox/sandbox.module.d.ts +9 -0
- package/dist/sandbox/sandbox.module.js +36 -0
- package/dist/sandbox/sandbox.service.d.ts +359 -151
- package/dist/sandbox/sandbox.service.js +950 -435
- package/dist/sandbox/unreachable.d.ts +30 -0
- package/dist/sandbox/unreachable.js +108 -0
- package/dist/skills/catalog.d.ts +40 -26
- package/dist/skills/catalog.js +120 -99
- package/dist/skills/changes.controller.d.ts +11 -4
- package/dist/skills/changes.controller.js +34 -9
- package/dist/skills/changes.service.d.ts +31 -21
- package/dist/skills/changes.service.js +426 -368
- package/dist/skills/invocable.controller.d.ts +2 -2
- package/dist/skills/invocable.controller.js +10 -7
- package/dist/skills/invocation-keys.d.ts +1 -1
- package/dist/skills/invocation-keys.js +1 -1
- package/dist/skills/invoke.d.ts +19 -18
- package/dist/skills/invoke.js +68 -24
- package/dist/skills/package.d.ts +20 -1
- package/dist/skills/package.js +28 -1
- package/dist/skills/skills.controller.d.ts +33 -7
- package/dist/skills/skills.controller.js +79 -12
- package/dist/skills/skills.module.d.ts +6 -0
- package/dist/skills/skills.module.js +39 -0
- package/dist/skills/skills.schemas.d.ts +48 -0
- package/dist/skills/skills.schemas.js +61 -0
- package/dist/skills/skills.service.d.ts +151 -44
- package/dist/skills/skills.service.js +636 -204
- package/dist/skills/usable.d.ts +81 -0
- package/dist/skills/usable.js +379 -0
- 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/time-zone.d.ts +5 -0
- package/dist/time-zone.js +19 -0
- package/dist/tools/approvals.controller.d.ts +1 -1
- package/dist/tools/approvals.controller.js +14 -11
- package/dist/tools/approvals.schemas.d.ts +21 -0
- package/dist/tools/approvals.schemas.js +15 -0
- package/dist/tools/approvals.service.d.ts +53 -27
- package/dist/tools/approvals.service.js +365 -260
- package/dist/tools/breaker.d.ts +2 -2
- package/dist/tools/breaker.js +21 -3
- package/dist/tools/builtin-names.d.ts +109 -0
- package/dist/tools/builtin-names.js +173 -0
- package/dist/tools/builtins/agent.d.ts +27 -25
- package/dist/tools/builtins/agent.js +66 -63
- 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 +41 -0
- package/dist/tools/builtins/builtin-tools.js +151 -0
- package/dist/tools/builtins/current-time.d.ts +26 -0
- package/dist/tools/builtins/current-time.js +99 -0
- package/dist/tools/builtins/handback.d.ts +28 -0
- package/dist/tools/builtins/handback.js +53 -0
- package/dist/tools/builtins/platform.d.ts +51 -0
- package/dist/tools/builtins/platform.js +451 -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 +293 -41
- package/dist/tools/builtins/sandbox/common.d.ts +142 -40
- package/dist/tools/builtins/sandbox/common.js +227 -65
- package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
- package/dist/tools/builtins/sandbox/deliver.js +21 -18
- package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
- package/dist/tools/builtins/sandbox/edit.js +65 -51
- 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 +19 -14
- package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
- package/dist/tools/builtins/sandbox/grep.js +155 -36
- package/dist/tools/builtins/sandbox/index.d.ts +9 -5
- package/dist/tools/builtins/sandbox/index.js +13 -5
- package/dist/tools/builtins/sandbox/read.d.ts +2 -2
- package/dist/tools/builtins/sandbox/read.js +30 -20
- package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
- package/dist/tools/builtins/sandbox/task-output.js +334 -0
- package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
- package/dist/tools/builtins/sandbox/task-stop.js +113 -0
- package/dist/tools/builtins/sandbox/write.d.ts +1 -1
- package/dist/tools/builtins/sandbox/write.js +52 -45
- package/dist/tools/builtins/send-message.d.ts +56 -0
- package/dist/tools/builtins/send-message.js +100 -0
- package/dist/tools/builtins/skill-load.d.ts +32 -21
- package/dist/tools/builtins/skill-load.js +125 -74
- package/dist/tools/builtins/skill-write.d.ts +4 -4
- package/dist/tools/builtins/skill-write.js +12 -12
- package/dist/tools/builtins/tool-search.d.ts +13 -9
- package/dist/tools/builtins/tool-search.js +25 -14
- package/dist/tools/builtins/web/errors.d.ts +8 -0
- package/dist/tools/builtins/web/errors.js +53 -0
- package/dist/tools/builtins/web/extract.d.ts +62 -0
- package/dist/tools/builtins/web/extract.js +271 -0
- package/dist/tools/builtins/web/fetch.d.ts +55 -0
- package/dist/tools/builtins/web/fetch.js +175 -0
- package/dist/tools/builtins/web/index.d.ts +13 -0
- package/dist/tools/builtins/web/index.js +12 -0
- package/dist/tools/builtins/web/page-cache.d.ts +25 -0
- package/dist/tools/builtins/web/page-cache.js +77 -0
- package/dist/tools/builtins/web/search.d.ts +25 -0
- package/dist/tools/builtins/web/search.js +210 -0
- package/dist/tools/builtins/web/url.d.ts +17 -0
- package/dist/tools/builtins/web/url.js +43 -0
- 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 +16 -3
- package/dist/tools/connectors.controller.js +34 -14
- package/dist/tools/connectors.schemas.d.ts +12 -0
- package/dist/tools/connectors.schemas.js +19 -0
- package/dist/tools/connectors.service.d.ts +80 -18
- package/dist/tools/connectors.service.js +529 -358
- package/dist/tools/credentials.d.ts +20 -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/extension-tools.controller.d.ts +14 -0
- package/dist/tools/extension-tools.controller.js +37 -0
- package/dist/tools/info.d.ts +73 -13
- package/dist/tools/info.js +151 -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 +45 -10
- package/dist/tools/oauth/tokens.js +70 -24
- package/dist/tools/org-tool-switches.d.ts +88 -0
- package/dist/tools/org-tool-switches.js +201 -0
- package/dist/tools/outputs.d.ts +13 -4
- package/dist/tools/outputs.js +48 -4
- package/dist/tools/pipeline.d.ts +108 -80
- package/dist/tools/pipeline.js +396 -409
- package/dist/tools/policy.d.ts +4 -17
- package/dist/tools/policy.js +49 -35
- 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 +215 -84
- package/dist/tools/registry.js +382 -264
- 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 +113 -0
- package/dist/tools/validate.js +1 -1
- 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 +10 -57
- package/dist/ui/views.js +58 -46
- package/package.json +15 -3
- package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
- package/src/migrations/0064_account_last_org.sql +7 -0
- package/src/migrations/0065_conversation_archive.sql +8 -0
- package/src/migrations/0066_extension_display_name.sql +4 -0
- package/src/migrations/0067_agent_profiles.sql +20 -0
- package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
- package/src/migrations/0069_attachments_agent_idx.sql +3 -0
- package/src/migrations/0070_background_tasks.sql +37 -0
- package/src/migrations/0071_background_tasks_reserve.sql +6 -0
- package/src/migrations/0072_background_tasks_stopping.sql +5 -0
- package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
- package/src/migrations/0074_subagent_tree.sql +50 -0
- package/src/migrations/0075_plugin_scope.sql +61 -0
- package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
- package/src/migrations/0077_scope_requests.sql +52 -0
- package/src/migrations/0078_scope_grant_switches.sql +18 -0
- package/src/migrations/0079_scope_live_install_switches.sql +19 -0
- package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
- package/src/migrations/0081_platform_components.sql +129 -0
- package/src/migrations/0082_platform_migration.sql +33 -0
- package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
- package/src/migrations/0084_org_owned_items.sql +85 -0
- package/src/migrations/0085_agent_templates_phase4.sql +45 -0
- package/src/migrations/0086_org_layering.sql +30 -0
- package/src/migrations/0087_approval_summary.sql +6 -0
- package/src/migrations/0088_environments.sql +80 -0
- package/src/migrations/0089_model_kinds_usage.sql +38 -0
- package/src/migrations/0090_initial_passwords.sql +27 -0
- package/src/migrations/0091_account_time_zone.sql +4 -0
- package/src/migrations/0092_tools_default_on.sql +27 -0
- package/src/migrations/0093_connected_environments.sql +37 -0
- package/src/migrations/0094_environment_paths_idx.sql +7 -0
- package/src/migrations/0095_environment_files_resets.sql +5 -0
- package/src/migrations/0096_environment_demoted_default.sql +18 -0
- package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
- package/src/migrations/0098_single_provider_running_first.sql +41 -0
- package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
- package/src/migrations/0100_catalog_files.sql +13 -0
- package/src/migrations/0101_marketplace_icons.sql +32 -0
- package/dist/catalog/upgrade-targets.d.ts +0 -59
- package/dist/catalog/upgrade-targets.js +0 -90
- package/dist/conversations/sandbox-status.d.ts +0 -21
- package/dist/conversations/sandbox-status.js +0 -24
- package/dist/extensions/org-config.controller.d.ts +0 -24
- package/dist/extensions/org-config.controller.js +0 -59
- package/dist/http/gateway.module.js +0 -13
- 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/enterprise-admin.d.ts +0 -14
- package/dist/identity/enterprise-admin.js +0 -27
- 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/log-loki.js
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
const PUSH_PATH = "/loki/api/v1/push";
|
|
2
|
+
const PUSH_TIMEOUT_MS = 10_000;
|
|
3
|
+
/** A batch is pushed right away once it reaches this many records. */
|
|
4
|
+
const BATCH_SIZE = 1_000;
|
|
5
|
+
const ERROR_NOTE_INTERVAL_MS = 60_000;
|
|
6
|
+
function pushUrl(url) {
|
|
7
|
+
const u = new URL(url);
|
|
8
|
+
if (!u.pathname.endsWith(PUSH_PATH))
|
|
9
|
+
u.pathname = `${u.pathname.replace(/\/+$/, "")}${PUSH_PATH}`;
|
|
10
|
+
return u;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Batches JSON log lines and POSTs them to Loki's push API (JSON body), one stream per level with
|
|
14
|
+
* the labels `{ job: "capybara", ...labels, role, level }`. Pushing never blocks or throws into the
|
|
15
|
+
* caller: a failed push drops its batch and is reported to `onError` at most once per minute; while
|
|
16
|
+
* Loki is down at most `maxBuffer` records are kept. The interval timer is unref'd.
|
|
17
|
+
*/
|
|
18
|
+
export function createLokiStream(opts) {
|
|
19
|
+
const url = pushUrl(opts.url);
|
|
20
|
+
const intervalMs = opts.intervalMs ?? 2_000;
|
|
21
|
+
const maxBuffer = opts.maxBuffer ?? 10_000;
|
|
22
|
+
const now = opts.now ?? Date.now;
|
|
23
|
+
const onError = opts.onError ?? ((m) => void process.stderr.write(`capybara: ${m}\n`));
|
|
24
|
+
// the marker keeps these pushes out of HTTP client traces (apps/capybara tracing.ts)
|
|
25
|
+
const headers = {
|
|
26
|
+
"content-type": "application/json",
|
|
27
|
+
"x-capybara-log-push": "1",
|
|
28
|
+
};
|
|
29
|
+
if (opts.username !== undefined || opts.password !== undefined) {
|
|
30
|
+
const token = Buffer.from(`${opts.username ?? ""}:${opts.password ?? ""}`).toString("base64");
|
|
31
|
+
headers.authorization = `Basic ${token}`;
|
|
32
|
+
}
|
|
33
|
+
const baseLabels = { job: "capybara", ...opts.labels, role: opts.role };
|
|
34
|
+
let buffer = [];
|
|
35
|
+
let dropped = 0;
|
|
36
|
+
let inFlight;
|
|
37
|
+
let timer;
|
|
38
|
+
let lastNote = Number.NEGATIVE_INFINITY;
|
|
39
|
+
let closed = false;
|
|
40
|
+
/** Reports at most once a minute; `message` names the Loki origin only (a URL may carry credentials). */
|
|
41
|
+
const report = (message) => {
|
|
42
|
+
const t = now();
|
|
43
|
+
if (t - lastNote < ERROR_NOTE_INTERVAL_MS)
|
|
44
|
+
return;
|
|
45
|
+
lastNote = t;
|
|
46
|
+
onError(`${message}; further Loki errors are not reported for a minute`);
|
|
47
|
+
};
|
|
48
|
+
const note = (reason) => report(`cannot push logs to Loki at ${url.origin} (${reason}); records are dropped until it recovers`);
|
|
49
|
+
const pushBatch = async (batch, lost) => {
|
|
50
|
+
const streams = new Map();
|
|
51
|
+
for (const e of batch) {
|
|
52
|
+
const values = streams.get(e.level) ?? [];
|
|
53
|
+
values.push([e.ns, e.line]);
|
|
54
|
+
streams.set(e.level, values);
|
|
55
|
+
}
|
|
56
|
+
const body = JSON.stringify({
|
|
57
|
+
streams: [...streams].map(([level, values]) => ({
|
|
58
|
+
stream: { ...baseLabels, level },
|
|
59
|
+
values,
|
|
60
|
+
})),
|
|
61
|
+
});
|
|
62
|
+
try {
|
|
63
|
+
const res = await fetch(url, {
|
|
64
|
+
method: "POST",
|
|
65
|
+
headers,
|
|
66
|
+
body,
|
|
67
|
+
signal: AbortSignal.timeout(PUSH_TIMEOUT_MS),
|
|
68
|
+
});
|
|
69
|
+
await res.body?.cancel();
|
|
70
|
+
if (!res.ok)
|
|
71
|
+
note(`HTTP ${res.status}`);
|
|
72
|
+
else if (lost > 0) {
|
|
73
|
+
report(`${lost} log records for Loki at ${url.origin} were dropped: the buffer was full`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
note(e instanceof Error ? (e.cause instanceof Error ? e.cause.message : e.message) : "error");
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
/** Starts a push of the current buffer unless one is in flight. */
|
|
81
|
+
const kick = () => {
|
|
82
|
+
if (inFlight || buffer.length === 0)
|
|
83
|
+
return inFlight ?? Promise.resolve();
|
|
84
|
+
const batch = buffer;
|
|
85
|
+
const lost = dropped;
|
|
86
|
+
buffer = [];
|
|
87
|
+
dropped = 0;
|
|
88
|
+
inFlight = pushBatch(batch, lost).finally(() => {
|
|
89
|
+
inFlight = undefined;
|
|
90
|
+
});
|
|
91
|
+
return inFlight;
|
|
92
|
+
};
|
|
93
|
+
const ensureTimer = () => {
|
|
94
|
+
if (timer || closed)
|
|
95
|
+
return;
|
|
96
|
+
timer = setInterval(() => void kick(), intervalMs);
|
|
97
|
+
timer.unref();
|
|
98
|
+
};
|
|
99
|
+
return {
|
|
100
|
+
write(chunk) {
|
|
101
|
+
for (const line of chunk.split("\n")) {
|
|
102
|
+
if (line === "")
|
|
103
|
+
continue;
|
|
104
|
+
let level = "info";
|
|
105
|
+
let ms = Date.now();
|
|
106
|
+
try {
|
|
107
|
+
const rec = JSON.parse(line);
|
|
108
|
+
if (typeof rec.level === "string")
|
|
109
|
+
level = rec.level;
|
|
110
|
+
if (typeof rec.time === "string") {
|
|
111
|
+
const t = Date.parse(rec.time);
|
|
112
|
+
if (!Number.isNaN(t))
|
|
113
|
+
ms = t;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// not JSON: push it as is
|
|
118
|
+
}
|
|
119
|
+
buffer.push({ level, ns: `${BigInt(ms) * 1000000n}`, line });
|
|
120
|
+
if (buffer.length > maxBuffer) {
|
|
121
|
+
buffer.shift();
|
|
122
|
+
dropped++;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
ensureTimer();
|
|
126
|
+
if (buffer.length >= BATCH_SIZE)
|
|
127
|
+
void kick();
|
|
128
|
+
},
|
|
129
|
+
async flush() {
|
|
130
|
+
while (inFlight || buffer.length > 0) {
|
|
131
|
+
if (inFlight)
|
|
132
|
+
await inFlight;
|
|
133
|
+
else
|
|
134
|
+
await kick();
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
async close() {
|
|
138
|
+
closed = true;
|
|
139
|
+
if (timer)
|
|
140
|
+
clearInterval(timer);
|
|
141
|
+
timer = undefined;
|
|
142
|
+
await this.flush();
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
package/dist/log.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { type LokiOptions } from "./log-loki.js";
|
|
2
3
|
/** 日志级别,按严重程度递增。 */
|
|
3
4
|
export declare const LOG_LEVELS: readonly ["debug", "info", "warn", "error"];
|
|
4
5
|
/** 日志级别。 */
|
|
@@ -11,7 +12,7 @@ export interface KernelLogger extends Logger {
|
|
|
11
12
|
setLevel(level: string): void;
|
|
12
13
|
/**
|
|
13
14
|
* 登记部署方(运维)给的密钥值:内核配置与插件部署级配置里的 secret 字段。此后日志消息与字段里出现这些值都替换为
|
|
14
|
-
* `[REDACTED]`(顶层的 `
|
|
15
|
+
* `[REDACTED]`(顶层的 `time` / `level` 不打码)。字符串与数字(转成字符串)登记,布尔不登记;
|
|
15
16
|
* 数组与对象递归展开其中的标量;短于 4 个字符的值不登记(会误伤普通文本)。
|
|
16
17
|
* 数值字段的字符串形式等于已登记值时同样打码。
|
|
17
18
|
*/
|
|
@@ -27,6 +28,13 @@ export interface KernelLogger extends Logger {
|
|
|
27
28
|
* 报错说明)之前用。
|
|
28
29
|
*/
|
|
29
30
|
redact(text: string): string;
|
|
31
|
+
/** Waits until buffered records reached every output (Loki); never rejects. Call before exit. */
|
|
32
|
+
flush(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* A logger that adds `fields` to every record (e.g. `{ context: "RunWorker" }`); call fields cannot
|
|
35
|
+
* overwrite them. It shares everything else with this logger: level, secrets, outputs.
|
|
36
|
+
*/
|
|
37
|
+
child(fields: Record<string, string>): KernelLogger;
|
|
30
38
|
}
|
|
31
39
|
/**
|
|
32
40
|
* 用与 logger 相同的匹配器打码任意文本(工具结果等不经过日志的内容用):展开规则同 `addOrgSecrets`
|
|
@@ -34,15 +42,50 @@ export interface KernelLogger extends Logger {
|
|
|
34
42
|
* 不得小于匹配器的分桶前缀长度 4)。没有可用的值时原样返回。
|
|
35
43
|
*/
|
|
36
44
|
export declare function createRedactor(values: readonly unknown[], minLength?: number): (s: string) => string;
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
/** Console format: `pretty` (pino-pretty), `json`, or `auto` (pretty on a TTY). */
|
|
46
|
+
export declare const LOG_FORMATS: readonly ["auto", "pretty", "json"];
|
|
47
|
+
/** Console format. */
|
|
48
|
+
export type LogFormat = (typeof LOG_FORMATS)[number];
|
|
49
|
+
/** A minimal writable the console output goes to (`process.stdout` by default). */
|
|
50
|
+
export interface LogOutput {
|
|
51
|
+
write(chunk: string): unknown;
|
|
52
|
+
/** A stream's `error` event (EPIPE when its reader is gone). */
|
|
53
|
+
on?(event: "error", listener: (err: unknown) => void): unknown;
|
|
54
|
+
}
|
|
55
|
+
/** Options of {@link createLogger}. */
|
|
56
|
+
export interface LoggerOptions {
|
|
57
|
+
/**
|
|
58
|
+
* Receives every record as one JSON line (no trailing newline) instead of the console; the
|
|
59
|
+
* console format is ignored. Used by tests and embedders that collect records themselves.
|
|
60
|
+
*/
|
|
45
61
|
write?: (line: string) => void;
|
|
62
|
+
/** Console format; default `auto`. */
|
|
63
|
+
format?: LogFormat;
|
|
64
|
+
/** Console stream; default `process.stdout`. */
|
|
65
|
+
out?: LogOutput;
|
|
66
|
+
/** Whether the console is a terminal (picks `auto` and colors); default `process.stdout.isTTY`. */
|
|
67
|
+
isTTY?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Pretty output in colors; default: `FORCE_COLOR` (set and not `0`) turns them on, `NO_COLOR` off,
|
|
70
|
+
* else a TTY. `pnpm dev:kernel` forces them, since its output goes through `tee`.
|
|
71
|
+
*/
|
|
72
|
+
colors?: boolean;
|
|
73
|
+
/** Also push every record to Loki. */
|
|
74
|
+
loki?: LokiOptions;
|
|
75
|
+
/** Fields on every record (e.g. `role`); log calls cannot overwrite them. */
|
|
76
|
+
base?: Record<string, string>;
|
|
77
|
+
/** Capacity of the org secret set (tests). */
|
|
46
78
|
orgSecretCapacity?: number;
|
|
79
|
+
/** Called on every matcher rebuild (tests). */
|
|
47
80
|
onMatcherBuild?: () => void;
|
|
48
|
-
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Creates the kernel logger on pino. Each record is `{ time, level, msg, ...base, ...fields }` with
|
|
84
|
+
* `level` the label and `time` ISO 8601; fields cannot overwrite time / level / msg or the base
|
|
85
|
+
* fields; an Error becomes name / message / stack (and cause). Redaction happens before pino, so
|
|
86
|
+
* every output sees the same redacted record: deployment secrets (`addSecrets`) in msg and every
|
|
87
|
+
* field string, org secrets (`addOrgSecrets`) in fields only; level and time are never redacted.
|
|
88
|
+
* The console gets pino-pretty or JSON lines per `opts.format`; `opts.write` replaces the console
|
|
89
|
+
* with a JSON line sink.
|
|
90
|
+
*/
|
|
91
|
+
export declare function createLogger(level?: string, opts?: LoggerOptions): KernelLogger;
|
package/dist/log.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import { pino } from "pino";
|
|
2
|
+
import { prettyFactory } from "pino-pretty";
|
|
1
3
|
import { secretScalars } from "./config/fields.js";
|
|
4
|
+
import { logContext } from "./log-context.js";
|
|
5
|
+
import { createLokiStream } from "./log-loki.js";
|
|
2
6
|
/** 日志级别,按严重程度递增。 */
|
|
3
7
|
export const LOG_LEVELS = ["debug", "info", "warn", "error"];
|
|
4
8
|
const LEVELS = LOG_LEVELS;
|
|
5
9
|
const REDACTED = "[REDACTED]";
|
|
6
|
-
const RESERVED = new Set(["
|
|
10
|
+
const RESERVED = new Set(["time", "level", "msg"]);
|
|
7
11
|
/** 部署方密钥的最短登记长度:过短的值打码会误伤普通文本。 */
|
|
8
12
|
const MIN_SECRET_LEN = 4;
|
|
9
13
|
/** 组织来源密钥的最短登记长度。 */
|
|
@@ -101,16 +105,110 @@ function expandSecret(value) {
|
|
|
101
105
|
}
|
|
102
106
|
return out;
|
|
103
107
|
}
|
|
108
|
+
/** Console format: `pretty` (pino-pretty), `json`, or `auto` (pretty on a TTY). */
|
|
109
|
+
export const LOG_FORMATS = ["auto", "pretty", "json"];
|
|
110
|
+
/** Fields shown in the pretty prefix instead of the lines below, in this order. */
|
|
111
|
+
const PREFIX_FIELDS = ["traceId", "reqId", "queue", "jobId", "runId", "context", "plugin"];
|
|
104
112
|
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
113
|
+
* pino-pretty's message format, the octok layout:
|
|
114
|
+
* `[pid=…] - [traceId=…] [reqId=…] [context=…] msg`, each bracket only when present.
|
|
115
|
+
*/
|
|
116
|
+
function prettyMessage(log, messageKey) {
|
|
117
|
+
const parts = [`[pid=${process.pid}] -`];
|
|
118
|
+
for (const k of PREFIX_FIELDS) {
|
|
119
|
+
const v = log[k];
|
|
120
|
+
if (typeof v === "string" || typeof v === "number")
|
|
121
|
+
parts.push(`[${k}=${v}]`);
|
|
122
|
+
}
|
|
123
|
+
parts.push(String(log[messageKey] ?? ""));
|
|
124
|
+
return parts.join(" ");
|
|
125
|
+
}
|
|
126
|
+
/** The HTTP access record (`http/app.ts`) as one sentence: method, path, status and duration. */
|
|
127
|
+
function foldAccessLine(log) {
|
|
128
|
+
if (log.msg !== "request" || typeof log.method !== "string" || typeof log.url !== "string") {
|
|
129
|
+
return log;
|
|
130
|
+
}
|
|
131
|
+
const { method, url, status, ms, ...rest } = log;
|
|
132
|
+
return { ...rest, msg: `${method} ${url} ${status} ${ms}ms` };
|
|
133
|
+
}
|
|
134
|
+
function colorsOn(opts, isTTY) {
|
|
135
|
+
if (opts.colors !== undefined)
|
|
136
|
+
return opts.colors;
|
|
137
|
+
const force = process.env.FORCE_COLOR;
|
|
138
|
+
if (force !== undefined && force !== "0")
|
|
139
|
+
return true;
|
|
140
|
+
if (process.env.NO_COLOR)
|
|
141
|
+
return false;
|
|
142
|
+
return isTTY;
|
|
143
|
+
}
|
|
144
|
+
function consoleStream(opts) {
|
|
145
|
+
if (opts.write) {
|
|
146
|
+
const write = opts.write;
|
|
147
|
+
// pino hands each record as one string ending in "\n"
|
|
148
|
+
return { write: (s) => write(s.endsWith("\n") ? s.slice(0, -1) : s) };
|
|
149
|
+
}
|
|
150
|
+
const format = opts.format ?? "auto";
|
|
151
|
+
if (!LOG_FORMATS.includes(format)) {
|
|
152
|
+
throw new Error(`invalid log.format "${format}" (expected ${LOG_FORMATS.join(", ")})`);
|
|
153
|
+
}
|
|
154
|
+
const target = opts.out ?? process.stdout;
|
|
155
|
+
// A console whose reader is gone (the `tee` of `pnpm dev:kernel` stopped by Ctrl-C, a closed
|
|
156
|
+
// pipe) fails every write with EPIPE. Unhandled, each failure is an uncaught exception the
|
|
157
|
+
// process guard logs, which writes again: an endless chain that starves the event loop. So the
|
|
158
|
+
// first stream error ends console output for good (Loki, when configured, still gets records).
|
|
159
|
+
let broken = false;
|
|
160
|
+
target.on?.("error", () => {
|
|
161
|
+
broken = true;
|
|
162
|
+
});
|
|
163
|
+
const out = {
|
|
164
|
+
write: (s) => {
|
|
165
|
+
if (!broken)
|
|
166
|
+
target.write(s);
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
const isTTY = opts.isTTY ?? process.stdout.isTTY === true;
|
|
170
|
+
const pretty = format === "pretty" || (format === "auto" && isTTY);
|
|
171
|
+
if (!pretty)
|
|
172
|
+
return { write: (s) => out.write(s) };
|
|
173
|
+
const colors = colorsOn(opts, isTTY);
|
|
174
|
+
// In process (no worker thread): pino-pretty formats each record synchronously. The layout follows
|
|
175
|
+
// octok's buildPinoPrettyOptions: full local time, colored level, the bracket prefix, and
|
|
176
|
+
// the remaining fields as indented `key: value` lines below the message (errors with their stack).
|
|
177
|
+
const format_ = prettyFactory({
|
|
178
|
+
colorize: colors,
|
|
179
|
+
colorizeObjects: colors,
|
|
180
|
+
singleLine: false,
|
|
181
|
+
translateTime: "SYS:standard",
|
|
182
|
+
ignore: ["pid", "hostname", "role", "spanId", ...PREFIX_FIELDS].join(","),
|
|
183
|
+
messageFormat: (log, messageKey) => prettyMessage(log, messageKey),
|
|
184
|
+
});
|
|
185
|
+
return {
|
|
186
|
+
write: (s) => {
|
|
187
|
+
let record;
|
|
188
|
+
try {
|
|
189
|
+
record = JSON.parse(s);
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
out.write(s);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
out.write(format_(foldAccessLine(record)));
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Creates the kernel logger on pino. Each record is `{ time, level, msg, ...base, ...fields }` with
|
|
201
|
+
* `level` the label and `time` ISO 8601; fields cannot overwrite time / level / msg or the base
|
|
202
|
+
* fields; an Error becomes name / message / stack (and cause). Redaction happens before pino, so
|
|
203
|
+
* every output sees the same redacted record: deployment secrets (`addSecrets`) in msg and every
|
|
204
|
+
* field string, org secrets (`addOrgSecrets`) in fields only; level and time are never redacted.
|
|
205
|
+
* The console gets pino-pretty or JSON lines per `opts.format`; `opts.write` replaces the console
|
|
206
|
+
* with a JSON line sink.
|
|
110
207
|
*/
|
|
111
208
|
export function createLogger(level = "info", opts = {}) {
|
|
112
209
|
let current = parseLevel(level);
|
|
113
|
-
const
|
|
210
|
+
const base = opts.base ?? {};
|
|
211
|
+
const reserved = new Set([...RESERVED, ...Object.keys(base)]);
|
|
114
212
|
const orgCapacity = opts.orgSecretCapacity ?? ORG_SECRET_CAPACITY;
|
|
115
213
|
/** 部署方密钥(数量由配置决定,不淘汰)。 */
|
|
116
214
|
const secrets = new Set();
|
|
@@ -136,12 +234,10 @@ export function createLogger(level = "info", opts = {}) {
|
|
|
136
234
|
return deployMatcher(s);
|
|
137
235
|
};
|
|
138
236
|
const isSecret = (v) => secrets.has(v) || orgSecrets.has(v);
|
|
237
|
+
/** Redacts and serializes the fields to JSON (errors expanded, cycles cut). */
|
|
139
238
|
const serialize = (entry) => {
|
|
140
239
|
const seen = new WeakSet();
|
|
141
|
-
return JSON.stringify(entry,
|
|
142
|
-
if (this === entry && RESERVED.has(key)) {
|
|
143
|
-
return key === "msg" && typeof value === "string" ? redactMsg(value) : value;
|
|
144
|
-
}
|
|
240
|
+
return JSON.stringify(entry, (_key, value) => {
|
|
145
241
|
if (typeof value === "string")
|
|
146
242
|
return redact(value);
|
|
147
243
|
if ((typeof value === "number" || typeof value === "bigint") && isSecret(String(value))) {
|
|
@@ -167,23 +263,44 @@ export function createLogger(level = "info", opts = {}) {
|
|
|
167
263
|
return value;
|
|
168
264
|
});
|
|
169
265
|
};
|
|
266
|
+
const loki = opts.loki ? createLokiStream(opts.loki) : undefined;
|
|
267
|
+
const sink = pino({
|
|
268
|
+
level: "debug",
|
|
269
|
+
base,
|
|
270
|
+
messageKey: "msg",
|
|
271
|
+
timestamp: pino.stdTimeFunctions.isoTime,
|
|
272
|
+
formatters: { level: (label) => ({ level: label }) },
|
|
273
|
+
// request / job / trace fields of the current async context (log-context.ts)
|
|
274
|
+
mixin: () => ({ ...logContext() }),
|
|
275
|
+
// fields arrive already serialized: no pino serializers, no depth or size limits
|
|
276
|
+
serializers: { err: (e) => e },
|
|
277
|
+
depthLimit: Number.MAX_SAFE_INTEGER,
|
|
278
|
+
edgeLimit: Number.MAX_SAFE_INTEGER,
|
|
279
|
+
},
|
|
280
|
+
// level filtering is ours (setLevel); every stream takes everything that got this far
|
|
281
|
+
loki
|
|
282
|
+
? pino.multistream([
|
|
283
|
+
{ level: "debug", stream: consoleStream(opts) },
|
|
284
|
+
{ level: "debug", stream: loki },
|
|
285
|
+
])
|
|
286
|
+
: consoleStream(opts));
|
|
170
287
|
const emit = (lvl, msg, fields) => {
|
|
171
288
|
if (LEVELS.indexOf(lvl) < LEVELS.indexOf(current))
|
|
172
289
|
return;
|
|
173
|
-
const entry = {
|
|
290
|
+
const entry = {};
|
|
174
291
|
for (const [k, v] of Object.entries(fields ?? {}))
|
|
175
|
-
if (!
|
|
292
|
+
if (!reserved.has(k))
|
|
176
293
|
entry[k] = v;
|
|
177
|
-
let
|
|
294
|
+
let obj;
|
|
178
295
|
try {
|
|
179
|
-
|
|
296
|
+
obj = JSON.parse(serialize(entry));
|
|
180
297
|
}
|
|
181
298
|
catch {
|
|
182
|
-
|
|
299
|
+
obj = { logError: "unserializable fields" };
|
|
183
300
|
}
|
|
184
|
-
|
|
301
|
+
sink[lvl](obj, redactMsg(msg));
|
|
185
302
|
};
|
|
186
|
-
|
|
303
|
+
const root = {
|
|
187
304
|
debug: (msg, fields) => emit("debug", msg, fields),
|
|
188
305
|
info: (msg, fields) => emit("info", msg, fields),
|
|
189
306
|
warn: (msg, fields) => emit("warn", msg, fields),
|
|
@@ -192,6 +309,9 @@ export function createLogger(level = "info", opts = {}) {
|
|
|
192
309
|
return current;
|
|
193
310
|
},
|
|
194
311
|
redact: (text) => redact(text),
|
|
312
|
+
flush: async () => {
|
|
313
|
+
await loki?.flush();
|
|
314
|
+
},
|
|
195
315
|
setLevel(l) {
|
|
196
316
|
current = parseLevel(l);
|
|
197
317
|
},
|
|
@@ -225,5 +345,35 @@ export function createLogger(level = "info", opts = {}) {
|
|
|
225
345
|
}
|
|
226
346
|
}
|
|
227
347
|
},
|
|
348
|
+
// a method, so a wrapper of this logger (a test proxy) is the parent its children forward to
|
|
349
|
+
child(fields) {
|
|
350
|
+
return childLogger(this, fields);
|
|
351
|
+
},
|
|
352
|
+
};
|
|
353
|
+
return root;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* A logger that adds `bound` to every record and forwards it to `parent`'s public methods (so a spy
|
|
357
|
+
* on the parent sees its children's records); call fields cannot overwrite the bound ones.
|
|
358
|
+
*/
|
|
359
|
+
function childLogger(parent, bound) {
|
|
360
|
+
const merged = (fields) => ({ ...fields, ...bound });
|
|
361
|
+
const child = {
|
|
362
|
+
debug: (msg, fields) => parent.debug(msg, merged(fields)),
|
|
363
|
+
info: (msg, fields) => parent.info(msg, merged(fields)),
|
|
364
|
+
warn: (msg, fields) => parent.warn(msg, merged(fields)),
|
|
365
|
+
error: (msg, fields) => parent.error(msg, merged(fields)),
|
|
366
|
+
get level() {
|
|
367
|
+
return parent.level;
|
|
368
|
+
},
|
|
369
|
+
setLevel: (level) => parent.setLevel(level),
|
|
370
|
+
addSecrets: (values) => parent.addSecrets(values),
|
|
371
|
+
addOrgSecrets: (values) => parent.addOrgSecrets(values),
|
|
372
|
+
redact: (text) => parent.redact(text),
|
|
373
|
+
flush: () => parent.flush(),
|
|
374
|
+
child(fields) {
|
|
375
|
+
return childLogger(this, fields);
|
|
376
|
+
},
|
|
228
377
|
};
|
|
378
|
+
return child;
|
|
229
379
|
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type ExtensionEmbedRequest, type ExtensionEmbedResult, type ExtensionModelTarget, type ExtensionPermissions, type Logger } from "@capybara-hq/plugin-sdk";
|
|
2
|
+
import { KernelConfigService } from "../infra/config/kernel-config.service.js";
|
|
3
|
+
import { KernelDb } from "../infra/database/kernel-db.js";
|
|
4
|
+
import { TransactionHost } from "../infra/database/transaction-host.js";
|
|
5
|
+
import { KernelEvents } from "../infra/events/kernel-events.js";
|
|
6
|
+
import { type HookRunner } from "../runtime/hook-calls.js";
|
|
7
|
+
import { ProviderRegistry } from "../runtime/providers.js";
|
|
8
|
+
import { ModelPurposesService } from "./purposes.js";
|
|
9
|
+
/** An extension's `permissions.models` (what it declared, as approved in its manifest). */
|
|
10
|
+
export type DeclaredModelPurposes = readonly NonNullable<ExtensionPermissions["models"]>[number][];
|
|
11
|
+
/** Most texts one `ctx.models.embed` call may carry (the kernel splits them by `maxBatch`). */
|
|
12
|
+
export declare const EMBED_MAX_INPUTS = 2048;
|
|
13
|
+
/**
|
|
14
|
+
* The `ctx.models` broker for embeddings (model platform spec B §5.4). Every call:
|
|
15
|
+
* - accepts only a purpose the calling extension declared in `permissions.models` with
|
|
16
|
+
* `kind: "embedding"` (`model.purpose_unknown` otherwise: the manifest is what was approved), for
|
|
17
|
+
* an org that enabled the extension (`extension.not_enabled`);
|
|
18
|
+
* - resolves the org's effective target ({@link ModelPurposesService.resolve}: unmapped, or mapped
|
|
19
|
+
* to a model the org cannot use, is `model.unconfigured`) and the model in the org's view, enabled
|
|
20
|
+
* and of kind `embedding` ({@link ProviderRegistry.resolve}, bound to the org's effective config);
|
|
21
|
+
* - fires `model.request` once (`purpose: "embedding"`, every text of the call, no conversation
|
|
22
|
+
* fields) through the host's hook registry before anything is sent; a policy denial (a deny, a
|
|
23
|
+
* hook error or timeout, a policy extension not loaded here or without a valid config in the org)
|
|
24
|
+
* writes one `hook.denied` audit row and rejects with `ApiError("model.hook_denied")` (403) whose
|
|
25
|
+
* message is the one a denied run step fails with: no provider call, no usage row. A call with no input sends nothing
|
|
26
|
+
* and fires nothing;
|
|
27
|
+
* - splits the input into batches of the model's `maxBatch`, calls the provider's `embed` once per
|
|
28
|
+
* batch in order with the extension's signal (plus the request's own `signal`), each batch
|
|
29
|
+
* limited by `models.embedTimeoutMs` (`ModelError("timeout")`), checks each result ({@link validateEmbedResult}: a
|
|
30
|
+
* wrong count, dimension or a non-finite number is a `ModelError` of kind `server`), and
|
|
31
|
+
* concatenates the vectors; no retries (an extension retries itself if it wants to);
|
|
32
|
+
* - writes one `model_usage` row (the sum of the batches' input tokens) and announces it after the
|
|
33
|
+
* commit (`model_usage.recorded`: the usage reporter's `ModelUsageJobs` enqueues its
|
|
34
|
+
* `usage.report` delivery; the usage sweep catches up a lost one). A call that fails after the
|
|
35
|
+
* provider answered some batches (an invalid result, a later batch failing) still records their
|
|
36
|
+
* input tokens before the error reaches the extension; one that fails before any answer records
|
|
37
|
+
* nothing.
|
|
38
|
+
* Purpose params are not sent: an `embed` request carries none (`EmbedRequest`).
|
|
39
|
+
*/
|
|
40
|
+
export declare class ModelEmbeddings {
|
|
41
|
+
private readonly kdb;
|
|
42
|
+
readonly txHost: TransactionHost;
|
|
43
|
+
private readonly purposes;
|
|
44
|
+
private readonly providers;
|
|
45
|
+
/** `model_usage.recorded`: the usage reporter enqueues the row's delivery. */
|
|
46
|
+
private readonly events;
|
|
47
|
+
private readonly log;
|
|
48
|
+
/** `models.embedTimeoutMs` (hot). */
|
|
49
|
+
private readonly config;
|
|
50
|
+
constructor(kdb: KernelDb, txHost: TransactionHost, purposes: Pick<ModelPurposesService, "resolve">, providers: Pick<ProviderRegistry, "resolve">,
|
|
51
|
+
/** `model_usage.recorded`: the usage reporter enqueues the row's delivery. */
|
|
52
|
+
events: Pick<KernelEvents, "emit">, log: Pick<Logger, "warn">,
|
|
53
|
+
/** `models.embedTimeoutMs` (hot). */
|
|
54
|
+
config: Pick<KernelConfigService, "get">);
|
|
55
|
+
/** Refuses a purpose `plugin` did not declare with kind `embedding`, or an org it is off in. */
|
|
56
|
+
private admit;
|
|
57
|
+
/** The org's target for the purpose and the model bound to the org's config. */
|
|
58
|
+
private target;
|
|
59
|
+
/**
|
|
60
|
+
* One batch to the provider, limited by `models.embedTimeoutMs` (hot, read per call): at the limit
|
|
61
|
+
* the call's signal aborts and the batch fails with `ModelError("timeout")`, even when the
|
|
62
|
+
* provider ignores the signal (its late answer is dropped).
|
|
63
|
+
*/
|
|
64
|
+
private callWithTimeout;
|
|
65
|
+
/**
|
|
66
|
+
* `ctx.models.embed` for `plugin` (its declared purposes), aborted by `signal`; `hooks` is the
|
|
67
|
+
* host's hook registry (`model.request`), absent only for a ctx built without a host (tests).
|
|
68
|
+
*/
|
|
69
|
+
embed(plugin: string, declared: DeclaredModelPurposes, request: ExtensionEmbedRequest, signal: AbortSignal, hooks: HookRunner | undefined): Promise<ExtensionEmbedResult>;
|
|
70
|
+
/**
|
|
71
|
+
* `model.request` for an embed call (policy hooks may deny it). Rejects with the caller's abort
|
|
72
|
+
* reason when `signal` aborts while the hooks run (an abort is never a deny).
|
|
73
|
+
*/
|
|
74
|
+
private checkHooks;
|
|
75
|
+
/** `ctx.models.describe` for `plugin`: null when the purpose maps to no model the org can use. */
|
|
76
|
+
describe(plugin: string, declared: DeclaredModelPurposes, req: {
|
|
77
|
+
orgId: string;
|
|
78
|
+
purpose: string;
|
|
79
|
+
}): Promise<ExtensionModelTarget | null>;
|
|
80
|
+
/** One `model_usage` row; its `usage.report` delivery is enqueued after the commit. */
|
|
81
|
+
private record;
|
|
82
|
+
}
|