@gea-ai/chat-ui 0.1.260820-alpha.5

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.
@@ -0,0 +1,512 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { pageEventSchema } from "@gea-ai/contract/page-events";
3
+ import { createYamlStreamCompiler } from "@json-render/yaml";
4
+ import { useMemo, useRef, useState, } from "react";
5
+ import { useGeaChatUI, } from "./runtime.js";
6
+ import { asRecord } from "./utils.js";
7
+ const componentTypes = new Set([
8
+ "Button",
9
+ "CapabilityList",
10
+ "Card",
11
+ "Checkbox",
12
+ "ChipSelect",
13
+ "ChoiceGroup",
14
+ "Grid",
15
+ "GuidedQuestions",
16
+ "Heading",
17
+ "Input",
18
+ "RadioCard",
19
+ "RatingInput",
20
+ "Select",
21
+ "Stack",
22
+ "Text",
23
+ "Textarea",
24
+ "ToggleButtonGroup",
25
+ ]);
26
+ const blockedStateSegments = new Set(["__proto__", "constructor", "prototype"]);
27
+ function normalizeStatePath(path) {
28
+ const segments = path
29
+ .trim()
30
+ .split("/")
31
+ .map((segment) => segment.trim())
32
+ .filter(Boolean);
33
+ if (segments.length === 0 ||
34
+ segments.some((segment) => blockedStateSegments.has(segment))) {
35
+ return null;
36
+ }
37
+ return segments;
38
+ }
39
+ function getStateValue(state, path) {
40
+ const segments = normalizeStatePath(path);
41
+ if (!segments) {
42
+ return undefined;
43
+ }
44
+ let current = state;
45
+ for (const segment of segments) {
46
+ const record = asRecord(current);
47
+ if (!record || !Object.hasOwn(record, segment)) {
48
+ return undefined;
49
+ }
50
+ current = record[segment];
51
+ }
52
+ return current;
53
+ }
54
+ function setStateValue(state, path, value) {
55
+ const segments = normalizeStatePath(path);
56
+ if (!segments) {
57
+ return state;
58
+ }
59
+ const next = { ...state };
60
+ let cursor = next;
61
+ for (const [index, segment] of segments.entries()) {
62
+ if (index === segments.length - 1) {
63
+ cursor[segment] = value;
64
+ break;
65
+ }
66
+ const existing = asRecord(cursor[segment]);
67
+ const child = existing ? { ...existing } : {};
68
+ cursor[segment] = child;
69
+ cursor = child;
70
+ }
71
+ return next;
72
+ }
73
+ function getBindingPath(value) {
74
+ const record = asRecord(value);
75
+ if (!record) {
76
+ return null;
77
+ }
78
+ const path = typeof record.$bindState === "string"
79
+ ? record.$bindState
80
+ : typeof record.$state === "string"
81
+ ? record.$state
82
+ : null;
83
+ return path && normalizeStatePath(path) ? path : null;
84
+ }
85
+ function findActionBinding(value, action) {
86
+ if (Array.isArray(value)) {
87
+ for (const item of value) {
88
+ const binding = findActionBinding(item, action);
89
+ if (binding) {
90
+ return binding;
91
+ }
92
+ }
93
+ return null;
94
+ }
95
+ const record = asRecord(value);
96
+ return record?.action === action ? record : null;
97
+ }
98
+ function normalizeGuidedQuestionsProps(props) {
99
+ if (!Array.isArray(props.questions)) {
100
+ return props;
101
+ }
102
+ return {
103
+ ...props,
104
+ questions: props.questions.map((question) => {
105
+ const record = asRecord(question);
106
+ const valuePath = record ? getBindingPath(record.value) : null;
107
+ return record && valuePath ? { ...record, valuePath } : question;
108
+ }),
109
+ };
110
+ }
111
+ function normalizeElement(value) {
112
+ const record = asRecord(value);
113
+ if (!record || typeof record.type !== "string") {
114
+ return null;
115
+ }
116
+ if (!componentTypes.has(record.type)) {
117
+ return null;
118
+ }
119
+ const on = asRecord(record.on) ?? {};
120
+ const rawProps = asRecord(record.props) ?? {};
121
+ const props = findActionBinding(on.press, "submitRequest")
122
+ ? { ...rawProps, submit: true }
123
+ : rawProps;
124
+ return {
125
+ children: Array.isArray(record.children)
126
+ ? record.children.filter((child) => typeof child === "string")
127
+ : [],
128
+ on,
129
+ props: record.type === "GuidedQuestions"
130
+ ? normalizeGuidedQuestionsProps(props)
131
+ : props,
132
+ type: record.type,
133
+ };
134
+ }
135
+ export function parseGeaYamlRenderSpec(source) {
136
+ const compiler = createYamlStreamCompiler();
137
+ compiler.push(`${source}\n`);
138
+ const { result } = compiler.flush();
139
+ const record = asRecord(result);
140
+ const elementsRecord = asRecord(record?.elements);
141
+ if (!record || typeof record.root !== "string" || !elementsRecord) {
142
+ return null;
143
+ }
144
+ const elements = Object.fromEntries(Object.entries(elementsRecord).flatMap(([id, value]) => {
145
+ const element = normalizeElement(value);
146
+ return element ? [[id, element]] : [];
147
+ }));
148
+ if (!elements[record.root]) {
149
+ return null;
150
+ }
151
+ return {
152
+ elements,
153
+ root: record.root,
154
+ };
155
+ }
156
+ function getRequestOutputState(request) {
157
+ const initialState = { ...request?.input.initialState };
158
+ if (!request ||
159
+ request.state !== "output-available" ||
160
+ request.input.submission.mode !== "state") {
161
+ return initialState;
162
+ }
163
+ const statePath = request.input.submission.statePath;
164
+ if (statePath) {
165
+ return setStateValue(initialState, statePath, request.output);
166
+ }
167
+ return asRecord(request.output) ?? initialState;
168
+ }
169
+ function isRequestToolPart(part) {
170
+ if (part.type === "tool-request") {
171
+ return true;
172
+ }
173
+ if (part.type !== "dynamic-tool") {
174
+ return false;
175
+ }
176
+ const record = part;
177
+ return record.toolName === "request";
178
+ }
179
+ export function getGeaYamlRequest(message, requestKey) {
180
+ for (const part of message.parts) {
181
+ if (!isRequestToolPart(part)) {
182
+ continue;
183
+ }
184
+ const record = part;
185
+ const input = asRecord(record.input);
186
+ if (input?.requestKey !== requestKey ||
187
+ typeof record.toolCallId !== "string" ||
188
+ typeof record.state !== "string") {
189
+ continue;
190
+ }
191
+ const submission = asRecord(input.submission);
192
+ const mode = submission?.mode === "none" ? "none" : "state";
193
+ const statePath = typeof submission?.statePath === "string"
194
+ ? submission.statePath
195
+ : undefined;
196
+ return {
197
+ input: {
198
+ data: asRecord(input.data),
199
+ initialState: asRecord(input.initialState),
200
+ requestKey,
201
+ submission: {
202
+ mode,
203
+ ...(statePath ? { statePath } : {}),
204
+ },
205
+ },
206
+ output: record.output,
207
+ state: record.state,
208
+ toolCallId: record.toolCallId,
209
+ };
210
+ }
211
+ return null;
212
+ }
213
+ function normalizeOptions(value) {
214
+ if (!Array.isArray(value)) {
215
+ return [];
216
+ }
217
+ return value.flatMap((option) => {
218
+ if (typeof option === "string" && option.trim()) {
219
+ return [{ label: option, value: option }];
220
+ }
221
+ const record = asRecord(option);
222
+ if (!record || typeof record.value !== "string") {
223
+ return [];
224
+ }
225
+ const label = typeof record.title === "string"
226
+ ? record.title
227
+ : typeof record.label === "string"
228
+ ? record.label
229
+ : record.value;
230
+ return [
231
+ {
232
+ description: typeof record.description === "string"
233
+ ? record.description
234
+ : undefined,
235
+ disabled: record.disabled === true,
236
+ icon: typeof record.icon === "string" ? record.icon : undefined,
237
+ label,
238
+ value: record.value,
239
+ },
240
+ ];
241
+ });
242
+ }
243
+ function FieldLabel({ label }) {
244
+ return typeof label === "string" && label.trim() ? (_jsx("span", { "data-slot": "yaml-field-label", children: label })) : null;
245
+ }
246
+ function ChoiceButtons({ disabled, multiple = false, onChange, options, value, }) {
247
+ const selectedValues = new Set(Array.isArray(value)
248
+ ? value.filter((item) => typeof item === "string")
249
+ : typeof value === "string"
250
+ ? [value]
251
+ : []);
252
+ return (_jsx("div", { "data-multiple": multiple || undefined, "data-slot": "yaml-options", children: options.map((option) => {
253
+ const selected = selectedValues.has(option.value);
254
+ return (_jsxs("button", { "aria-pressed": selected, "data-selected": selected || undefined, disabled: disabled || option.disabled, onClick: () => {
255
+ if (!multiple) {
256
+ onChange(option.value);
257
+ return;
258
+ }
259
+ const next = new Set(selectedValues);
260
+ if (selected) {
261
+ next.delete(option.value);
262
+ }
263
+ else {
264
+ next.add(option.value);
265
+ }
266
+ onChange([...next]);
267
+ }, type: "button", children: [option.icon ? _jsx("span", { "aria-hidden": "true", children: option.icon }) : null, _jsx("span", { children: option.label }), option.description ? _jsx("small", { children: option.description }) : null] }, option.value));
268
+ }) }));
269
+ }
270
+ function boundQuestionPath(question) {
271
+ return getBindingPath(question.value);
272
+ }
273
+ function GuidedQuestions({ disabled, getStateValue: readState, questions, setStateValue: writeState, }) {
274
+ if (!Array.isArray(questions)) {
275
+ return null;
276
+ }
277
+ return (_jsx("ol", { "data-slot": "yaml-guided-questions", children: questions.map((question, index) => {
278
+ const record = asRecord(question);
279
+ if (!record || typeof record.title !== "string") {
280
+ return null;
281
+ }
282
+ const path = boundQuestionPath(record);
283
+ const value = path ? readState(path) : undefined;
284
+ const key = typeof record.name === "string" ? record.name : `${index}`;
285
+ return (_jsxs("li", { children: [_jsx(FieldLabel, { label: record.title }), typeof record.description === "string" ? (_jsx("p", { children: record.description })) : null, record.kind === "choice" ? (_jsx(ChoiceButtons, { disabled: disabled || !path, onChange: (next) => {
286
+ if (path) {
287
+ writeState(path, next);
288
+ }
289
+ }, options: normalizeOptions(record.options), value: value })) : (_jsx("input", { disabled: disabled || !path, name: typeof record.name === "string" ? record.name : undefined, onChange: (event) => {
290
+ if (path) {
291
+ writeState(path, event.target.value);
292
+ }
293
+ }, placeholder: typeof record.placeholder === "string"
294
+ ? record.placeholder
295
+ : undefined, type: "text", value: typeof value === "string" ? value : "" }))] }, key));
296
+ }) }));
297
+ }
298
+ function DefaultYamlComponent({ children, disabled, element, getBoundValue, getStateValue: readState, setBoundValue, setStateValue: writeState, submit, submitted, }) {
299
+ const { actions } = useGeaChatUI();
300
+ const { props, type } = element;
301
+ const label = typeof props.label === "string" ? props.label : undefined;
302
+ if (type === "Card") {
303
+ return (_jsxs("section", { "data-slot": "yaml-card", children: [typeof props.title === "string" ? _jsx("h3", { children: props.title }) : null, typeof props.description === "string" ? (_jsx("p", { children: props.description })) : null, children] }));
304
+ }
305
+ if (type === "Stack" || type === "Grid") {
306
+ const columns = type === "Grid" &&
307
+ (typeof props.columns === "number" || typeof props.columns === "string")
308
+ ? String(props.columns)
309
+ : undefined;
310
+ const style = columns
311
+ ? { "--gea-yaml-columns": columns }
312
+ : undefined;
313
+ return (_jsx("div", { "data-direction": props.direction, "data-slot": type === "Grid" ? "yaml-grid" : "yaml-stack", style: style, children: children }));
314
+ }
315
+ if (type === "Text") {
316
+ const value = getBoundValue("text");
317
+ return (_jsxs("p", { "data-slot": "yaml-text", children: [typeof value === "string" || typeof value === "number" ? value : null, children] }));
318
+ }
319
+ if (type === "Heading") {
320
+ const value = getBoundValue("text");
321
+ return (_jsxs("h3", { "data-slot": "yaml-heading", children: [typeof value === "string" || typeof value === "number" ? value : null, children] }));
322
+ }
323
+ if (type === "Input" || type === "Textarea") {
324
+ const value = getBoundValue("value");
325
+ const commonProps = {
326
+ disabled,
327
+ name: typeof props.name === "string" ? props.name : undefined,
328
+ onChange: (event) => {
329
+ setBoundValue("value", event.target.value);
330
+ },
331
+ placeholder: typeof props.placeholder === "string" ? props.placeholder : undefined,
332
+ value: typeof value === "string" || typeof value === "number"
333
+ ? String(value)
334
+ : "",
335
+ };
336
+ return (_jsxs("label", { "data-slot": "yaml-field", children: [_jsx(FieldLabel, { label: label }), type === "Textarea" ? (_jsx("textarea", { ...commonProps, rows: typeof props.rows === "number" ? props.rows : undefined })) : (_jsx("input", { ...commonProps, type: props.type === "email" ||
337
+ props.type === "number" ||
338
+ props.type === "password"
339
+ ? props.type
340
+ : "text" })), children] }));
341
+ }
342
+ if (type === "Select") {
343
+ const value = getBoundValue("value");
344
+ return (_jsxs("label", { "data-slot": "yaml-field", children: [_jsx(FieldLabel, { label: label }), _jsxs("select", { disabled: disabled, onChange: (event) => {
345
+ setBoundValue("value", event.target.value);
346
+ }, value: typeof value === "string" ? value : "", children: [typeof props.placeholder === "string" ? (_jsx("option", { disabled: true, value: "", children: props.placeholder })) : null, normalizeOptions(props.options).map((option) => (_jsx("option", { disabled: option.disabled, value: option.value, children: option.label }, option.value)))] }), children] }));
347
+ }
348
+ if (type === "Checkbox") {
349
+ const checked = getBoundValue("checked") === true;
350
+ return (_jsxs("label", { "data-slot": "yaml-checkbox", children: [_jsx("input", { checked: checked, disabled: disabled, onChange: (event) => {
351
+ setBoundValue("checked", event.target.checked);
352
+ }, type: "checkbox" }), _jsx("span", { children: label }), children] }));
353
+ }
354
+ if (type === "ChoiceGroup" ||
355
+ type === "RadioCard" ||
356
+ type === "ToggleButtonGroup") {
357
+ const value = getBoundValue("value");
358
+ return (_jsxs("div", { "data-slot": `yaml-${type.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase()}`, children: [_jsx(FieldLabel, { label: label }), _jsx(ChoiceButtons, { disabled: disabled, onChange: (next) => {
359
+ setBoundValue("value", next);
360
+ }, options: normalizeOptions(props.options), value: value }), children] }));
361
+ }
362
+ if (type === "ChipSelect") {
363
+ const value = getBoundValue("value");
364
+ const multiple = props.mode === "multi" || props.multiple === true;
365
+ return (_jsxs("div", { "data-slot": "yaml-chip-select", children: [_jsx(FieldLabel, { label: label }), _jsx(ChoiceButtons, { disabled: disabled, multiple: multiple, onChange: (next) => {
366
+ setBoundValue("value", next);
367
+ }, options: normalizeOptions(props.options), value: value }), children] }));
368
+ }
369
+ if (type === "RatingInput") {
370
+ const value = getBoundValue("value");
371
+ const current = typeof value === "number" ? value : 0;
372
+ const max = typeof props.max === "number" && props.max > 0
373
+ ? Math.min(10, Math.floor(props.max))
374
+ : 5;
375
+ return (_jsxs("div", { "data-slot": "yaml-rating-input", children: [_jsx(FieldLabel, { label: label }), _jsx("div", { "data-slot": "yaml-options", children: Array.from({ length: max }, (_, index) => index + 1).map((score) => (_jsx("button", { "aria-label": String(score), "aria-pressed": score <= current, disabled: disabled, onClick: () => {
376
+ setBoundValue("value", score);
377
+ }, type: "button", children: props.icon === "heart"
378
+ ? "♥"
379
+ : props.icon === "thumb"
380
+ ? "👍"
381
+ : "★" }, score))) }), children] }));
382
+ }
383
+ if (type === "GuidedQuestions") {
384
+ return (_jsxs("div", { "data-slot": "yaml-guided-questions-group", children: [_jsx(GuidedQuestions, { disabled: disabled, getStateValue: readState, questions: props.questions, setStateValue: writeState }), children] }));
385
+ }
386
+ if (type === "CapabilityList") {
387
+ const items = Array.isArray(props.items) ? props.items : [];
388
+ return (_jsxs("div", { "data-slot": "yaml-capability-list", children: [items.map((item, index) => {
389
+ const record = asRecord(item);
390
+ if (!record || typeof record.title !== "string") {
391
+ return null;
392
+ }
393
+ return (_jsxs("article", { children: [typeof record.icon === "string" ? (_jsx("span", { "aria-hidden": "true", children: record.icon })) : null, _jsx("strong", { children: record.title }), typeof record.subtitle === "string" ? (_jsx("small", { children: record.subtitle })) : null, typeof record.description === "string" ? (_jsx("p", { children: record.description })) : null] }, `${record.title}-${index}`));
394
+ }), children] }));
395
+ }
396
+ if (type === "Button") {
397
+ const submitBinding = findActionBinding(element.on.press, "submitRequest");
398
+ const emitPageEventBinding = findActionBinding(element.on.press, "emitPageEvent");
399
+ const submits = Boolean(submitBinding);
400
+ const pageEvent = emitPageEventBinding
401
+ ? pageEventSchema.safeParse(emitPageEventBinding.params)
402
+ : null;
403
+ const buttonDisabled = props.disabled === true ||
404
+ (submits
405
+ ? disabled || submitted
406
+ : !pageEvent?.success || !actions.emitPageEvent);
407
+ return (_jsxs("button", { "data-slot": "yaml-button", disabled: buttonDisabled, onClick: () => {
408
+ if (submits) {
409
+ void submit();
410
+ return;
411
+ }
412
+ if (pageEvent?.success) {
413
+ void actions.emitPageEvent?.(pageEvent.data);
414
+ }
415
+ }, type: "button", children: [typeof props.label === "string" ? props.label : "Submit", children] }));
416
+ }
417
+ return null;
418
+ }
419
+ function GeaYamlSpecView({ active, request, spec, }) {
420
+ const { actions, labels, yamlComponents } = useGeaChatUI();
421
+ const [state, setState] = useState(() => getRequestOutputState(request));
422
+ const [submitting, setSubmitting] = useState(false);
423
+ const [submittedLocally, setSubmittedLocally] = useState(false);
424
+ const submitted = submittedLocally || request?.state === "output-available";
425
+ const canSubmit = active &&
426
+ Boolean(request && actions.addToolOutput) &&
427
+ request?.state === "input-available" &&
428
+ request.input.submission.mode === "state";
429
+ const disabled = submitting || submitted || !canSubmit;
430
+ async function submit() {
431
+ if (!request || !actions.addToolOutput || !canSubmit || submitting) {
432
+ return false;
433
+ }
434
+ const output = request.input.submission.mode === "none"
435
+ ? null
436
+ : request.input.submission.statePath
437
+ ? getStateValue(state, request.input.submission.statePath)
438
+ : state;
439
+ setSubmitting(true);
440
+ try {
441
+ await actions.addToolOutput({
442
+ output,
443
+ tool: "request",
444
+ toolCallId: request.toolCallId,
445
+ });
446
+ setSubmittedLocally(true);
447
+ return true;
448
+ }
449
+ catch {
450
+ return false;
451
+ }
452
+ finally {
453
+ setSubmitting(false);
454
+ }
455
+ }
456
+ function renderElement(id, ancestors) {
457
+ if (ancestors.has(id)) {
458
+ return null;
459
+ }
460
+ const element = spec.elements[id];
461
+ if (!element) {
462
+ return null;
463
+ }
464
+ const nextAncestors = new Set(ancestors).add(id);
465
+ const elementChildren = element.children ?? [];
466
+ const children = elementChildren.map((childId) => (_jsx("span", { "data-slot": "yaml-child", children: renderElement(childId, nextAncestors) }, childId)));
467
+ const Component = yamlComponents[element.type] ?? DefaultYamlComponent;
468
+ const publicElement = {
469
+ children: elementChildren,
470
+ id,
471
+ on: element.on ?? {},
472
+ props: element.props,
473
+ type: element.type,
474
+ };
475
+ function getBoundValue(propName) {
476
+ const source = element.props[propName];
477
+ const path = getBindingPath(source);
478
+ return path ? getStateValue(state, path) : source;
479
+ }
480
+ function setBoundValue(propName, value) {
481
+ const path = getBindingPath(element.props[propName]);
482
+ if (path) {
483
+ setState((current) => setStateValue(current, path, value));
484
+ }
485
+ }
486
+ return (_jsx(Component, { children: children, disabled: disabled, element: publicElement, getBoundValue: getBoundValue, getStateValue: (path) => getStateValue(state, path), setBoundValue: setBoundValue, setStateValue: (path, value) => {
487
+ setState((current) => setStateValue(current, path, value));
488
+ }, submit: submit, submitted: submitted }));
489
+ }
490
+ return (_jsxs("div", { "data-slot": "yaml-render", children: [renderElement(spec.root, new Set()), !request &&
491
+ Object.values(spec.elements).some((element) => {
492
+ return Boolean(findActionBinding(element.on?.press, "submitRequest"));
493
+ }) ? (_jsx("p", { "data-slot": "yaml-submit-unavailable", children: labels.submitUnavailable })) : null] }));
494
+ }
495
+ export function GeaYamlRender({ active = true, message, request: explicitRequest, source, streaming = false, }) {
496
+ const lastValidSpecRef = useRef(null);
497
+ const spec = useMemo(() => parseGeaYamlRenderSpec(source), [source]);
498
+ if (spec) {
499
+ lastValidSpecRef.current = spec;
500
+ }
501
+ const renderSpec = spec ?? (streaming ? lastValidSpecRef.current : null);
502
+ if (!renderSpec) {
503
+ return null;
504
+ }
505
+ const request = explicitRequest === undefined
506
+ ? message
507
+ ? getGeaYamlRequest(message, renderSpec.root)
508
+ : null
509
+ : explicitRequest;
510
+ return (_jsx(GeaYamlSpecView, { active: active, request: request, spec: renderSpec }, request?.toolCallId ?? renderSpec.root));
511
+ }
512
+ //# sourceMappingURL=yaml-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-render.js","sourceRoot":"","sources":["../src/yaml-render.tsx"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@gea-ai/chat-ui",
3
+ "version": "0.1.260820-alpha.5",
4
+ "private": false,
5
+ "homepage": "https://musegea.com/developers/extensions",
6
+ "license": "Apache-2.0",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/bmrlab/gea.git",
10
+ "directory": "packages/chat-ui"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "LICENSE",
15
+ "README.md"
16
+ ],
17
+ "type": "module",
18
+ "sideEffects": [
19
+ "*.css"
20
+ ],
21
+ "types": "./dist/index.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "types": "./dist/index.d.ts",
25
+ "import": "./dist/index.js"
26
+ },
27
+ "./catalog": {
28
+ "types": "./dist/catalog.d.ts",
29
+ "import": "./dist/catalog.js"
30
+ },
31
+ "./styles.css": "./dist/styles.css"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "dependencies": {
37
+ "@comark/react": "^0.6.2",
38
+ "@json-render/core": "0.18.0",
39
+ "@json-render/react": "0.18.0",
40
+ "@json-render/yaml": "0.18.0",
41
+ "comark": "^0.6.2",
42
+ "zod": "4.3.6",
43
+ "@gea-ai/contract": "0.1.260820-alpha.5"
44
+ },
45
+ "devDependencies": {
46
+ "@types/react": "^19.2.0",
47
+ "@types/react-dom": "^19.2.0",
48
+ "jsdom": "^29.1.1",
49
+ "typescript": "7.0.2",
50
+ "vite-plus": "0.2.1",
51
+ "vitest": "4.1.9"
52
+ },
53
+ "peerDependencies": {
54
+ "react": "^19.0.0",
55
+ "react-dom": "^19.0.0"
56
+ },
57
+ "scripts": {
58
+ "build": "pnpm --filter @gea-ai/contract build && rm -rf dist && tsc -p tsconfig.build.json && cp src/styles.css dist/styles.css && node ../../scripts/rewrite-esm-relative-imports.mjs dist",
59
+ "pack:npm": "pnpm pack --pack-destination dist",
60
+ "publish:npm": "pnpm publish --access public --tag alpha",
61
+ "test": "vp test run --passWithNoTests",
62
+ "type-check": "tsc --noEmit"
63
+ }
64
+ }