@blueking/chat-x 0.0.1-beta.1

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.
Files changed (80) hide show
  1. package/dist/ag-ui/types/constants.d.ts +34 -0
  2. package/dist/ag-ui/types/contents.d.ts +45 -0
  3. package/dist/ag-ui/types/index.d.ts +3 -0
  4. package/dist/ag-ui/types/messages.d.ts +27 -0
  5. package/dist/common/constants.d.ts +20 -0
  6. package/dist/common/icon.d.ts +14 -0
  7. package/dist/common/index.d.ts +4 -0
  8. package/dist/common/lang.d.ts +1 -0
  9. package/dist/common/shortcut.d.ts +2 -0
  10. package/dist/components/ai-selection/ai-selection.vue.d.ts +39 -0
  11. package/dist/components/ai-shortcut/shortcut-btn.vue.d.ts +24 -0
  12. package/dist/components/ai-shortcut/shortcut-btns.vue.d.ts +12 -0
  13. package/dist/components/ai-shortcut/shortcut-render.vue.d.ts +10 -0
  14. package/dist/components/chat-content/common-error-content.vue.d.ts +18 -0
  15. package/dist/components/chat-content/content-render.vue.d.ts +24 -0
  16. package/dist/components/chat-content/markdown-content.vue.d.ts +5 -0
  17. package/dist/components/chat-content/reference-content.vue.d.ts +13 -0
  18. package/dist/components/chat-content/text-content.vue.d.ts +4 -0
  19. package/dist/components/chat-content/think-content.vue.d.ts +13 -0
  20. package/dist/components/chat-input/ai-slash-editor/ai-slash-editor.vue.d.ts +28 -0
  21. package/dist/components/chat-input/ai-slash-editor/theme.d.ts +24 -0
  22. package/dist/components/chat-input/ai-slash-input/ai-prompt-list.vue.d.ts +7 -0
  23. package/dist/components/chat-input/ai-slash-input/ai-slash-input.vue.d.ts +47 -0
  24. package/dist/components/chat-input/ai-slash-input/ai-slash-menu.vue.d.ts +8 -0
  25. package/dist/components/chat-input/ai-slash-input/command.d.ts +6 -0
  26. package/dist/components/chat-input/ai-slash-input/constants.d.ts +11 -0
  27. package/dist/components/chat-input/chat-input.vue.d.ts +55 -0
  28. package/dist/components/chat-input/input-attachment/input-attachment.vue.d.ts +23 -0
  29. package/dist/components/chat-message/assistant-message.vue.d.ts +18 -0
  30. package/dist/components/chat-message/info-message.vue.d.ts +4 -0
  31. package/dist/components/chat-message/message-render.vue.d.ts +16 -0
  32. package/dist/components/chat-message/user-message.vue.d.ts +4 -0
  33. package/dist/components/index.d.ts +9 -0
  34. package/dist/components/message-tools/message-tools.vue.d.ts +7 -0
  35. package/dist/components/message-tools/tool-btn.vue.d.ts +8 -0
  36. package/dist/composables/index.d.ts +4 -0
  37. package/dist/composables/use-command-selection.d.ts +11 -0
  38. package/dist/composables/use-global-config.d.ts +11 -0
  39. package/dist/composables/use-menu-keydown.d.ts +8 -0
  40. package/dist/composables/use-observer-visible-list.d.ts +9 -0
  41. package/dist/directives/index.d.ts +1 -0
  42. package/dist/directives/overflow-tips.d.ts +15 -0
  43. package/dist/edix/commands.d.ts +6 -0
  44. package/dist/edix/doc/edit.d.ts +55 -0
  45. package/dist/edix/doc/position.d.ts +19 -0
  46. package/dist/edix/doc/types.d.ts +15 -0
  47. package/dist/edix/doc/utils.d.ts +9 -0
  48. package/dist/edix/dom/default.d.ts +4 -0
  49. package/dist/edix/dom/index.d.ts +42 -0
  50. package/dist/edix/dom/parser.d.ts +63 -0
  51. package/dist/edix/editor.d.ts +55 -0
  52. package/dist/edix/history.d.ts +10 -0
  53. package/dist/edix/index.d.ts +6 -0
  54. package/dist/edix/mutation.d.ts +8 -0
  55. package/dist/edix/plugins/singleline.d.ts +5 -0
  56. package/dist/edix/schema/index.d.ts +3 -0
  57. package/dist/edix/schema/plain.d.ts +7 -0
  58. package/dist/edix/schema/structured.d.ts +35 -0
  59. package/dist/edix/schema/types.d.ts +13 -0
  60. package/dist/edix/utils.d.ts +8 -0
  61. package/dist/icons/ai.d.ts +3 -0
  62. package/dist/icons/content.d.ts +15 -0
  63. package/dist/icons/index.d.ts +5 -0
  64. package/dist/icons/messages.d.ts +30 -0
  65. package/dist/icons/shortcuts.d.ts +6 -0
  66. package/dist/icons/tools.d.ts +45 -0
  67. package/dist/index.css +2 -0
  68. package/dist/index.d.ts +10 -0
  69. package/dist/index.js +8428 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/lang/lang.d.ts +17 -0
  72. package/dist/types/editor.d.ts +20 -0
  73. package/dist/types/index.d.ts +4 -0
  74. package/dist/types/input.d.ts +18 -0
  75. package/dist/types/shortcut.d.ts +40 -0
  76. package/dist/types/tool.d.ts +6 -0
  77. package/dist/utils/index.d.ts +1 -0
  78. package/dist/utils/utils.d.ts +1 -0
  79. package/package.json +46 -0
  80. package/readme.md +0 -0
