@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,206 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { GeaMarkdown } from "./markdown.js";
3
+ import { useGeaChatUI, } from "./runtime.js";
4
+ import { asRecord, humanize, resolveSafeUrl, stringifyValue } from "./utils.js";
5
+ function getPartRecord(part) {
6
+ return part;
7
+ }
8
+ function getPartKey(part, index) {
9
+ const record = getPartRecord(part);
10
+ const stableKey = record.toolCallId ?? record.sourceId ?? record.id ?? record.url;
11
+ return typeof stableKey === "string" ? stableKey : `${record.type}-${index}`;
12
+ }
13
+ function DefaultMessageFrame({ children, role }) {
14
+ return (_jsx("article", { "data-role": role, "data-slot": "message", children: children }));
15
+ }
16
+ function DefaultAssistantAvatar({ label, src }) {
17
+ const { actions } = useGeaChatUI();
18
+ const fallback = label.trim().slice(0, 1).toUpperCase() || "A";
19
+ const safeSrc = resolveSafeUrl(src, actions.resolveAssetUrl, true);
20
+ return (_jsx("span", { "aria-label": label, "data-slot": "assistant-avatar", children: safeSrc ? _jsx("img", { alt: "", src: safeSrc }) : fallback }));
21
+ }
22
+ function DefaultTextPart({ active, message, part, streaming, }) {
23
+ return (_jsx("div", { "data-slot": "text-part", children: _jsx(GeaMarkdown, { active: active, markdown: part.text, message: message, streaming: streaming || part.state === "streaming" }) }));
24
+ }
25
+ function getReasoningSummary(part) {
26
+ const data = asRecord(part.data);
27
+ const explicit = typeof part.summary === "string"
28
+ ? part.summary
29
+ : typeof data?.summary === "string"
30
+ ? data.summary
31
+ : null;
32
+ const candidate = explicit ?? (typeof part.text === "string" ? part.text : null);
33
+ if (!candidate) {
34
+ return null;
35
+ }
36
+ const trimmed = candidate.trim();
37
+ if (!trimmed || (!explicit && /[\r\n]/u.test(trimmed))) {
38
+ return null;
39
+ }
40
+ const normalized = trimmed.replace(/\s+/gu, " ");
41
+ return normalized.length <= 180 ? normalized : null;
42
+ }
43
+ function DefaultReasoningPart({ part }) {
44
+ const { labels } = useGeaChatUI();
45
+ const record = getPartRecord(part);
46
+ const summary = getReasoningSummary(record);
47
+ const streaming = record.state === "streaming";
48
+ return (_jsxs("div", { "data-slot": "reasoning-part", children: [_jsx("span", { children: streaming ? labels.reasoningStreaming : labels.reasoningComplete }), summary ? _jsx("p", { children: summary }) : null] }));
49
+ }
50
+ function JsonDetails({ label, value }) {
51
+ const content = stringifyValue(value);
52
+ if (!content) {
53
+ return null;
54
+ }
55
+ return (_jsxs("details", { "data-slot": "json-details", children: [_jsx("summary", { children: label }), _jsx("pre", { children: content })] }));
56
+ }
57
+ function DefaultToolPart({ part }) {
58
+ const { labels } = useGeaChatUI();
59
+ const record = getPartRecord(part);
60
+ const name = record.type === "dynamic-tool" && typeof record.toolName === "string"
61
+ ? record.toolName
62
+ : record.type.replace(/^tool-/u, "");
63
+ const state = typeof record.state === "string" ? record.state : "input-streaming";
64
+ const failed = state === "output-error" || state === "output-denied";
65
+ const title = typeof record.title === "string" && record.title.trim()
66
+ ? record.title
67
+ : humanize(name) || labels.tool;
68
+ return (_jsxs("section", { "data-failed": failed || undefined, "data-slot": "tool-part", "data-state": state, children: [_jsxs("header", { children: [_jsx("strong", { children: title }), _jsx("span", { children: labels.toolStates[state] ?? humanize(state) })] }), typeof record.errorText === "string" ? (_jsx("p", { "data-slot": "error-text", children: record.errorText })) : null, _jsx(JsonDetails, { label: labels.input, value: record.input }), _jsx(JsonDetails, { label: labels.output, value: record.output })] }));
69
+ }
70
+ function DefaultFilePart({ part }) {
71
+ const { actions, labels } = useGeaChatUI();
72
+ const record = getPartRecord(part);
73
+ const url = resolveSafeUrl(record.url, actions.resolveAssetUrl, true);
74
+ const mediaType = typeof record.mediaType === "string" ? record.mediaType : "";
75
+ const filename = typeof record.filename === "string" && record.filename.trim()
76
+ ? record.filename
77
+ : labels.attachment;
78
+ if (!url) {
79
+ return (_jsxs("div", { "data-slot": "file-part", "data-unavailable": "true", children: [filename, " (", labels.attachmentUnavailable, ")"] }));
80
+ }
81
+ if (mediaType.startsWith("image/")) {
82
+ return (_jsxs("a", { "data-slot": "image-part", href: url, rel: "noreferrer", target: "_blank", children: [_jsx("img", { alt: filename, src: url }), _jsx("span", { children: filename })] }));
83
+ }
84
+ if (mediaType.startsWith("audio/")) {
85
+ return _jsx("audio", { controls: true, "data-slot": "media-part", src: url });
86
+ }
87
+ if (mediaType.startsWith("video/")) {
88
+ return _jsx("video", { controls: true, "data-slot": "media-part", src: url });
89
+ }
90
+ return (_jsx("a", { "data-slot": "file-part", href: url, rel: "noreferrer", target: "_blank", children: filename }));
91
+ }
92
+ function DefaultDataPart({ part }) {
93
+ const { labels } = useGeaChatUI();
94
+ const record = getPartRecord(part);
95
+ if (record.type === "data-context-compaction") {
96
+ return _jsx("div", { "data-slot": "system-note", children: labels.contextCompacted });
97
+ }
98
+ if (record.type === "data-run-error" ||
99
+ record.type === "data-insufficient-credits") {
100
+ const data = asRecord(record.data);
101
+ const message = typeof data?.message === "string" ? data.message : labels.runFailed;
102
+ return (_jsx("div", { "data-slot": "run-error", role: "alert", children: message }));
103
+ }
104
+ if (record.type === "data-updated-files" && Array.isArray(record.data)) {
105
+ return (_jsx("section", { "data-slot": "updated-files-part", children: record.data.map((item, index) => {
106
+ const file = asRecord(item);
107
+ if (!file || typeof file.fileName !== "string") {
108
+ return null;
109
+ }
110
+ return (_jsxs("div", { children: [_jsx("span", { children: typeof file.operation === "string"
111
+ ? (labels.fileOperations[file.operation] ??
112
+ humanize(file.operation))
113
+ : labels.updated }), _jsx("strong", { children: file.fileName }), typeof file.path === "string" ? (_jsx("small", { children: file.path })) : null] }, `${String(file.operation)}:${file.fileName}:${index}`));
114
+ }) }));
115
+ }
116
+ if (record.type === "data-resource") {
117
+ const data = asRecord(record.data);
118
+ const resource = asRecord(data?.resource);
119
+ const title = typeof resource?.title === "string"
120
+ ? resource.title
121
+ : typeof resource?.fileName === "string"
122
+ ? resource.fileName
123
+ : typeof resource?.path === "string"
124
+ ? resource.path
125
+ : typeof resource?.id === "string"
126
+ ? resource.id
127
+ : null;
128
+ if (resource && title) {
129
+ return (_jsxs("section", { "data-slot": "resource-part", children: [_jsx("span", { children: data?.action === "created" ? labels.created : labels.updated }), _jsx("strong", { children: title }), typeof resource.kind === "string" ? (_jsx("small", { children: humanize(resource.kind) })) : null] }));
130
+ }
131
+ }
132
+ return _jsx(JsonDetails, { label: humanize(record.type), value: record.data });
133
+ }
134
+ function DefaultUnknownPart({ part }) {
135
+ const record = getPartRecord(part);
136
+ const { providerMetadata: _providerMetadata, ...displayPart } = record;
137
+ return _jsx(JsonDetails, { label: humanize(record.type), value: displayPart });
138
+ }
139
+ function isToolPart(part) {
140
+ return part.type === "dynamic-tool" || part.type.startsWith("tool-");
141
+ }
142
+ function DefaultSourcePart({ part }) {
143
+ const { actions, labels } = useGeaChatUI();
144
+ const record = getPartRecord(part);
145
+ if (record.type === "source-document") {
146
+ return (_jsxs("div", { "data-slot": "source-document-part", children: [_jsx("span", { children: labels.source }), _jsx("strong", { children: typeof record.title === "string" ? record.title : labels.source }), typeof record.filename === "string" ? (_jsx("small", { children: record.filename })) : typeof record.mediaType === "string" ? (_jsx("small", { children: record.mediaType })) : null] }));
147
+ }
148
+ const url = resolveSafeUrl(record.url, actions.resolveAssetUrl);
149
+ if (!url) {
150
+ return (_jsx("div", { "data-slot": "source-part", "data-unavailable": "true", children: labels.source }));
151
+ }
152
+ return (_jsxs("a", { "data-slot": "source-part", href: url, rel: "noreferrer", target: "_blank", children: [_jsx("span", { children: labels.source }), _jsx("strong", { children: typeof record.title === "string" ? record.title : url })] }));
153
+ }
154
+ function GeaMessagePartView(input) {
155
+ const { components } = useGeaChatUI();
156
+ const TextPart = components.TextPart ?? DefaultTextPart;
157
+ const ReasoningPart = components.ReasoningPart ?? DefaultReasoningPart;
158
+ const FilePart = components.FilePart ?? DefaultFilePart;
159
+ const SourcePart = components.SourcePart ?? DefaultSourcePart;
160
+ const ToolPart = components.ToolPart ?? DefaultToolPart;
161
+ const DataPart = components.DataPart ?? DefaultDataPart;
162
+ const UnknownPart = components.UnknownPart ?? DefaultUnknownPart;
163
+ const commonProps = { message: input.message, part: input.part };
164
+ if (input.part.type === "text") {
165
+ return input.part.text.trim() ? (_jsx(TextPart, { active: input.active, message: input.message, part: input.part, streaming: input.status === "streaming" || input.status === "submitted" })) : null;
166
+ }
167
+ if (input.part.type === "reasoning") {
168
+ return _jsx(ReasoningPart, { ...commonProps });
169
+ }
170
+ if (input.part.type === "file" || input.part.type === "reasoning-file") {
171
+ return _jsx(FilePart, { ...commonProps });
172
+ }
173
+ if (input.part.type === "source-url") {
174
+ return _jsx(SourcePart, { ...commonProps });
175
+ }
176
+ if (input.part.type === "source-document") {
177
+ return _jsx(SourcePart, { ...commonProps });
178
+ }
179
+ if (input.part.type === "step-start") {
180
+ return _jsx("span", { "data-slot": "step-start" });
181
+ }
182
+ if (isToolPart(input.part)) {
183
+ return _jsx(ToolPart, { ...commonProps });
184
+ }
185
+ if (input.part.type.startsWith("data-")) {
186
+ return _jsx(DataPart, { ...commonProps });
187
+ }
188
+ if (input.part.type === "custom") {
189
+ return _jsx("div", { "data-slot": "custom-part", children: humanize(input.part.kind) });
190
+ }
191
+ return _jsx(UnknownPart, { ...commonProps });
192
+ }
193
+ export function GeaMessage({ active = true, message, status = "ready", }) {
194
+ const { components, labels } = useGeaChatUI();
195
+ const MessageFrame = components.MessageFrame ?? DefaultMessageFrame;
196
+ const AssistantAvatar = components.AssistantAvatar ?? DefaultAssistantAvatar;
197
+ const isAssistant = message.role === "assistant";
198
+ const senderLabel = message.metadata?.senderName ?? labels.agent;
199
+ const body = (_jsx("div", { "data-slot": "message-content", children: message.parts.map((part, index) => (_jsx("div", { "data-slot": "message-part", children: _jsx(GeaMessagePartView, { active: active, message: message, part: part, status: active ? status : "ready" }) }, getPartKey(part, index)))) }));
200
+ return (_jsxs(MessageFrame, { message: message, role: message.role, children: [isAssistant ? (_jsx(AssistantAvatar, { label: senderLabel, message: message, src: message.metadata?.senderAvatarUrl })) : null, body] }));
201
+ }
202
+ export function GeaMessages({ activeMessageId, messages, status = "ready", }) {
203
+ const fallbackActiveId = messages.at(-1)?.id;
204
+ return (_jsx("div", { "data-slot": "message-list", children: messages.map((message) => (_jsx(GeaMessage, { active: (activeMessageId ?? fallbackActiveId) === message.id, message: message, status: status }, message.id))) }));
205
+ }
206
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import type { AgentChatMessage, PageEvent } from "@gea-ai/contract";
2
+ import { type ComponentType, type ReactNode } from "react";
3
+ export type GeaChatStatus = "error" | "ready" | "streaming" | "submitted";
4
+ export type GeaMessagePart = AgentChatMessage["parts"][number];
5
+ export type GeaAddToolOutputInput = {
6
+ output: unknown;
7
+ tool: string;
8
+ toolCallId: string;
9
+ };
10
+ export type GeaChatActions = {
11
+ addToolOutput?: (input: GeaAddToolOutputInput) => Promise<unknown> | unknown;
12
+ emitPageEvent?: (event: PageEvent) => Promise<unknown> | unknown;
13
+ resolveAssetUrl?: (url: string) => string | null | undefined;
14
+ };
15
+ export type GeaChatLabels = {
16
+ agent: string;
17
+ attachment: string;
18
+ attachmentUnavailable: string;
19
+ contextCompacted: string;
20
+ created: string;
21
+ fileOperations: Record<string, string>;
22
+ input: string;
23
+ output: string;
24
+ reasoningComplete: string;
25
+ reasoningStreaming: string;
26
+ runFailed: string;
27
+ source: string;
28
+ submitUnavailable: string;
29
+ tool: string;
30
+ toolStates: Record<string, string>;
31
+ updated: string;
32
+ };
33
+ export type GeaAssistantAvatarProps = {
34
+ label: string;
35
+ message: AgentChatMessage;
36
+ src?: string | null;
37
+ };
38
+ export type GeaMessageFrameProps = {
39
+ children: ReactNode;
40
+ message: AgentChatMessage;
41
+ role: AgentChatMessage["role"];
42
+ };
43
+ export type GeaTextPartProps = {
44
+ active: boolean;
45
+ message: AgentChatMessage;
46
+ part: Extract<GeaMessagePart, {
47
+ type: "text";
48
+ }>;
49
+ streaming: boolean;
50
+ };
51
+ export type GeaPartProps = {
52
+ message: AgentChatMessage;
53
+ part: GeaMessagePart;
54
+ };
55
+ export type GeaChatComponents = {
56
+ AssistantAvatar?: ComponentType<GeaAssistantAvatarProps>;
57
+ DataPart?: ComponentType<GeaPartProps>;
58
+ FilePart?: ComponentType<GeaPartProps>;
59
+ MessageFrame?: ComponentType<GeaMessageFrameProps>;
60
+ ReasoningPart?: ComponentType<GeaPartProps>;
61
+ SourcePart?: ComponentType<GeaPartProps>;
62
+ TextPart?: ComponentType<GeaTextPartProps>;
63
+ ToolPart?: ComponentType<GeaPartProps>;
64
+ UnknownPart?: ComponentType<GeaPartProps>;
65
+ };
66
+ export type GeaYamlElement = {
67
+ children: string[];
68
+ id: string;
69
+ on: Record<string, unknown>;
70
+ props: Record<string, unknown>;
71
+ type: string;
72
+ };
73
+ export type GeaYamlComponentProps = {
74
+ children: ReactNode;
75
+ disabled: boolean;
76
+ element: GeaYamlElement;
77
+ getBoundValue: (propName: string) => unknown;
78
+ getStateValue: (path: string) => unknown;
79
+ setBoundValue: (propName: string, value: unknown) => void;
80
+ setStateValue: (path: string, value: unknown) => void;
81
+ submit: () => Promise<boolean>;
82
+ submitted: boolean;
83
+ };
84
+ export type GeaYamlComponents = Record<string, ComponentType<GeaYamlComponentProps>>;
85
+ export type GeaChatTheme = {
86
+ accent?: string;
87
+ assistantBackground?: string;
88
+ background?: string;
89
+ border?: string;
90
+ danger?: string;
91
+ fontFamily?: string;
92
+ foreground?: string;
93
+ muted?: string;
94
+ mutedForeground?: string;
95
+ radius?: string;
96
+ userBackground?: string;
97
+ };
98
+ type GeaChatRuntimeValue = {
99
+ actions: GeaChatActions;
100
+ components: GeaChatComponents;
101
+ labels: GeaChatLabels;
102
+ yamlComponents: Partial<GeaYamlComponents>;
103
+ };
104
+ export declare function GeaChatUIProvider({ actions, children, className, components, labels, locale, theme, yamlComponents, }: {
105
+ actions?: GeaChatActions;
106
+ children: ReactNode;
107
+ className?: string;
108
+ components?: GeaChatComponents;
109
+ labels?: Partial<Omit<GeaChatLabels, "fileOperations" | "toolStates">> & {
110
+ fileOperations?: Record<string, string>;
111
+ toolStates?: Record<string, string>;
112
+ };
113
+ locale?: string;
114
+ theme?: GeaChatTheme;
115
+ yamlComponents?: Partial<GeaYamlComponents>;
116
+ }): import("react/jsx-runtime").JSX.Element;
117
+ export declare function useGeaChatUI(): GeaChatRuntimeValue;
118
+ export {};
119
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, use, useMemo, } from "react";
3
+ const defaultLabels = {
4
+ agent: "Agent",
5
+ attachment: "Attachment",
6
+ attachmentUnavailable: "Attachment unavailable",
7
+ contextCompacted: "Earlier conversation context was compacted",
8
+ created: "Created",
9
+ fileOperations: {
10
+ create: "Created",
11
+ delete: "Deleted",
12
+ move: "Moved",
13
+ update: "Updated",
14
+ },
15
+ input: "Input",
16
+ output: "Output",
17
+ reasoningComplete: "Reasoning complete",
18
+ reasoningStreaming: "Reasoning",
19
+ runFailed: "Agent run failed",
20
+ source: "Source",
21
+ submitUnavailable: "This request cannot be submitted in the current host.",
22
+ tool: "Tool",
23
+ toolStates: {
24
+ "approval-requested": "Waiting for approval",
25
+ "approval-responded": "Approved",
26
+ "input-available": "Ready",
27
+ "input-streaming": "Preparing",
28
+ "output-available": "Completed",
29
+ "output-denied": "Denied",
30
+ "output-error": "Failed",
31
+ },
32
+ updated: "Updated",
33
+ };
34
+ const zhCNLabels = {
35
+ agent: "智能体",
36
+ attachment: "附件",
37
+ attachmentUnavailable: "链接不可用",
38
+ contextCompacted: "已整理较早的对话上下文",
39
+ created: "已创建",
40
+ fileOperations: {
41
+ create: "已创建",
42
+ delete: "已删除",
43
+ move: "已移动",
44
+ update: "已更新",
45
+ },
46
+ input: "输入",
47
+ output: "输出",
48
+ reasoningComplete: "思考完成",
49
+ reasoningStreaming: "正在思考",
50
+ runFailed: "智能体执行失败",
51
+ source: "来源",
52
+ submitUnavailable: "当前宿主无法提交这份请求。",
53
+ tool: "工具调用",
54
+ toolStates: {
55
+ "approval-requested": "等待确认",
56
+ "approval-responded": "已确认",
57
+ "input-available": "准备执行",
58
+ "input-streaming": "正在准备",
59
+ "output-available": "已完成",
60
+ "output-denied": "已拒绝",
61
+ "output-error": "执行失败",
62
+ },
63
+ updated: "已更新",
64
+ };
65
+ const GeaChatRuntimeContext = createContext({
66
+ actions: {},
67
+ components: {},
68
+ labels: defaultLabels,
69
+ yamlComponents: {},
70
+ });
71
+ function getThemeStyle(theme) {
72
+ if (!theme) {
73
+ return {};
74
+ }
75
+ const values = {
76
+ "--gea-chat-accent": theme.accent,
77
+ "--gea-chat-assistant-bg": theme.assistantBackground,
78
+ "--gea-chat-background": theme.background,
79
+ "--gea-chat-border": theme.border,
80
+ "--gea-chat-danger": theme.danger,
81
+ "--gea-chat-font-family": theme.fontFamily,
82
+ "--gea-chat-foreground": theme.foreground,
83
+ "--gea-chat-muted": theme.muted,
84
+ "--gea-chat-muted-foreground": theme.mutedForeground,
85
+ "--gea-chat-radius": theme.radius,
86
+ "--gea-chat-user-bg": theme.userBackground,
87
+ };
88
+ return Object.fromEntries(Object.entries(values).filter((entry) => Boolean(entry[1])));
89
+ }
90
+ export function GeaChatUIProvider({ actions = {}, children, className, components = {}, labels, locale = "en-US", theme, yamlComponents = {}, }) {
91
+ const value = useMemo(() => {
92
+ const localeLabels = locale.toLowerCase().startsWith("zh")
93
+ ? zhCNLabels
94
+ : defaultLabels;
95
+ return {
96
+ actions,
97
+ components,
98
+ labels: {
99
+ ...localeLabels,
100
+ ...labels,
101
+ fileOperations: {
102
+ ...localeLabels.fileOperations,
103
+ ...labels?.fileOperations,
104
+ },
105
+ toolStates: {
106
+ ...localeLabels.toolStates,
107
+ ...labels?.toolStates,
108
+ },
109
+ },
110
+ yamlComponents,
111
+ };
112
+ }, [actions, components, labels, locale, yamlComponents]);
113
+ return (_jsx(GeaChatRuntimeContext, { value: value, children: _jsx("div", { className: className, "data-slot": "gea-chat-ui", style: getThemeStyle(theme), children: children }) }));
114
+ }
115
+ export function useGeaChatUI() {
116
+ return use(GeaChatRuntimeContext);
117
+ }
118
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.tsx"],"names":[],"mappings":"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"}