@a5c-ai/genty-ui 5.1.1-staging.fe1aa68f8bc5 → 6.0.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/dist/components/Agent/AgentAppearanceEditor.d.ts +35 -0
- package/dist/components/Agent/AgentAppearanceEditor.d.ts.map +1 -1
- package/dist/components/Agent/AgentAppearanceEditor.js +60 -1
- package/dist/components/Agent/AgentAppearanceEditor.js.map +1 -1
- package/dist/components/Agent/index.d.ts +2 -2
- package/dist/components/Agent/index.d.ts.map +1 -1
- package/dist/components/Agent/index.js +1 -1
- package/dist/components/Agent/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -10,12 +10,47 @@ export interface AgentBadgeSpec {
|
|
|
10
10
|
export interface AgentThemeSpec {
|
|
11
11
|
primaryColor?: string;
|
|
12
12
|
}
|
|
13
|
+
export type AgentAppearanceRenderer = 'talkinghead' | 'live2d';
|
|
14
|
+
export type AgentAppearanceVisemeSet = 'oculus' | 'arkit';
|
|
13
15
|
export interface AgentAppearanceSpec {
|
|
14
16
|
avatar?: AgentAvatarSpec;
|
|
15
17
|
emoji?: string;
|
|
16
18
|
badge?: AgentBadgeSpec;
|
|
17
19
|
theme?: AgentThemeSpec;
|
|
20
|
+
renderer?: AgentAppearanceRenderer;
|
|
21
|
+
avatarModelUrl?: string;
|
|
22
|
+
visemeSet?: AgentAppearanceVisemeSet;
|
|
23
|
+
defaultMood?: string;
|
|
24
|
+
defaultView?: string;
|
|
18
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Flat form shape for the appearance editor. Existing profile fields plus the five
|
|
28
|
+
* realtime avatar fields. All optional — unset fields are OMITTED from the built spec
|
|
29
|
+
* (correct emptiness; the passthrough route stores only set fields).
|
|
30
|
+
*/
|
|
31
|
+
export interface AgentAppearanceForm {
|
|
32
|
+
avatar?: AgentAvatarSpec;
|
|
33
|
+
emoji?: string;
|
|
34
|
+
badge?: AgentBadgeSpec;
|
|
35
|
+
theme?: AgentThemeSpec;
|
|
36
|
+
renderer?: AgentAppearanceRenderer;
|
|
37
|
+
avatarModelUrl?: string;
|
|
38
|
+
visemeSet?: AgentAppearanceVisemeSet;
|
|
39
|
+
defaultMood?: string;
|
|
40
|
+
defaultView?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Pure: form -> AgentAppearanceSpec. Preserves avatar/emoji/badge/theme; emits the five
|
|
44
|
+
* flat realtime fields. OMITS unset fields (no '' / null writes) so the appearances
|
|
45
|
+
* passthrough route stores only set fields. No fallback / no placeholder values.
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildAppearanceSpec(form?: AgentAppearanceForm): AgentAppearanceSpec;
|
|
48
|
+
/**
|
|
49
|
+
* Pure inverse: AgentAppearanceSpec -> form. Reads set spec fields back into form state.
|
|
50
|
+
* Only set fields are copied — unset spec fields stay unset so a round-trip
|
|
51
|
+
* buildAppearanceSpec(parseAppearanceSpec(spec)) reproduces the same realtime subset.
|
|
52
|
+
*/
|
|
53
|
+
export declare function parseAppearanceSpec(spec?: AgentAppearanceSpec): AgentAppearanceForm;
|
|
19
54
|
export interface AgentAppearanceEditorProps {
|
|
20
55
|
value?: AgentAppearanceSpec;
|
|
21
56
|
onChange?: (value: AgentAppearanceSpec) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentAppearanceEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentAppearanceEditor.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentAppearanceEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentAppearanceEditor.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IAGvB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,mBAAwB,GAAG,mBAAmB,CAYvF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,mBAAwB,GAAG,mBAAmB,CAYvF;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,qBAAqB,CAAC,EAAE,KAAU,EAAE,QAAmB,EAAE,EAAE,0BAA0B,2CAyGpG"}
|
|
@@ -1,10 +1,69 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
function hasAvatarFields(avatar) {
|
|
3
|
+
if (!avatar)
|
|
4
|
+
return false;
|
|
5
|
+
return Boolean(avatar.type || avatar.url || avatar.fallbackInitials || avatar.fallbackColor);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Pure: form -> AgentAppearanceSpec. Preserves avatar/emoji/badge/theme; emits the five
|
|
9
|
+
* flat realtime fields. OMITS unset fields (no '' / null writes) so the appearances
|
|
10
|
+
* passthrough route stores only set fields. No fallback / no placeholder values.
|
|
11
|
+
*/
|
|
12
|
+
export function buildAppearanceSpec(form = {}) {
|
|
13
|
+
const spec = {};
|
|
14
|
+
if (hasAvatarFields(form.avatar))
|
|
15
|
+
spec.avatar = { ...form.avatar };
|
|
16
|
+
if (form.emoji)
|
|
17
|
+
spec.emoji = form.emoji;
|
|
18
|
+
if (form.badge?.text)
|
|
19
|
+
spec.badge = { ...form.badge };
|
|
20
|
+
if (form.theme?.primaryColor)
|
|
21
|
+
spec.theme = { ...form.theme };
|
|
22
|
+
if (form.renderer)
|
|
23
|
+
spec.renderer = form.renderer;
|
|
24
|
+
if (form.avatarModelUrl)
|
|
25
|
+
spec.avatarModelUrl = form.avatarModelUrl;
|
|
26
|
+
if (form.visemeSet)
|
|
27
|
+
spec.visemeSet = form.visemeSet;
|
|
28
|
+
if (form.defaultMood)
|
|
29
|
+
spec.defaultMood = form.defaultMood;
|
|
30
|
+
if (form.defaultView)
|
|
31
|
+
spec.defaultView = form.defaultView;
|
|
32
|
+
return spec;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pure inverse: AgentAppearanceSpec -> form. Reads set spec fields back into form state.
|
|
36
|
+
* Only set fields are copied — unset spec fields stay unset so a round-trip
|
|
37
|
+
* buildAppearanceSpec(parseAppearanceSpec(spec)) reproduces the same realtime subset.
|
|
38
|
+
*/
|
|
39
|
+
export function parseAppearanceSpec(spec = {}) {
|
|
40
|
+
const form = {};
|
|
41
|
+
if (spec.avatar)
|
|
42
|
+
form.avatar = { ...spec.avatar };
|
|
43
|
+
if (spec.emoji)
|
|
44
|
+
form.emoji = spec.emoji;
|
|
45
|
+
if (spec.badge)
|
|
46
|
+
form.badge = { ...spec.badge };
|
|
47
|
+
if (spec.theme)
|
|
48
|
+
form.theme = { ...spec.theme };
|
|
49
|
+
if (spec.renderer)
|
|
50
|
+
form.renderer = spec.renderer;
|
|
51
|
+
if (spec.avatarModelUrl)
|
|
52
|
+
form.avatarModelUrl = spec.avatarModelUrl;
|
|
53
|
+
if (spec.visemeSet)
|
|
54
|
+
form.visemeSet = spec.visemeSet;
|
|
55
|
+
if (spec.defaultMood)
|
|
56
|
+
form.defaultMood = spec.defaultMood;
|
|
57
|
+
if (spec.defaultView)
|
|
58
|
+
form.defaultView = spec.defaultView;
|
|
59
|
+
return form;
|
|
60
|
+
}
|
|
2
61
|
export function AgentAppearanceEditor({ value = {}, onChange = () => { } }) {
|
|
3
62
|
const avatar = value.avatar || {};
|
|
4
63
|
const theme = value.theme || {};
|
|
5
64
|
const update = (patch) => onChange({ ...value, ...patch });
|
|
6
65
|
const updateAvatar = (patch) => update({ avatar: { ...avatar, ...patch } });
|
|
7
66
|
const updateTheme = (patch) => update({ theme: { ...theme, ...patch } });
|
|
8
|
-
return (_jsxs("form", { onSubmit: (event) => event.preventDefault(), className: "stack", "aria-label": "Agent appearance editor", children: [_jsxs("label", { children: ["Avatar URL", _jsx("input", { "aria-label": "Avatar URL", value: avatar.url || '', onChange: (event) => updateAvatar({ type: 'url', url: event.target.value }) })] }), _jsxs("label", { children: ["Emoji", _jsx("input", { "aria-label": "Emoji", value: value.emoji || '', onChange: (event) => update({ emoji: event.target.value }) })] }), _jsxs("label", { children: ["Primary color", _jsx("input", { type: "color", "aria-label": "Primary color", value: theme.primaryColor || '#2563eb', onChange: (event) => updateTheme({ primaryColor: event.target.value }) })] }), _jsxs("label", { children: ["Badge", _jsx("input", { "aria-label": "Badge text", value: value.badge?.text || '', onChange: (event) => update({ badge: { ...(value.badge || {}), text: event.target.value } }) })] }), _jsx("button", { type: "button", "aria-label": "Generate avatar placeholder", onClick: () => updateAvatar({ type: 'generated', fallbackInitials: avatar.fallbackInitials || 'AI' }), children: "Generate placeholder" }), _jsx("button", { type: "submit", "aria-label": "Keep appearance", children: "Keep appearance" })] }));
|
|
67
|
+
return (_jsxs("form", { onSubmit: (event) => event.preventDefault(), className: "stack", "aria-label": "Agent appearance editor", children: [_jsxs("label", { children: ["Avatar URL", _jsx("input", { "aria-label": "Avatar URL", value: avatar.url || '', onChange: (event) => updateAvatar({ type: 'url', url: event.target.value }) })] }), _jsxs("label", { children: ["Emoji", _jsx("input", { "aria-label": "Emoji", value: value.emoji || '', onChange: (event) => update({ emoji: event.target.value }) })] }), _jsxs("label", { children: ["Primary color", _jsx("input", { type: "color", "aria-label": "Primary color", value: theme.primaryColor || '#2563eb', onChange: (event) => updateTheme({ primaryColor: event.target.value }) })] }), _jsxs("label", { children: ["Badge", _jsx("input", { "aria-label": "Badge text", value: value.badge?.text || '', onChange: (event) => update({ badge: { ...(value.badge || {}), text: event.target.value } }) })] }), _jsxs("label", { children: ["Avatar renderer", _jsxs("select", { "aria-label": "Avatar renderer", value: value.renderer || '', onChange: (event) => update({ renderer: (event.target.value || undefined) }), children: [_jsx("option", { value: "", children: "(none)" }), _jsx("option", { value: "talkinghead", children: "talkinghead" }), _jsx("option", { value: "live2d", children: "live2d" })] })] }), _jsxs("label", { children: ["Avatar model URL", _jsx("input", { "aria-label": "Avatar model URL", value: value.avatarModelUrl || '', onChange: (event) => update({ avatarModelUrl: event.target.value }) })] }), _jsxs("label", { children: ["Viseme set", _jsxs("select", { "aria-label": "Viseme set", value: value.visemeSet || '', onChange: (event) => update({ visemeSet: (event.target.value || undefined) }), children: [_jsx("option", { value: "", children: "(none)" }), _jsx("option", { value: "oculus", children: "oculus" }), _jsx("option", { value: "arkit", children: "arkit" })] })] }), _jsxs("label", { children: ["Default mood", _jsx("input", { "aria-label": "Default mood", value: value.defaultMood || '', onChange: (event) => update({ defaultMood: event.target.value }) })] }), _jsxs("label", { children: ["Default view", _jsx("input", { "aria-label": "Default view", value: value.defaultView || '', onChange: (event) => update({ defaultView: event.target.value }) })] }), _jsx("button", { type: "button", "aria-label": "Generate avatar placeholder", onClick: () => updateAvatar({ type: 'generated', fallbackInitials: avatar.fallbackInitials || 'AI' }), children: "Generate placeholder" }), _jsx("button", { type: "submit", "aria-label": "Keep appearance", children: "Keep appearance" })] }));
|
|
9
68
|
}
|
|
10
69
|
//# sourceMappingURL=AgentAppearanceEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentAppearanceEditor.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentAppearanceEditor.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AgentAppearanceEditor.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentAppearanceEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ export { AgentPersonaEditor } from './AgentPersonaEditor.js';
|
|
|
10
10
|
export type { AgentPersonaEditorProps, AgentPersonaValue, AgentPersonalitySpec, AgentRoleSpec } from './AgentPersonaEditor.js';
|
|
11
11
|
export { AgentSoulEditor } from './AgentSoulEditor.js';
|
|
12
12
|
export type { AgentSoulEditorProps } from './AgentSoulEditor.js';
|
|
13
|
-
export { AgentAppearanceEditor } from './AgentAppearanceEditor.js';
|
|
14
|
-
export type { AgentAppearanceEditorProps, AgentAppearanceSpec, AgentAvatarSpec, AgentBadgeSpec, AgentThemeSpec } from './AgentAppearanceEditor.js';
|
|
13
|
+
export { AgentAppearanceEditor, buildAppearanceSpec, parseAppearanceSpec } from './AgentAppearanceEditor.js';
|
|
14
|
+
export type { AgentAppearanceEditorProps, AgentAppearanceSpec, AgentAvatarSpec, AgentBadgeSpec, AgentThemeSpec, AgentAppearanceForm, AgentAppearanceRenderer, AgentAppearanceVisemeSet } from './AgentAppearanceEditor.js';
|
|
15
15
|
export { AgentVoiceEditor } from './AgentVoiceEditor.js';
|
|
16
16
|
export type { AgentVoiceEditorProps, AgentVoiceSpec, AgentTtsConfig } from './AgentVoiceEditor.js';
|
|
17
17
|
export { DispatchButton } from './DispatchButton.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEtI,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEjH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE/H,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEtI,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEjH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE/H,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC7G,YAAY,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3N,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEnG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -4,7 +4,7 @@ export { AgentProfilePage } from './AgentProfilePage.js';
|
|
|
4
4
|
export { AgentCreateWizard } from './AgentCreateWizard.js';
|
|
5
5
|
export { AgentPersonaEditor } from './AgentPersonaEditor.js';
|
|
6
6
|
export { AgentSoulEditor } from './AgentSoulEditor.js';
|
|
7
|
-
export { AgentAppearanceEditor } from './AgentAppearanceEditor.js';
|
|
7
|
+
export { AgentAppearanceEditor, buildAppearanceSpec, parseAppearanceSpec } from './AgentAppearanceEditor.js';
|
|
8
8
|
export { AgentVoiceEditor } from './AgentVoiceEditor.js';
|
|
9
9
|
export { DispatchButton } from './DispatchButton.js';
|
|
10
10
|
export { ApprovalDecisionButtons } from './ApprovalActions.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAG7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a5c-ai/genty-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Shared UI foundation and session-flow projection surface for browser and React Native adapters apps",
|
|
@@ -123,13 +123,13 @@
|
|
|
123
123
|
"build:realtime": "npm run build --workspace=@a5c-ai/atlas && npm run build --workspace=@a5c-ai/comm-adapter && npm run build",
|
|
124
124
|
"clean": "rimraf dist tsconfig.tsbuildinfo",
|
|
125
125
|
"codegen": "tsx src/codegen/swift-types.ts && tsx src/codegen/kotlin-types.ts",
|
|
126
|
-
"test": "vitest run --root ../../.. --config vitest.config.ts packages/
|
|
127
|
-
"test:realtime": "vitest run --root ../../.. --config vitest.config.ts \"packages/
|
|
126
|
+
"test": "vitest run --root ../../.. --config vitest.config.ts packages/genty/ui",
|
|
127
|
+
"test:realtime": "vitest run --root ../../.. --config vitest.config.ts \"packages/genty/ui/src/session-flow*.test.ts\" \"packages/genty/ui/src/screens/SessionDetailScreen.test.tsx\" \"packages/genty/ui/src/release-verification.test.ts\"",
|
|
128
128
|
"verify:release": "node ./scripts/verify-release.mjs",
|
|
129
129
|
"prepublishOnly": "npm run build:realtime && npm run test:realtime && npm run verify:release"
|
|
130
130
|
},
|
|
131
131
|
"dependencies": {
|
|
132
|
-
"@a5c-ai/comm-adapter": "
|
|
132
|
+
"@a5c-ai/comm-adapter": "6.0.0",
|
|
133
133
|
"react": "^19.1.0",
|
|
134
134
|
"react-dom": "^19.1.0",
|
|
135
135
|
"react-native": "^0.85.3",
|