@agimon-ai/po-web-dashboard 0.0.0-alpha.0

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 (924) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +10 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  4. package/dist/core.cjs +222 -0
  5. package/dist/core.d.mts +21 -0
  6. package/dist/core.mjs +21 -0
  7. package/dist/index.cjs +546 -0
  8. package/dist/index.d.mts +81 -0
  9. package/dist/index.mjs +81 -0
  10. package/dist/testing.cjs +18 -0
  11. package/dist/testing.d.mts +6 -0
  12. package/dist/testing.mjs +6 -0
  13. package/dist/types/auth.cjs +20 -0
  14. package/dist/types/auth.cjs.map +1 -0
  15. package/dist/types/auth.d.mts +160 -0
  16. package/dist/types/auth.d.mts.map +1 -0
  17. package/dist/types/auth.mjs +19 -0
  18. package/dist/types/auth.mjs.map +1 -0
  19. package/dist/types/bridge.d.mts +18 -0
  20. package/dist/types/bridge.d.mts.map +1 -0
  21. package/dist/types/devProxy.cjs +41 -0
  22. package/dist/types/devProxy.cjs.map +1 -0
  23. package/dist/types/devProxy.d.mts +54 -0
  24. package/dist/types/devProxy.d.mts.map +1 -0
  25. package/dist/types/devProxy.mjs +39 -0
  26. package/dist/types/devProxy.mjs.map +1 -0
  27. package/dist/types/hub.cjs +220 -0
  28. package/dist/types/hub.cjs.map +1 -0
  29. package/dist/types/hub.d.mts +447 -0
  30. package/dist/types/hub.d.mts.map +1 -0
  31. package/dist/types/hub.mjs +179 -0
  32. package/dist/types/hub.mjs.map +1 -0
  33. package/dist/types/media.cjs +75 -0
  34. package/dist/types/media.cjs.map +1 -0
  35. package/dist/types/media.d.mts +22 -0
  36. package/dist/types/media.d.mts.map +1 -0
  37. package/dist/types/media.mjs +70 -0
  38. package/dist/types/media.mjs.map +1 -0
  39. package/dist/types/notification.cjs +19 -0
  40. package/dist/types/notification.cjs.map +1 -0
  41. package/dist/types/notification.d.mts +10 -0
  42. package/dist/types/notification.d.mts.map +1 -0
  43. package/dist/types/notification.mjs +19 -0
  44. package/dist/types/notification.mjs.map +1 -0
  45. package/dist/types/remoteAccess.cjs +92 -0
  46. package/dist/types/remoteAccess.cjs.map +1 -0
  47. package/dist/types/remoteAccess.d.mts +214 -0
  48. package/dist/types/remoteAccess.d.mts.map +1 -0
  49. package/dist/types/remoteAccess.mjs +68 -0
  50. package/dist/types/remoteAccess.mjs.map +1 -0
  51. package/dist/types/session.cjs +23 -0
  52. package/dist/types/session.cjs.map +1 -0
  53. package/dist/types/session.d.mts +29 -0
  54. package/dist/types/session.d.mts.map +1 -0
  55. package/dist/types/session.mjs +18 -0
  56. package/dist/types/session.mjs.map +1 -0
  57. package/dist/types/sessionMcp.d.mts +56 -0
  58. package/dist/types/sessionMcp.d.mts.map +1 -0
  59. package/dist/types/settings.cjs +18 -0
  60. package/dist/types/settings.cjs.map +1 -0
  61. package/dist/types/settings.d.mts +126 -0
  62. package/dist/types/settings.d.mts.map +1 -0
  63. package/dist/types/settings.mjs +12 -0
  64. package/dist/types/settings.mjs.map +1 -0
  65. package/dist/types.cjs +101 -0
  66. package/dist/types.d.mts +11 -0
  67. package/dist/types.mjs +9 -0
  68. package/dist/views.cjs +120 -0
  69. package/dist/views.d.mts +56 -0
  70. package/dist/views.mjs +56 -0
  71. package/dist/web/components/MascotMark.cjs +18 -0
  72. package/dist/web/components/MascotMark.cjs.map +1 -0
  73. package/dist/web/components/MascotMark.d.mts +9 -0
  74. package/dist/web/components/MascotMark.d.mts.map +1 -0
  75. package/dist/web/components/MascotMark.mjs +18 -0
  76. package/dist/web/components/MascotMark.mjs.map +1 -0
  77. package/dist/web/components/PluginSurface.cjs +15 -0
  78. package/dist/web/components/PluginSurface.cjs.map +1 -0
  79. package/dist/web/components/PluginSurface.d.mts +13 -0
  80. package/dist/web/components/PluginSurface.d.mts.map +1 -0
  81. package/dist/web/components/PluginSurface.mjs +15 -0
  82. package/dist/web/components/PluginSurface.mjs.map +1 -0
  83. package/dist/web/components/QrCode.cjs +37 -0
  84. package/dist/web/components/QrCode.cjs.map +1 -0
  85. package/dist/web/components/QrCode.d.mts +22 -0
  86. package/dist/web/components/QrCode.d.mts.map +1 -0
  87. package/dist/web/components/QrCode.mjs +37 -0
  88. package/dist/web/components/QrCode.mjs.map +1 -0
  89. package/dist/web/components/Remote.fixture.cjs +73 -0
  90. package/dist/web/components/Remote.fixture.cjs.map +1 -0
  91. package/dist/web/components/Remote.fixture.mjs +72 -0
  92. package/dist/web/components/Remote.fixture.mjs.map +1 -0
  93. package/dist/web/components/SessionMcp.cjs +279 -0
  94. package/dist/web/components/SessionMcp.cjs.map +1 -0
  95. package/dist/web/components/SessionMcp.d.mts +12 -0
  96. package/dist/web/components/SessionMcp.d.mts.map +1 -0
  97. package/dist/web/components/SessionMcp.mjs +278 -0
  98. package/dist/web/components/SessionMcp.mjs.map +1 -0
  99. package/dist/web/components/Story.fixture.cjs +124 -0
  100. package/dist/web/components/Story.fixture.cjs.map +1 -0
  101. package/dist/web/components/Story.fixture.d.mts +19 -0
  102. package/dist/web/components/Story.fixture.d.mts.map +1 -0
  103. package/dist/web/components/Story.fixture.mjs +119 -0
  104. package/dist/web/components/Story.fixture.mjs.map +1 -0
  105. package/dist/web/components/Template.fixture.cjs +67 -0
  106. package/dist/web/components/Template.fixture.cjs.map +1 -0
  107. package/dist/web/components/Template.fixture.d.mts +7 -0
  108. package/dist/web/components/Template.fixture.d.mts.map +1 -0
  109. package/dist/web/components/Template.fixture.mjs +65 -0
  110. package/dist/web/components/Template.fixture.mjs.map +1 -0
  111. package/dist/web/components/ToolRendererBoundary.cjs +23 -0
  112. package/dist/web/components/ToolRendererBoundary.cjs.map +1 -0
  113. package/dist/web/components/ToolRendererBoundary.d.mts +23 -0
  114. package/dist/web/components/ToolRendererBoundary.d.mts.map +1 -0
  115. package/dist/web/components/ToolRendererBoundary.mjs +23 -0
  116. package/dist/web/components/ToolRendererBoundary.mjs.map +1 -0
  117. package/dist/web/features/activity/ActivityDock.cjs +271 -0
  118. package/dist/web/features/activity/ActivityDock.cjs.map +1 -0
  119. package/dist/web/features/activity/ActivityDock.d.mts +22 -0
  120. package/dist/web/features/activity/ActivityDock.d.mts.map +1 -0
  121. package/dist/web/features/activity/ActivityDock.mjs +271 -0
  122. package/dist/web/features/activity/ActivityDock.mjs.map +1 -0
  123. package/dist/web/features/activity/ContextItemDialog.cjs +276 -0
  124. package/dist/web/features/activity/ContextItemDialog.cjs.map +1 -0
  125. package/dist/web/features/activity/ContextItemDialog.d.mts +16 -0
  126. package/dist/web/features/activity/ContextItemDialog.d.mts.map +1 -0
  127. package/dist/web/features/activity/ContextItemDialog.mjs +276 -0
  128. package/dist/web/features/activity/ContextItemDialog.mjs.map +1 -0
  129. package/dist/web/features/activity/ContextPanel.cjs +248 -0
  130. package/dist/web/features/activity/ContextPanel.cjs.map +1 -0
  131. package/dist/web/features/activity/ContextPanel.d.mts +4 -0
  132. package/dist/web/features/activity/ContextPanel.d.mts.map +1 -0
  133. package/dist/web/features/activity/ContextPanel.mjs +248 -0
  134. package/dist/web/features/activity/ContextPanel.mjs.map +1 -0
  135. package/dist/web/features/activity/DockTabs.cjs +47 -0
  136. package/dist/web/features/activity/DockTabs.cjs.map +1 -0
  137. package/dist/web/features/activity/DockTabs.d.mts +9 -0
  138. package/dist/web/features/activity/DockTabs.d.mts.map +1 -0
  139. package/dist/web/features/activity/DockTabs.mjs +47 -0
  140. package/dist/web/features/activity/DockTabs.mjs.map +1 -0
  141. package/dist/web/features/connection/RefusedCard.cjs +76 -0
  142. package/dist/web/features/connection/RefusedCard.cjs.map +1 -0
  143. package/dist/web/features/connection/RefusedCard.d.mts +5 -0
  144. package/dist/web/features/connection/RefusedCard.d.mts.map +1 -0
  145. package/dist/web/features/connection/RefusedCard.mjs +76 -0
  146. package/dist/web/features/connection/RefusedCard.mjs.map +1 -0
  147. package/dist/web/features/dialogs/DialogOverlay.cjs +164 -0
  148. package/dist/web/features/dialogs/DialogOverlay.cjs.map +1 -0
  149. package/dist/web/features/dialogs/DialogOverlay.d.mts +15 -0
  150. package/dist/web/features/dialogs/DialogOverlay.d.mts.map +1 -0
  151. package/dist/web/features/dialogs/DialogOverlay.mjs +164 -0
  152. package/dist/web/features/dialogs/DialogOverlay.mjs.map +1 -0
  153. package/dist/web/features/leader/CommandPalette.cjs +390 -0
  154. package/dist/web/features/leader/CommandPalette.cjs.map +1 -0
  155. package/dist/web/features/leader/CommandPalette.d.mts +14 -0
  156. package/dist/web/features/leader/CommandPalette.d.mts.map +1 -0
  157. package/dist/web/features/leader/CommandPalette.mjs +390 -0
  158. package/dist/web/features/leader/CommandPalette.mjs.map +1 -0
  159. package/dist/web/features/remote/DevProxyTargets.cjs +122 -0
  160. package/dist/web/features/remote/DevProxyTargets.cjs.map +1 -0
  161. package/dist/web/features/remote/DevProxyTargets.d.mts +15 -0
  162. package/dist/web/features/remote/DevProxyTargets.d.mts.map +1 -0
  163. package/dist/web/features/remote/DevProxyTargets.mjs +122 -0
  164. package/dist/web/features/remote/DevProxyTargets.mjs.map +1 -0
  165. package/dist/web/features/remote/HandoverProgress.cjs +28 -0
  166. package/dist/web/features/remote/HandoverProgress.cjs.map +1 -0
  167. package/dist/web/features/remote/HandoverProgress.d.mts +12 -0
  168. package/dist/web/features/remote/HandoverProgress.d.mts.map +1 -0
  169. package/dist/web/features/remote/HandoverProgress.mjs +28 -0
  170. package/dist/web/features/remote/HandoverProgress.mjs.map +1 -0
  171. package/dist/web/features/remote/PairedDeviceList.cjs +37 -0
  172. package/dist/web/features/remote/PairedDeviceList.cjs.map +1 -0
  173. package/dist/web/features/remote/PairedDeviceList.d.mts +5 -0
  174. package/dist/web/features/remote/PairedDeviceList.d.mts.map +1 -0
  175. package/dist/web/features/remote/PairedDeviceList.mjs +37 -0
  176. package/dist/web/features/remote/PairedDeviceList.mjs.map +1 -0
  177. package/dist/web/features/remote/PairingApprovalDialog.cjs +65 -0
  178. package/dist/web/features/remote/PairingApprovalDialog.cjs.map +1 -0
  179. package/dist/web/features/remote/PairingApprovalDialog.d.mts +11 -0
  180. package/dist/web/features/remote/PairingApprovalDialog.d.mts.map +1 -0
  181. package/dist/web/features/remote/PairingApprovalDialog.mjs +65 -0
  182. package/dist/web/features/remote/PairingApprovalDialog.mjs.map +1 -0
  183. package/dist/web/features/remote/RemoteAccessDialog.cjs +83 -0
  184. package/dist/web/features/remote/RemoteAccessDialog.cjs.map +1 -0
  185. package/dist/web/features/remote/RemoteAccessDialog.d.mts +11 -0
  186. package/dist/web/features/remote/RemoteAccessDialog.d.mts.map +1 -0
  187. package/dist/web/features/remote/RemoteAccessDialog.mjs +83 -0
  188. package/dist/web/features/remote/RemoteAccessDialog.mjs.map +1 -0
  189. package/dist/web/features/remote/RemoteAccessOptions.cjs +154 -0
  190. package/dist/web/features/remote/RemoteAccessOptions.cjs.map +1 -0
  191. package/dist/web/features/remote/RemoteAccessOptions.d.mts +11 -0
  192. package/dist/web/features/remote/RemoteAccessOptions.d.mts.map +1 -0
  193. package/dist/web/features/remote/RemoteAccessOptions.mjs +154 -0
  194. package/dist/web/features/remote/RemoteAccessOptions.mjs.map +1 -0
  195. package/dist/web/features/remote/RemoteAccessPairing.cjs +93 -0
  196. package/dist/web/features/remote/RemoteAccessPairing.cjs.map +1 -0
  197. package/dist/web/features/remote/RemoteAccessPairing.d.mts +5 -0
  198. package/dist/web/features/remote/RemoteAccessPairing.d.mts.map +1 -0
  199. package/dist/web/features/remote/RemoteAccessPairing.mjs +93 -0
  200. package/dist/web/features/remote/RemoteAccessPairing.mjs.map +1 -0
  201. package/dist/web/features/remote/SandboxWorkspaces.cjs +87 -0
  202. package/dist/web/features/remote/SandboxWorkspaces.cjs.map +1 -0
  203. package/dist/web/features/remote/SandboxWorkspaces.d.mts +7 -0
  204. package/dist/web/features/remote/SandboxWorkspaces.d.mts.map +1 -0
  205. package/dist/web/features/remote/SandboxWorkspaces.mjs +87 -0
  206. package/dist/web/features/remote/SandboxWorkspaces.mjs.map +1 -0
  207. package/dist/web/features/remote/TrustedDeviceList.cjs +65 -0
  208. package/dist/web/features/remote/TrustedDeviceList.cjs.map +1 -0
  209. package/dist/web/features/remote/TrustedDeviceList.d.mts +13 -0
  210. package/dist/web/features/remote/TrustedDeviceList.d.mts.map +1 -0
  211. package/dist/web/features/remote/TrustedDeviceList.mjs +64 -0
  212. package/dist/web/features/remote/TrustedDeviceList.mjs.map +1 -0
  213. package/dist/web/features/selection/SelectionBar.cjs +401 -0
  214. package/dist/web/features/selection/SelectionBar.cjs.map +1 -0
  215. package/dist/web/features/selection/SelectionBar.d.mts +14 -0
  216. package/dist/web/features/selection/SelectionBar.d.mts.map +1 -0
  217. package/dist/web/features/selection/SelectionBar.mjs +400 -0
  218. package/dist/web/features/selection/SelectionBar.mjs.map +1 -0
  219. package/dist/web/features/session/AgentLockPanel.cjs +31 -0
  220. package/dist/web/features/session/AgentLockPanel.cjs.map +1 -0
  221. package/dist/web/features/session/AgentLockPanel.mjs +31 -0
  222. package/dist/web/features/session/AgentLockPanel.mjs.map +1 -0
  223. package/dist/web/features/session/Composer.cjs +808 -0
  224. package/dist/web/features/session/Composer.cjs.map +1 -0
  225. package/dist/web/features/session/Composer.d.mts +21 -0
  226. package/dist/web/features/session/Composer.d.mts.map +1 -0
  227. package/dist/web/features/session/Composer.mjs +806 -0
  228. package/dist/web/features/session/Composer.mjs.map +1 -0
  229. package/dist/web/features/session/ComposerPrompt.cjs +47 -0
  230. package/dist/web/features/session/ComposerPrompt.cjs.map +1 -0
  231. package/dist/web/features/session/ComposerPrompt.d.mts +16 -0
  232. package/dist/web/features/session/ComposerPrompt.d.mts.map +1 -0
  233. package/dist/web/features/session/ComposerPrompt.mjs +47 -0
  234. package/dist/web/features/session/ComposerPrompt.mjs.map +1 -0
  235. package/dist/web/features/session/DormantPanel.cjs +61 -0
  236. package/dist/web/features/session/DormantPanel.cjs.map +1 -0
  237. package/dist/web/features/session/DormantPanel.d.mts +8 -0
  238. package/dist/web/features/session/DormantPanel.d.mts.map +1 -0
  239. package/dist/web/features/session/DormantPanel.mjs +61 -0
  240. package/dist/web/features/session/DormantPanel.mjs.map +1 -0
  241. package/dist/web/features/session/MentionPreviews.cjs +128 -0
  242. package/dist/web/features/session/MentionPreviews.cjs.map +1 -0
  243. package/dist/web/features/session/MentionPreviews.d.mts +17 -0
  244. package/dist/web/features/session/MentionPreviews.d.mts.map +1 -0
  245. package/dist/web/features/session/MentionPreviews.mjs +127 -0
  246. package/dist/web/features/session/MentionPreviews.mjs.map +1 -0
  247. package/dist/web/features/session/MessageMarkdown.cjs +20 -0
  248. package/dist/web/features/session/MessageMarkdown.cjs.map +1 -0
  249. package/dist/web/features/session/MessageMarkdown.d.mts +19 -0
  250. package/dist/web/features/session/MessageMarkdown.d.mts.map +1 -0
  251. package/dist/web/features/session/MessageMarkdown.mjs +20 -0
  252. package/dist/web/features/session/MessageMarkdown.mjs.map +1 -0
  253. package/dist/web/features/session/QueueSheet.cjs +189 -0
  254. package/dist/web/features/session/QueueSheet.cjs.map +1 -0
  255. package/dist/web/features/session/QueueSheet.d.mts +16 -0
  256. package/dist/web/features/session/QueueSheet.d.mts.map +1 -0
  257. package/dist/web/features/session/QueueSheet.mjs +189 -0
  258. package/dist/web/features/session/QueueSheet.mjs.map +1 -0
  259. package/dist/web/features/session/SessionActivity.cjs +88 -0
  260. package/dist/web/features/session/SessionActivity.cjs.map +1 -0
  261. package/dist/web/features/session/SessionActivity.d.mts +16 -0
  262. package/dist/web/features/session/SessionActivity.d.mts.map +1 -0
  263. package/dist/web/features/session/SessionActivity.mjs +87 -0
  264. package/dist/web/features/session/SessionActivity.mjs.map +1 -0
  265. package/dist/web/features/session/SessionTranscriptView.cjs +34 -0
  266. package/dist/web/features/session/SessionTranscriptView.cjs.map +1 -0
  267. package/dist/web/features/session/SessionTranscriptView.d.mts +16 -0
  268. package/dist/web/features/session/SessionTranscriptView.d.mts.map +1 -0
  269. package/dist/web/features/session/SessionTranscriptView.mjs +34 -0
  270. package/dist/web/features/session/SessionTranscriptView.mjs.map +1 -0
  271. package/dist/web/features/session/ThreadView.cjs +40 -0
  272. package/dist/web/features/session/ThreadView.cjs.map +1 -0
  273. package/dist/web/features/session/ThreadView.d.mts +18 -0
  274. package/dist/web/features/session/ThreadView.d.mts.map +1 -0
  275. package/dist/web/features/session/ThreadView.mjs +40 -0
  276. package/dist/web/features/session/ThreadView.mjs.map +1 -0
  277. package/dist/web/features/session/Timeline.cjs +620 -0
  278. package/dist/web/features/session/Timeline.cjs.map +1 -0
  279. package/dist/web/features/session/Timeline.d.mts +28 -0
  280. package/dist/web/features/session/Timeline.d.mts.map +1 -0
  281. package/dist/web/features/session/Timeline.mjs +619 -0
  282. package/dist/web/features/session/Timeline.mjs.map +1 -0
  283. package/dist/web/features/session/ToolCard.cjs +210 -0
  284. package/dist/web/features/session/ToolCard.cjs.map +1 -0
  285. package/dist/web/features/session/ToolCard.d.mts +16 -0
  286. package/dist/web/features/session/ToolCard.d.mts.map +1 -0
  287. package/dist/web/features/session/ToolCard.mjs +210 -0
  288. package/dist/web/features/session/ToolCard.mjs.map +1 -0
  289. package/dist/web/features/session/session.fixture.cjs +76 -0
  290. package/dist/web/features/session/session.fixture.cjs.map +1 -0
  291. package/dist/web/features/session/session.fixture.d.mts +6 -0
  292. package/dist/web/features/session/session.fixture.d.mts.map +1 -0
  293. package/dist/web/features/session/session.fixture.mjs +74 -0
  294. package/dist/web/features/session/session.fixture.mjs.map +1 -0
  295. package/dist/web/features/sessions/NewSessionDialog.cjs +70 -0
  296. package/dist/web/features/sessions/NewSessionDialog.cjs.map +1 -0
  297. package/dist/web/features/sessions/NewSessionDialog.d.mts +9 -0
  298. package/dist/web/features/sessions/NewSessionDialog.d.mts.map +1 -0
  299. package/dist/web/features/sessions/NewSessionDialog.mjs +70 -0
  300. package/dist/web/features/sessions/NewSessionDialog.mjs.map +1 -0
  301. package/dist/web/features/sessions/ResumeSessionDialog.cjs +131 -0
  302. package/dist/web/features/sessions/ResumeSessionDialog.cjs.map +1 -0
  303. package/dist/web/features/sessions/ResumeSessionDialog.d.mts +14 -0
  304. package/dist/web/features/sessions/ResumeSessionDialog.d.mts.map +1 -0
  305. package/dist/web/features/sessions/ResumeSessionDialog.mjs +131 -0
  306. package/dist/web/features/sessions/ResumeSessionDialog.mjs.map +1 -0
  307. package/dist/web/features/sessions/SessionRailDialogs.cjs +62 -0
  308. package/dist/web/features/sessions/SessionRailDialogs.cjs.map +1 -0
  309. package/dist/web/features/sessions/SessionRailDialogs.d.mts +10 -0
  310. package/dist/web/features/sessions/SessionRailDialogs.d.mts.map +1 -0
  311. package/dist/web/features/sessions/SessionRailDialogs.mjs +62 -0
  312. package/dist/web/features/sessions/SessionRailDialogs.mjs.map +1 -0
  313. package/dist/web/features/sessions/WelcomePanel.cjs +42 -0
  314. package/dist/web/features/sessions/WelcomePanel.cjs.map +1 -0
  315. package/dist/web/features/sessions/WelcomePanel.d.mts +16 -0
  316. package/dist/web/features/sessions/WelcomePanel.d.mts.map +1 -0
  317. package/dist/web/features/sessions/WelcomePanel.mjs +42 -0
  318. package/dist/web/features/sessions/WelcomePanel.mjs.map +1 -0
  319. package/dist/web/features/sessions/useNewSessionActions.cjs +38 -0
  320. package/dist/web/features/sessions/useNewSessionActions.cjs.map +1 -0
  321. package/dist/web/features/sessions/useNewSessionActions.d.mts +12 -0
  322. package/dist/web/features/sessions/useNewSessionActions.d.mts.map +1 -0
  323. package/dist/web/features/sessions/useNewSessionActions.mjs +38 -0
  324. package/dist/web/features/sessions/useNewSessionActions.mjs.map +1 -0
  325. package/dist/web/features/sessions/useSessionRail.cjs +302 -0
  326. package/dist/web/features/sessions/useSessionRail.cjs.map +1 -0
  327. package/dist/web/features/sessions/useSessionRail.d.mts +14 -0
  328. package/dist/web/features/sessions/useSessionRail.d.mts.map +1 -0
  329. package/dist/web/features/sessions/useSessionRail.mjs +302 -0
  330. package/dist/web/features/sessions/useSessionRail.mjs.map +1 -0
  331. package/dist/web/features/settings/AppearanceSettings.cjs +126 -0
  332. package/dist/web/features/settings/AppearanceSettings.cjs.map +1 -0
  333. package/dist/web/features/settings/AppearanceSettings.d.mts +12 -0
  334. package/dist/web/features/settings/AppearanceSettings.d.mts.map +1 -0
  335. package/dist/web/features/settings/AppearanceSettings.mjs +126 -0
  336. package/dist/web/features/settings/AppearanceSettings.mjs.map +1 -0
  337. package/dist/web/features/settings/ContributedSettings.cjs +257 -0
  338. package/dist/web/features/settings/ContributedSettings.cjs.map +1 -0
  339. package/dist/web/features/settings/ContributedSettings.d.mts +14 -0
  340. package/dist/web/features/settings/ContributedSettings.d.mts.map +1 -0
  341. package/dist/web/features/settings/ContributedSettings.mjs +257 -0
  342. package/dist/web/features/settings/ContributedSettings.mjs.map +1 -0
  343. package/dist/web/features/settings/ImageSettings.cjs +146 -0
  344. package/dist/web/features/settings/ImageSettings.cjs.map +1 -0
  345. package/dist/web/features/settings/ImageSettings.d.mts +12 -0
  346. package/dist/web/features/settings/ImageSettings.d.mts.map +1 -0
  347. package/dist/web/features/settings/ImageSettings.mjs +146 -0
  348. package/dist/web/features/settings/ImageSettings.mjs.map +1 -0
  349. package/dist/web/features/settings/LoginFlowDialog.cjs +226 -0
  350. package/dist/web/features/settings/LoginFlowDialog.cjs.map +1 -0
  351. package/dist/web/features/settings/LoginFlowDialog.d.mts +15 -0
  352. package/dist/web/features/settings/LoginFlowDialog.d.mts.map +1 -0
  353. package/dist/web/features/settings/LoginFlowDialog.mjs +225 -0
  354. package/dist/web/features/settings/LoginFlowDialog.mjs.map +1 -0
  355. package/dist/web/features/settings/NotificationSettings.cjs +69 -0
  356. package/dist/web/features/settings/NotificationSettings.cjs.map +1 -0
  357. package/dist/web/features/settings/NotificationSettings.d.mts +5 -0
  358. package/dist/web/features/settings/NotificationSettings.d.mts.map +1 -0
  359. package/dist/web/features/settings/NotificationSettings.mjs +69 -0
  360. package/dist/web/features/settings/NotificationSettings.mjs.map +1 -0
  361. package/dist/web/features/settings/PluginSettings.cjs +106 -0
  362. package/dist/web/features/settings/PluginSettings.cjs.map +1 -0
  363. package/dist/web/features/settings/PluginSettings.d.mts +10 -0
  364. package/dist/web/features/settings/PluginSettings.d.mts.map +1 -0
  365. package/dist/web/features/settings/PluginSettings.mjs +106 -0
  366. package/dist/web/features/settings/PluginSettings.mjs.map +1 -0
  367. package/dist/web/features/settings/ProviderSettings.cjs +323 -0
  368. package/dist/web/features/settings/ProviderSettings.cjs.map +1 -0
  369. package/dist/web/features/settings/ProviderSettings.d.mts +9 -0
  370. package/dist/web/features/settings/ProviderSettings.d.mts.map +1 -0
  371. package/dist/web/features/settings/ProviderSettings.mjs +323 -0
  372. package/dist/web/features/settings/ProviderSettings.mjs.map +1 -0
  373. package/dist/web/features/settings/RemoteControlSettings.cjs +50 -0
  374. package/dist/web/features/settings/RemoteControlSettings.cjs.map +1 -0
  375. package/dist/web/features/settings/RemoteControlSettings.d.mts +5 -0
  376. package/dist/web/features/settings/RemoteControlSettings.d.mts.map +1 -0
  377. package/dist/web/features/settings/RemoteControlSettings.mjs +50 -0
  378. package/dist/web/features/settings/RemoteControlSettings.mjs.map +1 -0
  379. package/dist/web/features/settings/RepositorySettings.cjs +318 -0
  380. package/dist/web/features/settings/RepositorySettings.cjs.map +1 -0
  381. package/dist/web/features/settings/RepositorySettings.d.mts +7 -0
  382. package/dist/web/features/settings/RepositorySettings.d.mts.map +1 -0
  383. package/dist/web/features/settings/RepositorySettings.mjs +318 -0
  384. package/dist/web/features/settings/RepositorySettings.mjs.map +1 -0
  385. package/dist/web/features/settings/RepositoryWorkspace.cjs +160 -0
  386. package/dist/web/features/settings/RepositoryWorkspace.cjs.map +1 -0
  387. package/dist/web/features/settings/RepositoryWorkspace.d.mts +10 -0
  388. package/dist/web/features/settings/RepositoryWorkspace.d.mts.map +1 -0
  389. package/dist/web/features/settings/RepositoryWorkspace.mjs +160 -0
  390. package/dist/web/features/settings/RepositoryWorkspace.mjs.map +1 -0
  391. package/dist/web/features/settings/SessionMcpSettings.cjs +488 -0
  392. package/dist/web/features/settings/SessionMcpSettings.cjs.map +1 -0
  393. package/dist/web/features/settings/SessionMcpSettings.d.mts +5 -0
  394. package/dist/web/features/settings/SessionMcpSettings.d.mts.map +1 -0
  395. package/dist/web/features/settings/SessionMcpSettings.mjs +488 -0
  396. package/dist/web/features/settings/SessionMcpSettings.mjs.map +1 -0
  397. package/dist/web/features/settings/SettingsMenu.cjs +135 -0
  398. package/dist/web/features/settings/SettingsMenu.cjs.map +1 -0
  399. package/dist/web/features/settings/SettingsMenu.d.mts +9 -0
  400. package/dist/web/features/settings/SettingsMenu.d.mts.map +1 -0
  401. package/dist/web/features/settings/SettingsMenu.mjs +135 -0
  402. package/dist/web/features/settings/SettingsMenu.mjs.map +1 -0
  403. package/dist/web/features/settings/SettingsPanelHost.cjs +32 -0
  404. package/dist/web/features/settings/SettingsPanelHost.cjs.map +1 -0
  405. package/dist/web/features/settings/SettingsPanelHost.d.mts +8 -0
  406. package/dist/web/features/settings/SettingsPanelHost.d.mts.map +1 -0
  407. package/dist/web/features/settings/SettingsPanelHost.mjs +32 -0
  408. package/dist/web/features/settings/SettingsPanelHost.mjs.map +1 -0
  409. package/dist/web/features/settings/TemplateSettings.cjs +177 -0
  410. package/dist/web/features/settings/TemplateSettings.cjs.map +1 -0
  411. package/dist/web/features/settings/TemplateSettings.d.mts +8 -0
  412. package/dist/web/features/settings/TemplateSettings.d.mts.map +1 -0
  413. package/dist/web/features/settings/TemplateSettings.mjs +177 -0
  414. package/dist/web/features/settings/TemplateSettings.mjs.map +1 -0
  415. package/dist/web/features/settings/TunnelSettings.cjs +182 -0
  416. package/dist/web/features/settings/TunnelSettings.cjs.map +1 -0
  417. package/dist/web/features/settings/TunnelSettings.d.mts +8 -0
  418. package/dist/web/features/settings/TunnelSettings.d.mts.map +1 -0
  419. package/dist/web/features/settings/TunnelSettings.mjs +182 -0
  420. package/dist/web/features/settings/TunnelSettings.mjs.map +1 -0
  421. package/dist/web/features/settings/settings.fixture.cjs +230 -0
  422. package/dist/web/features/settings/settings.fixture.cjs.map +1 -0
  423. package/dist/web/features/settings/settings.fixture.d.mts +6 -0
  424. package/dist/web/features/settings/settings.fixture.d.mts.map +1 -0
  425. package/dist/web/features/settings/settings.fixture.mjs +223 -0
  426. package/dist/web/features/settings/settings.fixture.mjs.map +1 -0
  427. package/dist/web/features/status/TopBar.cjs +200 -0
  428. package/dist/web/features/status/TopBar.cjs.map +1 -0
  429. package/dist/web/features/status/TopBar.d.mts +11 -0
  430. package/dist/web/features/status/TopBar.d.mts.map +1 -0
  431. package/dist/web/features/status/TopBar.mjs +200 -0
  432. package/dist/web/features/status/TopBar.mjs.map +1 -0
  433. package/dist/web/lib/authApi.cjs +77 -0
  434. package/dist/web/lib/authApi.cjs.map +1 -0
  435. package/dist/web/lib/authApi.d.mts +28 -0
  436. package/dist/web/lib/authApi.d.mts.map +1 -0
  437. package/dist/web/lib/authApi.mjs +72 -0
  438. package/dist/web/lib/authApi.mjs.map +1 -0
  439. package/dist/web/lib/browserNotifications.cjs +37 -0
  440. package/dist/web/lib/browserNotifications.cjs.map +1 -0
  441. package/dist/web/lib/browserNotifications.d.mts +12 -0
  442. package/dist/web/lib/browserNotifications.d.mts.map +1 -0
  443. package/dist/web/lib/browserNotifications.mjs +35 -0
  444. package/dist/web/lib/browserNotifications.mjs.map +1 -0
  445. package/dist/web/lib/browserTelemetry.cjs +158 -0
  446. package/dist/web/lib/browserTelemetry.cjs.map +1 -0
  447. package/dist/web/lib/browserTelemetry.d.mts +28 -0
  448. package/dist/web/lib/browserTelemetry.d.mts.map +1 -0
  449. package/dist/web/lib/browserTelemetry.mjs +154 -0
  450. package/dist/web/lib/browserTelemetry.mjs.map +1 -0
  451. package/dist/web/lib/commands.cjs +176 -0
  452. package/dist/web/lib/commands.cjs.map +1 -0
  453. package/dist/web/lib/commands.d.mts +53 -0
  454. package/dist/web/lib/commands.d.mts.map +1 -0
  455. package/dist/web/lib/commands.mjs +153 -0
  456. package/dist/web/lib/commands.mjs.map +1 -0
  457. package/dist/web/lib/composerSubmissions.cjs +20 -0
  458. package/dist/web/lib/composerSubmissions.cjs.map +1 -0
  459. package/dist/web/lib/composerSubmissions.d.mts +7 -0
  460. package/dist/web/lib/composerSubmissions.d.mts.map +1 -0
  461. package/dist/web/lib/composerSubmissions.mjs +19 -0
  462. package/dist/web/lib/composerSubmissions.mjs.map +1 -0
  463. package/dist/web/lib/composition.cjs +403 -0
  464. package/dist/web/lib/composition.cjs.map +1 -0
  465. package/dist/web/lib/composition.d.mts +137 -0
  466. package/dist/web/lib/composition.d.mts.map +1 -0
  467. package/dist/web/lib/composition.mjs +392 -0
  468. package/dist/web/lib/composition.mjs.map +1 -0
  469. package/dist/web/lib/contextComposition.cjs +132 -0
  470. package/dist/web/lib/contextComposition.cjs.map +1 -0
  471. package/dist/web/lib/contextComposition.d.mts +75 -0
  472. package/dist/web/lib/contextComposition.d.mts.map +1 -0
  473. package/dist/web/lib/contextComposition.mjs +127 -0
  474. package/dist/web/lib/contextComposition.mjs.map +1 -0
  475. package/dist/web/lib/contextDetailApi.cjs +61 -0
  476. package/dist/web/lib/contextDetailApi.cjs.map +1 -0
  477. package/dist/web/lib/contextDetailApi.d.mts +12 -0
  478. package/dist/web/lib/contextDetailApi.d.mts.map +1 -0
  479. package/dist/web/lib/contextDetailApi.mjs +61 -0
  480. package/dist/web/lib/contextDetailApi.mjs.map +1 -0
  481. package/dist/web/lib/dashboardRenderers.cjs +9 -0
  482. package/dist/web/lib/dashboardRenderers.cjs.map +1 -0
  483. package/dist/web/lib/dashboardRenderers.d.mts +12 -0
  484. package/dist/web/lib/dashboardRenderers.d.mts.map +1 -0
  485. package/dist/web/lib/dashboardRenderers.mjs +9 -0
  486. package/dist/web/lib/dashboardRenderers.mjs.map +1 -0
  487. package/dist/web/lib/dashboardRoute.cjs +27 -0
  488. package/dist/web/lib/dashboardRoute.cjs.map +1 -0
  489. package/dist/web/lib/dashboardRoute.d.mts +29 -0
  490. package/dist/web/lib/dashboardRoute.d.mts.map +1 -0
  491. package/dist/web/lib/dashboardRoute.mjs +26 -0
  492. package/dist/web/lib/dashboardRoute.mjs.map +1 -0
  493. package/dist/web/lib/dashboardTranscript.cjs +15 -0
  494. package/dist/web/lib/dashboardTranscript.cjs.map +1 -0
  495. package/dist/web/lib/dashboardTranscript.d.mts +6 -0
  496. package/dist/web/lib/dashboardTranscript.d.mts.map +1 -0
  497. package/dist/web/lib/dashboardTranscript.mjs +14 -0
  498. package/dist/web/lib/dashboardTranscript.mjs.map +1 -0
  499. package/dist/web/lib/devProxyApi.cjs +74 -0
  500. package/dist/web/lib/devProxyApi.cjs.map +1 -0
  501. package/dist/web/lib/devProxyApi.d.mts +21 -0
  502. package/dist/web/lib/devProxyApi.d.mts.map +1 -0
  503. package/dist/web/lib/devProxyApi.mjs +72 -0
  504. package/dist/web/lib/devProxyApi.mjs.map +1 -0
  505. package/dist/web/lib/fileMentions.cjs +30 -0
  506. package/dist/web/lib/fileMentions.cjs.map +1 -0
  507. package/dist/web/lib/fileMentions.d.mts +13 -0
  508. package/dist/web/lib/fileMentions.d.mts.map +1 -0
  509. package/dist/web/lib/fileMentions.mjs +29 -0
  510. package/dist/web/lib/fileMentions.mjs.map +1 -0
  511. package/dist/web/lib/hubApi.cjs +283 -0
  512. package/dist/web/lib/hubApi.cjs.map +1 -0
  513. package/dist/web/lib/hubApi.d.mts +109 -0
  514. package/dist/web/lib/hubApi.d.mts.map +1 -0
  515. package/dist/web/lib/hubApi.mjs +268 -0
  516. package/dist/web/lib/hubApi.mjs.map +1 -0
  517. package/dist/web/lib/leaderTree.cjs +150 -0
  518. package/dist/web/lib/leaderTree.cjs.map +1 -0
  519. package/dist/web/lib/leaderTree.d.mts +41 -0
  520. package/dist/web/lib/leaderTree.d.mts.map +1 -0
  521. package/dist/web/lib/leaderTree.mjs +149 -0
  522. package/dist/web/lib/leaderTree.mjs.map +1 -0
  523. package/dist/web/lib/livePush.cjs +97 -0
  524. package/dist/web/lib/livePush.cjs.map +1 -0
  525. package/dist/web/lib/livePush.d.mts +10 -0
  526. package/dist/web/lib/livePush.d.mts.map +1 -0
  527. package/dist/web/lib/livePush.mjs +94 -0
  528. package/dist/web/lib/livePush.mjs.map +1 -0
  529. package/dist/web/lib/modelContextAdapter.cjs +63 -0
  530. package/dist/web/lib/modelContextAdapter.cjs.map +1 -0
  531. package/dist/web/lib/modelContextAdapter.d.mts +11 -0
  532. package/dist/web/lib/modelContextAdapter.d.mts.map +1 -0
  533. package/dist/web/lib/modelContextAdapter.mjs +62 -0
  534. package/dist/web/lib/modelContextAdapter.mjs.map +1 -0
  535. package/dist/web/lib/piTransport.cjs +103 -0
  536. package/dist/web/lib/piTransport.cjs.map +1 -0
  537. package/dist/web/lib/piTransport.d.mts +8 -0
  538. package/dist/web/lib/piTransport.d.mts.map +1 -0
  539. package/dist/web/lib/piTransport.mjs +102 -0
  540. package/dist/web/lib/piTransport.mjs.map +1 -0
  541. package/dist/web/lib/pluginCompositions.cjs +57 -0
  542. package/dist/web/lib/pluginCompositions.cjs.map +1 -0
  543. package/dist/web/lib/pluginCompositions.d.mts +37 -0
  544. package/dist/web/lib/pluginCompositions.d.mts.map +1 -0
  545. package/dist/web/lib/pluginCompositions.mjs +52 -0
  546. package/dist/web/lib/pluginCompositions.mjs.map +1 -0
  547. package/dist/web/lib/pluginRegistry.cjs +675 -0
  548. package/dist/web/lib/pluginRegistry.cjs.map +1 -0
  549. package/dist/web/lib/pluginRegistry.d.mts +155 -0
  550. package/dist/web/lib/pluginRegistry.d.mts.map +1 -0
  551. package/dist/web/lib/pluginRegistry.mjs +633 -0
  552. package/dist/web/lib/pluginRegistry.mjs.map +1 -0
  553. package/dist/web/lib/pluginScopes.cjs +48 -0
  554. package/dist/web/lib/pluginScopes.cjs.map +1 -0
  555. package/dist/web/lib/pluginScopes.d.mts +8 -0
  556. package/dist/web/lib/pluginScopes.d.mts.map +1 -0
  557. package/dist/web/lib/pluginScopes.mjs +47 -0
  558. package/dist/web/lib/pluginScopes.mjs.map +1 -0
  559. package/dist/web/lib/pluginSlotProps.cjs +83 -0
  560. package/dist/web/lib/pluginSlotProps.cjs.map +1 -0
  561. package/dist/web/lib/pluginSlotProps.d.mts +21 -0
  562. package/dist/web/lib/pluginSlotProps.d.mts.map +1 -0
  563. package/dist/web/lib/pluginSlotProps.mjs +82 -0
  564. package/dist/web/lib/pluginSlotProps.mjs.map +1 -0
  565. package/dist/web/lib/promptFocus.cjs +30 -0
  566. package/dist/web/lib/promptFocus.cjs.map +1 -0
  567. package/dist/web/lib/promptFocus.d.mts +7 -0
  568. package/dist/web/lib/promptFocus.d.mts.map +1 -0
  569. package/dist/web/lib/promptFocus.mjs +29 -0
  570. package/dist/web/lib/promptFocus.mjs.map +1 -0
  571. package/dist/web/lib/protocolHubSocket.cjs +107 -0
  572. package/dist/web/lib/protocolHubSocket.cjs.map +1 -0
  573. package/dist/web/lib/protocolHubSocket.d.mts +18 -0
  574. package/dist/web/lib/protocolHubSocket.d.mts.map +1 -0
  575. package/dist/web/lib/protocolHubSocket.mjs +107 -0
  576. package/dist/web/lib/protocolHubSocket.mjs.map +1 -0
  577. package/dist/web/lib/protocolTimeline.cjs +86 -0
  578. package/dist/web/lib/protocolTimeline.cjs.map +1 -0
  579. package/dist/web/lib/protocolTimeline.d.mts +9 -0
  580. package/dist/web/lib/protocolTimeline.d.mts.map +1 -0
  581. package/dist/web/lib/protocolTimeline.mjs +85 -0
  582. package/dist/web/lib/protocolTimeline.mjs.map +1 -0
  583. package/dist/web/lib/qrMatrix.cjs +37 -0
  584. package/dist/web/lib/qrMatrix.cjs.map +1 -0
  585. package/dist/web/lib/qrMatrix.d.mts +5 -0
  586. package/dist/web/lib/qrMatrix.d.mts.map +1 -0
  587. package/dist/web/lib/qrMatrix.mjs +35 -0
  588. package/dist/web/lib/qrMatrix.mjs.map +1 -0
  589. package/dist/web/lib/remoteApi.cjs +100 -0
  590. package/dist/web/lib/remoteApi.cjs.map +1 -0
  591. package/dist/web/lib/remoteApi.d.mts +45 -0
  592. package/dist/web/lib/remoteApi.d.mts.map +1 -0
  593. package/dist/web/lib/remoteApi.mjs +92 -0
  594. package/dist/web/lib/remoteApi.mjs.map +1 -0
  595. package/dist/web/lib/sealedSession.cjs +81 -0
  596. package/dist/web/lib/sealedSession.cjs.map +1 -0
  597. package/dist/web/lib/sealedSession.d.mts +24 -0
  598. package/dist/web/lib/sealedSession.d.mts.map +1 -0
  599. package/dist/web/lib/sealedSession.mjs +75 -0
  600. package/dist/web/lib/sealedSession.mjs.map +1 -0
  601. package/dist/web/lib/sessionActivityRenderer.cjs +19 -0
  602. package/dist/web/lib/sessionActivityRenderer.cjs.map +1 -0
  603. package/dist/web/lib/sessionActivityRenderer.d.mts +10 -0
  604. package/dist/web/lib/sessionActivityRenderer.d.mts.map +1 -0
  605. package/dist/web/lib/sessionActivityRenderer.mjs +17 -0
  606. package/dist/web/lib/sessionActivityRenderer.mjs.map +1 -0
  607. package/dist/web/lib/sessionAsset.cjs +45 -0
  608. package/dist/web/lib/sessionAsset.cjs.map +1 -0
  609. package/dist/web/lib/sessionAsset.d.mts +17 -0
  610. package/dist/web/lib/sessionAsset.d.mts.map +1 -0
  611. package/dist/web/lib/sessionAsset.mjs +44 -0
  612. package/dist/web/lib/sessionAsset.mjs.map +1 -0
  613. package/dist/web/lib/sessionAvatar.cjs +18 -0
  614. package/dist/web/lib/sessionAvatar.cjs.map +1 -0
  615. package/dist/web/lib/sessionAvatar.d.mts +10 -0
  616. package/dist/web/lib/sessionAvatar.d.mts.map +1 -0
  617. package/dist/web/lib/sessionAvatar.mjs +18 -0
  618. package/dist/web/lib/sessionAvatar.mjs.map +1 -0
  619. package/dist/web/lib/sessionMcpApi.cjs +120 -0
  620. package/dist/web/lib/sessionMcpApi.cjs.map +1 -0
  621. package/dist/web/lib/sessionMcpApi.d.mts +27 -0
  622. package/dist/web/lib/sessionMcpApi.d.mts.map +1 -0
  623. package/dist/web/lib/sessionMcpApi.mjs +114 -0
  624. package/dist/web/lib/sessionMcpApi.mjs.map +1 -0
  625. package/dist/web/lib/sessionMcpPrompt.cjs +24 -0
  626. package/dist/web/lib/sessionMcpPrompt.cjs.map +1 -0
  627. package/dist/web/lib/sessionMcpPrompt.mjs +23 -0
  628. package/dist/web/lib/sessionMcpPrompt.mjs.map +1 -0
  629. package/dist/web/lib/sessionModel.cjs +970 -0
  630. package/dist/web/lib/sessionModel.cjs.map +1 -0
  631. package/dist/web/lib/sessionModel.d.mts +254 -0
  632. package/dist/web/lib/sessionModel.d.mts.map +1 -0
  633. package/dist/web/lib/sessionModel.mjs +958 -0
  634. package/dist/web/lib/sessionModel.mjs.map +1 -0
  635. package/dist/web/lib/sessionProtocolCommands.cjs +196 -0
  636. package/dist/web/lib/sessionProtocolCommands.cjs.map +1 -0
  637. package/dist/web/lib/sessionProtocolCommands.d.mts +15 -0
  638. package/dist/web/lib/sessionProtocolCommands.d.mts.map +1 -0
  639. package/dist/web/lib/sessionProtocolCommands.mjs +193 -0
  640. package/dist/web/lib/sessionProtocolCommands.mjs.map +1 -0
  641. package/dist/web/lib/sessionRailModel.cjs +107 -0
  642. package/dist/web/lib/sessionRailModel.cjs.map +1 -0
  643. package/dist/web/lib/sessionRailModel.d.mts +38 -0
  644. package/dist/web/lib/sessionRailModel.d.mts.map +1 -0
  645. package/dist/web/lib/sessionRailModel.mjs +104 -0
  646. package/dist/web/lib/sessionRailModel.mjs.map +1 -0
  647. package/dist/web/lib/sessionSummary.cjs +58 -0
  648. package/dist/web/lib/sessionSummary.cjs.map +1 -0
  649. package/dist/web/lib/sessionSummary.d.mts +39 -0
  650. package/dist/web/lib/sessionSummary.d.mts.map +1 -0
  651. package/dist/web/lib/sessionSummary.mjs +54 -0
  652. package/dist/web/lib/sessionSummary.mjs.map +1 -0
  653. package/dist/web/lib/sessionTranscriptRenderer.cjs +19 -0
  654. package/dist/web/lib/sessionTranscriptRenderer.cjs.map +1 -0
  655. package/dist/web/lib/sessionTranscriptRenderer.d.mts +11 -0
  656. package/dist/web/lib/sessionTranscriptRenderer.d.mts.map +1 -0
  657. package/dist/web/lib/sessionTranscriptRenderer.mjs +17 -0
  658. package/dist/web/lib/sessionTranscriptRenderer.mjs.map +1 -0
  659. package/dist/web/lib/settingsApi.cjs +237 -0
  660. package/dist/web/lib/settingsApi.cjs.map +1 -0
  661. package/dist/web/lib/settingsApi.d.mts +57 -0
  662. package/dist/web/lib/settingsApi.d.mts.map +1 -0
  663. package/dist/web/lib/settingsApi.mjs +230 -0
  664. package/dist/web/lib/settingsApi.mjs.map +1 -0
  665. package/dist/web/lib/settingsDraft.cjs +48 -0
  666. package/dist/web/lib/settingsDraft.cjs.map +1 -0
  667. package/dist/web/lib/settingsDraft.d.mts +28 -0
  668. package/dist/web/lib/settingsDraft.d.mts.map +1 -0
  669. package/dist/web/lib/settingsDraft.mjs +45 -0
  670. package/dist/web/lib/settingsDraft.mjs.map +1 -0
  671. package/dist/web/lib/settingsSections.cjs +108 -0
  672. package/dist/web/lib/settingsSections.cjs.map +1 -0
  673. package/dist/web/lib/settingsSections.d.mts +36 -0
  674. package/dist/web/lib/settingsSections.d.mts.map +1 -0
  675. package/dist/web/lib/settingsSections.mjs +105 -0
  676. package/dist/web/lib/settingsSections.mjs.map +1 -0
  677. package/dist/web/lib/statusLine.cjs +82 -0
  678. package/dist/web/lib/statusLine.cjs.map +1 -0
  679. package/dist/web/lib/statusLine.d.mts +27 -0
  680. package/dist/web/lib/statusLine.d.mts.map +1 -0
  681. package/dist/web/lib/statusLine.mjs +79 -0
  682. package/dist/web/lib/statusLine.mjs.map +1 -0
  683. package/dist/web/lib/stepUp.cjs +41 -0
  684. package/dist/web/lib/stepUp.cjs.map +1 -0
  685. package/dist/web/lib/stepUp.d.mts +18 -0
  686. package/dist/web/lib/stepUp.d.mts.map +1 -0
  687. package/dist/web/lib/stepUp.mjs +41 -0
  688. package/dist/web/lib/stepUp.mjs.map +1 -0
  689. package/dist/web/lib/templateCatalog.cjs +123 -0
  690. package/dist/web/lib/templateCatalog.cjs.map +1 -0
  691. package/dist/web/lib/templateCatalog.d.mts +38 -0
  692. package/dist/web/lib/templateCatalog.d.mts.map +1 -0
  693. package/dist/web/lib/templateCatalog.mjs +118 -0
  694. package/dist/web/lib/templateCatalog.mjs.map +1 -0
  695. package/dist/web/lib/threadRenderer.cjs +25 -0
  696. package/dist/web/lib/threadRenderer.cjs.map +1 -0
  697. package/dist/web/lib/threadRenderer.d.mts +17 -0
  698. package/dist/web/lib/threadRenderer.d.mts.map +1 -0
  699. package/dist/web/lib/threadRenderer.mjs +23 -0
  700. package/dist/web/lib/threadRenderer.mjs.map +1 -0
  701. package/dist/web/lib/timelineGroups.cjs +83 -0
  702. package/dist/web/lib/timelineGroups.cjs.map +1 -0
  703. package/dist/web/lib/timelineGroups.d.mts +36 -0
  704. package/dist/web/lib/timelineGroups.d.mts.map +1 -0
  705. package/dist/web/lib/timelineGroups.mjs +81 -0
  706. package/dist/web/lib/timelineGroups.mjs.map +1 -0
  707. package/dist/web/lib/toolCompletionTabs.cjs +98 -0
  708. package/dist/web/lib/toolCompletionTabs.cjs.map +1 -0
  709. package/dist/web/lib/toolCompletionTabs.d.mts +14 -0
  710. package/dist/web/lib/toolCompletionTabs.d.mts.map +1 -0
  711. package/dist/web/lib/toolCompletionTabs.mjs +98 -0
  712. package/dist/web/lib/toolCompletionTabs.mjs.map +1 -0
  713. package/dist/web/lib/toolMessageProps.cjs +19 -0
  714. package/dist/web/lib/toolMessageProps.cjs.map +1 -0
  715. package/dist/web/lib/toolMessageProps.d.mts +7 -0
  716. package/dist/web/lib/toolMessageProps.d.mts.map +1 -0
  717. package/dist/web/lib/toolMessageProps.mjs +19 -0
  718. package/dist/web/lib/toolMessageProps.mjs.map +1 -0
  719. package/dist/web/lib/toolPrompt.cjs +44 -0
  720. package/dist/web/lib/toolPrompt.cjs.map +1 -0
  721. package/dist/web/lib/toolPrompt.d.mts +34 -0
  722. package/dist/web/lib/toolPrompt.d.mts.map +1 -0
  723. package/dist/web/lib/toolPrompt.mjs +44 -0
  724. package/dist/web/lib/toolPrompt.mjs.map +1 -0
  725. package/dist/web/lib/transport.cjs +57 -0
  726. package/dist/web/lib/transport.cjs.map +1 -0
  727. package/dist/web/lib/transport.d.mts +40 -0
  728. package/dist/web/lib/transport.d.mts.map +1 -0
  729. package/dist/web/lib/transport.mjs +50 -0
  730. package/dist/web/lib/transport.mjs.map +1 -0
  731. package/dist/web/lib/useSessionMcp.cjs +65 -0
  732. package/dist/web/lib/useSessionMcp.cjs.map +1 -0
  733. package/dist/web/lib/useSessionMcp.d.mts +15 -0
  734. package/dist/web/lib/useSessionMcp.d.mts.map +1 -0
  735. package/dist/web/lib/useSessionMcp.mjs +65 -0
  736. package/dist/web/lib/useSessionMcp.mjs.map +1 -0
  737. package/dist/web/lib/webauthnClient.cjs +110 -0
  738. package/dist/web/lib/webauthnClient.cjs.map +1 -0
  739. package/dist/web/lib/webauthnClient.d.mts +32 -0
  740. package/dist/web/lib/webauthnClient.d.mts.map +1 -0
  741. package/dist/web/lib/webauthnClient.mjs +106 -0
  742. package/dist/web/lib/webauthnClient.mjs.map +1 -0
  743. package/dist/web/lib/webmcpSimulator.cjs +105 -0
  744. package/dist/web/lib/webmcpSimulator.cjs.map +1 -0
  745. package/dist/web/lib/webmcpSimulator.mjs +105 -0
  746. package/dist/web/lib/webmcpSimulator.mjs.map +1 -0
  747. package/dist/web/stores/captureStore.cjs +137 -0
  748. package/dist/web/stores/captureStore.cjs.map +1 -0
  749. package/dist/web/stores/captureStore.d.mts +13 -0
  750. package/dist/web/stores/captureStore.d.mts.map +1 -0
  751. package/dist/web/stores/captureStore.mjs +133 -0
  752. package/dist/web/stores/captureStore.mjs.map +1 -0
  753. package/dist/web/stores/composerStore.cjs +390 -0
  754. package/dist/web/stores/composerStore.cjs.map +1 -0
  755. package/dist/web/stores/composerStore.d.mts +101 -0
  756. package/dist/web/stores/composerStore.d.mts.map +1 -0
  757. package/dist/web/stores/composerStore.mjs +370 -0
  758. package/dist/web/stores/composerStore.mjs.map +1 -0
  759. package/dist/web/stores/composerSubmissionStore.cjs +88 -0
  760. package/dist/web/stores/composerSubmissionStore.cjs.map +1 -0
  761. package/dist/web/stores/composerSubmissionStore.d.mts +11 -0
  762. package/dist/web/stores/composerSubmissionStore.d.mts.map +1 -0
  763. package/dist/web/stores/composerSubmissionStore.mjs +87 -0
  764. package/dist/web/stores/composerSubmissionStore.mjs.map +1 -0
  765. package/dist/web/stores/dashboardStateStore.cjs +35 -0
  766. package/dist/web/stores/dashboardStateStore.cjs.map +1 -0
  767. package/dist/web/stores/dashboardStateStore.d.mts +11 -0
  768. package/dist/web/stores/dashboardStateStore.d.mts.map +1 -0
  769. package/dist/web/stores/dashboardStateStore.mjs +33 -0
  770. package/dist/web/stores/dashboardStateStore.mjs.map +1 -0
  771. package/dist/web/stores/devProxyStore.cjs +76 -0
  772. package/dist/web/stores/devProxyStore.cjs.map +1 -0
  773. package/dist/web/stores/devProxyStore.d.mts +25 -0
  774. package/dist/web/stores/devProxyStore.d.mts.map +1 -0
  775. package/dist/web/stores/devProxyStore.mjs +73 -0
  776. package/dist/web/stores/devProxyStore.mjs.map +1 -0
  777. package/dist/web/stores/dialogDraftStore.cjs +38 -0
  778. package/dist/web/stores/dialogDraftStore.cjs.map +1 -0
  779. package/dist/web/stores/dialogDraftStore.d.mts +13 -0
  780. package/dist/web/stores/dialogDraftStore.d.mts.map +1 -0
  781. package/dist/web/stores/dialogDraftStore.mjs +36 -0
  782. package/dist/web/stores/dialogDraftStore.mjs.map +1 -0
  783. package/dist/web/stores/fileLinkModesStore.cjs +20 -0
  784. package/dist/web/stores/fileLinkModesStore.cjs.map +1 -0
  785. package/dist/web/stores/fileLinkModesStore.d.mts +5 -0
  786. package/dist/web/stores/fileLinkModesStore.d.mts.map +1 -0
  787. package/dist/web/stores/fileLinkModesStore.mjs +20 -0
  788. package/dist/web/stores/fileLinkModesStore.mjs.map +1 -0
  789. package/dist/web/stores/menuStore.cjs +85 -0
  790. package/dist/web/stores/menuStore.cjs.map +1 -0
  791. package/dist/web/stores/menuStore.d.mts +42 -0
  792. package/dist/web/stores/menuStore.d.mts.map +1 -0
  793. package/dist/web/stores/menuStore.mjs +79 -0
  794. package/dist/web/stores/menuStore.mjs.map +1 -0
  795. package/dist/web/stores/newSessionStore.cjs +93 -0
  796. package/dist/web/stores/newSessionStore.cjs.map +1 -0
  797. package/dist/web/stores/newSessionStore.d.mts +30 -0
  798. package/dist/web/stores/newSessionStore.d.mts.map +1 -0
  799. package/dist/web/stores/newSessionStore.mjs +86 -0
  800. package/dist/web/stores/newSessionStore.mjs.map +1 -0
  801. package/dist/web/stores/pagedTranscriptStore.cjs +235 -0
  802. package/dist/web/stores/pagedTranscriptStore.cjs.map +1 -0
  803. package/dist/web/stores/pagedTranscriptStore.d.mts +12 -0
  804. package/dist/web/stores/pagedTranscriptStore.d.mts.map +1 -0
  805. package/dist/web/stores/pagedTranscriptStore.mjs +235 -0
  806. package/dist/web/stores/pagedTranscriptStore.mjs.map +1 -0
  807. package/dist/web/stores/paletteStore.cjs +37 -0
  808. package/dist/web/stores/paletteStore.cjs.map +1 -0
  809. package/dist/web/stores/paletteStore.d.mts +14 -0
  810. package/dist/web/stores/paletteStore.d.mts.map +1 -0
  811. package/dist/web/stores/paletteStore.mjs +34 -0
  812. package/dist/web/stores/paletteStore.mjs.map +1 -0
  813. package/dist/web/stores/railDialogStore.cjs +105 -0
  814. package/dist/web/stores/railDialogStore.cjs.map +1 -0
  815. package/dist/web/stores/railDialogStore.d.mts +32 -0
  816. package/dist/web/stores/railDialogStore.d.mts.map +1 -0
  817. package/dist/web/stores/railDialogStore.mjs +97 -0
  818. package/dist/web/stores/railDialogStore.mjs.map +1 -0
  819. package/dist/web/stores/remoteAccessStore.cjs +216 -0
  820. package/dist/web/stores/remoteAccessStore.cjs.map +1 -0
  821. package/dist/web/stores/remoteAccessStore.d.mts +48 -0
  822. package/dist/web/stores/remoteAccessStore.d.mts.map +1 -0
  823. package/dist/web/stores/remoteAccessStore.mjs +202 -0
  824. package/dist/web/stores/remoteAccessStore.mjs.map +1 -0
  825. package/dist/web/stores/sessionChannelHoldsStore.cjs +43 -0
  826. package/dist/web/stores/sessionChannelHoldsStore.cjs.map +1 -0
  827. package/dist/web/stores/sessionChannelHoldsStore.d.mts +9 -0
  828. package/dist/web/stores/sessionChannelHoldsStore.d.mts.map +1 -0
  829. package/dist/web/stores/sessionChannelHoldsStore.mjs +42 -0
  830. package/dist/web/stores/sessionChannelHoldsStore.mjs.map +1 -0
  831. package/dist/web/stores/sessionStore.cjs +610 -0
  832. package/dist/web/stores/sessionStore.cjs.map +1 -0
  833. package/dist/web/stores/sessionStore.d.mts +116 -0
  834. package/dist/web/stores/sessionStore.d.mts.map +1 -0
  835. package/dist/web/stores/sessionStore.mjs +568 -0
  836. package/dist/web/stores/sessionStore.mjs.map +1 -0
  837. package/dist/web/stores/sessionsStore.cjs +272 -0
  838. package/dist/web/stores/sessionsStore.cjs.map +1 -0
  839. package/dist/web/stores/sessionsStore.d.mts +74 -0
  840. package/dist/web/stores/sessionsStore.d.mts.map +1 -0
  841. package/dist/web/stores/sessionsStore.mjs +257 -0
  842. package/dist/web/stores/sessionsStore.mjs.map +1 -0
  843. package/dist/web/stores/settingsDraftStore.cjs +138 -0
  844. package/dist/web/stores/settingsDraftStore.cjs.map +1 -0
  845. package/dist/web/stores/settingsDraftStore.d.mts +27 -0
  846. package/dist/web/stores/settingsDraftStore.d.mts.map +1 -0
  847. package/dist/web/stores/settingsDraftStore.mjs +132 -0
  848. package/dist/web/stores/settingsDraftStore.mjs.map +1 -0
  849. package/dist/web/stores/templateStore.cjs +136 -0
  850. package/dist/web/stores/templateStore.cjs.map +1 -0
  851. package/dist/web/stores/templateStore.d.mts +20 -0
  852. package/dist/web/stores/templateStore.d.mts.map +1 -0
  853. package/dist/web/stores/templateStore.mjs +131 -0
  854. package/dist/web/stores/templateStore.mjs.map +1 -0
  855. package/dist/web/stores/themeStore.cjs +42 -0
  856. package/dist/web/stores/themeStore.cjs.map +1 -0
  857. package/dist/web/stores/themeStore.d.mts +20 -0
  858. package/dist/web/stores/themeStore.d.mts.map +1 -0
  859. package/dist/web/stores/themeStore.mjs +39 -0
  860. package/dist/web/stores/themeStore.mjs.map +1 -0
  861. package/dist/web/stores/threadStore.cjs +122 -0
  862. package/dist/web/stores/threadStore.cjs.map +1 -0
  863. package/dist/web/stores/threadStore.d.mts +24 -0
  864. package/dist/web/stores/threadStore.d.mts.map +1 -0
  865. package/dist/web/stores/threadStore.mjs +114 -0
  866. package/dist/web/stores/threadStore.mjs.map +1 -0
  867. package/dist/web/stores/toolPromptStore.cjs +15 -0
  868. package/dist/web/stores/toolPromptStore.cjs.map +1 -0
  869. package/dist/web/stores/toolPromptStore.d.mts +23 -0
  870. package/dist/web/stores/toolPromptStore.d.mts.map +1 -0
  871. package/dist/web/stores/toolPromptStore.mjs +14 -0
  872. package/dist/web/stores/toolPromptStore.mjs.map +1 -0
  873. package/dist/web/stores/transientTabsStore.cjs +66 -0
  874. package/dist/web/stores/transientTabsStore.cjs.map +1 -0
  875. package/dist/web/stores/transientTabsStore.d.mts +21 -0
  876. package/dist/web/stores/transientTabsStore.d.mts.map +1 -0
  877. package/dist/web/stores/transientTabsStore.mjs +59 -0
  878. package/dist/web/stores/transientTabsStore.mjs.map +1 -0
  879. package/dist/web/stores/uiStore.cjs +47 -0
  880. package/dist/web/stores/uiStore.cjs.map +1 -0
  881. package/dist/web/stores/uiStore.d.mts +18 -0
  882. package/dist/web/stores/uiStore.d.mts.map +1 -0
  883. package/dist/web/stores/uiStore.mjs +45 -0
  884. package/dist/web/stores/uiStore.mjs.map +1 -0
  885. package/dist/web/stores/useOpenTab.cjs +31 -0
  886. package/dist/web/stores/useOpenTab.cjs.map +1 -0
  887. package/dist/web/stores/useOpenTab.d.mts +9 -0
  888. package/dist/web/stores/useOpenTab.d.mts.map +1 -0
  889. package/dist/web/stores/useOpenTab.mjs +31 -0
  890. package/dist/web/stores/useOpenTab.mjs.map +1 -0
  891. package/dist/web/stores/usePluginSlotProps.cjs +115 -0
  892. package/dist/web/stores/usePluginSlotProps.cjs.map +1 -0
  893. package/dist/web/stores/usePluginSlotProps.d.mts +6 -0
  894. package/dist/web/stores/usePluginSlotProps.d.mts.map +1 -0
  895. package/dist/web/stores/usePluginSlotProps.mjs +115 -0
  896. package/dist/web/stores/usePluginSlotProps.mjs.map +1 -0
  897. package/dist/web/stores/useToolPrompt.cjs +42 -0
  898. package/dist/web/stores/useToolPrompt.cjs.map +1 -0
  899. package/dist/web/stores/useToolPrompt.d.mts +14 -0
  900. package/dist/web/stores/useToolPrompt.d.mts.map +1 -0
  901. package/dist/web/stores/useToolPrompt.mjs +42 -0
  902. package/dist/web/stores/useToolPrompt.mjs.map +1 -0
  903. package/dist/web/stores/useWebPluginRegistry.cjs +11 -0
  904. package/dist/web/stores/useWebPluginRegistry.cjs.map +1 -0
  905. package/dist/web/stores/useWebPluginRegistry.d.mts +5 -0
  906. package/dist/web/stores/useWebPluginRegistry.d.mts.map +1 -0
  907. package/dist/web/stores/useWebPluginRegistry.mjs +11 -0
  908. package/dist/web/stores/useWebPluginRegistry.mjs.map +1 -0
  909. package/dist/web/stores/workspaceAdmissionStore.cjs +67 -0
  910. package/dist/web/stores/workspaceAdmissionStore.cjs.map +1 -0
  911. package/dist/web/stores/workspaceAdmissionStore.d.mts +24 -0
  912. package/dist/web/stores/workspaceAdmissionStore.d.mts.map +1 -0
  913. package/dist/web/stores/workspaceAdmissionStore.mjs +64 -0
  914. package/dist/web/stores/workspaceAdmissionStore.mjs.map +1 -0
  915. package/dist/web/stores/workspacesStore.cjs +83 -0
  916. package/dist/web/stores/workspacesStore.cjs.map +1 -0
  917. package/dist/web/stores/workspacesStore.d.mts +17 -0
  918. package/dist/web/stores/workspacesStore.d.mts.map +1 -0
  919. package/dist/web/stores/workspacesStore.mjs +78 -0
  920. package/dist/web/stores/workspacesStore.mjs.map +1 -0
  921. package/llms.txt +3 -0
  922. package/package.json +107 -0
  923. package/styles/dashboard.css +2 -0
  924. package/styles/preview.css +3 -0
