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,122 +0,0 @@
1
- // 文本 / markdown / 代码预览体。
2
- //
3
- // - md 且非源码态 ⇒ 官方 MarkdownText(mdast 管线 + KaTeX);
4
- // - 其余(源码态 / 代码 / 纯文本)⇒ 官方 CodeBlock(Shiki,零 npm 依赖;
5
- // 大文件拖宽卡顿问题若真出现再议,不为此引 CodeMirror 全家桶进共享底座);
6
- // - read 分页累积,`!eof` 出「加载更多」;传了 maxBytes(HTML 源码态)则按字节截断、
7
- // 不出按钮、顶部出横幅。
8
- //
9
- // ⚠️ read 的第三个参数(range)口径:**首页 `{}`、翻页 `{offset}`,绝不带 `limit`**。
10
- // 远端对 range 按值校验,多塞 limit 会被拒(表现 = 每种文件都「加载失败」);
11
- // 兄弟项目 dsh-task-dispatch-table 与本仓文档(types.ts / dsh-host.md / features/explorer.md)
12
- // 同为 `{}` + `{offset}` 两态,分页步长由远端定,不在这里猜。
13
- import { createElement as h, useCallback, useEffect, useRef, useState } from 'react';
14
- import { MarkdownText } from '../../ui/official.js';
15
- import { CodeViewer } from '../../ui/CodeViewer.js';
16
- import { Button } from '../../ui/Button.js';
17
- import { t } from '../../utils/i18n.js';
18
- import { errView, isAborted, textPageOf } from '../types.js';
19
- import { formatBytes } from '../../utils/number.js';
20
- import { markdownLabels } from './md-labels.js';
21
- import { ensureComponentStyles } from '../../ui/css.js';
22
- import { EXPLORER_CSS } from '../explorer-css.js';
23
- /** 定位到行时最多自动续翻的页数(远处行号不值得为它打一整圈往返;用户仍可手动「加载更多」)。 */
24
- const FOCUS_MAX_PAGES = 10;
25
- export function TextPreview(props) {
26
- ensureComponentStyles('explorer', EXPLORER_CSS);
27
- const tt = props.translate ?? t;
28
- const [text, setText] = useState('');
29
- const [truncated, setTruncated] = useState(false);
30
- const [nextOffset, setNextOffset] = useState(null);
31
- const [loading, setLoading] = useState(false);
32
- const [failed, setFailed] = useState(null);
33
- // 累计文本放 ref:翻页/截断判定要读「这一页加上之后的全文」,闭包 state 会是旧值。
34
- const accRef = useRef('');
35
- // 当前这一次读(含翻页):新的一次开始 / 换文件 / 卸载都先 abort 上一次,迟到的结果不落状态。
36
- const abortRef = useRef(null);
37
- const load = useCallback(async (offset, append) => {
38
- abortRef.current?.abort();
39
- const controller = new AbortController();
40
- abortRef.current = controller;
41
- setLoading(true);
42
- try {
43
- // range 只两态:首页 `{}`、翻页 `{offset}`(见文件头口径说明)。
44
- const parsed = textPageOf(await props.files.read(props.path, offset > 0 ? { offset } : {}, controller.signal));
45
- if (controller.signal.aborted)
46
- return null;
47
- if (parsed === null) {
48
- // 形状不对要说「返回数据不符合预期」,不能混进「加载失败」——混了就永远查不出是谁的锅。
49
- console.warn('[dsh-plugin-core:explorer] read 返回体无法解析为文本页', props.path);
50
- setFailed({ key: 'previewBadPayload' });
51
- return null;
52
- }
53
- if ('failed' in parsed) {
54
- setFailed(errView(parsed.failed));
55
- return null;
56
- }
57
- setFailed(null);
58
- const full = append ? accRef.current + parsed.text : parsed.text;
59
- accRef.current = full;
60
- setText(full);
61
- const next = parsed.eof ? null : parsed.offset + parsed.lines;
62
- if (props.maxBytes !== undefined) {
63
- // 有上限:按 UTF-8 实字节(Blob.size)判超限,超了截断不出翻页钮。
64
- if (parsed.eof) {
65
- setNextOffset(null);
66
- }
67
- else if (new Blob([full]).size >= props.maxBytes) {
68
- setTruncated(true);
69
- setNextOffset(null);
70
- }
71
- else {
72
- setNextOffset(next);
73
- }
74
- return null;
75
- }
76
- setNextOffset(next);
77
- return next;
78
- }
79
- catch (error) {
80
- if (isAborted(controller.signal, error))
81
- return null;
82
- setFailed(errView(error));
83
- return null;
84
- }
85
- finally {
86
- if (!controller.signal.aborted)
87
- setLoading(false);
88
- }
89
- }, [props.files, props.path, props.maxBytes]);
90
- useEffect(() => {
91
- accRef.current = '';
92
- setText('');
93
- setTruncated(false);
94
- setNextOffset(null);
95
- setFailed(null);
96
- void (async () => {
97
- let next = await load(0, false);
98
- // 目标行不在首屏 ⇒ 续读到覆盖它(或到 eof / 上限)。
99
- for (let page = 0; next !== null && props.focusLine !== undefined && page < FOCUS_MAX_PAGES
100
- && accRef.current.split('\n').length < props.focusLine; page += 1) {
101
- next = await load(next, true);
102
- }
103
- })();
104
- return () => {
105
- abortRef.current?.abort();
106
- };
107
- // focusLine 变了 = 同一文件换个落点,重新从首页读一遍。
108
- }, [load, props.focusLine]);
109
- if (failed !== null)
110
- return h('div', { className: 'dshpc-fb__note' }, tt(failed.key, failed.params));
111
- if (text === '' && loading)
112
- return h('div', { className: 'dshpc-fb__note' }, tt('explorerLoading'));
113
- const rendered = props.markdown && !props.sourceView;
114
- return h('div', { className: 'dshpc-fb__text', style: { display: 'flex', flexDirection: 'column', ...(rendered ? { padding: 'var(--dshpc-space-3)' } : {}) } }, truncated
115
- ? h('div', { className: 'dshpc-fb__banner' }, tt('previewTruncated', { n: formatBytes(props.maxBytes ?? 0) }))
116
- : null, rendered
117
- ? h(MarkdownText, { text, labels: markdownLabels() })
118
- : h('div', { style: { flex: '1 1 auto', minHeight: 0, display: 'flex' } }, h(CodeViewer, { text, path: props.path, t: tt, focusLine: props.focusLine })), nextOffset !== null && props.maxBytes === undefined
119
- ? h('div', { className: 'dshpc-fb__more' }, h(Button, { variant: 'outline', size: 'sm', loading: loading, onClick: () => void load(nextOffset, true) }, tt('previewLoadMore')))
120
- : null);
121
- }
122
- //# sourceMappingURL=TextPreview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextPreview.js","sourceRoot":"","sources":["../../../src/explorer/preview/TextPreview.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
- import { type OfficeToPdfFace } from '../types.js';
4
- import type { FsFace } from '../fs-face.js';
5
- export { BytesPreview, type BytesPreviewProps } from './BytesPreview.js';
6
- export { HtmlPreview, buildStaticHtml, type HtmlPreviewProps } from './HtmlPreview.js';
7
- export { OfficePreview, type OfficePreviewProps } from './OfficePreview.js';
8
- export { TextPreview, type TextPreviewProps } from './TextPreview.js';
9
- export interface FilePreviewProps {
10
- /** 只读文件面(绝对路径)。 */
11
- files: FsFace;
12
- /** Office 预览要的会话;可省 ⇒ 预览体按宿主工作区快照自己挑一条。 */
13
- sessionId?: string;
14
- path: string;
15
- /** 官方 remote.officeToPdf;未就位传 null ⇒ Office 文件出「不可用」空态。 */
16
- officeToPdf?: OfficeToPdfFace | null;
17
- /** true = 源码态(md/html 生效)。 */
18
- sourceView?: boolean;
19
- /** 打开即定位到这一行(1 起;只对文本/源码态生效)。 */
20
- line?: number;
21
- translate?: Translate;
22
- }
23
- export declare function FilePreview(props: FilePreviewProps): ReturnType<typeof h> | null;
24
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/explorer/preview/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAM3C,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErE,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACpC,8BAA8B;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CA0ChF"}
@@ -1,58 +0,0 @@
1
- // 单文件预览分派:按扩展名选预览体(image/pdf/md/html/office/text),认不出 ⇒ 明确兜底。
2
- // md/html 的「渲染 ⇄ 源码」由面板工具条切 sourceView 传进来。
3
- import { createElement as h } from 'react';
4
- import { ensureControls } from '../../ui/css.js';
5
- import { t } from '../../utils/i18n.js';
6
- import { previewInfoOf } from '../types.js';
7
- import { BytesPreview } from './BytesPreview.js';
8
- import { HtmlPreview } from './HtmlPreview.js';
9
- import { OfficePreview } from './OfficePreview.js';
10
- import { TextPreview } from './TextPreview.js';
11
- export { BytesPreview } from './BytesPreview.js';
12
- export { HtmlPreview, buildStaticHtml } from './HtmlPreview.js';
13
- export { OfficePreview } from './OfficePreview.js';
14
- export { TextPreview } from './TextPreview.js';
15
- export function FilePreview(props) {
16
- ensureControls();
17
- const tt = props.translate ?? t;
18
- const info = previewInfoOf(props.path);
19
- const sourceView = props.sourceView === true;
20
- switch (info.kind) {
21
- case 'image':
22
- case 'pdf':
23
- return h(BytesPreview, {
24
- files: props.files,
25
- path: props.path,
26
- kind: info.kind,
27
- mime: info.mime ?? 'application/octet-stream',
28
- translate: tt,
29
- });
30
- case 'office':
31
- return h(OfficePreview, {
32
- officeToPdf: props.officeToPdf ?? null,
33
- sessionId: props.sessionId,
34
- path: props.path,
35
- translate: tt,
36
- });
37
- case 'html':
38
- return h(HtmlPreview, {
39
- files: props.files,
40
- path: props.path,
41
- sourceView,
42
- translate: tt,
43
- });
44
- case 'md':
45
- case 'text':
46
- return h(TextPreview, {
47
- files: props.files,
48
- path: props.path,
49
- markdown: info.kind === 'md',
50
- sourceView,
51
- focusLine: props.line,
52
- translate: tt,
53
- });
54
- }
55
- // switch 已穷尽 PreviewKind;保留 return 满足 TS 控制流分析
56
- return null;
57
- }
58
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/explorer/preview/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,4CAA4C;AAC5C,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,CAAC,EAAkB,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAA;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAyB,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAA;AAiBrE,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,cAAc,EAAE,CAAA;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IAC5C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,YAAY,EAAE;gBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,0BAA0B;gBAC7C,SAAS,EAAE,EAAE;aACd,CAAC,CAAA;QACJ,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,aAAa,EAAE;gBACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,EAAE;aACd,CAAC,CAAA;QACJ,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,WAAW,EAAE;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU;gBACV,SAAS,EAAE,EAAE;aACd,CAAC,CAAA;QACJ,KAAK,IAAI,CAAC;QACV,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,WAAW,EAAE;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;gBAC5B,UAAU;gBACV,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,EAAE;aACd,CAAC,CAAA;IACN,CAAC;IACD,+CAA+C;IAC/C,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { MarkdownLabels } from '../../ui/official.js';
2
- export declare function markdownLabels(): MarkdownLabels;
3
- //# sourceMappingURL=md-labels.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"md-labels.d.ts","sourceRoot":"","sources":["../../../src/explorer/preview/md-labels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,wBAAgB,cAAc,IAAI,cAAc,CAS/C"}
@@ -1,12 +0,0 @@
1
- import { t } from '../../utils/i18n.js';
2
- export function markdownLabels() {
3
- return {
4
- code: {
5
- copyLabel: t('mdCopy'),
6
- copiedLabel: t('mdCopied'),
7
- toolbarLabels: { codeLabel: t('mdCode'), wrapLabel: t('mdWrap'), unwrapLabel: t('mdUnwrap') },
8
- },
9
- footnotes: t('mdFootnotes'),
10
- };
11
- }
12
- //# sourceMappingURL=md-labels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"md-labels.js","sourceRoot":"","sources":["../../../src/explorer/preview/md-labels.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAA;AAEvC,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,IAAI,EAAE;YACJ,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC;YACtB,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC;YAC1B,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE;SAC9F;QACD,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC;KAC5B,CAAA;AACH,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * 预览态的第二排:文件名 + 渲染⇄源码切换 / 复制路径 / 刷新。
3
- *
4
- * 2026-11-03 从 `FileBrowser.ts` 拆出。档位照兄弟项目调用点:Segmented `sm` + 图标钮 `md`
5
- * (核心 Segmented 高度由 CSS 定,不随档变)。
6
- */
7
- import { type ReactNode } from 'react';
8
- import type { Translate } from '../utils/i18n.js';
9
- export interface PreviewTitleBarProps {
10
- translate: Translate;
11
- /** 正在预览的文件绝对路径。 */
12
- path: string;
13
- /** md / html 才出「渲染 ⇄ 源码」。 */
14
- switchable: boolean;
15
- /** md 用 md 的 aria 文案,html 用 html 的。 */
16
- isMarkdown: boolean;
17
- /** 当前是否在看源码。 */
18
- sourceView: boolean;
19
- onSourceViewChange: (source: boolean) => void;
20
- /** 刚复制过(图标切对勾)。 */
21
- copied: boolean;
22
- onCopyPath: () => void;
23
- onReload: () => void;
24
- }
25
- export declare function PreviewTitleBar(props: PreviewTitleBarProps): ReactNode;
26
- //# sourceMappingURL=preview-title-bar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-title-bar.d.ts","sourceRoot":"","sources":["../../src/explorer/preview-title-bar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAU1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,UAAU,EAAE,OAAO,CAAA;IACnB,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAA;IACnB,gBAAgB;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7C,mBAAmB;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,CA2CtE"}
@@ -1,48 +0,0 @@
1
- /**
2
- * 预览态的第二排:文件名 + 渲染⇄源码切换 / 复制路径 / 刷新。
3
- *
4
- * 2026-11-03 从 `FileBrowser.ts` 拆出。档位照兄弟项目调用点:Segmented `sm` + 图标钮 `md`
5
- * (核心 Segmented 高度由 CSS 定,不随档变)。
6
- */
7
- import { createElement as h } from 'react';
8
- import { IconButton } from '../ui/Button.js';
9
- import { MarqueeText } from '../ui/MarqueeText.js';
10
- import { Segmented } from '../ui/Segmented.js';
11
- import { IconCheckOutlineRegular, IconCopyOutlineRegular, IconRefreshOutlineRegular, } from '../ui/official.js';
12
- import { ensureComponentStyles } from '../ui/css.js';
13
- import { EXPLORER_CSS } from './explorer-css.js';
14
- import { baseNameOfPath } from './types.js';
15
- export function PreviewTitleBar(props) {
16
- ensureComponentStyles('explorer', EXPLORER_CSS);
17
- const { translate: tt, path, switchable, isMarkdown, sourceView, onSourceViewChange, copied, onCopyPath, onReload } = props;
18
- return h('div', { className: 'dshpc-fb__title' }, h(MarqueeText, {
19
- text: baseNameOfPath(path),
20
- title: path,
21
- className: 'dshpc-fb__title-inner',
22
- style: { flex: '1 1 auto', minWidth: 0 },
23
- }), h('div', { className: 'dshpc-fb__actions' }, switchable
24
- ? h(Segmented, {
25
- size: 'sm',
26
- label: isMarkdown ? tt('previewMdSwitchAria') : tt('previewHtmlSwitchAria'),
27
- value: sourceView ? 'source' : 'render',
28
- items: [
29
- { value: 'render', label: tt('previewRender') },
30
- { value: 'source', label: tt('previewSource') },
31
- ],
32
- onChange: (next) => onSourceViewChange(next === 'source'),
33
- })
34
- : null, h(IconButton, {
35
- variant: 'plain',
36
- size: 'md',
37
- icon: copied ? h(IconCheckOutlineRegular, { size: 14 }) : h(IconCopyOutlineRegular, { size: 14 }),
38
- label: tt('previewCopyPath'),
39
- onClick: onCopyPath,
40
- }), h(IconButton, {
41
- variant: 'plain',
42
- size: 'md',
43
- icon: h(IconRefreshOutlineRegular, { size: 14 }),
44
- label: tt('previewRefresh'),
45
- onClick: onReload,
46
- })));
47
- }
48
- //# sourceMappingURL=preview-title-bar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-title-bar.js","sourceRoot":"","sources":["../../src/explorer/preview-title-bar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAkB,MAAM,OAAO,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAmB3C,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAC/C,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC3H,OAAO,CAAC,CACN,KAAK,EACL,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAChC,CAAC,CAAC,WAAW,EAAE;QACb,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;QAC1B,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,uBAAuB;QAClC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE;KACzC,CAAC,EACF,CAAC,CACC,KAAK,EACL,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAClC,UAAU;QACR,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;YACX,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC;YAC3E,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACvC,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE;gBAC/C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE;aAChD;YACD,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,KAAK,QAAQ,CAAC;SAClE,CAAC;QACJ,CAAC,CAAC,IAAI,EACV,CAAC,CAAC,UAAU,EAAE;QACZ,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACjG,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC;QAC5B,OAAO,EAAE,UAAU;KACpB,CAAC,EACF,CAAC,CAAC,UAAU,EAAE;QACZ,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,CAAC,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAChD,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC;QAC3B,OAAO,EAAE,QAAQ;KAClB,CAAC,CACD,CACF,CAAA;AACH,CAAC"}
@@ -1,259 +0,0 @@
1
- import { extOf, mimeOf } from '../utils/path.js';
2
- import type { UtilMessageKey } from '../utils/i18n.js';
3
- export interface WorkspaceFilesFace {
4
- /** 文本分页读。⚠️ `range` **必传**(官方按位置参数个数校验,省了会被远端拒),读全量传 `{}`。 */
5
- read(sessionId: string, path: string, range: {
6
- offset?: number;
7
- limit?: number;
8
- }, signal?: AbortSignal): Promise<{
9
- offset: number;
10
- text: string;
11
- lines: number;
12
- eof: boolean;
13
- absolutePath?: string;
14
- version?: number | string;
15
- bytes?: number;
16
- }>;
17
- /** 二进制读(`options` 同样必传,不传 range 即读全量)。 */
18
- readBytes(sessionId: string, path: string, options: {
19
- range?: {
20
- offset?: number;
21
- length?: number;
22
- };
23
- }, signal?: AbortSignal): Promise<{
24
- offset: number;
25
- data: Uint8Array;
26
- eof: boolean;
27
- bytes?: number;
28
- }>;
29
- /** 列举直接子项;list 一个文件会报 not-directory。 */
30
- list(sessionId: string, path: string, signal?: AbortSignal): Promise<{
31
- path: string;
32
- entries: ReadonlyArray<{
33
- name: string;
34
- type: 'file' | 'directory' | 'other';
35
- size?: number;
36
- }>;
37
- truncated: boolean;
38
- }>;
39
- /** 单文件 stat(可选:宿主过旧没有此方法时降级)。只认普通文件,目录会抛。 */
40
- stat?(sessionId: string, path: string, signal?: AbortSignal): Promise<{
41
- absolutePath: string;
42
- version?: number | string;
43
- bytes?: number;
44
- }>;
45
- }
46
- /**
47
- * 官方 `remote.officeToPdf` 的消费面(本地结构化声明,零 npm 依赖,同 WorkspaceFilesFace 做法)。
48
- * 运行时服务由宿主提供(宿主装了 @deepseek-ai/dsh-office-to-pdf 才有);未装 ⇒ 调用方传 null ⇒
49
- * Office 文件呈现「预览不可用」,不发起请求、不崩。
50
- */
51
- export interface OfficeToPdfFace {
52
- render(sessionId: string, path: string, priority: 'foreground' | 'background', signal?: AbortSignal): Promise<unknown>;
53
- }
54
- export interface DirEntry {
55
- name: string;
56
- type: 'file' | 'directory' | 'other';
57
- size?: number;
58
- }
59
- export interface Listing {
60
- path: string;
61
- entries: DirEntry[];
62
- truncated: boolean;
63
- }
64
- export type PreviewKind = 'image' | 'pdf' | 'md' | 'html' | 'office' | 'text';
65
- export interface PreviewInfo {
66
- kind: PreviewKind;
67
- ext: string;
68
- mime?: string;
69
- }
70
- /** HTML 静态预览的扩展名(与官方 htmlBodyDefinition 同款)。 */
71
- export declare const HTML_KINDS: readonly string[];
72
- /**
73
- * Office 预览扩展名(官方 remote.officeToPdf 转 PDF 后再渲染)。
74
- * ⚠️ 官方 OfficeExtension 还含 xls / xlsx,按兄弟项目 2026-10-05 拍板「Excel 向后讨论」不纳入。
75
- */
76
- export declare const OFFICE_KINDS: readonly string[];
77
- /** 源码态读取上限(256K,UTF-8 边界安全由截断处处理)。 */
78
- export declare const SOURCE_MAX_BYTES: number;
79
- /**
80
- * 按扩展名分发预览类型。**没有 unsupported 档**:认不出的扩展名一律按 text 走,
81
- * 由 read 抛 not-text 落「不是文本文件」空态——官方 read 才是真源,不本地猜二进制清单。
82
- */
83
- export declare function previewInfoOf(path: string): PreviewInfo;
84
- /** 只要 kind(兼容旧用法);要 ext/mime 用 previewInfoOf。 */
85
- export declare function previewKindOf(path: string): PreviewKind;
86
- type Envelope = {
87
- kind: 'ok';
88
- payload: unknown;
89
- } | {
90
- kind: 'error';
91
- error: unknown;
92
- };
93
- export declare function unwrapEnvelope(result: unknown): Envelope;
94
- /** 失败分支判空(TS 收窄用)。 */
95
- export declare function isFailed(value: unknown): value is {
96
- failed: unknown;
97
- };
98
- export type Listed = Listing | {
99
- failed: unknown;
100
- };
101
- /** `list` 结果防御解析:返回 Listing 或失败/非法信封。 */
102
- export declare function listingOf(result: unknown): Listed | null;
103
- export type TextPage = {
104
- text: string;
105
- offset: number;
106
- lines: number;
107
- eof: boolean;
108
- } | {
109
- failed: unknown;
110
- } | null;
111
- /** `read` 结果防御解析:page.text 必须是字符串,否则错误态(防渲染器内部抛错整页黑屏)。 */
112
- export declare function textPageOf(result: unknown): TextPage;
113
- export type BytesRead = Uint8Array | {
114
- failed: unknown;
115
- } | null;
116
- /** `readBytes` 结果防御解析:data 必须是 Uint8Array,否则错误态。 */
117
- export declare function bytesOf(result: unknown): BytesRead;
118
- /** `stat` 结果防御解析:只取 absolutePath(信封剥壳同款;stat 仅认 regular file)。 */
119
- export declare function absolutePathOf(result: unknown): string | null;
120
- /** 剥 wire 命名空间前缀(如 `workspace-file/not-found` ⇒ `not-found`)。 */
121
- export declare function bareCode(raw: unknown): string;
122
- /** 错误视图:文案键 + 占位参数。 */
123
- export interface ErrView {
124
- key: UtilMessageKey;
125
- params?: Record<string, string | number>;
126
- }
127
- /** 任意抛错/reject ⇒ 文案键。官方 code 分支 + 未知回落,绝不按消息文本猜。 */
128
- export declare function errView(error: unknown): ErrView;
129
- /** 子项排序:目录在前,文件在后,各自按名称(不区分大小写)升序。 */
130
- export declare function sortEntries(entries: readonly DirEntry[]): DirEntry[];
131
- /**
132
- * 0.2.0-rc.1 起官方 list **拒绝空路径** ⇒ 空串(= 工作区根)一律以 `'.'` 上线
133
- * (`'.'` 按 cwd = 工作区根归一解析为根本身;响应里根的 path 仍是 `''`)。
134
- */
135
- export declare function listPathOf(dir: string): string;
136
- export interface RequestToken {
137
- readonly signal: AbortSignal;
138
- /** true = 仍是最新一次(未被下一次 begin / abort 作废,且未被取消)。 */
139
- current(): boolean;
140
- }
141
- export interface RequestGate {
142
- /** 开一次新请求:先中止上一次,返回本次 token。 */
143
- begin(): RequestToken;
144
- /** 中止当前请求(卸载 / 关闭 / 换目标时用)。 */
145
- abort(): void;
146
- }
147
- export declare function createRequestGate(): RequestGate;
148
- /**
149
- * 这次失败是不是「我们主动取消的」。宿主两种表现都要静默:
150
- * reject `AbortError`,或 resolve `{ ok:false, error }` 信封——调用方补传 signal 由这里判定。
151
- */
152
- export declare function isAborted(signal: AbortSignal | undefined, error?: unknown): boolean;
153
- /** 宿主绝对路径形态(/ 开头或 Windows 盘符)。 */
154
- export declare function isAbsoluteish(p: string): boolean;
155
- /** 工作区相对拼接(根下直接 name,不补前导 /)。 */
156
- export declare function relJoin(dir: string, name: string): string;
157
- /**
158
- * 选择器回传:`path` 一律**绝对路径**(用户 2026-11-03 定)。
159
- * 仍需要相对语义的消费方用 `workspaceRel`(仅当目标落在某个工作区内才有)。
160
- */
161
- export interface PickedPath {
162
- path: string;
163
- isDir: boolean;
164
- /** 目标相对其所属工作区根的路径;不在任何工作区内 ⇒ 不出现。 */
165
- workspaceRel?: string;
166
- /** 所属工作区显示名;不在任何工作区内 ⇒ 不出现。 */
167
- workspace?: string;
168
- }
169
- /** 选择器过滤:`exts` = 只要这些扩展名(小写无点);`dirs` = 只要文件夹;都不传 = 不限。 */
170
- export interface PickFilter {
171
- exts?: readonly string[];
172
- dirs?: boolean;
173
- }
174
- export declare function matchesFilter(path: string, isDir: boolean, filter: PickFilter | undefined): boolean;
175
- /**
176
- * 归一绝对路径:`\` → `/`、盘符大写、去尾斜杠。相对路径原样返回(由调用方决定 base)。
177
- * FS 面的路径一律先过这里,避免 `D:\a` 与 `d:/a` 被当成两个目录。
178
- */
179
- export declare function normalizePath(path: string): string;
180
- /** 把绝对路径剥回某个根之下(不在根下 ⇒ 原样返回)。根为 null ⇒ 原样返回。 */
181
- export declare function relativizeToDir(path: string, root: string | null): string;
182
- /**
183
- * 面包屑段:把目录路径拆成可点层级(绝对路径保留前导 /;Windows 盘符单独成段)。
184
- */
185
- export declare function crumbsOfDir(dir: string): {
186
- label: string;
187
- path: string;
188
- }[];
189
- /**
190
- * 目标路径落在哪个工作区(**最长前缀**,不需要会话)。嵌套工作区取最具体的那个。
191
- * 与 `workspaceAnchorForPath` 的区别:这里不要求该工作区有会话 —— 浏览已经不吃会话了。
192
- */
193
- export declare function workspaceOfPath(path: string, items: readonly WorkspaceAnchorItem[]): WorkspaceAnchorItem | null;
194
- /** 文件/目录的显示名(末段)。 */
195
- export declare function baseNameOfPath(p: string): string;
196
- /** 父目录(无父 = 空串)。 */
197
- export declare function dirnameOf(p: string): string;
198
- /** 路径拼接(处理根与绝对/相对;沿用 utils/path 的 joinPath 语义)。 */
199
- export { joinPath } from '../utils/path.js';
200
- /** mimeOf 再导出(预览体要用,避免各自 import utils)。 */
201
- export { extOf, mimeOf };
202
- /**
203
- * 工作区锚点的候选结构(官方 `workspaces` 服务快照 `WorkspaceView` 的消费子集,
204
- * 见 docs/design/external/dsh-host.md §11)。只要够必要的字段,谁都能传。
205
- */
206
- export interface WorkspaceAnchorItem {
207
- /** 工作区显示名(面包屑首段 / 传给 FileBrowser 的 rootName)。 */
208
- title: string;
209
- /**
210
- * 工作区绝对路径(宿主 registry / `workspaces` 快照的 `path`,realpath 归一形态)。
211
- * **按路径匹配的必需字段**:不传 = 该工作区不参与 `workspaceAnchorForPath` 匹配
212
- * (仍可被 `pickWorkspaceAnchor` 按更新时间挑中)。
213
- */
214
- path?: string;
215
- /** 本工作区名下的会话 id(追加序);没有一个会话的工作区无法浏览。 */
216
- sessionIds?: readonly string[];
217
- /** 更新时间戳(毫秒/数字口径由宿主给);用于「最近打开」排序。 */
218
- updatedAt?: number;
219
- }
220
- export interface WorkspaceAnchor {
221
- /** 该工作区的显示名。 */
222
- title: string;
223
- /** 用来 list / read 的会话 id(该工作区最近一个会话)。 */
224
- sessionId: string;
225
- }
226
- /**
227
- * 从宿主工作区清单里挑一个**真实浏览锚点**:最近更新过、且有会话的工作区。
228
- *
229
- * `workspaceFiles` 是会话作用域服务(list/read 都要 sessionId),所以「打开文件夹」必须先
230
- * 落到一个真会话上 —— 这里是它的唯一落点。
231
- *
232
- * @param items 宿主工作区清单(真实快照)。
233
- * @returns 锚点;清单为空 / 都没有会话则返回 null。
234
- */
235
- export declare function pickWorkspaceAnchor(items: readonly WorkspaceAnchorItem[]): WorkspaceAnchor | null;
236
- /**
237
- * 按**工作区 title** 取浏览锚点会话(`workspaceAnchors` 里该 title 最近一个会话)。
238
- *
239
- * 与 `workspaceAnchorForPath`(按路径匹配)互补:调用方有 title 归属信息时用这个
240
- * (兄弟项目 `GET /options` 的 `Record<title, 会话id>` 同口径,无歧义);
241
- * 只有裸绝对路径时才走路径匹配。没有该 title / 没有会话 ⇒ null。
242
- */
243
- export declare function anchorSessionForTitle(items: readonly WorkspaceAnchorItem[], title: string): string | null;
244
- /**
245
- * 目标**绝对路径**落在哪个工作区 ⇒ 该工作区最近一个会话 id(list 的 sessionId)。
246
- *
247
- * 为什么需要:`workspaceFiles.list` 是会话作用域服务(按 sessionId 解析工作区根,目录 confinement
248
- * 检查 `contains(root, target)`,官方 `lib/index.js:576-583`)。调用方只甩一个绝对路径进来时,
249
- * 默认 sessionId 的工作区根未必含它 ⇒ 官方报 `outside-workspace` ⇒ 面板整条退化成只读。
250
- * 这里把「路径 → 工作区 → 会话」的解析收敛到核心,调用方只需把宿主工作区清单(带 path)传进来。
251
- *
252
- * 口径:**最长前缀**赢(嵌套工作区取最具体的);尾斜杠归一;字面大小写(宿主 path 与调用方
253
- * 路径同源,不做大小写折叠——Windows 跨形态比较是调用方归一的责任)。
254
- * shortcut: 只解一次(入口 path),不跟踪 dir 切换;跨工作区跳转由调用方经 onSelectWorkspace 处理。
255
- *
256
- * @returns 锚点;无 path 字段 / 都不匹配 / 命中工作区没有会话 ⇒ null(调用方回落默认 sessionId)。
257
- */
258
- export declare function workspaceAnchorForPath(path: string, items: readonly WorkspaceAnchorItem[]): WorkspaceAnchor | null;
259
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/explorer/types.ts"],"names":[],"mappings":"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"}