@huyooo/ai-chat-frontend-vue 0.2.45 → 0.3.4

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 (260) hide show
  1. package/dist/ExtensionPartHost-BK60NKRw.js +282 -0
  2. package/dist/{_baseUniq-DqtKixA5.js → _baseUniq-KvdLv7qv.js} +1 -1
  3. package/dist/adapter.d.ts +6 -3
  4. package/dist/adapter.d.ts.map +1 -1
  5. package/dist/{arc-Cx8IFx6V.js → arc-1q9fzypz.js} +1 -1
  6. package/dist/{architectureDiagram-VXUJARFQ-Bfc3Rf6U.js → architectureDiagram-VXUJARFQ-DoVpphRH.js} +5 -4
  7. package/dist/{blockDiagram-VD42YOAC-Ctbp9efj.js → blockDiagram-VD42YOAC-C-eVJJrE.js} +5 -5
  8. package/dist/{c4Diagram-YG6GDRKO-B4a4v7NL.js → c4Diagram-YG6GDRKO-CQmZ_Dyi.js} +2 -2
  9. package/dist/{channel-BGZgVoFp.js → channel-1Hp8Kirx.js} +1 -1
  10. package/dist/{chunk-4BX2VUAB-TBNNvovU.js → chunk-4BX2VUAB-BtJyTkLZ.js} +1 -1
  11. package/dist/{chunk-55IACEB6-C7zSm8u9.js → chunk-55IACEB6-mjc0-u6G.js} +1 -1
  12. package/dist/{chunk-B4BG7PRW-BWn7btCt.js → chunk-B4BG7PRW-cewa2D2R.js} +4 -4
  13. package/dist/{chunk-DI55MBZ5-DsAoqeDs.js → chunk-DI55MBZ5-CUjuset1.js} +3 -3
  14. package/dist/{chunk-FMBD7UC4-B7Ymod1l.js → chunk-FMBD7UC4-DYbk66gR.js} +1 -1
  15. package/dist/{chunk-QN33PNHL-BGoNi47N.js → chunk-QN33PNHL-DowC0poQ.js} +1 -1
  16. package/dist/{chunk-QZHKN3VN-b5Db5i5e.js → chunk-QZHKN3VN-DQieU_o5.js} +1 -1
  17. package/dist/{chunk-TZMSLE5B-DNw_hwTp.js → chunk-TZMSLE5B-BalKy-HQ.js} +1 -1
  18. package/dist/{classDiagram-2ON5EDUG-C7K6KZ8a.js → classDiagram-2ON5EDUG-CDOxq-eL.js} +2 -2
  19. package/dist/{classDiagram-v2-WZHVMYZB-C7K6KZ8a.js → classDiagram-v2-WZHVMYZB-CDOxq-eL.js} +2 -2
  20. package/dist/{clone-BRu_Gzpf.js → clone-DVArJUbA.js} +1 -1
  21. package/dist/components/ChatPanel.vue.d.ts +29 -107
  22. package/dist/components/ChatPanel.vue.d.ts.map +1 -1
  23. package/dist/components/common/ConfirmDialog.vue.d.ts +3 -3
  24. package/dist/components/common/ConfirmDialog.vue.d.ts.map +1 -1
  25. package/dist/components/common/CopyButton.vue.d.ts +4 -4
  26. package/dist/components/common/CopyButton.vue.d.ts.map +1 -1
  27. package/dist/components/common/IndexingSettings.vue.d.ts +3 -0
  28. package/dist/components/common/IndexingSettings.vue.d.ts.map +1 -0
  29. package/dist/components/common/Toast.vue.d.ts +5 -5
  30. package/dist/components/common/Toast.vue.d.ts.map +1 -1
  31. package/dist/components/common/ToggleSwitch.vue.d.ts +10 -0
  32. package/dist/components/common/ToggleSwitch.vue.d.ts.map +1 -0
  33. package/dist/components/header/ChatHeader.vue.d.ts +11 -11
  34. package/dist/components/header/ChatHeader.vue.d.ts.map +1 -1
  35. package/dist/components/input/AtFilePicker.vue.d.ts +9 -10
  36. package/dist/components/input/AtFilePicker.vue.d.ts.map +1 -1
  37. package/dist/components/input/ChatInput.vue.d.ts +23 -20
  38. package/dist/components/input/ChatInput.vue.d.ts.map +1 -1
  39. package/dist/components/input/DropdownSelector.vue.d.ts +4 -7
  40. package/dist/components/input/DropdownSelector.vue.d.ts.map +1 -1
  41. package/dist/components/input/ImagePreviewModal.vue.d.ts +5 -5
  42. package/dist/components/input/ImagePreviewModal.vue.d.ts.map +1 -1
  43. package/dist/components/input/QueuedMessageList.vue.d.ts +15 -0
  44. package/dist/components/input/QueuedMessageList.vue.d.ts.map +1 -0
  45. package/dist/components/input/at-views/AtChatsView.vue.d.ts +25 -8
  46. package/dist/components/input/at-views/AtChatsView.vue.d.ts.map +1 -1
  47. package/dist/components/input/at-views/AtDocsView.vue.d.ts +26 -8
  48. package/dist/components/input/at-views/AtDocsView.vue.d.ts.map +1 -1
  49. package/dist/components/input/at-views/AtFilesView.vue.d.ts +23 -10
  50. package/dist/components/input/at-views/AtFilesView.vue.d.ts.map +1 -1
  51. package/dist/components/input/at-views/AtTerminalsView.vue.d.ts +25 -8
  52. package/dist/components/input/at-views/AtTerminalsView.vue.d.ts.map +1 -1
  53. package/dist/components/input/atContextToolHints.d.ts +2 -0
  54. package/dist/components/input/atContextToolHints.d.ts.map +1 -0
  55. package/dist/components/message/MessageBubble.vue.d.ts +20 -13
  56. package/dist/components/message/MessageBubble.vue.d.ts.map +1 -1
  57. package/dist/components/message/PartErrorBoundary.vue.d.ts +13 -0
  58. package/dist/components/message/PartErrorBoundary.vue.d.ts.map +1 -0
  59. package/dist/components/message/PartsRenderer.vue.d.ts +6 -6
  60. package/dist/components/message/PartsRenderer.vue.d.ts.map +1 -1
  61. package/dist/components/message/WelcomeMessage.vue.d.ts +4 -4
  62. package/dist/components/message/WelcomeMessage.vue.d.ts.map +1 -1
  63. package/dist/components/message/parts/CollapsibleCard.vue.d.ts +10 -14
  64. package/dist/components/message/parts/CollapsibleCard.vue.d.ts.map +1 -1
  65. package/dist/components/message/parts/CompactPart.vue.d.ts +1 -1
  66. package/dist/components/message/parts/CompactPart.vue.d.ts.map +1 -1
  67. package/dist/components/message/parts/ContentCompressPart.vue.d.ts +11 -0
  68. package/dist/components/message/parts/ContentCompressPart.vue.d.ts.map +1 -0
  69. package/dist/components/message/parts/ErrorPart.vue.d.ts +1 -1
  70. package/dist/components/message/parts/ErrorPart.vue.d.ts.map +1 -1
  71. package/dist/components/message/parts/ExtensionPartHost.vue.d.ts +14 -0
  72. package/dist/components/message/parts/ExtensionPartHost.vue.d.ts.map +1 -0
  73. package/dist/components/message/parts/ImagePart.vue.d.ts +1 -1
  74. package/dist/components/message/parts/ImagePart.vue.d.ts.map +1 -1
  75. package/dist/components/message/parts/PlanPart.vue.d.ts +3 -3
  76. package/dist/components/message/parts/PlanPart.vue.d.ts.map +1 -1
  77. package/dist/components/message/parts/TavilySearchPart.vue.d.ts +18 -0
  78. package/dist/components/message/parts/TavilySearchPart.vue.d.ts.map +1 -0
  79. package/dist/components/message/parts/TextPart.vue.d.ts +3 -3
  80. package/dist/components/message/parts/TextPart.vue.d.ts.map +1 -1
  81. package/dist/components/message/parts/ThinkingPart.vue.d.ts +3 -3
  82. package/dist/components/message/parts/ThinkingPart.vue.d.ts.map +1 -1
  83. package/dist/components/message/parts/ToolCallPart.test.d.ts +2 -0
  84. package/dist/components/message/parts/ToolCallPart.test.d.ts.map +1 -0
  85. package/dist/components/message/parts/ToolCallPart.vue.d.ts +16 -7
  86. package/dist/components/message/parts/ToolCallPart.vue.d.ts.map +1 -1
  87. package/dist/components/message/parts/ZhipuSearchPart.vue.d.ts +20 -0
  88. package/dist/components/message/parts/ZhipuSearchPart.vue.d.ts.map +1 -0
  89. package/dist/components/message/parts/index.d.ts +6 -3
  90. package/dist/components/message/parts/index.d.ts.map +1 -1
  91. package/dist/components/message/parts/part-test-helpers.d.ts +3 -0
  92. package/dist/components/message/parts/part-test-helpers.d.ts.map +1 -0
  93. package/dist/components/message/parts/tool-call-actions.d.ts +25 -0
  94. package/dist/components/message/parts/tool-call-actions.d.ts.map +1 -0
  95. package/dist/components/message/parts/tool-call-actions.test.d.ts +2 -0
  96. package/dist/components/message/parts/tool-call-actions.test.d.ts.map +1 -0
  97. package/dist/components/message/parts/tool-call-display.d.ts +26 -0
  98. package/dist/components/message/parts/tool-call-display.d.ts.map +1 -0
  99. package/dist/components/message/parts/tool-call-display.test.d.ts +2 -0
  100. package/dist/components/message/parts/tool-call-display.test.d.ts.map +1 -0
  101. package/dist/components/message/parts/tool-call-effects.d.ts +10 -0
  102. package/dist/components/message/parts/tool-call-effects.d.ts.map +1 -0
  103. package/dist/components/message/parts/tool-call-effects.test.d.ts +2 -0
  104. package/dist/components/message/parts/tool-call-effects.test.d.ts.map +1 -0
  105. package/dist/components/message/parts/useToolCallPartActions.d.ts +30 -0
  106. package/dist/components/message/parts/useToolCallPartActions.d.ts.map +1 -0
  107. package/dist/components/message/parts/useToolCallPartActions.test.d.ts +2 -0
  108. package/dist/components/message/parts/useToolCallPartActions.test.d.ts.map +1 -0
  109. package/dist/components/message/parts/useToolCallPartState.d.ts +71 -0
  110. package/dist/components/message/parts/useToolCallPartState.d.ts.map +1 -0
  111. package/dist/composables/chat/types.d.ts +101 -0
  112. package/dist/composables/chat/types.d.ts.map +1 -0
  113. package/dist/composables/chat/useCapabilityConfig.d.ts +37 -0
  114. package/dist/composables/chat/useCapabilityConfig.d.ts.map +1 -0
  115. package/dist/composables/chat/useMessageActions.d.ts +13 -0
  116. package/dist/composables/chat/useMessageActions.d.ts.map +1 -0
  117. package/dist/composables/chat/useMessageSender.d.ts +16 -0
  118. package/dist/composables/chat/useMessageSender.d.ts.map +1 -0
  119. package/dist/composables/chat/useMessageSender.test.d.ts +2 -0
  120. package/dist/composables/chat/useMessageSender.test.d.ts.map +1 -0
  121. package/dist/composables/chat/useSessionManager.d.ts +18 -0
  122. package/dist/composables/chat/useSessionManager.d.ts.map +1 -0
  123. package/dist/composables/chat/utils.d.ts +30 -0
  124. package/dist/composables/chat/utils.d.ts.map +1 -0
  125. package/dist/composables/useChat.d.ts +215 -91
  126. package/dist/composables/useChat.d.ts.map +1 -1
  127. package/dist/composables/useChat.test.d.ts +2 -0
  128. package/dist/composables/useChat.test.d.ts.map +1 -0
  129. package/dist/composables/useCollapsibleState.d.ts +8 -0
  130. package/dist/composables/useCollapsibleState.d.ts.map +1 -0
  131. package/dist/composables/useImageUpload.d.ts +7 -7
  132. package/dist/composables/useVoiceInput.d.ts +24 -2
  133. package/dist/composables/useVoiceToTextInput.d.ts +13 -6
  134. package/dist/{cose-bilkent-S5V4N54A-DU7BEogx.js → cose-bilkent-S5V4N54A-CT0FIjBj.js} +3 -2
  135. package/dist/{dagre-6UL2VRFP-yUhQUhMH.js → dagre-6UL2VRFP-BbvKKfgz.js} +5 -5
  136. package/dist/{diagram-PSM6KHXK-B7FNCAsy.js → diagram-PSM6KHXK-CrsLJs9X.js} +4 -4
  137. package/dist/{diagram-QEK2KX5R-CNWycV_-.js → diagram-QEK2KX5R-Cnsa1n7l.js} +3 -3
  138. package/dist/{diagram-S2PKOQOG-Cxm3tOMI.js → diagram-S2PKOQOG-Bhonn1Kz.js} +3 -3
  139. package/dist/{erDiagram-Q2GNP2WA-Cui6Idw2.js → erDiagram-Q2GNP2WA-DT6pN-2i.js} +4 -4
  140. package/dist/{flowDiagram-NV44I4VS-SIKwtypP.js → flowDiagram-NV44I4VS-CchO4umz.js} +5 -5
  141. package/dist/{ganttDiagram-JELNMOA3-2j8ZAszM.js → ganttDiagram-JELNMOA3-CFNxiWp6.js} +3 -2
  142. package/dist/{gitGraphDiagram-NY62KEGX-TUNgBbeP.js → gitGraphDiagram-NY62KEGX-o51KmtXq.js} +4 -4
  143. package/dist/{graph-DIlQzazg.js → graph-BBHdWgR0.js} +2 -2
  144. package/dist/index-m9adN1eZ.js +12088 -0
  145. package/dist/index.d.ts +17 -4
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +22 -18
  148. package/dist/{infoDiagram-WHAUD3N6-CkeMXbwF.js → infoDiagram-WHAUD3N6-B12_orGl.js} +2 -2
  149. package/dist/{journeyDiagram-XKPGCS4Q-DFtNmgDA.js → journeyDiagram-XKPGCS4Q-CqaYivDr.js} +4 -4
  150. package/dist/{kanban-definition-3W4ZIXB7-DKSJL0ez.js → kanban-definition-3W4ZIXB7-CHH6Pg1W.js} +2 -2
  151. package/dist/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  152. package/dist/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  153. package/dist/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  154. package/dist/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  155. package/dist/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  156. package/dist/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  157. package/dist/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  158. package/dist/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  159. package/dist/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  160. package/dist/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  161. package/dist/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  162. package/dist/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  163. package/dist/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  164. package/dist/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  165. package/dist/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  166. package/dist/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  167. package/dist/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  168. package/dist/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  169. package/dist/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  170. package/dist/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  171. package/dist/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  172. package/dist/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  173. package/dist/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  174. package/dist/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  175. package/dist/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  176. package/dist/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  177. package/dist/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  178. package/dist/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  179. package/dist/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  180. package/dist/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  181. package/dist/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  182. package/dist/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  183. package/dist/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  184. package/dist/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  185. package/dist/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  186. package/dist/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  187. package/dist/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  188. package/dist/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  189. package/dist/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  190. package/dist/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  191. package/dist/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  192. package/dist/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  193. package/dist/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  194. package/dist/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  195. package/dist/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  196. package/dist/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  197. package/dist/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  198. package/dist/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  199. package/dist/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  200. package/dist/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  201. package/dist/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  202. package/dist/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  203. package/dist/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  204. package/dist/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  205. package/dist/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  206. package/dist/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  207. package/dist/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  208. package/dist/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  209. package/dist/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  210. package/dist/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  211. package/dist/katex/katex.min.css +1 -0
  212. package/dist/{layout-Dug0WTeo.js → layout-BSxpCGtb.js} +4 -4
  213. package/dist/{linear-DbWnwF7F.js → linear-DXL-1s-O.js} +1 -1
  214. package/dist/mermaid.core-BiRSEeFB.js +21082 -0
  215. package/dist/{min-BPJk0JxQ.js → min-C_lMb-qp.js} +2 -2
  216. package/dist/{mindmap-definition-VGOIOE7T-Ddvas_77.js → mindmap-definition-VGOIOE7T-CiRokkoi.js} +3 -3
  217. package/dist/{pieDiagram-ADFJNKIX-Bqm6wE-7.js → pieDiagram-ADFJNKIX-BiqXexCL.js} +4 -4
  218. package/dist/preload-icons.d.ts +2 -0
  219. package/dist/preload-icons.d.ts.map +1 -0
  220. package/dist/{quadrantDiagram-AYHSOK5B-Di90qDNC.js → quadrantDiagram-AYHSOK5B-a_rLu8Cw.js} +2 -2
  221. package/dist/{requirementDiagram-UZGBJVZJ-BNvS-Y-p.js → requirementDiagram-UZGBJVZJ-DVF8LuO8.js} +3 -3
  222. package/dist/{sankeyDiagram-TZEHDZUN-COe9KXsj.js → sankeyDiagram-TZEHDZUN-B_jTMMoJ.js} +1 -1
  223. package/dist/{sequenceDiagram-WL72ISMW-KEt6rxSt.js → sequenceDiagram-WL72ISMW-Ey5KmA7P.js} +3 -3
  224. package/dist/{stateDiagram-FKZM4ZOC-m6ABZgHb.js → stateDiagram-FKZM4ZOC-AghFdXpl.js} +4 -4
  225. package/dist/{stateDiagram-v2-4FDKWEC3-BOQG3Pzd.js → stateDiagram-v2-4FDKWEC3-D6HtHtm7.js} +2 -2
  226. package/dist/style.css +2 -1
  227. package/dist/{timeline-definition-IT6M3QCI-lZMeP0Al.js → timeline-definition-IT6M3QCI-bLDaAWQ4.js} +2 -2
  228. package/dist/{mermaid-parser.core-LxulyvGn.js → treemap-KMMF4GRG-BsFJtEXv.js} +45 -24
  229. package/dist/types/index.d.ts +101 -37
  230. package/dist/types/index.d.ts.map +1 -1
  231. package/dist/utils/applyToolCallResult.d.ts +4 -14
  232. package/dist/utils/applyToolCallResult.d.ts.map +1 -1
  233. package/dist/utils/applyToolCallResult.test.d.ts +2 -0
  234. package/dist/utils/applyToolCallResult.test.d.ts.map +1 -0
  235. package/dist/vendor-icons-lucide-DXxtAMKT.js +17 -0
  236. package/dist/vendor-katex-BCeciekE.js +14523 -0
  237. package/dist/vendor-markdown-BsZHMS1C.js +11046 -0
  238. package/dist/{xychartDiagram-PRI3JC2R-CXlFPqh4.js → xychartDiagram-PRI3JC2R-mW_0DYTt.js} +2 -2
  239. package/package.json +13 -11
  240. package/dist/architecture-U656AL7Q-Byf_NYAJ.js +0 -5
  241. package/dist/components/input/at-views/AtBranchView.vue.d.ts +0 -18
  242. package/dist/components/input/at-views/AtBranchView.vue.d.ts.map +0 -1
  243. package/dist/components/input/at-views/AtBrowserView.vue.d.ts +0 -18
  244. package/dist/components/input/at-views/AtBrowserView.vue.d.ts.map +0 -1
  245. package/dist/components/message/parts/SearchPart.vue.d.ts +0 -12
  246. package/dist/components/message/parts/SearchPart.vue.d.ts.map +0 -1
  247. package/dist/gitGraph-F6HP7TQM-BTFZAnRi.js +0 -5
  248. package/dist/icons.d.ts +0 -6
  249. package/dist/icons.d.ts.map +0 -1
  250. package/dist/index-BEhCvPSJ.js +0 -99599
  251. package/dist/info-NVLQJR56-DUahjeSl.js +0 -5
  252. package/dist/packet-BFZMPI3H-BlatGhAw.js +0 -5
  253. package/dist/pie-7BOR55EZ-CUiepJBx.js +0 -5
  254. package/dist/radar-NHE76QYJ-C-BOjo4J.js +0 -5
  255. package/dist/treemap-KMMF4GRG-DJ_JY6Qq.js +0 -5
  256. package/dist/utils/fileIcon.d.ts +0 -13
  257. package/dist/utils/fileIcon.d.ts.map +0 -1
  258. package/dist/utils/logger.d.ts +0 -17
  259. package/dist/utils/logger.d.ts.map +0 -1
  260. /package/dist/{cytoscape.esm-DGeaJFcL.js → vendor-cytoscape-DGeaJFcL.js} +0 -0