@@ -0,0 +1,40 @@
1
+ import { sessionStoreFor } from "../../stores/sessionStore.mjs";
2
+ import { subscribeThread, threadStoreKey, unsubscribeThread } from "../../stores/threadStore.mjs";
3
+ import { Transcript } from "./Timeline.mjs";
4
+ import { useEffect } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { EmptyState } from "@agimon-ai/po-web-components";
7
+ //#region src/web/features/session/ThreadView.tsx
8
+ const THREAD_TEST_ID = "thread-timeline";
9
+ /**
10
+ * A thread of the focused session, such as a subagent run's own journal, on
11
+ * the same transcript as the session itself and followed only while shown.
12
+ * The parent session id goes down with it so tool cards resolve renderers
13
+ * and slot props exactly as the main thread does.
14
+ *
15
+ * `options` is how a caller that is not a whole tab asks for less: a grid card
16
+ * shows the newest few entries at card scale.
17
+ */
18
+ function ThreadView({ sessionId, threadId, options }) {
19
+ useEffect(() => {
20
+ subscribeThread(sessionId, threadId);
21
+ return () => unsubscribeThread(sessionId, threadId);
22
+ }, [sessionId, threadId]);
23
+ return /* @__PURE__ */ jsx(Transcript, {
24
+ store: sessionStoreFor(threadStoreKey(sessionId, threadId)),
25
+ sessionId,
26
+ historyKey: threadStoreKey(sessionId, threadId),
27
+ testId: THREAD_TEST_ID,
28
+ limit: options?.limit,
29
+ compact: options?.compact,
30
+ empty: /* @__PURE__ */ jsx(EmptyState, {
31
+ "data-testid": "thread-empty",
32
+ title: "no messages yet",
33
+ description: "the agent's journal shows here as soon as it starts writing."
34
+ })
35
+ });
36
+ }
37
+ //#endregion
38
+ export { ThreadView };
39
+
40
+ //# sourceMappingURL=ThreadView.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadView.mjs","names":[],"sources":["../../../../src/web/features/session/ThreadView.tsx"],"sourcesContent":["import type { ThreadViewOptions } from '@agimon-ai/po-core/web';\nimport { EmptyState } from '@agimon-ai/po-web-components';\nimport { useEffect } from 'react';\n\nimport { sessionStoreFor } from '../../stores/sessionStore';\nimport { subscribeThread, threadStoreKey, unsubscribeThread } from '../../stores/threadStore';\nimport { Transcript } from './Timeline';\n\nconst THREAD_TEST_ID = 'thread-timeline';\n\n/**\n * A thread of the focused session, such as a subagent run's own journal, on\n * the same transcript as the session itself and followed only while shown.\n * The parent session id goes down with it so tool cards resolve renderers\n * and slot props exactly as the main thread does.\n *\n * `options` is how a caller that is not a whole tab asks for less: a grid card\n * shows the newest few entries at card scale.\n */\nexport function ThreadView({\n sessionId,\n threadId,\n options,\n}: {\n sessionId: string;\n threadId: string;\n options?: ThreadViewOptions;\n}) {\n useEffect(() => {\n subscribeThread(sessionId, threadId);\n return () => unsubscribeThread(sessionId, threadId);\n }, [sessionId, threadId]);\n\n return (\n <Transcript\n store={sessionStoreFor(threadStoreKey(sessionId, threadId))}\n sessionId={sessionId}\n historyKey={threadStoreKey(sessionId, threadId)}\n testId={THREAD_TEST_ID}\n limit={options?.limit}\n compact={options?.compact}\n empty={\n <EmptyState\n data-testid=\"thread-empty\"\n title=\"no messages yet\"\n description=\"the agent's journal shows here as soon as it starts writing.\"\n />\n }\n />\n );\n}\n"],"mappings":";;;;;;;AAQA,MAAM,iBAAiB;;;;;;;;;;AAWvB,SAAgB,WAAW,EACzB,WACA,UACA,WAKC;CACD,gBAAgB;EACd,gBAAgB,WAAW,QAAQ;EACnC,aAAa,kBAAkB,WAAW,QAAQ;CACpD,GAAG,CAAC,WAAW,QAAQ,CAAC;CAExB,OACE,oBAAC,YAAD;EACE,OAAO,gBAAgB,eAAe,WAAW,QAAQ,CAAC;EAC/C;EACX,YAAY,eAAe,WAAW,QAAQ;EAC9C,QAAQ;EACR,OAAO,SAAS;EAChB,SAAS,SAAS;EAClB,OACE,oBAAC,YAAD;GACE,eAAY;GACZ,OAAM;GACN,aAAY;EACb,CAAA;CAEJ,CAAA;AAEL"}
@@ -0,0 +1,620 @@
1
+ const require_pluginRegistry = require("../../lib/pluginRegistry.cjs");
2
+ const require_composition = require("../../lib/composition.cjs");
3
+ const require_fileMentions = require("../../lib/fileMentions.cjs");
4
+ const require_promptFocus = require("../../lib/promptFocus.cjs");
5
+ const require_sessionModel = require("../../lib/sessionModel.cjs");
6
+ const require_sessionSummary = require("../../lib/sessionSummary.cjs");
7
+ const require_timelineGroups = require("../../lib/timelineGroups.cjs");
8
+ const require_composerStore = require("../../stores/composerStore.cjs");
9
+ const require_sessionsStore = require("../../stores/sessionsStore.cjs");
10
+ const require_sessionStore = require("../../stores/sessionStore.cjs");
11
+ const require_transientTabsStore = require("../../stores/transientTabsStore.cjs");
12
+ const require_useOpenTab = require("../../stores/useOpenTab.cjs");
13
+ const require_useWebPluginRegistry = require("../../stores/useWebPluginRegistry.cjs");
14
+ const require_usePluginSlotProps = require("../../stores/usePluginSlotProps.cjs");
15
+ const require_MentionPreviews = require("./MentionPreviews.cjs");
16
+ const require_MessageMarkdown = require("./MessageMarkdown.cjs");
17
+ const require_ToolCard = require("./ToolCard.cjs");
18
+ let react = require("react");
19
+ let _tanstack_react_store = require("@tanstack/react-store");
20
+ let react_jsx_runtime = require("react/jsx-runtime");
21
+ let _agimon_ai_po_web_components = require("@agimon-ai/po-web-components");
22
+ let _tanstack_react_virtual = require("@tanstack/react-virtual");
23
+ //#region src/web/features/session/Timeline.tsx
24
+ const SUGGESTIONS = [
25
+ "Review the working tree and summarise the diff",
26
+ "Run the affected nx targets and report failures",
27
+ "Explain how the session socket handshake works"
28
+ ];
29
+ /** Closer than this to the end counts as reading the latest, so new frames keep the view pinned. */
30
+ const PINNED_THRESHOLD_PX = 200;
31
+ /** Closer than this to the top asks for the window above, before the reader hits the edge. */
32
+ const PAGE_BACK_THRESHOLD_PX = 400;
33
+ /**
34
+ * Entries at the end that are never skipped.
35
+ *
36
+ * Containment makes a skipped entry report its placeholder height, so a
37
+ * transcript whose tail is contained has a scroll height that is only an
38
+ * estimate, and following the newest line lands short of it. The tail is also
39
+ * the part a reader is nearly always looking at, so there is nothing to skip
40
+ * there; everything above it is what makes a long session slow.
41
+ */
42
+ function noticeHref(line) {
43
+ if (/\s/u.test(line) || !/^https?:\/\//i.test(line)) return null;
44
+ try {
45
+ const url = new URL(line);
46
+ if (url.protocol !== "http:" && url.protocol !== "https:" || !url.host || url.username || url.password) return null;
47
+ return url.href;
48
+ } catch {
49
+ return null;
50
+ }
51
+ }
52
+ /** Two letters from a persona name, so a profile without an icon is still distinct. */
53
+ function SpeakerAvatar({ speaker, identity }) {
54
+ if (speaker === "assistant") {
55
+ const label = identity?.name ?? identity?.profile ?? "Po";
56
+ const fallback = identity ? require_sessionSummary.personaInitials(label) : "PO";
57
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.Avatar, {
58
+ "aria-label": label,
59
+ className: "size-9 shrink-0 border border-doom-border-soft bg-doom-deep p-1",
60
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.AvatarImage, {
61
+ src: identity?.icon ?? "/favicon.svg",
62
+ alt: ""
63
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.AvatarFallback, {
64
+ className: "text-doom-magenta",
65
+ children: fallback
66
+ })]
67
+ });
68
+ }
69
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Avatar, {
70
+ "aria-label": "You",
71
+ className: "size-9 shrink-0 border border-doom-border bg-doom-panel",
72
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.AvatarFallback, {
73
+ className: "bg-doom-panel text-doom-dim",
74
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.UserIcon, {
75
+ "aria-hidden": "true",
76
+ className: "size-4"
77
+ })
78
+ })
79
+ });
80
+ }
81
+ function MessageActions({ actions, disabled, actionsDisabled, onQuote, onRewind, userMessage }) {
82
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
83
+ "data-testid": "entry-actions",
84
+ className: "pointer-events-none absolute right-1 bottom-0 z-10 flex max-w-[calc(100%-0.5rem)] translate-y-1/2 flex-wrap justify-end gap-1 rounded-md border border-doom-border-soft bg-doom-panel p-0.5 opacity-0 shadow-sm transition-opacity group-hover/message:pointer-events-auto group-hover/message:opacity-100 group-focus-within/message:pointer-events-auto group-focus-within/message:opacity-100 [@media(hover:none)]:pointer-events-auto [@media(hover:none)]:opacity-100",
85
+ children: [
86
+ userMessage ? actions.map((action) => {
87
+ const ActionIcon = action.icon;
88
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
89
+ variant: "subtle",
90
+ size: ActionIcon ? "icon" : "sm",
91
+ "data-testid": "entry-plugin-action",
92
+ "aria-label": action.label,
93
+ title: action.label,
94
+ disabled: actionsDisabled,
95
+ onMouseDown: (event) => event.preventDefault(),
96
+ onClick: () => action.run(userMessage),
97
+ className: ActionIcon ? "border-0 shadow-none" : "h-6 border-0 px-2 shadow-none",
98
+ children: ActionIcon ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ActionIcon, {
99
+ "aria-hidden": true,
100
+ className: "h-3 w-3"
101
+ }) : action.label
102
+ }, `${action.pluginId}.${action.id}`);
103
+ }) : null,
104
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
105
+ variant: "subtle",
106
+ size: "icon",
107
+ "data-testid": "entry-rewind",
108
+ "aria-label": "Rewind to message",
109
+ title: disabled ? "Wait for the current response before rewinding" : "Rewind to message",
110
+ disabled: disabled || actionsDisabled,
111
+ onMouseDown: (event) => event.preventDefault(),
112
+ onClick: onRewind,
113
+ className: "border-0 shadow-none",
114
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.RewindIcon, {
115
+ "aria-hidden": "true",
116
+ className: "h-3 w-3"
117
+ })
118
+ }),
119
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
120
+ variant: "subtle",
121
+ size: "icon",
122
+ "data-testid": "entry-quote",
123
+ "aria-label": "Quote message",
124
+ title: "Quote message",
125
+ disabled: actionsDisabled,
126
+ onMouseDown: (event) => event.preventDefault(),
127
+ onClick: onQuote,
128
+ className: "border-0 shadow-none",
129
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.QuoteIcon, {
130
+ "aria-hidden": "true",
131
+ className: "h-3 w-3"
132
+ })
133
+ })
134
+ ]
135
+ });
136
+ }
137
+ /** The message's wall-clock time, quiet at the end of its first line; nothing when the entry carries none. */
138
+ function MessageTime({ timestamp }) {
139
+ if (timestamp === void 0) return null;
140
+ const at = new Date(timestamp);
141
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("time", {
142
+ "data-testid": "entry-time",
143
+ dateTime: at.toISOString(),
144
+ className: "shrink-0 pt-0.5 text-sm text-doom-dim tabular-nums",
145
+ children: at.toLocaleTimeString([], {
146
+ hour: "numeric",
147
+ minute: "2-digit"
148
+ })
149
+ });
150
+ }
151
+ function ToolEntryRow({ entry, slotProps, statuses }) {
152
+ const presentation = require_pluginRegistry.pluginToolRenderer(entry.name, statuses)?.timelinePresentation ?? "tool";
153
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
154
+ "data-testid": "entry-tool-row",
155
+ "data-tool-presentation": presentation,
156
+ className: presentation === "tool" ? "min-w-0 sm:pl-12" : "min-w-0",
157
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ToolCard.ToolCard, {
158
+ entry,
159
+ slotProps,
160
+ statuses
161
+ })
162
+ });
163
+ }
164
+ /**
165
+ * A run of calls to one tool, under one frame, indented to the message column. The rows
166
+ * inside are the same cards the tool renders on its own; the group only takes
167
+ * their border, so each call still opens and closes by itself.
168
+ */
169
+ function ToolGroupRow({ name, entries, slotProps, statuses }) {
170
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
171
+ "data-testid": "entry-tool-row",
172
+ "data-tool-presentation": "tool",
173
+ className: "min-w-0 sm:pl-12",
174
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.MessageItemGroup, {
175
+ "data-testid": "entry-tool-group",
176
+ "data-tool-name": name,
177
+ "data-tool-count": entries.length,
178
+ tone: require_timelineGroups.groupTone(entries),
179
+ title: name,
180
+ summary: `· ${require_timelineGroups.groupSummary(entries)}`,
181
+ className: "min-w-0",
182
+ children: entries.map((entry) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ToolCard.ToolCard, {
183
+ entry,
184
+ slotProps,
185
+ statuses
186
+ }, entry.id))
187
+ })
188
+ });
189
+ }
190
+ const Entry = (0, react.memo)(function Entry({ entry, onFileLink, pluginActions, sessionId, sessionIdentity, sessionStreaming, runtimeActionsDisabled, slotProps, toolStatuses, compact }) {
191
+ const quoteSource = (0, react.useRef)(null);
192
+ const quoteMessage = (text) => {
193
+ const selection = window.getSelection();
194
+ const source = quoteSource.current;
195
+ const selected = source !== null && selection !== null && !selection.isCollapsed && selection.anchorNode !== null && selection.focusNode !== null && source.contains(selection.anchorNode) && source.contains(selection.focusNode) ? selection.toString() : text;
196
+ const caret = require_composerStore.appendComposerQuote(sessionId, selected);
197
+ if (caret !== null) requestAnimationFrame(() => require_promptFocus.focusPrompt(caret));
198
+ };
199
+ if (entry.kind === "user") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
200
+ "data-testid": "entry-user",
201
+ className: "group/message flex flex-row-reverse items-start gap-3",
202
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SpeakerAvatar, { speaker: "user" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
203
+ className: "relative min-w-0 max-w-4/5",
204
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
205
+ ref: quoteSource,
206
+ className: `flex flex-col gap-2 rounded-lg bg-doom-rail px-4 py-3 leading-relaxed break-words text-doom-hi ${compact ? "text-base" : "text-lg"}`,
207
+ children: [
208
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
209
+ className: "flex items-start gap-4",
210
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
211
+ className: "min-w-0 flex-1",
212
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MessageMarkdown.MessageMarkdown, {
213
+ sessionId,
214
+ onFileLink,
215
+ text: entry.text
216
+ })
217
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageTime, { timestamp: entry.timestamp })]
218
+ }),
219
+ entry.images && entry.images.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
220
+ "data-testid": "user-attachments",
221
+ className: "flex flex-wrap gap-2",
222
+ children: entry.images.filter((image) => require_sessionModel.isSupportedImageMimeType(image.mimeType)).map((image, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
223
+ src: `data:${image.mimeType};base64,${image.data}`,
224
+ alt: `Attachment ${String(index + 1)}`,
225
+ "data-testid": "user-attached-image",
226
+ className: "h-auto max-h-80 max-w-full rounded-md object-contain"
227
+ }, `${image.mimeType}:${image.data.slice(0, 24)}:${String(index)}`))
228
+ }) : null,
229
+ sessionId ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MentionPreviews.MentionPreviews, {
230
+ sessionId,
231
+ mentions: require_fileMentions.parseFileMentions(entry.text),
232
+ onFileLink
233
+ }) : null
234
+ ]
235
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageActions, {
236
+ actions: pluginActions,
237
+ disabled: sessionStreaming,
238
+ actionsDisabled: runtimeActionsDisabled,
239
+ onQuote: () => quoteMessage(entry.text),
240
+ onRewind: () => require_sessionStore.rewindToMessage(entry.id, sessionId),
241
+ userMessage: sessionId !== null && entry.text.trim().length > 0 ? {
242
+ sessionId,
243
+ messageId: entry.id,
244
+ text: entry.text
245
+ } : void 0
246
+ })]
247
+ })]
248
+ });
249
+ if (entry.kind === "assistant") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
250
+ "data-testid": "entry-assistant",
251
+ "data-streaming": entry.streaming,
252
+ className: "group/message flex items-start gap-3",
253
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SpeakerAvatar, {
254
+ speaker: "assistant",
255
+ identity: entry.identity ?? sessionIdentity
256
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
257
+ className: "relative min-w-0 flex-1",
258
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
259
+ className: "flex items-start gap-4 px-1 pt-1.5",
260
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
261
+ className: "flex min-w-0 flex-1 flex-col gap-2",
262
+ children: [entry.thinking ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
263
+ "data-testid": "entry-thinking",
264
+ className: `font-normal text-doom-dim [&_p]:whitespace-pre-wrap [&_strong]:font-normal [&_strong]:text-doom-dim ${compact ? "text-sm" : "text-base"}`,
265
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MessageMarkdown.MessageMarkdown, {
266
+ sessionId,
267
+ onFileLink,
268
+ text: entry.thinking
269
+ })
270
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
271
+ ref: quoteSource,
272
+ "data-testid": "entry-text",
273
+ className: `leading-relaxed break-words text-doom-text ${compact ? "text-base" : "text-lg"}`,
274
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MessageMarkdown.MessageMarkdown, {
275
+ sessionId,
276
+ onFileLink,
277
+ text: entry.text
278
+ }), entry.streaming ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.StreamCursor, {}) : null]
279
+ })]
280
+ }), entry.streaming ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageTime, { timestamp: entry.timestamp })]
281
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MessageActions, {
282
+ actions: pluginActions,
283
+ disabled: sessionStreaming,
284
+ actionsDisabled: runtimeActionsDisabled,
285
+ onQuote: () => quoteMessage(entry.text),
286
+ onRewind: () => require_sessionStore.rewindToMessage(entry.id, sessionId)
287
+ })]
288
+ })]
289
+ });
290
+ if (entry.kind === "tool") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolEntryRow, {
291
+ entry,
292
+ slotProps,
293
+ statuses: toolStatuses
294
+ });
295
+ if (entry.kind === "settled") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
296
+ "data-testid": "entry-settled",
297
+ className: "flex items-center gap-3 sm:pl-12",
298
+ children: [
299
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Separator, { className: "flex-1" }),
300
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
301
+ className: "text-sm text-doom-dim",
302
+ children: ["Agent settled", entry.tools > 0 ? ` · ${entry.tools} tool${entry.tools === 1 ? "" : "s"}` : ""]
303
+ }),
304
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Separator, { className: "flex-1" })
305
+ ]
306
+ });
307
+ if (entry.kind === "queued") return null;
308
+ const isError = entry.tone === "error";
309
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
310
+ "data-testid": "entry-notice",
311
+ "data-tone": entry.tone,
312
+ className: "flex items-start gap-2.5",
313
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
314
+ "aria-hidden": true,
315
+ className: `grid size-5 shrink-0 place-items-center rounded-full ${isError ? "bg-doom-tint-red text-doom-red" : "bg-doom-tint-green text-doom-green"}`,
316
+ children: isError ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.AlertIcon, { className: "size-3.5" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.SparklesIcon, { className: "size-3" })
317
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
318
+ className: `min-w-0 flex-1 whitespace-pre-wrap break-words text-base ${isError ? "text-doom-red" : "text-doom-dim"}`,
319
+ children: entry.text.split(/(\s+)/u).map((part, index) => {
320
+ const href = noticeHref(part);
321
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Fragment, { children: href === null ? part : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
322
+ href,
323
+ target: "_blank",
324
+ rel: "noopener noreferrer",
325
+ className: "underline underline-offset-2",
326
+ children: part
327
+ }) }, index);
328
+ })
329
+ })]
330
+ });
331
+ }, entriesEqual);
332
+ function entriesEqual(previous, next) {
333
+ if (previous.entry !== next.entry || previous.sessionId !== next.sessionId || previous.compact !== next.compact) return false;
334
+ if (next.entry.kind === "tool") return previous.slotProps === next.slotProps && previous.toolStatuses === next.toolStatuses;
335
+ if (next.entry.kind === "user") return previous.onFileLink === next.onFileLink && previous.pluginActions === next.pluginActions && previous.sessionStreaming === next.sessionStreaming && previous.runtimeActionsDisabled === next.runtimeActionsDisabled;
336
+ if (next.entry.kind === "assistant") return previous.onFileLink === next.onFileLink && previous.sessionIdentity === next.sessionIdentity && previous.sessionStreaming === next.sessionStreaming && previous.runtimeActionsDisabled === next.runtimeActionsDisabled;
337
+ return true;
338
+ }
339
+ function BackgroundWorkNotice() {
340
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("output", {
341
+ "data-testid": "background-work-notice",
342
+ className: "mt-auto flex shrink-0 justify-center px-3 pt-2 pb-3",
343
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
344
+ className: "max-w-lg rounded-md border border-doom-yellow/40 bg-doom-panel px-3 py-2 text-center text-sm leading-relaxed text-doom-yellow",
345
+ children: "Background work is still running. The agent will resume when results are ready."
346
+ })
347
+ });
348
+ }
349
+ /**
350
+ * One transcript, whichever fold it reads: the focused session's own, or a
351
+ * thread of it. Owns the scroll pinning; the caller owns the empty state and
352
+ * the session the entries' tool cards act on.
353
+ *
354
+ * `limit` and `compact` are for a fold that is not a whole surface, such as a
355
+ * grid card: only the newest entries, drawn tighter, with no history paging
356
+ * and no jump control, because a card is a glance and not a place to read.
357
+ */
358
+ function Transcript({ store, sessionId, historyKey = sessionId, empty, testId = "timeline", backgroundWorkActive = false, runtimeActionsDisabled = false, limit, compact = false }) {
359
+ "use no memo";
360
+ const entries = (0, _tanstack_react_store.useStore)(store, (state) => state.entries);
361
+ const hasNewerHistory = (0, _tanstack_react_store.useStore)(store, (state) => state.hasNewerHistory);
362
+ const sessionIdentity = (0, _tanstack_react_store.useStore)(store, (state) => state.profileIdentity);
363
+ const sessionStreaming = require_sessionStore.useActiveSession((state) => state.streaming);
364
+ const toolStatuses = require_sessionStore.useActiveSession((state) => state.statuses);
365
+ const resolveFileLink = require_composition.useFileLinks(sessionId);
366
+ const openTab = require_useOpenTab.useOpenTab();
367
+ const registryRevision = require_useWebPluginRegistry.useWebPluginRegistry();
368
+ const slotProps = require_usePluginSlotProps.usePluginSlotProps(sessionId);
369
+ const pluginActions = (0, react.useMemo)(() => {
370
+ return require_pluginRegistry.pluginUserMessageActions();
371
+ }, [registryRevision]);
372
+ const onFileLink = (0, react.useCallback)((label, explicit = false) => {
373
+ if (sessionId === null) return void 0;
374
+ const tab = explicit ? require_composition.fileTabForPath(sessionId, label) : resolveFileLink(label);
375
+ if (tab === void 0) return void 0;
376
+ return () => {
377
+ require_transientTabsStore.openTransientTab(sessionId, tab);
378
+ openTab(tab.id);
379
+ };
380
+ }, [
381
+ openTab,
382
+ resolveFileLink,
383
+ sessionId
384
+ ]);
385
+ const visibleEntries = (0, react.useMemo)(() => {
386
+ const shown = entries.filter((entry) => entry.kind !== "queued");
387
+ return limit === void 0 ? shown : shown.slice(-limit);
388
+ }, [entries, limit]);
389
+ const units = (0, react.useMemo)(() => {
390
+ return require_timelineGroups.timelineUnits(visibleEntries, (name) => (require_pluginRegistry.pluginToolRenderer(name, toolStatuses)?.timelinePresentation ?? "tool") === "tool");
391
+ }, [
392
+ registryRevision,
393
+ toolStatuses,
394
+ visibleEntries
395
+ ]);
396
+ const scroller = (0, react.useRef)(null);
397
+ const unitKey = (0, react.useCallback)((index) => {
398
+ const unit = units[index];
399
+ return unit.kind === "group" ? `group-${unit.entries[0]?.id ?? ""}` : unit.entry.id;
400
+ }, [units]);
401
+ const virtualizer = (0, _tanstack_react_virtual.useVirtualizer)({
402
+ count: units.length,
403
+ getScrollElement: () => scroller.current,
404
+ estimateSize: () => 80,
405
+ overscan: 8,
406
+ getItemKey: unitKey,
407
+ initialRect: {
408
+ width: 0,
409
+ height: 800
410
+ }
411
+ });
412
+ const totalSize = virtualizer.getTotalSize();
413
+ const lastHeight = (0, react.useRef)(0);
414
+ const lastLayoutEntries = (0, react.useRef)(visibleEntries);
415
+ const following = (0, react.useRef)(true);
416
+ const [unread, setUnread] = (0, react.useState)(false);
417
+ const anchor = (0, react.useRef)(null);
418
+ const firstId = (0, react.useRef)(null);
419
+ const atBottom = (element, height) => element.scrollTop + element.clientHeight >= height - PINNED_THRESHOLD_PX;
420
+ const followLatest = () => {
421
+ const element = scroller.current;
422
+ if (!element || !following.current) return;
423
+ element.scrollTop = Math.max(0, element.scrollHeight - element.clientHeight);
424
+ setUnread(false);
425
+ };
426
+ const jumpToLatest = () => {
427
+ following.current = true;
428
+ setUnread(false);
429
+ if (!require_sessionStore.requestLatestHistory(historyKey)) followLatest();
430
+ };
431
+ /** Reaching the bottom by hand is the same as never having left it. */
432
+ const onScroll = () => {
433
+ const element = scroller.current;
434
+ if (!element) return;
435
+ const bottom = atBottom(element, element.scrollHeight);
436
+ following.current = bottom;
437
+ if (bottom) setUnread(false);
438
+ if (!compact && (element.scrollTop <= PAGE_BACK_THRESHOLD_PX && require_sessionStore.requestOlderHistory(historyKey) || bottom && require_sessionStore.requestNewerHistory(historyKey))) {
439
+ following.current = false;
440
+ const item = virtualizer.getVirtualItems().find((candidate) => candidate.end > element.scrollTop);
441
+ if (item) anchor.current = {
442
+ key: String(item.key),
443
+ offset: element.scrollTop - item.start
444
+ };
445
+ }
446
+ };
447
+ /** Wheel input is explicit intent to leave the live tail. */
448
+ const onWheel = () => {
449
+ following.current = false;
450
+ };
451
+ const [shownStore, setShownStore] = (0, react.useState)(store);
452
+ if (shownStore !== store) {
453
+ setShownStore(store);
454
+ setUnread(false);
455
+ }
456
+ (0, react.useLayoutEffect)(() => {
457
+ lastHeight.current = 0;
458
+ firstId.current = null;
459
+ anchor.current = null;
460
+ following.current = true;
461
+ }, [store]);
462
+ (0, react.useLayoutEffect)(() => {
463
+ const element = scroller.current;
464
+ if (!element) return;
465
+ const entriesChanged = lastLayoutEntries.current !== visibleEntries;
466
+ lastLayoutEntries.current = visibleEntries;
467
+ if (!entriesChanged && element.scrollHeight === lastHeight.current) return;
468
+ const held = anchor.current;
469
+ const prepended = visibleEntries.length > 0 && firstId.current !== null && visibleEntries[0]?.id !== firstId.current;
470
+ firstId.current = visibleEntries[0]?.id ?? null;
471
+ if (held !== null && prepended) {
472
+ anchor.current = null;
473
+ const index = units.findIndex((_unit, position) => unitKey(position) === held.key);
474
+ if (index >= 0) {
475
+ const offset = virtualizer.getOffsetForIndex(index, "start")?.[0];
476
+ if (offset !== void 0) element.scrollTop = offset + held.offset;
477
+ lastHeight.current = element.scrollHeight;
478
+ return;
479
+ }
480
+ }
481
+ if (lastHeight.current === 0) {
482
+ element.scrollTop = element.scrollHeight;
483
+ lastHeight.current = element.scrollHeight;
484
+ following.current = true;
485
+ setUnread(false);
486
+ return;
487
+ }
488
+ if (!entriesChanged) {
489
+ const pinned = element.scrollTop + element.clientHeight >= lastHeight.current - 1;
490
+ lastHeight.current = element.scrollHeight;
491
+ if (pinned) {
492
+ following.current = true;
493
+ followLatest();
494
+ }
495
+ return;
496
+ }
497
+ const shouldFollow = following.current || atBottom(element, lastHeight.current);
498
+ lastHeight.current = element.scrollHeight;
499
+ if (shouldFollow) {
500
+ following.current = true;
501
+ setUnread(false);
502
+ followLatest();
503
+ return;
504
+ }
505
+ setUnread(true);
506
+ }, [
507
+ units,
508
+ visibleEntries,
509
+ virtualizer,
510
+ unitKey,
511
+ totalSize
512
+ ]);
513
+ if (visibleEntries.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
514
+ className: "relative flex min-h-0 flex-1 flex-col overflow-y-auto",
515
+ children: [empty, backgroundWorkActive ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BackgroundWorkNotice, {}) : null]
516
+ });
517
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
518
+ className: "relative flex min-h-0 flex-1 flex-col",
519
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
520
+ ref: scroller,
521
+ onScroll,
522
+ onWheel,
523
+ "data-testid": testId,
524
+ className: compact ? "flex-1 overflow-y-auto px-2.5 py-2" : "flex-1 overflow-y-auto px-2 py-4 sm:py-5",
525
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
526
+ style: {
527
+ height: totalSize,
528
+ position: "relative",
529
+ width: "100%"
530
+ },
531
+ children: virtualizer.getVirtualItems().map((row) => {
532
+ const unit = units[row.index];
533
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
534
+ "data-index": row.index,
535
+ ref: virtualizer.measureElement,
536
+ style: {
537
+ position: "absolute",
538
+ top: 0,
539
+ left: 0,
540
+ width: "100%",
541
+ transform: `translateY(${row.start}px)`,
542
+ paddingBottom: compact ? 8 : 20
543
+ },
544
+ children: unit.kind === "group" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolGroupRow, {
545
+ name: unit.name,
546
+ entries: unit.entries,
547
+ slotProps,
548
+ statuses: toolStatuses
549
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Entry, {
550
+ entry: unit.entry,
551
+ onFileLink,
552
+ pluginActions,
553
+ sessionId,
554
+ sessionIdentity,
555
+ sessionStreaming,
556
+ runtimeActionsDisabled,
557
+ slotProps,
558
+ toolStatuses,
559
+ compact
560
+ })
561
+ }, row.key);
562
+ })
563
+ }), backgroundWorkActive ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BackgroundWorkNotice, {}) : null]
564
+ }), (unread || hasNewerHistory) && !compact ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.Button, {
565
+ variant: "subtle",
566
+ size: "sm",
567
+ "data-testid": "timeline-jump",
568
+ onClick: jumpToLatest,
569
+ className: "absolute bottom-3 left-1/2 -translate-x-1/2 border border-doom-border shadow-lg animate-doom-rise",
570
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.ChevronDownIcon, { className: "h-3 w-3" }), "New activity below"]
571
+ }) : null]
572
+ });
573
+ }
574
+ /** The focused session's conversation, with saved history readable before wake. */
575
+ function Timeline() {
576
+ const activeId = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.activeId);
577
+ const dormant = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.activeId !== null && state.byId[state.activeId]?.summary.dormant === true);
578
+ const idle = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.activeId !== null && state.byId[state.activeId]?.summary.phase === "idle");
579
+ const statuses = require_sessionStore.useActiveSession((state) => state.statuses);
580
+ const widgets = require_sessionStore.useActiveSession((state) => state.widgets);
581
+ const settled = require_sessionStore.useActiveSession((state) => state.settled);
582
+ const hasActiveWork = require_composition.useActivityGroups(statuses, widgets, activeId).some((group) => group.active);
583
+ const backgroundWorkActive = idle && settled && hasActiveWork;
584
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Transcript, {
585
+ store: require_sessionStore.sessionStoreFor(activeId),
586
+ sessionId: activeId,
587
+ runtimeActionsDisabled: dormant,
588
+ backgroundWorkActive,
589
+ empty: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.EmptyState, {
590
+ "data-testid": "timeline",
591
+ title: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
592
+ className: "text-xl",
593
+ children: "No messages yet"
594
+ }),
595
+ description: dormant ? "There is no saved conversation to show yet. Waking starts the agent again when you are ready." : "This session is attached and waiting. Anything you send goes straight to the supervised agent.",
596
+ children: dormant ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
597
+ "data-testid": "timeline-empty",
598
+ className: "mt-2 flex w-full flex-col gap-1.5",
599
+ children: SUGGESTIONS.map((suggestion, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.Button, {
600
+ variant: "outline",
601
+ size: "lg",
602
+ "data-testid": `suggestion-${index}`,
603
+ onClick: () => {
604
+ require_sessionStore.submitMessageWithAck(suggestion);
605
+ },
606
+ className: "h-auto justify-between bg-doom-panel px-3 py-2 text-left font-normal text-doom-text",
607
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
608
+ className: "flex-1 truncate",
609
+ children: suggestion
610
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.ExternalLinkIcon, { className: "h-3 w-3 shrink-0 text-doom-faint" })]
611
+ }, suggestion))
612
+ })
613
+ })
614
+ });
615
+ }
616
+ //#endregion
617
+ exports.Timeline = Timeline;
618
+ exports.Transcript = Transcript;
619
+
620
+ //# sourceMappingURL=Timeline.cjs.map