diff options
| author | Adam Malczewski <[email protected]> | 2026-06-21 12:09:09 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-21 12:09:09 +0900 |
| commit | d23de3254374d4d63c8e15c6ab9311c3c6f4da5b (patch) | |
| tree | 6105e3a8639555b2c925d412a567bcb8caa4075f /bun.lock | |
| parent | ba47df37f0c89bff4f0c3dd7d0bc2ef6c8062b92 (diff) | |
| download | dispatch-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.lock | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -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"], |
