e023414986bfd9d36ff2dda5540a998b20395f7a
Runs with Node 22+ built-in test runner + --experimental-strip-types. No external dependencies required. tests/messages.test.ts (13 cases): - contextToOpenAIMessages: empty, systemPrompt-only, user string content, user text-block array, user image-only (drops), assistant text, assistant tool-calls-only, assistant text + tool calls, toolResult, full round-trip. - toolsToOpenAI: undefined, empty, proper OpenAI function mapping. tests/integration.test.ts (4 cases, auto-skip if unreachable): - GET /health returns status=ok. - GET /models returns a non-empty data array. - Every /models entry has a valid status.value. - mTLS is enforced: request without client cert is rejected. Deferred to phase 2 (needs mock HTTPS server + cert harness): stream.ts SSE parsing — abort mid-stream, tool-call split across chunks, reasoning deltas, usage + calculateCost, malformed events. Run: node --experimental-strip-types --test tests/*.test.ts Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Personal pi (pi-coding-agent) extensions: ai-server (mTLS remote provider + admin commands) and local-llama.
Languages
TypeScript
79.3%
JavaScript
11.3%
Shell
9.4%