@stigmer/react 3.1.1 → 3.1.2

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 (426) hide show
  1. package/composer/SessionComposer.d.ts +24 -1
  2. package/composer/SessionComposer.d.ts.map +1 -1
  3. package/composer/SessionComposer.js +19 -8
  4. package/composer/SessionComposer.js.map +1 -1
  5. package/execution/ArtifactContentRenderer.d.ts +11 -1
  6. package/execution/ArtifactContentRenderer.d.ts.map +1 -1
  7. package/execution/ArtifactContentRenderer.js +39 -15
  8. package/execution/ArtifactContentRenderer.js.map +1 -1
  9. package/execution/FilePathContext.d.ts +8 -1
  10. package/execution/FilePathContext.d.ts.map +1 -1
  11. package/execution/FilePathContext.js.map +1 -1
  12. package/execution/FilePathLink.d.ts.map +1 -1
  13. package/execution/FilePathLink.js +21 -6
  14. package/execution/FilePathLink.js.map +1 -1
  15. package/execution/MessageEntry.d.ts +29 -0
  16. package/execution/MessageEntry.d.ts.map +1 -1
  17. package/execution/MessageEntry.js +29 -5
  18. package/execution/MessageEntry.js.map +1 -1
  19. package/execution/MessageThread.d.ts +76 -13
  20. package/execution/MessageThread.d.ts.map +1 -1
  21. package/execution/MessageThread.js +178 -24
  22. package/execution/MessageThread.js.map +1 -1
  23. package/execution/PlanArtifactCard.d.ts +27 -18
  24. package/execution/PlanArtifactCard.d.ts.map +1 -1
  25. package/execution/PlanArtifactCard.js +13 -23
  26. package/execution/PlanArtifactCard.js.map +1 -1
  27. package/execution/PlanDocumentMessage.d.ts +32 -0
  28. package/execution/PlanDocumentMessage.d.ts.map +1 -0
  29. package/execution/PlanDocumentMessage.js +37 -0
  30. package/execution/PlanDocumentMessage.js.map +1 -0
  31. package/execution/PlanStreamingCard.d.ts +45 -0
  32. package/execution/PlanStreamingCard.d.ts.map +1 -0
  33. package/execution/PlanStreamingCard.js +35 -0
  34. package/execution/PlanStreamingCard.js.map +1 -0
  35. package/execution/index.d.ts +5 -1
  36. package/execution/index.d.ts.map +1 -1
  37. package/execution/index.js +2 -0
  38. package/execution/index.js.map +1 -1
  39. package/execution/useCreateAgentExecution.d.ts +10 -0
  40. package/execution/useCreateAgentExecution.d.ts.map +1 -1
  41. package/execution/useCreateAgentExecution.js +5 -1
  42. package/execution/useCreateAgentExecution.js.map +1 -1
  43. package/github/decodeGitHubContent.d.ts +29 -0
  44. package/github/decodeGitHubContent.d.ts.map +1 -0
  45. package/github/decodeGitHubContent.js +72 -0
  46. package/github/decodeGitHubContent.js.map +1 -0
  47. package/github/index.d.ts +1 -0
  48. package/github/index.d.ts.map +1 -1
  49. package/github/index.js +1 -0
  50. package/github/index.js.map +1 -1
  51. package/github/useGitHubFileReader.d.ts +26 -0
  52. package/github/useGitHubFileReader.d.ts.map +1 -0
  53. package/github/useGitHubFileReader.js +106 -0
  54. package/github/useGitHubFileReader.js.map +1 -0
  55. package/github/useGitHubTreeLister.d.ts.map +1 -1
  56. package/github/useGitHubTreeLister.js +6 -2
  57. package/github/useGitHubTreeLister.js.map +1 -1
  58. package/index.d.ts +9 -9
  59. package/index.d.ts.map +1 -1
  60. package/index.js +5 -5
  61. package/index.js.map +1 -1
  62. package/internal/ResizableSplit.d.ts +72 -22
  63. package/internal/ResizableSplit.d.ts.map +1 -1
  64. package/internal/ResizableSplit.js +96 -38
  65. package/internal/ResizableSplit.js.map +1 -1
  66. package/internal/VirtualizedThread.d.ts +5 -3
  67. package/internal/VirtualizedThread.d.ts.map +1 -1
  68. package/internal/VirtualizedThread.js +6 -4
  69. package/internal/VirtualizedThread.js.map +1 -1
  70. package/internal/file-icons/index.d.ts +17 -0
  71. package/internal/file-icons/index.d.ts.map +1 -0
  72. package/internal/file-icons/index.js +60 -0
  73. package/internal/file-icons/index.js.map +1 -0
  74. package/internal/file-tree/FileTreeNode.d.ts +18 -1
  75. package/internal/file-tree/FileTreeNode.d.ts.map +1 -1
  76. package/internal/file-tree/FileTreeNode.js +11 -2
  77. package/internal/file-tree/FileTreeNode.js.map +1 -1
  78. package/internal/markdown-components.d.ts +38 -1
  79. package/internal/markdown-components.d.ts.map +1 -1
  80. package/internal/markdown-components.js +86 -11
  81. package/internal/markdown-components.js.map +1 -1
  82. package/{workflow → internal}/motion-preference.d.ts +7 -4
  83. package/internal/motion-preference.d.ts.map +1 -0
  84. package/{workflow → internal}/motion-preference.js +7 -4
  85. package/internal/motion-preference.js.map +1 -0
  86. package/internal/store/index.d.ts +33 -0
  87. package/internal/store/index.d.ts.map +1 -1
  88. package/internal/store/index.js +59 -0
  89. package/internal/store/index.js.map +1 -1
  90. package/internal/store/workspace-editors-store.d.ts +145 -0
  91. package/internal/store/workspace-editors-store.d.ts.map +1 -0
  92. package/internal/store/workspace-editors-store.js +208 -0
  93. package/internal/store/workspace-editors-store.js.map +1 -0
  94. package/internal/store/workspace-file-selection-store.d.ts +38 -0
  95. package/internal/store/workspace-file-selection-store.d.ts.map +1 -0
  96. package/internal/store/workspace-file-selection-store.js +62 -0
  97. package/internal/store/workspace-file-selection-store.js.map +1 -0
  98. package/internal/useRevealLine.d.ts +49 -0
  99. package/internal/useRevealLine.d.ts.map +1 -0
  100. package/internal/useRevealLine.js +43 -0
  101. package/internal/useRevealLine.js.map +1 -0
  102. package/library/detect-plan-artifact.d.ts +21 -0
  103. package/library/detect-plan-artifact.d.ts.map +1 -1
  104. package/library/detect-plan-artifact.js +20 -0
  105. package/library/detect-plan-artifact.js.map +1 -1
  106. package/library/detect-streaming-plan.d.ts +45 -0
  107. package/library/detect-streaming-plan.d.ts.map +1 -0
  108. package/library/detect-streaming-plan.js +83 -0
  109. package/library/detect-streaming-plan.js.map +1 -0
  110. package/library/index.d.ts +4 -1
  111. package/library/index.d.ts.map +1 -1
  112. package/library/index.js +2 -1
  113. package/library/index.js.map +1 -1
  114. package/package.json +4 -4
  115. package/session/NewSessionViewer.d.ts +19 -4
  116. package/session/NewSessionViewer.d.ts.map +1 -1
  117. package/session/NewSessionViewer.js +52 -25
  118. package/session/NewSessionViewer.js.map +1 -1
  119. package/session/PlanEditor.d.ts +55 -0
  120. package/session/PlanEditor.d.ts.map +1 -0
  121. package/session/PlanEditor.js +88 -0
  122. package/session/PlanEditor.js.map +1 -0
  123. package/session/PlanStreamingDocument.d.ts +30 -0
  124. package/session/PlanStreamingDocument.d.ts.map +1 -0
  125. package/session/PlanStreamingDocument.js +37 -0
  126. package/session/PlanStreamingDocument.js.map +1 -0
  127. package/session/SessionPanelChip.d.ts +26 -0
  128. package/session/SessionPanelChip.d.ts.map +1 -0
  129. package/session/SessionPanelChip.js +40 -0
  130. package/session/SessionPanelChip.js.map +1 -0
  131. package/session/SessionViewer.d.ts +34 -7
  132. package/session/SessionViewer.d.ts.map +1 -1
  133. package/session/SessionViewer.js +315 -33
  134. package/session/SessionViewer.js.map +1 -1
  135. package/session/{inspector → facets}/ArtifactsTab.d.ts +10 -2
  136. package/session/facets/ArtifactsTab.d.ts.map +1 -0
  137. package/session/{inspector → facets}/ArtifactsTab.js +8 -3
  138. package/session/facets/ArtifactsTab.js.map +1 -0
  139. package/session/{inspector → facets}/ChangesTab.d.ts +3 -3
  140. package/session/facets/ChangesTab.d.ts.map +1 -0
  141. package/session/{inspector → facets}/ChangesTab.js +3 -3
  142. package/session/facets/ChangesTab.js.map +1 -0
  143. package/session/facets/InspectTab.d.ts.map +1 -0
  144. package/session/facets/InspectTab.js.map +1 -0
  145. package/session/{inspector → facets}/SetupTab.d.ts +11 -2
  146. package/session/facets/SetupTab.d.ts.map +1 -0
  147. package/session/{inspector → facets}/SetupTab.js +4 -3
  148. package/session/facets/SetupTab.js.map +1 -0
  149. package/session/{inspector → facets}/UsageTab.d.ts +1 -1
  150. package/session/facets/UsageTab.d.ts.map +1 -0
  151. package/session/{inspector → facets}/UsageTab.js +1 -1
  152. package/session/facets/UsageTab.js.map +1 -0
  153. package/session/{inspector → facets}/index.d.ts +0 -6
  154. package/session/facets/index.d.ts.map +1 -0
  155. package/session/{inspector → facets}/index.js +0 -3
  156. package/session/facets/index.js.map +1 -0
  157. package/session/index.d.ts +11 -2
  158. package/session/index.d.ts.map +1 -1
  159. package/session/index.js +15 -2
  160. package/session/index.js.map +1 -1
  161. package/session/plan-document.d.ts +9 -0
  162. package/session/plan-document.d.ts.map +1 -0
  163. package/session/plan-document.js +17 -0
  164. package/session/plan-document.js.map +1 -0
  165. package/session/useOpenFileChange.d.ts +20 -0
  166. package/session/useOpenFileChange.d.ts.map +1 -0
  167. package/session/useOpenFileChange.js +31 -0
  168. package/session/useOpenFileChange.js.map +1 -0
  169. package/session/usePlanDraft.d.ts +52 -0
  170. package/session/usePlanDraft.d.ts.map +1 -0
  171. package/session/usePlanDraft.js +63 -0
  172. package/session/usePlanDraft.js.map +1 -0
  173. package/session/useSessionConversation.d.ts +6 -0
  174. package/session/useSessionConversation.d.ts.map +1 -1
  175. package/session/useSessionConversation.js +1 -0
  176. package/session/useSessionConversation.js.map +1 -1
  177. package/session/useSessionPageFlow.d.ts.map +1 -1
  178. package/session/useSessionPageFlow.js +1 -0
  179. package/session/useSessionPageFlow.js.map +1 -1
  180. package/session/useSessionPanel.d.ts +120 -0
  181. package/session/useSessionPanel.d.ts.map +1 -0
  182. package/session/useSessionPanel.js +130 -0
  183. package/session/useSessionPanel.js.map +1 -0
  184. package/session/useSessionRailViews.d.ts +45 -0
  185. package/session/useSessionRailViews.d.ts.map +1 -0
  186. package/session/useSessionRailViews.js +105 -0
  187. package/session/useSessionRailViews.js.map +1 -0
  188. package/src/composer/SessionComposer.tsx +52 -10
  189. package/src/composer/__tests__/SessionComposer-contract.test.tsx +58 -4
  190. package/src/execution/ArtifactContentRenderer.tsx +101 -24
  191. package/src/execution/FilePathContext.tsx +8 -1
  192. package/src/execution/FilePathLink.tsx +22 -6
  193. package/src/execution/MessageEntry.tsx +111 -1
  194. package/src/execution/MessageThread.tsx +291 -36
  195. package/src/execution/PlanArtifactCard.tsx +63 -31
  196. package/src/execution/PlanDocumentMessage.tsx +96 -0
  197. package/src/execution/PlanStreamingCard.tsx +137 -0
  198. package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +80 -1
  199. package/src/execution/__tests__/FilePathLink.test.tsx +87 -0
  200. package/src/execution/__tests__/MessageThread.test.tsx +101 -0
  201. package/src/execution/__tests__/PlanArtifactCard.test.tsx +66 -12
  202. package/src/execution/__tests__/PlanDocumentMessage.test.tsx +55 -0
  203. package/src/execution/__tests__/PlanStreamingCard.test.tsx +49 -0
  204. package/src/execution/__tests__/buildThreadItems-plan-completion.test.ts +504 -22
  205. package/src/execution/__tests__/message-entry.test.tsx +48 -0
  206. package/src/execution/__tests__/useCreateAgentExecution.test.tsx +85 -0
  207. package/src/execution/index.ts +7 -1
  208. package/src/execution/useCreateAgentExecution.ts +16 -1
  209. package/src/github/__tests__/decodeGitHubContent.test.ts +102 -0
  210. package/src/github/__tests__/useGitHubFileReader.test.ts +183 -0
  211. package/src/github/decodeGitHubContent.ts +83 -0
  212. package/src/github/index.ts +1 -0
  213. package/src/github/useGitHubFileReader.ts +152 -0
  214. package/src/github/useGitHubTreeLister.ts +6 -2
  215. package/src/index.ts +63 -9
  216. package/src/internal/ResizableSplit.tsx +184 -51
  217. package/src/internal/VirtualizedThread.tsx +12 -4
  218. package/src/internal/__tests__/ResizableSplit.test.tsx +125 -3
  219. package/src/internal/__tests__/markdown-components.test.tsx +68 -0
  220. package/src/internal/__tests__/useRevealLine.test.tsx +97 -0
  221. package/src/internal/file-icons/__tests__/file-icons.test.tsx +35 -0
  222. package/src/internal/file-icons/index.tsx +137 -0
  223. package/src/internal/file-tree/FileTreeNode.tsx +43 -3
  224. package/src/internal/file-tree/__tests__/FileTreeNode-explorer.test.tsx +86 -0
  225. package/src/internal/markdown-components.tsx +116 -11
  226. package/src/{workflow → internal}/motion-preference.ts +7 -4
  227. package/src/internal/store/__tests__/workspace-editors-store.test.ts +216 -0
  228. package/src/internal/store/__tests__/workspace-file-selection-store.test.ts +118 -0
  229. package/src/internal/store/index.ts +94 -0
  230. package/src/internal/store/workspace-editors-store.ts +315 -0
  231. package/src/internal/store/workspace-file-selection-store.ts +88 -0
  232. package/src/internal/useRevealLine.ts +81 -0
  233. package/src/library/__tests__/detect-plan-artifact.test.ts +48 -0
  234. package/src/library/__tests__/detect-streaming-plan.test.ts +234 -0
  235. package/src/library/detect-plan-artifact.ts +35 -0
  236. package/src/library/detect-streaming-plan.ts +108 -0
  237. package/src/library/index.ts +5 -0
  238. package/src/session/NewSessionViewer.tsx +123 -55
  239. package/src/session/PlanEditor.tsx +361 -0
  240. package/src/session/PlanStreamingDocument.tsx +97 -0
  241. package/src/session/SessionPanelChip.tsx +103 -0
  242. package/src/session/SessionViewer.tsx +617 -90
  243. package/src/session/__tests__/NewSessionViewer.test.tsx +148 -0
  244. package/src/session/__tests__/PlanEditor.test.tsx +217 -0
  245. package/src/session/__tests__/PlanStreamingDocument.test.tsx +50 -0
  246. package/src/session/__tests__/SessionPanelChip.test.tsx +42 -0
  247. package/src/session/__tests__/SessionViewer-fileReviewDock.test.tsx +9 -4
  248. package/src/session/__tests__/SessionViewer-transcriptFileOpen.test.tsx +205 -0
  249. package/src/session/__tests__/audienceWiring.test.tsx +55 -19
  250. package/src/session/__tests__/useOpenFileChange.test.tsx +82 -0
  251. package/src/session/__tests__/usePlanDraft.test.ts +102 -0
  252. package/src/session/__tests__/useSessionPanel.test.ts +298 -0
  253. package/src/session/__tests__/useSessionRailViews.test.tsx +124 -0
  254. package/src/session/{inspector → facets}/ArtifactsTab.tsx +27 -5
  255. package/src/session/{inspector → facets}/ChangesTab.tsx +3 -3
  256. package/src/session/{inspector → facets}/SetupTab.tsx +13 -1
  257. package/src/session/{inspector → facets}/UsageTab.tsx +1 -1
  258. package/src/session/{inspector → facets}/__tests__/ArtifactsTab.test.tsx +35 -1
  259. package/src/session/facets/__tests__/SetupTab.test.tsx +44 -0
  260. package/src/session/{inspector → facets}/index.ts +0 -16
  261. package/src/session/index.ts +30 -13
  262. package/src/session/plan-document.ts +19 -0
  263. package/src/session/useOpenFileChange.ts +53 -0
  264. package/src/session/usePlanDraft.ts +109 -0
  265. package/src/session/useSessionConversation.ts +7 -0
  266. package/src/session/useSessionPageFlow.ts +1 -0
  267. package/src/session/useSessionPanel.ts +288 -0
  268. package/src/session/useSessionRailViews.tsx +200 -0
  269. package/src/workflow/WorkflowExecutionGraph.tsx +1 -1
  270. package/src/workflow/index.ts +1 -1
  271. package/src/workflow/useFollowExecution.ts +1 -1
  272. package/src/workspace/EditorTabs.tsx +145 -0
  273. package/src/workspace/ExplorerTree.tsx +247 -0
  274. package/src/workspace/FileViewer.tsx +516 -0
  275. package/src/workspace/WorkspaceContentSearch.tsx +478 -0
  276. package/src/workspace/WorkspaceContentSearcher.ts +70 -0
  277. package/src/workspace/WorkspaceFileLister.ts +11 -0
  278. package/src/workspace/WorkspaceFileReader.ts +57 -0
  279. package/src/workspace/WorkspaceFileSearch.tsx +429 -0
  280. package/src/workspace/WorkspaceSurface.tsx +781 -0
  281. package/src/workspace/__tests__/EditorTabs.test.tsx +100 -0
  282. package/src/workspace/__tests__/ExplorerTree.test.tsx +152 -0
  283. package/src/workspace/__tests__/FileViewer.test.tsx +421 -0
  284. package/src/workspace/__tests__/WorkspaceContentSearch.test.tsx +196 -0
  285. package/src/workspace/__tests__/WorkspaceFileSearch.test.tsx +206 -0
  286. package/src/workspace/__tests__/WorkspaceSurface.test.tsx +348 -0
  287. package/src/workspace/__tests__/findChangeForSelection.test.ts +132 -0
  288. package/src/workspace/__tests__/matchContentPreview.test.ts +55 -0
  289. package/src/workspace/__tests__/matchWorkspaceFiles.test.ts +104 -0
  290. package/src/workspace/__tests__/resolveWorkspaceFileSelection.test.ts +135 -0
  291. package/src/workspace/__tests__/useWorkspaceContentSearch.test.tsx +196 -0
  292. package/src/workspace/__tests__/useWorkspaceFileContent.test.tsx +190 -0
  293. package/src/workspace/__tests__/useWorkspaceFileSearch.test.tsx +162 -0
  294. package/src/workspace/findChangeForSelection.ts +61 -0
  295. package/src/workspace/index.ts +56 -2
  296. package/src/workspace/matchContentPreview.ts +51 -0
  297. package/src/workspace/matchWorkspaceFiles.ts +86 -0
  298. package/src/workspace/resolveWorkspaceFileSelection.ts +119 -0
  299. package/src/workspace/useWorkspaceContentSearch.ts +228 -0
  300. package/src/workspace/useWorkspaceFileContent.ts +129 -0
  301. package/src/workspace/useWorkspaceFileSearch.ts +184 -0
  302. package/src/workspace/useWorkspaceFiles.ts +27 -27
  303. package/src/workspace/workspaceListingCache.ts +93 -0
  304. package/styles.css +1 -1
  305. package/workflow/WorkflowExecutionGraph.js +1 -1
  306. package/workflow/WorkflowExecutionGraph.js.map +1 -1
  307. package/workflow/index.d.ts +1 -1
  308. package/workflow/index.d.ts.map +1 -1
  309. package/workflow/index.js +1 -1
  310. package/workflow/index.js.map +1 -1
  311. package/workflow/useFollowExecution.js +1 -1
  312. package/workflow/useFollowExecution.js.map +1 -1
  313. package/workspace/EditorTabs.d.ts +29 -0
  314. package/workspace/EditorTabs.d.ts.map +1 -0
  315. package/workspace/EditorTabs.js +66 -0
  316. package/workspace/EditorTabs.js.map +1 -0
  317. package/workspace/ExplorerTree.d.ts +32 -0
  318. package/workspace/ExplorerTree.d.ts.map +1 -0
  319. package/workspace/ExplorerTree.js +45 -0
  320. package/workspace/ExplorerTree.js.map +1 -0
  321. package/workspace/FileViewer.d.ts +93 -0
  322. package/workspace/FileViewer.d.ts.map +1 -0
  323. package/workspace/FileViewer.js +182 -0
  324. package/workspace/FileViewer.js.map +1 -0
  325. package/workspace/WorkspaceContentSearch.d.ts +41 -0
  326. package/workspace/WorkspaceContentSearch.d.ts.map +1 -0
  327. package/workspace/WorkspaceContentSearch.js +195 -0
  328. package/workspace/WorkspaceContentSearch.js.map +1 -0
  329. package/workspace/WorkspaceContentSearcher.d.ts +59 -0
  330. package/workspace/WorkspaceContentSearcher.d.ts.map +1 -0
  331. package/workspace/WorkspaceContentSearcher.js +7 -0
  332. package/workspace/WorkspaceContentSearcher.js.map +1 -0
  333. package/workspace/WorkspaceFileLister.d.ts +11 -0
  334. package/workspace/WorkspaceFileLister.d.ts.map +1 -1
  335. package/workspace/WorkspaceFileReader.d.ts +48 -0
  336. package/workspace/WorkspaceFileReader.d.ts.map +1 -0
  337. package/workspace/WorkspaceFileReader.js +11 -0
  338. package/workspace/WorkspaceFileReader.js.map +1 -0
  339. package/workspace/WorkspaceFileSearch.d.ts +32 -0
  340. package/workspace/WorkspaceFileSearch.d.ts.map +1 -0
  341. package/workspace/WorkspaceFileSearch.js +155 -0
  342. package/workspace/WorkspaceFileSearch.js.map +1 -0
  343. package/workspace/WorkspaceSurface.d.ts +151 -0
  344. package/workspace/WorkspaceSurface.d.ts.map +1 -0
  345. package/workspace/WorkspaceSurface.js +184 -0
  346. package/workspace/WorkspaceSurface.js.map +1 -0
  347. package/workspace/findChangeForSelection.d.ts +19 -0
  348. package/workspace/findChangeForSelection.d.ts.map +1 -0
  349. package/workspace/findChangeForSelection.js +46 -0
  350. package/workspace/findChangeForSelection.js.map +1 -0
  351. package/workspace/index.d.ts +24 -2
  352. package/workspace/index.d.ts.map +1 -1
  353. package/workspace/index.js +13 -1
  354. package/workspace/index.js.map +1 -1
  355. package/workspace/matchContentPreview.d.ts +21 -0
  356. package/workspace/matchContentPreview.d.ts.map +1 -0
  357. package/workspace/matchContentPreview.js +36 -0
  358. package/workspace/matchContentPreview.js.map +1 -0
  359. package/workspace/matchWorkspaceFiles.d.ts +30 -0
  360. package/workspace/matchWorkspaceFiles.d.ts.map +1 -0
  361. package/workspace/matchWorkspaceFiles.js +58 -0
  362. package/workspace/matchWorkspaceFiles.js.map +1 -0
  363. package/workspace/resolveWorkspaceFileSelection.d.ts +19 -0
  364. package/workspace/resolveWorkspaceFileSelection.d.ts.map +1 -0
  365. package/workspace/resolveWorkspaceFileSelection.js +115 -0
  366. package/workspace/resolveWorkspaceFileSelection.js.map +1 -0
  367. package/workspace/useWorkspaceContentSearch.d.ts +69 -0
  368. package/workspace/useWorkspaceContentSearch.d.ts.map +1 -0
  369. package/workspace/useWorkspaceContentSearch.js +154 -0
  370. package/workspace/useWorkspaceContentSearch.js.map +1 -0
  371. package/workspace/useWorkspaceFileContent.d.ts +73 -0
  372. package/workspace/useWorkspaceFileContent.d.ts.map +1 -0
  373. package/workspace/useWorkspaceFileContent.js +57 -0
  374. package/workspace/useWorkspaceFileContent.js.map +1 -0
  375. package/workspace/useWorkspaceFileSearch.d.ts +61 -0
  376. package/workspace/useWorkspaceFileSearch.d.ts.map +1 -0
  377. package/workspace/useWorkspaceFileSearch.js +119 -0
  378. package/workspace/useWorkspaceFileSearch.js.map +1 -0
  379. package/workspace/useWorkspaceFiles.d.ts +13 -5
  380. package/workspace/useWorkspaceFiles.d.ts.map +1 -1
  381. package/workspace/useWorkspaceFiles.js +18 -19
  382. package/workspace/useWorkspaceFiles.js.map +1 -1
  383. package/workspace/workspaceListingCache.d.ts +47 -0
  384. package/workspace/workspaceListingCache.d.ts.map +1 -0
  385. package/workspace/workspaceListingCache.js +55 -0
  386. package/workspace/workspaceListingCache.js.map +1 -0
  387. package/session/inspector/ArtifactsTab.d.ts.map +0 -1
  388. package/session/inspector/ArtifactsTab.js.map +0 -1
  389. package/session/inspector/ChangesTab.d.ts.map +0 -1
  390. package/session/inspector/ChangesTab.js.map +0 -1
  391. package/session/inspector/InspectTab.d.ts.map +0 -1
  392. package/session/inspector/InspectTab.js.map +0 -1
  393. package/session/inspector/SessionInspector.d.ts +0 -64
  394. package/session/inspector/SessionInspector.d.ts.map +0 -1
  395. package/session/inspector/SessionInspector.js +0 -53
  396. package/session/inspector/SessionInspector.js.map +0 -1
  397. package/session/inspector/SetupTab.d.ts.map +0 -1
  398. package/session/inspector/SetupTab.js.map +0 -1
  399. package/session/inspector/UsageTab.d.ts.map +0 -1
  400. package/session/inspector/UsageTab.js.map +0 -1
  401. package/session/inspector/WorkspaceTab.d.ts +0 -35
  402. package/session/inspector/WorkspaceTab.d.ts.map +0 -1
  403. package/session/inspector/WorkspaceTab.js +0 -75
  404. package/session/inspector/WorkspaceTab.js.map +0 -1
  405. package/session/inspector/index.d.ts.map +0 -1
  406. package/session/inspector/index.js.map +0 -1
  407. package/session/inspector/useSessionInspector.d.ts +0 -49
  408. package/session/inspector/useSessionInspector.d.ts.map +0 -1
  409. package/session/inspector/useSessionInspector.js +0 -122
  410. package/session/inspector/useSessionInspector.js.map +0 -1
  411. package/src/session/inspector/SessionInspector.tsx +0 -162
  412. package/src/session/inspector/WorkspaceTab.tsx +0 -245
  413. package/src/session/inspector/__tests__/useSessionInspector.test.ts +0 -251
  414. package/src/session/inspector/useSessionInspector.ts +0 -178
  415. package/src/workspace/WorkspaceEntryFiles.tsx +0 -196
  416. package/workflow/motion-preference.d.ts.map +0 -1
  417. package/workflow/motion-preference.js.map +0 -1
  418. package/workspace/WorkspaceEntryFiles.d.ts +0 -22
  419. package/workspace/WorkspaceEntryFiles.d.ts.map +0 -1
  420. package/workspace/WorkspaceEntryFiles.js +0 -58
  421. package/workspace/WorkspaceEntryFiles.js.map +0 -1
  422. /package/session/{inspector → facets}/InspectTab.d.ts +0 -0
  423. /package/session/{inspector → facets}/InspectTab.js +0 -0
  424. /package/src/{workflow → internal}/__tests__/motion-preference.test.ts +0 -0
  425. /package/src/session/{inspector → facets}/InspectTab.tsx +0 -0
  426. /package/src/session/{inspector → facets}/__tests__/ChangesTab.test.tsx +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanEditor.js","sourceRoot":"","sources":["../../src/session/PlanEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /** Props for {@link PlanStreamingDocument}. */
