@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 @@
1
+ {"version":3,"file":"sessionStore.cjs","names":["Store","initialSessionState","useStore","sessionsStore","reduceSession","HISTORY_REQUEST_TYPE","prependHistory","replaceQueuedEntries","getStateCommand","getSessionStatsCommand","getCommandsCommand","activeSessionId","getAvailableModelsCommand","getAvailableThinkingLevelsCommand","setModelCommand","setThinkingLevelCommand","builtinCommandFrame","appendUserPrompt","isSupportedImageMimeType","steerCommand","promptCommand","sendFrameWithAck","rewindCommand","enqueueAutomaticCommand","clearQueueCommand","removeQueuedCommand","promoteQueuedCommand","resumeQueueCommand","setSessionNameCommand","abortCommand","dialogValue","clearDialog","dialogConfirmed","dialogCancelled"],"sources":["../../../src/web/stores/sessionStore.ts"],"sourcesContent":["import type { SessionLifecycle } from '@agimon-ai/po-core/sessionProtocol';\nimport { useStore } from '@tanstack/react-store';\nimport { Store } from '@tanstack/store';\n\nimport { HISTORY_REQUEST_TYPE } from '../../types/hub';\nimport {\n abortCommand,\n builtinCommandFrame,\n clearQueueCommand,\n dialogCancelled,\n dialogConfirmed,\n dialogValue,\n enqueueAutomaticCommand,\n promoteQueuedCommand,\n removeQueuedCommand,\n resumeQueueCommand,\n getAvailableModelsCommand,\n getAvailableThinkingLevelsCommand,\n getCommandsCommand,\n getSessionStatsCommand,\n getStateCommand,\n promptCommand,\n type RpcImage,\n rewindCommand,\n setModelCommand,\n setSessionNameCommand,\n setThinkingLevelCommand,\n steerCommand,\n} from '../lib/commands';\nimport {\n appendUserPrompt,\n clearDialog,\n isSupportedImageMimeType,\n initialSessionState,\n prependHistory,\n reduceSession,\n replaceQueuedEntries,\n type QueuedEntry,\n type SessionState,\n type TimelineEntry,\n} from '../lib/sessionModel';\nimport { sendFrame, sendFrameWithAck, sendHubFrame } from '../lib/transport';\nimport { activeSessionId, sessionsStore } from './sessionsStore';\n\n/**\n * One store per session, created on first touch.\n *\n * The heavyweight timeline state only exists for sessions this page has\n * subscribed to; the rail runs on hub summaries alone.\n */\nconst stores = new Map<string, Store<SessionState>>();\nconst MAX_CACHED_ENTRIES = 500;\n\nexport function setHasNewerHistory(sessionId: string, value: boolean): void {\n sessionStoreFor(sessionId).setState((state) =>\n state.hasNewerHistory === value ? state : { ...state, hasNewerHistory: value },\n );\n}\n/** Sessions whose visible transcript is currently supplied by Pi's protocol. */\nconst protocolTranscripts = new Set<string>();\n/** Projection keys changed after a subscription snapshot was requested. */\nconst replayGuards = new Map<string, { statuses: Set<string>; widgets: Set<string> }>();\nconst PROTOCOL_ENTRY_KINDS = new Set<TimelineEntry['kind']>(['user', 'assistant', 'tool']);\n/** Read-only stand-in while no session is focused, so hooks stay unconditional. */\nconst detachedStore = new Store<SessionState>(initialSessionState);\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nexport function sessionStoreFor(sessionId: string | null): Store<SessionState> {\n if (sessionId === null) return detachedStore;\n const existing = stores.get(sessionId);\n if (existing) return existing;\n const created = new Store<SessionState>(initialSessionState);\n stores.set(sessionId, created);\n return created;\n}\n\n/** Reads the focused session's state; components stay on the useStore idiom. */\nexport function useActiveSession<T>(selector: (state: SessionState) => T): T {\n const activeId = useStore(sessionsStore, (state) => state.activeId);\n return useStore(sessionStoreFor(activeId), selector);\n}\n\nfunction projectionKey(frame: Record<string, unknown>): { kind: 'status' | 'widget'; key: string } | undefined {\n const projected = frame.type === 'replay' && isRecord(frame.frame) ? frame.frame : frame;\n if (projected.type !== 'extension_ui_request') return undefined;\n if (typeof projected.statusKey === 'string' && projected.method === 'setStatus') {\n return { kind: 'status', key: projected.statusKey };\n }\n if (typeof projected.widgetKey === 'string' && projected.method === 'setWidget') {\n return { kind: 'widget', key: projected.widgetKey };\n }\n return undefined;\n}\n\n/** Presentation frames from the Pi protocol, or from bounded replay when replay is true. */\nexport function applySessionFrame(\n sessionId: string,\n frame: Record<string, unknown>,\n options: { replay?: boolean; source?: 'hub' } = {},\n): void {\n const projection = projectionKey(frame);\n const guard = replayGuards.get(sessionId);\n if (projection !== undefined && guard !== undefined) {\n const keys = projection.kind === 'status' ? guard.statuses : guard.widgets;\n if (options.replay && keys.has(projection.key)) return;\n if (!options.replay) keys.add(projection.key);\n }\n // The presentation stream owns live and replay projection until the typed session\n // service publishes a snapshot. Once it does, only Po-specific frames reduce here.\n const transcriptFromProtocol =\n protocolTranscripts.has(sessionId) || (options.source === 'hub' && hasReadyHistoryReader(sessionId));\n sessionStoreFor(sessionId).setState((state) => {\n const next = reduceSession(state, frame, { transcriptFromProtocol });\n if (!historyReaders.has(sessionId)) return next;\n return {\n ...next,\n entries: next.entries.length > MAX_CACHED_ENTRIES ? next.entries.slice(-MAX_CACHED_ENTRIES) : next.entries,\n restoredIds:\n next.restoredIds.length > MAX_CACHED_ENTRIES ? next.restoredIds.slice(-MAX_CACHED_ENTRIES) : next.restoredIds,\n };\n });\n}\n\n/** Lets the presentation stream resume transcript ownership after a typed service failure. */\nexport function releaseProtocolTranscript(sessionId: string): void {\n protocolTranscripts.delete(sessionId);\n}\n\n/** A thread has no protocol session, so its journal remains its authoritative transcript. */\nexport function applyThreadFrame(threadKey: string, frame: Record<string, unknown>): void {\n sessionStoreFor(threadKey).setState((state) => reduceSession(state, frame));\n}\n\n/**\n * One session's paging state: how far back the page has read, and whether a\n * request is already in flight. Kept beside the timeline rather than inside it\n * because it describes the reading, not the session.\n */\ninterface HistoryState {\n cursor: string | null;\n hasMore: boolean;\n loading: boolean;\n /** Pages taken so far; also what keeps prepended entry ids unique. */\n pages: number;\n}\n\nconst history = new Map<string, HistoryState>();\nconst historyReaders = new Map<\n string,\n {\n read: (direction: 'older' | 'newer' | 'latest') => boolean;\n ready: () => boolean;\n }\n>();\n\nfunction hasReadyHistoryReader(sessionId: string): boolean {\n return historyReaders.get(sessionId)?.ready() === true;\n}\n\nexport function bindHistoryReader(\n sessionId: string,\n reader: (direction: 'older' | 'newer' | 'latest') => boolean,\n ready: () => boolean = () => false,\n): () => void {\n const binding = { read: reader, ready };\n historyReaders.set(sessionId, binding);\n return () => {\n if (historyReaders.get(sessionId) === binding) historyReaders.delete(sessionId);\n };\n}\n\nexport function requestNewerHistory(sessionId: string | null): boolean {\n return sessionId !== null && (historyReaders.get(sessionId)?.read('newer') ?? false);\n}\n\nexport function requestLatestHistory(sessionId: string | null): boolean {\n return sessionId !== null && (historyReaders.get(sessionId)?.read('latest') ?? false);\n}\nconst historyStore = new Store<Record<string, HistoryState>>({});\nconst NO_HISTORY: HistoryState = { cursor: null, hasMore: true, loading: false, pages: 0 };\n\nfunction historyFor(sessionId: string): HistoryState {\n return history.get(sessionId) ?? NO_HISTORY;\n}\n\nfunction setHistory(sessionId: string, next: HistoryState): void {\n history.set(sessionId, next);\n historyStore.setState((state) => ({ ...state, [sessionId]: next }));\n}\n\n/** Whether more transcript exists above what this session's page holds. */\nexport function useHasOlderHistory(sessionId: string | null): boolean {\n return useStore(historyStore, (state) => (sessionId === null ? false : (state[sessionId] ?? NO_HISTORY).hasMore));\n}\n\n/**\n * Asks the hub for the window above what this page holds.\n *\n * One request at a time: a reader flicking upwards would otherwise ask for the\n * same window repeatedly before the first answer lands, and every copy would\n * be prepended.\n */\nexport function requestOlderHistory(sessionId: string | null): boolean {\n if (sessionId === null) return false;\n const reader = historyReaders.get(sessionId);\n if (reader) return reader.read('older');\n const current = historyFor(sessionId);\n if (current.loading || !current.hasMore) return false;\n setHistory(sessionId, { ...current, loading: true });\n sendHubFrame({\n type: HISTORY_REQUEST_TYPE,\n sessionId,\n ...(current.cursor === null ? {} : { before: current.cursor }),\n });\n return true;\n}\n\n/** Folds one answered window above the timeline and records how far back it reached. */\nexport function applyHistoryPage(sessionId: string, frames: Record<string, unknown>[], next: HistoryPage): void {\n const current = historyFor(sessionId);\n const pages = current.pages + 1;\n sessionStoreFor(sessionId).setState((state) => prependHistory(state, frames, pages));\n setHistory(sessionId, { cursor: next.cursor, hasMore: next.hasMore, loading: false, pages });\n}\n\nexport interface HistoryPage {\n cursor: string | null;\n hasMore: boolean;\n}\n\n/** The oldest entry the page holds, which is where the next window ends. */\nexport function seedHistoryCursor(sessionId: string, cursor: string | null): void {\n setHistory(sessionId, { ...NO_HISTORY, cursor });\n}\n\n/** Keeps Po-only and optimistic entries beside the protocol items that preceded them. */\nfunction mergeProtocolEntries(\n previous: TimelineEntry[],\n protocol: TimelineEntry[],\n pendingUserIds: ReadonlySet<string>,\n reconciledUserIds: ReadonlySet<string>,\n): TimelineEntry[] {\n const localByAnchor = new Map<string | null, TimelineEntry[]>();\n let anchor: string | null = null;\n for (const entry of previous) {\n const protocolOwned =\n (PROTOCOL_ENTRY_KINDS.has(entry.kind) || reconciledUserIds.has(entry.id)) && !pendingUserIds.has(entry.id);\n if (protocolOwned) {\n anchor = entry.id;\n continue;\n }\n const local = localByAnchor.get(anchor) ?? [];\n local.push(entry);\n localByAnchor.set(anchor, local);\n }\n\n const merged = [...(localByAnchor.get(null) ?? [])];\n const used = new Set<string | null>([null]);\n for (const entry of protocol) {\n merged.push(entry, ...(localByAnchor.get(entry.id) ?? []));\n used.add(entry.id);\n }\n for (const [entryAnchor, local] of localByAnchor) {\n if (!used.has(entryAnchor)) merged.push(...local);\n }\n return merged;\n}\n\n/**\n * Replaces protocol-owned transcript items with the authoritative snapshot.\n *\n * Local echoes disappear when the protocol publishes them. Po-only entries,\n * such as notices, queued messages, and run dividers, retain their place beside\n * the protocol item that preceded them.\n */\nexport function applyProtocolTranscript(sessionId: string, entries: TimelineEntry[], streaming: boolean): void {\n protocolTranscripts.add(sessionId);\n sessionStoreFor(sessionId).setState((state) => {\n const pendingUserEntries = [...state.pendingUserEntries];\n const pendingUserIdsBeforeReconciliation = new Set(pendingUserEntries.map((pending) => pending.id));\n const knownProtocolIds = new Set(\n state.entries\n .filter((entry) => PROTOCOL_ENTRY_KINDS.has(entry.kind) && !pendingUserIdsBeforeReconciliation.has(entry.id))\n .map((entry) => entry.id),\n );\n const protocolUserEntryIds = { ...state.protocolUserEntryIds };\n const normalizedEntries = [...entries];\n // Claimed prompts are remembered rather than dropped: the journal reports\n // the same message on its own channel, and that copy has to fold into this\n // entry instead of arriving as a new one.\n const reconciledUserEntries = [...state.reconciledUserEntries];\n\n // Work backwards so repeated text binds to the newest matching prompt. The\n // local id keeps React from mounting the same message again when Pi publishes\n // its authoritative transcript copy at the end of a run.\n for (let index = entries.length - 1; index >= 0; index -= 1) {\n const entry = entries[index];\n if (entry?.kind !== 'user') continue;\n const localId = protocolUserEntryIds[entry.id];\n if (localId !== undefined) {\n normalizedEntries[index] = { ...entry, id: localId };\n continue;\n }\n if (knownProtocolIds.has(entry.id)) continue;\n const pendingIndex = pendingUserEntries.findLastIndex((pending) => pending.text === entry.text);\n if (pendingIndex === -1) continue;\n const [pending] = pendingUserEntries.splice(pendingIndex, 1);\n if (pending === undefined) continue;\n protocolUserEntryIds[entry.id] = pending.id;\n reconciledUserEntries.push(pending);\n normalizedEntries[index] = { ...entry, id: pending.id };\n }\n\n const pendingUserIds = new Set(pendingUserEntries.map((pending) => pending.id));\n const reconciledUserIds = new Set(Object.values(protocolUserEntryIds));\n return {\n ...state,\n entries: mergeProtocolEntries(state.entries, normalizedEntries, pendingUserIds, reconciledUserIds),\n streaming: state.lifecycle === null ? streaming : state.lifecycle.operation !== null,\n settled: state.lifecycle === null ? !streaming : state.lifecycle.operation === null,\n pendingUserEntries,\n reconciledUserEntries,\n protocolUserEntryIds,\n };\n });\n}\n\nfunction protocolQueueMatches(state: SessionState, queue: readonly QueuedEntry[]): boolean {\n const current = state.entries.filter((entry): entry is QueuedEntry => entry.kind === 'queued');\n return (\n current.length === queue.length &&\n current.every((entry, index) => {\n const next = queue[index];\n if (\n next === undefined ||\n entry.id !== next.id ||\n entry.text !== next.text ||\n entry.delivery !== next.delivery ||\n entry.scheduling !== next.scheduling ||\n entry.disposition !== next.disposition\n )\n return false;\n const images = entry.images ?? [];\n const nextImages = next.images ?? [];\n return (\n images.length === nextImages.length &&\n images.every((image, imageIndex) => {\n const nextImage = nextImages[imageIndex];\n return nextImage !== undefined && image.data === nextImage.data && image.mimeType === nextImage.mimeType;\n })\n );\n })\n );\n}\n\n/** Applies execution and retained-input state from the server, never from replayed history. */\nexport function applySessionLifecycle(sessionId: string, lifecycle: SessionLifecycle, newBinding = false): void {\n sessionStoreFor(sessionId).setState((state) => {\n const current = state.lifecycle;\n if (!newBinding && current !== null && lifecycle.revision < current.revision) return state;\n const queue: QueuedEntry[] = lifecycle.queue.map(({ id, text, images, delivery, scheduling, disposition }) => ({\n kind: 'queued',\n id,\n text,\n delivery,\n scheduling,\n disposition,\n ...(images === undefined ? {} : { images: images.map(({ data, mimeType }) => ({ data, mimeType })) }),\n }));\n const streaming = lifecycle.operation !== null;\n const updated = protocolQueueMatches(state, queue) ? state : replaceQueuedEntries(state, queue);\n return {\n ...updated,\n lifecycle,\n streaming,\n settled: !streaming,\n ...(state.agent === null ? {} : { agent: { ...state.agent, isStreaming: streaming } }),\n };\n });\n}\n\n/** Replaces composer queue rows with the protocol server's authoritative queue. */\nexport function applyProtocolQueue(sessionId: string, queue: readonly QueuedEntry[]): void {\n sessionStoreFor(sessionId).setState((state) =>\n protocolQueueMatches(state, queue) ? state : replaceQueuedEntries(state, queue),\n );\n}\n/** Marks the start of a subscription replay, so live projections beat an older snapshot. */\nexport function beginSessionReplay(sessionId: string): void {\n replayGuards.set(sessionId, { statuses: new Set(), widgets: new Set() });\n}\n\nexport function endSessionReplay(sessionId: string): void {\n replayGuards.delete(sessionId);\n}\n\nexport function resetSessionStore(sessionId: string, options: { source?: 'hub' } = {}): void {\n const guard = replayGuards.get(sessionId);\n const preservePages = options.source === 'hub' && hasReadyHistoryReader(sessionId);\n sessionStoreFor(sessionId).setState((state) => {\n // Transcript pages do not contain facts returned by the session commands.\n // Keep those facts even when their response arrives before a page reload.\n const reset = {\n ...initialSessionState,\n agent: state.agent,\n lifecycle: state.lifecycle,\n stats: state.stats,\n commands: state.commands,\n models: state.models,\n thinkingLevels: state.thinkingLevels,\n };\n const preservedStatuses =\n guard === undefined\n ? {}\n : Object.fromEntries(Object.entries(state.statuses).filter(([key]) => guard.statuses.has(key)));\n const preservedWidgets = guard === undefined ? [] : state.widgets.filter((key) => guard.widgets.has(key));\n // A bounded hub backlog is not a canonical page. Keep durable entries,\n // their deduplication ids, and custom projections while replaying hub state.\n if (preservePages) return { ...state, statuses: preservedStatuses, widgets: preservedWidgets };\n if (!protocolTranscripts.has(sessionId)) {\n return {\n ...reset,\n statuses: preservedStatuses,\n widgets: preservedWidgets,\n };\n }\n // A legacy socket reconnect replays its backlog. Keep the protocol snapshot\n // visible while that replay rebuilds Po-only state around it.\n const entries = state.entries.filter((entry) => PROTOCOL_ENTRY_KINDS.has(entry.kind));\n return {\n ...reset,\n entries,\n statuses: preservedStatuses,\n widgets: preservedWidgets,\n streaming: state.streaming,\n settled: state.settled,\n pendingUserEntries: state.pendingUserEntries,\n reconciledUserEntries: state.reconciledUserEntries,\n protocolUserEntryIds: state.protocolUserEntryIds,\n };\n });\n if (preservePages) return;\n history.delete(sessionId);\n historyStore.setState((state) => {\n const { [sessionId]: _dropped, ...rest } = state;\n return rest;\n });\n}\n\nexport function dropSessionStore(sessionId: string): void {\n stores.delete(sessionId);\n protocolTranscripts.delete(sessionId);\n replayGuards.delete(sessionId);\n}\n\nexport function resetSessionStores(): void {\n stores.clear();\n protocolTranscripts.clear();\n replayGuards.clear();\n detachedStore.setState(() => initialSessionState);\n}\n\n/** Asks for the facts the cockpit shows but Pi only reports on request. */\nexport function refreshSessionFacts(sessionId: string): void {\n sendFrame(sessionId, getStateCommand());\n sendFrame(sessionId, getSessionStatsCommand());\n sendFrame(sessionId, getCommandsCommand());\n}\n\n/**\n * Asks only for the usage figures, cheap enough to run once per message.\n *\n * `refreshSessionFacts` costs three round trips because it also re-reads the\n * state and the command list, and neither of those changes mid-turn.\n */\nexport function refreshSessionStats(sessionId: string): void {\n sendFrame(sessionId, getSessionStatsCommand());\n}\n\n/** Asks what the model picker lists; Pi's answer depends on the current model. */\nexport function loadModelChoices(sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n sendFrame(sessionId, getAvailableModelsCommand());\n sendFrame(sessionId, getAvailableThinkingLevelsCommand());\n}\n\n/**\n * Switches the model, then re-reads the facts Pi adjusts alongside it: the\n * thinking level gets clamped to what the new model accepts, and the level\n * list changes with it.\n */\nexport function selectModel(provider: string, modelId: string, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n sendFrame(sessionId, setModelCommand(provider, modelId));\n sendFrame(sessionId, getStateCommand());\n sendFrame(sessionId, getAvailableThinkingLevelsCommand());\n}\n\n/** Read back server state rather than optimistically enabling priority. */\nexport function selectFastMode(enabled: boolean, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n const agent = sessionStoreFor(sessionId).state.agent;\n if (agent?.provider !== 'openai-codex') return;\n sendFrame(sessionId, { type: 'set_fast_mode', enabled });\n sendFrame(sessionId, getStateCommand());\n}\n\n/** Locking aborts a running local turn; the snapshot reports the new state back. */\nexport function setAgentLock(locked: boolean, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n sendFrame(sessionId, { type: 'set_agent_lock', locked });\n sendFrame(sessionId, getStateCommand());\n}\n\n/** The set reply carries nothing back, so get_state is what updates the chip. */\nexport function selectThinkingLevel(level: string, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n sendFrame(sessionId, setThinkingLevelCommand(level));\n sendFrame(sessionId, getStateCommand());\n}\n\n/**\n * Sends a prompt, or steers the run when one is already in flight.\n *\n * Pi rejects a prompt while the agent is working, so the composer picks the\n * verb from the run state rather than making the reader remember which is\n * legal. Every action defaults to the focused session and is a no-op when\n * nothing is focused.\n */\nexport function submitMessage(\n text: string,\n images: RpcImage[] = [],\n sessionId: string | null = activeSessionId(),\n): void {\n const trimmed = text.trim();\n if (!trimmed || sessionId === null) return;\n const store = sessionStoreFor(sessionId);\n // A built-in is an action, not something to say: steering the run with the\n // text, or prompting with it, would reach the model as literal characters.\n const builtin = builtinCommandFrame(trimmed);\n if (builtin) {\n store.setState((state) => appendUserPrompt(state, trimmed));\n sendFrame(sessionId, builtin);\n return;\n }\n const streaming = store.state.streaming;\n const userImages = images\n .filter((image) => isSupportedImageMimeType(image.mimeType))\n .map(({ data, mimeType }) => ({ data, mimeType }));\n store.setState((state) => appendUserPrompt(state, trimmed, userImages));\n sendFrame(sessionId, streaming ? steerCommand(trimmed, images) : promptCommand(trimmed, images));\n}\n\n/** The composer retains its draft until the server acknowledges admission. */\nexport async function submitMessageWithAck(\n text: string,\n images: RpcImage[] = [],\n sessionId: string | null = activeSessionId(),\n): Promise<boolean> {\n const trimmed = text.trim();\n if (!trimmed || sessionId === null) return false;\n const store = sessionStoreFor(sessionId);\n const builtin = builtinCommandFrame(trimmed);\n const active = store.state.lifecycle === null ? store.state.streaming : store.state.lifecycle.operation !== null;\n const userImages = (builtin ? [] : images)\n .filter((image) => isSupportedImageMimeType(image.mimeType))\n .map(({ data, mimeType }) => ({ data, mimeType }));\n const localId = `u${store.state.nextId}`;\n // Echo before sending so even an early transcript publication reconciles this row.\n store.setState((state) => appendUserPrompt(state, trimmed, userImages));\n let accepted = false;\n try {\n const response = await sendFrameWithAck(\n sessionId,\n builtin ?? (active ? steerCommand(trimmed, images) : promptCommand(trimmed, images)),\n );\n accepted = response.success;\n if (!accepted && response.error?.includes('uncertain'))\n store.setState((state) => reduceSession(state, { type: 'error', message: response.error }));\n return accepted;\n } finally {\n if (!accepted)\n store.setState((state) =>\n state.pendingUserEntries.some(({ id }) => id === localId)\n ? {\n ...state,\n entries: state.entries.filter(({ id }) => id !== localId),\n pendingUserEntries: state.pendingUserEntries.filter(({ id }) => id !== localId),\n }\n : state,\n );\n }\n}\n\nexport function rewindToMessage(itemId: string, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null || itemId === '') return;\n sendFrame(sessionId, rewindCommand(itemId));\n}\n\nexport function queueFollowUp(\n text: string,\n images: RpcImage[] = [],\n sessionId: string | null = activeSessionId(),\n): void {\n const trimmed = text.trim();\n if (!trimmed || sessionId === null) return;\n sendFrame(sessionId, enqueueAutomaticCommand(trimmed, images));\n}\n\n/** A queued submission is acknowledged by the server; consumption is a later lifecycle event. */\nexport async function queueFollowUpWithAck(\n text: string,\n images: RpcImage[] = [],\n sessionId: string | null = activeSessionId(),\n): Promise<boolean> {\n const trimmed = text.trim();\n if (!trimmed || sessionId === null) return false;\n const response = await sendFrameWithAck(sessionId, enqueueAutomaticCommand(trimmed, images));\n if (!response.success && response.error?.includes('uncertain'))\n sessionStoreFor(sessionId).setState((state) => reduceSession(state, { type: 'error', message: response.error }));\n return response.success;\n}\n\nexport async function clearQueuedMessages(sessionId: string | null = activeSessionId()): Promise<void> {\n if (sessionId === null) throw new Error('The session protocol is not connected.');\n const response = await sendFrameWithAck(sessionId, clearQueueCommand());\n if (!response.success) throw new Error(response.error ?? 'Could not clear queued messages.');\n}\n\n/** Requests server-owned removal; the authoritative snapshot removes the row on success. */\nexport async function deleteQueuedMessage(\n id: string,\n _knownQueueCount: number,\n sessionId: string | null = activeSessionId(),\n): Promise<void> {\n if (sessionId === null) throw new Error('The session protocol is not connected.');\n const response = await sendFrameWithAck(sessionId, removeQueuedCommand(id));\n if (!response.success) throw new Error(response.error ?? 'Could not delete the queued message.');\n switch (response.data) {\n case 'removed':\n return;\n case 'in_flight':\n throw new Error('This message is already being delivered and cannot be deleted.');\n case 'already_consumed':\n throw new Error('This message has already been sent.');\n case 'not_found':\n throw new Error('This message is no longer queued. Refresh the session.');\n default:\n throw new Error('Deletion uncertain. Check the queue before trying again.');\n }\n}\n\n/** The caller captures the active target at click time; absent means expected idle. */\nexport async function promoteQueuedMessage(\n id: string,\n operationId?: string,\n sessionId: string | null = activeSessionId(),\n): Promise<void> {\n if (sessionId === null) throw new Error('The session protocol is not connected.');\n const response = await sendFrameWithAck(sessionId, promoteQueuedCommand(id, operationId));\n if (!response.success) throw new Error(response.error ?? 'Could not send the queued message.');\n switch (response.data) {\n case 'promoted':\n return;\n case 'target_changed':\n throw new Error('The active run changed. Check the session before sending this message.');\n case 'in_flight':\n throw new Error('This message is already being delivered.');\n case 'not_found':\n throw new Error('This message is no longer queued. Refresh the session.');\n default:\n throw new Error('Delivery uncertain. Check the conversation before trying again.');\n }\n}\n\nexport async function resumeQueuedMessages(sessionId: string | null = activeSessionId()): Promise<void> {\n if (sessionId === null) throw new Error('The session protocol is not connected.');\n const response = await sendFrameWithAck(sessionId, resumeQueueCommand());\n if (!response.success) throw new Error(response.error ?? 'Could not resume queued messages.');\n}\n\n/**\n * Renames the session where the name actually lives: in the agent. Pi keeps\n * it in the session file and reports it back through get_state, which is\n * what the hub folds into every page's rail card.\n */\nexport function renameSession(name: string, sessionId: string | null = activeSessionId()): void {\n const trimmed = name.trim();\n if (!trimmed || sessionId === null) return;\n sendFrame(sessionId, setSessionNameCommand(trimmed));\n sendFrame(sessionId, getStateCommand());\n}\n\nexport function abortRun(sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n sendFrame(sessionId, abortCommand(sessionStoreFor(sessionId).state.lifecycle?.operation?.id));\n}\n\nexport function runCommand(name: string, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n const slashed = name.startsWith('/') ? name : `/${name}`;\n sendFrame(sessionId, builtinCommandFrame(slashed) ?? promptCommand(slashed));\n}\n\nexport function answerDialogValue(id: string, value: string, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n sendFrame(sessionId, dialogValue(id, value));\n sessionStoreFor(sessionId).setState(clearDialog);\n}\n\nexport function answerDialogConfirm(\n id: string,\n confirmed: boolean,\n sessionId: string | null = activeSessionId(),\n): void {\n if (sessionId === null) return;\n sendFrame(sessionId, dialogConfirmed(id, confirmed));\n sessionStoreFor(sessionId).setState(clearDialog);\n}\n\nexport function cancelDialog(id: string, sessionId: string | null = activeSessionId()): void {\n if (sessionId === null) return;\n sendFrame(sessionId, dialogCancelled(id));\n sessionStoreFor(sessionId).setState(clearDialog);\n}\n"],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { QueuedEntry, SessionState, TimelineEntry } from "../lib/sessionModel.mjs";
2
+ import { RpcImage } from "../lib/commands.mjs";
3
+ import { Store } from "@tanstack/store";
4
+ import { SessionLifecycle } from "@agimon-ai/po-core/sessionProtocol";
5
+ //#region src/web/stores/sessionStore.d.ts
6
+ export declare function setHasNewerHistory(sessionId: string, value: boolean): void;
7
+ export declare function sessionStoreFor(sessionId: string | null): Store<SessionState>;
8
+ /** Reads the focused session's state; components stay on the useStore idiom. */
9
+ export declare function useActiveSession<T>(selector: (state: SessionState) => T): T;
10
+ /** Presentation frames from the Pi protocol, or from bounded replay when replay is true. */
11
+ export declare function applySessionFrame(sessionId: string, frame: Record<string, unknown>, options?: {
12
+ replay?: boolean;
13
+ source?: 'hub';
14
+ }): void;
15
+ /** Lets the presentation stream resume transcript ownership after a typed service failure. */
16
+ export declare function releaseProtocolTranscript(sessionId: string): void;
17
+ /** A thread has no protocol session, so its journal remains its authoritative transcript. */
18
+ export declare function applyThreadFrame(threadKey: string, frame: Record<string, unknown>): void;
19
+ export declare function bindHistoryReader(sessionId: string, reader: (direction: 'older' | 'newer' | 'latest') => boolean, ready?: () => boolean): () => void;
20
+ export declare function requestNewerHistory(sessionId: string | null): boolean;
21
+ export declare function requestLatestHistory(sessionId: string | null): boolean;
22
+ /** Whether more transcript exists above what this session's page holds. */
23
+ export declare function useHasOlderHistory(sessionId: string | null): boolean;
24
+ /**
25
+ * Asks the hub for the window above what this page holds.
26
+ *
27
+ * One request at a time: a reader flicking upwards would otherwise ask for the
28
+ * same window repeatedly before the first answer lands, and every copy would
29
+ * be prepended.
30
+ */
31
+ export declare function requestOlderHistory(sessionId: string | null): boolean;
32
+ /** Folds one answered window above the timeline and records how far back it reached. */
33
+ export declare function applyHistoryPage(sessionId: string, frames: Record<string, unknown>[], next: HistoryPage): void;
34
+ export interface HistoryPage {
35
+ cursor: string | null;
36
+ hasMore: boolean;
37
+ }
38
+ /** The oldest entry the page holds, which is where the next window ends. */
39
+ export declare function seedHistoryCursor(sessionId: string, cursor: string | null): void;
40
+ /**
41
+ * Replaces protocol-owned transcript items with the authoritative snapshot.
42
+ *
43
+ * Local echoes disappear when the protocol publishes them. Po-only entries,
44
+ * such as notices, queued messages, and run dividers, retain their place beside
45
+ * the protocol item that preceded them.
46
+ */
47
+ export declare function applyProtocolTranscript(sessionId: string, entries: TimelineEntry[], streaming: boolean): void;
48
+ /** Applies execution and retained-input state from the server, never from replayed history. */
49
+ export declare function applySessionLifecycle(sessionId: string, lifecycle: SessionLifecycle, newBinding?: boolean): void;
50
+ /** Replaces composer queue rows with the protocol server's authoritative queue. */
51
+ export declare function applyProtocolQueue(sessionId: string, queue: readonly QueuedEntry[]): void;
52
+ /** Marks the start of a subscription replay, so live projections beat an older snapshot. */
53
+ export declare function beginSessionReplay(sessionId: string): void;
54
+ export declare function endSessionReplay(sessionId: string): void;
55
+ export declare function resetSessionStore(sessionId: string, options?: {
56
+ source?: 'hub';
57
+ }): void;
58
+ export declare function dropSessionStore(sessionId: string): void;
59
+ export declare function resetSessionStores(): void;
60
+ /** Asks for the facts the cockpit shows but Pi only reports on request. */
61
+ export declare function refreshSessionFacts(sessionId: string): void;
62
+ /**
63
+ * Asks only for the usage figures, cheap enough to run once per message.
64
+ *
65
+ * `refreshSessionFacts` costs three round trips because it also re-reads the
66
+ * state and the command list, and neither of those changes mid-turn.
67
+ */
68
+ export declare function refreshSessionStats(sessionId: string): void;
69
+ /** Asks what the model picker lists; Pi's answer depends on the current model. */
70
+ export declare function loadModelChoices(sessionId?: string | null): void;
71
+ /**
72
+ * Switches the model, then re-reads the facts Pi adjusts alongside it: the
73
+ * thinking level gets clamped to what the new model accepts, and the level
74
+ * list changes with it.
75
+ */
76
+ export declare function selectModel(provider: string, modelId: string, sessionId?: string | null): void;
77
+ /** Read back server state rather than optimistically enabling priority. */
78
+ export declare function selectFastMode(enabled: boolean, sessionId?: string | null): void;
79
+ /** Locking aborts a running local turn; the snapshot reports the new state back. */
80
+ export declare function setAgentLock(locked: boolean, sessionId?: string | null): void;
81
+ /** The set reply carries nothing back, so get_state is what updates the chip. */
82
+ export declare function selectThinkingLevel(level: string, sessionId?: string | null): void;
83
+ /**
84
+ * Sends a prompt, or steers the run when one is already in flight.
85
+ *
86
+ * Pi rejects a prompt while the agent is working, so the composer picks the
87
+ * verb from the run state rather than making the reader remember which is
88
+ * legal. Every action defaults to the focused session and is a no-op when
89
+ * nothing is focused.
90
+ */
91
+ export declare function submitMessage(text: string, images?: RpcImage[], sessionId?: string | null): void;
92
+ /** The composer retains its draft until the server acknowledges admission. */
93
+ export declare function submitMessageWithAck(text: string, images?: RpcImage[], sessionId?: string | null): Promise<boolean>;
94
+ export declare function rewindToMessage(itemId: string, sessionId?: string | null): void;
95
+ export declare function queueFollowUp(text: string, images?: RpcImage[], sessionId?: string | null): void;
96
+ /** A queued submission is acknowledged by the server; consumption is a later lifecycle event. */
97
+ export declare function queueFollowUpWithAck(text: string, images?: RpcImage[], sessionId?: string | null): Promise<boolean>;
98
+ export declare function clearQueuedMessages(sessionId?: string | null): Promise<void>;
99
+ /** Requests server-owned removal; the authoritative snapshot removes the row on success. */
100
+ export declare function deleteQueuedMessage(id: string, _knownQueueCount: number, sessionId?: string | null): Promise<void>;
101
+ /** The caller captures the active target at click time; absent means expected idle. */
102
+ export declare function promoteQueuedMessage(id: string, operationId?: string, sessionId?: string | null): Promise<void>;
103
+ export declare function resumeQueuedMessages(sessionId?: string | null): Promise<void>;
104
+ /**
105
+ * Renames the session where the name actually lives: in the agent. Pi keeps
106
+ * it in the session file and reports it back through get_state, which is
107
+ * what the hub folds into every page's rail card.
108
+ */
109
+ export declare function renameSession(name: string, sessionId?: string | null): void;
110
+ export declare function abortRun(sessionId?: string | null): void;
111
+ export declare function runCommand(name: string, sessionId?: string | null): void;
112
+ export declare function answerDialogValue(id: string, value: string, sessionId?: string | null): void;
113
+ export declare function answerDialogConfirm(id: string, confirmed: boolean, sessionId?: string | null): void;
114
+ export declare function cancelDialog(id: string, sessionId?: string | null): void;
115
+ //#endregion
116
+ //# sourceMappingURL=sessionStore.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionStore.d.mts","names":[],"sources":["../../../src/web/stores/sessionStore.ts"],"mappings":";;;;;wBAqDgB,mBAAmB,mBAAmB;wBAiBtC,gBAAgB,2BAA2B,MAAM;;wBAUjD,iBAAiB,GAAG,WAAW,OAAO,iBAAiB,IAAI;;wBAkB3D,kBACd,mBACA,OAAO,yBACP;EAAW;EAAkB;;;wBA0Bf,0BAA0B;;wBAK1B,iBAAiB,mBAAmB,OAAO;wBA8B3C,kBACd,mBACA,SAAS,qDACT;wBASc,oBAAoB;wBAIpB,qBAAqB;;wBAgBrB,mBAAmB;;;;;;;;wBAWnB,oBAAoB;;wBAgBpB,iBAAiB,mBAAmB,QAAQ,2BAA2B,MAAM;iBAO5E;EACf;EACA;;;wBAIc,kBAAkB,mBAAmB;;;;;;;;wBA4CrC,wBAAwB,mBAAmB,SAAS,iBAAiB;;wBAiFrE,sBAAsB,mBAAmB,WAAW,kBAAkB;;wBA0BtE,mBAAmB,mBAAmB,gBAAgB;;wBAMtD,mBAAmB;wBAInB,iBAAiB;wBAIjB,kBAAkB,mBAAmB;EAAW;;wBAqDhD,iBAAiB;wBAMjB;;wBAQA,oBAAoB;;;;;;;wBAYpB,oBAAoB;;wBAKpB,iBAAiB;;;;;;wBAWjB,YAAY,kBAAkB,iBAAiB;;wBAQ/C,eAAe,kBAAkB;;wBASjC,aAAa,iBAAiB;;wBAO9B,oBAAoB,eAAe;;;;;;;;;wBAcnC,cACd,cACA,SAAQ,YACR;;wBAsBoB,qBACpB,cACA,SAAQ,YACR,4BACC;wBAoCa,gBAAgB,gBAAgB;wBAKhC,cACd,cACA,SAAQ,YACR;;wBAQoB,qBACpB,cACA,SAAQ,YACR,4BACC;wBASmB,oBAAoB,4BAA+C;;wBAOnE,oBACpB,YACA,0BACA,4BACC;;wBAmBmB,qBACpB,YACA,sBACA,4BACC;wBAkBmB,qBAAqB,4BAA+C;;;;;;wBAW1E,cAAc,cAAc;wBAO5B,SAAS;wBAKT,WAAW,cAAc;wBAMzB,kBAAkB,YAAY,eAAe;wBAM7C,oBACd,YACA,oBACA;wBAOc,aAAa,YAAY"}