summaryrefslogtreecommitdiffhomepage
path: root/bun.lock
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-21 12:09:09 +0900
committerAdam Malczewski <[email protected]>2026-06-21 12:09:09 +0900
commitd23de3254374d4d63c8e15c6ab9311c3c6f4da5b (patch)
tree6105e3a8639555b2c925d412a567bcb8caa4075f /bun.lock
parentba47df37f0c89bff4f0c3dd7d0bc2ef6c8062b92 (diff)
downloaddispatch-d23de3254374d4d63c8e15c6ab9311c3c6f4da5b.tar.gz
dispatch-d23de3254374d4d63c8e15c6ab9311c3c6f4da5b.zip
feat(provider-umans): Umans AI Coding Plan provider + openai-stream lib
Extract a generic @dispatch/openai-stream library from provider-openai-compat (convert-messages, convert-tools, parse-sse, listModels, stream, provider), parameterizing createOpenAICompatProvider with uid=1000(tradam) gid=1000(tradam) groups=1000(tradam),966(docker),968(ollama),998(wheel) + hook. Refactor provider-openai-compat to import from the lib (byte-identical behavior). New @dispatch/provider-umans extension wraps the Umans OpenAI-compatible backend (https://api.code.umans.ai/v1). Self-contained: reads UMANS_API_KEY from env directly (no auth-apikey dep). transformBody maps reasoningEffort → reasoning_effort (capping xhigh/max → high). Dynamic listModels via GET /v1/models. host-bin: registered provider-umans in CORE_EXTENSIONS + umans credential (gated on UMANS_API_KEY — the credential is the model-catalog index). Verified: tsc EXIT 0, 1059 vitest, biome clean (293 files). Boot smoke: umans models appear in GET /models (7 models live).
Diffstat (limited to 'bun.lock')
-rw-r--r--bun.lock24
1 files changed, 24 insertions, 0 deletions
diff --git a/bun.lock b/bun.lock
index 5716c6a..c08d7f9 100644
--- a/bun.lock
+++ b/bun.lock
@@ -61,7 +61,9 @@
"@dispatch/journal-sink": "workspace:*",
"@dispatch/kernel": "workspace:*",
"@dispatch/lsp": "workspace:*",
+ "@dispatch/message-queue": "workspace:*",
"@dispatch/provider-openai-compat": "workspace:*",
+ "@dispatch/provider-umans": "workspace:*",
"@dispatch/session-orchestrator": "workspace:*",
"@dispatch/skills": "workspace:*",
"@dispatch/storage-sqlite": "workspace:*",
@@ -115,14 +117,32 @@
"@dispatch/trace-store": "workspace:*",
},
},
+ "packages/openai-stream": {
+ "name": "@dispatch/openai-stream",
+ "version": "0.0.0",
+ "dependencies": {
+ "@dispatch/kernel": "workspace:*",
+ "@dispatch/trace-replay": "workspace:*",
+ "@dispatch/wire": "workspace:*",
+ },
+ },
"packages/provider-openai-compat": {
"name": "@dispatch/provider-openai-compat",
"version": "0.0.0",
"dependencies": {
"@dispatch/kernel": "workspace:*",
+ "@dispatch/openai-stream": "workspace:*",
"@dispatch/trace-replay": "workspace:*",
},
},
+ "packages/provider-umans": {
+ "name": "@dispatch/provider-umans",
+ "version": "0.0.0",
+ "dependencies": {
+ "@dispatch/kernel": "workspace:*",
+ "@dispatch/openai-stream": "workspace:*",
+ },
+ },
"packages/session-orchestrator": {
"name": "@dispatch/session-orchestrator",
"version": "0.0.0",
@@ -301,8 +321,12 @@
"@dispatch/observability-collector": ["@dispatch/observability-collector@workspace:packages/observability-collector"],
+ "@dispatch/openai-stream": ["@dispatch/openai-stream@workspace:packages/openai-stream"],
+
"@dispatch/provider-openai-compat": ["@dispatch/provider-openai-compat@workspace:packages/provider-openai-compat"],
+ "@dispatch/provider-umans": ["@dispatch/provider-umans@workspace:packages/provider-umans"],
+
"@dispatch/session-orchestrator": ["@dispatch/session-orchestrator@workspace:packages/session-orchestrator"],
"@dispatch/skills": ["@dispatch/skills@workspace:packages/skills"],