@deep-eye/core 0.3.0 → 0.5.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/README.md CHANGED
@@ -1,104 +1,44 @@
1
1
  # @deep-eye/core
2
2
 
3
- 深瞳前端 Vue 3 组件库 — 思维导图与 AI 会话渲染。
3
+ Vue 3 组件库,提供思维导图和 AI 会话组件。
4
4
 
5
5
  ## 安装
6
6
 
7
7
  ```bash
8
8
  pnpm add @deep-eye/core
9
- # 或 npm install @deep-eye/core
10
9
  ```
11
10
 
11
+ ## 使用
12
+
12
13
  ```ts
13
- import { D3MindMap, AiConversation, useConversation, ASK_USER_FORM_SYSTEM_PROMPT } from '@deep-eye/core'
14
+ import {
15
+ D3MindMap,
16
+ AiConversation,
17
+ useConversation,
18
+ ASK_USER_FORM_SYSTEM_PROMPT,
19
+ } from '@deep-eye/core'
14
20
  import '@deep-eye/core/style.css'
15
21
  ```
16
22
 
17
- > 注意:包名是 **`@deep-eye/core`**,不是旧的 `deepeye-core`。
18
-
19
- ## 组件
20
-
21
- | 组件 | 说明 |
22
- | --- | --- |
23
- | **D3MindMap** | D3 思维导图:缩放、拖拽、折叠、主题 |
24
- | **AiConversation** | AI 会话渲染:流式文本、富媒体、工具调用、AskUserForm |
25
-
26
- 输入框与 SSE 由宿主实现;库只负责消息渲染。
27
-
28
- ## AiConversation 快速上手
29
-
30
- ### 基础流式
23
+ ### AiConversation
31
24
 
32
25
  ```ts
33
- import { AiConversation, useConversation } from '@deep-eye/core'
34
-
35
26
  const { messages, appendDelta } = useConversation()
36
-
37
- appendDelta({ id: 'a1', role: 'assistant', contentDelta: chunk })
38
- appendDelta({ id: 'a1', contentDelta: more })
39
- appendDelta({ id: 'a1', done: true })
27
+ eventSource.onmessage = ({ data }) => appendDelta(data)
40
28
  ```
41
29
 
42
30
  ```vue
43
- <AiConversation :messages="messages" auto-scroll="smart" />
44
- ```
45
-
46
- 富媒体标记:`[IMG:{...}]` / `[VIDEO:{...}]` / `[AUDIO:{...}]`
47
-
48
- ### 交互组件(AskUserForm)
49
-
50
- 将 `ASK_USER_FORM_SYSTEM_PROMPT` 拼入 LLM system,模型输出 `{% ask-form %}` 后,表单 dock 在对话区底部;监听 `@action` 回传。
51
-
52
- ```ts
53
- import { ASK_USER_FORM_SYSTEM_PROMPT } from '@deep-eye/core'
54
-
55
- const system = ['你是助手……', ASK_USER_FORM_SYSTEM_PROMPT].join('\n\n')
31
+ <AiConversation :messages="messages" @action="onAction" />
56
32
  ```
57
33
 
58
- ```vue
59
- <AiConversation
60
- :messages="messages"
61
- :user-avatar="userAvatarUrl"
62
- :assistant-avatar="assistantAvatarUrl"
63
- @action="onAction"
64
- />
65
- ```
34
+ AskUserForm 使用 `ASK_USER_FORM_SYSTEM_PROMPT`;单选自动提交,多选点击“确认”,`required=false` 可跳过,结果见 `answers`。
66
35
 
67
- - 不传 `userAvatar` / `assistantAvatar`(也无对应插槽)则不显示头像
68
- - AskUserForm 暂不支持自定义位置(固定底部居中)
36
+ `useConversation().appendDelta` 支持 OpenAI 兼容 SSE chunk 和 `[DONE]`。
69
37
 
70
- ## D3MindMap 快速上手
38
+ ### D3MindMap
71
39
 
72
40
  ```vue
73
- <script setup>
74
- import { D3MindMap } from '@deep-eye/core'
75
-
76
- const data = {
77
- nodeData: {
78
- id: 'root',
79
- topic: 'Deep-Eye',
80
- root: true,
81
- children: [
82
- { id: '1', topic: '可视化' },
83
- { id: '2', topic: 'AI 会话' },
84
- ],
85
- },
86
- }
87
- </script>
88
-
89
- <template>
90
- <D3MindMap :data="data" height="600px" show-toolbar />
91
- </template>
41
+ <D3MindMap :data="data" height="600px" show-toolbar />
92
42
  ```
