dsh-plugin-core 0.33.1 → 0.33.3

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 (665) hide show
  1. package/README.md +9 -9
  2. package/dist/adv/explorer/open.js +4 -4
  3. package/dist/adv/explorer/open.js.map +1 -1
  4. package/dist/adv/session/SessionViewModal.d.ts.map +1 -1
  5. package/dist/adv/session/SessionViewModal.js +6 -3
  6. package/dist/adv/session/SessionViewModal.js.map +1 -1
  7. package/dist/adv/session/mirror/ChatView.d.ts +1 -3
  8. package/dist/adv/session/mirror/ChatView.d.ts.map +1 -1
  9. package/dist/adv/session/mirror/ChatView.js +10 -36
  10. package/dist/adv/session/mirror/ChatView.js.map +1 -1
  11. package/dist/adv/session/mirror/GenericCommandCard.d.ts +6 -1
  12. package/dist/adv/session/mirror/GenericCommandCard.d.ts.map +1 -1
  13. package/dist/adv/session/mirror/GenericCommandCard.js +8 -3
  14. package/dist/adv/session/mirror/GenericCommandCard.js.map +1 -1
  15. package/dist/adv/session/mirror/MessageItem.d.ts +4 -3
  16. package/dist/adv/session/mirror/MessageItem.d.ts.map +1 -1
  17. package/dist/adv/session/mirror/MessageItem.js +19 -9
  18. package/dist/adv/session/mirror/MessageItem.js.map +1 -1
  19. package/dist/{session/mirror/BashRow.d.ts → adv/session/mirror/SkillRow.d.ts} +4 -5
  20. package/dist/adv/session/mirror/SkillRow.d.ts.map +1 -0
  21. package/dist/adv/session/mirror/SkillRow.js +86 -0
  22. package/dist/adv/session/mirror/SkillRow.js.map +1 -0
  23. package/dist/adv/session/official-classes.d.ts +3 -1
  24. package/dist/adv/session/official-classes.d.ts.map +1 -1
  25. package/dist/adv/session/official-classes.js +33 -32
  26. package/dist/adv/session/official-classes.js.map +1 -1
  27. package/dist/ui/feedback/host-toast.d.ts +1 -1
  28. package/dist/ui/feedback/host-toast.js +1 -1
  29. package/dist/utils/i18n.d.ts +1 -1
  30. package/dist/utils/i18n.d.ts.map +1 -1
  31. package/dist/utils/i18n.js +12 -0
  32. package/dist/utils/i18n.js.map +1 -1
  33. package/docs/design/external/dsh-host.md +33 -0
  34. package/docs/help/explorer.doc.ts +1 -1
  35. package/docs/help/explorer.md +1 -1
  36. package/docs/help/integration.doc.ts +2 -2
  37. package/docs/help/integration.md +2 -2
  38. package/docs/help/session.doc.ts +1 -1
  39. package/docs/help/session.md +1 -1
  40. package/docs/help/ui.doc.ts +1 -1
  41. package/docs/help/ui.md +1 -1
  42. package/package.json +16 -16
  43. package/dist/explorer/ExplorerPanel.d.ts +0 -25
  44. package/dist/explorer/ExplorerPanel.d.ts.map +0 -1
  45. package/dist/explorer/ExplorerPanel.js +0 -111
  46. package/dist/explorer/ExplorerPanel.js.map +0 -1
  47. package/dist/explorer/FileBrowser.d.ts +0 -58
  48. package/dist/explorer/FileBrowser.d.ts.map +0 -1
  49. package/dist/explorer/FileBrowser.js +0 -632
  50. package/dist/explorer/FileBrowser.js.map +0 -1
  51. package/dist/explorer/crumb-nav.d.ts +0 -45
  52. package/dist/explorer/crumb-nav.d.ts.map +0 -1
  53. package/dist/explorer/crumb-nav.js +0 -78
  54. package/dist/explorer/crumb-nav.js.map +0 -1
  55. package/dist/explorer/crumbs-menu.d.ts +0 -37
  56. package/dist/explorer/crumbs-menu.d.ts.map +0 -1
  57. package/dist/explorer/crumbs-menu.js +0 -102
  58. package/dist/explorer/crumbs-menu.js.map +0 -1
  59. package/dist/explorer/explorer-css.d.ts +0 -2
  60. package/dist/explorer/explorer-css.d.ts.map +0 -1
  61. package/dist/explorer/explorer-css.generated.d.ts +0 -2
  62. package/dist/explorer/explorer-css.generated.d.ts.map +0 -1
  63. package/dist/explorer/explorer-css.generated.js +0 -4
  64. package/dist/explorer/explorer-css.generated.js.map +0 -1
  65. package/dist/explorer/explorer-css.js +0 -3
  66. package/dist/explorer/explorer-css.js.map +0 -1
  67. package/dist/explorer/fs-face.d.ts +0 -36
  68. package/dist/explorer/fs-face.d.ts.map +0 -1
  69. package/dist/explorer/fs-face.js +0 -74
  70. package/dist/explorer/fs-face.js.map +0 -1
  71. package/dist/explorer/index.d.ts +0 -6
  72. package/dist/explorer/index.d.ts.map +0 -1
  73. package/dist/explorer/index.js +0 -6
  74. package/dist/explorer/index.js.map +0 -1
  75. package/dist/explorer/landing.d.ts +0 -26
  76. package/dist/explorer/landing.d.ts.map +0 -1
  77. package/dist/explorer/landing.js +0 -43
  78. package/dist/explorer/landing.js.map +0 -1
  79. package/dist/explorer/open.d.ts +0 -137
  80. package/dist/explorer/open.d.ts.map +0 -1
  81. package/dist/explorer/open.js +0 -350
  82. package/dist/explorer/open.js.map +0 -1
  83. package/dist/explorer/picker-placement.d.ts +0 -69
  84. package/dist/explorer/picker-placement.d.ts.map +0 -1
  85. package/dist/explorer/picker-placement.js +0 -122
  86. package/dist/explorer/picker-placement.js.map +0 -1
  87. package/dist/explorer/preview/BytesPreview.d.ts +0 -12
  88. package/dist/explorer/preview/BytesPreview.d.ts.map +0 -1
  89. package/dist/explorer/preview/BytesPreview.js +0 -60
  90. package/dist/explorer/preview/BytesPreview.js.map +0 -1
  91. package/dist/explorer/preview/HtmlPreview.d.ts +0 -17
  92. package/dist/explorer/preview/HtmlPreview.d.ts.map +0 -1
  93. package/dist/explorer/preview/HtmlPreview.js +0 -113
  94. package/dist/explorer/preview/HtmlPreview.js.map +0 -1
  95. package/dist/explorer/preview/OfficePreview.d.ts +0 -12
  96. package/dist/explorer/preview/OfficePreview.d.ts.map +0 -1
  97. package/dist/explorer/preview/OfficePreview.js +0 -63
  98. package/dist/explorer/preview/OfficePreview.js.map +0 -1
  99. package/dist/explorer/preview/TextPreview.d.ts +0 -18
  100. package/dist/explorer/preview/TextPreview.d.ts.map +0 -1
  101. package/dist/explorer/preview/TextPreview.js +0 -122
  102. package/dist/explorer/preview/TextPreview.js.map +0 -1
  103. package/dist/explorer/preview/index.d.ts +0 -24
  104. package/dist/explorer/preview/index.d.ts.map +0 -1
  105. package/dist/explorer/preview/index.js +0 -58
  106. package/dist/explorer/preview/index.js.map +0 -1
  107. package/dist/explorer/preview/md-labels.d.ts +0 -3
  108. package/dist/explorer/preview/md-labels.d.ts.map +0 -1
  109. package/dist/explorer/preview/md-labels.js +0 -12
  110. package/dist/explorer/preview/md-labels.js.map +0 -1
  111. package/dist/explorer/preview-title-bar.d.ts +0 -26
  112. package/dist/explorer/preview-title-bar.d.ts.map +0 -1
  113. package/dist/explorer/preview-title-bar.js +0 -48
  114. package/dist/explorer/preview-title-bar.js.map +0 -1
  115. package/dist/explorer/types.d.ts +0 -259
  116. package/dist/explorer/types.d.ts.map +0 -1
  117. package/dist/explorer/types.js +0 -379
  118. package/dist/explorer/types.js.map +0 -1
  119. package/dist/session/SessionViewModal.d.ts +0 -37
  120. package/dist/session/SessionViewModal.d.ts.map +0 -1
  121. package/dist/session/SessionViewModal.js +0 -1133
  122. package/dist/session/SessionViewModal.js.map +0 -1
  123. package/dist/session/changes.d.ts +0 -73
  124. package/dist/session/changes.d.ts.map +0 -1
  125. package/dist/session/changes.js +0 -134
  126. package/dist/session/changes.js.map +0 -1
  127. package/dist/session/faces.d.ts +0 -244
  128. package/dist/session/faces.d.ts.map +0 -1
  129. package/dist/session/faces.js +0 -17
  130. package/dist/session/faces.js.map +0 -1
  131. package/dist/session/index.d.ts +0 -7
  132. package/dist/session/index.d.ts.map +0 -1
  133. package/dist/session/index.js +0 -27
  134. package/dist/session/index.js.map +0 -1
  135. package/dist/session/mirror/AskCard.d.ts +0 -35
  136. package/dist/session/mirror/AskCard.d.ts.map +0 -1
  137. package/dist/session/mirror/AskCard.js +0 -131
  138. package/dist/session/mirror/AskCard.js.map +0 -1
  139. package/dist/session/mirror/BashRow.d.ts.map +0 -1
  140. package/dist/session/mirror/BashRow.js +0 -143
  141. package/dist/session/mirror/BashRow.js.map +0 -1
  142. package/dist/session/mirror/ChangedFileDiff.d.ts +0 -25
  143. package/dist/session/mirror/ChangedFileDiff.d.ts.map +0 -1
  144. package/dist/session/mirror/ChangedFileDiff.js +0 -178
  145. package/dist/session/mirror/ChangedFileDiff.js.map +0 -1
  146. package/dist/session/mirror/ChangedFilesCard.d.ts +0 -18
  147. package/dist/session/mirror/ChangedFilesCard.d.ts.map +0 -1
  148. package/dist/session/mirror/ChangedFilesCard.js +0 -165
  149. package/dist/session/mirror/ChangedFilesCard.js.map +0 -1
  150. package/dist/session/mirror/ChatGroupSeat.d.ts +0 -24
  151. package/dist/session/mirror/ChatGroupSeat.d.ts.map +0 -1
  152. package/dist/session/mirror/ChatGroupSeat.js +0 -135
  153. package/dist/session/mirror/ChatGroupSeat.js.map +0 -1
  154. package/dist/session/mirror/ChatNodeSeat.d.ts +0 -43
  155. package/dist/session/mirror/ChatNodeSeat.d.ts.map +0 -1
  156. package/dist/session/mirror/ChatNodeSeat.js +0 -133
  157. package/dist/session/mirror/ChatNodeSeat.js.map +0 -1
  158. package/dist/session/mirror/ChatView.d.ts +0 -47
  159. package/dist/session/mirror/ChatView.d.ts.map +0 -1
  160. package/dist/session/mirror/ChatView.js +0 -138
  161. package/dist/session/mirror/ChatView.js.map +0 -1
  162. package/dist/session/mirror/CommandCard.d.ts +0 -20
  163. package/dist/session/mirror/CommandCard.d.ts.map +0 -1
  164. package/dist/session/mirror/CommandCard.js +0 -69
  165. package/dist/session/mirror/CommandCard.js.map +0 -1
  166. package/dist/session/mirror/ContextInjectionRow.d.ts +0 -18
  167. package/dist/session/mirror/ContextInjectionRow.d.ts.map +0 -1
  168. package/dist/session/mirror/ContextInjectionRow.js +0 -50
  169. package/dist/session/mirror/ContextInjectionRow.js.map +0 -1
  170. package/dist/session/mirror/Deliverables.d.ts +0 -24
  171. package/dist/session/mirror/Deliverables.d.ts.map +0 -1
  172. package/dist/session/mirror/Deliverables.js +0 -175
  173. package/dist/session/mirror/Deliverables.js.map +0 -1
  174. package/dist/session/mirror/GenericCommandCard.d.ts +0 -136
  175. package/dist/session/mirror/GenericCommandCard.d.ts.map +0 -1
  176. package/dist/session/mirror/GenericCommandCard.js +0 -948
  177. package/dist/session/mirror/GenericCommandCard.js.map +0 -1
  178. package/dist/session/mirror/MessageIconActions.d.ts +0 -16
  179. package/dist/session/mirror/MessageIconActions.d.ts.map +0 -1
  180. package/dist/session/mirror/MessageIconActions.js +0 -69
  181. package/dist/session/mirror/MessageIconActions.js.map +0 -1
  182. package/dist/session/mirror/MessageItem.d.ts +0 -93
  183. package/dist/session/mirror/MessageItem.d.ts.map +0 -1
  184. package/dist/session/mirror/MessageItem.js +0 -194
  185. package/dist/session/mirror/MessageItem.js.map +0 -1
  186. package/dist/session/mirror/ReasoningRow.d.ts +0 -11
  187. package/dist/session/mirror/ReasoningRow.d.ts.map +0 -1
  188. package/dist/session/mirror/ReasoningRow.js +0 -111
  189. package/dist/session/mirror/ReasoningRow.js.map +0 -1
  190. package/dist/session/mirror/RunningStatus.d.ts +0 -12
  191. package/dist/session/mirror/RunningStatus.d.ts.map +0 -1
  192. package/dist/session/mirror/RunningStatus.js +0 -57
  193. package/dist/session/mirror/RunningStatus.js.map +0 -1
  194. package/dist/session/mirror/StatDialog.d.ts +0 -20
  195. package/dist/session/mirror/StatDialog.d.ts.map +0 -1
  196. package/dist/session/mirror/StatDialog.js +0 -49
  197. package/dist/session/mirror/StatDialog.js.map +0 -1
  198. package/dist/session/mirror/ToolDetails.d.ts +0 -65
  199. package/dist/session/mirror/ToolDetails.d.ts.map +0 -1
  200. package/dist/session/mirror/ToolDetails.js +0 -268
  201. package/dist/session/mirror/ToolDetails.js.map +0 -1
  202. package/dist/session/mirror/TurnProcessNodeView.d.ts +0 -10
  203. package/dist/session/mirror/TurnProcessNodeView.d.ts.map +0 -1
  204. package/dist/session/mirror/TurnProcessNodeView.js +0 -57
  205. package/dist/session/mirror/TurnProcessNodeView.js.map +0 -1
  206. package/dist/session/mirror/TurnTailNodeView.d.ts +0 -57
  207. package/dist/session/mirror/TurnTailNodeView.d.ts.map +0 -1
  208. package/dist/session/mirror/TurnTailNodeView.js +0 -106
  209. package/dist/session/mirror/TurnTailNodeView.js.map +0 -1
  210. package/dist/session/mirror/TurnTriggerNodeView.d.ts +0 -16
  211. package/dist/session/mirror/TurnTriggerNodeView.d.ts.map +0 -1
  212. package/dist/session/mirror/TurnTriggerNodeView.js +0 -103
  213. package/dist/session/mirror/TurnTriggerNodeView.js.map +0 -1
  214. package/dist/session/mirror/TurnUsagePanel.d.ts +0 -21
  215. package/dist/session/mirror/TurnUsagePanel.d.ts.map +0 -1
  216. package/dist/session/mirror/TurnUsagePanel.js +0 -41
  217. package/dist/session/mirror/TurnUsagePanel.js.map +0 -1
  218. package/dist/session/mirror/control-details.d.ts +0 -9
  219. package/dist/session/mirror/control-details.d.ts.map +0 -1
  220. package/dist/session/mirror/control-details.js +0 -549
  221. package/dist/session/mirror/control-details.js.map +0 -1
  222. package/dist/session/mirror/detail-i18n.d.ts +0 -4
  223. package/dist/session/mirror/detail-i18n.d.ts.map +0 -1
  224. package/dist/session/mirror/detail-i18n.js +0 -153
  225. package/dist/session/mirror/detail-i18n.js.map +0 -1
  226. package/dist/session/mirror/message-chrome.d.ts +0 -39
  227. package/dist/session/mirror/message-chrome.d.ts.map +0 -1
  228. package/dist/session/mirror/message-chrome.js +0 -153
  229. package/dist/session/mirror/message-chrome.js.map +0 -1
  230. package/dist/session/mirror/process-groups.d.ts +0 -56
  231. package/dist/session/mirror/process-groups.d.ts.map +0 -1
  232. package/dist/session/mirror/process-groups.js +0 -202
  233. package/dist/session/mirror/process-groups.js.map +0 -1
  234. package/dist/session/official-classes.d.ts +0 -28
  235. package/dist/session/official-classes.d.ts.map +0 -1
  236. package/dist/session/official-classes.js +0 -152
  237. package/dist/session/official-classes.js.map +0 -1
  238. package/dist/session/open-review.d.ts +0 -13
  239. package/dist/session/open-review.d.ts.map +0 -1
  240. package/dist/session/open-review.js +0 -32
  241. package/dist/session/open-review.js.map +0 -1
  242. package/dist/session/open-session-view.d.ts +0 -19
  243. package/dist/session/open-session-view.d.ts.map +0 -1
  244. package/dist/session/open-session-view.js +0 -147
  245. package/dist/session/open-session-view.js.map +0 -1
  246. package/dist/session/pending-inputs.d.ts +0 -33
  247. package/dist/session/pending-inputs.d.ts.map +0 -1
  248. package/dist/session/pending-inputs.js +0 -130
  249. package/dist/session/pending-inputs.js.map +0 -1
  250. package/dist/session/session-css.d.ts +0 -2
  251. package/dist/session/session-css.d.ts.map +0 -1
  252. package/dist/session/session-css.generated.d.ts +0 -2
  253. package/dist/session/session-css.generated.d.ts.map +0 -1
  254. package/dist/session/session-css.generated.js +0 -4
  255. package/dist/session/session-css.generated.js.map +0 -1
  256. package/dist/session/session-css.js +0 -3
  257. package/dist/session/session-css.js.map +0 -1
  258. package/dist/session/tail-follow.d.ts +0 -29
  259. package/dist/session/tail-follow.d.ts.map +0 -1
  260. package/dist/session/tail-follow.js +0 -106
  261. package/dist/session/tail-follow.js.map +0 -1
  262. package/dist/session/types.d.ts +0 -28
  263. package/dist/session/types.d.ts.map +0 -1
  264. package/dist/session/types.js +0 -12
  265. package/dist/session/types.js.map +0 -1
  266. package/dist/ui/AlertModal.d.ts +0 -41
  267. package/dist/ui/AlertModal.d.ts.map +0 -1
  268. package/dist/ui/AlertModal.js +0 -45
  269. package/dist/ui/AlertModal.js.map +0 -1
  270. package/dist/ui/Button.d.ts +0 -102
  271. package/dist/ui/Button.d.ts.map +0 -1
  272. package/dist/ui/Button.js +0 -233
  273. package/dist/ui/Button.js.map +0 -1
  274. package/dist/ui/Card.d.ts +0 -65
  275. package/dist/ui/Card.d.ts.map +0 -1
  276. package/dist/ui/Card.js +0 -109
  277. package/dist/ui/Card.js.map +0 -1
  278. package/dist/ui/Checkbox.d.ts +0 -24
  279. package/dist/ui/Checkbox.d.ts.map +0 -1
  280. package/dist/ui/Checkbox.js +0 -35
  281. package/dist/ui/Checkbox.js.map +0 -1
  282. package/dist/ui/Chip.d.ts +0 -28
  283. package/dist/ui/Chip.d.ts.map +0 -1
  284. package/dist/ui/Chip.js +0 -36
  285. package/dist/ui/Chip.js.map +0 -1
  286. package/dist/ui/CodeViewer.d.ts +0 -38
  287. package/dist/ui/CodeViewer.d.ts.map +0 -1
  288. package/dist/ui/CodeViewer.js +0 -107
  289. package/dist/ui/CodeViewer.js.map +0 -1
  290. package/dist/ui/ConfirmModal.d.ts +0 -50
  291. package/dist/ui/ConfirmModal.d.ts.map +0 -1
  292. package/dist/ui/ConfirmModal.js +0 -47
  293. package/dist/ui/ConfirmModal.js.map +0 -1
  294. package/dist/ui/DateTimePicker.d.ts +0 -45
  295. package/dist/ui/DateTimePicker.d.ts.map +0 -1
  296. package/dist/ui/DateTimePicker.js +0 -462
  297. package/dist/ui/DateTimePicker.js.map +0 -1
  298. package/dist/ui/EmptyState.d.ts +0 -12
  299. package/dist/ui/EmptyState.d.ts.map +0 -1
  300. package/dist/ui/EmptyState.js +0 -10
  301. package/dist/ui/EmptyState.js.map +0 -1
  302. package/dist/ui/Field.d.ts +0 -125
  303. package/dist/ui/Field.d.ts.map +0 -1
  304. package/dist/ui/Field.js +0 -175
  305. package/dist/ui/Field.js.map +0 -1
  306. package/dist/ui/FieldHint.d.ts +0 -18
  307. package/dist/ui/FieldHint.d.ts.map +0 -1
  308. package/dist/ui/FieldHint.js +0 -40
  309. package/dist/ui/FieldHint.js.map +0 -1
  310. package/dist/ui/FlipText.d.ts +0 -43
  311. package/dist/ui/FlipText.d.ts.map +0 -1
  312. package/dist/ui/FlipText.js +0 -59
  313. package/dist/ui/FlipText.js.map +0 -1
  314. package/dist/ui/InputGroup.d.ts +0 -91
  315. package/dist/ui/InputGroup.d.ts.map +0 -1
  316. package/dist/ui/InputGroup.js +0 -125
  317. package/dist/ui/InputGroup.js.map +0 -1
  318. package/dist/ui/LiveText.d.ts +0 -13
  319. package/dist/ui/LiveText.d.ts.map +0 -1
  320. package/dist/ui/LiveText.js +0 -19
  321. package/dist/ui/LiveText.js.map +0 -1
  322. package/dist/ui/Loader.d.ts +0 -49
  323. package/dist/ui/Loader.d.ts.map +0 -1
  324. package/dist/ui/Loader.js +0 -79
  325. package/dist/ui/Loader.js.map +0 -1
  326. package/dist/ui/LoaderBar.d.ts +0 -38
  327. package/dist/ui/LoaderBar.d.ts.map +0 -1
  328. package/dist/ui/LoaderBar.js +0 -79
  329. package/dist/ui/LoaderBar.js.map +0 -1
  330. package/dist/ui/Loading.d.ts +0 -69
  331. package/dist/ui/Loading.d.ts.map +0 -1
  332. package/dist/ui/Loading.js +0 -164
  333. package/dist/ui/Loading.js.map +0 -1
  334. package/dist/ui/MarqueeText.d.ts +0 -22
  335. package/dist/ui/MarqueeText.d.ts.map +0 -1
  336. package/dist/ui/MarqueeText.js +0 -52
  337. package/dist/ui/MarqueeText.js.map +0 -1
  338. package/dist/ui/Modal.d.ts +0 -73
  339. package/dist/ui/Modal.d.ts.map +0 -1
  340. package/dist/ui/Modal.js +0 -83
  341. package/dist/ui/Modal.js.map +0 -1
  342. package/dist/ui/ModelPicker.d.ts +0 -48
  343. package/dist/ui/ModelPicker.d.ts.map +0 -1
  344. package/dist/ui/ModelPicker.js +0 -101
  345. package/dist/ui/ModelPicker.js.map +0 -1
  346. package/dist/ui/Pagination.d.ts +0 -59
  347. package/dist/ui/Pagination.d.ts.map +0 -1
  348. package/dist/ui/Pagination.js +0 -112
  349. package/dist/ui/Pagination.js.map +0 -1
  350. package/dist/ui/PanelDock.d.ts +0 -132
  351. package/dist/ui/PanelDock.d.ts.map +0 -1
  352. package/dist/ui/PanelDock.js +0 -390
  353. package/dist/ui/PanelDock.js.map +0 -1
  354. package/dist/ui/Picker.d.ts +0 -56
  355. package/dist/ui/Picker.d.ts.map +0 -1
  356. package/dist/ui/Picker.js +0 -244
  357. package/dist/ui/Picker.js.map +0 -1
  358. package/dist/ui/QuickToolbar.d.ts +0 -54
  359. package/dist/ui/QuickToolbar.d.ts.map +0 -1
  360. package/dist/ui/QuickToolbar.js +0 -254
  361. package/dist/ui/QuickToolbar.js.map +0 -1
  362. package/dist/ui/SectionHead.d.ts +0 -35
  363. package/dist/ui/SectionHead.d.ts.map +0 -1
  364. package/dist/ui/SectionHead.js +0 -45
  365. package/dist/ui/SectionHead.js.map +0 -1
  366. package/dist/ui/Segmented.d.ts +0 -99
  367. package/dist/ui/Segmented.d.ts.map +0 -1
  368. package/dist/ui/Segmented.js +0 -135
  369. package/dist/ui/Segmented.js.map +0 -1
  370. package/dist/ui/SideSheet.d.ts +0 -70
  371. package/dist/ui/SideSheet.d.ts.map +0 -1
  372. package/dist/ui/SideSheet.js +0 -130
  373. package/dist/ui/SideSheet.js.map +0 -1
  374. package/dist/ui/SplitGroup.d.ts +0 -37
  375. package/dist/ui/SplitGroup.d.ts.map +0 -1
  376. package/dist/ui/SplitGroup.js +0 -36
  377. package/dist/ui/SplitGroup.js.map +0 -1
  378. package/dist/ui/Surface.d.ts +0 -43
  379. package/dist/ui/Surface.d.ts.map +0 -1
  380. package/dist/ui/Surface.js +0 -39
  381. package/dist/ui/Surface.js.map +0 -1
  382. package/dist/ui/Table.d.ts +0 -30
  383. package/dist/ui/Table.d.ts.map +0 -1
  384. package/dist/ui/Table.js +0 -96
  385. package/dist/ui/Table.js.map +0 -1
  386. package/dist/ui/Textarea.d.ts +0 -36
  387. package/dist/ui/Textarea.d.ts.map +0 -1
  388. package/dist/ui/Textarea.js +0 -35
  389. package/dist/ui/Textarea.js.map +0 -1
  390. package/dist/ui/Toast.d.ts +0 -45
  391. package/dist/ui/Toast.d.ts.map +0 -1
  392. package/dist/ui/Toast.js +0 -225
  393. package/dist/ui/Toast.js.map +0 -1
  394. package/dist/ui/WorkspacePicker.d.ts +0 -35
  395. package/dist/ui/WorkspacePicker.d.ts.map +0 -1
  396. package/dist/ui/WorkspacePicker.js +0 -39
  397. package/dist/ui/WorkspacePicker.js.map +0 -1
  398. package/dist/ui/card-css.d.ts +0 -2
  399. package/dist/ui/card-css.d.ts.map +0 -1
  400. package/dist/ui/card-css.generated.d.ts +0 -2
  401. package/dist/ui/card-css.generated.d.ts.map +0 -1
  402. package/dist/ui/card-css.generated.js +0 -4
  403. package/dist/ui/card-css.generated.js.map +0 -1
  404. package/dist/ui/card-css.js +0 -5
  405. package/dist/ui/card-css.js.map +0 -1
  406. package/dist/ui/chevron.d.ts +0 -22
  407. package/dist/ui/chevron.d.ts.map +0 -1
  408. package/dist/ui/chevron.js +0 -33
  409. package/dist/ui/chevron.js.map +0 -1
  410. package/dist/ui/chip-css.d.ts +0 -2
  411. package/dist/ui/chip-css.d.ts.map +0 -1
  412. package/dist/ui/chip-css.generated.d.ts +0 -2
  413. package/dist/ui/chip-css.generated.d.ts.map +0 -1
  414. package/dist/ui/chip-css.generated.js +0 -4
  415. package/dist/ui/chip-css.generated.js.map +0 -1
  416. package/dist/ui/chip-css.js +0 -12
  417. package/dist/ui/chip-css.js.map +0 -1
  418. package/dist/ui/code-viewer-css.d.ts +0 -2
  419. package/dist/ui/code-viewer-css.d.ts.map +0 -1
  420. package/dist/ui/code-viewer-css.generated.d.ts +0 -2
  421. package/dist/ui/code-viewer-css.generated.d.ts.map +0 -1
  422. package/dist/ui/code-viewer-css.generated.js +0 -4
  423. package/dist/ui/code-viewer-css.generated.js.map +0 -1
  424. package/dist/ui/code-viewer-css.js +0 -3
  425. package/dist/ui/code-viewer-css.js.map +0 -1
  426. package/dist/ui/code-viewer-lang.d.ts +0 -15
  427. package/dist/ui/code-viewer-lang.d.ts.map +0 -1
  428. package/dist/ui/code-viewer-lang.js +0 -190
  429. package/dist/ui/code-viewer-lang.js.map +0 -1
  430. package/dist/ui/code-viewer-theme.d.ts +0 -5
  431. package/dist/ui/code-viewer-theme.d.ts.map +0 -1
  432. package/dist/ui/code-viewer-theme.js +0 -138
  433. package/dist/ui/code-viewer-theme.js.map +0 -1
  434. package/dist/ui/controls/button-css.generated.d.ts +0 -2
  435. package/dist/ui/controls/button-css.generated.d.ts.map +0 -1
  436. package/dist/ui/controls/button-css.generated.js +0 -4
  437. package/dist/ui/controls/button-css.generated.js.map +0 -1
  438. package/dist/ui/controls/datetime-css.generated.d.ts +0 -2
  439. package/dist/ui/controls/datetime-css.generated.d.ts.map +0 -1
  440. package/dist/ui/controls/datetime-css.generated.js +0 -4
  441. package/dist/ui/controls/datetime-css.generated.js.map +0 -1
  442. package/dist/ui/controls/field-css.generated.d.ts +0 -2
  443. package/dist/ui/controls/field-css.generated.d.ts.map +0 -1
  444. package/dist/ui/controls/field-css.generated.js +0 -4
  445. package/dist/ui/controls/field-css.generated.js.map +0 -1
  446. package/dist/ui/controls/hint-css.generated.d.ts +0 -2
  447. package/dist/ui/controls/hint-css.generated.d.ts.map +0 -1
  448. package/dist/ui/controls/hint-css.generated.js +0 -4
  449. package/dist/ui/controls/hint-css.generated.js.map +0 -1
  450. package/dist/ui/controls/input-group-css.generated.d.ts +0 -2
  451. package/dist/ui/controls/input-group-css.generated.d.ts.map +0 -1
  452. package/dist/ui/controls/input-group-css.generated.js +0 -4
  453. package/dist/ui/controls/input-group-css.generated.js.map +0 -1
  454. package/dist/ui/controls/loader-bar-css.generated.d.ts +0 -2
  455. package/dist/ui/controls/loader-bar-css.generated.d.ts.map +0 -1
  456. package/dist/ui/controls/loader-bar-css.generated.js +0 -4
  457. package/dist/ui/controls/loader-bar-css.generated.js.map +0 -1
  458. package/dist/ui/controls/loader-css.generated.d.ts +0 -2
  459. package/dist/ui/controls/loader-css.generated.d.ts.map +0 -1
  460. package/dist/ui/controls/loader-css.generated.js +0 -4
  461. package/dist/ui/controls/loader-css.generated.js.map +0 -1
  462. package/dist/ui/controls/loading-css.generated.d.ts +0 -2
  463. package/dist/ui/controls/loading-css.generated.d.ts.map +0 -1
  464. package/dist/ui/controls/loading-css.generated.js +0 -4
  465. package/dist/ui/controls/loading-css.generated.js.map +0 -1
  466. package/dist/ui/controls/pagination-css.generated.d.ts +0 -2
  467. package/dist/ui/controls/pagination-css.generated.d.ts.map +0 -1
  468. package/dist/ui/controls/pagination-css.generated.js +0 -4
  469. package/dist/ui/controls/pagination-css.generated.js.map +0 -1
  470. package/dist/ui/controls/quick-toolbar-css.generated.d.ts +0 -2
  471. package/dist/ui/controls/quick-toolbar-css.generated.d.ts.map +0 -1
  472. package/dist/ui/controls/quick-toolbar-css.generated.js +0 -4
  473. package/dist/ui/controls/quick-toolbar-css.generated.js.map +0 -1
  474. package/dist/ui/controls/section-head-css.generated.d.ts +0 -2
  475. package/dist/ui/controls/section-head-css.generated.d.ts.map +0 -1
  476. package/dist/ui/controls/section-head-css.generated.js +0 -4
  477. package/dist/ui/controls/section-head-css.generated.js.map +0 -1
  478. package/dist/ui/controls/segmented-css.generated.d.ts +0 -2
  479. package/dist/ui/controls/segmented-css.generated.d.ts.map +0 -1
  480. package/dist/ui/controls/segmented-css.generated.js +0 -4
  481. package/dist/ui/controls/segmented-css.generated.js.map +0 -1
  482. package/dist/ui/controls/split-group-css.generated.d.ts +0 -2
  483. package/dist/ui/controls/split-group-css.generated.d.ts.map +0 -1
  484. package/dist/ui/controls/split-group-css.generated.js +0 -4
  485. package/dist/ui/controls/split-group-css.generated.js.map +0 -1
  486. package/dist/ui/controls/table-css.generated.d.ts +0 -2
  487. package/dist/ui/controls/table-css.generated.d.ts.map +0 -1
  488. package/dist/ui/controls/table-css.generated.js +0 -4
  489. package/dist/ui/controls/table-css.generated.js.map +0 -1
  490. package/dist/ui/controls/table-plain-css.generated.d.ts +0 -2
  491. package/dist/ui/controls/table-plain-css.generated.d.ts.map +0 -1
  492. package/dist/ui/controls/table-plain-css.generated.js +0 -4
  493. package/dist/ui/controls/table-plain-css.generated.js.map +0 -1
  494. package/dist/ui/controls-css.d.ts +0 -16
  495. package/dist/ui/controls-css.d.ts.map +0 -1
  496. package/dist/ui/controls-css.js +0 -26
  497. package/dist/ui/controls-css.js.map +0 -1
  498. package/dist/ui/css.d.ts +0 -35
  499. package/dist/ui/css.d.ts.map +0 -1
  500. package/dist/ui/css.js +0 -52
  501. package/dist/ui/css.js.map +0 -1
  502. package/dist/ui/datetime-logic.d.ts +0 -102
  503. package/dist/ui/datetime-logic.d.ts.map +0 -1
  504. package/dist/ui/datetime-logic.js +0 -200
  505. package/dist/ui/datetime-logic.js.map +0 -1
  506. package/dist/ui/feedback-css.d.ts +0 -2
  507. package/dist/ui/feedback-css.d.ts.map +0 -1
  508. package/dist/ui/feedback-css.generated.d.ts +0 -2
  509. package/dist/ui/feedback-css.generated.d.ts.map +0 -1
  510. package/dist/ui/feedback-css.generated.js +0 -4
  511. package/dist/ui/feedback-css.generated.js.map +0 -1
  512. package/dist/ui/feedback-css.js +0 -4
  513. package/dist/ui/feedback-css.js.map +0 -1
  514. package/dist/ui/flip-css.d.ts +0 -2
  515. package/dist/ui/flip-css.d.ts.map +0 -1
  516. package/dist/ui/flip-css.generated.d.ts +0 -2
  517. package/dist/ui/flip-css.generated.d.ts.map +0 -1
  518. package/dist/ui/flip-css.generated.js +0 -4
  519. package/dist/ui/flip-css.generated.js.map +0 -1
  520. package/dist/ui/flip-css.js +0 -4
  521. package/dist/ui/flip-css.js.map +0 -1
  522. package/dist/ui/host-data.d.ts +0 -119
  523. package/dist/ui/host-data.d.ts.map +0 -1
  524. package/dist/ui/host-data.js +0 -122
  525. package/dist/ui/host-data.js.map +0 -1
  526. package/dist/ui/host-toast.d.ts +0 -23
  527. package/dist/ui/host-toast.d.ts.map +0 -1
  528. package/dist/ui/host-toast.js +0 -34
  529. package/dist/ui/host-toast.js.map +0 -1
  530. package/dist/ui/loader-bar-art.d.ts +0 -6
  531. package/dist/ui/loader-bar-art.d.ts.map +0 -1
  532. package/dist/ui/loader-bar-art.js +0 -6
  533. package/dist/ui/loader-bar-art.js.map +0 -1
  534. package/dist/ui/loading-host.d.ts +0 -49
  535. package/dist/ui/loading-host.d.ts.map +0 -1
  536. package/dist/ui/loading-host.js +0 -57
  537. package/dist/ui/loading-host.js.map +0 -1
  538. package/dist/ui/locale.d.ts +0 -4
  539. package/dist/ui/locale.d.ts.map +0 -1
  540. package/dist/ui/locale.js +0 -17
  541. package/dist/ui/locale.js.map +0 -1
  542. package/dist/ui/marquee-css.d.ts +0 -2
  543. package/dist/ui/marquee-css.d.ts.map +0 -1
  544. package/dist/ui/marquee-css.generated.d.ts +0 -2
  545. package/dist/ui/marquee-css.generated.d.ts.map +0 -1
  546. package/dist/ui/marquee-css.generated.js +0 -4
  547. package/dist/ui/marquee-css.generated.js.map +0 -1
  548. package/dist/ui/marquee-css.js +0 -4
  549. package/dist/ui/marquee-css.js.map +0 -1
  550. package/dist/ui/modal-host.d.ts +0 -51
  551. package/dist/ui/modal-host.d.ts.map +0 -1
  552. package/dist/ui/modal-host.js +0 -170
  553. package/dist/ui/modal-host.js.map +0 -1
  554. package/dist/ui/overlay-css.d.ts +0 -2
  555. package/dist/ui/overlay-css.d.ts.map +0 -1
  556. package/dist/ui/overlay-css.generated.d.ts +0 -2
  557. package/dist/ui/overlay-css.generated.d.ts.map +0 -1
  558. package/dist/ui/overlay-css.generated.js +0 -4
  559. package/dist/ui/overlay-css.generated.js.map +0 -1
  560. package/dist/ui/overlay-css.js +0 -2
  561. package/dist/ui/overlay-css.js.map +0 -1
  562. package/dist/ui/overlay.d.ts +0 -62
  563. package/dist/ui/overlay.d.ts.map +0 -1
  564. package/dist/ui/overlay.js +0 -94
  565. package/dist/ui/overlay.js.map +0 -1
  566. package/dist/ui/pagination-logic.d.ts +0 -36
  567. package/dist/ui/pagination-logic.d.ts.map +0 -1
  568. package/dist/ui/pagination-logic.js +0 -73
  569. package/dist/ui/pagination-logic.js.map +0 -1
  570. package/dist/ui/panel-css.d.ts +0 -2
  571. package/dist/ui/panel-css.d.ts.map +0 -1
  572. package/dist/ui/panel-css.generated.d.ts +0 -2
  573. package/dist/ui/panel-css.generated.d.ts.map +0 -1
  574. package/dist/ui/panel-css.generated.js +0 -4
  575. package/dist/ui/panel-css.generated.js.map +0 -1
  576. package/dist/ui/panel-css.js +0 -2
  577. package/dist/ui/panel-css.js.map +0 -1
  578. package/dist/ui/panel-dock-css.d.ts +0 -2
  579. package/dist/ui/panel-dock-css.d.ts.map +0 -1
  580. package/dist/ui/panel-dock-css.generated.d.ts +0 -2
  581. package/dist/ui/panel-dock-css.generated.d.ts.map +0 -1
  582. package/dist/ui/panel-dock-css.generated.js +0 -4
  583. package/dist/ui/panel-dock-css.generated.js.map +0 -1
  584. package/dist/ui/panel-dock-css.js +0 -4
  585. package/dist/ui/panel-dock-css.js.map +0 -1
  586. package/dist/ui/panel-dock-logic.d.ts +0 -67
  587. package/dist/ui/panel-dock-logic.d.ts.map +0 -1
  588. package/dist/ui/panel-dock-logic.js +0 -110
  589. package/dist/ui/panel-dock-logic.js.map +0 -1
  590. package/dist/ui/panel.d.ts +0 -41
  591. package/dist/ui/panel.d.ts.map +0 -1
  592. package/dist/ui/panel.js +0 -37
  593. package/dist/ui/panel.js.map +0 -1
  594. package/dist/ui/picker-css.d.ts +0 -2
  595. package/dist/ui/picker-css.d.ts.map +0 -1
  596. package/dist/ui/picker-css.generated.d.ts +0 -2
  597. package/dist/ui/picker-css.generated.d.ts.map +0 -1
  598. package/dist/ui/picker-css.generated.js +0 -4
  599. package/dist/ui/picker-css.generated.js.map +0 -1
  600. package/dist/ui/picker-css.js +0 -4
  601. package/dist/ui/picker-css.js.map +0 -1
  602. package/dist/ui/picker-icons.d.ts +0 -12
  603. package/dist/ui/picker-icons.d.ts.map +0 -1
  604. package/dist/ui/picker-icons.js +0 -29
  605. package/dist/ui/picker-icons.js.map +0 -1
  606. package/dist/ui/picker-logic.d.ts +0 -33
  607. package/dist/ui/picker-logic.d.ts.map +0 -1
  608. package/dist/ui/picker-logic.js +0 -68
  609. package/dist/ui/picker-logic.js.map +0 -1
  610. package/dist/ui/quick-toolbar-logic.d.ts +0 -76
  611. package/dist/ui/quick-toolbar-logic.d.ts.map +0 -1
  612. package/dist/ui/quick-toolbar-logic.js +0 -40
  613. package/dist/ui/quick-toolbar-logic.js.map +0 -1
  614. package/dist/ui/resizer.d.ts +0 -29
  615. package/dist/ui/resizer.d.ts.map +0 -1
  616. package/dist/ui/resizer.js +0 -42
  617. package/dist/ui/resizer.js.map +0 -1
  618. package/dist/ui/side-panel-css.d.ts +0 -2
  619. package/dist/ui/side-panel-css.d.ts.map +0 -1
  620. package/dist/ui/side-panel-css.generated.d.ts +0 -2
  621. package/dist/ui/side-panel-css.generated.d.ts.map +0 -1
  622. package/dist/ui/side-panel-css.generated.js +0 -4
  623. package/dist/ui/side-panel-css.generated.js.map +0 -1
  624. package/dist/ui/side-panel-css.js +0 -2
  625. package/dist/ui/side-panel-css.js.map +0 -1
  626. package/dist/ui/side-sheet-css.d.ts +0 -2
  627. package/dist/ui/side-sheet-css.d.ts.map +0 -1
  628. package/dist/ui/side-sheet-css.generated.d.ts +0 -2
  629. package/dist/ui/side-sheet-css.generated.d.ts.map +0 -1
  630. package/dist/ui/side-sheet-css.generated.js +0 -4
  631. package/dist/ui/side-sheet-css.generated.js.map +0 -1
  632. package/dist/ui/side-sheet-css.js +0 -2
  633. package/dist/ui/side-sheet-css.js.map +0 -1
  634. package/dist/ui/surface-css.d.ts +0 -2
  635. package/dist/ui/surface-css.d.ts.map +0 -1
  636. package/dist/ui/surface-css.generated.d.ts +0 -2
  637. package/dist/ui/surface-css.generated.d.ts.map +0 -1
  638. package/dist/ui/surface-css.generated.js +0 -4
  639. package/dist/ui/surface-css.generated.js.map +0 -1
  640. package/dist/ui/surface-css.js +0 -7
  641. package/dist/ui/surface-css.js.map +0 -1
  642. package/dist/ui/table-logic.d.ts +0 -110
  643. package/dist/ui/table-logic.d.ts.map +0 -1
  644. package/dist/ui/table-logic.js +0 -81
  645. package/dist/ui/table-logic.js.map +0 -1
  646. package/dist/ui/table-shared.d.ts +0 -101
  647. package/dist/ui/table-shared.d.ts.map +0 -1
  648. package/dist/ui/table-shared.js +0 -229
  649. package/dist/ui/table-shared.js.map +0 -1
  650. package/dist/ui/thenable.d.ts +0 -9
  651. package/dist/ui/thenable.d.ts.map +0 -1
  652. package/dist/ui/thenable.js +0 -15
  653. package/dist/ui/thenable.js.map +0 -1
  654. package/dist/ui/ticker.d.ts +0 -8
  655. package/dist/ui/ticker.d.ts.map +0 -1
  656. package/dist/ui/ticker.js +0 -49
  657. package/dist/ui/ticker.js.map +0 -1
  658. package/dist/ui/toast-host.d.ts +0 -24
  659. package/dist/ui/toast-host.d.ts.map +0 -1
  660. package/dist/ui/toast-host.js +0 -20
  661. package/dist/ui/toast-host.js.map +0 -1
  662. package/dist/ui/tooltip.d.ts +0 -29
  663. package/dist/ui/tooltip.d.ts.map +0 -1
  664. package/dist/ui/tooltip.js +0 -10
  665. package/dist/ui/tooltip.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../src/session/mirror/ChatView.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAI1E;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAgBnF;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAClD,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IAChE,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,YAAY,CAAA;IACxB,CAAC,EAAE,SAAS,CAAA;CACb,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA8ErC;AAQD,iCAAiC;AACjC,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAEtE;AAED,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAInG;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAIhG"}
