@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,59 @@
1
+ import { Store } from "@tanstack/store";
2
+ import { useStore } from "@tanstack/react-store";
3
+ //#region src/web/stores/transientTabsStore.ts
4
+ /** One stable empty list, so a selector for a session with no tabs never re-renders its reader. */
5
+ const NO_TABS = [];
6
+ /**
7
+ * The tabs plugins opened at runtime, per session. A tab keeps the panel it
8
+ * was opened with: opening the same id again focuses it rather than swapping
9
+ * the component out from under React. Nothing here survives a reload, which
10
+ * is what makes the tabs temporary.
11
+ */
12
+ const transientTabsStore = new Store({});
13
+ function transientTabsOf(state, sessionId) {
14
+ return (sessionId === null ? void 0 : state[sessionId]) ?? NO_TABS;
15
+ }
16
+ function findTransientTab(state, sessionId, tabId) {
17
+ if (sessionId === void 0 || tabId === void 0) return void 0;
18
+ return transientTabsOf(state, sessionId).find((tab) => tab.id === tabId);
19
+ }
20
+ function openTransientTab(sessionId, tab) {
21
+ if (findTransientTab(transientTabsStore.state, sessionId, tab.id) !== void 0) return;
22
+ transientTabsStore.setState((state) => ({
23
+ ...state,
24
+ [sessionId]: [...state[sessionId] ?? [], tab]
25
+ }));
26
+ tab.onOpen?.(sessionId);
27
+ }
28
+ function closeTransientTab(sessionId, tabId) {
29
+ const tab = findTransientTab(transientTabsStore.state, sessionId, tabId);
30
+ if (tab === void 0) return;
31
+ transientTabsStore.setState((state) => ({
32
+ ...state,
33
+ [sessionId]: (state[sessionId] ?? []).filter((candidate) => candidate.id !== tabId)
34
+ }));
35
+ tab.onClose?.(sessionId);
36
+ }
37
+ /** A session that left takes its tabs with it. */
38
+ function dropTransientTabs(sessionId) {
39
+ const tabs = transientTabsStore.state[sessionId];
40
+ if (tabs === void 0) return;
41
+ transientTabsStore.setState((state) => {
42
+ const next = { ...state };
43
+ delete next[sessionId];
44
+ return next;
45
+ });
46
+ for (const tab of tabs) tab.onClose?.(sessionId);
47
+ }
48
+ function resetTransientTabs() {
49
+ const previous = transientTabsStore.state;
50
+ transientTabsStore.setState(() => ({}));
51
+ for (const [sessionId, tabs] of Object.entries(previous)) for (const tab of tabs ?? []) tab.onClose?.(sessionId);
52
+ }
53
+ function useTransientTabs(sessionId) {
54
+ return useStore(transientTabsStore, (state) => transientTabsOf(state, sessionId));
55
+ }
56
+ //#endregion
57
+ export { closeTransientTab, dropTransientTabs, findTransientTab, openTransientTab, resetTransientTabs, transientTabsOf, transientTabsStore, useTransientTabs };
58
+
59
+ //# sourceMappingURL=transientTabsStore.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transientTabsStore.mjs","names":[],"sources":["../../../src/web/stores/transientTabsStore.ts"],"sourcesContent":["import type { TransientTab } from '@agimon-ai/po-core/web';\nimport { useStore } from '@tanstack/react-store';\nimport { Store } from '@tanstack/store';\n\ntype TransientTabsState = Partial<Record<string, TransientTab[]>>;\n\n/** One stable empty list, so a selector for a session with no tabs never re-renders its reader. */\nconst NO_TABS: readonly TransientTab[] = [];\n\n/**\n * The tabs plugins opened at runtime, per session. A tab keeps the panel it\n * was opened with: opening the same id again focuses it rather than swapping\n * the component out from under React. Nothing here survives a reload, which\n * is what makes the tabs temporary.\n */\nexport const transientTabsStore = new Store<TransientTabsState>({});\n\nexport function transientTabsOf(state: TransientTabsState, sessionId: string | null): readonly TransientTab[] {\n return (sessionId === null ? undefined : state[sessionId]) ?? NO_TABS;\n}\n\nexport function findTransientTab(\n state: TransientTabsState,\n sessionId: string | undefined,\n tabId: string | undefined,\n): TransientTab | undefined {\n if (sessionId === undefined || tabId === undefined) return undefined;\n return transientTabsOf(state, sessionId).find((tab) => tab.id === tabId);\n}\n\nexport function openTransientTab(sessionId: string, tab: TransientTab): void {\n if (findTransientTab(transientTabsStore.state, sessionId, tab.id) !== undefined) return;\n transientTabsStore.setState((state) => ({ ...state, [sessionId]: [...(state[sessionId] ?? []), tab] }));\n tab.onOpen?.(sessionId);\n}\n\nexport function closeTransientTab(sessionId: string, tabId: string): void {\n const tab = findTransientTab(transientTabsStore.state, sessionId, tabId);\n if (tab === undefined) return;\n transientTabsStore.setState((state) => ({\n ...state,\n [sessionId]: (state[sessionId] ?? []).filter((candidate) => candidate.id !== tabId),\n }));\n tab.onClose?.(sessionId);\n}\n\n/** A session that left takes its tabs with it. */\nexport function dropTransientTabs(sessionId: string): void {\n const tabs = transientTabsStore.state[sessionId];\n if (tabs === undefined) return;\n transientTabsStore.setState((state) => {\n const next = { ...state };\n delete next[sessionId];\n return next;\n });\n for (const tab of tabs) tab.onClose?.(sessionId);\n}\n\nexport function resetTransientTabs(): void {\n const previous = transientTabsStore.state;\n transientTabsStore.setState(() => ({}));\n for (const [sessionId, tabs] of Object.entries(previous)) {\n for (const tab of tabs ?? []) tab.onClose?.(sessionId);\n }\n}\n\nexport function useTransientTabs(sessionId: string | null): readonly TransientTab[] {\n return useStore(transientTabsStore, (state) => transientTabsOf(state, sessionId));\n}\n"],"mappings":";;;;AAOA,MAAM,UAAmC,CAAC;;;;;;;AAQ1C,MAAa,qBAAqB,IAAI,MAA0B,CAAC,CAAC;AAElE,SAAgB,gBAAgB,OAA2B,WAAmD;CAC5G,QAAQ,cAAc,OAAO,KAAA,IAAY,MAAM,eAAe;AAChE;AAEA,SAAgB,iBACd,OACA,WACA,OAC0B;CAC1B,IAAI,cAAc,KAAA,KAAa,UAAU,KAAA,GAAW,OAAO,KAAA;CAC3D,OAAO,gBAAgB,OAAO,SAAS,CAAC,CAAC,MAAM,QAAQ,IAAI,OAAO,KAAK;AACzE;AAEA,SAAgB,iBAAiB,WAAmB,KAAyB;CAC3E,IAAI,iBAAiB,mBAAmB,OAAO,WAAW,IAAI,EAAE,MAAM,KAAA,GAAW;CACjF,mBAAmB,UAAU,WAAW;EAAE,GAAG;GAAQ,YAAY,CAAC,GAAI,MAAM,cAAc,CAAC,GAAI,GAAG;CAAE,EAAE;CACtG,IAAI,SAAS,SAAS;AACxB;AAEA,SAAgB,kBAAkB,WAAmB,OAAqB;CACxE,MAAM,MAAM,iBAAiB,mBAAmB,OAAO,WAAW,KAAK;CACvE,IAAI,QAAQ,KAAA,GAAW;CACvB,mBAAmB,UAAU,WAAW;EACtC,GAAG;GACF,aAAa,MAAM,cAAc,CAAC,EAAA,CAAG,QAAQ,cAAc,UAAU,OAAO,KAAK;CACpF,EAAE;CACF,IAAI,UAAU,SAAS;AACzB;;AAGA,SAAgB,kBAAkB,WAAyB;CACzD,MAAM,OAAO,mBAAmB,MAAM;CACtC,IAAI,SAAS,KAAA,GAAW;CACxB,mBAAmB,UAAU,UAAU;EACrC,MAAM,OAAO,EAAE,GAAG,MAAM;EACxB,OAAO,KAAK;EACZ,OAAO;CACT,CAAC;CACD,KAAK,MAAM,OAAO,MAAM,IAAI,UAAU,SAAS;AACjD;AAEA,SAAgB,qBAA2B;CACzC,MAAM,WAAW,mBAAmB;CACpC,mBAAmB,gBAAgB,CAAC,EAAE;CACtC,KAAK,MAAM,CAAC,WAAW,SAAS,OAAO,QAAQ,QAAQ,GACrD,KAAK,MAAM,OAAO,QAAQ,CAAC,GAAG,IAAI,UAAU,SAAS;AAEzD;AAEA,SAAgB,iBAAiB,WAAmD;CAClF,OAAO,SAAS,qBAAqB,UAAU,gBAAgB,OAAO,SAAS,CAAC;AAClF"}
@@ -0,0 +1,47 @@
1
+ let _tanstack_store = require("@tanstack/store");
2
+ //#region src/web/stores/uiStore.ts
3
+ /** Where the page remembers its chrome layout; one key per machine. */
4
+ const DOCK_STORAGE_KEY = "po.web.dock";
5
+ const DOCK_TAB_STORAGE_KEY = "po.web.dock-tab";
6
+ function readDock() {
7
+ try {
8
+ return window.localStorage.getItem(DOCK_STORAGE_KEY) !== "closed";
9
+ } catch {
10
+ return true;
11
+ }
12
+ }
13
+ function readDockTab() {
14
+ try {
15
+ return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || "activity";
16
+ } catch {
17
+ return "activity";
18
+ }
19
+ }
20
+ const uiStore = new _tanstack_store.Store({
21
+ dockOpen: readDock(),
22
+ dockTab: readDockTab()
23
+ });
24
+ function setDockOpen(open) {
25
+ uiStore.setState((state) => state.dockOpen === open ? state : {
26
+ ...state,
27
+ dockOpen: open
28
+ });
29
+ try {
30
+ window.localStorage.setItem(DOCK_STORAGE_KEY, open ? "open" : "closed");
31
+ } catch {}
32
+ }
33
+ function setDockTab(tab) {
34
+ uiStore.setState((state) => state.dockTab === tab ? state : {
35
+ ...state,
36
+ dockTab: tab
37
+ });
38
+ try {
39
+ window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);
40
+ } catch {}
41
+ }
42
+ //#endregion
43
+ exports.setDockOpen = setDockOpen;
44
+ exports.setDockTab = setDockTab;
45
+ exports.uiStore = uiStore;
46
+
47
+ //# sourceMappingURL=uiStore.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiStore.cjs","names":["Store"],"sources":["../../../src/web/stores/uiStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\n/** Where the page remembers its chrome layout; one key per machine. */\nconst DOCK_STORAGE_KEY = 'po.web.dock';\nconst DOCK_TAB_STORAGE_KEY = 'po.web.dock-tab';\n\n/**\n * Which face of the dock is showing. The host owns `activity` and `context`;\n * installed plugins may contribute additional opaque ids.\n */\nexport type DockTab = string;\nexport interface UiState {\n /** Whether the activity dock is shown; survives route changes and reloads. */\n dockOpen: boolean;\n /** Which dock tab is selected; survives route changes and reloads. */\n dockTab: DockTab;\n}\n\nfunction readDock(): boolean {\n try {\n return window.localStorage.getItem(DOCK_STORAGE_KEY) !== 'closed';\n } catch {\n return true;\n }\n}\n\nfunction readDockTab(): DockTab {\n try {\n return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || 'activity';\n } catch {\n return 'activity';\n }\n}\n\nexport const uiStore = new Store<UiState>({ dockOpen: readDock(), dockTab: readDockTab() });\n\nexport function setDockOpen(open: boolean): void {\n uiStore.setState((state) => (state.dockOpen === open ? state : { ...state, dockOpen: open }));\n try {\n window.localStorage.setItem(DOCK_STORAGE_KEY, open ? 'open' : 'closed');\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n\nexport function setDockTab(tab: DockTab): void {\n uiStore.setState((state) => (state.dockTab === tab ? state : { ...state, dockTab: tab }));\n try {\n window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n"],"mappings":";;;AAGA,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAc7B,SAAS,WAAoB;CAC3B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,gBAAgB,MAAM;CAC3D,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAS,cAAuB;CAC9B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,oBAAoB,CAAC,EAAE,KAAK,KAAK;CACtE,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAa,UAAU,IAAIA,gBAAAA,MAAe;CAAE,UAAU,SAAS;CAAG,SAAS,YAAY;AAAE,CAAC;AAE1F,SAAgB,YAAY,MAAqB;CAC/C,QAAQ,UAAU,UAAW,MAAM,aAAa,OAAO,QAAQ;EAAE,GAAG;EAAO,UAAU;CAAK,CAAE;CAC5F,IAAI;EACF,OAAO,aAAa,QAAQ,kBAAkB,OAAO,SAAS,QAAQ;CACxE,QAAQ,CAER;AACF;AAEA,SAAgB,WAAW,KAAoB;CAC7C,QAAQ,UAAU,UAAW,MAAM,YAAY,MAAM,QAAQ;EAAE,GAAG;EAAO,SAAS;CAAI,CAAE;CACxF,IAAI;EACF,OAAO,aAAa,QAAQ,sBAAsB,GAAG;CACvD,QAAQ,CAER;AACF"}
@@ -0,0 +1,18 @@
1
+ import { Store } from "@tanstack/store";
2
+ //#region src/web/stores/uiStore.d.ts
3
+ /**
4
+ * Which face of the dock is showing. The host owns `activity` and `context`;
5
+ * installed plugins may contribute additional opaque ids.
6
+ */
7
+ export type DockTab = string;
8
+ export interface UiState {
9
+ /** Whether the activity dock is shown; survives route changes and reloads. */
10
+ dockOpen: boolean;
11
+ /** Which dock tab is selected; survives route changes and reloads. */
12
+ dockTab: DockTab;
13
+ }
14
+ export declare const uiStore: Store<UiState, never>;
15
+ export declare function setDockOpen(open: boolean): void;
16
+ export declare function setDockTab(tab: DockTab): void;
17
+ //#endregion
18
+ //# sourceMappingURL=uiStore.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiStore.d.mts","names":[],"sources":["../../../src/web/stores/uiStore.ts"],"mappings":";;;;;;YAUY;iBACK;;EAEf;;EAEA,SAAS;;qBAmBE,SAAO,MAAA;wBAEJ,YAAY;wBASZ,WAAW,KAAK"}
@@ -0,0 +1,45 @@
1
+ import { Store } from "@tanstack/store";
2
+ //#region src/web/stores/uiStore.ts
3
+ /** Where the page remembers its chrome layout; one key per machine. */
4
+ const DOCK_STORAGE_KEY = "po.web.dock";
5
+ const DOCK_TAB_STORAGE_KEY = "po.web.dock-tab";
6
+ function readDock() {
7
+ try {
8
+ return window.localStorage.getItem(DOCK_STORAGE_KEY) !== "closed";
9
+ } catch {
10
+ return true;
11
+ }
12
+ }
13
+ function readDockTab() {
14
+ try {
15
+ return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || "activity";
16
+ } catch {
17
+ return "activity";
18
+ }
19
+ }
20
+ const uiStore = new Store({
21
+ dockOpen: readDock(),
22
+ dockTab: readDockTab()
23
+ });
24
+ function setDockOpen(open) {
25
+ uiStore.setState((state) => state.dockOpen === open ? state : {
26
+ ...state,
27
+ dockOpen: open
28
+ });
29
+ try {
30
+ window.localStorage.setItem(DOCK_STORAGE_KEY, open ? "open" : "closed");
31
+ } catch {}
32
+ }
33
+ function setDockTab(tab) {
34
+ uiStore.setState((state) => state.dockTab === tab ? state : {
35
+ ...state,
36
+ dockTab: tab
37
+ });
38
+ try {
39
+ window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);
40
+ } catch {}
41
+ }
42
+ //#endregion
43
+ export { setDockOpen, setDockTab, uiStore };
44
+
45
+ //# sourceMappingURL=uiStore.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiStore.mjs","names":[],"sources":["../../../src/web/stores/uiStore.ts"],"sourcesContent":["import { Store } from '@tanstack/store';\n\n/** Where the page remembers its chrome layout; one key per machine. */\nconst DOCK_STORAGE_KEY = 'po.web.dock';\nconst DOCK_TAB_STORAGE_KEY = 'po.web.dock-tab';\n\n/**\n * Which face of the dock is showing. The host owns `activity` and `context`;\n * installed plugins may contribute additional opaque ids.\n */\nexport type DockTab = string;\nexport interface UiState {\n /** Whether the activity dock is shown; survives route changes and reloads. */\n dockOpen: boolean;\n /** Which dock tab is selected; survives route changes and reloads. */\n dockTab: DockTab;\n}\n\nfunction readDock(): boolean {\n try {\n return window.localStorage.getItem(DOCK_STORAGE_KEY) !== 'closed';\n } catch {\n return true;\n }\n}\n\nfunction readDockTab(): DockTab {\n try {\n return window.localStorage.getItem(DOCK_TAB_STORAGE_KEY)?.trim() || 'activity';\n } catch {\n return 'activity';\n }\n}\n\nexport const uiStore = new Store<UiState>({ dockOpen: readDock(), dockTab: readDockTab() });\n\nexport function setDockOpen(open: boolean): void {\n uiStore.setState((state) => (state.dockOpen === open ? state : { ...state, dockOpen: open }));\n try {\n window.localStorage.setItem(DOCK_STORAGE_KEY, open ? 'open' : 'closed');\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n\nexport function setDockTab(tab: DockTab): void {\n uiStore.setState((state) => (state.dockTab === tab ? state : { ...state, dockTab: tab }));\n try {\n window.localStorage.setItem(DOCK_TAB_STORAGE_KEY, tab);\n } catch {\n // A layout preference is a convenience; losing it costs one click.\n }\n}\n"],"mappings":";;;AAGA,MAAM,mBAAmB;AACzB,MAAM,uBAAuB;AAc7B,SAAS,WAAoB;CAC3B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,gBAAgB,MAAM;CAC3D,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAS,cAAuB;CAC9B,IAAI;EACF,OAAO,OAAO,aAAa,QAAQ,oBAAoB,CAAC,EAAE,KAAK,KAAK;CACtE,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAa,UAAU,IAAI,MAAe;CAAE,UAAU,SAAS;CAAG,SAAS,YAAY;AAAE,CAAC;AAE1F,SAAgB,YAAY,MAAqB;CAC/C,QAAQ,UAAU,UAAW,MAAM,aAAa,OAAO,QAAQ;EAAE,GAAG;EAAO,UAAU;CAAK,CAAE;CAC5F,IAAI;EACF,OAAO,aAAa,QAAQ,kBAAkB,OAAO,SAAS,QAAQ;CACxE,QAAQ,CAER;AACF;AAEA,SAAgB,WAAW,KAAoB;CAC7C,QAAQ,UAAU,UAAW,MAAM,YAAY,MAAM,QAAQ;EAAE,GAAG;EAAO,SAAS;CAAI,CAAE;CACxF,IAAI;EACF,OAAO,aAAa,QAAQ,sBAAsB,GAAG;CACvD,QAAQ,CAER;AACF"}
@@ -0,0 +1,31 @@
1
+ const require_sessionsStore = require("./sessionsStore.cjs");
2
+ let react = require("react");
3
+ let _tanstack_react_router = require("@tanstack/react-router");
4
+ let _tanstack_react_store = require("@tanstack/react-store");
5
+ //#region src/web/stores/useOpenTab.ts
6
+ /**
7
+ * Navigation for the focused session, in the shape plugins receive: a tab id
8
+ * opens that plugin tab, null returns to the conversation. A no-op while no
9
+ * session is focused, because there is no page to open a tab on.
10
+ */
11
+ function useOpenTab() {
12
+ const activeId = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => state.activeId);
13
+ const navigate = (0, _tanstack_react_router.useNavigate)();
14
+ return (0, react.useCallback)((tabId) => {
15
+ if (activeId === null) return;
16
+ tabId === null ? navigate({
17
+ to: "/session/$sessionId",
18
+ params: { sessionId: activeId }
19
+ }) : navigate({
20
+ to: "/session/$sessionId/$tabId",
21
+ params: {
22
+ sessionId: activeId,
23
+ tabId
24
+ }
25
+ });
26
+ }, [activeId, navigate]);
27
+ }
28
+ //#endregion
29
+ exports.useOpenTab = useOpenTab;
30
+
31
+ //# sourceMappingURL=useOpenTab.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOpenTab.cjs","names":["useStore","sessionsStore","useNavigate","useCallback"],"sources":["../../../src/web/stores/useOpenTab.ts"],"sourcesContent":["import { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback } from 'react';\n\nimport { sessionsStore } from './sessionsStore';\n\n/**\n * Navigation for the focused session, in the shape plugins receive: a tab id\n * opens that plugin tab, null returns to the conversation. A no-op while no\n * session is focused, because there is no page to open a tab on.\n */\nexport function useOpenTab(): (tabId: string | null) => void {\n const activeId = useStore(sessionsStore, (state) => state.activeId);\n const navigate = useNavigate();\n return useCallback(\n (tabId) => {\n if (activeId === null) return;\n void (tabId === null\n ? navigate({ to: '/session/$sessionId', params: { sessionId: activeId } })\n : navigate({ to: '/session/$sessionId/$tabId', params: { sessionId: activeId, tabId } }));\n },\n [activeId, navigate],\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,aAA6C;CAC3D,MAAM,YAAA,GAAWA,sBAAAA,SAAAA,CAASC,sBAAAA,gBAAgB,UAAU,MAAM,QAAQ;CAClE,MAAM,YAAA,GAAWC,uBAAAA,YAAAA,CAAY;CAC7B,QAAA,GAAOC,MAAAA,YAAAA,EACJ,UAAU;EACT,IAAI,aAAa,MAAM;EACvB,UAAgB,OACZ,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,WAAW,SAAS;EAAE,CAAC,IACvE,SAAS;GAAE,IAAI;GAA8B,QAAQ;IAAE,WAAW;IAAU;GAAM;EAAE,CAAC;CAC3F,GACA,CAAC,UAAU,QAAQ,CACrB;AACF"}
@@ -0,0 +1,9 @@
1
+ //#region src/web/stores/useOpenTab.d.ts
2
+ /**
3
+ * Navigation for the focused session, in the shape plugins receive: a tab id
4
+ * opens that plugin tab, null returns to the conversation. A no-op while no
5
+ * session is focused, because there is no page to open a tab on.
6
+ */
7
+ export declare function useOpenTab(): (tabId: string | null) => void;
8
+ //#endregion
9
+ //# sourceMappingURL=useOpenTab.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOpenTab.d.mts","names":[],"sources":["../../../src/web/stores/useOpenTab.ts"],"mappings":";;;;;;wBAWgB,eAAe"}
@@ -0,0 +1,31 @@
1
+ import { sessionsStore } from "./sessionsStore.mjs";
2
+ import { useCallback } from "react";
3
+ import { useNavigate } from "@tanstack/react-router";
4
+ import { useStore } from "@tanstack/react-store";
5
+ //#region src/web/stores/useOpenTab.ts
6
+ /**
7
+ * Navigation for the focused session, in the shape plugins receive: a tab id
8
+ * opens that plugin tab, null returns to the conversation. A no-op while no
9
+ * session is focused, because there is no page to open a tab on.
10
+ */
11
+ function useOpenTab() {
12
+ const activeId = useStore(sessionsStore, (state) => state.activeId);
13
+ const navigate = useNavigate();
14
+ return useCallback((tabId) => {
15
+ if (activeId === null) return;
16
+ tabId === null ? navigate({
17
+ to: "/session/$sessionId",
18
+ params: { sessionId: activeId }
19
+ }) : navigate({
20
+ to: "/session/$sessionId/$tabId",
21
+ params: {
22
+ sessionId: activeId,
23
+ tabId
24
+ }
25
+ });
26
+ }, [activeId, navigate]);
27
+ }
28
+ //#endregion
29
+ export { useOpenTab };
30
+
31
+ //# sourceMappingURL=useOpenTab.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOpenTab.mjs","names":[],"sources":["../../../src/web/stores/useOpenTab.ts"],"sourcesContent":["import { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback } from 'react';\n\nimport { sessionsStore } from './sessionsStore';\n\n/**\n * Navigation for the focused session, in the shape plugins receive: a tab id\n * opens that plugin tab, null returns to the conversation. A no-op while no\n * session is focused, because there is no page to open a tab on.\n */\nexport function useOpenTab(): (tabId: string | null) => void {\n const activeId = useStore(sessionsStore, (state) => state.activeId);\n const navigate = useNavigate();\n return useCallback(\n (tabId) => {\n if (activeId === null) return;\n void (tabId === null\n ? navigate({ to: '/session/$sessionId', params: { sessionId: activeId } })\n : navigate({ to: '/session/$sessionId/$tabId', params: { sessionId: activeId, tabId } }));\n },\n [activeId, navigate],\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,aAA6C;CAC3D,MAAM,WAAW,SAAS,gBAAgB,UAAU,MAAM,QAAQ;CAClE,MAAM,WAAW,YAAY;CAC7B,OAAO,aACJ,UAAU;EACT,IAAI,aAAa,MAAM;EACvB,UAAgB,OACZ,SAAS;GAAE,IAAI;GAAuB,QAAQ,EAAE,WAAW,SAAS;EAAE,CAAC,IACvE,SAAS;GAAE,IAAI;GAA8B,QAAQ;IAAE,WAAW;IAAU;GAAM;EAAE,CAAC;CAC3F,GACA,CAAC,UAAU,QAAQ,CACrB;AACF"}
@@ -0,0 +1,115 @@
1
+ const require_composition = require("../lib/composition.cjs");
2
+ const require_pluginSlotProps = require("../lib/pluginSlotProps.cjs");
3
+ const require_composerStore = require("./composerStore.cjs");
4
+ const require_sessionsStore = require("./sessionsStore.cjs");
5
+ const require_sessionStore = require("./sessionStore.cjs");
6
+ const require_captureStore = require("./captureStore.cjs");
7
+ const require_sessionChannelHoldsStore = require("./sessionChannelHoldsStore.cjs");
8
+ const require_transientTabsStore = require("./transientTabsStore.cjs");
9
+ const require_useOpenTab = require("./useOpenTab.cjs");
10
+ const require_dashboardRenderers = require("../lib/dashboardRenderers.cjs");
11
+ const require_useWebPluginRegistry = require("./useWebPluginRegistry.cjs");
12
+ let react = require("react");
13
+ let _tanstack_react_router = require("@tanstack/react-router");
14
+ let _tanstack_react_store = require("@tanstack/react-store");
15
+ //#region src/web/stores/usePluginSlotProps.ts
16
+ function useSummaryField(sessionId, key) {
17
+ return (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => sessionId === null ? void 0 : state.byId[sessionId]?.summary[key]);
18
+ }
19
+ /** The props a plugin component receives for a session, with the host's navigation and facts bound in. */
20
+ function usePluginSlotProps(sessionId, onOpen, sessionReservationId) {
21
+ const renderers = (0, react.useContext)(require_dashboardRenderers.DashboardRendererContext);
22
+ const store = require_sessionStore.sessionStoreFor(sessionId);
23
+ const statuses = (0, _tanstack_react_store.useStore)(store, (state) => state.statuses);
24
+ const catalog = (0, _tanstack_react_store.useStore)(store, (state) => state.minorModes);
25
+ const widgets = (0, _tanstack_react_store.useStore)(store, (state) => state.widgets);
26
+ const context = (0, _tanstack_react_store.useStore)(store, (state) => state.context);
27
+ const contextInventory = (0, react.useMemo)(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);
28
+ const known = (0, _tanstack_react_store.useStore)(require_sessionsStore.sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== void 0);
29
+ const workspaceId = useSummaryField(sessionId, "workspaceId");
30
+ const parentSessionId = useSummaryField(sessionId, "parentSessionId");
31
+ const sessionProvenance = useSummaryField(sessionId, "sessionProvenance");
32
+ const sessionContext = (0, react.useMemo)(() => require_pluginSlotProps.pluginSessionContext(sessionId, known ? {
33
+ workspaceId,
34
+ parentSessionId,
35
+ sessionProvenance
36
+ } : void 0), [
37
+ known,
38
+ parentSessionId,
39
+ sessionId,
40
+ sessionProvenance,
41
+ workspaceId
42
+ ]);
43
+ const openTab = require_useOpenTab.useOpenTab();
44
+ const registryRevision = require_useWebPluginRegistry.useWebPluginRegistry();
45
+ const openPluginTab = (0, react.useCallback)((tabId) => {
46
+ onOpen?.();
47
+ openTab(tabId);
48
+ }, [onOpen, openTab]);
49
+ const openPluginTransientTab = (0, react.useCallback)((tab) => {
50
+ if (sessionId === null) return;
51
+ onOpen?.();
52
+ require_transientTabsStore.openTransientTab(sessionId, tab);
53
+ openTab(tab.id);
54
+ }, [
55
+ onOpen,
56
+ openTab,
57
+ sessionId
58
+ ]);
59
+ const navigate = (0, _tanstack_react_router.useNavigate)();
60
+ const openSession = (0, react.useCallback)((target) => {
61
+ if (require_sessionsStore.sessionsStore.state.byId[target] === void 0) return;
62
+ onOpen?.();
63
+ navigate({
64
+ to: "/session/$sessionId",
65
+ params: { sessionId: target }
66
+ });
67
+ }, [navigate, onOpen]);
68
+ const closePluginTransientTab = (0, react.useCallback)((tabId) => {
69
+ if (sessionId !== null) require_transientTabsStore.closeTransientTab(sessionId, tabId);
70
+ }, [sessionId]);
71
+ const appendDraft = (0, react.useCallback)((text) => require_composerStore.appendComposerDraft(sessionId, text), [sessionId]);
72
+ const attachContext = (0, react.useCallback)((item) => require_composerStore.attachComposerContext(sessionId, item), [sessionId]);
73
+ const attachCapture = (0, react.useCallback)((capture) => require_composerStore.attachComposerCapture(sessionId, capture), [sessionId]);
74
+ const capture = (0, react.useCallback)((value) => require_captureStore.submitCapture(sessionId, value), [sessionId]);
75
+ const activeMinorModes = (0, react.useMemo)(() => require_composition.minorModes(statuses, widgets, catalog).filter((mode) => mode.availability === "on").map((mode) => mode.name), [
76
+ catalog,
77
+ statuses,
78
+ widgets
79
+ ]);
80
+ return (0, react.useMemo)(() => {
81
+ const props = require_pluginSlotProps.pluginSlotProps(sessionId, openPluginTab, statuses, {
82
+ open: openPluginTransientTab,
83
+ close: closePluginTransientTab
84
+ }, appendDraft, attachContext, attachCapture, contextInventory, capture, sessionReservationId);
85
+ props.renderThread = (threadId, options) => sessionId === null ? null : renderers?.thread(sessionId, threadId, options) ?? null;
86
+ props.renderSessionActivity = () => sessionId === null ? null : renderers?.activity(sessionId, () => openPluginTab(null)) ?? null;
87
+ props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;
88
+ props.activeMinorModes = activeMinorModes;
89
+ if (sessionContext !== void 0) props.sessionContext = sessionContext;
90
+ props.holdSessionChannels = require_sessionChannelHoldsStore.holdSessionChannels;
91
+ props.openSession = openSession;
92
+ return props;
93
+ }, [
94
+ activeMinorModes,
95
+ appendDraft,
96
+ attachCapture,
97
+ attachContext,
98
+ capture,
99
+ closePluginTransientTab,
100
+ contextInventory,
101
+ openPluginTab,
102
+ openPluginTransientTab,
103
+ openSession,
104
+ registryRevision,
105
+ renderers,
106
+ sessionId,
107
+ sessionContext,
108
+ sessionReservationId,
109
+ statuses
110
+ ]);
111
+ }
112
+ //#endregion
113
+ exports.usePluginSlotProps = usePluginSlotProps;
114
+
115
+ //# sourceMappingURL=usePluginSlotProps.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePluginSlotProps.cjs","names":["useStore","sessionsStore","useContext","DashboardRendererContext","sessionStoreFor","useMemo","pluginSessionContext","useOpenTab","useWebPluginRegistry","useCallback","useNavigate","appendComposerDraft","attachComposerContext","attachComposerCapture","submitCapture","minorModes","pluginSlotProps","holdSessionChannels"],"sources":["../../../src/web/stores/usePluginSlotProps.ts"],"sourcesContent":["import type { WebPluginSlotProps } from '@agimon-ai/po-core/web';\nimport { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback, useContext, useMemo } from 'react';\n\nimport { minorModes } from '../lib/composition';\nimport { DashboardRendererContext } from '../lib/dashboardRenderers';\nimport { pluginSessionContext, pluginSlotProps } from '../lib/pluginSlotProps';\nimport { submitCapture } from './captureStore';\nimport { appendComposerDraft, attachComposerCapture, attachComposerContext } from './composerStore';\nimport { holdSessionChannels } from './sessionChannelHoldsStore';\nimport { sessionsStore } from './sessionsStore';\nimport { sessionStoreFor } from './sessionStore';\nimport { closeTransientTab, openTransientTab } from './transientTabsStore';\nimport { useOpenTab } from './useOpenTab';\nimport { useWebPluginRegistry } from './useWebPluginRegistry';\nfunction useSummaryField(\n sessionId: string | null,\n key: 'workspaceId' | 'parentSessionId' | 'sessionProvenance',\n): string | undefined {\n return useStore(sessionsStore, (state) => (sessionId === null ? undefined : state.byId[sessionId]?.summary[key]));\n}\n\n/** The props a plugin component receives for a session, with the host's navigation and facts bound in. */\nexport function usePluginSlotProps(\n sessionId: string | null,\n onOpen?: () => void,\n sessionReservationId?: string,\n): WebPluginSlotProps {\n const renderers = useContext(DashboardRendererContext);\n const store = sessionStoreFor(sessionId);\n const statuses = useStore(store, (state) => state.statuses);\n const catalog = useStore(store, (state) => state.minorModes);\n const widgets = useStore(store, (state) => state.widgets);\n const context = useStore(store, (state) => state.context);\n const contextInventory = useMemo(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);\n // Selected field by field so a summary upsert that changes none of them keeps the same object.\n const known = useStore(sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== undefined);\n const workspaceId = useSummaryField(sessionId, 'workspaceId');\n const parentSessionId = useSummaryField(sessionId, 'parentSessionId');\n const sessionProvenance = useSummaryField(sessionId, 'sessionProvenance');\n const sessionContext = useMemo(\n () => pluginSessionContext(sessionId, known ? { workspaceId, parentSessionId, sessionProvenance } : undefined),\n [known, parentSessionId, sessionId, sessionProvenance, workspaceId],\n );\n const openTab = useOpenTab();\n const registryRevision = useWebPluginRegistry();\n const openPluginTab = useCallback(\n (tabId: string | null) => {\n onOpen?.();\n openTab(tabId);\n },\n [onOpen, openTab],\n );\n const openPluginTransientTab = useCallback(\n (tab: Parameters<typeof openTransientTab>[1]) => {\n if (sessionId === null) return;\n onOpen?.();\n openTransientTab(sessionId, tab);\n openTab(tab.id);\n },\n [onOpen, openTab, sessionId],\n );\n const navigate = useNavigate();\n // Another session the page lists, such as a child a plugin started; an unknown id is left alone.\n const openSession = useCallback(\n (target: string) => {\n if (sessionsStore.state.byId[target] === undefined) return;\n onOpen?.();\n void navigate({ to: '/session/$sessionId', params: { sessionId: target } });\n },\n [navigate, onOpen],\n );\n const closePluginTransientTab = useCallback(\n (tabId: string) => {\n if (sessionId !== null) closeTransientTab(sessionId, tabId);\n },\n [sessionId],\n );\n const appendDraft = useCallback((text: string) => appendComposerDraft(sessionId, text), [sessionId]);\n const attachContext = useCallback(\n (item: Parameters<typeof attachComposerContext>[1]) => attachComposerContext(sessionId, item),\n [sessionId],\n );\n const attachCapture = useCallback(\n (capture: Parameters<typeof attachComposerCapture>[1]) => attachComposerCapture(sessionId, capture),\n [sessionId],\n );\n const capture = useCallback(\n (value: Parameters<typeof submitCapture>[1]) => submitCapture(sessionId, value),\n [sessionId],\n );\n const activeMinorModes = useMemo(\n () =>\n minorModes(statuses, widgets, catalog)\n .filter((mode) => mode.availability === 'on')\n .map((mode) => mode.name),\n [catalog, statuses, widgets],\n );\n\n return useMemo(() => {\n void registryRevision;\n const props = pluginSlotProps(\n sessionId,\n openPluginTab,\n statuses,\n { open: openPluginTransientTab, close: closePluginTransientTab },\n appendDraft,\n attachContext,\n attachCapture,\n contextInventory,\n capture,\n sessionReservationId,\n );\n props.renderThread = (threadId, options) =>\n sessionId === null ? null : (renderers?.thread(sessionId, threadId, options) ?? null);\n props.renderSessionActivity = () =>\n sessionId === null ? null : (renderers?.activity(sessionId, () => openPluginTab(null)) ?? null);\n props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;\n props.activeMinorModes = activeMinorModes;\n if (sessionContext !== undefined) props.sessionContext = sessionContext;\n props.holdSessionChannels = holdSessionChannels;\n props.openSession = openSession;\n return props;\n }, [\n activeMinorModes,\n appendDraft,\n attachCapture,\n attachContext,\n capture,\n closePluginTransientTab,\n contextInventory,\n openPluginTab,\n openPluginTransientTab,\n openSession,\n registryRevision,\n renderers,\n sessionId,\n sessionContext,\n sessionReservationId,\n statuses,\n ]);\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { WebPluginSlotProps } from "@agimon-ai/po-core/web";
2
+ //#region src/web/stores/usePluginSlotProps.d.ts
3
+ /** The props a plugin component receives for a session, with the host's navigation and facts bound in. */
4
+ export declare function usePluginSlotProps(sessionId: string | null, onOpen?: () => void, sessionReservationId?: string): WebPluginSlotProps;
5
+ //#endregion
6
+ //# sourceMappingURL=usePluginSlotProps.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePluginSlotProps.d.mts","names":[],"sources":["../../../src/web/stores/usePluginSlotProps.ts"],"mappings":";;;wBAwBgB,mBACd,0BACA,qBACA,gCACC"}
@@ -0,0 +1,115 @@
1
+ import { minorModes } from "../lib/composition.mjs";
2
+ import { pluginSessionContext, pluginSlotProps } from "../lib/pluginSlotProps.mjs";
3
+ import { appendComposerDraft, attachComposerCapture, attachComposerContext } from "./composerStore.mjs";
4
+ import { sessionsStore } from "./sessionsStore.mjs";
5
+ import { sessionStoreFor } from "./sessionStore.mjs";
6
+ import { submitCapture } from "./captureStore.mjs";
7
+ import { holdSessionChannels } from "./sessionChannelHoldsStore.mjs";
8
+ import { closeTransientTab, openTransientTab } from "./transientTabsStore.mjs";
9
+ import { useOpenTab } from "./useOpenTab.mjs";
10
+ import { DashboardRendererContext } from "../lib/dashboardRenderers.mjs";
11
+ import { useWebPluginRegistry } from "./useWebPluginRegistry.mjs";
12
+ import { useCallback, useContext, useMemo } from "react";
13
+ import { useNavigate } from "@tanstack/react-router";
14
+ import { useStore } from "@tanstack/react-store";
15
+ //#region src/web/stores/usePluginSlotProps.ts
16
+ function useSummaryField(sessionId, key) {
17
+ return useStore(sessionsStore, (state) => sessionId === null ? void 0 : state.byId[sessionId]?.summary[key]);
18
+ }
19
+ /** The props a plugin component receives for a session, with the host's navigation and facts bound in. */
20
+ function usePluginSlotProps(sessionId, onOpen, sessionReservationId) {
21
+ const renderers = useContext(DashboardRendererContext);
22
+ const store = sessionStoreFor(sessionId);
23
+ const statuses = useStore(store, (state) => state.statuses);
24
+ const catalog = useStore(store, (state) => state.minorModes);
25
+ const widgets = useStore(store, (state) => state.widgets);
26
+ const context = useStore(store, (state) => state.context);
27
+ const contextInventory = useMemo(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);
28
+ const known = useStore(sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== void 0);
29
+ const workspaceId = useSummaryField(sessionId, "workspaceId");
30
+ const parentSessionId = useSummaryField(sessionId, "parentSessionId");
31
+ const sessionProvenance = useSummaryField(sessionId, "sessionProvenance");
32
+ const sessionContext = useMemo(() => pluginSessionContext(sessionId, known ? {
33
+ workspaceId,
34
+ parentSessionId,
35
+ sessionProvenance
36
+ } : void 0), [
37
+ known,
38
+ parentSessionId,
39
+ sessionId,
40
+ sessionProvenance,
41
+ workspaceId
42
+ ]);
43
+ const openTab = useOpenTab();
44
+ const registryRevision = useWebPluginRegistry();
45
+ const openPluginTab = useCallback((tabId) => {
46
+ onOpen?.();
47
+ openTab(tabId);
48
+ }, [onOpen, openTab]);
49
+ const openPluginTransientTab = useCallback((tab) => {
50
+ if (sessionId === null) return;
51
+ onOpen?.();
52
+ openTransientTab(sessionId, tab);
53
+ openTab(tab.id);
54
+ }, [
55
+ onOpen,
56
+ openTab,
57
+ sessionId
58
+ ]);
59
+ const navigate = useNavigate();
60
+ const openSession = useCallback((target) => {
61
+ if (sessionsStore.state.byId[target] === void 0) return;
62
+ onOpen?.();
63
+ navigate({
64
+ to: "/session/$sessionId",
65
+ params: { sessionId: target }
66
+ });
67
+ }, [navigate, onOpen]);
68
+ const closePluginTransientTab = useCallback((tabId) => {
69
+ if (sessionId !== null) closeTransientTab(sessionId, tabId);
70
+ }, [sessionId]);
71
+ const appendDraft = useCallback((text) => appendComposerDraft(sessionId, text), [sessionId]);
72
+ const attachContext = useCallback((item) => attachComposerContext(sessionId, item), [sessionId]);
73
+ const attachCapture = useCallback((capture) => attachComposerCapture(sessionId, capture), [sessionId]);
74
+ const capture = useCallback((value) => submitCapture(sessionId, value), [sessionId]);
75
+ const activeMinorModes = useMemo(() => minorModes(statuses, widgets, catalog).filter((mode) => mode.availability === "on").map((mode) => mode.name), [
76
+ catalog,
77
+ statuses,
78
+ widgets
79
+ ]);
80
+ return useMemo(() => {
81
+ const props = pluginSlotProps(sessionId, openPluginTab, statuses, {
82
+ open: openPluginTransientTab,
83
+ close: closePluginTransientTab
84
+ }, appendDraft, attachContext, attachCapture, contextInventory, capture, sessionReservationId);
85
+ props.renderThread = (threadId, options) => sessionId === null ? null : renderers?.thread(sessionId, threadId, options) ?? null;
86
+ props.renderSessionActivity = () => sessionId === null ? null : renderers?.activity(sessionId, () => openPluginTab(null)) ?? null;
87
+ props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;
88
+ props.activeMinorModes = activeMinorModes;
89
+ if (sessionContext !== void 0) props.sessionContext = sessionContext;
90
+ props.holdSessionChannels = holdSessionChannels;
91
+ props.openSession = openSession;
92
+ return props;
93
+ }, [
94
+ activeMinorModes,
95
+ appendDraft,
96
+ attachCapture,
97
+ attachContext,
98
+ capture,
99
+ closePluginTransientTab,
100
+ contextInventory,
101
+ openPluginTab,
102
+ openPluginTransientTab,
103
+ openSession,
104
+ registryRevision,
105
+ renderers,
106
+ sessionId,
107
+ sessionContext,
108
+ sessionReservationId,
109
+ statuses
110
+ ]);
111
+ }
112
+ //#endregion
113
+ export { usePluginSlotProps };
114
+
115
+ //# sourceMappingURL=usePluginSlotProps.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePluginSlotProps.mjs","names":[],"sources":["../../../src/web/stores/usePluginSlotProps.ts"],"sourcesContent":["import type { WebPluginSlotProps } from '@agimon-ai/po-core/web';\nimport { useNavigate } from '@tanstack/react-router';\nimport { useStore } from '@tanstack/react-store';\nimport { useCallback, useContext, useMemo } from 'react';\n\nimport { minorModes } from '../lib/composition';\nimport { DashboardRendererContext } from '../lib/dashboardRenderers';\nimport { pluginSessionContext, pluginSlotProps } from '../lib/pluginSlotProps';\nimport { submitCapture } from './captureStore';\nimport { appendComposerDraft, attachComposerCapture, attachComposerContext } from './composerStore';\nimport { holdSessionChannels } from './sessionChannelHoldsStore';\nimport { sessionsStore } from './sessionsStore';\nimport { sessionStoreFor } from './sessionStore';\nimport { closeTransientTab, openTransientTab } from './transientTabsStore';\nimport { useOpenTab } from './useOpenTab';\nimport { useWebPluginRegistry } from './useWebPluginRegistry';\nfunction useSummaryField(\n sessionId: string | null,\n key: 'workspaceId' | 'parentSessionId' | 'sessionProvenance',\n): string | undefined {\n return useStore(sessionsStore, (state) => (sessionId === null ? undefined : state.byId[sessionId]?.summary[key]));\n}\n\n/** The props a plugin component receives for a session, with the host's navigation and facts bound in. */\nexport function usePluginSlotProps(\n sessionId: string | null,\n onOpen?: () => void,\n sessionReservationId?: string,\n): WebPluginSlotProps {\n const renderers = useContext(DashboardRendererContext);\n const store = sessionStoreFor(sessionId);\n const statuses = useStore(store, (state) => state.statuses);\n const catalog = useStore(store, (state) => state.minorModes);\n const widgets = useStore(store, (state) => state.widgets);\n const context = useStore(store, (state) => state.context);\n const contextInventory = useMemo(() => context?.groups.flatMap((group) => group.items) ?? [], [context]);\n // Selected field by field so a summary upsert that changes none of them keeps the same object.\n const known = useStore(sessionsStore, (state) => sessionId !== null && state.byId[sessionId] !== undefined);\n const workspaceId = useSummaryField(sessionId, 'workspaceId');\n const parentSessionId = useSummaryField(sessionId, 'parentSessionId');\n const sessionProvenance = useSummaryField(sessionId, 'sessionProvenance');\n const sessionContext = useMemo(\n () => pluginSessionContext(sessionId, known ? { workspaceId, parentSessionId, sessionProvenance } : undefined),\n [known, parentSessionId, sessionId, sessionProvenance, workspaceId],\n );\n const openTab = useOpenTab();\n const registryRevision = useWebPluginRegistry();\n const openPluginTab = useCallback(\n (tabId: string | null) => {\n onOpen?.();\n openTab(tabId);\n },\n [onOpen, openTab],\n );\n const openPluginTransientTab = useCallback(\n (tab: Parameters<typeof openTransientTab>[1]) => {\n if (sessionId === null) return;\n onOpen?.();\n openTransientTab(sessionId, tab);\n openTab(tab.id);\n },\n [onOpen, openTab, sessionId],\n );\n const navigate = useNavigate();\n // Another session the page lists, such as a child a plugin started; an unknown id is left alone.\n const openSession = useCallback(\n (target: string) => {\n if (sessionsStore.state.byId[target] === undefined) return;\n onOpen?.();\n void navigate({ to: '/session/$sessionId', params: { sessionId: target } });\n },\n [navigate, onOpen],\n );\n const closePluginTransientTab = useCallback(\n (tabId: string) => {\n if (sessionId !== null) closeTransientTab(sessionId, tabId);\n },\n [sessionId],\n );\n const appendDraft = useCallback((text: string) => appendComposerDraft(sessionId, text), [sessionId]);\n const attachContext = useCallback(\n (item: Parameters<typeof attachComposerContext>[1]) => attachComposerContext(sessionId, item),\n [sessionId],\n );\n const attachCapture = useCallback(\n (capture: Parameters<typeof attachComposerCapture>[1]) => attachComposerCapture(sessionId, capture),\n [sessionId],\n );\n const capture = useCallback(\n (value: Parameters<typeof submitCapture>[1]) => submitCapture(sessionId, value),\n [sessionId],\n );\n const activeMinorModes = useMemo(\n () =>\n minorModes(statuses, widgets, catalog)\n .filter((mode) => mode.availability === 'on')\n .map((mode) => mode.name),\n [catalog, statuses, widgets],\n );\n\n return useMemo(() => {\n void registryRevision;\n const props = pluginSlotProps(\n sessionId,\n openPluginTab,\n statuses,\n { open: openPluginTransientTab, close: closePluginTransientTab },\n appendDraft,\n attachContext,\n attachCapture,\n contextInventory,\n capture,\n sessionReservationId,\n );\n props.renderThread = (threadId, options) =>\n sessionId === null ? null : (renderers?.thread(sessionId, threadId, options) ?? null);\n props.renderSessionActivity = () =>\n sessionId === null ? null : (renderers?.activity(sessionId, () => openPluginTab(null)) ?? null);\n props.renderSessionTranscript = (targetId, options) => renderers?.transcript(targetId, options) ?? null;\n props.activeMinorModes = activeMinorModes;\n if (sessionContext !== undefined) props.sessionContext = sessionContext;\n props.holdSessionChannels = holdSessionChannels;\n props.openSession = openSession;\n return props;\n }, [\n activeMinorModes,\n appendDraft,\n attachCapture,\n attachContext,\n capture,\n closePluginTransientTab,\n contextInventory,\n openPluginTab,\n openPluginTransientTab,\n openSession,\n registryRevision,\n renderers,\n sessionId,\n sessionContext,\n sessionReservationId,\n statuses,\n ]);\n}\n"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ const require_toolPrompt = require("../lib/toolPrompt.cjs");
2
+ const require_sessionStore = require("./sessionStore.cjs");
3
+ const require_menuStore = require("./menuStore.cjs");
4
+ const require_toolPromptStore = require("./toolPromptStore.cjs");
5
+ let react = require("react");
6
+ let _tanstack_react_store = require("@tanstack/react-store");
7
+ //#region src/web/stores/useToolPrompt.ts
8
+ /**
9
+ * The running tool standing in for the composer, or null while none is.
10
+ *
11
+ * The composer and the host's dialog both read this, so the request has
12
+ * exactly one owner on any given frame. The three facts are selected apart and
13
+ * the verdict memoized on them: a claim is a fresh object each time it is
14
+ * computed, and selecting it directly would make every unrelated frame look
15
+ * like a change.
16
+ */
17
+ function useToolPrompt() {
18
+ const dialog = require_sessionStore.useActiveSession((state) => state.dialog);
19
+ const entries = require_sessionStore.useActiveSession((state) => state.entries);
20
+ const activeTools = require_sessionStore.useActiveSession((state) => state.activeTools);
21
+ const statuses = require_sessionStore.useActiveSession((state) => state.statuses);
22
+ const claimedMenu = (0, _tanstack_react_store.useStore)(require_menuStore.menuStore, (state) => state.claimed?.dialogId ?? null);
23
+ const failed = (0, _tanstack_react_store.useStore)(require_toolPromptStore.toolPromptStore, (state) => state.failedDialogId);
24
+ const open = dialog?.id ?? null;
25
+ const spokenFor = open !== null && (open === claimedMenu || open === failed) ? open : null;
26
+ return (0, react.useMemo)(() => require_toolPrompt.toolPromptClaim({
27
+ dialog,
28
+ entries,
29
+ activeTools,
30
+ statuses
31
+ }, spokenFor), [
32
+ dialog,
33
+ entries,
34
+ activeTools,
35
+ statuses,
36
+ spokenFor
37
+ ]);
38
+ }
39
+ //#endregion
40
+ exports.useToolPrompt = useToolPrompt;
41
+
42
+ //# sourceMappingURL=useToolPrompt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolPrompt.cjs","names":["useActiveSession","useStore","menuStore","toolPromptStore","useMemo","toolPromptClaim"],"sources":["../../../src/web/stores/useToolPrompt.ts"],"sourcesContent":["import { useStore } from '@tanstack/react-store';\nimport { useMemo } from 'react';\n\nimport { type ToolPromptClaim, toolPromptClaim } from '../lib/toolPrompt';\nimport { menuStore } from './menuStore';\nimport { useActiveSession } from './sessionStore';\nimport { toolPromptStore } from './toolPromptStore';\n\n/**\n * The running tool standing in for the composer, or null while none is.\n *\n * The composer and the host's dialog both read this, so the request has\n * exactly one owner on any given frame. The three facts are selected apart and\n * the verdict memoized on them: a claim is a fresh object each time it is\n * computed, and selecting it directly would make every unrelated frame look\n * like a change.\n */\nexport function useToolPrompt(): ToolPromptClaim | null {\n const dialog = useActiveSession((state) => state.dialog);\n const entries = useActiveSession((state) => state.entries);\n const activeTools = useActiveSession((state) => state.activeTools);\n const statuses = useActiveSession((state) => state.statuses);\n const claimedMenu = useStore(menuStore, (state) => state.claimed?.dialogId ?? null);\n const failed = useStore(toolPromptStore, (state) => state.failedDialogId);\n // Both ids can be stale, so neither speaks for the open request unless it\n // names it: a claim left over from an earlier turn must not wave this one through.\n const open = dialog?.id ?? null;\n const spokenFor = open !== null && (open === claimedMenu || open === failed) ? open : null;\n return useMemo(\n () => toolPromptClaim({ dialog, entries, activeTools, statuses }, spokenFor),\n [dialog, entries, activeTools, statuses, spokenFor],\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,SAAgB,gBAAwC;CACtD,MAAM,SAASA,qBAAAA,kBAAkB,UAAU,MAAM,MAAM;CACvD,MAAM,UAAUA,qBAAAA,kBAAkB,UAAU,MAAM,OAAO;CACzD,MAAM,cAAcA,qBAAAA,kBAAkB,UAAU,MAAM,WAAW;CACjE,MAAM,WAAWA,qBAAAA,kBAAkB,UAAU,MAAM,QAAQ;CAC3D,MAAM,eAAA,GAAcC,sBAAAA,SAAAA,CAASC,kBAAAA,YAAY,UAAU,MAAM,SAAS,YAAY,IAAI;CAClF,MAAM,UAAA,GAASD,sBAAAA,SAAAA,CAASE,wBAAAA,kBAAkB,UAAU,MAAM,cAAc;CAGxE,MAAM,OAAO,QAAQ,MAAM;CAC3B,MAAM,YAAY,SAAS,SAAS,SAAS,eAAe,SAAS,UAAU,OAAO;CACtF,QAAA,GAAOC,MAAAA,QAAAA,OACCC,mBAAAA,gBAAgB;EAAE;EAAQ;EAAS;EAAa;CAAS,GAAG,SAAS,GAC3E;EAAC;EAAQ;EAAS;EAAa;EAAU;CAAS,CACpD;AACF"}