@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.
- package/README.md +65 -3
- 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).
|
|
409
|
-
|
|
410
|
-
|
|
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.
|
|
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.
|
|
32
|
-
"@gkoreli/ghx-darwin-x64": "2.
|
|
33
|
-
"@gkoreli/ghx-linux-arm64": "2.
|
|
34
|
-
"@gkoreli/ghx-linux-x64": "2.
|
|
35
|
-
"@gkoreli/ghx-win32-arm64": "2.
|
|
36
|
-
"@gkoreli/ghx-win32-x64": "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
|
}
|