@gkorepanov/ccodex 0.5.0-rc.17 → 0.5.0-rc.19

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.
Files changed (43) hide show
  1. package/README.md +156 -165
  2. package/claude/chat-formatting.md +25 -0
  3. package/config/compatibility.json +1 -1
  4. package/dist/claude/native/catalog.d.ts +3 -0
  5. package/dist/claude/native/catalog.js +10 -2
  6. package/dist/claude/native/catalog.js.map +1 -1
  7. package/dist/claude/native/projector.js +3 -3
  8. package/dist/claude/native/projector.js.map +1 -1
  9. package/dist/claude/native/summary.d.ts +2 -1
  10. package/dist/claude/native/summary.js +15 -4
  11. package/dist/claude/native/summary.js.map +1 -1
  12. package/dist/claude/sdk.d.ts +6 -5
  13. package/dist/claude/sdk.js +10 -7
  14. package/dist/claude/sdk.js.map +1 -1
  15. package/dist/claude/session.d.ts +20 -5
  16. package/dist/claude/session.js +79 -15
  17. package/dist/claude/session.js.map +1 -1
  18. package/dist/claude/threads.d.ts +17 -1
  19. package/dist/claude/threads.js +158 -46
  20. package/dist/claude/threads.js.map +1 -1
  21. package/dist/claude/toolMapper.js +3 -0
  22. package/dist/claude/toolMapper.js.map +1 -1
  23. package/dist/gateway/connection.js +2 -2
  24. package/dist/gateway/connection.js.map +1 -1
  25. package/dist/gateway/lineage.d.ts +9 -1
  26. package/dist/gateway/lineage.js +104 -33
  27. package/dist/gateway/lineage.js.map +1 -1
  28. package/dist/gateway/server.d.ts +1 -1
  29. package/dist/gateway/server.js +11 -7
  30. package/dist/gateway/server.js.map +1 -1
  31. package/dist/gateway/status.d.ts +5 -2
  32. package/dist/gateway/status.js +37 -18
  33. package/dist/gateway/status.js.map +1 -1
  34. package/dist/management/commands.d.ts +2 -0
  35. package/dist/management/commands.js +50 -2
  36. package/dist/management/commands.js.map +1 -1
  37. package/dist/meta.d.ts +28 -0
  38. package/dist/meta.js +26 -1
  39. package/dist/meta.js.map +1 -1
  40. package/dist/protocol/codex.d.ts +1 -3
  41. package/dist/protocol/codex.js +1 -4
  42. package/dist/protocol/codex.js.map +1 -1
  43. package/package.json +5 -4
package/README.md CHANGED
@@ -4,8 +4,8 @@
4
4
 
5
5
  **Claude models inside the official Codex App.**
6
6
 
7
- *Claude Code'x — or just **CCodex** — is a compatibility bridge that teaches the
8
- Codex desktop and mobile apps to run Claude models.*
7
+ *Claude Code'x — or just **CCodex** — lets the Codex desktop app, the ChatGPT mobile app
8
+ and the Codex CLI run Claude models next to GPT.*
9
9
 
10
10
  </div>
11
11
 
@@ -26,208 +26,199 @@ curl -fsSL https://github.com/gkorepanov/ccodex/releases/latest/download/install
26
26
 
27
27
  ---
28
28
 
29
- ## Why
29
+ Want Fable and Opus writing your code, but prefer the Codex App and its remote sessions
30
+ from desktop and phone? CCodex puts the **native Claude Code harness** (official Claude
31
+ Agent SDK, your own Claude login) behind that UI. GPT chats still go to your installed
32
+ Codex unchanged. No CCodex servers, no telemetry; MIT-licensed.
30
33
 
