@deep-eye/core 1.3.4 → 1.3.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.
Files changed (145) hide show
  1. package/dist/chat-token.css +226 -0
  2. package/dist/components/chat/ChatApp.vue.d.ts +199 -0
  3. package/dist/components/chat/ChatApp.vue.d.ts.map +1 -0
  4. package/dist/components/chat/ChatBot.vue.d.ts +12 -1
  5. package/dist/components/chat/ChatBot.vue.d.ts.map +1 -1
  6. package/dist/components/chat/attachments.d.ts +3 -1
  7. package/dist/components/chat/attachments.d.ts.map +1 -1
  8. package/dist/components/chat/chatContext.d.ts +3 -2
  9. package/dist/components/chat/chatContext.d.ts.map +1 -1
  10. package/dist/components/chat/chatSessionSidebarAssets.d.ts +21 -0
  11. package/dist/components/chat/chatSessionSidebarAssets.d.ts.map +1 -0
  12. package/dist/components/chat/chatSessionSidebarTypes.d.ts +67 -0
  13. package/dist/components/chat/chatSessionSidebarTypes.d.ts.map +1 -0
  14. package/dist/components/chat/cloudConfig.d.ts +94 -0
  15. package/dist/components/chat/cloudConfig.d.ts.map +1 -0
  16. package/dist/components/chat/components/ArtifactList.vue.d.ts +14 -0
  17. package/dist/components/chat/components/ArtifactList.vue.d.ts.map +1 -0
  18. package/dist/components/chat/components/ChatHistorySearchDialog.vue.d.ts +37 -0
  19. package/dist/components/chat/components/ChatHistorySearchDialog.vue.d.ts.map +1 -0
  20. package/dist/components/chat/components/ChatProvider.vue.d.ts +10 -7
  21. package/dist/components/chat/components/ChatProvider.vue.d.ts.map +1 -1
  22. package/dist/components/chat/components/ChatSender.vue.d.ts +15 -3
  23. package/dist/components/chat/components/ChatSender.vue.d.ts.map +1 -1
  24. package/dist/components/chat/components/ChatSessionExpandHistoryCard.vue.d.ts +34 -0
  25. package/dist/components/chat/components/ChatSessionExpandHistoryCard.vue.d.ts.map +1 -0
  26. package/dist/components/chat/components/ChatSessionHistoryItem.vue.d.ts +21 -0
  27. package/dist/components/chat/components/ChatSessionHistoryItem.vue.d.ts.map +1 -0
  28. package/dist/components/chat/components/ChatSessionLoadingDots.vue.d.ts +11 -0
  29. package/dist/components/chat/components/ChatSessionLoadingDots.vue.d.ts.map +1 -0
  30. package/dist/components/chat/components/ChatSessionOverflowTooltip.vue.d.ts +22 -0
  31. package/dist/components/chat/components/ChatSessionOverflowTooltip.vue.d.ts.map +1 -0
  32. package/dist/components/chat/components/ChatSessionSidebar.vue.d.ts +84 -0
  33. package/dist/components/chat/components/ChatSessionSidebar.vue.d.ts.map +1 -0
  34. package/dist/components/chat/components/ChatSessionSkeleton.vue.d.ts +6 -0
  35. package/dist/components/chat/components/ChatSessionSkeleton.vue.d.ts.map +1 -0
  36. package/dist/components/chat/components/ChatSessionStatusMark.vue.d.ts +15 -0
  37. package/dist/components/chat/components/ChatSessionStatusMark.vue.d.ts.map +1 -0
  38. package/dist/components/chat/components/ChatSkillPanel.vue.d.ts +2 -2
  39. package/dist/components/chat/components/ChatSkillPanel.vue.d.ts.map +1 -1
  40. package/dist/components/chat/components/ConversationList.vue.d.ts.map +1 -1
  41. package/dist/components/chat/components/document-viewer/html/HtmlRenderer.vue.d.ts.map +1 -1
  42. package/dist/components/chat/components/document-viewer/screenshotCapture.d.ts +3 -2
  43. package/dist/components/chat/components/document-viewer/screenshotCapture.d.ts.map +1 -1
  44. package/dist/components/chat/components/index.d.ts +3 -0
  45. package/dist/components/chat/components/index.d.ts.map +1 -1
  46. package/dist/components/chat/composables/chatApiRequest.d.ts +39 -0
  47. package/dist/components/chat/composables/chatApiRequest.d.ts.map +1 -0
  48. package/dist/components/chat/composables/chatHistoryApi.d.ts +45 -0
  49. package/dist/components/chat/composables/chatHistoryApi.d.ts.map +1 -0
  50. package/dist/components/chat/composables/chatSessionId.d.ts +8 -0
  51. package/dist/components/chat/composables/chatSessionId.d.ts.map +1 -0
  52. package/dist/components/chat/composables/useChatNewSessionEpoch.d.ts +3 -0
  53. package/dist/components/chat/composables/useChatNewSessionEpoch.d.ts.map +1 -0
  54. package/dist/components/chat/composables/useChatSessionHistory.d.ts +58 -0
  55. package/dist/components/chat/composables/useChatSessionHistory.d.ts.map +1 -0
  56. package/dist/components/chat/composables/useChatSessionSwitch.d.ts +22 -0
  57. package/dist/components/chat/composables/useChatSessionSwitch.d.ts.map +1 -0
  58. package/dist/components/chat/composables/useHistoryGroupExpand.d.ts +14 -0
  59. package/dist/components/chat/composables/useHistoryGroupExpand.d.ts.map +1 -0
  60. package/dist/components/chat/harness/Tooltip.vue.d.ts +1 -1
  61. package/dist/components/chat/harness/Tooltip.vue.d.ts.map +1 -1
  62. package/dist/components/chat/htmlPreview.d.ts +13 -0
  63. package/dist/components/chat/htmlPreview.d.ts.map +1 -1
  64. package/dist/components/chat/icons/{ChatTipMenuLucideIcon.vue.d.ts → ChatArtifactFilesIcon.vue.d.ts} +1 -3
  65. package/dist/components/chat/icons/ChatArtifactFilesIcon.vue.d.ts.map +1 -0
  66. package/dist/components/chat/icons/ChatTipMenuAssetIcon.vue.d.ts +10 -0
  67. package/dist/components/chat/icons/ChatTipMenuAssetIcon.vue.d.ts.map +1 -0
  68. package/dist/components/chat/icons/ChatTipMenuExpertIcon.vue.d.ts +1 -3
  69. package/dist/components/chat/icons/ChatTipMenuExpertIcon.vue.d.ts.map +1 -1
  70. package/dist/components/chat/icons/index.d.ts +1 -0
  71. package/dist/components/chat/icons/index.d.ts.map +1 -1
  72. package/dist/components/chat/icons/tipMenuItemIcons.d.ts +1 -3
  73. package/dist/components/chat/icons/tipMenuItemIcons.d.ts.map +1 -1
  74. package/dist/components/chat/index.d.ts +14 -2
  75. package/dist/components/chat/index.d.ts.map +1 -1
  76. package/dist/components/chat/mdoc/ArtifactBlock.vue.d.ts +4 -1
  77. package/dist/components/chat/mdoc/ArtifactBlock.vue.d.ts.map +1 -1
  78. package/dist/components/chat/mdoc/ArtifactStack.vue.d.ts +13 -0
  79. package/dist/components/chat/mdoc/ArtifactStack.vue.d.ts.map +1 -0
  80. package/dist/components/chat/mdoc/ContentNodes.vue.d.ts.map +1 -1
  81. package/dist/components/chat/mdoc/artifactOpenStrategy.d.ts +1 -1
  82. package/dist/components/chat/mdoc/artifactOpenStrategy.d.ts.map +1 -1
  83. package/dist/components/chat/mdoc/artifactStack.d.ts +17 -0
  84. package/dist/components/chat/mdoc/artifactStack.d.ts.map +1 -0
  85. package/dist/components/chat/mdoc/index.d.ts +2 -0
  86. package/dist/components/chat/mdoc/index.d.ts.map +1 -1
  87. package/dist/components/chat/mdoc/sessionArtifacts.d.ts +20 -0
  88. package/dist/components/chat/mdoc/sessionArtifacts.d.ts.map +1 -0
  89. package/dist/components/chat/mentionEditor.d.ts +7 -2
  90. package/dist/components/chat/mentionEditor.d.ts.map +1 -1
  91. package/dist/components/chat/sidebarMotion.d.ts +5 -0
  92. package/dist/components/chat/sidebarMotion.d.ts.map +1 -1
  93. package/dist/components/chat/types.d.ts +134 -9
  94. package/dist/components/chat/types.d.ts.map +1 -1
  95. package/dist/components/skill/api/skillCloudUrl.d.ts.map +1 -1
  96. package/dist/components/skill/components/ChatSkillCard.vue.d.ts.map +1 -1
  97. package/dist/components/skill/components/ChatSkillCardSkeleton.vue.d.ts.map +1 -1
  98. package/dist/components/skill/components/ChatSkillDetailDialog.vue.d.ts.map +1 -1
  99. package/dist/components/skill/composables/useChatSkills.d.ts.map +1 -1
  100. package/dist/components/skill/formatSkillUsageCount.d.ts +3 -0
  101. package/dist/components/skill/formatSkillUsageCount.d.ts.map +1 -0
  102. package/dist/components/skill/skillCardModel.d.ts.map +1 -1
  103. package/dist/components/skill/skillTabs.d.ts +5 -0
  104. package/dist/components/skill/skillTabs.d.ts.map +1 -0
  105. package/dist/components/skill/types.d.ts +2 -0
  106. package/dist/components/skill/types.d.ts.map +1 -1
  107. package/dist/components/ui/components/UiDialog.vue.d.ts.map +1 -1
  108. package/dist/components/ui/components/UiDropdown.vue.d.ts +8 -4
  109. package/dist/components/ui/components/UiDropdown.vue.d.ts.map +1 -1
  110. package/dist/components/ui/components/UiMenu.vue.d.ts +9 -3
  111. package/dist/components/ui/components/UiMenu.vue.d.ts.map +1 -1
  112. package/dist/components/ui/components/UiMenuColumn.vue.d.ts.map +1 -1
  113. package/dist/components/ui/components/UiMenuNestedSubmenu.vue.d.ts +6 -0
  114. package/dist/components/ui/components/UiMenuNestedSubmenu.vue.d.ts.map +1 -1
  115. package/dist/components/ui/components/UiMenuSubmenuList.vue.d.ts.map +1 -1
  116. package/dist/components/ui/components/UiSearchInput.vue.d.ts +5 -1
  117. package/dist/components/ui/components/UiSearchInput.vue.d.ts.map +1 -1
  118. package/dist/components/ui/components/UiTabs.vue.d.ts.map +1 -1
  119. package/dist/components/ui/composables/floatingPosition.d.ts +3 -1
  120. package/dist/components/ui/composables/floatingPosition.d.ts.map +1 -1
  121. package/dist/components/ui/composables/index.d.ts +1 -1
  122. package/dist/components/ui/composables/index.d.ts.map +1 -1
  123. package/dist/components/ui/composables/useUiDropdown.d.ts +12 -2
  124. package/dist/components/ui/composables/useUiDropdown.d.ts.map +1 -1
  125. package/dist/components/ui/composables/useUiMenuFloating.d.ts +5 -2
  126. package/dist/components/ui/composables/useUiMenuFloating.d.ts.map +1 -1
  127. package/dist/components/ui/types.d.ts +34 -6
  128. package/dist/components/ui/types.d.ts.map +1 -1
  129. package/dist/components/ui/utils/index.d.ts +1 -1
  130. package/dist/components/ui/utils/index.d.ts.map +1 -1
  131. package/dist/components/ui/utils/mapDropdownMenuItems.d.ts +6 -1
  132. package/dist/components/ui/utils/mapDropdownMenuItems.d.ts.map +1 -1
  133. package/dist/components/ui/utils/menuSubmenu.d.ts +3 -1
  134. package/dist/components/ui/utils/menuSubmenu.d.ts.map +1 -1
  135. package/dist/{index-GDdWx_nR.cjs → index-BB7-JTQ1.cjs} +1 -1
  136. package/dist/{index-B9m5lEtT.cjs → index-BEat1win.cjs} +224 -220
  137. package/dist/{index-DZFa6Oqy.js → index-Bz2Crv7F.js} +1 -1
  138. package/dist/{index-oK2gNaio.js → index-DI2r7Of4.js} +1 -1
  139. package/dist/{index-zKQpqRx4.cjs → index-DeZLQiGl.cjs} +1 -1
  140. package/dist/{index-B1l7WLyd.js → index-x18YuBk_.js} +38327 -34818
  141. package/dist/index.cjs +1 -1
  142. package/dist/index.js +328 -276
  143. package/dist/style.css +2 -2
  144. package/package.json +1 -1
  145. package/dist/components/chat/icons/ChatTipMenuLucideIcon.vue.d.ts.map +0 -1
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Chat Design Token — single source of truth for the `--chat-*` / `--ai-conversation-*`
3
+ * CSS custom properties consumed by the chat components (`ChatBot`, `ChatSender`,
4
+ * `ConversationList`/`MessageBubble`, `ChatSessionSidebar`, `ChatApp`, …).
5
+ *
6
+ * - `style.css` `@import`s this file, so importing only `@deep-eye/core/style.css`
7
+ * already gets correct defaults.
8
+ * - It is also published standalone as `@deep-eye/core/chat-token.css` so a host can
9
+ * copy this file, edit values, and `import` it *after* `style.css` to override the
10
+ * whole token set in one go (see docs/guide/theming.md).
11
+ * - Variable names are never renamed/removed here — only additive. Components keep
12
+ * their own `var(--chat-xxx, fallback)` safety net for when this file isn't loaded
13
+ * at all; the fallback values must stay in sync with the defaults below.
14
+ * - Dark values live under the existing `[data-chat-color-mode='dark']` attribute
15
+ * (already toggled by `ChatProvider`/`ChatBot`) — no new theming mechanism.
16
+ */
17
+
18
+ :root {
19
+ /* ---------------------------------------------------------------------- */
20
+ /* ChatSender */
21
+ /* ---------------------------------------------------------------------- */
22
+ --chat-sender-bg: #ffffff;
23
+ --chat-sender-border: #e6e6e6;
24
+ --chat-sender-focus-border: #3964fe;
25
+ --chat-sender-focus-ring: #cee6ff;
26
+ --chat-sender-shadow: 0 8px 24px rgba(57, 100, 254, 0.08);
27
+ --chat-sender-focus-shadow: 0 10px 28px rgba(57, 100, 254, 0.14);
28
+ --chat-sender-radius: 24px;
29
+ --chat-sender-min-height: 120px;
30
+ --chat-sender-text: #1f2329;
31
+ --chat-sender-text-secondary: #52525b;
32
+ --chat-sender-text-muted: #71717a;
33
+ --chat-sender-placeholder: #b5bac1;
34
+ --chat-sender-icon-color: #333333;
35
+ --chat-sender-icon-hover-color: #333333;
36
+ --chat-sender-btn-hover-bg: #f5f6f8;
37
+ --chat-sender-file-bg: #ffffff;
38
+ --chat-sender-file-border: #e4e4e7;
39
+ --chat-sender-file-border-hover: #a1a1aa;
40
+ --chat-sender-file-remove-bg: #52525b;
41
+ --chat-sender-file-remove-bg-hover: #3f3f46;
42
+ --chat-sender-menu-bg: #ffffff;
43
+ --chat-sender-menu-item-hover: #f4f4f5;
44
+ --chat-sender-mention-color: #2d6af3;
45
+ --chat-sender-mention-hover-color: #2d6af3;
46
+ --chat-sender-selection-bg: #b3d4fc;
47
+ --chat-sender-selection-fg: #0b1f33;
48
+ --chat-sender-trigger-menu-min-width: 200px;
49
+ --chat-sender-trigger-menu-max-width: 320px;
50
+ --chat-sender-trigger-menu-max-height: 320px;
51
+ --chat-sender-quick-active-bg: #f0f5ff;
52
+ --chat-sender-accent: #508ffb;
53
+ --chat-sender-send-active-bg: #3964fe;
54
+ --chat-sender-send-hover-bg: #2952e6;
55
+ --chat-sender-stop-bg: #ff584f;
56
+ --chat-sender-stop-hover-bg: #e64e46;
57
+ --chat-sender-progress-track: #e4e4e7;
58
+ --chat-sender-level-bg: #e5e7eb;
59
+ --chat-sender-switch-bg: #d1d5db;
60
+ --chat-sender-model-label: rgb(97, 102, 107);
61
+ --chat-sender-model-caption: rgb(129, 133, 140);
62
+ --chat-sender-model-hover-bg: rgba(38, 49, 72, 0.06);
63
+ --chat-sender-model-menu-border: rgba(0, 0, 0, 0);
64
+
65
+ /* ---------------------------------------------------------------------- */
66
+ /* ChatBot shell */
67
+ /* ---------------------------------------------------------------------- */
68
+ --chat-bot-border: transparent;
69
+ --chat-bot-sidebar-bg: var(--bg-surface, #f7f7f5);
70
+ --chat-bot-sender-bg: transparent;
71
+ --chat-bot-sidebar-width: 320px;
72
+
73
+ /* ---------------------------------------------------------------------- */
74
+ /* ai-conversation (ConversationList / MessageBubble / tool renderers) */
75
+ /* ---------------------------------------------------------------------- */
76
+ --ai-conversation-user-bg: var(--accent-subtle, #eff4ff);
77
+ --ai-conversation-user-color: var(--text-primary, #1a1a1a);
78
+ --ai-conversation-user-border: transparent;
79
+ --ai-conversation-assistant-bg: transparent;
80
+ --ai-conversation-assistant-color: var(--text-primary, #1a1a1a);
81
+ --ai-conversation-assistant-border: transparent;
82
+ --ai-conversation-tool-bg: var(--bg-surface, #f7f7f5);
83
+ --ai-conversation-tool-border: var(--border-subtle, #e8e8e5);
84
+ --ai-conversation-tool-pending: var(--accent, #2563eb);
85
+ --ai-conversation-tool-running: var(--accent, #2563eb);
86
+ --ai-conversation-tool-success: var(--success, #16a34a);
87
+ --ai-conversation-tool-error: var(--error, #dc2626);
88
+ --ai-conversation-muted-color: var(--text-secondary, #6b6b68);
89
+ --ai-conversation-code-bg: var(--bg-code, #f4f4f5);
90
+ --ai-conversation-chart-blue: var(--color-chart-blue, var(--ai-conversation-tool-running));
91
+ --ai-conversation-chart-purple: var(--color-chart-purple, var(--ai-conversation-tool-running));
92
+ --ai-conversation-chart-pink: var(--color-chart-pink, var(--ai-conversation-tool-error));
93
+ --ai-conversation-chart-amber: var(--color-chart-amber, var(--ai-conversation-tool-pending));
94
+ --ai-conversation-chart-green: var(--color-chart-green, var(--ai-conversation-tool-success));
95
+ --ai-conversation-chart-cyan: var(--color-chart-cyan, var(--ai-conversation-tool-running));
96
+ --ai-conversation-chart-orange: var(--color-chart-orange, var(--ai-conversation-tool-error));
97
+ --ai-conversation-radius-sm: var(--radius-tool, var(--radius-sm, 6px));
98
+ --ai-conversation-radius-md: var(--radius-md, 10px);
99
+ --ai-conversation-radius-lg: var(--radius-lg, 16px);
100
+ --ai-conversation-radius: 0.75rem;
101
+ --ai-conversation-bubble-radius: 12px;
102
+ --ai-conversation-spacing: 0.75rem;
103
+ --ai-conversation-content-max: 944px;
104
+ --ai-conversation-user-max: min(85%, 36rem);
105
+ --ai-conversation-assistant-max: 944px;
106
+ --ai-conversation-avatar-size: 1.375rem;
107
+ --ai-conversation-assistant-avatar-size: 2rem;
108
+ --ai-conversation-assistant-avatar-radius: 0.5rem;
109
+ --ai-conversation-avatar-radius: 0.375rem;
110
+ --ai-conversation-avatar-gap: 0.625rem;
111
+ /* 内置助手标识采用品牌色;自定义头像仍完整覆盖标识。 */
112
+ --ai-conversation-avatar-assistant-bg: transparent;
113
+ --ai-conversation-avatar-assistant-color: var(--color-accent-brand, #c96546);
114
+ --ai-conversation-avatar-user-bg: var(--bg-surface, #f7f7f5);
115
+ --ai-conversation-avatar-user-color: var(--text-secondary, #6b6b68);
116
+ --ai-conversation-ease: var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1));
117
+ --ai-conversation-prose-size: 0.875rem;
118
+ --ai-conversation-prose-leading: 1.6;
119
+ --ai-conversation-shadow-sm: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.04));
120
+ --ai-conversation-return-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.04));
121
+
122
+ /* ---------------------------------------------------------------------- */
123
+ /* Shell (ChatApp) */
124
+ /* ---------------------------------------------------------------------- */
125
+ --chat-app-bg: #f2f4f9;
126
+ --chat-app-content-bg: #ffffff;
127
+
128
+ /* ---------------------------------------------------------------------- */
129
+ /* Sidebar (ChatSessionSidebar) */
130
+ /* ---------------------------------------------------------------------- */
131
+ --chat-sidebar-width: 280px;
132
+ --chat-sidebar-collapsed-width: 65px;
133
+ --chat-sidebar-bg: #ffffff;
134
+ --chat-sidebar-inner-bg: #fafafa;
135
+ --chat-sidebar-border: #eef0f4;
136
+ --chat-sidebar-text: #1f2329;
137
+ --chat-sidebar-text-muted: #999999;
138
+ --chat-sidebar-accent: #1677ff;
139
+ --chat-sidebar-item-hover-bg: #f5f6f8;
140
+ --chat-sidebar-item-active-bg: #ffffff;
141
+ --chat-sidebar-logo-size: 40px;
142
+ --chat-sidebar-nav-icon-size: 20px;
143
+ --chat-sidebar-nav-item-min-height: 40px;
144
+ --chat-sidebar-top-min-height: 40px;
145
+ --chat-sidebar-transition: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
146
+
147
+ /* ---------------------------------------------------------------------- */
148
+ /* History list */
149
+ /* ---------------------------------------------------------------------- */
150
+ --chat-history-status-running: #1677ff;
151
+ --chat-history-status-error: #f87171;
152
+ --chat-history-unread-dot: #1677ff;
153
+ --chat-history-item-height: 40px;
154
+ --chat-history-item-radius: 6px;
155
+ --chat-history-item-color: #999999;
156
+ --chat-history-item-hover-bg: #ebecef;
157
+ --chat-history-item-hover-color: #333333;
158
+ --chat-history-item-active-bg: #f0f2f5;
159
+ --chat-history-item-active-color: #333333;
160
+ --chat-history-empty-color: #bbbbbb;
161
+ --chat-history-footer-color: #8f959e;
162
+ --chat-history-scrollbar-thumb: #e1e5e9;
163
+
164
+ /* Empty / welcome state (ChatApp / ChatBot empty layout)
165
+ * Robot bottom aligns with composer top; --chat-empty-welcome-chat-gap is the
166
+ * title's bottom inset inside the welcome row, not a gap below the row. */
167
+ --chat-empty-welcome-top: clamp(48px, 7cqi + 2vh, 105px);
168
+ --chat-empty-welcome-chat-gap: 20px;
169
+ --chat-empty-welcome-gap: var(--chat-empty-welcome-chat-gap);
170
+ --chat-empty-robot-height: clamp(92px, 9cqi, 109px);
171
+ --chat-empty-welcome-min-height: var(--chat-empty-robot-height);
172
+ --chat-empty-sender-max-width: 944px;
173
+ --chat-empty-welcome-max-width: 944px;
174
+ --chat-empty-title-color: #1f2329;
175
+ --chat-empty-title-size: clamp(20px, calc(1.6cqi + 16px), 32px);
176
+ --chat-empty-skill-gap: clamp(16px, 2.5cqi, 32px);
177
+ }
178
+
179
+ [data-chat-color-mode='dark'] {
180
+ /* ChatSender */
181
+ --chat-sender-bg: #202023;
182
+ --chat-sender-border: #3f3f46;
183
+ --chat-sender-focus-border: #71717a;
184
+ --chat-sender-text: #f4f4f5;
185
+ --chat-sender-text-secondary: #a1a1aa;
186
+ --chat-sender-text-muted: #71717a;
187
+ --chat-sender-placeholder: #71717a;
188
+ --chat-sender-icon-color: #a1a1aa;
189
+ --chat-sender-icon-hover-color: #f4f4f5;
190
+ --chat-sender-btn-hover-bg: #27272a;
191
+ --chat-sender-file-bg: #27272a;
192
+ --chat-sender-file-border: #3f3f46;
193
+ --chat-sender-file-border-hover: #52525b;
194
+ --chat-sender-menu-bg: #202023;
195
+ --chat-sender-menu-item-hover: #27272a;
196
+ --chat-sender-level-bg: #3f3f46;
197
+ --chat-sender-switch-bg: #3f3f46;
198
+
199
+ /* ChatBot shell */
200
+ --chat-bot-border: #3a3a3a;
201
+ --chat-bot-sidebar-bg: #1a1a1a;
202
+ --chat-bot-sender-bg: #0f0f0f;
203
+
204
+ /* Shell (ChatApp) */
205
+ --chat-app-bg: #0f0f11;
206
+ --chat-app-content-bg: #18181b;
207
+
208
+ /* Sidebar (ChatSessionSidebar) */
209
+ --chat-sidebar-bg: #1c1c1f;
210
+ --chat-sidebar-inner-bg: #1c1c1f;
211
+ --chat-sidebar-border: #2c2c30;
212
+ --chat-sidebar-text: #f4f4f5;
213
+ --chat-sidebar-text-muted: #a1a1aa;
214
+ --chat-sidebar-item-hover-bg: rgba(255, 255, 255, 0.06);
215
+ --chat-sidebar-item-active-bg: rgba(255, 255, 255, 0.1);
216
+
217
+ /* History list */
218
+ --chat-history-item-color: #a1a1aa;
219
+ --chat-history-item-hover-bg: rgba(255, 255, 255, 0.06);
220
+ --chat-history-item-hover-color: #f4f4f5;
221
+ --chat-history-item-active-bg: rgba(255, 255, 255, 0.1);
222
+ --chat-history-item-active-color: #f4f4f5;
223
+ --chat-history-empty-color: #52525b;
224
+ --chat-history-footer-color: #71717a;
225
+ --chat-history-scrollbar-thumb: #3f3f46;
226
+ }
@@ -0,0 +1,199 @@
1
+ import type { ChatSkillCardModel } from '../skill/types';
2
+ import { type ChatCloudConfig } from './cloudConfig';
3
+ import { type ChatSessionNavItem, type ChatSidebarTexts } from './chatSessionSidebarTypes';
4
+ import type { ChatAppExpose, ChatAttachmentInput, ChatAttachmentLimits, ChatColorMode, ChatMentionKind, ChatPreviewRendererMap, ChatSenderProps, ChatSendPayload, ChatToolRendererMap, ChatToolStates, ConversationListConfig, ConversationMessage, ConversationStreamStatus, ChatTheme } from './types';
5
+ import type { AskUserPayload } from './askUser';
6
+ type __VLS_Props = {
7
+ cloud: ChatCloudConfig;
8
+ brand?: {
9
+ title?: string;
10
+ logo?: string;
11
+ logoAlt?: string;
12
+ };
13
+ navItems?: ChatSessionNavItem[];
14
+ sidebarTexts?: Partial<ChatSidebarTexts>;
15
+ /** `v-model:session-id`. */
16
+ sessionId?: string | null;
17
+ /** Two-way syncs `?sessionId=` via `History.replaceState`. Default `true`. */
18
+ syncSessionQuery?: boolean;
19
+ /** Explicit override; omit to let the sidebar own its own (persisted) collapse state, auto-forced on narrow screens. */
20
+ collapsed?: boolean;
21
+ model?: string;
22
+ senderConfig?: Partial<ChatSenderProps>;
23
+ colorMode?: ChatColorMode;
24
+ theme?: ChatTheme;
25
+ attachmentInput?: ChatAttachmentInput;
26
+ attachmentLimits?: Partial<ChatAttachmentLimits>;
27
+ conversationConfig?: ConversationListConfig;
28
+ previewRenderers?: ChatPreviewRendererMap;
29
+ toolRenderers?: ChatToolRendererMap;
30
+ toolStates?: ChatToolStates;
31
+ followUps?: string[];
32
+ pendingAskUser?: AskUserPayload | null;
33
+ enableQueue?: boolean;
34
+ showSidebar?: boolean;
35
+ sidebarWidth?: string | number;
36
+ /** Forwarded to `ChatBot`; see `ChatBotProps.centeredEmptyState`. Default `true`. */
37
+ centeredEmptyState?: boolean;
38
+ /**
39
+ * Right column: `chat` shows ChatBot; `page` shows the `#page` slot.
40
+ * The session sidebar never unmounts. `v-model:pane`.
41
+ */
42
+ pane?: 'chat' | 'page';
43
+ /** Override sidebar nav highlight. Default: `'new'` on a blank chat, unset when a history session is open. */
44
+ activeNavKey?: string;
45
+ };
46
+ type __VLS_ModelProps = {
47
+ 'sessionId'?: string | null;
48
+ 'pane'?: 'chat' | 'page';
49
+ };
50
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
51
+ declare var __VLS_18: {}, __VLS_21: {}, __VLS_66: {}, __VLS_69: {
52
+ triggerId: string;
53
+ query: string;
54
+ select: (payload: {
55
+ id: string;
56
+ label: string;
57
+ }) => void;
58
+ close: () => void;
59
+ anchorRect: DOMRect | null;
60
+ }, __VLS_72: {
61
+ message: ConversationMessage;
62
+ index: number;
63
+ isLast: boolean;
64
+ messageProps: import("./types").ChatMessageProps;
65
+ onAction: (action: import("./types").ConversationUiAction) => void;
66
+ onCopy: (payload: import("./types").ChatActionbarCopyPayload) => void;
67
+ onAttachmentPreview: (file: import("./types").ChatResourceFile) => void;
68
+ onToolAction: (payload: import("./types").ChatToolActionPayload) => void;
69
+ }, __VLS_75: {}, __VLS_78: {}, __VLS_89: {}, __VLS_96: {};
70
+ type __VLS_Slots = {} & {
71
+ 'sidebar-brand'?: (props: typeof __VLS_18) => any;
72
+ } & {
73
+ nav?: (props: typeof __VLS_21) => any;
74
+ } & {
75
+ sender?: (props: typeof __VLS_66) => any;
76
+ } & {
77
+ 'trigger-menu'?: (props: typeof __VLS_69) => any;
78
+ } & {
79
+ message?: (props: typeof __VLS_72) => any;
80
+ } & {
81
+ empty?: (props: typeof __VLS_75) => any;
82
+ } & {
83
+ 'empty-extra'?: (props: typeof __VLS_78) => any;
84
+ } & {
85
+ footer?: (props: typeof __VLS_89) => any;
86
+ } & {
87
+ page?: (props: typeof __VLS_96) => any;
88
+ };
89
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, ChatAppExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
90
+ stop: () => any;
91
+ action: (payload: unknown) => any;
92
+ send: (payload: ChatSendPayload) => any;
93
+ "attachment-error": (error: unknown, file?: File | undefined) => any;
94
+ "mention-insert": (payload: {
95
+ triggerId: string;
96
+ id: string;
97
+ label: string;
98
+ kind?: ChatMentionKind;
99
+ }) => any;
100
+ "mention-remove": (payload: {
101
+ triggerId: string;
102
+ id: string;
103
+ label: string;
104
+ kind?: ChatMentionKind;
105
+ }) => any;
106
+ "update:sessionId": (value: string | null) => any;
107
+ "artifact-open": (payload: unknown) => any;
108
+ "file-preview": (payload: unknown) => any;
109
+ "response-error": (error: Error, info: unknown) => any;
110
+ "nav-select": (key: string) => any;
111
+ "session-created": (payload: {
112
+ id: string;
113
+ title: string;
114
+ }) => any;
115
+ "session-status-change": (payload: {
116
+ id: string;
117
+ status: ConversationStreamStatus;
118
+ }) => any;
119
+ "skill-use": (skill: ChatSkillCardModel) => any;
120
+ "skill-shortcut": (payload: {
121
+ skill: ChatSkillCardModel;
122
+ text: string;
123
+ }) => any;
124
+ "update:pane": (value: "page" | "chat") => any;
125
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
126
+ onStop?: (() => any) | undefined;
127
+ onAction?: ((payload: unknown) => any) | undefined;
128
+ onSend?: ((payload: ChatSendPayload) => any) | undefined;
129
+ "onAttachment-error"?: ((error: unknown, file?: File | undefined) => any) | undefined;
130
+ "onMention-insert"?: ((payload: {
131
+ triggerId: string;
132
+ id: string;
133
+ label: string;
134
+ kind?: ChatMentionKind;
135
+ }) => any) | undefined;
136
+ "onMention-remove"?: ((payload: {
137
+ triggerId: string;
138
+ id: string;
139
+ label: string;
140
+ kind?: ChatMentionKind;
141
+ }) => any) | undefined;
142
+ "onUpdate:sessionId"?: ((value: string | null) => any) | undefined;
143
+ "onArtifact-open"?: ((payload: unknown) => any) | undefined;
144
+ "onFile-preview"?: ((payload: unknown) => any) | undefined;
145
+ "onResponse-error"?: ((error: Error, info: unknown) => any) | undefined;
146
+ "onNav-select"?: ((key: string) => any) | undefined;
147
+ "onSession-created"?: ((payload: {
148
+ id: string;
149
+ title: string;
150
+ }) => any) | undefined;
151
+ "onSession-status-change"?: ((payload: {
152
+ id: string;
153
+ status: ConversationStreamStatus;
154
+ }) => any) | undefined;
155
+ "onSkill-use"?: ((skill: ChatSkillCardModel) => any) | undefined;
156
+ "onSkill-shortcut"?: ((payload: {
157
+ skill: ChatSkillCardModel;
158
+ text: string;
159
+ }) => any) | undefined;
160
+ "onUpdate:pane"?: ((value: "page" | "chat") => any) | undefined;
161
+ }>, {
162
+ theme: ChatTheme;
163
+ model: string;
164
+ sessionId: string | null;
165
+ toolStates: ChatToolStates;
166
+ collapsed: boolean;
167
+ followUps: string[];
168
+ attachmentLimits: Partial<ChatAttachmentLimits>;
169
+ attachmentInput: ChatAttachmentInput;
170
+ pendingAskUser: AskUserPayload | null;
171
+ showSidebar: boolean;
172
+ sidebarWidth: string | number;
173
+ enableQueue: boolean;
174
+ senderConfig: Partial<ChatSenderProps>;
175
+ conversationConfig: ConversationListConfig;
176
+ colorMode: ChatColorMode;
177
+ previewRenderers: ChatPreviewRendererMap;
178
+ toolRenderers: ChatToolRendererMap;
179
+ centeredEmptyState: boolean;
180
+ navItems: ChatSessionNavItem[];
181
+ activeNavKey: string;
182
+ brand: {
183
+ title?: string;
184
+ logo?: string;
185
+ logoAlt?: string;
186
+ };
187
+ sidebarTexts: Partial<ChatSidebarTexts>;
188
+ syncSessionQuery: boolean;
189
+ pane: "chat" | "page";
190
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
191
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
192
+ declare const _default: typeof __VLS_export;
193
+ export default _default;
194
+ type __VLS_WithSlots<T, S> = T & {
195
+ new (): {
196
+ $slots: S;
197
+ };
198
+ };
199
+ //# sourceMappingURL=ChatApp.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatApp.vue.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatApp.vue"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type ClassifiedChatError } from './chatErrors';
2
- import type { ChatActionbarCopyPayload, ChatAttachmentError, ChatBotExpose, ChatBotProps, ChatMessageProps, ChatComposerAttachment, ChatQueueItem, ChatResourceFile, ChatSendPayload, ChatSenderModelOption, ChatSenderQuickAction, ChatToolActionPayload, ConversationMessage, ConversationStreamStatus, ConversationToolCall, ConversationUiAction, ResponseStreamEvent, ResponseSseFrame } from './types';
2
+ import type { SessionArtifact } from './mdoc/sessionArtifacts';
3
+ import type { ChatActionbarCopyPayload, ChatAttachmentError, ChatBotExpose, ChatBotProps, ChatMessageProps, ChatComposerAttachment, ChatMentionKind, ChatQueueItem, ChatResourceFile, ChatSendPayload, ChatSenderModelOption, ChatSenderQuickAction, ChatToolActionPayload, ConversationMessage, ConversationStreamStatus, ConversationToolCall, ConversationUiAction, ResponseStreamEvent, ResponseSseFrame } from './types';
3
4
  interface ChatBotTriggerMenuSlotProps {
4
5
  triggerId: string;
5
6
  query: string;
@@ -21,6 +22,7 @@ type __VLS_Slots = {
21
22
  sidebar?: (props: {
22
23
  artifact: ConversationUiAction | null;
23
24
  file: ChatResourceFile | null;
25
+ artifacts: SessionArtifact[];
24
26
  }) => unknown;
25
27
  sender?: () => unknown;
26
28
  'sender-prepend'?: () => unknown;
@@ -103,16 +105,19 @@ declare const __VLS_base: import("vue").DefineComponent<ChatBotProps, ChatBotExp
103
105
  triggerId: string;
104
106
  id: string;
105
107
  label: string;
108
+ kind?: ChatMentionKind;
106
109
  }) => any;
107
110
  "mention-remove": (payload: {
108
111
  triggerId: string;
109
112
  id: string;
110
113
  label: string;
114
+ kind?: ChatMentionKind;
111
115
  }) => any;
112
116
  "mic-permission-guide-click": () => any;
113
117
  "update:model": (model: string) => any;
114
118
  "model-select": (option: ChatSenderModelOption) => any;
115
119
  "update:messages": (messages: ConversationMessage[]) => any;
120
+ "update:sessionId": (sessionId: string | null) => any;
116
121
  "update:queue": (queue: readonly ChatQueueItem[]) => any;
117
122
  "artifact-open": (payload: ConversationUiAction) => any;
118
123
  "file-preview": (resource: ChatResourceFile) => any;
@@ -158,16 +163,19 @@ declare const __VLS_base: import("vue").DefineComponent<ChatBotProps, ChatBotExp
158
163
  triggerId: string;
159
164
  id: string;
160
165
  label: string;
166
+ kind?: ChatMentionKind;
161
167
  }) => any) | undefined;
162
168
  "onMention-remove"?: ((payload: {
163
169
  triggerId: string;
164
170
  id: string;
165
171
  label: string;
172
+ kind?: ChatMentionKind;
166
173
  }) => any) | undefined;
167
174
  "onMic-permission-guide-click"?: (() => any) | undefined;
168
175
  "onUpdate:model"?: ((model: string) => any) | undefined;
169
176
  "onModel-select"?: ((option: ChatSenderModelOption) => any) | undefined;
170
177
  "onUpdate:messages"?: ((messages: ConversationMessage[]) => any) | undefined;
178
+ "onUpdate:sessionId"?: ((sessionId: string | null) => any) | undefined;
171
179
  "onUpdate:queue"?: ((queue: readonly ChatQueueItem[]) => any) | undefined;
172
180
  "onArtifact-open"?: ((payload: ConversationUiAction) => any) | undefined;
173
181
  "onFile-preview"?: ((resource: ChatResourceFile) => any) | undefined;
@@ -181,6 +189,9 @@ declare const __VLS_base: import("vue").DefineComponent<ChatBotProps, ChatBotExp
181
189
  enableQueue: boolean;
182
190
  senderConfig: Partial<import("./types").ChatSenderProps>;
183
191
  conversationConfig: import("./types").ConversationListConfig;
192
+ centeredEmptyState: boolean;
193
+ isLoadingSession: boolean;
194
+ senderDisclaimer: boolean | string;
184
195
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
185
196
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
186
197
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBot.vue.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatBot.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatBot.vue.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatBot.vue"],"names":[],"mappings":"AAg7DA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAI1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAe9D,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EAEnB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EAErB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EAEpB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAGhB,UAAU,2BAA2B;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxD,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;CAC3B;AAED,UAAU,uBAAuB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAgBD,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAA;QACrC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAA;QAC7B,SAAS,EAAE,eAAe,EAAE,CAAA;KAC7B,KAAK,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,OAAO,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,OAAO,EAAE,mBAAmB,CAAA;QAC5B,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,OAAO,CAAA;QACf,YAAY,EAAE,gBAAgB,CAAA;QAC9B,4FAA4F;QAC5F,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAA;QAChD,MAAM,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAA;QACnD,mBAAmB,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAA;QACrD,YAAY,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAA;KACvD,KAAK,OAAO,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAA;IAClC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,OAAO,CAAA;QACf,UAAU,EAAE,OAAO,CAAA;QACnB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAC1B,KAAK,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,oBAAoB,CAAA;QAC9B,WAAW,CAAC,EAAE,OAAO,SAAS,EAAE,WAAW,CAAA;QAC3C,SAAS,EAAE,OAAO,CAAA;KACnB,KAAK,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QACd,KAAK,EAAE,KAAK,CAAA;QACZ,IAAI,EAAE,mBAAmB,CAAA;QACzB,iBAAiB,EAAE,OAAO,CAAA;QAC1B,KAAK,EAAE,MAAM,IAAI,CAAA;KAClB,KAAK,OAAO,CAAA;IACb,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,gBAAgB,CAAA;KAAE,KAAK,OAAO,CAAA;IACnE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,OAAO,CAAA;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAA;IACrD,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAA;CACvC,CAAC;AAw7DF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;mBA74DyB,MAAM;;;mBACL,MAAM;eAAS,MAAM;;;mBACrB,MAAM;;;mBAEtB,MAAM;YAAM,MAAM;eAAS,MAAM;eAAS,eAAe;;;mBAGzD,MAAM;YAAM,MAAM;eAAS,MAAM;eAAS,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAP1C,MAAM;;;mBACL,MAAM;eAAS,MAAM;;;mBACrB,MAAM;;;mBAEtB,MAAM;YAAM,MAAM;eAAS,MAAM;eAAS,eAAe;;;mBAGzD,MAAM;YAAM,MAAM;eAAS,MAAM;eAAS,eAAe;;;;;;;;;;;;;;;;;;;;;;;6EA24DjF,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,4 +1,4 @@
1
- import type { ChatAttachmentError, ChatAttachmentInput, ChatAttachmentInputTarget, ChatAttachmentLimits, ChatComposerAttachment, ChatFileCategory, ChatModelInputMediaPart, ChatResourceFile, ChatSendPayload, QiniuUploadFileItem } from './types';
1
+ import type { ChatAttachmentError, ChatAttachmentInput, ChatAttachmentInputTarget, ChatAttachmentLimits, ChatComposerAttachment, ChatFileCategory, ChatModelInputMediaPart, ChatResourceFile, ChatSendMention, ChatSendPayload, QiniuUploadFileItem } from './types';
2
2
  export declare const DEFAULT_CHAT_ATTACHMENT_LIMITS: ChatAttachmentLimits;
3
3
  export declare function getFileExtension(fileName: string): string;
4
4
  export declare function classifyAttachment(file: Pick<File, 'name' | 'type'>): ChatFileCategory;
@@ -10,6 +10,8 @@ export declare function parseQiniuUploadResult(value: unknown): QiniuUploadFileI
10
10
  export declare function toChatResourceFile(result: QiniuUploadFileItem): ChatResourceFile;
11
11
  export interface BuildChatSendPayloadOptions {
12
12
  attachmentInput?: ChatAttachmentInput;
13
+ mentions?: readonly ChatSendMention[];
14
+ sceneId?: string;
13
15
  }
14
16
  export declare function buildChatSendPayload(content: string, attachments: readonly ChatComposerAttachment[], options?: BuildChatSendPayloadOptions): ChatSendPayload;
15
17
  /** Queue-edit helper: replace user text without re-dispatching attachments. */
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/components/chat/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EAEvB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EAEpB,MAAM,SAAS,CAAA;AA8BhB,eAAO,MAAM,8BAA8B,EAAE,oBAM5C,CAAA;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,gBAAgB,CAOtF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CAKjF;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,GAAE,mBAAsC,GACtD,yBAAyB,CAS3B;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC,GACjD,MAAM,CAER;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,oBAAqD,GAC5D,mBAAmB,GAAG,IAAI,CAuB5B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAe1E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAOhF;AAED,MAAM,WAAW,2BAA2B;IAC1C,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,SAAS,sBAAsB,EAAE,EAC9C,OAAO,GAAE,2BAAgC,GACxC,eAAe,CA4BjB;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CASjG;AAcD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,uBAAuB,CAazF;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAM5C"}
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/components/chat/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EAEvB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EAEpB,MAAM,SAAS,CAAA;AA8BhB,eAAO,MAAM,8BAA8B,EAAE,oBAM5C,CAAA;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,gBAAgB,CAOtF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,CAKjF;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,gBAAgB,EAC1B,eAAe,GAAE,mBAAsC,GACtD,yBAAyB,CAS3B;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC,GACjD,MAAM,CAER;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,oBAAqD,GAC5D,mBAAmB,GAAG,IAAI,CAuB5B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAe1E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAOhF;AAED,MAAM,WAAW,2BAA2B;IAC1C,eAAe,CAAC,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,SAAS,sBAAsB,EAAE,EAC9C,OAAO,GAAE,2BAAgC,GACxC,eAAe,CAiCjB;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CASjG;AAcD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,uBAAuB,CAazF;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAM5C"}
@@ -1,8 +1,9 @@
1
1
  import { type ComputedRef } from 'vue';
2
- import type { ChatAttachmentLimits, ChatColorMode, ChatPreviewRendererMap, ChatTheme, ChatToolRendererMap, ChatUploadConfig } from './types';
2
+ import type { ChatCloudConfig } from './cloudConfig';
3
+ import type { ChatAttachmentLimits, ChatColorMode, ChatPreviewRendererMap, ChatTheme, ChatToolRendererMap } from './types';
3
4
  export interface ChatContext {
4
5
  colorMode: ComputedRef<ChatColorMode>;
5
- uploadConfig: ComputedRef<ChatUploadConfig | undefined>;
6
+ cloud: ComputedRef<ChatCloudConfig | undefined>;
6
7
  limits: ComputedRef<ChatAttachmentLimits>;
7
8
  theme: ComputedRef<ChatTheme>;
8
9
  previewRenderers: ComputedRef<ChatPreviewRendererMap>;
@@ -1 +1 @@
1
- {"version":3,"file":"chatContext.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chatContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,WAAW,EAAqB,MAAM,KAAK,CAAA;AAEpF,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACrC,YAAY,EAAE,WAAW,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;IACvD,MAAM,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAA;IACzC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAC7B,gBAAgB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAA;IACrD,aAAa,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAA;CAChD;AAaD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAE7D;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED,wBAAgB,2BAA2B,CACzC,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,GAC7D,oBAAoB,CAYtB"}
1
+ {"version":3,"file":"chatContext.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chatContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,WAAW,EAAqB,MAAM,KAAK,CAAA;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACrC,KAAK,EAAE,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC,CAAA;IAC/C,MAAM,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAA;IACzC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAC7B,gBAAgB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAA;IACrD,aAAa,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAA;CAChD;AAaD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAE7D;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED,wBAAgB,2BAA2B,CACzC,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,GAC7D,oBAAoB,CAYtB"}
@@ -0,0 +1,21 @@
1
+ import type { ChatSidebarTexts } from './chatSessionSidebarTypes';
2
+ export interface ChatSessionSidebarAssets {
3
+ logo: string;
4
+ back: string;
5
+ collapse: string;
6
+ search: string;
7
+ historyGroupExpand: string;
8
+ newSession: string;
9
+ newSessionActive: string;
10
+ }
11
+ export declare const DEFAULT_SIDEBAR_ASSETS: ChatSessionSidebarAssets;
12
+ export declare function resolveNavIcon(assets: ChatSessionSidebarAssets, item: {
13
+ key: string;
14
+ icon?: string;
15
+ activeIcon?: string;
16
+ }, active: boolean): string;
17
+ export declare function resolveBrandLogo(brand?: {
18
+ logo?: string;
19
+ }): string;
20
+ export declare function resolveSidebarTexts(texts?: Partial<ChatSidebarTexts>): ChatSidebarTexts;
21
+ //# sourceMappingURL=chatSessionSidebarAssets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatSessionSidebarAssets.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chatSessionSidebarAssets.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAGjE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,sBAAsB,EAAE,wBAQpC,CAAA;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACzD,MAAM,EAAE,OAAO,GACd,MAAM,CAOR;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAElE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEvF"}
@@ -0,0 +1,67 @@
1
+ import type { ChatHistoryItem } from './composables/chatHistoryApi';
2
+ /** Aligned with basic-agent-web's `AgentHomeSessionRunStatus` (UI-domain, lowercase). */
3
+ export type ChatSessionRunStatus = 'running' | 'success' | 'error' | 'interrupted';
4
+ export interface ChatSessionListItem {
5
+ id: string;
6
+ title: string;
7
+ /** Sort/group key — epoch ms, usually `updateDate`/`createDate`. */
8
+ time: number;
9
+ status: ChatSessionRunStatus;
10
+ viewed: boolean;
11
+ /** Optimistic insert only — plays the list appear animation once. */
12
+ animateIn?: boolean;
13
+ }
14
+ export interface ChatSessionNavItem {
15
+ key: string;
16
+ label: string;
17
+ /** Image URL rendered next to the label; `key: 'new'` falls back to the built-in PNG. */
18
+ icon?: string;
19
+ /** Image URL shown when this nav item is active. */
20
+ activeIcon?: string;
21
+ }
22
+ export interface ChatSidebarTexts {
23
+ brandTitle: string;
24
+ logoAlt: string;
25
+ navAriaLabel: string;
26
+ goHome: string;
27
+ collapse: string;
28
+ expand: string;
29
+ historyTitle: string;
30
+ emptyHistory: string;
31
+ loading: string;
32
+ noMoreHistory: string;
33
+ search: string;
34
+ closeSearch: string;
35
+ quickCreate: string;
36
+ newSession: string;
37
+ noMatches: string;
38
+ moreActions: string;
39
+ rename: string;
40
+ delete: string;
41
+ renameAria: string;
42
+ deleteConfirmTitle: string;
43
+ deleteConfirmBody: string;
44
+ cancel: string;
45
+ confirmDelete: string;
46
+ }
47
+ export declare const DEFAULT_SIDEBAR_TEXTS: ChatSidebarTexts;
48
+ export declare const DEFAULT_SIDEBAR_NAV_ITEMS: ChatSessionNavItem[];
49
+ export declare const DEFAULT_SIDEBAR_PERSIST_KEY = "deep-eye-chat-sidebar-collapsed";
50
+ /** Tolerates arbitrary backend casing (`RUNNING`, `running`, …); unrecognized/missing → `success`. */
51
+ export declare function parseSessionRunStatus(raw: unknown): ChatSessionRunStatus;
52
+ /** `ChatHistoryItem` (T06 raw API shape) → the sidebar's own UI-domain `ChatSessionListItem`. */
53
+ export declare function mapHistoryItemToSession(item: ChatHistoryItem, defaultTitle: string): ChatSessionListItem;
54
+ export interface ChatSessionHistoryGroup {
55
+ id: string;
56
+ label: string;
57
+ sessions: ChatSessionListItem[];
58
+ }
59
+ /**
60
+ * The sidebar/search dialog show a single flat "任务历史" list — no "7 天前到 30 天前" /
61
+ * "30 天前以上" time-range buckets (matching basic-agent-web's actual UI: the day-range
62
+ * buckets only exist as an internal data shape there too, never rendered as separate
63
+ * sections). `texts`/`now` are kept for signature stability; the sidebar already renders
64
+ * the "任务历史" header above the list, so the single group carries no label of its own.
65
+ */
66
+ export declare function groupSessionsByTime(sessions: readonly ChatSessionListItem[], _texts?: ChatSidebarTexts, _now?: number): ChatSessionHistoryGroup[];
67
+ //# sourceMappingURL=chatSessionSidebarTypes.d.ts.map