2
+ export interface PlanStreamingDocumentProps {
3
+ /**
4
+ * The live plan text, already fence-stripped by `findStreamingPlan`
5
+ * (`StreamingPlan.displayText`). Grows on every stream commit.
6
+ */
7
+ readonly displayText: string;
8
+ }
9
+ /**
10
+ * The plan document tab's LIVE view: renders the plan as it streams, before
11
+ * any artifact exists. The streaming counterpart of {@link PlanEditor} — same
12
+ * centered document column, same header-lifted title, same plan-document
13
+ * typography — so the moment the turn completes and the artifact-backed
14
+ * editor takes over, the document simply stops moving rather than changing
15
+ * shape.
16
+ *
17
+ * Deliberately capability-free: no view tabs, no Edit, no Build — a plan in
18
+ * flight cannot be edited or implemented, and offering dead controls would
19
+ * misstate the turn's state. A "Writing…" status pill stands where the
20
+ * editor's toolbar will appear.
21
+ *
22
+ * Rendering goes through `Streamdown` (the same streaming-aware renderer the
23
+ * thread's `AiMessage` uses: block-level memoization, incomplete-syntax
24
+ * healing, animated caret) rather than `PlanEditor`'s static markdown — this
25
+ * component re-renders on every stream commit by design.
26
+ *
27
+ * All visual properties flow through `--stgm-*` tokens.
28
+ */
29
+ export declare function PlanStreamingDocument({ displayText, }: PlanStreamingDocumentProps): import("react/jsx-runtime").JSX.Element;
30
+ //# sourceMappingURL=PlanStreamingDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanStreamingDocument.d.ts","sourceRoot":"","sources":["../../src/session/PlanStreamingDocument.tsx"],"names":[],"mappings":"AASA,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,WAAW,GACZ,EAAE,0BAA0B,2CA2C5B"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import { Streamdown } from "streamdown";
5
+ import { PLAN_DOCUMENT_MARKDOWN_COMPONENTS, extractLeadingH1, } from "../internal/markdown-components.js";
6
+ /**
7
+ * The plan document tab's LIVE view: renders the plan as it streams, before
8
+ * any artifact exists. The streaming counterpart of {@link PlanEditor} — same
9
+ * centered document column, same header-lifted title, same plan-document
10
+ * typography — so the moment the turn completes and the artifact-backed
11
+ * editor takes over, the document simply stops moving rather than changing
12
+ * shape.
13
+ *
14
+ * Deliberately capability-free: no view tabs, no Edit, no Build — a plan in
15
+ * flight cannot be edited or implemented, and offering dead controls would
16
+ * misstate the turn's state. A "Writing…" status pill stands where the
17
+ * editor's toolbar will appear.
18
+ *
19
+ * Rendering goes through `Streamdown` (the same streaming-aware renderer the
20
+ * thread's `AiMessage` uses: block-level memoization, incomplete-syntax
21
+ * healing, animated caret) rather than `PlanEditor`'s static markdown — this
22
+ * component re-renders on every stream commit by design.
23
+ *
24
+ * All visual properties flow through `--stgm-*` tokens.
25
+ */
26
+ export function PlanStreamingDocument({ displayText, }) {
27
+ const { title, body } = useMemo(() => extractLeadingH1(displayText), [displayText]);
28
+ return (_jsxs("div", { role: "article", "aria-label": "Plan document", "aria-busy": "true", className: "mx-auto flex w-full max-w-3xl flex-col gap-3 px-4 py-3", children: [_jsx("div", { className: "flex min-w-0 flex-wrap items-center gap-2", children: _jsxs("span", { role: "status", className: "inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-0.5 text-[0.65rem] font-medium text-muted-foreground", children: [_jsx(WritingDot, {}), "Writing\u2026"] }) }), _jsxs("div", { className: "overflow-hidden rounded-lg border border-border-muted bg-card", children: [title && (_jsx("header", { className: "border-b border-border-muted bg-muted-faint px-4 py-2.5", children: _jsx("span", { className: "block truncate text-sm font-semibold text-foreground", children: title }) })), _jsx("div", { className: "stgm-prose px-4 py-4", children: _jsx(Streamdown, { components: PLAN_DOCUMENT_MARKDOWN_COMPONENTS, isAnimating: true, caret: "block", children: body }) })] })] }));
29
+ }
30
+ /**
31
+ * The pill's pulsing dot — a CSS animation inside `.stgm`, covered by the
32
+ * stylesheet's global `prefers-reduced-motion` rule (DD-015).
33
+ */
34
+ function WritingDot() {
35
+ return (_jsx("span", { "aria-hidden": "true", className: "size-1.5 animate-pulse rounded-full bg-primary" }));
36
+ }
37
+ //# sourceMappingURL=PlanStreamingDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanStreamingDocument.js","sourceRoot":"","sources":["../../src/session/PlanStreamingDocument.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAW5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,WAAW,GACgB;IAC3B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACnC,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO,CACL,eACE,IAAI,EAAC,SAAS,gBACH,eAAe,eAChB,MAAM,EAChB,SAAS,EAAC,wDAAwD,aAElE,cAAK,SAAS,EAAC,2CAA2C,YACxD,gBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,mHAAmH,aAE7H,KAAC,UAAU,KAAG,qBAET,GACH,EAEN,eAAK,SAAS,EAAC,+DAA+D,aAC3E,KAAK,IAAI,CACR,iBAAQ,SAAS,EAAC,yDAAyD,YACzE,eAAM,SAAS,EAAC,sDAAsD,YACnE,KAAK,GACD,GACA,CACV,EACD,cAAK,SAAS,EAAC,sBAAsB,YACnC,KAAC,UAAU,IACT,UAAU,EAAE,iCAAiC,EAC7C,WAAW,QACX,KAAK,EAAC,OAAO,YAEZ,IAAI,GACM,GACT,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU;IACjB,OAAO,CACL,8BACc,MAAM,EAClB,SAAS,EAAC,gDAAgD,GAC1D,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ /** Props for {@link SessionPanelChip}. */
2
+ export interface SessionPanelChipProps {
3
+ /** Whether the panel is currently expanded. */
4
+ readonly isOpen: boolean;
5
+ /** Toggles the panel open/collapsed. */
6
+ readonly onToggle: () => void;
7
+ /**
8
+ * Aggregate count of facet items (write-backs + artifacts) awaiting the
9
+ * user. Rendered as a dot-count while collapsed — the panel's only "something
10
+ * arrived" signal, since arrivals never auto-open the panel.
11
+ */
12
+ readonly badgeCount?: number;
13
+ }
14
+ /**
15
+ * The always-mounted top-right toggle for the unified session panel — the
16
+ * Cursor "Show panel" chip. Collapsed, it carries the pending-item count;
17
+ * open, it is the hide affordance. Being a small leaf, it is also the one
18
+ * place that may safely carry per-arrival re-renders while the panel subtree
19
+ * is unmounted. Execution status deliberately does not surface here (or
20
+ * anywhere else in the viewer chrome) — the thread itself communicates run
21
+ * state.
22
+ *
23
+ * All visual properties flow through `--stgm-*` tokens (DD-005).
24
+ */
25
+ export declare function SessionPanelChip({ isOpen, onToggle, badgeCount, }: SessionPanelChipProps): import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=SessionPanelChip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionPanelChip.d.ts","sourceRoot":"","sources":["../../src/session/SessionPanelChip.tsx"],"names":[],"mappings":"AAKA,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,UAAU,GACX,EAAE,qBAAqB,2CA0CvB"}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useRef } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ /**
6
+ * The always-mounted top-right toggle for the unified session panel — the
7
+ * Cursor "Show panel" chip. Collapsed, it carries the pending-item count;
8
+ * open, it is the hide affordance. Being a small leaf, it is also the one
9
+ * place that may safely carry per-arrival re-renders while the panel subtree
10
+ * is unmounted. Execution status deliberately does not surface here (or
11
+ * anywhere else in the viewer chrome) — the thread itself communicates run
12
+ * state.
13
+ *
14
+ * All visual properties flow through `--stgm-*` tokens (DD-005).
15
+ */
16
+ export function SessionPanelChip({ isOpen, onToggle, badgeCount, }) {
17
+ const showCount = !isOpen && badgeCount != null && badgeCount > 0;
18
+ // Focus restoration: collapsing unmounts the panel subtree, so keyboard
19
+ // focus that lived inside it (rail, tabs, viewer) falls to <body>. Reclaim
20
+ // it here — the chip is the collapse's logical origin. Focus resting
21
+ // anywhere else (e.g. the composer) is respected. Opening deliberately does
22
+ // NOT move focus: the chip is a standard disclosure trigger.
23
+ const buttonRef = useRef(null);
24
+ const prevOpenRef = useRef(isOpen);
25
+ useEffect(() => {
26
+ if (prevOpenRef.current && !isOpen && document.activeElement === document.body) {
27
+ buttonRef.current?.focus();
28
+ }
29
+ prevOpenRef.current = isOpen;
30
+ }, [isOpen]);
31
+ return (_jsxs("button", { ref: buttonRef, type: "button", onClick: onToggle, "aria-expanded": isOpen, "aria-label": isOpen ? "Hide panel" : "Show panel", title: isOpen ? "Hide panel" : "Show panel", className: cn("flex items-center gap-1.5 rounded-md border border-border bg-card px-1.5 py-1", "text-muted-foreground transition-colors hover:bg-muted hover:text-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: [showCount && (_jsx("span", { "aria-label": `${badgeCount} new items`, className: "inline-flex min-w-[1rem] items-center justify-center rounded-full bg-primary px-1 py-px text-[10px] font-medium leading-none text-primary-foreground", children: badgeCount })), _jsx(PanelIcon, { open: isOpen })] }));
32
+ }
33
+ /**
34
+ * Panel-layout glyph: a frame with its right region filled while the panel is
35
+ * open, hollow while collapsed — mirroring the state it toggles to at a glance.
36
+ */
37
+ function PanelIcon({ open }) {
38
+ return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "1.5", y: "2.5", width: "13", height: "11", rx: "1.5" }), _jsx("path", { d: "M9.5 2.5v11" }), open && (_jsx("rect", { x: "9.5", y: "2.5", width: "5", height: "11", rx: "1.5", fill: "currentColor", stroke: "none" }))] }));
39
+ }
40
+ //# sourceMappingURL=SessionPanelChip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionPanelChip.js","sourceRoot":"","sources":["../../src/session/SessionPanelChip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAgBpC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,UAAU,GACY;IACtB,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;IAElE,wEAAwE;IACxE,2EAA2E;IAC3E,qEAAqE;IACrE,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/E,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,kBACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,mBACF,MAAM,gBACT,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAChD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAC3C,SAAS,EAAE,EAAE,CACX,+EAA+E,EAC/E,8EAA8E,EAC9E,yEAAyE,CAC1E,aAEA,SAAS,IAAI,CACZ,6BACc,GAAG,UAAU,YAAY,EACrC,SAAS,EAAC,sJAAsJ,YAE/J,UAAU,GACN,CACR,EACD,KAAC,SAAS,IAAC,IAAI,EAAE,MAAM,GAAI,IACpB,CACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,EAAE,IAAI,EAA8B;IACrD,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,GAAG,EACxD,eAAM,CAAC,EAAC,aAAa,GAAG,EACvB,IAAI,IAAI,CACP,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,CAC1F,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { type ReactNode } from "react";
2
2
  import type { UseGitHubConnectionReturn } from "../github/useGitHubConnection.js";
