Phase 0:
- Rename runtime API metadata to CodeWhale Runtime API while keeping
DeepSeek-prefixed env vars and headers as aliases.
- Add CODEWHALE_RUNTIME_TOKEN primary with DEEPSEEK_RUNTIME_TOKEN fallback.
- Accept x-codewhale-runtime-token header alongside x-deepseek-runtime-token.
- Change generated token prefix from dst_ to cwrt_.
- Add runtime_api_version, codewhale_version, transports, capabilities,
and experimental to /v1/runtime/info while preserving old fields.
- Update CLI help for --auth-token and --cors-origin.
- Add CODEWHALE_CORS_ORIGINS with DEEPSEEK_CORS_ORIGINS alias.
Phase 1:
- Split inline pub mod runtime into crates/protocol/src/runtime/mod.rs.
- Add DynamicToolSpec, DynamicToolItemStatus, DynamicToolCallParams,
DynamicToolCallResult, DynamicToolCallContent, and TurnEnvironmentParams.
- Accept dynamic_tools and environments on thread create, plus
dynamic_tools and environment_id on turn start (no-op in Phase 0/1).
Tests:
- Update existing auth/health/runtime_info tests for new naming.
- Add header alias tests and dynamic-tool request deserialization tests.
- Add protocol crate round-trip tests for all new types.
Co-authored-by: CodeWhale Agent <codewhale-agent@hmbown.local>
Cut the 0.8.59 changelog section, bump workspace/npm/README versions, refresh Cargo.lock and generated web facts, and sync the embedded TUI changelog slice.
Also fixes the short codew shim to prefer its sibling codewhale dispatcher before PATH so fresh installs do not delegate to an older global binary.
Harvests #3052 onto the v0.8.59 release branch. Noninteractive CLI launches default to concise output discipline unless config, env, or --verbosity overrides it; interactive TUI launches remain normal by default.
Also forwards CODEWHALE_VERBOSITY as the primary env bridge while keeping DEEPSEEK_VERBOSITY for compatibility, documents the setting, and records @cyq1017 credit in both changelogs.
Add an explicit /context report|json|summary source-map surface while preserving plain /context as the existing inspector.
Expose the same diagnostic map through doctor --context-json for headless checks. The report uses the existing compaction token heuristic and labels counts as conservative estimates rather than exact provider billing.
Modified harvest from PR #3150 by @idling11.
Co-authored-by: idling11 <8055620+idling11@users.noreply.github.com>
Introduce a small SearchContext for workspace completion walks so the related search state moves together and the helper signatures no longer need too-many-arguments allowances.
Also keeps the nearby hotbar test clippy-clean under the all-targets TUI gate.
Modified harvest from PR #3128 by @Hmbown.
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Updates the lockfile-only Dependabot PRs for reqwest 0.13.4, rustls 0.23.40, and clap_complete 4.6.5 while keeping unrelated resolver drift out of the release branch.
Refs #3001.
Refs #3002.
Refs #3003.
Harvests the release URL coverage from #3137 without adding a serial-test dependency.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Use bounded ordered concurrency for /skills sync so registry downloads no longer serialize one skill at a time while preserving deterministic outcome order.
Harvested from PR #3139.
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Avoid an N+1 item-directory scan when loading runtime thread details by grouping persisted items for all turns in one pass.
Harvested from PR #3141.
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Accept SSE data frames with either `data: {...}` or `data:{...}` in Chat Completions, Responses, and Anthropic stream readers.
Harvested from PR #3152.
Co-authored-by: wgeeker <169752135+wgeeker@users.noreply.github.com>
Codex Responses requests now clamp legacy minimal effort to low and carry a regression test that the request body uses reasoning.effort without DeepSeek thinking or chat-completions reasoning_effort fields.
Harvests PR #3013 by @cyq1017 and PR #3053 by @angus-guo. Legacy deepseek/deepseek-tui binaries now return migration steps instead of trying to self-update through a missing codewhale binary, and the README/rebrand docs carry the same upgrade path.
Co-authored-by: cyq1017 <61975706+cyq1017@users.noreply.github.com>
Co-authored-by: gus <217034332+angus-guo@users.noreply.github.com>
Harvests PR #3056 by @reidliu41, keeping overlays in control of number keys, reclaiming Alt+1 through Alt+8 for hotbar dispatch, and updating the help/footer shortcut copy.
Co-authored-by: reidliu41 <61492567+reidliu41@users.noreply.github.com>
Adds the release-note credit for PR #2901 and extends the no-English-leak test to delegate, think, and generic tool labels.
Co-authored-by: gordonlu <3125629+gordonlu@users.noreply.github.com>
Harvests the explainability slice from PR #2971 without changing the public HookEvent constructor shape. Runtime API approval.required frames now carry matched_rule metadata when an execpolicy rule caused the prompt.
Co-authored-by: greyfreedom <11493871+greyfreedom@users.noreply.github.com>