How elidickinson/pi-claude-bridge works
pi-claude-bridge is a Pi extension offering two user-facing capabilities: a Claude Code-backed model provider whose tool calls return through Pi, and an opt-in AskClaude delegation tool. The main runtime in src/index.ts coordinates queries, streaming, tool-result delivery, and session handling; supporting modules manage prompts, configuration, transcript conversion, and model metadata. The README documents additional provider capabilities, including skills forwarding and steering. Most runtime wiring is concentrated in index.ts; unsampled implementation details are represented only where the README or source index supports them.
Main entry points: index.ts Pi extension runtime · prompt-capture.ts Prompt capture · convert.ts Pi transcript conversion · askclaude-schema.ts AskClaude tool schema
Components 21
Bridge runtime
- Pi extension runtime
src/index.ts - Query state
src/query-state.ts - Prompt stream
src/prompt-stream.ts - Tool-result extraction
src/extract-tool-results.ts - MCP tool server
src/mcp-server.ts - Bridge configuration
src/config.ts - Debug log paths
src/log-paths.ts
Claude provider
- Claude Agent SDK
- Claude Code CLI
- Model catalog mapping
src/models.ts - Usage reporting
src/usage.ts
AskClaude delegation
- AskClaude tool schema
src/askclaude-schema.ts - AskClaude UI
src/askclaude-ui.ts
Prompt and history
- Prompt capture
src/prompt-capture.ts - Skills forwarding
src/skills.ts - Project context formatting
src/agents-md.ts - Transcript replay
src/transcript.ts - Pi transcript conversion
src/convert.ts - Attachment carry-forward
src/attachments.ts - Session integrity check
src/session-verify.ts
Other components
- Pi user
Connections 24
- Pi user → Pi extension runtime: selects or invokes
README.md - Pi extension runtime → Claude Agent SDK: starts queries
src/index.ts - Claude Agent SDK → Claude Code CLI: runs CLI
README.md - Pi extension runtime → Model catalog mapping: maps model IDs
src/index.ts - Pi extension runtime → Query state: manages query state
src/index.ts - Pi extension runtime → Prompt stream: streams prompts
src/index.ts - Pi extension runtime → MCP tool server: serves bridged tools
README.md - Pi extension runtime → Tool-result extraction: extracts tool results
src/index.ts - Pi extension runtime → Usage reporting: reports usage
src/index.ts - Pi extension runtime → Bridge configuration: loads settings
src/index.ts - Pi extension runtime → Prompt capture: collects prompt context
src/index.ts - Prompt capture → Skills forwarding: renders skills
src/prompt-capture.ts - Prompt capture → Project context formatting: formats project context
src/prompt-capture.ts - Pi extension runtime → Pi transcript conversion: converts history
src/index.ts - Pi transcript conversion → Skills forwarding: maps MCP tool names
src/convert.ts - Pi extension runtime → Attachment carry-forward: carries attachments
src/index.ts - Attachment carry-forward → Pi transcript conversion: converts message content
src/attachments.ts - Pi extension runtime → Transcript replay: replays transcripts
src/index.ts - Pi extension runtime → Session integrity check: checks saved sessions
src/index.ts - Pi extension runtime → Debug log paths: configures debug paths
src/index.ts - Pi extension runtime → AskClaude tool schema: registers delegation tool
src/index.ts - Pi extension runtime → AskClaude UI: renders delegation UI
src/index.ts - AskClaude tool schema → Claude Agent SDK: delegates tasks
README.md - Pi extension runtime → Claude Code CLI: compacts history
src/index.ts