@@ -0,0 +1,282 @@
1
+ import * as VueRuntime from "vue";
2
+ import { defineComponent, inject, ref, computed, onMounted, watch, onBeforeUnmount, createElementBlock, openBlock, normalizeStyle, createCommentVNode, createElementVNode, createVNode, unref, toDisplayString } from "vue";
3
+ import { Icon } from "@iconify/vue";
4
+ import { r as render, n as nothing, h as html, _ as _export_sfc } from "./index-m9adN1eZ.js";
5
+ const e = `data-huyooo-extension-theme`, t = `
6
+ :host {
7
+ --sx-bg: var(--chat-bg, var(--huyooo-bg, #ffffff));
8
+ --sx-surface: var(--chat-muted, var(--huyooo-surface, #f5f5f5));
9
+ --sx-surface-2: var(--chat-input-bg, var(--huyooo-surface-2, var(--sx-surface)));
10
+ --sx-card-bg: var(--huyooo-card-bg, var(--sx-surface));
11
+ --sx-text: var(--chat-text, var(--huyooo-text, #111111));
12
+ --sx-text-muted: var(--chat-text-muted, var(--huyooo-text-muted, #6b7280));
13
+ --sx-text-strong: var(--chat-text-strong, var(--huyooo-text, #111111));
14
+ --sx-border: var(--chat-border, var(--huyooo-border, rgba(0, 0, 0, 0.12)));
15
+ --sx-primary: var(--chat-primary, var(--huyooo-primary, #6366f1));
16
+ --sx-success: var(--chat-success, var(--huyooo-success, #22c55e));
17
+ --sx-warning: var(--chat-warning, var(--huyooo-warning, #eab308));
18
+ --sx-danger: var(--chat-error, var(--huyooo-destructive, #ef4444));
19
+ --sx-radius: var(--chat-radius, 12px);
20
+ --sx-font-family: var(--huyooo-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif);
21
+ --sx-font-mono: var(--huyooo-font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
22
+ color: var(--sx-text);
23
+ font-family: var(--sx-font-family);
24
+ }
25
+ `;
26
+ function n(n2) {
27
+ let r = n2.querySelector(`style[${e}]`);
28
+ if (r instanceof HTMLStyleElement) return r;
29
+ let i2 = document.createElement(`style`);
30
+ return i2.setAttribute(e, `true`), i2.textContent = t, n2.prepend(i2), i2;
31
+ }
32
+ const ExtensionThemeModule = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
33
+ __proto__: null,
34
+ EXTENSION_THEME_TOKENS_CSS: t,
35
+ ensureExtensionTheme: n
36
+ }, Symbol.toStringTag, { value: "Module" }));
37
+ const i = `__HUYOOO_EXTENSION_MODULE_BRIDGE_STORE__`, a = /^[A-Za-z_$][\w$]*$/;
38
+ function o() {
39
+ let e2 = globalThis, t2 = e2[i];
40
+ if (t2 && typeof t2 == `object`) return t2;
41
+ let n2 = /* @__PURE__ */ Object.create(null);
42
+ return e2[i] = n2, n2;
43
+ }
44
+ function s(e2) {
45
+ return e2.replace(/[.*+?^${}()|[\]\\]/g, `\\$&`);
46
+ }
47
+ function c(t$1) {
48
+ return [`
49
+ :host {
50
+ all: initial;
51
+ display: block;
52
+ box-sizing: border-box;
53
+ }
54
+
55
+ :host, :host * {
56
+ box-sizing: border-box;
57
+ }
58
+ `, t, t$1].filter((e2) => !!(e2 && e2.trim())).join(`
59
+ `);
60
+ }
61
+ function l(e2, n2) {
62
+ let i2 = e2.shadowRoot ?? e2.attachShadow({ mode: `open` });
63
+ render(html`
64
+ <style data-extension-bridge="true">${c(n2)}</style>
65
+ <div data-extension-root="true"></div>
66
+ `, i2);
67
+ let a2 = i2.querySelector(`div[data-extension-root="true"]`);
68
+ if (!(a2 instanceof HTMLDivElement)) throw Error(`扩展桥接容器创建失败`);
69
+ return { root: i2, container: a2 };
70
+ }
71
+ async function u(e2, t2) {
72
+ let n2 = f(e2, t2), r = URL.createObjectURL(new Blob([n2], { type: `text/javascript` }));
73
+ try {
74
+ return await import(
75
+ /* @vite-ignore */
76
+ r
77
+ );
78
+ } finally {
79
+ URL.revokeObjectURL(r);
80
+ }
81
+ }
82
+ function d(e2, t2, n2, r, i2) {
83
+ return { host: e2, root: t2, container: n2, props: r, emit(t3, n3) {
84
+ let r2 = { type: t3, payload: n3 };
85
+ i2 == null ? void 0 : i2(r2), e2.dispatchEvent(new CustomEvent(`extension-event`, { detail: r2, bubbles: true, composed: true }));
86
+ } };
87
+ }
88
+ function f(e2, t2) {
89
+ let n2 = e2;
90
+ for (let [e3, r] of Object.entries(t2)) {
91
+ let t3 = s(e3);
92
+ n2 = n2.replace(RegExp(`(\\bfrom\\s*["'])${t3}(["'])`, `g`), `$1${r}$2`).replace(RegExp(`(\\bimport\\s*\\(\\s*["'])${t3}(["']\\s*\\))`, `g`), `$1${r}$2`);
93
+ }
94
+ return n2;
95
+ }
96
+ function p(e2) {
97
+ let t2 = o(), n2 = `bridge-${Date.now()}-${Math.random().toString(36).slice(2)}`;
98
+ t2[n2] = e2;
99
+ let r = Object.keys(e2).filter((e3) => e3 !== `default` && a.test(e3)).sort().map((e3) => `export const ${e3} = moduleExports[${JSON.stringify(e3)}];`), s2 = [`const moduleExports = globalThis[${JSON.stringify(i)}][${JSON.stringify(n2)}];`, `export default moduleExports.default;`, ...r].join(`
100
+ `), c2 = URL.createObjectURL(new Blob([s2], { type: `text/javascript` }));
101
+ return { url: c2, dispose() {
102
+ delete t2[n2], URL.revokeObjectURL(c2);
103
+ } };
104
+ }
105
+ function m(e2) {
106
+ if (typeof e2.mount == `function`) return e2;
107
+ let t2 = e2.default;
108
+ if (typeof t2 == `function`) return { mount: t2 };
109
+ if (t2 && typeof t2 == `object` && typeof t2.mount == `function`) return t2;
110
+ throw Error(`扩展模块缺少 mount 导出`);
111
+ }
112
+ async function h(e2) {
113
+ let { root: t2, container: i2 } = l(e2.target, e2.css), a2 = m(await u(e2.code, e2.specifierMap ?? {})), o2 = e2.props, s2 = d(e2.target, t2, i2, o2, e2.onEvent), c2, f2 = async () => {
114
+ let e3 = await a2.mount(s2);
115
+ c2 = typeof e3 == `function` ? e3 : void 0;
116
+ }, p2 = async () => {
117
+ if (c2) {
118
+ await c2(), c2 = void 0;
119
+ return;
120
+ }
121
+ a2.unmount && await a2.unmount(s2);
122
+ };
123
+ return await f2(), { root: t2, container: i2, async update(n2) {
124
+ if (o2 = n2, s2 = d(e2.target, t2, i2, o2, e2.onEvent), a2.update) {
125
+ await a2.update(s2);
126
+ return;
127
+ }
128
+ await p2();
129
+ let r = l(e2.target, e2.css);
130
+ s2 = d(e2.target, r.root, r.container, o2, e2.onEvent), await f2();
131
+ }, async unmount() {
132
+ await p2(), render(nothing, t2);
133
+ } };
134
+ }
135
+ const _hoisted_1 = {
136
+ key: 0,
137
+ class: "extension-part-host__loading"
138
+ };
139
+ const _hoisted_2 = {
140
+ key: 1,
141
+ class: "extension-part-host__error"
142
+ };
143
+ const _sfc_main = /* @__PURE__ */ defineComponent({
144
+ __name: "ExtensionPartHost",
145
+ props: {
146
+ component: {},
147
+ props: {},
148
+ height: {},
149
+ status: {}
150
+ },
151
+ emits: ["hostAction"],
152
+ setup(__props, { emit: __emit }) {
153
+ const props = __props;
154
+ const emit = __emit;
155
+ const loadPartCode = inject("loadPartCode");
156
+ const mountRef = ref();
157
+ const renderError = ref();
158
+ const vueBridge = p({ ...VueRuntime, default: VueRuntime });
159
+ const extensionThemeBridge = p({ ...ExtensionThemeModule, default: ExtensionThemeModule });
160
+ let mountedModule;
161
+ let mountedModuleSignature;
162
+ const containerStyle = computed(() => ({
163
+ height: props.height ? `${props.height}px` : "auto",
164
+ minHeight: props.status === "running" && !resolvedCode.value ? "80px" : void 0
165
+ }));
166
+ const resolvedCode = ref();
167
+ function normalizeLoadedModule(source) {
168
+ if (!source) return void 0;
169
+ if (typeof source === "string") return { code: source };
170
+ return source.code ? source : void 0;
171
+ }
172
+ async function resolveSource() {
173
+ if (props.component && loadPartCode) {
174
+ try {
175
+ const normalized = normalizeLoadedModule(await loadPartCode(props.component));
176
+ if (!normalized) {
177
+ renderError.value = `未找到扩展 Part「${props.component}」的构建产物(请确认 parts/${props.component}/dist 已生成且扩展已启用)`;
178
+ }
179
+ return normalized;
180
+ } catch (e2) {
181
+ renderError.value = `加载组件 "${props.component}" 失败: ${e2 instanceof Error ? e2.message : String(e2)}`;
182
+ }
183
+ }
184
+ if (props.component && !loadPartCode) {
185
+ renderError.value = `无法加载组件 "${props.component}":宿主未提供 loadPartCode`;
186
+ }
187
+ return void 0;
188
+ }
189
+ async function disposeMountedModule() {
190
+ if (!mountedModule) return;
191
+ await mountedModule.unmount();
192
+ mountedModule = void 0;
193
+ mountedModuleSignature = void 0;
194
+ }
195
+ async function renderVueModule(source) {
196
+ if (!mountRef.value) return;
197
+ const signature = `${source.code}:${source.css ?? ""}`;
198
+ const nextProps = props.props ?? {};
199
+ if (mountedModule && mountedModuleSignature === signature) {
200
+ await mountedModule.update(nextProps);
201
+ return;
202
+ }
203
+ await disposeMountedModule();
204
+ mountRef.value.innerHTML = "";
205
+ mountedModule = await h({
206
+ target: mountRef.value,
207
+ code: source.code,
208
+ css: source.css,
209
+ props: nextProps,
210
+ specifierMap: {
211
+ vue: vueBridge.url,
212
+ "@huyooo/ai-chat-shared/extension-theme": extensionThemeBridge.url
213
+ },
214
+ onEvent: handleExtensionEvent
215
+ });
216
+ mountedModuleSignature = signature;
217
+ }
218
+ function handleExtensionEvent(event) {
219
+ if (event.type !== "host-action") return;
220
+ emit("hostAction", event.payload);
221
+ }
222
+ async function resolveAndRender() {
223
+ const source = await resolveSource();
224
+ if (!source) return;
225
+ resolvedCode.value = source.code;
226
+ renderError.value = void 0;
227
+ try {
228
+ await renderVueModule(source);
229
+ } catch (e2) {
230
+ renderError.value = `渲染失败: ${e2 instanceof Error ? e2.message : String(e2)}`;
231
+ }
232
+ }
233
+ onMounted(() => {
234
+ if (props.component) resolveAndRender();
235
+ });
236
+ watch(
237
+ () => [props.component, props.props],
238
+ () => {
239
+ if (props.status === "done" && props.component) {
240
+ resolveAndRender();
241
+ }
242
+ }
243
+ );
244
+ onBeforeUnmount(() => {
245
+ void disposeMountedModule();
246
+ vueBridge.dispose();
247
+ extensionThemeBridge.dispose();
248
+ if (mountRef.value) mountRef.value.innerHTML = "";
249
+ });
250
+ return (_ctx, _cache) => {
251
+ return openBlock(), createElementBlock("div", {
252
+ class: "extension-part-host",
253
+ style: normalizeStyle(containerStyle.value)
254
+ }, [
255
+ props.status === "running" && !resolvedCode.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
256
+ createVNode(unref(Icon), {
257
+ icon: "lucide:loader-2",
258
+ width: "20",
259
+ class: "extension-part-host__spin"
260
+ }),
261
+ _cache[0] || (_cache[0] = createElementVNode("span", null, "正在加载组件…", -1))
262
+ ])) : createCommentVNode("", true),
263
+ createElementVNode("div", {
264
+ ref_key: "mountRef",
265
+ ref: mountRef,
266
+ class: "extension-part-host__mount"
267
+ }, null, 512),
268
+ renderError.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
269
+ createVNode(unref(Icon), {
270
+ icon: "lucide:alert-triangle",
271
+ width: "16"
272
+ }),
273
+ createElementVNode("span", null, toDisplayString(renderError.value), 1)
274
+ ])) : createCommentVNode("", true)
275
+ ], 4);
276
+ };
277
+ }
278
+ });
279
+ const ExtensionPartHost = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-04f1de0d"]]);
280
+ export {
281
+ ExtensionPartHost as default
282
+ };
@@ -1,4 +1,4 @@
1
- import { aV as isObjectLike, br as baseGetTag, aE as isArray, aT as Symbol$1, bs as arrayLikeKeys, bt as baseKeys, aD as isArrayLike, bu as memoize, bv as isArguments, bw as MapCache, bm as eq, bx as Uint8Array, aW as getTag, a$ as isBuffer, b2 as Stack, by as isTypedArray, aZ as isObject, bz as isLength, bp as isIndex, aF as identity, bn as baseFor, bA as Set } from "./index-BEhCvPSJ.js";
1
+ import { aU as isObjectLike, bq as baseGetTag, aE as isArray, aS as Symbol$1, br as arrayLikeKeys, bs as baseKeys, aD as isArrayLike, bt as memoize, bu as isArguments, bv as MapCache, bl as eq, bw as Uint8Array, aV as getTag, a_ as isBuffer, b1 as Stack, bx as isTypedArray, aY as isObject, by as isLength, bo as isIndex, aF as identity, bm as baseFor, bz as Set } from "./mermaid.core-BiRSEeFB.js";
2
2
  var symbolTag$1 = "[object Symbol]";
