@opengeni/react 4.5.1-canary.39832248373001 → 4.6.1

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 (409) hide show
  1. package/dist/app/app-state.js +7 -7
  2. package/dist/app/components/Composer.js +14 -14
  3. package/dist/app/components/artifacts/artifact-library.js +1 -1
  4. package/dist/app/components/artifacts/chat-interactive-block.js +10 -10
  5. package/dist/app/components/artifacts/inline-chat-image.js +14 -14
  6. package/dist/app/components/artifacts/retained-file-preview.js +16 -16
  7. package/dist/app/components/artifacts/retained-text-preview.js +2 -2
  8. package/dist/app/components/artifacts/site-data.js +4 -2
  9. package/dist/app/components/artifacts/site-publishing.js +9 -9
  10. package/dist/app/components/artifacts/site-settings.js +11 -11
  11. package/dist/app/components/billing-class-mark.js +3 -3
  12. package/dist/app/components/capabilities/capability-detail-sheet.js +3 -3
  13. package/dist/app/components/capabilities/capability-logo-source.js +7 -7
  14. package/dist/app/components/capabilities/native-connect-setup.js +7 -7
  15. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +8 -8
  16. package/dist/app/components/capabilities/session-capability-card.js +33 -33
  17. package/dist/app/components/capabilities/session-chrome-card.js +13 -13
  18. package/dist/app/components/capabilities/session-custom-mcp-card.js +9 -9
  19. package/dist/app/components/capabilities/session-github-card.js +8 -8
  20. package/dist/app/components/capabilities/session-machine-card.js +12 -12
  21. package/dist/app/components/command-menu/chat-status.js +7 -6
  22. package/dist/app/components/command-menu/chat-switcher.js +7 -6
  23. package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
  24. package/dist/app/components/command-menu/command-menu.js +13 -12
  25. package/dist/app/components/command-menu/command-menu.js.map +1 -1
  26. package/dist/app/components/command-menu/shortcut-sheet.js +8 -8
  27. package/dist/app/components/composer-mobile-plus-panel.js +5 -5
  28. package/dist/app/components/composer-mobile-plus.js +1 -1
  29. package/dist/app/components/credit-required-gate.js +1 -1
  30. package/dist/app/components/credit-required-prompt.js +6 -4
  31. package/dist/app/components/credit-required-prompt.js.map +1 -1
  32. package/dist/app/components/credits/credit-refusal-notice.js +5 -3
  33. package/dist/app/components/desktop/app-shots.js +5 -5
  34. package/dist/app/components/desktop/this-computer.js +4 -4
  35. package/dist/app/components/feedback.js +3 -3
  36. package/dist/app/components/follow-up-repository-menu-body.js +4 -2
  37. package/dist/app/components/follow-up-repository-menu-body.js.map +1 -1
  38. package/dist/app/components/follow-up-repository-picker.js +4 -2
  39. package/dist/app/components/github-app-connect-launcher.js +1 -1
  40. package/dist/app/components/machines/connect-machine-dialog.js +3 -3
  41. package/dist/app/components/markdown.js +4 -4
  42. package/dist/app/components/models/models-ui.js +1 -1
  43. package/dist/app/components/pickers.js +5 -5
  44. package/dist/app/components/rail/rail-context.js +2 -2
  45. package/dist/app/components/rail/rail-sections.js +19 -18
  46. package/dist/app/components/rail/session-header.js +13 -13
  47. package/dist/app/components/rail/session-list.js +20 -19
  48. package/dist/app/components/rail/session-row-content.js +4 -2
  49. package/dist/app/components/rail/session-row-hover-details.js +7 -6
  50. package/dist/app/components/rail/session-shell.js +35 -34
  51. package/dist/app/components/rail/site-session-group-heading.js +4 -3
  52. package/dist/app/components/repository-picker.js +4 -2
  53. package/dist/app/components/session/agent-configuration-panel.js +5 -5
  54. package/dist/app/components/session/banners.js +9 -7
  55. package/dist/app/components/session/codex-account-indicator.js +5 -5
  56. package/dist/app/components/session/editable-artifacts-workspace.js +11 -11
  57. package/dist/app/components/session/failed-session-banner.js +4 -4
  58. package/dist/app/components/session/human-input.js +24 -24
  59. package/dist/app/components/session/inspector.js +32 -31
  60. package/dist/app/components/session/inspector.js.map +1 -1
  61. package/dist/app/components/session/message-actions.js +3 -3
  62. package/dist/app/components/session/message-resource-attachments.js +5 -5
  63. package/dist/app/components/session/model-account-indicator.js +5 -5
  64. package/dist/app/components/session/model-recovery-notice.js +3 -3
  65. package/dist/app/components/session/new-session-settings-menu.js +4 -4
  66. package/dist/app/components/session/sandbox-switcher.js +8 -8
  67. package/dist/app/components/session/sandbox-workspace.js +33 -33
  68. package/dist/app/components/session/search-markdown-highlight.js +5 -5
  69. package/dist/app/components/session/search-results-view.js +6 -6
  70. package/dist/app/components/session/session-admission-notice.js +4 -4
  71. package/dist/app/components/session/session-machine-access-notice.js +4 -4
  72. package/dist/app/components/session/session-search-dialog.js +6 -6
  73. package/dist/app/components/session/session-usage-limit-section.js +3 -3
  74. package/dist/app/components/session/subagents.js +4 -4
  75. package/dist/app/components/usage/usage-entry.js +3 -3
  76. package/dist/app/components/workspace-composer-plus.js +10 -10
  77. package/dist/app/embed/session-app.js +109 -109
  78. package/dist/app/lib/actions/actions-provider.js +5 -5
  79. package/dist/app/lib/codex-usage-query.js +2 -2
  80. package/dist/app/lib/composer-connectors.js +8 -8
  81. package/dist/app/lib/console-text.js +2 -2
  82. package/dist/app/lib/credit-coverage.js +4 -2
  83. package/dist/app/lib/events.js +7 -7
  84. package/dist/app/lib/failed-session-copy.js +3 -3
  85. package/dist/app/lib/format.d.ts +2 -7
  86. package/dist/app/lib/format.js +5 -2
  87. package/dist/app/lib/model-access-onboarding.js +3 -3
  88. package/dist/app/lib/move-chat-to-machine.js +3 -3
  89. package/dist/app/lib/session-branch-cache.js +6 -5
  90. package/dist/app/lib/session-group-pagination.js +6 -5
  91. package/dist/app/lib/session-hover-facts.js +6 -5
  92. package/dist/app/lib/sessions-group.js +5 -4
  93. package/dist/app/lib/turn-failure-analytics.js +4 -4
  94. package/dist/app/lib/use-workspace-machines.js +4 -4
  95. package/dist/app/lib/use-workspace-model-catalog.js +3 -3
  96. package/dist/app/lib/use-workspace-rigs.js +2 -2
  97. package/dist/app/lib/workspace-navigation-preference.js +4 -4
  98. package/dist/app/lib/workspace-scope-context.js +3 -3
  99. package/dist/app/routes/artifacts.js +25 -24
  100. package/dist/app/routes/artifacts.js.map +1 -1
  101. package/dist/app/routes/retained-artifact.js +16 -16
  102. package/dist/app/routes/session.js +73 -73
  103. package/dist/app/routes/sessions-index.js +51 -50
  104. package/dist/app/routes/site-view.js +30 -29
  105. package/dist/app/routes/site-view.js.map +1 -1
  106. package/dist/artifacts-document.js +4 -4
  107. package/dist/artifacts-presentation.js +4 -4
  108. package/dist/artifacts-spreadsheet.js +4 -4
  109. package/dist/artifacts.js +10 -10
  110. package/dist/{browser-viewer-VPK3CV2H.js → browser-viewer-YQC6BFMS.js} +4 -4
  111. package/dist/{chat-interactive-block-AMDSW656.js → chat-interactive-block-Z22YHDRU.js} +5 -5
  112. package/dist/{chunk-TDIOBPLA.js → chunk-24POWVUY.js} +4 -4
  113. package/dist/{chunk-SJORXXLV.js → chunk-26P7B46A.js} +3 -3
  114. package/dist/{chunk-6O4VWKSO.js → chunk-27EORKJ4.js} +2 -2
  115. package/dist/{chunk-WWOHORRO.js → chunk-2K27S6LK.js} +3 -3
  116. package/dist/{chunk-OFB6TUDC.js → chunk-2LUO22FR.js} +4 -4
  117. package/dist/{chunk-FSP334UU.js → chunk-2SZ3KC5S.js} +2 -2
  118. package/dist/{chunk-GZGQHQI7.js → chunk-32HA7DXJ.js} +14 -14
  119. package/dist/{chunk-PCJLH45G.js → chunk-3MQM4ZOC.js} +3 -3
  120. package/dist/{chunk-SD4PPZFB.js → chunk-3ZZOE4SN.js} +4 -4
  121. package/dist/{chunk-YGSJWWT3.js → chunk-467VRP4E.js} +3 -3
  122. package/dist/{chunk-D3RK3NGM.js → chunk-4BF3DD6R.js} +2 -2
  123. package/dist/{chunk-CDUDKETD.js → chunk-4ICPJZAB.js} +2 -2
  124. package/dist/{chunk-I66ZB6KD.js → chunk-4PC7LIQK.js} +3 -3
  125. package/dist/{chunk-D5OWJZQR.js → chunk-4RY64KQY.js} +2 -2
  126. package/dist/{chunk-PUTS4DYW.js → chunk-4VJOZJDV.js} +2 -2
  127. package/dist/{chunk-AOUCHCSB.js → chunk-4XKT4ENZ.js} +4 -4
  128. package/dist/{chunk-F3FN6DO6.js → chunk-4XO346BW.js} +2 -2
  129. package/dist/{chunk-YO64YVYL.js → chunk-65K5LV4L.js} +30 -30
  130. package/dist/{chunk-KFWVBTUH.js → chunk-6JF7C3U3.js} +2 -2
  131. package/dist/{chunk-LQ47YL6E.js → chunk-6K3WNTRI.js} +2 -2
  132. package/dist/{chunk-CCR33J7L.js → chunk-6N7W3TOV.js} +2 -2
  133. package/dist/chunk-6NXQCOLD.js +71 -0
  134. package/dist/chunk-6NXQCOLD.js.map +1 -0
  135. package/dist/{chunk-ILDOW2IQ.js → chunk-6PQBKMUL.js} +3 -3
  136. package/dist/{chunk-VO6RVVP7.js → chunk-6VITVQ23.js} +4 -4
  137. package/dist/{chunk-AIEXYO2X.js → chunk-6YDXUE5H.js} +2 -2
  138. package/dist/{chunk-HPB4KSV3.js → chunk-72XEFLMD.js} +2 -2
  139. package/dist/{chunk-7R2JQHBX.js → chunk-74NIHMAT.js} +3 -3
  140. package/dist/{chunk-5MJHH72T.js → chunk-7EGWIME2.js} +4 -4
  141. package/dist/{chunk-WVX5AQXS.js → chunk-7H2D4VNU.js} +2 -2
  142. package/dist/{chunk-IUK5QGP5.js → chunk-7JZSFJHB.js} +2 -2
  143. package/dist/{chunk-AJPW3SV4.js → chunk-7OIBLMDP.js} +2 -2
  144. package/dist/{chunk-5YFY4SFC.js → chunk-AJ7PY4FJ.js} +2 -2
  145. package/dist/{chunk-3ABPIUCK.js → chunk-B254JG72.js} +2 -2
  146. package/dist/{chunk-F33EDYS7.js → chunk-BCFHMBMK.js} +7 -7
  147. package/dist/{chunk-TJQDL3JH.js → chunk-BPD4IJBG.js} +2 -2
  148. package/dist/{chunk-FB3B45FP.js → chunk-BQWUXC55.js} +9 -9
  149. package/dist/{chunk-DGLRZMXL.js → chunk-BWKZEW6K.js} +3 -3
  150. package/dist/{chunk-MOKYT3X3.js → chunk-C6JL6PBL.js} +3 -3
  151. package/dist/{chunk-JWN7SLTO.js → chunk-CA64OZLZ.js} +6 -6
  152. package/dist/{chunk-GFSOXB2K.js → chunk-CEQUNJJY.js} +2 -2
  153. package/dist/{chunk-DFXZYNTX.js → chunk-CKA4SJRK.js} +2 -2
  154. package/dist/{chunk-D64Z4V26.js → chunk-CPKD2YGK.js} +5 -5
  155. package/dist/{chunk-PKEKZ2VA.js → chunk-CYO5HL4C.js} +9 -25
  156. package/dist/chunk-CYO5HL4C.js.map +1 -0
  157. package/dist/{chunk-A2E3ZF6N.js → chunk-D4QOZXPM.js} +2 -2
  158. package/dist/{chunk-A6CK4ENG.js → chunk-DAQG3C4W.js} +6 -6
  159. package/dist/{chunk-7PUFAH4I.js → chunk-DNLXQUBX.js} +12 -12
  160. package/dist/{chunk-ZX5H7LWD.js → chunk-DNWBLT4U.js} +2 -2
  161. package/dist/{chunk-4U4GXWXS.js → chunk-DNYD7AUG.js} +3 -3
  162. package/dist/{chunk-EMCB6XKU.js → chunk-DZH2HTTB.js} +1 -1
  163. package/dist/{chunk-Z6E6TUAE.js → chunk-EURDMOXZ.js} +2 -2
  164. package/dist/{chunk-UUSAOIJR.js → chunk-F4B2YYCN.js} +3 -3
  165. package/dist/{chunk-ENS6E4RZ.js → chunk-FH75NNLB.js} +2 -2
  166. package/dist/{chunk-H4IE2PYF.js → chunk-FMATVQFW.js} +6 -6
  167. package/dist/{chunk-ECHYJP63.js → chunk-FVCLVASD.js} +21 -21
  168. package/dist/{chunk-PMD7V4N7.js → chunk-G3FU2IF7.js} +3 -3
  169. package/dist/{chunk-HUXDGWAN.js → chunk-GMVKCEBG.js} +2 -2
  170. package/dist/{chunk-SWCLN6JE.js → chunk-GRNE5ANU.js} +2 -2
  171. package/dist/{chunk-IPPVX5GF.js → chunk-GTR2WUBA.js} +1 -1
  172. package/dist/{chunk-BT2MVGHT.js → chunk-GTR5NLVP.js} +2 -2
  173. package/dist/{chunk-HNNM2GDN.js → chunk-GUIZDI5T.js} +2 -2
  174. package/dist/{chunk-ND2WCWXI.js → chunk-GXK4CUAB.js} +2 -2
  175. package/dist/{chunk-MJQBC7C5.js → chunk-HCCSAECI.js} +2 -2
  176. package/dist/{chunk-QLIDZGPV.js → chunk-HJTTDLF6.js} +4 -4
  177. package/dist/{chunk-WUHB422G.js → chunk-HTKVYEVB.js} +2 -2
  178. package/dist/{chunk-DKCX643S.js → chunk-HXZIX7MR.js} +8 -8
  179. package/dist/{chunk-DJFTH2DI.js → chunk-I57HZMMA.js} +2 -2
  180. package/dist/{chunk-VPNXQUUS.js → chunk-I74J2UZ2.js} +8 -8
  181. package/dist/{chunk-5TLEWXAB.js → chunk-IKQMSROV.js} +1 -13
  182. package/dist/chunk-IKQMSROV.js.map +1 -0
  183. package/dist/{chunk-A6T4FGE7.js → chunk-IWIMIRV3.js} +4 -4
  184. package/dist/{chunk-FVL4B552.js → chunk-JI6WPLZB.js} +4 -4
  185. package/dist/{chunk-RAMZTZOB.js → chunk-JJ7VMIEQ.js} +43 -43
  186. package/dist/{chunk-GDLDBR6B.js → chunk-JQKURO3S.js} +2 -2
  187. package/dist/{chunk-O2SBHS2N.js → chunk-K4FDZVMQ.js} +2 -2
  188. package/dist/{chunk-TLL22FFO.js → chunk-KUO5WFXG.js} +2 -2
  189. package/dist/{chunk-KUNFUSZ7.js → chunk-KVMFT6FN.js} +2 -2
  190. package/dist/{chunk-5M23GZA2.js → chunk-KW53DBY7.js} +2 -2
  191. package/dist/{chunk-5HIOVXOX.js → chunk-LG67ZNRU.js} +2 -2
  192. package/dist/{chunk-VW3BBTMA.js → chunk-LJZNHDKI.js} +2 -2
  193. package/dist/{chunk-CB574ERL.js → chunk-LR7U3HCD.js} +4 -4
  194. package/dist/{chunk-2FPS5H2D.js → chunk-M5E3CKSE.js} +2 -2
  195. package/dist/{chunk-3PEXVG4D.js → chunk-M7A226EQ.js} +2 -2
  196. package/dist/{chunk-IIO2MR3B.js → chunk-M7YEZR6X.js} +2 -2
  197. package/dist/{chunk-XU4I47IP.js → chunk-MB2DTUEG.js} +4 -4
  198. package/dist/{chunk-UGEWCWVV.js → chunk-MDRLP5DO.js} +3 -3
  199. package/dist/{chunk-SQDPHCK2.js → chunk-MHIYYHCL.js} +9 -9
  200. package/dist/{chunk-R7XCJWCD.js → chunk-MY6VZVCP.js} +3 -3
  201. package/dist/{chunk-BLPXOHG6.js → chunk-NF6Q4XTN.js} +3 -3
  202. package/dist/{chunk-EH7TTYE6.js → chunk-NPDL4W4Y.js} +52 -52
  203. package/dist/{chunk-NQQKOJDI.js → chunk-NURA4KUR.js} +2 -2
  204. package/dist/{chunk-25LWDG5D.js → chunk-NV5OYV3G.js} +5 -5
  205. package/dist/{chunk-TN5T5HRZ.js → chunk-NZMQDUOD.js} +5 -5
  206. package/dist/{chunk-WYDZP5F2.js → chunk-O4AWXTZQ.js} +3 -3
  207. package/dist/{chunk-XNACICAB.js → chunk-O5UOCMH4.js} +3 -3
  208. package/dist/{chunk-QBADR2FO.js → chunk-O73DRA77.js} +6 -6
  209. package/dist/{chunk-TR4HIKJ2.js → chunk-OHG2UQ2O.js} +3 -3
  210. package/dist/{chunk-7IYAHFPE.js → chunk-OLUG4IFF.js} +2 -2
  211. package/dist/{chunk-VWSFA4LJ.js → chunk-OWJD3V4V.js} +2 -2
  212. package/dist/{chunk-SFAU5R5S.js → chunk-PEGNFZ3F.js} +2 -2
  213. package/dist/{chunk-THVIT3PW.js → chunk-PQCFW2KT.js} +10 -10
  214. package/dist/{chunk-LMPTC4CX.js → chunk-QLDMF7MH.js} +2 -2
  215. package/dist/{chunk-DYJGYGPB.js → chunk-R5YZ3ROM.js} +2 -2
  216. package/dist/{chunk-SCNEQFIW.js → chunk-RABKQFTA.js} +2 -2
  217. package/dist/{chunk-PVR5EELP.js → chunk-RNBH5TSM.js} +2 -2
  218. package/dist/{chunk-2DL6NJP5.js → chunk-RXMIXKB3.js} +1 -1
  219. package/dist/{chunk-JFK7NTEA.js → chunk-S6WJ6TUT.js} +7 -1
  220. package/dist/{chunk-JFK7NTEA.js.map → chunk-S6WJ6TUT.js.map} +1 -1
  221. package/dist/{chunk-UXXFMF4X.js → chunk-SJPAKWWP.js} +2 -2
  222. package/dist/{chunk-FRP64DEK.js → chunk-SK57RWSA.js} +2 -2
  223. package/dist/{chunk-WSZQNTVN.js → chunk-SSZROOOI.js} +2 -2
  224. package/dist/{chunk-2CKVVAGP.js → chunk-TM2ZLY3Q.js} +13 -13
  225. package/dist/{chunk-7VN6VC3D.js → chunk-UHMMRQGU.js} +3 -3
  226. package/dist/{chunk-G2BX56CN.js → chunk-W57QFLQD.js} +3 -3
  227. package/dist/{chunk-TEPPPAJI.js → chunk-WLZVXCPZ.js} +3 -3
  228. package/dist/{chunk-PFAUGEV5.js → chunk-WN2MIB4Q.js} +2 -2
  229. package/dist/{chunk-QXEDIDBZ.js → chunk-WWM7WVD2.js} +2 -2
  230. package/dist/{chunk-AX6YJA5U.js → chunk-X7Z4B5GK.js} +2 -2
  231. package/dist/{chunk-WBPQ7OPC.js → chunk-XDCZBOEY.js} +1 -1
  232. package/dist/{chunk-4MQLGMV2.js → chunk-XGE75VPK.js} +3 -3
  233. package/dist/{chunk-LKJ2C7PH.js → chunk-ZPZYYSHW.js} +8 -8
  234. package/dist/{chunk-YG3IJCM2.js → chunk-ZRB4M3GG.js} +4 -4
  235. package/dist/{chunk-ERG355NM.js → chunk-ZWACUOU5.js} +3 -3
  236. package/dist/{chunk-XN6CALYY.js → chunk-ZZUKJ5HQ.js} +5 -5
  237. package/dist/composer.js +6 -6
  238. package/dist/{computer-viewer-VA5JONUH.js → computer-viewer-BWVNDFTO.js} +5 -5
  239. package/dist/connect.js +6 -6
  240. package/dist/desktop.js +2 -2
  241. package/dist/editor.js +2 -2
  242. package/dist/{embedded-new-voice-6BILAOUG.js → embedded-new-voice-GBXSZ3TO.js} +5 -5
  243. package/dist/{embedded-voice-UDE4JRKB.js → embedded-voice-MGI7EK7C.js} +5 -5
  244. package/dist/{fleet-decision-row-NN2HXDX3.js → fleet-decision-row-35S3GAUN.js} +2 -2
  245. package/dist/index.js +32 -32
  246. package/dist/interaction.js +5 -5
  247. package/dist/machines.js +3 -3
  248. package/dist/messages/en.d.ts +6 -0
  249. package/dist/messages.js +1 -1
  250. package/dist/{model-policy-picker-menu-NRTO6FRP.js → model-policy-picker-menu-KP53N6UJ.js} +4 -4
  251. package/dist/{platform-activity-row-ENQVIFTL.js → platform-activity-row-ISMXR7NJ.js} +2 -2
  252. package/dist/{queue-surface-implementation-H4XSNHZE.js → queue-surface-implementation-ULW7DDJA.js} +5 -5
  253. package/dist/realtime.js +4 -4
  254. package/dist/{sandbox-files-IEHODU35.js → sandbox-files-QYSD4XCZ.js} +6 -6
  255. package/dist/session-agents-model.d.ts +23 -1
  256. package/dist/session-agents-model.js +6 -1
  257. package/dist/session-app.js +109 -109
  258. package/dist/{session-realtime-JNKDSGH7.js → session-realtime-JXRLPNUH.js} +3 -3
  259. package/dist/session-realtime.js +2 -2
  260. package/dist/session-ui.js +24 -24
  261. package/dist/session.js +5 -5
  262. package/dist/sites.js +2 -2
  263. package/dist/terminal.js +2 -2
  264. package/dist/this-computer.js +3 -3
  265. package/dist/{timeline-annotation-markers-ZSOFW7PG.js → timeline-annotation-markers-OJYKHBEO.js} +2 -2
  266. package/dist/{timeline-annotation-selection-YWV2UC34.js → timeline-annotation-selection-6OAZLXFU.js} +2 -2
  267. package/dist/{timeline-annotations-dialog-ZWQVX2HI.js → timeline-annotations-dialog-5M6DP5FX.js} +3 -3
  268. package/dist/usage.js +2 -2
  269. package/dist/workbench.js +4 -4
  270. package/package.json +4 -4
  271. package/src/app/components/session/subagents.tsx +6 -28
  272. package/src/app/lib/format.tsx +2 -17
  273. package/src/messages/en.ts +6 -0
  274. package/src/session-agents-model.ts +75 -1
  275. package/dist/chunk-5TLEWXAB.js.map +0 -1
  276. package/dist/chunk-IE5YUCOT.js +0 -26
  277. package/dist/chunk-IE5YUCOT.js.map +0 -1
  278. package/dist/chunk-PKEKZ2VA.js.map +0 -1
  279. /package/dist/{browser-viewer-VPK3CV2H.js.map → browser-viewer-YQC6BFMS.js.map} +0 -0
  280. /package/dist/{chat-interactive-block-AMDSW656.js.map → chat-interactive-block-Z22YHDRU.js.map} +0 -0
  281. /package/dist/{chunk-TDIOBPLA.js.map → chunk-24POWVUY.js.map} +0 -0
  282. /package/dist/{chunk-SJORXXLV.js.map → chunk-26P7B46A.js.map} +0 -0
  283. /package/dist/{chunk-6O4VWKSO.js.map → chunk-27EORKJ4.js.map} +0 -0
  284. /package/dist/{chunk-WWOHORRO.js.map → chunk-2K27S6LK.js.map} +0 -0
  285. /package/dist/{chunk-OFB6TUDC.js.map → chunk-2LUO22FR.js.map} +0 -0
  286. /package/dist/{chunk-FSP334UU.js.map → chunk-2SZ3KC5S.js.map} +0 -0
  287. /package/dist/{chunk-GZGQHQI7.js.map → chunk-32HA7DXJ.js.map} +0 -0
  288. /package/dist/{chunk-PCJLH45G.js.map → chunk-3MQM4ZOC.js.map} +0 -0
  289. /package/dist/{chunk-SD4PPZFB.js.map → chunk-3ZZOE4SN.js.map} +0 -0
  290. /package/dist/{chunk-YGSJWWT3.js.map → chunk-467VRP4E.js.map} +0 -0
  291. /package/dist/{chunk-D3RK3NGM.js.map → chunk-4BF3DD6R.js.map} +0 -0
  292. /package/dist/{chunk-CDUDKETD.js.map → chunk-4ICPJZAB.js.map} +0 -0
  293. /package/dist/{chunk-I66ZB6KD.js.map → chunk-4PC7LIQK.js.map} +0 -0
  294. /package/dist/{chunk-D5OWJZQR.js.map → chunk-4RY64KQY.js.map} +0 -0
  295. /package/dist/{chunk-PUTS4DYW.js.map → chunk-4VJOZJDV.js.map} +0 -0
  296. /package/dist/{chunk-AOUCHCSB.js.map → chunk-4XKT4ENZ.js.map} +0 -0
  297. /package/dist/{chunk-F3FN6DO6.js.map → chunk-4XO346BW.js.map} +0 -0
  298. /package/dist/{chunk-YO64YVYL.js.map → chunk-65K5LV4L.js.map} +0 -0
  299. /package/dist/{chunk-KFWVBTUH.js.map → chunk-6JF7C3U3.js.map} +0 -0
  300. /package/dist/{chunk-LQ47YL6E.js.map → chunk-6K3WNTRI.js.map} +0 -0
  301. /package/dist/{chunk-CCR33J7L.js.map → chunk-6N7W3TOV.js.map} +0 -0
  302. /package/dist/{chunk-ILDOW2IQ.js.map → chunk-6PQBKMUL.js.map} +0 -0
  303. /package/dist/{chunk-VO6RVVP7.js.map → chunk-6VITVQ23.js.map} +0 -0
  304. /package/dist/{chunk-AIEXYO2X.js.map → chunk-6YDXUE5H.js.map} +0 -0
  305. /package/dist/{chunk-HPB4KSV3.js.map → chunk-72XEFLMD.js.map} +0 -0
  306. /package/dist/{chunk-7R2JQHBX.js.map → chunk-74NIHMAT.js.map} +0 -0
  307. /package/dist/{chunk-5MJHH72T.js.map → chunk-7EGWIME2.js.map} +0 -0
  308. /package/dist/{chunk-WVX5AQXS.js.map → chunk-7H2D4VNU.js.map} +0 -0
  309. /package/dist/{chunk-IUK5QGP5.js.map → chunk-7JZSFJHB.js.map} +0 -0
  310. /package/dist/{chunk-AJPW3SV4.js.map → chunk-7OIBLMDP.js.map} +0 -0
  311. /package/dist/{chunk-5YFY4SFC.js.map → chunk-AJ7PY4FJ.js.map} +0 -0
  312. /package/dist/{chunk-3ABPIUCK.js.map → chunk-B254JG72.js.map} +0 -0
  313. /package/dist/{chunk-F33EDYS7.js.map → chunk-BCFHMBMK.js.map} +0 -0
  314. /package/dist/{chunk-TJQDL3JH.js.map → chunk-BPD4IJBG.js.map} +0 -0
  315. /package/dist/{chunk-FB3B45FP.js.map → chunk-BQWUXC55.js.map} +0 -0
  316. /package/dist/{chunk-DGLRZMXL.js.map → chunk-BWKZEW6K.js.map} +0 -0
  317. /package/dist/{chunk-MOKYT3X3.js.map → chunk-C6JL6PBL.js.map} +0 -0
  318. /package/dist/{chunk-JWN7SLTO.js.map → chunk-CA64OZLZ.js.map} +0 -0
  319. /package/dist/{chunk-GFSOXB2K.js.map → chunk-CEQUNJJY.js.map} +0 -0
  320. /package/dist/{chunk-DFXZYNTX.js.map → chunk-CKA4SJRK.js.map} +0 -0
  321. /package/dist/{chunk-D64Z4V26.js.map → chunk-CPKD2YGK.js.map} +0 -0
  322. /package/dist/{chunk-A2E3ZF6N.js.map → chunk-D4QOZXPM.js.map} +0 -0
  323. /package/dist/{chunk-A6CK4ENG.js.map → chunk-DAQG3C4W.js.map} +0 -0
  324. /package/dist/{chunk-7PUFAH4I.js.map → chunk-DNLXQUBX.js.map} +0 -0
  325. /package/dist/{chunk-ZX5H7LWD.js.map → chunk-DNWBLT4U.js.map} +0 -0
  326. /package/dist/{chunk-4U4GXWXS.js.map → chunk-DNYD7AUG.js.map} +0 -0
  327. /package/dist/{chunk-EMCB6XKU.js.map → chunk-DZH2HTTB.js.map} +0 -0
  328. /package/dist/{chunk-Z6E6TUAE.js.map → chunk-EURDMOXZ.js.map} +0 -0
  329. /package/dist/{chunk-UUSAOIJR.js.map → chunk-F4B2YYCN.js.map} +0 -0
  330. /package/dist/{chunk-ENS6E4RZ.js.map → chunk-FH75NNLB.js.map} +0 -0
  331. /package/dist/{chunk-H4IE2PYF.js.map → chunk-FMATVQFW.js.map} +0 -0
  332. /package/dist/{chunk-ECHYJP63.js.map → chunk-FVCLVASD.js.map} +0 -0
  333. /package/dist/{chunk-PMD7V4N7.js.map → chunk-G3FU2IF7.js.map} +0 -0
  334. /package/dist/{chunk-HUXDGWAN.js.map → chunk-GMVKCEBG.js.map} +0 -0
  335. /package/dist/{chunk-SWCLN6JE.js.map → chunk-GRNE5ANU.js.map} +0 -0
  336. /package/dist/{chunk-IPPVX5GF.js.map → chunk-GTR2WUBA.js.map} +0 -0
  337. /package/dist/{chunk-BT2MVGHT.js.map → chunk-GTR5NLVP.js.map} +0 -0
  338. /package/dist/{chunk-HNNM2GDN.js.map → chunk-GUIZDI5T.js.map} +0 -0
  339. /package/dist/{chunk-ND2WCWXI.js.map → chunk-GXK4CUAB.js.map} +0 -0
  340. /package/dist/{chunk-MJQBC7C5.js.map → chunk-HCCSAECI.js.map} +0 -0
  341. /package/dist/{chunk-QLIDZGPV.js.map → chunk-HJTTDLF6.js.map} +0 -0
  342. /package/dist/{chunk-WUHB422G.js.map → chunk-HTKVYEVB.js.map} +0 -0
  343. /package/dist/{chunk-DKCX643S.js.map → chunk-HXZIX7MR.js.map} +0 -0
  344. /package/dist/{chunk-DJFTH2DI.js.map → chunk-I57HZMMA.js.map} +0 -0
  345. /package/dist/{chunk-VPNXQUUS.js.map → chunk-I74J2UZ2.js.map} +0 -0
  346. /package/dist/{chunk-A6T4FGE7.js.map → chunk-IWIMIRV3.js.map} +0 -0
  347. /package/dist/{chunk-FVL4B552.js.map → chunk-JI6WPLZB.js.map} +0 -0
  348. /package/dist/{chunk-RAMZTZOB.js.map → chunk-JJ7VMIEQ.js.map} +0 -0
  349. /package/dist/{chunk-GDLDBR6B.js.map → chunk-JQKURO3S.js.map} +0 -0
  350. /package/dist/{chunk-O2SBHS2N.js.map → chunk-K4FDZVMQ.js.map} +0 -0
  351. /package/dist/{chunk-TLL22FFO.js.map → chunk-KUO5WFXG.js.map} +0 -0
  352. /package/dist/{chunk-KUNFUSZ7.js.map → chunk-KVMFT6FN.js.map} +0 -0
  353. /package/dist/{chunk-5M23GZA2.js.map → chunk-KW53DBY7.js.map} +0 -0
  354. /package/dist/{chunk-5HIOVXOX.js.map → chunk-LG67ZNRU.js.map} +0 -0
  355. /package/dist/{chunk-VW3BBTMA.js.map → chunk-LJZNHDKI.js.map} +0 -0
  356. /package/dist/{chunk-CB574ERL.js.map → chunk-LR7U3HCD.js.map} +0 -0
  357. /package/dist/{chunk-2FPS5H2D.js.map → chunk-M5E3CKSE.js.map} +0 -0
  358. /package/dist/{chunk-3PEXVG4D.js.map → chunk-M7A226EQ.js.map} +0 -0
  359. /package/dist/{chunk-IIO2MR3B.js.map → chunk-M7YEZR6X.js.map} +0 -0
  360. /package/dist/{chunk-XU4I47IP.js.map → chunk-MB2DTUEG.js.map} +0 -0
  361. /package/dist/{chunk-UGEWCWVV.js.map → chunk-MDRLP5DO.js.map} +0 -0
  362. /package/dist/{chunk-SQDPHCK2.js.map → chunk-MHIYYHCL.js.map} +0 -0
  363. /package/dist/{chunk-R7XCJWCD.js.map → chunk-MY6VZVCP.js.map} +0 -0
  364. /package/dist/{chunk-BLPXOHG6.js.map → chunk-NF6Q4XTN.js.map} +0 -0
  365. /package/dist/{chunk-EH7TTYE6.js.map → chunk-NPDL4W4Y.js.map} +0 -0
  366. /package/dist/{chunk-NQQKOJDI.js.map → chunk-NURA4KUR.js.map} +0 -0
  367. /package/dist/{chunk-25LWDG5D.js.map → chunk-NV5OYV3G.js.map} +0 -0
  368. /package/dist/{chunk-TN5T5HRZ.js.map → chunk-NZMQDUOD.js.map} +0 -0
  369. /package/dist/{chunk-WYDZP5F2.js.map → chunk-O4AWXTZQ.js.map} +0 -0
  370. /package/dist/{chunk-XNACICAB.js.map → chunk-O5UOCMH4.js.map} +0 -0
  371. /package/dist/{chunk-QBADR2FO.js.map → chunk-O73DRA77.js.map} +0 -0
  372. /package/dist/{chunk-TR4HIKJ2.js.map → chunk-OHG2UQ2O.js.map} +0 -0
  373. /package/dist/{chunk-7IYAHFPE.js.map → chunk-OLUG4IFF.js.map} +0 -0
  374. /package/dist/{chunk-VWSFA4LJ.js.map → chunk-OWJD3V4V.js.map} +0 -0
  375. /package/dist/{chunk-SFAU5R5S.js.map → chunk-PEGNFZ3F.js.map} +0 -0
  376. /package/dist/{chunk-THVIT3PW.js.map → chunk-PQCFW2KT.js.map} +0 -0
  377. /package/dist/{chunk-LMPTC4CX.js.map → chunk-QLDMF7MH.js.map} +0 -0
  378. /package/dist/{chunk-DYJGYGPB.js.map → chunk-R5YZ3ROM.js.map} +0 -0
  379. /package/dist/{chunk-SCNEQFIW.js.map → chunk-RABKQFTA.js.map} +0 -0
  380. /package/dist/{chunk-PVR5EELP.js.map → chunk-RNBH5TSM.js.map} +0 -0
  381. /package/dist/{chunk-2DL6NJP5.js.map → chunk-RXMIXKB3.js.map} +0 -0
  382. /package/dist/{chunk-UXXFMF4X.js.map → chunk-SJPAKWWP.js.map} +0 -0
  383. /package/dist/{chunk-FRP64DEK.js.map → chunk-SK57RWSA.js.map} +0 -0
  384. /package/dist/{chunk-WSZQNTVN.js.map → chunk-SSZROOOI.js.map} +0 -0
  385. /package/dist/{chunk-2CKVVAGP.js.map → chunk-TM2ZLY3Q.js.map} +0 -0
  386. /package/dist/{chunk-7VN6VC3D.js.map → chunk-UHMMRQGU.js.map} +0 -0
  387. /package/dist/{chunk-G2BX56CN.js.map → chunk-W57QFLQD.js.map} +0 -0
  388. /package/dist/{chunk-TEPPPAJI.js.map → chunk-WLZVXCPZ.js.map} +0 -0
  389. /package/dist/{chunk-PFAUGEV5.js.map → chunk-WN2MIB4Q.js.map} +0 -0
  390. /package/dist/{chunk-QXEDIDBZ.js.map → chunk-WWM7WVD2.js.map} +0 -0
  391. /package/dist/{chunk-AX6YJA5U.js.map → chunk-X7Z4B5GK.js.map} +0 -0
  392. /package/dist/{chunk-WBPQ7OPC.js.map → chunk-XDCZBOEY.js.map} +0 -0
  393. /package/dist/{chunk-4MQLGMV2.js.map → chunk-XGE75VPK.js.map} +0 -0
  394. /package/dist/{chunk-LKJ2C7PH.js.map → chunk-ZPZYYSHW.js.map} +0 -0
  395. /package/dist/{chunk-YG3IJCM2.js.map → chunk-ZRB4M3GG.js.map} +0 -0
  396. /package/dist/{chunk-ERG355NM.js.map → chunk-ZWACUOU5.js.map} +0 -0
  397. /package/dist/{chunk-XN6CALYY.js.map → chunk-ZZUKJ5HQ.js.map} +0 -0
  398. /package/dist/{computer-viewer-VA5JONUH.js.map → computer-viewer-BWVNDFTO.js.map} +0 -0
  399. /package/dist/{embedded-new-voice-6BILAOUG.js.map → embedded-new-voice-GBXSZ3TO.js.map} +0 -0
  400. /package/dist/{embedded-voice-UDE4JRKB.js.map → embedded-voice-MGI7EK7C.js.map} +0 -0
  401. /package/dist/{fleet-decision-row-NN2HXDX3.js.map → fleet-decision-row-35S3GAUN.js.map} +0 -0
  402. /package/dist/{model-policy-picker-menu-NRTO6FRP.js.map → model-policy-picker-menu-KP53N6UJ.js.map} +0 -0
  403. /package/dist/{platform-activity-row-ENQVIFTL.js.map → platform-activity-row-ISMXR7NJ.js.map} +0 -0
  404. /package/dist/{queue-surface-implementation-H4XSNHZE.js.map → queue-surface-implementation-ULW7DDJA.js.map} +0 -0
  405. /package/dist/{sandbox-files-IEHODU35.js.map → sandbox-files-QYSD4XCZ.js.map} +0 -0
  406. /package/dist/{session-realtime-JNKDSGH7.js.map → session-realtime-JXRLPNUH.js.map} +0 -0
  407. /package/dist/{timeline-annotation-markers-ZSOFW7PG.js.map → timeline-annotation-markers-OJYKHBEO.js.map} +0 -0
  408. /package/dist/{timeline-annotation-selection-YWV2UC34.js.map → timeline-annotation-selection-6OAZLXFU.js.map} +0 -0
  409. /package/dist/{timeline-annotations-dialog-ZWQVX2HI.js.map → timeline-annotations-dialog-5M6DP5FX.js.map} +0 -0
