diff --git a/.changeset/webcontainer-runner.md b/.changeset/webcontainer-runner.md deleted file mode 100644 index cb6f7e9..0000000 --- a/.changeset/webcontainer-runner.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -'@gemstack/ai-autopilot': minor ---- - -Add WebContainerRunner, the in-browser sandboxed runner - -`WebContainerRunner` is the third real `Runner` adapter (after `LocalRunner` and -`DockerRunner`), wrapping StackBlitz's `@webcontainer/api`. It runs untrusted, -agent-authored code entirely inside a browser tab: an in-browser Node runtime, an -isolated filesystem, and an instant `preview()` URL for a dev server, with nothing -touching the host. This is the "sit on harnesses, don't compete" bet for the -browser: the same `Runner` interface, now backed by WebContainer. - -It is browser-only by construction (WebContainer needs `SharedArrayBuffer`, so the -hosting page must be cross-origin isolated), so `@webcontainer/api` is an optional -peer dependency and is imported lazily: loading `@gemstack/ai-autopilot` in Node -never pulls it in. Guard with the new `webContainerAvailable()` and reach for -`DockerRunner` on the server. - -Because a WebContainer cannot boot in Node, boot-and-serve is proven by a headless -Chromium harness under `packages/ai-autopilot/harness/webcontainer/` that drives -the compiled adapter through boot, fs, exec (exit codes, cwd/env, timeout kill), -start, a real preview URL, an in-container serve check, dispose, and reboot. The -Node-only guards are covered by the default test suite. - -Part of #109 (the Flue adapter stays gated on a live Flue environment). diff --git a/examples/autopilot-quickstart/CHANGELOG.md b/examples/autopilot-quickstart/CHANGELOG.md index b08636a..bc06575 100644 --- a/examples/autopilot-quickstart/CHANGELOG.md +++ b/examples/autopilot-quickstart/CHANGELOG.md @@ -1,5 +1,12 @@ # @gemstack/example-autopilot-quickstart +## 0.0.6 + +### Patch Changes + +- Updated dependencies [6f7e7e3] + - @gemstack/ai-autopilot@0.7.0 + ## 0.0.5 ### Patch Changes diff --git a/examples/autopilot-quickstart/package.json b/examples/autopilot-quickstart/package.json index e16b163..2f100fc 100644 --- a/examples/autopilot-quickstart/package.json +++ b/examples/autopilot-quickstart/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/example-autopilot-quickstart", - "version": "0.0.5", + "version": "0.0.6", "private": true, "description": "Runnable end-to-end quickstart for @gemstack/ai-autopilot: personas + Supervisor + runner + surfaces composed into one build-a-feature flow, offline via AiFake.", "type": "module", diff --git a/examples/bootstrap-quickstart/CHANGELOG.md b/examples/bootstrap-quickstart/CHANGELOG.md index 3d22522..b042818 100644 --- a/examples/bootstrap-quickstart/CHANGELOG.md +++ b/examples/bootstrap-quickstart/CHANGELOG.md @@ -1,5 +1,12 @@ # @gemstack/example-bootstrap-quickstart +## 0.0.6 + +### Patch Changes + +- Updated dependencies [6f7e7e3] + - @gemstack/ai-autopilot@0.7.0 + ## 0.0.5 ### Patch Changes diff --git a/examples/bootstrap-quickstart/package.json b/examples/bootstrap-quickstart/package.json index 3d39404..dc4e195 100644 --- a/examples/bootstrap-quickstart/package.json +++ b/examples/bootstrap-quickstart/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/example-bootstrap-quickstart", - "version": "0.0.5", + "version": "0.0.6", "private": true, "description": "Runnable capstone for @gemstack/ai-autopilot: preset detection + Bootstrap (scope → architect → build → full-fledged loop → deploy) + scale mode, streamed over surfaces, offline via AiFake + FakeRunner.", "type": "module", diff --git a/examples/framework-demo/CHANGELOG.md b/examples/framework-demo/CHANGELOG.md index 7d10f14..d3329f2 100644 --- a/examples/framework-demo/CHANGELOG.md +++ b/examples/framework-demo/CHANGELOG.md @@ -1,5 +1,13 @@ # @gemstack/example-framework-demo +## 0.0.3 + +### Patch Changes + +- Updated dependencies [6f7e7e3] + - @gemstack/ai-autopilot@0.7.0 + - @gemstack/framework@0.5.1 + ## 0.0.2 ### Patch Changes diff --git a/examples/framework-demo/package.json b/examples/framework-demo/package.json index abf527c..a270929 100644 --- a/examples/framework-demo/package.json +++ b/examples/framework-demo/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/example-framework-demo", - "version": "0.0.2", + "version": "0.0.3", "private": true, "description": "Showable end-to-end demo of @gemstack/framework: one prompt → scope → architect → build → full-fledged loop → deploy → a real running app, offline and deterministic via the fake driver.", "type": "module", diff --git a/examples/framework-discovery-demo/CHANGELOG.md b/examples/framework-discovery-demo/CHANGELOG.md index f1c2ea1..81c1021 100644 --- a/examples/framework-discovery-demo/CHANGELOG.md +++ b/examples/framework-discovery-demo/CHANGELOG.md @@ -1,5 +1,14 @@ # @gemstack/example-framework-discovery +## 0.0.3 + +### Patch Changes + +- Updated dependencies [6f7e7e3] + - @gemstack/ai-autopilot@0.7.0 + - framework-hello@0.0.2 + - @gemstack/framework@0.5.1 + ## 0.0.2 ### Patch Changes diff --git a/examples/framework-discovery-demo/package.json b/examples/framework-discovery-demo/package.json index f7a8b33..e592316 100644 --- a/examples/framework-discovery-demo/package.json +++ b/examples/framework-discovery-demo/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/example-framework-discovery", - "version": "0.0.2", + "version": "0.0.3", "private": true, "description": "End-to-end proof of The Framework's extension SPI (#190): this project depends on the third-party `framework-hello` package, and the CLI discovers, registers, and composes it into the agent frame - offline and deterministic via the fake driver.", "type": "module", diff --git a/examples/framework-hello/CHANGELOG.md b/examples/framework-hello/CHANGELOG.md index 5308fa6..72d9a72 100644 --- a/examples/framework-hello/CHANGELOG.md +++ b/examples/framework-hello/CHANGELOG.md @@ -1,5 +1,12 @@ # framework-hello +## 0.0.2 + +### Patch Changes + +- Updated dependencies [6f7e7e3] + - @gemstack/ai-autopilot@0.7.0 + ## 0.0.1 ### Patch Changes diff --git a/examples/framework-hello/package.json b/examples/framework-hello/package.json index 00ca968..df8ee2c 100644 --- a/examples/framework-hello/package.json +++ b/examples/framework-hello/package.json @@ -1,6 +1,6 @@ { "name": "framework-hello", - "version": "0.0.1", + "version": "0.0.2", "private": true, "description": "Example third-party framework-* capability extension. Proves The Framework's extension SPI (#190): install it into a project and the CLI discovers, registers, and composes it with no change to the framework core.", "type": "module", diff --git a/packages/ai-autopilot/CHANGELOG.md b/packages/ai-autopilot/CHANGELOG.md index e9677e4..0c48a49 100644 --- a/packages/ai-autopilot/CHANGELOG.md +++ b/packages/ai-autopilot/CHANGELOG.md @@ -1,5 +1,32 @@ # @gemstack/ai-autopilot +## 0.7.0 + +### Minor Changes + +- 6f7e7e3: Add WebContainerRunner, the in-browser sandboxed runner + + `WebContainerRunner` is the third real `Runner` adapter (after `LocalRunner` and + `DockerRunner`), wrapping StackBlitz's `@webcontainer/api`. It runs untrusted, + agent-authored code entirely inside a browser tab: an in-browser Node runtime, an + isolated filesystem, and an instant `preview()` URL for a dev server, with nothing + touching the host. This is the "sit on harnesses, don't compete" bet for the + browser: the same `Runner` interface, now backed by WebContainer. + + It is browser-only by construction (WebContainer needs `SharedArrayBuffer`, so the + hosting page must be cross-origin isolated), so `@webcontainer/api` is an optional + peer dependency and is imported lazily: loading `@gemstack/ai-autopilot` in Node + never pulls it in. Guard with the new `webContainerAvailable()` and reach for + `DockerRunner` on the server. + + Because a WebContainer cannot boot in Node, boot-and-serve is proven by a headless + Chromium harness under `packages/ai-autopilot/harness/webcontainer/` that drives + the compiled adapter through boot, fs, exec (exit codes, cwd/env, timeout kill), + start, a real preview URL, an in-container serve check, dispose, and reboot. The + Node-only guards are covered by the default test suite. + + Part of #109 (the Flue adapter stays gated on a live Flue environment). + ## 0.6.0 ### Minor Changes diff --git a/packages/ai-autopilot/package.json b/packages/ai-autopilot/package.json index 1440d7d..cbf516f 100644 --- a/packages/ai-autopilot/package.json +++ b/packages/ai-autopilot/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/ai-autopilot", - "version": "0.6.0", + "version": "0.7.0", "description": "Orchestration for @gemstack/ai-sdk agents: a Supervisor that plans, dispatches subagents (bounded concurrency + budget guardrails), and synthesizes the result.", "keywords": [ "ai", diff --git a/packages/framework/CHANGELOG.md b/packages/framework/CHANGELOG.md index 99f0645..2dcbff2 100644 --- a/packages/framework/CHANGELOG.md +++ b/packages/framework/CHANGELOG.md @@ -1,5 +1,12 @@ # @gemstack/framework +## 0.5.1 + +### Patch Changes + +- Updated dependencies [6f7e7e3] + - @gemstack/ai-autopilot@0.7.0 + ## 0.5.0 ### Minor Changes diff --git a/packages/framework/package.json b/packages/framework/package.json index 68ace9c..ec5b231 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/framework", - "version": "0.5.0", + "version": "0.5.1", "description": "The (AI) Framework: turnkey, zero-config AI orchestration that wraps a coding-agent CLI (Claude Code) as a black box and takes you from an idea to a running app. Vite for AI.", "keywords": [ "ai",