@dreb/coding-agent 2.68.0 → 2.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -55,11 +55,16 @@ A pre-commit hook runs biome checks, tests, and `tsgo --noEmit` (matching CI) au
55
55
  ```bash
56
56
  npm test # All workspace tests
57
57
  npx vitest --run packages/coding-agent/test/some.test.ts # Single file
58
- bash test.sh # Full suite, including configured live providers
59
- bash test.sh --no-live-api # Offline suite (skips live provider calls)
58
+ bash test.sh # Full suite, offline (no live provider calls)
59
+ bash test.sh --live-api # Also run live provider tests (spends real quota)
60
60
  ```
61
61
 
62
- CI runs `bash test.sh`. The script does not unset API keys: provider tests run when their credentials are available, including OAuth credentials from `~/.dreb/agent/auth.json`, and can consume tokens or subscription quota. CI normally has no provider credentials, so its live tests skip. Use `--no-live-api` for explicit offline isolation; it sets `DREB_SKIP_LIVE_API=1`. Both script modes disable local LLM tests.
62
+ **Live provider tests are opt-in.** They make real, billed requests with API keys and subscription OAuth logins from `~/.dreb/agent/auth.json`, so `npm test`, `bash test.sh`, the pre-commit hook, and CI all skip them by default, even when credentials are present. Credentials are not read or refreshed unless you opt in.
63
+
64
+ - `DREB_LIVE_API=1` (or `bash test.sh --live-api`) enables live provider tests for every provider you have credentials for.
65
+ - `DREB_LIVE_API_EXPENSIVE=1` additionally enables the context-overflow tests, which send prompts larger than a model's full context window (hundreds of thousands of tokens per request). It has no effect without `DREB_LIVE_API=1`.
66
+
67
+ Target a single file or provider when running live tests, for example `DREB_LIVE_API=1 npx vitest --run packages/ai/test/stream.test.ts -t "OpenAI Codex"`. New live tests must gate on `isLiveApiEnabled()` (or `isExpensiveLiveApiEnabled()`) from the package's `test/live-api.ts`; `packages/ai/test/live-api-gating.test.ts` fails if a credential-gated `skipIf`/`runIf` bypasses it. `test.sh` also disables local LLM tests.
63
68
 
64
69
  When updating live model fixtures, check protocol behavior as well as catalog membership. Adaptive Claude tests that assert visible thinking must request `thinkingDisplay: "summarized"`. A conservative registry window is not necessarily the endpoint's hard limit: overflow tests may need to check full input usage (`input + cacheRead + cacheWrite`) when the server accepts a request beyond the configured window.
65
70
 
package/docs/providers.md CHANGED
@@ -50,7 +50,8 @@ Use `/logout` to clear credentials. Tokens are stored in `~/.dreb/agent/auth.jso
50
50
 
51
51
  - Requires ChatGPT Plus or Pro subscription
52
52
  - Personal use only; for production, use the OpenAI Platform API
53
- - Built-in models are `gpt-5.4-mini`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna` (default), and `gpt-6-astra`. The Codex catalog is maintained separately from the OpenAI Platform API catalog.
53
+ - The Codex catalog is derived automatically from the OpenAI Platform catalog at build time: frontier GPT models (GPT-5.5 and newer, named variants such as Sol/Terra/Luna/Astra, and `gpt-daybreak-*` previews) are mirrored onto `openai-codex`, plus `gpt-5.4-mini`. `-pro`, `-mini`, `-nano`, `-chat` and `-codex` variants and dated snapshots are excluded. The build fails loudly if a known Codex model disappears from the OpenAI catalog or a derived model lacks the catalog limits Codex requires (logic in `packages/ai/scripts/codex-models.ts`). Default is `gpt-5.6-luna`. Every Codex model uses a 272k context window, matching Codex CLI's default: the models support ~1M, but prompts above 272k input are billed at 2x. To use a larger window, override `contextWindow` for the model via `modelOverrides` in `models.json`.
54
+ - Which models actually work depends on your ChatGPT plan/workspace — enterprise workspaces often enable new models later. An unavailable model fails with "model is not supported when using Codex with a ChatGPT account".
54
55
  - Astra supports text/image input, a conservative 272K configured context window, and up to 128K output tokens. Codex `minimal` effort is clamped to `low`; `xhigh` and `max` are sent unchanged.
55
56
 
56
57
  ### Kimi For Coding
package/docs/rpc.md CHANGED
@@ -353,6 +353,8 @@ Response:
353
353
  - `main` — cost from main session files only
354
354
  - `subagent` — cost from sub-agent session files only
355
355
 
356
+ Scans every storage root the session can see: the built-in store, custom `sessionDir` roots, and the configured and legacy `subagentSessionDir` roots. See [settings](settings.md#sessions).
357
+
356
358
  #### get_messages
357
359
 
358
360
  Get all messages in the conversation.
package/docs/settings.md CHANGED
@@ -404,7 +404,7 @@ Dashboard host-wide inventory is deliberately different: it reads only the globa
404
404
 
405
405
  `subagentSessionDir` has no CLI flag and project settings cannot override it. Each AgentSession resolves the global value against its runtime cwd and uses it for new single, parallel, and chain child logs. If the configured root differs from the legacy `<agent-dir>/subagent-sessions` location, restart-time RPC rehydration scans the configured root first and the legacy root second, deduplicating canonical paths. This is discovery compatibility only: dreb does not move, copy, or delete old logs.
406
406
 
407
- Both settings accept the same path syntax: absolute paths stay absolute, `~` and `~/...` expand from the user home directory, and relative paths resolve against an explicit runtime base. That base is the main CLI cwd for CLI settings/flags/hooks, Dashboard's startup cwd for its global main inventory, and the AgentSession runtime cwd for `subagentSessionDir`. Empty or whitespace-only values are treated as unset. These roots affect transcripts only; they do not relocate credentials, `settings.json`, or other agent configuration.
407
+ Both settings accept the same path syntax: absolute paths stay absolute, `~` and `~/...` expand from the user home directory, and relative paths resolve against an explicit runtime base. That base is the main CLI cwd for CLI settings/flags/hooks, Dashboard's startup cwd for its global main inventory, and the AgentSession runtime cwd for `subagentSessionDir`. Empty or whitespace-only values are treated as unset. The footer / Dashboard daily cost ("today") sums today's transcripts from every root a session can see: the built-in nested store, the active session's flat root, the global and effective `sessionDir`, and both the configured and legacy subagent roots. Files reachable from more than one root are counted once. Sessions written to a project `sessionDir` that isn't visible from the current session are not counted. These roots affect transcripts only; they do not relocate credentials, `settings.json`, or other agent configuration.
408
408
 
409
409
  ### Model Cycling
410
410
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreb/coding-agent",
3
- "version": "2.68.0",
3
+ "version": "2.69.0",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "drebConfig": {