@seqyuan/annovibe 0.8.135 → 0.8.136

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 (349) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +19 -12
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +1 -1
  6. package/.next/required-server-files.js +1 -1
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +46 -0
  9. package/.next/server/app/_global-error/page.js +3 -3
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/_not-found/page.js +2 -2
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +4 -4
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  29. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  30. package/.next/server/app/api/agent/[id]/prepare/route.js +1 -1
  31. package/.next/server/app/api/agent/[id]/route.js +1 -1
  32. package/.next/server/app/api/agent/new/route.js +2 -2
  33. package/.next/server/app/api/agent/running/events/route.js +2 -2
  34. package/.next/server/app/api/agent/running/route.js +1 -1
  35. package/.next/server/app/api/agent/runtime/route.js +1 -1
  36. package/.next/server/app/api/apps/[id]/[[...path]]/route.js +2 -2
  37. package/.next/server/app/api/apps/route.js +2 -2
  38. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  39. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  41. package/.next/server/app/api/auth/login/route.js +1 -1
  42. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  43. package/.next/server/app/api/auth/providers/route.js +1 -1
  44. package/.next/server/app/api/auth/status/route.js +1 -1
  45. package/.next/server/app/api/auth/totp/route.js +1 -1
  46. package/.next/server/app/api/debug-models/route.js +1 -1
  47. package/.next/server/app/api/default-cwd/route.js +1 -1
  48. package/.next/server/app/api/file-index/route.js +1 -0
  49. package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/file-tree/delete/route.js +1 -1
  51. package/.next/server/app/api/file-tree/mkdir/route.js +1 -1
  52. package/.next/server/app/api/file-tree/rename/route.js +1 -1
  53. package/.next/server/app/api/file-tree/reveal/route.js +1 -1
  54. package/.next/server/app/api/file-tree/write/route.js +1 -1
  55. package/.next/server/app/api/file-watch/route.js +3 -3
  56. package/.next/server/app/api/files/[...path]/route.js +2 -2
  57. package/.next/server/app/api/harness/route.js +1 -1
  58. package/.next/server/app/api/home/route.js +1 -1
  59. package/.next/server/app/api/im/cancel/route.js +1 -1
  60. package/.next/server/app/api/im/gateway-status/route.js +1 -1
  61. package/.next/server/app/api/im/gateway-token/route.js +1 -1
  62. package/.next/server/app/api/im/project/route.js +1 -1
  63. package/.next/server/app/api/im/projects/route.js +1 -1
  64. package/.next/server/app/api/im/session-ids/route.js +1 -1
  65. package/.next/server/app/api/im/turn/route.js +2 -2
  66. package/.next/server/app/api/images/upload/route.js +1 -1
  67. package/.next/server/app/api/internal/runtime/route.js +1 -1
  68. package/.next/server/app/api/memory/dismiss/route.js +2 -2
  69. package/.next/server/app/api/memory/promote/route.js +2 -2
  70. package/.next/server/app/api/models/route.js +1 -1
  71. package/.next/server/app/api/models-config/discover/route.js +1 -1
  72. package/.next/server/app/api/models-config/route.js +1 -1
  73. package/.next/server/app/api/models-config/test/route.js +1 -1
  74. package/.next/server/app/api/plot-kernels/route.js +1 -1
  75. package/.next/server/app/api/plot-kernels/save/route.js +1 -1
  76. package/.next/server/app/api/plot-kernels/status/route.js +1 -1
  77. package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
  78. package/.next/server/app/api/plugins/route.js +1 -0
  79. package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/project-trust/route.js +1 -0
  81. package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -0
  82. package/.next/server/app/api/projects/browse/route.js +1 -1
  83. package/.next/server/app/api/projects/route.js +1 -1
  84. package/.next/server/app/api/search/route.js +1 -1
  85. package/.next/server/app/api/session-index/events/route.js +1 -1
  86. package/.next/server/app/api/sessions/[id]/auto-name/route.js +9 -8
  87. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  88. package/.next/server/app/api/sessions/[id]/export/route.js +1 -0
  89. package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
  90. package/.next/server/app/api/sessions/[id]/kernel-state/route.js +1 -1
  91. package/.next/server/app/api/sessions/[id]/media/route.js +1 -0
  92. package/.next/server/app/api/sessions/[id]/media/route_client-reference-manifest.js +1 -0
  93. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  94. package/.next/server/app/api/sessions/[id]/shadowed/route.js +1 -1
  95. package/.next/server/app/api/sessions/[id]/workbench-artifact/route.js +1 -1
  96. package/.next/server/app/api/sessions/[id]/workbench-review/route.js +1 -1
  97. package/.next/server/app/api/sessions/new/route.js +1 -1
  98. package/.next/server/app/api/sessions/route.js +1 -1
  99. package/.next/server/app/api/settings/route.js +1 -1
  100. package/.next/server/app/api/skills/check/route.js +1 -0
  101. package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
  102. package/.next/server/app/api/skills/install/route.js +2 -2
  103. package/.next/server/app/api/skills/route.js +2 -2
  104. package/.next/server/app/api/skills/search/route.js +1 -1
  105. package/.next/server/app/api/skills/update/route.js +2 -0
  106. package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
  107. package/.next/server/app/api/smoke/prompt-admission/route.js +1 -1
  108. package/.next/server/app/api/soul/route.js +1 -1
  109. package/.next/server/app/api/subagents/status/route.js +1 -1
  110. package/.next/server/app/api/version/route.js +1 -1
  111. package/.next/server/app/favicon.ico/route.js +1 -1
  112. package/.next/server/app/icon.svg/route.js +1 -1
  113. package/.next/server/app/index.html +1 -1
  114. package/.next/server/app/index.rsc +5 -5
  115. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  116. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  117. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  118. package/.next/server/app/index.segments/_index.segment.rsc +4 -4
  119. package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  120. package/.next/server/app/login/page.js +2 -2
  121. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/login.html +1 -1
  123. package/.next/server/app/login.rsc +4 -4
  124. package/.next/server/app/login.segments/_full.segment.rsc +4 -4
  125. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  126. package/.next/server/app/login.segments/_index.segment.rsc +4 -4
  127. package/.next/server/app/login.segments/_tree.segment.rsc +3 -3
  128. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  129. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  130. package/.next/server/app/page.js +24 -24
  131. package/.next/server/app/page_client-reference-manifest.js +1 -1
  132. package/.next/server/app/smoke/page.js +3 -3
  133. package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
  134. package/.next/server/app/smoke/session-stream/page.js +2 -2
  135. package/.next/server/app/smoke/session-stream/page_client-reference-manifest.js +1 -1
  136. package/.next/server/app/smoke/session-stream.html +1 -1
  137. package/.next/server/app/smoke/session-stream.rsc +5 -5
  138. package/.next/server/app/smoke/session-stream.segments/_full.segment.rsc +5 -5
  139. package/.next/server/app/smoke/session-stream.segments/_head.segment.rsc +1 -1
  140. package/.next/server/app/smoke/session-stream.segments/_index.segment.rsc +4 -4
  141. package/.next/server/app/smoke/session-stream.segments/_tree.segment.rsc +3 -3
  142. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream/__PAGE__.segment.rsc +2 -2
  143. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream.segment.rsc +1 -1
  144. package/.next/server/app/smoke/session-stream.segments/smoke.segment.rsc +1 -1
  145. package/.next/server/app/smoke.html +2 -2
  146. package/.next/server/app/smoke.rsc +5 -5
  147. package/.next/server/app/smoke.segments/_full.segment.rsc +5 -5
  148. package/.next/server/app/smoke.segments/_head.segment.rsc +1 -1
  149. package/.next/server/app/smoke.segments/_index.segment.rsc +4 -4
  150. package/.next/server/app/smoke.segments/_tree.segment.rsc +3 -3
  151. package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +2 -2
  152. package/.next/server/app/smoke.segments/smoke.segment.rsc +1 -1
  153. package/.next/server/app-paths-manifest.json +19 -12
  154. package/.next/server/chunks/1761.js +1 -1
  155. package/.next/server/chunks/402.js +4 -2
  156. package/.next/server/chunks/6429.js +6 -5
  157. package/.next/server/chunks/707.js +2 -2
  158. package/.next/server/chunks/7303.js +260 -0
  159. package/.next/server/chunks/7365.js +1 -0
  160. package/.next/server/chunks/7890.js +1 -1
  161. package/.next/server/chunks/8304.js +1 -1
  162. package/.next/server/chunks/8797.js +22 -0
  163. package/.next/server/functions-config-manifest.json +11 -1
  164. package/.next/server/middleware-build-manifest.js +1 -1
  165. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  166. package/.next/server/middleware.js +3 -3
  167. package/.next/server/pages/404.html +1 -1
  168. package/.next/server/pages/500.html +1 -1
  169. package/.next/server/server-reference-manifest.json +1 -1
  170. package/.next/static/chunks/{2693-b831832202452107.js → 2693-52c358cf5d84b069.js} +1 -1
  171. package/.next/static/chunks/291-bfdfc8bcf5d0a962.js +22 -0
  172. package/.next/static/chunks/{5618-3b8444e736e6ae4d.js → 5618-5e2e47e6ed401a75.js} +3 -3
  173. package/.next/static/chunks/{1960.b1e26436d7a5f586.js → 7198.4c3df741a5e26fb2.js} +1 -1
  174. package/.next/static/chunks/9867-b1d15d9354f100e7.js +260 -0
  175. package/.next/static/chunks/app/_global-error/page-dcc4d4b28dc1e9eb.js +1 -0
  176. package/.next/static/chunks/app/api/agent/[id]/events/route-dcc4d4b28dc1e9eb.js +1 -0
  177. package/.next/static/chunks/app/api/agent/[id]/prepare/route-dcc4d4b28dc1e9eb.js +1 -0
  178. package/.next/static/chunks/app/api/agent/[id]/route-dcc4d4b28dc1e9eb.js +1 -0
  179. package/.next/static/chunks/app/api/agent/new/route-dcc4d4b28dc1e9eb.js +1 -0
  180. package/.next/static/chunks/app/api/agent/running/events/route-dcc4d4b28dc1e9eb.js +1 -0
  181. package/.next/static/chunks/app/api/agent/running/route-dcc4d4b28dc1e9eb.js +1 -0
  182. package/.next/static/chunks/app/api/agent/runtime/route-dcc4d4b28dc1e9eb.js +1 -0
  183. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-dcc4d4b28dc1e9eb.js +1 -0
  184. package/.next/static/chunks/app/api/apps/route-dcc4d4b28dc1e9eb.js +1 -0
  185. package/.next/static/chunks/app/api/auth/all-providers/route-dcc4d4b28dc1e9eb.js +1 -0
  186. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-dcc4d4b28dc1e9eb.js +1 -0
  187. package/.next/static/chunks/app/api/auth/login/[provider]/route-dcc4d4b28dc1e9eb.js +1 -0
  188. package/.next/static/chunks/app/api/auth/login/route-dcc4d4b28dc1e9eb.js +1 -0
  189. package/.next/static/chunks/app/api/auth/logout/[provider]/route-dcc4d4b28dc1e9eb.js +1 -0
  190. package/.next/static/chunks/app/api/auth/providers/route-dcc4d4b28dc1e9eb.js +1 -0
  191. package/.next/static/chunks/app/api/auth/status/route-dcc4d4b28dc1e9eb.js +1 -0
  192. package/.next/static/chunks/app/api/auth/totp/route-dcc4d4b28dc1e9eb.js +1 -0
  193. package/.next/static/chunks/app/api/debug-models/route-dcc4d4b28dc1e9eb.js +1 -0
  194. package/.next/static/chunks/app/api/default-cwd/route-dcc4d4b28dc1e9eb.js +1 -0
  195. package/.next/static/chunks/app/api/file-index/route-dcc4d4b28dc1e9eb.js +1 -0
  196. package/.next/static/chunks/app/api/file-tree/delete/route-dcc4d4b28dc1e9eb.js +1 -0
  197. package/.next/static/chunks/app/api/file-tree/mkdir/route-dcc4d4b28dc1e9eb.js +1 -0
  198. package/.next/static/chunks/app/api/file-tree/rename/route-dcc4d4b28dc1e9eb.js +1 -0
  199. package/.next/static/chunks/app/api/file-tree/reveal/route-dcc4d4b28dc1e9eb.js +1 -0
  200. package/.next/static/chunks/app/api/file-tree/write/route-dcc4d4b28dc1e9eb.js +1 -0
  201. package/.next/static/chunks/app/api/file-watch/route-dcc4d4b28dc1e9eb.js +1 -0
  202. package/.next/static/chunks/app/api/files/[...path]/route-dcc4d4b28dc1e9eb.js +1 -0
  203. package/.next/static/chunks/app/api/harness/route-dcc4d4b28dc1e9eb.js +1 -0
  204. package/.next/static/chunks/app/api/home/route-dcc4d4b28dc1e9eb.js +1 -0
  205. package/.next/static/chunks/app/api/im/cancel/route-dcc4d4b28dc1e9eb.js +1 -0
  206. package/.next/static/chunks/app/api/im/gateway-status/route-dcc4d4b28dc1e9eb.js +1 -0
  207. package/.next/static/chunks/app/api/im/gateway-token/route-dcc4d4b28dc1e9eb.js +1 -0
  208. package/.next/static/chunks/app/api/im/project/route-dcc4d4b28dc1e9eb.js +1 -0
  209. package/.next/static/chunks/app/api/im/projects/route-dcc4d4b28dc1e9eb.js +1 -0
  210. package/.next/static/chunks/app/api/im/session-ids/route-dcc4d4b28dc1e9eb.js +1 -0
  211. package/.next/static/chunks/app/api/im/turn/route-dcc4d4b28dc1e9eb.js +1 -0
  212. package/.next/static/chunks/app/api/images/upload/route-dcc4d4b28dc1e9eb.js +1 -0
  213. package/.next/static/chunks/app/api/internal/runtime/route-dcc4d4b28dc1e9eb.js +1 -0
  214. package/.next/static/chunks/app/api/memory/dismiss/route-dcc4d4b28dc1e9eb.js +1 -0
  215. package/.next/static/chunks/app/api/memory/promote/route-dcc4d4b28dc1e9eb.js +1 -0
  216. package/.next/static/chunks/app/api/models/route-dcc4d4b28dc1e9eb.js +1 -0
  217. package/.next/static/chunks/app/api/models-config/discover/route-dcc4d4b28dc1e9eb.js +1 -0
  218. package/.next/static/chunks/app/api/models-config/route-dcc4d4b28dc1e9eb.js +1 -0
  219. package/.next/static/chunks/app/api/models-config/test/route-dcc4d4b28dc1e9eb.js +1 -0
  220. package/.next/static/chunks/app/api/plot-kernels/route-dcc4d4b28dc1e9eb.js +1 -0
  221. package/.next/static/chunks/app/api/plot-kernels/save/route-dcc4d4b28dc1e9eb.js +1 -0
  222. package/.next/static/chunks/app/api/plot-kernels/status/route-dcc4d4b28dc1e9eb.js +1 -0
  223. package/.next/static/chunks/app/api/plot-kernels/stop/route-dcc4d4b28dc1e9eb.js +1 -0
  224. package/.next/static/chunks/app/api/plugins/route-dcc4d4b28dc1e9eb.js +1 -0
  225. package/.next/static/chunks/app/api/project-trust/route-dcc4d4b28dc1e9eb.js +1 -0
  226. package/.next/static/chunks/app/api/projects/browse/route-dcc4d4b28dc1e9eb.js +1 -0
  227. package/.next/static/chunks/app/api/projects/route-dcc4d4b28dc1e9eb.js +1 -0
  228. package/.next/static/chunks/app/api/search/route-dcc4d4b28dc1e9eb.js +1 -0
  229. package/.next/static/chunks/app/api/session-index/events/route-dcc4d4b28dc1e9eb.js +1 -0
  230. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-dcc4d4b28dc1e9eb.js +1 -0
  231. package/.next/static/chunks/app/api/sessions/[id]/context/route-dcc4d4b28dc1e9eb.js +1 -0
  232. package/.next/static/chunks/app/api/sessions/[id]/export/route-dcc4d4b28dc1e9eb.js +1 -0
  233. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-dcc4d4b28dc1e9eb.js +1 -0
  234. package/.next/static/chunks/app/api/sessions/[id]/media/route-dcc4d4b28dc1e9eb.js +1 -0
  235. package/.next/static/chunks/app/api/sessions/[id]/route-dcc4d4b28dc1e9eb.js +1 -0
  236. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-dcc4d4b28dc1e9eb.js +1 -0
  237. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-dcc4d4b28dc1e9eb.js +1 -0
  238. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-dcc4d4b28dc1e9eb.js +1 -0
  239. package/.next/static/chunks/app/api/sessions/new/route-dcc4d4b28dc1e9eb.js +1 -0
  240. package/.next/static/chunks/app/api/sessions/route-dcc4d4b28dc1e9eb.js +1 -0
  241. package/.next/static/chunks/app/api/settings/route-dcc4d4b28dc1e9eb.js +1 -0
  242. package/.next/static/chunks/app/api/skills/check/route-dcc4d4b28dc1e9eb.js +1 -0
  243. package/.next/static/chunks/app/api/skills/install/route-dcc4d4b28dc1e9eb.js +1 -0
  244. package/.next/static/chunks/app/api/skills/route-dcc4d4b28dc1e9eb.js +1 -0
  245. package/.next/static/chunks/app/api/skills/search/route-dcc4d4b28dc1e9eb.js +1 -0
  246. package/.next/static/chunks/app/api/skills/update/route-dcc4d4b28dc1e9eb.js +1 -0
  247. package/.next/static/chunks/app/api/smoke/prompt-admission/route-dcc4d4b28dc1e9eb.js +1 -0
  248. package/.next/static/chunks/app/api/soul/route-dcc4d4b28dc1e9eb.js +1 -0
  249. package/.next/static/chunks/app/api/subagents/status/route-dcc4d4b28dc1e9eb.js +1 -0
  250. package/.next/static/chunks/app/api/version/route-dcc4d4b28dc1e9eb.js +1 -0
  251. package/.next/static/chunks/app/favicon.ico/route-dcc4d4b28dc1e9eb.js +1 -0
  252. package/.next/static/chunks/app/{layout-5608bfe5e8f4e4c0.js → layout-101c4ccdf12880f0.js} +1 -1
  253. package/.next/static/chunks/app/page-703d91d8bff67f70.js +44 -0
  254. package/.next/static/chunks/app/smoke/{page-35df723c803f35e1.js → page-32674afc320aa48b.js} +2 -2
  255. package/.next/static/chunks/app/smoke/session-stream/page-e754151f65003821.js +6 -0
  256. package/.next/static/chunks/next/dist/client/components/builtin/app-error-dcc4d4b28dc1e9eb.js +1 -0
  257. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-dcc4d4b28dc1e9eb.js +1 -0
  258. package/.next/static/chunks/next/dist/client/components/builtin/not-found-dcc4d4b28dc1e9eb.js +1 -0
  259. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-dcc4d4b28dc1e9eb.js +1 -0
  260. package/.next/static/chunks/{webpack-abcc6ba654c7ed4b.js → webpack-0d1f7348ddb20bdc.js} +1 -1
  261. package/.next/static/css/738b0b1c24aae500.css +1 -0
  262. package/.next/static/css/{88714c00e109ce28.css → 9bcd6051db4f8890.css} +1 -1
  263. package/.next/static/zeWki1Z47rqBkR2ph5H6N/_buildManifest.js +1 -0
  264. package/README.md +4 -1
  265. package/bin/pi-web.js +103 -25
  266. package/package.json +6 -5
  267. package/.next/server/chunks/4584.js +0 -260
  268. package/.next/server/chunks/9230.js +0 -22
  269. package/.next/static/WmuL2h-UefYxq-xz32JzM/_buildManifest.js +0 -1
  270. package/.next/static/chunks/4456-646debea1b5bbec7.js +0 -260
  271. package/.next/static/chunks/9544-46c74a307e919fcb.js +0 -22
  272. package/.next/static/chunks/app/_global-error/page-c47e15c89def27e4.js +0 -1
  273. package/.next/static/chunks/app/api/agent/[id]/events/route-c47e15c89def27e4.js +0 -1
  274. package/.next/static/chunks/app/api/agent/[id]/prepare/route-c47e15c89def27e4.js +0 -1
  275. package/.next/static/chunks/app/api/agent/[id]/route-c47e15c89def27e4.js +0 -1
  276. package/.next/static/chunks/app/api/agent/new/route-c47e15c89def27e4.js +0 -1
  277. package/.next/static/chunks/app/api/agent/running/events/route-c47e15c89def27e4.js +0 -1
  278. package/.next/static/chunks/app/api/agent/running/route-c47e15c89def27e4.js +0 -1
  279. package/.next/static/chunks/app/api/agent/runtime/route-c47e15c89def27e4.js +0 -1
  280. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-c47e15c89def27e4.js +0 -1
  281. package/.next/static/chunks/app/api/apps/route-c47e15c89def27e4.js +0 -1
  282. package/.next/static/chunks/app/api/auth/all-providers/route-c47e15c89def27e4.js +0 -1
  283. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-c47e15c89def27e4.js +0 -1
  284. package/.next/static/chunks/app/api/auth/login/[provider]/route-c47e15c89def27e4.js +0 -1
  285. package/.next/static/chunks/app/api/auth/login/route-c47e15c89def27e4.js +0 -1
  286. package/.next/static/chunks/app/api/auth/logout/[provider]/route-c47e15c89def27e4.js +0 -1
  287. package/.next/static/chunks/app/api/auth/providers/route-c47e15c89def27e4.js +0 -1
  288. package/.next/static/chunks/app/api/auth/status/route-c47e15c89def27e4.js +0 -1
  289. package/.next/static/chunks/app/api/auth/totp/route-c47e15c89def27e4.js +0 -1
  290. package/.next/static/chunks/app/api/debug-models/route-c47e15c89def27e4.js +0 -1
  291. package/.next/static/chunks/app/api/default-cwd/route-c47e15c89def27e4.js +0 -1
  292. package/.next/static/chunks/app/api/file-tree/delete/route-c47e15c89def27e4.js +0 -1
  293. package/.next/static/chunks/app/api/file-tree/mkdir/route-c47e15c89def27e4.js +0 -1
  294. package/.next/static/chunks/app/api/file-tree/rename/route-c47e15c89def27e4.js +0 -1
  295. package/.next/static/chunks/app/api/file-tree/reveal/route-c47e15c89def27e4.js +0 -1
  296. package/.next/static/chunks/app/api/file-tree/write/route-c47e15c89def27e4.js +0 -1
  297. package/.next/static/chunks/app/api/file-watch/route-c47e15c89def27e4.js +0 -1
  298. package/.next/static/chunks/app/api/files/[...path]/route-c47e15c89def27e4.js +0 -1
  299. package/.next/static/chunks/app/api/harness/route-c47e15c89def27e4.js +0 -1
  300. package/.next/static/chunks/app/api/home/route-c47e15c89def27e4.js +0 -1
  301. package/.next/static/chunks/app/api/im/cancel/route-c47e15c89def27e4.js +0 -1
  302. package/.next/static/chunks/app/api/im/gateway-status/route-c47e15c89def27e4.js +0 -1
  303. package/.next/static/chunks/app/api/im/gateway-token/route-c47e15c89def27e4.js +0 -1
  304. package/.next/static/chunks/app/api/im/project/route-c47e15c89def27e4.js +0 -1
  305. package/.next/static/chunks/app/api/im/projects/route-c47e15c89def27e4.js +0 -1
  306. package/.next/static/chunks/app/api/im/session-ids/route-c47e15c89def27e4.js +0 -1
  307. package/.next/static/chunks/app/api/im/turn/route-c47e15c89def27e4.js +0 -1
  308. package/.next/static/chunks/app/api/images/upload/route-c47e15c89def27e4.js +0 -1
  309. package/.next/static/chunks/app/api/internal/runtime/route-c47e15c89def27e4.js +0 -1
  310. package/.next/static/chunks/app/api/memory/dismiss/route-c47e15c89def27e4.js +0 -1
  311. package/.next/static/chunks/app/api/memory/promote/route-c47e15c89def27e4.js +0 -1
  312. package/.next/static/chunks/app/api/models/route-c47e15c89def27e4.js +0 -1
  313. package/.next/static/chunks/app/api/models-config/discover/route-c47e15c89def27e4.js +0 -1
  314. package/.next/static/chunks/app/api/models-config/route-c47e15c89def27e4.js +0 -1
  315. package/.next/static/chunks/app/api/models-config/test/route-c47e15c89def27e4.js +0 -1
  316. package/.next/static/chunks/app/api/plot-kernels/route-c47e15c89def27e4.js +0 -1
  317. package/.next/static/chunks/app/api/plot-kernels/save/route-c47e15c89def27e4.js +0 -1
  318. package/.next/static/chunks/app/api/plot-kernels/status/route-c47e15c89def27e4.js +0 -1
  319. package/.next/static/chunks/app/api/plot-kernels/stop/route-c47e15c89def27e4.js +0 -1
  320. package/.next/static/chunks/app/api/projects/browse/route-c47e15c89def27e4.js +0 -1
  321. package/.next/static/chunks/app/api/projects/route-c47e15c89def27e4.js +0 -1
  322. package/.next/static/chunks/app/api/search/route-c47e15c89def27e4.js +0 -1
  323. package/.next/static/chunks/app/api/session-index/events/route-c47e15c89def27e4.js +0 -1
  324. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-c47e15c89def27e4.js +0 -1
  325. package/.next/static/chunks/app/api/sessions/[id]/context/route-c47e15c89def27e4.js +0 -1
  326. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-c47e15c89def27e4.js +0 -1
  327. package/.next/static/chunks/app/api/sessions/[id]/route-c47e15c89def27e4.js +0 -1
  328. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-c47e15c89def27e4.js +0 -1
  329. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-c47e15c89def27e4.js +0 -1
  330. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-c47e15c89def27e4.js +0 -1
  331. package/.next/static/chunks/app/api/sessions/new/route-c47e15c89def27e4.js +0 -1
  332. package/.next/static/chunks/app/api/sessions/route-c47e15c89def27e4.js +0 -1
  333. package/.next/static/chunks/app/api/settings/route-c47e15c89def27e4.js +0 -1
  334. package/.next/static/chunks/app/api/skills/install/route-c47e15c89def27e4.js +0 -1
  335. package/.next/static/chunks/app/api/skills/route-c47e15c89def27e4.js +0 -1
  336. package/.next/static/chunks/app/api/skills/search/route-c47e15c89def27e4.js +0 -1
  337. package/.next/static/chunks/app/api/smoke/prompt-admission/route-c47e15c89def27e4.js +0 -1
  338. package/.next/static/chunks/app/api/soul/route-c47e15c89def27e4.js +0 -1
  339. package/.next/static/chunks/app/api/subagents/status/route-c47e15c89def27e4.js +0 -1
  340. package/.next/static/chunks/app/api/version/route-c47e15c89def27e4.js +0 -1
  341. package/.next/static/chunks/app/favicon.ico/route-c47e15c89def27e4.js +0 -1
  342. package/.next/static/chunks/app/page-765bc8a2e911eb4c.js +0 -44
  343. package/.next/static/chunks/app/smoke/session-stream/page-49b8cf27895b9187.js +0 -6
  344. package/.next/static/chunks/next/dist/client/components/builtin/app-error-c47e15c89def27e4.js +0 -1
  345. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-c47e15c89def27e4.js +0 -1
  346. package/.next/static/chunks/next/dist/client/components/builtin/not-found-c47e15c89def27e4.js +0 -1
  347. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c47e15c89def27e4.js +0 -1
  348. package/.next/static/css/4a3f6b9aa8eed19f.css +0 -1
  349. /package/.next/static/{WmuL2h-UefYxq-xz32JzM → zeWki1Z47rqBkR2ph5H6N}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=707,exports.ids=[707],exports.modules={12440:(a,b,c)=>{c.d(b,{B:()=>g});var d=c(48249),e=c(52515);function f({fileName:a,pageInfo:b,onZoomIn:c,onZoomOut:g,zoom:h,extra:i}){let j=(0,d.jsxs)(d.Fragment,{children:[b&&(0,d.jsx)("span",{children:b}),void 0!==h&&g&&c&&(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,d.jsx)(e.ml,{onClick:g,title:"Zoom out",style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("line",{x1:"2",y1:"5",x2:"8",y2:"5"})})}),(0,d.jsxs)("span",{style:{minWidth:36,textAlign:"center",fontVariantNumeric:"tabular-nums"},children:[Math.round(100*h),"%"]}),(0,d.jsx)(e.ml,{onClick:c,title:"Zoom in",style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[(0,d.jsx)("line",{x1:"5",y1:"2",x2:"5",y2:"8"}),(0,d.jsx)("line",{x1:"2",y1:"5",x2:"8",y2:"5"})]})})]}),i]});return(0,d.jsx)(e.K$,{pathLabel:a??"document",title:a,trailing:j,style:{minHeight:32}})}function g({fileName:a,pageInfo:b,onZoomIn:c,onZoomOut:h,zoom:i,extra:j,bodyStyle:k,loading:l=!1,loadingLabel:m="Loading document...",error:n=null,children:o}){return(0,d.jsxs)(e.fj,{children:[(0,d.jsx)(f,{fileName:a,pageInfo:b,onZoomIn:c,onZoomOut:h,zoom:i,extra:j}),(0,d.jsx)(e.Ph,{style:k,children:l?(0,d.jsx)(e.nG,{children:m}):n?(0,d.jsx)(e.nG,{tone:"error",children:n}):o})]})}c(67484)},32492:(a,b,c)=>{c.d(b,{g:()=>f});var d=c(48249),e=c(67484);function f({initialContent:a,language:b,isDark:c,onChange:g,onSave:h,scrollToLine:i}){let j=(0,e.useRef)(null);(0,e.useRef)(null);let k=(0,e.useRef)(g),l=(0,e.useRef)(h);return k.current=g,l.current=h,(0,d.jsx)("div",{ref:j,style:{height:"100%",overflow:"hidden"}})}c(44072),c(36554),c(73768),c(17680),c(68267),c(1970),c(6518)},47394:(a,b,c)=>{c.d(b,{HF:()=>g,S7:()=>f,_t:()=>e});var d=c(48249);function e({title:a,children:b,style:c}){return(0,d.jsxs)("div",{"data-document-surface":"outline",style:{marginTop:24,...c},children:[a&&(0,d.jsx)("div",{"data-document-surface":"outline-title",style:{fontSize:12,color:"var(--text-dim)",marginBottom:8},children:a}),b]})}function f({children:a,minItemWidth:b=140,style:c}){return(0,d.jsx)("div",{"data-document-surface":"outline-grid",style:{display:"grid",gridTemplateColumns:`repeat(auto-fill, minmax(${b}px, 1fr))`,gap:8,...c},children:a})}function g({title:a,summary:b,active:c=!1,onClick:e}){return(0,d.jsxs)("button",{"data-document-surface":"outline-item","data-document-active":c?"true":"false",onClick:e,style:{padding:"10px 12px",background:c?"var(--bg-selected)":"var(--bg)",border:c?"2px solid var(--accent)":"1px solid var(--border)",borderRadius:6,cursor:"pointer",textAlign:"left",fontSize:11,color:"var(--text-muted)",transition:"border-color 0.12s, background 0.12s"},onMouseEnter:a=>{c||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c||(a.currentTarget.style.background="var(--bg)")},children:[(0,d.jsx)("div",{style:{fontWeight:600,marginBottom:2*!!b,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),b&&(0,d.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})]})}},90707:(a,b,c)=>{c.d(b,{h:()=>N});var d=c(48249),e=c(67484),f=c(52515),g=c(32492);function h({dir:a}){return(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:"asc"===a?(0,d.jsx)("polyline",{points:"2 6 5 3 8 6"}):(0,d.jsx)("polyline",{points:"2 4 5 7 8 4"})})}function i(a,b,c){let d=new Blob([a],{type:c}),e=URL.createObjectURL(d),f=document.createElement("a");f.href=e,f.download=b,document.body.appendChild(f),f.click(),document.body.removeChild(f),setTimeout(()=>URL.revokeObjectURL(e),1e3)}function j({content:a,delimiter:b,fileName:c="table"}){let[f,g]=(0,e.useState)(null),[k,l]=(0,e.useState)("asc"),{header:m,rows:n}=(0,e.useMemo)(()=>(function(a,b){let c=a.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),d=[],e=[],f="",g=!1;for(let a=0;a<c.length;a+=1){let h=c[a];if('"'===h){g&&'"'===c[a+1]?(f+='"',a+=1):g=!g;continue}if(h===b&&!g){e.push(f),f="";continue}if("\n"===h&&!g){e.push(f),e.some(a=>a.length>0)&&d.push(e),e=[],f="";continue}f+=h}e.push(f),e.some(a=>a.length>0)&&d.push(e);let h=d[0]??[],i=h.length;return{header:h,rows:d.slice(1).map(a=>{let b=[...a];for(;b.length<i;)b.push("");return b.slice(0,i)})}})(a,b),[a,b]),o=(0,e.useMemo)(()=>{if(null===f)return n;let a=[...n];return a.sort((a,b)=>{let c=a[f]??"",d=b[f]??"",e=Number(c),g=Number(d),h=""===c||""===d||Number.isNaN(e)||Number.isNaN(g)?c.localeCompare(d):e-g;return"asc"===k?h:-h}),a},[n,k,f]);return 0===m.length&&0===n.length?(0,d.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:13},children:"No tabular data to display"}):(0,d.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0},children:[(0,d.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:[n.length," rows, ",m.length," columns"]}),(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,d.jsxs)("button",{onClick:()=>{i(a,c," "===b?"text/tab-separated-values;charset=utf-8":"text/csv;charset=utf-8")},style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:"var(--bg-hover)",color:"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5},children:["Export "," "===b?"TSV":"CSV"]}),(0,d.jsx)("button",{onClick:()=>{i(JSON.stringify(o.map(a=>Object.fromEntries(m.map((b,c)=>[b||`column_${c+1}`,a[c]??""]))),null,2),c.replace(/\.[^.]+$/,"")+".json","application/json;charset=utf-8")},style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:"var(--bg-hover)",color:"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5},children:"Export JSON"})]})]}),(0,d.jsx)("div",{style:{minHeight:0,flex:1,overflow:"auto",background:"var(--bg)"},children:(0,d.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",tableLayout:"fixed",fontSize:12},children:[(0,d.jsx)("thead",{style:{position:"sticky",top:0,zIndex:1,background:"var(--bg-panel)"},children:(0,d.jsx)("tr",{children:m.map((a,b)=>(0,d.jsx)("th",{onClick:()=>{f===b?l(a=>"asc"===a?"desc":"asc"):(g(b),l("asc"))},title:a,style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",textAlign:"left",color:"var(--text-muted)",fontWeight:600,cursor:"pointer",userSelect:"none",fontSize:11,whiteSpace:"nowrap"},children:(0,d.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,minWidth:0},children:[(0,d.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis"},children:a||`column_${b+1}`}),f===b&&(0,d.jsx)("span",{style:{color:"var(--accent)",display:"inline-flex",flexShrink:0},children:(0,d.jsx)(h,{dir:k})})]})},`${a}-${b}`))})}),(0,d.jsx)("tbody",{children:o.map((a,b)=>(0,d.jsx)("tr",{style:{borderBottom:"1px solid rgba(127,127,127,0.14)",background:b%2==1?"var(--bg-subtle)":"transparent"},children:m.map((c,e)=>(0,d.jsx)("td",{title:a[e]??"",style:{padding:"6px 10px",color:"var(--text)",fontFamily:"var(--font-mono)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:0},children:a[e]??""},`${c}-${b}-${e}`))},b))})]})})]})}var k=c(19581),l=c(39868),m=c(65950);let n={display:"inline-block",minWidth:"3em",paddingRight:"1em",textAlign:"right",color:"var(--text-dim)",fontStyle:"normal",userSelect:"none"};function o({code:a,language:b,isDark:c,wrapLines:f=!1,scrollToLine:g}){let h="text"===b||"csv"===b||"tsv"===b?"plaintext":b||"plaintext",i=a.split("\n").length,j=(0,e.useRef)(new Map),p=(0,e.useMemo)(()=>(0,m.Rd)(a,h,c),[a,c,h]),[q,r]=(0,e.useState)(()=>p?.tokens??null);(0,e.useRef)("");let s=(0,e.useMemo)(()=>(0,m.nS)(a).tokens,[a]),t=q??p?.tokens??s;return(0,d.jsxs)(k.NG,{style:{border:"none",borderRadius:0,minHeight:"100%"},children:[(0,d.jsx)(k.iO,{title:`${h} \xb7 ${i} lines`,actions:(0,d.jsx)(k.Mi,{onClick:()=>{(0,l.D)(a)},ariaLabel:"Copy file contents",title:"Copy file contents",label:"copy"}),style:{padding:"4px 16px",borderBottom:"1px solid var(--border)",background:"var(--bg)"}}),(0,d.jsx)("pre",{style:{margin:0,padding:"12px 0",background:"var(--bg)",fontSize:13,lineHeight:1.6,fontFamily:"var(--font-mono)",minHeight:"100%",overflow:"auto",whiteSpace:f?"pre-wrap":"pre",wordBreak:f?"break-word":void 0},children:(0,d.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:t.map((a,b)=>{let c=b+1,e=g===c;return(0,d.jsxs)("span",{ref:a=>{a?j.current.set(c,a):j.current.delete(c)},style:{display:"block",background:e?"color-mix(in srgb, var(--accent) 14%, transparent)":void 0},children:[(0,d.jsx)("span",{style:n,children:c}),0===a.length?"\n":a.map((a,b)=>{let c=(0,m.tG)(a.fontStyle);return(0,d.jsx)("span",{style:{color:a.color??"inherit",...c},children:a.content},b)})]},b)})})})]})}var p=c(51415),q=c(31343);function r(a){return`/api/files/${(0,q.HG)(a)}?type=read&raw=1`}async function s(a){let b=await fetch(r(a),{method:"HEAD"});if(!b.ok){let a=`HTTP ${b.status}`;try{let c=await b.json().catch(()=>null);c?.error&&(a=c.error)}catch{}throw Error(a)}let c=document.createElement("a");c.href=r(a),c.download=(0,q.WP)(a),c.style.display="none",document.body.appendChild(c),c.click(),document.body.removeChild(c)}function t({filePath:a}){let[b,c]=(0,e.useState)(!1),[f,g]=(0,e.useState)(null);return(0,d.jsx)("button",{onClick:()=>{g(null),c(!0),s(a).catch(a=>g(a instanceof Error?a.message:String(a))).finally(()=>c(!1))},disabled:b,title:f??"Download original file",style:{padding:"2px 10px",fontSize:11,cursor:"pointer",background:"var(--bg-hover)",color:"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5,fontWeight:600,opacity:b?.7:1,...f?{borderColor:"#ef4444",color:"#ef4444"}:{}},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--accent)",a.currentTarget.style.color="#fff",a.currentTarget.style.borderColor="var(--accent)")},onMouseLeave:a=>{f||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.borderColor="var(--border)")},children:b?"Downloading…":"Download"})}var u=c(2857);function v(a){let b=a.includes("/")?a.slice(0,a.lastIndexOf("/")):".",c=(0,q.HG)(b);return`/api/files/${c}/?type=read&raw=1`}function w({oldContent:a,newContent:b,language:c}){let e=function(a,b){let c=a.length,d=b.length,e=c+d,f=Array(2*e+1).fill(0),g=[];for(let h=0;h<=e;h++){g.push([...f]);for(let i=-h;i<=h;i+=2){let j,k=(j=i===-h||i!==h&&f[i-1+e]<f[i+1+e]?f[i+1+e]:f[i-1+e]+1)-i;for(;j<c&&k<d&&a[j]===b[k];)j++,k++;if(f[i+e]=j,j>=c&&k>=d){let f=[],i=c,j=d;for(let c=h;c>0;c--){let d,h=g[c-1],k=i-j;d=k===-c||k!==c&&h[k-1+e]<h[k+1+e]?k+1:k-1;let l=h[d+e],m=l-d;for(;i>l&&j>m;)i--,j--,f.unshift({type:"unchanged",text:a[i],lineNo:i+1});c>0&&(i>l?(i--,f.unshift({type:"removed",text:a[i],lineNo:i+1})):(j--,f.unshift({type:"added",text:b[j],lineNo:j+1})))}for(;i>0&&j>0;)i--,j--,f.unshift({type:"unchanged",text:a[i],lineNo:i+1});return f}}}return[...a.map((a,b)=>({type:"removed",text:a,lineNo:b+1})),...b.map((a,b)=>({type:"added",text:a,lineNo:b+1}))]}(a.split("\n"),b.split("\n"));return(0,d.jsx)(f.pg,{diff:e})}function x({filePath:a,cwd:b,onOpenFile:c,scrollToLine:h}){let i,{isDark:k}=(0,u.D)(),[l,m]=(0,e.useState)(null),[n,r]=(0,e.useState)(null),[s,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)("source"),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(0),[L,M]=(0,e.useState)(!1),[N,O]=(0,e.useState)(0),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(""),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(null);(0,e.useRef)(null),(0,e.useRef)(!1).current=P;let _=(0,e.useCallback)((a,b=!1)=>{let c=(0,q.HG)(a);return fetch(`/api/files/${c}?type=read`).then(a=>a.json()).then(a=>a.error?(A(a.error),null):(b?(m(b=>(b&&r(b.content),a)),O(a=>a+1)):m(a),A(null),a)).catch(a=>(A(String(a)),null))},[]),aa=(0,e.useCallback)(()=>{l&&(Q(!0),S(l.content),$(l.mtime??null),Y(!1),C(null),W(!1),E(!1),G("source"))},[l]),ab=(0,e.useCallback)(async(b=!1)=>{let c=(0,q.HG)(a);U(!0),Y(!1),C(null);try{let d=await fetch(`/api/files/${c}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:R,...b||!Z?{}:{baseMtime:Z}})});if(409===d.status){let a=await d.json().catch(()=>({error:"File changed on disk since it was opened"}));throw Y(!0),W(!0),Error(a.error??"File changed on disk since it was opened")}if(!d.ok){let a=await d.json().catch(()=>({error:String(d.status)}));throw Error(a.error??`HTTP ${d.status}`)}let e=await _(a,!0);$(e?.mtime??null),Q(!1),W(!1),Y(!1)}catch(a){C(a instanceof Error?a.message:String(a))}finally{U(!1)}},[Z,R,_,a]),ac=(0,e.useCallback)(()=>{Q(!1),W(!1),Y(!1),C(null),$(null)},[]),ad=(0,e.useCallback)(()=>{K(a=>a+1)},[]),ae=(0,e.useCallback)(async()=>{let b=await _(a,!0);b&&(S(b.content),$(b.mtime??null),W(!1),Y(!1),C(null),A(null))},[_,a]),af=l?.content??"",ag=l?.language??"",ah="html"===ag,ai="markdown"===ag,aj="csv"===(i=(0,q.WP)(a).toLowerCase().split(".").pop()??"")?",":"tsv"===i?" ":null,ak=null!==aj,al=af.split("\n"),am=null!==l&&null!==n&&n!==af,an=(0,e.useMemo)(()=>{let b,c,d;return ah?(b=v(a),c=`<base href="${b}">`,d=af,(d=/<head(\s[^>]*)?>/i.test(d)?d.replace(/<head(\s[^>]*)?>/i,a=>`${a}${c}`):/<html(\s[^>]*)?>/i.test(d)?d.replace(/<html(\s[^>]*)?>/i,a=>`${a}<head>${c}</head>`):`<!doctype html><html><head>${c}</head><body>${d}</body></html>`).replace(/<script\b/gi,'<script data-annovibe-disabled="true" type="application/json"').replace(/\s(?:on[a-z]+)\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi,"")):""},[af,a,ah]),ao=!ah&&!ai&&!ak&&al.length>5e4,ap=ak&&(al.length>5e3||al.slice(0,25).reduce((a,b)=>Math.max(a,b.split(aj??",").length),0)>100),aq=(0,e.useMemo)(()=>{if(!ah)return"";let b=v(a).includes("?")?"&":"?";return`${v(a)}${encodeURIComponent((0,q.WP)(a))}${b}v=${J}`},[a,J,ah]);return s?(0,d.jsx)(f.nG,{children:"Loading..."}):z?(0,d.jsx)(f.nG,{tone:"error",children:z}):l?(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,trailing:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:l.language}),"source"===F&&(0,d.jsxs)("span",{children:[al.length," lines"]}),(0,d.jsx)("span",{children:(0,f.v7)(l.size)}),(0,d.jsx)(t,{filePath:a}),(0,d.jsx)(f.mK,{watching:L}),P?(0,d.jsxs)(d.Fragment,{children:[(V||X||B)&&(0,d.jsxs)("span",{title:"File changed on disk while editing",style:{padding:"2px 8px",fontSize:11,background:"rgba(234,179,8,0.1)",color:"#b8860b",border:"1px solid rgba(234,179,8,0.3)",borderRadius:5,display:"flex",alignItems:"center",gap:4},children:[(0,d.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,d.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),B??"External change",(V||X)&&(0,d.jsx)(f.ml,{onClick:ae,style:{marginLeft:4,fontSize:10,background:"rgba(234,179,8,0.2)",color:"#b8860b",border:"1px solid rgba(234,179,8,0.3)",borderRadius:3,fontWeight:600},children:"Reload"}),X&&(0,d.jsx)(f.ml,{onClick:()=>void ab(!0),disabled:T,emphasis:"danger",style:{marginLeft:4,fontSize:10,borderRadius:3,fontWeight:600},children:"Overwrite"})]}),(0,d.jsx)(f.ml,{onClick:()=>void ab(),disabled:T,title:"Save file (Ctrl+S)",emphasis:"primary",style:{fontWeight:600},children:T?"Saving…":"Save"}),(0,d.jsx)(f.ml,{onClick:ac,title:"Cancel editing",emphasis:"danger",style:{fontWeight:600},children:"Cancel"})]}):(0,d.jsx)(f.ml,{onClick:aa,title:"Edit file",style:{fontWeight:600},children:"Edit"}),am&&(0,d.jsx)(f.Tg,{options:[{key:"source",label:"Source",active:"source"===F,onClick:()=>G("source")},{key:"diff",label:(0,d.jsxs)(d.Fragment,{children:["Diff ",N>0&&(0,d.jsxs)("span",{style:{color:"#4ade80",marginLeft:2},children:["+",N]})]}),active:"diff"===F,onClick:()=>G("diff")}]}),"source"===F&&!D&&(0,d.jsx)(f.ml,{onClick:()=>I(a=>!a),title:H?"Disable word wrap":"Enable word wrap",active:H,children:"wrap"}),ah&&D&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.ml,{onClick:ad,title:"Reload the HTML preview",children:"Refresh preview"}),aq&&(0,d.jsx)(f.ml,{onClick:()=>window.open(aq,"_blank","noopener,noreferrer"),title:"Open HTML preview in a new tab",children:"Open in new tab"})]}),ah&&"source"===F&&(0,d.jsx)(f.Tg,{options:[{key:"code",label:"Code",active:!D,onClick:()=>E(!1)},{key:"preview",label:"Preview",active:D,onClick:()=>E(!0)}]}),ai&&"source"===F&&(0,d.jsx)(f.Tg,{options:[{key:"preview",label:"Preview",active:D,onClick:()=>E(!0)},{key:"raw",label:P?"Edit":"Raw",active:!D,onClick:()=>E(!1)}]}),ak&&"source"===F&&(0,d.jsx)(f.Tg,{options:[{key:"table",label:"Table",active:D,onClick:()=>E(!0)},{key:"raw",label:"Raw",active:!D,onClick:()=>E(!1)}]})]})}),(0,d.jsx)(f.Ph,{children:P&&!(ai&&D)?(0,d.jsx)(g.g,{initialContent:R,language:l.language,isDark:k,onChange:S,onSave:()=>void ab(),scrollToLine:h}):P&&ai&&D?(0,d.jsx)(p.T,{content:R,className:"markdown-body markdown-file-preview",codeBlockVariant:"file",cwd:b,baseFilePath:a,onOpenLocalFile:c,style:{padding:"28px 36px",maxWidth:920,margin:"0 auto"}}):"diff"===F&&am?(0,d.jsx)(w,{oldContent:n,newContent:l.content,language:l.language}):ah&&D?(0,d.jsx)("iframe",{srcDoc:an,sandbox:"",style:{width:"100%",height:"100%",border:"none",background:"var(--bg)"},title:"HTML preview"},J):ai&&D?(0,d.jsx)(p.T,{content:l.content,className:"markdown-body markdown-file-preview",codeBlockVariant:"file",cwd:b,baseFilePath:a,onOpenLocalFile:c,style:{padding:"28px 36px",maxWidth:920,margin:"0 auto"}}):ak&&D&&aj?ap?(0,d.jsx)(f.nG,{children:"Table preview disabled for very large files. Switch to Raw mode or export the file."}):(0,d.jsx)(j,{content:l.content,delimiter:aj,fileName:(0,q.WP)(a)}):ao?(0,d.jsx)(f.nG,{children:"Text preview is too large for the rich viewer. Use Edit/Raw workflows instead."}):(0,d.jsx)(o,{code:l.content,language:l.language,isDark:k,wrapLines:H,scrollToLine:h})})]}):null}var y=c(92002),z=c(12440);function A({arrayBuffer:a,fileName:b,toolbarExtra:c}){let g=(0,e.useRef)(null),[h,i]=(0,e.useState)(!0),[j,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(0),[n,o]=(0,e.useState)(1),[p,q]=(0,e.useState)(1);return(0,e.useRef)(p).current=p,(0,e.useRef)(null),(0,e.useRef)(null),(0,e.useCallback)(async a=>{},[]),(0,d.jsx)(z.B,{fileName:b,pageInfo:l>0?`Page ${n} / ${l}`:void 0,zoom:p,onZoomIn:()=>q(a=>Math.min(a+.25,3)),onZoomOut:()=>q(a=>Math.max(a-.25,.25)),loading:h,loadingLabel:"Loading PDF...",error:j,bodyStyle:{background:"#525659",display:"flex",justifyContent:"center",padding:16},extra:(0,d.jsxs)(d.Fragment,{children:[c,l>1&&(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,d.jsx)(f.ml,{onClick:()=>o(a=>Math.max(a-1,1)),title:"Previous page",disabled:n<=1,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"6 2 3 5 6 8"})})}),(0,d.jsxs)("span",{style:{fontSize:11,color:"var(--text-dim)",minWidth:28,textAlign:"center"},children:[n,"/",l]}),(0,d.jsx)(f.ml,{onClick:()=>o(a=>Math.min(a+1,l)),title:"Next page",disabled:n>=l,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"4 2 7 5 4 8"})})})]})]}),children:!h&&!j&&(0,d.jsx)(y.QG,{style:{minWidth:"100%"},children:(0,d.jsx)("div",{ref:g})})})}function B({arrayBuffer:a,fileName:b,toolbarExtra:c}){let f=(0,e.useRef)(null),[g,h]=(0,e.useState)(!0),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(""),m=(0,e.useMemo)(()=>`<!doctype html>
1
+ "use strict";exports.id=707,exports.ids=[707],exports.modules={12440:(a,b,c)=>{c.d(b,{B:()=>g});var d=c(48249),e=c(52515);function f({fileName:a,pageInfo:b,onZoomIn:c,onZoomOut:g,zoom:h,extra:i}){let j=(0,d.jsxs)(d.Fragment,{children:[b&&(0,d.jsx)("span",{children:b}),void 0!==h&&g&&c&&(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,d.jsx)(e.ml,{onClick:g,title:"Zoom out",style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("line",{x1:"2",y1:"5",x2:"8",y2:"5"})})}),(0,d.jsxs)("span",{style:{minWidth:36,textAlign:"center",fontVariantNumeric:"tabular-nums"},children:[Math.round(100*h),"%"]}),(0,d.jsx)(e.ml,{onClick:c,title:"Zoom in",style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:[(0,d.jsx)("line",{x1:"5",y1:"2",x2:"5",y2:"8"}),(0,d.jsx)("line",{x1:"2",y1:"5",x2:"8",y2:"5"})]})})]}),i]});return(0,d.jsx)(e.K$,{pathLabel:a??"document",title:a,trailing:j,style:{minHeight:32}})}function g({fileName:a,pageInfo:b,onZoomIn:c,onZoomOut:h,zoom:i,extra:j,bodyStyle:k,loading:l=!1,loadingLabel:m="Loading document...",error:n=null,children:o}){return(0,d.jsxs)(e.fj,{children:[(0,d.jsx)(f,{fileName:a,pageInfo:b,onZoomIn:c,onZoomOut:h,zoom:i,extra:j}),(0,d.jsx)(e.Ph,{style:k,children:l?(0,d.jsx)(e.nG,{children:m}):n?(0,d.jsx)(e.nG,{tone:"error",children:n}):o})]})}c(67484)},32492:(a,b,c)=>{c.d(b,{g:()=>f});var d=c(48249),e=c(67484);function f({initialContent:a,language:b,isDark:c,onChange:g,onSave:h,scrollToLine:i}){let j=(0,e.useRef)(null);(0,e.useRef)(null);let k=(0,e.useRef)(g),l=(0,e.useRef)(h);return k.current=g,l.current=h,(0,d.jsx)("div",{ref:j,style:{height:"100%",overflow:"hidden"}})}c(44072),c(36554),c(73768),c(17680),c(68267),c(1970),c(6518)},47394:(a,b,c)=>{c.d(b,{HF:()=>g,S7:()=>f,_t:()=>e});var d=c(48249);function e({title:a,children:b,style:c}){return(0,d.jsxs)("div",{"data-document-surface":"outline",style:{marginTop:24,...c},children:[a&&(0,d.jsx)("div",{"data-document-surface":"outline-title",style:{fontSize:12,color:"var(--text-dim)",marginBottom:8},children:a}),b]})}function f({children:a,minItemWidth:b=140,style:c}){return(0,d.jsx)("div",{"data-document-surface":"outline-grid",style:{display:"grid",gridTemplateColumns:`repeat(auto-fill, minmax(${b}px, 1fr))`,gap:8,...c},children:a})}function g({title:a,summary:b,active:c=!1,onClick:e}){return(0,d.jsxs)("button",{"data-document-surface":"outline-item","data-document-active":c?"true":"false",onClick:e,style:{padding:"10px 12px",background:c?"var(--bg-selected)":"var(--bg)",border:c?"2px solid var(--accent)":"1px solid var(--border)",borderRadius:6,cursor:"pointer",textAlign:"left",fontSize:11,color:"var(--text-muted)",transition:"border-color 0.12s, background 0.12s"},onMouseEnter:a=>{c||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c||(a.currentTarget.style.background="var(--bg)")},children:[(0,d.jsx)("div",{style:{fontWeight:600,marginBottom:2*!!b,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),b&&(0,d.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})]})}},90707:(a,b,c)=>{c.d(b,{h:()=>N});var d=c(48249),e=c(67484),f=c(52515),g=c(32492);function h({dir:a}){return(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:"asc"===a?(0,d.jsx)("polyline",{points:"2 6 5 3 8 6"}):(0,d.jsx)("polyline",{points:"2 4 5 7 8 4"})})}function i(a,b,c){let d=new Blob([a],{type:c}),e=URL.createObjectURL(d),f=document.createElement("a");f.href=e,f.download=b,document.body.appendChild(f),f.click(),document.body.removeChild(f),setTimeout(()=>URL.revokeObjectURL(e),1e3)}function j({content:a,delimiter:b,fileName:c="table"}){let[f,g]=(0,e.useState)(null),[k,l]=(0,e.useState)("asc"),{header:m,rows:n}=(0,e.useMemo)(()=>(function(a,b){let c=a.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),d=[],e=[],f="",g=!1;for(let a=0;a<c.length;a+=1){let h=c[a];if('"'===h){g&&'"'===c[a+1]?(f+='"',a+=1):g=!g;continue}if(h===b&&!g){e.push(f),f="";continue}if("\n"===h&&!g){e.push(f),e.some(a=>a.length>0)&&d.push(e),e=[],f="";continue}f+=h}e.push(f),e.some(a=>a.length>0)&&d.push(e);let h=d[0]??[],i=h.length;return{header:h,rows:d.slice(1).map(a=>{let b=[...a];for(;b.length<i;)b.push("");return b.slice(0,i)})}})(a,b),[a,b]),o=(0,e.useMemo)(()=>{if(null===f)return n;let a=[...n];return a.sort((a,b)=>{let c=a[f]??"",d=b[f]??"",e=Number(c),g=Number(d),h=""===c||""===d||Number.isNaN(e)||Number.isNaN(g)?c.localeCompare(d):e-g;return"asc"===k?h:-h}),a},[n,k,f]);return 0===m.length&&0===n.length?(0,d.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--text-muted)",fontSize:13},children:"No tabular data to display"}):(0,d.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0},children:[(0,d.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)"},children:[n.length," rows, ",m.length," columns"]}),(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,d.jsxs)("button",{onClick:()=>{i(a,c," "===b?"text/tab-separated-values;charset=utf-8":"text/csv;charset=utf-8")},style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:"var(--bg-hover)",color:"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5},children:["Export "," "===b?"TSV":"CSV"]}),(0,d.jsx)("button",{onClick:()=>{i(JSON.stringify(o.map(a=>Object.fromEntries(m.map((b,c)=>[b||`column_${c+1}`,a[c]??""]))),null,2),c.replace(/\.[^.]+$/,"")+".json","application/json;charset=utf-8")},style:{padding:"2px 8px",fontSize:11,cursor:"pointer",background:"var(--bg-hover)",color:"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5},children:"Export JSON"})]})]}),(0,d.jsx)("div",{style:{minHeight:0,flex:1,overflow:"auto",background:"var(--bg)"},children:(0,d.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",tableLayout:"fixed",fontSize:12},children:[(0,d.jsx)("thead",{style:{position:"sticky",top:0,zIndex:1,background:"var(--bg-panel)"},children:(0,d.jsx)("tr",{children:m.map((a,b)=>(0,d.jsx)("th",{onClick:()=>{f===b?l(a=>"asc"===a?"desc":"asc"):(g(b),l("asc"))},title:a,style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",textAlign:"left",color:"var(--text-muted)",fontWeight:600,cursor:"pointer",userSelect:"none",fontSize:11,whiteSpace:"nowrap"},children:(0,d.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,minWidth:0},children:[(0,d.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis"},children:a||`column_${b+1}`}),f===b&&(0,d.jsx)("span",{style:{color:"var(--accent)",display:"inline-flex",flexShrink:0},children:(0,d.jsx)(h,{dir:k})})]})},`${a}-${b}`))})}),(0,d.jsx)("tbody",{children:o.map((a,b)=>(0,d.jsx)("tr",{style:{borderBottom:"1px solid rgba(127,127,127,0.14)",background:b%2==1?"var(--bg-subtle)":"transparent"},children:m.map((c,e)=>(0,d.jsx)("td",{title:a[e]??"",style:{padding:"6px 10px",color:"var(--text)",fontFamily:"var(--font-mono)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:0},children:a[e]??""},`${c}-${b}-${e}`))},b))})]})})]})}var k=c(19581),l=c(39868),m=c(65950);let n={display:"inline-block",minWidth:"3em",paddingRight:"1em",textAlign:"right",color:"var(--text-dim)",fontStyle:"normal",userSelect:"none"};function o({code:a,language:b,isDark:c,wrapLines:f=!1,scrollToLine:g}){let h="text"===b||"csv"===b||"tsv"===b?"plaintext":b||"plaintext",i=a.split("\n").length,j=(0,e.useRef)(new Map),p=(0,e.useMemo)(()=>(0,m.Rd)(a,h,c),[a,c,h]),[q,r]=(0,e.useState)(()=>p?.tokens??null);(0,e.useRef)("");let s=(0,e.useMemo)(()=>(0,m.nS)(a).tokens,[a]),t=q??p?.tokens??s;return(0,d.jsxs)(k.NG,{style:{border:"none",borderRadius:0,minHeight:"100%"},children:[(0,d.jsx)(k.iO,{title:`${h} \xb7 ${i} lines`,actions:(0,d.jsx)(k.Mi,{onClick:()=>{(0,l.D)(a)},ariaLabel:"Copy file contents",title:"Copy file contents",label:"copy"}),style:{padding:"4px 16px",borderBottom:"1px solid var(--border)",background:"var(--bg)"}}),(0,d.jsx)("pre",{style:{margin:0,padding:"12px 0",background:"var(--bg)",fontSize:13,lineHeight:1.6,fontFamily:"var(--font-mono)",minHeight:"100%",overflow:"auto",whiteSpace:f?"pre-wrap":"pre",wordBreak:f?"break-word":void 0},children:(0,d.jsx)("code",{style:{fontFamily:"var(--font-mono)"},children:t.map((a,b)=>{let c=b+1,e=g===c;return(0,d.jsxs)("span",{ref:a=>{a?j.current.set(c,a):j.current.delete(c)},style:{display:"block",background:e?"color-mix(in srgb, var(--accent) 14%, transparent)":void 0},children:[(0,d.jsx)("span",{style:n,children:c}),0===a.length?"\n":a.map((a,b)=>{let c=(0,m.tG)(a.fontStyle);return(0,d.jsx)("span",{style:{color:a.color??"inherit",...c},children:a.content},b)})]},b)})})})]})}var p=c(51415),q=c(31343);function r(a){return`/api/files/${(0,q.HG)(a)}?type=read&raw=1`}async function s(a){let b=await fetch(r(a),{method:"HEAD"});if(!b.ok){let a=`HTTP ${b.status}`;try{let c=await b.json().catch(()=>null);c?.error&&(a=c.error)}catch{}throw Error(a)}let c=document.createElement("a");c.href=r(a),c.download=(0,q.WP)(a),c.style.display="none",document.body.appendChild(c),c.click(),document.body.removeChild(c)}function t({filePath:a}){let[b,c]=(0,e.useState)(!1),[f,g]=(0,e.useState)(null);return(0,d.jsx)("button",{onClick:()=>{g(null),c(!0),s(a).catch(a=>g(a instanceof Error?a.message:String(a))).finally(()=>c(!1))},disabled:b,title:f??"Download original file",style:{padding:"2px 10px",fontSize:11,cursor:"pointer",background:"var(--bg-hover)",color:"var(--text-muted)",border:"1px solid var(--border)",borderRadius:5,fontWeight:600,opacity:b?.7:1,...f?{borderColor:"#ef4444",color:"#ef4444"}:{}},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--accent)",a.currentTarget.style.color="#fff",a.currentTarget.style.borderColor="var(--accent)")},onMouseLeave:a=>{f||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.borderColor="var(--border)")},children:b?"Downloading…":"Download"})}var u=c(2857);function v(a){let b=a.includes("/")?a.slice(0,a.lastIndexOf("/")):".",c=(0,q.HG)(b);return`/api/files/${c}/?type=read&raw=1`}function w({oldContent:a,newContent:b,language:c}){let e=function(a,b){let c=a.length,d=b.length,e=c+d,f=Array(2*e+1).fill(0),g=[];for(let h=0;h<=e;h++){g.push([...f]);for(let i=-h;i<=h;i+=2){let j,k=(j=i===-h||i!==h&&f[i-1+e]<f[i+1+e]?f[i+1+e]:f[i-1+e]+1)-i;for(;j<c&&k<d&&a[j]===b[k];)j++,k++;if(f[i+e]=j,j>=c&&k>=d){let f=[],i=c,j=d;for(let c=h;c>0;c--){let d,h=g[c-1],k=i-j;d=k===-c||k!==c&&h[k-1+e]<h[k+1+e]?k+1:k-1;let l=h[d+e],m=l-d;for(;i>l&&j>m;)i--,j--,f.unshift({type:"unchanged",text:a[i],lineNo:i+1});c>0&&(i>l?(i--,f.unshift({type:"removed",text:a[i],lineNo:i+1})):(j--,f.unshift({type:"added",text:b[j],lineNo:j+1})))}for(;i>0&&j>0;)i--,j--,f.unshift({type:"unchanged",text:a[i],lineNo:i+1});return f}}}return[...a.map((a,b)=>({type:"removed",text:a,lineNo:b+1})),...b.map((a,b)=>({type:"added",text:a,lineNo:b+1}))]}(a.split("\n"),b.split("\n"));return(0,d.jsx)(f.pg,{diff:e})}function x({filePath:a,cwd:b,onOpenFile:c,scrollToLine:h,viewerState:i,onViewerStateChange:k}){let l,{isDark:m}=(0,u.D)();(0,e.useRef)(i);let n=(0,e.useRef)(null);(0,e.useRef)(!1);let r=(0,e.useRef)(null);(0,e.useRef)(!1);let s=(0,e.useRef)(k);s.current=k;let[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!0),[E,F]=(0,e.useState)(null),[G,H]=(0,e.useState)(null),[I,J]=(0,e.useState)(i?.previewMode??!1),[K,L]=(0,e.useState)(i?.viewMode??"source"),[M,N]=(0,e.useState)(i?.wrapLines??!1),[O,P]=(0,e.useState)(0),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(0),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(""),[Y,Z]=(0,e.useState)(!1),[$,_]=(0,e.useState)(!1),[aa,ab]=(0,e.useState)(!1),[ac,ad]=(0,e.useState)(null);(0,e.useRef)(null),(0,e.useRef)(!1).current=U;let ae=(0,e.useCallback)((a,b=!1)=>{let c=(0,q.HG)(a);return fetch(`/api/files/${c}?type=read`).then(a=>a.json()).then(a=>a.error?(F(a.error),null):(b?(z(b=>(b&&B(b.content),a)),T(a=>a+1)):z(a),F(null),a)).catch(a=>(F(String(a)),null))},[]),af=(0,e.useCallback)(()=>{y&&(V(!0),X(y.content),ad(y.mtime??null),ab(!1),H(null),_(!1),J(!1),L("source"))},[y]),ag=(0,e.useCallback)(async(b=!1)=>{let c=(0,q.HG)(a);Z(!0),ab(!1),H(null);try{let d=await fetch(`/api/files/${c}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:W,...b||!ac?{}:{baseMtime:ac}})});if(409===d.status){let a=await d.json().catch(()=>({error:"File changed on disk since it was opened"}));throw ab(!0),_(!0),Error(a.error??"File changed on disk since it was opened")}if(!d.ok){let a=await d.json().catch(()=>({error:String(d.status)}));throw Error(a.error??`HTTP ${d.status}`)}let e=await ae(a,!0);ad(e?.mtime??null),V(!1),_(!1),ab(!1)}catch(a){H(a instanceof Error?a.message:String(a))}finally{Z(!1)}},[ac,W,ae,a]),ah=(0,e.useCallback)(()=>{V(!1),_(!1),ab(!1),H(null),ad(null)},[]),ai=(0,e.useCallback)(()=>{P(a=>a+1)},[]),aj=(0,e.useCallback)(async()=>{let b=await ae(a,!0);b&&(X(b.content),ad(b.mtime??null),_(!1),ab(!1),H(null),F(null))},[ae,a]),ak=y?.content??"",al=y?.language??"",am="html"===al,an="markdown"===al,ao="csv"===(l=(0,q.WP)(a).toLowerCase().split(".").pop()??"")?",":"tsv"===l?" ":null,ap=null!==ao,aq=ak.split("\n"),ar=null!==y&&null!==A&&A!==ak,as=(0,e.useMemo)(()=>{let b,c,d;return am?(b=v(a),c=`<base href="${b}">`,d=ak,(d=/<head(\s[^>]*)?>/i.test(d)?d.replace(/<head(\s[^>]*)?>/i,a=>`${a}${c}`):/<html(\s[^>]*)?>/i.test(d)?d.replace(/<html(\s[^>]*)?>/i,a=>`${a}<head>${c}</head>`):`<!doctype html><html><head>${c}</head><body>${d}</body></html>`).replace(/<script\b/gi,'<script data-annovibe-disabled="true" type="application/json"').replace(/\s(?:on[a-z]+)\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi,"")):""},[ak,a,am]),at=!am&&!an&&!ap&&aq.length>5e4,au=(0,e.useCallback)(()=>{s.current&&s.current({scrollTop:n.current?.scrollTop??0,previewMode:I,viewMode:K,wrapLines:M})},[I,K,M]),av=(0,e.useCallback)(()=>{s.current&&!r.current&&(r.current=setTimeout(()=>{r.current=null,au()},150))},[au]),aw=ap&&(aq.length>5e3||aq.slice(0,25).reduce((a,b)=>Math.max(a,b.split(ao??",").length),0)>100),ax=(0,e.useMemo)(()=>{if(!am)return"";let b=v(a).includes("?")?"&":"?";return`${v(a)}${encodeURIComponent((0,q.WP)(a))}${b}v=${O}`},[a,O,am]);return C?(0,d.jsx)(f.nG,{children:"Loading..."}):E?(0,d.jsx)(f.nG,{tone:"error",children:E}):y?(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,trailing:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:y.language}),"source"===K&&(0,d.jsxs)("span",{children:[aq.length," lines"]}),(0,d.jsx)("span",{children:(0,f.v7)(y.size)}),(0,d.jsx)(t,{filePath:a}),(0,d.jsx)(f.mK,{watching:Q}),U?(0,d.jsxs)(d.Fragment,{children:[($||aa||G)&&(0,d.jsxs)("span",{title:"File changed on disk while editing",style:{padding:"2px 8px",fontSize:11,background:"rgba(234,179,8,0.1)",color:"#b8860b",border:"1px solid rgba(234,179,8,0.3)",borderRadius:5,display:"flex",alignItems:"center",gap:4},children:[(0,d.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,d.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),G??"External change",($||aa)&&(0,d.jsx)(f.ml,{onClick:aj,style:{marginLeft:4,fontSize:10,background:"rgba(234,179,8,0.2)",color:"#b8860b",border:"1px solid rgba(234,179,8,0.3)",borderRadius:3,fontWeight:600},children:"Reload"}),aa&&(0,d.jsx)(f.ml,{onClick:()=>void ag(!0),disabled:Y,emphasis:"danger",style:{marginLeft:4,fontSize:10,borderRadius:3,fontWeight:600},children:"Overwrite"})]}),(0,d.jsx)(f.ml,{onClick:()=>void ag(),disabled:Y,title:"Save file (Ctrl+S)",emphasis:"primary",style:{fontWeight:600},children:Y?"Saving…":"Save"}),(0,d.jsx)(f.ml,{onClick:ah,title:"Cancel editing",emphasis:"danger",style:{fontWeight:600},children:"Cancel"})]}):(0,d.jsx)(f.ml,{onClick:af,title:"Edit file",style:{fontWeight:600},children:"Edit"}),ar&&(0,d.jsx)(f.Tg,{options:[{key:"source",label:"Source",active:"source"===K,onClick:()=>L("source")},{key:"diff",label:(0,d.jsxs)(d.Fragment,{children:["Diff ",S>0&&(0,d.jsxs)("span",{style:{color:"#4ade80",marginLeft:2},children:["+",S]})]}),active:"diff"===K,onClick:()=>L("diff")}]}),"source"===K&&!I&&(0,d.jsx)(f.ml,{onClick:()=>N(a=>!a),title:M?"Disable word wrap":"Enable word wrap",active:M,children:"wrap"}),am&&I&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.ml,{onClick:ai,title:"Reload the HTML preview",children:"Refresh preview"}),ax&&(0,d.jsx)(f.ml,{onClick:()=>window.open(ax,"_blank","noopener,noreferrer"),title:"Open HTML preview in a new tab",children:"Open in new tab"})]}),am&&"source"===K&&(0,d.jsx)(f.Tg,{options:[{key:"code",label:"Code",active:!I,onClick:()=>J(!1)},{key:"preview",label:"Preview",active:I,onClick:()=>J(!0)}]}),an&&"source"===K&&(0,d.jsx)(f.Tg,{options:[{key:"preview",label:"Preview",active:I,onClick:()=>J(!0)},{key:"raw",label:U?"Edit":"Raw",active:!I,onClick:()=>J(!1)}]}),ap&&"source"===K&&(0,d.jsx)(f.Tg,{options:[{key:"table",label:"Table",active:I,onClick:()=>J(!0)},{key:"raw",label:"Raw",active:!I,onClick:()=>J(!1)}]})]})}),(0,d.jsx)(f.Ph,{bodyRef:n,onScroll:av,children:U&&!(an&&I)?(0,d.jsx)(g.g,{initialContent:W,language:y.language,isDark:m,onChange:X,onSave:()=>void ag(),scrollToLine:h}):U&&an&&I?(0,d.jsx)(p.T,{content:W,className:"markdown-body markdown-file-preview",codeBlockVariant:"file",cwd:b,baseFilePath:a,onOpenLocalFile:c,style:{padding:"28px 36px",maxWidth:920,margin:"0 auto"}}):"diff"===K&&ar?(0,d.jsx)(w,{oldContent:A,newContent:y.content,language:y.language}):am&&I?(0,d.jsx)("iframe",{srcDoc:as,sandbox:"",style:{width:"100%",height:"100%",border:"none",background:"var(--bg)"},title:"HTML preview"},O):an&&I?(0,d.jsx)(p.T,{content:y.content,className:"markdown-body markdown-file-preview",codeBlockVariant:"file",cwd:b,baseFilePath:a,onOpenLocalFile:c,style:{padding:"28px 36px",maxWidth:920,margin:"0 auto"}}):ap&&I&&ao?aw?(0,d.jsx)(f.nG,{children:"Table preview disabled for very large files. Switch to Raw mode or export the file."}):(0,d.jsx)(j,{content:y.content,delimiter:ao,fileName:(0,q.WP)(a)}):at?(0,d.jsx)(f.nG,{children:"Text preview is too large for the rich viewer. Use Edit/Raw workflows instead."}):(0,d.jsx)(o,{code:y.content,language:y.language,isDark:m,wrapLines:M,scrollToLine:h})})]}):null}var y=c(92002),z=c(12440);function A({arrayBuffer:a,fileName:b,toolbarExtra:c}){let g=(0,e.useRef)(null),[h,i]=(0,e.useState)(!0),[j,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(0),[n,o]=(0,e.useState)(1),[p,q]=(0,e.useState)(1);return(0,e.useRef)(p).current=p,(0,e.useRef)(null),(0,e.useRef)(null),(0,e.useCallback)(async a=>{},[]),(0,d.jsx)(z.B,{fileName:b,pageInfo:l>0?`Page ${n} / ${l}`:void 0,zoom:p,onZoomIn:()=>q(a=>Math.min(a+.25,3)),onZoomOut:()=>q(a=>Math.max(a-.25,.25)),loading:h,loadingLabel:"Loading PDF...",error:j,bodyStyle:{background:"#525659",display:"flex",justifyContent:"center",padding:16},extra:(0,d.jsxs)(d.Fragment,{children:[c,l>1&&(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,d.jsx)(f.ml,{onClick:()=>o(a=>Math.max(a-1,1)),title:"Previous page",disabled:n<=1,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"6 2 3 5 6 8"})})}),(0,d.jsxs)("span",{style:{fontSize:11,color:"var(--text-dim)",minWidth:28,textAlign:"center"},children:[n,"/",l]}),(0,d.jsx)(f.ml,{onClick:()=>o(a=>Math.min(a+1,l)),title:"Next page",disabled:n>=l,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"4 2 7 5 4 8"})})})]})]}),children:!h&&!j&&(0,d.jsx)(y.QG,{style:{minWidth:"100%"},children:(0,d.jsx)("div",{ref:g})})})}function B({arrayBuffer:a,fileName:b,toolbarExtra:c}){let f=(0,e.useRef)(null),[g,h]=(0,e.useState)(!0),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(""),m=(0,e.useMemo)(()=>`<!doctype html>
2
2
  <html>
3
3
  <head>
4
4
  <meta charset="utf-8" />
@@ -19,4 +19,4 @@
19
19
  td,th{border:1px solid #d1d5db;padding:4px 6px;vertical-align:top}
20
20
  th{background:#f3f4f6;font-weight:600}
21
21
  img{max-width:100%;height:auto}
22
- </style></head><body><div class="xlsx-preview">${a}</div></body></html>`},[m,k]);return(0,d.jsx)(z.B,{fileName:b,loading:g,loadingLabel:"Loading spreadsheet...",error:i,bodyStyle:{background:"var(--bg-panel)"},extra:(0,d.jsxs)(d.Fragment,{children:[c,k.length>1&&(0,d.jsx)("div",{style:{display:"flex",alignItems:"center",maxWidth:"min(520px, 48vw)"},children:(0,d.jsx)(f.Tg,{options:k.map((a,b)=>({key:a.name,label:(0,d.jsx)("span",{title:a.name,style:{display:"block",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),active:b===m,onClick:()=>n(b)}))})})]}),children:!g&&!i&&k.length>0&&(0,d.jsx)("iframe",{title:b?`${b} preview`:"Spreadsheet preview",sandbox:"",srcDoc:o,style:{width:"100%",height:"100%",minHeight:320,border:"none",background:"white"}})})}var D=c(47394);function E({arrayBuffer:a,fileName:b,toolbarExtra:c}){let[g,h]=(0,e.useState)(!0),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)([]),[m,n]=(0,e.useState)(0),o=k[m],p=k.length;return(0,d.jsx)(z.B,{fileName:b,pageInfo:p>0?`Slide ${m+1} / ${p}`:void 0,loading:g,loadingLabel:"Loading presentation...",error:i,bodyStyle:{background:"var(--bg-panel)",display:"flex",justifyContent:"center",alignItems:"flex-start",padding:24},extra:(0,d.jsxs)(d.Fragment,{children:[c,p>1&&(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,d.jsx)(f.ml,{onClick:()=>n(a=>Math.max(a-1,0)),title:"Previous slide",disabled:m<=0,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"6 2 3 5 6 8"})})}),(0,d.jsxs)("span",{style:{fontSize:11,color:"var(--text-dim)",minWidth:28,textAlign:"center"},children:[m+1,"/",p]}),(0,d.jsx)(f.ml,{onClick:()=>n(a=>Math.min(a+1,p-1)),title:"Next slide",disabled:m>=p-1,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"4 2 7 5 4 8"})})})]})]}),children:!g&&!i&&o&&(0,d.jsx)(y.QG,{children:(0,d.jsxs)("div",{style:{width:"100%",maxWidth:800},children:[(0,d.jsxs)(y.ok,{children:[(0,d.jsxs)(y.PH,{children:["Slide ",o.index]}),(0,d.jsx)(y.OI,{style:{minHeight:200},children:0===o.texts.length?(0,d.jsx)("div",{style:{color:"var(--text-dim)",fontStyle:"italic",fontSize:13},children:"(No text content)"}):(0,d.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:o.texts.map((a,b)=>(0,d.jsx)("li",{style:{padding:"4px 0",fontSize:14,lineHeight:1.6,color:"var(--text)",borderBottom:b<o.texts.length-1?"1px solid var(--bg-panel)":"none"},children:a},b))})})]}),p>1&&(0,d.jsx)(D._t,{title:"All slides",children:(0,d.jsx)(D.S7,{children:k.map((a,b)=>(0,d.jsx)(D.HF,{title:`Slide ${a.index}`,summary:a.texts[0]||"(empty)",active:b===m,onClick:()=>n(b)},a.index))})})]})})})}function F(a){return Array.isArray(a)?a.join(""):a}function G({filePath:a,cwd:b}){let[c,g]=(0,e.useState)(null),[h,i]=(0,e.useState)(!0),[j,k]=(0,e.useState)(null);return((0,e.useRef)(null),h)?(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a}),(0,d.jsx)(f.nG,{children:"Loading notebook..."})]}):j||!c?(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a}),(0,d.jsx)(f.nG,{children:j??"Failed to load notebook"})]}):(0,d.jsxs)(f.fj,{style:{background:"var(--bg)",overflowY:"auto"},children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:`${(0,q.WP)(a)} \xb7 ${c.length} cells`,style:{padding:"9px 12px",fontSize:12,color:"var(--text-muted)"}}),(0,d.jsx)(f.Ph,{style:{padding:0},children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:c.map((a,b)=>(0,d.jsx)(H,{cell:a},b))})})]})}function H({cell:a}){if("markdown"===a.cell_type){let b=F(a.source).trim();return b?(0,d.jsx)("div",{style:{padding:"10px 16px",borderBottom:"1px solid var(--border)",background:"var(--bg)"},children:(0,d.jsx)(p.T,{content:b})}):null}if("code"===a.cell_type){let b=F(a.source),c=a.execution_count,e=a.outputs&&a.outputs.length>0;return(0,d.jsxs)("div",{style:{borderBottom:"1px solid var(--border)"},children:[(0,d.jsxs)("div",{style:{display:"flex",background:"var(--bg-panel)"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0,padding:"6px 0",textAlign:"center",fontSize:10,fontFamily:"var(--font-mono)",color:"var(--text-dim)",userSelect:"none"},children:null!=c?`[${c}]`:"[ ]"}),(0,d.jsx)("div",{style:{flex:1,minWidth:0,padding:"6px 12px 6px 0",overflow:"auto"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.6,color:"var(--text)",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:(0,d.jsx)("code",{children:b})})})]}),e&&a.outputs.map((a,b)=>{let c=function(a){let b=[];if(!a.data)return b;for(let c of["image/png","image/jpeg","image/svg+xml","image/webp"])if(a.data[c]){let d=F(a.data[c]);b.push({data:d,mimeType:c})}return b}(a),e=function(a){if("stream"===a.output_type)return F(a.text??"").trim()||null;if(("execute_result"===a.output_type||"display_data"===a.output_type)&&a.data?.["text/plain"])return F(a.data["text/plain"]).trim()||null;if("error"===a.output_type){let b=a.ename??"Error",c=a.evalue??"";return`${b}: ${c}`}return null}(a);return"error"===a.output_type?(0,d.jsxs)("div",{style:{display:"flex",background:"rgba(248,113,113,0.04)",borderTop:"1px solid rgba(248,113,113,0.15)"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0}}),(0,d.jsx)("div",{style:{flex:1,padding:"6px 12px 6px 0"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:11,lineHeight:1.5,color:"#f87171",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e})})]},b):(0,d.jsxs)("div",{style:{borderTop:"1px solid rgba(34,197,94,0.08)",background:"var(--bg-subtle)"},children:[c.length>0&&(0,d.jsxs)("div",{style:{display:"flex"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0}}),(0,d.jsx)("div",{style:{flex:1,padding:"6px 0"},children:c.map((a,c)=>(0,d.jsx)("img",{src:`data:${a.mimeType};base64,${a.data}`,alt:`output ${b}`,style:{maxWidth:"100%",display:"block"}},c))})]}),e&&(0,d.jsxs)("div",{style:{display:"flex"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0}}),(0,d.jsx)("div",{style:{flex:1,padding:"4px 12px 4px 0"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:11,lineHeight:1.5,color:"var(--text-muted)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:300,overflow:"auto"},children:e})})]})]},b)})]})}return(0,d.jsx)("div",{style:{padding:"10px 16px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text-dim)",whiteSpace:"pre-wrap"},children:F(a.source)})})}let I=new Set(["png","jpg","jpeg","gif","webp","svg","bmp","ico","avif"]),J=new Set(["mp3","wav","ogg","oga","opus","m4a","aac","flac","weba","webm"]),K=new Set(["pdf","docx","xlsx","pptx","doc","xls","ppt"]);function L({filePath:a,cwd:b,workbenchSessionId:c,onAskAboutArtifact:g,onEditArtifact:h}){let[i,j]=(0,e.useState)(!1),[k,l]=(0,e.useState)(0),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[u,v]=(0,e.useState)(100),[w,x]=(0,e.useState)(null);(0,e.useRef)(null);let y=(0,q.WP)(a).toLowerCase().split(".").pop()??"",z=(0,q.HG)(a),A=`/api/files/${z}?type=read${k?`&v=${k}`:""}`,B=null!=m?(0,f.v7)(m):null,C=a=>v(Math.max(10,Math.min(500,a)));return(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,trailing:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0},children:[(0,d.jsx)(f.ml,{onClick:()=>C(u-25),title:"Zoom out",style:{width:24,height:22,fontSize:13,lineHeight:1,padding:0},children:"-"}),(0,d.jsx)("select",{value:u,onChange:a=>C(Number(a.target.value)),title:"Image zoom",style:{height:22,border:"1px solid var(--border)",borderRadius:5,background:"var(--bg-panel)",color:"var(--text)",fontSize:11,fontFamily:"var(--font-mono)",outline:"none",cursor:"pointer"},children:[25,50,75,100,125,150,200,300].map(a=>(0,d.jsxs)("option",{value:a,children:[a,"%"]},a))}),(0,d.jsx)(f.ml,{onClick:()=>C(u+25),title:"Zoom in",style:{width:24,height:22,fontSize:13,lineHeight:1,padding:0},children:"+"})]}),w&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{title:w.provenance.title,children:["Cell #",w.provenance.cellIndex]}),(0,d.jsx)(f.ml,{onClick:()=>g?.(w),title:"Ask about this Workbench artifact",children:"Ask"}),(0,d.jsx)(f.ml,{onClick:()=>h?.(w),title:"Edit this Workbench artifact",children:"Edit"})]}),(0,d.jsx)("span",{style:{flexShrink:0},children:y||"image"}),o&&(0,d.jsxs)("span",{children:[o.w," \xd7 ",o.h]}),B&&(0,d.jsx)("span",{children:B}),(0,d.jsx)(t,{filePath:a}),(0,d.jsx)(f.mK,{watching:i})]})}),(0,d.jsx)(f.Ph,{style:{background:"var(--bg-panel)",WebkitOverflowScrolling:"touch",overscrollBehavior:"contain",backgroundImage:"linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%)",backgroundSize:"16px 16px",backgroundPosition:"0 0, 0 8px, 8px -8px, -8px 0px"},children:r?(0,d.jsx)(f.nG,{tone:"error",style:{minWidth:"100%",minHeight:"100%"},children:r}):(0,d.jsx)("div",{style:{minWidth:"100%",minHeight:"100%",width:"max-content",height:"max-content",boxSizing:"border-box",display:"flex",alignItems:"flex-start",justifyContent:"flex-start",padding:16},children:(0,d.jsx)("img",{src:A,alt:a,onLoad:a=>{let b=a.currentTarget;p({w:b.naturalWidth,h:b.naturalHeight})},onError:()=>s("Failed to load image"),style:{width:o?Math.max(1,Math.round(o.w*u/100)):"auto",height:o?Math.max(1,Math.round(o.h*u/100)):"auto",maxWidth:"none",maxHeight:"none",objectFit:"contain",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"}})})})]})}function M({filePath:a,cwd:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(0),[j,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(null);(0,e.useRef)(null);let p=(0,q.WP)(a).toLowerCase().split(".").pop()??"",r=(0,q.HG)(a),s=`/api/files/${r}?type=read${h?`&v=${h}`:""}`;return(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,trailing:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:p||"audio"}),null!=l&&(0,d.jsx)("span",{children:function(a){if(!Number.isFinite(a))return"";let b=Math.round(a),c=Math.floor(b/60);return`${c}:${String(b%60).padStart(2,"0")}`}(l)}),null!=j&&(0,d.jsx)("span",{children:(0,f.v7)(j)}),(0,d.jsx)(t,{filePath:a}),(0,d.jsx)(f.mK,{watching:c})]})}),(0,d.jsx)(f.Ph,{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:"var(--bg-panel)"},children:(0,d.jsxs)("div",{style:{width:"min(680px, 100%)"},children:[n&&(0,d.jsx)("div",{style:{color:"#f87171",fontSize:13,marginBottom:12,textAlign:"center"},children:n}),(0,d.jsx)("audio",{controls:!0,preload:"metadata",src:s,onLoadedMetadata:a=>m(a.currentTarget.duration),onError:()=>o("Failed to load audio"),style:{width:"100%"}},s)]})})]})}function N({filePath:a,cwd:b,onOpenFile:c,scrollToLine:e,workbenchSessionId:f,onAskAboutArtifact:g,onEditArtifact:h}){let i,j,k;return(0,q.WP)(a).toLowerCase().endsWith(".h5ad")?(0,d.jsx)(O,{filePath:a,cwd:b}):(0,q.WP)(a).toLowerCase().endsWith(".ipynb")?(0,d.jsx)(G,{filePath:a,cwd:b}):(i=(0,q.WP)(a).toLowerCase().split(".").pop()??"",I.has(i))?(0,d.jsx)(L,{filePath:a,cwd:b,workbenchSessionId:f,onAskAboutArtifact:g,onEditArtifact:h}):(j=(0,q.WP)(a).toLowerCase().split(".").pop()??"",J.has(j))?(0,d.jsx)(M,{filePath:a,cwd:b}):(k=(0,q.WP)(a).toLowerCase().split(".").pop()??"",K.has(k))?(0,d.jsx)(P,{filePath:a,cwd:b}):(0,d.jsx)(x,{filePath:a,cwd:b,onOpenFile:c,scrollToLine:e})}function O({filePath:a,cwd:b}){return(0,d.jsxs)(f.fj,{style:{background:"var(--bg)"},children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,style:{padding:"9px 12px",fontSize:12,color:"var(--text-muted)"}}),(0,d.jsx)(f.nG,{children:"H5AD is a binary dataset. Use @explore from the file tree to open the interactive explorer."})]})}function P({filePath:a,cwd:b}){let c,[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(null);(0,e.useRef)(null);let m=(0,e.useRef)(0),n="pdf"===(c=(0,q.WP)(a).toLowerCase().split(".").pop()??"")?"pdf":"docx"===c||"doc"===c?"docx":"xlsx"===c||"xls"===c?"xlsx":"pptx"===c||"ppt"===c?"pptx":"other",o=(0,q.WP)(a).toLowerCase().split(".").pop()??"";if((0,e.useCallback)(async a=>{try{let b=(0,q.HG)(a),c=m.current?`&v=${m.current}`:"",d=await fetch(`/api/files/${b}?type=read${c}`);if(!d.ok){let a=await d.json().catch(()=>({error:String(d.status)}));l(a.error??`HTTP ${d.status}`);return}let e=await d.arrayBuffer();h(e),l(null)}catch(a){l(String(a))}},[]),i&&!g)return(0,d.jsx)(f.nG,{children:"Loading..."});if(k&&!g)return(0,d.jsx)(f.nG,{tone:"error",children:k});if(!g)return null;let p=(0,q.qP)(a,b),r=(0,d.jsx)(t,{filePath:a});return(0,d.jsxs)(f.fj,{children:["pdf"===n&&(0,d.jsx)(A,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"docx"===n&&(0,d.jsx)(B,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"xlsx"===n&&(0,d.jsx)(C,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"pptx"===n&&(0,d.jsx)(E,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"other"===n&&(0,d.jsxs)(f.nG,{children:["Unsupported document format: .",o]})]})}},92002:(a,b,c)=>{c.d(b,{OI:()=>h,PH:()=>g,QG:()=>e,ok:()=>f});var d=c(48249);function e({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-stage",style:{width:"100%",display:"flex",justifyContent:"center",alignItems:"flex-start",...b},children:a})}function f({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-card",style:{background:"#fff",border:"1px solid var(--border)",borderRadius:8,boxShadow:"0 2px 8px rgba(0,0,0,0.08)",overflow:"hidden",...b},children:a})}function g({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-header",style:{padding:"8px 16px",background:"var(--bg)",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",...b},children:a})}function h({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-body",style:{padding:"24px 32px 40px",...b},children:a})}}};
22
+ </style></head><body><div class="xlsx-preview">${a}</div></body></html>`},[m,k]);return(0,d.jsx)(z.B,{fileName:b,loading:g,loadingLabel:"Loading spreadsheet...",error:i,bodyStyle:{background:"var(--bg-panel)"},extra:(0,d.jsxs)(d.Fragment,{children:[c,k.length>1&&(0,d.jsx)("div",{style:{display:"flex",alignItems:"center",maxWidth:"min(520px, 48vw)"},children:(0,d.jsx)(f.Tg,{options:k.map((a,b)=>({key:a.name,label:(0,d.jsx)("span",{title:a.name,style:{display:"block",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),active:b===m,onClick:()=>n(b)}))})})]}),children:!g&&!i&&k.length>0&&(0,d.jsx)("iframe",{title:b?`${b} preview`:"Spreadsheet preview",sandbox:"",srcDoc:o,style:{width:"100%",height:"100%",minHeight:320,border:"none",background:"white"}})})}var D=c(47394);function E({arrayBuffer:a,fileName:b,toolbarExtra:c}){let[g,h]=(0,e.useState)(!0),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)([]),[m,n]=(0,e.useState)(0),o=k[m],p=k.length;return(0,d.jsx)(z.B,{fileName:b,pageInfo:p>0?`Slide ${m+1} / ${p}`:void 0,loading:g,loadingLabel:"Loading presentation...",error:i,bodyStyle:{background:"var(--bg-panel)",display:"flex",justifyContent:"center",alignItems:"flex-start",padding:24},extra:(0,d.jsxs)(d.Fragment,{children:[c,p>1&&(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,d.jsx)(f.ml,{onClick:()=>n(a=>Math.max(a-1,0)),title:"Previous slide",disabled:m<=0,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"6 2 3 5 6 8"})})}),(0,d.jsxs)("span",{style:{fontSize:11,color:"var(--text-dim)",minWidth:28,textAlign:"center"},children:[m+1,"/",p]}),(0,d.jsx)(f.ml,{onClick:()=>n(a=>Math.min(a+1,p-1)),title:"Next slide",disabled:m>=p-1,style:{width:24,height:24,padding:0,lineHeight:1},children:(0,d.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",children:(0,d.jsx)("polyline",{points:"4 2 7 5 4 8"})})})]})]}),children:!g&&!i&&o&&(0,d.jsx)(y.QG,{children:(0,d.jsxs)("div",{style:{width:"100%",maxWidth:800},children:[(0,d.jsxs)(y.ok,{children:[(0,d.jsxs)(y.PH,{children:["Slide ",o.index]}),(0,d.jsx)(y.OI,{style:{minHeight:200},children:0===o.texts.length?(0,d.jsx)("div",{style:{color:"var(--text-dim)",fontStyle:"italic",fontSize:13},children:"(No text content)"}):(0,d.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:o.texts.map((a,b)=>(0,d.jsx)("li",{style:{padding:"4px 0",fontSize:14,lineHeight:1.6,color:"var(--text)",borderBottom:b<o.texts.length-1?"1px solid var(--bg-panel)":"none"},children:a},b))})})]}),p>1&&(0,d.jsx)(D._t,{title:"All slides",children:(0,d.jsx)(D.S7,{children:k.map((a,b)=>(0,d.jsx)(D.HF,{title:`Slide ${a.index}`,summary:a.texts[0]||"(empty)",active:b===m,onClick:()=>n(b)},a.index))})})]})})})}function F(a){return Array.isArray(a)?a.join(""):a}function G({filePath:a,cwd:b}){let[c,g]=(0,e.useState)(null),[h,i]=(0,e.useState)(!0),[j,k]=(0,e.useState)(null);return((0,e.useRef)(null),h)?(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a}),(0,d.jsx)(f.nG,{children:"Loading notebook..."})]}):j||!c?(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a}),(0,d.jsx)(f.nG,{children:j??"Failed to load notebook"})]}):(0,d.jsxs)(f.fj,{style:{background:"var(--bg)",overflowY:"auto"},children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:`${(0,q.WP)(a)} \xb7 ${c.length} cells`,style:{padding:"9px 12px",fontSize:12,color:"var(--text-muted)"}}),(0,d.jsx)(f.Ph,{style:{padding:0},children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:c.map((a,b)=>(0,d.jsx)(H,{cell:a},b))})})]})}function H({cell:a}){if("markdown"===a.cell_type){let b=F(a.source).trim();return b?(0,d.jsx)("div",{style:{padding:"10px 16px",borderBottom:"1px solid var(--border)",background:"var(--bg)"},children:(0,d.jsx)(p.T,{content:b})}):null}if("code"===a.cell_type){let b=F(a.source),c=a.execution_count,e=a.outputs&&a.outputs.length>0;return(0,d.jsxs)("div",{style:{borderBottom:"1px solid var(--border)"},children:[(0,d.jsxs)("div",{style:{display:"flex",background:"var(--bg-panel)"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0,padding:"6px 0",textAlign:"center",fontSize:10,fontFamily:"var(--font-mono)",color:"var(--text-dim)",userSelect:"none"},children:null!=c?`[${c}]`:"[ ]"}),(0,d.jsx)("div",{style:{flex:1,minWidth:0,padding:"6px 12px 6px 0",overflow:"auto"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.6,color:"var(--text)",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:(0,d.jsx)("code",{children:b})})})]}),e&&a.outputs.map((a,b)=>{let c=function(a){let b=[];if(!a.data)return b;for(let c of["image/png","image/jpeg","image/svg+xml","image/webp"])if(a.data[c]){let d=F(a.data[c]);b.push({data:d,mimeType:c})}return b}(a),e=function(a){if("stream"===a.output_type)return F(a.text??"").trim()||null;if(("execute_result"===a.output_type||"display_data"===a.output_type)&&a.data?.["text/plain"])return F(a.data["text/plain"]).trim()||null;if("error"===a.output_type){let b=a.ename??"Error",c=a.evalue??"";return`${b}: ${c}`}return null}(a);return"error"===a.output_type?(0,d.jsxs)("div",{style:{display:"flex",background:"rgba(248,113,113,0.04)",borderTop:"1px solid rgba(248,113,113,0.15)"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0}}),(0,d.jsx)("div",{style:{flex:1,padding:"6px 12px 6px 0"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:11,lineHeight:1.5,color:"#f87171",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e})})]},b):(0,d.jsxs)("div",{style:{borderTop:"1px solid rgba(34,197,94,0.08)",background:"var(--bg-subtle)"},children:[c.length>0&&(0,d.jsxs)("div",{style:{display:"flex"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0}}),(0,d.jsx)("div",{style:{flex:1,padding:"6px 0"},children:c.map((a,c)=>(0,d.jsx)("img",{src:`data:${a.mimeType};base64,${a.data}`,alt:`output ${b}`,style:{maxWidth:"100%",display:"block"}},c))})]}),e&&(0,d.jsxs)("div",{style:{display:"flex"},children:[(0,d.jsx)("div",{style:{width:48,flexShrink:0}}),(0,d.jsx)("div",{style:{flex:1,padding:"4px 12px 4px 0"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:11,lineHeight:1.5,color:"var(--text-muted)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:300,overflow:"auto"},children:e})})]})]},b)})]})}return(0,d.jsx)("div",{style:{padding:"10px 16px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)"},children:(0,d.jsx)("pre",{style:{margin:0,fontFamily:"var(--font-mono)",fontSize:12,color:"var(--text-dim)",whiteSpace:"pre-wrap"},children:F(a.source)})})}let I=new Set(["png","jpg","jpeg","gif","webp","svg","bmp","ico","avif"]),J=new Set(["mp3","wav","ogg","oga","opus","m4a","aac","flac","weba","webm"]),K=new Set(["pdf","docx","xlsx","pptx","doc","xls","ppt"]);function L({filePath:a,cwd:b,workbenchSessionId:c,onAskAboutArtifact:g,onEditArtifact:h}){let[i,j]=(0,e.useState)(!1),[k,l]=(0,e.useState)(0),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),[r,s]=(0,e.useState)(null),[u,v]=(0,e.useState)(100),[w,x]=(0,e.useState)(null);(0,e.useRef)(null);let y=(0,q.WP)(a).toLowerCase().split(".").pop()??"",z=(0,q.HG)(a),A=`/api/files/${z}?type=read${k?`&v=${k}`:""}`,B=null!=m?(0,f.v7)(m):null,C=a=>v(Math.max(10,Math.min(500,a)));return(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,trailing:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0},children:[(0,d.jsx)(f.ml,{onClick:()=>C(u-25),title:"Zoom out",style:{width:24,height:22,fontSize:13,lineHeight:1,padding:0},children:"-"}),(0,d.jsx)("select",{value:u,onChange:a=>C(Number(a.target.value)),title:"Image zoom",style:{height:22,border:"1px solid var(--border)",borderRadius:5,background:"var(--bg-panel)",color:"var(--text)",fontSize:11,fontFamily:"var(--font-mono)",outline:"none",cursor:"pointer"},children:[25,50,75,100,125,150,200,300].map(a=>(0,d.jsxs)("option",{value:a,children:[a,"%"]},a))}),(0,d.jsx)(f.ml,{onClick:()=>C(u+25),title:"Zoom in",style:{width:24,height:22,fontSize:13,lineHeight:1,padding:0},children:"+"})]}),w&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{title:w.provenance.title,children:["Cell #",w.provenance.cellIndex]}),(0,d.jsx)(f.ml,{onClick:()=>g?.(w),title:"Ask about this Workbench artifact",children:"Ask"}),(0,d.jsx)(f.ml,{onClick:()=>h?.(w),title:"Edit this Workbench artifact",children:"Edit"})]}),(0,d.jsx)("span",{style:{flexShrink:0},children:y||"image"}),o&&(0,d.jsxs)("span",{children:[o.w," \xd7 ",o.h]}),B&&(0,d.jsx)("span",{children:B}),(0,d.jsx)(t,{filePath:a}),(0,d.jsx)(f.mK,{watching:i})]})}),(0,d.jsx)(f.Ph,{style:{background:"var(--bg-panel)",WebkitOverflowScrolling:"touch",overscrollBehavior:"contain",backgroundImage:"linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%)",backgroundSize:"16px 16px",backgroundPosition:"0 0, 0 8px, 8px -8px, -8px 0px"},children:r?(0,d.jsx)(f.nG,{tone:"error",style:{minWidth:"100%",minHeight:"100%"},children:r}):(0,d.jsx)("div",{style:{minWidth:"100%",minHeight:"100%",width:"max-content",height:"max-content",boxSizing:"border-box",display:"flex",alignItems:"flex-start",justifyContent:"flex-start",padding:16},children:(0,d.jsx)("img",{src:A,alt:a,onLoad:a=>{let b=a.currentTarget;p({w:b.naturalWidth,h:b.naturalHeight})},onError:()=>s("Failed to load image"),style:{width:o?Math.max(1,Math.round(o.w*u/100)):"auto",height:o?Math.max(1,Math.round(o.h*u/100)):"auto",maxWidth:"none",maxHeight:"none",objectFit:"contain",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"}})})})]})}function M({filePath:a,cwd:b}){let[c,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(0),[j,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(null);(0,e.useRef)(null);let p=(0,q.WP)(a).toLowerCase().split(".").pop()??"",r=(0,q.HG)(a),s=`/api/files/${r}?type=read${h?`&v=${h}`:""}`;return(0,d.jsxs)(f.fj,{children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,trailing:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:p||"audio"}),null!=l&&(0,d.jsx)("span",{children:function(a){if(!Number.isFinite(a))return"";let b=Math.round(a),c=Math.floor(b/60);return`${c}:${String(b%60).padStart(2,"0")}`}(l)}),null!=j&&(0,d.jsx)("span",{children:(0,f.v7)(j)}),(0,d.jsx)(t,{filePath:a}),(0,d.jsx)(f.mK,{watching:c})]})}),(0,d.jsx)(f.Ph,{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:24,background:"var(--bg-panel)"},children:(0,d.jsxs)("div",{style:{width:"min(680px, 100%)"},children:[n&&(0,d.jsx)("div",{style:{color:"#f87171",fontSize:13,marginBottom:12,textAlign:"center"},children:n}),(0,d.jsx)("audio",{controls:!0,preload:"metadata",src:s,onLoadedMetadata:a=>m(a.currentTarget.duration),onError:()=>o("Failed to load audio"),style:{width:"100%"}},s)]})})]})}function N({filePath:a,cwd:b,onOpenFile:c,scrollToLine:e,workbenchSessionId:f,onAskAboutArtifact:g,onEditArtifact:h,viewerState:i,onViewerStateChange:j}){let k,l,m;return(0,q.WP)(a).toLowerCase().endsWith(".h5ad")?(0,d.jsx)(O,{filePath:a,cwd:b}):(0,q.WP)(a).toLowerCase().endsWith(".ipynb")?(0,d.jsx)(G,{filePath:a,cwd:b}):(k=(0,q.WP)(a).toLowerCase().split(".").pop()??"",I.has(k))?(0,d.jsx)(L,{filePath:a,cwd:b,workbenchSessionId:f,onAskAboutArtifact:g,onEditArtifact:h}):(l=(0,q.WP)(a).toLowerCase().split(".").pop()??"",J.has(l))?(0,d.jsx)(M,{filePath:a,cwd:b}):(m=(0,q.WP)(a).toLowerCase().split(".").pop()??"",K.has(m))?(0,d.jsx)(P,{filePath:a,cwd:b}):(0,d.jsx)(x,{filePath:a,cwd:b,onOpenFile:c,scrollToLine:e,viewerState:i,onViewerStateChange:j})}function O({filePath:a,cwd:b}){return(0,d.jsxs)(f.fj,{style:{background:"var(--bg)"},children:[(0,d.jsx)(f.K$,{pathLabel:(0,q.qP)(a,b),title:a,style:{padding:"9px 12px",fontSize:12,color:"var(--text-muted)"}}),(0,d.jsx)(f.nG,{children:"H5AD is a binary dataset. Use @explore from the file tree to open the interactive explorer."})]})}function P({filePath:a,cwd:b}){let c,[g,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(null);(0,e.useRef)(null);let m=(0,e.useRef)(0),n="pdf"===(c=(0,q.WP)(a).toLowerCase().split(".").pop()??"")?"pdf":"docx"===c||"doc"===c?"docx":"xlsx"===c||"xls"===c?"xlsx":"pptx"===c||"ppt"===c?"pptx":"other",o=(0,q.WP)(a).toLowerCase().split(".").pop()??"";if((0,e.useCallback)(async a=>{try{let b=(0,q.HG)(a),c=m.current?`&v=${m.current}`:"",d=await fetch(`/api/files/${b}?type=read${c}`);if(!d.ok){let a=await d.json().catch(()=>({error:String(d.status)}));l(a.error??`HTTP ${d.status}`);return}let e=await d.arrayBuffer();h(e),l(null)}catch(a){l(String(a))}},[]),i&&!g)return(0,d.jsx)(f.nG,{children:"Loading..."});if(k&&!g)return(0,d.jsx)(f.nG,{tone:"error",children:k});if(!g)return null;let p=(0,q.qP)(a,b),r=(0,d.jsx)(t,{filePath:a});return(0,d.jsxs)(f.fj,{children:["pdf"===n&&(0,d.jsx)(A,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"docx"===n&&(0,d.jsx)(B,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"xlsx"===n&&(0,d.jsx)(C,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"pptx"===n&&(0,d.jsx)(E,{arrayBuffer:g,fileName:p,toolbarExtra:r}),"other"===n&&(0,d.jsxs)(f.nG,{children:["Unsupported document format: .",o]})]})}},92002:(a,b,c)=>{c.d(b,{OI:()=>h,PH:()=>g,QG:()=>e,ok:()=>f});var d=c(48249);function e({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-stage",style:{width:"100%",display:"flex",justifyContent:"center",alignItems:"flex-start",...b},children:a})}function f({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-card",style:{background:"#fff",border:"1px solid var(--border)",borderRadius:8,boxShadow:"0 2px 8px rgba(0,0,0,0.08)",overflow:"hidden",...b},children:a})}function g({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-header",style:{padding:"8px 16px",background:"var(--bg)",borderBottom:"1px solid var(--border)",fontSize:11,color:"var(--text-dim)",fontFamily:"var(--font-mono)",...b},children:a})}function h({children:a,style:b}){return(0,d.jsx)("div",{"data-document-surface":"canvas-body",style:{padding:"24px 32px 40px",...b},children:a})}}};