`sidecar/claude-sdk` is the repo's second TypeScript package, wired to the root only through `npm --prefix`. It reads length-prefixed MessagePack frames on stdin, runs one SDK query, forwards every tool call to Rust, and returns Rust's answer to the model verbatim. It computes no tool result, reads no credential, logs no prompt, argument, or result, and writes nothing outside its own stdout. The query is opened with a custom system prompt, `settingSources: []`, `tools: []`, `strictMcpConfig`, `persistSession: false`, and `alwaysLoad` on every tool, so no CLAUDE.md, settings file, output style, built-in tool, or persisted transcript reaches a caller-derived prompt. `schema.ts` converts exactly the grammar `tool_schema.rs` emits and throws on anything else, so an emitter that outgrows it fails a test rather than registering a looser tool. Two Rust tests publish the fixtures the sidecar tests read — the frame bytes and every real `parameters_json` — so the halves cannot drift apart silently. Dependencies are exact-pinned: @anthropic-ai/claude-agent-sdk 0.3.261, @msgpack/msgpack 3.1.3, zod 4.5.4, and dev typescript 5.9.3 with @types/node 24.13.3. `engines.node` is the installed major. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
20 lines
420 B
Text
20 lines
420 B
Text
__pycache__/
|
|
*.pyc
|
|
.venv/
|
|
node_modules/
|
|
web/dist/
|
|
sidecar/claude-sdk/dist/
|
|
state/scratch-compaction-*.md
|
|
experiments/images/
|
|
target/
|
|
|
|
# Disposable local scaffolding. These accumulated to ~87MB of untracked debris
|
|
# once; the workspace must stay re-enterable, so they never come back.
|
|
.tmp-*
|
|
/tmp/
|
|
--help
|
|
--help.lock
|
|
/acceptance-run*
|
|
|
|
# Claude Code agent worktrees (Hands/Soul isolation); never source
|
|
.claude/worktrees/
|