93
43
 
94
- ## 要求
95
-
96
- | 依赖 | 版本 |
97
- | --- | --- |
98
- | Node.js | ≥ 22 |
99
- | Vue | ≥ 3.5 |
100
- | TypeScript | ≥ 5.9(开发) |
101
-
102
- ## License
103
-
104
- MIT · Author: King · 深瞳前端团队
44
+ Node ≥ 22 · Vue ≥ 3.5 · MIT
@@ -1 +1 @@
1
- {"version":3,"file":"AiConversation.vue.d.ts","sourceRoot":"","sources":["../../../src/components/chat/AiConversation.vue"],"names":[],"mappings":"AA8gBA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EAGnB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAUhB,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAA;CACnC,CAAC;AA+cF,QAAA,MAAM,UAAU;;;;;;6EAKd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"AiConversation.vue.d.ts","sourceRoot":"","sources":["../../../src/components/chat/AiConversation.vue"],"names":[],"mappings":"AA4oBA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EAInB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAUhB,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAA;CACnC,CAAC;AAmnBF,QAAA,MAAM,UAAU;;;;;;6EAKd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -6,11 +6,11 @@ type __VLS_Props = {
6
6
  userAvatar?: string;
7
7
  assistantAvatar?: string;
8
8
  };
9
- declare var __VLS_1: {}, __VLS_18: {};
9
+ declare var __VLS_1: {}, __VLS_23: {};
10
10
  type __VLS_Slots = {} & {
11
11
  'assistant-avatar'?: (props: typeof __VLS_1) => any;
12
12
  } & {
13
- 'user-avatar'?: (props: typeof __VLS_18) => any;
13
+ 'user-avatar'?: (props: typeof __VLS_23) => any;
14
14
  };
15
15
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/MessageBubble.vue"],"names":[],"mappings":"AAuQA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAA;AAIzE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC3D,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,iBAAiB,CAAA;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAC;AA8NF,QAAA,IAAI,OAAO,IAAU,EAAE,QAAQ,IAAY,CAAE;AAC7C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GACvD;IAAE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAKtD,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"MessageBubble.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/MessageBubble.vue"],"names":[],"mappings":"AA8TA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAA;AAIzE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC3D,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,iBAAiB,CAAA;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAC;AAqRF,QAAA,IAAI,OAAO,IAAU,EAAE,QAAQ,IAAY,CAAE;AAC7C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GACvD;IAAE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAKtD,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,6 +1,8 @@
1
1
  type __VLS_Props = {
2
2
  content: string;
3
3
  isStreaming?: boolean;
4
+ /** Highlights the final visible characters while a stream is active. */
5
+ highlightStreamTail?: boolean;
4
6
  /** user 气泡内用 compact,去掉段落边距以利垂直居中 */
5
7
  density?: 'default' | 'compact';
6
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TextPartRenderer.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/TextPartRenderer.vue"],"names":[],"mappings":"AA0BA,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qCAAqC;IACrC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AAsCJ,QAAA,MAAM,YAAY;aAvCJ,SAAS,GAAG,SAAS;6EA0CjC,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"TextPartRenderer.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/TextPartRenderer.vue"],"names":[],"mappings":"AAiCA,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AAwCJ,QAAA,MAAM,YAAY;aAzCJ,SAAS,GAAG,SAAS;6EA4CjC,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConversation.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/composables/useConversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,mBAAmB,EAGnB,cAAc,EACd,qBAAqB,EACtB,MAAM,UAAU,CAAA;AAEjB;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,eAAe,GAAE,mBAAmB,EAAO,GAC1C,qBAAqB,CA6FvB;AA2BD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,cAAc,CAE1F"}
1
+ {"version":3,"file":"useConversation.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/composables/useConversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,mBAAmB,EAKnB,cAAc,EACd,qBAAqB,EACtB,MAAM,UAAU,CAAA;AAEjB;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,eAAe,GAAE,mBAAmB,EAAO,GAC1C,qBAAqB,CAgKvB;AA8ED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,cAAc,CAE1F"}
@@ -9,7 +9,7 @@ export { default as OpenGenerativeUiThemeRenderer } from './components/OpenGener
9
9
  export { default as OpenGenUIToolRenderer } from './components/OpenGenUIToolRenderer.vue';
