mirror of
https://github.com/vercel-labs/json-render.git
synced 2026-10-02 12:00:58 +08:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a184082200 |
@@ -0,0 +1,17 @@
|
||||
---
|
||||
"@json-render/core": minor
|
||||
"@json-render/yaml": minor
|
||||
---
|
||||
|
||||
Add YAML wire format package and universal edit modes for surgical spec refinement.
|
||||
|
||||
### New:
|
||||
|
||||
- **`@json-render/yaml`** -- YAML wire format for json-render. Includes streaming YAML parser, `yamlPrompt()` for system prompts, and AI SDK transform (`pipeYamlRender`) as a drop-in alternative to JSONL streaming. Supports four fence types: `yaml-spec`, `yaml-edit`, `yaml-patch`, and `diff`.
|
||||
- **Universal edit modes** in `@json-render/core` -- three strategies for multi-turn spec refinement: `patch` (RFC 6902), `merge` (RFC 7396), and `diff` (unified diff). New `editModes` option on `buildUserPrompt()` and `PromptOptions`. New helpers: `deepMergeSpec()`, `diffToPatches()`, `buildEditUserPrompt()`, `buildEditInstructions()`, `isNonEmptySpec()`.
|
||||
|
||||
### Improved:
|
||||
|
||||
- **Playground** -- format toggle (JSONL / YAML), edit mode picker (patch / merge / diff), and token usage display with prompt caching stats.
|
||||
- **Prompt caching** -- generate API uses Anthropic ephemeral cache control for system prompts.
|
||||
- **CI** -- lint, type-check, and test jobs now run in parallel.
|
||||
@@ -1,25 +1,5 @@
|
||||
# web
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/codegen@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
- @json-render/yaml@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/yaml@0.14.0
|
||||
- @json-render/codegen@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "web",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"license": "Apache-2.0",
|
||||
|
||||
@@ -1,23 +1,5 @@
|
||||
# example-chat
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
- @json-render/shadcn@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
- @json-render/shadcn@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-chat",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,23 +1,5 @@
|
||||
# example-dashboard
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/codegen@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/codegen@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-dashboard",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-image
|
||||
|
||||
## 0.1.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/image@0.14.1
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/image@0.14.0
|
||||
|
||||
## 0.1.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-image",
|
||||
"version": "0.1.6",
|
||||
"version": "0.1.4",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,25 +1,5 @@
|
||||
# example-mcp
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/mcp@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
- @json-render/shadcn@0.14.1
|
||||
|
||||
## 0.1.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/mcp@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
- @json-render/shadcn@0.14.0
|
||||
|
||||
## 0.1.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-mcp",
|
||||
"version": "0.1.5",
|
||||
"version": "0.1.3",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,23 +1,5 @@
|
||||
# example-no-ai
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
- @json-render/shadcn@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
- @json-render/shadcn@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-no-ai",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-react-email
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react-email@0.14.1
|
||||
|
||||
## 0.1.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react-email@0.14.0
|
||||
|
||||
## 0.1.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-react-email",
|
||||
"version": "0.1.5",
|
||||
"version": "0.1.3",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-react-native
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react-native@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react-native@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-react-native",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"private": true,
|
||||
"main": "expo-router/entry",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-react-pdf
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react-pdf@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react-pdf@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-react-pdf",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,23 +1,5 @@
|
||||
# example-react-three-fiber
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
- @json-render/react-three-fiber@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
- @json-render/react-three-fiber@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-react-three-fiber",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-remotion
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/remotion@0.14.1
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/remotion@0.14.0
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-remotion",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.7",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-solid
|
||||
|
||||
## 0.1.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/solid@0.14.1
|
||||
|
||||
## 0.1.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/solid@0.14.0
|
||||
|
||||
## 0.1.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-solid",
|
||||
"version": "0.1.3",
|
||||
"version": "0.1.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# com.example.json-render-demo
|
||||
|
||||
## 0.0.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
|
||||
## 0.0.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
|
||||
## 0.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "com.example.json-render-demo",
|
||||
"version": "0.0.10",
|
||||
"version": "0.0.8",
|
||||
"description": "Test",
|
||||
"private": true,
|
||||
"license": "~~proprietary~~",
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# com.example.json-render-fullpage-demo
|
||||
|
||||
## 0.0.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
|
||||
## 0.0.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
|
||||
## 0.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "com.example.json-render-fullpage-demo",
|
||||
"version": "0.0.10",
|
||||
"version": "0.0.8",
|
||||
"description": "Full-page Stripe App example (alpha)",
|
||||
"private": true,
|
||||
"license": "~~proprietary~~",
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# svelte-chat
|
||||
|
||||
## 0.0.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/svelte@0.14.1
|
||||
|
||||
## 0.0.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/svelte@0.14.0
|
||||
|
||||
## 0.0.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "svelte-chat",
|
||||
"private": true,
|
||||
"version": "0.0.6",
|
||||
"version": "0.0.4",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-svelte
|
||||
|
||||
## 0.1.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/svelte@0.14.1
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/svelte@0.14.0
|
||||
|
||||
## 0.1.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-svelte",
|
||||
"version": "0.1.6",
|
||||
"version": "0.1.4",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,27 +1,5 @@
|
||||
# vite-renderers
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
- @json-render/solid@0.14.1
|
||||
- @json-render/svelte@0.14.1
|
||||
- @json-render/vue@0.14.1
|
||||
|
||||
## 0.1.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
- @json-render/solid@0.14.0
|
||||
- @json-render/svelte@0.14.0
|
||||
- @json-render/vue@0.14.0
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vite-renderers",
|
||||
"version": "0.1.7",
|
||||
"version": "0.1.5",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# example-vue
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/vue@0.14.1
|
||||
|
||||
## 0.1.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/vue@0.14.0
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-vue",
|
||||
"version": "0.1.7",
|
||||
"version": "0.1.5",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"predev": "command -v portless >/dev/null 2>&1 || (echo '\\nportless is required but not installed. Run: npm i -g portless\\nSee: https://github.com/vercel-labs/portless\\n' && exit 1)",
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/codegen
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/codegen",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Utilities for generating code from json-render UI trees",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,29 +1,5 @@
|
||||
# @json-render/core
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 43b7515: Add yaml format support to `buildUserPrompt`
|
||||
|
||||
### New:
|
||||
- `buildUserPrompt` now accepts `format` and `serializer` options, enabling YAML as a wire format alongside JSON
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- a8afd8b: Add YAML wire format package and universal edit modes for surgical spec refinement.
|
||||
|
||||
### New:
|
||||
- **`@json-render/yaml`** -- YAML wire format for json-render. Includes streaming YAML parser, `yamlPrompt()` for system prompts, and AI SDK transform (`pipeYamlRender`) as a drop-in alternative to JSONL streaming. Supports four fence types: `yaml-spec`, `yaml-edit`, `yaml-patch`, and `diff`.
|
||||
- **Universal edit modes** in `@json-render/core` -- three strategies for multi-turn spec refinement: `patch` (RFC 6902), `merge` (RFC 7396), and `diff` (unified diff). New `editModes` option on `buildUserPrompt()` and `PromptOptions`. New helpers: `deepMergeSpec()`, `diffToPatches()`, `buildEditUserPrompt()`, `buildEditInstructions()`, `isNonEmptySpec()`.
|
||||
|
||||
### Improved:
|
||||
- **Playground** -- format toggle (JSONL / YAML), edit mode picker (patch / merge / diff), and token usage display with prompt caching stats.
|
||||
- **Prompt caching** -- generate API uses Anthropic ephemeral cache control for system prompts.
|
||||
- **CI** -- lint, type-check, and test jobs now run in parallel.
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/core",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "JSON becomes real things. Define your catalog, register your components, let AI generate.",
|
||||
"keywords": [
|
||||
|
||||
@@ -16,10 +16,6 @@ export interface UserPromptOptions {
|
||||
maxPromptLength?: number;
|
||||
/** Edit modes to offer when refining an existing spec. Default: `["patch"]`. */
|
||||
editModes?: EditMode[];
|
||||
/** Wire format. Default: `"json"`. */
|
||||
format?: "json" | "yaml";
|
||||
/** Serialise the spec for edits. Defaults to JSON.stringify for json, must be provided for yaml. */
|
||||
serializer?: (spec: Spec) => string;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -43,15 +39,7 @@ export interface UserPromptOptions {
|
||||
* ```
|
||||
*/
|
||||
export function buildUserPrompt(options: UserPromptOptions): string {
|
||||
const {
|
||||
prompt,
|
||||
currentSpec,
|
||||
state,
|
||||
maxPromptLength,
|
||||
editModes,
|
||||
format,
|
||||
serializer,
|
||||
} = options;
|
||||
const { prompt, currentSpec, state, maxPromptLength, editModes } = options;
|
||||
|
||||
// Sanitize and optionally truncate the user's text
|
||||
let userText = String(prompt || "");
|
||||
@@ -65,8 +53,7 @@ export function buildUserPrompt(options: UserPromptOptions): string {
|
||||
prompt: userText,
|
||||
currentSpec,
|
||||
config: { modes: editModes ?? ["patch"] },
|
||||
format: format ?? "json",
|
||||
serializer,
|
||||
format: "json",
|
||||
});
|
||||
|
||||
// Append state context if provided
|
||||
@@ -84,15 +71,9 @@ export function buildUserPrompt(options: UserPromptOptions): string {
|
||||
parts.push(`\nAVAILABLE STATE:\n${JSON.stringify(state, null, 2)}`);
|
||||
}
|
||||
|
||||
if (format === "yaml") {
|
||||
parts.push(
|
||||
`\nOutput the full spec in a \`\`\`yaml-spec fence. Stream progressively — output elements one at a time.`,
|
||||
);
|
||||
} else {
|
||||
parts.push(
|
||||
`\nRemember: Output /root first, then interleave /elements and /state patches so the UI fills in progressively as it streams. Output each state patch right after the elements that use it, one per array item.`,
|
||||
);
|
||||
}
|
||||
parts.push(
|
||||
`\nRemember: Output /root first, then interleave /elements and /state patches so the UI fills in progressively as it streams. Output each state patch right after the elements that use it, one per array item.`,
|
||||
);
|
||||
|
||||
return parts.join("\n");
|
||||
}
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/image
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/image",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Image renderer for @json-render/core. JSON becomes SVG and PNG images via Satori.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/jotai
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/jotai",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Jotai adapter for json-render StateStore",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/mcp
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/mcp",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "MCP Apps integration for @json-render/core. Serve json-render UIs as interactive MCP Apps in Claude, ChatGPT, Cursor, and VS Code.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/react-email
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/react-email",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "React Email renderer for @json-render/core. JSON becomes HTML emails.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/react-native
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/react-native",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "React Native renderer for @json-render/core. JSON becomes React Native components.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/react-pdf
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/react-pdf",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "React PDF renderer for @json-render/core. JSON becomes PDF documents.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @internal/react-state
|
||||
|
||||
## 0.8.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.8.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.8.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@internal/react-state",
|
||||
"version": "0.8.9",
|
||||
"version": "0.8.7",
|
||||
"private": true,
|
||||
"license": "Apache-2.0",
|
||||
"description": "Shared React state context for json-render renderer packages",
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# @json-render/react-three-fiber
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/react-three-fiber",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "React Three Fiber renderer for @json-render/core. JSON becomes 3D scenes.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/react
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/react",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "React renderer for @json-render/core. JSON becomes React components.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/redux
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/redux",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Redux adapter for json-render StateStore",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/remotion
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/remotion",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Remotion renderer for @json-render/core. JSON becomes video compositions.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# @json-render/shadcn
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
- @json-render/react@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
- @json-render/react@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/shadcn",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "shadcn/ui component library for @json-render/core. JSON becomes beautiful Tailwind-styled React components.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/solid
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/solid",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "SolidJS renderer for @json-render/core. JSON becomes Solid components.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/svelte
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/svelte",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Svelte 5 renderer for @json-render/core. JSON becomes Svelte components.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/vue
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/vue",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Vue renderer for @json-render/core. JSON becomes Vue components.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/xstate
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/xstate",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "XState Store adapter for json-render StateStore",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# @json-render/yaml
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- a8afd8b: Add YAML wire format package and universal edit modes for surgical spec refinement.
|
||||
|
||||
### New:
|
||||
- **`@json-render/yaml`** -- YAML wire format for json-render. Includes streaming YAML parser, `yamlPrompt()` for system prompts, and AI SDK transform (`pipeYamlRender`) as a drop-in alternative to JSONL streaming. Supports four fence types: `yaml-spec`, `yaml-edit`, `yaml-patch`, and `diff`.
|
||||
- **Universal edit modes** in `@json-render/core` -- three strategies for multi-turn spec refinement: `patch` (RFC 6902), `merge` (RFC 7396), and `diff` (unified diff). New `editModes` option on `buildUserPrompt()` and `PromptOptions`. New helpers: `deepMergeSpec()`, `diffToPatches()`, `buildEditUserPrompt()`, `buildEditInstructions()`, `isNonEmptySpec()`.
|
||||
|
||||
### Improved:
|
||||
- **Playground** -- format toggle (JSONL / YAML), edit mode picker (patch / merge / diff), and token usage display with prompt caching stats.
|
||||
- **Prompt caching** -- generate API uses Anthropic ephemeral cache control for system prompts.
|
||||
- **CI** -- lint, type-check, and test jobs now run in parallel.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/yaml",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "YAML wire format for @json-render/core. Progressive rendering and surgical edits via streaming YAML.",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,19 +1,5 @@
|
||||
# @json-render/zustand
|
||||
|
||||
## 0.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [43b7515]
|
||||
- @json-render/core@0.14.1
|
||||
|
||||
## 0.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8afd8b]
|
||||
- @json-render/core@0.14.0
|
||||
|
||||
## 0.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@json-render/zustand",
|
||||
"version": "0.14.1",
|
||||
"version": "0.13.0",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Zustand adapter for json-render StateStore",
|
||||
"keywords": [
|
||||
|
||||
Reference in New Issue
Block a user