@@ -30,20 +30,20 @@ import {
30
30
  Select
31
31
  } from "../../../chunk-IANYC4M4.js";
32
32
  import "../../../chunk-TFK4KFKA.js";
33
- import "../../../chunk-AOUCHCSB.js";
33
+ import "../../../chunk-4XKT4ENZ.js";
34
34
  import {
35
35
  eventDisplayLabel,
36
36
  isTerminalSessionStatus
37
- } from "../../../chunk-5HIOVXOX.js";
37
+ } from "../../../chunk-LG67ZNRU.js";
38
38
  import "../../../chunk-IIFO2H3P.js";
39
39
  import "../../../chunk-Z2S5VQG7.js";
40
- import "../../../chunk-J4OPEWC3.js";
41
40
  import {
42
41
  useWorkspaceRigs
43
42
  } from "../../../chunk-JNY5MT3I.js";
43
+ import "../../../chunk-J4OPEWC3.js";
44
44
  import {
45
45
  useWorkspaceMachines
46
- } from "../../../chunk-3PEXVG4D.js";
46
+ } from "../../../chunk-M7A226EQ.js";
47
47
  import {
48
48
  ConnectionPill,
49
49
  CopyableMono,
@@ -52,7 +52,7 @@ import {
52
52
  } from "../../../chunk-G46333YC.js";
53
53
  import {
54
54
  formatTimestamp
55
- } from "../../../chunk-5TLEWXAB.js";
55
+ } from "../../../chunk-IKQMSROV.js";
56
56
  import "../../../chunk-A3MTTRCX.js";