31
- Want Fable and Opus writing your code, but can't stand the Claude Code app? Same.
32
- The Codex App is everything it isn't: a genuinely great agentic UI with remote
33
- sessions from desktop and mobile that just *work*, from anywhere. CCodex is the
34
- missing bridge.
34
+ > [!WARNING]
35
+ > CCodex is young. Expect bugs — and please [report them](https://github.com/gkorepanov/ccodex/issues).
35
36
 
36
37
  ## What you get
37
38
 
38
- - 🤖 **Claude models in the official Codex App** — `claude:*` models appear right in
39
- the stock model picker, next to `gpt-*`.
40
- - 📱 **Rock-solid remote sessions** — drive Claude tasks from the Codex App and the
41
- official ChatGPT mobile app over SSH, exactly the way you already use OpenAI models.
42
- - 🔀 **Seamless provider switching** — jump between OpenAI and Claude mid-project with
43
- a compact context handoff, so your chat doesn't start from zero.
44
- - ⚡ **Native-feeling Codex features** — threads, turns, tools, approvals, `/compact`,
45
- Fork, effort and fast-mode settings all work with Claude models like they were built in.
46
- - 🧩 **Claude skills in `$` autocomplete** — project and user skills appear beside Codex
47
- skills and invoke Claude's native slash commands.
48
- - 📊 **Status command** — `/cc` (also `/ccstatus`, `/ccodex`, `/ccstate`, with or without
49
- the slash, or *CCodex status* in the App's `/` menu) shows the chat's model, settings,
50
- context and session next to ❋ Claude and ֎ Codex quotas. Sent while a turn runs, it
51
- answers at once without reaching the model.
52
- - ✨ **Bonus: better thread titles** — threads in the Codex App get auto-named in a
53
- fun, readable way with an emoji prefix, so you can tell them apart at a glance.
54
- Want your own naming style? Drop any custom prompt into `~/.ccodex/config.toml`.
55
-
56
- ### Not a hack
57
-
58
- CCodex is **not** a Codex harness bolted onto a reverse-engineered Anthropic
59
- subscription. It is the **native Claude Code harness** (official Claude Agent SDK +
60
- Claude Code runtime), surfaced through the excellent Codex App UI. You log in to each
61
- provider with its own official CLI, and no Anthropic or OpenAI terms are violated.
62
-
63
- ### 100% local, 100% open source
64
-
65
- CCodex sends **nothing anywhere**. There are no CCodex servers, no telemetry, no
66
- proxies of ours in the middle — traffic goes over the exact same infrastructure the
67
- stock Claude CLI and Codex CLI already use, straight to the providers. Everything else
68
- lives on your machine, and the entire codebase is MIT-licensed and open.
69
-
70
- ## Project status
71
-
72
- > [!WARNING]
73
- > CCodex is very early and not extensively tested yet. Expect bugs — and please
74
- > [report them](https://github.com/gkorepanov/ccodex/issues).
39
+ - **Claude models in the model picker**, next to `gpt-*` (ids `claude:…`), with Claude's
40
+ effort levels and Fast mode. Codex's `ultra` effort runs Claude at `max` and has it
41
+ delegate to sub-agents proactively, as stock does for GPT.
42
+ - **Switch providers mid-chat.** Pick a GPT model in a Claude chat (or the other way
43
+ round) and the conversation is compacted into a summary that the other provider
44
+ continues from. The App keeps showing one chat with one history; edits and forks across
45
+ the switch work.
46
+ - **Codex App features on Claude chats**: approvals, Plan mode, `/goal`, `/compact`, fork,
47
+ message edits, steering and queued messages, Stop, side chats (`/side`, served by
48
+ Claude's `/btw`), images, Claude's questions as the App's question prompts, its task
49
+ list as the turn's to-do list, and thinking as reasoning summaries.
50
+ - **Sub-agents and background commands like stock's**: Claude sub-agents open as their
51
+ own threads, background shell commands show as background terminals, and messages
52
+ between Claude chats show as the App's messages between tasks.
53
+ - **Claude skills in the `$` picker**, beside Codex skills, in Claude and GPT chats.
54
+ - **Search**: the sidebar search and find-in-chat cover Claude chats too.
55
+ - **Phone**: turn on remote control in the Codex App (or
56
+ `codex app-server daemon enable-remote-control` on the host) and pair the ChatGPT
57
+ mobile app as usual; it drives Claude chats like GPT ones.
58
+ - **Your `claude` CLI sessions show up** in the App, and chats from the App resume in
59
+ `claude --resume <id>` (a Claude chat's id is its Claude session id). While another live
60
+ Claude process has a chat open, the App can't start a turn in it.
61
+ - **Claude can delegate to Codex** through the `codex-wrapper` agent that setup installs;
62
+ what Codex does streams into the Claude chat.
63
+ - **`/cc` status card** (also `/ccstatus`, `/ccodex`, `/ccstate`, with or without the
64
+ slash, or *CCodex status* in the `/` menu): the chat's model, effort, permission mode,
65
+ context use, session state, and Claude and Codex plan limits. Sent while a turn runs,
66
+ it answers at once and never reaches the model.
67
+ - **Emoji thread titles** from a small GPT model and an editable prompt; Claude chats get
68
+ a ` ✳️` suffix.
75
69
 
76
70
  ## Install
77
71
 
78
- The one-liner above is all you need (it installs the Codex CLI too if it is missing).
79
- Prefer npm?
72
+ ### Requirements
73
+
74
+ | | |
75
+ |---|---|
76
+ | **OS** | macOS 11+ on Apple silicon · Linux x64 or arm64 with glibc ≥ 2.31 (no Alpine/musl) · Bash, Zsh or Fish |
77
+ | **Node.js** | `>=22.13 <27` (22 or 24 LTS recommended), npm `>=10` |
78
+ | **Codex CLI** | any recent version; installed for you if missing. Tested with `0.156` and `0.157` |
79
+ | **Claude Code** | nothing to install: the Agent SDK brings it (`0.3.280` / Claude Code `2.1.280`) |
80
+
81
+ Don't run the installer or setup as root or with `sudo`.
82
+
83
+ ### 1. Install
84
+
85
+ Either the script (it checks the platform, installs `@openai/codex` if there is no
86
+ `codex`, then runs `ccodex setup`):
80
87
 
81
88
  ```sh
82
- npm install -g @openai/codex # CCodex runs the Codex you have installed, any version
83
- npm install -g @gkorepanov/ccodex
84
- ccodex setup
89
+ curl -fsSL https://github.com/gkorepanov/ccodex/releases/latest/download/install.sh | sh
85
90
  ```
86
91
 
87
- Provider login is optional at install time — add or repair it whenever:
92
+ or npm:
88
93
 
89
94
  ```sh
90
- ccodex auth codex
91
- ccodex auth claude
95
+ npm install -g @gkorepanov/ccodex
92
96
  ccodex setup
93
97
  ```
94
98
 
95
- Keeping it healthy, updated, or removing it:
99
+ ### 2. Log in
100
+
101
+ Skip what you are already logged in to; rerun any time:
96
102
 
97
103
  ```sh
98
- ccodex doctor # (or --json)
99
- ccodex update # npm latest; --check / --next available
100
- ccodex uninstall # preserves config and state; add --purge --yes to wipe
104
+ ccodex auth codex # codex login
105
+ ccodex auth claude # Claude Code login (the SDK's bundled claude)
101
106
  ```
102
107
 
103
- The release asset also ships a matching `uninstall.sh` that works even if your shell
104
- `PATH` no longer resolves `ccodex`.
105
-
106
- ## How it works
108
+ ### 3. Activate
107
109
 
108
- CCodex is a thin layer in front of the `codex app-server` you already have installed:
109
-
110
- - **gpt threads are stock, byte for byte.** One stock `codex app-server` serves every App
111
- connection (each over a connection of its own); CCodex forwards its traffic unchanged.
112
- No pinned Codex: update Codex whenever you like.
113
- - **Claude threads are Claude Code sessions.** `claude:*` models run on the official
114
- Claude Agent SDK, and `~/.claude/projects` is the only source of truth: every session
115
- (including ones made in the `claude` CLI) is listed at once. Claude's own `/goal`,
116
- compaction, sub-agents, skills, and background tasks show up as native Codex items.
117
- Like stock's threads, a Claude chat nobody has open is unloaded after 30 idle minutes,
118
- unless a command it runs still works (a background command idle for 30 minutes counts
119
- as hung and is ended).
120
- - **Provider switch = compaction.** Switching model provider mid-thread compacts the
121
- conversation with the Codex prompt, then continues in a new native thread of the other
122
- provider seeded with the summary; the App keeps showing one thread with one history.
123
- Forks and rollbacks across the switch land in the right segment.
124
- - Codex approval modes map onto Claude permissions: *Full Access* →
125
- `bypassPermissions`, *Ask for approval* → `default`, *Approve for me* → `auto`.
126
- Claude effort and fast mode map from Codex reasoning / priority settings; Codex's
127
- `ultra` runs Claude at `max` and turns on proactive sub-agent delegation, as stock does.
128
- - The only state CCodex keeps is a tiny optional `~/.ccodex/state/meta.json`
129
- (provider-switch lineages, archive flags and sections of Claude threads).
130
- - Plain `codex …` commands (TUI, `exec`, login) go straight to your installed Codex.
131
- `codex mcp-server` (removed from Codex in 0.154) is served by CCodex on top of
132
- `codex exec`, and Claude threads stream what those Codex sessions do.
133
-
134
- Setup activates a new version atomically and never restarts a running gateway: the new
135
- version takes over after `codex app-server daemon restart`.
136
-
137
- ### Upgrading from 0.4
138
-
139
- 0.5 drops the 0.4 databases. `ccodex setup` (also when 0.4's setup hands over to 0.5)
140
- carries provider-switch history, archive flags, sections and names over once, before it
141
- activates 0.5; a failed migration activates nothing. Claude chats get their Claude session
142
- ids (links to 0.4 thread ids stop working); 0.4's `/btw` side chats are archived. Claude
143
- chats whose transcripts Claude's 30-day cleanup deleted come back from 0.4's turns as text.
144
- The 0.4 databases move to `~/.ccodex.0.4-backup`. Then:
110
+ Open a new shell, then restart the gateway:
145
111
 
146
112
  ```sh
147
113
  codex app-server daemon restart
148
114
  ```
149
115
 
150
- ### Local Codex App (same-Mac)
151
-
152
- Over SSH the App resolves `codex` through your `PATH`, so the shim engages. The **local
153
- Codex App**, however, launches its bundled `codex app-server` directly and ignores
154
- `PATH`, so ccodex never sees it and no `claude:*` models appear. On macOS `ccodex setup`
155
- closes that gap without ever touching the signed `.app` bundle (so Sparkle auto-updates
156
- keep working):
157
-
158
- - `ccodex setup` points the App at ccodex automatically via
159
- `CODEX_CLI_PATH=~/.ccodex/bin/codex` — it runs `launchctl setenv` for the live
160
- session, installs a one-shot login LaunchAgent (`dev.ccodex.codex-cli-path`) so the GUI
161
- session re-publishes it on every login/reboot, and exports it in the managed shell
162
- blocks for terminal-launched instances. The same managed `codex` entrypoint is used
163
- locally and over SSH. **Fully quit the Codex App (`Cmd+Q`) and relaunch it**
164
- (or log out and back in) so it picks up the variable.
165
- - A bare `app-server` launch runs a thin **stdio frontend**: it forwards the App's
166
- newline-delimited JSON to the existing app-server-control socket, lazily starts the
167
- gateway when cold, and reconnects after gateway restarts. Provider state and lifecycle
168
- remain exclusively inside the existing gateway.
169
- - A gateway started otherwise (from a terminal, or for an earlier App launch) is replaced
170
- at once by one the frontend starts: the App lets only processes under it use its
171
- browser (Browser Use), and that gateway runs with the App's environment. Chats running
172
- in the old gateway stop, as the App's own chats stop when it quits.
173
- - There is **no extra macOS gateway service**. The same PID-managed gateway used over SSH
174
- starts lazily when the App connects and stops through the existing daemon contract.
175
- Setup/update/rollback only switch files and ask you to reconnect; they never restart a
176
- live gateway underneath a task.
177
- - `ccodex uninstall` removes the login hook, restores any previous `CODEX_CLI_PATH`,
178
- strips the managed shell export, and stops only CCodex's own PID-managed gateway.
179
-
180
- ## Technical details
116
+ - **Codex App over SSH:** reconnect to the host. The App finds CCodex's `codex` first on
117
+ `PATH` (and at `~/.local/bin/codex`).
118
+ - **Local Codex App on macOS:** fully quit the App (`Cmd+Q`) and open it again (or log
119
+ out and back in).
120
+ - **Local Codex App on Linux:** setup doesn't configure it; start the App with
121
+ `CODEX_CLI_PATH=~/.ccodex/bin/codex` in its environment.
122
+
123
+ ### What setup changes
124
+
125
+ - Installs the version under `~/.ccodex/versions/` and the `codex` / `ccodex` shims in
126
+ `~/.ccodex/bin`, which a managed block (`# >>> ccodex >>>`) puts first on `PATH` in your
127
+ Bash, Zsh and Fish startup files.
128
+ - Links `~/.local/bin/codex` to the shim; a `codex` found there moves to
129
+ `~/.ccodex/backups/remote-codex` and stays the Codex CCodex runs.
130
+ - macOS: sets `CODEX_CLI_PATH` for the local App (`launchctl setenv` plus a login
131
+ LaunchAgent `dev.ccodex.codex-cli-path`), so the App starts CCodex instead of its bundled
132
+ `codex`. The signed `.app` is never touched, so its auto-updates keep working.
133
+ - Claude Code: sets `cleanupPeriodDays: 36500` in `~/.claude/settings.json` when unset
134
+ (Claude deletes transcripts older than 30 days by default, and with them your Claude
135
+ chats), and installs the `codex-wrapper` agent, the `workforce` skill and the `codex` MCP
136
+ server (user scope).
137
+ - In a terminal, offers to append the Formulas and Plots sections of
138
+ [`claude/chat-formatting.md`](claude/chat-formatting.md) to `~/.claude/CLAUDE.md`, so
139
+ Claude writes LaTeX and plots the way the App renders them.
140
+ - Never restarts a running gateway: a new version takes over after
141
+ `codex app-server daemon restart`.
142
+
143
+ ## Update, upgrade from 0.4, uninstall
181
144
 
182
- | | |
183
- |---|---|
184
- | **CCodex** | `0.5.0` |
185
- | **Codex CLI** | whatever is installed (`npm i -g @openai/codex`); tested with `0.156` |
186
- | **Claude Agent SDK / Claude Code** | `0.3.280` / `2.1.280` |
187
- | **Runtime** | Node.js `>=22.13 <27`, npm `>=10` |
188
- | **Platforms** | macOS 11+ (arm64) · Linux arm64 & x64, glibc ≥2.31 (Ubuntu 22.04+, Debian 11+, Fedora/RHEL equivalents). Alpine/musl not supported |
189
- | **Shells** | Bash, Zsh, Fish |
190
- | **Relay** | Prebuilt per-platform `@gkorepanov/ccodex-relay-*` optional packages — installs never compile Rust or native addons |
191
-
192
- Fresh setup writes the editable title prompt to `~/.ccodex/config.toml`:
193
-
194
- ```toml
195
- rename_prompt = """
196
- Create a concise, vivid, memorable title for the task.
197
- Start with exactly one rare, expressive, context-relevant emoji followed by one space.
198
- Avoid generic decorative emoji when a more specific symbol fits.
199
- Keep the complete title, including emoji, within 36 characters.
200
- Return only the title.
201
- """
202
-
203
- # title_model = "gpt-6-luna" # default: a small visible Codex model
145
+ ```sh
146
+ ccodex update # to npm latest; --check only reports, --next takes the pre-release
147
+ ccodex doctor # health check (--json available)
148
+ ccodex uninstall # keeps ~/.ccodex/config.toml and ~/.ccodex/state
149
+ ccodex uninstall --purge --yes # also deletes ~/.ccodex
204
150
  ```
205
151
 
206
- Remove or comment out `rename_prompt` for stock Codex title generation. With it, new
207
- threads are titled by the title model (Claude threads get a ` ✳️` suffix); manual names
208
- take priority. Setup never restores a prompt removed from an existing config. Other
209
- optional keys are listed in [`examples/config.toml`](examples/config.toml).
152
+ Uninstall stops CCodex's gateway and undoes the `PATH`, `~/.local/bin/codex` and
153
+ `CODEX_CLI_PATH` changes; what setup added to `~/.claude` stays. If `ccodex` is gone from
154
+ `PATH`, use the release's `uninstall.sh` (`… | sh -s -- --purge` to purge):
155
+ `curl -fsSL https://github.com/gkorepanov/ccodex/releases/latest/download/uninstall.sh | sh`
156
+
157
+ **From 0.4:** run `ccodex update` (or reinstall), then `codex app-server daemon restart`.
158
+ 0.5 keeps no databases of its own; setup migrates 0.4's state once before it activates
159
+ 0.5 (a failed migration activates nothing). Provider-switch history, archive flags,
160
+ sections and names carry over. Claude chats get their Claude session ids (links to 0.4
161
+ thread ids stop working), 0.4's side chats are archived, and chats whose transcripts
162
+ Claude's 30-day cleanup deleted come back as text. The 0.4 databases move to
163
+ `~/.ccodex.0.4-backup`.
210
164
 
211
- For bug reports, `rpc_capture = true` records every App RPC frame under `~/.ccodex/state`
212
- (`rpc.jsonl`, mode `0600`, rolls at a combined 1 GiB), prompts and outputs included — it is
213
- off by default and never leaves your disk.
165
+ ## Settings
214
166
 
215
- Client quirk worth knowing: the built-in `/status` differs by client (Mobile consumes
216
- provider-labelled quota events; Desktop may render its own OpenAI-account view).
217
- `/cc` is the client-independent source of truth.
167
+ Claude chats follow the App's own controls:
168
+
169
+ | Codex App | Claude Code |
170
+ |---|---|
171
+ | *Full Access* / *Ask for approval* / *Approve for me* | permission mode `bypassPermissions` / `default` / `auto` |
172
+ | Plan mode | permission mode `plan` |
173
+ | Reasoning effort | effort (`ultra` = `max` + proactive sub-agents) |
174
+ | Fast | Claude fast mode |
175
+
176
+ `~/.ccodex/config.toml` (every key optional; all of them are in
177
+ [`examples/config.toml`](examples/config.toml)):
178
+
179
+ - `rename_prompt` — the title prompt; remove it for stock Codex titles (manual names
180
+ always win). `title_model` — the model that writes them.
181
+ - `log_level` — `debug`, `info` (default), `warn`, `error`.
182
+ - `codex_binary`, `delegate_codex`, `claude_binary` — use a specific `codex` or `claude`.
183
+
184
+ ## Troubleshooting
185
+
186
+ - `ccodex doctor` checks Node, Codex and Claude and their logins, the prebuilt native
187
+ relay (`@gkorepanov/ccodex-relay-*`), the gateway and the install, and says what to run.
188
+ - `codex app-server daemon restart` restarts the gateway (chats running in it stop).
189
+ - The gateway's log is `~/.codex/app-server-daemon/app-server.stderr.log`, rewritten at
190
+ each gateway start; set `log_level = "debug"` for more.
191
+ - For a bug report, `rpc_capture = true` records every App message to
192
+ `~/.ccodex/state/rpc.jsonl` (mode `0600`, capped at 1 GiB, prompts and outputs
193
+ included). Off by default; it never leaves your disk.
194
+ - The App's built-in `/status` differs by client (Desktop may show only its OpenAI account);
195
+ `/cc` shows the same in every client.
196
+ - On a Mac, the local App replaces a gateway started from a terminal (or by an earlier App
197
+ launch) with its own, so that Browser Use works; chats running in the old one stop.
198
+
199
+ ## How it works
200
+
201
+ CCodex is a thin gateway in front of your installed `codex app-server`: the App starts
202
+ CCodex's `codex`, one stock app-server serves every GPT chat unchanged, and `claude:*`
203
+ chats run on the Claude Agent SDK with Claude's transcripts in `~/.claude/projects` as
204
+ their only source of truth. The only state CCodex adds is an optional
205
+ `~/.ccodex/state/meta.json` (provider-switch history, archive flags and sections of Claude
206
+ chats). Plain `codex …` commands (TUI, `exec`, `login`) run your installed Codex; `codex
207
+ mcp-server`, removed from Codex in `0.154`, is served by CCodex on top of `codex exec`.
218
208
 
219
209
  ## Development
220
210
 
221
211
  ```sh
222
212
  npm ci --ignore-scripts
223
213
  npm run check
224
- npm test # black-box gateway tests + schema check against the installed codex
225
- scripts/e2e/run.sh # podman, real models, copies of your credentials (never your live state)
214
+ npm test # unit and black-box gateway tests, relay tests
215
+ scripts/e2e/run.sh # rootless podman, real models, copies of your credentials
226
216
  ```
227
217
 
228
- Release workflows build and execute all three native relay packages, publish platform
229
- packages before the main package, generate checksums / SBOM / notices, and use npm
230
- trusted publishing with provenance.
218
+ ## License
219
+
220
+ MIT — see [`LICENSE`](LICENSE). Third-party licenses and notices:
221
+ [`legal/LICENSES.md`](legal/LICENSES.md), [`legal/THIRD_PARTY_NOTICES.md`](legal/THIRD_PARTY_NOTICES.md).
231
222
 
232
223
  <div align="center">
233
224
  <sub>Claude Code'x is an independent open-source project — not affiliated with, sponsored, or endorsed by OpenAI or Anthropic.</sub>
@@ -0,0 +1,25 @@
1
+ # Formulas
2
+
3
+ Use inline LaTeX for formulas (\(...\) for inline, \[...\] for block equations; not $...$, which the chat shows as raw text). They will be rendered in chat correctly. Use them for any maths you want to show me instead of clumsy plain text formulas.
4
+
5
+ # Plots (check before giving me)
6
+
7
+ Whenever I ask you to make some plot for me, always check the plot before crafting the final response: look manually at the resulting PNG and make sure the plot makes sense, lines are clearly visible, x/y ranges are reasonable etc.
8
+
9
+ Give each plot a short, unique, memorable name (e.g. `latency_by_region`) so I can reference it later; for edits add suffixes like `_fix`, `_v2`.
10
+
11
+ When sending plots in chat, ALWAYS use this format (link title + inline image):
12
+
13
+ ```
14
+ [plot_name](/abs/full/path/to/img.png)
15
+
16
+ ![plot_name](/abs/full/path/to/img.png)
17
+
18
+ ---
19
+
20
+ Here goes a description of the plot, the logic/maths behind it, what are the panels/lines and key takeaways to look at.
21
+
22
+ ---
23
+ ```
24
+
25
+ Do not forget the newlines around the image and the dividers around the description.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "productVersion": "0.5.0-rc.17",
3
+ "productVersion": "0.5.0-rc.19",
4
4
  "note": "Read by CCodex 0.4's setup, which checks productVersion before handing setup over to this version."
5
5
  }
@@ -8,6 +8,8 @@ export interface SessionSummary extends TranscriptHeader {
8
8
  readonly projectKey: string;
9
9
  readonly sizeBytes: number;
10
10
  readonly hasSubagents: boolean;
11
+ /** Proactive delegation (the `ultra` effort) as the transcript last told Claude. */
12
+ readonly delegating: boolean;
11
13
  }
12
14
  /** Where the summaries are kept between runs; `key` (the package version) drops them when the summarizer may differ. */
13
15
  export interface CatalogCache {
@@ -23,6 +25,7 @@ export declare class NativeSessionCatalog implements PeerDirectory {
23
25
  private ordered;
24
26
  private bySessionId;
25
27
  private refreshInFlight;
28
+ private refreshQueued;
26
29
  private readonly projections;
27
30
  private readonly pagers;
28
31
  private senders;
@@ -40,6 +40,7 @@ function summaryOf(file, state) {
40
40
  return {
41
41
  ...new TranscriptSummarizer(state).header(),
42
42
  sessionId: file.sessionId, path: file.path, projectKey: file.projectKey, sizeBytes: file.size, hasSubagents: file.hasSubagents,
43
+ delegating: state.delegating,
43
44
  };
44
45
  }
45
46
  async function hashHead(path, length) {
@@ -62,6 +63,7 @@ export class NativeSessionCatalog {
62
63
  ordered = [];
63
64
  bySessionId = new Map();
64
65
  refreshInFlight;
66
+ refreshQueued;
65
67
  projections = new Map();
66
68
  pagers = new Map();
67
69
  senders = new Map();
@@ -75,8 +77,14 @@ export class NativeSessionCatalog {
75
77
  this.entries = readCache(cache);
76
78
  }
77
79
  refresh(_sessionId) {
78
- if (this.refreshInFlight)
79
- return this.refreshInFlight;
80
+ // A scan in flight may have begun before what the caller just wrote: one more follows it, for all who wait meanwhile.
81
+ if (this.refreshInFlight) {
82
+ this.refreshQueued ??= this.refreshInFlight.catch(() => undefined).then(() => {
83
+ this.refreshQueued = undefined;
84
+ return this.refresh();
85
+ });
86
+ return this.refreshQueued;
87
+ }
80
88
  const refresh = this.scan().finally(() => {
81
89
  if (this.refreshInFlight === refresh)
82
90
  this.refreshInFlight = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/claude/native/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/claude/native/catalog.ts"],"names":[],"mappings":"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"}
@@ -423,8 +423,7 @@ function projectTurns(records, cwd, threadId, subagentPromptUuid, steered, direc
423
423
  const end = starts[turnIndex + 1]?.index ?? records.length;
424
424
  const turnRecords = records.slice(start, end);
425
425
  const input = prompt ? userInputs(prompt) : [];
426
- const hiddenCommand = input.length === 1 && input[0]?.type === "text"
427
- && /^\/(?:compact(?:\s|$)|goal clear$)/u.test(input[0].text);
426
+ const hiddenCommand = input.length === 1 && input[0]?.type === "text" && /^\/compact(?:\s|$)/u.test(input[0].text);
428
427
  const peer = peerOrigin(prompt?.origin);
429
428
  const items = peer ? [peerMessageItem(prompt.uuid, peer, userText(prompt), peers)]
430
429
  : hiddenCommand || !prompt ? []
@@ -457,7 +456,8 @@ function projectTurns(records, cwd, threadId, subagentPromptUuid, steered, direc
457
456
  }
458
457
  else if (record.type === "system" && record.subtype === "local_command" && typeof record.content === "string") {
459
458
  const text = record.content.replace(/<\/?local-command-std(?:out|err)>/gu, "").trim();
460
- if (text)
459
+ // Claude's own word on `/goal` ("Goal set: …"): Codex clients show goals themselves.
460
+ if (text && record.commandRun?.command !== "goal")
461
461
  items.push({ type: "agentMessage", id: record.uuid, text, phase: "commentary", memoryCitation: null });
462
462
  }
463
463
  else if (isCompactBoundary(record))