co-mono/packages/coding-agent/examples
Mario Zechner 9bba388ec5 Refactor SessionEventBase to pass sessionManager and modelRegistry
Breaking changes to hook types:
- SessionEventBase now passes sessionManager and modelRegistry directly
- before_compact: passes preparation, previousCompactions (newest first)
- before_switch: has targetSessionFile; switch: has previousSessionFile
- Removed resolveApiKey (use modelRegistry.getApiKey())
- getSessionFile() returns string | undefined for in-memory sessions

Updated:
- All session event emissions in agent-session.ts
- Hook examples (custom-compaction.ts, auto-commit-on-exit.ts, confirm-destructive.ts)
- Tests (compaction-hooks.test.ts, compaction-hooks-example.test.ts)
- export-html.ts guards for in-memory sessions
2025-12-30 22:42:18 +01:00
..
custom-tools WIP: Remove global state from pi-ai OAuth/API key handling 2025-12-25 01:01:03 +01:00
hooks Refactor SessionEventBase to pass sessionManager and modelRegistry 2025-12-30 22:42:18 +01:00
sdk feat(coding-agent): Add --session-dir flag for custom session directory 2025-12-25 20:27:41 +01:00
README.md Add SDK usage examples 2025-12-22 03:14:30 +01:00

Examples

Example code for pi-coding-agent.

Directories

sdk/

Programmatic usage via createAgentSession(). Shows how to customize models, prompts, tools, hooks, and session management.

hooks/

Example hooks for intercepting tool calls, adding safety gates, and integrating with external systems.

custom-tools/

Example custom tools that extend the agent's capabilities.

Running Examples

cd packages/coding-agent
npx tsx examples/sdk/01-minimal.ts
npx tsx examples/hooks/permission-gate.ts

Documentation