@@ -1,138 +0,0 @@
1
- // 官方对照:packages/client/ui-chat/src/client/chat/ChatView.tsx(0.1.7-rc.2 lib/client.js:5004-5260)
2
- // 骨架四层:frame(> TurnNavigator)> root[data-chat-following-tail] > scroll > column[data-chat-flow]
3
- // column 子项:hint(loading)/ openError / older(hasMore)/ 各 flowItem(ChatNodeList)
4
- // root 内另有 toBottomSlot(官方按「是否贴尾」显隐,弹窗恒贴尾 ⇒ 不渲染)。
5
- // ChatNodeList:entries → seat;官方 entries 优先取 grouped('chat'),取不到时 = order.map(key)。
6
- import { createElement as h } from 'react';
7
- import { officialClass } from '../official-classes.js';
8
- import { ChatGroupSeatMirror } from './ChatGroupSeat.js';
9
- import { ChatNodeSeatMirror } from './ChatNodeSeat.js';
10
- import { ensureComponentStyles } from '../../ui/css.js';
11
- import { SESSION_CSS } from '../session-css.js';
12
- /** 会话区骨架:frame > root > scroll > column(类名一律取官方 ChatView.module.css,取不到 = 空类)。
13
- *
14
- * `dshpc-sv-frame` / `dshpc-sv-scroll` = 本包**稳定钩子类**(不走 officialClass 发现,官方类命中时也照样挂):
15
- * 会话区**纵向间距的唯一真源**。官方 scroll 自带纵向 16px、官方 frame 的纵向值又不确定,
16
- * 归一方案(移植自兄弟项目 2026-10-03 定尺):**scroll 钩子把官方纵向 16px 归零,
17
- * frame 钩子独自定 17/17**,两条钩子都用双类名提高特异性压过官方 CSS module(0,2,0 > 0,1,0),
18
- * 不依赖注入顺序 ⇒ 命中 / 未命中两条路径纵向完全一致。
19
- */
20
- export function ChatViewFrame(props) {
21
- ensureComponentStyles('session', SESSION_CSS);
22
- return h('div', { className: `${officialClass('ChatView', 'frame') ?? ''} dshpc-sv-frame dshpc-sv-chat` },
23
- // 弹窗恒贴尾 ⇒ root 带 data-chat-following-tail(官方只在贴尾时写,作用 = overflow-anchor:none)。
24
- h('div', { className: officialClass('ChatView', 'root') ?? '', 'data-chat-following-tail': '' }, h('div', { className: `${officialClass('ChatView', 'scroll') ?? ''} dshpc-sv-scroll` }, h('div', { className: officialClass('ChatView', 'column') ?? '', 'data-chat-flow': '' }, props.children),
25
- // 官方 scroll 末尾的滚动占位(高度 0,只做锚点)。
26
- h('div', {
27
- className: officialClass('ChatView', 'turnSpacer') ?? '',
28
- 'data-chat-turn-spacer': true,
29
- 'aria-hidden': 'true',
30
- }))));
31
- }
32
- /** 官方 ChatNodeList:order → seat 列表(grouped 视图 = entries + groups 路径)。 */
33
- export function ChatNodeListMirror(props) {
34
- const { order, store, entries, groups, turns, openState, onSetOpen, foldCompleted, renderNode, t } = props;
35
- const rows = [];
36
- const read = store === undefined ? undefined : store.get;
37
- if (typeof read !== 'function' || store === undefined)
38
- return rows;
39
- const readSafe = (key) => {
40
- try {
41
- return read.call(store, key);
42
- }
43
- catch {
44
- return undefined;
45
- }
46
- };
47
- if (entries !== undefined && groups !== undefined) {
48
- // 官方 deferCollapse:**每一轮(turn)的最后那一个过程组**保持 flat
49
- // (不画「已完成分析…」头、组内条目直接铺开),该轮其余组照常收折。
50
- // 例:turn 1 切出 2 组 ⇒ 前 1 组收折、最后 1 组平铺;turn 3 切出 5 组 ⇒ 前 4 组收折、最后 1 组平铺。
51
- // ⚠️ turn = -1 的组(command 节点无 turn location,process-groups.ts:176 `turn ?? -1`)
52
- // **不开新轮**,并入它前面那一轮 —— 否则会被单独当成一轮、多平铺一处(真机 2026-10-23)。
53
- const flatKeys = new Set();
54
- {
55
- let bucket = [];
56
- let bucketTurn;
57
- const closeBucket = () => {
58
- const last = bucket[bucket.length - 1];
59
- if (last !== undefined)
60
- flatKeys.add(last);
61
- bucket = [];
62
- };
63
- for (const entry of entries) {
64
- if (entry.kind !== 'group')
65
- continue;
66
- const turn = groups.get(entry.key)?.data.turn ?? -1;
67
- if (turn >= 1) {
68
- if (bucketTurn !== undefined && turn !== bucketTurn)
69
- closeBucket();
70
- bucketTurn = turn;
71
- }
72
- bucket.push(entry.key);
73
- }
74
- closeBucket();
75
- }
76
- // 官方 ChatNodeList 的 entries 路径:group 条目 → ChatGroupSeat(二级收折)。
77
- for (const entry of entries) {
78
- if (entry.kind === 'group') {
79
- const group = groups.get(entry.key);
80
- if (group === undefined)
81
- continue;
82
- const latest = flatKeys.has(group.key);
83
- rows.push(h(ChatGroupSeatMirror, {
84
- key: entry.key,
85
- group,
86
- grouped: turnStatus(turns, group.data.turn) !== 'open' && !latest,
87
- store,
88
- openState,
89
- onSetOpen,
90
- foldCompleted,
91
- renderNode,
92
- t,
93
- }));
94
- }
95
- else {
96
- const node = readSafe(entry.key);
97
- if (node === undefined)
98
- continue;
99
- rows.push(h(ChatNodeSeatMirror, {
100
- key: JSON.stringify([entry.key, entry.groupPart ?? null]),
101
- node,
102
- groupPart: entry.groupPart,
103
- store,
104
- openState,
105
- onSetOpen,
106
- foldCompleted,
107
- renderNode,
108
- }));
109
- }
110
- }
111
- return rows;
112
- }
113
- for (const key of order) {
114
- const node = readSafe(key);
115
- if (node === undefined)
116
- continue;
117
- rows.push(h(ChatNodeSeatMirror, { key, node, store, openState, onSetOpen, foldCompleted, renderNode }));
118
- }
119
- return rows;
120
- }
121
- /** turn 状态(官方 turns.get(turn)?.status)。 */
122
- function turnStatus(turns, turn) {
123
- const row = turns?.get(turn) ?? turns?.get(String(turn));
124
- return row?.status;
125
- }
126
- /** 加载 / 空态提示行(13px tertiary)。 */
127
- export function ChatHint(props) {
128
- return h('div', { className: officialClass('ChatView', 'hint') ?? '' }, props.text);
129
- }
130
- /** 「加载更早记录」按钮(官方 older:按钮 4px 12px / 12px 字号 / radius-sm / 底色 interactive-bg-hover-solid)。 */
131
- export function ChatOlderButton(props) {
132
- return h('div', { className: officialClass('ChatView', 'older') ?? '' }, h('button', { type: 'button', onClick: props.onClick }, props.label));
133
- }
134
- /** 「到底部」悬浮钮(官方 toBottom:34×34 圆形悬浮,仅在有更多历史时显示)。 */
135
- export function ChatToBottom(props) {
136
- return h('div', { className: officialClass('ChatView', 'toBottomSlot') ?? '' }, h('button', { type: 'button', className: officialClass('ChatView', 'toBottom') ?? '', onClick: props.onClick, 'aria-label': props.label }, '↓'));
137
- }
138
- //# sourceMappingURL=ChatView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatView.js","sourceRoot":"","sources":["../../../src/session/mirror/ChatView.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,gGAAgG;AAChG,kFAAkF;AAClF,kDAAkD;AAClD,oFAAoF;AACpF,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAA+B;IAC3D,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7C,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,+BAA+B,EAAE;IACvG,+EAA+E;IAC/E,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,0BAA0B,EAAE,EAAE,EAAE,EAC7F,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,EACpF,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;IACxG,gCAAgC;IAChC,CAAC,CAAC,KAAK,EAAE;QACP,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE;QACxD,uBAAuB,EAAE,IAAI;QAC7B,aAAa,EAAE,MAAM;KACtB,CAAC,CACH,CACF,CACF,CAAA;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,kBAAkB,CAAC,KAalC;IACC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,KAAK,CAAA;IAC1G,MAAM,IAAI,GAAuC,EAAE,CAAA;IACnD,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,KAAoC,CAAC,GAAG,CAAA;IACxF,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAClE,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAwC,EAAE;QACrE,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAClD,iDAAiD;QACjD,oCAAoC;QACpC,uEAAuE;QACvE,gFAAgF;QAChF,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;QAClC,CAAC;YACC,IAAI,MAAM,GAAa,EAAE,CAAA;YACzB,IAAI,UAA8B,CAAA;YAClC,MAAM,WAAW,GAAG,GAAS,EAAE;gBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBACtC,IAAI,IAAI,KAAK,SAAS;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC1C,MAAM,GAAG,EAAE,CAAA;YACb,CAAC,CAAA;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,SAAQ;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;gBACnD,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;oBACd,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU;wBAAE,WAAW,EAAE,CAAA;oBAClE,UAAU,GAAG,IAAI,CAAA;gBACnB,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;YACD,WAAW,EAAE,CAAA;QACf,CAAC;QACD,+DAA+D;QAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACnC,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAQ;gBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE;oBAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,KAAK;oBACL,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM;oBACjE,KAAK;oBACL,SAAS;oBACT,SAAS;oBACT,aAAa;oBACb,UAAU;oBACV,CAAC;iBACF,CAAC,CAAC,CAAA;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChC,IAAI,IAAI,KAAK,SAAS;oBAAE,SAAQ;gBAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE;oBAC9B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;oBACzD,IAAI;oBACJ,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,KAAK;oBACL,SAAS;oBACT,SAAS;oBACT,aAAa;oBACb,UAAU;iBACX,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,IAAI,KAAK,SAAS;YAAE,SAAQ;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IACzG,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,2CAA2C;AAC3C,SAAS,UAAU,CAAC,KAA4B,EAAE,IAAY;IAC5D,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,OAAO,GAAG,EAAE,MAAM,CAAA;AACpB,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,QAAQ,CAAC,KAAuB;IAC9C,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;AACrF,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,eAAe,CAAC,KAA6C;IAC3E,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EACrE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CACrE,CAAA;AACH,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,KAA6C;IACxE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAC5E,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAChJ,CAAA;AACH,CAAC"}
@@ -1,20 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import type { Translate } from '../../utils/i18n.js';
3
- /** 官方 CommandNode(conversation-nodes/command.ts / records.d.ts):斜杠命令生命周期节点。 */
4
- export interface CommandNodeFace {
5
- readonly name?: string | null;
6
- readonly args?: string | null;
7
- readonly outcome?: {
8
- readonly kind?: string;
9
- readonly text?: string;
10
- } | null;
11
- }
12
- /** 命令卡(官方 GenericCommandCard 镜像):裸命令名 + 落定摘要 + 多行输出可展开。 */
13
- export declare function CommandCard(props: {
14
- /** 官方 CommandNode(name/args/outcome)。 */
15
- node: CommandNodeFace;
16
- t: Translate;
17
- /** 未决态运行文案;缺省用 t('commandRunning')(官方 command.running)。 */
18
- runningSummary?: string;
19
- }): ReactNode;
20
- //# sourceMappingURL=CommandCard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandCard.d.ts","sourceRoot":"","sources":["../../../src/session/mirror/CommandCard.ts"],"names":[],"mappings":"AAUA,OAAO,EAAuD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC7E;AAaD,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,yCAAyC;IACzC,IAAI,EAAE,eAAe,CAAA;IACrB,CAAC,EAAE,SAAS,CAAA;IACZ,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,SAAS,CAkDZ"}
@@ -1,69 +0,0 @@
1
- // 官方 GenericCommandCard(ui-chat/src/client/chat/GenericCommandCard.tsx @ master,原样复刻)镜像:
2
- // · 行标题 = 裸命令名 node.name,缺席兜底 t('commandTitle')(官方 command.title = 指令 / Command)。
3
- // · 摘要 = outcome 落定 text:未决(outcome===null) = t('commandRunning')(执行中…);
4
- // 已决无 text 按 kind 取 t('commandFailed')(指令失败)/ t('commandDone')(已完成)。**不用 args**。
5
- // · state = running(未决) / error(outcome.kind==='error') / ok;running/error 各挂一个 visually-hidden 读屏状态词。
6
- // · 展开体仅当 outcome.text 含换行(多行)才可展开;展开体 = 原文 pre-wrap。
7
- // · 分隔符 = 2×2 小圆点;错误态 summary/body 用 error 色。
8
- // 样式一律取宿主注入的官方 GenericCommandCard.module.css 类(officialClass),**不写自绘兜底**:
9
- // 本包只跑在 DSH 宿主上、官方样式必在场;官方大版本更新我们跟着更,兜底既防不住「官方加东西」也无意义
10
- // (用户 2026-10-23 定)。取不到官方类时退化为空类(裸结构、不白屏);读屏 visually-hidden 复用 ToolRow 同名工具类。
11
- import { Fragment, createElement as h, useCallback, useState } from 'react';
12
- import { DisclosureRow, IconApiOutlineRegular, TextShimmer } from '../../ui/official.js';
13
- import { officialClass } from '../official-classes.js';
14
- /** 官方 GenericCommandCard 模块类(宿主必注入;缺席 = 空串,裸结构不白屏,不写自绘兜底)。 */
15
- const gcc = (semantic) => officialClass('GenericCommandCard', semantic) ?? '';
16
- /** 官方 stateOf:未决 = running;outcome.kind==='error' = error;否则 ok。 */
17
- function stateOf(outcome) {
18
- if (outcome === null || outcome === undefined)
19
- return 'running';
20
- return outcome.kind === 'error' ? 'error' : 'ok';
21
- }
22
- /** 命令卡(官方 GenericCommandCard 镜像):裸命令名 + 落定摘要 + 多行输出可展开。 */
23
- export function CommandCard(props) {
24
- const { node, t, runningSummary } = props;
25
- const [expanded, setExpanded] = useState(false);
26
- const outcome = node.outcome ?? null;
27
- const text = outcome?.text;
28
- const summary = outcome === null
29
- ? runningSummary ?? t('commandRunning')
30
- : text ?? (outcome.kind === 'error' ? t('commandFailed') : t('commandDone'));
31
- const title = node.name ?? t('commandTitle');
32
- const state = stateOf(outcome);
33
- const running = state === 'running';
34
- // 官方:仅多行 text 才给展开体(单行摘要已够,不出 chevron)。
35
- const body = text !== undefined && text.includes('\n') ? text : null;
36
- const open = expanded && body !== null;
37
- const toggle = useCallback(() => { setExpanded((value) => !value); }, []);
38
- // 读屏 visually-hidden:复用 ToolRow 同名工具类(既有,非新写兜底)。
39
- const hidden = officialClass('ToolRow', 'visuallyHidden') ?? '';
40
- return h('div', { className: gcc('root'), 'data-state': state },
41
- // 官方 a11y:running/error 的读屏状态词(visually-hidden,不占可见空间)。
42
- state === 'running'
43
- ? h('span', { className: hidden }, t('rowRunning'))
44
- : state === 'error'
45
- ? h('span', { className: hidden }, t('rowFailed'))
46
- : null, h(DisclosureRow, {
47
- leadingClassName: gcc('leading'),
48
- titleClassName: gcc('title'),
49
- icon: h(IconApiOutlineRegular, { size: 14 }),
50
- title,
51
- running,
52
- open,
53
- expandable: body !== null,
54
- expandOnRowClick: true,
55
- keepContentWhenOpen: true,
56
- onToggle: toggle,
57
- collapsedContent: h(Fragment, null, h('span', { className: gcc('separator'), 'aria-hidden': true }), h('span', {
58
- className: gcc('summary'),
59
- 'data-error': state === 'error' || undefined,
60
- }, h(TextShimmer, { active: running }, summary))),
61
- children: open && body !== null
62
- ? h('div', {
63
- className: gcc('body'),
64
- 'data-error': state === 'error' || undefined,
65
- }, body)
66
- : undefined,
67
- }));
68
- }
69
- //# sourceMappingURL=CommandCard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandCard.js","sourceRoot":"","sources":["../../../src/session/mirror/CommandCard.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { createElement as h } from 'react';
2
- import type { Translate } from '../../utils/i18n.js';
3
- /** 官方 ContextNode 数据面(content / source / producer / form)。 */
4
- export interface ContextFace {
5
- content?: readonly unknown[];
6
- source?: unknown;
7
- producer?: {
8
- role?: string;
9
- label?: string | null;
10
- } | null;
11
- form?: string | null;
12
- }
13
- /** 系统注入上下文行(官方 ContextInjectionRow 的 opaque 版)。 */
14
- export declare function ContextInjectionRowMirror(props: {
15
- node: ContextFace;
16
- t: Translate;
17
- }): ReturnType<typeof h>;
18
- //# sourceMappingURL=ContextInjectionRow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextInjectionRow.d.ts","sourceRoot":"","sources":["../../../src/session/mirror/ContextInjectionRow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,aAAa,IAAI,CAAC,EAAY,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGpD,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAyC1G"}
@@ -1,50 +0,0 @@
1
- // 官方对照:ui-chat@0.2.1-rc.5 lib/client.js:4967-5050(ContextInjectionRow)+ 4530-4540(OpaqueBody)。
2
- // 折叠行 = DisclosureRow(图标 + 标题「上下文注入」/「跨会话召回」+ producer 来源);
3
- // 展开体 = 模型面向文本(content 里的 text 块拼成 pre[data-context-text])。
4
- // shortcut: form 细分(instructions/catalog/snapshot/notice/relay/recall 各带 Body + source 解析)未复刻,
5
- // 一律走 opaque 文本;这些 form 低频,等确实需要精确还原时再补。
6
- import { Fragment, createElement as h, useState } from 'react';
7
- import { DisclosureRow, IconBrowseOutlineRegular, IconContextInjectionOutlineRegular } from '../../ui/official.js';
8
- import { officialClass } from '../official-classes.js';
9
- import { modelFacingRuns } from './TurnTriggerNodeView.js';
10
- /** 系统注入上下文行(官方 ContextInjectionRow 的 opaque 版)。 */
11
- export function ContextInjectionRowMirror(props) {
12
- const { node, t } = props;
13
- const [open, setOpen] = useState(false);
14
- const content = Array.isArray(node.content) ? node.content : [];
15
- const producer = node.producer ?? null;
16
- const label = producer?.label ?? null;
17
- const toolBlocks = content.length > 0 && content.every(block => {
18
- const type = block?.type;
19
- return type === 'tool-addition' || type === 'tool-removal';
20
- });
21
- return h(DisclosureRow, {
22
- className: officialClass('ContextInjectionRow', 'root') ?? '',
23
- icon: toolBlocks
24
- ? h(IconBrowseOutlineRegular, { size: 14 })
25
- : h(IconContextInjectionOutlineRegular, { size: 14 }),
26
- chevronClassName: officialClass('ContextInjectionRow', 'chevron') ?? '',
27
- title: t(producer?.role === 'recall' ? 'contextRecall' : 'contextInjection'),
28
- collapsedContent: label === null
29
- ? undefined
30
- : h(Fragment, null, h('span', { className: officialClass('ContextInjectionRow', 'sep') ?? '', 'aria-hidden': true }), h('span', {
31
- className: officialClass('ContextInjectionRow', 'source') ?? '',
32
- 'data-context-source': true,
33
- }, label)),
34
- keepContentWhenOpen: true,
35
- open,
36
- expandable: true,
37
- expandOnRowClick: true,
38
- onToggle: () => { setOpen(value => !value); },
39
- children: h('div', {
40
- className: officialClass('ContextInjectionRow', 'body') ?? '',
41
- 'data-context-injection-body': true,
42
- 'data-context-form': node.form ?? undefined,
43
- }, modelFacingRuns(content, t).map((text, index) => h('pre', {
44
- key: index,
45
- className: officialClass('ContextBody', 'text') ?? '',
46
- 'data-context-text': true,
47
- }, text))),
48
- });
49
- }
50
- //# sourceMappingURL=ContextInjectionRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextInjectionRow.js","sourceRoot":"","sources":["../../../src/session/mirror/ContextInjectionRow.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { createElement as h } from 'react';
2
- import type { Translate } from '../../utils/i18n.js';
3
- /** 官方 PresentedFile 的消费面(presented.d.ts:path 必有,description 可选)。 */
4
- export interface DeliveredFileFace {
5
- path: string;
6
- description?: string;
7
- }
8
- /** 官方 PresentRow:present 工具调用的状态行(折叠 = 状态词 + 路径;展开 = 结果原文)。 */
9
- export declare function PresentRowMirror(props: {
10
- block: unknown;
11
- t: Translate;
12
- }): ReturnType<typeof h>;
13
- /**
14
- * 官方 DeliverablesTail 的 presented 网格(FileTypeIcon + 文件名 + 简介,整卡可点 → 预览)。
15
- * 「已编辑文件」卡(ChangedFiles)不在这里:它走宿主 api/changes.summary,见
16
- * mirror/ChangedFilesCard.ts。数据真源 = turn 级 `deliverables.presented`
17
- * (官方 TurnLocation.data.get('deliverables'),见 changes.ts)。
18
- */
19
- export declare function DeliverablesGridMirror(props: {
20
- files: readonly DeliveredFileFace[];
21
- onOpen?: (path: string) => void;
22
- t: Translate;
23
- }): ReturnType<typeof h> | null;
24
- //# sourceMappingURL=Deliverables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Deliverables.d.ts","sourceRoot":"","sources":["../../../src/session/mirror/Deliverables.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAY,MAAM,OAAO,CAAA;AAapD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAkDD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAuC9F;AAoED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACnC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,CAAC,EAAE,SAAS,CAAA;CACb,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAyC9B"}
@@ -1,175 +0,0 @@
1
- // 官方对照:packages/client/ui-deliverables/src/client/{PresentRow,PresentedFileCard,Deliverables}.tsx
2
- // (0.1.7-rc.2 lib/client.js:PresentRow 488-560、PresentedFileCard 1529-1600、Deliverables 1632-1710)
3
- //
4
- // 官方产出物层的两个用户可见面,逐值镜像:
5
- // ① 交付文件行 = `present` 工具调用的专属渲染(官方经 tool.call.toolview 槽位 key='present'
6
- // 挂 PresentRow):标题「交付文件」+ IconDeliverDocRegular,折叠摘要 = 状态词(已交付…)
7
- // + 文件路径列表(官方纯文本**不可点**),展开体 = 工具结果原文(pre.output)。
8
- // ② 交付文件卡网格 = turnTail 槽位挂 DeliverablesTail:每轮被交付成功的文件画成卡片
9
- // (FileTypeIcon + 文件名 + 简介),**整卡可点 → 预览**;>4 张折叠 +「全部 N 个文件」。
10
- // 官方另有原生打开(桌面 Host)的状态行/重试行——本弹窗无原生层,不渲染。
11
- // 数据真源 = 会话 keyed 流里的 present 工具调用 / turn 级 deliverables.presented(真实取数,禁模拟)。
12
- import { createElement as h, useState } from 'react';
13
- import { DisclosureRow, FileTypeIcon, IconChevronDownOutlineRegular, IconChevronUpOutlineRegular, IconDeliverDocRegular, IconFolderOpenOutlineRegular, fileExtension, } from '../../ui/official.js';
14
- import { IconButton } from '../../ui/Button.js';
15
- import { officialClass } from '../official-classes.js';
16
- const basename = (path) => path.slice(Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\')) + 1);
17
- /** 交付路径的所在目录;无分隔符(纯文件名)⇒ undefined,不出「在文件夹中显示」。 */
18
- function parentOf(path) {
19
- const cut = Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\'));
20
- return cut > 0 ? path.slice(0, cut) : undefined;
21
- }
22
- /** 官方 fileNames(PresentRow.tsx):argsRaw.files[].path 逗号连接;解析不出回原样。 */
23
- function fileNames(raw) {
24
- let args;
25
- try {
26
- args = JSON.parse(raw);
27
- }
28
- catch {
29
- return raw;
30
- }
31
- if (typeof args !== 'object' || args === null || !('files' in args) || !Array.isArray(args.files))
32
- return raw;
33
- return args.files
34
- .flatMap((file) => (typeof file === 'object' && file !== null && 'path' in file && typeof file.path === 'string' ? [file.path] : []))
35
- .join(', ');
36
- }
37
- /** 官方 PreparingPresentRow:瘦行(只标题+图标、不可展开、running),root 无类名。 */
38
- function PreparingPresentRow(props) {
39
- const { t } = props;
40
- return h('div', {
41
- 'data-tool': 'present',
42
- 'data-state': 'preparing',
43
- 'aria-label': t('deliverRowPreparing'),
44
- }, h(DisclosureRow, {
45
- title: t('deliverRowTitle'),
46
- icon: h(IconDeliverDocRegular, { size: 14 }),
47
- open: false,
48
- expandable: false,
49
- onToggle: () => { },
50
- running: true,
51
- }));
52
- }
53
- /** 官方 PresentRow:present 工具调用的状态行(折叠 = 状态词 + 路径;展开 = 结果原文)。 */
54
- export function PresentRowMirror(props) {
55
- const { block, t } = props;
56
- const b = (block ?? {});
57
- const settled = typeof b.kind === 'string';
58
- if (!settled && b.phase === 'preparing')
59
- return h(PreparingPresentRow, { t });
60
- const state = !settled
61
- ? 'running'
62
- : b.error?.code === 'interrupted' ? 'stopped' : b.isError ? 'error' : 'ok';
63
- const argsRaw = (settled ? b.call?.argsRaw : b.argsRaw) ?? '';
64
- const details = settled
65
- ? ((b.content ?? []).map((item) => item.type === 'text' ? item.text ?? '' : JSON.stringify(item)).join('\n')
66
- || (b.error ? `${b.error.name ?? ''}: ${b.error.code ?? ''}` : ''))
67
- : '';
68
- const [expanded, setExpanded] = useState(false);
69
- const statusKey = state === 'running' ? 'deliverRowRunning'
70
- : state === 'error' ? 'deliverRowError'
71
- : state === 'stopped' ? 'deliverRowStopped'
72
- : 'deliverRowOk';
73
- return h('div', {
74
- // 官方 StartedPresentRow 的 root 不挂任何类(只 data-tool / data-state)。
75
- 'data-tool': 'present',
76
- 'data-state': state,
77
- }, h(DisclosureRow, {
78
- title: t('deliverRowTitle'),
79
- icon: h(IconDeliverDocRegular, { size: 14 }),
80
- open: expanded && details !== '',
81
- expandable: details !== '',
82
- expandOnRowClick: true,
83
- keepContentWhenOpen: true,
84
- onToggle: () => { setExpanded((value) => !value); },
85
- collapsedContent: h('span', { className: officialClass('PresentRow', 'summary') ?? '' }, h('span', null, t(statusKey)), h('span', { className: officialClass('PresentRow', 'paths') ?? '' }, fileNames(argsRaw))),
86
- // 官方 children 是数组且 pre.output **恒在**(空字符串也渲染)。
87
- children: [h('pre', { key: 'output', className: officialClass('PresentRow', 'output') ?? '' }, details)],
88
- }));
89
- }
90
- /** 官方 COLLAPSED_PRESENTED_COUNT(Deliverables.tsx):超过 4 张折叠。 */
91
- const COLLAPSED_DELIVERED_COUNT = 4;
92
- /** 官方 cardDescription:简介去尾部括注后为空则回退扩展名大写(再退「文件」)。 */
93
- function cardDescription(description, fallback) {
94
- const trimmed = description?.replace(/\s*(?:\([^()]*\)|([^()]*))\s*$/u, '').trim();
95
- return trimmed === undefined || trimmed === '' ? fallback : trimmed;
96
- }
97
- /**
98
- * 官方 PresentedFileCard:整卡可点 → onPreview(官方 = 右栏预览,本弹窗 = 调用方 openFile)。
99
- *
100
- * 官方 `actions` 是宿主 `deliverables.file.actions` 槽(桌面端「默认应用打开 / 文件管理器显示」),
101
- * 本弹窗只有预览出口 ⇒ 只保留等价的那一个:**在文件夹中显示** = 打开所在目录的预览
102
- * (「打开」与整卡点击同义,不再第二个按钮重复)。
103
- */
104
- function DeliveredFileCard(props) {
105
- const { file, onPreview, onReveal, t } = props;
106
- const name = basename(file.path);
107
- const metadata = fileExtension(name).toUpperCase() || t('deliverFileLabel');
108
- return h('div', {
109
- className: officialClass('Deliverables', 'file') ?? '',
110
- 'data-presented-file': true,
111
- },
112
- // 官方 cardPreview 按钮**恒在**(弹窗无预览出口时点击无副作用)。
113
- h('button', {
114
- type: 'button',
115
- className: officialClass('Deliverables', 'cardPreview') ?? '',
116
- title: file.path,
117
- 'aria-label': t('deliverPreviewCard', { name: file.path }),
118
- onClick: (event) => {
119
- event.stopPropagation();
120
- onPreview?.();
121
- },
122
- }), h('span', { className: officialClass('Deliverables', 'fileIcon') ?? '' }, h(FileTypeIcon, { path: file.path, size: 20 })), h('div', { className: officialClass('Deliverables', 'fileBody') ?? '' }, h('div', { className: officialClass('Deliverables', 'details') ?? '' }, h('span', { className: officialClass('Deliverables', 'fileName') ?? '' }, name), h('span', { className: officialClass('Deliverables', 'description') ?? '', 'data-presented-description': true }, h('span', { className: officialClass('Deliverables', 'secondaryText') ?? '' }, cardDescription(file.description, metadata)), h('span', { className: officialClass('Deliverables', 'previewHint') ?? '' }, t('deliverPreviewHint')))), onReveal === undefined
123
- ? null
124
- : h('div', { className: officialClass('Deliverables', 'actions') ?? '' }, h(IconButton, {
125
- size: 'sm',
126
- icon: h(IconFolderOpenOutlineRegular),
127
- label: t('deliverReveal'),
128
- onClick: (event) => {
129
- event.stopPropagation();
130
- onReveal();
131
- },
132
- }))));
133
- }
134
- /**
135
- * 官方 DeliverablesTail 的 presented 网格(FileTypeIcon + 文件名 + 简介,整卡可点 → 预览)。
136
- * 「已编辑文件」卡(ChangedFiles)不在这里:它走宿主 api/changes.summary,见
137
- * mirror/ChangedFilesCard.ts。数据真源 = turn 级 `deliverables.presented`
138
- * (官方 TurnLocation.data.get('deliverables'),见 changes.ts)。
139
- */
140
- export function DeliverablesGridMirror(props) {
141
- const { files, onOpen, t } = props;
142
- const [expanded, setExpanded] = useState(false);
143
- if (files.length === 0)
144
- return null;
145
- const collapsible = files.length > COLLAPSED_DELIVERED_COUNT;
146
- const shown = collapsible && !expanded ? files.slice(0, COLLAPSED_DELIVERED_COUNT) : files;
147
- return h('div', {
148
- className: officialClass('Deliverables', 'root') ?? '',
149
- 'data-after-changes': true,
150
- 'data-presented-files-grid': true,
151
- }, h('div', {
152
- className: officialClass('Deliverables', 'presented') ?? '',
153
- 'data-presented-files-row': true,
154
- // 官方单文件整行铺满(CSS 依赖 data-single)。
155
- 'data-single': files.length === 1 || undefined,
156
- }, shown.map((file, index) => h(DeliveredFileCard, {
157
- key: `${file.path}:${index}`,
158
- file,
159
- onPreview: onOpen === undefined ? undefined : () => { onOpen(file.path); },
160
- onReveal: onOpen === undefined ? undefined : (() => {
161
- const parent = parentOf(file.path);
162
- return parent === undefined ? undefined : () => { onOpen(parent); };
163
- })(),
164
- t,
165
- }))), collapsible
166
- ? h('button', {
167
- type: 'button',
168
- className: officialClass('Deliverables', 'toggle') ?? '',
169
- 'aria-expanded': expanded,
170
- 'aria-label': t(expanded ? 'deliverCollapseAria' : 'deliverExpandAria', { count: files.length }),
171
- onClick: () => { setExpanded((value) => !value); },
172
- }, h('span', null, t(expanded ? 'deliverCollapse' : 'deliverAll', { count: files.length })), expanded ? h(IconChevronUpOutlineRegular, {}) : h(IconChevronDownOutlineRegular, {}))
173
- : null);
174
- }
175
- //# sourceMappingURL=Deliverables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Deliverables.js","sourceRoot":"","sources":["../../../src/session/mirror/Deliverables.ts"],"names":[],"mappings":"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"}