@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,146 @@
1
+ import { readImageSettings, writeImageSettings } from "../../lib/settingsApi.mjs";
2
+ import { useDashboardState } from "../../stores/dashboardStateStore.mjs";
3
+ import { useEffect } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Button, Input, SettingsCard, SettingsDescription, SettingsHeader, SettingsPage, SettingsRow, SettingsRowDescription, SettingsRowText, SettingsRowTitle, SettingsTitle, Skeleton, Switch } from "@agimon-ai/po-web-components";
6
+ //#region src/web/features/settings/ImageSettings.tsx
7
+ /**
8
+ * The image page: how large an image may be when it reaches a model.
9
+ *
10
+ * These two write Pi's own settings.json rather than the Doom config, because
11
+ * Pi's terminal settings screen writes the same toggle and a machine should not
12
+ * hold two answers. The toggle applies at once; the cap is typed, so it saves
13
+ * on its own button rather than on every keystroke.
14
+ */
15
+ function ImageSettings() {
16
+ const [images, setImages, imagesState] = useDashboardState("images/view", void 0);
17
+ const [draft, setDraft] = useDashboardState("images/draft", "");
18
+ const [error, setError] = useDashboardState("images/error", void 0);
19
+ const [busy, setBusy, busyState] = useDashboardState("images/busy", false);
20
+ /** `readImageSettings` never rejects: a failed read resolves to `{ ok: false, error }`. */
21
+ const load = (isCancelled = () => false) => {
22
+ readImageSettings().then((result) => {
23
+ if (isCancelled() || busyState.state || imagesState.state !== void 0) return;
24
+ if (result.ok) {
25
+ setImages(result.images);
26
+ setDraft(String(result.images.maxDimension));
27
+ setError(void 0);
28
+ } else setError(result.error);
29
+ });
30
+ };
31
+ useEffect(() => {
32
+ if (imagesState.state !== void 0) return;
33
+ let cancelled = false;
34
+ load(() => cancelled);
35
+ return () => {
36
+ cancelled = true;
37
+ };
38
+ }, [
39
+ imagesState,
40
+ busyState,
41
+ setImages,
42
+ setDraft,
43
+ setError
44
+ ]);
45
+ const save = async (change) => {
46
+ if (busyState.state) return;
47
+ setBusy(true);
48
+ let result;
49
+ try {
50
+ result = await writeImageSettings(change);
51
+ } finally {
52
+ setBusy(false);
53
+ }
54
+ if (result.ok) {
55
+ setImages(result.images);
56
+ if (change.maxDimension !== void 0) setDraft((current) => current === draft ? String(result.images.maxDimension) : current);
57
+ setError(void 0);
58
+ return;
59
+ }
60
+ setError(result.error);
61
+ };
62
+ const parsed = Number.parseInt(draft, 10);
63
+ const dirty = images !== void 0 && Number.isFinite(parsed) && parsed !== images.maxDimension;
64
+ return /* @__PURE__ */ jsxs(SettingsPage, {
65
+ "data-testid": "image-settings",
66
+ children: [
67
+ /* @__PURE__ */ jsxs(SettingsHeader, { children: [/* @__PURE__ */ jsx(SettingsTitle, { children: "Images" }), /* @__PURE__ */ jsx(SettingsDescription, { children: "How large an image can be when it reaches a model. This covers images the agent reads and the ones you attach. Pi's own settings screen changes the same values." })] }),
68
+ images === void 0 && error !== void 0 ? /* @__PURE__ */ jsx(SettingsCard, { children: /* @__PURE__ */ jsxs(SettingsRow, {
69
+ "data-testid": "image-settings-error",
70
+ title: error,
71
+ children: [/* @__PURE__ */ jsxs(SettingsRowText, {
72
+ role: "alert",
73
+ children: [/* @__PURE__ */ jsx(SettingsRowTitle, { children: "Po couldn't read your image settings just now" }), /* @__PURE__ */ jsx(SettingsRowDescription, { children: "Nothing has changed. Images are handled as they were before." })]
74
+ }), /* @__PURE__ */ jsx(Button, {
75
+ variant: "outline",
76
+ size: "sm",
77
+ onClick: () => load(),
78
+ children: "Try again"
79
+ })]
80
+ }) }) : null,
81
+ images !== void 0 && error !== void 0 ? /* @__PURE__ */ jsx("p", {
82
+ role: "alert",
83
+ "data-testid": "image-settings-error",
84
+ className: "text-sm leading-relaxed text-doom-red",
85
+ children: error
86
+ }) : null,
87
+ images === void 0 && error === void 0 ? /* @__PURE__ */ jsxs(SettingsCard, {
88
+ role: "status",
89
+ "aria-busy": true,
90
+ className: "gap-4 p-5",
91
+ children: [
92
+ /* @__PURE__ */ jsx("span", {
93
+ className: "sr-only",
94
+ children: "Reading image settings"
95
+ }),
96
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-48" }),
97
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-72" })
98
+ ]
99
+ }) : null,
100
+ images === void 0 ? null : /* @__PURE__ */ jsxs(SettingsCard, { children: [/* @__PURE__ */ jsxs(SettingsRow, { children: [/* @__PURE__ */ jsxs(SettingsRowText, { children: [/* @__PURE__ */ jsx(SettingsRowTitle, {
101
+ id: "image-auto-resize-label",
102
+ children: "Resize large images"
103
+ }), /* @__PURE__ */ jsx(SettingsRowDescription, { children: "When off, images go out at the size they arrived, and some providers then reject the whole conversation." })] }), /* @__PURE__ */ jsx(Switch, {
104
+ "data-testid": "image-auto-resize",
105
+ "aria-labelledby": "image-auto-resize-label",
106
+ checked: images.autoResize,
107
+ disabled: busy,
108
+ onCheckedChange: (checked) => void save({ autoResize: checked })
109
+ })] }), /* @__PURE__ */ jsxs(SettingsRow, { children: [/* @__PURE__ */ jsxs(SettingsRowText, { children: [/* @__PURE__ */ jsx(SettingsRowTitle, {
110
+ id: "image-max-dimension-label",
111
+ children: "Longest edge"
112
+ }), /* @__PURE__ */ jsxs(SettingsRowDescription, { children: [
113
+ "In pixels, from ",
114
+ images.minDimension,
115
+ " to ",
116
+ images.maxAllowedDimension,
117
+ "; anything outside is clamped. Tool results are always capped at ",
118
+ images.maxAllowedDimension,
119
+ "."
120
+ ] })] }), /* @__PURE__ */ jsxs("div", {
121
+ className: "flex items-center gap-2",
122
+ children: [/* @__PURE__ */ jsx(Input, {
123
+ "data-testid": "image-max-dimension",
124
+ "aria-labelledby": "image-max-dimension-label",
125
+ value: draft,
126
+ inputMode: "numeric",
127
+ spellCheck: false,
128
+ disabled: busy || !images.autoResize,
129
+ onChange: (event) => setDraft(event.target.value),
130
+ className: "w-24 text-right font-mono text-sm tabular-nums"
131
+ }), /* @__PURE__ */ jsx(Button, {
132
+ size: "sm",
133
+ variant: dirty ? "primary" : "outline",
134
+ "data-testid": "image-max-dimension-save",
135
+ disabled: busy || !dirty,
136
+ onClick: () => void save({ maxDimension: parsed }),
137
+ children: "Save"
138
+ })]
139
+ })] })] })
140
+ ]
141
+ });
142
+ }
143
+ //#endregion
144
+ export { ImageSettings };
145
+
146
+ //# sourceMappingURL=ImageSettings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageSettings.mjs","names":[],"sources":["../../../../src/web/features/settings/ImageSettings.tsx"],"sourcesContent":["import {\n Button,\n Input,\n SettingsCard,\n SettingsDescription,\n SettingsHeader,\n SettingsPage,\n SettingsRow,\n SettingsRowDescription,\n SettingsRowText,\n SettingsRowTitle,\n SettingsTitle,\n Skeleton,\n Switch,\n} from '@agimon-ai/po-web-components';\nimport { useEffect } from 'react';\n\nimport type { SettingsImagesView } from '../../../types/settings';\nimport { readImageSettings, writeImageSettings } from '../../lib/settingsApi';\nimport { useDashboardState } from '../../stores/dashboardStateStore';\n\n/**\n * The image page: how large an image may be when it reaches a model.\n *\n * These two write Pi's own settings.json rather than the Doom config, because\n * Pi's terminal settings screen writes the same toggle and a machine should not\n * hold two answers. The toggle applies at once; the cap is typed, so it saves\n * on its own button rather than on every keystroke.\n */\nexport function ImageSettings() {\n const [images, setImages, imagesState] = useDashboardState<SettingsImagesView | undefined>('images/view', undefined);\n const [draft, setDraft] = useDashboardState('images/draft', '');\n const [error, setError] = useDashboardState<string | undefined>('images/error', undefined);\n const [busy, setBusy, busyState] = useDashboardState('images/busy', false);\n\n /** `readImageSettings` never rejects: a failed read resolves to `{ ok: false, error }`. */\n const load = (isCancelled: () => boolean = () => false): void => {\n void readImageSettings().then((result) => {\n if (isCancelled() || busyState.state || imagesState.state !== undefined) return;\n if (result.ok) {\n setImages(result.images);\n setDraft(String(result.images.maxDimension));\n setError(undefined);\n } else setError(result.error);\n });\n };\n\n useEffect(() => {\n if (imagesState.state !== undefined) return;\n let cancelled = false;\n load(() => cancelled);\n return () => {\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- `load` reads only the store handles listed here.\n }, [imagesState, busyState, setImages, setDraft, setError]);\n\n const save = async (change: { autoResize?: boolean; maxDimension?: number }): Promise<void> => {\n if (busyState.state) return;\n setBusy(true);\n let result: Awaited<ReturnType<typeof writeImageSettings>>;\n try {\n result = await writeImageSettings(change);\n } finally {\n setBusy(false);\n }\n if (result.ok) {\n setImages(result.images);\n if (change.maxDimension !== undefined)\n setDraft((current) => (current === draft ? String(result.images.maxDimension) : current));\n setError(undefined);\n return;\n }\n setError(result.error);\n };\n\n const parsed = Number.parseInt(draft, 10);\n const dirty = images !== undefined && Number.isFinite(parsed) && parsed !== images.maxDimension;\n\n return (\n <SettingsPage data-testid=\"image-settings\">\n <SettingsHeader>\n <SettingsTitle>Images</SettingsTitle>\n <SettingsDescription>\n How large an image can be when it reaches a model. This covers images the agent reads and the ones you attach.\n Pi&apos;s own settings screen changes the same values.\n </SettingsDescription>\n </SettingsHeader>\n {images === undefined && error !== undefined ? (\n <SettingsCard>\n <SettingsRow data-testid=\"image-settings-error\" title={error}>\n <SettingsRowText role=\"alert\">\n <SettingsRowTitle>Po couldn&apos;t read your image settings just now</SettingsRowTitle>\n <SettingsRowDescription>\n Nothing has changed. Images are handled as they were before.\n </SettingsRowDescription>\n </SettingsRowText>\n <Button variant=\"outline\" size=\"sm\" onClick={() => load()}>\n Try again\n </Button>\n </SettingsRow>\n </SettingsCard>\n ) : null}\n {images !== undefined && error !== undefined ? (\n <p role=\"alert\" data-testid=\"image-settings-error\" className=\"text-sm leading-relaxed text-doom-red\">\n {error}\n </p>\n ) : null}\n {images === undefined && error === undefined ? (\n <SettingsCard role=\"status\" aria-busy className=\"gap-4 p-5\">\n <span className=\"sr-only\">Reading image settings</span>\n <Skeleton className=\"h-4 w-48\" />\n <Skeleton className=\"h-4 w-72\" />\n </SettingsCard>\n ) : null}\n {images === undefined ? null : (\n <SettingsCard>\n <SettingsRow>\n <SettingsRowText>\n <SettingsRowTitle id=\"image-auto-resize-label\">Resize large images</SettingsRowTitle>\n <SettingsRowDescription>\n When off, images go out at the size they arrived, and some providers then reject the whole conversation.\n </SettingsRowDescription>\n </SettingsRowText>\n <Switch\n data-testid=\"image-auto-resize\"\n aria-labelledby=\"image-auto-resize-label\"\n checked={images.autoResize}\n disabled={busy}\n onCheckedChange={(checked) => void save({ autoResize: checked })}\n />\n </SettingsRow>\n <SettingsRow>\n <SettingsRowText>\n <SettingsRowTitle id=\"image-max-dimension-label\">Longest edge</SettingsRowTitle>\n <SettingsRowDescription>\n In pixels, from {images.minDimension} to {images.maxAllowedDimension}; anything outside is clamped. Tool\n results are always capped at {images.maxAllowedDimension}.\n </SettingsRowDescription>\n </SettingsRowText>\n <div className=\"flex items-center gap-2\">\n <Input\n data-testid=\"image-max-dimension\"\n aria-labelledby=\"image-max-dimension-label\"\n value={draft}\n inputMode=\"numeric\"\n spellCheck={false}\n disabled={busy || !images.autoResize}\n onChange={(event) => setDraft(event.target.value)}\n className=\"w-24 text-right font-mono text-sm tabular-nums\"\n />\n <Button\n size=\"sm\"\n variant={dirty ? 'primary' : 'outline'}\n data-testid=\"image-max-dimension-save\"\n disabled={busy || !dirty}\n onClick={() => void save({ maxDimension: parsed })}\n >\n Save\n </Button>\n </div>\n </SettingsRow>\n </SettingsCard>\n )}\n </SettingsPage>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ const require_dashboardStateStore = require("../../stores/dashboardStateStore.cjs");
2
+ let react_jsx_runtime = require("react/jsx-runtime");
3
+ let _agimon_ai_po_web_components = require("@agimon-ai/po-web-components");
4
+ //#region src/web/features/settings/LoginFlowDialog.tsx
5
+ const METHOD_LABEL = {
6
+ api_key: "API key",
7
+ oauth: "OAuth"
8
+ };
9
+ /** Button's link variant plus the wrapping a full auth URL needs. */
10
+ const linkClass = "inline break-all decoration-doom-blue/40 hover:decoration-doom-blue";
11
+ function FlowEvent({ event }) {
12
+ if (event.type === "auth_url") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13
+ className: "flex flex-col gap-1 text-sm text-doom-text",
14
+ children: [
15
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "Open this link to sign in:" }),
16
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
17
+ asChild: true,
18
+ variant: "link",
19
+ size: "xs",
20
+ className: linkClass,
21
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
22
+ "data-testid": "login-flow-auth-url",
23
+ href: event.url,
24
+ target: "_blank",
25
+ rel: "noreferrer",
26
+ children: event.url
27
+ })
28
+ }),
29
+ event.instructions ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
30
+ className: "text-doom-dim",
31
+ children: event.instructions
32
+ }) : null
33
+ ]
34
+ });
35
+ if (event.type === "device_code") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
36
+ className: "flex flex-col gap-1 text-sm text-doom-text",
37
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [
38
+ "Enter the code",
39
+ " ",
40
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
41
+ "data-testid": "login-flow-device-code",
42
+ className: "font-mono font-medium text-doom-hi",
43
+ children: event.userCode
44
+ }),
45
+ " ",
46
+ "at",
47
+ " ",
48
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
49
+ href: event.verificationUri,
50
+ target: "_blank",
51
+ rel: "noreferrer",
52
+ className: linkClass,
53
+ children: event.verificationUri
54
+ })
55
+ ] })
56
+ });
57
+ if (event.type === "info") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
58
+ className: "flex flex-col gap-1 text-sm text-doom-text",
59
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: event.message }), event.links?.map((link) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
60
+ href: link.url,
61
+ target: "_blank",
62
+ rel: "noreferrer",
63
+ className: linkClass,
64
+ children: link.label ?? link.url
65
+ }, link.url))]
66
+ });
67
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
68
+ className: "text-sm text-doom-dim",
69
+ children: event.message
70
+ });
71
+ }
72
+ function PromptField({ prompt, value, remote, onChange, onSubmit, onSelect }) {
73
+ if (prompt.type === "select") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
74
+ "data-testid": "login-prompt",
75
+ "data-prompt-type": prompt.type,
76
+ className: "flex flex-col gap-2",
77
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
78
+ className: "text-sm text-doom-text",
79
+ children: prompt.message
80
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
81
+ className: "flex flex-col gap-1",
82
+ children: (prompt.options ?? []).map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.Button, {
83
+ variant: "outline",
84
+ "data-testid": `login-prompt-option-${option.id}`,
85
+ onClick: () => onSelect(option.id),
86
+ className: "h-auto flex-col items-start gap-0.5 px-2.5 py-1.5 text-left whitespace-normal focus-visible:border-doom-blue/50 focus-visible:ring-0",
87
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
88
+ className: "text-base font-medium text-doom-hi",
89
+ children: option.label
90
+ }), option.description ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
91
+ className: "text-sm text-doom-dim",
92
+ children: option.description
93
+ }) : null]
94
+ }, option.id))
95
+ })]
96
+ });
97
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
98
+ "data-testid": "login-prompt",
99
+ "data-prompt-type": prompt.type,
100
+ className: "flex flex-col gap-1",
101
+ children: [
102
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
103
+ className: "text-sm text-doom-text",
104
+ children: prompt.message
105
+ }),
106
+ remote && prompt.type === "manual_code" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
107
+ "data-testid": "login-prompt-remote-hint",
108
+ className: "text-sm text-doom-dim",
109
+ children: "The page it sends you to will not load from here. Copy the whole address from your browser's address bar and paste it below."
110
+ }) : null,
111
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
112
+ className: "flex items-center gap-2",
113
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Input, {
114
+ "data-testid": "login-prompt-input",
115
+ type: prompt.type === "secret" ? "password" : "text",
116
+ value,
117
+ autoFocus: true,
118
+ autoComplete: "off",
119
+ placeholder: prompt.placeholder,
120
+ onChange: (event) => onChange(event.target.value),
121
+ onKeyDown: (event) => {
122
+ if (event.key === "Enter") onSubmit();
123
+ },
124
+ className: "flex-1"
125
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
126
+ variant: "primary",
127
+ "data-testid": "login-prompt-submit",
128
+ disabled: value.trim() === "",
129
+ onClick: onSubmit,
130
+ children: "Continue"
131
+ })]
132
+ })
133
+ ]
134
+ });
135
+ }
136
+ /**
137
+ * A provider's login, rendered from the hub's snapshots: the links and codes
138
+ * it announced, the one question it is waiting on, and how it ended.
139
+ */
140
+ function LoginFlowDialog({ flow, onAnswer, onCancel, onClose }) {
141
+ const prompt = flow.prompt;
142
+ const promptId = JSON.stringify([flow.id, prompt?.id]);
143
+ const running = flow.status === "running";
144
+ const [value, setValue] = require_dashboardStateStore.useDashboardState("providers/answer", "");
145
+ const [lastPromptId, setLastPromptId] = require_dashboardStateStore.useDashboardState("providers/prompt", promptId);
146
+ if (lastPromptId !== promptId || !running && value !== "") {
147
+ setLastPromptId(promptId);
148
+ setValue("");
149
+ }
150
+ const submit = () => {
151
+ if (!prompt || value.trim() === "") return;
152
+ onAnswer(prompt.id, value);
153
+ };
154
+ let outcome;
155
+ if (flow.status === "succeeded") outcome = {
156
+ text: `You're signed in to ${flow.providerName}. Every session can use it now.`,
157
+ className: "text-doom-green"
158
+ };
159
+ else if (flow.status === "failed") outcome = {
160
+ text: flow.error ?? "Sign-in failed.",
161
+ className: "text-doom-red"
162
+ };
163
+ else if (flow.status === "cancelled") outcome = {
164
+ text: "Sign-in cancelled.",
165
+ className: "text-doom-dim"
166
+ };
167
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Dialog, {
168
+ open: true,
169
+ onOpenChange: (next) => {
170
+ if (next) return;
171
+ if (running) onCancel();
172
+ else onClose();
173
+ },
174
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.DialogContent, {
175
+ width: "md",
176
+ "data-testid": "login-flow",
177
+ "data-status": flow.status,
178
+ "aria-describedby": void 0,
179
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.DialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.DialogTitle, { children: ["Sign in to ", flow.providerName] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
180
+ className: "text-sm text-doom-dim",
181
+ children: METHOD_LABEL[flow.type]
182
+ })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_agimon_ai_po_web_components.DialogBody, { children: [
183
+ flow.events.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ol", {
184
+ "data-testid": "login-flow-events",
185
+ className: "flex flex-col gap-2",
186
+ children: flow.events.map((event, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FlowEvent, { event }) }, index))
187
+ }) : null,
188
+ running && prompt ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PromptField, {
189
+ prompt,
190
+ value,
191
+ remote: flow.remote === true,
192
+ onChange: setValue,
193
+ onSubmit: submit,
194
+ onSelect: (optionId) => onAnswer(prompt.id, optionId)
195
+ }) : null,
196
+ running && !prompt ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
197
+ "data-testid": "login-flow-waiting",
198
+ className: "flex items-center gap-2 text-sm text-doom-dim",
199
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Spinner, {}), flow.events.length === 0 ? "Starting…" : `Waiting for ${flow.providerName}…`]
200
+ }) : null,
201
+ outcome ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
202
+ "data-testid": "login-flow-result",
203
+ className: `text-sm ${outcome.className}`,
204
+ children: outcome.text
205
+ }) : null,
206
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.DialogFooter, { children: running ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
207
+ variant: "outline",
208
+ "data-testid": "login-flow-cancel",
209
+ onClick: onCancel,
210
+ children: "Cancel"
211
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_agimon_ai_po_web_components.Button, {
212
+ variant: "outline",
213
+ "data-testid": "login-flow-close",
214
+ autoFocus: true,
215
+ onClick: onClose,
216
+ children: flow.status === "succeeded" ? "Done" : "Close"
217
+ }) })
218
+ ] })]
219
+ })
220
+ });
221
+ }
222
+ //#endregion
223
+ exports.LoginFlowDialog = LoginFlowDialog;
224
+ exports.METHOD_LABEL = METHOD_LABEL;
225
+
226
+ //# sourceMappingURL=LoginFlowDialog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginFlowDialog.cjs","names":["Button","Input","useDashboardState","Dialog","DialogContent","DialogHeader","DialogTitle","DialogBody","Spinner","DialogFooter"],"sources":["../../../../src/web/features/settings/LoginFlowDialog.tsx"],"sourcesContent":["import {\n Button,\n Dialog,\n DialogBody,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n Input,\n Spinner,\n} from '@agimon-ai/po-web-components';\n\nimport type { AuthMethodType, LoginEvent, LoginFlowSnapshot, LoginPromptView } from '../../../types/auth';\nimport { useDashboardState } from '../../stores/dashboardStateStore';\n\nexport const METHOD_LABEL: Readonly<Record<AuthMethodType, string>> = { api_key: 'API key', oauth: 'OAuth' };\n\n/** Button's link variant plus the wrapping a full auth URL needs. */\nconst linkClass = 'inline break-all decoration-doom-blue/40 hover:decoration-doom-blue';\n\nfunction FlowEvent({ event }: { event: LoginEvent }) {\n if (event.type === 'auth_url') {\n return (\n <div className=\"flex flex-col gap-1 text-sm text-doom-text\">\n <span>Open this link to sign in:</span>\n <Button asChild variant=\"link\" size=\"xs\" className={linkClass}>\n <a data-testid=\"login-flow-auth-url\" href={event.url} target=\"_blank\" rel=\"noreferrer\">\n {event.url}\n </a>\n </Button>\n {event.instructions ? <span className=\"text-doom-dim\">{event.instructions}</span> : null}\n </div>\n );\n }\n if (event.type === 'device_code') {\n return (\n <div className=\"flex flex-col gap-1 text-sm text-doom-text\">\n <span>\n Enter the code{' '}\n <span data-testid=\"login-flow-device-code\" className=\"font-mono font-medium text-doom-hi\">\n {event.userCode}\n </span>{' '}\n at{' '}\n <a href={event.verificationUri} target=\"_blank\" rel=\"noreferrer\" className={linkClass}>\n {event.verificationUri}\n </a>\n </span>\n </div>\n );\n }\n if (event.type === 'info') {\n return (\n <div className=\"flex flex-col gap-1 text-sm text-doom-text\">\n <span>{event.message}</span>\n {event.links?.map((link) => (\n <a key={link.url} href={link.url} target=\"_blank\" rel=\"noreferrer\" className={linkClass}>\n {link.label ?? link.url}\n </a>\n ))}\n </div>\n );\n }\n return <span className=\"text-sm text-doom-dim\">{event.message}</span>;\n}\n\nfunction PromptField({\n prompt,\n value,\n remote,\n onChange,\n onSubmit,\n onSelect,\n}: {\n prompt: LoginPromptView;\n value: string;\n remote: boolean;\n onChange: (value: string) => void;\n onSubmit: () => void;\n onSelect: (optionId: string) => void;\n}) {\n if (prompt.type === 'select') {\n return (\n <div data-testid=\"login-prompt\" data-prompt-type={prompt.type} className=\"flex flex-col gap-2\">\n <span className=\"text-sm text-doom-text\">{prompt.message}</span>\n <div className=\"flex flex-col gap-1\">\n {(prompt.options ?? []).map((option) => (\n <Button\n key={option.id}\n variant=\"outline\"\n data-testid={`login-prompt-option-${option.id}`}\n onClick={() => onSelect(option.id)}\n className=\"h-auto flex-col items-start gap-0.5 px-2.5 py-1.5 text-left whitespace-normal focus-visible:border-doom-blue/50 focus-visible:ring-0\"\n >\n <span className=\"text-base font-medium text-doom-hi\">{option.label}</span>\n {option.description ? <span className=\"text-sm text-doom-dim\">{option.description}</span> : null}\n </Button>\n ))}\n </div>\n </div>\n );\n }\n return (\n <label data-testid=\"login-prompt\" data-prompt-type={prompt.type} className=\"flex flex-col gap-1\">\n <span className=\"text-sm text-doom-text\">{prompt.message}</span>\n {/* The provider redirects to a loopback address that belongs to whichever\n machine the browser runs on, so a remote tab lands on an error page.\n The URL still carries the code, which is what this asks for. */}\n {remote && prompt.type === 'manual_code' ? (\n <span data-testid=\"login-prompt-remote-hint\" className=\"text-sm text-doom-dim\">\n The page it sends you to will not load from here. Copy the whole address from your browser&apos;s address bar\n and paste it below.\n </span>\n ) : null}\n <div className=\"flex items-center gap-2\">\n <Input\n data-testid=\"login-prompt-input\"\n type={prompt.type === 'secret' ? 'password' : 'text'}\n value={value}\n autoFocus\n autoComplete=\"off\"\n placeholder={prompt.placeholder}\n onChange={(event) => onChange(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') onSubmit();\n }}\n className=\"flex-1\"\n />\n <Button variant=\"primary\" data-testid=\"login-prompt-submit\" disabled={value.trim() === ''} onClick={onSubmit}>\n Continue\n </Button>\n </div>\n </label>\n );\n}\n\n/**\n * A provider's login, rendered from the hub's snapshots: the links and codes\n * it announced, the one question it is waiting on, and how it ended.\n */\nexport function LoginFlowDialog({\n flow,\n onAnswer,\n onCancel,\n onClose,\n}: {\n flow: LoginFlowSnapshot;\n onAnswer: (promptId: string, value: string) => void;\n onCancel: () => void;\n onClose: () => void;\n}) {\n const prompt = flow.prompt;\n const promptId = JSON.stringify([flow.id, prompt?.id]);\n const running = flow.status === 'running';\n const [value, setValue] = useDashboardState('providers/answer', '');\n const [lastPromptId, setLastPromptId] = useDashboardState('providers/prompt', promptId);\n if (lastPromptId !== promptId || (!running && value !== '')) {\n setLastPromptId(promptId);\n setValue('');\n }\n\n const submit = (): void => {\n if (!prompt || value.trim() === '') return;\n onAnswer(prompt.id, value);\n };\n\n let outcome: { text: string; className: string } | undefined;\n if (flow.status === 'succeeded')\n outcome = {\n text: `You're signed in to ${flow.providerName}. Every session can use it now.`,\n className: 'text-doom-green',\n };\n else if (flow.status === 'failed') outcome = { text: flow.error ?? 'Sign-in failed.', className: 'text-doom-red' };\n else if (flow.status === 'cancelled') outcome = { text: 'Sign-in cancelled.', className: 'text-doom-dim' };\n\n return (\n <Dialog\n open\n onOpenChange={(next) => {\n if (next) return;\n // Escape or an outside click abandons a live sign-in, and simply\n // dismisses a finished one.\n if (running) onCancel();\n else onClose();\n }}\n >\n <DialogContent width=\"md\" data-testid=\"login-flow\" data-status={flow.status} aria-describedby={undefined}>\n <DialogHeader>\n <DialogTitle>Sign in to {flow.providerName}</DialogTitle>\n <span className=\"text-sm text-doom-dim\">{METHOD_LABEL[flow.type]}</span>\n </DialogHeader>\n <DialogBody>\n {flow.events.length > 0 ? (\n <ol data-testid=\"login-flow-events\" className=\"flex flex-col gap-2\">\n {flow.events.map((event, index) => (\n <li key={index}>\n <FlowEvent event={event} />\n </li>\n ))}\n </ol>\n ) : null}\n {running && prompt ? (\n <PromptField\n prompt={prompt}\n value={value}\n remote={flow.remote === true}\n onChange={setValue}\n onSubmit={submit}\n onSelect={(optionId) => onAnswer(prompt.id, optionId)}\n />\n ) : null}\n {running && !prompt ? (\n <p data-testid=\"login-flow-waiting\" className=\"flex items-center gap-2 text-sm text-doom-dim\">\n <Spinner />\n {flow.events.length === 0 ? 'Starting…' : `Waiting for ${flow.providerName}…`}\n </p>\n ) : null}\n {outcome ? (\n <p data-testid=\"login-flow-result\" className={`text-sm ${outcome.className}`}>\n {outcome.text}\n </p>\n ) : null}\n <DialogFooter>\n {running ? (\n <Button variant=\"outline\" data-testid=\"login-flow-cancel\" onClick={onCancel}>\n Cancel\n </Button>\n ) : (\n <Button variant=\"outline\" data-testid=\"login-flow-close\" autoFocus onClick={onClose}>\n {flow.status === 'succeeded' ? 'Done' : 'Close'}\n </Button>\n )}\n </DialogFooter>\n </DialogBody>\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { AuthMethodType, LoginFlowSnapshot } from "../../../types/auth.mjs";
2
+ //#region src/web/features/settings/LoginFlowDialog.d.ts
3
+ export declare const METHOD_LABEL: Readonly<Record<AuthMethodType, string>>;
4
+ /**
5
+ * A provider's login, rendered from the hub's snapshots: the links and codes
6
+ * it announced, the one question it is waiting on, and how it ended.
7
+ */
8
+ export declare function LoginFlowDialog({ flow, onAnswer, onCancel, onClose }: {
9
+ flow: LoginFlowSnapshot;
10
+ onAnswer: (promptId: string, value: string) => void;
11
+ onCancel: () => void;
12
+ onClose: () => void;
13
+ }): import("react").JSX.Element;
14
+ //#endregion
15
+ //# sourceMappingURL=LoginFlowDialog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginFlowDialog.d.mts","names":[],"sources":["../../../../src/web/features/settings/LoginFlowDialog.tsx"],"mappings":";;qBAea,cAAc,SAAS,OAAO;;;;;wBA4H3B,kBACd,MACA,UACA,UACA;EAEA,MAAM;EACN,WAAW,kBAAkB;EAC7B;EACA;oBACD,IAAA"}