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:
50
pnpm-lock.yaml
generated
50
pnpm-lock.yaml
generated
@@ -117,6 +117,46 @@ importers:
|
||||
specifier: ^3.0.0
|
||||
version: 3.2.4(@types/debug@4.1.13)(@types/node@22.19.17)(happy-dom@20.8.9)(jiti@2.7.0)(jsdom@25.0.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)
|
||||
|
||||
apps/runner:
|
||||
dependencies:
|
||||
"@repo/core-runner-protocol":
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/core-runner-protocol
|
||||
ws:
|
||||
specifier: ^8.18.0
|
||||
version: 8.21.0
|
||||
zod:
|
||||
specifier: ^3.25.0
|
||||
version: 3.25.76
|
||||
devDependencies:
|
||||
"@repo/core-eslint":
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/core-eslint
|
||||
"@repo/core-testing":
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/core-testing
|
||||
"@repo/core-typescript":
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/core-typescript
|
||||
"@types/node":
|
||||
specifier: ^22.0.0
|
||||
version: 22.19.17
|
||||
"@types/ws":
|
||||
specifier: ^8.18.0
|
||||
version: 8.18.1
|
||||
"@vitest/coverage-v8":
|
||||
specifier: ^3.2.4
|
||||
version: 3.2.4(vitest@3.2.4(@types/debug@4.1.13)(@types/node@22.19.17)(happy-dom@20.8.9)(jiti@2.7.0)(jsdom@25.0.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))
|
||||
tsx:
|
||||
specifier: ^4.0.0
|
||||
version: 4.21.0
|
||||
typescript:
|
||||
specifier: ^5.8.0
|
||||
version: 5.9.3
|
||||
vitest:
|
||||
specifier: ^3.0.0
|
||||
version: 3.2.4(@types/debug@4.1.13)(@types/node@22.19.17)(happy-dom@20.8.9)(jiti@2.7.0)(jsdom@25.0.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)
|
||||
|
||||
apps/storybook:
|
||||
devDependencies:
|
||||
"@playwright/test":
|
||||
@@ -15019,7 +15059,7 @@ snapshots:
|
||||
"@parcel/watcher": 2.5.6
|
||||
effect: 3.21.2
|
||||
multipasta: 0.2.7
|
||||
ws: 8.20.0
|
||||
ws: 8.21.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
@@ -15034,7 +15074,7 @@ snapshots:
|
||||
effect: 3.21.2
|
||||
mime: 3.0.0
|
||||
undici: 7.24.4
|
||||
ws: 8.20.0
|
||||
ws: 8.21.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
@@ -18187,7 +18227,7 @@ snapshots:
|
||||
recast: 0.23.11
|
||||
semver: 7.7.4
|
||||
util: 0.12.5
|
||||
ws: 8.20.0
|
||||
ws: 8.21.0
|
||||
optionalDependencies:
|
||||
prettier: 3.8.1
|
||||
transitivePeerDependencies:
|
||||
@@ -20595,7 +20635,7 @@ snapshots:
|
||||
"@types/ws": 8.18.1
|
||||
entities: 7.0.1
|
||||
whatwg-mimetype: 3.0.0
|
||||
ws: 8.20.0
|
||||
ws: 8.21.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
@@ -21473,7 +21513,7 @@ snapshots:
|
||||
whatwg-encoding: 3.1.1
|
||||
whatwg-mimetype: 4.0.0
|
||||
whatwg-url: 14.2.0
|
||||
ws: 8.20.0
|
||||
ws: 8.21.0
|
||||
xml-name-validator: 5.0.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
|
||||
Reference in New Issue
Block a user