10
10
  export { default as SearchToolRenderer } from './components/SearchToolRenderer.vue';
11
11
  export { ASK_USER_FORM_SYSTEM_PROMPT } from './mdoc/builtInRegistry';
12
- export type { AiConversationExpose, AiConversationProps, AutoScrollMode, ConversationMessage, ConversationRole, ConversationDelta, ConversationTheme, ConversationUiAction, ConversationToolCall, ConversationToolCallDelta, GenerativeChartOutput, OpenGenerativeUiBarChartOutput, OpenGenerativeUiChartDatum, OpenGenerativeUiMeetingTimePickerOutput, OpenGenerativeUiOutput, OpenGenerativeUiPieChartOutput, OpenGenerativeUiPlanCardOutput, OpenGenerativeUiRenderStatus, OpenGenerativeUiTimeSlot, OpenGenerativeUiToggleThemeInput, OpenGenerativeUiToolReasoningOutput, OpenGenUIContent, PlanVisualizationOutput, ScheduleTimeOutput, StandaloneActivityContent, ToolCallStatus, ToolRenderer, ToolRendererProps, UseConversationReturn, } from './types';
12
+ export type { AiConversationExpose, AiConversationProps, AutoScrollMode, ConversationAskFormAnswer, ConversationStreamInput, ConversationMessage, ConversationRole, ConversationDelta, ConversationTheme, ConversationUiAction, ConversationToolCall, ConversationToolCallDelta, GenerativeChartOutput, OpenGenerativeUiBarChartOutput, OpenGenerativeUiChartDatum, OpenGenerativeUiMeetingTimePickerOutput, OpenGenerativeUiOutput, OpenGenerativeUiPieChartOutput, OpenGenerativeUiPlanCardOutput, OpenGenerativeUiRenderStatus, OpenGenerativeUiTimeSlot, OpenGenerativeUiToggleThemeInput, OpenGenerativeUiToolReasoningOutput, OpenAiChatCompletionChoice, OpenAiChatCompletionChunk, OpenAiChatCompletionDelta, OpenAiChatCompletionToolCallDelta, OpenGenUIContent, PlanVisualizationOutput, ScheduleTimeOutput, StandaloneActivityContent, ToolCallStatus, ToolRenderer, ToolRendererProps, UseConversationReturn, } from './types';
13
13
  export { useConversation } from './composables';
14
14
  export { registerToolRenderer } from './toolRenderers';
15
15
  export { OPEN_GENERATIVE_UI_ACTIVITY_TYPE, OPEN_GENERATIVE_UI_OUTPUT_CATALOG, OPEN_GENERATIVE_UI_OUTPUT_NAMES, } from './openGenerativeUi';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,gDAAgD,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AACvG,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,mDAAmD,CAAA;AAC/G,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,gDAAgD,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAEpE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,EAC1B,uCAAuC,EACvC,sBAAsB,EACtB,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,gCAAgC,EAChC,mCAAmC,EACnC,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,gDAAgD,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AACvG,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,mDAAmD,CAAA;AAC/G,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,gDAAgD,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAEpE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,EAC1B,uCAAuC,EACvC,sBAAsB,EACtB,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,gCAAgC,EAChC,mCAAmC,EACnC,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,iCAAiC,EACjC,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EACL,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA"}
@@ -1,22 +1,33 @@
1
+ import type { ConversationUiAction } from '../types';
1
2
  import type { MdocComponentNode } from './parser';
3
+ type AskFormDraft = {
4
+ value: string;
5
+ label?: string;
6
+ skipped?: boolean;
7
+ };
2
8
  type __VLS_Props = {
3
9
  node: MdocComponentNode;
10
+ questionIndex?: number;
11
+ questionCount?: number;
12
+ groupCanSubmit?: boolean;
4
13
  };