3
3
  import type { WorkspaceFileLister } from "../workspace/WorkspaceFileLister.js";
4
+ import type { WorkspaceFileReader } from "../workspace/WorkspaceFileReader.js";
5
+ import type { WorkspaceContentSearcher } from "../workspace/WorkspaceContentSearcher.js";
4
6
  import type { ApplyResourceResult } from "../library/useApplyResource.js";
5
7
  import type { RuntimeEnvProvider } from "./runtime-env.js";
6
8
  import type { SessionAudience } from "./audience.js";
@@ -45,6 +47,21 @@ export interface SessionViewerProps {
45
47
  * expandable file tree. (DD-004 capability injection, DD-011 opt-in.)
46
48
  */
47
49
  readonly workspaceFileLister?: WorkspaceFileLister;
50
+ /**
51
+ * Platform-injected content reader for the read-only file viewer. When
52
+ * provided, clicking a file in the Workspace tree opens it in a contextual
53
+ * "Viewer" tab. GitHub Contents/blob on web, Tauri fs on desktop; `undefined`
54
+ * degrades the viewer to an "unavailable here" state (DD-004, DD-011 opt-in).
55
+ */
56
+ readonly workspaceFileReader?: WorkspaceFileReader;
57
+ /**
58
+ * Platform-injected content (text) searcher. When provided, the session
59
+ * panel's Search pane gains a `Name | Text` toggle for full-text search
60
+ * across the workspace. Desktop injects a native ripgrep-backed searcher;
61
+ * web leaves it undefined (git content search needs a branch-accurate
62
+ * backend — DD-09), keeping Search filename-only there (DD-004, DD-011 opt-in).
63
+ */
64
+ readonly workspaceContentSearcher?: WorkspaceContentSearcher;
48
65
  /**
49
66
  * Supplies host-app environment variables for every follow-up
50
67
  * execution (e.g. short-lived credentials for MCP tools, minted as
@@ -67,11 +84,18 @@ export interface SessionViewerProps {
67
84
  */
68
85
  readonly audience?: SessionAudience;
69
86
  /**
70
- * Slot for host-injected header actions (e.g., Share button with
71
- * PermissionGate). Rendered in the top-right corner of the viewer.
72
- * Keeps the SDK organism unopinionated about Console auth (DD-004).
87
+ * Slot for host-injected header actions. Rendered in the top-right corner
88
+ * of the viewer, beside the panel chip. Keeps the SDK organism
89
+ * unopinionated about Console auth (DD-004).
73
90
  */
74
91
  readonly headerActions?: ReactNode;
92
+ /**
93
+ * Host-injected access management control (e.g. the Console's
94
+ * `ManageAccessButton` with its own permission gating). Rendered inside
95
+ * the panel's Config facet rather than the header — access is session
96
+ * configuration, not a moment-to-moment action (DD-004 slot injection).
97
+ */
98
+ readonly accessSlot?: ReactNode;
75
99
  /** Called after a resource is applied from the Artifacts tab. */
76
100
  readonly onApplied?: (result: ApplyResourceResult) => void;
77
101
  /** Additional CSS classes for the root container. */
@@ -84,10 +108,13 @@ export interface SessionViewerProps {
84
108
  * Owns `useSessionPageFlow` internally and composes:
85
109
  * - **Conversation column** (primary): `MessageThread` + error
86
110
  * banners + `SessionComposer`
87
- * - **SessionInspector** (secondary): tabbed panel with Workspace,
88
- * Config, Changes, Artifacts, Usage, and Inspect facets
111
+ * - **Session panel** (secondary): the unified `WorkspaceSurface` — explorer,
112
+ * search, read-only editor, and the session facets (Config, Changes,
113
+ * Artifacts, Usage, Inspect) as injected rail views. Collapsed by default
114
+ * to a top-right chip; opening a file (tree, search, or a transcript path)
115
+ * expands it.
89
116
  *
90
- * Connected via `ResizableSplit` with persisted width.
117
+ * Connected via `ResizableSplit` with persisted chat width.
91
118
  *
92
119
  * Thread selection is provided via `ThreadSelectionContext` (Phase 2
93
120
  * opt-in) for render-isolated per-item selection.
@@ -116,5 +143,5 @@ export interface SessionViewerProps {
116
143
  * />
117
144
  * ```
118
145
  */
119
- export declare function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, workspaceFileLister, getRuntimeEnv, audience, headerActions, onApplied, className, }: SessionViewerProps): import("react/jsx-runtime").JSX.Element;
146
+ export declare function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, workspaceFileLister, workspaceFileReader, workspaceContentSearcher, getRuntimeEnv, audience, headerActions, accessSlot, onApplied, className, }: SessionViewerProps): import("react/jsx-runtime").JSX.Element;
120
147
  //# sourceMappingURL=SessionViewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionViewer.d.ts","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAY1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAUrD,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC5C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACnC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,EACH,gBAAgB,EAChB,YAAmB,EACnB,WAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,QAAuB,EACvB,aAAa,EACb,SAAS,EACT,SAAS,GACV,EAAE,kBAAkB,2CAgGpB"}
1
+ {"version":3,"file":"SessionViewer.d.ts","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAOzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAgC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAuErD,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAC7D;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC5C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,EACH,gBAAgB,EAChB,YAAmB,EACnB,WAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,QAAuB,EACvB,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,GACV,EAAE,kBAAkB,2CA+RpB"}