execFile cannot spawn npm's .cmd shim directly on Windows, so the catalog sync and drift check failed with spawn npm ENOENT. Route npm invocations through the shell with argument quoting on Windows and keep direct execFile calls elsewhere.
9.4 KiB
9.4 KiB
Changelog
Unreleased
- Fix
npm run sync:commandcode-catalogandnpm run check:commandcode-catalogon Windows by spawning npm through the shell.
0.6.0 - 2026-08-25
- Allow switching from a vision-capable model to a text-only model by omitting historical image tool results while preserving their text output; direct image prompts still fail clearly.
- Stream incremental tool-call arguments from the
/alpha/generatetransport instead of waiting for the final complete tool-call event. - Add a daily GitHub Actions synchronization job that opens or updates a pull request for CLI version, image capability, reasoning, effort, and output-limit changes in the latest published Command Code catalog.
- Refresh static model capabilities from
command-code@1.32.2, separating reasoning support from selectable effort levels and honoring model-specific output limits. - Reject truncated, aborted, and network-failed generate streams instead of reporting partial responses as successful.
- Normalize malformed tool results and synthesize missing tool results so follow-up requests preserve valid tool-call history.
- Refresh display pricing for all 58 current models, including Gemini 3.7 Flash, Qwen 3.8 27B, Ox Alpha, Muse Spark 1.2, and Grok 4.6 long-context rates.
- Accept the official
COMMAND_CODE_API_KEYandCMD_ZDRenvironment variables while retaining legacy aliases. - Align generate request metadata with the CLI by forwarding stable session IDs, optional temperature, and the CLI user agent.
- Validate manually pasted API keys, use the CLI's two-minute browser timeout, and reject OAuth state mismatches without closing the callback server.
- Add
/commandcode-quotawith live credits, plan, usage totals, and rolling-limit diagnostics from Command Code's alpha usage endpoints. - Add
zai-org/GLM-5.3with its verified reasoning efforts and display pricing. - Prefer Command Code's Provider API (
/provider/v1/chat/completionsand/provider/v1/messages) and automatically fall back to the existing/alpha/generatetransport only when the Provider API returns403 upgrade_requiredfor a Go-plan account. - Remember the detected transport for the running process, re-detect it when credentials change, prevent stale in-flight requests from overwriting the new credential's transport, and never fall back for unrelated authentication, permission, rate-limit, network, or server failures.
- Use Pi's native OpenAI- and Anthropic-compatible providers for Provider API streaming, including adaptive thinking for current reasoning-capable Claude models, while preserving the existing hardened generate transport, dynamic model discovery, offline cache, refresh/status commands, pricing, and OAuth credentials.
- Let
/loginuse browser authentication, an explicit API-key prompt, or a directly pasted API key. - Add optional zero-data-retention headers through
CMD_ZDR=1and the legacyCOMMANDCODE_ZDR=1alias. - Refresh GPT-5.6 Terra and Luna display prices after their temporary 50% promotion ended, and display the current DeepSeek V4 off-peak rates for its time-dependent pricing.
- Add isolated live E2E profiles for separate Go-, GOAT-, and Provider-plan credentials, covering transport selection, reasoning across turns, quota identity, aborts, tools, GOAT vision, Go image rejection, and packed-package validation.
- Fix extension load failure on newer pi hosts that reject registering a custom API under a built-in name (
openai-completions); register undercommandcode-custominstead and restore the real wire API before native compat dispatch.
Contributors
- @jagaliano — added the live quota dashboard and hardened its integration.
- @omariqbalnaru — fixed custom API registration for Oh My Pi 17.4.0.
- @ThomasByr — added GLM-5.3 pricing and reasoning levels.
- @newCman1 — added DeepSeek V4 vision model support.
0.5.1 - 2026-08-11
- Add model-specific image input capabilities from the
command-code@1.15.1catalog and forward user and tool-result images using the current Command Code wire format. - Update the Command Code client version header to
1.15.1.
Contributors
- @DiyarD — reported missing vision support for GPT-5.6 Luna, Muse Spark 1.2, and other vision-capable models.
0.5.0 - 2026-08-07
- Stop replaying completed assistant reasoning traces to Command Code while preserving visible text and completed tool calls in follow-up request history.
- Add
/commandcode-refreshand/commandcode-statuscommands for safe model-catalog refreshes and redacted diagnostics. - Bound model discovery to a configurable 10-second timeout so a slow Provider API cannot block pi startup; timed-out discovery uses the validated cache when available.
- Normalize Command Code context overflow failures so pi can auto-compact and retry, while leaving unrelated rate-limit and capacity errors unchanged.
- Keep the legacy
/alpha/generateintegration explicitly text-only: image input and image tool results are rejected instead of being silently dropped, and models do not claim image capability until the protocol exposes documented support and limits. - Replace blanket reasoning metadata with model-specific Command Code effort support. Known models expose a
thinkingLevelMap, and selected supported Pi levels are forwarded asparams.reasoning_effort; unsupported or unknown models do not receive reasoning request fields. - Add repository commands for testing the current checkout either in a logged-out, automatically cleaned-up pi environment or with existing credentials and only Command Code models enabled.
- Refresh display pricing for the current Command Code model catalog, remove expired Qwen promotional rates, add current free and discounted models, and require review when temporary prices expire.
- Use the host-provided
pi-aiandpi-coding-agentcore packages instead of installing private runtime copies, including for local and out-of-store development checkouts. - Fix cached input tokens being counted twice.
Contributors
- @IfkumRfnl — fixed cached input token accounting.
0.4.3 - 2026-08-02
- Allow pi to start when model discovery is unavailable. The provider now caches the last successfully fetched model catalog so previously discovered Command Code models remain selectable offline; a first offline start without a cache keeps Command Code unavailable until
/reloadsucceeds.
Contributors
- @k3-2o — reported that the model-list fetch blocked pi startup when offline.
0.4.2 - 2026-07-05
- Fix Oh My Pi extension validation by avoiding the missing
calculateCostexport from OMP's legacypi-aishim. - Add a regression test that locks the local Command Code cost calculation to pi-ai's upstream
calculateCostbehavior.
Contributors
- @CoderTCY — reported the Oh My Pi installation failure.
0.4.1 - 2026-06-16
- Use the explicit
$COMMANDCODE_API_KEYprovider registration syntax expected by newer pi versions, removing the startup deprecation warning while keeping legacy placeholder compatibility. - Refresh development dependency lockfile entries to resolve npm audit findings for
tsx/esbuildandprotobufjs.
Contributors
- @plumj-am — fixed the pi provider
apiKeydeprecation warning. - @cad0p — reported retry/deprecation-related issues that helped validate the current behavior.
- @bl4zee1g — reported provider availability concerns that prompted additional local/live validation.
0.4.0 - 2026-06-02
- Add retry mechanism for transient HTTP errors (429, 5xx) and stream-level errors, configurable via pi
settings.jsonretry.providerfields (timeoutMs,maxRetries,maxRetryDelayMs). Supports exponential backoff with jitter andRetry-Afterheader.
0.3.1 - 2026-05-29
- Bump CLI version header to
0.29.0for Command Code API parity. - Harden PR security pipeline CI configuration.
0.3.0 - 2026-05-28
- Add OMP (Oh My Pi) provider compatibility: support
~/.omp/agent/auth.jsonauth path, handle OMP's env-var-name-as-apiKey quirk, convert OMP system prompt arrays to text. - Close open thinking blocks before starting text or tool output to prevent event ordering issues when upstream omits
reasoning-end. - Correct DeepSeek V4 Pro discount as permanent (no expiry), not time-limited.
- Correct DeepSeek V4 Flash cache-read rate to $0.028/M and add xiaomi/mimo models to pricing table.
- Upgrade pi dependencies from
@mariozechner0.72.0 to@earendil-works0.75.5. - Move
pi-coding-agentto optional peerDependencies.
0.2.0 - 2026-05-27
- Stream
reasoning-deltaevents incrementally instead of buffering the full thinking block untilreasoning-end. Emitsthinking_start,thinking_delta, andthinking_endevents as they arrive so the UI can show reasoning in real time. - Close open text blocks on
reasoning-startandreasoning-deltaso thinking and text never overlap in the output. - Add live display pricing (
MODEL_COSTS) for known Command Code models. Cost falls back to zero for models not yet in the price table until the Provider API exposes pricing directly. - Fetch models from the Command Code Provider API at startup (inherited from upstream 0.1.1) and overlay the static cost table.
0.1.1 - 2026-05-26
- Align Command Code generate requests with CLI
0.27.2headers and payload shape. - Support official Command Code CLI auth files using the
command-codecredential key. - Handle
reasoning-startand ignore streamedtool-resultevents. - Cap generated
max_tokensby the selected model and the Command Code output limit.
0.1.0 - 2026-05-05
- Initial public release.