Commit Graph
27 Commits
Author SHA1 Message Date
9296d3dc31 fix(auth): stop the API key placeholder from shadowing Oh My Pi /login credentials (#78)
Oh My Pi kept the unresolved $COMMAND_CODE_API_KEY placeholder as a literal config API key that shadowed its /login credential store and was sent as the Bearer token (401). The placeholder is now registered only on pi, where it keeps the API-key auth method and --api-key working next to OAuth; on OMP the provider omits apiKey unless a real key is configured. Host-supplied placeholders are resolved or stripped on every stream path, and the legacy generate transport uses the same rule.

Stored /login OAuth and API-key credentials, --api-key, and env keys are now covered end to end on both pi and Oh My Pi, and CI runs the pi suite against a real binary.

Co-authored-by: ebreen <ebreen@users.noreply.github.com>
2026-09-02 22:43:23 +02:00
warc0s 08a7e38089 merge main (0.6.0) into fix/omp-developer-messages
Align the developer-message fix with the Provider API transport router.
The fix stays scoped to the legacy /alpha/generate converter, and the
OMP advisory compat test now forces the upgrade_required fallback so the
advisory is asserted on the generate request body.
2026-08-25 22:52:02 +02:00
Patrick Wozniak 45281d693e fix(core): omit historical images for text models 2026-08-25 17:46:41 +02:00
Patrick Wozniak 98ed83fc9c merge main into fix/tool-call-streaming 2026-08-25 17:18:02 +02:00
Patrick Wozniak a624643d90 fix(stream): forward incremental tool-call arguments 2026-08-25 16:58:29 +02:00
Patrick Wozniak c51a790530 fix(stream): match Command Code CLI transport behavior 2026-08-25 15:54:18 +02:00
Patrick Wozniak 3d8758fe3b feat(models): generate Command Code catalog snapshot 2026-08-25 15:08:22 +02:00
Patrick Wozniak 003d571b5e fix(models): refresh Command Code capabilities 2026-08-25 14:12:00 +02:00
Patrick Wozniak f5e2fece8c test(models): fix DeepSeek vision regressions 2026-08-25 13:54:33 +02:00
laijxa d14c2f0feb fix(models): add image support for deepseek-v4-flash-vision-exp
deepseek/deepseek-v4-flash-vision-exp is served by the Provider API but was
missing from the hardcoded MODEL_INPUT_MODALITIES allowlist, so pi rejected
any conversation containing an image block. Notably this also rejected images
returned by the read tool via toolResult:

  Error: Selected Command Code model does not support image content in tool results

Adding the allowlist entry lets modelSupportsImageInput() return true and the
converters forward images using the current Command Code wire format.

Coverage:
- regression test for modelSupportsImageInput("deepseek/deepseek-v4-flash-vision-exp")
- end-to-end stream test for a tool-result image forwarded as a following user
  image (the concrete read reproduction), not only a user-attached image
- end-to-end stream test asserting a text-only model still rejects tool-result
  images before any network access

Refs: https://github.com/patlux/pi-commandcode-provider/issues/54
2026-08-25 19:42:10 +08:00
Thomas Byr d637a73e06 fix(docs): update Command Code version to 1.32.1 2026-08-22 23:25:06 +02:00
warc0s 16eb5a8dda fix(core): preserve developer messages
OMP converts custom and hook messages (advisor notes, todo reminders,
retry nudges) to role "developer" before calling the provider.
messagesToCC() only handled user, assistant, and toolResult, so those
messages were dropped before params.messages was sent to
/alpha/generate. Steering still interrupted pending tools, but the
model never saw the message content.

/alpha/generate has no developer role: the official command-code CLI
(0.32.3) only emits user, assistant, and tool messages plus a separate
params.system. Forward developer messages as user messages with
identical content in the same chronological position. Hoisting them
into params.system would turn a mid-conversation note into a global
top-priority instruction.
2026-08-17 09:03:32 +02:00
Patrick WozniakandGitHub a367aed63c feat(models): add vision input capabilities (#43) 2026-08-11 00:28:03 +02:00
Patrick Wozniak 7efca20d16 fix(core): preserve request fidelity and provider errors 2026-08-07 14:05:03 +02:00
Patrick Wozniak 7e9ecc563a feat(models): add model-aware runtime metadata 2026-08-07 14:03:24 +02:00
Patrick Wozniak 9cff90340c test(stream): cover cached input fallbacks 2026-08-04 01:41:22 +02:00
IfkumRfnl 69ba0da305 fix(stream): correct cached input accounting 2026-08-03 05:49:31 +00:00
Patrick Wozniak 17175abd28 Bump CLI version header to 0.29.0 for API parity 2026-05-28 22:50:54 +02:00
Patrick Wozniak fe49146892 Merge remote-tracking branch 'origin/main' into fix/pr-7-review
# Conflicts:
#	index.ts
#	package.json
#	tests/test-pi-local.mjs
2026-05-28 22:07:51 +02:00
Patrick Wozniak 3fba807abf fix(stream): close thinking block before text or tool output
If upstream omits reasoning-end and starts emitting text-delta or
tool-call events, the thinking block remained open causing
thinking_start -> thinking_delta -> text_start -> ... -> thinking_end
ordering. Now endThinking() is called at the start of text-delta and
tool-call handlers so thinking_end always precedes text_start or
toolcall_start.

Adds 2 regression tests for the missing reasoning-end edge case.
2026-05-28 22:05:01 +02:00
wh.huajieyu e78875f532 refactor: clean up code formatting and update package dependencies
- Removed unnecessary blank lines and improved formatting for better readability in index.ts and converters.ts.
- Updated package-lock.json to downgrade several dependencies for compatibility, including @protobufjs/eventemitter, @protobufjs/fetch, and others.
- Enhanced error message in core.ts to clarify configuration options for the Command Code API key.
- Added a test to ensure the correct handling of environment variable values in test-stream.ts.
2026-05-28 06:23:28 -04:00
AlexVagrantandwh.huajieyu c2497ed098 feat: add OMP (Oh My Pi) provider compatibility
Support OMP as a host alongside pi:
- Convert OMP's array-format system prompts to string via systemPromptToText
- Guard against OMP passing the literal env-var name as the API key value
- Add ~/.omp/agent/auth.json to default auth path lookup
- Fix --list-models output to check both stdout and stderr
- Add OMP compatibility smoke test with isolated temp HOME and mock server
- Deduplicate usage section in README, add OMP install and usage docs
2026-05-28 04:12:35 -04:00
Patrick Wozniak cc05faa526 Release 0.1.1 2026-05-26 23:05:21 +02:00
Patrick Wozniak af2b316d84 style: configure prettier (no semicolons, trailing commas) 2026-05-05 14:02:41 +02:00
Patrick Wozniak e9853eb4a4 chore: add CI workflow (typecheck + prettier format check), tsconfig, and prettier formatting 2026-05-05 13:56:41 +02:00
Patrick Wozniak 145e2678b6 Test real Command Code core behavior 2026-05-05 13:22:05 +02:00
Patrick Wozniak 38deb03c6c test: add comprehensive stream integration tests (35+ cases) 2025-05-05 10:05:00 +02:00