@gkoreli/ghx 2.4.2 → 2.5.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.
Files changed (2) hide show
  1. package/README.md +65 -3
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -68,8 +68,16 @@ you can `ls` and `jq`:
68
68
  logs.jsonl # GenAI-convention message-content records
69
69
  metrics.jsonl # duration, token, report-size metrics
70
70
  tier-decisions.jsonl # escalation policy evaluation per turn (which tier, why)
71
+ live.jsonl # realtime turn activity, appended as it happens
71
72
  ```
72
73
 
74
+ The OTLP artifacts are written when a question completes; `live.jsonl` streams
75
+ turn activity in realtime — turn start/end, text and thought chunks, every tool
76
+ call and update as the agent works — so
77
+ `tail -f ~/.ghx/sessions/<name>/live.jsonl` watches a running question instead
78
+ of waiting minutes for the final report
79
+ (see [ADR-0022.1](docs/adr/0022.1-live-turn-log.md)).
80
+
73
81
  Sessions persist, so follow-up questions on the same repo are cheaper and
74
82
  context-aware. The traces are **official OpenTelemetry** (OTLP/JSON, GenAI
75
83
  semantic conventions) — any industry tool consumes them in seconds, and
@@ -167,6 +175,57 @@ ghx sidecar config init --claude-acp # writes ~/.ghx/config.json with the ACP
167
175
  Re-running `config init --claude-acp` against an existing config shows a field
168
176
  diff and refuses to overwrite without `--force`.
169
177
 
178
+ **Using your installed Claude Code (toolbox / wrapper builds).** The adapter's
179
+ SDK ships its own bundled Claude Code binary and its own credential store — by
180
+ default your `claude` on PATH (and its `~/.claude/settings.json`, credential
181
+ hooks, model aliases) is **not** what runs. If your organization installs a
182
+ wrapped `claude` that carries work credentials, point the adapter at it with
183
+ `CLAUDE_CODE_EXECUTABLE` (honored by `claude-agent-acp` ≥ 0.55):
184
+
185
+ ```json
186
+ {
187
+ "agent": "env CLAUDE_CODE_EXECUTABLE=/path/to/your/claude npx -y @agentclientprotocol/claude-agent-acp@0.55.0"
188
+ }
189
+ ```
190
+
191
+ `ghx sidecar config init --claude-exe /path/to/your/claude` writes exactly this
192
+ config for you (`--claude-exe auto` resolves `claude` from your PATH; the same
193
+ diff-and-`--force` rules apply).
194
+
195
+ > **Known upstream issue (enterprise wrapper builds):** when
196
+ > `CLAUDE_CODE_EXECUTABLE` points at a *wrapper* script/binary (e.g. a
197
+ > corporate toolbox `claude` that resolves credentials itself), the adapter
198
+ > can hang indefinitely at prompt time: ghx legitimately sends ACP
199
+ > `settingSources: []` for session isolation, and some wrappers stall instead
200
+ > of erroring when settings loading is suppressed (isolated 2026-07-06:
201
+ > `settingSources: []` alone reproduces the hang; `strictMcpConfig` and
202
+ > `tools` do not; mechanism: the native binary resolves Bedrock
203
+ > `modelOverrides` from `~/.claude/settings.json` and stalls instead of
204
+ > erroring when that read is suppressed). The fix is one config line:
205
+ >
206
+ > ```json
207
+ > {
208
+ > "agent": "env CLAUDE_CODE_EXECUTABLE=/path/to/your/claude npx -y @agentclientprotocol/claude-agent-acp@0.55.0",
209
+ > "agentSettingSources": ["user"]
210
+ > }
211
+ > ```
212
+ >
213
+ > `agentSettingSources` opts the spawned agent into loading your user
214
+ > settings (`~/.claude/settings.json`) so the wrapper's model aliases and
215
+ > credential hooks work. It deliberately weakens session isolation — host
216
+ > user settings apply to sidecar sessions — which is why it is opt-in and
217
+ > off by default (ADR-0033.2). Wrapping the *adapter* in a script that
218
+ > exports auth env itself remains a valid alternative.
219
+
220
+ Embedding `env VAR=...` in the agent command makes the setting travel with the
221
+ command itself, so it works no matter which process (CLI or resident daemon)
222
+ spawns the agent. Exporting `CLAUDE_CODE_EXECUTABLE` in your shell also works:
223
+ every ask forwards auth-relevant env to the agent
224
+ ([ADR-0033.1](docs/adr/0033.1-client-auth-env-passthrough.md)), and the same
225
+ applies to Bedrock/Vertex/gateway env (`CLAUDE_CODE_USE_BEDROCK`, `AWS_*`,
226
+ `ANTHROPIC_BASE_URL`, ...). `ghx sidecar doctor` shows exactly which names your
227
+ shell would forward.
228
+
170
229
  ### 3. Verify
171
230
 
172
231
  ```bash
@@ -405,9 +464,12 @@ the binary codemap needs for `--importers`/`--deps`), and `local:repomap`
405
464
  stolen with attribution from
406
465
  [aider's repo map](https://github.com/Aider-AI/aider), Apache-2.0 — an
407
466
  algorithm, not a dependency; deterministic given the same snapshot and
408
- query). If a tool binary is missing, ghx prints the install hint and exits
409
- before any clone; answers fall back to remote Tier-1 evidence — never a
410
- silent or faked Tier-2 result. `astgrep` follows grep parity: exit `1` with
467
+ query). Only `local:repomap` works with zero extra installs; codemap and
468
+ ast-grep are optional external binaries, and `ghx sidecar doctor` reports
469
+ which tier-2 backends resolve on your machine with install hints for the
470
+ missing ones. If a tool binary is missing, ghx prints the install hint and
471
+ exits before any clone; answers fall back to remote Tier-1 evidence — never
472
+ a silent or faked Tier-2 result. `astgrep` follows grep parity: exit `1` with
411
473
  `[]` means the search ran and found nothing.
412
474
 
413
475
  When the sidecar answers a question, escalation is never vibes: every turn
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gkoreli/ghx",
3
- "version": "2.4.2",
3
+ "version": "2.5.0",
4
4
  "description": "Agent-first GitHub code exploration. GraphQL batching, code maps, codemode TypeScript sandbox, MCP server.",
5
5
  "bin": {
6
6
  "ghx": "npm/bin/ghx"
@@ -28,11 +28,11 @@
28
28
  "node": ">=16"
29
29
  },
30
30
  "optionalDependencies": {
31
- "@gkoreli/ghx-darwin-arm64": "2.4.2",
32
- "@gkoreli/ghx-darwin-x64": "2.4.2",
33
- "@gkoreli/ghx-linux-arm64": "2.4.2",
34
- "@gkoreli/ghx-linux-x64": "2.4.2",
35
- "@gkoreli/ghx-win32-arm64": "2.4.2",
36
- "@gkoreli/ghx-win32-x64": "2.4.2"
31
+ "@gkoreli/ghx-darwin-arm64": "2.5.0",
32
+ "@gkoreli/ghx-darwin-x64": "2.5.0",
33
+ "@gkoreli/ghx-linux-arm64": "2.5.0",
34
+ "@gkoreli/ghx-linux-x64": "2.5.0",
35
+ "@gkoreli/ghx-win32-arm64": "2.5.0",
36
+ "@gkoreli/ghx-win32-x64": "2.5.0"
37
37
  }
38
38
  }