feat(runner): WS protocol server with handshake
apps/runner scaffold (app-tier, walking-skeleton story 04): WS server speaking @repo/core-runner-protocol. Every inbound/outbound frame is envelope-wrapped and zod-parsed; hello/ready handshake gates on the workspace-scoped token (constant-time compare, redacted token on rejection replies); named error events for version/schema/auth rejections. Config via env only (token never argv); port announced on stdout for the story-06 provisioner. Runtime deps: ws (the standard Node WS server; ADR-022 traces do not apply to app-tier) and zod. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
This commit is contained in:
13
AGENTS.md
13
AGENTS.md
@@ -52,11 +52,12 @@ See `docs/guides/runbook.md` for the full workflow.
|
||||
|
||||
Apps:
|
||||
|
||||
| App | Port | Purpose |
|
||||
| ---------------- | ---- | ---------------------------------------------------------------------------------------------- |
|
||||
| `apps/web-next` | 3000 | Next.js — the hosted editor shell + landing page; custom `server.ts` hosts Next.js + Socket.IO |
|
||||
| `apps/cms` | 3001 | Payload admin |
|
||||
| `apps/storybook` | 6006 | Storybook — component workshop for `core-ui` + feature UI |
|
||||
| App | Port | Purpose |
|
||||
| ---------------- | --------- | ---------------------------------------------------------------------------------------------- |
|
||||
| `apps/web-next` | 3000 | Next.js — the hosted editor shell + landing page; custom `server.ts` hosts Next.js + Socket.IO |
|
||||
| `apps/cms` | 3001 | Payload admin |
|
||||
| `apps/storybook` | 6006 | Storybook — component workshop for `core-ui` + feature UI |
|
||||
| `apps/runner` | ephemeral | Workspace runner (ADR-027) — WS runner-protocol server; clone/install/scan/preview stages |
|
||||
|
||||
`auth` and `editor` are the feature packages today (`editor` is UI-only — empty `useCases`, no binders). The remaining Veect control-plane features (workspaces, projects, discovery, design-doc, …) land as sibling packages under `packages/` following the same shape. Per ADR-029, `packages/editor` is rebuilt under template conventions — the prototype codebase under `docs/product/reference/` is reference material, never vendored.
|
||||
|
||||
@@ -66,7 +67,7 @@ Apps:
|
||||
|
||||
### Five tags
|
||||
|
||||
- **app** (3 packages) — `apps/web-next`, `apps/cms`, `apps/storybook`
|
||||
- **app** (4 packages) — `apps/web-next`, `apps/cms`, `apps/storybook`, `apps/runner`
|
||||
- **core-composition** (3 packages) — `packages/core-api`, `core-cms` (must-have); `core-trpc` (optional, scaffolded)
|
||||
- **core** (9 packages) — `packages/core-shared` (must-have); `core-ui`, `core-events`, `core-realtime`, `core-audit`, `core-analytics`, `core-consent`, `core-dsr` (optional cores, all currently scaffolded — new ones via `pnpm turbo gen core-package <name>`); `core-runner-protocol` (hand-scaffolded — outside the generator's snapshot set)
|
||||
- **feature** (1 package) — `packages/auth`
|
||||
|
||||
Reference in New Issue
Block a user