Skip to content

Stream Pi session turns - #3

Merged
c0da-ricon merged 2 commits into
mainfrom
c0da/streaming-session
Aug 6, 2026
Merged

Stream Pi session turns#3
c0da-ricon merged 2 commits into
mainfrom
c0da/streaming-session

Conversation

@c0da-ricon

@c0da-ricon c0da-ricon commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a domain-neutral PiSessionStream around an injected Pi-like session backend
  • stream ordered assistant text deltas while rejecting empty prompts and overlapping turns
  • own unsubscribe, early-consumer abort, explicit abort, failure propagation, and idempotent disposal
  • add the Bun/TypeScript test and typecheck foundation to Stein's existing public mise run check

Harvest boundary

This adapts the smallest proven turn-streaming seam from the GHL session-note service rather than copying its product architecture. Structural review also closes two generic edge cases: early consumers abort the active backend turn, and even undefined promise rejections remain failures.

Validation

  • clean bun install --frozen-lockfile
  • mise run check
    • strict TypeScript typecheck
    • 7/7 deterministic Bun tests
    • 6/6 configured Codebase lints
    • whitespace check
  • signed commit hooks reran the configured Codebase lints

The first hosted run exposed that the existing workflow installed mise tools but not the newly introduced package dependencies. Commit abef9da adds the required frozen dependency-install step before the unchanged public check.

Boundary

This PR adds no real Pi SDK factory or model call, HTTP/OpenAI protocol, conversation identity, persistence, attachment policy, prompt, deployment, provider configuration, or GHL behavior.

@c0da-ricon
c0da-ricon merged commit 481e710 into main Aug 6, 2026
1 check passed
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