@@ -0,0 +1,8 @@
1
+ import type { IToolBtn } from '../../types';
2
+ declare const __VLS_export: import("vue").DefineComponent<IToolBtn, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
3
+ click: (data: IToolBtn) => any;
4
+ }, string, import("vue").PublicProps, Readonly<IToolBtn> & Readonly<{
5
+ onClick?: ((data: IToolBtn) => any) | undefined;
6
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,4 @@
1
+ export * from './use-command-selection';
2
+ export * from './use-global-config';
3
+ export * from './use-menu-keydown';
4
+ export * from './use-observer-visible-list';
@@ -0,0 +1,11 @@
1
+ import type { EditorCommand } from '../edix';
2
+ export declare const useCommandSelection: () => {
3
+ commandSelection: import("vue").ShallowRef<{
4
+ column: number;
5
+ line: number;
6
+ }, {
7
+ column: number;
8
+ line: number;
9
+ }>;
10
+ GetCursorPosition: EditorCommand<[]>;
11
+ };
@@ -0,0 +1,11 @@
1
+ import { type ComputedRef } from 'vue';
2
+ export declare const MESSAGE_SLOT_ID = "ai-blueking-message-slot";
3
+ export declare const AI_BLUEKING_MESSAGE_SLOT_ID: unique symbol;
4
+ export declare const getMessageSlotId: () => ComputedRef<string> | undefined;
5
+ export declare const useGlobalConfig: () => {
6
+ messageSlotId: ComputedRef<string>;
7
+ readonly rawMessageSlotId: string;
8
+ };
9
+ export declare const useMessageSlotId: () => {
10
+ messageSlotId: import("vue").ShallowRef<string | undefined, string | undefined>;
11
+ };
@@ -0,0 +1,8 @@
1
+ import { type ShallowRef } from 'vue';
2
+ export declare const useMenuKeydown: <T>(props: {
3
+ items: ShallowRef<T[]>;
4
+ menuRef: Readonly<ShallowRef<HTMLElement | null>>;
5
+ onSelect: (item: T) => void;
6
+ }) => {
7
+ activeIndex: ShallowRef<number, number>;
8
+ };
@@ -0,0 +1,9 @@
1
+ import { type ShallowRef, type TemplateRef } from 'vue';
2
+ export declare const useObserverVisibleList: <T>(containerRef: TemplateRef<HTMLElement>, itemRefs: ShallowRef<(HTMLElement | null)[]>, params: {
3
+ gap: number;
4
+ items: T[];
5
+ moreItemWidth: number;
6
+ }) => {
7
+ visibleItems: ShallowRef<T[], T[]>;
8
+ calculateVisibleMenuItems: () => Promise<void>;
9
+ };
@@ -0,0 +1 @@
1
+ export * from './overflow-tips';
@@ -0,0 +1,15 @@
1
+ import type { ObjectDirective } from 'vue';
2
+ import { type Props } from 'tippy.js';
3
+ import { type noop } from '../types';
4
+ import 'tippy.js/dist/tippy.css';
5
+ type MouseEnterFunc = (e?: MouseEvent) => void;
6
+ type OverflowElement = HTMLElement & {
7
+ mouseEnterFunc?: MouseEnterFunc;
8
+ mouseLeaveFunc?: MouseEnterFunc;
9
+ unObserverFunc?: typeof noop;
10
+ };
11
+ declare const OverflowTips: ObjectDirective<OverflowElement, Partial<Props> & {
12
+ disabled?: boolean;
13
+ text?: string;
14
+ }>;
15
+ export default OverflowTips;
@@ -0,0 +1,6 @@
1
+ import { Transaction } from './doc/edit.js';
2
+ import { type DocFragment, type SelectionSnapshot } from './doc/types.js';
3
+ export type EditorCommand<A extends unknown[]> = (doc: DocFragment, selection: SelectionSnapshot, ...args: A) => Transaction | void;
4
+ export declare const Delete: EditorCommand<[]>;
5
+ export declare const InsertText: EditorCommand<[text: string]>;
6
+ export declare const ReplaceAll: EditorCommand<[text: string]>;
@@ -0,0 +1,55 @@
1
+ import type { DocFragment, DocLine, DocNode, Position, SelectionSnapshot, Writeable } from './types.js';
2
+ declare const TYPE_DELETE = 1;
3
+ type DeleteOperation = Readonly<{
4
+ _end: Position;
5
+ _start: Position;
6
+ _type: typeof TYPE_DELETE;
7
+ }>;
8
+ declare const TYPE_INSERT = 2;
9
+ type InsertOperation = Readonly<{
10
+ _fragment: DocFragment;
11
+ _pos: Position;
12
+ _type: typeof TYPE_INSERT;
13
+ }>;
14
+ declare const TYPE_SELECT = 3;
15
+ export type Operation = EditOperation | SelectOperataion;
16
+ type EditOperation = DeleteOperation | InsertOperation;
17
+ type SelectOperataion = Readonly<{
18
+ _anchor: Position | undefined;
19
+ _focus: Position | undefined;
20
+ _type: typeof TYPE_SELECT;
21
+ }>;
22
+ export declare class Transaction extends Array<Operation> {
23
+ static from(tr: ReadonlyArray<Operation>): Transaction;
24
+ delete(start: Position, end: Position): this;
25
+ insert(start: Position, fragment: DocFragment): this;
26
+ select(anchor?: Position, focus?: Position): this;
27
+ transform(position: Position): Position;
28
+ }
29
+ /**
30
+ * @internal
31
+ */
32
+ export declare const isDocEqual: (docA: DocFragment, docB: DocFragment) => boolean;
33
+ /**
34
+ * @internal
35
+ */
36
+ export declare const isTextNode: (node: DocNode) => node is Readonly<{
37
+ text: string;
38
+ }>;
39
+ /**
40
+ * @internal
41
+ */
42
+ export declare const getLineSize: (line: DocLine) => number;
43
+ /**
44
+ * @internal
45
+ */
46
+ export declare const merge: (a: DocLine, b: DocLine) => DocLine;
47
+ /**
48
+ * @internal
49
+ */
50
+ export declare const sliceDoc: (doc: DocFragment, start: Position, end: Position) => DocFragment;
51
+ /**
52
+ * @internal
53
+ */
54
+ export declare const applyTransaction: (doc: Writeable<DocFragment>, selection: Writeable<SelectionSnapshot>, tr: Transaction) => void;
55
+ export {};
@@ -0,0 +1,19 @@
1
+ import type { Position, PositionRange } from './types.js';
2
+ /**
3
+ * @internal
4
+ * 0 : same
5
+ * 1 : A is before B (forward)
6
+ * -1: A is after B (backward)
7
+ */
8
+ export declare const compareLine: ([lineA]: Position, [lineB]: Position) => -1 | 0 | 1;
9
+ /**
10
+ * @internal
11
+ * 0 : same
12
+ * 1 : A is before B (forward)
13
+ * -1: A is after B (backward)
14
+ */
15
+ export declare const comparePosition: (posA: Position, posB: Position) => -1 | 0 | 1;
16
+ /**
17
+ * @internal
18
+ */
19
+ export declare const range: ([a, b]: readonly [Position, Position]) => PositionRange;
@@ -0,0 +1,15 @@
1
+ export type DocFragment = readonly DocLine[];
2
+ export type DocLine = readonly DocNode[];
3
+ export type DocNode = TextNode | VoidNode;
4
+ export type Position = readonly [line: number, offset: number];
5
+ export type PositionRange = readonly [start: Position, end: Position];
6
+ export type SelectionSnapshot = readonly [anchor: Position, focus: Position];
7
+ export type TextNode = Readonly<{
8
+ text: string;
9
+ }>;
10
+ export type VoidNode = Readonly<{
11
+ data: Record<string, unknown>;
12
+ }>;
13
+ export type Writeable<T> = {
14
+ -readonly [key in keyof T]: T[key];
15
+ };
@@ -0,0 +1,9 @@
1
+ import { type DocFragment, type VoidNode } from './types.js';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const docToString: (doc: DocFragment, voidToString?: (node: VoidNode) => string) => string;
6
+ /**
7
+ * @internal
8
+ */
9
+ export declare const stringToDoc: (text: string) => DocFragment;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare const defaultIsBlockNode: (node: Element) => boolean;
@@ -0,0 +1,42 @@
1
+ import { type ParserConfig } from './parser.js';
2
+ import type { DocFragment, Position, PositionRange, SelectionSnapshot } from '../doc/types.js';
3
+ export { defaultIsBlockNode } from './default.js';
4
+ /**
5
+ * @internal
6
+ */
7
+ export declare const getCurrentDocument: (node: Element) => Document;
8
+ /**
9
+ * @internal
10
+ */
11
+ export declare const getDOMSelection: (element: Element) => Selection;
12
+ /**
13
+ * @internal
14
+ */
15
+ export declare const getSelectionRangeInEditor: (selection: Selection, root: Element) => Range | void;
16
+ /**
17
+ * @internal
18
+ */
19
+ export declare const setSelectionToDOM: (document: Document, root: Element, [anchor, focus]: SelectionSnapshot, config: ParserConfig) => boolean;
20
+ /**
21
+ * @internal
22
+ */
23
+ export declare const serializeRange: (root: Element, config: ParserConfig, { startOffset, startContainer, endOffset, endContainer }: AbstractRange) => PositionRange;
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const getEmptySelectionSnapshot: () => SelectionSnapshot;
28
+ /**
29
+ * @internal
30
+ */
31
+ export declare const takeSelectionSnapshot: (root: Element, config: ParserConfig) => SelectionSnapshot;
32
+ /**
33
+ * @internal
34
+ */
35
+ export declare const readDom: (root: Node, config: ParserConfig, serializeVoid: (node: Element) => Record<string, unknown> | void, option?: {
36
+ _end: [Node, number];
37
+ _start: [Node, number] | undefined;
38
+ }) => DocFragment;
39
+ /**
40
+ * @internal
41
+ */
42
+ export declare const getPointedCaretPosition: (document: Document, root: Element, { clientX, clientY }: MouseEvent, config: ParserConfig) => Position | void;
@@ -0,0 +1,63 @@
1
+ export interface ParserConfig {
2
+ /**
3
+ * @internal
4
+ */
5
+ _document: Document;
6
+ /**
7
+ * @internal
8
+ */
9
+ _isBlock: (node: Element) => boolean;
10
+ }
11
+ interface ParserOption {
12
+ _endNode?: Node;
13
+ _excludeEnd?: boolean;
14
+ _startNode?: Node;
15
+ }
16
+ /** @internal */
17
+ export declare const TOKEN_TEXT = 1;
18
+ /** @internal */
19
+ export declare const TOKEN_VOID = 2;
20
+ /** @internal */
21
+ export declare const TOKEN_SOFT_BREAK = 3;
22
+ /** @internal */
23
+ export declare const TOKEN_BLOCK = 4;
24
+ declare const TOKEN_EMPTY_BLOCK_ANCHOR = 5;
25
+ declare const TOKEN_INVALID_SOFT_BREAK = 6;
26
+ /**
27
+ * @internal
28
+ */
29
+ export type TokenType = typeof TOKEN_BLOCK | typeof TOKEN_EMPTY_BLOCK_ANCHOR | typeof TOKEN_INVALID_SOFT_BREAK | typeof TOKEN_SOFT_BREAK | typeof TOKEN_TEXT | typeof TOKEN_VOID;
30
+ /**
31
+ * @internal
32
+ */
33
+ export declare const isTextNode: (node: Node) => node is Text;
34
+ /**
35
+ * @internal
36
+ */
37
+ export declare const isElementNode: (node: Node) => node is Element;
38
+ /**
39
+ * @internal
40
+ */
41
+ export declare const isCommentNode: (node: Node) => node is Comment;
42
+ /**
43
+ * @internal
44
+ */
45
+ export declare const isVoidNode: (node: Element) => boolean;
46
+ /**
47
+ * @internal
48
+ */
49
+ export declare const getDomNode: <T extends TokenType | void>() => T extends typeof TOKEN_TEXT ? Text : T extends TokenType ? Element : Element | Text;
50
+ /**
51
+ * @internal
52
+ */
53
+ export declare const getNodeSize: () => number;
54
+ /**
55
+ * @internal
56
+ */
57
+ export declare const moveToBlock: (index: number) => void;
58
+ declare const readNext: () => TokenType | void;
59
+ /**
60
+ * @internal
61
+ */
62
+ export declare const parse: <T>(scopeFn: (read: typeof readNext) => T, root: Node, { _document: document, _isBlock: isBlock }: ParserConfig, option?: ParserOption) => T;
63
+ export {};
@@ -0,0 +1,55 @@
1
+ import type { EditorCommand } from './commands.js';
2
+ import type { DocSchema } from './schema/index.js';
3
+ /**
4
+ * Methods of editor instance.
5
+ */
6
+ export interface Editor {
7
+ /**
8
+ * Dispatches editing command.
9
+ * @param fn command function
10
+ * @param args arguments of command
11
+ */
12
+ command: <A extends unknown[]>(fn: EditorCommand<A>, ...args: A) => void;
13
+ /**
14
+ * A function to make DOM editable.
15
+ * @returns A function to stop subscribing DOM changes and restores previous DOM state.
16
+ */
17
+ input: (element: HTMLElement) => () => void;
18
+ /**
19
+ * Changes editor's read-only state.
20
+ * @param value `true` to read-only. `false` to editable.
21
+ */
22
+ readonly: (value: boolean) => void;
23
+ }
24
+ /**
25
+ * Options of {@link createEditor}.
26
+ */
27
+ export interface EditorOptions<T> {
28
+ /**
29
+ * Initial document state.
30
+ */
31
+ doc: T;
32
+ /**
33
+ * TODO
34
+ */
35
+ schema: DocSchema<T>;
36
+ /**
37
+ * TODO
38
+ */
39
+ isBlock?: (node: HTMLElement) => boolean;
40
+ /**
41
+ * Callback invoked when document state changes.
42
+ */
43
+ onChange: (doc: T) => void;
44
+ /**
45
+ * Callback invoked when `keydown` events are dispatched.
46
+ *
47
+ * Return `true` if you want to cancel the editor's default behavior.
48
+ */
49
+ onKeyDown?: (keyboard: KeyboardPayload) => boolean | void;
50
+ }
51
+ export type KeyboardPayload = Pick<KeyboardEvent, 'altKey' | 'code' | 'ctrlKey' | 'key' | 'metaKey' | 'shiftKey'>;
52
+ /**
53
+ * A function to initialize editor.
54
+ */
55
+ export declare const createEditor: <T>({ schema: { single: isSingleline, js: docToJS, doc: jsToDoc, copy, paste }, doc: initialDoc, isBlock, onChange, onKeyDown: onKeyDownCallback, }: EditorOptions<T>) => Editor;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare const createHistory: <T>(initialValue: T) => {
5
+ get: () => NonNullable<T>;
6
+ set: (history: T) => void;
7
+ undo: () => T | undefined;
8
+ redo: () => T | undefined;
9
+ push: (history: T) => void;
10
+ };
@@ -0,0 +1,6 @@
1
+ export type { EditorCommand } from './commands';
2
+ export { Delete, InsertText, ReplaceAll } from './commands';
3
+ export * from './doc/utils';
4
+ export * from './editor';
5
+ export * from './schema';
6
+ export * from './utils';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare const createMutationObserver: (element: Element, onMutationIgnored: () => void) => {
5
+ _record(enable: boolean): void;
6
+ _flush: () => MutationRecord[];
7
+ _dispose(): void;
8
+ };
@@ -0,0 +1,5 @@
1
+ import { Transaction } from '../doc/edit.js';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const singleline: (tr: Transaction) => Transaction;
@@ -0,0 +1,3 @@
1
+ export * from './plain.js';
2
+ export * from './structured.js';
3
+ export type { DocSchema, InferDoc, InferNode } from './types.js';
@@ -0,0 +1,7 @@
1
+ import type { DocSchema } from './types.js';
2
+ /**
3
+ * Defines plain text schema.
4
+ */
5
+ export declare const plainSchema: ({ multiline, }?: {
6
+ multiline?: boolean;
7
+ }) => DocSchema<string>;
@@ -0,0 +1,35 @@
1
+ import type { DocSchema } from './types.js';
2
+ export interface EditableVoidSerializer<T> {
3
+ data: (node: HTMLElement) => T;
4
+ is: (node: HTMLElement) => boolean;
5
+ plain: (data: T) => string;
6
+ }
7
+ export declare const voidNode: <const D>({ is, data, plain, }: {
8
+ data: (node: HTMLElement) => D;
9
+ is: (node: HTMLElement) => boolean;
10
+ plain?: (data: D) => string;
11
+ }) => EditableVoidSerializer<D>;
12
+ type ExtractVoidData<T> = T extends EditableVoidSerializer<infer D> ? D : never;
13
+ type ExtractVoidNode<T> = Prettify<{
14
+ [K in keyof T]: {
15
+ data: ExtractVoidData<T[K]>;
16
+ type: K;
17
+ };
18
+ }[keyof T]>;
19
+ type Prettify<T> = {
20
+ [K in keyof T]: T[K];
21
+ } & {};
22
+ /**
23
+ * Defines structured text schema.
24
+ */
25
+ export declare const schema: <V extends Record<string, EditableVoidSerializer<any>> = {}, M extends boolean = false>({ multiline, void: voids, }: {
26
+ multiline?: M;
27
+ void?: V;
28
+ }) => DocSchema<M extends true ? (ExtractVoidNode<V> | {
29
+ text: string;
30
+ type: "text";
31
+ })[][] : (ExtractVoidNode<V> | {
32
+ text: string;
33
+ type: "text";
34
+ })[]>;
35
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { DocFragment } from '../doc/types.js';
2
+ import type { ParserConfig } from '../dom/parser.js';
3
+ export interface DocSchema<T> {
4
+ single: boolean;
5
+ copy: (dataTransfer: DataTransfer, doc: DocFragment, element: Element) => void;
6
+ doc: (state: T) => DocFragment;
7
+ js: (doc: DocFragment) => T;
8
+ paste: (dataTransfer: DataTransfer, config: ParserConfig) => DocFragment;
9
+ }
10
+ export type InferDoc<T> = T extends DocSchema<infer N> ? N : never;
11
+ export type InferNode<T> = T extends DocSchema<infer N> ? ExtractItem<N> : never;
12
+ type ExtractItem<T> = T extends (infer I)[] ? ExtractItem<I> : T;
13
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare const min: (...values: number[]) => number;
5
+ /**
6
+ * @internal
7
+ */
8
+ export declare const microtask: (fn: () => void) => void;
@@ -0,0 +1,3 @@
1
+ export declare const AIBluekingIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
2
+ [key: string]: any;
3
+ }>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 文档图标
3
+ */
4
+ export declare const DocumentIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
5
+ [key: string]: any;
6
+ }>;
7
+ export declare const PreviewIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
8
+ [key: string]: any;
9
+ }>;
10
+ export declare const TargetIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
11
+ [key: string]: any;
12
+ }>;
13
+ export declare const RemoveIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
14
+ [key: string]: any;
15
+ }>;
@@ -0,0 +1,5 @@
1
+ export * from './ai';
2
+ export * from './content';
3
+ export * from './messages';
4
+ export * from './shortcuts';
5
+ export * from './tools';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 发送消息图标
3
+ */
4
+ export declare const SendMessageIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
5
+ [key: string]: any;
6
+ }>;
7
+ /**
8
+ * 加载中消息图标
9
+ */
10
+ export declare const LoadingMessageIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
11
+ [key: string]: any;
12
+ }>;
13
+ /**
14
+ * 思考图标
15
+ */
16
+ export declare const ThinkingIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
+ [key: string]: any;
18
+ }>;
19
+ /**
20
+ * 折叠图标
21
+ */
22
+ export declare const CollapsedIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
23
+ [key: string]: any;
24
+ }>;
25
+ export declare const ErrorIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
26
+ [key: string]: any;
27
+ }>;
28
+ export declare const ContentLoadingIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
+ [key: string]: any;
30
+ }>;
@@ -0,0 +1,6 @@
1
+ export declare const CloseIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
2
+ [key: string]: any;
3
+ }>;
4
+ export declare const MoreIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
5
+ [key: string]: any;
6
+ }>;
@@ -0,0 +1,45 @@
1
+ export declare const CopyIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
2
+ [key: string]: any;
3
+ }>;
4
+ export declare const CiteIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
5
+ [key: string]: any;
6
+ }>;
7
+ export declare const RebuildIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
8
+ [key: string]: any;
9
+ }>;
10
+ export declare const ShareIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
11
+ [key: string]: any;
12
+ }>;
13
+ export declare const LikeIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
14
+ [key: string]: any;
15
+ }>;
16
+ export declare const UnLikeIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
+ [key: string]: any;
18
+ }>;
19
+ export declare const DeleteIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
20
+ [key: string]: any;
21
+ }>;
22
+ export declare const ToolIconsMap: {
23
+ readonly copy: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
24
+ [key: string]: any;
25
+ }>;
26
+ readonly cite: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
27
+ [key: string]: any;
28
+ }>;
29
+ readonly rebuild: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
30
+ [key: string]: any;
31
+ }>;
32
+ readonly share: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
33
+ [key: string]: any;
34
+ }>;
35
+ readonly like: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
36
+ [key: string]: any;
37
+ }>;
38
+ readonly unlike: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
39
+ [key: string]: any;
40
+ }>;
41
+ readonly delete: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
+ [key: string]: any;
43
+ }>;
44
+ };
45
+ export type ToolIcons = keyof typeof ToolIconsMap;