@nextclaw/agent-chat-ui 0.5.1-beta.1 → 0.5.2
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/index.d.ts +115 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +683 -417
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,107 @@
|
|
|
1
1
|
import * as _$react from "react";
|
|
2
|
-
import { ReactNode, RefObject } from "react";
|
|
2
|
+
import { PointerEvent, ReactNode, RefObject } from "react";
|
|
3
3
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
|
+
//#region src/lib/input-surface/input-surface.types.d.ts
|
|
6
|
+
type ChatInputSurfaceTriggerSpec = {
|
|
7
|
+
key: string;
|
|
8
|
+
marker: string;
|
|
9
|
+
};
|
|
10
|
+
type ChatInputSurfaceTrigger = {
|
|
11
|
+
key: string;
|
|
12
|
+
marker: string;
|
|
13
|
+
query: string;
|
|
14
|
+
start: number;
|
|
15
|
+
end: number;
|
|
16
|
+
};
|
|
17
|
+
type ChatInputSurfaceTriggerChangeReason = {
|
|
18
|
+
type: 'delete-content';
|
|
19
|
+
} | {
|
|
20
|
+
type: 'insert-text';
|
|
21
|
+
text: string;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'programmatic';
|
|
24
|
+
} | {
|
|
25
|
+
type: 'selection';
|
|
26
|
+
} | {
|
|
27
|
+
type: 'sync';
|
|
28
|
+
};
|
|
29
|
+
type ChatInputSurfaceMenuTexts = {
|
|
30
|
+
loadingLabel: string;
|
|
31
|
+
sectionLabel: string;
|
|
32
|
+
emptyLabel: string;
|
|
33
|
+
hintLabel: string;
|
|
34
|
+
itemHintLabel: string;
|
|
35
|
+
};
|
|
36
|
+
type ChatInputSurfaceItem = {
|
|
37
|
+
key: string;
|
|
38
|
+
title: string;
|
|
39
|
+
subtitle: string;
|
|
40
|
+
description: string;
|
|
41
|
+
detailLines: string[];
|
|
42
|
+
hintLabel?: string;
|
|
43
|
+
sectionKey?: string;
|
|
44
|
+
sectionLabel?: string;
|
|
45
|
+
value?: string;
|
|
46
|
+
tokenKind?: string;
|
|
47
|
+
tokenKey?: string;
|
|
48
|
+
};
|
|
49
|
+
type ChatInputSurfaceMenuProps = {
|
|
50
|
+
isOpen: boolean;
|
|
51
|
+
isLoading: boolean;
|
|
52
|
+
items: ChatInputSurfaceItem[];
|
|
53
|
+
texts: ChatInputSurfaceMenuTexts;
|
|
54
|
+
onSelectItem: (item: ChatInputSurfaceItem) => void;
|
|
55
|
+
onOpenChange: (open: boolean) => void;
|
|
56
|
+
onDetailsPointerDown?: (event: PointerEvent<HTMLDivElement>) => void;
|
|
57
|
+
};
|
|
58
|
+
type ChatInputSurfaceConfig = Pick<ChatInputSurfaceMenuProps, "isLoading" | "items" | "texts"> & {
|
|
59
|
+
onSelectItem?: (item: ChatInputSurfaceItem) => void;
|
|
60
|
+
};
|
|
61
|
+
type ChatInputSurfacePluginContext<TData = unknown> = {
|
|
62
|
+
data: TData;
|
|
63
|
+
trigger: ChatInputSurfaceTrigger;
|
|
64
|
+
};
|
|
65
|
+
type ChatInputSurfacePanel = Omit<ChatInputSurfaceConfig, "onSelectItem"> & {
|
|
66
|
+
onSelectItem?: (item: ChatInputSurfaceItem) => void;
|
|
67
|
+
};
|
|
68
|
+
type ChatInputSurfacePlugin<TData = unknown> = {
|
|
69
|
+
key: string;
|
|
70
|
+
triggerSpecs: readonly ChatInputSurfaceTriggerSpec[];
|
|
71
|
+
resolvePanel: (context: ChatInputSurfacePluginContext<TData>) => ChatInputSurfacePanel | null;
|
|
72
|
+
};
|
|
73
|
+
type ChatInputSurfaceResolvedState = {
|
|
74
|
+
triggerSpecs: ChatInputSurfaceTriggerSpec[];
|
|
75
|
+
panel: ChatInputSurfacePanel | null;
|
|
76
|
+
};
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src/lib/input-surface/input-surface-plugin.utils.d.ts
|
|
79
|
+
declare function createInputSurfaceTriggeredPanelPlugin<TData>(params: {
|
|
80
|
+
key: string;
|
|
81
|
+
trigger: ChatInputSurfaceTriggerSpec;
|
|
82
|
+
resolvePanel: (context: ChatInputSurfacePluginContext<TData>) => ChatInputSurfacePanel | null;
|
|
83
|
+
}): ChatInputSurfacePlugin<TData>;
|
|
84
|
+
declare function createInputSurfaceReferenceTokenPlugin<TData, TRecord>(params: {
|
|
85
|
+
key: string;
|
|
86
|
+
trigger: ChatInputSurfaceTriggerSpec;
|
|
87
|
+
tokenKind: string;
|
|
88
|
+
texts: ChatInputSurfaceMenuTexts;
|
|
89
|
+
getRecords: (context: ChatInputSurfacePluginContext<TData>) => readonly TRecord[];
|
|
90
|
+
getIsLoading?: (context: ChatInputSurfacePluginContext<TData>) => boolean;
|
|
91
|
+
getItems: (params: {
|
|
92
|
+
context: ChatInputSurfacePluginContext<TData>;
|
|
93
|
+
records: readonly TRecord[];
|
|
94
|
+
query: string;
|
|
95
|
+
tokenKind: string;
|
|
96
|
+
}) => ChatInputSurfaceItem[];
|
|
97
|
+
onSelectItem?: (item: ChatInputSurfaceItem) => void;
|
|
98
|
+
}): ChatInputSurfacePlugin<TData>;
|
|
99
|
+
declare function resolveChatInputSurfaceState<TData>(params: {
|
|
100
|
+
data: TData;
|
|
101
|
+
plugins: readonly ChatInputSurfacePlugin<TData>[];
|
|
102
|
+
trigger: ChatInputSurfaceTrigger | null;
|
|
103
|
+
}): ChatInputSurfaceResolvedState;
|
|
104
|
+
//#endregion
|
|
5
105
|
//#region src/components/chat/view-models/chat-ui.types.d.ts
|
|
6
106
|
type ChatTexts = {
|
|
7
107
|
slashLoadingLabel: string;
|
|
@@ -12,19 +112,12 @@ type ChatTexts = {
|
|
|
12
112
|
sendButtonLabel: string;
|
|
13
113
|
stopButtonLabel: string;
|
|
14
114
|
};
|
|
15
|
-
type ChatSlashItem =
|
|
16
|
-
key: string;
|
|
17
|
-
title: string;
|
|
18
|
-
subtitle: string;
|
|
19
|
-
description: string;
|
|
20
|
-
detailLines: string[];
|
|
21
|
-
value?: string;
|
|
22
|
-
};
|
|
115
|
+
type ChatSlashItem = ChatInputSurfaceItem;
|
|
23
116
|
type ChatSelectedItem = {
|
|
24
117
|
key: string;
|
|
25
118
|
label: string;
|
|
26
119
|
};
|
|
27
|
-
type ChatComposerTokenKind = "skill" | "file";
|
|
120
|
+
type ChatComposerTokenKind = "skill" | "file" | "panel_app" | (string & {});
|
|
28
121
|
type ChatComposerTextNode = {
|
|
29
122
|
id: string;
|
|
30
123
|
type: "text";
|
|
@@ -150,17 +243,10 @@ type ChatInlineHint = {
|
|
|
150
243
|
actionLabel?: string;
|
|
151
244
|
onAction?: () => void;
|
|
152
245
|
};
|
|
153
|
-
type ChatSlashMenuProps = {
|
|
154
|
-
isOpen: boolean;
|
|
155
|
-
isLoading: boolean;
|
|
246
|
+
type ChatSlashMenuProps = Omit<ChatInputSurfaceMenuProps, "items" | "onSelectItem" | "texts"> & {
|
|
156
247
|
items: ChatSlashItem[];
|
|
157
|
-
activeIndex: number;
|
|
158
|
-
activeItem: ChatSlashItem | null;
|
|
159
248
|
texts: Pick<ChatTexts, "slashLoadingLabel" | "slashSectionLabel" | "slashEmptyLabel" | "slashHintLabel" | "slashSkillHintLabel">;
|
|
160
249
|
onSelectItem: (item: ChatSlashItem) => void;
|
|
161
|
-
onOpenChange: (open: boolean) => void;
|
|
162
|
-
onDetailsPointerDown?: () => void;
|
|
163
|
-
onSetActiveIndex: (index: number) => void;
|
|
164
250
|
};
|
|
165
251
|
type ChatInputBarProps = {
|
|
166
252
|
surface?: 'default' | 'embedded';
|
|
@@ -170,9 +256,11 @@ type ChatInputBarProps = {
|
|
|
170
256
|
disabled: boolean;
|
|
171
257
|
onNodesChange: (nodes: ChatComposerNode[]) => void;
|
|
172
258
|
onFilesAdd?: (files: File[]) => Promise<void> | void;
|
|
173
|
-
|
|
259
|
+
inputSurfaceTriggerSpecs?: ChatInputSurfaceTriggerSpec[];
|
|
260
|
+
onInputSurfaceTriggerChange?: (trigger: ChatInputSurfaceTrigger | null) => void;
|
|
174
261
|
};
|
|
175
|
-
|
|
262
|
+
inputSurface?: ChatInputSurfaceConfig;
|
|
263
|
+
slashMenu?: Pick<ChatSlashMenuProps, "isLoading" | "items" | "texts"> & {
|
|
176
264
|
onSelectItem?: (item: ChatSlashItem) => void;
|
|
177
265
|
};
|
|
178
266
|
hint?: ChatInlineHint | null;
|
|
@@ -286,19 +374,10 @@ type ChatInlineTokenViewModel = {
|
|
|
286
374
|
label: string;
|
|
287
375
|
rawText: string;
|
|
288
376
|
};
|
|
289
|
-
type ChatInlineContentSegmentViewModel = {
|
|
290
|
-
type: "markdown";
|
|
291
|
-
text: string;
|
|
292
|
-
} | {
|
|
293
|
-
type: "token";
|
|
294
|
-
token: ChatInlineTokenViewModel;
|
|
295
|
-
};
|
|
296
377
|
type ChatMessagePartViewModel = {
|
|
297
378
|
type: "markdown";
|
|
298
379
|
text: string;
|
|
299
|
-
|
|
300
|
-
type: "inline-content";
|
|
301
|
-
segments: ChatInlineContentSegmentViewModel[];
|
|
380
|
+
inlineTokens?: ChatInlineTokenViewModel[];
|
|
302
381
|
} | {
|
|
303
382
|
type: "reasoning";
|
|
304
383
|
text: string;
|
|
@@ -382,6 +461,7 @@ type ChatMessageMarkdownProps = {
|
|
|
382
461
|
role: ChatMessageRole;
|
|
383
462
|
texts: Pick<ChatMessageTexts, "copyCodeLabel" | "copiedCodeLabel">;
|
|
384
463
|
inline?: boolean;
|
|
464
|
+
inlineTokens?: readonly ChatInlineTokenViewModel[];
|
|
385
465
|
onFileOpen?: (action: ChatFileOpenActionViewModel) => void;
|
|
386
466
|
};
|
|
387
467
|
declare function ChatMessageMarkdown({
|
|
@@ -389,6 +469,7 @@ declare function ChatMessageMarkdown({
|
|
|
389
469
|
role,
|
|
390
470
|
texts,
|
|
391
471
|
inline,
|
|
472
|
+
inlineTokens,
|
|
392
473
|
onFileOpen
|
|
393
474
|
}: ChatMessageMarkdownProps): _$react_jsx_runtime0.JSX.Element;
|
|
394
475
|
//#endregion
|
|
@@ -459,6 +540,7 @@ declare function useStickyBottomScroll({
|
|
|
459
540
|
declare function copyText(text: string): Promise<boolean>;
|
|
460
541
|
//#endregion
|
|
461
542
|
//#region src/components/chat/ui/chat-input-bar/chat-composer.utils.d.ts
|
|
543
|
+
declare const CHAT_INPUT_SURFACE_SLASH_TRIGGER_SPEC: ChatInputSurfaceTriggerSpec;
|
|
462
544
|
declare function createChatComposerTextNode(text?: string): ChatComposerTextNode;
|
|
463
545
|
declare function createChatComposerTokenNode(params: {
|
|
464
546
|
tokenKind: ChatComposerTokenKind;
|
|
@@ -473,11 +555,13 @@ declare function serializeChatComposerPlainText(nodes: ChatComposerNode[]): stri
|
|
|
473
555
|
declare function extractChatComposerTokenKeys(nodes: ChatComposerNode[], tokenKind: ChatComposerTokenKind): string[];
|
|
474
556
|
declare function replaceChatComposerRange(nodes: ChatComposerNode[], start: number, end: number, replacement: ChatComposerNode[]): ChatComposerNode[];
|
|
475
557
|
declare function removeChatComposerTokenNodes(nodes: ChatComposerNode[], predicate: (node: ChatComposerTokenNode) => boolean): ChatComposerNode[];
|
|
558
|
+
declare function resolveChatComposerInputSurfaceTrigger(nodes: ChatComposerNode[], selection: ChatComposerSelection | null, triggerSpec: ChatInputSurfaceTriggerSpec): ChatInputSurfaceTrigger | null;
|
|
559
|
+
declare function resolveChatComposerActiveInputSurfaceTrigger(nodes: ChatComposerNode[], selection: ChatComposerSelection | null, triggerSpecs?: readonly ChatInputSurfaceTriggerSpec[]): ChatInputSurfaceTrigger | null;
|
|
476
560
|
declare function resolveChatComposerSlashTrigger(nodes: ChatComposerNode[], selection: ChatComposerSelection | null): {
|
|
477
561
|
query: string;
|
|
478
562
|
start: number;
|
|
479
563
|
end: number;
|
|
480
564
|
} | null;
|
|
481
565
|
//#endregion
|
|
482
|
-
export { type ChatComposerNode, type ChatComposerSelection, type ChatComposerTextNode, type ChatComposerTokenKind, type ChatComposerTokenNode, type ChatContextWindowIndicator, type ChatFileOpenActionViewModel, type ChatFileOperationBlockViewModel, type ChatFileOperationLineViewModel, type
|
|
566
|
+
export { CHAT_INPUT_SURFACE_SLASH_TRIGGER_SPEC, type ChatComposerNode, type ChatComposerSelection, type ChatComposerTextNode, type ChatComposerTokenKind, type ChatComposerTokenNode, type ChatContextWindowIndicator, type ChatFileOpenActionViewModel, type ChatFileOperationBlockViewModel, type ChatFileOperationLineViewModel, type ChatInlineHint, type ChatInlineTokenViewModel, ChatInputBar, type ChatInputBarActionsProps, type ChatInputBarHandle, type ChatInputBarProps, type ChatInputBarToolbarProps, type ChatInputSurfaceConfig, type ChatInputSurfaceItem, type ChatInputSurfaceMenuProps, type ChatInputSurfaceMenuTexts, type ChatInputSurfacePanel, type ChatInputSurfacePlugin, type ChatInputSurfacePluginContext, type ChatInputSurfaceResolvedState, type ChatInputSurfaceTrigger, type ChatInputSurfaceTriggerChangeReason, type ChatInputSurfaceTriggerSpec, ChatMessageList, type ChatMessageListProps, ChatMessageMarkdown, type ChatMessagePartViewModel, type ChatMessageRole, type ChatMessageTexts, type ChatMessageViewModel, type ChatPanelAppCardViewModel, type ChatSelectedItem, type ChatSkillPickerOption, type ChatSkillPickerProps, type ChatSlashItem, type ChatSlashMenuProps, type ChatTexts, type ChatToolActionViewModel, type ChatToolPartViewModel, type ChatToolbarAccessory, type ChatToolbarAccessoryIcon, type ChatToolbarIcon, type ChatToolbarSelect, type ChatToolbarSelectGroup, type ChatToolbarSelectOption, type ChatUiShowContentPlacement, type ChatUiShowContentPurpose, type ChatUiShowContentRequest, type ChatUiShowContentTarget, FileOperationCodeSurface, FileOperationLinesGrid, copyText, createChatComposerNodesFromText, createChatComposerTextNode, createChatComposerTokenNode, createEmptyChatComposerNodes, createInputSurfaceReferenceTokenPlugin, createInputSurfaceTriggeredPanelPlugin, extractChatComposerTokenKeys, normalizeChatComposerNodes, removeChatComposerTokenNodes, replaceChatComposerRange, resolveChatComposerActiveInputSurfaceTrigger, resolveChatComposerInputSurfaceTrigger, resolveChatComposerSlashTrigger, resolveChatInputSurfaceState, serializeChatComposerDocument, serializeChatComposerPlainText, useActiveItemScroll, useCopyFeedback, useElementWidth, useStickyBottomScroll };
|
|
483
567
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/components/chat/view-models/chat-ui.types.ts","../src/components/chat/ui/chat-input-bar/chat-input-bar.tsx","../src/components/chat/ui/chat-message-list/chat-message-list.tsx","../src/components/chat/ui/chat-message-list/chat-message-markdown.tsx","../src/components/chat/ui/chat-message-list/tool-card/tool-card-file-operation-lines.tsx","../src/components/chat/hooks/use-active-item-scroll.ts","../src/components/chat/hooks/use-copy-feedback.ts","../src/components/chat/hooks/use-element-width.ts","../src/components/chat/hooks/use-sticky-bottom-scroll.ts","../src/components/chat/utils/copy-text.utils.ts","../src/components/chat/ui/chat-input-bar/chat-composer.utils.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/lib/input-surface/input-surface.types.ts","../src/lib/input-surface/input-surface-plugin.utils.ts","../src/components/chat/view-models/chat-ui.types.ts","../src/components/chat/ui/chat-input-bar/chat-input-bar.tsx","../src/components/chat/ui/chat-message-list/chat-message-list.tsx","../src/components/chat/ui/chat-message-list/chat-message-markdown.tsx","../src/components/chat/ui/chat-message-list/tool-card/tool-card-file-operation-lines.tsx","../src/components/chat/hooks/use-active-item-scroll.ts","../src/components/chat/hooks/use-copy-feedback.ts","../src/components/chat/hooks/use-element-width.ts","../src/components/chat/hooks/use-sticky-bottom-scroll.ts","../src/components/chat/utils/copy-text.utils.ts","../src/components/chat/ui/chat-input-bar/chat-composer.utils.ts"],"mappings":"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"}
|