* Implement model persistence
- Add atomic engine-owned snapshots with generated codecs, restore and migration routes, backup recovery, debounce, and replay support.
- Gate persistence through app manifests and native check while keeping the TypeScript, Zig, and devhost surfaces in parity.
- Add store and end-to-end coverage, documentation, and a persisted TypeScript example.
Co-authored-by: carvalab <1446654+carvalab@users.noreply.github.com>
* Address model persistence review findings
* Address remaining model persistence review findings
* Fix persistence identity and restore route checks
* fix persistence replay and rollback safety
---------
Co-authored-by: carvalab <1446654+carvalab@users.noreply.github.com>
* feat(core): support streaming fetch responses
- Add a typed line-streaming Cmd.fetch overload and carry it through the command wire and runtime host.
- Keep stream lifecycle deterministic with loud cancellation and duplicate-key rejection.
- Cover the feature with contract, conformance, runtime, compiled-core, harness, example, and documentation updates.
* feat: stream AI chat through Vercel gateway
- Render chat-completion SSE deltas as they arrive.
- Pin the example to Vercel AI Gateway with official key config.
- Cover streaming, failure, and replay paths end to end.
* feat: add streaming fetch and chatbot example
* feat(chatbot): refine streaming chat experience
- Add a compact live model picker and immediate Stop action.
- Improve conversation layout, prompt focus, and caret retention.
- Expand chatbot documentation and end-to-end regression coverage.
* fix: harden streaming fetch limits
* fix: harden streaming fetch and textarea behavior
* fix(canvas): render lifted rich text