ompgui 0.5.0 → 0.5.2

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 (262) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +6 -5
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +13 -3
  6. package/.next/required-server-files.js +3 -3
  7. package/.next/required-server-files.json +3 -3
  8. package/.next/routes-manifest.json +6 -0
  9. package/.next/server/app/_global-error/page.js +2 -2
  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 +2 -2
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +3 -3
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  24. package/.next/server/app/api/agent/[id]/events/route.js +2 -4
  25. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  26. package/.next/server/app/api/agent/[id]/route.js +1 -1
  27. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  28. package/.next/server/app/api/agent/new/route.js +1 -1
  29. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  30. package/.next/server/app/api/agent/running/events/route.js +2 -2
  31. package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -1
  32. package/.next/server/app/api/agents/[name]/route.js +1 -1
  33. package/.next/server/app/api/agents/route.js +1 -1
  34. package/.next/server/app/api/agents/unpack/route.js +1 -1
  35. package/.next/server/app/api/app-update/route.js +1 -1
  36. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  37. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  38. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  39. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/providers/route.js +1 -1
  41. package/.next/server/app/api/cwd/browse/route.js +1 -1
  42. package/.next/server/app/api/cwd/validate/route.js +1 -1
  43. package/.next/server/app/api/default-cwd/route.js +1 -1
  44. package/.next/server/app/api/file-index/route.js +1 -1
  45. package/.next/server/app/api/files/[...path]/route.js +2 -2
  46. package/.next/server/app/api/git/diff/route.js +2 -2
  47. package/.next/server/app/api/git/status/route.js +1 -1
  48. package/.next/server/app/api/home/route.js +1 -1
  49. package/.next/server/app/api/mcp/route.js +2 -2
  50. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  51. package/.next/server/app/api/model-roles/route.js +1 -1
  52. package/.next/server/app/api/models/route.js +1 -1
  53. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  54. package/.next/server/app/api/models-config/route.js +1 -1
  55. package/.next/server/app/api/models-config/test/route.js +1 -1
  56. package/.next/server/app/api/omp-settings/route.js +1 -1
  57. package/.next/server/app/api/omp-update/route.js +1 -1
  58. package/.next/server/app/api/omp-update/route.js.nft.json +1 -1
  59. package/.next/server/app/api/omp-version/route.js +1 -1
  60. package/.next/server/app/api/plugins/route.js +1 -1
  61. package/.next/server/app/api/projects/route.js +2 -2
  62. package/.next/server/app/api/providers/enable/route.js +1 -1
  63. package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
  64. package/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
  65. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  66. package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
  67. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  68. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  70. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  71. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  72. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  73. package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
  74. package/.next/server/app/api/sessions/[id]/subagents/[subagentId]/route.js +1 -1
  75. package/.next/server/app/api/sessions/[id]/subagents/route.js +1 -1
  76. package/.next/server/app/api/sessions/[id]/subagents/route.js.nft.json +1 -1
  77. package/.next/server/app/api/sessions/archive/route.js +1 -0
  78. package/.next/server/app/api/sessions/archive/route.js.nft.json +1 -0
  79. package/.next/server/app/api/sessions/archive/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/sessions/import/route.js +1 -1
  81. package/.next/server/app/api/sessions/route.js +1 -1
  82. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  83. package/.next/server/app/api/skills/check/route.js +1 -1
  84. package/.next/server/app/api/skills/install/route.js +1 -1
  85. package/.next/server/app/api/skills/route.js +1 -1
  86. package/.next/server/app/api/skills/search/route.js +1 -1
  87. package/.next/server/app/api/skills/update/route.js +1 -1
  88. package/.next/server/app/api/usage/route.js +1 -1
  89. package/.next/server/app/api/web-auth/session/route.js +1 -1
  90. package/.next/server/app/api/worktrees/route.js +1 -1
  91. package/.next/server/app/favicon.ico/route.js +1 -1
  92. package/.next/server/app/index.html +1 -1
  93. package/.next/server/app/index.rsc +4 -4
  94. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  95. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  96. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  97. package/.next/server/app/login/page.js +1 -1
  98. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  99. package/.next/server/app/login.html +1 -1
  100. package/.next/server/app/login.rsc +3 -3
  101. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  102. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  103. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  104. package/.next/server/app/page.js +2 -19
  105. package/.next/server/app/page.js.nft.json +1 -1
  106. package/.next/server/app/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app-paths-manifest.json +6 -5
  108. package/.next/server/chunks/3798.js +3 -3
  109. package/.next/server/chunks/6209.js +4 -4
  110. package/.next/server/chunks/6465.js +1 -0
  111. package/.next/server/chunks/7567.js +1 -1
  112. package/.next/server/chunks/7834.js +3 -3
  113. package/.next/server/chunks/8170.js +1 -1
  114. package/.next/server/chunks/878.js +18 -0
  115. package/.next/server/chunks/933.js +1 -1
  116. package/.next/server/functions-config-manifest.json +2 -1
  117. package/.next/server/instrumentation.js +1 -1
  118. package/.next/server/middleware-build-manifest.js +1 -1
  119. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  120. package/.next/server/pages/404.html +1 -1
  121. package/.next/server/pages/500.html +1 -1
  122. package/.next/server/server-reference-manifest.json +1 -1
  123. package/.next/static/chunks/1388.f5882731d7cec303.js +17 -0
  124. package/.next/static/chunks/2201.cb2cd0567e7a9f8f.js +1 -0
  125. package/.next/static/chunks/3688.77dd9e68a61af45e.js +1 -0
  126. package/.next/static/chunks/4315-5b474b642e3c5ea7.js +1 -0
  127. package/.next/static/chunks/8920-c73b529c74b3a43d.js +1 -0
  128. package/.next/static/chunks/9182.754907be517f076c.js +1 -0
  129. package/.next/static/chunks/9448.a3d481d9e75112d4.js +2 -0
  130. package/.next/static/chunks/9668.b606b2dc0af7c335.js +1 -0
  131. package/.next/static/chunks/app/_global-error/page-6522fcf9bacdbe27.js +1 -0
  132. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-6522fcf9bacdbe27.js +1 -0
  133. package/.next/static/chunks/app/api/agent/[id]/events/route-6522fcf9bacdbe27.js +1 -0
  134. package/.next/static/chunks/app/api/agent/[id]/route-6522fcf9bacdbe27.js +1 -0
  135. package/.next/static/chunks/app/api/agent/new/route-6522fcf9bacdbe27.js +1 -0
  136. package/.next/static/chunks/app/api/agent/running/events/route-6522fcf9bacdbe27.js +1 -0
  137. package/.next/static/chunks/app/api/agents/[name]/route-6522fcf9bacdbe27.js +1 -0
  138. package/.next/static/chunks/app/api/agents/route-6522fcf9bacdbe27.js +1 -0
  139. package/.next/static/chunks/app/api/agents/unpack/route-6522fcf9bacdbe27.js +1 -0
  140. package/.next/static/chunks/app/api/app-update/route-6522fcf9bacdbe27.js +1 -0
  141. package/.next/static/chunks/app/api/auth/all-providers/route-6522fcf9bacdbe27.js +1 -0
  142. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-6522fcf9bacdbe27.js +1 -0
  143. package/.next/static/chunks/app/api/auth/login/[provider]/route-6522fcf9bacdbe27.js +1 -0
  144. package/.next/static/chunks/app/api/auth/logout/[provider]/route-6522fcf9bacdbe27.js +1 -0
  145. package/.next/static/chunks/app/api/auth/providers/route-6522fcf9bacdbe27.js +1 -0
  146. package/.next/static/chunks/app/api/cwd/browse/route-6522fcf9bacdbe27.js +1 -0
  147. package/.next/static/chunks/app/api/cwd/validate/route-6522fcf9bacdbe27.js +1 -0
  148. package/.next/static/chunks/app/api/default-cwd/route-6522fcf9bacdbe27.js +1 -0
  149. package/.next/static/chunks/app/api/file-index/route-6522fcf9bacdbe27.js +1 -0
  150. package/.next/static/chunks/app/api/files/[...path]/route-6522fcf9bacdbe27.js +1 -0
  151. package/.next/static/chunks/app/api/git/diff/route-6522fcf9bacdbe27.js +1 -0
  152. package/.next/static/chunks/app/api/git/status/route-6522fcf9bacdbe27.js +1 -0
  153. package/.next/static/chunks/app/api/home/route-6522fcf9bacdbe27.js +1 -0
  154. package/.next/static/chunks/app/api/mcp/route-6522fcf9bacdbe27.js +1 -0
  155. package/.next/static/chunks/app/api/model-roles/route-6522fcf9bacdbe27.js +1 -0
  156. package/.next/static/chunks/app/api/models/route-6522fcf9bacdbe27.js +1 -0
  157. package/.next/static/chunks/app/api/models-config/catalog/route-6522fcf9bacdbe27.js +1 -0
  158. package/.next/static/chunks/app/api/models-config/route-6522fcf9bacdbe27.js +1 -0
  159. package/.next/static/chunks/app/api/models-config/test/route-6522fcf9bacdbe27.js +1 -0
  160. package/.next/static/chunks/app/api/omp-settings/route-6522fcf9bacdbe27.js +1 -0
  161. package/.next/static/chunks/app/api/omp-update/route-6522fcf9bacdbe27.js +1 -0
  162. package/.next/static/chunks/app/api/omp-version/route-6522fcf9bacdbe27.js +1 -0
  163. package/.next/static/chunks/app/api/plugins/route-6522fcf9bacdbe27.js +1 -0
  164. package/.next/static/chunks/app/api/projects/route-6522fcf9bacdbe27.js +1 -0
  165. package/.next/static/chunks/app/api/providers/enable/route-6522fcf9bacdbe27.js +1 -0
  166. package/.next/static/chunks/app/api/sessions/[id]/archive/route-6522fcf9bacdbe27.js +1 -0
  167. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-6522fcf9bacdbe27.js +1 -0
  168. package/.next/static/chunks/app/api/sessions/[id]/context/route-6522fcf9bacdbe27.js +1 -0
  169. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-6522fcf9bacdbe27.js +1 -0
  170. package/.next/static/chunks/app/api/sessions/[id]/export/route-6522fcf9bacdbe27.js +1 -0
  171. package/.next/static/chunks/app/api/sessions/[id]/route-6522fcf9bacdbe27.js +1 -0
  172. package/.next/static/chunks/app/api/sessions/[id]/state/route-6522fcf9bacdbe27.js +1 -0
  173. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-6522fcf9bacdbe27.js +1 -0
  174. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-6522fcf9bacdbe27.js +1 -0
  175. package/.next/static/chunks/app/api/sessions/archive/route-6522fcf9bacdbe27.js +1 -0
  176. package/.next/static/chunks/app/api/sessions/import/route-6522fcf9bacdbe27.js +1 -0
  177. package/.next/static/chunks/app/api/sessions/route-6522fcf9bacdbe27.js +1 -0
  178. package/.next/static/chunks/app/api/skills/check/route-6522fcf9bacdbe27.js +1 -0
  179. package/.next/static/chunks/app/api/skills/install/route-6522fcf9bacdbe27.js +1 -0
  180. package/.next/static/chunks/app/api/skills/route-6522fcf9bacdbe27.js +1 -0
  181. package/.next/static/chunks/app/api/skills/search/route-6522fcf9bacdbe27.js +1 -0
  182. package/.next/static/chunks/app/api/skills/update/route-6522fcf9bacdbe27.js +1 -0
  183. package/.next/static/chunks/app/api/usage/route-6522fcf9bacdbe27.js +1 -0
  184. package/.next/static/chunks/app/api/web-auth/session/route-6522fcf9bacdbe27.js +1 -0
  185. package/.next/static/chunks/app/api/worktrees/route-6522fcf9bacdbe27.js +1 -0
  186. package/.next/static/chunks/app/page-e41b8209fd2ea767.js +59 -0
  187. package/.next/static/chunks/next/dist/client/components/builtin/app-error-6522fcf9bacdbe27.js +1 -0
  188. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-6522fcf9bacdbe27.js +1 -0
  189. package/.next/static/chunks/next/dist/client/components/builtin/not-found-6522fcf9bacdbe27.js +1 -0
  190. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6522fcf9bacdbe27.js +1 -0
  191. package/.next/static/chunks/webpack-98ad23dbf3236237.js +1 -0
  192. package/.next/static/css/{fd6895a0365999bd.css → d8ca761d517bada8.css} +1 -1
  193. package/.next/static/zkZlxxV0Z5JxXBMa0gjAv/_buildManifest.js +1 -0
  194. package/package.json +1 -1
  195. package/.next/server/chunks/2407.js +0 -1
  196. package/.next/static/2RFCzMViB3kmtz57FAIur/_buildManifest.js +0 -1
  197. package/.next/static/chunks/2201.6abfe81cfb579cec.js +0 -1
  198. package/.next/static/chunks/3451-3d65a6a41175e276.js +0 -1
  199. package/.next/static/chunks/4315-c1043ad8843c6724.js +0 -1
  200. package/.next/static/chunks/9182.b5a8480a8c9fd1ce.js +0 -1
  201. package/.next/static/chunks/9668.50f63e37c76796c5.js +0 -1
  202. package/.next/static/chunks/app/_global-error/page-b3b7f9faeba219c0.js +0 -1
  203. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-b3b7f9faeba219c0.js +0 -1
  204. package/.next/static/chunks/app/api/agent/[id]/events/route-b3b7f9faeba219c0.js +0 -1
  205. package/.next/static/chunks/app/api/agent/[id]/route-b3b7f9faeba219c0.js +0 -1
  206. package/.next/static/chunks/app/api/agent/new/route-b3b7f9faeba219c0.js +0 -1
  207. package/.next/static/chunks/app/api/agent/running/events/route-b3b7f9faeba219c0.js +0 -1
  208. package/.next/static/chunks/app/api/agents/[name]/route-b3b7f9faeba219c0.js +0 -1
  209. package/.next/static/chunks/app/api/agents/route-b3b7f9faeba219c0.js +0 -1
  210. package/.next/static/chunks/app/api/agents/unpack/route-b3b7f9faeba219c0.js +0 -1
  211. package/.next/static/chunks/app/api/app-update/route-b3b7f9faeba219c0.js +0 -1
  212. package/.next/static/chunks/app/api/auth/all-providers/route-b3b7f9faeba219c0.js +0 -1
  213. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-b3b7f9faeba219c0.js +0 -1
  214. package/.next/static/chunks/app/api/auth/login/[provider]/route-b3b7f9faeba219c0.js +0 -1
  215. package/.next/static/chunks/app/api/auth/logout/[provider]/route-b3b7f9faeba219c0.js +0 -1
  216. package/.next/static/chunks/app/api/auth/providers/route-b3b7f9faeba219c0.js +0 -1
  217. package/.next/static/chunks/app/api/cwd/browse/route-b3b7f9faeba219c0.js +0 -1
  218. package/.next/static/chunks/app/api/cwd/validate/route-b3b7f9faeba219c0.js +0 -1
  219. package/.next/static/chunks/app/api/default-cwd/route-b3b7f9faeba219c0.js +0 -1
  220. package/.next/static/chunks/app/api/file-index/route-b3b7f9faeba219c0.js +0 -1
  221. package/.next/static/chunks/app/api/files/[...path]/route-b3b7f9faeba219c0.js +0 -1
  222. package/.next/static/chunks/app/api/git/diff/route-b3b7f9faeba219c0.js +0 -1
  223. package/.next/static/chunks/app/api/git/status/route-b3b7f9faeba219c0.js +0 -1
  224. package/.next/static/chunks/app/api/home/route-b3b7f9faeba219c0.js +0 -1
  225. package/.next/static/chunks/app/api/mcp/route-b3b7f9faeba219c0.js +0 -1
  226. package/.next/static/chunks/app/api/model-roles/route-b3b7f9faeba219c0.js +0 -1
  227. package/.next/static/chunks/app/api/models/route-b3b7f9faeba219c0.js +0 -1
  228. package/.next/static/chunks/app/api/models-config/catalog/route-b3b7f9faeba219c0.js +0 -1
  229. package/.next/static/chunks/app/api/models-config/route-b3b7f9faeba219c0.js +0 -1
  230. package/.next/static/chunks/app/api/models-config/test/route-b3b7f9faeba219c0.js +0 -1
  231. package/.next/static/chunks/app/api/omp-settings/route-b3b7f9faeba219c0.js +0 -1
  232. package/.next/static/chunks/app/api/omp-update/route-b3b7f9faeba219c0.js +0 -1
  233. package/.next/static/chunks/app/api/omp-version/route-b3b7f9faeba219c0.js +0 -1
  234. package/.next/static/chunks/app/api/plugins/route-b3b7f9faeba219c0.js +0 -1
  235. package/.next/static/chunks/app/api/projects/route-b3b7f9faeba219c0.js +0 -1
  236. package/.next/static/chunks/app/api/providers/enable/route-b3b7f9faeba219c0.js +0 -1
  237. package/.next/static/chunks/app/api/sessions/[id]/archive/route-b3b7f9faeba219c0.js +0 -1
  238. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-b3b7f9faeba219c0.js +0 -1
  239. package/.next/static/chunks/app/api/sessions/[id]/context/route-b3b7f9faeba219c0.js +0 -1
  240. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-b3b7f9faeba219c0.js +0 -1
  241. package/.next/static/chunks/app/api/sessions/[id]/export/route-b3b7f9faeba219c0.js +0 -1
  242. package/.next/static/chunks/app/api/sessions/[id]/route-b3b7f9faeba219c0.js +0 -1
  243. package/.next/static/chunks/app/api/sessions/[id]/state/route-b3b7f9faeba219c0.js +0 -1
  244. package/.next/static/chunks/app/api/sessions/[id]/subagents/[subagentId]/route-b3b7f9faeba219c0.js +0 -1
  245. package/.next/static/chunks/app/api/sessions/[id]/subagents/route-b3b7f9faeba219c0.js +0 -1
  246. package/.next/static/chunks/app/api/sessions/import/route-b3b7f9faeba219c0.js +0 -1
  247. package/.next/static/chunks/app/api/sessions/route-b3b7f9faeba219c0.js +0 -1
  248. package/.next/static/chunks/app/api/skills/check/route-b3b7f9faeba219c0.js +0 -1
  249. package/.next/static/chunks/app/api/skills/install/route-b3b7f9faeba219c0.js +0 -1
  250. package/.next/static/chunks/app/api/skills/route-b3b7f9faeba219c0.js +0 -1
  251. package/.next/static/chunks/app/api/skills/search/route-b3b7f9faeba219c0.js +0 -1
  252. package/.next/static/chunks/app/api/skills/update/route-b3b7f9faeba219c0.js +0 -1
  253. package/.next/static/chunks/app/api/usage/route-b3b7f9faeba219c0.js +0 -1
  254. package/.next/static/chunks/app/api/web-auth/session/route-b3b7f9faeba219c0.js +0 -1
  255. package/.next/static/chunks/app/api/worktrees/route-b3b7f9faeba219c0.js +0 -1
  256. package/.next/static/chunks/app/page-996c13eb0fd7f2f5.js +0 -76
  257. package/.next/static/chunks/next/dist/client/components/builtin/app-error-b3b7f9faeba219c0.js +0 -1
  258. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b3b7f9faeba219c0.js +0 -1
  259. package/.next/static/chunks/next/dist/client/components/builtin/not-found-b3b7f9faeba219c0.js +0 -1
  260. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b3b7f9faeba219c0.js +0 -1
  261. package/.next/static/chunks/webpack-aa3ac8754f36a5a1.js +0 -1
  262. /package/.next/static/{2RFCzMViB3kmtz57FAIur → zkZlxxV0Z5JxXBMa0gjAv}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":1,"files":["../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/@swc/helpers/package.json","../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../node_modules/next/dist/client/lib/console.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/compiled/source-map/package.json","../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../node_modules/next/dist/compiled/ws/index.js","../../../node_modules/next/dist/compiled/ws/package.json","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/picocolors.js","../../../node_modules/next/dist/lib/scheduler.js","../../../node_modules/next/dist/lib/semver-noop.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/lru-cache.js","../../../node_modules/next/dist/server/lib/parse-stack.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../node_modules/next/dist/server/lib/source-maps.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/server/load-manifest.external.js","../../../node_modules/next/dist/server/node-environment-baseline.js","../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../node_modules/next/dist/server/node-environment.js","../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../node_modules/next/dist/server/patch-error-inspect.js","../../../node_modules/next/dist/server/require-hook.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/package.json","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/index.js","../../../node_modules/react/package.json","../../../package.json","../../package.json","../chunks/1094.js","../chunks/1515.js","../chunks/1555.js","../chunks/1601.js","../chunks/1625.js","../chunks/1800.js","../chunks/1860.js","../chunks/2075.js","../chunks/2106.js","../chunks/2169.js","../chunks/2190.js","../chunks/2325.js","../chunks/2408.js","../chunks/2452.js","../chunks/2744.js","../chunks/2865.js","../chunks/2903.js","../chunks/295.js","../chunks/3012.js","../chunks/3186.js","../chunks/3383.js","../chunks/3425.js","../chunks/3569.js","../chunks/3869.js","../chunks/3894.js","../chunks/4267.js","../chunks/4315.js","../chunks/4367.js","../chunks/4372.js","../chunks/4538.js","../chunks/4548.js","../chunks/4563.js","../chunks/4674.js","../chunks/4741.js","../chunks/477.js","../chunks/4980.js","../chunks/5029.js","../chunks/5318.js","../chunks/5974.js","../chunks/6052.js","../chunks/611.js","../chunks/6253.js","../chunks/6337.js","../chunks/6366.js","../chunks/673.js","../chunks/6916.js","../chunks/6980.js","../chunks/703.js","../chunks/7233.js","../chunks/7265.js","../chunks/7307.js","../chunks/7561.js","../chunks/7710.js","../chunks/7744.js","../chunks/7790.js","../chunks/7799.js","../chunks/7872.js","../chunks/8106.js","../chunks/8170.js","../chunks/8294.js","../chunks/8333.js","../chunks/835.js","../chunks/8397.js","../chunks/8604.js","../chunks/8713.js","../chunks/8782.js","../chunks/8920.js","../chunks/922.js","../chunks/9280.js","../chunks/933.js","../chunks/9486.js","../chunks/9509.js","../chunks/9510.js","../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/@swc/helpers/package.json","../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../node_modules/next/dist/client/lib/console.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/compiled/source-map/package.json","../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../node_modules/next/dist/compiled/ws/index.js","../../../node_modules/next/dist/compiled/ws/package.json","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/picocolors.js","../../../node_modules/next/dist/lib/scheduler.js","../../../node_modules/next/dist/lib/semver-noop.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/lru-cache.js","../../../node_modules/next/dist/server/lib/parse-stack.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../node_modules/next/dist/server/lib/source-maps.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/server/load-manifest.external.js","../../../node_modules/next/dist/server/node-environment-baseline.js","../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../node_modules/next/dist/server/node-environment.js","../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../node_modules/next/dist/server/patch-error-inspect.js","../../../node_modules/next/dist/server/require-hook.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/package.json","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/index.js","../../../node_modules/react/package.json","../../../package.json","../../package.json","../chunks/1094.js","../chunks/1515.js","../chunks/1555.js","../chunks/1601.js","../chunks/1625.js","../chunks/1800.js","../chunks/1860.js","../chunks/2075.js","../chunks/2106.js","../chunks/2169.js","../chunks/2190.js","../chunks/2325.js","../chunks/2408.js","../chunks/2452.js","../chunks/2744.js","../chunks/2865.js","../chunks/2903.js","../chunks/295.js","../chunks/3012.js","../chunks/3186.js","../chunks/3383.js","../chunks/3425.js","../chunks/3569.js","../chunks/3869.js","../chunks/3894.js","../chunks/4267.js","../chunks/4315.js","../chunks/4367.js","../chunks/4372.js","../chunks/4538.js","../chunks/4548.js","../chunks/4563.js","../chunks/4674.js","../chunks/4741.js","../chunks/477.js","../chunks/4980.js","../chunks/5029.js","../chunks/5318.js","../chunks/5974.js","../chunks/6052.js","../chunks/611.js","../chunks/6253.js","../chunks/6337.js","../chunks/6366.js","../chunks/673.js","../chunks/6916.js","../chunks/6980.js","../chunks/703.js","../chunks/7233.js","../chunks/7265.js","../chunks/7307.js","../chunks/7561.js","../chunks/7710.js","../chunks/7744.js","../chunks/7790.js","../chunks/7799.js","../chunks/7872.js","../chunks/8106.js","../chunks/8170.js","../chunks/8294.js","../chunks/8333.js","../chunks/835.js","../chunks/8397.js","../chunks/8604.js","../chunks/8713.js","../chunks/878.js","../chunks/8782.js","../chunks/8920.js","../chunks/922.js","../chunks/9280.js","../chunks/933.js","../chunks/9486.js","../chunks/9509.js","../chunks/9510.js","../webpack-runtime.js","page_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"54690":{"*":{"id":"43248","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77397":{"*":{"id":"73786","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"87460":{"*":{"id":"2420","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"98304":{"*":{"id":"65446","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Noto_Sans_Mono\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"],\"variable\":\"--font-noto-mono\",\"display\":\"swap\"}],\"variableName\":\"notoSansMono\"}":{"id":83683,"name":"*","chunks":["7177","static/chunks/app/layout-32679237fb27c4d9.js"],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/pretendard/dist/web/variable/pretendardvariable.css":{"id":16259,"name":"*","chunks":["7177","static/chunks/app/layout-32679237fb27c4d9.js"],"async":false},"/home/runner/work/ompgui/ompgui/app/globals.css":{"id":66872,"name":"*","chunks":["7177","static/chunks/app/layout-32679237fb27c4d9.js"],"async":false},"/home/runner/work/ompgui/ompgui/app/error.tsx":{"id":87460,"name":"*","chunks":["4315","static/chunks/4315-c1043ad8843c6724.js","8039","static/chunks/app/error-a88ca1da88a49a27.js"],"async":false},"/home/runner/work/ompgui/ompgui/app/global-error.tsx":{"id":54690,"name":"*","chunks":["4219","static/chunks/app/global-error-0e57c8c5d04fec63.js"],"async":false},"/home/runner/work/ompgui/ompgui/components/LoginForm.tsx":{"id":77397,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/components/AppShell.tsx":{"id":98304,"name":"*","chunks":["3451","static/chunks/3451-3d65a6a41175e276.js","4315","static/chunks/4315-c1043ad8843c6724.js","8974","static/chunks/app/page-996c13eb0fd7f2f5.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/ompgui/ompgui/":[],"/home/runner/work/ompgui/ompgui/app/layout":[{"inlined":false,"path":"static/css/fd6895a0365999bd.css"}],"/home/runner/work/ompgui/ompgui/app/error":[],"/home/runner/work/ompgui/ompgui/app/global-error":[],"/home/runner/work/ompgui/ompgui/app/page":[]},"rscModuleMapping":{"16259":{"*":{"id":"72265","name":"*","chunks":[],"async":false}},"54690":{"*":{"id":"55038","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77397":{"*":{"id":"59038","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"87460":{"*":{"id":"85034","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"98304":{"*":{"id":"35790","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"54690":{"*":{"id":"43248","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"57958":{"*":{"id":"2699","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77397":{"*":{"id":"73786","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"87460":{"*":{"id":"2420","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Noto_Sans_Mono\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"],\"variable\":\"--font-noto-mono\",\"display\":\"swap\"}],\"variableName\":\"notoSansMono\"}":{"id":83683,"name":"*","chunks":["7177","static/chunks/app/layout-32679237fb27c4d9.js"],"async":false},"/home/runner/work/ompgui/ompgui/node_modules/pretendard/dist/web/variable/pretendardvariable.css":{"id":16259,"name":"*","chunks":["7177","static/chunks/app/layout-32679237fb27c4d9.js"],"async":false},"/home/runner/work/ompgui/ompgui/app/globals.css":{"id":66872,"name":"*","chunks":["7177","static/chunks/app/layout-32679237fb27c4d9.js"],"async":false},"/home/runner/work/ompgui/ompgui/app/error.tsx":{"id":87460,"name":"*","chunks":["4315","static/chunks/4315-5b474b642e3c5ea7.js","8039","static/chunks/app/error-a88ca1da88a49a27.js"],"async":false},"/home/runner/work/ompgui/ompgui/app/global-error.tsx":{"id":54690,"name":"*","chunks":["4219","static/chunks/app/global-error-0e57c8c5d04fec63.js"],"async":false},"/home/runner/work/ompgui/ompgui/components/LoginForm.tsx":{"id":77397,"name":"*","chunks":[],"async":false},"/home/runner/work/ompgui/ompgui/components/AppShell.tsx":{"id":57958,"name":"*","chunks":["8920","static/chunks/8920-c73b529c74b3a43d.js","4315","static/chunks/4315-5b474b642e3c5ea7.js","8974","static/chunks/app/page-e41b8209fd2ea767.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/ompgui/ompgui/":[],"/home/runner/work/ompgui/ompgui/app/layout":[{"inlined":false,"path":"static/css/d8ca761d517bada8.css"}],"/home/runner/work/ompgui/ompgui/app/error":[],"/home/runner/work/ompgui/ompgui/app/global-error":[],"/home/runner/work/ompgui/ompgui/app/page":[]},"rscModuleMapping":{"16259":{"*":{"id":"72265","name":"*","chunks":[],"async":false}},"54690":{"*":{"id":"55038","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"57958":{"*":{"id":"35790","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77397":{"*":{"id":"59038","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"87460":{"*":{"id":"85034","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -25,14 +25,14 @@
25
25
  "/api/worktrees/route": "app/api/worktrees/route.js",
26
26
  "/favicon.ico/route": "app/favicon.ico/route.js",
27
27
  "/api/agent/new/route": "app/api/agent/new/route.js",
28
- "/api/agent/running/events/route": "app/api/agent/running/events/route.js",
29
28
  "/api/agent/[id]/events/route": "app/api/agent/[id]/events/route.js",
30
- "/api/agents/unpack/route": "app/api/agents/unpack/route.js",
29
+ "/api/agent/running/events/route": "app/api/agent/running/events/route.js",
31
30
  "/api/agents/[name]/route": "app/api/agents/[name]/route.js",
32
- "/api/app-update/route": "app/api/app-update/route.js",
33
31
  "/api/agents/route": "app/api/agents/route.js",
34
- "/api/auth/all-providers/route": "app/api/auth/all-providers/route.js",
32
+ "/api/agents/unpack/route": "app/api/agents/unpack/route.js",
33
+ "/api/app-update/route": "app/api/app-update/route.js",
35
34
  "/api/auth/api-key/[provider]/route": "app/api/auth/api-key/[provider]/route.js",
35
+ "/api/auth/all-providers/route": "app/api/auth/all-providers/route.js",
36
36
  "/api/auth/logout/[provider]/route": "app/api/auth/logout/[provider]/route.js",
37
37
  "/api/auth/providers/route": "app/api/auth/providers/route.js",
38
38
  "/api/auth/login/[provider]/route": "app/api/auth/login/[provider]/route.js",
@@ -41,14 +41,15 @@
41
41
  "/api/models-config/route": "app/api/models-config/route.js",
42
42
  "/api/mcp/route": "app/api/mcp/route.js",
43
43
  "/api/models-config/test/route": "app/api/models-config/test/route.js",
44
- "/api/omp-settings/route": "app/api/omp-settings/route.js",
45
44
  "/api/omp-update/route": "app/api/omp-update/route.js",
46
45
  "/api/omp-version/route": "app/api/omp-version/route.js",
46
+ "/api/omp-settings/route": "app/api/omp-settings/route.js",
47
47
  "/api/models/route": "app/api/models/route.js",
48
48
  "/api/plugins/route": "app/api/plugins/route.js",
49
49
  "/api/sessions/[id]/export/route": "app/api/sessions/[id]/export/route.js",
50
50
  "/api/sessions/[id]/subagents/[subagentId]/route": "app/api/sessions/[id]/subagents/[subagentId]/route.js",
51
51
  "/api/sessions/[id]/subagents/route": "app/api/sessions/[id]/subagents/route.js",
52
+ "/api/sessions/archive/route": "app/api/sessions/archive/route.js",
52
53
  "/api/skills/check/route": "app/api/skills/check/route.js",
53
54
  "/api/skills/install/route": "app/api/skills/install/route.js",
54
55
  "/api/skills/route": "app/api/skills/route.js",
@@ -1,5 +1,5 @@
1
- "use strict";exports.id=3798,exports.ids=[3798],exports.modules={13798:(a,b,c)=>{c.d(b,{x:()=>k,X:()=>l});var d=c(79646),e=c(4984),f=c(79588),g=c(20565);function h(a){return"number"==typeof a&&Number.isSafeInteger(a)}function i(a){return Buffer.byteLength(a,"utf8")+1}class j{push(a){if(!(0,g.u4)(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!(0,g.u4)(a)||"string"!=typeof a.type)throw Error("RPC frame must be an object");return a}let{chunkId:b,index:c,count:d,byteLength:e}=a;if("string"!=typeof b||0===b.length||b.length>128||!h(c)||!h(d)||!h(e)||c<0||d<2||d>Math.ceil(256)||c>=d||e<1048576||e>0x4000000)throw Error("invalid RPC chunk metadata");let f=function(a){if("string"!=typeof a||0===a.length||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a))throw Error("invalid RPC chunk data");let b=Buffer.from(a,"base64");if(b.toString("base64")!==a)throw Error("invalid RPC chunk data");return b}(a.data);if(f.byteLength>262144)throw Error("RPC chunk payload exceeds the transport limit");if(!this.pending){if(0!==c)throw Error("RPC chunk sequence must start at index 0");this.pending={chunkId:b,count:d,byteLength:e,nextIndex:0,chunks:[],receivedBytes:0}}let i=this.pending;if(i.chunkId!==b||i.count!==d||i.byteLength!==e||i.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(i.chunks.push(f),i.receivedBytes+=f.byteLength,i.nextIndex++,i.receivedBytes>i.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(i.nextIndex<i.count)return;if(i.receivedBytes!==i.byteLength)throw Error("RPC chunk sequence length mismatch");this.pending=void 0;let j=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(Buffer.concat(i.chunks)));if(!(0,g.u4)(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class k extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class l{constructor(a){let b,c;this.pending=new Map,this.frameListeners=new Set,this.nextId=1,this.stderrTail="",this.exited=!1,this.exitInfo=null,this.protocolVersion=1,this.nextChunkId=1,this.writeQueue=Promise.resolve();const g=a.dependencies?.resolveOmpBin??f.wS;this.spawnProcess=a.dependencies?.spawn??d.spawn;const h=g();if(!h)throw Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN.");this.cwd=a.cwd,a.onFrame&&this.frameListeners.add(a.onFrame);const i=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]];this.child=this.spawnProcess(h,i,{cwd:a.cwd,env:function(a,b=process.platform){let c={...a};for(let a of Object.keys(c))(function(a,b){let c="win32"===b?a.toUpperCase():a;return"PORT"===c||"NODE_ENV"===c||c.startsWith("NEXT_")})(a,b)&&delete c[a];return c}({...process.env,...a.env}),stdio:["pipe","pipe","pipe"],windowsHide:!0,detached:"win32"!==process.platform}),this.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{});const k=new j;(0,e.createInterface)({input:this.child.stdout}).on("line",a=>{let c,d,e=a.trim();if(e){try{c=JSON.parse(e)}catch{return}try{if(c&&"object"==typeof c&&"rpc_chunk"===c.type&&2!==this.protocolVersion)throw Error("RPC chunk received before protocol negotiation");let a=k.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
2
- RPC protocol error: ${a instanceof Error?a.message:String(a)}`).slice(-8192),this.dispose(0);return}if("ready"===d.type)return void b(d);if("response"===d.type)return void this.handleResponse(d);for(let a of this.frameListeners)try{a(d)}catch{}}}),this.child.stderr.on("data",a=>{this.stderrTail=(this.stderrTail+a.toString("utf8")).slice(-8192)});const l=(b,d)=>{if(this.exited)return;this.exited=!0,this.exitInfo={code:b,signal:d};let e=Error(`omp exited (code ${b??"null"}, signal ${d??"none"})${this.stderrTail?`: ${this.stderrTail.slice(-500)}`:""}`);for(let[,a]of(c(e),this.pending))a.timer&&clearTimeout(a.timer),a.reject(e);this.pending.clear(),a.onExit?.({code:b,signal:d,stderrTail:this.stderrTail})};this.child.on("exit",l),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
3
- spawn error: ${a.message}`).slice(-8192),l(null,null)})}get isAlive(){return!this.exited}get exitDetails(){return this.exitInfo?{...this.exitInfo,stderrTail:this.stderrTail}:null}waitReady(a=6e4){let b=new Promise((b,c)=>{let d=setTimeout(()=>c(Error(`omp RPC ready timeout after ${a}ms`)),a);d.unref?.(),this.readyPromise.finally(()=>clearTimeout(d)).catch(()=>{})});return Promise.race([this.readyPromise,b])}async negotiateProtocol(a){if(!(Array.isArray(a.supportedProtocolVersions)?a.supportedProtocolVersions:[]).includes(2))return this.protocolVersion;let b=await this.sendCommand({type:"negotiate_protocol",protocolVersion:2});if(b?.protocolVersion!==2)throw Error("OMP rejected RPC protocol v2 negotiation");return this.protocolVersion=2,this.protocolVersion}onFrame(a){return this.frameListeners.add(a),()=>this.frameListeners.delete(a)}sendCommand(a,b){if(this.exited)return Promise.reject(Error("omp RPC process has exited"));let c=`w${this.nextId++}`;return new Promise((d,e)=>{let f={command:a.type,resolve:d,reject:e};b&&b>0&&(f.timer=setTimeout(()=>{this.pending.get(c)===f&&(this.pending.delete(c),e(Error(`RPC command ${a.type} timed out after ${b}ms`)))},b),f.timer.unref?.()),this.pending.set(c,f),this.writeFrame({...a,id:c},a=>{if(a){let b=this.pending.get(c);b&&(this.pending.delete(c),b.timer&&clearTimeout(b.timer),e(a))}})})}sendFrame(a){this.exited||this.writeFrame(a,()=>{})}writeFrame(a,b){let c;try{c=function(a,b,c){let d=JSON.stringify(a);if(1048576>=i(d))return[`${d}
1
+ "use strict";exports.id=3798,exports.ids=[3798],exports.modules={13798:(a,b,c)=>{c.d(b,{x:()=>k,X:()=>l});var d=c(79646),e=c(4984),f=c(79588),g=c(20565);function h(a){return"number"==typeof a&&Number.isSafeInteger(a)}function i(a){return Buffer.byteLength(a,"utf8")+1}class j{push(a){if(!(0,g.u4)(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!(0,g.u4)(a)||"string"!=typeof a.type)throw Error("RPC frame must be an object");return a}let{chunkId:b,index:c,count:d,byteLength:e}=a;if("string"!=typeof b||0===b.length||b.length>128||!h(c)||!h(d)||!h(e)||c<0||d<2||d>Math.ceil(256)||c>=d||e<1048576||e>0x4000000)throw Error("invalid RPC chunk metadata");let f=function(a){if("string"!=typeof a||0===a.length||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a))throw Error("invalid RPC chunk data");let b=Buffer.from(a,"base64");if(b.toString("base64")!==a)throw Error("invalid RPC chunk data");return b}(a.data);if(f.byteLength>262144)throw Error("RPC chunk payload exceeds the transport limit");if(!this.pending){if(0!==c)throw Error("RPC chunk sequence must start at index 0");this.pending={chunkId:b,count:d,byteLength:e,nextIndex:0,chunks:[],receivedBytes:0}}let i=this.pending;if(i.chunkId!==b||i.count!==d||i.byteLength!==e||i.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(i.chunks.push(f),i.receivedBytes+=f.byteLength,i.nextIndex++,i.receivedBytes>i.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(i.nextIndex<i.count)return;if(i.receivedBytes!==i.byteLength)throw Error("RPC chunk sequence length mismatch");this.pending=void 0;let j=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(Buffer.concat(i.chunks)));if(!(0,g.u4)(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class k extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class l{constructor(a){let b,c;this.pending=new Map,this.frameListeners=new Set,this.nextId=1,this.stderrTail="",this.exited=!1,this.exitInfo=null,this.protocolVersion=1,this.nextChunkId=1,this.writeQueue=Promise.resolve();const g=a.dependencies?.resolveOmpBin??f.wS;this.spawnProcess=a.dependencies?.spawn??d.spawn;const h=g();if(!h)throw Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN.");this.cwd=a.cwd,a.onFrame&&this.frameListeners.add(a.onFrame);const i=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]];this.child=this.spawnProcess(h,i,{cwd:a.cwd,env:function(a,b=process.platform){let c={...a};for(let a of Object.keys(c))(function(a,b){let c="win32"===b?a.toUpperCase():a;return"PORT"===c||"NODE_ENV"===c||c.startsWith("NEXT_")})(a,b)&&delete c[a];return c}({...process.env,...a.env}),stdio:["pipe","pipe","pipe"],windowsHide:!0,detached:"win32"!==process.platform}),this.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{}),this.child.stdin.on("error",()=>{}),this.child.stdout.on("error",()=>{});const k=new j,l=(0,e.createInterface)({input:this.child.stdout});l.on("error",()=>{}),l.on("line",a=>{let c,d,e=a.trim();if(e){try{c=JSON.parse(e)}catch{return}try{if(c&&"object"==typeof c&&"rpc_chunk"===c.type&&2!==this.protocolVersion)throw Error("RPC chunk received before protocol negotiation");let a=k.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
2
+ RPC protocol error: ${a instanceof Error?a.message:String(a)}`).slice(-8192),this.dispose(0);return}if("ready"===d.type)return void b(d);if("response"===d.type)return void this.handleResponse(d);for(let a of this.frameListeners)try{a(d)}catch{}}}),this.child.stderr.on("data",a=>{this.stderrTail=(this.stderrTail+a.toString("utf8")).slice(-8192)});const m=(b,d)=>{if(this.exited)return;this.exited=!0,this.exitInfo={code:b,signal:d};let e=Error(`omp exited (code ${b??"null"}, signal ${d??"none"})${this.stderrTail?`: ${this.stderrTail.slice(-500)}`:""}`);for(let[,a]of(c(e),this.pending))a.timer&&clearTimeout(a.timer),a.reject(e);this.pending.clear(),a.onExit?.({code:b,signal:d,stderrTail:this.stderrTail})};this.child.on("exit",m),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
3
+ spawn error: ${a.message}`).slice(-8192),m(null,null)})}get isAlive(){return!this.exited}get exitDetails(){return this.exitInfo?{...this.exitInfo,stderrTail:this.stderrTail}:null}waitReady(a=6e4){let b=new Promise((b,c)=>{let d=setTimeout(()=>c(Error(`omp RPC ready timeout after ${a}ms`)),a);d.unref?.(),this.readyPromise.finally(()=>clearTimeout(d)).catch(()=>{})});return Promise.race([this.readyPromise,b])}async negotiateProtocol(a){if(!(Array.isArray(a.supportedProtocolVersions)?a.supportedProtocolVersions:[]).includes(2))return this.protocolVersion;let b=await this.sendCommand({type:"negotiate_protocol",protocolVersion:2});if(b?.protocolVersion!==2)throw Error("OMP rejected RPC protocol v2 negotiation");return this.protocolVersion=2,this.protocolVersion}onFrame(a){return this.frameListeners.add(a),()=>this.frameListeners.delete(a)}sendCommand(a,b){if(this.exited)return Promise.reject(Error("omp RPC process has exited"));let c=`w${this.nextId++}`;return new Promise((d,e)=>{let f={command:a.type,resolve:d,reject:e};b&&b>0&&(f.timer=setTimeout(()=>{this.pending.get(c)===f&&(this.pending.delete(c),e(Error(`RPC command ${a.type} timed out after ${b}ms`)))},b),f.timer.unref?.()),this.pending.set(c,f),this.writeFrame({...a,id:c},a=>{if(a){let b=this.pending.get(c);b&&(this.pending.delete(c),b.timer&&clearTimeout(b.timer),e(a))}})})}sendFrame(a){this.exited||this.writeFrame(a,()=>{})}writeFrame(a,b){let c;try{c=function(a,b,c){let d=JSON.stringify(a);if(1048576>=i(d))return[`${d}
4
4
  `];if(1===b)throw Error("RPC frame exceeds the v1 transport limit");let e=Buffer.from(d,"utf8");if(e.byteLength>0x4000000)throw Error("RPC frame exceeds the v2 reassembly limit");let f=Math.ceil(e.byteLength/262144),g=[];for(let a=0;a<f;a++){let b=JSON.stringify({type:"rpc_chunk",chunkId:c,index:a,count:f,byteLength:e.byteLength,data:e.subarray(262144*a,(a+1)*262144).toString("base64")});if(i(b)>1048576)throw Error("RPC chunk exceeds the transport limit");g.push(`${b}
5
5
  `)}return g}(a,this.protocolVersion,`web-${this.nextChunkId++}`)}catch(a){b(a instanceof Error?a:Error(String(a)));return}this.writeQueue=this.writeQueue.then(()=>new Promise(a=>{if(this.exited||this.child.stdin.destroyed){b(Error("RPC process is not running")),a();return}let d=0,e=f=>{if(f||d===c.length){b(f??null),a();return}this.child.stdin.write(c[d++],e)};e()}))}handleResponse(a){let b=a.id,c=b?this.pending.get(b):void 0;if(!c||!b){for(let b of this.frameListeners)try{b(a)}catch{}return}this.pending.delete(b),c.timer&&clearTimeout(c.timer),a.success?c.resolve(a.data):c.reject(new k(a.command,a.error??"RPC command failed",a.code))}async dispose(a=5e3){if(this.exited)return;let b=new Promise(a=>{if(this.exited)return a();this.child.once("exit",()=>a())});try{this.child.stdin.end()}catch{}let c=(a,b)=>{let c=this.child.pid;if(c){if("win32"===process.platform){let d=["/pid",String(c),"/t",...a?["/f"]:[]];this.spawnProcess("taskkill",d,{windowsHide:!0,stdio:"ignore"}).once("error",()=>{try{this.child.kill(b)}catch{}});return}try{process.kill(-c,b)}catch{try{this.child.kill(b)}catch{}}}},d=setTimeout(()=>{this.exited||c(!1,"SIGTERM")},a),e=setTimeout(()=>{this.exited||c(!0,"SIGKILL")},2*a);d.unref?.(),e.unref?.(),await b,clearTimeout(d),clearTimeout(e)}}},79588:(a,b,c)=>{c.d(b,{F1:()=>o,eG:()=>p,nH:()=>q,wS:()=>n});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=0,l="win32"===process.platform?"omp.exe":"omp",m=/\x1B\[[0-9;]*m/g;function n(){if(h)return h;if(Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}async function o(){if(j)return j;if(Date.now()-k<3e4)return null;let a=n();if(!a)return k=Date.now(),null;try{let b=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(b)return j=b,k=0,b}catch{}return k=Date.now(),null}function p(a,b={}){let c=n();if(!c)return Promise.reject(Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN."));let{promise:e,resolve:f,reject:g}=Promise.withResolvers();return(0,d.execFile)(c,a,{cwd:b.cwd,timeout:b.timeout??6e4,maxBuffer:b.maxBuffer??0x1000000,env:{...process.env,FORCE_COLOR:"0",NO_COLOR:"1"},windowsHide:!0},(b,c,d)=>{b?g(Error((d||c||b.message).replace(m,"").trim().slice(-600)||`omp ${a.join(" ")} failed`)):f({stdout:c,stderr:d})}),e}function q(a){let b=a.replace(m,""),c=b.search(/[{[]/);if(c<0)return null;try{return JSON.parse(b.slice(c))}catch{return null}}}};
@@ -1,5 +1,5 @@
1
- exports.id=6209,exports.ids=[6209],exports.modules={20565:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return"string"==typeof a?a:void 0}function f(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}c.d(b,{i:()=>f,oJ:()=>e,u4:()=>d})},24923:(a,b,c)=>{"use strict";c.d(b,{IL:()=>t,KI:()=>n,P9:()=>p,l:()=>s,xw:()=>r});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(25252),i=c(58864);let j=(0,g.promisify)(d.execFile);function k(a){try{return(0,e.realpathSync)(a)}catch{return a}}function l(){globalThis.__piProjectCache?.clear()}async function m(a,b){let{stdout:c}=await j("git",["-C",a,...b],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return c.trim()}async function n(a){let b,c=(globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache),d=c.get(a);if(d&&d.expiresAt>Date.now())return d.info;try{if(!(0,e.existsSync)(a))return b=function(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&(0,e.existsSync)((0,f.join)(c,".git"))?{projectRoot:k(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1},c.set(a,{info:b,expiresAt:Date.now()+6e4}),b;let[d,g,h,j]=(await m(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[l,n,o]=[d,g,h].map(i.gB),p=k(a),q=(0,i.Eb)(o,p),r=!(0,i.Eb)(n,l)&&q,s=r?(0,f.dirname)(l):o;b={projectRoot:q?k(s):k(a),branch:j&&"HEAD"!==j?j:null,isWorktree:r,isTopLevel:q}}catch{b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function o(a){let b=await m(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return k((0,f.dirname)((0,i.gB)(b)))}async function p(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,g=()=>{if(d?.path){let a=(0,f.resolve)(d.path);!d.prunable&&(0,e.existsSync)(a)&&c.push({path:a,branch:d.branch??null,isMain:0===c.length})}d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(g(),d={path:(0,i.gB)(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&g();return g(),c}function q(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function r(a,b){return q(a,k(b))?.path??null}async function s(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await o(a),i=`${(0,f.resolve)(g)}-worktrees`,j=(0,f.join)(i,d);if((0,e.existsSync)(j))throw Error(`Directory already exists: ${j}`);(0,e.mkdirSync)(i,{recursive:!0});let k=!1;try{await m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),k=!0}catch{k=!1}try{k?await m(g,["worktree","add","--",j,c]):await m(g,["worktree","add","-b",c,"--",j])}catch(a){throw Error(u(a))}return(0,h.wz)(j),l(),{path:j,branch:c}}async function t(a,b,c=!1){let d=q(await p(a),b);if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(u(a))}l()}function u(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},25252:(a,b,c)=>{"use strict";function d(a){return a.replace(/\\/g,"/")}function e(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function f(a){if(!a)return;let b=d(a);e().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}c.d(b,{HM:()=>e,Nw:()=>d,wz:()=>f})},45902:(a,b,c)=>{"use strict";c.d(b,{$:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){let c="win32"===b?e().win32.normalize(a):e().posix.normalize(a);return"win32"===b?c.toLowerCase():c}},57050:(a,b,c)=>{"use strict";c.d(b,{D$:()=>f,bA:()=>g,tw:()=>e});var d=c(20565);function e(a){if(!(0,d.u4)(a))return;let b=(0,d.u4)(a.cost)?a.cost:void 0;if(!b)return;let c=(0,d.i)(b.total);if(void 0!==c)return c;let e=(0,d.i)(b.input),f=(0,d.i)(b.output);if(void 0!==e&&void 0!==f)return e+f}function f(a,b){if(!(0,d.u4)(a))return;let c=(0,d.i)(a.attempt),e=(0,d.oJ)(a.errorMessage);if(void 0!==c&&void 0!==e)return{attempt:c,errorMessage:b?b(e):e}}function g(a,b){if(!(0,d.u4)(a))return;let c={};for(let e of["source","mode","status","error"]){let f=(0,d.oJ)(a[e]);void 0!==f&&(c[e]=b?b(f):f)}return Object.keys(c).length>0?c:void 0}},58864:(a,b,c)=>{"use strict";c.d(b,{Eb:()=>j,gB:()=>h,uK:()=>g,w:()=>i});var d=c(33873),e=c.n(d);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a){return a&&"win32"===process.platform?(0,d.normalize)(a):a}function i(a,b=process.platform){if(!a)return a;let c="win32"===b?e().win32:e().posix,d="win32"===b?c.normalize(h(a)):a,f=c.normalize(d),g=c.parse(f).root.length,j=f.length;for(;j>g&&f[j-1]===c.sep;)j--;let k=f.slice(0,j);return"win32"===b?k.toLowerCase():k}function j(a,b){return a===b||!!a&&!!b&&i(a)===i(b)}},63945:(a,b,c)=>{"use strict";c.d(b,{Bm:()=>H,Fy:()=>w,Hb:()=>x,I3:()=>F,L1:()=>E,U1:()=>m,XS:()=>K,a8:()=>J,kT:()=>z,lc:()=>y,mk:()=>D,ni:()=>v,nr:()=>o,sv:()=>I});var d=c(55511),e=c(29021),f=c(33873),g=c(41204),h=c(74075),i=c(20565),j=c(85887);let k=Reflect.get(e,"readdirSync");function l(a,b,c,d){return`${JSON.stringify(b?{type:"title",v:1,title:a,source:b,updatedAt:c,pad:d}:{type:"title",v:1,title:a,updatedAt:c,pad:d})}
2
- `}function m(a){var b;let c;try{c=JSON.parse(a)}catch{return}if("object"!=typeof c||null===c)return;let d=c;if("title"!==d.type||1!==d.v||"string"!=typeof d.title||"string"!=typeof d.updatedAt||"string"!=typeof d.pad||void 0!==d.source&&"auto"!==(b=d.source)&&"user"!==b)return;let e={type:"title",v:1,title:d.title,updatedAt:d.updatedAt,pad:d.pad};return d.source&&(e.source=d.source),e}function n(a){let b=function(a,b,c){let d=[...a],e=0,f=d.length,g="";for(;e<=f;){let a=e+f>>>1,h=d.slice(0,a).join("");256>=Buffer.byteLength(l(h,b,c,""),"utf8")?(g=h,e=a+1):f=a-1}return g}(a.title??"",a.source,a.updatedAt),c=l(b,a.source,a.updatedAt,""),d=256-Buffer.byteLength(c,"utf8");if(d<0)throw Error("Session title slot metadata exceeds fixed slot size");let e=l(b,a.source,a.updatedAt," ".repeat(d));if(256!==Buffer.byteLength(e,"utf8"))throw Error("Session title slot serialization failed to produce fixed-width output");return e}function o(a){let b=[];for(let c of a.split("\n")){let a=c.trim();if(a)try{b.push(JSON.parse(a))}catch{}}return b}let p="blob:sha256:",q=/^[a-f0-9]{64}$/;function r(a){return a.startsWith(p)}function s(a){if(!a.startsWith(p))return null;let b=a.slice(p.length);return q.test(b)?b:null}function t(a){try{return(0,e.readFileSync)(f.join((0,j.yG)(),a))}catch{return null}}function u(a){return(0,i.u4)(a)&&"image"===a.type&&"string"==typeof a.data}let v=0x40000000;function w(a,b={}){let c,f,h;try{c=(0,e.statSync)(a).size}catch{return{header:null,entries:[],titleSlot:void 0}}if(c>v)return{header:null,entries:[],titleSlot:void 0,error:"too_large"};let j=[],k=!0;try{!function(a,b){let c=(0,e.openSync)(a,"r");try{let a=Buffer.allocUnsafe(1048576),d=new g.StringDecoder("utf8"),f=[],h=!1;for(;;){let g=(0,e.readSync)(c,a,0,a.length,null);if(0===g)break;let i=d.write(a.subarray(0,g));if(h=h||i.includes("\n"),f.push(i),!h)continue;let j=f.join("");f.length=0,h=!1;let k=0,l=j.indexOf("\n",k);for(;-1!==l;)b(j.slice(k,l)),k=l+1,l=j.indexOf("\n",k);k<j.length&&f.push(j.slice(k))}let i=d.end();i&&f.push(i),f.length>0&&b(f.join(""))}finally{(0,e.closeSync)(c)}}(a,a=>{if(k&&(k=!1,f=m(a)))return;let b=a.trim();if(b)try{j.push(JSON.parse(b))}catch{}})}catch(b){let a=b instanceof RangeError;return{header:null,entries:[],titleSlot:f,...a?{error:"too_large"}:{}}}let l=j[0];if(!l||"session"!==l.type||"string"!=typeof l.id)return{header:null,entries:[],titleSlot:f};let n=j.slice(1).filter(a=>"session"!==a.type);return!((h=l.version??1)>=3)&&(h<2&&function(a,b){a.version=2;let c=new Set,e=null;for(let a of b)if(a.id=function(a){for(let b=0;b<100;b++){let b=(0,d.randomUUID)().slice(-8);if(!a.has(b))return b}return(0,d.randomUUID)()}(c),c.add(a.id),a.parentId=e,e=a.id,"compaction"===a.type&&"number"==typeof a.firstKeptEntryIndex){let c=a.firstKeptEntryIndex>=1?b[a.firstKeptEntryIndex-1]:void 0;c&&(a.firstKeptEntryId=c.id),delete a.firstKeptEntryIndex}}(l,n),h<3&&function(a,b){for(let c of(a.version=3,b))if("message"===c.type){let a=c.message;"hookMessage"===a.role&&(a.role="custom")}}(l,n)),f&&(f.title?(l.title=f.title,f.source?l.titleSource=f.source:delete l.titleSource):(delete l.title,delete l.titleSource)),b.resolveBlobs&&function(a,b={}){for(let c of a)(!b.skipToolResultImages||"message"!==c.type||"toolResult"!==c.message.role)&&function a(b){if("string"==typeof b)return r(b);if(Array.isArray(b)){for(let c of b)if(a(c))return!0;return!1}if(!(0,i.u4)(b))return!1;for(let c in b)if(a(b[c]))return!0;return!1}(c)&&function a(b,c){if(Array.isArray(b)){for(let d of b)a(d,c);return}if((0,i.u4)(b)){if((0,i.u4)(b)&&"string"==typeof b.data&&(u(b)||"string"==typeof b.mimeType&&b.mimeType.toLowerCase().startsWith("image/"))&&r(b.data)&&("content"===c&&u(b)||"images"===c)){let a=s(b.data);if(!a)return;let c=t(a);c?b.data=c.toString("base64"):(b.type="text",b.text=`[image unavailable: blob ${a.slice(0,12)}… not found]`,delete b.data,delete b.mimeType,delete b.source);return}if("image_generation_call"===b.type&&"string"==typeof b.result&&r(b.result)){let a=s(b.result),c=a?t(a):null;c&&(b.result=c.toString("base64"))}if("string"==typeof b.image_url&&r(b.image_url)){let a=s(b.image_url),c=a?t(a):null;c&&(b.image_url=c.toString("utf8"))}for(let[c,d]of Object.entries(b))a(d,c)}}(c,void 0)}(n,{skipToolResultImages:b.skipToolResultImages}),{header:l,entries:n,titleSlot:f}}function x(a){let b,c,d,f;try{b=(0,e.openSync)(a,"r")}catch{return null}try{let a=Buffer.allocUnsafe(65792),d=(0,e.readSync)(b,a,0,a.length,0);c=a.subarray(0,d).toString("utf8")}finally{(0,e.closeSync)(b)}let g=c.indexOf("\n");if(-1===g){if(Buffer.byteLength(c,"utf8")>=65792)return null;g=c.length}let h=c.slice(0,g).trim();if(!h)return null;let i=m(h);if(i){let a=c.slice(g+1),b=a.indexOf("\n");if(-1===b&&Buffer.byteLength(a,"utf8")+g>=65792)return null;d=(-1===b?a:a.slice(0,b)).trim()}else d=h;if(!d)return null;try{f=JSON.parse(d)}catch{return null}return"session"!==f.type?null:(i?.title?(f.title=i.title,i.source&&(f.titleSource=i.source)):i&&(delete f.title,delete f.titleSource),f)}function y(a){let b=new Map;for(let c of a)"label"===c.type&&(c.label?b.set(c.targetId,c.label):b.delete(c.targetId));let c=new Map,d=[];for(let d of a)c.set(d.id,{entry:d,children:[],label:b.get(d.id)});for(let b of a){let a=c.get(b.id);if(null===b.parentId||b.parentId===b.id){d.push(a);continue}let e=c.get(b.parentId);e?e.children.push(a):d.push(a)}let e=(a,b)=>new Date(a.entry.timestamp).getTime()-new Date(b.entry.timestamp).getTime(),f=[...d];for(;f.length>0;){let a=f.pop();a.children.sort(e),f.push(...a.children)}return d}function z(a){return a.length>0?a[a.length-1].id:null}function A(a){let b=a.endsWith("\\")?a.slice(0,-1):a;try{return JSON.parse(`"${b}"`)}catch{return b.replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function B(a,b,c=0){let d=a.indexOf(`"${b}"`,c);if(-1===d)return;let e=a.indexOf(":",d+b.length+2);if(-1===e)return;let f=e+1;for(;f<a.length;){let b=a.charCodeAt(f);if(32!==b&&9!==b&&10!==b&&13!==b)break;f++}if(34!==a.charCodeAt(f))return;let g=f+1,h=!1;for(let b=g;b<a.length;b++){let c=a.charCodeAt(b);if(h){h=!1;continue}if(92===c){h=!0;continue}if(34===c)return A(a.slice(g,b))}return A(a.slice(g))}function C(a){if(void 0!==a)return a.trim()?a:null}function D(a,b=!0){try{let c,[d,f,g,h]=function(a,b){let c=(0,e.statSync)(a),d=(0,e.openSync)(a,"r");try{let a=Math.min(4096,c.size),f=Buffer.allocUnsafe(a),g=a>0?(0,e.readSync)(d,f,0,a,0):0,h=f.subarray(0,g).toString("utf8"),i="";if(b>0&&c.size>0){let a=Math.min(b,c.size),f=Buffer.allocUnsafe(a),g=(0,e.readSync)(d,f,0,a,c.size-a);i=f.subarray(0,g).toString("utf8")}return[h,i,c.size,c.mtime]}finally{(0,e.closeSync)(d)}}(a,32768*!!b),j=o(d),k=function(a,b){let c,d=b[0],e=C(d?.type==="title"&&"string"==typeof d.title?d.title:void 0),f=function(a,b){if(a?.type==="session"&&"string"==typeof a.id)return{id:a.id,cwd:"string"==typeof a.cwd?a.cwd:void 0,title:null===b?void 0:b??("string"==typeof a.title?a.title:void 0),parentSession:"string"==typeof a.parentSession?a.parentSession:void 0,timestamp:"string"==typeof a.timestamp?a.timestamp:void 0}}(b[+(d?.type==="title")],e);if(f)return f;let g=!0;for(let b of a.split(/\r?\n/)){let a=b.trim();if(a){if(g&&"title"===B(a,"type")){c=C(B(a,"title")),g=!1;continue}return function(a,b){if("session"!==B(a,"type"))return;let c=B(a,"id");if(c)return{id:c,cwd:B(a,"cwd"),title:null===b?void 0:b??B(a,"title"),parentSession:B(a,"parentSession"),timestamp:B(a,"timestamp")}}(a,c)}}}(d,j);if(!k)return;let l=0,m="";for(let a=1;a<j.length;a++){let b=j[a];"compaction"===b.type&&"string"==typeof b.shortSummary&&(c=b.shortSummary),"message"===b.type&&b.message&&(l++,"user"!==b.message.role||m||(m=function(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a)(0,i.u4)(c)&&"text"===c.type&&"string"==typeof c.text&&b.push(c.text);return b.join(" ")}(b.message.content)))}m||=function(a){let b,c=a.indexOf('"role"');for(;-1!==c;){let d=B(a,"role",c),e=B(a,"content",c)??B(a,"text",c);if(e){if("user"===d)return e;b||"developer"!==d&&"assistant"!==d||(b=e)}c=a.indexOf('"role"',c+6)}return b}(d)??"";let n=Math.max(l,function(a){let b=0,c=0;for(;c<a.length;){let d=a.indexOf('"type"',c);if(-1===d)break;let e=a.indexOf(":",d+6);if(-1===e)break;"message"===B(a,"type",d)&&b++,c=e+1}return b}(d));return{path:a,id:k.id,cwd:k.cwd??"",title:k.title??c,parentSessionPath:k.parentSession,created:new Date(k.timestamp??""),modified:h,messageCount:n,size:g,firstMessage:m||"(no messages)",status:b?function(a){if(!a)return"unknown";let b=a.split("\n");for(let a=b.length-1;a>=0;a--){let c,d=b[a];if(123===d.charCodeAt(0)){try{c=JSON.parse(d)}catch{continue}if("message"===c.type&&c.message)return function(a){switch(a.role){case"assistant":{switch(a.stopReason){case"error":return"error";case"aborted":return"aborted";case"length":return"interrupted"}let b=a.content;if(Array.isArray(b)&&b.some(a=>(0,i.u4)(a)&&"toolCall"===a.type))return"interrupted";return"complete"}case"toolResult":return"interrupted";case"user":return"pending";default:return"unknown"}}(c.message)}}return"unknown"}(f):void 0}}catch{return}}async function E(){let a=(0,j.tE)(),b=await G(a),c=[];for(let a of b){let b=function(a){let b;try{b=(0,e.statSync)(a)}catch{return}let c=(globalThis.__ompSessionScanCache||(globalThis.__ompSessionScanCache=new Map),globalThis.__ompSessionScanCache),d=c.get(a);if(d&&d.size===b.size&&d.mtimeMs===b.mtimeMs)return c.delete(a),c.set(a,d),d.info;d&&c.delete(a);let f=D(a,!0);if(f)for(c.set(a,{size:b.size,mtimeMs:b.mtimeMs,info:f});c.size>2048;){let a=c.keys().next().value;if(void 0===a)break;c.delete(a)}return f}(a);b&&c.push(b)}return c.sort((a,b)=>b.modified.getTime()-a.modified.getTime()),c}function F(){globalThis.__ompSessionFileListCache?.clear()}async function G(a){let b;try{b=(0,e.statSync)(a)}catch{return[]}globalThis.__ompSessionFileListCache||(globalThis.__ompSessionFileListCache=new Map);let c=globalThis.__ompSessionFileListCache,d=c.get(a);if(d&&d.mtimeMs===b.mtimeMs){let b=!1;try{for(let c of k(a,{withFileTypes:!0})){if(!c.isDirectory())continue;let g=f.join(a,c.name);if((0,e.statSync)(g).mtimeMs>d.mtimeMs){b=!0;break}}}catch{b=!0}if(!b)return d.files}let g=function(a){let b=[];try{for(let c of k(a,{withFileTypes:!0})){let d;if(!c.isDirectory())continue;let e=f.join(a,c.name);try{d=k(e,{withFileTypes:!0})}catch{continue}for(let a of d)a.isFile()&&a.name.endsWith(".jsonl")&&b.push(f.join(e,a.name))}}catch{return[]}return b}(a),h=b.mtimeMs;try{for(let b of k(a,{withFileTypes:!0}))b.isDirectory()&&(h=Math.max(h,(0,e.statSync)(f.join(a,b.name)).mtimeMs))}catch{}return c.set(a,{mtimeMs:h,files:g}),g}function H(a,b,c){let d,f,g=b.replace(/[\u0000-\u001f\u007f-\u009f]/g," ").replace(/ +/g," ").trim();if(!g)return!1;let h={title:g,source:c,updatedAt:new Date().toISOString()};if(function(a){let b;try{b=(0,e.openSync)(a,"r")}catch{return}try{let a=Buffer.allocUnsafe(256),c=(0,e.readSync)(b,a,0,a.length,0),d=a.subarray(0,c).toString("utf8"),f=d.indexOf("\n");if(f<0)return;return m(d.slice(0,f))}finally{(0,e.closeSync)(b)}}(a)){let b=Buffer.from(n(h),"utf8"),c=(0,e.openSync)(a,"r+");try{let a=0;for(;a<b.length;){let d=(0,e.writeSync)(c,b,a,b.length-a,a);if(0===d)throw Error("Short write while updating session title slot");a+=d}}finally{(0,e.closeSync)(c)}return!0}try{d=(0,e.statSync)(a).size}catch{return!1}if(d>v)return!1;let i=(0,e.readFileSync)(a,"utf8").split("\n"),j=i.findIndex(a=>a.trim().length>0);if(-1===j)throw Error("Cannot rename an empty session file");try{f=JSON.parse(i[j])}catch{throw Error("Cannot rename a session file with a malformed header")}if("session"!==f.type)throw Error("Not a session file");return f.title=g,f.titleSource=c,i[j]=JSON.stringify(f),I(a,n(h)+i.join("\n"),"title"),!0}function I(a,b,c="rewrite"){let d=f.dirname(a),g=(0,e.mkdtempSync)(f.join(d,`.ompgui-${c}-`)),h=f.join(g,f.basename(a));try{(0,e.writeFileSync)(h,b,"utf8"),(0,e.renameSync)(h,a)}finally{try{(0,e.rmdirSync)(g)}catch{(0,e.rmSync)(g,{recursive:!0,force:!0})}}}function J(a,b={}){let c=f.resolve(b.sessionsRoot??(0,j.tE)()),d=f.resolve(a),g=f.relative(c,d);if(!g||g.startsWith(".."+f.sep)||f.isAbsolute(g)||!g.endsWith(".jsonl"))throw Error("Session path is outside the active OMP sessions directory");if(!(0,e.lstatSync)(d).isFile())throw Error("Session path is not a regular file");let i=f.resolve(b.archiveRoot??(0,j.ny)()),k=f.join(i,`${g}.gz`),l=k.slice(0,-3);if((0,e.existsSync)(k)||(0,e.existsSync)(l))throw Error("Archived session destination already exists");let m=d.slice(0,-6),n=k.slice(0,-3);(0,e.mkdirSync)(f.dirname(k),{recursive:!0});let o=(0,e.mkdtempSync)(f.join(f.dirname(k),".ompgui-archive-")),p=f.join(o,f.basename(k)),q=f.join(o,f.basename(d)),r=!1,s=!1,t=!1;try{if((0,e.writeFileSync)(p,(0,h.gzipSync)((0,e.readFileSync)(d),{level:9})),(0,e.renameSync)(p,k),r=!0,(0,e.unlinkSync)(d),s=!0,(0,e.existsSync)(m)){if((0,e.existsSync)(n))throw Error("Archived session artifacts destination already exists");(0,e.mkdirSync)(f.dirname(n),{recursive:!0}),(0,e.renameSync)(m,n),t=!0}return k}catch(a){if(t)try{(0,e.renameSync)(n,m)}catch{}if(s&&r)try{(0,e.writeFileSync)(q,(0,h.gunzipSync)((0,e.readFileSync)(k))),(0,e.mkdirSync)(f.dirname(d),{recursive:!0}),(0,e.renameSync)(q,d)}catch{}if(r)try{(0,e.unlinkSync)(k)}catch{}throw a}finally{try{(0,e.rmSync)(o,{recursive:!0,force:!0})}catch{}}}function K(a){if((0,e.unlinkSync)(a),!a.endsWith(".jsonl"))return;let b=a.slice(0,-6);try{(0,e.rmSync)(b,{recursive:!0,force:!0})}catch{}}},74244:(a,b,c)=>{"use strict";c.d(b,{z:()=>e});var d=c(58864);function e(a,b=process.platform){return(0,d.w)(a,b)}},78335:()=>{},78573:(a,b,c)=>{"use strict";c.d(b,{Uv:()=>A,O8:()=>v,HA:()=>F,DK:()=>y,mD:()=>p,BR:()=>w,dQ:()=>n,eP:()=>x,UB:()=>u,u1:()=>t,os:()=>s});var d=c(29021),e=c(33873);c(85887);var f=c(63945);function g(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{...a,type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}var h=c(20565),i=c(57050),j=c(45902),k=c(24923),l=c(74244);async function m(){let a=await (0,f.L1)(),b=new Map,c=new Set;for(let d of a)b.set((0,j.$)(d.path),d.id),c.add(d.id);let d=[...new Set(a.map(a=>a.cwd).filter(Boolean))],e=new Map;for(let a=0;a<d.length;a+=6){let b=d.slice(a,a+6);await Promise.all(b.map(async a=>{e.set(a,await (0,k.KI)(a))}))}return a.map(a=>{var d;let f;v(a.id,a.path);let g=a.cwd?e.get(a.cwd):void 0;return{path:a.path,id:a.id,cwd:a.cwd,name:a.title,created:a.created instanceof Date&&!Number.isNaN(a.created.getTime())?a.created.toISOString():a.modified.toISOString(),modified:a.modified.toISOString(),messageCount:a.messageCount,firstMessage:a.firstMessage||"(no messages)",parentSessionId:a.parentSessionPath?(d=a.parentSessionPath,(f=b.get((0,j.$)(d)))||(c.has(d)?d:void 0)):void 0,projectRoot:g?.projectRoot??a.cwd,projectKey:(0,l.z)(g?.projectRoot??a.cwd),...g?.isWorktree&&g.branch?{worktreeBranch:g.branch}:{}}})}async function n(){let a=globalThis.__piSessionListGeneration??0;if(globalThis.__piSessionListCache&&Date.now()-globalThis.__piSessionListCache.ts<o)return globalThis.__piSessionListCache.data;if(globalThis.__piSessionListPromise&&globalThis.__piSessionListPromiseGeneration===a)return globalThis.__piSessionListPromise;let b=m().then(b=>((globalThis.__piSessionListGeneration??0)===a&&(globalThis.__piSessionListCache={data:b,ts:Date.now()}),b)).finally(()=>{globalThis.__piSessionListPromise===b&&(globalThis.__piSessionListPromise=void 0,globalThis.__piSessionListPromiseGeneration=void 0)});return globalThis.__piSessionListPromise=b,globalThis.__piSessionListPromiseGeneration=a,b}let o=3e4;function p(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1,globalThis.__piSessionListCache=void 0,(0,f.I3)(),globalThis.__ompSessionEntriesCache?.clear()}function q(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function r(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}async function s(a){let b=q().get(a);if(b){if((0,d.existsSync)(b))return b;w(a),p()}await n();let c=q().get(a);return c?(0,d.existsSync)(c)?c:(w(a),null):null}async function t(a){let b=(0,j.$)(a),c=r().get(b);return c||(await n(),r().get(b))}async function u(a){if(!a)return;let b=await t(a);return b||(await s(a)?a:void 0)}function v(a,b){let c=(0,e.normalize)(b),d=(0,j.$)(c),f=q(),g=r(),h=f.get(a),i=h?(0,j.$)(h):void 0,k=g.get(d),l=k?f.get(k):void 0;i&&i!==d&&g.get(i)===a&&g.delete(i),k&&k!==a&&l&&(0,j.$)(l)===d&&f.delete(k),f.set(a,c),g.set(d,a)}function w(a){let b=q(),c=r(),d=b.get(a);b.delete(a);let e=d?(0,j.$)(d):void 0;e&&c.get(e)===a&&c.delete(e)}function x(a){return(0,f.Hb)(a)}function y(a){return function(a){let b,c;try{let e=(0,d.statSync)(a);b=e.size,c=e.mtimeMs}catch{return(0,f.Fy)(a).entries}let e=(globalThis.__ompSessionEntriesCache||(globalThis.__ompSessionEntriesCache=new Map),globalThis.__ompSessionEntriesCache),g=e.get(a);if(g&&g.size===b&&g.mtimeMs===c)return e.delete(a),e.set(a,g),g.entries;let h=(0,f.Fy)(a).entries;for(e.set(a,{size:b,mtimeMs:c,entries:h});e.size>32;){let a=e.keys().next().value;if(void 0===a)break;e.delete(a)}return h}(a)}function z(a){if(!Array.isArray(a))return null;let b=new Set(["pending","in_progress","completed","blocked","abandoned"]),c=[];for(let d of a){if(!(0,h.u4)(d)||"string"!=typeof d.name||!Array.isArray(d.tasks))return null;let a=[];for(let c of d.tasks){if(!(0,h.u4)(c)||"string"!=typeof c.content||"string"!=typeof c.status||!b.has(c.status)||void 0!==c.blocker&&"string"!=typeof c.blocker)return null;a.push({content:c.content,status:c.status,..."string"==typeof c.blocker?{blocker:c.blocker}:{}})}c.push({name:d.name,tasks:a})}return c}function A(a,b,c={}){let d,e={messages:[],entryIds:[],thinkingLevel:"off",model:null,todoPhases:[]},f=new Map;for(let b of a)f.set(b.id,b);if(null===b||(b&&(d=f.get(b)),d||(d=a[a.length-1]),!d))return e;let g=[],i=new Set,j=d;for(;j&&!i.has(j.id);)i.add(j.id),g.push(j),j=j.parentId?f.get(j.parentId):void 0;g.reverse();let k="off",l={},m=!1,n=null;for(let a of g)if("thinking_level_change"===a.type)k=a.thinkingLevel??"off";else if("model_change"===a.type)if(a.model){let b=a.role??"default";l[b]=a.model,"default"===b&&(m=!0)}else a.provider&&a.modelId&&(l.default=`${a.provider}/${a.modelId}`,m=!0);else"message"===a.type&&"assistant"===a.message.role?!m&&a.message.provider&&a.message.model&&(l.default=`${a.message.provider}/${a.message.model}`):"compaction"===a.type&&(n=a);let o=[],p=[],q=a=>{var b;let d="compaction"===a.type?(b=a,{role:"custom",customType:"compaction",content:a.id===n?.id?b.summary:"[Superseded compaction summary elided after a newer compaction]",display:!0,details:{tokensBefore:b.tokensBefore,firstKeptEntryId:b.firstKeptEntryId},timestamp:B(b.timestamp)}):F(a,c);d&&(o.push(d),p.push(a.id))};if(n){let a=n;q(a);let b=g.findIndex(b=>"compaction"===b.type&&b.id===a.id),c=!1;for(let d=0;d<b;d++){let b=g[d];b.id===a.firstKeptEntryId&&(c=!0),c&&q(b)}for(let a=b+1;a<g.length;a++)q(g[a])}else for(let a of g)q(a);let r=null,s=l.default;if(s){let a=s.indexOf("/");r=a>0?{provider:s.slice(0,a),modelId:s.slice(a+1)}:{provider:"",modelId:s}}return{messages:o,entryIds:p,thinkingLevel:k,model:r,todoPhases:function(a,b){if(null===b||0===a.length)return[];let c=new Map(a.map(a=>[a.id,a])),d=b?c.get(b):a[a.length-1],e=[],f=new Set;for(;d&&!f.has(d.id);)f.add(d.id),e.push(d),d=d.parentId?c.get(d.parentId):void 0;for(let a=e.length-1;a>=0;a--){let b=e[a];if("custom"===b.type&&"user_todo_edit"===b.customType){let a=(0,h.u4)(b.data)?z(b.data.phases):null;if(a)return a}if("message"===b.type&&"toolResult"===b.message.role){let a=b.message;if("todo"!==a.toolName||a.isError)continue;let c=(0,h.u4)(a.details)?z(a.details.phases):null;if(c)return c}}return[]}(a,b)}}function B(a){let b=Date.parse(a);return Number.isNaN(b)?void 0:b}function C(a){return a.length<=240?a:`${[...a].slice(0,240).join("")}…`}let D=["index","id","agent","agentSource","status","task","assignment","lastIntent","toolCount","requests","tokens","contextTokens","contextWindow","cost","durationMs","modelRole","resolvedModel","resolvedModelIsFallback","retryFailure"],E=["index","id","agent","agentSource","status","task","assignment","exitCode","truncated","structuredOutput","durationMs","tokens","requests","contextTokens","contextWindow","modelRole","resolvedModel","resolvedModelIsFallback","error","aborted","abortReason","outputPath","patchPath","branchName","retryFailure"];function F(a,b){switch(a.type){case"message":{let c=a.message;if("developer"===c.role)return{role:"custom",customType:"developer",content:c.content,display:!0,timestamp:c.timestamp};if("pythonExecution"===c.role){let a=c.output?`
1
+ exports.id=6209,exports.ids=[6209],exports.modules={20565:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return"string"==typeof a?a:void 0}function f(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}c.d(b,{i:()=>f,oJ:()=>e,u4:()=>d})},24923:(a,b,c)=>{"use strict";c.d(b,{IL:()=>t,KI:()=>n,P9:()=>p,l:()=>s,xw:()=>r});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(25252),i=c(58864);let j=(0,g.promisify)(d.execFile);function k(a){try{return(0,e.realpathSync)(a)}catch{return a}}function l(){globalThis.__piProjectCache?.clear()}async function m(a,b){let{stdout:c}=await j("git",["-C",a,...b],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return c.trim()}async function n(a){let b,c=(globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache),d=c.get(a);if(d&&d.expiresAt>Date.now())return d.info;try{if(!(0,e.existsSync)(a))return b=function(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&(0,e.existsSync)((0,f.join)(c,".git"))?{projectRoot:k(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1},c.set(a,{info:b,expiresAt:Date.now()+6e4}),b;let[d,g,h,j]=(await m(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[l,n,o]=[d,g,h].map(i.gB),p=k(a),q=(0,i.Eb)(o,p),r=!(0,i.Eb)(n,l)&&q,s=r?(0,f.dirname)(l):o;b={projectRoot:q?k(s):k(a),branch:j&&"HEAD"!==j?j:null,isWorktree:r,isTopLevel:q}}catch{b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function o(a){let b=await m(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return k((0,f.dirname)((0,i.gB)(b)))}async function p(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,g=()=>{if(d?.path){let a=(0,f.resolve)(d.path);!d.prunable&&(0,e.existsSync)(a)&&c.push({path:a,branch:d.branch??null,isMain:0===c.length})}d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(g(),d={path:(0,i.gB)(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&g();return g(),c}function q(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function r(a,b){return q(a,k(b))?.path??null}async function s(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await o(a),i=`${(0,f.resolve)(g)}-worktrees`,j=(0,f.join)(i,d);if((0,e.existsSync)(j))throw Error(`Directory already exists: ${j}`);(0,e.mkdirSync)(i,{recursive:!0});let k=!1;try{await m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),k=!0}catch{k=!1}try{k?await m(g,["worktree","add","--",j,c]):await m(g,["worktree","add","-b",c,"--",j])}catch(a){throw Error(u(a))}return(0,h.wz)(j),l(),{path:j,branch:c}}async function t(a,b,c=!1){let d=q(await p(a),b);if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(u(a))}l()}function u(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},25252:(a,b,c)=>{"use strict";function d(a){return a.replace(/\\/g,"/")}function e(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function f(a){if(!a)return;let b=d(a);e().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}c.d(b,{HM:()=>e,Nw:()=>d,wz:()=>f})},45902:(a,b,c)=>{"use strict";c.d(b,{$:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){let c="win32"===b?e().win32.normalize(a):e().posix.normalize(a);return"win32"===b?c.toLowerCase():c}},57050:(a,b,c)=>{"use strict";c.d(b,{D$:()=>f,bA:()=>g,tw:()=>e});var d=c(20565);function e(a){if(!(0,d.u4)(a))return;let b=(0,d.u4)(a.cost)?a.cost:void 0;if(!b)return;let c=(0,d.i)(b.total);if(void 0!==c)return c;let e=(0,d.i)(b.input),f=(0,d.i)(b.output);if(void 0!==e&&void 0!==f)return e+f}function f(a,b){if(!(0,d.u4)(a))return;let c=(0,d.i)(a.attempt),e=(0,d.oJ)(a.errorMessage);if(void 0!==c&&void 0!==e)return{attempt:c,errorMessage:b?b(e):e}}function g(a,b){if(!(0,d.u4)(a))return;let c={};for(let e of["source","mode","status","error"]){let f=(0,d.oJ)(a[e]);void 0!==f&&(c[e]=b?b(f):f)}return Object.keys(c).length>0?c:void 0}},58864:(a,b,c)=>{"use strict";c.d(b,{Eb:()=>j,gB:()=>h,uK:()=>g,w:()=>i});var d=c(33873),e=c.n(d);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a){return a&&"win32"===process.platform?(0,d.normalize)(a):a}function i(a,b=process.platform){if(!a)return a;let c="win32"===b?e().win32:e().posix,d="win32"===b?c.normalize(h(a)):a,f=c.normalize(d),g=c.parse(f).root.length,j=f.length;for(;j>g&&f[j-1]===c.sep;)j--;let k=f.slice(0,j);return"win32"===b?k.toLowerCase():k}function j(a,b){return a===b||!!a&&!!b&&i(a)===i(b)}},63945:(a,b,c)=>{"use strict";c.d(b,{Bm:()=>J,De:()=>M,Fy:()=>x,Hb:()=>z,I3:()=>H,L1:()=>G,O0:()=>R,U1:()=>n,Uk:()=>Q,XS:()=>S,a8:()=>L,kT:()=>B,lc:()=>A,mk:()=>F,ni:()=>w,nr:()=>p,sv:()=>K});var d=c(55511),e=c(29021),f=c(33873),g=c(41204),h=c(77725),i=c(74075),j=c(20565),k=c(85887);let l=Reflect.get(e,"readdirSync");function m(a,b,c,d){return`${JSON.stringify(b?{type:"title",v:1,title:a,source:b,updatedAt:c,pad:d}:{type:"title",v:1,title:a,updatedAt:c,pad:d})}
2
+ `}function n(a){var b;let c;try{c=JSON.parse(a)}catch{return}if("object"!=typeof c||null===c)return;let d=c;if("title"!==d.type||1!==d.v||"string"!=typeof d.title||"string"!=typeof d.updatedAt||"string"!=typeof d.pad||void 0!==d.source&&"auto"!==(b=d.source)&&"user"!==b)return;let e={type:"title",v:1,title:d.title,updatedAt:d.updatedAt,pad:d.pad};return d.source&&(e.source=d.source),e}function o(a){let b=function(a,b,c){let d=[...a],e=0,f=d.length,g="";for(;e<=f;){let a=e+f>>>1,h=d.slice(0,a).join("");256>=Buffer.byteLength(m(h,b,c,""),"utf8")?(g=h,e=a+1):f=a-1}return g}(a.title??"",a.source,a.updatedAt),c=m(b,a.source,a.updatedAt,""),d=256-Buffer.byteLength(c,"utf8");if(d<0)throw Error("Session title slot metadata exceeds fixed slot size");let e=m(b,a.source,a.updatedAt," ".repeat(d));if(256!==Buffer.byteLength(e,"utf8"))throw Error("Session title slot serialization failed to produce fixed-width output");return e}function p(a){let b=[];for(let c of a.split("\n")){let a=c.trim();if(a)try{b.push(JSON.parse(a))}catch{}}return b}let q="blob:sha256:",r=/^[a-f0-9]{64}$/;function s(a){return a.startsWith(q)}function t(a){if(!a.startsWith(q))return null;let b=a.slice(q.length);return r.test(b)?b:null}function u(a){try{return(0,e.readFileSync)(f.join((0,k.yG)(),a))}catch{return null}}function v(a){return(0,j.u4)(a)&&"image"===a.type&&"string"==typeof a.data}let w=0x40000000;function x(a,b={}){let c,f,h;try{c=(0,e.statSync)(a).size}catch{return{header:null,entries:[],titleSlot:void 0}}if(c>w)return{header:null,entries:[],titleSlot:void 0,error:"too_large"};let i=[],k=!0;try{!function(a,b){let c=(0,e.openSync)(a,"r");try{let a=Buffer.allocUnsafe(1048576),d=new g.StringDecoder("utf8"),f=[],h=!1;for(;;){let g=(0,e.readSync)(c,a,0,a.length,null);if(0===g)break;let i=d.write(a.subarray(0,g));if(h=h||i.includes("\n"),f.push(i),!h)continue;let j=f.join("");f.length=0,h=!1;let k=0,l=j.indexOf("\n",k);for(;-1!==l;)b(j.slice(k,l)),k=l+1,l=j.indexOf("\n",k);k<j.length&&f.push(j.slice(k))}let i=d.end();i&&f.push(i),f.length>0&&b(f.join(""))}finally{(0,e.closeSync)(c)}}(a,a=>{if(k&&(k=!1,f=n(a)))return;let b=a.trim();if(b)try{i.push(JSON.parse(b))}catch{}})}catch(b){let a=b instanceof RangeError;return{header:null,entries:[],titleSlot:f,...a?{error:"too_large"}:{}}}let l=i[0];if(!l||"session"!==l.type||"string"!=typeof l.id)return{header:null,entries:[],titleSlot:f};let m=i.slice(1).filter(a=>"session"!==a.type);return!((h=l.version??1)>=3)&&(h<2&&function(a,b){a.version=2;let c=new Set,e=null;for(let a of b)if(a.id=function(a){for(let b=0;b<100;b++){let b=(0,d.randomUUID)().slice(-8);if(!a.has(b))return b}return(0,d.randomUUID)()}(c),c.add(a.id),a.parentId=e,e=a.id,"compaction"===a.type&&"number"==typeof a.firstKeptEntryIndex){let c=a.firstKeptEntryIndex>=1?b[a.firstKeptEntryIndex-1]:void 0;c&&(a.firstKeptEntryId=c.id),delete a.firstKeptEntryIndex}}(l,m),h<3&&function(a,b){for(let c of(a.version=3,b))if("message"===c.type){let a=c.message;"hookMessage"===a.role&&(a.role="custom")}}(l,m)),f&&(f.title?(l.title=f.title,f.source?l.titleSource=f.source:delete l.titleSource):(delete l.title,delete l.titleSource)),b.resolveBlobs&&function(a,b={}){for(let c of a)(!b.skipToolResultImages||"message"!==c.type||"toolResult"!==c.message.role)&&function a(b){if("string"==typeof b)return s(b);if(Array.isArray(b)){for(let c of b)if(a(c))return!0;return!1}if(!(0,j.u4)(b))return!1;for(let c in b)if(a(b[c]))return!0;return!1}(c)&&function a(b,c){if(Array.isArray(b)){for(let d of b)a(d,c);return}if((0,j.u4)(b)){if((0,j.u4)(b)&&"string"==typeof b.data&&(v(b)||"string"==typeof b.mimeType&&b.mimeType.toLowerCase().startsWith("image/"))&&s(b.data)&&("content"===c&&v(b)||"images"===c)){let a=t(b.data);if(!a)return;let c=u(a);c?b.data=c.toString("base64"):(b.type="text",b.text=`[image unavailable: blob ${a.slice(0,12)}… not found]`,delete b.data,delete b.mimeType,delete b.source);return}if("image_generation_call"===b.type&&"string"==typeof b.result&&s(b.result)){let a=t(b.result),c=a?u(a):null;c&&(b.result=c.toString("base64"))}if("string"==typeof b.image_url&&s(b.image_url)){let a=t(b.image_url),c=a?u(a):null;c&&(b.image_url=c.toString("utf8"))}for(let[c,d]of Object.entries(b))a(d,c)}}(c,void 0)}(m,{skipToolResultImages:b.skipToolResultImages}),{header:l,entries:m,titleSlot:f}}function y(a,b){let c,d,e=a.indexOf("\n");if(-1===e){if(Buffer.byteLength(a,"utf8")>=b)return null;e=a.length}let f=a.slice(0,e).trim();if(!f)return null;let g=n(f);if(g){let d=a.slice(e+1),f=d.indexOf("\n");if(-1===f&&Buffer.byteLength(d,"utf8")+e>=b)return null;c=(-1===f?d:d.slice(0,f)).trim()}else c=f;if(!c)return null;try{d=JSON.parse(c)}catch{return null}return"session"!==d.type?null:(g?.title?(d.title=g.title,g.source&&(d.titleSource=g.source)):g&&(delete d.title,delete d.titleSource),d)}function z(a){let b,c;try{b=(0,e.openSync)(a,"r")}catch{return null}try{let a=Buffer.allocUnsafe(65792),d=(0,e.readSync)(b,a,0,a.length,0);c=a.subarray(0,d).toString("utf8")}finally{(0,e.closeSync)(b)}return y(c,65792)}function A(a){let b=new Map;for(let c of a)"label"===c.type&&(c.label?b.set(c.targetId,c.label):b.delete(c.targetId));let c=new Map,d=[];for(let d of a)c.set(d.id,{entry:d,children:[],label:b.get(d.id)});for(let b of a){let a=c.get(b.id);if(null===b.parentId||b.parentId===b.id){d.push(a);continue}let e=c.get(b.parentId);e?e.children.push(a):d.push(a)}let e=(a,b)=>new Date(a.entry.timestamp).getTime()-new Date(b.entry.timestamp).getTime(),f=[...d];for(;f.length>0;){let a=f.pop();a.children.sort(e),f.push(...a.children)}return d}function B(a){return a.length>0?a[a.length-1].id:null}function C(a){let b=a.endsWith("\\")?a.slice(0,-1):a;try{return JSON.parse(`"${b}"`)}catch{return b.replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function D(a,b,c=0){let d=a.indexOf(`"${b}"`,c);if(-1===d)return;let e=a.indexOf(":",d+b.length+2);if(-1===e)return;let f=e+1;for(;f<a.length;){let b=a.charCodeAt(f);if(32!==b&&9!==b&&10!==b&&13!==b)break;f++}if(34!==a.charCodeAt(f))return;let g=f+1,h=!1;for(let b=g;b<a.length;b++){let c=a.charCodeAt(b);if(h){h=!1;continue}if(92===c){h=!0;continue}if(34===c)return C(a.slice(g,b))}return C(a.slice(g))}function E(a){if(void 0!==a)return a.trim()?a:null}function F(a,b=!0){try{let c,[d,f,g,h]=function(a,b){let c=(0,e.statSync)(a),d=(0,e.openSync)(a,"r");try{let a=Math.min(4096,c.size),f=Buffer.allocUnsafe(a),g=a>0?(0,e.readSync)(d,f,0,a,0):0,h=f.subarray(0,g).toString("utf8"),i="";if(b>0&&c.size>0){let a=Math.min(b,c.size),f=Buffer.allocUnsafe(a),g=(0,e.readSync)(d,f,0,a,c.size-a);i=f.subarray(0,g).toString("utf8")}return[h,i,c.size,c.mtime]}finally{(0,e.closeSync)(d)}}(a,32768*!!b),i=p(d),k=function(a,b){let c,d=b[0],e=E(d?.type==="title"&&"string"==typeof d.title?d.title:void 0),f=function(a,b){if(a?.type==="session"&&"string"==typeof a.id)return{id:a.id,cwd:"string"==typeof a.cwd?a.cwd:void 0,title:null===b?void 0:b??("string"==typeof a.title?a.title:void 0),parentSession:"string"==typeof a.parentSession?a.parentSession:void 0,timestamp:"string"==typeof a.timestamp?a.timestamp:void 0}}(b[+(d?.type==="title")],e);if(f)return f;let g=!0;for(let b of a.split(/\r?\n/)){let a=b.trim();if(a){if(g&&"title"===D(a,"type")){c=E(D(a,"title")),g=!1;continue}return function(a,b){if("session"!==D(a,"type"))return;let c=D(a,"id");if(c)return{id:c,cwd:D(a,"cwd"),title:null===b?void 0:b??D(a,"title"),parentSession:D(a,"parentSession"),timestamp:D(a,"timestamp")}}(a,c)}}}(d,i);if(!k)return;let l=0,m="";for(let a=1;a<i.length;a++){let b=i[a];"compaction"===b.type&&"string"==typeof b.shortSummary&&(c=b.shortSummary),"message"===b.type&&b.message&&(l++,"user"!==b.message.role||m||(m=function(a){if("string"==typeof a)return a;if(!Array.isArray(a))return"";let b=[];for(let c of a)(0,j.u4)(c)&&"text"===c.type&&"string"==typeof c.text&&b.push(c.text);return b.join(" ")}(b.message.content)))}m||=function(a){let b,c=a.indexOf('"role"');for(;-1!==c;){let d=D(a,"role",c),e=D(a,"content",c)??D(a,"text",c);if(e){if("user"===d)return e;b||"developer"!==d&&"assistant"!==d||(b=e)}c=a.indexOf('"role"',c+6)}return b}(d)??"";let n=Math.max(l,function(a){let b=0,c=0;for(;c<a.length;){let d=a.indexOf('"type"',c);if(-1===d)break;let e=a.indexOf(":",d+6);if(-1===e)break;"message"===D(a,"type",d)&&b++,c=e+1}return b}(d));return{path:a,id:k.id,cwd:k.cwd??"",title:k.title??c,parentSessionPath:k.parentSession,created:new Date(k.timestamp??""),modified:h,messageCount:n,size:g,firstMessage:m||"(no messages)",status:b?function(a){if(!a)return"unknown";let b=a.split("\n");for(let a=b.length-1;a>=0;a--){let c,d=b[a];if(123===d.charCodeAt(0)){try{c=JSON.parse(d)}catch{continue}if("message"===c.type&&c.message)return function(a){switch(a.role){case"assistant":{switch(a.stopReason){case"error":return"error";case"aborted":return"aborted";case"length":return"interrupted"}let b=a.content;if(Array.isArray(b)&&b.some(a=>(0,j.u4)(a)&&"toolCall"===a.type))return"interrupted";return"complete"}case"toolResult":return"interrupted";case"user":return"pending";default:return"unknown"}}(c.message)}}return"unknown"}(f):void 0}}catch{return}}async function G(){let a=(0,k.tE)(),b=await I(a),c=[];for(let a of b){let b=function(a){let b;try{b=(0,e.statSync)(a)}catch{return}let c=(globalThis.__ompSessionScanCache||(globalThis.__ompSessionScanCache=new Map),globalThis.__ompSessionScanCache),d=c.get(a);if(d&&d.size===b.size&&d.mtimeMs===b.mtimeMs)return c.delete(a),c.set(a,d),d.info;d&&c.delete(a);let f=F(a,!1);if(f)for(c.set(a,{size:b.size,mtimeMs:b.mtimeMs,info:f});c.size>2048;){let a=c.keys().next().value;if(void 0===a)break;c.delete(a)}return f}(a);b&&c.push(b)}return c.sort((a,b)=>b.modified.getTime()-a.modified.getTime()),c}function H(){globalThis.__ompSessionFileListCache?.clear()}async function I(a){let b;try{b=(0,e.statSync)(a)}catch{return[]}globalThis.__ompSessionFileListCache||(globalThis.__ompSessionFileListCache=new Map);let c=globalThis.__ompSessionFileListCache,d=c.get(a);if(d&&d.mtimeMs===b.mtimeMs){let b=!1;try{for(let c of l(a,{withFileTypes:!0})){if(!c.isDirectory())continue;let g=f.join(a,c.name);if((0,e.statSync)(g).mtimeMs>d.mtimeMs){b=!0;break}}}catch{b=!0}if(!b)return d.files}let g=function(a){let b=[];try{for(let c of l(a,{withFileTypes:!0})){let d;if(!c.isDirectory())continue;let e=f.join(a,c.name);try{d=l(e,{withFileTypes:!0})}catch{continue}for(let a of d)a.isFile()&&a.name.endsWith(".jsonl")&&b.push(f.join(e,a.name))}}catch{return[]}return b}(a),h=b.mtimeMs;try{for(let b of l(a,{withFileTypes:!0}))b.isDirectory()&&(h=Math.max(h,(0,e.statSync)(f.join(a,b.name)).mtimeMs))}catch{}return c.set(a,{mtimeMs:h,files:g}),g}function J(a,b,c){let d,f,g=b.replace(/[\u0000-\u001f\u007f-\u009f]/g," ").replace(/ +/g," ").trim();if(!g)return!1;let h={title:g,source:c,updatedAt:new Date().toISOString()};if(function(a){let b;try{b=(0,e.openSync)(a,"r")}catch{return}try{let a=Buffer.allocUnsafe(256),c=(0,e.readSync)(b,a,0,a.length,0),d=a.subarray(0,c).toString("utf8"),f=d.indexOf("\n");if(f<0)return;return n(d.slice(0,f))}finally{(0,e.closeSync)(b)}}(a)){let b=Buffer.from(o(h),"utf8"),c=(0,e.openSync)(a,"r+");try{let a=0;for(;a<b.length;){let d=(0,e.writeSync)(c,b,a,b.length-a,a);if(0===d)throw Error("Short write while updating session title slot");a+=d}}finally{(0,e.closeSync)(c)}return!0}try{d=(0,e.statSync)(a).size}catch{return!1}if(d>w)return!1;let i=(0,e.readFileSync)(a,"utf8").split("\n"),j=i.findIndex(a=>a.trim().length>0);if(-1===j)throw Error("Cannot rename an empty session file");try{f=JSON.parse(i[j])}catch{throw Error("Cannot rename a session file with a malformed header")}if("session"!==f.type)throw Error("Not a session file");return f.title=g,f.titleSource=c,i[j]=JSON.stringify(f),K(a,o(h)+i.join("\n"),"title"),!0}function K(a,b,c="rewrite"){let d=f.dirname(a),g=(0,e.mkdtempSync)(f.join(d,`.ompgui-${c}-`)),h=f.join(g,f.basename(a));try{(0,e.writeFileSync)(h,b,"utf8"),(0,e.renameSync)(h,a)}finally{try{(0,e.rmdirSync)(g)}catch{(0,e.rmSync)(g,{recursive:!0,force:!0})}}}function L(a,b={}){let c=f.resolve(b.sessionsRoot??(0,k.tE)()),d=f.resolve(a),g=f.relative(c,d);if(!g||g.startsWith(".."+f.sep)||f.isAbsolute(g)||!g.endsWith(".jsonl"))throw Error("Session path is outside the active OMP sessions directory");if(!(0,e.lstatSync)(d).isFile())throw Error("Session path is not a regular file");let h=f.resolve(b.archiveRoot??(0,k.ny)()),j=f.join(h,`${g}.gz`),l=j.slice(0,-3);if((0,e.existsSync)(j)||(0,e.existsSync)(l))throw Error("Archived session destination already exists");let m=d.slice(0,-6),n=j.slice(0,-3);(0,e.mkdirSync)(f.dirname(j),{recursive:!0});let o=(0,e.mkdtempSync)(f.join(f.dirname(j),".ompgui-archive-")),p=f.join(o,f.basename(j)),q=f.join(o,f.basename(d)),r=!1,s=!1,t=!1;try{if((0,e.writeFileSync)(p,(0,i.gzipSync)((0,e.readFileSync)(d),{level:9})),(0,e.renameSync)(p,j),r=!0,(0,e.unlinkSync)(d),s=!0,(0,e.existsSync)(m)){if((0,e.existsSync)(n))throw Error("Archived session artifacts destination already exists");(0,e.mkdirSync)(f.dirname(n),{recursive:!0}),(0,e.renameSync)(m,n),t=!0}return j}catch(a){if(t)try{(0,e.renameSync)(n,m)}catch{}if(s&&r)try{(0,e.writeFileSync)(q,(0,i.gunzipSync)((0,e.readFileSync)(j))),(0,e.mkdirSync)(f.dirname(d),{recursive:!0}),(0,e.renameSync)(q,d)}catch{}if(r)try{(0,e.unlinkSync)(j)}catch{}throw a}finally{try{(0,e.rmSync)(o,{recursive:!0,force:!0})}catch{}}}class M extends Error{constructor(a,b){super(b),this.name="SessionArchiveError",this.code=a}}function N(a){try{return(0,e.lstatSync)(a),!0}catch{return!1}}function O(a,b){let c=f.relative(a,b),d=a;for(let a of c.split(f.sep))if(a){d=f.join(d,a);try{if((0,e.lstatSync)(d).isSymbolicLink())throw new M("invalid_key","Archive path contains a symbolic-link escape")}catch(a){if(a instanceof M)throw a;break}}}async function P(a,b){return new Promise((c,d)=>{let f=(0,e.createReadStream)(a),g=(0,i.createGunzip)(),h=[],j=0,k=!1,l=a=>{k||(k=!0,f.destroy(),g.destroy(),d(a))},m=()=>{k||(k=!0,f.destroy(),g.destroy(),c(Buffer.concat(h,j)))};f.on("error",l),g.on("error",l),g.on("data",a=>{if(k)return;let c=b-j;if(c<=0)return void m();let d=a.subarray(0,c);h.push(d),(j+=d.length)>=b&&m()}),g.on("end",m),f.pipe(g)})}async function Q(a={}){let b=f.resolve(a.archiveRoot??(0,k.ny)()),c=function(a){let b,c=[];try{b=l(a,{withFileTypes:!0})}catch{return c}for(let d of b){let b;if(c.length>=500)break;let e=f.join(a,d.name);if(d.isFile()&&d.name.endsWith(".jsonl.gz")){c.push(e);continue}if(d.isDirectory()){try{b=l(e,{withFileTypes:!0})}catch{continue}for(let a of b){if(c.length>=500)break;a.isFile()&&a.name.endsWith(".jsonl.gz")&&c.push(f.join(e,a.name))}}}return c}(b);return(await Promise.all(c.map(async a=>{let c;try{if(!(0,e.lstatSync)(a).isFile())return;c=(0,e.statSync)(a);let d=await P(a,65792),g=y(d.toString("utf8"),65792);if(!g||"string"!=typeof g.id||0===g.id.length)return;let h=f.relative(b,a),i=a.slice(0,-3);return{key:h.split(f.sep).join("/"),id:g.id,..."string"==typeof g.title&&g.title?{name:g.title}:{},..."string"==typeof g.cwd&&g.cwd?{cwd:g.cwd}:{},created:function(a,b){if("string"==typeof a){let b=new Date(a);if(!Number.isNaN(b.getTime()))return b.toISOString()}return b.toISOString()}(g.timestamp,c.mtime),modified:c.mtime.toISOString(),size:c.size,hasArtifacts:N(i)&&(0,e.lstatSync)(i).isDirectory()}}catch{return}}))).filter(a=>!!a).sort((a,b)=>b.modified.localeCompare(a.modified))}async function R(a,b={}){let c,d=f.resolve(b.archiveRoot??(0,k.ny)()),g=f.resolve(b.sessionsRoot??(0,k.tE)()),j=function(a,b){if("string"!=typeof a||0===a.length||a.length>1024||a.includes("\\")||a.includes("\0")||a.startsWith("/")||f.isAbsolute(a)||f.win32.isAbsolute(a)||/^[A-Za-z]:/.test(a)||!a.endsWith(".jsonl.gz"))throw new M("invalid_key","Invalid archived session key");let c=a.split("/");if(c.some(a=>0===a.length||"."===a||".."===a))throw new M("invalid_key","Invalid archived session key");let d=f.resolve(b,...c),e=f.relative(b,d);if(!e||e.startsWith(".."+f.sep)||f.isAbsolute(e))throw new M("invalid_key","Invalid archived session key");return O(b,d),d}(a,d);try{c=(0,e.lstatSync)(j)}catch{throw new M("not_found","Archived session was not found")}if(!c.isFile())throw new M("not_found","Archived session was not found");let l=f.relative(d,j).slice(0,-3),m=f.resolve(g,l);O(g,m);let n=j.slice(0,-3),o=m.slice(0,-6);if(N(m)||N(o))throw new M("destination_conflict","Active session destination already exists");if(N(n)&&!(0,e.lstatSync)(n).isDirectory())throw new M("invalid_archive","Archived session artifacts are not a directory");(0,e.mkdirSync)(f.dirname(m),{recursive:!0});let p=(0,e.mkdtempSync)(f.join(f.dirname(m),".ompgui-restore-")),q=f.join(p,f.basename(m)),r=!1,s=!1,t=null;try{if(await (0,h.pipeline)((0,e.createReadStream)(j),(0,i.createGunzip)(),(0,e.createWriteStream)(q,{flags:"wx"})),!(t=z(q))||"string"!=typeof t.id||0===t.id.length)throw new M("invalid_session_header","Restored archive has an invalid session header");if((0,e.renameSync)(q,m),r=!0,N(n)){if(N(o))throw new M("destination_conflict","Active session artifacts destination already exists");(0,e.renameSync)(n,o),s=!0}return(0,e.unlinkSync)(j),{path:m,id:t.id,header:t}}catch(a){if(s)try{(0,e.renameSync)(o,n)}catch{}if(r)try{(0,e.unlinkSync)(m)}catch{}if(a instanceof M)throw a;throw new M("restore_failed",a instanceof Error?a.message:String(a))}finally{try{(0,e.rmSync)(p,{recursive:!0,force:!0})}catch{}}}function S(a){if((0,e.unlinkSync)(a),!a.endsWith(".jsonl"))return;let b=a.slice(0,-6);try{(0,e.rmSync)(b,{recursive:!0,force:!0})}catch{}}},74244:(a,b,c)=>{"use strict";c.d(b,{z:()=>e});var d=c(58864);function e(a,b=process.platform){return(0,d.w)(a,b)}},78335:()=>{},78573:(a,b,c)=>{"use strict";c.d(b,{Uv:()=>B,O8:()=>v,HA:()=>G,DK:()=>y,mD:()=>p,BR:()=>w,dQ:()=>n,eP:()=>x,UB:()=>u,u1:()=>t,os:()=>s});var d=c(29021),e=c(33873);c(85887);var f=c(63945);function g(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}var h=c(20565),i=c(57050),j=c(45902),k=c(24923),l=c(74244);async function m(){let a=await (0,f.L1)(),b=new Map,c=new Set;for(let d of a)b.set((0,j.$)(d.path),d.id),c.add(d.id);let d=[...new Set(a.map(a=>a.cwd).filter(Boolean))],e=new Map;for(let a=0;a<d.length;a+=6){let b=d.slice(a,a+6);await Promise.all(b.map(async a=>{e.set(a,await (0,k.KI)(a))}))}return a.map(a=>{var d;let f;v(a.id,a.path);let g=a.cwd?e.get(a.cwd):void 0;return{path:a.path,id:a.id,cwd:a.cwd,name:a.title,created:a.created instanceof Date&&!Number.isNaN(a.created.getTime())?a.created.toISOString():a.modified.toISOString(),modified:a.modified.toISOString(),messageCount:a.messageCount,firstMessage:a.firstMessage||"(no messages)",parentSessionId:a.parentSessionPath?(d=a.parentSessionPath,(f=b.get((0,j.$)(d)))||(c.has(d)?d:void 0)):void 0,projectRoot:g?.projectRoot??a.cwd,projectKey:(0,l.z)(g?.projectRoot??a.cwd),...g?.isWorktree&&g.branch?{worktreeBranch:g.branch}:{}}})}async function n(){let a=globalThis.__piSessionListGeneration??0;if(globalThis.__piSessionListCache&&Date.now()-globalThis.__piSessionListCache.ts<o)return globalThis.__piSessionListCache.data;if(globalThis.__piSessionListPromise&&globalThis.__piSessionListPromiseGeneration===a)return globalThis.__piSessionListPromise;let b=m().then(b=>((globalThis.__piSessionListGeneration??0)===a&&(globalThis.__piSessionListCache={data:b,ts:Date.now()}),b)).finally(()=>{globalThis.__piSessionListPromise===b&&(globalThis.__piSessionListPromise=void 0,globalThis.__piSessionListPromiseGeneration=void 0)});return globalThis.__piSessionListPromise=b,globalThis.__piSessionListPromiseGeneration=a,b}let o=3e4;function p(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1,globalThis.__piSessionListCache=void 0,(0,f.I3)(),globalThis.__ompSessionEntriesCache?.clear()}function q(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function r(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}async function s(a){let b=q().get(a);if(b){if((0,d.existsSync)(b))return b;w(a),p()}await n();let c=q().get(a);return c?(0,d.existsSync)(c)?c:(w(a),null):null}async function t(a){let b=(0,j.$)(a),c=r().get(b);return c||(await n(),r().get(b))}async function u(a){if(!a)return;let b=await t(a);return b||(await s(a)?a:void 0)}function v(a,b){let c=(0,e.normalize)(b),d=(0,j.$)(c),f=q(),g=r(),h=f.get(a),i=h?(0,j.$)(h):void 0,k=g.get(d),l=k?f.get(k):void 0;i&&i!==d&&g.get(i)===a&&g.delete(i),k&&k!==a&&l&&(0,j.$)(l)===d&&f.delete(k),f.set(a,c),g.set(d,a)}function w(a){let b=q(),c=r(),d=b.get(a);b.delete(a);let e=d?(0,j.$)(d):void 0;e&&c.get(e)===a&&c.delete(e)}function x(a){return(0,f.Hb)(a)}function y(a){return function(a){let b,c;try{let e=(0,d.statSync)(a);b=e.size,c=e.mtimeMs}catch{return(0,f.Fy)(a).entries}let e=(globalThis.__ompSessionEntriesCache||(globalThis.__ompSessionEntriesCache=new Map),globalThis.__ompSessionEntriesCache),g=e.get(a);if(g&&g.size===b&&g.mtimeMs===c)return e.delete(a),e.set(a,g),g.entries;let h=(0,f.Fy)(a).entries;for(e.set(a,{size:b,mtimeMs:c,entries:h});e.size>32;){let a=e.keys().next().value;if(void 0===a)break;e.delete(a)}return h}(a)}function z(a){if("message"!==a.type||!(0,h.u4)(a.message)||"string"!=typeof a.message.role)return null;let b=a.message;return"assistant"!==b.role||(void 0===b.provider||"string"==typeof b.provider)&&(void 0===b.model||"string"==typeof b.model)&&("string"==typeof b.content||Array.isArray(b.content))?b:null}function A(a){if(!Array.isArray(a))return null;let b=new Set(["pending","in_progress","completed","blocked","abandoned"]),c=[];for(let d of a){if(!(0,h.u4)(d)||"string"!=typeof d.name||!Array.isArray(d.tasks))return null;let a=[];for(let c of d.tasks){if(!(0,h.u4)(c)||"string"!=typeof c.content||"string"!=typeof c.status||!b.has(c.status)||void 0!==c.blocker&&"string"!=typeof c.blocker)return null;a.push({content:c.content,status:c.status,..."string"==typeof c.blocker?{blocker:c.blocker}:{}})}c.push({name:d.name,tasks:a})}return c}function B(a,b,c={}){let d,e={messages:[],entryIds:[],thinkingLevel:"off",model:null,todoPhases:[]},f=new Map;for(let b of a)f.set(b.id,b);if(null===b||(b&&(d=f.get(b)),d||(d=a[a.length-1]),!d))return e;let g=[],i=new Set,j=d;for(;j&&!i.has(j.id);)i.add(j.id),g.push(j),j=j.parentId?f.get(j.parentId):void 0;g.reverse();let k="off",l={},m=!1,n=null;for(let a of g)if("thinking_level_change"===a.type)k=a.thinkingLevel??"off";else if("model_change"===a.type)if(a.model){let b=a.role??"default";l[b]=a.model,"default"===b&&(m=!0)}else a.provider&&a.modelId&&(l.default=`${a.provider}/${a.modelId}`,m=!0);else if("message"===a.type){let b=z(a);b?.role==="assistant"&&!m&&"string"==typeof b.provider&&b.provider.length>0&&"string"==typeof b.model&&b.model.length>0&&(l.default=`${b.provider}/${b.model}`)}else"compaction"===a.type&&(n=a);let o=[],p=[],q=a=>{var b;let d="compaction"===a.type?(b=a,{role:"custom",customType:"compaction",content:a.id===n?.id?b.summary:"[Superseded compaction summary elided after a newer compaction]",display:!0,details:{tokensBefore:b.tokensBefore,firstKeptEntryId:b.firstKeptEntryId},timestamp:C(b.timestamp)}):G(a,c);d&&(o.push(d),p.push(a.id))};if(n){let a=n;q(a);let b=g.findIndex(b=>"compaction"===b.type&&b.id===a.id),c=!1;for(let d=0;d<b;d++){let b=g[d];b.id===a.firstKeptEntryId&&(c=!0),c&&q(b)}for(let a=b+1;a<g.length;a++)q(g[a])}else for(let a of g)q(a);let r=null,s=l.default;if(s){let a=s.indexOf("/");r=a>0?{provider:s.slice(0,a),modelId:s.slice(a+1)}:{provider:"",modelId:s}}return{messages:o,entryIds:p,thinkingLevel:k,model:r,todoPhases:function(a,b){if(null===b||0===a.length)return[];let c=new Map(a.map(a=>[a.id,a])),d=b?c.get(b):a[a.length-1],e=[],f=new Set;for(;d&&!f.has(d.id);)f.add(d.id),e.push(d),d=d.parentId?c.get(d.parentId):void 0;for(let a=e.length-1;a>=0;a--){let b=e[a];if("custom"===b.type&&"user_todo_edit"===b.customType){let a=(0,h.u4)(b.data)?A(b.data.phases):null;if(a)return a}let c=z(b);if(c?.role==="toolResult"){if("todo"!==c.toolName||c.isError)continue;let a=(0,h.u4)(c.details)?A(c.details.phases):null;if(a)return a}}return[]}(a,b)}}function C(a){let b=Date.parse(a);return Number.isNaN(b)?void 0:b}function D(a){return a.length<=240?a:`${[...a].slice(0,240).join("")}…`}let E=["index","id","agent","agentSource","status","task","assignment","lastIntent","toolCount","requests","tokens","contextTokens","contextWindow","cost","durationMs","modelRole","resolvedModel","resolvedModelIsFallback","retryFailure"],F=["index","id","agent","agentSource","status","task","assignment","exitCode","truncated","structuredOutput","durationMs","tokens","requests","contextTokens","contextWindow","modelRole","resolvedModel","resolvedModelIsFallback","error","aborted","abortReason","outputPath","patchPath","branchName","retryFailure"];function G(a,b){switch(a.type){case"message":{let c=z(a);if(!c)return null;if("developer"===c.role)return{role:"custom",customType:"developer",content:c.content,display:!0,timestamp:c.timestamp};if("pythonExecution"===c.role){let a=c.output?`
3
3
  \`\`\`
4
4
  ${c.output}
5
5
  \`\`\``:"\n(no output)",b=c.cancelled?"\n(execution cancelled)":c.exitCode?`
@@ -7,6 +7,6 @@ Execution failed with code ${c.exitCode}`:"";return{role:"custom",customType:"py
7
7
  \`\`\`python
8
8
  ${c.code}
9
9
  \`\`\`${a}${b}`,display:!0,timestamp:c.timestamp}}if("fileMention"===c.role){let a=Array.isArray(c.files)?c.files.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.path):[];return{role:"custom",customType:"file-mention",content:`Attached file${1===a.length?"":"s"}:
10
- ${a.map(a=>`- ${a.path}`).join("\n")}`,display:!0,timestamp:c.timestamp}}let d=function(a){if("toolResult"!==a.role||void 0===a.details)return a;let{details:b,...c}=a;if((0,h.u4)(b)){let d={};if("string"==typeof b.patch&&(d.patch=b.patch),"string"==typeof b.diff&&(d.diff=b.diff),"task"===a.toolName){let a=function(a){let b={},c=Array.isArray(a.results)?a.results:[],d=Array.isArray(a.progress)?a.progress:[];if(0===c.length&&0===d.length&&!(0,h.u4)(a.async))return null;if("number"==typeof a.totalDurationMs&&(b.totalDurationMs=a.totalDurationMs),(0,h.u4)(a.async)){let c=function(a){if(!(0,h.u4)(a))return;let b={};for(let c of["state","jobId","type"])"string"==typeof a[c]&&(b[c]=C(a[c]));return Object.keys(b).length>0?b:void 0}(a.async);c&&(b.async=c)}let e=(a,b)=>{if(!(0,h.u4)(a))return null;let c={};for(let d of b)void 0!==a[d]&&(c[d]=a[d]);for(let a of["task","assignment","error","abortReason","lastIntent","agent","modelRole","resolvedModel","outputPath","patchPath","branchName"])"string"==typeof c[a]&&(c[a]=C(c[a]));if("number"!=typeof c.cost){let b=(0,i.tw)(a.usage);void 0!==b&&(c.cost=b)}if(void 0!==a.retryFailure){let b=(0,i.D$)(a.retryFailure,C);b?c.retryFailure=b:delete c.retryFailure}if(void 0!==a.structuredOutput){let b=(0,i.bA)(a.structuredOutput,C);b?c.structuredOutput=b:delete c.structuredOutput}return c};return d.length>0&&(b.progress=d.slice(0,50).map(a=>e(a,D)).filter(a=>null!==a)),c.length>0&&(b.results=c.slice(0,50).map(a=>e(a,E)).filter(a=>null!==a)),Object.keys(b).length>0?b:null}(b);a&&Object.assign(d,a)}if(Object.keys(d).length>0)return{...c,details:d}}return c}(b.deferToolResultImages?function(a){if("toolResult"!==a.role||!Array.isArray(a.content))return a;let b=0,c=0,d=new Set,e=a.content.filter(a=>{let e=function(a){let b,c;if(!(0,h.u4)(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):(0,h.u4)(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}(a);return!e||(b+=1,c+=e.bytes,e.mime&&d.add(e.mime),!1)});if(0===b)return a;let f=d.size>0?`: ${[...d].join(", ")}`:"";return e.push({type:"text",text:`[${b} tool result image${1===b?"":"s"} omitted from initial history payload${f}, ~${c} bytes]`}),{...a,content:e}}(g(c)):g(c));if(!b.deferThinking||"assistant"!==d.role||!Array.isArray(d.content))return d;return{...d,content:d.content.map(a=>"thinking"===a.type&&"string"==typeof a.thinking&&""!==a.thinking.trim()?{...a,thinking:"",deferred:!0}:a)}}case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
10
+ ${a.map(a=>`- ${a.path}`).join("\n")}`,display:!0,timestamp:c.timestamp}}let d=function(a){if("toolResult"!==a.role||void 0===a.details)return a;let{details:b,...c}=a;if((0,h.u4)(b)){let d={};if("string"==typeof b.patch&&(d.patch=b.patch),"string"==typeof b.diff&&(d.diff=b.diff),"task"===a.toolName){let a=function(a){let b={},c=Array.isArray(a.results)?a.results:[],d=Array.isArray(a.progress)?a.progress:[];if(0===c.length&&0===d.length&&!(0,h.u4)(a.async))return null;if("number"==typeof a.totalDurationMs&&(b.totalDurationMs=a.totalDurationMs),(0,h.u4)(a.async)){let c=function(a){if(!(0,h.u4)(a))return;let b={};for(let c of["state","jobId","type"])"string"==typeof a[c]&&(b[c]=D(a[c]));return Object.keys(b).length>0?b:void 0}(a.async);c&&(b.async=c)}let e=(a,b)=>{if(!(0,h.u4)(a))return null;let c={};for(let d of b)void 0!==a[d]&&(c[d]=a[d]);for(let a of["task","assignment","error","abortReason","lastIntent","agent","modelRole","resolvedModel","outputPath","patchPath","branchName"])"string"==typeof c[a]&&(c[a]=D(c[a]));if("number"!=typeof c.cost){let b=(0,i.tw)(a.usage);void 0!==b&&(c.cost=b)}if(void 0!==a.retryFailure){let b=(0,i.D$)(a.retryFailure,D);b?c.retryFailure=b:delete c.retryFailure}if(void 0!==a.structuredOutput){let b=(0,i.bA)(a.structuredOutput,D);b?c.structuredOutput=b:delete c.structuredOutput}return c};return d.length>0&&(b.progress=d.slice(0,50).map(a=>e(a,E)).filter(a=>null!==a)),c.length>0&&(b.results=c.slice(0,50).map(a=>e(a,F)).filter(a=>null!==a)),Object.keys(b).length>0?b:null}(b);a&&Object.assign(d,a)}if(Object.keys(d).length>0)return{...c,details:d}}return c}(b.deferToolResultImages?function(a){if("toolResult"!==a.role||!Array.isArray(a.content))return a;let b=0,c=0,d=new Set,e=a.content.filter(a=>{let e=function(a){let b,c;if(!(0,h.u4)(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):(0,h.u4)(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}(a);return!e||(b+=1,c+=e.bytes,e.mime&&d.add(e.mime),!1)});if(0===b)return a;let f=d.size>0?`: ${[...d].join(", ")}`:"";return e.push({type:"text",text:`[${b} tool result image${1===b?"":"s"} omitted from initial history payload${f}, ~${c} bytes]`}),{...a,content:e}}(g(c)):g(c));if(!b.deferThinking||"assistant"!==d.role||!Array.isArray(d.content))return d;return{...d,content:d.content.map(a=>"thinking"===a.type&&"string"==typeof a.thinking&&""!==a.thinking.trim()?{...a,thinking:"",deferred:!0}:a)}}case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
11
11
 
12
- ${a.summary}`,timestamp:B(a.timestamp)};case"custom_message":return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:B(a.timestamp)};default:return null}}},85887:(a,b,c)=>{"use strict";c.d(b,{$M:()=>l,OK:()=>r,_8:()=>u,ny:()=>o,pA:()=>q,tE:()=>n,yG:()=>p});var d=c(29021),e=c(21820),f=c(33873);let g=/^[a-z0-9][a-z0-9._-]{0,63}$/,h=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;function i(a){let b=a?.trim();if(b&&"default"!==b){if("."===b||".."===b||b.endsWith(".")||!g.test(b)||h.test(b))throw Error(`Invalid OMP profile "${a}". Profile names must match ${g.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return b}}function j(){return void 0!==process.env.OMP_PROFILE?i(process.env.OMP_PROFILE):i(process.env.PI_PROFILE)}function k(){let a=f.join((0,e.homedir)(),process.env.PI_CONFIG_DIR||".omp"),b=j();return b?f.join(a,"profiles",b):a}function l(){let a=j(),b=process.env.PI_CODING_AGENT_DIR;return b&&!a?f.resolve(b):f.join(k(),"agent")}function m(a){let b=function(){let a,b;if("linux"!==process.platform&&"darwin"!==process.platform||(a=j(),(b=process.env.PI_CODING_AGENT_DIR)&&!a&&f.resolve(b)!==f.join(k(),"agent")))return;let c=process.env.XDG_DATA_HOME;if(c)try{let a=f.join(c,"omp"),b=j();if(b){let c=f.join(a,"profiles",b);return(0,d.existsSync)(c)?c:void 0}return(0,d.existsSync)(a)?a:void 0}catch{return}}();return f.join(b??l(),a)}function n(){return m("sessions")}function o(){return f.join(f.dirname(n()),"archive","sessions")}function p(){return m("blobs")}function q(){let a=l(),b=f.join(a,"config.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"config.yaml");return(0,d.existsSync)(c)?c:b}function r(){let a=l(),b=f.join(a,"models.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"models.yaml");return(0,d.existsSync)(c)?c:b}function s(a){try{return d.realpathSync.native(a)}catch{return a}}function t(a,b){let c=b.replace(/[/\\:]/g,"-");return c?a.endsWith("-")?`${a}${c}`:`${a}-${c}`:a}function u(a){let b,c=s(f.resolve(a)),d=s((0,e.homedir)()),g=s((0,e.tmpdir)()),h=f.relative(d,c),i=f.relative(g,c);return""!==h&&(h.startsWith("..")||f.isAbsolute(h))?""!==i&&(i.startsWith("..")||f.isAbsolute(i))?(b=f.resolve(c),`--${b.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`):t("-tmp",i):t("-",h)}},96487:()=>{}};
12
+ ${a.summary}`,timestamp:C(a.timestamp)};case"custom_message":return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:C(a.timestamp)};default:return null}}},85887:(a,b,c)=>{"use strict";c.d(b,{$M:()=>l,OK:()=>r,_8:()=>u,ny:()=>o,pA:()=>q,tE:()=>n,yG:()=>p});var d=c(29021),e=c(21820),f=c(33873);let g=/^[a-z0-9][a-z0-9._-]{0,63}$/,h=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;function i(a){let b=a?.trim();if(b&&"default"!==b){if("."===b||".."===b||b.endsWith(".")||!g.test(b)||h.test(b))throw Error(`Invalid OMP profile "${a}". Profile names must match ${g.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return b}}function j(){return void 0!==process.env.OMP_PROFILE?i(process.env.OMP_PROFILE):i(process.env.PI_PROFILE)}function k(){let a=f.join((0,e.homedir)(),process.env.PI_CONFIG_DIR||".omp"),b=j();return b?f.join(a,"profiles",b):a}function l(){let a=j(),b=process.env.PI_CODING_AGENT_DIR;return b&&!a?f.resolve(b):f.join(k(),"agent")}function m(a){let b=function(){let a,b;if("linux"!==process.platform&&"darwin"!==process.platform||(a=j(),(b=process.env.PI_CODING_AGENT_DIR)&&!a&&f.resolve(b)!==f.join(k(),"agent")))return;let c=process.env.XDG_DATA_HOME;if(c)try{let a=f.join(c,"omp"),b=j();if(b){let c=f.join(a,"profiles",b);return(0,d.existsSync)(c)?c:void 0}return(0,d.existsSync)(a)?a:void 0}catch{return}}();return f.join(b??l(),a)}function n(){return m("sessions")}function o(){return f.join(f.dirname(n()),"archive","sessions")}function p(){return m("blobs")}function q(){let a=l(),b=f.join(a,"config.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"config.yaml");return(0,d.existsSync)(c)?c:b}function r(){let a=l(),b=f.join(a,"models.yml");if((0,d.existsSync)(b))return b;let c=f.join(a,"models.yaml");return(0,d.existsSync)(c)?c:b}function s(a){try{return d.realpathSync.native(a)}catch{return a}}function t(a,b){let c=b.replace(/[/\\:]/g,"-");return c?a.endsWith("-")?`${a}${c}`:`${a}-${c}`:a}function u(a){let b,c=s(f.resolve(a)),d=s((0,e.homedir)()),g=s((0,e.tmpdir)()),h=f.relative(d,c),i=f.relative(g,c);return""!==h&&(h.startsWith("..")||f.isAbsolute(h))?""!==i&&(i.startsWith("..")||f.isAbsolute(i))?(b=f.resolve(c),`--${b.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`):t("-tmp",i):t("-",h)}},96487:()=>{}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6465,exports.ids=[6465],exports.modules={28967:(a,b,c)=>{function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){return b?{...a,modelError:b}:a}function g(a){return{...a,modelError:"Model list is temporarily unavailable. Check your configuration and try again."}}function h(a,b){var c,e,f;let g,h,i=d(),j=i.entries.get(a);if(j&&j.expiresAt>Date.now())return Promise.resolve(j.data);let k=i.inFlight.get(a)??(c=i,e=a,f=b,g=c.generation,h=Promise.resolve().then(f).then(a=>{if(c.generation===g&&c.inFlight.get(e)===h){for(c.entries.delete(e);c.entries.size>=32;){let a=c.entries.keys().next().value;if(void 0===a)break;c.entries.delete(a)}c.entries.set(e,{data:a,expiresAt:Date.now()+6e4})}return a}).finally(()=>{c.inFlight.get(e)===h&&c.inFlight.delete(e)}),c.inFlight.set(e,h),h);return j?(k.catch(()=>{}),Promise.resolve(j.data)):k}c.d(b,{Fw:()=>g,Mx:()=>f,kn:()=>e,rC:()=>h})},86465:(a,b,c)=>{c.d(b,{OZ:()=>k,A4:()=>x,HG:()=>y,rb:()=>t,Te:()=>z,OF:()=>E,Fn:()=>B});var d=c(29021),e=c(21820),f=c(28967),g=c(13798),h=c(88501),i=c(78573);let j="This session is restarting — retry in a moment.";class k extends Error{constructor(a,b){super(a),this.name="WebRpcError",this.code=b}}let l=new Set(["select","confirm","input","editor","open_url"]),m=new Set(["abort","abort_and_prompt","set_thinking_level","cycle_thinking_level","cycle_model","get_available_models","set_auto_compaction","set_auto_retry","abort_retry","abort_bash","set_todos","set_steering_mode","set_follow_up_mode","set_interrupt_mode","get_branch_messages","get_messages","get_messages_page","export_html","handoff","get_subagents","get_subagent_messages","set_subagent_subscription","get_login_providers","login"]),n={navigate_tree:"Branch navigation is not supported over the omp RPC protocol",clear_queue:"Recalling queued messages is not supported over the omp RPC protocol",get_tools:"Per-session tool listing is not supported over the omp RPC protocol",set_tools:"Changing tools on a running session is not supported over the omp RPC protocol; tool presets apply to new sessions",extension_ui_input:"Extension custom UI is not supported over the omp RPC protocol"},o={find:"glob",search:"grep"},p=new Set(["ls"]),q=["bash","read","edit","write","grep","find","ls","task"].map(a=>a.toLowerCase()).sort().join(",");function r(a,b,c=!1){let d=[];if(a)d.push("--resume",a);else if(void 0!==b){let a=b.map(a=>a.toLowerCase()).sort().join(",");if(0===b.length)d.push("--no-tools");else if(a===q);else{let a=function(a){let b=[];for(let c of a){let a=c.toLowerCase();if(p.has(a))continue;let d=o[a]??a;b.includes(d)||b.push(d)}return b}(b);a.length>0&&d.push("--tools",a.join(","))}}return c&&!a&&d.push("--advisor"),d}function s(a){return a?.length?a:void 0}function t(a){if(a&&(0,d.existsSync)(a))return{cwd:a,fellBack:!1};try{let a=process.cwd();if(a&&(0,d.existsSync)(a))return{cwd:a,fellBack:!0}}catch{}return{cwd:(0,e.homedir)(),fellBack:!0}}function u(a){a&&"object"==typeof a&&void 0===a.estimatedTokensAfter&&(a.estimatedTokensAfter=Math.round((a.summary?.length??0)/4))}class v{constructor(a,b,c){this.listeners=[],this.pendingUiRequests=new Map,this.uiExpiryTimers=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1,this.fastModeEnabled=!1,this.idleTimer=null,this.destroyListeners=[],this.onIdentityChangeCallback=null,this.unsubscribeFrames=null,this.initPromise=null,this.restarting=!1,this.mcpListWaiter=null,this._alive=!0,this.hostToolNames=new Set,this.pendingHostTools=new Map,this.hostUriSchemes=new Map,this.pendingHostUris=new Map,this.destroyPromise=null,this._sessionId="",this._sessionFile="",this.sessionFileSignalTimer=null,this.proc=a,this.cwd=b,this.recordedCwd=c??null}get sessionId(){return this._sessionId}get sessionFile(){return this._sessionFile}isAlive(){return this._alive&&this.proc.isAlive}isRunning(){return this.isAlive()&&(this.promptRunning||this.streaming||this.compacting||this.bashRunning)}start(){this.unsubscribeFrames=this.proc.onFrame(a=>this.handleFrame(a)),this.resetIdleTimer(),D()}waitUntilReady(){return this.initPromise||(this.initPromise=this.initialize()),this.initPromise}async initialize(){let a=await this.proc.waitReady(12e4);await this.proc.negotiateProtocol(a),await this.proc.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await this.proc.sendCommand({type:"get_state"});this.applyIdentity(b),this.recordedCwd&&this.recordedCwd!==this.cwd&&this.emit({type:"notice",level:"warning",message:`This session's working directory no longer exists; the agent is running in ${this.cwd}.`})}applyIdentity(a){this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??"",this._sessionName=a.sessionName,this.streaming=a.isStreaming,this.compacting=a.isCompacting,this.fastModeEnabled=a.fastModeEnabled??a.fastMode??this.fastModeEnabled,this._sessionFile&&(0,i.O8)(this._sessionId,this._sessionFile)}handleProcessExit(a){if(!this._alive||this.restarting)return;let b=a.trim().split("\n").pop()??"";this.emit({type:"notice",level:"error",message:`The omp process for this session exited unexpectedly${b?`: ${b}`:"."}`}),(this.streaming||this.promptRunning)&&this.emit({type:"agent_end",isTerminal:!0,messages:[]}),this.destroy()}handleFrame(a){this.resetIdleTimer();let b=!1;switch(a.type){case"command_output":{let b=this.mcpListWaiter;if(b&&"string"==typeof a.text){clearTimeout(b.timer),this.mcpListWaiter=null,b.resolve(a.text),D();return}break}case"agent_start":this.streaming=!0,(0,i.mD)(),b=!0,this._sessionFile&&!(0,d.existsSync)(this._sessionFile)&&this.signalWhenSessionFileAppears();break;case"agent_end":!1!==a.isTerminal&&(this.streaming=!1,this.promptRunning=!1,(0,i.mD)());break;case"prompt_result":this.promptRunning=!1;break;case"auto_compaction_start":this.compacting=!0;break;case"auto_compaction_end":this.compacting=!1,u(a.result),(0,i.mD)();break;case"session_info_update":"string"==typeof a.title&&(this._sessionName=a.title),(0,i.mD)(),b=!0;break;case"response":if(!1===a.success&&"prompt"===a.command){this.promptRunning=!1,this.emit({type:"prompt_error",errorMessage:a.error??"Prompt failed"}),D();return}break;case"extension_ui_request":if(this.trackExtensionUiRequest(a))return void D();break;case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"";if(b&&c&&this.hostToolNames.has(c)&&this.listeners.length>0){this.pendingHostTools.set(b,a),this.emit(a),D();return}this.rejectUnexpectedHostTool(a);return}case"host_tool_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostTools.delete(b)){this.emit(a),D();return}break}case"host_uri_request":{let b="string"==typeof a.id?a.id:"",c=("string"==typeof a.url?a.url:"").split(":")[0]??"",d="write"===a.operation?"write":"read",e=this.hostUriSchemes.get(c);if(b&&c&&e&&("write"!==d||e.writable)&&this.listeners.length>0){this.pendingHostUris.set(b,a),this.emit(a),D();return}this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:`URI scheme "${c}" is not registered by omp-web`});return}case"host_uri_cancel":{let b="string"==typeof a.targetId?a.targetId:"";if(b&&this.pendingHostUris.delete(b)){this.emit(a),D();return}}}this.emit(a),D({refreshSessionList:b})}forgetPendingUiRequest(a){this.pendingUiRequests.delete(a);let b=this.uiExpiryTimers.get(a);b&&(clearTimeout(b),this.uiExpiryTimers.delete(a))}clearPendingUiRequests(){for(let a of this.uiExpiryTimers.values())clearTimeout(a);this.uiExpiryTimers.clear(),this.pendingUiRequests.clear()}trackExtensionUiRequest(a){let b=a.method,c=a.id;if("cancel"===b)return this.forgetPendingUiRequest(a.targetId),!1;let d=!1;try{d=(0,h.r)().settings.tools?.approval?.extension==="allow"}catch{}if("confirm"===b&&"string"==typeof a.title&&/^allow tool\s*:/i.test(a.title)&&d)return this.forgetPendingUiRequest(c),this.proc.sendFrame({type:"extension_ui_response",id:c,confirmed:!0}),!0;if(l.has(b)){this.forgetPendingUiRequest(c);let b="number"==typeof a.timeout?a.timeout:void 0;if(b&&b>0){a.expiresAt=Date.now()+b;let d=setTimeout(()=>this.forgetPendingUiRequest(c),b);d.unref?.(),this.uiExpiryTimers.set(c,d)}return this.pendingUiRequests.set(c,a),!1}if("setStatus"===b){let b=a.statusKey,c=a.statusText;return void 0===c?this.extensionStatuses.delete(b):this.extensionStatuses.set(b,c),!1}if("setWidget"===b){let b=a.widgetKey,c=a.widgetLines;void 0===c?this.extensionWidgets.delete(b):this.extensionWidgets.set(b,{key:b,lines:c,placement:a.widgetPlacement??"aboveEditor"})}return!1}rejectUnexpectedHostTool(a){let b="string"==typeof a.id?a.id:"";if(!b)return;let c="string"==typeof a.toolName?a.toolName:"unknown";this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:`Host tool "${c}" is not available in ompgui. Use OMP's built-in tools within the selected workspace.`}]}}),this.emit({type:"notice",level:"warning",message:`Rejected unavailable host tool: ${c}`})}rejectPendingHostTools(a){for(let b of this.pendingHostTools.keys())this.proc.sendFrame({type:"host_tool_result",id:b,isError:!0,result:{content:[{type:"text",text:a}]}});this.pendingHostTools.clear()}rejectPendingHostUris(a){for(let b of this.pendingHostUris.keys())this.proc.sendFrame({type:"host_uri_result",id:b,isError:!0,error:a});this.pendingHostUris.clear()}emit(a){for(let b of this.listeners)try{b(a)}catch{}}signalWhenSessionFileAppears(){if(this.sessionFileSignalTimer)return;let a=0,b=()=>{if(this.sessionFileSignalTimer=null,this._alive&&this._sessionFile){if(!(0,d.existsSync)(this._sessionFile)){(a+=1)<40&&(this.sessionFileSignalTimer=setTimeout(b,250));return}(0,i.mD)(),D({refreshSessionList:!0})}};this.sessionFileSignalTimer=setTimeout(b,250)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){this.listeners.push(a);let b=Date.now();for(let[c,d]of this.pendingUiRequests){let e=d.expiresAt;if(void 0!==e&&e<=b){this.forgetPendingUiRequest(c);continue}a(d)}return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1),0===this.listeners.length&&(this.rejectPendingHostTools("The web UI disconnected while the agent was waiting for this host tool"),this.rejectPendingHostUris("The web UI disconnected while the agent was waiting for this URI request"))}}onDestroy(a){return this._alive?(this.destroyListeners.push(a),()=>{let b=this.destroyListeners.indexOf(a);-1!==b&&this.destroyListeners.splice(b,1)}):(a(),()=>{})}onIdentityChange(a){this.onIdentityChangeCallback=a}async withFinalRunningNotification(a){try{return await a()}finally{D()}}async getMcpList(){let a,b;if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");if(this.isRunning())throw new k("Wait for the current run to finish","session_busy");if(this.mcpListWaiter)throw new k("MCP list is already loading","mcp_list_loading");this.promptRunning=!0,D();let c=new Promise((c,d)=>{a=c,b=d});c.catch(()=>{});let d={resolve:a,reject:b,timer:void 0};d.timer=setTimeout(()=>{this.mcpListWaiter===d&&(this.mcpListWaiter=null,b(new k("Timed out while loading MCP servers","mcp_list_timeout")))},15e3),d.timer.unref?.(),this.mcpListWaiter=d;try{return await this.proc.sendCommand({type:"prompt",message:"/mcp list"}),await c}catch(a){throw this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null,d.reject(a instanceof Error?a:Error(String(a)))),a}finally{this.mcpListWaiter===d&&(clearTimeout(d.timer),this.mcpListWaiter=null),this.promptRunning=!1,D()}}buildWebState(a){return this.streaming=a.isStreaming,this.compacting=a.isCompacting,this._sessionName=a.sessionName,a.sessionId&&(this._sessionId=a.sessionId,this._sessionFile=a.sessionFile??this._sessionFile),{sessionId:a.sessionId,sessionFile:a.sessionFile??"",sessionName:a.sessionName,isStreaming:a.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.bashRunning,isCompacting:a.isCompacting,autoCompactionEnabled:a.autoCompactionEnabled,autoRetryEnabled:a.autoRetryEnabled,interruptMode:a.interruptMode,steeringMode:a.steeringMode,followUpMode:a.followUpMode,model:a.model?{id:a.model.id,provider:a.model.provider,name:a.model.name,reasoning:a.model.reasoning,thinking:a.model.thinking?{efforts:a.model.thinking.efforts}:void 0}:void 0,messageCount:a.messageCount,queuedMessageCount:a.queuedMessageCount,contextUsage:a.contextUsage??null,systemPrompt:a.systemPrompt?.join("\n\n")??"",thinkingLevel:a.thinkingLevel??"off",fastModeEnabled:a.fastModeEnabled??a.fastMode??this.fastModeEnabled,fastModeActive:a.fastModeActive,todoPhases:a.todoPhases??[],extensionStatuses:Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionWidgets.values())}}async refreshIdentityAfterSessionChange(){let a=this._sessionId,b=await this.proc.sendCommand({type:"get_state"});return this.applyIdentity(b),a&&a!==this._sessionId&&this.onIdentityChangeCallback?.(a,this._sessionId),(0,i.mD)(),this._sessionId}async restart(){if(this.restarting)throw new k(j,"session_restarting");let a=this._sessionFile,b=!!a&&(0,d.existsSync)(a),c=this.proc;this.restarting=!0,this.unsubscribeFrames?.();try{if(await c.dispose(),!this._alive)return;this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.clearPendingUiRequests(),this.promptRunning=!1,this.bashRunning=!1,this.streaming=!1,this.compacting=!1;let d=new g.X({cwd:this.cwd,extraArgs:r(b?a:""),onExit:({stderrTail:a})=>{this.proc===d&&this.handleProcessExit(a)}});this.proc=d,this.unsubscribeFrames=d.onFrame(a=>this.handleFrame(a));try{let a=await d.waitReady(12e4);await d.negotiateProtocol(a),await d.sendCommand({type:"set_subagent_subscription",level:"events"}).catch(()=>{});let b=await d.sendCommand({type:"get_state"});this.applyIdentity(b)}catch(a){throw this.unsubscribeFrames?.(),this.unsubscribeFrames=null,d.dispose(),this.destroy(),a}}finally{this.restarting=!1}D()}async send(a){if(this.restarting)throw new k(j,"session_restarting");if(!this.isAlive())throw Error("Session is no longer running");this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b){let b=function(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}(a.images);if(b)throw Error(b)}let c=n[b];if(c)throw new g.x(b,c,"unsupported");switch(b){case"prompt":{if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.streamingBehavior;b||(this.promptRunning=!0,D());try{let c=await this.proc.sendCommand({type:"prompt",message:a.message,...s(a.images)?{images:s(a.images)}:{},...b?{streamingBehavior:b}:{}});c?.agentInvoked!==!1||b||(this.promptRunning=!1,this.emit({type:"prompt_result",agentInvoked:!1}),D())}catch(a){throw this.promptRunning=!1,D(),a}return null}case"steer":case"follow_up":return await this.proc.sendCommand({type:b,message:a.message,...s(a.images)?{images:s(a.images)}:{}}),null;case"abort":return await this.withFinalRunningNotification(async()=>{await this.proc.sendCommand({type:"abort"}),this.promptRunning=!1}),null;case"get_state":{let a=await this.proc.sendCommand({type:"get_state"});return this.buildWebState(a)}case"set_model":{let{provider:b,modelId:c}=a,d=await this.proc.sendCommand({type:"set_model",provider:b,modelId:c});return(0,f.kn)(),(0,i.mD)(),{id:d.id,provider:d.provider}}case"set_fast_mode":{let b=!0===a.enabled,c=await this.proc.sendCommand({type:"set_fast_mode",enabled:b});return this.fastModeEnabled=c?.enabled??b,{enabled:this.fastModeEnabled,active:c?.active??!1}}case"fork":if(this.bashRunning)throw Error("Cannot fork while a shell command is running");if((await this.proc.sendCommand({type:"branch",entryId:a.entryId})).cancelled)return{cancelled:!0};return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};case"new_session":case"switch_session":{let b=await this.proc.sendCommand(a);if(!b.cancelled)return{cancelled:!1,newSessionId:await this.refreshIdentityAfterSessionChange()};return b}case"compact":try{return await this.withFinalRunningNotification(async()=>{this.compacting=!0,D();try{let b=await this.proc.sendCommand({type:"compact",...a.customInstructions?{customInstructions:a.customInstructions}:{}});return u(b),b}finally{this.compacting=!1}})}finally{(0,i.mD)()}case"abort_compaction":return await this.withFinalRunningNotification(()=>this.proc.sendCommand({type:"abort"})),null;case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return await this.proc.sendCommand({type:"set_session_name",name:b}),this._sessionName=b,(0,i.mD)(),null}case"get_session_stats":return{...await this.proc.sendCommand({type:"get_session_stats"}),sessionName:this._sessionName};case"get_last_assistant_text":return{text:(await this.proc.sendCommand({type:"get_last_assistant_text"})).text??""};case"get_commands":return await this.proc.sendCommand({type:"get_available_commands"});case"reload":return await this.restart(),{success:!0};case"extension_ui_response":{let{id:b,...c}=a;return this.forgetPendingUiRequest(b),this.proc.sendFrame({type:"extension_ui_response",id:b,...c}),null}case"bash":if(!0===a.excludeFromContext)throw new k("omp cannot run a shell command with its output excluded from the model context (`!!`): the RPC bash command has no exclusion option, so the output would silently enter the context anyway. Run it with a single `!` to share the output with the model, or use a terminal outside ompgui.","bash_exclude_unsupported");if(this.isRunning())throw Error("Cannot run a shell command while the session is busy");this.bashRunning=!0,D();try{return await this.proc.sendCommand({type:"bash",command:a.command})}finally{this.bashRunning=!1,(0,i.mD)(),D()}case"set_host_tools":{let b=(Array.isArray(a.tools)?a.tools:[]).filter(a=>"string"==typeof a.name&&a.name);return this.hostToolNames=new Set(b.map(a=>a.name)),await this.proc.sendCommand({type:"set_host_tools",tools:b}),null}case"host_tool_result":return"string"==typeof a.id&&this.pendingHostTools.delete(a.id),await this.proc.sendCommand(a),null;case"set_host_uri_schemes":{let b=Array.isArray(a.schemes)?a.schemes:[];for(let a of(this.hostUriSchemes=new Map,b))"string"==typeof a.scheme&&a.scheme&&this.hostUriSchemes.set(a.scheme,{writable:!0===a.writable});return await this.proc.sendCommand({type:"set_host_uri_schemes",schemes:b}),null}case"host_uri_result":return"string"==typeof a.id&&this.pendingHostUris.delete(a.id),await this.proc.sendCommand(a),null;default:if(m.has(b)){let c=await this.proc.sendCommand(a);return"set_thinking_level"===b&&(0,i.mD)(),c??null}throw Error(`Unsupported command: ${b}`)}}destroy(){this.destroyAndWait()}async destroyAndWait(){if(this.destroyPromise)return this.destroyPromise;if(!this._alive)return;this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.sessionFileSignalTimer&&(clearTimeout(this.sessionFileSignalTimer),this.sessionFileSignalTimer=null),this.unsubscribeFrames?.(),this.clearPendingUiRequests(),this.mcpListWaiter&&(clearTimeout(this.mcpListWaiter.timer),this.mcpListWaiter.reject(Error("Session was closed while loading MCP servers")),this.mcpListWaiter=null);let a=this.proc.dispose().catch(()=>{});for(let b of(this.destroyPromise=a,this.pendingHostTools.clear(),this.hostToolNames.clear(),this.pendingHostUris.clear(),this.hostUriSchemes.clear(),this.destroyListeners.splice(0)))try{b()}catch{}D(),await a}}function w(){if(!globalThis.__ompSessions){globalThis.__ompSessions=new Map;let a=()=>globalThis.__ompSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompSessions}function x(a){return w().get(a)}function y(){let a=new Set;for(let[b,c]of w())c.isRunning()&&a.add(c.sessionId||b);return[...a]}async function z(){let a=[...new Set(w().values())];return await Promise.all(a.map(a=>a.destroyAndWait())),a.length}function A(){return globalThis.__ompRunningListeners||(globalThis.__ompRunningListeners=new Set),globalThis.__ompRunningListeners}function B(a){let b=A();return b.add(a),()=>{b.delete(a)}}let C="";function D({refreshSessionList:a=!1}={}){let b=y(),c=JSON.stringify([...b].sort());if(c===C&&!a)return;C=c;let d={ids:b,refreshSessionList:a};for(let a of A())try{a(d)}catch{}}async function E(a,b,c,d,e=!1,f){let h=w(),i=(globalThis.__ompStartLocks||(globalThis.__ompStartLocks=new Map),globalThis.__ompStartLocks),j=h.get(a);if(j?.isAlive())return{session:j,realSessionId:a};j?.destroyPromise&&await j.destroyPromise;let k=i.get(a);if(k)return k;let l=(async()=>{let a={},i=new v(new g.X({cwd:c,extraArgs:r(b,d,e),onExit:({stderrTail:b})=>a.wrapper?.handleProcessExit(b)}),c,f);a.wrapper=i,i.start();try{await i.waitUntilReady()}catch(a){throw await i.destroyAndWait(),a}let j=i.sessionId;return i.onDestroy(()=>{h.get(i.sessionId)===i&&h.delete(i.sessionId),h.get(j)===i&&h.delete(j)}),i.onIdentityChange((a,b)=>{h.get(a)===i&&h.delete(a),h.set(b,i)}),h.set(j,i),{session:i,realSessionId:j}})().finally(()=>i.delete(a));return i.set(a,l),l}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7567,exports.ids=[7567],exports.modules={77567:(a,b,c)=>{c.d(b,{getAgentDir:()=>k});var d=c(29021),e=c(33873),f=c(21820);let g=/^[a-z0-9][a-z0-9._-]{0,63}$/,h=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;function i(a){let b=a?.trim();if(b&&"default"!==b){if("."===b||".."===b||b.endsWith(".")||!g.test(b)||h.test(b))throw Error(`Invalid OMP profile "${a}". Profile names must match ${g.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return b}}function j(){return void 0!==process.env.OMP_PROFILE?i(process.env.OMP_PROFILE):i(process.env.PI_PROFILE)}function k(){let a,b,c=j(),d=process.env.PI_CODING_AGENT_DIR;return d&&!c?e.resolve(d):e.join((a=e.join((0,f.homedir)(),process.env.PI_CONFIG_DIR||".omp"),(b=j())?e.join(a,"profiles",b):a),"agent")}c(55511),c(41204),c(74075),Reflect.get(d,"readdirSync"),c(76760);var l=c(79646);(0,c(28354).promisify)(l.execFile)}};
1
+ "use strict";exports.id=7567,exports.ids=[7567],exports.modules={77567:(a,b,c)=>{c.d(b,{getAgentDir:()=>k});var d=c(29021),e=c(33873),f=c(21820);let g=/^[a-z0-9][a-z0-9._-]{0,63}$/,h=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;function i(a){let b=a?.trim();if(b&&"default"!==b){if("."===b||".."===b||b.endsWith(".")||!g.test(b)||h.test(b))throw Error(`Invalid OMP profile "${a}". Profile names must match ${g.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return b}}function j(){return void 0!==process.env.OMP_PROFILE?i(process.env.OMP_PROFILE):i(process.env.PI_PROFILE)}function k(){let a,b,c=j(),d=process.env.PI_CODING_AGENT_DIR;return d&&!c?e.resolve(d):e.join((a=e.join((0,f.homedir)(),process.env.PI_CONFIG_DIR||".omp"),(b=j())?e.join(a,"profiles",b):a),"agent")}c(55511),c(41204),c(77725),c(74075),Reflect.get(d,"readdirSync"),c(76760);var l=c(79646);(0,c(28354).promisify)(l.execFile)}};
@@ -1,5 +1,5 @@
1
- "use strict";exports.id=7834,exports.ids=[1671,7834],exports.modules={51671:(a,b,c)=>{c.d(b,{getOmpVersion:()=>n,resolveOmpBin:()=>m});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=0,l="win32"===process.platform?"omp.exe":"omp";function m(){if(h)return h;if(Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}async function n(){if(j)return j;if(Date.now()-k<3e4)return null;let a=m();if(!a)return k=Date.now(),null;try{let b=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(b)return j=b,k=0,b}catch{}return k=Date.now(),null}},67834:(a,b,c)=>{c.d(b,{runUtilityCommand:()=>p});var d=c(21820),e=c(79646),f=c(4984),g=c(51671);function h(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function i(a){return"number"==typeof a&&Number.isSafeInteger(a)}function j(a){return Buffer.byteLength(a,"utf8")+1}class k{push(a){if(!h(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!h(a)||"string"!=typeof a.type)throw Error("RPC frame must be an object");return a}let{chunkId:b,index:c,count:d,byteLength:e}=a;if("string"!=typeof b||0===b.length||b.length>128||!i(c)||!i(d)||!i(e)||c<0||d<2||d>Math.ceil(256)||c>=d||e<1048576||e>0x4000000)throw Error("invalid RPC chunk metadata");let f=function(a){if("string"!=typeof a||0===a.length||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a))throw Error("invalid RPC chunk data");let b=Buffer.from(a,"base64");if(b.toString("base64")!==a)throw Error("invalid RPC chunk data");return b}(a.data);if(f.byteLength>262144)throw Error("RPC chunk payload exceeds the transport limit");if(!this.pending){if(0!==c)throw Error("RPC chunk sequence must start at index 0");this.pending={chunkId:b,count:d,byteLength:e,nextIndex:0,chunks:[],receivedBytes:0}}let g=this.pending;if(g.chunkId!==b||g.count!==d||g.byteLength!==e||g.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(g.chunks.push(f),g.receivedBytes+=f.byteLength,g.nextIndex++,g.receivedBytes>g.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(g.nextIndex<g.count)return;if(g.receivedBytes!==g.byteLength)throw Error("RPC chunk sequence length mismatch");this.pending=void 0;let j=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(Buffer.concat(g.chunks)));if(!h(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class l extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class m{constructor(a){let b,c;this.pending=new Map,this.frameListeners=new Set,this.nextId=1,this.stderrTail="",this.exited=!1,this.exitInfo=null,this.protocolVersion=1,this.nextChunkId=1,this.writeQueue=Promise.resolve();const d=a.dependencies?.resolveOmpBin??g.resolveOmpBin;this.spawnProcess=a.dependencies?.spawn??e.spawn;const h=d();if(!h)throw Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN.");this.cwd=a.cwd,a.onFrame&&this.frameListeners.add(a.onFrame);const i=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]];this.child=this.spawnProcess(h,i,{cwd:a.cwd,env:function(a,b=process.platform){let c={...a};for(let a of Object.keys(c))(function(a,b){let c="win32"===b?a.toUpperCase():a;return"PORT"===c||"NODE_ENV"===c||c.startsWith("NEXT_")})(a,b)&&delete c[a];return c}({...process.env,...a.env}),stdio:["pipe","pipe","pipe"],windowsHide:!0,detached:"win32"!==process.platform}),this.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{});const j=new k;(0,f.createInterface)({input:this.child.stdout}).on("line",a=>{let c,d,e=a.trim();if(e){try{c=JSON.parse(e)}catch{return}try{if(c&&"object"==typeof c&&"rpc_chunk"===c.type&&2!==this.protocolVersion)throw Error("RPC chunk received before protocol negotiation");let a=j.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
2
- RPC protocol error: ${a instanceof Error?a.message:String(a)}`).slice(-8192),this.dispose(0);return}if("ready"===d.type)return void b(d);if("response"===d.type)return void this.handleResponse(d);for(let a of this.frameListeners)try{a(d)}catch{}}}),this.child.stderr.on("data",a=>{this.stderrTail=(this.stderrTail+a.toString("utf8")).slice(-8192)});const l=(b,d)=>{if(this.exited)return;this.exited=!0,this.exitInfo={code:b,signal:d};let e=Error(`omp exited (code ${b??"null"}, signal ${d??"none"})${this.stderrTail?`: ${this.stderrTail.slice(-500)}`:""}`);for(let[,a]of(c(e),this.pending))a.timer&&clearTimeout(a.timer),a.reject(e);this.pending.clear(),a.onExit?.({code:b,signal:d,stderrTail:this.stderrTail})};this.child.on("exit",l),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
3
- spawn error: ${a.message}`).slice(-8192),l(null,null)})}get isAlive(){return!this.exited}get exitDetails(){return this.exitInfo?{...this.exitInfo,stderrTail:this.stderrTail}:null}waitReady(a=6e4){let b=new Promise((b,c)=>{let d=setTimeout(()=>c(Error(`omp RPC ready timeout after ${a}ms`)),a);d.unref?.(),this.readyPromise.finally(()=>clearTimeout(d)).catch(()=>{})});return Promise.race([this.readyPromise,b])}async negotiateProtocol(a){if(!(Array.isArray(a.supportedProtocolVersions)?a.supportedProtocolVersions:[]).includes(2))return this.protocolVersion;let b=await this.sendCommand({type:"negotiate_protocol",protocolVersion:2});if(b?.protocolVersion!==2)throw Error("OMP rejected RPC protocol v2 negotiation");return this.protocolVersion=2,this.protocolVersion}onFrame(a){return this.frameListeners.add(a),()=>this.frameListeners.delete(a)}sendCommand(a,b){if(this.exited)return Promise.reject(Error("omp RPC process has exited"));let c=`w${this.nextId++}`;return new Promise((d,e)=>{let f={command:a.type,resolve:d,reject:e};b&&b>0&&(f.timer=setTimeout(()=>{this.pending.get(c)===f&&(this.pending.delete(c),e(Error(`RPC command ${a.type} timed out after ${b}ms`)))},b),f.timer.unref?.()),this.pending.set(c,f),this.writeFrame({...a,id:c},a=>{if(a){let b=this.pending.get(c);b&&(this.pending.delete(c),b.timer&&clearTimeout(b.timer),e(a))}})})}sendFrame(a){this.exited||this.writeFrame(a,()=>{})}writeFrame(a,b){let c;try{c=function(a,b,c){let d=JSON.stringify(a);if(1048576>=j(d))return[`${d}
1
+ "use strict";exports.id=7834,exports.ids=[1671,7834],exports.modules={51671:(a,b,c)=>{c.d(b,{getOmpVersion:()=>n,resolveOmpBin:()=>m});var d=c(79646),e=c(29021),f=c(21820),g=c(33873);let h=null,i=0,j=null,k=0,l="win32"===process.platform?"omp.exe":"omp";function m(){if(h)return h;if(Date.now()-i<3e4)return null;let a=function(){let a=process.env.OMPGUI_OMP_BIN??process.env.OMP_WEB_OMP_BIN;if(a)return(0,e.existsSync)(a)?a:null;for(let a of(process.env.PATH??"").split(g.delimiter)){if(!a)continue;let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}for(let a of["/opt/homebrew/bin","/usr/local/bin",(0,g.join)((0,f.homedir)(),".bun","bin"),(0,g.join)((0,f.homedir)(),".local","bin")]){let b=(0,g.join)(a,l);if((0,e.existsSync)(b))return b}return null}();return a?(h=a,i=0,a):(i=Date.now(),null)}async function n(){if(j)return j;if(Date.now()-k<3e4)return null;let a=m();if(!a)return k=Date.now(),null;try{let b=(await new Promise((b,c)=>{(0,d.execFile)(a,["--version"],{timeout:1e4,windowsHide:!0},(a,d)=>{a?c(a):b(d)})})).trim();if(b)return j=b,k=0,b}catch{}return k=Date.now(),null}},67834:(a,b,c)=>{c.d(b,{runUtilityCommand:()=>p});var d=c(21820),e=c(79646),f=c(4984),g=c(51671);function h(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function i(a){return"number"==typeof a&&Number.isSafeInteger(a)}function j(a){return Buffer.byteLength(a,"utf8")+1}class k{push(a){if(!h(a)||"rpc_chunk"!==a.type){if(this.pending)throw Error("RPC chunk sequence interrupted");if(!h(a)||"string"!=typeof a.type)throw Error("RPC frame must be an object");return a}let{chunkId:b,index:c,count:d,byteLength:e}=a;if("string"!=typeof b||0===b.length||b.length>128||!i(c)||!i(d)||!i(e)||c<0||d<2||d>Math.ceil(256)||c>=d||e<1048576||e>0x4000000)throw Error("invalid RPC chunk metadata");let f=function(a){if("string"!=typeof a||0===a.length||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a))throw Error("invalid RPC chunk data");let b=Buffer.from(a,"base64");if(b.toString("base64")!==a)throw Error("invalid RPC chunk data");return b}(a.data);if(f.byteLength>262144)throw Error("RPC chunk payload exceeds the transport limit");if(!this.pending){if(0!==c)throw Error("RPC chunk sequence must start at index 0");this.pending={chunkId:b,count:d,byteLength:e,nextIndex:0,chunks:[],receivedBytes:0}}let g=this.pending;if(g.chunkId!==b||g.count!==d||g.byteLength!==e||g.nextIndex!==c)throw Error("RPC chunk sequence mismatch");if(g.chunks.push(f),g.receivedBytes+=f.byteLength,g.nextIndex++,g.receivedBytes>g.byteLength)throw Error("RPC chunk sequence exceeds declared length");if(g.nextIndex<g.count)return;if(g.receivedBytes!==g.byteLength)throw Error("RPC chunk sequence length mismatch");this.pending=void 0;let j=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(Buffer.concat(g.chunks)));if(!h(j)||"string"!=typeof j.type)throw Error("RPC frame must be an object");return j}}class l extends Error{constructor(a,b,c){super(b),this.name="RpcCommandError",this.command=a,this.code=c}}class m{constructor(a){let b,c;this.pending=new Map,this.frameListeners=new Set,this.nextId=1,this.stderrTail="",this.exited=!1,this.exitInfo=null,this.protocolVersion=1,this.nextChunkId=1,this.writeQueue=Promise.resolve();const d=a.dependencies?.resolveOmpBin??g.resolveOmpBin;this.spawnProcess=a.dependencies?.spawn??e.spawn;const h=d();if(!h)throw Error("omp binary not found. Install oh-my-pi or set OMP_WEB_OMP_BIN.");this.cwd=a.cwd,a.onFrame&&this.frameListeners.add(a.onFrame);const i=["--mode","rpc-ui","--cwd",a.cwd,...a.extraArgs??[]];this.child=this.spawnProcess(h,i,{cwd:a.cwd,env:function(a,b=process.platform){let c={...a};for(let a of Object.keys(c))(function(a,b){let c="win32"===b?a.toUpperCase():a;return"PORT"===c||"NODE_ENV"===c||c.startsWith("NEXT_")})(a,b)&&delete c[a];return c}({...process.env,...a.env}),stdio:["pipe","pipe","pipe"],windowsHide:!0,detached:"win32"!==process.platform}),this.readyPromise=new Promise((a,d)=>{b=a,c=d}),this.readyPromise.catch(()=>{}),this.child.stdin.on("error",()=>{}),this.child.stdout.on("error",()=>{});const j=new k,l=(0,f.createInterface)({input:this.child.stdout});l.on("error",()=>{}),l.on("line",a=>{let c,d,e=a.trim();if(e){try{c=JSON.parse(e)}catch{return}try{if(c&&"object"==typeof c&&"rpc_chunk"===c.type&&2!==this.protocolVersion)throw Error("RPC chunk received before protocol negotiation");let a=j.push(c);if(!a)return;d=a}catch(a){this.stderrTail=(this.stderrTail+`
2
+ RPC protocol error: ${a instanceof Error?a.message:String(a)}`).slice(-8192),this.dispose(0);return}if("ready"===d.type)return void b(d);if("response"===d.type)return void this.handleResponse(d);for(let a of this.frameListeners)try{a(d)}catch{}}}),this.child.stderr.on("data",a=>{this.stderrTail=(this.stderrTail+a.toString("utf8")).slice(-8192)});const m=(b,d)=>{if(this.exited)return;this.exited=!0,this.exitInfo={code:b,signal:d};let e=Error(`omp exited (code ${b??"null"}, signal ${d??"none"})${this.stderrTail?`: ${this.stderrTail.slice(-500)}`:""}`);for(let[,a]of(c(e),this.pending))a.timer&&clearTimeout(a.timer),a.reject(e);this.pending.clear(),a.onExit?.({code:b,signal:d,stderrTail:this.stderrTail})};this.child.on("exit",m),this.child.on("error",a=>{this.stderrTail=(this.stderrTail+`
3
+ spawn error: ${a.message}`).slice(-8192),m(null,null)})}get isAlive(){return!this.exited}get exitDetails(){return this.exitInfo?{...this.exitInfo,stderrTail:this.stderrTail}:null}waitReady(a=6e4){let b=new Promise((b,c)=>{let d=setTimeout(()=>c(Error(`omp RPC ready timeout after ${a}ms`)),a);d.unref?.(),this.readyPromise.finally(()=>clearTimeout(d)).catch(()=>{})});return Promise.race([this.readyPromise,b])}async negotiateProtocol(a){if(!(Array.isArray(a.supportedProtocolVersions)?a.supportedProtocolVersions:[]).includes(2))return this.protocolVersion;let b=await this.sendCommand({type:"negotiate_protocol",protocolVersion:2});if(b?.protocolVersion!==2)throw Error("OMP rejected RPC protocol v2 negotiation");return this.protocolVersion=2,this.protocolVersion}onFrame(a){return this.frameListeners.add(a),()=>this.frameListeners.delete(a)}sendCommand(a,b){if(this.exited)return Promise.reject(Error("omp RPC process has exited"));let c=`w${this.nextId++}`;return new Promise((d,e)=>{let f={command:a.type,resolve:d,reject:e};b&&b>0&&(f.timer=setTimeout(()=>{this.pending.get(c)===f&&(this.pending.delete(c),e(Error(`RPC command ${a.type} timed out after ${b}ms`)))},b),f.timer.unref?.()),this.pending.set(c,f),this.writeFrame({...a,id:c},a=>{if(a){let b=this.pending.get(c);b&&(this.pending.delete(c),b.timer&&clearTimeout(b.timer),e(a))}})})}sendFrame(a){this.exited||this.writeFrame(a,()=>{})}writeFrame(a,b){let c;try{c=function(a,b,c){let d=JSON.stringify(a);if(1048576>=j(d))return[`${d}
4
4
  `];if(1===b)throw Error("RPC frame exceeds the v1 transport limit");let e=Buffer.from(d,"utf8");if(e.byteLength>0x4000000)throw Error("RPC frame exceeds the v2 reassembly limit");let f=Math.ceil(e.byteLength/262144),g=[];for(let a=0;a<f;a++){let b=JSON.stringify({type:"rpc_chunk",chunkId:c,index:a,count:f,byteLength:e.byteLength,data:e.subarray(262144*a,(a+1)*262144).toString("base64")});if(j(b)>1048576)throw Error("RPC chunk exceeds the transport limit");g.push(`${b}
5
5
  `)}return g}(a,this.protocolVersion,`web-${this.nextChunkId++}`)}catch(a){b(a instanceof Error?a:Error(String(a)));return}this.writeQueue=this.writeQueue.then(()=>new Promise(a=>{if(this.exited||this.child.stdin.destroyed){b(Error("RPC process is not running")),a();return}let d=0,e=f=>{if(f||d===c.length){b(f??null),a();return}this.child.stdin.write(c[d++],e)};e()}))}handleResponse(a){let b=a.id,c=b?this.pending.get(b):void 0;if(!c||!b){for(let b of this.frameListeners)try{b(a)}catch{}return}this.pending.delete(b),c.timer&&clearTimeout(c.timer),a.success?c.resolve(a.data):c.reject(new l(a.command,a.error??"RPC command failed",a.code))}async dispose(a=5e3){if(this.exited)return;let b=new Promise(a=>{if(this.exited)return a();this.child.once("exit",()=>a())});try{this.child.stdin.end()}catch{}let c=(a,b)=>{let c=this.child.pid;if(c){if("win32"===process.platform){let d=["/pid",String(c),"/t",...a?["/f"]:[]];this.spawnProcess("taskkill",d,{windowsHide:!0,stdio:"ignore"}).once("error",()=>{try{this.child.kill(b)}catch{}});return}try{process.kill(-c,b)}catch{try{this.child.kill(b)}catch{}}}},d=setTimeout(()=>{this.exited||c(!1,"SIGTERM")},a),e=setTimeout(()=>{this.exited||c(!0,"SIGKILL")},2*a);d.unref?.(),e.unref?.(),await b,clearTimeout(d),clearTimeout(e)}}let n=["--no-session","--no-skills","--no-lsp"];async function o(a){let b=new m({cwd:(0,d.homedir)(),extraArgs:n,onExit:()=>{a.proc===b&&(a.proc=null)}});try{let a=await b.waitReady(6e4);await b.negotiateProtocol(a)}catch(a){throw b.dispose(),a}return b}function p(a,b=6e4){let c=function(){if(!globalThis.__ompUtilityRpcState){globalThis.__ompUtilityRpcState={proc:null,idleTimer:null,queue:Promise.resolve()};let a=()=>(function(){let a=globalThis.__ompUtilityRpcState;if(!a)return;a.idleTimer&&(clearTimeout(a.idleTimer),a.idleTimer=null);let b=a.proc;a.proc=null,b&&b.dispose()})();process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__ompUtilityRpcState}(),d=c.queue.then(async()=>{c.idleTimer&&(clearTimeout(c.idleTimer),c.idleTimer=null);try{return c.proc&&c.proc.isAlive||(c.proc=await o(c)),await c.proc.sendCommand(a,b)}finally{c.idleTimer&&clearTimeout(c.idleTimer),c.idleTimer=setTimeout(()=>{c.idleTimer=null;let a=c.proc;c.proc=null,a&&a.dispose()},3e5),c.idleTimer.unref?.()}});return c.queue=d.then(()=>void 0,()=>void 0),d}}};