57
57
  import "../../../chunk-ECNX3UOI.js";
58
58
  import "../../../chunk-IZMUUUYD.js";
@@ -65,7 +65,7 @@ import "../../../chunk-O2LGEYG4.js";
65
65
  import "../../../chunk-XSOPQZGH.js";
66
66
  import {
67
67
  t
68
- } from "../../../chunk-TJQDL3JH.js";
68
+ } from "../../../chunk-BPD4IJBG.js";
69
69
  import {
70
70
  repositoryDisplayName
71
71
  } from "../../../chunk-L6Y4ALSM.js";
@@ -86,40 +86,41 @@ import "../../../chunk-XNTW77T6.js";
86
86
  import "../../../chunk-KS57MLGE.js";
87
87
  import "../../../chunk-TREHTIBD.js";
88
88
  import "../../../chunk-5OTQA7CM.js";
89
+ import "../../../chunk-6NXQCOLD.js";
89
90
  import "../../../chunk-A3KMTJZS.js";
90
91
  import "../../../chunk-QRKTESVE.js";
91
- import "../../../chunk-WSZQNTVN.js";
92
+ import "../../../chunk-SSZROOOI.js";
92
93
  import "../../../chunk-UBK725RK.js";
93
- import "../../../chunk-I66ZB6KD.js";
94
+ import "../../../chunk-4PC7LIQK.js";
94
95
  import "../../../chunk-WLEDGIVS.js";
