Commit Graph
100 Commits
Author SHA1 Message Date
Patrick WozniakandGitHub 3049ce1544 chore(release): publish 0.6.3 (#79) 2026-09-02 23:31:38 +02:00
Patrick WozniakandGitHub 8416e76d9e Merge pull request #77 from patlux/release/0.6.2
chore(release): publish 0.6.2
2026-09-02 10:54:49 +02:00
Patrick Wozniak 245c352996 chore(release): prepare 0.6.2 2026-09-02 10:49:59 +02:00
Patrick WozniakandGitHub c60d39398a Merge pull request #76 from patlux/ci/bun-1.4
ci: run Bun 1.4.0 in the memory benchmark and omp jobs
2026-09-02 10:36:11 +02:00
Patrick Wozniak e1c0a024ce ci: run Bun 1.4.0 in the memory benchmark and omp jobs
Bump the memory benchmark runtime pins to the current stable releases:
Bun 1.3.11 -> 1.4.0, Node 22.19.0 -> 22.23.2, pi host 0.82.1 -> 0.84.4.
Pin the Oh My Pi compatibility job to the same Bun release instead of
'latest' so a required check does not drift on its own.
2026-09-02 10:33:18 +02:00
Patrick WozniakandGitHub 240adb52b3 Merge pull request #75 from patlux/fix/omp-compat-import
fix(core): resolve the compat api registration at runtime for Oh My Pi
2026-09-02 10:17:31 +02:00
Patrick Wozniak caa4e8e274 ci(tests): run the Oh My Pi compatibility suite as a required check
tests/test-omp-compat.mjs skipped whenever omp was not on PATH, which
was always the case in CI, so 0.6.1 shipped an import that pi's compat
entrypoint provides but OMP's bundled pi-ai does not (#74).

Add an omp-compat job that installs @oh-my-pi/pi-coding-agent with Bun
and runs the suite with OMP_COMPAT_REQUIRED=1, which turns the skip into
a failure. Add a first phase that loads the extension through
`omp models -e`, the same loader `omp plugin install` validates with;
it fails on the 0.6.1 index.ts and passes with the runtime resolution.
2026-09-02 10:14:59 +02:00
Patrick Wozniak 9b91e5468e fix(core): resolve the compat api registration at runtime for Oh My Pi
0.6.1 imported registerApiProvider from @earendil-works/pi-ai/compat as
a named import. Oh My Pi maps that specifier onto its own pi-ai, which
has no such export and instead registers custom APIs inside
registerProvider, so omp plugin install rejected the extension with
"Export named 'registerApiProvider' not found".

Import the compat module as a namespace and call registerApiProvider
only when the host provides it. pi keeps the sibling-extension fix from
#68; omp loads again and its own custom-api registry covers that case.

Verified with omp 18.1.2: plugin install of the linked checkout succeeds
and tests/test-omp-compat.mjs passes; tests/test-pi-local.mjs still
covers the compat registry path on pi.

Closes #74
2026-09-02 10:06:28 +02:00
Patrick WozniakandGitHub f439534c80 Merge pull request #73 from patlux/release/0.6.1
chore(release): publish 0.6.1
2026-09-02 00:38:25 +02:00
Patrick Wozniak 008765f617 chore(release): prepare 0.6.1 2026-09-02 00:34:14 +02:00
Patrick WozniakandGitHub df6a1f9bd3 Merge pull request #72 from patlux/docs/readme-other-extensions
docs(readme): fold the extension compat note into Usage
2026-09-02 00:32:06 +02:00
Patrick Wozniak 20877bd362 docs(readme): fold the extension compat note into Usage
The standalone section read like a commit message and sat between Install
and Authentication as if it were a core topic. Keep the part users need
(sibling extensions share the connection and credentials, so their
requests count against Command Code usage) as one sentence under Usage;
the registry mechanics stay in index.ts and the changelog.
2026-09-02 00:29:44 +02:00
Patrick WozniakandGitHub 43fbe55a1c Merge pull request #71 from patlux/integrate/backlog-2026-09
Integrate contributor PRs and backlog fixes (0.6.1)
2026-09-02 00:26:23 +02:00
Patrick Wozniak a1bfafa556 test(e2e): default the GOAT vision phase to gpt-5.6-luna
google/gemini-3.7-flash currently fails on the Provider API with a
zero-data-retention routing 404 for every request, which made the GOAT
live suite red regardless of provider changes. GPT-5.6 Luna is available
on every plan, accepts image input, and completes the vision request.
2026-09-02 00:22:26 +02:00
Patrick Wozniak d3c9832d28 feat(models): move manual reasoning efforts into a catalog override
PR #69 added efforts for meta/muse-spark-* directly to the generated
catalog, which the drift check flags and the daily sync job reverts.

Keep src/commandcode-catalog.ts byte-identical to upstream and merge a
separate src/commandcode-catalog-overrides.ts over it at load time. A
test fails as soon as upstream publishes efforts for an overridden model
so the override gets removed instead of shadowing the CLI catalog.

Verified against the live endpoint: pi --thinking xhigh sends
reasoning_effort="xhigh" for meta/muse-spark-1.2-contributor and the
request succeeds; --thinking off sends none.

Closes #69
2026-09-02 00:03:45 +02:00
Patrick Wozniak df4f4a6eef Merge pull request #69 from hjshin-ubob/fix/muse-spark-thinking-levels
feat(catalog): add reasoning efforts for meta/muse-spark-1.1/1.2/contributor

# Conflicts:
#	src/commandcode-catalog.ts
2026-09-01 23:43:29 +02:00
Patrick Wozniak be110c6046 docs(readme): explain reasoning models without selectable efforts
The official CLI marks meta/muse-spark-* as reasoning models but ships no
effort levels for them and sends no effort parameter, so the thinking level
stays off in pi. Document that so the locked footer is not mistaken for a
provider bug.

Refs #69

(cherry picked from commit 263310635a89e35cf0b3da527474555c9687903e)
2026-09-01 23:29:34 +02:00
Patrick Wozniak 59322e4ffa perf(models): start from the cached catalog and refresh in the background
Every host start awaited a full catalog request before the provider
registered, costing one HTTPS round-trip (up to the discovery timeout on a
hanging connection) even when a cache written seconds earlier was on disk.

Register the cached catalog immediately and run the live refresh in the
background; the live result re-registers the provider when it arrives. A
first start without a cache still awaits the live catalog. The background
refresh is aborted on session_shutdown so print mode does not wait for it.

Closes #63

(cherry picked from commit 142191f9420fe90460cdc3cbae70e26d0c000860)
2026-09-01 23:29:33 +02:00
Patrick Wozniak 6e52b84036 test(pi-local): keep the compat caller fixture free of peer type deps
Declare the fixture's pi types inline so npm run typecheck passes without
the optional peer packages, matching the existing fixture convention.

(cherry picked from commit 0ba5827c58a0f6ccf54387454ae38d93bbead3d9)
2026-09-01 23:29:33 +02:00
Patrick Wozniak 0700d9b61d fix(core): register the custom api in the pi-ai compat registry
pi routes the main chat through the registered provider, but sibling
extensions that call streamSimple from @earendil-works/pi-ai/compat with
the active Command Code model resolve model.api through the compat
api-registry, which only knows built-in APIs. On plain pi that failed
with "No API provider registered for api: commandcode-custom".

Register commandcode-custom there and delegate to the transport router.
The registry resolves no credentials for extension providers, so fall
back to the configured Command Code key when the caller passes none.

Closes #68

(cherry picked from commit 7e9659e672771c6a9223b95938e50fb2a051a0a7)
2026-09-01 23:29:30 +02:00
Patrick Wozniak f17cec0eee fix(pricing): refresh catalog pricing snapshot
Verify display pricing against the official pricing page and the live
provider model list:

- add claude-fable-5-1 and deepseek/deepseek-v4-flash-fast
- remove minimax/minimax-m3-free and minimax/minimax-m2.7-free, which the
  provider no longer lists
- end the claude-sonnet-5 introductory window; the listed rate is unchanged
- google/gemini-3.7-flash returns to list price after the promotion ended
2026-09-01 23:29:16 +02:00
Patrick Wozniak b6e0e07c01 feat(models): sync model catalog with command-code@1.40.1
Add claude-fable-5-1, deepseek/deepseek-v4-flash-fast, and
tencent/hy4-preview with their reasoning efforts, add moonshotai/Kimi-K3
efforts, and drop minimax/minimax-m3-free, which the CLI no longer lists.
2026-09-01 23:29:16 +02:00
Patrick Wozniak 4d515c0d6b test(models): assert catalog invariants instead of pinned model ids
The model catalog tests hard-coded specific model ids, the reasoning model
count, and output limits from command-code@1.32.2. Every upstream catalog
sync broke them, which made the daily catalog sync workflow fail before it
could open its PR.

Assert structural invariants over the generated catalog instead: image
models resolve to text+image, every effort entry has a reasoning flag,
reasoning without efforts yields an empty level map, output limits are
positive integers and clamp to the context length.

Closes #67

(cherry picked from commit 458e3a57892bb625a78fb5ded092627ba3cf2867)
2026-09-01 23:28:06 +02:00
Patrick Wozniak 09faff6e6e Merge pull request #66 from ThomasByr/feat/refresh-model-catalog-skill
chore(QoL): refresh model catalog skill

# Conflicts:
#	CHANGELOG.md
2026-09-01 23:27:40 +02:00
Patrick Wozniak 090d5e5310 Merge pull request #65 from ThomasByr/main
feat(models): add GLM5.3-Flash and Qwen3.8-Flash

# Conflicts:
#	CHANGELOG.md
2026-09-01 23:27:37 +02:00
Patrick Wozniak 711b342ddd Merge pull request #48 from warc0s/fix/omp-developer-messages
fix(core): preserve developer messages
2026-09-01 23:27:26 +02:00
Patrick WozniakandGitHub 0acf311774 Merge pull request #62 from jagaliano/feat/commandcode-quota
Display monthly quota renewal date
2026-09-01 22:57:53 +02:00
Patrick WozniakandGitHub 6f367515d8 Merge pull request #61 from patlux/release/0.6.0
Release package and GitHub Release are live and verified before merge.
2026-08-25 18:17:59 +02:00
Patrick Wozniak f2bfb38996 chore(release): prepare 0.6.0 2026-08-25 18:06:46 +02:00
Patrick WozniakandGitHub b6f84b0eda Merge pull request #60 from patlux/fix/text-model-image-history
fix(core): omit historical images for text models
2026-08-25 17:49:29 +02:00
Patrick Wozniak 45281d693e fix(core): omit historical images for text models 2026-08-25 17:46:41 +02:00
Patrick WozniakandGitHub b6550918ba Merge pull request #59 from patlux/fix/tool-call-streaming
fix(stream): forward incremental tool-call arguments
2026-08-25 17:20:49 +02:00
Patrick Wozniak 98ed83fc9c merge main into fix/tool-call-streaming 2026-08-25 17:18:02 +02:00
Patrick WozniakandGitHub ff922d0cb3 Merge pull request #58 from patlux/fix/commandcode-cli-parity-complete
fix(core): align provider with Command Code CLI 1.32.2
2026-08-25 16:58:58 +02:00
Patrick Wozniak a624643d90 fix(stream): forward incremental tool-call arguments 2026-08-25 16:58:29 +02:00
Patrick Wozniak ad307c93fd fix(stream): remove redundant completion guard 2026-08-25 16:56:19 +02:00
Patrick Wozniak dceec74e35 style(ci): keep semgrep config focused 2026-08-25 16:41:23 +02:00
Patrick Wozniak f8976adb11 ci(security): allow documented Command Code env vars 2026-08-25 16:40:45 +02:00
Patrick Wozniak cee0d7cc96 test(e2e): cover live Go and GOAT accounts 2026-08-25 16:37:24 +02:00
Patrick Wozniak 804ba5862e docs(core): document Command Code CLI parity 2026-08-25 15:54:37 +02:00
Patrick Wozniak 6a7a71e206 fix(auth): support official Command Code environment names 2026-08-25 15:54:29 +02:00
Patrick Wozniak c51a790530 fix(stream): match Command Code CLI transport behavior 2026-08-25 15:54:18 +02:00
Patrick Wozniak 349e50f829 fix(models): align Command Code catalog metadata 2026-08-25 15:54:09 +02:00
Patrick WozniakandGitHub e26e06c582 Merge pull request #57 from patlux/fix/model-capabilities-1.32.2
fix(models): refresh Command Code capabilities
2026-08-25 15:14:00 +02:00
Patrick Wozniak 41e98a1d67 fix(models): keep generated sync scope reviewable 2026-08-25 15:09:54 +02:00
Patrick Wozniak c3a383447c ci(models): open PRs for Command Code catalog updates 2026-08-25 15:08:29 +02:00
Patrick Wozniak 3d8758fe3b feat(models): generate Command Code catalog snapshot 2026-08-25 15:08:22 +02:00
Patrick Wozniak ef5d723182 Revert "ci(models): limit metadata check to scheduled runs"
This reverts commit af5c41aaa1.
2026-08-25 14:48:29 +02:00
Patrick Wozniak af5c41aaa1 ci(models): limit metadata check to scheduled runs 2026-08-25 14:48:03 +02:00
Patrick Wozniak 7ed38d5f70 ci(models): run metadata check on pull requests 2026-08-25 14:43:46 +02:00
Patrick Wozniak f23863d326 ci(models): check Command Code metadata daily 2026-08-25 14:14:44 +02:00
Patrick Wozniak 003d571b5e fix(models): refresh Command Code capabilities 2026-08-25 14:12:00 +02:00
Patrick WozniakandGitHub c27e7fbc80 Merge pull request #56 from newCman1/fix/deepseek-vision-image-support
fix(models): add image support for deepseek/deepseek-v4-flash-vision-exp
2026-08-25 13:57:59 +02:00
Patrick Wozniak f5e2fece8c test(models): fix DeepSeek vision regressions 2026-08-25 13:54:33 +02:00
Patrick Wozniak d149c1f790 Merge remote-tracking branch 'origin/main' into review/pr-56 2026-08-25 13:53:48 +02:00
Patrick WozniakandGitHub aa94552afb Merge pull request #52 from jagaliano/feat/commandcode-quota
feat(quota): add live in-place quota dashboard and fix OMP auth
2026-08-25 13:42:26 +02:00
Patrick Wozniak 96356698fa fix(quota): harden dashboard integration 2026-08-25 13:34:54 +02:00
Patrick Wozniak 63dd92da09 Merge remote-tracking branch 'origin/main' into review/pr-52
# Conflicts:
#	CHANGELOG.md
2026-08-25 13:33:55 +02:00
Patrick WozniakandGitHub dc515e85b6 Merge pull request #55 from ThomasByr/main
feat(models): add GLM-5.3 pricing and reasoning levels
2026-08-25 13:06:59 +02:00
Patrick WozniakandGitHub fdd614c62b Merge branch 'main' into main 2026-08-25 13:04:06 +02:00
Patrick WozniakandGitHub fd82875df2 Merge pull request #53 from omariqbalnaru/fix/omp-custom-api-registration
fix(core): register custom api under non-reserved name for omp 17.4.0
2026-08-25 13:02:32 +02:00
Patrick WozniakandGitHub 6de4626349 Merge pull request #49 from patlux/rebuild/issue-5-provider-api
feat(account): Official CommandCode API
2026-08-20 00:16:41 +02:00
Patrick Wozniak f07ece7731 docs(api): document provider follow-up fixes 2026-08-20 00:13:56 +02:00
Patrick Wozniak f6f0ab274d fix(models): refresh DeepSeek V4 pricing 2026-08-20 00:13:56 +02:00
Patrick Wozniak ed29c59f31 fix(models): use adaptive thinking for Claude 2026-08-20 00:13:56 +02:00
Patrick Wozniak 4f91a9b00b fix(stream): isolate transport state by credential 2026-08-20 00:13:56 +02:00
Patrick Wozniak 9e9149ff14 test(e2e): merge live account profiles 2026-08-18 17:24:51 +02:00
Patrick Wozniak 33c405c060 docs(tests): document live account credentials 2026-08-18 17:20:51 +02:00
Patrick Wozniak 75552ef4b9 test(e2e): add live account profiles 2026-08-18 17:20:44 +02:00
Patrick Wozniak 9103272217 docs(api): explain automatic transport selection 2026-08-18 12:11:47 +02:00
Patrick Wozniak 89dc21bed2 feat(api): fall back for go plan accounts 2026-08-18 12:11:47 +02:00
Patrick Wozniak 864538e146 fix(ci): satisfy provider audit checks 2026-08-18 11:01:12 +02:00
Patrick Wozniak c04f3907b5 docs(api): document provider api migration 2026-08-18 10:56:12 +02:00
Patrick Wozniak 7af77ddf58 fix(models): refresh expired display pricing 2026-08-18 10:56:11 +02:00
Patrick Wozniak 84a802d91d feat(api): use official provider endpoints 2026-08-18 10:56:06 +02:00
Patrick Wozniak 0603291396 feat(auth): support direct api key login 2026-08-18 10:55:58 +02:00
Patrick WozniakandGitHub c4d25d1db1 chore(release): publish 0.5.1 (#44) 2026-08-11 00:31:51 +02:00
Patrick WozniakandGitHub a367aed63c feat(models): add vision input capabilities (#43) 2026-08-11 00:28:03 +02:00
Patrick WozniakandGitHub 4b6e1cd85a chore(release): publish 0.5.0 (#41) 2026-08-07 17:23:47 +02:00
Patrick WozniakandGitHub f3466f816f Merge pull request #40 from patlux/fix/reasoning-history
fix(stream): omit prior reasoning from request history
2026-08-07 17:13:36 +02:00
Patrick Wozniak ea55ead662 fix(stream): omit prior reasoning from request history 2026-08-07 16:39:18 +02:00
Patrick WozniakandGitHub 7d02d345f1 Merge pull request #39 from patlux/test/provider-hardening-e2e
test(tests): add provider hardening end-to-end coverage
2026-08-07 15:20:20 +02:00
Patrick Wozniak ff1e23b1b9 Merge remote-tracking branch 'origin/main' into test/provider-hardening-e2e 2026-08-07 15:18:49 +02:00
Patrick WozniakandGitHub db49f5a95b Merge pull request #38 from patlux/feat/request-fidelity
fix(core): preserve request fidelity and provider errors
2026-08-07 15:18:29 +02:00
Patrick Wozniak ba142930b2 Merge remote-tracking branch 'origin/main' into feat/request-fidelity 2026-08-07 15:17:05 +02:00
Patrick WozniakandGitHub 83a228ac26 Merge pull request #37 from patlux/feat/model-catalog-runtime
feat(models): add model-aware runtime metadata
2026-08-07 15:16:54 +02:00
Patrick Wozniak 024a79dc44 Merge branch 'feat/request-fidelity' into test/provider-hardening-e2e 2026-08-07 14:37:42 +02:00
Patrick Wozniak 8541fe109a Merge branch 'feat/model-catalog-runtime' into feat/request-fidelity 2026-08-07 14:37:19 +02:00
Patrick Wozniak c0d126cb73 fix(models): sync reasoning efforts with command code cli 2026-08-07 14:37:04 +02:00
Patrick Wozniak af2a4d1759 test(tests): add provider hardening end-to-end coverage 2026-08-07 14:06:36 +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 WozniakandGitHub 8562009202 Merge pull request #36 from patlux/feat/isolated-pi-launcher
feat(tests): add isolated pi launchers
2026-08-07 10:04:52 +02:00
Patrick Wozniak 62e51ee9f5 Merge main into feat/isolated-pi-launcher 2026-08-07 10:02:22 +02:00
Patrick WozniakandGitHub 59d133e4f5 Merge pull request #34 from patlux/fix/refresh-model-pricing
fix(models): refresh model pricing
2026-08-07 09:59:38 +02:00
Patrick Wozniak 4c8e49906c docs(contributing): align launcher instructions 2026-08-07 09:59:08 +02:00
Patrick Wozniak b100d553c1 feat(tests): add isolated pi launchers 2026-08-07 09:55:02 +02:00
Patrick Wozniak 947915df55 fix(models): refresh model pricing 2026-08-04 13:46:26 +02:00
Patrick WozniakandGitHub 690c640d5b Merge pull request #33 from patlux/docs/refresh-readme
docs: refresh setup and usage guide
2026-08-04 11:12:58 +02:00
Patrick Wozniak 2028322a22 docs(readme): refresh setup and usage guide 2026-08-04 11:09:14 +02:00