@toon-ui/core 0.1.0-beta.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +219 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts +3 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +33 -4
- package/dist/runtime.js.map +1 -1
- package/dist/types.d.ts +16 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -6
package/README.md
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# @toon-ui/core
|
|
2
|
+
|
|
3
|
+
`@toon-ui/core` is the low-level foundation of ToonUI.
|
|
4
|
+
|
|
5
|
+
Use it when you need:
|
|
6
|
+
|
|
7
|
+
- the server-side Toon protocol
|
|
8
|
+
- prompt generation
|
|
9
|
+
- parsing and validation
|
|
10
|
+
- chat payload formatting
|
|
11
|
+
- a custom renderer outside the default React runtime
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Quick path
|
|
16
|
+
|
|
17
|
+
1. On the server, create `const toon = createToonProtocol()`.
|
|
18
|
+
2. Compose `toon.prompt` into your system prompt.
|
|
19
|
+
3. On interaction callbacks, use `toon.createChatMessage(payload)`.
|
|
20
|
+
4. If you need low-level rendering, use parsing and validation APIs directly.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Install
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pnpm add @toon-ui/core
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Main exports
|
|
33
|
+
|
|
34
|
+
- `createToonProtocol()`
|
|
35
|
+
- `createToonUI()` low-level runtime
|
|
36
|
+
- `createRules()`
|
|
37
|
+
- `createPrompt()`
|
|
38
|
+
- `createComponentPrompt()`
|
|
39
|
+
- `createSafetyPrompt()`
|
|
40
|
+
- `createExamplesPrompt()`
|
|
41
|
+
- `parseToonUI()`
|
|
42
|
+
- `validateToonUI()`
|
|
43
|
+
- `extractToonBlocks()`
|
|
44
|
+
- `formatReplyMessage()`
|
|
45
|
+
- `formatSubmitMessage()`
|
|
46
|
+
- `createChatMessage()`
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Server integration
|
|
51
|
+
|
|
52
|
+
This is the PRIMARY use case for `@toon-ui/core`.
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
import { createToonProtocol } from '@toon-ui/core';
|
|
56
|
+
import { streamText } from 'ai';
|
|
57
|
+
import { openai } from '@ai-sdk/openai';
|
|
58
|
+
|
|
59
|
+
const toon = createToonProtocol();
|
|
60
|
+
|
|
61
|
+
const system = [
|
|
62
|
+
toon.prompt,
|
|
63
|
+
'Available tools:',
|
|
64
|
+
'- createProduct(name, price, stock)',
|
|
65
|
+
'- deleteProduct(id)',
|
|
66
|
+
].join('\n\n');
|
|
67
|
+
|
|
68
|
+
export async function POST(req: Request) {
|
|
69
|
+
const { messages } = await req.json();
|
|
70
|
+
|
|
71
|
+
const result = streamText({
|
|
72
|
+
model: openai('gpt-4.1'),
|
|
73
|
+
system,
|
|
74
|
+
messages,
|
|
75
|
+
tools: {
|
|
76
|
+
createProduct: async (input) => ({ ok: true, input }),
|
|
77
|
+
deleteProduct: async ({ id }) => ({ ok: true, id }),
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
return result.toUIMessageStreamResponse();
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Why `createToonProtocol()` exists
|
|
86
|
+
|
|
87
|
+
Because the server usually needs:
|
|
88
|
+
|
|
89
|
+
- `prompt`
|
|
90
|
+
- `rules`
|
|
91
|
+
- `formatReplyMessage()`
|
|
92
|
+
- `formatSubmitMessage()`
|
|
93
|
+
- `createChatMessage()`
|
|
94
|
+
|
|
95
|
+
It does NOT need a React component registry.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Frontend integration with a custom stack
|
|
100
|
+
|
|
101
|
+
You can use `@toon-ui/core` on the frontend only if you are building your own renderer or analysis tooling.
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
import { extractToonBlocks, parseToonUI, validateToonUI } from '@toon-ui/core';
|
|
105
|
+
|
|
106
|
+
const content = `
|
|
107
|
+
Claro, encontré este producto.
|
|
108
|
+
|
|
109
|
+
\`\`\`toon-ui
|
|
110
|
+
card "Producto encontrado":
|
|
111
|
+
text "Coca-Cola 400ml"
|
|
112
|
+
badge "Activo" success
|
|
113
|
+
\`\`\`
|
|
114
|
+
`;
|
|
115
|
+
|
|
116
|
+
const blocks = extractToonBlocks(content);
|
|
117
|
+
const ast = parseToonUI(blocks[0].raw);
|
|
118
|
+
const result = validateToonUI(ast);
|
|
119
|
+
|
|
120
|
+
console.log(result.ok);
|
|
121
|
+
console.log(ast);
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
If you want ready-made React rendering, DO NOT stay at this layer. Use:
|
|
125
|
+
|
|
126
|
+
- `@toon-ui/react`
|
|
127
|
+
- or `@toon-ui/toon-ui`
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Interaction helpers
|
|
132
|
+
|
|
133
|
+
### Format a reply payload manually
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
import { formatReplyMessage } from '@toon-ui/core';
|
|
137
|
+
|
|
138
|
+
const content = formatReplyMessage({
|
|
139
|
+
kind: 'ui_reply',
|
|
140
|
+
eventId: 'reply_123',
|
|
141
|
+
source: 'button',
|
|
142
|
+
component: 'button',
|
|
143
|
+
value: 'Sí, elimínalo',
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Format a submit payload manually
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
import { formatSubmitMessage } from '@toon-ui/core';
|
|
151
|
+
|
|
152
|
+
const content = formatSubmitMessage({
|
|
153
|
+
kind: 'ui_submit',
|
|
154
|
+
eventId: 'submit_123',
|
|
155
|
+
source: 'form',
|
|
156
|
+
intent: 'create_product',
|
|
157
|
+
formTitle: 'Crear producto',
|
|
158
|
+
values: {
|
|
159
|
+
name: 'Coca-Cola 400ml',
|
|
160
|
+
price: 2500,
|
|
161
|
+
stock: 20,
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Create a chat-ready message
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
import { createChatMessage } from '@toon-ui/core';
|
|
170
|
+
|
|
171
|
+
const message = createChatMessage({
|
|
172
|
+
kind: 'ui_reply',
|
|
173
|
+
eventId: 'reply_123',
|
|
174
|
+
source: 'button',
|
|
175
|
+
component: 'button',
|
|
176
|
+
value: 'Sí, elimínalo',
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
console.log(message.content);
|
|
180
|
+
console.log(message.displayContent);
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## When to use `createToonUI()` from core
|
|
186
|
+
|
|
187
|
+
Only use `createToonUI()` from `@toon-ui/core` when you need a low-level runtime object that mixes:
|
|
188
|
+
|
|
189
|
+
- protocol
|
|
190
|
+
- parser
|
|
191
|
+
- validator
|
|
192
|
+
- extractor
|
|
193
|
+
- your own component registry type
|
|
194
|
+
|
|
195
|
+
Most applications should prefer:
|
|
196
|
+
|
|
197
|
+
- `createToonProtocol()` on the server
|
|
198
|
+
- `createToonRuntime()` on the client
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Boundary
|
|
203
|
+
|
|
204
|
+
`@toon-ui/core` does NOT own:
|
|
205
|
+
|
|
206
|
+
- React rendering
|
|
207
|
+
- your component library
|
|
208
|
+
- your model provider
|
|
209
|
+
- your backend tools
|
|
210
|
+
- chat persistence
|
|
211
|
+
|
|
212
|
+
It owns:
|
|
213
|
+
|
|
214
|
+
- grammar
|
|
215
|
+
- AST
|
|
216
|
+
- validation
|
|
217
|
+
- protocol
|
|
218
|
+
- prompt generation
|
|
219
|
+
- structured interaction formatting
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export { parseToonUI, ToonSyntaxError } from './parser';
|
|
|
3
3
|
export { validateToonUI } from './validator';
|
|
4
4
|
export { extractToonBlocks } from './formatter';
|
|
5
5
|
export { createPrompt, createComponentPrompt, createSafetyPrompt, createExamplesPrompt } from './prompts';
|
|
6
|
-
export { createRules, createToonUI, formatSubmitMessage, formatReplyMessage } from './runtime';
|
|
6
|
+
export { createRules, createToonProtocol, createToonUI, formatSubmitMessage, formatReplyMessage, createChatMessage } from './runtime';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,5 +3,5 @@ export { parseToonUI, ToonSyntaxError } from './parser';
|
|
|
3
3
|
export { validateToonUI } from './validator';
|
|
4
4
|
export { extractToonBlocks } from './formatter';
|
|
5
5
|
export { createPrompt, createComponentPrompt, createSafetyPrompt, createExamplesPrompt } from './prompts';
|
|
6
|
-
export { createRules, createToonUI, formatSubmitMessage, formatReplyMessage } from './runtime';
|
|
6
|
+
export { createRules, createToonProtocol, createToonUI, formatSubmitMessage, formatReplyMessage, createChatMessage } from './runtime';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { type CreateToonUIOptions, type ReplyPayload, type SubmitPayload, type ToonComponentRegistry, type ToonRules, type ToonRuntime } from './types';
|
|
1
|
+
import { type CreateToonUIOptions, type ReplyPayload, type SubmitPayload, type ToonChatMessage, type ToonComponentRegistry, type ToonInteractionPayload, type ToonProtocol, type ToonRules, type ToonRuntime } from './types';
|
|
2
2
|
export declare function createRules(): ToonRules;
|
|
3
3
|
export declare function formatSubmitMessage(intentOrPayload: string | SubmitPayload, values?: Record<string, string | number | boolean>): string;
|
|
4
4
|
export declare function formatReplyMessage(valueOrPayload: string | ReplyPayload, metadata?: Record<string, string | number | boolean>): string;
|
|
5
|
+
export declare function createChatMessage<TPayload extends ToonInteractionPayload>(payload: TPayload): ToonChatMessage<TPayload>;
|
|
6
|
+
export declare function createToonProtocol(): ToonProtocol;
|
|
5
7
|
export declare function createToonUI<TComponents extends ToonComponentRegistry = ToonComponentRegistry>(options?: CreateToonUIOptions<TComponents>): ToonRuntime<TComponents>;
|
|
6
8
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyF,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyF,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAMrT,wBAAgB,WAAW,IAAI,SAAS,CAQvC;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAiBvI;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,GAAG,MAAM,CAiB1I;AAOD,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,sBAAsB,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAkBvH;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAUjD;AAED,wBAAgB,YAAY,CAAC,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EAAE,OAAO,GAAE,mBAAmB,CAAC,WAAW,CAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CASxK"}
|
package/dist/runtime.js
CHANGED
|
@@ -49,17 +49,46 @@ export function formatReplyMessage(valueOrPayload, metadata = {}) {
|
|
|
49
49
|
});
|
|
50
50
|
return lines.join('\n');
|
|
51
51
|
}
|
|
52
|
-
|
|
52
|
+
function createSubmitDisplayContent(payload) {
|
|
53
|
+
const entries = Object.entries(payload.values).map(([key, value]) => `${key}: ${String(value)}`);
|
|
54
|
+
return [payload.formTitle, ...entries].join('\n');
|
|
55
|
+
}
|
|
56
|
+
export function createChatMessage(payload) {
|
|
57
|
+
if (payload.kind === 'ui_reply') {
|
|
58
|
+
return {
|
|
59
|
+
role: 'user',
|
|
60
|
+
kind: payload.kind,
|
|
61
|
+
content: formatReplyMessage(payload),
|
|
62
|
+
displayContent: payload.value,
|
|
63
|
+
payload,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
role: 'user',
|
|
68
|
+
kind: payload.kind,
|
|
69
|
+
content: formatSubmitMessage(payload),
|
|
70
|
+
displayContent: createSubmitDisplayContent(payload),
|
|
71
|
+
payload,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function createToonProtocol() {
|
|
53
75
|
const rules = createRules();
|
|
54
76
|
return {
|
|
55
|
-
components: (options.components ?? {}),
|
|
56
77
|
prompt: createPrompt(rules),
|
|
57
78
|
rules,
|
|
79
|
+
formatSubmitMessage,
|
|
80
|
+
formatReplyMessage,
|
|
81
|
+
createChatMessage,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function createToonUI(options = {}) {
|
|
85
|
+
const protocol = createToonProtocol();
|
|
86
|
+
return {
|
|
87
|
+
components: (options.components ?? {}),
|
|
88
|
+
...protocol,
|
|
58
89
|
parse: parseToonUI,
|
|
59
90
|
validate: validateToonUI,
|
|
60
91
|
extractBlocks: extractToonBlocks,
|
|
61
|
-
formatSubmitMessage,
|
|
62
|
-
formatReplyMessage,
|
|
63
92
|
};
|
|
64
93
|
}
|
|
65
94
|
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -139,20 +139,31 @@ export interface SubmitPayload {
|
|
|
139
139
|
values: Record<string, SubmitValue>;
|
|
140
140
|
line?: number;
|
|
141
141
|
}
|
|
142
|
+
export type ToonInteractionPayload = ReplyPayload | SubmitPayload;
|
|
143
|
+
export interface ToonChatMessage<TPayload extends ToonInteractionPayload = ToonInteractionPayload> {
|
|
144
|
+
role: "user";
|
|
145
|
+
kind: TPayload["kind"];
|
|
146
|
+
content: string;
|
|
147
|
+
displayContent: string;
|
|
148
|
+
payload: TPayload;
|
|
149
|
+
}
|
|
150
|
+
export interface ToonProtocol {
|
|
151
|
+
prompt: string;
|
|
152
|
+
rules: ToonRules;
|
|
153
|
+
formatSubmitMessage: typeof import('./runtime').formatSubmitMessage;
|
|
154
|
+
formatReplyMessage: typeof import('./runtime').formatReplyMessage;
|
|
155
|
+
createChatMessage: typeof import('./runtime').createChatMessage;
|
|
156
|
+
}
|
|
142
157
|
export type ToonComponentRegistry = Partial<{
|
|
143
158
|
[K in keyof ToonNodeByType]: unknown;
|
|
144
159
|
}>;
|
|
145
160
|
export interface CreateToonUIOptions<TComponents extends ToonComponentRegistry = ToonComponentRegistry> {
|
|
146
161
|
components?: TComponents;
|
|
147
162
|
}
|
|
148
|
-
export interface ToonRuntime<TComponents extends ToonComponentRegistry = ToonComponentRegistry> {
|
|
163
|
+
export interface ToonRuntime<TComponents extends ToonComponentRegistry = ToonComponentRegistry> extends ToonProtocol {
|
|
149
164
|
components: TComponents;
|
|
150
|
-
prompt: string;
|
|
151
|
-
rules: ToonRules;
|
|
152
165
|
parse: typeof import('./parser').parseToonUI;
|
|
153
166
|
validate: typeof import('./validator').validateToonUI;
|
|
154
167
|
extractBlocks: typeof import('./formatter').extractToonBlocks;
|
|
155
|
-
formatSubmitMessage: typeof import('./runtime').formatSubmitMessage;
|
|
156
|
-
formatReplyMessage: typeof import('./runtime').formatReplyMessage;
|
|
157
168
|
}
|
|
158
169
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toon-ui/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Core parser, AST, validation, and protocol utilities for ToonUI.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"toon-ui",
|
|
7
|
+
"ai",
|
|
8
|
+
"ui",
|
|
9
|
+
"chat",
|
|
10
|
+
"dsl",
|
|
11
|
+
"parser"
|
|
12
|
+
],
|
|
6
13
|
"homepage": "https://github.com/jefferson-lopez/toon-ui#readme",
|
|
7
14
|
"bugs": {
|
|
8
15
|
"url": "https://github.com/jefferson-lopez/toon-ui/issues"
|
|
@@ -27,13 +34,13 @@
|
|
|
27
34
|
"default": "./dist/index.js"
|
|
28
35
|
}
|
|
29
36
|
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"zod": "^4.4.3"
|
|
39
|
+
},
|
|
30
40
|
"scripts": {
|
|
31
41
|
"build": "tsc -p tsconfig.json",
|
|
32
42
|
"test": "vitest run",
|
|
33
43
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
34
44
|
"lint": "tsc -p tsconfig.json --noEmit"
|
|
35
|
-
},
|
|
36
|
-
"dependencies": {
|
|
37
|
-
"zod": "^3.23.8"
|
|
38
45
|
}
|
|
39
|
-
}
|
|
46
|
+
}
|