5
14
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
- action: (payload: {
7
- type: "submit";
8
- value: string;
9
- label?: string;
10
- source: "ask-form";
11
- }) => any;
15
+ action: (payload: ConversationUiAction) => any;
16
+ answerChange: (payload: AskFormDraft | null) => any;
17
+ previous: () => any;
18
+ next: () => any;
19
+ submitGroup: () => any;
12
20
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
13
- onAction?: ((payload: {
14
- type: "submit";
15
- value: string;
16
- label?: string;
17
- source: "ask-form";
18
- }) => any) | undefined;
19
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ onAction?: ((payload: ConversationUiAction) => any) | undefined;
22
+ onAnswerChange?: ((payload: AskFormDraft | null) => any) | undefined;
23
+ onPrevious?: (() => any) | undefined;
24
+ onNext?: (() => any) | undefined;
25
+ onSubmitGroup?: (() => any) | undefined;
26
+ }>, {
27
+ questionIndex: number;
28
+ questionCount: number;
29
+ groupCanSubmit: boolean;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
31
  declare const _default: typeof __VLS_export;
21
32
  export default _default;
22
33
  //# sourceMappingURL=AskUserForm.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AskUserForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/AskUserForm.vue"],"names":[],"mappings":"AA0fA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAIjD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,iBAAiB,CAAA;CACxB,CAAC;AA0WF,QAAA,MAAM,YAAY;;cAtWU,QAAQ;eAAS,MAAM;gBAAU,MAAM;gBAAU,UAAU;;;;cAA3D,QAAQ;eAAS,MAAM;gBAAU,MAAM;gBAAU,UAAU;;kFAyWrF,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"AskUserForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/AskUserForm.vue"],"names":[],"mappings":"AA8uBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAID,KAAK,WAAW,GAAG;IACf,IAAI,EAAE,iBAAiB,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;AAslBJ,QAAA,MAAM,YAAY;;;;;;;;;;;;;mBAzlBE,MAAM;mBACN,MAAM;oBACL,OAAO;6EA2lB1B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1,6 +1,7 @@
1
1
  type __VLS_Props = {
2
2
  content: string;
3
3
  isStreaming?: boolean;
4
+ highlightStreamTail?: boolean;
4
5
  /** compact:用于用户气泡,去掉段落外边距与过大行高 */
5
6
  density?: 'default' | 'compact';
6
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ContentNodes.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/ContentNodes.vue"],"names":[],"mappings":"AA6NA,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AAgLF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ContentNodes.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/ContentNodes.vue"],"names":[],"mappings":"AAwUA,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AA8PF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtInRegistry.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/builtInRegistry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,+BAe1B,CAAA;AAsBF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAEtC,CAAA"}
1
+ {"version":3,"file":"builtInRegistry.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/builtInRegistry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,+BAiB1B,CAAA;AAwBF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAEtC,CAAA"}
@@ -145,6 +145,8 @@ export interface ConversationMessage {
145
145
  id: string;
146
146
  role: ConversationRole;
147
147
  content?: string;
148
+ /** Visible reasoning text, rendered separately from the final answer. */
149
+ reasoning?: string;
148
150
  tool_calls?: ConversationToolCall[];
149
151
  tool_call_id?: string;
150
152
  toolStatus?: ToolCallStatus;
@@ -175,6 +177,8 @@ export interface ConversationDelta {
175
177
  id: string;
176
178
  role?: ConversationRole;
177
179
  contentDelta?: string;
180
+ /** Incremental visible reasoning text. */
181
+ reasoningDelta?: string;
178
182
  toolCallDelta?: ConversationToolCallDelta;
179
183
  toolCallId?: string;
180
184
  toolStatus?: ToolCallStatus;
@@ -182,6 +186,47 @@ export interface ConversationDelta {
182
186
  toolError?: string;
183
187
  done?: boolean;
184
188
  }
189
+ /** A function call delta in an OpenAI-compatible chat completion chunk. */
190
+ export interface OpenAiChatCompletionToolCallDelta {
191
+ index: number;
192
+ id?: string;
193
+ type?: 'function';
194
+ function?: {
195
+ name?: string;
196
+ arguments?: string;
197
+ };
198
+ }
199
+ /** The `choices[].delta` payload in an OpenAI-compatible SSE chunk. */
200
+ export interface OpenAiChatCompletionDelta {
201
+ role?: 'assistant';
202
+ content?: string | null;
203
+ /** Used by reasoning-capable OpenAI-compatible providers. */
204
+ reasoning_content?: string | null;
205
+ /** Alternate field used by some OpenAI-compatible providers. */
206
+ reasoning?: string | null;
207
+ tool_calls?: OpenAiChatCompletionToolCallDelta[];
208
+ }
209
+ /** One choice in an OpenAI-compatible `chat.completion.chunk` response. */
210
+ export interface OpenAiChatCompletionChoice {
211
+ index: number;
212
+ delta: OpenAiChatCompletionDelta;
213
+ /** `null` and the string `"null"` both mean that streaming continues. */
214
+ finish_reason: string | null;
215
+ }
216
+ /**
217
+ * OpenAI-compatible SSE payload accepted by `useConversation().appendDelta`.
218
+ * `session_id` is included for compatible backends.
219
+ */
220
+ export interface OpenAiChatCompletionChunk {
221
+ id: string;
222
+ object: 'chat.completion.chunk';
223
+ created: number;
224
+ model: string;
225
+ session_id?: string;
226
+ choices: OpenAiChatCompletionChoice[];
227
+ }
228
+ /** Input accepted by `useConversation().appendDelta`. */
229
+ export type ConversationStreamInput = ConversationDelta | OpenAiChatCompletionChunk | string;
185
230
  export interface ConversationTheme {
186
231
  /** CSS custom-property references supplied by the consuming design system. */
187
232
  userBubbleBg?: string;
@@ -199,12 +244,26 @@ export interface ConversationTheme {
199
244
  borderRadius?: string;
200
245
  spacing?: string;
201
246
  }
247
+ export interface ConversationAskFormAnswer {
248
+ formId: string;
249
+ question: string;
250
+ value: string;
251
+ label?: string;
252
+ /** True when an optional question was skipped. */
253
+ skipped?: boolean;
254
+ }
202
255
  /** Bubbled from interactive content tags such as ask-form. */
203
256
  export interface ConversationUiAction {
204
257
  type: 'submit';
205
258
  value: string;
206
259
  label?: string;
207
260
  source?: string;
261
+ /** Stable form identifier from `ask-form id`; falls back to the parsed node id. */
262
+ formId?: string;
263
+ /** The ask-form question associated with this submission. */
264
+ question?: string;
265
+ /** All answers from a multi-question ask-form submission, in display order. */
266
+ answers?: ConversationAskFormAnswer[];
208
267
  }
209
268
  export interface AiConversationProps {
210
269
  messages: readonly ConversationMessage[];
@@ -220,7 +279,7 @@ export interface AiConversationExpose {
220
279
  }
221
280
  export interface UseConversationReturn {
222
281
  messages: Ref<ConversationMessage[]>;
223
- appendDelta: (delta: ConversationDelta) => void;
282
+ appendDelta: (delta: ConversationStreamInput) => void;
224
283
  setMessages: (messages: ConversationMessage[]) => void;
225
284
  reset: () => void;
226
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/chat/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/chat/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzC,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAA;AAC5D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AACxE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAA;AAEvD,yEAAyE;AACzE,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAA;AAElF;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,KAAK,CAAC;QACV,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;CACH;AAED,qFAAqF;AACrF,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,+DAA+D;AAC/D,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,0BAA0B,EAAE,CAAA;CACnC;AAED,+DAA+D;AAC/D,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,0BAA0B,EAAE,CAAA;CACnC;AAED,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,8DAA8D;AAC9D,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,4BAA4B,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,2EAA2E;AAC3E,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,uCAAuC;IACtD,MAAM,EAAE,4BAA4B,CAAA;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,wBAAwB,EAAE,CAAA;CACvC;AAED,2EAA2E;AAC3E,MAAM,WAAW,mCAAmC;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,4BAA4B,CAAA;CACrC;AAED,oEAAoE;AACpE,MAAM,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEpE,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,gCAAgC,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,8BAA8B,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,8BAA8B,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,mCAAmC,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAE7D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,2EAA2E;QAC3E,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAA;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,gFAAgF;IAChF,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,yBAAyB,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,2EAA2E;AAC3E,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,uEAAuE;AACvE,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,iCAAiC,EAAE,CAAA;CACjD;AAED,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,yBAAyB,CAAA;IAChC,yEAAyE;IACzE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,uBAAuB,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,0BAA0B,EAAE,CAAA;CACtC;AAED,yDAAyD;AACzD,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,yBAAyB,GAAG,MAAM,CAAA;AAE5F,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,yBAAyB,EAAE,CAAA;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACxC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACrD,WAAW,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA"}