feat(workspaces): publish external runtime contract

Publish the rootless workspace runtime protocol, enforce module and host-execution boundaries, and prove an independently authored command runtime across lifecycle, PTY, files, Git, providers, and CI.
This commit is contained in:
Mohamed Boudra
2026-08-11 22:14:47 +02:00
parent cbf59f4c96
commit 6ca27a9b12
51 changed files with 4253 additions and 1554 deletions
+2
View File
@@ -35,6 +35,8 @@ hub:
server:
- "packages/server/**"
- "packages/fixture-workspace-runtime/**"
- "packages/workspace-runtime-contract/**"
- "packages/app/e2e/support/fixtures/recording.*"
desktop:
+8
View File
@@ -102,6 +102,9 @@ jobs:
- name: Lint
run: npm run lint
- name: Enforce workspace runtime ownership boundaries
run: npm run check:workspace-runtime-boundaries && node --test scripts/workspace-runtime-boundaries.test.mjs
typecheck:
name: typecheck
needs: changes
@@ -129,6 +132,7 @@ jobs:
- name: Verify public package contents
run: |
npm pack --dry-run --ignore-scripts --workspace=@getpaseo/protocol
npm pack --dry-run --ignore-scripts --workspace=@getpaseo/workspace-runtime-contract
npm pack --dry-run --ignore-scripts --workspace=@getpaseo/client
npm pack --dry-run --ignore-scripts --workspace=@getpaseo/server
@@ -163,6 +167,10 @@ jobs:
- name: Build server dependencies
run: npm run build:server-deps
- name: Test workspace runtime command contract package
if: ${{ needs.changes.outputs.full != 'false' || needs.changes.outputs.server != 'false' }}
run: npm test --workspace=@getpaseo/workspace-runtime-contract
- name: Run server tests
if: ${{ needs.changes.outputs.full != 'false' || needs.changes.outputs.server != 'false' }}
run: npm run test --workspace=@getpaseo/server
+2
View File
@@ -17,6 +17,8 @@ on:
- "packages/cli/**"
- "packages/client/**"
- "packages/docker-workspace-runtime/**"
- "packages/fixture-workspace-runtime/**"
- "packages/workspace-runtime-contract/**"
- "packages/expo-two-way-audio/**"
- "packages/highlight/**"
- "packages/protocol/**"