Skip to content

feat(client): add runtime-neutral session client - #7348

Merged
christianklotz merged 5 commits into
mainfrom
feat/runtime-neutral-client
Jul 31, 2026
Merged

feat(client): add runtime-neutral session client#7348
christianklotz merged 5 commits into
mainfrom
feat/runtime-neutral-client

Conversation

@christianklotz

@christianklotz christianklotz commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add the runtime-neutral @earendil-works/pi-client package with injectable ordered-byte transports
  • expose authenticated connection setup, typed client operations, server-owned session handles, detach, reconnect, snapshots, and events
  • isolate transport, framing, and handshake lifecycle from client state while guarding synchronous callback reentrancy
  • keep raw protocol requests private and expose non-constructible PiSessionHandle values only through create/attach operations
  • report listener failures without allowing consumers to corrupt protocol state
  • split harness shutdown initiation from settlement so hooks and subscribers cannot deadlock active work
  • integrate the package with workspace builds, publishing, type checking, and browser smoke checks

Verification

  • npm run check
  • client tests: 22 passed
  • focused agent harness tests: 33 passed
  • protocol tests: 126 passed
  • ./test.sh: client, protocol, AI, evals, and TUI passed; agent SQLite and coding-agent child-process suites could not resolve unbuilt workspace dist entries in this fresh worktree, and the unrelated bash timing regression failed

This PR is AI-generated by pi.

@christianklotz
christianklotz force-pushed the feat/runtime-neutral-client branch from 838aa33 to f9b0634 Compare July 31, 2026 09:19
@christianklotz
christianklotz merged commit 5a38a1c into main Jul 31, 2026
3 checks passed
@christianklotz
christianklotz deleted the feat/runtime-neutral-client branch July 31, 2026 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant