Hand-scaffolded from the packages/core-events shape: the core-package turbo generator only covers its eight pre-curated snapshot names (analytics, audit, consent, dsr, events, realtime, trpc, ui) and rejects 'runner-protocol' at the name prompt. Flagged in the package AGENTS.md as a future generator snapshot candidate. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
12 lines
1.1 KiB
Markdown
12 lines
1.1 KiB
Markdown
# @repo/core-runner-protocol
|
|
|
|
Owns the versioned runner-protocol wire contract (ADR-027): the message envelope (`protocolVersion: "0"` + workspace-scoped auth token) and `.strict()` zod schemas for every message exchanged between the control plane/editor and any runner implementation (cloud, local CLI, later Tauri-embedded). Schemas only — the WS server/client implementations live in `apps/runner` and its consumers, never here.
|
|
|
|
**Boundary tag:** core. May be imported by feature, core, core-composition, app. May import from tooling.
|
|
|
|
**Public surface:** `PROTOCOL_VERSION`, the envelope schema, the per-message `.strict()` schemas + the `runnerMessageSchema` discriminated union, and their inferred types — all through the single index barrel.
|
|
|
|
**Scaffolding note:** hand-scaffolded from the `packages/core-events` shape — the `core-package` turbo generator only covers the eight pre-curated snapshot names (analytics, audit, consent, dsr, events, realtime, trpc, ui). Candidate for a future generator snapshot.
|
|
|
|
**See:** `docs/decisions/adr-027-hosted-saas-and-runner-split.md`, `docs/work/prds/walking-skeleton.prd.md`, `docs/glossary.md` § "Runner protocol".
|