95
96
  import {
96
97
  Button
97
98
  } from "../../../chunk-HMU5IELG.js";
98
- import "../../../chunk-MOKYT3X3.js";
99
+ import "../../../chunk-C6JL6PBL.js";
99
100
  import {
100
101
  StartupTimings
101
- } from "../../../chunk-H4IE2PYF.js";
102
- import "../../../chunk-5YFY4SFC.js";
102
+ } from "../../../chunk-FMATVQFW.js";
103
+ import "../../../chunk-AJ7PY4FJ.js";
103
104
  import "../../../chunk-V3K4RQO7.js";
104
- import "../../../chunk-ECHYJP63.js";
105
+ import "../../../chunk-FVCLVASD.js";
105
106
  import "../../../chunk-22GTC4MZ.js";
106
107
  import {
107
108
  SessionStatus
108
- } from "../../../chunk-ENS6E4RZ.js";
109
- import "../../../chunk-FRP64DEK.js";
110
- import "../../../chunk-4U4GXWXS.js";
109
+ } from "../../../chunk-FH75NNLB.js";
110
+ import "../../../chunk-SK57RWSA.js";
111
+ import "../../../chunk-DNYD7AUG.js";
111
112
  import "../../../chunk-KDQAWRYZ.js";
112
- import "../../../chunk-DFXZYNTX.js";
113
+ import "../../../chunk-CKA4SJRK.js";
113
114
  import {
114
115
  setStartupDetails,
115
116
  useStartupDetails
116
- } from "../../../chunk-F33EDYS7.js";
117
+ } from "../../../chunk-BCFHMBMK.js";
117
118
  import "../../../chunk-B27E3V37.js";
118
- import "../../../chunk-UUSAOIJR.js";
119
- import "../../../chunk-SD4PPZFB.js";
120
- import "../../../chunk-LMPTC4CX.js";
121
- import "../../../chunk-LQ47YL6E.js";
122
- import "../../../chunk-WYDZP5F2.js";
119
+ import "../../../chunk-F4B2YYCN.js";
120
+ import "../../../chunk-3ZZOE4SN.js";
121
+ import "../../../chunk-QLDMF7MH.js";
122
+ import "../../../chunk-6K3WNTRI.js";
123
+ import "../../../chunk-O4AWXTZQ.js";
123
124
  import "../../../chunk-EMIVOS73.js";
124
125
  import "../../../chunk-34EU25RL.js";
125
126
  import "../../../chunk-CPLCSM6K.js";
@@ -132,17 +133,17 @@ import "../../../chunk-ZOARMQY2.js";
132
133
  import "../../../chunk-NLAFNMPK.js";
133
134
  import {
134
135
  MACHINES_SESSION_POLL_MS
135
- } from "../../../chunk-QXEDIDBZ.js";
136
+ } from "../../../chunk-WWM7WVD2.js";
136
137
  import "../../../chunk-MK2TQO4Y.js";
137
- import "../../../chunk-SJORXXLV.js";
138
+ import "../../../chunk-26P7B46A.js";
138
139
  import "../../../chunk-OYQQJL3J.js";
139
140
  import "../../../chunk-RZLBICR5.js";
140
141
  import "../../../chunk-H3LIIAGE.js";
141
142
  import "../../../chunk-VHB3E6PT.js";
142
143
  import "../../../chunk-7N5AD2TC.js";
143
144
  import "../../../chunk-4U7SHFQ2.js";
144
- import "../../../chunk-CCR33J7L.js";
145
- import "../../../chunk-O2SBHS2N.js";
145
+ import "../../../chunk-6N7W3TOV.js";
146
+ import "../../../chunk-K4FDZVMQ.js";
146
147
  import "../../../chunk-C5ZCSVZ7.js";