3
3
  function isSymbol(value) {
4
4
  return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$1;
package/dist/adapter.d.ts CHANGED
@@ -1,4 +1,8 @@
1
- import { ChatAdapter as ChatAdapterType, ChatMode, ThinkingMode } from '@huyooo/ai-chat-types';
1
+ /**
2
+ * Chat Adapter 辅助类型和工具
3
+ * 核心 ChatAdapter 接口从 bridge-electron 导入
4
+ */
5
+ import type { ChatAdapter as ChatAdapterType, ChatMode, MessagePartInput, ThinkingMode } from '@huyooo/ai-chat-types';
2
6
  /**
3
7
  * 重新导出 ChatAdapter 类型供内部组件使用
4
8
  */
@@ -48,8 +52,7 @@ export interface SaveMessageOptions {
48
52
  sessionId: string;
49
53
  role: 'user' | 'assistant';
50
54
  content: string;
51
- /** 执行步骤列表 JSON */
52
- steps?: string;
55
+ parts?: MessagePartInput[];
53
56
  operationIds?: string;
54
57
  }
55
58
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACR,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,CAAA;AAEzC,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,aAAa;AACb,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,WAAW;AACX,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,OAAO,CAAA;IACxB,mCAAmC;IACnC,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,CAAA;AAEzC,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,aAAa;AACb,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,WAAW;AACX,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,OAAO,CAAA;IACxB,mCAAmC;IACnC,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB;AAED,aAAa;AACb,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
@@ -1,4 +1,4 @@
1
- import { a0 as withPath, a1 as halfPi, a2 as epsilon, a3 as tau, a4 as cos, a5 as sin, a6 as min, a7 as abs, a8 as constant, a9 as pi, aa as sqrt, ab as atan2, ac as asin, ad as acos, ae as max } from "./index-BEhCvPSJ.js";
1
+ import { a0 as withPath, a1 as pi, a2 as cos, a3 as sin, a4 as constant, a5 as halfPi, a6 as epsilon, a7 as tau, a8 as sqrt, a9 as min, aa as abs, ab as atan2, ac as asin, ad as max, ae as acos } from "./mermaid.core-BiRSEeFB.js";
2
2
  function arcInnerRadius(d) {
3
3
  return d.innerRadius;
4
4
  }
@@ -1,8 +1,9 @@
1
1
  var _a;
2
- import { aG as getDefaultExportFromCjs, _ as __name, H as selectSvgElement, V as setupGraphViewbox, l as log, b as setAccTitle, a as getAccTitle, p as setDiagramTitle, q as getDiagramTitle, g as getAccDescription, s as setAccDescription, y as clear, D as cleanAndMerge, E as getConfig, F as defaultConfig_default, c as getConfig2, ak as createText, aH as getIconSVG, i as sanitizeText, d as select, x as getEdgeId, aI as registerIconPacks, aJ as unknownIcon } from "./index-BEhCvPSJ.js";
3
- import { p as populateCommonDb } from "./chunk-4BX2VUAB-TBNNvovU.js";
4
- import { p as parse } from "./mermaid-parser.core-LxulyvGn.js";
5
- import { c as cytoscape$1 } from "./cytoscape.esm-DGeaJFcL.js";
2
+ import { _ as __name, H as selectSvgElement, V as setupGraphViewbox, l as log, b as setAccTitle, a as getAccTitle, p as setDiagramTitle, q as getDiagramTitle, g as getAccDescription, s as setAccDescription, y as clear, D as cleanAndMerge, E as getConfig, F as defaultConfig_default, c as getConfig2, ak as createText, aG as getIconSVG, i as sanitizeText, d as select, x as getEdgeId, aH as registerIconPacks, aI as unknownIcon } from "./mermaid.core-BiRSEeFB.js";
3
+ import { p as populateCommonDb } from "./chunk-4BX2VUAB-BtJyTkLZ.js";
4
+ import { p as parse } from "./treemap-KMMF4GRG-BsFJtEXv.js";
5
+ import { c as cytoscape$1 } from "./vendor-cytoscape-DGeaJFcL.js";
6
+ import { g as getDefaultExportFromCjs } from "./vendor-markdown-BsZHMS1C.js";
6
7
  var cytoscapeFcose$1 = { exports: {} };
7
8
  var coseBase$1 = { exports: {} };
8
9
  var layoutBase$1 = { exports: {} };
@@ -1,9 +1,9 @@
1
1
  var _a, _b;
2
- import { g as getIconStyles } from "./chunk-FMBD7UC4-B7Ymod1l.js";
3
- import { _ as __name, E as getConfig, d as select, e as configureSvgSize, l as log, y as clear, A as rgba, c as getConfig2, ai as getLineFunctionsWithOffset, R as line, S as curveBasis, O as getUrl, aj as evaluate, ak as createText, al as getSubGraphTitleMargins, u as utils_default, k as common_default, am as replaceIconSubstring, an as decodeEntities, i as sanitizeText, ao as getStylesFromArray } from "./index-BEhCvPSJ.js";
4
- import { c as clone } from "./clone-BRu_Gzpf.js";
5
- import { G as Graph } from "./graph-DIlQzazg.js";
6
- import { c as channel } from "./channel-BGZgVoFp.js";
2
+ import { g as getIconStyles } from "./chunk-FMBD7UC4-DYbk66gR.js";
3
+ import { _ as __name, E as getConfig, d as select, e as configureSvgSize, l as log, y as clear, A as rgba, c as getConfig2, ai as getLineFunctionsWithOffset, R as line, S as curveBasis, O as getUrl, aj as evaluate, ak as createText, al as getSubGraphTitleMargins, u as utils_default, k as common_default, am as replaceIconSubstring, an as decodeEntities, i as sanitizeText, ao as getStylesFromArray } from "./mermaid.core-BiRSEeFB.js";
4
+ import { c as clone } from "./clone-DVArJUbA.js";
5
+ import { G as Graph } from "./graph-BBHdWgR0.js";
6
+ import { c as channel } from "./channel-1Hp8Kirx.js";
7
7
  var parser = (function() {
8
8
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
9
9
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,6 +1,6 @@
1
1
  var _a, _b;
2
- import { g as getNoteRect, d as drawRect } from "./chunk-TZMSLE5B-DNw_hwTp.js";
3
- import { _ as __name, s as setAccDescription, g as getAccDescription, a as getAccTitle, b as setAccTitle, c as getConfig2, d as select, l as log, e as configureSvgSize, f as assignWithDepth_default, h as calculateTextWidth, i as sanitizeText, j as distExports, w as wrapLabel, k as common_default, m as calculateTextHeight } from "./index-BEhCvPSJ.js";
2
+ import { g as getNoteRect, d as drawRect } from "./chunk-TZMSLE5B-BalKy-HQ.js";
3
+ import { _ as __name, s as setAccDescription, g as getAccDescription, a as getAccTitle, b as setAccTitle, c as getConfig2, d as select, l as log, e as configureSvgSize, f as assignWithDepth_default, h as calculateTextWidth, i as sanitizeText, j as distExports, w as wrapLabel, k as common_default, m as calculateTextHeight } from "./mermaid.core-BiRSEeFB.js";
4
4
  var parser = (function() {
5
5
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
6
6
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,4 +1,4 @@
1
- import { ap as Utils, aq as Color } from "./index-BEhCvPSJ.js";
1
+ import { ap as Utils, aq as Color } from "./mermaid.core-BiRSEeFB.js";
2
2
  const channel = (color, channel2) => {
3
3
  return Utils.lang.round(Color.parse(color)[channel2]);
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as __name } from "./index-BEhCvPSJ.js";
1
+ import { _ as __name } from "./mermaid.core-BiRSEeFB.js";
2
2
  function populateCommonDb(ast, db) {
3
3
  var _a, _b, _c;
4
4
  if (ast.accDescr) {
@@ -1,4 +1,4 @@
1
- import { _ as __name, d as select } from "./index-BEhCvPSJ.js";
1
+ import { _ as __name, d as select } from "./mermaid.core-BiRSEeFB.js";
2
2
  var getDiagramElement = /* @__PURE__ */ __name((id, securityLevel) => {
3
3
  let sandboxElement;
4
4
  if (securityLevel === "sandbox") {
@@ -1,8 +1,8 @@
1
1
  var _a, _b;
2
- import { g as getIconStyles } from "./chunk-FMBD7UC4-B7Ymod1l.js";
3
- import { g as getDiagramElement } from "./chunk-55IACEB6-C7zSm8u9.js";
4
- import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-BGoNi47N.js";
5
- import { _ as __name, l as log, c as getConfig2, o as getRegisteredLayoutAlgorithm, r as render, u as utils_default, d as select, b as setAccTitle, a as getAccTitle, s as setAccDescription, g as getAccDescription, p as setDiagramTitle, q as getDiagramTitle, k as common_default, y as clear, x as getEdgeId, i as sanitizeText, Q as parseGenericTypes } from "./index-BEhCvPSJ.js";
2
+ import { g as getIconStyles } from "./chunk-FMBD7UC4-DYbk66gR.js";
3
+ import { g as getDiagramElement } from "./chunk-55IACEB6-mjc0-u6G.js";
4
+ import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-DowC0poQ.js";
5
+ import { _ as __name, l as log, c as getConfig2, o as getRegisteredLayoutAlgorithm, r as render, u as utils_default, d as select, b as setAccTitle, a as getAccTitle, s as setAccDescription, g as getAccDescription, p as setDiagramTitle, q as getDiagramTitle, k as common_default, y as clear, x as getEdgeId, i as sanitizeText, Q as parseGenericTypes } from "./mermaid.core-BiRSEeFB.js";
6
6
  var parser = (function() {
7
7
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
8
8
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,7 +1,7 @@
1
1
  var _a;
2
- import { g as getDiagramElement } from "./chunk-55IACEB6-C7zSm8u9.js";
3
- import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-BGoNi47N.js";
4
- import { _ as __name, l as log, c as getConfig2, r as render, u as utils_default, a as getAccTitle, b as setAccTitle, g as getAccDescription, s as setAccDescription, p as setDiagramTitle, q as getDiagramTitle, T as generateId, k as common_default, y as clear } from "./index-BEhCvPSJ.js";
2
+ import { g as getDiagramElement } from "./chunk-55IACEB6-mjc0-u6G.js";
3
+ import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-DowC0poQ.js";
4
+ import { _ as __name, l as log, c as getConfig2, r as render, u as utils_default, a as getAccTitle, b as setAccTitle, g as getAccDescription, s as setAccDescription, p as setDiagramTitle, q as getDiagramTitle, T as generateId, k as common_default, y as clear } from "./mermaid.core-BiRSEeFB.js";
5
5
  var parser = (function() {
6
6
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
7
7
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,4 +1,4 @@
1
- import { _ as __name } from "./index-BEhCvPSJ.js";
1
+ import { _ as __name } from "./mermaid.core-BiRSEeFB.js";
2
2
  var getIconStyles = /* @__PURE__ */ __name(() => `
3
3
  /* Font Awesome icon styling - consolidated */
4
4
  .label-icon {
@@ -1,4 +1,4 @@
1
- import { _ as __name, e as configureSvgSize, l as log } from "./index-BEhCvPSJ.js";
1
+ import { _ as __name, e as configureSvgSize, l as log } from "./mermaid.core-BiRSEeFB.js";
2
2
  var setupViewPortForSVG = /* @__PURE__ */ __name((svg, padding, cssDiagram, useMaxWidth) => {
3
3
  svg.attr("class", cssDiagram);
4
4
  const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);
@@ -1,5 +1,5 @@
1
1
  var _a;
2
- import { _ as __name } from "./index-BEhCvPSJ.js";
2
+ import { _ as __name } from "./mermaid.core-BiRSEeFB.js";
3
3
  var ImperativeState = (_a = class {
4
4
  /**
5
5
  * @param init - Function that creates the default state.
@@ -1,4 +1,4 @@
1
- import { _ as __name, U as lineBreakRegex, j as distExports } from "./index-BEhCvPSJ.js";
1
+ import { _ as __name, U as lineBreakRegex, j as distExports } from "./mermaid.core-BiRSEeFB.js";
2
2
  var drawRect = /* @__PURE__ */ __name((element, rectData) => {
3
3
  const rectElement = element.append("rect");
4
4
  rectElement.attr("x", rectData.x);
@@ -1,5 +1,5 @@
1
- import { s as styles_default, c as classRenderer_v3_unified_default, a as classDiagram_default, C as ClassDB } from "./chunk-B4BG7PRW-BWn7btCt.js";
2
- import { _ as __name } from "./index-BEhCvPSJ.js";
1
+ import { s as styles_default, c as classRenderer_v3_unified_default, a as classDiagram_default, C as ClassDB } from "./chunk-B4BG7PRW-cewa2D2R.js";
2
+ import { _ as __name } from "./mermaid.core-BiRSEeFB.js";
3
3
  var diagram = {
4
4
  parser: classDiagram_default,
5
5
  get db() {
@@ -1,5 +1,5 @@
1
- import { s as styles_default, c as classRenderer_v3_unified_default, a as classDiagram_default, C as ClassDB } from "./chunk-B4BG7PRW-BWn7btCt.js";
2
- import { _ as __name } from "./index-BEhCvPSJ.js";
1
+ import { s as styles_default, c as classRenderer_v3_unified_default, a as classDiagram_default, C as ClassDB } from "./chunk-B4BG7PRW-cewa2D2R.js";
2
+ import { _ as __name } from "./mermaid.core-BiRSEeFB.js";
3
3
  var diagram = {
4
4
  parser: classDiagram_default,
5
5
  get db() {
@@ -1,4 +1,4 @@
1
- import { b as baseClone } from "./graph-DIlQzazg.js";
1
+ import { b as baseClone } from "./graph-BBHdWgR0.js";
2
2
  var CLONE_SYMBOLS_FLAG = 4;
3
3
  function clone(value) {
4
4
  return baseClone(value, CLONE_SYMBOLS_FLAG);
@@ -1,11 +1,13 @@
1
- import { Component } from 'vue';
2
- import { ChatAdapter, ImageData } from '../adapter';
3
- import { ModelOption, ChatMode } from '../types';
4
- import { ToolCompleteEvent } from '../composables/useChat';
5
- import { WelcomeConfig } from './message/welcome-types';
1
+ import { type Component } from 'vue';
2
+ import type { ChatAdapter } from '../adapter';
3
+ import type { ModelOption, ChatMode } from '../types';
4
+ import type { ChatRuntime, ToolCompleteEvent } from '../composables/useChat';
5
+ import type { WelcomeConfig } from './message/welcome-types';
6
6
  interface Props {
7
7
  /** Adapter 实例 */
8
8
  adapter: ChatAdapter;
9
+ /** 外部持久化聊天运行时;未传入时组件内部自行创建 */
10
+ runtime?: ChatRuntime;
9
11
  /** 默认模型 */
10
12
  defaultModel?: string;
11
13
  /** 默认模式 */
@@ -14,6 +16,8 @@ interface Props {
14
16
  models?: ModelOption[];
15
17
  /** 隐藏标题栏 */
16
18
  hideHeader?: boolean;
19
+ /** 面板当前是否可见 */
20
+ visible?: boolean;
17
21
  /** 关闭回调(有此属性时显示关闭按钮) */
18
22
  onClose?: () => void;
19
23
  /** 自定义类名 */
@@ -29,11 +33,17 @@ interface Props {
29
33
  * - 'auto': 执行时展开,完成后折叠
30
34
  */
31
35
  stepsExpandedType?: 'open' | 'close' | 'auto';
36
+ /** 当前浏览目录(用于 @ 文件面板默认定位) */
37
+ currentPath?: string;
38
+ /** @ 文件面板的回退根目录 */
39
+ rootDir?: string;
40
+ /** 显示会话审计入口 */
41
+ showAuditAction?: boolean;
32
42
  }
33
- declare const _default: import('vue').DefineComponent<Props, {
43
+ declare const _default: import("vue").DefineComponent<Props, {
34
44
  /** 设置输入框内容 */
35
45
  setInputText: (text: string) => void;
36
- /** 在光标位置插入文本(用于 @ 上下文) */
46
+ /** 在当前光标位置插入文本 */
37
47
  insertInputText: (text: string) => void;
38
48
  /** 聚焦输入框 */
39
49
  focusInput: () => void;
@@ -41,119 +51,31 @@ declare const _default: import('vue').DefineComponent<Props, {
41
51
  sendMessage: (text: string) => void;
42
52
  /** 当前工作目录 */
43
53
  setCwd: (dir: string) => void;
44
- /** 重新加载 Skills 列表 */
45
- loadSkills: () => Promise<void>;
46
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
54
+ /** 重新加载聊天能力快照 */
55
+ loadCapabilities: () => Promise<void>;
56
+ /** 重新从主进程拉取聊天能力与偏好 */
57
+ reloadCapabilities: () => Promise<void>;
58
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
47
59
  close: () => any;
48
60
  "tool-complete": (event: ToolCompleteEvent) => any;
49
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
61
+ "audit-session": (sessionId: string) => any;
62
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
50
63
  onClose?: (() => any) | undefined;
51
64
  "onTool-complete"?: ((event: ToolCompleteEvent) => any) | undefined;
65
+ "onAudit-session"?: ((sessionId: string) => any) | undefined;
52
66
  }>, {
53
67
  defaultModel: string;
54
68
  defaultMode: ChatMode;
55
69
  onClose: () => void;
70
+ rootDir: string;
71
+ currentPath: string;
72
+ visible: boolean;
56
73
  models: ModelOption[];
57
74
  partRenderers: Record<string, Component>;
58
75
  stepsExpandedType: "open" | "close" | "auto";
59
76
  hideHeader: boolean;
60
77
  className: string;
61
78
  welcomeConfig: Partial<WelcomeConfig>;
62
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
63
- messagesRef: HTMLDivElement;
64
- chatInputRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
65
- variant?: "input" | "message";
66
- value?: string;
67
- images?: string[];
68
- isLoading?: boolean;
69
- adapter?: ChatAdapter;
70
- mode?: ChatMode;
71
- model?: string;
72
- models?: ModelOption[];
73
- webSearchEnabled?: boolean;
74
- thinkingEnabled?: boolean;
75
- }> & Readonly<{
76
- onSend?: ((text: string, images?: ImageData[] | undefined) => any) | undefined;
77
- onCancel?: (() => any) | undefined;
78
- "onAt-context"?: (() => any) | undefined;
79
- "onUpdate:mode"?: ((mode: import('@huyooo/ai-chat-types').ChatMode) => any) | undefined;
80
- "onUpdate:model"?: ((model: string) => any) | undefined;
81
- "onUpdate:webSearch"?: ((enabled: boolean) => any) | undefined;
82
- "onUpdate:thinking"?: ((enabled: boolean) => any) | undefined;
83
- }>, {
84
- focus: () => void | undefined;
85
- setText: (text: string) => void;
86
- insertText: (text: string) => void;
87
- clear: () => void;
88
- addImages: (files: File[]) => void;
89
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
90
- send: (text: string, images?: ImageData[] | undefined) => any;
91
- cancel: () => any;
92
- "at-context": () => any;
93
- "update:mode": (mode: import('@huyooo/ai-chat-types').ChatMode) => any;
94
- "update:model": (model: string) => any;
95
- "update:webSearch": (enabled: boolean) => any;
96
- "update:thinking": (enabled: boolean) => any;
97
- }, import('vue').PublicProps, {
98
- images: string[];
99
- adapter: ChatAdapter;
100
- isLoading: boolean;
101
- model: string;
102
- mode: ChatMode;
103
- webSearchEnabled: boolean;
104
- thinkingEnabled: boolean;
105
- value: string;
106
- variant: "input" | "message";
107
- models: ModelOption[];
108
- }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
109
- containerRef: HTMLDivElement;
110
- inputRef: HTMLTextAreaElement;
111
- imageInputRef: HTMLInputElement;
112
- atSelectorRef: HTMLDivElement;
113
- }, HTMLDivElement, import('vue').ComponentProvideOptions, {
114
- P: {};
115
- B: {};
116
- D: {};
117
- C: {};
118
- M: {};
119
- Defaults: {};
120
- }, Readonly<{
121
- variant?: "input" | "message";
122
- value?: string;
123
- images?: string[];
124
- isLoading?: boolean;
125
- adapter?: ChatAdapter;
126
- mode?: ChatMode;
127
- model?: string;
128
- models?: ModelOption[];
129
- webSearchEnabled?: boolean;
130
- thinkingEnabled?: boolean;
131
- }> & Readonly<{
132
- onSend?: ((text: string, images?: ImageData[] | undefined) => any) | undefined;
133
- onCancel?: (() => any) | undefined;
134
- "onAt-context"?: (() => any) | undefined;
135
- "onUpdate:mode"?: ((mode: import('@huyooo/ai-chat-types').ChatMode) => any) | undefined;
136
- "onUpdate:model"?: ((model: string) => any) | undefined;
137
- "onUpdate:webSearch"?: ((enabled: boolean) => any) | undefined;
138
- "onUpdate:thinking"?: ((enabled: boolean) => any) | undefined;
139
- }>, {
140
- focus: () => void | undefined;
141
- setText: (text: string) => void;
142
- insertText: (text: string) => void;
143
- clear: () => void;
144
- addImages: (files: File[]) => void;
145
- }, {}, {}, {}, {
146
- images: string[];
147
- adapter: ChatAdapter;
148
- isLoading: boolean;
149
- model: string;
150
- mode: ChatMode;
151
- webSearchEnabled: boolean;
152
- thinkingEnabled: boolean;
153
- value: string;
154
- variant: "input" | "message";
155
- models: ModelOption[];
156
- }> | null;
157
- }, HTMLDivElement>;
79
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
158
80
  export default _default;
159
81
  //# sourceMappingURL=ChatPanel.vue.d.ts.map