Repository navigation
feat: add optional pi agent SDK support - #29
Conversation
- Rebuild scrubbed DOMExceptions so OTel span finalization cannot throw on abort - Scrub only credential values of at least eight characters - Own the settingSources default in the Claude adapter, not the runner - Collapse the Pi SDK version to one constant and drop dead resolveBridgeSdkVersion - Add an explicit hostRoot to bridge runtime descriptors - Unify on-success cleanup: keep the container unless the run completed successfully - Wrap runtime file copies in Docker error handling; write missing JSDoc
- Cover the credential scrubber sort comparator with an explicit multi-value test: it previously only ran when the ambient environment contained two or more credential-like variables, which is true on developer machines but not on CI runners, dropping functions coverage to 97.97% and failing the 98.31% threshold. - Cover the Claude adapter getRunMetadata used for telemetry. - Require toolCall input presence when validating pi bridge messages so consumers never see ToolCall objects without their required field. - Document that runAgent/judge signal cancellation is pi-only.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning MetaMask internal reviewing guidelines:
Ignoring alerts on:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QA Report — functional validation of the pi adapterValidated the built artifact ( Results
Notes
Environment: Node 24.18.0, yarn 4.16.0, Docker 29.7.2, |
|
@SocketSecurity ignore npm/@anthropic-ai/sdk@0.91.1 npm/@aws-sdk/credential-provider-process@3.972.70 npm/@earendil-works/pi-agent-core@0.83.0 npm/@earendil-works/pi-coding-agent@0.83.0 npm/@earendil-works/pi-tui@0.83.0 npm/@mariozechner/clipboard@0.3.9 npm/google-auth-library@10.9.1 npm/jwa@2.0.1 Triage notes (package-specific ignores only — no All blocking alerts trace to dependencies of
The remaining Warn-level alerts (network access for model SDK clients, the |
Summary
Adds an optional pi Agent SDK adapter for isolated LiteLLM coding and evaluation runs, using #25 as a reference.
createPiAdapter().Pi runs are LiteLLM-only, use fresh in-memory sessions, and do not discover local settings, extensions, skills, or context files. Unsupported Claude permission options fail explicitly. Persistence, resume, custom tools, and native pi providers/OAuth are out of scope.
Validation
yarn build,yarn typecheck,yarn lint, andyarn testpass.Coverage auto-update is disabled so tests no longer modify the working tree.
Review notes
Dependency security review is still required. This PR does not waive Socket alerts or enable dependency install scripts.