147
148
  import {
148
149
  sessionSandboxLabel
@@ -164,11 +165,11 @@ import "../../../chunk-XV6ZYRHK.js";
164
165
  import "../../../chunk-IGVL3ELX.js";
165
166
  import "../../../chunk-PEHTX3V7.js";
166
167
  import "../../../chunk-NRP4REXE.js";
167
- import "../../../chunk-XU4I47IP.js";
168
+ import "../../../chunk-MB2DTUEG.js";
168
169
  import "../../../chunk-3IWPC6O3.js";
169
- import "../../../chunk-DJFTH2DI.js";
170
+ import "../../../chunk-I57HZMMA.js";
170
171
  import "../../../chunk-7RRMTSCI.js";
171
- import "../../../chunk-ERG355NM.js";
172
+ import "../../../chunk-ZWACUOU5.js";
172
173
  import "../../../chunk-PNNTR6KP.js";
173
174
  import {
174
175
  ModelName
@@ -176,7 +177,7 @@ import {
176
177
  import "../../../chunk-VYT4POBH.js";
177
178
  import "../../../chunk-6F34IWSA.js";
178
179
  import "../../../chunk-IQ64BNAG.js";
179
- import "../../../chunk-ZX5H7LWD.js";
180
+ import "../../../chunk-DNWBLT4U.js";
180
181
  import "../../../chunk-J3BHDXQQ.js";
181
182
  import {
182
183
  labelReasoningEffort
@@ -189,7 +190,7 @@ import "../../../chunk-TVQCDDSZ.js";
189
190
  import "../../../chunk-SJGAHTY5.js";
190
191
  import "../../../chunk-4NHJ6EXL.js";
191
192
  import "../../../chunk-TXS65BB2.js";
192
- import "../../../chunk-JFK7NTEA.js";
193
+ import "../../../chunk-S6WJ6TUT.js";
193
194
 
194
195
  // src/app/components/session/inspector.tsx
195
196
  import { CopyIcon, FileJsonIcon, Loader2Icon, RotateCcwIcon } from "lucide-react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/app/components/session/inspector.tsx"],"sourcesContent":["import { t } from \"../../lib/console-text\";\nimport { useWorkspaceRigs } from \"../../lib/use-workspace-rigs\";\nimport { useWorkspaceMachines } from \"../../lib/use-workspace-machines\";\nimport { StartupTimings, useStartupDetails, setStartupDetails } from \"../../../session-ui\";\nimport { buildTimeline } from \"../../../timeline\";\nimport { labelReasoningEffort } from \"../../../model-policy\";\nimport { ModelName } from \"../../../components/model-mark\";\nimport { PreferenceToggleRow } from \"../transcription-settings\";\nimport { SessionStatus as SessionStatusBadge } from \"../../../components/session-status\";\nimport type { SessionEventsConnectionState } from \"../../../hooks/use-session-events\";\nimport { MACHINES_SESSION_POLL_MS } from \"../../../machines\";\nimport { useNavigate } from \"../../lib/navigation\";\nimport { CopyIcon, FileJsonIcon, Loader2Icon, RotateCcwIcon } from \"lucide-react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { toast } from \"../../lib/toast\";\n\nimport { ConnectionPill, CopyableMono, InfoRow, InspectorSection } from \"../common\";\nimport { ModelContextInspectorPane } from \"./model-context-inspector\";\nimport { sessionSandboxLabel } from \"./sandbox-switcher\";\nimport { Button } from \"../../../ui/button\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"../../../ui/collapsible\";\nimport { ScrollArea } from \"../../../ui/scroll-area\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/tabs\";\nimport { Select } from \"../../../ui/select\";\nimport { useAppContext } from \"../../app-context\";\nimport { eventDisplayLabel, isTerminalSessionStatus } from \"../../lib/events\";\nimport { formatTimestamp } from \"../../lib/format\";\nimport { withOccurrenceKeys } from \"../../lib/react-key\";\nimport {\n retainSessionRestartAttemptAfterFailure,\n sessionRestartOperationController,\n} from \"../../lib/session-restart-operation-controller\";\nimport { classifySessionTenancyFailure } from \"../../lib/session-tenancy\";\nimport { repositoryDisplayName } from \"../../lib/session-tools\";\nimport type { Session, SessionEvent } from \"../../types\";\n\nexport function SessionInspector(props: {\n session: Session;\n events: SessionEvent[];\n connectionState: SessionEventsConnectionState;\n onReloadSession: () => Promise<void>;\n}) {\n const startupDetails = useStartupDetails();\n const startupPhases = useMemo(\n () => buildTimeline(t, props.events).filter((item) => item.kind === \"startup-phase\"),\n [props.events],\n );\n const context = useAppContext();\n const navigate = useNavigate();\n const rigs = useWorkspaceRigs({ workspaceId: props.session.workspaceId });\n const [selectedRigId, setSelectedRigId] = useState(props.session.rigId ?? \"\");\n const [restarting, setRestarting] = useState(false);\n const [runtimeFailure, setRuntimeFailure] = useState<string | null>(null);\n const restartScope = useMemo(\n () => ({\n principalId: `${context.accessContext.subjectId}:${context.accessKeyVersion}`,\n workspaceId: props.session.workspaceId,\n sessionId: props.session.id,\n }),\n [\n context.accessContext.subjectId,\n context.accessKeyVersion,\n props.session.id,\n props.session.workspaceId,\n ],\n );\n const pendingRestartAttempt = sessionRestartOperationController.snapshot(restartScope);\n useEffect(() => {\n setSelectedRigId(props.session.rigId ?? \"\");\n }, [props.session.id, props.session.rigId]);\n const restartWithSetup = async () => {\n if (!props.session.tenancy) return;\n const attempt = sessionRestartOperationController.prepare(\n restartScope,\n {\n visibility: props.session.tenancy.visibility,\n rigId: selectedRigId || null,\n },\n () => crypto.randomUUID(),\n );\n setRestarting(true);\n setRuntimeFailure(null);\n let receiptConfirmed = false;\n try {\n const result = await context.client.forkSession(props.session.workspaceId, props.session.id, {\n idempotencyKey: attempt.idempotencyKey,\n visibility: attempt.visibility,\n workspaceSharedAcknowledged: false,\n rigId: attempt.rigId,\n });\n receiptConfirmed = true;\n const destination = await context.client.getSession(result.workspaceId, result.sessionId, {\n fresh: true,\n });\n if (destination.workspaceId !== result.workspaceId || destination.id !== result.sessionId) {\n throw new Error(\"The restart receipt did not resolve to the expected session.\");\n }\n sessionRestartOperationController.settle(restartScope, attempt);\n toast.success(\"Restarted with new setup\", {\n description: \"The original session and sandbox were left unchanged.\",\n });\n void navigate({\n to: \"/workspaces/$workspaceId/sessions/$sessionId\",\n params: { workspaceId: result.workspaceId, sessionId: result.sessionId },\n });\n } catch (error) {\n const classified = classifySessionTenancyFailure(error);\n if (!retainSessionRestartAttemptAfterFailure(error, receiptConfirmed)) {\n sessionRestartOperationController.settle(restartScope, attempt);\n }\n const message = classified.message;\n setRuntimeFailure(message);\n toast.error(\"Session could not be restarted\", { description: message });\n } finally {\n setRestarting(false);\n }\n };\n const terminalSession = isTerminalSessionStatus(props.session.status);\n // The session's ACTIVE compute, not its home backend: when a connected machine\n // is active (live-swapped or targeted at create) show the machine name, so the\n // inspector agrees with the \"Run on\" header instead of reading \"modal\" while a\n // selfhosted box runs the turn. Degrades to the home backend when no machine is\n // active (or selfhosted is disabled → the fleet 404s to empty).\n const fleet = useWorkspaceMachines({\n sessionId: props.session.id,\n pollIntervalMs: MACHINES_SESSION_POLL_MS,\n });\n const activeMachine =\n fleet.machines.find((machine) => machine.active && machine.kind === \"selfhosted\") ?? null;\n // Compute context, honestly: don't fall back to the home backend while the\n // fleet is still resolving - that reads \"Cloud sandbox\" even when a machine\n // runs the turn. Show a loading/unavailable note until we actually know. The\n // home box uses the neutral label, never its hosting vendor.\n const computeUnknown = fleet.machines.length === 0 && (fleet.loading || Boolean(fleet.error));\n const computeLabel = activeMachine ? \"Machine\" : \"Sandbox\";\n const computeValue = activeMachine\n ? activeMachine.name\n : computeUnknown\n ? fleet.loading\n ? \"Checking…\"\n : \"Unavailable\"\n : sessionSandboxLabel(t, props.session.sandboxBackend);\n const displayEvents = props.events;\n const sortedEvents = [...displayEvents].sort((a, b) => b.sequence - a.sequence);\n const lifecycleEvents = [...displayEvents]\n .filter((event) => !event.type.endsWith(\".delta\"))\n .sort((a, b) => b.sequence - a.sequence);\n const repositories = props.session.resources.filter((resource) => resource.kind === \"repository\");\n\n return (\n <div className=\"flex h-full min-h-[28rem] w-full min-w-0 flex-col overflow-hidden\">\n <div className=\"flex min-w-0 items-center justify-between gap-3 border-b border-border px-3 py-3\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <FileJsonIcon className=\"size-4 shrink-0 text-brand\" />\n <div className=\"min-w-0\">\n <div className=\"text-sm font-medium\">\n {terminalSession ? \"Archived debug\" : \"Debug\"}\n </div>\n <div className=\"truncate text-xs text-fg-subtle\">{props.events.length} events</div>\n </div>\n </div>\n <ConnectionPill state={props.connectionState} />\n </div>\n\n <Tabs defaultValue=\"overview\" className=\"min-h-0 min-w-0 flex-1 gap-0 overflow-hidden\">\n <div className=\"min-w-0 border-b border-border px-2 py-2\">\n <TabsList className=\"flex !h-auto w-full min-w-0 flex-wrap justify-start gap-1 rounded-md bg-bg p-1\">\n <TabsTrigger value=\"overview\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Overview\n </TabsTrigger>\n <TabsTrigger value=\"context\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Context\n </TabsTrigger>\n <TabsTrigger value=\"events\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Events\n </TabsTrigger>\n <TabsTrigger value=\"timeline\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Timeline\n </TabsTrigger>\n <TabsTrigger value=\"startup\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Startup\n </TabsTrigger>\n <TabsTrigger value=\"raw\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Raw\n </TabsTrigger>\n </TabsList>\n </div>\n\n <TabsContent value=\"startup\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"space-y-5 p-3\">\n <PreferenceToggleRow\n label=\"Show startup details in chat\"\n description=\"Remembered in this browser. Timings are always recorded.\"\n checked={startupDetails}\n onToggle={() => setStartupDetails(!startupDetails)}\n wrapDescription\n />\n <StartupTimings phases={startupPhases} />\n </div>\n </ScrollArea>\n </TabsContent>\n <TabsContent value=\"overview\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-4 p-3\">\n <InspectorSection title=\"Session\">\n <InfoRow label=\"ID\" value={<CopyableMono value={props.session.id} />} />\n <InfoRow\n label=\"Status\"\n value={<SessionStatusBadge status={props.session.status} />}\n />\n <InfoRow\n label=\"Workflow\"\n value={\n props.session.temporalWorkflowId ? (\n <CopyableMono value={props.session.temporalWorkflowId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow\n label=\"Active turn\"\n value={\n props.session.activeTurnId ? (\n <CopyableMono value={props.session.activeTurnId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow label=\"Last seq\" value={String(props.session.lastSequence)} />\n <InfoRow label=\"Created\" value={formatTimestamp(props.session.createdAt)} />\n <InfoRow label=\"Updated\" value={formatTimestamp(props.session.updatedAt)} />\n </InspectorSection>\n\n <InspectorSection title=\"Runtime\">\n <InfoRow\n label=\"Model\"\n value={<ModelName model={props.session.model} markClassName=\"text-fg-muted\" />}\n />\n <InfoRow\n label=\"Effort\"\n value={labelReasoningEffort(t, props.session.reasoningEffort)}\n />\n <InfoRow label={computeLabel} value={computeValue} />\n <InfoRow label=\"Sandbox Environment\" value={props.session.rigId ?? \"none\"} />\n {props.session.tenancy ? (\n <div className=\"space-y-2 rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"text-xs font-medium\">Restart with sandbox environment</div>\n <Select\n value={selectedRigId}\n disabled={restarting || Boolean(pendingRestartAttempt)}\n onChange={(event) => setSelectedRigId(event.target.value)}\n className=\"h-8 w-full text-xs\"\n >\n <option value=\"\">No sandbox environment</option>\n {rigs.rigs.map((rig) => (\n <option key={rig.id} value={rig.id}>\n {rig.name}\n {rig.activeVersion ? ` (v${rig.activeVersion.version})` : \"\"}\n </option>\n ))}\n </Select>\n <p className=\"text-2xs text-fg-subtle\">\n Sandbox Environment setup is immutable for a live sandbox. Restart creates an\n independent history fork with a fresh sandbox and leaves this session\n unchanged.\n </p>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={restarting}\n onClick={() => void restartWithSetup()}\n >\n {restarting ? <Loader2Icon className=\"animate-spin\" /> : <RotateCcwIcon />}\n {pendingRestartAttempt ? \"Retry restart\" : \"Restart with setup\"}\n </Button>\n </div>\n ) : null}\n {runtimeFailure ? (\n <p className=\"text-2xs text-status-waiting\">{runtimeFailure}</p>\n ) : null}\n <InfoRow label=\"Stream\" value={props.connectionState} />\n </InspectorSection>\n\n <InspectorSection title=\"Repositories\">\n {repositories.length === 0 ? (\n <p className=\"text-xs text-fg-subtle\">\n No repositories selected for this session.\n </p>\n ) : (\n <div className=\"min-w-0 space-y-2\">\n {withOccurrenceKeys(repositories, (resource) => JSON.stringify(resource)).map(\n ({ key, item: resource }) => (\n <div\n key={key}\n className=\"min-w-0 rounded-md border border-border bg-bg/35 p-2\"\n >\n <div className=\"min-w-0 truncate text-xs font-medium\">\n {repositoryDisplayName(resource)}\n </div>\n <div className=\"mt-1 min-w-0 truncate font-mono text-2xs text-fg-subtle\">\n {resource.uri}\n </div>\n <div className=\"mt-2 flex min-w-0 flex-wrap gap-1.5 text-2xs text-fg-subtle\">\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n ref {resource.ref}\n </span>\n {resource.mountPath ? (\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n {resource.mountPath}\n </span>\n ) : null}\n </div>\n </div>\n ),\n )}\n </div>\n )}\n </InspectorSection>\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"context\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ModelContextInspectorPane\n workspaceId={props.session.workspaceId}\n sessionId={props.session.id}\n events={displayEvents}\n isRunning={props.session.status === \"running\"}\n />\n </TabsContent>\n\n <TabsContent value=\"events\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {sortedEvents.map((event) => (\n <EventDebugRow key={event.id} event={event} />\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"timeline\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {lifecycleEvents.map((event) => (\n <div key={event.id} className=\"rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"flex items-center justify-between gap-2 text-xs\">\n <span className=\"truncate font-medium\">{eventDisplayLabel(event)}</span>\n <span className=\"shrink-0 font-mono text-2xs text-fg-subtle\">\n #{event.sequence}\n </span>\n </div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">\n {formatTimestamp(event.occurredAt)}\n </div>\n </div>\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"raw\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <RawJsonPane value={{ session: props.session, events: displayEvents }} />\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n\nfunction EventDebugRow({ event }: { event: SessionEvent }) {\n const [open, setOpen] = useState(false);\n return (\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n className=\"min-w-0 overflow-hidden rounded-md border border-border bg-bg/35\"\n >\n <CollapsibleTrigger asChild>\n <button\n type=\"button\"\n className=\"flex w-full min-w-0 items-center justify-between gap-2 p-2 text-left\"\n >\n <div className=\"min-w-0\">\n <div className=\"truncate text-xs font-medium\">{eventDisplayLabel(event)}</div>\n <div className=\"mt-1 truncate font-mono text-2xs text-fg-subtle\">\n {event.turnId ?? event.id}\n </div>\n </div>\n <div className=\"shrink-0 text-right\">\n <div className=\"font-mono text-2xs text-fg-muted\">#{event.sequence}</div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">{formatTimestamp(event.occurredAt)}</div>\n </div>\n </button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <pre className=\"max-h-72 max-w-full overflow-auto border-t border-border p-2 text-2xs leading-5 text-fg-muted\">\n {JSON.stringify(event.payload, null, 2)}\n </pre>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n\nfunction RawJsonPane({ value }: { value: unknown }) {\n const json = JSON.stringify(value, null, 2);\n return (\n <div className=\"flex h-full min-h-0 min-w-0 flex-col overflow-hidden\">\n <div className=\"flex items-center justify-end border-b border-border p-2\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"xs\"\n onClick={() => {\n void navigator.clipboard.writeText(json);\n toast.success(\"Copied raw JSON\");\n }}\n >\n <CopyIcon className=\"size-3\" />\n Copy\n </Button>\n </div>\n <ScrollArea className=\"min-h-0 min-w-0 flex-1\">\n <pre className=\"max-w-full overflow-auto p-3 text-2xs leading-5 text-fg-muted\">{json}</pre>\n </ScrollArea>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/app/components/session/inspector.tsx"],"sourcesContent":["import { t } from \"../../lib/console-text\";\nimport { useWorkspaceRigs } from \"../../lib/use-workspace-rigs\";\nimport { useWorkspaceMachines } from \"../../lib/use-workspace-machines\";\nimport { StartupTimings, useStartupDetails, setStartupDetails } from \"../../../session-ui\";\nimport { buildTimeline } from \"../../../timeline\";\nimport { labelReasoningEffort } from \"../../../model-policy\";\nimport { ModelName } from \"../../../components/model-mark\";\nimport { PreferenceToggleRow } from \"../transcription-settings\";\nimport { SessionStatus as SessionStatusBadge } from \"../../../components/session-status\";\nimport type { SessionEventsConnectionState } from \"../../../hooks/use-session-events\";\nimport { MACHINES_SESSION_POLL_MS } from \"../../../machines\";\nimport { useNavigate } from \"../../lib/navigation\";\nimport { CopyIcon, FileJsonIcon, Loader2Icon, RotateCcwIcon } from \"lucide-react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { toast } from \"../../lib/toast\";\n\nimport { ConnectionPill, CopyableMono, InfoRow, InspectorSection } from \"../common\";\nimport { ModelContextInspectorPane } from \"./model-context-inspector\";\nimport { sessionSandboxLabel } from \"./sandbox-switcher\";\nimport { Button } from \"../../../ui/button\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"../../../ui/collapsible\";\nimport { ScrollArea } from \"../../../ui/scroll-area\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/tabs\";\nimport { Select } from \"../../../ui/select\";\nimport { useAppContext } from \"../../app-context\";\nimport { eventDisplayLabel, isTerminalSessionStatus } from \"../../lib/events\";\nimport { formatTimestamp } from \"../../lib/format\";\nimport { withOccurrenceKeys } from \"../../lib/react-key\";\nimport {\n retainSessionRestartAttemptAfterFailure,\n sessionRestartOperationController,\n} from \"../../lib/session-restart-operation-controller\";\nimport { classifySessionTenancyFailure } from \"../../lib/session-tenancy\";\nimport { repositoryDisplayName } from \"../../lib/session-tools\";\nimport type { Session, SessionEvent } from \"../../types\";\n\nexport function SessionInspector(props: {\n session: Session;\n events: SessionEvent[];\n connectionState: SessionEventsConnectionState;\n onReloadSession: () => Promise<void>;\n}) {\n const startupDetails = useStartupDetails();\n const startupPhases = useMemo(\n () => buildTimeline(t, props.events).filter((item) => item.kind === \"startup-phase\"),\n [props.events],\n );\n const context = useAppContext();\n const navigate = useNavigate();\n const rigs = useWorkspaceRigs({ workspaceId: props.session.workspaceId });\n const [selectedRigId, setSelectedRigId] = useState(props.session.rigId ?? \"\");\n const [restarting, setRestarting] = useState(false);\n const [runtimeFailure, setRuntimeFailure] = useState<string | null>(null);\n const restartScope = useMemo(\n () => ({\n principalId: `${context.accessContext.subjectId}:${context.accessKeyVersion}`,\n workspaceId: props.session.workspaceId,\n sessionId: props.session.id,\n }),\n [\n context.accessContext.subjectId,\n context.accessKeyVersion,\n props.session.id,\n props.session.workspaceId,\n ],\n );\n const pendingRestartAttempt = sessionRestartOperationController.snapshot(restartScope);\n useEffect(() => {\n setSelectedRigId(props.session.rigId ?? \"\");\n }, [props.session.id, props.session.rigId]);\n const restartWithSetup = async () => {\n if (!props.session.tenancy) return;\n const attempt = sessionRestartOperationController.prepare(\n restartScope,\n {\n visibility: props.session.tenancy.visibility,\n rigId: selectedRigId || null,\n },\n () => crypto.randomUUID(),\n );\n setRestarting(true);\n setRuntimeFailure(null);\n let receiptConfirmed = false;\n try {\n const result = await context.client.forkSession(props.session.workspaceId, props.session.id, {\n idempotencyKey: attempt.idempotencyKey,\n visibility: attempt.visibility,\n workspaceSharedAcknowledged: false,\n rigId: attempt.rigId,\n });\n receiptConfirmed = true;\n const destination = await context.client.getSession(result.workspaceId, result.sessionId, {\n fresh: true,\n });\n if (destination.workspaceId !== result.workspaceId || destination.id !== result.sessionId) {\n throw new Error(\"The restart receipt did not resolve to the expected session.\");\n }\n sessionRestartOperationController.settle(restartScope, attempt);\n toast.success(\"Restarted with new setup\", {\n description: \"The original session and sandbox were left unchanged.\",\n });\n void navigate({\n to: \"/workspaces/$workspaceId/sessions/$sessionId\",\n params: { workspaceId: result.workspaceId, sessionId: result.sessionId },\n });\n } catch (error) {\n const classified = classifySessionTenancyFailure(error);\n if (!retainSessionRestartAttemptAfterFailure(error, receiptConfirmed)) {\n sessionRestartOperationController.settle(restartScope, attempt);\n }\n const message = classified.message;\n setRuntimeFailure(message);\n toast.error(\"Session could not be restarted\", { description: message });\n } finally {\n setRestarting(false);\n }\n };\n const terminalSession = isTerminalSessionStatus(props.session.status);\n // The session's ACTIVE compute, not its home backend: when a connected machine\n // is active (live-swapped or targeted at create) show the machine name, so the\n // inspector agrees with the \"Run on\" header instead of reading \"modal\" while a\n // selfhosted box runs the turn. Degrades to the home backend when no machine is\n // active (or selfhosted is disabled → the fleet 404s to empty).\n const fleet = useWorkspaceMachines({\n sessionId: props.session.id,\n pollIntervalMs: MACHINES_SESSION_POLL_MS,\n });\n const activeMachine =\n fleet.machines.find((machine) => machine.active && machine.kind === \"selfhosted\") ?? null;\n // Compute context, honestly: don't fall back to the home backend while the\n // fleet is still resolving - that reads \"Cloud sandbox\" even when a machine\n // runs the turn. Show a loading/unavailable note until we actually know. The\n // home box uses the neutral label, never its hosting vendor.\n const computeUnknown = fleet.machines.length === 0 && (fleet.loading || Boolean(fleet.error));\n const computeLabel = activeMachine ? \"Machine\" : \"Sandbox\";\n const computeValue = activeMachine\n ? activeMachine.name\n : computeUnknown\n ? fleet.loading\n ? \"Checking…\"\n : \"Unavailable\"\n : sessionSandboxLabel(t, props.session.sandboxBackend);\n const displayEvents = props.events;\n const sortedEvents = [...displayEvents].sort((a, b) => b.sequence - a.sequence);\n const lifecycleEvents = [...displayEvents]\n .filter((event) => !event.type.endsWith(\".delta\"))\n .sort((a, b) => b.sequence - a.sequence);\n const repositories = props.session.resources.filter((resource) => resource.kind === \"repository\");\n\n return (\n <div className=\"flex h-full min-h-[28rem] w-full min-w-0 flex-col overflow-hidden\">\n <div className=\"flex min-w-0 items-center justify-between gap-3 border-b border-border px-3 py-3\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <FileJsonIcon className=\"size-4 shrink-0 text-brand\" />\n <div className=\"min-w-0\">\n <div className=\"text-sm font-medium\">\n {terminalSession ? \"Archived debug\" : \"Debug\"}\n </div>\n <div className=\"truncate text-xs text-fg-subtle\">{props.events.length} events</div>\n </div>\n </div>\n <ConnectionPill state={props.connectionState} />\n </div>\n\n <Tabs defaultValue=\"overview\" className=\"min-h-0 min-w-0 flex-1 gap-0 overflow-hidden\">\n <div className=\"min-w-0 border-b border-border px-2 py-2\">\n <TabsList className=\"flex !h-auto w-full min-w-0 flex-wrap justify-start gap-1 rounded-md bg-bg p-1\">\n <TabsTrigger value=\"overview\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Overview\n </TabsTrigger>\n <TabsTrigger value=\"context\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Context\n </TabsTrigger>\n <TabsTrigger value=\"events\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Events\n </TabsTrigger>\n <TabsTrigger value=\"timeline\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Timeline\n </TabsTrigger>\n <TabsTrigger value=\"startup\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Startup\n </TabsTrigger>\n <TabsTrigger value=\"raw\" className=\"h-7 min-w-max flex-none rounded px-2 text-2xs\">\n Raw\n </TabsTrigger>\n </TabsList>\n </div>\n\n <TabsContent value=\"startup\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"space-y-5 p-3\">\n <PreferenceToggleRow\n label=\"Show startup details in chat\"\n description=\"Remembered in this browser. Timings are always recorded.\"\n checked={startupDetails}\n onToggle={() => setStartupDetails(!startupDetails)}\n wrapDescription\n />\n <StartupTimings phases={startupPhases} />\n </div>\n </ScrollArea>\n </TabsContent>\n <TabsContent value=\"overview\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-4 p-3\">\n <InspectorSection title=\"Session\">\n <InfoRow label=\"ID\" value={<CopyableMono value={props.session.id} />} />\n <InfoRow\n label=\"Status\"\n value={<SessionStatusBadge status={props.session.status} />}\n />\n <InfoRow\n label=\"Workflow\"\n value={\n props.session.temporalWorkflowId ? (\n <CopyableMono value={props.session.temporalWorkflowId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow\n label=\"Active turn\"\n value={\n props.session.activeTurnId ? (\n <CopyableMono value={props.session.activeTurnId} />\n ) : (\n \"none\"\n )\n }\n />\n <InfoRow label=\"Last seq\" value={String(props.session.lastSequence)} />\n <InfoRow label=\"Created\" value={formatTimestamp(props.session.createdAt)} />\n <InfoRow label=\"Updated\" value={formatTimestamp(props.session.updatedAt)} />\n </InspectorSection>\n\n <InspectorSection title=\"Runtime\">\n <InfoRow\n label=\"Model\"\n value={<ModelName model={props.session.model} markClassName=\"text-fg-muted\" />}\n />\n <InfoRow\n label=\"Effort\"\n value={labelReasoningEffort(t, props.session.reasoningEffort)}\n />\n <InfoRow label={computeLabel} value={computeValue} />\n <InfoRow label=\"Sandbox Environment\" value={props.session.rigId ?? \"none\"} />\n {props.session.tenancy ? (\n <div className=\"space-y-2 rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"text-xs font-medium\">Restart with sandbox environment</div>\n <Select\n value={selectedRigId}\n disabled={restarting || Boolean(pendingRestartAttempt)}\n onChange={(event) => setSelectedRigId(event.target.value)}\n className=\"h-8 w-full text-xs\"\n >\n <option value=\"\">No sandbox environment</option>\n {rigs.rigs.map((rig) => (\n <option key={rig.id} value={rig.id}>\n {rig.name}\n {rig.activeVersion ? ` (v${rig.activeVersion.version})` : \"\"}\n </option>\n ))}\n </Select>\n <p className=\"text-2xs text-fg-subtle\">\n Sandbox Environment setup is immutable for a live sandbox. Restart creates an\n independent history fork with a fresh sandbox and leaves this session\n unchanged.\n </p>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={restarting}\n onClick={() => void restartWithSetup()}\n >\n {restarting ? <Loader2Icon className=\"animate-spin\" /> : <RotateCcwIcon />}\n {pendingRestartAttempt ? \"Retry restart\" : \"Restart with setup\"}\n </Button>\n </div>\n ) : null}\n {runtimeFailure ? (\n <p className=\"text-2xs text-status-waiting\">{runtimeFailure}</p>\n ) : null}\n <InfoRow label=\"Stream\" value={props.connectionState} />\n </InspectorSection>\n\n <InspectorSection title=\"Repositories\">\n {repositories.length === 0 ? (\n <p className=\"text-xs text-fg-subtle\">\n No repositories selected for this session.\n </p>\n ) : (\n <div className=\"min-w-0 space-y-2\">\n {withOccurrenceKeys(repositories, (resource) => JSON.stringify(resource)).map(\n ({ key, item: resource }) => (\n <div\n key={key}\n className=\"min-w-0 rounded-md border border-border bg-bg/35 p-2\"\n >\n <div className=\"min-w-0 truncate text-xs font-medium\">\n {repositoryDisplayName(resource)}\n </div>\n <div className=\"mt-1 min-w-0 truncate font-mono text-2xs text-fg-subtle\">\n {resource.uri}\n </div>\n <div className=\"mt-2 flex min-w-0 flex-wrap gap-1.5 text-2xs text-fg-subtle\">\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n ref {resource.ref}\n </span>\n {resource.mountPath ? (\n <span className=\"max-w-full truncate rounded border border-border px-1.5 py-0.5\">\n {resource.mountPath}\n </span>\n ) : null}\n </div>\n </div>\n ),\n )}\n </div>\n )}\n </InspectorSection>\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"context\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ModelContextInspectorPane\n workspaceId={props.session.workspaceId}\n sessionId={props.session.id}\n events={displayEvents}\n isRunning={props.session.status === \"running\"}\n />\n </TabsContent>\n\n <TabsContent value=\"events\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {sortedEvents.map((event) => (\n <EventDebugRow key={event.id} event={event} />\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"timeline\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <ScrollArea className=\"h-full min-w-0\">\n <div className=\"min-w-0 space-y-2 p-3\">\n {lifecycleEvents.map((event) => (\n <div key={event.id} className=\"rounded-md border border-border bg-bg/35 p-2\">\n <div className=\"flex items-center justify-between gap-2 text-xs\">\n <span className=\"truncate font-medium\">{eventDisplayLabel(event)}</span>\n <span className=\"shrink-0 font-mono text-2xs text-fg-subtle\">\n #{event.sequence}\n </span>\n </div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">\n {formatTimestamp(event.occurredAt)}\n </div>\n </div>\n ))}\n </div>\n </ScrollArea>\n </TabsContent>\n\n <TabsContent value=\"raw\" className=\"min-h-0 min-w-0 overflow-hidden\">\n <RawJsonPane value={{ session: props.session, events: displayEvents }} />\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n\nfunction EventDebugRow({ event }: { event: SessionEvent }) {\n const [open, setOpen] = useState(false);\n return (\n <Collapsible\n open={open}\n onOpenChange={setOpen}\n className=\"min-w-0 overflow-hidden rounded-md border border-border bg-bg/35\"\n >\n <CollapsibleTrigger asChild>\n <button\n type=\"button\"\n className=\"flex w-full min-w-0 items-center justify-between gap-2 p-2 text-left\"\n >\n <div className=\"min-w-0\">\n <div className=\"truncate text-xs font-medium\">{eventDisplayLabel(event)}</div>\n <div className=\"mt-1 truncate font-mono text-2xs text-fg-subtle\">\n {event.turnId ?? event.id}\n </div>\n </div>\n <div className=\"shrink-0 text-right\">\n <div className=\"font-mono text-2xs text-fg-muted\">#{event.sequence}</div>\n <div className=\"mt-1 text-2xs text-fg-subtle\">{formatTimestamp(event.occurredAt)}</div>\n </div>\n </button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <pre className=\"max-h-72 max-w-full overflow-auto border-t border-border p-2 text-2xs leading-5 text-fg-muted\">\n {JSON.stringify(event.payload, null, 2)}\n </pre>\n </CollapsibleContent>\n </Collapsible>\n );\n}\n\nfunction RawJsonPane({ value }: { value: unknown }) {\n const json = JSON.stringify(value, null, 2);\n return (\n <div className=\"flex h-full min-h-0 min-w-0 flex-col overflow-hidden\">\n <div className=\"flex items-center justify-end border-b border-border p-2\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"xs\"\n onClick={() => {\n void navigator.clipboard.writeText(json);\n toast.success(\"Copied raw JSON\");\n }}\n >\n <CopyIcon className=\"size-3\" />\n Copy\n </Button>\n </div>\n <ScrollArea className=\"min-h-0 min-w-0 flex-1\">\n <pre className=\"max-w-full overflow-auto p-3 text-2xs leading-5 text-fg-muted\">{json}</pre>\n </ScrollArea>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  import {
3
3
  SessionFeedback
4
- } from "../../../chunk-VWSFA4LJ.js";
4
+ } from "../../../chunk-OWJD3V4V.js";
5
5
  import "../../../chunk-QAWWQS4L.js";
6
6
  import "../../../chunk-WMSCYECP.js";
7
7
  import "../../../chunk-HZUL2CUH.js";
8
- import "../../../chunk-TJQDL3JH.js";
8
+ import "../../../chunk-BPD4IJBG.js";
9
9
  import "../../../chunk-L4OF77LE.js";
10
10
  import "../../../chunk-A3KMTJZS.js";
11
11
  import "../../../chunk-HMU5IELG.js";
12
12
  import "../../../chunk-LRNZ5F2R.js";
13
13
  import "../../../chunk-J3BHDXQQ.js";
14
14
  import "../../../chunk-TXS65BB2.js";
15
- import "../../../chunk-JFK7NTEA.js";
15
+ import "../../../chunk-S6WJ6TUT.js";
16
16
 
17
17
  // src/app/components/session/message-actions.tsx
18
18
  import { GitForkIcon } from "lucide-react";
@@ -20,12 +20,12 @@ import {
20
20
  import {
21
21
  useAppContext
22
22
  } from "../../../chunk-W6KAUGXO.js";
23
- import "../../../chunk-F33EDYS7.js";
23
+ import "../../../chunk-BCFHMBMK.js";
24
24
  import "../../../chunk-B27E3V37.js";
25
- import "../../../chunk-LQ47YL6E.js";
25
+ import "../../../chunk-6K3WNTRI.js";
26
26
  import "../../../chunk-UD2PSIIX.js";
27
27
  import "../../../chunk-6MRY2RUZ.js";
28
- import "../../../chunk-SJORXXLV.js";
28
+ import "../../../chunk-26P7B46A.js";
29
29
  import "../../../chunk-OYQQJL3J.js";
30
30
  import "../../../chunk-RZLBICR5.js";
31
31
  import "../../../chunk-H3LIIAGE.js";
@@ -42,13 +42,13 @@ import "../../../chunk-UNJPZGNK.js";
42
42
  import "../../../chunk-PEHTX3V7.js";
43
43
  import {
44
44
  useLightboxOptional
45
- } from "../../../chunk-ZX5H7LWD.js";
45
+ } from "../../../chunk-DNWBLT4U.js";
46
46
  import "../../../chunk-J3BHDXQQ.js";
47
47
  import "../../../chunk-XEA5BCMA.js";
48
48
  import "../../../chunk-SJGAHTY5.js";
49
49
  import "../../../chunk-4NHJ6EXL.js";
50
50
  import "../../../chunk-TXS65BB2.js";
51
- import "../../../chunk-JFK7NTEA.js";
51
+ import "../../../chunk-S6WJ6TUT.js";
52
52
 
53
53
  // src/app/components/session/message-resource-attachments.tsx
54
54
  import { AppWindowIcon, DownloadIcon, FileJsonIcon, ImageIcon } from "lucide-react";
@@ -1,20 +1,20 @@
1
1
  "use client";
2
2
  import {
3
3
  ModelAccountIndicator
4
- } from "../../../chunk-MJQBC7C5.js";
4
+ } from "../../../chunk-HCCSAECI.js";
5
5
  import "../../../chunk-M77ZQE5T.js";
6
6
  import "../../../chunk-3SMJ2BIQ.js";
7
- import "../../../chunk-IIO2MR3B.js";
7
+ import "../../../chunk-M7YEZR6X.js";
8
8
  import "../../../chunk-Z63GB7JI.js";
9
9
  import "../../../chunk-A3MTTRCX.js";
10
10
  import "../../../chunk-TREHTIBD.js";
11
11
  import "../../../chunk-5OTQA7CM.js";
12
12
  import "../../../chunk-BMJTNPWK.js";
13
- import "../../../chunk-DFXZYNTX.js";
13
+ import "../../../chunk-CKA4SJRK.js";
14
14
  import "../../../chunk-NLAFNMPK.js";
15
15
  import "../../../chunk-RZLBICR5.js";
16
16
  import "../../../chunk-IGVL3ELX.js";
17
- import "../../../chunk-ERG355NM.js";
17
+ import "../../../chunk-ZWACUOU5.js";
18
18
  import "../../../chunk-PNNTR6KP.js";
19
19
  import "../../../chunk-WJPMYXKZ.js";
20
20
  import "../../../chunk-VYT4POBH.js";
@@ -27,7 +27,7 @@ import "../../../chunk-2KO2G3RI.js";
27
27
  import "../../../chunk-CM7LVUKC.js";
28
28
  import "../../../chunk-TVQCDDSZ.js";
29
29
  import "../../../chunk-TXS65BB2.js";
30
- import "../../../chunk-JFK7NTEA.js";
30
+ import "../../../chunk-S6WJ6TUT.js";
31
31
  export {
32
32
  ModelAccountIndicator
33
33
  };
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import {
3
3
  ModelRecoveryNotice
4
- } from "../../../chunk-3ABPIUCK.js";
5
- import "../../../chunk-FRP64DEK.js";
4
+ } from "../../../chunk-B254JG72.js";
5
+ import "../../../chunk-SK57RWSA.js";
6
6
  import "../../../chunk-4NHJ6EXL.js";
7
7
  import "../../../chunk-TXS65BB2.js";
8
- import "../../../chunk-JFK7NTEA.js";
8
+ import "../../../chunk-S6WJ6TUT.js";
9
9
  export {
10
10
  ModelRecoveryNotice
11
11
  };
@@ -10,7 +10,7 @@ import {
10
10
  runsOnAttention,
11
11
  runsOnSummary,
12
12
  visibilitySummary
13
- } from "../../../chunk-HNNM2GDN.js";
13
+ } from "../../../chunk-GUIZDI5T.js";
14
14
  import "../../../chunk-Z2S5VQG7.js";
15
15
  import "../../../chunk-J4OPEWC3.js";
16
16
  import "../../../chunk-RBRX5ZS3.js";
@@ -21,7 +21,7 @@ import "../../../chunk-GQPRDEHX.js";
21
21
  import "../../../chunk-WHMKC7OQ.js";
22
22
  import "../../../chunk-O2LGEYG4.js";
23
23
  import "../../../chunk-KNFDWNCH.js";
24
- import "../../../chunk-TJQDL3JH.js";
24
+ import "../../../chunk-BPD4IJBG.js";
25
25
  import "../../../chunk-L6Y4ALSM.js";
26
26
  import "../../../chunk-FIDD34ZF.js";
27
27
  import "../../../chunk-74JEZLLQ.js";
@@ -34,7 +34,7 @@ import "../../../chunk-A3KMTJZS.js";
34
34
  import "../../../chunk-WLEDGIVS.js";
35
35
  import "../../../chunk-HMU5IELG.js";
36
36
  import "../../../chunk-CPLCSM6K.js";
37
- import "../../../chunk-AJPW3SV4.js";
37
+ import "../../../chunk-7OIBLMDP.js";
38
38
  import "../../../chunk-4U7SHFQ2.js";
39
39
  import "../../../chunk-NRP4REXE.js";
40
40
  import "../../../chunk-J3BHDXQQ.js";
@@ -42,7 +42,7 @@ import "../../../chunk-2KO2G3RI.js";
42
42
  import "../../../chunk-CM7LVUKC.js";
43
43
  import "../../../chunk-TVQCDDSZ.js";
44
44
  import "../../../chunk-TXS65BB2.js";
45
- import "../../../chunk-JFK7NTEA.js";
45
+ import "../../../chunk-S6WJ6TUT.js";
46
46
  export {
47
47
  RunsOnMenuBody,
48
48
  RunsOnNotice,
@@ -5,14 +5,14 @@ import {
5
5
  SessionRunsOnMenuBody,
6
6
  sessionSupportsFleetSwitching,
7
7
  useSessionRunsOn
8
- } from "../../../chunk-AOUCHCSB.js";
8
+ } from "../../../chunk-4XKT4ENZ.js";
9
9
  import "../../../chunk-Z2S5VQG7.js";
10
- import "../../../chunk-J4OPEWC3.js";
11
10
  import "../../../chunk-JNY5MT3I.js";
12
- import "../../../chunk-3PEXVG4D.js";
11
+ import "../../../chunk-J4OPEWC3.js";
12
+ import "../../../chunk-M7A226EQ.js";
13
13
  import "../../../chunk-A3MTTRCX.js";
14
14
  import "../../../chunk-O2LGEYG4.js";
15
- import "../../../chunk-TJQDL3JH.js";
15
+ import "../../../chunk-BPD4IJBG.js";
16
16
  import "../../../chunk-FIDD34ZF.js";
17
17
  import "../../../chunk-74JEZLLQ.js";
18
18
  import "../../../chunk-L4OF77LE.js";
@@ -21,12 +21,12 @@ import "../../../chunk-TREHTIBD.js";
21
21
  import "../../../chunk-5OTQA7CM.js";
22
22
  import "../../../chunk-A3KMTJZS.js";
23
23
  import "../../../chunk-QRKTESVE.js";
24
- import "../../../chunk-WSZQNTVN.js";
24
+ import "../../../chunk-SSZROOOI.js";
25
25
  import "../../../chunk-HMU5IELG.js";
26
- import "../../../chunk-DFXZYNTX.js";
26
+ import "../../../chunk-CKA4SJRK.js";
27
27
  import "../../../chunk-CPLCSM6K.js";
28
28
  import "../../../chunk-NLAFNMPK.js";
29
- import "../../../chunk-QXEDIDBZ.js";
29
+ import "../../../chunk-WWM7WVD2.js";
30
30
  import "../../../chunk-RZLBICR5.js";
31
31
  import {
32
32
  CLOUD_SANDBOX_LABEL,
@@ -44,7 +44,7 @@ import "../../../chunk-TVQCDDSZ.js";
44
44
  import "../../../chunk-SJGAHTY5.js";
45
45
  import "../../../chunk-4NHJ6EXL.js";
46
46
  import "../../../chunk-TXS65BB2.js";
47
- import "../../../chunk-JFK7NTEA.js";
47
+ import "../../../chunk-S6WJ6TUT.js";
48
48
  export {
49
49
  CLOUD_SANDBOX_LABEL,
50
50
  LOCAL_SANDBOX_LABEL,
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
  import {
3
3
  SessionWorkspace
4
- } from "../../../chunk-GFSOXB2K.js";
4
+ } from "../../../chunk-CEQUNJJY.js";
5
5
  import "../../../chunk-ESYN5AUB.js";
6
6
  import "../../../chunk-FIDD34ZF.js";
7
7
  import "../../../chunk-74JEZLLQ.js";
8
8
  import "../../../chunk-YG6NARQY.js";
9
9
  import "../../../chunk-W6KAUGXO.js";
10
- import "../../../chunk-2CKVVAGP.js";
11
- import "../../../chunk-OFB6TUDC.js";
10
+ import "../../../chunk-TM2ZLY3Q.js";
11
+ import "../../../chunk-2LUO22FR.js";
12
12
  import "../../../chunk-7HFLYNWN.js";
13
13
  import "../../../chunk-BMJTNPWK.js";
14
- import "../../../chunk-PUTS4DYW.js";
14
+ import "../../../chunk-4VJOZJDV.js";
15
15
  import "../../../chunk-EWL6NDOO.js";
16
16
  import "../../../chunk-NAPQWCPR.js";
17
17
  import "../../../chunk-WEFN327U.js";
@@ -19,24 +19,24 @@ import "../../../chunk-5VGJXWQ2.js";
19
19
  import "../../../chunk-QRKTESVE.js";
20
20
  import "../../../chunk-PZ2V2XIK.js";
21
21
  import "../../../chunk-W6T5HR3Z.js";
22
- import "../../../chunk-WSZQNTVN.js";
23
- import "../../../chunk-H4IE2PYF.js";
24
- import "../../../chunk-5YFY4SFC.js";
22
+ import "../../../chunk-SSZROOOI.js";
23
+ import "../../../chunk-FMATVQFW.js";
24
+ import "../../../chunk-AJ7PY4FJ.js";
25
25
  import "../../../chunk-V3K4RQO7.js";
26
- import "../../../chunk-ECHYJP63.js";
26
+ import "../../../chunk-FVCLVASD.js";
27
27
  import "../../../chunk-22GTC4MZ.js";
28
- import "../../../chunk-ENS6E4RZ.js";
29
- import "../../../chunk-FRP64DEK.js";
30
- import "../../../chunk-4U4GXWXS.js";
28
+ import "../../../chunk-FH75NNLB.js";
29
+ import "../../../chunk-SK57RWSA.js";
30
+ import "../../../chunk-DNYD7AUG.js";
31
31
  import "../../../chunk-KDQAWRYZ.js";
32
- import "../../../chunk-DFXZYNTX.js";
33
- import "../../../chunk-F33EDYS7.js";
32
+ import "../../../chunk-CKA4SJRK.js";
33
+ import "../../../chunk-BCFHMBMK.js";
34
34
  import "../../../chunk-B27E3V37.js";
35
- import "../../../chunk-UUSAOIJR.js";
36
- import "../../../chunk-SD4PPZFB.js";
37
- import "../../../chunk-LMPTC4CX.js";
38
- import "../../../chunk-LQ47YL6E.js";
39
- import "../../../chunk-WYDZP5F2.js";
35
+ import "../../../chunk-F4B2YYCN.js";
36
+ import "../../../chunk-3ZZOE4SN.js";
37
+ import "../../../chunk-QLDMF7MH.js";
38
+ import "../../../chunk-6K3WNTRI.js";
39
+ import "../../../chunk-O4AWXTZQ.js";
40
40
  import "../../../chunk-EMIVOS73.js";
41
41
  import "../../../chunk-34EU25RL.js";
42
42
  import "../../../chunk-CPLCSM6K.js";
@@ -45,24 +45,24 @@ import "../../../chunk-6MRY2RUZ.js";
45
45
  import "../../../chunk-I6FIXEL4.js";
46
46
  import "../../../chunk-ZOARMQY2.js";
47
47
  import "../../../chunk-NLAFNMPK.js";
48
- import "../../../chunk-QXEDIDBZ.js";
48
+ import "../../../chunk-WWM7WVD2.js";
49
49
  import "../../../chunk-MK2TQO4Y.js";
50
- import "../../../chunk-ILDOW2IQ.js";
50
+ import "../../../chunk-6PQBKMUL.js";
51
51
  import "../../../chunk-CUUJROYT.js";
52
- import "../../../chunk-AX6YJA5U.js";
53
- import "../../../chunk-SJORXXLV.js";
52
+ import "../../../chunk-X7Z4B5GK.js";
53
+ import "../../../chunk-26P7B46A.js";
54
54
  import "../../../chunk-OYQQJL3J.js";
55
55
  import "../../../chunk-RZLBICR5.js";
56
56
  import "../../../chunk-H3LIIAGE.js";
57
57
  import "../../../chunk-VHB3E6PT.js";
58
58
  import "../../../chunk-7N5AD2TC.js";
59
59
  import "../../../chunk-4U7SHFQ2.js";
60
- import "../../../chunk-CCR33J7L.js";
61
- import "../../../chunk-O2SBHS2N.js";
60
+ import "../../../chunk-6N7W3TOV.js";
61
+ import "../../../chunk-K4FDZVMQ.js";
62
62
  import "../../../chunk-C5ZCSVZ7.js";
63
63
  import "../../../chunk-BOG2FED3.js";
64
64
  import "../../../chunk-YSRBFJMQ.js";
65
- import "../../../chunk-UXXFMF4X.js";
65
+ import "../../../chunk-SJPAKWWP.js";
66
66
  import "../../../chunk-6AFSZKZA.js";
67
67
  import "../../../chunk-AW3QEFOF.js";
68
68
  import "../../../chunk-HEVQKE27.js";
@@ -78,21 +78,21 @@ import "../../../chunk-UNJPZGNK.js";
78
78
  import "../../../chunk-XV6ZYRHK.js";
79
79
  import "../../../chunk-IGVL3ELX.js";
80
80
  import "../../../chunk-PEHTX3V7.js";
81
- import "../../../chunk-PFAUGEV5.js";
81
+ import "../../../chunk-WN2MIB4Q.js";
82
82
  import "../../../chunk-ZUWF4NF7.js";
83
83
  import "../../../chunk-NRP4REXE.js";
84
- import "../../../chunk-WWOHORRO.js";
85
- import "../../../chunk-XU4I47IP.js";
84
+ import "../../../chunk-2K27S6LK.js";
85
+ import "../../../chunk-MB2DTUEG.js";
86
86
  import "../../../chunk-3IWPC6O3.js";
87
- import "../../../chunk-DJFTH2DI.js";
87
+ import "../../../chunk-I57HZMMA.js";
88
88
  import "../../../chunk-7RRMTSCI.js";
89
- import "../../../chunk-ERG355NM.js";
89
+ import "../../../chunk-ZWACUOU5.js";
90
90
  import "../../../chunk-PNNTR6KP.js";
91
91
  import "../../../chunk-WJPMYXKZ.js";
92
92
  import "../../../chunk-VYT4POBH.js";
93
93
  import "../../../chunk-6F34IWSA.js";
94
94
  import "../../../chunk-IQ64BNAG.js";
95
- import "../../../chunk-ZX5H7LWD.js";
95
+ import "../../../chunk-DNWBLT4U.js";
96
96
  import "../../../chunk-J3BHDXQQ.js";
97
97
  import "../../../chunk-CFEFYPNR.js";
98
98
  import "../../../chunk-N7S72EXK.js";
@@ -102,12 +102,12 @@ import "../../../chunk-CM7LVUKC.js";
102
102
  import "../../../chunk-TVQCDDSZ.js";
103
103
  import "../../../chunk-SJGAHTY5.js";
104
104
  import "../../../chunk-4NHJ6EXL.js";
105
- import "../../../chunk-F3FN6DO6.js";
105
+ import "../../../chunk-4XO346BW.js";
106
106
  import "../../../chunk-QV3DJVRZ.js";
107
107
  import "../../../chunk-TNEZNMSN.js";
108
108
  import "../../../chunk-5I4VRWBB.js";
109
109
  import "../../../chunk-TXS65BB2.js";
110
- import "../../../chunk-JFK7NTEA.js";
110
+ import "../../../chunk-S6WJ6TUT.js";
111
111
  export {
112
112
  SessionWorkspace
113
113
  };