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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (924) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +10 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  4. package/dist/core.cjs +222 -0
  5. package/dist/core.d.mts +21 -0
  6. package/dist/core.mjs +21 -0
  7. package/dist/index.cjs +546 -0
  8. package/dist/index.d.mts +81 -0
  9. package/dist/index.mjs +81 -0
  10. package/dist/testing.cjs +18 -0
  11. package/dist/testing.d.mts +6 -0
  12. package/dist/testing.mjs +6 -0
  13. package/dist/types/auth.cjs +20 -0
  14. package/dist/types/auth.cjs.map +1 -0
  15. package/dist/types/auth.d.mts +160 -0
  16. package/dist/types/auth.d.mts.map +1 -0
  17. package/dist/types/auth.mjs +19 -0
  18. package/dist/types/auth.mjs.map +1 -0
  19. package/dist/types/bridge.d.mts +18 -0
  20. package/dist/types/bridge.d.mts.map +1 -0
  21. package/dist/types/devProxy.cjs +41 -0
  22. package/dist/types/devProxy.cjs.map +1 -0
  23. package/dist/types/devProxy.d.mts +54 -0
  24. package/dist/types/devProxy.d.mts.map +1 -0
  25. package/dist/types/devProxy.mjs +39 -0
  26. package/dist/types/devProxy.mjs.map +1 -0
  27. package/dist/types/hub.cjs +220 -0
  28. package/dist/types/hub.cjs.map +1 -0
  29. package/dist/types/hub.d.mts +447 -0
  30. package/dist/types/hub.d.mts.map +1 -0
  31. package/dist/types/hub.mjs +179 -0
  32. package/dist/types/hub.mjs.map +1 -0
  33. package/dist/types/media.cjs +75 -0
  34. package/dist/types/media.cjs.map +1 -0
  35. package/dist/types/media.d.mts +22 -0
  36. package/dist/types/media.d.mts.map +1 -0
  37. package/dist/types/media.mjs +70 -0
  38. package/dist/types/media.mjs.map +1 -0
  39. package/dist/types/notification.cjs +19 -0
  40. package/dist/types/notification.cjs.map +1 -0
  41. package/dist/types/notification.d.mts +10 -0
  42. package/dist/types/notification.d.mts.map +1 -0
  43. package/dist/types/notification.mjs +19 -0
  44. package/dist/types/notification.mjs.map +1 -0
  45. package/dist/types/remoteAccess.cjs +92 -0
  46. package/dist/types/remoteAccess.cjs.map +1 -0
  47. package/dist/types/remoteAccess.d.mts +214 -0
  48. package/dist/types/remoteAccess.d.mts.map +1 -0
  49. package/dist/types/remoteAccess.mjs +68 -0
  50. package/dist/types/remoteAccess.mjs.map +1 -0
  51. package/dist/types/session.cjs +23 -0
  52. package/dist/types/session.cjs.map +1 -0
  53. package/dist/types/session.d.mts +29 -0
  54. package/dist/types/session.d.mts.map +1 -0
  55. package/dist/types/session.mjs +18 -0
  56. package/dist/types/session.mjs.map +1 -0
  57. package/dist/types/sessionMcp.d.mts +56 -0
  58. package/dist/types/sessionMcp.d.mts.map +1 -0
  59. package/dist/types/settings.cjs +18 -0
  60. package/dist/types/settings.cjs.map +1 -0
  61. package/dist/types/settings.d.mts +126 -0
  62. package/dist/types/settings.d.mts.map +1 -0
  63. package/dist/types/settings.mjs +12 -0
  64. package/dist/types/settings.mjs.map +1 -0
  65. package/dist/types.cjs +101 -0
  66. package/dist/types.d.mts +11 -0
  67. package/dist/types.mjs +9 -0
  68. package/dist/views.cjs +120 -0
  69. package/dist/views.d.mts +56 -0
  70. package/dist/views.mjs +56 -0
  71. package/dist/web/components/MascotMark.cjs +18 -0
  72. package/dist/web/components/MascotMark.cjs.map +1 -0
  73. package/dist/web/components/MascotMark.d.mts +9 -0
  74. package/dist/web/components/MascotMark.d.mts.map +1 -0
  75. package/dist/web/components/MascotMark.mjs +18 -0
  76. package/dist/web/components/MascotMark.mjs.map +1 -0
  77. package/dist/web/components/PluginSurface.cjs +15 -0
  78. package/dist/web/components/PluginSurface.cjs.map +1 -0
  79. package/dist/web/components/PluginSurface.d.mts +13 -0
  80. package/dist/web/components/PluginSurface.d.mts.map +1 -0
  81. package/dist/web/components/PluginSurface.mjs +15 -0
  82. package/dist/web/components/PluginSurface.mjs.map +1 -0
  83. package/dist/web/components/QrCode.cjs +37 -0
  84. package/dist/web/components/QrCode.cjs.map +1 -0
  85. package/dist/web/components/QrCode.d.mts +22 -0
  86. package/dist/web/components/QrCode.d.mts.map +1 -0
  87. package/dist/web/components/QrCode.mjs +37 -0
  88. package/dist/web/components/QrCode.mjs.map +1 -0
  89. package/dist/web/components/Remote.fixture.cjs +73 -0
  90. package/dist/web/components/Remote.fixture.cjs.map +1 -0
  91. package/dist/web/components/Remote.fixture.mjs +72 -0
  92. package/dist/web/components/Remote.fixture.mjs.map +1 -0
  93. package/dist/web/components/SessionMcp.cjs +279 -0
  94. package/dist/web/components/SessionMcp.cjs.map +1 -0
  95. package/dist/web/components/SessionMcp.d.mts +12 -0
  96. package/dist/web/components/SessionMcp.d.mts.map +1 -0
  97. package/dist/web/components/SessionMcp.mjs +278 -0
  98. package/dist/web/components/SessionMcp.mjs.map +1 -0
  99. package/dist/web/components/Story.fixture.cjs +124 -0
  100. package/dist/web/components/Story.fixture.cjs.map +1 -0
  101. package/dist/web/components/Story.fixture.d.mts +19 -0
  102. package/dist/web/components/Story.fixture.d.mts.map +1 -0
  103. package/dist/web/components/Story.fixture.mjs +119 -0
  104. package/dist/web/components/Story.fixture.mjs.map +1 -0
  105. package/dist/web/components/Template.fixture.cjs +67 -0
  106. package/dist/web/components/Template.fixture.cjs.map +1 -0
  107. package/dist/web/components/Template.fixture.d.mts +7 -0
  108. package/dist/web/components/Template.fixture.d.mts.map +1 -0
  109. package/dist/web/components/Template.fixture.mjs +65 -0
  110. package/dist/web/components/Template.fixture.mjs.map +1 -0
  111. package/dist/web/components/ToolRendererBoundary.cjs +23 -0
  112. package/dist/web/components/ToolRendererBoundary.cjs.map +1 -0
  113. package/dist/web/components/ToolRendererBoundary.d.mts +23 -0
  114. package/dist/web/components/ToolRendererBoundary.d.mts.map +1 -0
  115. package/dist/web/components/ToolRendererBoundary.mjs +23 -0
  116. package/dist/web/components/ToolRendererBoundary.mjs.map +1 -0
  117. package/dist/web/features/activity/ActivityDock.cjs +271 -0
  118. package/dist/web/features/activity/ActivityDock.cjs.map +1 -0
  119. package/dist/web/features/activity/ActivityDock.d.mts +22 -0
  120. package/dist/web/features/activity/ActivityDock.d.mts.map +1 -0
  121. package/dist/web/features/activity/ActivityDock.mjs +271 -0
  122. package/dist/web/features/activity/ActivityDock.mjs.map +1 -0
  123. package/dist/web/features/activity/ContextItemDialog.cjs +276 -0
  124. package/dist/web/features/activity/ContextItemDialog.cjs.map +1 -0
  125. package/dist/web/features/activity/ContextItemDialog.d.mts +16 -0
  126. package/dist/web/features/activity/ContextItemDialog.d.mts.map +1 -0
  127. package/dist/web/features/activity/ContextItemDialog.mjs +276 -0
  128. package/dist/web/features/activity/ContextItemDialog.mjs.map +1 -0
  129. package/dist/web/features/activity/ContextPanel.cjs +248 -0
  130. package/dist/web/features/activity/ContextPanel.cjs.map +1 -0
  131. package/dist/web/features/activity/ContextPanel.d.mts +4 -0
  132. package/dist/web/features/activity/ContextPanel.d.mts.map +1 -0
  133. package/dist/web/features/activity/ContextPanel.mjs +248 -0
  134. package/dist/web/features/activity/ContextPanel.mjs.map +1 -0
  135. package/dist/web/features/activity/DockTabs.cjs +47 -0
  136. package/dist/web/features/activity/DockTabs.cjs.map +1 -0
  137. package/dist/web/features/activity/DockTabs.d.mts +9 -0
  138. package/dist/web/features/activity/DockTabs.d.mts.map +1 -0
  139. package/dist/web/features/activity/DockTabs.mjs +47 -0
  140. package/dist/web/features/activity/DockTabs.mjs.map +1 -0
  141. package/dist/web/features/connection/RefusedCard.cjs +76 -0
  142. package/dist/web/features/connection/RefusedCard.cjs.map +1 -0
  143. package/dist/web/features/connection/RefusedCard.d.mts +5 -0
  144. package/dist/web/features/connection/RefusedCard.d.mts.map +1 -0
  145. package/dist/web/features/connection/RefusedCard.mjs +76 -0
  146. package/dist/web/features/connection/RefusedCard.mjs.map +1 -0
  147. package/dist/web/features/dialogs/DialogOverlay.cjs +164 -0
  148. package/dist/web/features/dialogs/DialogOverlay.cjs.map +1 -0
  149. package/dist/web/features/dialogs/DialogOverlay.d.mts +15 -0
  150. package/dist/web/features/dialogs/DialogOverlay.d.mts.map +1 -0
  151. package/dist/web/features/dialogs/DialogOverlay.mjs +164 -0
  152. package/dist/web/features/dialogs/DialogOverlay.mjs.map +1 -0
  153. package/dist/web/features/leader/CommandPalette.cjs +390 -0
  154. package/dist/web/features/leader/CommandPalette.cjs.map +1 -0
  155. package/dist/web/features/leader/CommandPalette.d.mts +14 -0
  156. package/dist/web/features/leader/CommandPalette.d.mts.map +1 -0
  157. package/dist/web/features/leader/CommandPalette.mjs +390 -0
  158. package/dist/web/features/leader/CommandPalette.mjs.map +1 -0
  159. package/dist/web/features/remote/DevProxyTargets.cjs +122 -0
  160. package/dist/web/features/remote/DevProxyTargets.cjs.map +1 -0
  161. package/dist/web/features/remote/DevProxyTargets.d.mts +15 -0
  162. package/dist/web/features/remote/DevProxyTargets.d.mts.map +1 -0
  163. package/dist/web/features/remote/DevProxyTargets.mjs +122 -0
  164. package/dist/web/features/remote/DevProxyTargets.mjs.map +1 -0
  165. package/dist/web/features/remote/HandoverProgress.cjs +28 -0
  166. package/dist/web/features/remote/HandoverProgress.cjs.map +1 -0
  167. package/dist/web/features/remote/HandoverProgress.d.mts +12 -0
  168. package/dist/web/features/remote/HandoverProgress.d.mts.map +1 -0
  169. package/dist/web/features/remote/HandoverProgress.mjs +28 -0
  170. package/dist/web/features/remote/HandoverProgress.mjs.map +1 -0
  171. package/dist/web/features/remote/PairedDeviceList.cjs +37 -0
  172. package/dist/web/features/remote/PairedDeviceList.cjs.map +1 -0
  173. package/dist/web/features/remote/PairedDeviceList.d.mts +5 -0
  174. package/dist/web/features/remote/PairedDeviceList.d.mts.map +1 -0
  175. package/dist/web/features/remote/PairedDeviceList.mjs +37 -0
  176. package/dist/web/features/remote/PairedDeviceList.mjs.map +1 -0
  177. package/dist/web/features/remote/PairingApprovalDialog.cjs +65 -0
  178. package/dist/web/features/remote/PairingApprovalDialog.cjs.map +1 -0
  179. package/dist/web/features/remote/PairingApprovalDialog.d.mts +11 -0
  180. package/dist/web/features/remote/PairingApprovalDialog.d.mts.map +1 -0
  181. package/dist/web/features/remote/PairingApprovalDialog.mjs +65 -0
  182. package/dist/web/features/remote/PairingApprovalDialog.mjs.map +1 -0
  183. package/dist/web/features/remote/RemoteAccessDialog.cjs +83 -0
  184. package/dist/web/features/remote/RemoteAccessDialog.cjs.map +1 -0
  185. package/dist/web/features/remote/RemoteAccessDialog.d.mts +11 -0
  186. package/dist/web/features/remote/RemoteAccessDialog.d.mts.map +1 -0
  187. package/dist/web/features/remote/RemoteAccessDialog.mjs +83 -0
  188. package/dist/web/features/remote/RemoteAccessDialog.mjs.map +1 -0
  189. package/dist/web/features/remote/RemoteAccessOptions.cjs +154 -0
  190. package/dist/web/features/remote/RemoteAccessOptions.cjs.map +1 -0
  191. package/dist/web/features/remote/RemoteAccessOptions.d.mts +11 -0
  192. package/dist/web/features/remote/RemoteAccessOptions.d.mts.map +1 -0
  193. package/dist/web/features/remote/RemoteAccessOptions.mjs +154 -0
  194. package/dist/web/features/remote/RemoteAccessOptions.mjs.map +1 -0
  195. package/dist/web/features/remote/RemoteAccessPairing.cjs +93 -0
  196. package/dist/web/features/remote/RemoteAccessPairing.cjs.map +1 -0
  197. package/dist/web/features/remote/RemoteAccessPairing.d.mts +5 -0
  198. package/dist/web/features/remote/RemoteAccessPairing.d.mts.map +1 -0
  199. package/dist/web/features/remote/RemoteAccessPairing.mjs +93 -0
  200. package/dist/web/features/remote/RemoteAccessPairing.mjs.map +1 -0
  201. package/dist/web/features/remote/SandboxWorkspaces.cjs +87 -0
  202. package/dist/web/features/remote/SandboxWorkspaces.cjs.map +1 -0
  203. package/dist/web/features/remote/SandboxWorkspaces.d.mts +7 -0
  204. package/dist/web/features/remote/SandboxWorkspaces.d.mts.map +1 -0
  205. package/dist/web/features/remote/SandboxWorkspaces.mjs +87 -0
  206. package/dist/web/features/remote/SandboxWorkspaces.mjs.map +1 -0
  207. package/dist/web/features/remote/TrustedDeviceList.cjs +65 -0
  208. package/dist/web/features/remote/TrustedDeviceList.cjs.map +1 -0
  209. package/dist/web/features/remote/TrustedDeviceList.d.mts +13 -0
  210. package/dist/web/features/remote/TrustedDeviceList.d.mts.map +1 -0
  211. package/dist/web/features/remote/TrustedDeviceList.mjs +64 -0
  212. package/dist/web/features/remote/TrustedDeviceList.mjs.map +1 -0
  213. package/dist/web/features/selection/SelectionBar.cjs +401 -0
  214. package/dist/web/features/selection/SelectionBar.cjs.map +1 -0
  215. package/dist/web/features/selection/SelectionBar.d.mts +14 -0
  216. package/dist/web/features/selection/SelectionBar.d.mts.map +1 -0
  217. package/dist/web/features/selection/SelectionBar.mjs +400 -0
  218. package/dist/web/features/selection/SelectionBar.mjs.map +1 -0
  219. package/dist/web/features/session/AgentLockPanel.cjs +31 -0
  220. package/dist/web/features/session/AgentLockPanel.cjs.map +1 -0
  221. package/dist/web/features/session/AgentLockPanel.mjs +31 -0
  222. package/dist/web/features/session/AgentLockPanel.mjs.map +1 -0
  223. package/dist/web/features/session/Composer.cjs +808 -0
  224. package/dist/web/features/session/Composer.cjs.map +1 -0
  225. package/dist/web/features/session/Composer.d.mts +21 -0
  226. package/dist/web/features/session/Composer.d.mts.map +1 -0
  227. package/dist/web/features/session/Composer.mjs +806 -0
  228. package/dist/web/features/session/Composer.mjs.map +1 -0
  229. package/dist/web/features/session/ComposerPrompt.cjs +47 -0
  230. package/dist/web/features/session/ComposerPrompt.cjs.map +1 -0
  231. package/dist/web/features/session/ComposerPrompt.d.mts +16 -0
  232. package/dist/web/features/session/ComposerPrompt.d.mts.map +1 -0
  233. package/dist/web/features/session/ComposerPrompt.mjs +47 -0
  234. package/dist/web/features/session/ComposerPrompt.mjs.map +1 -0
  235. package/dist/web/features/session/DormantPanel.cjs +61 -0
  236. package/dist/web/features/session/DormantPanel.cjs.map +1 -0
  237. package/dist/web/features/session/DormantPanel.d.mts +8 -0
  238. package/dist/web/features/session/DormantPanel.d.mts.map +1 -0
  239. package/dist/web/features/session/DormantPanel.mjs +61 -0
  240. package/dist/web/features/session/DormantPanel.mjs.map +1 -0
  241. package/dist/web/features/session/MentionPreviews.cjs +128 -0
  242. package/dist/web/features/session/MentionPreviews.cjs.map +1 -0
  243. package/dist/web/features/session/MentionPreviews.d.mts +17 -0
  244. package/dist/web/features/session/MentionPreviews.d.mts.map +1 -0
  245. package/dist/web/features/session/MentionPreviews.mjs +127 -0
  246. package/dist/web/features/session/MentionPreviews.mjs.map +1 -0
  247. package/dist/web/features/session/MessageMarkdown.cjs +20 -0
  248. package/dist/web/features/session/MessageMarkdown.cjs.map +1 -0
  249. package/dist/web/features/session/MessageMarkdown.d.mts +19 -0
  250. package/dist/web/features/session/MessageMarkdown.d.mts.map +1 -0
  251. package/dist/web/features/session/MessageMarkdown.mjs +20 -0
  252. package/dist/web/features/session/MessageMarkdown.mjs.map +1 -0
  253. package/dist/web/features/session/QueueSheet.cjs +189 -0
  254. package/dist/web/features/session/QueueSheet.cjs.map +1 -0
  255. package/dist/web/features/session/QueueSheet.d.mts +16 -0
  256. package/dist/web/features/session/QueueSheet.d.mts.map +1 -0
  257. package/dist/web/features/session/QueueSheet.mjs +189 -0
  258. package/dist/web/features/session/QueueSheet.mjs.map +1 -0
  259. package/dist/web/features/session/SessionActivity.cjs +88 -0
  260. package/dist/web/features/session/SessionActivity.cjs.map +1 -0
  261. package/dist/web/features/session/SessionActivity.d.mts +16 -0
  262. package/dist/web/features/session/SessionActivity.d.mts.map +1 -0
  263. package/dist/web/features/session/SessionActivity.mjs +87 -0
  264. package/dist/web/features/session/SessionActivity.mjs.map +1 -0
  265. package/dist/web/features/session/SessionTranscriptView.cjs +34 -0
  266. package/dist/web/features/session/SessionTranscriptView.cjs.map +1 -0
  267. package/dist/web/features/session/SessionTranscriptView.d.mts +16 -0
  268. package/dist/web/features/session/SessionTranscriptView.d.mts.map +1 -0
  269. package/dist/web/features/session/SessionTranscriptView.mjs +34 -0
  270. package/dist/web/features/session/SessionTranscriptView.mjs.map +1 -0
  271. package/dist/web/features/session/ThreadView.cjs +40 -0
  272. package/dist/web/features/session/ThreadView.cjs.map +1 -0
  273. package/dist/web/features/session/ThreadView.d.mts +18 -0
  274. package/dist/web/features/session/ThreadView.d.mts.map +1 -0
  275. package/dist/web/features/session/ThreadView.mjs +40 -0
  276. package/dist/web/features/session/ThreadView.mjs.map +1 -0
  277. package/dist/web/features/session/Timeline.cjs +620 -0
  278. package/dist/web/features/session/Timeline.cjs.map +1 -0
  279. package/dist/web/features/session/Timeline.d.mts +28 -0
  280. package/dist/web/features/session/Timeline.d.mts.map +1 -0
  281. package/dist/web/features/session/Timeline.mjs +619 -0
  282. package/dist/web/features/session/Timeline.mjs.map +1 -0
  283. package/dist/web/features/session/ToolCard.cjs +210 -0
  284. package/dist/web/features/session/ToolCard.cjs.map +1 -0
  285. package/dist/web/features/session/ToolCard.d.mts +16 -0
  286. package/dist/web/features/session/ToolCard.d.mts.map +1 -0
  287. package/dist/web/features/session/ToolCard.mjs +210 -0
  288. package/dist/web/features/session/ToolCard.mjs.map +1 -0
  289. package/dist/web/features/session/session.fixture.cjs +76 -0
  290. package/dist/web/features/session/session.fixture.cjs.map +1 -0
  291. package/dist/web/features/session/session.fixture.d.mts +6 -0
  292. package/dist/web/features/session/session.fixture.d.mts.map +1 -0
  293. package/dist/web/features/session/session.fixture.mjs +74 -0
  294. package/dist/web/features/session/session.fixture.mjs.map +1 -0
  295. package/dist/web/features/sessions/NewSessionDialog.cjs +70 -0
  296. package/dist/web/features/sessions/NewSessionDialog.cjs.map +1 -0
  297. package/dist/web/features/sessions/NewSessionDialog.d.mts +9 -0
  298. package/dist/web/features/sessions/NewSessionDialog.d.mts.map +1 -0
  299. package/dist/web/features/sessions/NewSessionDialog.mjs +70 -0
  300. package/dist/web/features/sessions/NewSessionDialog.mjs.map +1 -0
  301. package/dist/web/features/sessions/ResumeSessionDialog.cjs +131 -0
  302. package/dist/web/features/sessions/ResumeSessionDialog.cjs.map +1 -0
  303. package/dist/web/features/sessions/ResumeSessionDialog.d.mts +14 -0
  304. package/dist/web/features/sessions/ResumeSessionDialog.d.mts.map +1 -0
  305. package/dist/web/features/sessions/ResumeSessionDialog.mjs +131 -0
  306. package/dist/web/features/sessions/ResumeSessionDialog.mjs.map +1 -0
  307. package/dist/web/features/sessions/SessionRailDialogs.cjs +62 -0
  308. package/dist/web/features/sessions/SessionRailDialogs.cjs.map +1 -0
  309. package/dist/web/features/sessions/SessionRailDialogs.d.mts +10 -0
  310. package/dist/web/features/sessions/SessionRailDialogs.d.mts.map +1 -0
  311. package/dist/web/features/sessions/SessionRailDialogs.mjs +62 -0
  312. package/dist/web/features/sessions/SessionRailDialogs.mjs.map +1 -0
  313. package/dist/web/features/sessions/WelcomePanel.cjs +42 -0
  314. package/dist/web/features/sessions/WelcomePanel.cjs.map +1 -0
  315. package/dist/web/features/sessions/WelcomePanel.d.mts +16 -0
  316. package/dist/web/features/sessions/WelcomePanel.d.mts.map +1 -0
  317. package/dist/web/features/sessions/WelcomePanel.mjs +42 -0
  318. package/dist/web/features/sessions/WelcomePanel.mjs.map +1 -0
  319. package/dist/web/features/sessions/useNewSessionActions.cjs +38 -0
  320. package/dist/web/features/sessions/useNewSessionActions.cjs.map +1 -0
  321. package/dist/web/features/sessions/useNewSessionActions.d.mts +12 -0
  322. package/dist/web/features/sessions/useNewSessionActions.d.mts.map +1 -0
  323. package/dist/web/features/sessions/useNewSessionActions.mjs +38 -0
  324. package/dist/web/features/sessions/useNewSessionActions.mjs.map +1 -0
  325. package/dist/web/features/sessions/useSessionRail.cjs +302 -0
  326. package/dist/web/features/sessions/useSessionRail.cjs.map +1 -0
  327. package/dist/web/features/sessions/useSessionRail.d.mts +14 -0
  328. package/dist/web/features/sessions/useSessionRail.d.mts.map +1 -0
  329. package/dist/web/features/sessions/useSessionRail.mjs +302 -0
  330. package/dist/web/features/sessions/useSessionRail.mjs.map +1 -0
  331. package/dist/web/features/settings/AppearanceSettings.cjs +126 -0
  332. package/dist/web/features/settings/AppearanceSettings.cjs.map +1 -0
  333. package/dist/web/features/settings/AppearanceSettings.d.mts +12 -0
  334. package/dist/web/features/settings/AppearanceSettings.d.mts.map +1 -0
  335. package/dist/web/features/settings/AppearanceSettings.mjs +126 -0
  336. package/dist/web/features/settings/AppearanceSettings.mjs.map +1 -0
  337. package/dist/web/features/settings/ContributedSettings.cjs +257 -0
  338. package/dist/web/features/settings/ContributedSettings.cjs.map +1 -0
  339. package/dist/web/features/settings/ContributedSettings.d.mts +14 -0
  340. package/dist/web/features/settings/ContributedSettings.d.mts.map +1 -0
  341. package/dist/web/features/settings/ContributedSettings.mjs +257 -0
  342. package/dist/web/features/settings/ContributedSettings.mjs.map +1 -0
  343. package/dist/web/features/settings/ImageSettings.cjs +146 -0
  344. package/dist/web/features/settings/ImageSettings.cjs.map +1 -0
  345. package/dist/web/features/settings/ImageSettings.d.mts +12 -0
  346. package/dist/web/features/settings/ImageSettings.d.mts.map +1 -0
  347. package/dist/web/features/settings/ImageSettings.mjs +146 -0
  348. package/dist/web/features/settings/ImageSettings.mjs.map +1 -0
  349. package/dist/web/features/settings/LoginFlowDialog.cjs +226 -0
  350. package/dist/web/features/settings/LoginFlowDialog.cjs.map +1 -0
  351. package/dist/web/features/settings/LoginFlowDialog.d.mts +15 -0
  352. package/dist/web/features/settings/LoginFlowDialog.d.mts.map +1 -0
  353. package/dist/web/features/settings/LoginFlowDialog.mjs +225 -0
  354. package/dist/web/features/settings/LoginFlowDialog.mjs.map +1 -0
  355. package/dist/web/features/settings/NotificationSettings.cjs +69 -0
  356. package/dist/web/features/settings/NotificationSettings.cjs.map +1 -0
  357. package/dist/web/features/settings/NotificationSettings.d.mts +5 -0
  358. package/dist/web/features/settings/NotificationSettings.d.mts.map +1 -0
  359. package/dist/web/features/settings/NotificationSettings.mjs +69 -0
  360. package/dist/web/features/settings/NotificationSettings.mjs.map +1 -0
  361. package/dist/web/features/settings/PluginSettings.cjs +106 -0
  362. package/dist/web/features/settings/PluginSettings.cjs.map +1 -0
  363. package/dist/web/features/settings/PluginSettings.d.mts +10 -0
  364. package/dist/web/features/settings/PluginSettings.d.mts.map +1 -0
  365. package/dist/web/features/settings/PluginSettings.mjs +106 -0
  366. package/dist/web/features/settings/PluginSettings.mjs.map +1 -0
  367. package/dist/web/features/settings/ProviderSettings.cjs +323 -0
  368. package/dist/web/features/settings/ProviderSettings.cjs.map +1 -0
  369. package/dist/web/features/settings/ProviderSettings.d.mts +9 -0
  370. package/dist/web/features/settings/ProviderSettings.d.mts.map +1 -0
  371. package/dist/web/features/settings/ProviderSettings.mjs +323 -0
  372. package/dist/web/features/settings/ProviderSettings.mjs.map +1 -0
  373. package/dist/web/features/settings/RemoteControlSettings.cjs +50 -0
  374. package/dist/web/features/settings/RemoteControlSettings.cjs.map +1 -0
  375. package/dist/web/features/settings/RemoteControlSettings.d.mts +5 -0
  376. package/dist/web/features/settings/RemoteControlSettings.d.mts.map +1 -0
  377. package/dist/web/features/settings/RemoteControlSettings.mjs +50 -0
  378. package/dist/web/features/settings/RemoteControlSettings.mjs.map +1 -0
  379. package/dist/web/features/settings/RepositorySettings.cjs +318 -0
  380. package/dist/web/features/settings/RepositorySettings.cjs.map +1 -0
  381. package/dist/web/features/settings/RepositorySettings.d.mts +7 -0
  382. package/dist/web/features/settings/RepositorySettings.d.mts.map +1 -0
  383. package/dist/web/features/settings/RepositorySettings.mjs +318 -0
  384. package/dist/web/features/settings/RepositorySettings.mjs.map +1 -0
  385. package/dist/web/features/settings/RepositoryWorkspace.cjs +160 -0
  386. package/dist/web/features/settings/RepositoryWorkspace.cjs.map +1 -0
  387. package/dist/web/features/settings/RepositoryWorkspace.d.mts +10 -0
  388. package/dist/web/features/settings/RepositoryWorkspace.d.mts.map +1 -0
  389. package/dist/web/features/settings/RepositoryWorkspace.mjs +160 -0
  390. package/dist/web/features/settings/RepositoryWorkspace.mjs.map +1 -0
  391. package/dist/web/features/settings/SessionMcpSettings.cjs +488 -0
  392. package/dist/web/features/settings/SessionMcpSettings.cjs.map +1 -0
  393. package/dist/web/features/settings/SessionMcpSettings.d.mts +5 -0
  394. package/dist/web/features/settings/SessionMcpSettings.d.mts.map +1 -0
  395. package/dist/web/features/settings/SessionMcpSettings.mjs +488 -0
  396. package/dist/web/features/settings/SessionMcpSettings.mjs.map +1 -0
  397. package/dist/web/features/settings/SettingsMenu.cjs +135 -0
  398. package/dist/web/features/settings/SettingsMenu.cjs.map +1 -0
  399. package/dist/web/features/settings/SettingsMenu.d.mts +9 -0
  400. package/dist/web/features/settings/SettingsMenu.d.mts.map +1 -0
  401. package/dist/web/features/settings/SettingsMenu.mjs +135 -0
  402. package/dist/web/features/settings/SettingsMenu.mjs.map +1 -0
  403. package/dist/web/features/settings/SettingsPanelHost.cjs +32 -0
  404. package/dist/web/features/settings/SettingsPanelHost.cjs.map +1 -0
  405. package/dist/web/features/settings/SettingsPanelHost.d.mts +8 -0
  406. package/dist/web/features/settings/SettingsPanelHost.d.mts.map +1 -0
  407. package/dist/web/features/settings/SettingsPanelHost.mjs +32 -0
  408. package/dist/web/features/settings/SettingsPanelHost.mjs.map +1 -0
  409. package/dist/web/features/settings/TemplateSettings.cjs +177 -0
  410. package/dist/web/features/settings/TemplateSettings.cjs.map +1 -0
  411. package/dist/web/features/settings/TemplateSettings.d.mts +8 -0
  412. package/dist/web/features/settings/TemplateSettings.d.mts.map +1 -0
  413. package/dist/web/features/settings/TemplateSettings.mjs +177 -0
  414. package/dist/web/features/settings/TemplateSettings.mjs.map +1 -0
  415. package/dist/web/features/settings/TunnelSettings.cjs +182 -0
  416. package/dist/web/features/settings/TunnelSettings.cjs.map +1 -0
  417. package/dist/web/features/settings/TunnelSettings.d.mts +8 -0
  418. package/dist/web/features/settings/TunnelSettings.d.mts.map +1 -0
  419. package/dist/web/features/settings/TunnelSettings.mjs +182 -0
  420. package/dist/web/features/settings/TunnelSettings.mjs.map +1 -0
  421. package/dist/web/features/settings/settings.fixture.cjs +230 -0
  422. package/dist/web/features/settings/settings.fixture.cjs.map +1 -0
  423. package/dist/web/features/settings/settings.fixture.d.mts +6 -0
  424. package/dist/web/features/settings/settings.fixture.d.mts.map +1 -0
  425. package/dist/web/features/settings/settings.fixture.mjs +223 -0
  426. package/dist/web/features/settings/settings.fixture.mjs.map +1 -0
  427. package/dist/web/features/status/TopBar.cjs +200 -0
  428. package/dist/web/features/status/TopBar.cjs.map +1 -0
  429. package/dist/web/features/status/TopBar.d.mts +11 -0
  430. package/dist/web/features/status/TopBar.d.mts.map +1 -0
  431. package/dist/web/features/status/TopBar.mjs +200 -0
  432. package/dist/web/features/status/TopBar.mjs.map +1 -0
  433. package/dist/web/lib/authApi.cjs +77 -0
  434. package/dist/web/lib/authApi.cjs.map +1 -0
  435. package/dist/web/lib/authApi.d.mts +28 -0
  436. package/dist/web/lib/authApi.d.mts.map +1 -0
  437. package/dist/web/lib/authApi.mjs +72 -0
  438. package/dist/web/lib/authApi.mjs.map +1 -0
  439. package/dist/web/lib/browserNotifications.cjs +37 -0
  440. package/dist/web/lib/browserNotifications.cjs.map +1 -0
  441. package/dist/web/lib/browserNotifications.d.mts +12 -0
  442. package/dist/web/lib/browserNotifications.d.mts.map +1 -0
  443. package/dist/web/lib/browserNotifications.mjs +35 -0
  444. package/dist/web/lib/browserNotifications.mjs.map +1 -0
  445. package/dist/web/lib/browserTelemetry.cjs +158 -0
  446. package/dist/web/lib/browserTelemetry.cjs.map +1 -0
  447. package/dist/web/lib/browserTelemetry.d.mts +28 -0
  448. package/dist/web/lib/browserTelemetry.d.mts.map +1 -0
  449. package/dist/web/lib/browserTelemetry.mjs +154 -0
  450. package/dist/web/lib/browserTelemetry.mjs.map +1 -0
  451. package/dist/web/lib/commands.cjs +176 -0
  452. package/dist/web/lib/commands.cjs.map +1 -0
  453. package/dist/web/lib/commands.d.mts +53 -0
  454. package/dist/web/lib/commands.d.mts.map +1 -0
  455. package/dist/web/lib/commands.mjs +153 -0
  456. package/dist/web/lib/commands.mjs.map +1 -0
  457. package/dist/web/lib/composerSubmissions.cjs +20 -0
  458. package/dist/web/lib/composerSubmissions.cjs.map +1 -0
  459. package/dist/web/lib/composerSubmissions.d.mts +7 -0
  460. package/dist/web/lib/composerSubmissions.d.mts.map +1 -0
  461. package/dist/web/lib/composerSubmissions.mjs +19 -0
  462. package/dist/web/lib/composerSubmissions.mjs.map +1 -0
  463. package/dist/web/lib/composition.cjs +403 -0
  464. package/dist/web/lib/composition.cjs.map +1 -0
  465. package/dist/web/lib/composition.d.mts +137 -0
  466. package/dist/web/lib/composition.d.mts.map +1 -0
  467. package/dist/web/lib/composition.mjs +392 -0
  468. package/dist/web/lib/composition.mjs.map +1 -0
  469. package/dist/web/lib/contextComposition.cjs +132 -0
  470. package/dist/web/lib/contextComposition.cjs.map +1 -0
  471. package/dist/web/lib/contextComposition.d.mts +75 -0
  472. package/dist/web/lib/contextComposition.d.mts.map +1 -0
  473. package/dist/web/lib/contextComposition.mjs +127 -0
  474. package/dist/web/lib/contextComposition.mjs.map +1 -0
  475. package/dist/web/lib/contextDetailApi.cjs +61 -0
  476. package/dist/web/lib/contextDetailApi.cjs.map +1 -0
  477. package/dist/web/lib/contextDetailApi.d.mts +12 -0
  478. package/dist/web/lib/contextDetailApi.d.mts.map +1 -0
  479. package/dist/web/lib/contextDetailApi.mjs +61 -0
  480. package/dist/web/lib/contextDetailApi.mjs.map +1 -0
  481. package/dist/web/lib/dashboardRenderers.cjs +9 -0
  482. package/dist/web/lib/dashboardRenderers.cjs.map +1 -0
  483. package/dist/web/lib/dashboardRenderers.d.mts +12 -0
  484. package/dist/web/lib/dashboardRenderers.d.mts.map +1 -0
  485. package/dist/web/lib/dashboardRenderers.mjs +9 -0
  486. package/dist/web/lib/dashboardRenderers.mjs.map +1 -0
  487. package/dist/web/lib/dashboardRoute.cjs +27 -0
  488. package/dist/web/lib/dashboardRoute.cjs.map +1 -0
  489. package/dist/web/lib/dashboardRoute.d.mts +29 -0
  490. package/dist/web/lib/dashboardRoute.d.mts.map +1 -0
  491. package/dist/web/lib/dashboardRoute.mjs +26 -0
  492. package/dist/web/lib/dashboardRoute.mjs.map +1 -0
  493. package/dist/web/lib/dashboardTranscript.cjs +15 -0
  494. package/dist/web/lib/dashboardTranscript.cjs.map +1 -0
  495. package/dist/web/lib/dashboardTranscript.d.mts +6 -0
  496. package/dist/web/lib/dashboardTranscript.d.mts.map +1 -0
  497. package/dist/web/lib/dashboardTranscript.mjs +14 -0
  498. package/dist/web/lib/dashboardTranscript.mjs.map +1 -0
  499. package/dist/web/lib/devProxyApi.cjs +74 -0
  500. package/dist/web/lib/devProxyApi.cjs.map +1 -0
  501. package/dist/web/lib/devProxyApi.d.mts +21 -0
  502. package/dist/web/lib/devProxyApi.d.mts.map +1 -0
  503. package/dist/web/lib/devProxyApi.mjs +72 -0
  504. package/dist/web/lib/devProxyApi.mjs.map +1 -0
  505. package/dist/web/lib/fileMentions.cjs +30 -0
  506. package/dist/web/lib/fileMentions.cjs.map +1 -0
  507. package/dist/web/lib/fileMentions.d.mts +13 -0
  508. package/dist/web/lib/fileMentions.d.mts.map +1 -0
  509. package/dist/web/lib/fileMentions.mjs +29 -0
  510. package/dist/web/lib/fileMentions.mjs.map +1 -0
  511. package/dist/web/lib/hubApi.cjs +283 -0
  512. package/dist/web/lib/hubApi.cjs.map +1 -0
  513. package/dist/web/lib/hubApi.d.mts +109 -0
  514. package/dist/web/lib/hubApi.d.mts.map +1 -0
  515. package/dist/web/lib/hubApi.mjs +268 -0
  516. package/dist/web/lib/hubApi.mjs.map +1 -0
  517. package/dist/web/lib/leaderTree.cjs +150 -0
  518. package/dist/web/lib/leaderTree.cjs.map +1 -0
  519. package/dist/web/lib/leaderTree.d.mts +41 -0
  520. package/dist/web/lib/leaderTree.d.mts.map +1 -0
  521. package/dist/web/lib/leaderTree.mjs +149 -0
  522. package/dist/web/lib/leaderTree.mjs.map +1 -0
  523. package/dist/web/lib/livePush.cjs +97 -0
  524. package/dist/web/lib/livePush.cjs.map +1 -0
  525. package/dist/web/lib/livePush.d.mts +10 -0
  526. package/dist/web/lib/livePush.d.mts.map +1 -0
  527. package/dist/web/lib/livePush.mjs +94 -0
  528. package/dist/web/lib/livePush.mjs.map +1 -0
  529. package/dist/web/lib/modelContextAdapter.cjs +63 -0
  530. package/dist/web/lib/modelContextAdapter.cjs.map +1 -0
  531. package/dist/web/lib/modelContextAdapter.d.mts +11 -0
  532. package/dist/web/lib/modelContextAdapter.d.mts.map +1 -0
  533. package/dist/web/lib/modelContextAdapter.mjs +62 -0
  534. package/dist/web/lib/modelContextAdapter.mjs.map +1 -0
  535. package/dist/web/lib/piTransport.cjs +103 -0
  536. package/dist/web/lib/piTransport.cjs.map +1 -0
  537. package/dist/web/lib/piTransport.d.mts +8 -0
  538. package/dist/web/lib/piTransport.d.mts.map +1 -0
  539. package/dist/web/lib/piTransport.mjs +102 -0
  540. package/dist/web/lib/piTransport.mjs.map +1 -0
  541. package/dist/web/lib/pluginCompositions.cjs +57 -0
  542. package/dist/web/lib/pluginCompositions.cjs.map +1 -0
  543. package/dist/web/lib/pluginCompositions.d.mts +37 -0
  544. package/dist/web/lib/pluginCompositions.d.mts.map +1 -0
  545. package/dist/web/lib/pluginCompositions.mjs +52 -0
  546. package/dist/web/lib/pluginCompositions.mjs.map +1 -0
  547. package/dist/web/lib/pluginRegistry.cjs +675 -0
  548. package/dist/web/lib/pluginRegistry.cjs.map +1 -0
  549. package/dist/web/lib/pluginRegistry.d.mts +155 -0
  550. package/dist/web/lib/pluginRegistry.d.mts.map +1 -0
  551. package/dist/web/lib/pluginRegistry.mjs +633 -0
  552. package/dist/web/lib/pluginRegistry.mjs.map +1 -0
  553. package/dist/web/lib/pluginScopes.cjs +48 -0
  554. package/dist/web/lib/pluginScopes.cjs.map +1 -0
  555. package/dist/web/lib/pluginScopes.d.mts +8 -0
  556. package/dist/web/lib/pluginScopes.d.mts.map +1 -0
  557. package/dist/web/lib/pluginScopes.mjs +47 -0
  558. package/dist/web/lib/pluginScopes.mjs.map +1 -0
  559. package/dist/web/lib/pluginSlotProps.cjs +83 -0
  560. package/dist/web/lib/pluginSlotProps.cjs.map +1 -0
  561. package/dist/web/lib/pluginSlotProps.d.mts +21 -0
  562. package/dist/web/lib/pluginSlotProps.d.mts.map +1 -0
  563. package/dist/web/lib/pluginSlotProps.mjs +82 -0
  564. package/dist/web/lib/pluginSlotProps.mjs.map +1 -0
  565. package/dist/web/lib/promptFocus.cjs +30 -0
  566. package/dist/web/lib/promptFocus.cjs.map +1 -0
  567. package/dist/web/lib/promptFocus.d.mts +7 -0
  568. package/dist/web/lib/promptFocus.d.mts.map +1 -0
  569. package/dist/web/lib/promptFocus.mjs +29 -0
  570. package/dist/web/lib/promptFocus.mjs.map +1 -0
  571. package/dist/web/lib/protocolHubSocket.cjs +107 -0
  572. package/dist/web/lib/protocolHubSocket.cjs.map +1 -0
  573. package/dist/web/lib/protocolHubSocket.d.mts +18 -0
  574. package/dist/web/lib/protocolHubSocket.d.mts.map +1 -0
  575. package/dist/web/lib/protocolHubSocket.mjs +107 -0
  576. package/dist/web/lib/protocolHubSocket.mjs.map +1 -0
  577. package/dist/web/lib/protocolTimeline.cjs +86 -0
  578. package/dist/web/lib/protocolTimeline.cjs.map +1 -0
  579. package/dist/web/lib/protocolTimeline.d.mts +9 -0
  580. package/dist/web/lib/protocolTimeline.d.mts.map +1 -0
  581. package/dist/web/lib/protocolTimeline.mjs +85 -0
  582. package/dist/web/lib/protocolTimeline.mjs.map +1 -0
  583. package/dist/web/lib/qrMatrix.cjs +37 -0
  584. package/dist/web/lib/qrMatrix.cjs.map +1 -0
  585. package/dist/web/lib/qrMatrix.d.mts +5 -0
  586. package/dist/web/lib/qrMatrix.d.mts.map +1 -0
  587. package/dist/web/lib/qrMatrix.mjs +35 -0
  588. package/dist/web/lib/qrMatrix.mjs.map +1 -0
  589. package/dist/web/lib/remoteApi.cjs +100 -0
  590. package/dist/web/lib/remoteApi.cjs.map +1 -0
  591. package/dist/web/lib/remoteApi.d.mts +45 -0
  592. package/dist/web/lib/remoteApi.d.mts.map +1 -0
  593. package/dist/web/lib/remoteApi.mjs +92 -0
  594. package/dist/web/lib/remoteApi.mjs.map +1 -0
  595. package/dist/web/lib/sealedSession.cjs +81 -0
  596. package/dist/web/lib/sealedSession.cjs.map +1 -0
  597. package/dist/web/lib/sealedSession.d.mts +24 -0
  598. package/dist/web/lib/sealedSession.d.mts.map +1 -0
  599. package/dist/web/lib/sealedSession.mjs +75 -0
  600. package/dist/web/lib/sealedSession.mjs.map +1 -0
  601. package/dist/web/lib/sessionActivityRenderer.cjs +19 -0
  602. package/dist/web/lib/sessionActivityRenderer.cjs.map +1 -0
  603. package/dist/web/lib/sessionActivityRenderer.d.mts +10 -0
  604. package/dist/web/lib/sessionActivityRenderer.d.mts.map +1 -0
  605. package/dist/web/lib/sessionActivityRenderer.mjs +17 -0
  606. package/dist/web/lib/sessionActivityRenderer.mjs.map +1 -0
  607. package/dist/web/lib/sessionAsset.cjs +45 -0
  608. package/dist/web/lib/sessionAsset.cjs.map +1 -0
  609. package/dist/web/lib/sessionAsset.d.mts +17 -0
  610. package/dist/web/lib/sessionAsset.d.mts.map +1 -0
  611. package/dist/web/lib/sessionAsset.mjs +44 -0
  612. package/dist/web/lib/sessionAsset.mjs.map +1 -0
  613. package/dist/web/lib/sessionAvatar.cjs +18 -0
  614. package/dist/web/lib/sessionAvatar.cjs.map +1 -0
  615. package/dist/web/lib/sessionAvatar.d.mts +10 -0
  616. package/dist/web/lib/sessionAvatar.d.mts.map +1 -0
  617. package/dist/web/lib/sessionAvatar.mjs +18 -0
  618. package/dist/web/lib/sessionAvatar.mjs.map +1 -0
  619. package/dist/web/lib/sessionMcpApi.cjs +120 -0
  620. package/dist/web/lib/sessionMcpApi.cjs.map +1 -0
  621. package/dist/web/lib/sessionMcpApi.d.mts +27 -0
  622. package/dist/web/lib/sessionMcpApi.d.mts.map +1 -0
  623. package/dist/web/lib/sessionMcpApi.mjs +114 -0
  624. package/dist/web/lib/sessionMcpApi.mjs.map +1 -0
  625. package/dist/web/lib/sessionMcpPrompt.cjs +24 -0
  626. package/dist/web/lib/sessionMcpPrompt.cjs.map +1 -0
  627. package/dist/web/lib/sessionMcpPrompt.mjs +23 -0
  628. package/dist/web/lib/sessionMcpPrompt.mjs.map +1 -0
  629. package/dist/web/lib/sessionModel.cjs +970 -0
  630. package/dist/web/lib/sessionModel.cjs.map +1 -0
  631. package/dist/web/lib/sessionModel.d.mts +254 -0
  632. package/dist/web/lib/sessionModel.d.mts.map +1 -0
  633. package/dist/web/lib/sessionModel.mjs +958 -0
  634. package/dist/web/lib/sessionModel.mjs.map +1 -0
  635. package/dist/web/lib/sessionProtocolCommands.cjs +196 -0
  636. package/dist/web/lib/sessionProtocolCommands.cjs.map +1 -0
  637. package/dist/web/lib/sessionProtocolCommands.d.mts +15 -0
  638. package/dist/web/lib/sessionProtocolCommands.d.mts.map +1 -0
  639. package/dist/web/lib/sessionProtocolCommands.mjs +193 -0
  640. package/dist/web/lib/sessionProtocolCommands.mjs.map +1 -0
  641. package/dist/web/lib/sessionRailModel.cjs +107 -0
  642. package/dist/web/lib/sessionRailModel.cjs.map +1 -0
  643. package/dist/web/lib/sessionRailModel.d.mts +38 -0
  644. package/dist/web/lib/sessionRailModel.d.mts.map +1 -0
  645. package/dist/web/lib/sessionRailModel.mjs +104 -0
  646. package/dist/web/lib/sessionRailModel.mjs.map +1 -0
  647. package/dist/web/lib/sessionSummary.cjs +58 -0
  648. package/dist/web/lib/sessionSummary.cjs.map +1 -0
  649. package/dist/web/lib/sessionSummary.d.mts +39 -0
  650. package/dist/web/lib/sessionSummary.d.mts.map +1 -0
  651. package/dist/web/lib/sessionSummary.mjs +54 -0
  652. package/dist/web/lib/sessionSummary.mjs.map +1 -0
  653. package/dist/web/lib/sessionTranscriptRenderer.cjs +19 -0
  654. package/dist/web/lib/sessionTranscriptRenderer.cjs.map +1 -0
  655. package/dist/web/lib/sessionTranscriptRenderer.d.mts +11 -0
  656. package/dist/web/lib/sessionTranscriptRenderer.d.mts.map +1 -0
  657. package/dist/web/lib/sessionTranscriptRenderer.mjs +17 -0
  658. package/dist/web/lib/sessionTranscriptRenderer.mjs.map +1 -0
  659. package/dist/web/lib/settingsApi.cjs +237 -0
  660. package/dist/web/lib/settingsApi.cjs.map +1 -0
  661. package/dist/web/lib/settingsApi.d.mts +57 -0
  662. package/dist/web/lib/settingsApi.d.mts.map +1 -0
  663. package/dist/web/lib/settingsApi.mjs +230 -0
  664. package/dist/web/lib/settingsApi.mjs.map +1 -0
  665. package/dist/web/lib/settingsDraft.cjs +48 -0
  666. package/dist/web/lib/settingsDraft.cjs.map +1 -0
  667. package/dist/web/lib/settingsDraft.d.mts +28 -0
  668. package/dist/web/lib/settingsDraft.d.mts.map +1 -0
  669. package/dist/web/lib/settingsDraft.mjs +45 -0
  670. package/dist/web/lib/settingsDraft.mjs.map +1 -0
  671. package/dist/web/lib/settingsSections.cjs +108 -0
  672. package/dist/web/lib/settingsSections.cjs.map +1 -0
  673. package/dist/web/lib/settingsSections.d.mts +36 -0
  674. package/dist/web/lib/settingsSections.d.mts.map +1 -0
  675. package/dist/web/lib/settingsSections.mjs +105 -0
  676. package/dist/web/lib/settingsSections.mjs.map +1 -0
  677. package/dist/web/lib/statusLine.cjs +82 -0
  678. package/dist/web/lib/statusLine.cjs.map +1 -0
  679. package/dist/web/lib/statusLine.d.mts +27 -0
  680. package/dist/web/lib/statusLine.d.mts.map +1 -0
  681. package/dist/web/lib/statusLine.mjs +79 -0
  682. package/dist/web/lib/statusLine.mjs.map +1 -0
  683. package/dist/web/lib/stepUp.cjs +41 -0
  684. package/dist/web/lib/stepUp.cjs.map +1 -0
  685. package/dist/web/lib/stepUp.d.mts +18 -0
  686. package/dist/web/lib/stepUp.d.mts.map +1 -0
  687. package/dist/web/lib/stepUp.mjs +41 -0
  688. package/dist/web/lib/stepUp.mjs.map +1 -0
  689. package/dist/web/lib/templateCatalog.cjs +123 -0
  690. package/dist/web/lib/templateCatalog.cjs.map +1 -0
  691. package/dist/web/lib/templateCatalog.d.mts +38 -0
  692. package/dist/web/lib/templateCatalog.d.mts.map +1 -0
  693. package/dist/web/lib/templateCatalog.mjs +118 -0
  694. package/dist/web/lib/templateCatalog.mjs.map +1 -0
  695. package/dist/web/lib/threadRenderer.cjs +25 -0
  696. package/dist/web/lib/threadRenderer.cjs.map +1 -0
  697. package/dist/web/lib/threadRenderer.d.mts +17 -0
  698. package/dist/web/lib/threadRenderer.d.mts.map +1 -0
  699. package/dist/web/lib/threadRenderer.mjs +23 -0
  700. package/dist/web/lib/threadRenderer.mjs.map +1 -0
  701. package/dist/web/lib/timelineGroups.cjs +83 -0
  702. package/dist/web/lib/timelineGroups.cjs.map +1 -0
  703. package/dist/web/lib/timelineGroups.d.mts +36 -0
  704. package/dist/web/lib/timelineGroups.d.mts.map +1 -0
  705. package/dist/web/lib/timelineGroups.mjs +81 -0
  706. package/dist/web/lib/timelineGroups.mjs.map +1 -0
  707. package/dist/web/lib/toolCompletionTabs.cjs +98 -0
  708. package/dist/web/lib/toolCompletionTabs.cjs.map +1 -0
  709. package/dist/web/lib/toolCompletionTabs.d.mts +14 -0
  710. package/dist/web/lib/toolCompletionTabs.d.mts.map +1 -0
  711. package/dist/web/lib/toolCompletionTabs.mjs +98 -0
  712. package/dist/web/lib/toolCompletionTabs.mjs.map +1 -0
  713. package/dist/web/lib/toolMessageProps.cjs +19 -0
  714. package/dist/web/lib/toolMessageProps.cjs.map +1 -0
  715. package/dist/web/lib/toolMessageProps.d.mts +7 -0
  716. package/dist/web/lib/toolMessageProps.d.mts.map +1 -0
  717. package/dist/web/lib/toolMessageProps.mjs +19 -0
  718. package/dist/web/lib/toolMessageProps.mjs.map +1 -0
  719. package/dist/web/lib/toolPrompt.cjs +44 -0
  720. package/dist/web/lib/toolPrompt.cjs.map +1 -0
  721. package/dist/web/lib/toolPrompt.d.mts +34 -0
  722. package/dist/web/lib/toolPrompt.d.mts.map +1 -0
  723. package/dist/web/lib/toolPrompt.mjs +44 -0
  724. package/dist/web/lib/toolPrompt.mjs.map +1 -0
  725. package/dist/web/lib/transport.cjs +57 -0
  726. package/dist/web/lib/transport.cjs.map +1 -0
  727. package/dist/web/lib/transport.d.mts +40 -0
  728. package/dist/web/lib/transport.d.mts.map +1 -0
  729. package/dist/web/lib/transport.mjs +50 -0
  730. package/dist/web/lib/transport.mjs.map +1 -0
  731. package/dist/web/lib/useSessionMcp.cjs +65 -0
  732. package/dist/web/lib/useSessionMcp.cjs.map +1 -0
  733. package/dist/web/lib/useSessionMcp.d.mts +15 -0
  734. package/dist/web/lib/useSessionMcp.d.mts.map +1 -0
  735. package/dist/web/lib/useSessionMcp.mjs +65 -0
  736. package/dist/web/lib/useSessionMcp.mjs.map +1 -0
  737. package/dist/web/lib/webauthnClient.cjs +110 -0
  738. package/dist/web/lib/webauthnClient.cjs.map +1 -0
  739. package/dist/web/lib/webauthnClient.d.mts +32 -0
  740. package/dist/web/lib/webauthnClient.d.mts.map +1 -0
  741. package/dist/web/lib/webauthnClient.mjs +106 -0
  742. package/dist/web/lib/webauthnClient.mjs.map +1 -0
  743. package/dist/web/lib/webmcpSimulator.cjs +105 -0
  744. package/dist/web/lib/webmcpSimulator.cjs.map +1 -0
  745. package/dist/web/lib/webmcpSimulator.mjs +105 -0
  746. package/dist/web/lib/webmcpSimulator.mjs.map +1 -0
  747. package/dist/web/stores/captureStore.cjs +137 -0
  748. package/dist/web/stores/captureStore.cjs.map +1 -0
  749. package/dist/web/stores/captureStore.d.mts +13 -0
  750. package/dist/web/stores/captureStore.d.mts.map +1 -0
  751. package/dist/web/stores/captureStore.mjs +133 -0
  752. package/dist/web/stores/captureStore.mjs.map +1 -0
  753. package/dist/web/stores/composerStore.cjs +390 -0
  754. package/dist/web/stores/composerStore.cjs.map +1 -0
  755. package/dist/web/stores/composerStore.d.mts +101 -0
  756. package/dist/web/stores/composerStore.d.mts.map +1 -0
  757. package/dist/web/stores/composerStore.mjs +370 -0
  758. package/dist/web/stores/composerStore.mjs.map +1 -0
  759. package/dist/web/stores/composerSubmissionStore.cjs +88 -0
  760. package/dist/web/stores/composerSubmissionStore.cjs.map +1 -0
  761. package/dist/web/stores/composerSubmissionStore.d.mts +11 -0
  762. package/dist/web/stores/composerSubmissionStore.d.mts.map +1 -0
  763. package/dist/web/stores/composerSubmissionStore.mjs +87 -0
  764. package/dist/web/stores/composerSubmissionStore.mjs.map +1 -0
  765. package/dist/web/stores/dashboardStateStore.cjs +35 -0
  766. package/dist/web/stores/dashboardStateStore.cjs.map +1 -0
  767. package/dist/web/stores/dashboardStateStore.d.mts +11 -0
  768. package/dist/web/stores/dashboardStateStore.d.mts.map +1 -0
  769. package/dist/web/stores/dashboardStateStore.mjs +33 -0
  770. package/dist/web/stores/dashboardStateStore.mjs.map +1 -0
  771. package/dist/web/stores/devProxyStore.cjs +76 -0
  772. package/dist/web/stores/devProxyStore.cjs.map +1 -0
  773. package/dist/web/stores/devProxyStore.d.mts +25 -0
  774. package/dist/web/stores/devProxyStore.d.mts.map +1 -0
  775. package/dist/web/stores/devProxyStore.mjs +73 -0
  776. package/dist/web/stores/devProxyStore.mjs.map +1 -0
  777. package/dist/web/stores/dialogDraftStore.cjs +38 -0
  778. package/dist/web/stores/dialogDraftStore.cjs.map +1 -0
  779. package/dist/web/stores/dialogDraftStore.d.mts +13 -0
  780. package/dist/web/stores/dialogDraftStore.d.mts.map +1 -0
  781. package/dist/web/stores/dialogDraftStore.mjs +36 -0
  782. package/dist/web/stores/dialogDraftStore.mjs.map +1 -0
  783. package/dist/web/stores/fileLinkModesStore.cjs +20 -0
  784. package/dist/web/stores/fileLinkModesStore.cjs.map +1 -0
  785. package/dist/web/stores/fileLinkModesStore.d.mts +5 -0
  786. package/dist/web/stores/fileLinkModesStore.d.mts.map +1 -0
  787. package/dist/web/stores/fileLinkModesStore.mjs +20 -0
  788. package/dist/web/stores/fileLinkModesStore.mjs.map +1 -0
  789. package/dist/web/stores/menuStore.cjs +85 -0
  790. package/dist/web/stores/menuStore.cjs.map +1 -0
  791. package/dist/web/stores/menuStore.d.mts +42 -0
  792. package/dist/web/stores/menuStore.d.mts.map +1 -0
  793. package/dist/web/stores/menuStore.mjs +79 -0
  794. package/dist/web/stores/menuStore.mjs.map +1 -0
  795. package/dist/web/stores/newSessionStore.cjs +93 -0
  796. package/dist/web/stores/newSessionStore.cjs.map +1 -0
  797. package/dist/web/stores/newSessionStore.d.mts +30 -0
  798. package/dist/web/stores/newSessionStore.d.mts.map +1 -0
  799. package/dist/web/stores/newSessionStore.mjs +86 -0
  800. package/dist/web/stores/newSessionStore.mjs.map +1 -0
  801. package/dist/web/stores/pagedTranscriptStore.cjs +235 -0
  802. package/dist/web/stores/pagedTranscriptStore.cjs.map +1 -0
  803. package/dist/web/stores/pagedTranscriptStore.d.mts +12 -0
  804. package/dist/web/stores/pagedTranscriptStore.d.mts.map +1 -0
  805. package/dist/web/stores/pagedTranscriptStore.mjs +235 -0
  806. package/dist/web/stores/pagedTranscriptStore.mjs.map +1 -0
  807. package/dist/web/stores/paletteStore.cjs +37 -0
  808. package/dist/web/stores/paletteStore.cjs.map +1 -0
  809. package/dist/web/stores/paletteStore.d.mts +14 -0
  810. package/dist/web/stores/paletteStore.d.mts.map +1 -0
  811. package/dist/web/stores/paletteStore.mjs +34 -0
  812. package/dist/web/stores/paletteStore.mjs.map +1 -0
  813. package/dist/web/stores/railDialogStore.cjs +105 -0
  814. package/dist/web/stores/railDialogStore.cjs.map +1 -0
  815. package/dist/web/stores/railDialogStore.d.mts +32 -0
  816. package/dist/web/stores/railDialogStore.d.mts.map +1 -0
  817. package/dist/web/stores/railDialogStore.mjs +97 -0
  818. package/dist/web/stores/railDialogStore.mjs.map +1 -0
  819. package/dist/web/stores/remoteAccessStore.cjs +216 -0
  820. package/dist/web/stores/remoteAccessStore.cjs.map +1 -0
  821. package/dist/web/stores/remoteAccessStore.d.mts +48 -0
  822. package/dist/web/stores/remoteAccessStore.d.mts.map +1 -0
  823. package/dist/web/stores/remoteAccessStore.mjs +202 -0
  824. package/dist/web/stores/remoteAccessStore.mjs.map +1 -0
  825. package/dist/web/stores/sessionChannelHoldsStore.cjs +43 -0
  826. package/dist/web/stores/sessionChannelHoldsStore.cjs.map +1 -0
  827. package/dist/web/stores/sessionChannelHoldsStore.d.mts +9 -0
  828. package/dist/web/stores/sessionChannelHoldsStore.d.mts.map +1 -0
  829. package/dist/web/stores/sessionChannelHoldsStore.mjs +42 -0
  830. package/dist/web/stores/sessionChannelHoldsStore.mjs.map +1 -0
  831. package/dist/web/stores/sessionStore.cjs +610 -0
  832. package/dist/web/stores/sessionStore.cjs.map +1 -0
  833. package/dist/web/stores/sessionStore.d.mts +116 -0
  834. package/dist/web/stores/sessionStore.d.mts.map +1 -0
  835. package/dist/web/stores/sessionStore.mjs +568 -0
  836. package/dist/web/stores/sessionStore.mjs.map +1 -0
  837. package/dist/web/stores/sessionsStore.cjs +272 -0
  838. package/dist/web/stores/sessionsStore.cjs.map +1 -0
  839. package/dist/web/stores/sessionsStore.d.mts +74 -0
  840. package/dist/web/stores/sessionsStore.d.mts.map +1 -0
  841. package/dist/web/stores/sessionsStore.mjs +257 -0
  842. package/dist/web/stores/sessionsStore.mjs.map +1 -0
  843. package/dist/web/stores/settingsDraftStore.cjs +138 -0
  844. package/dist/web/stores/settingsDraftStore.cjs.map +1 -0
  845. package/dist/web/stores/settingsDraftStore.d.mts +27 -0
  846. package/dist/web/stores/settingsDraftStore.d.mts.map +1 -0
  847. package/dist/web/stores/settingsDraftStore.mjs +132 -0
  848. package/dist/web/stores/settingsDraftStore.mjs.map +1 -0
  849. package/dist/web/stores/templateStore.cjs +136 -0
  850. package/dist/web/stores/templateStore.cjs.map +1 -0
  851. package/dist/web/stores/templateStore.d.mts +20 -0
  852. package/dist/web/stores/templateStore.d.mts.map +1 -0
  853. package/dist/web/stores/templateStore.mjs +131 -0
  854. package/dist/web/stores/templateStore.mjs.map +1 -0
  855. package/dist/web/stores/themeStore.cjs +42 -0
  856. package/dist/web/stores/themeStore.cjs.map +1 -0
  857. package/dist/web/stores/themeStore.d.mts +20 -0
  858. package/dist/web/stores/themeStore.d.mts.map +1 -0
  859. package/dist/web/stores/themeStore.mjs +39 -0
  860. package/dist/web/stores/themeStore.mjs.map +1 -0
  861. package/dist/web/stores/threadStore.cjs +122 -0
  862. package/dist/web/stores/threadStore.cjs.map +1 -0
  863. package/dist/web/stores/threadStore.d.mts +24 -0
  864. package/dist/web/stores/threadStore.d.mts.map +1 -0
  865. package/dist/web/stores/threadStore.mjs +114 -0
  866. package/dist/web/stores/threadStore.mjs.map +1 -0
  867. package/dist/web/stores/toolPromptStore.cjs +15 -0
  868. package/dist/web/stores/toolPromptStore.cjs.map +1 -0
  869. package/dist/web/stores/toolPromptStore.d.mts +23 -0
  870. package/dist/web/stores/toolPromptStore.d.mts.map +1 -0
  871. package/dist/web/stores/toolPromptStore.mjs +14 -0
  872. package/dist/web/stores/toolPromptStore.mjs.map +1 -0
  873. package/dist/web/stores/transientTabsStore.cjs +66 -0
  874. package/dist/web/stores/transientTabsStore.cjs.map +1 -0
  875. package/dist/web/stores/transientTabsStore.d.mts +21 -0
  876. package/dist/web/stores/transientTabsStore.d.mts.map +1 -0
  877. package/dist/web/stores/transientTabsStore.mjs +59 -0
  878. package/dist/web/stores/transientTabsStore.mjs.map +1 -0
  879. package/dist/web/stores/uiStore.cjs +47 -0
  880. package/dist/web/stores/uiStore.cjs.map +1 -0
  881. package/dist/web/stores/uiStore.d.mts +18 -0
  882. package/dist/web/stores/uiStore.d.mts.map +1 -0
  883. package/dist/web/stores/uiStore.mjs +45 -0
  884. package/dist/web/stores/uiStore.mjs.map +1 -0
  885. package/dist/web/stores/useOpenTab.cjs +31 -0
  886. package/dist/web/stores/useOpenTab.cjs.map +1 -0
  887. package/dist/web/stores/useOpenTab.d.mts +9 -0
  888. package/dist/web/stores/useOpenTab.d.mts.map +1 -0
  889. package/dist/web/stores/useOpenTab.mjs +31 -0
  890. package/dist/web/stores/useOpenTab.mjs.map +1 -0
  891. package/dist/web/stores/usePluginSlotProps.cjs +115 -0
  892. package/dist/web/stores/usePluginSlotProps.cjs.map +1 -0
  893. package/dist/web/stores/usePluginSlotProps.d.mts +6 -0
  894. package/dist/web/stores/usePluginSlotProps.d.mts.map +1 -0
  895. package/dist/web/stores/usePluginSlotProps.mjs +115 -0
  896. package/dist/web/stores/usePluginSlotProps.mjs.map +1 -0
  897. package/dist/web/stores/useToolPrompt.cjs +42 -0
  898. package/dist/web/stores/useToolPrompt.cjs.map +1 -0
  899. package/dist/web/stores/useToolPrompt.d.mts +14 -0
  900. package/dist/web/stores/useToolPrompt.d.mts.map +1 -0
  901. package/dist/web/stores/useToolPrompt.mjs +42 -0
  902. package/dist/web/stores/useToolPrompt.mjs.map +1 -0
  903. package/dist/web/stores/useWebPluginRegistry.cjs +11 -0
  904. package/dist/web/stores/useWebPluginRegistry.cjs.map +1 -0
  905. package/dist/web/stores/useWebPluginRegistry.d.mts +5 -0
  906. package/dist/web/stores/useWebPluginRegistry.d.mts.map +1 -0
  907. package/dist/web/stores/useWebPluginRegistry.mjs +11 -0
  908. package/dist/web/stores/useWebPluginRegistry.mjs.map +1 -0
  909. package/dist/web/stores/workspaceAdmissionStore.cjs +67 -0
  910. package/dist/web/stores/workspaceAdmissionStore.cjs.map +1 -0
  911. package/dist/web/stores/workspaceAdmissionStore.d.mts +24 -0
  912. package/dist/web/stores/workspaceAdmissionStore.d.mts.map +1 -0
  913. package/dist/web/stores/workspaceAdmissionStore.mjs +64 -0
  914. package/dist/web/stores/workspaceAdmissionStore.mjs.map +1 -0
  915. package/dist/web/stores/workspacesStore.cjs +83 -0
  916. package/dist/web/stores/workspacesStore.cjs.map +1 -0
  917. package/dist/web/stores/workspacesStore.d.mts +17 -0
  918. package/dist/web/stores/workspacesStore.d.mts.map +1 -0
  919. package/dist/web/stores/workspacesStore.mjs +78 -0
  920. package/dist/web/stores/workspacesStore.mjs.map +1 -0
  921. package/llms.txt +3 -0
  922. package/package.json +107 -0
  923. package/styles/dashboard.css +2 -0
  924. package/styles/preview.css +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TunnelSettings.mjs","names":[],"sources":["../../../../src/web/features/settings/TunnelSettings.tsx"],"sourcesContent":["import {\n Button,\n CheckIcon,\n Input,\n RadioGroup,\n RadioGroupCard,\n SettingsActions,\n SettingsCard,\n SettingsField,\n SettingsNote,\n SettingsSection,\n SettingsSectionDescription,\n SettingsSectionHeader,\n SettingsSectionTitle,\n} from '@agimon-ai/po-web-components';\n\nimport type { TunnelConfig } from '../../../types/remoteAccess';\nimport { useDashboardState } from '../../stores/dashboardStateStore';\nimport { updateRemoteSettings } from '../../stores/remoteAccessStore';\n\nconst PUBLIC_HOSTNAME =\n /^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/iu;\n\nfunction namedTunnel(tunnel: TunnelConfig): Extract<TunnelConfig, { kind: 'named' }> {\n return tunnel.kind === 'named' ? tunnel : { kind: 'named', hostname: '' };\n}\n\nfunction optional(value: string): string | undefined {\n const trimmed = value.trim();\n return trimmed === '' ? undefined : trimmed;\n}\n\nconst TUNNEL_KINDS = [\n { kind: 'quick', label: 'Quick tunnel', detail: 'No account needed. The address changes each time.' },\n { kind: 'named', label: 'Named tunnel', detail: 'Your own domain, and the address stays put.' },\n] as const;\n\n/** Selects a rotating quick tunnel or the stable named tunnel needed for a custom domain and passkeys. */\nexport function TunnelSettings({ tunnel }: { tunnel: TunnelConfig }) {\n const [draft, setDraft] = useDashboardState<TunnelConfig>('tunnel/draft', tunnel);\n\n // Refreshes must not replace an unsaved draft, including after an app remount.\n const [lastTunnel, setLastTunnel] = useDashboardState('tunnel/source', tunnel);\n const [busy, setBusy, busyState] = useDashboardState('tunnel/saving', false);\n if (lastTunnel !== tunnel && JSON.stringify(draft) === JSON.stringify(lastTunnel)) {\n setLastTunnel(tunnel);\n setDraft(tunnel);\n }\n\n const hostname = draft.kind === 'named' ? draft.hostname.trim() : '';\n const invalidHostname = draft.kind === 'named' && !PUBLIC_HOSTNAME.test(hostname);\n const changed = JSON.stringify(draft) !== JSON.stringify(tunnel);\n\n function updateNamed(patch: Partial<Extract<TunnelConfig, { kind: 'named' }>>): void {\n setDraft((current) => ({ ...namedTunnel(current), ...patch }));\n }\n\n async function save(): Promise<void> {\n if (busyState.state) return;\n setBusy(true);\n const named = namedTunnel(draft);\n const tokenFile = optional(named.tokenFile ?? '');\n const name = optional(named.name ?? '');\n const configFile = optional(named.configFile ?? '');\n const next: TunnelConfig =\n draft.kind === 'quick'\n ? draft\n : {\n kind: 'named',\n hostname,\n ...(tokenFile === undefined ? {} : { tokenFile }),\n ...(name === undefined ? {} : { name }),\n ...(configFile === undefined ? {} : { configFile }),\n };\n try {\n if (await updateRemoteSettings({ tunnel: next })) {\n setLastTunnel(next);\n setDraft((current) => (current === draft ? next : current));\n }\n } finally {\n setBusy(false);\n }\n }\n\n return (\n <SettingsSection data-testid=\"remote-tunnel-settings\">\n <SettingsSectionHeader>\n <SettingsSectionTitle>Tunnel</SettingsSectionTitle>\n <SettingsSectionDescription>\n How your other devices reach Po. A named tunnel gives you a stable address, which passkeys need.\n </SettingsSectionDescription>\n </SettingsSectionHeader>\n\n <RadioGroup\n value={draft.kind}\n onValueChange={(kind) => setDraft(kind === 'named' ? namedTunnel(draft) : { kind: 'quick' })}\n className=\"grid grid-cols-1 gap-3 min-[480px]:grid-cols-2\"\n aria-label=\"Tunnel type\"\n >\n {TUNNEL_KINDS.map((option) => (\n <RadioGroupCard\n key={option.kind}\n value={option.kind}\n data-testid={`remote-tunnel-${option.kind}`}\n className=\"flex items-start gap-2 rounded-lg p-4\"\n >\n <span className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <span className=\"text-base font-semibold text-doom-hi\">{option.label}</span>\n <span className=\"text-sm leading-relaxed text-doom-dim\">{option.detail}</span>\n </span>\n {draft.kind === option.kind ? <CheckIcon className=\"size-4 shrink-0 text-doom-green\" /> : null}\n </RadioGroupCard>\n ))}\n </RadioGroup>\n\n {draft.kind === 'named' ? (\n <SettingsCard>\n <SettingsField\n id=\"remote-tunnel-hostname\"\n label=\"Hostname\"\n description={\n invalidHostname ? (\n <span className=\"text-doom-red\">Enter the hostname only, without https://, a port or a path.</span>\n ) : (\n 'The domain your devices will open.'\n )\n }\n >\n <Input\n id=\"remote-tunnel-hostname\"\n data-testid=\"remote-tunnel-hostname\"\n value={draft.hostname}\n placeholder=\"po.example.com\"\n aria-invalid={invalidHostname}\n spellCheck={false}\n onChange={(event) => updateNamed({ hostname: event.target.value })}\n className=\"font-mono text-sm\"\n />\n </SettingsField>\n <SettingsField\n id=\"remote-tunnel-token-file\"\n label=\"Token file\"\n description=\"A local file holding your Cloudflare connector token. Po reads the file and never stores the token itself.\"\n >\n <Input\n id=\"remote-tunnel-token-file\"\n data-testid=\"remote-tunnel-token-file\"\n value={draft.tokenFile ?? ''}\n placeholder=\"~/.cloudflared/po.token\"\n spellCheck={false}\n onChange={(event) => updateNamed({ tokenFile: event.target.value })}\n className=\"font-mono text-sm\"\n />\n </SettingsField>\n <details className=\"group\">\n <summary className=\"cursor-pointer px-5 py-3 text-sm text-doom-dim hover:text-doom-hi\">\n Tunnel you manage with cloudflared\n </summary>\n <div className=\"flex flex-col divide-y divide-doom-border-soft border-t border-doom-border-soft\">\n <SettingsField id=\"remote-tunnel-name\" label=\"Tunnel name\">\n <Input\n id=\"remote-tunnel-name\"\n data-testid=\"remote-tunnel-name\"\n value={draft.name ?? ''}\n placeholder=\"po\"\n spellCheck={false}\n onChange={(event) => updateNamed({ name: event.target.value })}\n className=\"font-mono text-sm\"\n />\n </SettingsField>\n <SettingsField id=\"remote-tunnel-config-file\" label=\"Config file\">\n <Input\n id=\"remote-tunnel-config-file\"\n data-testid=\"remote-tunnel-config-file\"\n value={draft.configFile ?? ''}\n placeholder=\"~/.cloudflared/config.yml\"\n spellCheck={false}\n onChange={(event) => updateNamed({ configFile: event.target.value })}\n className=\"font-mono text-sm\"\n />\n </SettingsField>\n </div>\n </details>\n </SettingsCard>\n ) : null}\n\n <SettingsActions>\n <Button\n variant={changed && !invalidHostname ? 'primary' : 'outline'}\n size=\"sm\"\n data-testid=\"remote-tunnel-save\"\n loading={busy}\n disabled={busy || !changed || invalidHostname}\n onClick={() => void save()}\n >\n Save tunnel\n </Button>\n <SettingsNote>\n Takes effect the next time remote access starts. Install <code className=\"font-mono\">cloudflared</code> on\n this machine first.\n </SettingsNote>\n </SettingsActions>\n </SettingsSection>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ const require_Story_fixture = require("../../components/Story.fixture.cjs");
2
+ const require_Template_fixture = require("../../components/Template.fixture.cjs");
3
+ const require_Remote_fixture = require("../../components/Remote.fixture.cjs");
4
+ //#region src/web/features/settings/settings.fixture.ts
5
+ const repository = {
6
+ id: require_Story_fixture.STORY_WORKSPACE_ID,
7
+ name: "po",
8
+ path: "/workspace/po",
9
+ active: true
10
+ };
11
+ const config = {
12
+ ...require_Template_fixture.templateConfig,
13
+ values: {
14
+ ...require_Template_fixture.templateConfig.values,
15
+ "review.name": {
16
+ value: "Component review",
17
+ origin: "global",
18
+ scope: "both"
19
+ },
20
+ "review.limit": {
21
+ value: "5",
22
+ origin: "default",
23
+ scope: "both"
24
+ },
25
+ "review.enabled": {
26
+ value: "true",
27
+ origin: "global",
28
+ scope: "both"
29
+ },
30
+ "review.model": {
31
+ value: "local",
32
+ origin: "repository",
33
+ scope: "both"
34
+ },
35
+ "review.source": {
36
+ value: "Machine configuration",
37
+ origin: "global",
38
+ scope: "global"
39
+ }
40
+ }
41
+ };
42
+ const repositorySettings = {
43
+ repository,
44
+ hash: "story-repository",
45
+ catalogs: {
46
+ majorModes: [{
47
+ name: "copilot",
48
+ description: "Interactive development"
49
+ }, {
50
+ name: "review",
51
+ description: "Source review"
52
+ }],
53
+ domains: [{ name: "development" }, { name: "testing" }],
54
+ profiles: [{ name: "ponytail" }, { name: "reviewer" }]
55
+ },
56
+ selection: {
57
+ majorMode: {
58
+ effective: "copilot",
59
+ origin: "global"
60
+ },
61
+ domains: {
62
+ effective: ["development", "testing"],
63
+ repository: ["development", "testing"],
64
+ origin: "repository"
65
+ },
66
+ profile: {
67
+ effective: "ponytail",
68
+ origin: "default"
69
+ }
70
+ }
71
+ };
72
+ const apiKey = {
73
+ type: "api_key",
74
+ label: "API key"
75
+ };
76
+ const oauth = {
77
+ type: "oauth",
78
+ label: "Browser sign-in"
79
+ };
80
+ /** A slice of Pi's real catalog: one stored sign-in, one environment key, and the long tail. */
81
+ const providers = [
82
+ {
83
+ id: "openai-codex",
84
+ name: "OpenAI Codex",
85
+ methods: [oauth],
86
+ authenticated: {
87
+ type: "oauth",
88
+ source: "stored"
89
+ }
90
+ },
91
+ {
92
+ id: "anthropic",
93
+ name: "Anthropic",
94
+ methods: [oauth, apiKey],
95
+ authenticated: {
96
+ type: "api_key",
97
+ source: "ANTHROPIC_API_KEY"
98
+ }
99
+ },
100
+ {
101
+ id: "amazon-bedrock",
102
+ name: "Amazon Bedrock",
103
+ methods: [apiKey]
104
+ },
105
+ {
106
+ id: "ant-ling",
107
+ name: "Ant Ling",
108
+ methods: [apiKey]
109
+ },
110
+ {
111
+ id: "azure-openai-responses",
112
+ name: "Azure OpenAI",
113
+ methods: [apiKey]
114
+ },
115
+ {
116
+ id: "baseten",
117
+ name: "Baseten",
118
+ methods: [apiKey]
119
+ },
120
+ {
121
+ id: "cerebras",
122
+ name: "Cerebras",
123
+ methods: [apiKey]
124
+ },
125
+ {
126
+ id: "cloudflare-ai-gateway",
127
+ name: "Cloudflare AI Gateway",
128
+ methods: [apiKey]
129
+ },
130
+ {
131
+ id: "deepseek",
132
+ name: "DeepSeek",
133
+ methods: [apiKey]
134
+ },
135
+ {
136
+ id: "github-copilot",
137
+ name: "GitHub Copilot",
138
+ methods: [oauth]
139
+ },
140
+ {
141
+ id: "google",
142
+ name: "Google Gemini",
143
+ methods: [oauth, apiKey]
144
+ },
145
+ {
146
+ id: "google-vertex",
147
+ name: "Google Vertex AI",
148
+ methods: []
149
+ },
150
+ {
151
+ id: "groq",
152
+ name: "Groq",
153
+ methods: [apiKey]
154
+ },
155
+ {
156
+ id: "mistral",
157
+ name: "Mistral",
158
+ methods: [apiKey]
159
+ },
160
+ {
161
+ id: "openrouter",
162
+ name: "OpenRouter",
163
+ methods: [apiKey]
164
+ }
165
+ ];
166
+ const mcpRoute = `/api/workspaces/${require_Story_fixture.STORY_WORKSPACE_ID}/sessions/${require_Story_fixture.STORY_SESSION_ID}/mcp`;
167
+ const mcpConfig = {
168
+ mcpUrl: "https://example.invalid/mcp/story-session",
169
+ mcpAppUrl: "https://example.invalid/mcp-app/story-session",
170
+ audience: "https://example.invalid/mcp/story-session",
171
+ authorizationEndpoint: "https://example.invalid/oauth/authorize",
172
+ tokenEndpoint: "https://example.invalid/oauth/token",
173
+ tools: [{
174
+ name: "read",
175
+ label: "Read file",
176
+ description: "Read a file in the selected workspace."
177
+ }],
178
+ skills: [{
179
+ name: "style-system",
180
+ description: "Render component stories.",
181
+ uri: "skill://style-system"
182
+ }]
183
+ };
184
+ const mcpClient = {
185
+ clientId: "story-client",
186
+ name: "Component review client",
187
+ redirectUri: "",
188
+ tokenEndpointAuthMethod: "api_key",
189
+ createdAt: 0,
190
+ scope: "session",
191
+ routing: "conversation",
192
+ tools: ["read"],
193
+ skills: ["style-system"],
194
+ audience: mcpConfig.audience
195
+ };
196
+ ({ ...mcpClient }), `${mcpConfig.mcpUrl}`, `${mcpConfig.mcpAppUrl}`;
197
+ function seedSettingsStory(responses = {}) {
198
+ require_Story_fixture.seedStorySession();
199
+ require_Template_fixture.seedTemplateStory();
200
+ require_Remote_fixture.seedRemoteStory();
201
+ require_Story_fixture.mockStoryRequests({
202
+ "GET /api/settings": config,
203
+ [`GET /api/workspaces/${require_Story_fixture.STORY_WORKSPACE_ID}/settings`]: config,
204
+ "GET /api/settings/repositories": { repositories: [repository] },
205
+ [`GET /api/workspaces/${require_Story_fixture.STORY_WORKSPACE_ID}/settings/repository`]: repositorySettings,
206
+ "GET /api/settings/images": {
207
+ autoResize: true,
208
+ maxDimension: 1568,
209
+ minDimension: 256,
210
+ maxAllowedDimension: 2048
211
+ },
212
+ "GET /api/plugins/po/providers": { providers },
213
+ "GET /api/remote": require_Remote_fixture.remoteView,
214
+ "GET /api/remote/state": require_Remote_fixture.remoteView,
215
+ [`GET ${mcpRoute}/config`]: mcpConfig,
216
+ [`GET ${mcpRoute}/clients`]: { clients: [mcpClient] },
217
+ ...responses
218
+ });
219
+ }
220
+ //#endregion
221
+ exports.config = config;
222
+ exports.mcpClient = mcpClient;
223
+ exports.mcpConfig = mcpConfig;
224
+ exports.mcpRoute = mcpRoute;
225
+ exports.providers = providers;
226
+ exports.repository = repository;
227
+ exports.repositorySettings = repositorySettings;
228
+ exports.seedSettingsStory = seedSettingsStory;
229
+
230
+ //# sourceMappingURL=settings.fixture.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.fixture.cjs","names":["STORY_WORKSPACE_ID","templateConfig","STORY_SESSION_ID","remoteView"],"sources":["../../../../src/web/features/settings/settings.fixture.ts"],"sourcesContent":["import type { SettingsSectionContribution } from '@agimon-ai/po-core/web';\n\nimport type { ProviderAuthSummary } from '../../../types/auth.ts';\nimport type { CreatedSessionMcpClient, SessionMcpClient, SessionMcpConfig } from '../../../types/sessionMcp.ts';\nimport type { RepositorySettingsView, SettingsConfigView, SettingsRepository } from '../../../types/settings.ts';\nimport { remoteView, seedRemoteStory } from '../../components/Remote.fixture.tsx';\nimport {\n mockStoryRequests,\n seedStorySession,\n STORY_SESSION_ID,\n STORY_WORKSPACE_ID,\n} from '../../components/Story.fixture.tsx';\nimport { seedTemplateStory, templateConfig } from '../../components/Template.fixture.tsx';\n\nexport const repository: SettingsRepository = {\n id: STORY_WORKSPACE_ID,\n name: 'po',\n path: '/workspace/po',\n active: true,\n};\n\nexport const section: SettingsSectionContribution = {\n id: 'story-settings',\n label: 'Agent defaults',\n detail: 'Review editable, inherited, and read-only values before saving.',\n fields: [\n {\n id: 'name',\n label: 'Session name',\n kind: 'text',\n keyPath: ['review', 'name'],\n detail: 'A descriptive name for a new review.',\n },\n { id: 'limit', label: 'Iteration limit', kind: 'number', keyPath: ['review', 'limit'] },\n { id: 'enabled', label: 'Enable review', kind: 'toggle', keyPath: ['review', 'enabled'] },\n {\n id: 'model',\n label: 'Model',\n kind: 'select',\n keyPath: ['review', 'model'],\n options: [\n { value: 'local', label: 'Local model' },\n { value: 'remote', label: 'Remote model' },\n ],\n },\n { id: 'source', label: 'Configuration source', kind: 'info', keyPath: ['review', 'source'] },\n ],\n};\n\nexport const config: SettingsConfigView = {\n ...templateConfig,\n values: {\n ...templateConfig.values,\n 'review.name': { value: 'Component review', origin: 'global', scope: 'both' },\n 'review.limit': { value: '5', origin: 'default', scope: 'both' },\n 'review.enabled': { value: 'true', origin: 'global', scope: 'both' },\n 'review.model': { value: 'local', origin: 'repository', scope: 'both' },\n 'review.source': { value: 'Machine configuration', origin: 'global', scope: 'global' },\n },\n};\n\nexport const repositorySettings: RepositorySettingsView = {\n repository,\n hash: 'story-repository',\n catalogs: {\n majorModes: [\n { name: 'copilot', description: 'Interactive development' },\n { name: 'review', description: 'Source review' },\n ],\n domains: [{ name: 'development' }, { name: 'testing' }],\n profiles: [{ name: 'ponytail' }, { name: 'reviewer' }],\n },\n selection: {\n majorMode: { effective: 'copilot', origin: 'global' },\n domains: { effective: ['development', 'testing'], repository: ['development', 'testing'], origin: 'repository' },\n profile: { effective: 'ponytail', origin: 'default' },\n },\n};\n\nconst apiKey = { type: 'api_key', label: 'API key' } as const;\nconst oauth = { type: 'oauth', label: 'Browser sign-in' } as const;\n\n/** A slice of Pi's real catalog: one stored sign-in, one environment key, and the long tail. */\nexport const providers: ProviderAuthSummary[] = [\n { id: 'openai-codex', name: 'OpenAI Codex', methods: [oauth], authenticated: { type: 'oauth', source: 'stored' } },\n {\n id: 'anthropic',\n name: 'Anthropic',\n methods: [oauth, apiKey],\n authenticated: { type: 'api_key', source: 'ANTHROPIC_API_KEY' },\n },\n { id: 'amazon-bedrock', name: 'Amazon Bedrock', methods: [apiKey] },\n { id: 'ant-ling', name: 'Ant Ling', methods: [apiKey] },\n { id: 'azure-openai-responses', name: 'Azure OpenAI', methods: [apiKey] },\n { id: 'baseten', name: 'Baseten', methods: [apiKey] },\n { id: 'cerebras', name: 'Cerebras', methods: [apiKey] },\n { id: 'cloudflare-ai-gateway', name: 'Cloudflare AI Gateway', methods: [apiKey] },\n { id: 'deepseek', name: 'DeepSeek', methods: [apiKey] },\n { id: 'github-copilot', name: 'GitHub Copilot', methods: [oauth] },\n { id: 'google', name: 'Google Gemini', methods: [oauth, apiKey] },\n { id: 'google-vertex', name: 'Google Vertex AI', methods: [] },\n { id: 'groq', name: 'Groq', methods: [apiKey] },\n { id: 'mistral', name: 'Mistral', methods: [apiKey] },\n { id: 'openrouter', name: 'OpenRouter', methods: [apiKey] },\n];\n\nexport const mcpRoute = `/api/workspaces/${STORY_WORKSPACE_ID}/sessions/${STORY_SESSION_ID}/mcp`;\nexport const mcpConfig: SessionMcpConfig = {\n mcpUrl: 'https://example.invalid/mcp/story-session',\n mcpAppUrl: 'https://example.invalid/mcp-app/story-session',\n audience: 'https://example.invalid/mcp/story-session',\n authorizationEndpoint: 'https://example.invalid/oauth/authorize',\n tokenEndpoint: 'https://example.invalid/oauth/token',\n tools: [{ name: 'read', label: 'Read file', description: 'Read a file in the selected workspace.' }],\n skills: [{ name: 'style-system', description: 'Render component stories.', uri: 'skill://style-system' }],\n};\nexport const mcpClient: SessionMcpClient = {\n clientId: 'story-client',\n name: 'Component review client',\n redirectUri: '',\n tokenEndpointAuthMethod: 'api_key',\n createdAt: 0,\n scope: 'session',\n routing: 'conversation',\n tools: ['read'],\n skills: ['style-system'],\n audience: mcpConfig.audience,\n};\n\nexport const mcpSignedClient: CreatedSessionMcpClient = {\n ...mcpClient,\n tokenEndpointAuthMethod: 'url_token',\n connectionUrl: `${mcpConfig.mcpUrl}/story.jwt.signature`,\n mcpAppConnectionUrl: `${mcpConfig.mcpAppUrl}/story.jwt.signature`,\n};\n\nexport function seedSettingsStory(responses: Readonly<Record<string, unknown>> = {}): void {\n seedStorySession();\n seedTemplateStory();\n seedRemoteStory();\n mockStoryRequests({\n 'GET /api/settings': config,\n [`GET /api/workspaces/${STORY_WORKSPACE_ID}/settings`]: config,\n 'GET /api/settings/repositories': { repositories: [repository] },\n [`GET /api/workspaces/${STORY_WORKSPACE_ID}/settings/repository`]: repositorySettings,\n 'GET /api/settings/images': { autoResize: true, maxDimension: 1568, minDimension: 256, maxAllowedDimension: 2048 },\n 'GET /api/plugins/po/providers': { providers },\n 'GET /api/remote': remoteView,\n 'GET /api/remote/state': remoteView,\n [`GET ${mcpRoute}/config`]: mcpConfig,\n [`GET ${mcpRoute}/clients`]: { clients: [mcpClient] },\n ...responses,\n });\n}\n"],"mappings":";;;;AAcA,MAAa,aAAiC;CAC5C,IAAIA,sBAAAA;CACJ,MAAM;CACN,MAAM;CACN,QAAQ;AACV;AA8BA,MAAa,SAA6B;CACxC,GAAGC,yBAAAA;CACH,QAAQ;EACN,GAAGA,yBAAAA,eAAe;EAClB,eAAe;GAAE,OAAO;GAAoB,QAAQ;GAAU,OAAO;EAAO;EAC5E,gBAAgB;GAAE,OAAO;GAAK,QAAQ;GAAW,OAAO;EAAO;EAC/D,kBAAkB;GAAE,OAAO;GAAQ,QAAQ;GAAU,OAAO;EAAO;EACnE,gBAAgB;GAAE,OAAO;GAAS,QAAQ;GAAc,OAAO;EAAO;EACtE,iBAAiB;GAAE,OAAO;GAAyB,QAAQ;GAAU,OAAO;EAAS;CACvF;AACF;AAEA,MAAa,qBAA6C;CACxD;CACA,MAAM;CACN,UAAU;EACR,YAAY,CACV;GAAE,MAAM;GAAW,aAAa;EAA0B,GAC1D;GAAE,MAAM;GAAU,aAAa;EAAgB,CACjD;EACA,SAAS,CAAC,EAAE,MAAM,cAAc,GAAG,EAAE,MAAM,UAAU,CAAC;EACtD,UAAU,CAAC,EAAE,MAAM,WAAW,GAAG,EAAE,MAAM,WAAW,CAAC;CACvD;CACA,WAAW;EACT,WAAW;GAAE,WAAW;GAAW,QAAQ;EAAS;EACpD,SAAS;GAAE,WAAW,CAAC,eAAe,SAAS;GAAG,YAAY,CAAC,eAAe,SAAS;GAAG,QAAQ;EAAa;EAC/G,SAAS;GAAE,WAAW;GAAY,QAAQ;EAAU;CACtD;AACF;AAEA,MAAM,SAAS;CAAE,MAAM;CAAW,OAAO;AAAU;AACnD,MAAM,QAAQ;CAAE,MAAM;CAAS,OAAO;AAAkB;;AAGxD,MAAa,YAAmC;CAC9C;EAAE,IAAI;EAAgB,MAAM;EAAgB,SAAS,CAAC,KAAK;EAAG,eAAe;GAAE,MAAM;GAAS,QAAQ;EAAS;CAAE;CACjH;EACE,IAAI;EACJ,MAAM;EACN,SAAS,CAAC,OAAO,MAAM;EACvB,eAAe;GAAE,MAAM;GAAW,QAAQ;EAAoB;CAChE;CACA;EAAE,IAAI;EAAkB,MAAM;EAAkB,SAAS,CAAC,MAAM;CAAE;CAClE;EAAE,IAAI;EAAY,MAAM;EAAY,SAAS,CAAC,MAAM;CAAE;CACtD;EAAE,IAAI;EAA0B,MAAM;EAAgB,SAAS,CAAC,MAAM;CAAE;CACxE;EAAE,IAAI;EAAW,MAAM;EAAW,SAAS,CAAC,MAAM;CAAE;CACpD;EAAE,IAAI;EAAY,MAAM;EAAY,SAAS,CAAC,MAAM;CAAE;CACtD;EAAE,IAAI;EAAyB,MAAM;EAAyB,SAAS,CAAC,MAAM;CAAE;CAChF;EAAE,IAAI;EAAY,MAAM;EAAY,SAAS,CAAC,MAAM;CAAE;CACtD;EAAE,IAAI;EAAkB,MAAM;EAAkB,SAAS,CAAC,KAAK;CAAE;CACjE;EAAE,IAAI;EAAU,MAAM;EAAiB,SAAS,CAAC,OAAO,MAAM;CAAE;CAChE;EAAE,IAAI;EAAiB,MAAM;EAAoB,SAAS,CAAC;CAAE;CAC7D;EAAE,IAAI;EAAQ,MAAM;EAAQ,SAAS,CAAC,MAAM;CAAE;CAC9C;EAAE,IAAI;EAAW,MAAM;EAAW,SAAS,CAAC,MAAM;CAAE;CACpD;EAAE,IAAI;EAAc,MAAM;EAAc,SAAS,CAAC,MAAM;CAAE;AAC5D;AAEA,MAAa,WAAW,mBAAmBD,sBAAAA,mBAAmB,YAAYE,sBAAAA,iBAAiB;AAC3F,MAAa,YAA8B;CACzC,QAAQ;CACR,WAAW;CACX,UAAU;CACV,uBAAuB;CACvB,eAAe;CACf,OAAO,CAAC;EAAE,MAAM;EAAQ,OAAO;EAAa,aAAa;CAAyC,CAAC;CACnG,QAAQ,CAAC;EAAE,MAAM;EAAgB,aAAa;EAA6B,KAAK;CAAuB,CAAC;AAC1G;AACA,MAAa,YAA8B;CACzC,UAAU;CACV,MAAM;CACN,aAAa;CACb,yBAAyB;CACzB,WAAW;CACX,OAAO;CACP,SAAS;CACT,OAAO,CAAC,MAAM;CACd,QAAQ,CAAC,cAAc;CACvB,UAAU,UAAU;AACtB;CAIE,EADA,GAAG,UACsB,IACV,GAAG,UAAU,OAAb,GACM,GAAG,UAAU,UAAb;AAGvB,SAAgB,kBAAkB,YAA+C,CAAC,GAAS;CACzF,sBAAA,iBAAiB;CACjB,yBAAA,kBAAkB;CAClB,uBAAA,gBAAgB;CAChB,sBAAA,kBAAkB;EAChB,qBAAqB;GACpB,uBAAuBF,sBAAAA,mBAAmB,aAAa;EACxD,kCAAkC,EAAE,cAAc,CAAC,UAAU,EAAE;GAC9D,uBAAuBA,sBAAAA,mBAAmB,wBAAwB;EACnE,4BAA4B;GAAE,YAAY;GAAM,cAAc;GAAM,cAAc;GAAK,qBAAqB;EAAK;EACjH,iCAAiC,EAAE,UAAU;EAC7C,mBAAmBG,uBAAAA;EACnB,yBAAyBA,uBAAAA;GACxB,OAAO,SAAS,WAAW;GAC3B,OAAO,SAAS,YAAY,EAAE,SAAS,CAAC,SAAS,EAAE;EACpD,GAAG;CACL,CAAC;AACH"}
@@ -0,0 +1,6 @@
1
+ import "../../../types/settings.mjs";
2
+ import { SettingsSectionContribution } from "@agimon-ai/po-core/web";
3
+ //#region src/web/features/settings/settings.fixture.d.ts
4
+ export declare function seedSettingsStory(responses?: Readonly<Record<string, unknown>>): void;
5
+ //#endregion
6
+ //# sourceMappingURL=settings.fixture.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.fixture.d.mts","names":[],"sources":["../../../../src/web/features/settings/settings.fixture.ts"],"mappings":";;;wBAwIgB,kBAAkB,YAAW,SAAS"}
@@ -0,0 +1,223 @@
1
+ import { STORY_SESSION_ID, STORY_WORKSPACE_ID, mockStoryRequests, seedStorySession } from "../../components/Story.fixture.mjs";
2
+ import { seedTemplateStory, templateConfig } from "../../components/Template.fixture.mjs";
3
+ import { remoteView, seedRemoteStory } from "../../components/Remote.fixture.mjs";
4
+ //#region src/web/features/settings/settings.fixture.ts
5
+ const repository = {
6
+ id: STORY_WORKSPACE_ID,
7
+ name: "po",
8
+ path: "/workspace/po",
9
+ active: true
10
+ };
11
+ const config = {
12
+ ...templateConfig,
13
+ values: {
14
+ ...templateConfig.values,
15
+ "review.name": {
16
+ value: "Component review",
17
+ origin: "global",
18
+ scope: "both"
19
+ },
20
+ "review.limit": {
21
+ value: "5",
22
+ origin: "default",
23
+ scope: "both"
24
+ },
25
+ "review.enabled": {
26
+ value: "true",
27
+ origin: "global",
28
+ scope: "both"
29
+ },
30
+ "review.model": {
31
+ value: "local",
32
+ origin: "repository",
33
+ scope: "both"
34
+ },
35
+ "review.source": {
36
+ value: "Machine configuration",
37
+ origin: "global",
38
+ scope: "global"
39
+ }
40
+ }
41
+ };
42
+ const repositorySettings = {
43
+ repository,
44
+ hash: "story-repository",
45
+ catalogs: {
46
+ majorModes: [{
47
+ name: "copilot",
48
+ description: "Interactive development"
49
+ }, {
50
+ name: "review",
51
+ description: "Source review"
52
+ }],
53
+ domains: [{ name: "development" }, { name: "testing" }],
54
+ profiles: [{ name: "ponytail" }, { name: "reviewer" }]
55
+ },
56
+ selection: {
57
+ majorMode: {
58
+ effective: "copilot",
59
+ origin: "global"
60
+ },
61
+ domains: {
62
+ effective: ["development", "testing"],
63
+ repository: ["development", "testing"],
64
+ origin: "repository"
65
+ },
66
+ profile: {
67
+ effective: "ponytail",
68
+ origin: "default"
69
+ }
70
+ }
71
+ };
72
+ const apiKey = {
73
+ type: "api_key",
74
+ label: "API key"
75
+ };
76
+ const oauth = {
77
+ type: "oauth",
78
+ label: "Browser sign-in"
79
+ };
80
+ /** A slice of Pi's real catalog: one stored sign-in, one environment key, and the long tail. */
81
+ const providers = [
82
+ {
83
+ id: "openai-codex",
84
+ name: "OpenAI Codex",
85
+ methods: [oauth],
86
+ authenticated: {
87
+ type: "oauth",
88
+ source: "stored"
89
+ }
90
+ },
91
+ {
92
+ id: "anthropic",
93
+ name: "Anthropic",
94
+ methods: [oauth, apiKey],
95
+ authenticated: {
96
+ type: "api_key",
97
+ source: "ANTHROPIC_API_KEY"
98
+ }
99
+ },
100
+ {
101
+ id: "amazon-bedrock",
102
+ name: "Amazon Bedrock",
103
+ methods: [apiKey]
104
+ },
105
+ {
106
+ id: "ant-ling",
107
+ name: "Ant Ling",
108
+ methods: [apiKey]
109
+ },
110
+ {
111
+ id: "azure-openai-responses",
112
+ name: "Azure OpenAI",
113
+ methods: [apiKey]
114
+ },
115
+ {
116
+ id: "baseten",
117
+ name: "Baseten",
118
+ methods: [apiKey]
119
+ },
120
+ {
121
+ id: "cerebras",
122
+ name: "Cerebras",
123
+ methods: [apiKey]
124
+ },
125
+ {
126
+ id: "cloudflare-ai-gateway",
127
+ name: "Cloudflare AI Gateway",
128
+ methods: [apiKey]
129
+ },
130
+ {
131
+ id: "deepseek",
132
+ name: "DeepSeek",
133
+ methods: [apiKey]
134
+ },
135
+ {
136
+ id: "github-copilot",
137
+ name: "GitHub Copilot",
138
+ methods: [oauth]
139
+ },
140
+ {
141
+ id: "google",
142
+ name: "Google Gemini",
143
+ methods: [oauth, apiKey]
144
+ },
145
+ {
146
+ id: "google-vertex",
147
+ name: "Google Vertex AI",
148
+ methods: []
149
+ },
150
+ {
151
+ id: "groq",
152
+ name: "Groq",
153
+ methods: [apiKey]
154
+ },
155
+ {
156
+ id: "mistral",
157
+ name: "Mistral",
158
+ methods: [apiKey]
159
+ },
160
+ {
161
+ id: "openrouter",
162
+ name: "OpenRouter",
163
+ methods: [apiKey]
164
+ }
165
+ ];
166
+ const mcpRoute = `/api/workspaces/${STORY_WORKSPACE_ID}/sessions/${STORY_SESSION_ID}/mcp`;
167
+ const mcpConfig = {
168
+ mcpUrl: "https://example.invalid/mcp/story-session",
169
+ mcpAppUrl: "https://example.invalid/mcp-app/story-session",
170
+ audience: "https://example.invalid/mcp/story-session",
171
+ authorizationEndpoint: "https://example.invalid/oauth/authorize",
172
+ tokenEndpoint: "https://example.invalid/oauth/token",
173
+ tools: [{
174
+ name: "read",
175
+ label: "Read file",
176
+ description: "Read a file in the selected workspace."
177
+ }],
178
+ skills: [{
179
+ name: "style-system",
180
+ description: "Render component stories.",
181
+ uri: "skill://style-system"
182
+ }]
183
+ };
184
+ const mcpClient = {
185
+ clientId: "story-client",
186
+ name: "Component review client",
187
+ redirectUri: "",
188
+ tokenEndpointAuthMethod: "api_key",
189
+ createdAt: 0,
190
+ scope: "session",
191
+ routing: "conversation",
192
+ tools: ["read"],
193
+ skills: ["style-system"],
194
+ audience: mcpConfig.audience
195
+ };
196
+ ({ ...mcpClient }), `${mcpConfig.mcpUrl}`, `${mcpConfig.mcpAppUrl}`;
197
+ function seedSettingsStory(responses = {}) {
198
+ seedStorySession();
199
+ seedTemplateStory();
200
+ seedRemoteStory();
201
+ mockStoryRequests({
202
+ "GET /api/settings": config,
203
+ [`GET /api/workspaces/${STORY_WORKSPACE_ID}/settings`]: config,
204
+ "GET /api/settings/repositories": { repositories: [repository] },
205
+ [`GET /api/workspaces/${STORY_WORKSPACE_ID}/settings/repository`]: repositorySettings,
206
+ "GET /api/settings/images": {
207
+ autoResize: true,
208
+ maxDimension: 1568,
209
+ minDimension: 256,
210
+ maxAllowedDimension: 2048
211
+ },
212
+ "GET /api/plugins/po/providers": { providers },
213
+ "GET /api/remote": remoteView,
214
+ "GET /api/remote/state": remoteView,
215
+ [`GET ${mcpRoute}/config`]: mcpConfig,
216
+ [`GET ${mcpRoute}/clients`]: { clients: [mcpClient] },
217
+ ...responses
218
+ });
219
+ }
220
+ //#endregion
221
+ export { config, mcpClient, mcpConfig, mcpRoute, providers, repository, repositorySettings, seedSettingsStory };
222
+
223
+ //# sourceMappingURL=settings.fixture.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.fixture.mjs","names":[],"sources":["../../../../src/web/features/settings/settings.fixture.ts"],"sourcesContent":["import type { SettingsSectionContribution } from '@agimon-ai/po-core/web';\n\nimport type { ProviderAuthSummary } from '../../../types/auth.ts';\nimport type { CreatedSessionMcpClient, SessionMcpClient, SessionMcpConfig } from '../../../types/sessionMcp.ts';\nimport type { RepositorySettingsView, SettingsConfigView, SettingsRepository } from '../../../types/settings.ts';\nimport { remoteView, seedRemoteStory } from '../../components/Remote.fixture.tsx';\nimport {\n mockStoryRequests,\n seedStorySession,\n STORY_SESSION_ID,\n STORY_WORKSPACE_ID,\n} from '../../components/Story.fixture.tsx';\nimport { seedTemplateStory, templateConfig } from '../../components/Template.fixture.tsx';\n\nexport const repository: SettingsRepository = {\n id: STORY_WORKSPACE_ID,\n name: 'po',\n path: '/workspace/po',\n active: true,\n};\n\nexport const section: SettingsSectionContribution = {\n id: 'story-settings',\n label: 'Agent defaults',\n detail: 'Review editable, inherited, and read-only values before saving.',\n fields: [\n {\n id: 'name',\n label: 'Session name',\n kind: 'text',\n keyPath: ['review', 'name'],\n detail: 'A descriptive name for a new review.',\n },\n { id: 'limit', label: 'Iteration limit', kind: 'number', keyPath: ['review', 'limit'] },\n { id: 'enabled', label: 'Enable review', kind: 'toggle', keyPath: ['review', 'enabled'] },\n {\n id: 'model',\n label: 'Model',\n kind: 'select',\n keyPath: ['review', 'model'],\n options: [\n { value: 'local', label: 'Local model' },\n { value: 'remote', label: 'Remote model' },\n ],\n },\n { id: 'source', label: 'Configuration source', kind: 'info', keyPath: ['review', 'source'] },\n ],\n};\n\nexport const config: SettingsConfigView = {\n ...templateConfig,\n values: {\n ...templateConfig.values,\n 'review.name': { value: 'Component review', origin: 'global', scope: 'both' },\n 'review.limit': { value: '5', origin: 'default', scope: 'both' },\n 'review.enabled': { value: 'true', origin: 'global', scope: 'both' },\n 'review.model': { value: 'local', origin: 'repository', scope: 'both' },\n 'review.source': { value: 'Machine configuration', origin: 'global', scope: 'global' },\n },\n};\n\nexport const repositorySettings: RepositorySettingsView = {\n repository,\n hash: 'story-repository',\n catalogs: {\n majorModes: [\n { name: 'copilot', description: 'Interactive development' },\n { name: 'review', description: 'Source review' },\n ],\n domains: [{ name: 'development' }, { name: 'testing' }],\n profiles: [{ name: 'ponytail' }, { name: 'reviewer' }],\n },\n selection: {\n majorMode: { effective: 'copilot', origin: 'global' },\n domains: { effective: ['development', 'testing'], repository: ['development', 'testing'], origin: 'repository' },\n profile: { effective: 'ponytail', origin: 'default' },\n },\n};\n\nconst apiKey = { type: 'api_key', label: 'API key' } as const;\nconst oauth = { type: 'oauth', label: 'Browser sign-in' } as const;\n\n/** A slice of Pi's real catalog: one stored sign-in, one environment key, and the long tail. */\nexport const providers: ProviderAuthSummary[] = [\n { id: 'openai-codex', name: 'OpenAI Codex', methods: [oauth], authenticated: { type: 'oauth', source: 'stored' } },\n {\n id: 'anthropic',\n name: 'Anthropic',\n methods: [oauth, apiKey],\n authenticated: { type: 'api_key', source: 'ANTHROPIC_API_KEY' },\n },\n { id: 'amazon-bedrock', name: 'Amazon Bedrock', methods: [apiKey] },\n { id: 'ant-ling', name: 'Ant Ling', methods: [apiKey] },\n { id: 'azure-openai-responses', name: 'Azure OpenAI', methods: [apiKey] },\n { id: 'baseten', name: 'Baseten', methods: [apiKey] },\n { id: 'cerebras', name: 'Cerebras', methods: [apiKey] },\n { id: 'cloudflare-ai-gateway', name: 'Cloudflare AI Gateway', methods: [apiKey] },\n { id: 'deepseek', name: 'DeepSeek', methods: [apiKey] },\n { id: 'github-copilot', name: 'GitHub Copilot', methods: [oauth] },\n { id: 'google', name: 'Google Gemini', methods: [oauth, apiKey] },\n { id: 'google-vertex', name: 'Google Vertex AI', methods: [] },\n { id: 'groq', name: 'Groq', methods: [apiKey] },\n { id: 'mistral', name: 'Mistral', methods: [apiKey] },\n { id: 'openrouter', name: 'OpenRouter', methods: [apiKey] },\n];\n\nexport const mcpRoute = `/api/workspaces/${STORY_WORKSPACE_ID}/sessions/${STORY_SESSION_ID}/mcp`;\nexport const mcpConfig: SessionMcpConfig = {\n mcpUrl: 'https://example.invalid/mcp/story-session',\n mcpAppUrl: 'https://example.invalid/mcp-app/story-session',\n audience: 'https://example.invalid/mcp/story-session',\n authorizationEndpoint: 'https://example.invalid/oauth/authorize',\n tokenEndpoint: 'https://example.invalid/oauth/token',\n tools: [{ name: 'read', label: 'Read file', description: 'Read a file in the selected workspace.' }],\n skills: [{ name: 'style-system', description: 'Render component stories.', uri: 'skill://style-system' }],\n};\nexport const mcpClient: SessionMcpClient = {\n clientId: 'story-client',\n name: 'Component review client',\n redirectUri: '',\n tokenEndpointAuthMethod: 'api_key',\n createdAt: 0,\n scope: 'session',\n routing: 'conversation',\n tools: ['read'],\n skills: ['style-system'],\n audience: mcpConfig.audience,\n};\n\nexport const mcpSignedClient: CreatedSessionMcpClient = {\n ...mcpClient,\n tokenEndpointAuthMethod: 'url_token',\n connectionUrl: `${mcpConfig.mcpUrl}/story.jwt.signature`,\n mcpAppConnectionUrl: `${mcpConfig.mcpAppUrl}/story.jwt.signature`,\n};\n\nexport function seedSettingsStory(responses: Readonly<Record<string, unknown>> = {}): void {\n seedStorySession();\n seedTemplateStory();\n seedRemoteStory();\n mockStoryRequests({\n 'GET /api/settings': config,\n [`GET /api/workspaces/${STORY_WORKSPACE_ID}/settings`]: config,\n 'GET /api/settings/repositories': { repositories: [repository] },\n [`GET /api/workspaces/${STORY_WORKSPACE_ID}/settings/repository`]: repositorySettings,\n 'GET /api/settings/images': { autoResize: true, maxDimension: 1568, minDimension: 256, maxAllowedDimension: 2048 },\n 'GET /api/plugins/po/providers': { providers },\n 'GET /api/remote': remoteView,\n 'GET /api/remote/state': remoteView,\n [`GET ${mcpRoute}/config`]: mcpConfig,\n [`GET ${mcpRoute}/clients`]: { clients: [mcpClient] },\n ...responses,\n });\n}\n"],"mappings":"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"}