purplemux 0.2.1 → 0.2.3

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 (569) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +90 -90
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/routes-manifest.json +51 -7
  6. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t1c-6w._.js → [root-of-the-server]__016s4a9._.js} +2 -2
  7. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +2 -2
  8. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0cjfc~l._.js → [root-of-the-server]__06h3gzy._.js} +2 -2
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +3 -0
  10. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0qda0wx._.js → [root-of-the-server]__0_fu3k.._.js} +1 -1
  11. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0pv48rv._.js → [root-of-the-server]__0_imm_0._.js} +1 -1
  12. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ef59mr._.js → [root-of-the-server]__0abp0lo._.js} +1 -1
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +2 -2
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bo-su1._.js +3 -0
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bocpgx._.js +30 -0
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-bb5d._.js +3 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dt2efu._.js +3 -0
  18. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0zjping._.js → [root-of-the-server]__0g8mjyh._.js} +1 -1
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +3 -0
  20. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__045g9-a._.js → [root-of-the-server]__0lk7ru8._.js} +1 -1
  21. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +1 -1
  22. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04o.cbq._.js → [root-of-the-server]__0m99ffd._.js} +2 -2
  23. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0hzysmw._.js → [root-of-the-server]__0q8lffz._.js} +1 -1
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vjtjtc._.js +3 -0
  25. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0x_e0yw._.js +3 -0
  26. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t7wqt6._.js → [root-of-the-server]__10h2vlr._.js} +2 -2
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11iyaqz._.js +3 -0
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11j9~6h._.js +1 -1
  29. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00yjayf._.js → [root-of-the-server]__121-6-e._.js} +2 -2
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +2 -2
  31. package/.next/standalone/.next/server/chunks/{_0out7wm._.js → _0-mgr1c._.js} +1 -1
  32. package/.next/standalone/.next/server/chunks/_0.5a4bu._.js +3 -0
  33. package/.next/standalone/.next/server/chunks/{_06vitke._.js → _03-duro._.js} +1 -1
  34. package/.next/standalone/.next/server/chunks/_05-8rnc._.js +3 -0
  35. package/.next/standalone/.next/server/chunks/{_0d415er._.js → _07097f~._.js} +1 -1
  36. package/.next/standalone/.next/server/chunks/{_0st-_d~._.js → _0jzxge9._.js} +1 -1
  37. package/.next/standalone/.next/server/chunks/{_0xmsr59._.js → _0ll-5~7._.js} +1 -1
  38. package/.next/standalone/.next/server/chunks/_0mhomq~._.js +3 -0
  39. package/.next/standalone/.next/server/chunks/{_0.hbe-v._.js → _0pk0hms._.js} +1 -1
  40. package/.next/standalone/.next/server/chunks/_0qm27ix._.js +3 -0
  41. package/.next/standalone/.next/server/chunks/{_0_1vqqb._.js → _0v81st0._.js} +1 -1
  42. package/.next/standalone/.next/server/chunks/_0vgpyhz._.js +3 -0
  43. package/.next/standalone/.next/server/chunks/{_1368r9s._.js → _0w0qjyh._.js} +1 -1
  44. package/.next/standalone/.next/server/chunks/_0wok5xu._.js +3 -0
  45. package/.next/standalone/.next/server/chunks/{_0tumyht._.js → _0wu6uxd._.js} +1 -1
  46. package/.next/standalone/.next/server/chunks/{_05otee~._.js → _0z7d6.z._.js} +1 -1
  47. package/.next/standalone/.next/server/chunks/{_0c63jma._.js → _0zf5mig._.js} +1 -1
  48. package/.next/standalone/.next/server/chunks/{_0mnwbyo._.js → _0~~9-pj._.js} +1 -1
  49. package/.next/standalone/.next/server/chunks/{src_lib_136edwc._.js → src_lib_0p.xsqi._.js} +1 -1
  50. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/src_lib_session-parser_ts_0~rhicw._.js +3 -3
  52. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da5cj~._.js +3 -0
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0glt298._.js +3 -0
  55. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0hwcydd._.js → [root-of-the-server]__0grkevn._.js} +1 -1
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +3 -0
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2-y_._.js +3 -0
  58. package/.next/standalone/.next/server/chunks/ssr/_0-ug5tr._.js +3 -0
  59. package/.next/standalone/.next/server/chunks/ssr/{_00rrt71._.js → _016o9_-._.js} +1 -1
  60. package/.next/standalone/.next/server/chunks/ssr/{_0y5jzd3._.js → _020f2r.._.js} +1 -1
  61. package/.next/standalone/.next/server/chunks/ssr/{_0_c~3id._.js → _02jzd5g._.js} +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/_04iqb-o._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/ssr/{_0sfctwm._.js → _04q3_kj._.js} +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/{_08h9ynz._.js → _058y~nz._.js} +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/{_0_soefg._.js → _0a_u5qm._.js} +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/{_00ehnd~._.js → _0c1yivm._.js} +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/{_0kno-5w._.js → _0d58w1~._.js} +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/{_0rxhzwm._.js → _0ftinmo._.js} +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/_0h4kenr._.js +3 -0
  70. package/.next/standalone/.next/server/chunks/ssr/{_0z61aq-._.js → _0ihbr8k._.js} +2 -2
  71. package/.next/standalone/.next/server/chunks/ssr/_0js4l3t._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/_0nib_x8._.js +3 -0
  73. package/.next/standalone/.next/server/chunks/ssr/_0nuztht._.js +18 -0
  74. package/.next/standalone/.next/server/chunks/ssr/_0nvs1~o._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/ssr/_0oca87b._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/ssr/_0ovjjn5._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/ssr/{_0lnui2f._.js → _0ozy~xe._.js} +2 -2
  78. package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +3 -0
  79. package/.next/standalone/.next/server/chunks/ssr/{_0svke5s._.js → _0pk4~_0._.js} +2 -2
  80. package/.next/standalone/.next/server/chunks/ssr/_0qt-m3l._.js +3 -0
  81. package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/ssr/_0w1phzp._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/ssr/_101yu0w._.js +18 -0
  85. package/.next/standalone/.next/server/chunks/ssr/_13c-b~p._.js +3 -0
  86. package/.next/standalone/.next/server/chunks/ssr/_13lrp9_._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/ssr/{messages_046iw4z._.js → messages_02eoowy._.js} +1 -1
  88. package/.next/standalone/.next/server/chunks/ssr/{messages_0zr0cc7._.js → messages_0hmq5dp._.js} +1 -1
  89. package/.next/standalone/.next/server/chunks/ssr/messages_de_diff_json_[json]_cjs_0w6blyy._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/ssr/messages_de_settings_json_[json]_cjs_0ksu4_w._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/messages_de_sidebar_json_[json]_cjs_0loc-1-._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/ssr/messages_de_workspace_json_[json]_cjs_0g7nkdq._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/messages_en_diff_json_[json]_cjs_0z34_dc._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/messages_en_settings_json_[json]_cjs_0qwl-zt._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/messages_en_sidebar_json_[json]_cjs_0un0e3f._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/ssr/messages_en_workspace_json_[json]_cjs_0m9rzyy._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/messages_es_diff_json_[json]_cjs_0kheix4._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/ssr/messages_es_settings_json_[json]_cjs_0ce_kv6._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/ssr/messages_es_sidebar_json_[json]_cjs_080u46~._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/messages_es_workspace_json_[json]_cjs_0xf0_50._.js +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/messages_fr_diff_json_[json]_cjs_11vxoy5._.js +1 -1
  102. package/.next/standalone/.next/server/chunks/ssr/messages_fr_settings_json_[json]_cjs_0h_6lba._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/ssr/messages_fr_sidebar_json_[json]_cjs_05y8v8h._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/messages_fr_workspace_json_[json]_cjs_0h88f-g._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/messages_ja_diff_json_[json]_cjs_0t~9dro._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/messages_ja_settings_json_[json]_cjs_0pg~fls._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/ssr/messages_ja_sidebar_json_[json]_cjs_0i0x8w9._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/messages_ja_workspace_json_[json]_cjs_03dlzmi._.js +1 -1
  109. package/.next/standalone/.next/server/chunks/ssr/messages_ko_diff_json_[json]_cjs_0cw7xj1._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/ssr/messages_ko_settings_json_[json]_cjs_07xpfc8._.js +1 -1
  111. package/.next/standalone/.next/server/chunks/ssr/messages_ko_sidebar_json_[json]_cjs_0mql5dv._.js +1 -1
  112. package/.next/standalone/.next/server/chunks/ssr/messages_ko_workspace_json_[json]_cjs_0frxg.r._.js +1 -1
  113. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_diff_json_[json]_cjs_0vc-p7n._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_settings_json_[json]_cjs_0frspzp._.js +1 -1
  115. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_sidebar_json_[json]_cjs_07h4b1q._.js +1 -1
  116. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_workspace_json_[json]_cjs_0lahru2._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/messages_ru_diff_json_[json]_cjs_07na~n8._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/messages_ru_settings_json_[json]_cjs_08ex00.._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/ssr/messages_ru_sidebar_json_[json]_cjs_0aksrjo._.js +1 -1
  120. package/.next/standalone/.next/server/chunks/ssr/messages_ru_workspace_json_[json]_cjs_0wm5nhc._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/ssr/messages_tr_diff_json_[json]_cjs_0a00gr_._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/messages_tr_settings_json_[json]_cjs_0piu0da._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/ssr/messages_tr_sidebar_json_[json]_cjs_0yj47nu._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/ssr/messages_tr_workspace_json_[json]_cjs_0wygfyf._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_diff_json_[json]_cjs_0b01x_1._.js +1 -1
  126. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_settings_json_[json]_cjs_0uazwgy._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_sidebar_json_[json]_cjs_0yzmolg._.js +1 -1
  128. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_workspace_json_[json]_cjs_0h3v0-e._.js +1 -1
  129. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_diff_json_[json]_cjs_088r89k._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_settings_json_[json]_cjs_09u0c5l._.js +1 -1
  131. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_sidebar_json_[json]_cjs_0pnu~0h._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_workspace_json_[json]_cjs_0ymw5wz._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/ssr/node_modules_02oar3h._.js +3 -0
  134. package/.next/standalone/.next/server/chunks/ssr/node_modules_0_2gaq0._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/ssr/node_modules_0bbmd88._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/ssr/node_modules_0ydhwnx._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/ssr/node_modules_1294wzs._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/ssr/{src_components_0rs9yzr._.js → src_components_0_aiven._.js} +1 -1
  139. package/.next/standalone/.next/server/chunks/ssr/{src_components_0cflin8._.js → src_components_0geizrr._.js} +1 -1
  140. package/.next/standalone/.next/server/chunks/ssr/{src_components_0g.s~e7._.js → src_components_11_1i~k._.js} +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/{src_components_0jrj_vu._.js → src_components_12mrirb._.js} +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_input_tsx_0pgha5u._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-browser-title_ts_0bw6.cb._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-workspace-store_ts_0h40e5c._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +1 -1
  148. package/.next/standalone/.next/server/middleware-build-manifest.js +90 -90
  149. package/.next/standalone/.next/server/pages/_app/build-manifest.json +9 -8
  150. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  151. package/.next/standalone/.next/server/pages/_app.js +6 -6
  152. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/pages/_document.js +3 -3
  154. package/.next/standalone/.next/server/pages/_document.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/pages/_error.js +6 -6
  156. package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +2 -2
  158. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +2 -2
  160. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +2 -2
  162. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +2 -2
  164. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
  165. package/.next/standalone/.next/server/pages/api/cli/tabs.js +2 -2
  166. package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/pages/api/cli/workspaces.js +1 -1
  168. package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/pages/api/git/sync/pages-manifest.json +3 -0
  170. package/.next/standalone/.next/server/pages/api/git/sync.js +5 -0
  171. package/.next/standalone/.next/server/pages/api/git/sync.js.map +5 -0
  172. package/.next/standalone/.next/server/pages/api/git/sync.js.nft.json +1 -0
  173. package/.next/standalone/.next/server/pages/api/layout/commit-diff/pages-manifest.json +3 -0
  174. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js +5 -0
  175. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.map +5 -0
  176. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.nft.json +1 -0
  177. package/.next/standalone/.next/server/pages/api/layout/file-content/pages-manifest.json +3 -0
  178. package/.next/standalone/.next/server/pages/api/layout/file-content.js +5 -0
  179. package/.next/standalone/.next/server/pages/api/layout/file-content.js.map +5 -0
  180. package/.next/standalone/.next/server/pages/api/layout/file-content.js.nft.json +1 -0
  181. package/.next/standalone/.next/server/pages/api/layout/git-log/pages-manifest.json +3 -0
  182. package/.next/standalone/.next/server/pages/api/layout/git-log.js +5 -0
  183. package/.next/standalone/.next/server/pages/api/layout/git-log.js.map +5 -0
  184. package/.next/standalone/.next/server/pages/api/layout/git-log.js.nft.json +1 -0
  185. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +2 -2
  186. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +3 -3
  188. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  189. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +2 -2
  190. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +3 -3
  192. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +2 -2
  194. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
  195. package/.next/standalone/.next/server/pages/api/layout/pane.js +2 -2
  196. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/pages/api/layout.js +2 -2
  198. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
  199. package/.next/standalone/.next/server/pages/api/message-history.js +1 -1
  200. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
  201. package/.next/standalone/.next/server/pages/api/push/vapid-key.js +1 -1
  202. package/.next/standalone/.next/server/pages/api/push/vapid-key.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js +1 -1
  204. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js +1 -1
  206. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js +2 -2
  208. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
  209. package/.next/standalone/.next/server/pages/api/stats/projects.js +2 -2
  210. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/pages/api/stats/sessions.js +2 -2
  212. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
  213. package/.next/standalone/.next/server/pages/api/stats/uptime.js +2 -2
  214. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/pages/api/status/hook.js +3 -3
  216. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/pages/api/status/statusline.js +5 -5
  218. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  219. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +1 -1
  220. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
  222. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  223. package/.next/standalone/.next/server/pages/api/tmux/reset.js +3 -3
  224. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  225. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +2 -2
  226. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
  227. package/.next/standalone/.next/server/pages/api/workspace/active.js +2 -2
  228. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId]/pages-manifest.json +3 -0
  230. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +8 -0
  231. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.map +5 -0
  232. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -0
  233. package/.next/standalone/.next/server/pages/api/workspace/group/pages-manifest.json +3 -0
  234. package/.next/standalone/.next/server/pages/api/workspace/group/reorder/pages-manifest.json +3 -0
  235. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +8 -0
  236. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.map +5 -0
  237. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -0
  238. package/.next/standalone/.next/server/pages/api/workspace/group.js +8 -0
  239. package/.next/standalone/.next/server/pages/api/workspace/group.js.map +5 -0
  240. package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -0
  241. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +2 -2
  242. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/pages/api/workspace/validate.js +2 -2
  244. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
  245. package/.next/standalone/.next/server/pages/api/workspace.js +4 -4
  246. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  248. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  249. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  250. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  251. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  252. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  253. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  254. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  255. package/.next/standalone/.next/server/pages/index/build-manifest.json +17 -17
  256. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  257. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +8 -10
  258. package/.next/standalone/.next/server/pages/index.js +18 -18
  259. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  260. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  261. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  262. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  263. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  264. package/.next/standalone/.next/server/pages/login/build-manifest.json +9 -10
  265. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  266. package/.next/standalone/.next/server/pages/login.js +12 -12
  267. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  269. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  270. package/.next/standalone/.next/server/pages/reports/build-manifest.json +17 -17
  271. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  272. package/.next/standalone/.next/server/pages/reports.js +18 -18
  273. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/pages/reset.js +7 -7
  275. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  276. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  277. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  278. package/.next/standalone/.next/server/pages/stats/build-manifest.json +16 -16
  279. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  280. package/.next/standalone/.next/server/pages/stats.js +19 -19
  281. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  282. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +3 -3
  283. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  284. package/.next/standalone/.next/server/pages/tools-required.js +8 -8
  285. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  286. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  287. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  288. package/.next/standalone/.next/server/pages/webview/build-manifest.json +16 -16
  289. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  290. package/.next/standalone/.next/server/pages/webview.js +20 -20
  291. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  293. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  294. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  295. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  296. package/.next/standalone/.next/server/pages-manifest.json +7 -0
  297. package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → X7BRO7ORR4bKFt1LXzGU8}/_buildManifest.js +13 -6
  298. package/.next/standalone/.next/static/chunks/0-7en.d6a3jki.js +1 -0
  299. package/.next/standalone/.next/static/chunks/0-p.9vdmq-_co.js +13 -0
  300. package/.next/standalone/.next/static/chunks/0-pm5wxsyxs3e.js +1 -0
  301. package/.next/standalone/.next/static/chunks/00ljvc.i_9p~6.js +1 -0
  302. package/.next/standalone/.next/static/chunks/01raz3nv-e~~d.js +1 -0
  303. package/.next/standalone/.next/static/chunks/01ul8lmr04ls3.js +1 -0
  304. package/.next/standalone/.next/static/chunks/024gkwka6p59k.js +1 -0
  305. package/.next/standalone/.next/static/chunks/{0.ecwkadp7-hq.js → 034_utxy1sujb.js} +1 -1
  306. package/.next/standalone/.next/static/chunks/038h8wl_~fi3u.js +1 -0
  307. package/.next/standalone/.next/static/chunks/038s7u_er9zkt.js +1 -0
  308. package/.next/standalone/.next/static/chunks/03ljx9csfmrpn.js +1 -0
  309. package/.next/standalone/.next/static/chunks/03sj62c3p8g11.js +1 -0
  310. package/.next/standalone/.next/static/chunks/{17l496oycdhjx.js → 03vck__37a5cl.js} +1 -1
  311. package/.next/standalone/.next/static/chunks/05b7zy0n0vhms.js +1 -0
  312. package/.next/standalone/.next/static/chunks/05kshd9vdrl4o.js +1 -0
  313. package/.next/standalone/.next/static/chunks/{0w_03xk_xkc5a.js → 05kyduw8swd_h.js} +1 -1
  314. package/.next/standalone/.next/static/chunks/05w~qu2zpvh2f.js +1 -0
  315. package/.next/standalone/.next/static/chunks/05zne4hn1v65k.js +24 -0
  316. package/.next/standalone/.next/static/chunks/06vobum5720oa.js +1 -0
  317. package/.next/standalone/.next/static/chunks/06vxx-4w.uvj0.js +23 -0
  318. package/.next/standalone/.next/static/chunks/06zq-2isv5vn6.js +1 -0
  319. package/.next/standalone/.next/static/chunks/{0fotmrplo6yc7.js → 07.5h~7~q9~1e.js} +1 -1
  320. package/.next/standalone/.next/static/chunks/071hdd91oy~.7.js +1 -0
  321. package/.next/standalone/.next/static/chunks/08e5.t4gotxaw.js +1 -0
  322. package/.next/standalone/.next/static/chunks/{0v6__.cfcitpl.js → 08qhrobub25u0.js} +1 -1
  323. package/.next/standalone/.next/static/chunks/08ttt2~ok56v6.js +1 -0
  324. package/.next/standalone/.next/static/chunks/{11wdicoufd516.js → 094_-.5.ue3p4.js} +1 -1
  325. package/.next/standalone/.next/static/chunks/09qd4fo1rz3it.js +1 -0
  326. package/.next/standalone/.next/static/chunks/09sf~1tyznv2b.js +1 -0
  327. package/.next/standalone/.next/static/chunks/09x4be2pfe6z0.js +1 -0
  328. package/.next/standalone/.next/static/chunks/0a7eicps6hbl6.js +1 -0
  329. package/.next/standalone/.next/static/chunks/{0i2uqmry6cyl_.js → 0c2_tqkbyti3h.js} +1 -1
  330. package/.next/standalone/.next/static/chunks/0di4o-khzv2gt.js +1 -0
  331. package/.next/standalone/.next/static/chunks/0e20ujygcf3hc.js +1 -0
  332. package/.next/standalone/.next/static/chunks/0e5t3kx~_brfk.js +1 -0
  333. package/.next/standalone/.next/static/chunks/0ebjicjua7yl-.js +1 -0
  334. package/.next/standalone/.next/static/chunks/0evu-825nnqef.js +1 -0
  335. package/.next/standalone/.next/static/chunks/0f.5lthmbt~yc.js +1 -0
  336. package/.next/standalone/.next/static/chunks/0gr4lznv-6qml.js +1 -0
  337. package/.next/standalone/.next/static/chunks/0hl3ccityypgx.js +1 -0
  338. package/.next/standalone/.next/static/chunks/0hzis~e79cnwi.js +1 -0
  339. package/.next/standalone/.next/static/chunks/0j.sfmmqj2xel.js +23 -0
  340. package/.next/standalone/.next/static/chunks/0jkvb4hgqlgxk.js +1 -0
  341. package/.next/standalone/.next/static/chunks/0k2_zze3o98ow.js +1 -0
  342. package/.next/standalone/.next/static/chunks/0kaufevqdhsld.js +1 -0
  343. package/.next/standalone/.next/static/chunks/0mvvym~9uf429.js +1 -0
  344. package/.next/standalone/.next/static/chunks/0n2k1al4sr_qq.css +1 -0
  345. package/.next/standalone/.next/static/chunks/0n4fv8.loh_0x.js +1 -0
  346. package/.next/standalone/.next/static/chunks/0nn618je7_7ec.js +16 -0
  347. package/.next/standalone/.next/static/chunks/{0pb15t~lqcp4y.js → 0oh5xnzizgxt1.js} +1 -1
  348. package/.next/standalone/.next/static/chunks/0po8l-8pns0vb.js +1 -0
  349. package/.next/standalone/.next/static/chunks/0pv9~yath4mjh.js +1 -0
  350. package/.next/standalone/.next/static/chunks/0q0yh17_ncipj.js +1 -0
  351. package/.next/standalone/.next/static/chunks/0q9nn4yuva4jl.js +1 -0
  352. package/.next/standalone/.next/static/chunks/0qkrdmhiv-0d3.js +1 -0
  353. package/.next/standalone/.next/static/chunks/{14xlpbx6dj_4i.js → 0r9z55-r31en8.js} +1 -1
  354. package/.next/standalone/.next/static/chunks/{0efkrks2gm27v.js → 0ra09kjja5rf..js} +1 -1
  355. package/.next/standalone/.next/static/chunks/0reai1zdu.khx.js +1 -0
  356. package/.next/standalone/.next/static/chunks/0sc7tkg1gojr..js +1 -0
  357. package/.next/standalone/.next/static/chunks/0szl_dovu0hgw.js +1 -0
  358. package/.next/standalone/.next/static/chunks/{0axhnd2vw3m5e.js → 0t-o-jwf0~-b5.js} +1 -1
  359. package/.next/standalone/.next/static/chunks/{0ml5~2ty-rbv_.js → 0t5w4x7owhfbe.js} +1 -1
  360. package/.next/standalone/.next/static/chunks/{02mfn213kze9c.js → 0te1jnz5.rt.r.js} +3 -3
  361. package/.next/standalone/.next/static/chunks/{0jxk8j~j30thp.js → 0u9yrtrs1bktp.js} +1 -1
  362. package/.next/standalone/.next/static/chunks/0uhkmh73bi.8w.js +1 -0
  363. package/.next/standalone/.next/static/chunks/0v6zafwjb5kk6.js +1 -0
  364. package/.next/standalone/.next/static/chunks/0vvqh.pfm9jum.js +1 -0
  365. package/.next/standalone/.next/static/chunks/0w6_q_4rzxy6l.js +1 -0
  366. package/.next/standalone/.next/static/chunks/0wjrfyntnywn5.js +1 -0
  367. package/.next/standalone/.next/static/chunks/0wvu-lowt9uem.js +1 -0
  368. package/.next/standalone/.next/static/chunks/0x.dxrfqc.ix9.js +16 -0
  369. package/.next/standalone/.next/static/chunks/0xvbx6ob2wnco.js +1 -0
  370. package/.next/standalone/.next/static/chunks/0yd3l8p2m9-c_.js +1 -0
  371. package/.next/standalone/.next/static/chunks/0ynitrrzdxcnh.js +15 -0
  372. package/.next/standalone/.next/static/chunks/0z_~g~mb.kjs1.js +1 -0
  373. package/.next/standalone/.next/static/chunks/0~nexgc77r_hk.js +23 -0
  374. package/.next/standalone/.next/static/chunks/{0afll97o4hu39.js → 0~ts_4hi7.u_0.js} +1 -1
  375. package/.next/standalone/.next/static/chunks/105sb_yg7fcpu.js +1 -0
  376. package/.next/standalone/.next/static/chunks/107edt81z_gzy.css +3 -0
  377. package/.next/standalone/.next/static/chunks/{0a0wcelktujjt.js → 119t_hwpxj_ko.js} +1 -1
  378. package/.next/standalone/.next/static/chunks/{128d.rbx4e4rt.js → 121i8u8byuotx.js} +1 -1
  379. package/.next/standalone/.next/static/chunks/13_l03e3sab-g.js +1 -0
  380. package/.next/standalone/.next/static/chunks/13~.y-z7wud.h.js +1 -0
  381. package/.next/standalone/.next/static/chunks/140j4evqxtxmn.js +1 -0
  382. package/.next/standalone/.next/static/chunks/142km8a40ar5o.js +1 -0
  383. package/.next/standalone/.next/static/chunks/149sb_-h03mxq.js +1 -0
  384. package/.next/standalone/.next/static/chunks/156~ejmpjxu8e.js +1 -0
  385. package/.next/standalone/.next/static/chunks/169ui~u~dpalg.js +1 -0
  386. package/.next/standalone/.next/static/chunks/16bag6z7n~ffw.js +1 -0
  387. package/.next/standalone/.next/static/chunks/171_ek.xwzobw.js +1 -0
  388. package/.next/standalone/.next/static/chunks/179zldqdb4pm2.js +1 -0
  389. package/.next/standalone/.next/static/chunks/{turbopack-0hwi_g-tegs_u.js → turbopack-0d-xk62f1t05v.js} +1 -1
  390. package/.next/standalone/.next/static/chunks/{turbopack-0yi-pm9y8p4fu.js → turbopack-0nn9kx.dkgwqs.js} +1 -1
  391. package/.next/standalone/.next/static/chunks/turbopack-0rb3q18bhb2hu.js +1 -0
  392. package/.next/standalone/.next/static/chunks/turbopack-0zcblahe.hdqd.js +1 -0
  393. package/.next/standalone/.next/static/chunks/{turbopack-06kgnfn.-xny..js → turbopack-0~wmco6ifn20m.js} +1 -1
  394. package/.next/standalone/.next/static/chunks/{turbopack-104j33xbofdmk.js → turbopack-1469mxaruw82d.js} +1 -1
  395. package/.next/standalone/.next/static/chunks/{turbopack-08ayk-1mt1q-w.js → turbopack-15bv~a4hbvh29.js} +1 -1
  396. package/.next/standalone/messages/de/diff.json +26 -1
  397. package/.next/standalone/messages/de/settings.json +3 -1
  398. package/.next/standalone/messages/de/sidebar.json +10 -1
  399. package/.next/standalone/messages/de/workspace.json +2 -0
  400. package/.next/standalone/messages/en/diff.json +26 -1
  401. package/.next/standalone/messages/en/settings.json +3 -1
  402. package/.next/standalone/messages/en/sidebar.json +10 -1
  403. package/.next/standalone/messages/en/workspace.json +2 -0
  404. package/.next/standalone/messages/es/diff.json +26 -1
  405. package/.next/standalone/messages/es/settings.json +3 -1
  406. package/.next/standalone/messages/es/sidebar.json +10 -1
  407. package/.next/standalone/messages/es/workspace.json +2 -0
  408. package/.next/standalone/messages/fr/diff.json +26 -1
  409. package/.next/standalone/messages/fr/settings.json +3 -1
  410. package/.next/standalone/messages/fr/sidebar.json +10 -1
  411. package/.next/standalone/messages/fr/workspace.json +2 -0
  412. package/.next/standalone/messages/ja/diff.json +26 -1
  413. package/.next/standalone/messages/ja/settings.json +3 -1
  414. package/.next/standalone/messages/ja/sidebar.json +10 -1
  415. package/.next/standalone/messages/ja/workspace.json +2 -0
  416. package/.next/standalone/messages/ko/diff.json +26 -1
  417. package/.next/standalone/messages/ko/settings.json +3 -1
  418. package/.next/standalone/messages/ko/sidebar.json +10 -1
  419. package/.next/standalone/messages/ko/workspace.json +2 -0
  420. package/.next/standalone/messages/pt-BR/diff.json +26 -1
  421. package/.next/standalone/messages/pt-BR/settings.json +3 -1
  422. package/.next/standalone/messages/pt-BR/sidebar.json +10 -1
  423. package/.next/standalone/messages/pt-BR/workspace.json +2 -0
  424. package/.next/standalone/messages/ru/diff.json +26 -1
  425. package/.next/standalone/messages/ru/settings.json +3 -1
  426. package/.next/standalone/messages/ru/sidebar.json +10 -1
  427. package/.next/standalone/messages/ru/workspace.json +2 -0
  428. package/.next/standalone/messages/tr/diff.json +26 -1
  429. package/.next/standalone/messages/tr/settings.json +3 -1
  430. package/.next/standalone/messages/tr/sidebar.json +10 -1
  431. package/.next/standalone/messages/tr/workspace.json +2 -0
  432. package/.next/standalone/messages/zh-CN/diff.json +26 -1
  433. package/.next/standalone/messages/zh-CN/settings.json +3 -1
  434. package/.next/standalone/messages/zh-CN/sidebar.json +10 -1
  435. package/.next/standalone/messages/zh-CN/workspace.json +2 -0
  436. package/.next/standalone/messages/zh-TW/diff.json +26 -1
  437. package/.next/standalone/messages/zh-TW/settings.json +3 -1
  438. package/.next/standalone/messages/zh-TW/sidebar.json +10 -1
  439. package/.next/standalone/messages/zh-TW/workspace.json +2 -0
  440. package/.next/standalone/package.json +4 -3
  441. package/.next/standalone/server.js +1 -1
  442. package/.next/standalone/src/pages/api/layout/commit-diff.ts +94 -0
  443. package/.next/standalone/src/pages/api/layout/cwd.ts +38 -0
  444. package/.next/standalone/src/pages/api/layout/diff.ts +196 -0
  445. package/.next/standalone/src/pages/api/layout/file-content.ts +130 -0
  446. package/.next/standalone/src/pages/api/layout/git-log.ts +55 -0
  447. package/.next/standalone/src/pages/api/layout/index.ts +38 -0
  448. package/.next/standalone/src/pages/api/layout/pane/[paneId]/index.ts +38 -0
  449. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/index.ts +94 -0
  450. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.ts +31 -0
  451. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +66 -0
  452. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/order.ts +30 -0
  453. package/.next/standalone/src/pages/api/layout/pane/index.ts +38 -0
  454. package/dist/server.js +326 -12
  455. package/package.json +4 -3
  456. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n61.a8._.js +0 -30
  457. package/.next/standalone/.next/server/chunks/_04pfden._.js +0 -3
  458. package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +0 -3
  459. package/.next/standalone/.next/server/chunks/_0isokfh._.js +0 -3
  460. package/.next/standalone/.next/server/chunks/_0j2u-od._.js +0 -3
  461. package/.next/standalone/.next/server/chunks/_0t8j4qd._.js +0 -3
  462. package/.next/standalone/.next/server/chunks/_0uxocm.._.js +0 -3
  463. package/.next/standalone/.next/server/chunks/_0xd1ivw._.js +0 -3
  464. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07i-oza._.js +0 -3
  465. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0au.ssp._.js +0 -3
  466. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c0bz7t._.js +0 -3
  467. package/.next/standalone/.next/server/chunks/ssr/_0-67bvb._.js +0 -3
  468. package/.next/standalone/.next/server/chunks/ssr/_02nf4d7._.js +0 -3
  469. package/.next/standalone/.next/server/chunks/ssr/_05dcjwi._.js +0 -3
  470. package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +0 -3
  471. package/.next/standalone/.next/server/chunks/ssr/_0_owbnq._.js +0 -3
  472. package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +0 -3
  473. package/.next/standalone/.next/server/chunks/ssr/_0dg4_bi._.js +0 -3
  474. package/.next/standalone/.next/server/chunks/ssr/_0gp1meg._.js +0 -3
  475. package/.next/standalone/.next/server/chunks/ssr/_0hqzsa8._.js +0 -3
  476. package/.next/standalone/.next/server/chunks/ssr/_0iy5a-w._.js +0 -7
  477. package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +0 -3
  478. package/.next/standalone/.next/server/chunks/ssr/_0ob2rr-._.js +0 -3
  479. package/.next/standalone/.next/server/chunks/ssr/_0qbbxeq._.js +0 -7
  480. package/.next/standalone/.next/server/chunks/ssr/_0ulmx3c._.js +0 -3
  481. package/.next/standalone/.next/server/chunks/ssr/_0wlh.pc._.js +0 -3
  482. package/.next/standalone/.next/server/chunks/ssr/_0~.theb._.js +0 -3
  483. package/.next/standalone/.next/server/chunks/ssr/_11rnj4l._.js +0 -3
  484. package/.next/standalone/.next/server/chunks/ssr/_124p60s._.js +0 -3
  485. package/.next/standalone/.next/server/chunks/ssr/node_modules_0kc8lix._.js +0 -3
  486. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_03v8q-a._.js +0 -3
  487. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_0wddb~n._.js +0 -3
  488. package/.next/standalone/.next/server/chunks/ssr/node_modules_highlight_js_lib_core_0h1yngz.js +0 -3
  489. package/.next/standalone/.next/server/chunks/ssr/src_lib_message-namespaces_ts_0wjpvu5._.js +0 -3
  490. package/.next/standalone/.next/static/chunks/0-8-cf3vuob~..js +0 -1
  491. package/.next/standalone/.next/static/chunks/0-97ruc25d2lz.js +0 -1
  492. package/.next/standalone/.next/static/chunks/0-xrsiia9hc.c.js +0 -1
  493. package/.next/standalone/.next/static/chunks/00g7isu_5s43..js +0 -1
  494. package/.next/standalone/.next/static/chunks/00nx1s6rpu537.js +0 -1
  495. package/.next/standalone/.next/static/chunks/00s-0sui~_24w.js +0 -1
  496. package/.next/standalone/.next/static/chunks/01-fb9rb-21.a.js +0 -1
  497. package/.next/standalone/.next/static/chunks/02dumv8n.ewiw.js +0 -1
  498. package/.next/standalone/.next/static/chunks/02r-a1_lz7fuk.js +0 -1
  499. package/.next/standalone/.next/static/chunks/03eaekq6omt65.js +0 -1
  500. package/.next/standalone/.next/static/chunks/04~p~.qz9diil.js +0 -1
  501. package/.next/standalone/.next/static/chunks/05_e09pgcymkh.js +0 -1
  502. package/.next/standalone/.next/static/chunks/05i5jeaz~7tg6.js +0 -1
  503. package/.next/standalone/.next/static/chunks/05y90.zbqijkv.js +0 -1
  504. package/.next/standalone/.next/static/chunks/06e51nokt~dtt.js +0 -1
  505. package/.next/standalone/.next/static/chunks/07-xm--o034du.js +0 -1
  506. package/.next/standalone/.next/static/chunks/072ccw0gkueqq.js +0 -1
  507. package/.next/standalone/.next/static/chunks/07i6~xrmgspp8.js +0 -1
  508. package/.next/standalone/.next/static/chunks/07rq~qv9ldwo~.js +0 -1
  509. package/.next/standalone/.next/static/chunks/08ip~fc41h84_.js +0 -24
  510. package/.next/standalone/.next/static/chunks/08vvx8xtxwt5o.js +0 -1
  511. package/.next/standalone/.next/static/chunks/09agwg~-xbxbs.js +0 -1
  512. package/.next/standalone/.next/static/chunks/0a1hi9y0lwv3j.js +0 -1
  513. package/.next/standalone/.next/static/chunks/0aizxgkga9-f..js +0 -5
  514. package/.next/standalone/.next/static/chunks/0ajkjqq1xc_.a.js +0 -1
  515. package/.next/standalone/.next/static/chunks/0chjvj73yfmoj.js +0 -1
  516. package/.next/standalone/.next/static/chunks/0d4vi6-ju6lha.js +0 -1
  517. package/.next/standalone/.next/static/chunks/0daflfjkvkh-d.js +0 -1
  518. package/.next/standalone/.next/static/chunks/0dl23f6c62aoa.js +0 -23
  519. package/.next/standalone/.next/static/chunks/0dqb3atw-kpb2.js +0 -1
  520. package/.next/standalone/.next/static/chunks/0fuay9akccsr9.js +0 -1
  521. package/.next/standalone/.next/static/chunks/0fwnzw~qq_abm.js +0 -1
  522. package/.next/standalone/.next/static/chunks/0h-7ntqpip4oi.js +0 -1
  523. package/.next/standalone/.next/static/chunks/0idah_uu8ylro.js +0 -1
  524. package/.next/standalone/.next/static/chunks/0ilhql60o6txw.js +0 -23
  525. package/.next/standalone/.next/static/chunks/0iw7xjsfo1v-u.js +0 -16
  526. package/.next/standalone/.next/static/chunks/0jj7ska-q4zmb.js +0 -1
  527. package/.next/standalone/.next/static/chunks/0k50-hp08.xtp.js +0 -1
  528. package/.next/standalone/.next/static/chunks/0n1xl_9xb64~a.js +0 -1
  529. package/.next/standalone/.next/static/chunks/0nh~2y4pr-6b-.js +0 -1
  530. package/.next/standalone/.next/static/chunks/0nyar-7g9rya6.js +0 -1
  531. package/.next/standalone/.next/static/chunks/0o_yi7-4-ckig.js +0 -1
  532. package/.next/standalone/.next/static/chunks/0otoymu09sgml.js +0 -1
  533. package/.next/standalone/.next/static/chunks/0oxlivdn8c89b.js +0 -1
  534. package/.next/standalone/.next/static/chunks/0plurywt71.qj.js +0 -1
  535. package/.next/standalone/.next/static/chunks/0r7uk81oh650e.js +0 -1
  536. package/.next/standalone/.next/static/chunks/0ro78lxc~ndn_.js +0 -1
  537. package/.next/standalone/.next/static/chunks/0t_38o03_pjwq.js +0 -1
  538. package/.next/standalone/.next/static/chunks/0tq53zgriddtp.js +0 -1
  539. package/.next/standalone/.next/static/chunks/0u9~wuf2zbs5z.js +0 -1
  540. package/.next/standalone/.next/static/chunks/0vmc7tq7ze-wk.js +0 -1
  541. package/.next/standalone/.next/static/chunks/0wlz6--vu7adu.js +0 -1
  542. package/.next/standalone/.next/static/chunks/0wp13r5su.j3e.js +0 -1
  543. package/.next/standalone/.next/static/chunks/0wx.aq674yk~q.js +0 -1
  544. package/.next/standalone/.next/static/chunks/0xas4ca5n6mzi.js +0 -1
  545. package/.next/standalone/.next/static/chunks/0xmalbon9eqvg.js +0 -1
  546. package/.next/standalone/.next/static/chunks/0y1_gk64rkp0g.js +0 -1
  547. package/.next/standalone/.next/static/chunks/0z3gpm0o.mwwy.css +0 -3
  548. package/.next/standalone/.next/static/chunks/0zz.9uk42mbks.js +0 -1
  549. package/.next/standalone/.next/static/chunks/0~ku-hjx17-lg.js +0 -5
  550. package/.next/standalone/.next/static/chunks/0~nlz9.lltzrz.js +0 -1
  551. package/.next/standalone/.next/static/chunks/10bvbbw1062os.js +0 -1
  552. package/.next/standalone/.next/static/chunks/10r8rypk5fanv.js +0 -1
  553. package/.next/standalone/.next/static/chunks/10wa7lt~l.b6d.js +0 -1
  554. package/.next/standalone/.next/static/chunks/11gch78bg_qsn.js +0 -1
  555. package/.next/standalone/.next/static/chunks/11nk1lwom62oe.js +0 -1
  556. package/.next/standalone/.next/static/chunks/131tx--pi8.tm.js +0 -1
  557. package/.next/standalone/.next/static/chunks/13nitezuv6q6x.js +0 -1
  558. package/.next/standalone/.next/static/chunks/13zzmkwag6vsm.css +0 -1
  559. package/.next/standalone/.next/static/chunks/13~7v30_nnqks.js +0 -1
  560. package/.next/standalone/.next/static/chunks/14bh~6-ggh.16.js +0 -23
  561. package/.next/standalone/.next/static/chunks/15hinpm-o8x5a.js +0 -12
  562. package/.next/standalone/.next/static/chunks/16dbi-ty-ptnr.js +0 -1
  563. package/.next/standalone/.next/static/chunks/17jcucuef_33-.js +0 -1
  564. package/.next/standalone/.next/static/chunks/186b1th1fl440.js +0 -1
  565. package/.next/standalone/.next/static/chunks/18d9u7jni2vco.js +0 -1
  566. package/.next/standalone/.next/static/chunks/turbopack-0950wwl2vzfu8.js +0 -1
  567. package/.next/standalone/.next/static/chunks/turbopack-0np.oib7-.1fp.js +0 -1
  568. /package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → X7BRO7ORR4bKFt1LXzGU8}/_clientMiddlewareManifest.js +0 -0
  569. /package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → X7BRO7ORR4bKFt1LXzGU8}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
1
  module.exports=[522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},871911,e=>{"use strict";var t=e.i(254799),r=e.i(522734),a=e.i(814747),i=e.i(446786);let n=a.default.join(i.default.homedir(),".purplemux","cli-token"),s=globalThis;e.s(["verifyCliToken",0,e=>{let i=e.headers["x-pmux-token"];var o="string"==typeof i?i:void 0;if(!o)return!1;let l=(()=>{if(s.__ptCliToken)return s.__ptCliToken;let e=(()=>{try{return r.default.readFileSync(n,"utf-8").trim()||null}catch{return null}})();if(e)return s.__ptCliToken=e,e;let i=(0,t.randomBytes)(32).toString("hex");s.__ptCliToken=i;try{r.default.mkdirSync(a.default.dirname(n),{recursive:!0}),r.default.writeFileSync(n,i,{mode:384})}catch{}return i})();return o.length===l.length&&(0,t.timingSafeEqual)(Buffer.from(o),Buffer.from(l))}])},200523,e=>{"use strict";var t=e.i(825265),r=e.i(804767),a=e.i(322429);let i=async(e,i)=>{if(!await (0,a.getWorkspaceById)(e))return null;let n=await (0,t.getLayout)(e);for(let t of(0,r.collectPanes)(n.root)){let r=t.tabs.find(e=>e.id===i);if(r)return{workspaceId:e,paneId:t.id,tab:r}}return null},n=async e=>{let a=await (0,t.getLayout)(e);return(0,r.getFirstPaneId)(a.root)||null};e.s(["findTab",0,i,"resolveFirstPaneId",0,n])},802873,e=>{"use strict";var t=e.i(926747),r=e.i(190406),a=e.i(244898),i=e.i(262950),n=e.i(871911),s=e.i(200523),o=e.i(459015);let l=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"Method not allowed"});if(!(0,n.verifyCliToken)(e))return t.status(403).json({error:"Forbidden"});let r=e.query.tabId,a="string"==typeof e.query.workspaceId?e.query.workspaceId:void 0;if(!a)return t.status(400).json({error:"workspaceId is required"});let{content:i}=e.body;if(!i)return t.status(400).json({error:"content is required"});let l=await (0,s.findTab)(a,r);return l?await (0,o.hasSession)(l.tab.sessionName)?(await (0,o.sendBracketedPaste)(l.tab.sessionName,i),t.status(200).json({status:"sent"})):t.status(409).json({error:"Tab session is not running"}):t.status(404).json({error:"Tab not found"})};e.s(["default",0,l],197672);var u=e.i(197672),d=e.i(7031),p=e.i(181927),c=e.i(846432);let f=(0,i.hoist)(u,"default"),v=(0,i.hoist)(u,"config"),h=new a.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/cli/tabs/[tabId]/send",pathname:"/api/cli/tabs/[tabId]/send",bundlePath:"",filename:""},userland:u,distDir:".next",relativeProjectDir:""});async function m(e,r,a){a.requestMeta&&(0,c.setRequestMeta)(e,a.requestMeta),h.isDev&&(0,c.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/cli/tabs/[tabId]/send";i=i.replace(/\/index$/,"")||"/";let n=await h.prepare(e,r,{srcPage:i});if(!n){r.statusCode=400,r.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:l,routerServerContext:u}=n;try{let t,a=e.method||"GET",n=(0,d.getTracer)(),c=n.getActiveScopeSpan(),f=!!(null==u?void 0:u.isWrappedByNextServer),v=h.instrumentationOnRequestError.bind(h),m=async d=>h.render(e,r,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:h.isDev,page:"/api/cli/tabs/[tabId]/send",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>v(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${a} ${s}`;d.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",s),t.updateName(e))}else d.updateName(`${a} ${i}`)});f&&c?await m(c):(t=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(p.BaseServerSpan.handleRequest,{spanName:`${a} ${i}`,kind:d.SpanKind.SERVER,attributes:{"http.method":a,"http.target":e.url}},m),void 0,!f))}catch(e){if(h.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,v,"default",0,f,"handler",0,m],802873)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_tab-title_ts_0onatvs._.js"].map(t=>e.l(t))).then(()=>t(785128)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__045g9-a._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0lk7ru8._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},130146,(e,t,r)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),s=e.i(446786);let o=r.default.join(s.default.homedir(),".purplemux","logs"),i=process.env.LOG_LEVEL||"info",a=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,s]=r.split("=").map(e=>e.trim());e&&s&&(t[e]=s)}return t})(process.env.LOG_LEVELS),n=["trace","debug","info","warn","error","fatal"],l=globalThis;if(!l.__ptRootLogger){let e=[i,...Object.values(a)].reduce((e,t)=>n.indexOf(t)<n.indexOf(e)?t:e,"fatal");l.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(o,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let u=l.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=a[e]??i,t}])},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let r=globalThis;r.__ptSyncClients||(r.__ptSyncClients=new Set);let s=r.__ptSyncClients;e.s(["broadcastSync",0,e=>{let r=JSON.stringify(e);for(let e of s)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(r)}])},845994,e=>{"use strict";var t=e.i(924868),r=e.i(814747),s=e.i(446786),o=e.i(254799),i=e.i(666126);(0,e.i(25146).createLogger)("config");let a=r.default.join(s.default.homedir(),".purplemux"),n=r.default.join(a,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,r=new Promise(e=>{t=e}),s=l.__ptConfigLock;l.__ptConfigLock=r,await s;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),p=async()=>{try{let e=await t.default.readFile(n,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:r,...s}=e,o=JSON.stringify(s);if(l.__ptConfigContentCache===o)return;e.updatedAt=new Date().toISOString();let a=n+".tmp";try{await t.default.writeFile(a,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(a,n)}catch(e){throw await t.default.unlink(a).catch(()=>{}),e}l.__ptConfigContentCache=o,(0,i.broadcastSync)({type:"config"})},f="scrypt:",g=e=>"string"==typeof e&&e.startsWith(f),m=async e=>{let t=o.default.randomBytes(16),r=await new Promise((r,s)=>{o.default.scrypt(e,t,64,(e,t)=>{e?s(e):r(t)})});return`${f}${t.toString("hex")}:${r.toString("hex")}`},h=async(e,t)=>{if(!g(t))return!1;let[,r,s]=t.split(":"),i=Buffer.from(r,"hex"),a=Buffer.from(s,"hex"),n=await new Promise((t,r)=>{o.default.scrypt(e,i,a.length,(e,s)=>{e?r(e):t(s)})});return o.default.timingSafeEqual(n,a)},y=async()=>await p()??d(),w=async e=>u(async()=>{let t=await p()??d();Object.assign(t,e),await c(t)}),x=async()=>{let e=await p();return!g(e?.authPassword)},S=async()=>{let e=await p();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>o.default.randomBytes(32).toString("hex"),"getConfig",0,y,"getDangerouslySkipPermissions",0,S,"hashPassword",0,m,"needsSetup",0,x,"updateConfig",0,w,"verifyPassword",0,h])},716018,e=>{"use strict";e.i(446786);e.s(["isBoundToLocalhostOnly",0,()=>"127.0.0.1"===(process.env.__PMUX_BOUND_HOST??"0.0.0.0"),"updateAccessFromConfig",0,e=>{process.env.HOST?.trim()||(process.env.__PMUX_NETWORK_ACCESS=e)}],716018)},671207,e=>{"use strict";var t=e.i(926747),r=e.i(190406),s=e.i(244898),o=e.i(262950),i=e.i(845994),a=e.i(716018);let n=["code-server","vscode","vscode-insiders","cursor","windsurf","zed","custom","off"],l=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"],u=e=>"string"==typeof e&&l.includes(e),d=["appTheme","terminalTheme","customCSS","dangerouslySkipPermissions","editorUrl","editorPreset","authPassword","notificationsEnabled","toastOnCompleteEnabled","toastDuration","toastPositionDesktop","toastPositionMobile","locale","fontSize","systemResourcesEnabled","networkAccess"],p=["localhost","tailscale","all"],c=async(e,t)=>{if("GET"===e.method){let{authPassword:e,authSecret:r,...s}=await (0,i.getConfig)(),o="string"==typeof process.env.HOST&&process.env.HOST.trim().length>0;return t.status(200).json({...s,hasAuthPassword:!!e,hostEnvLocked:o,bindHostIsLocal:(0,a.isBoundToLocalhostOnly)()})}if("PATCH"===e.method){let r,s,o,l=e.body??{},c={};for(let e of d)e in l&&(c[e]=l[e]);if("editorUrl"in c&&"string"!=typeof c.editorUrl)return t.status(400).json({error:"editorUrl must be a string."});if("editorPreset"in c&&!("string"==typeof(r=c.editorPreset)&&n.includes(r)))return t.status(400).json({error:"editorPreset is invalid."});if("networkAccess"in c&&!("string"==typeof(s=c.networkAccess)&&p.includes(s)))return t.status(400).json({error:"networkAccess must be one of: localhost, tailscale, all."});if("toastPositionDesktop"in c&&!u(c.toastPositionDesktop))return t.status(400).json({error:"toastPositionDesktop is invalid."});if("toastPositionMobile"in c&&!u(c.toastPositionMobile))return t.status(400).json({error:"toastPositionMobile is invalid."});if("toastDuration"in c&&!("number"==typeof(o=c.toastDuration)&&Number.isFinite(o)&&o>=1e3&&o<=6e4))return t.status(400).json({error:"toastDuration must be a number between 1000 and 60000."});if("string"==typeof c.authPassword&&c.authPassword){let e=await (0,i.hashPassword)(c.authPassword),t=(0,i.generateSecret)();c.authPassword=e,c.authSecret=t,await (0,i.updateConfig)(c),process.env.AUTH_PASSWORD=e,process.env.NEXTAUTH_SECRET=t}else delete c.authPassword,await (0,i.updateConfig)(c);return"networkAccess"in c&&(0,a.updateAccessFromConfig)(c.networkAccess),t.status(200).json({ok:!0})}return t.setHeader("Allow","GET, PATCH"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,c],183329);var f=e.i(183329),g=e.i(7031),m=e.i(181927),h=e.i(846432);let y=(0,o.hoist)(f,"default"),w=(0,o.hoist)(f,"config"),x=new s.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/config",pathname:"/api/config",bundlePath:"",filename:""},userland:f,distDir:".next",relativeProjectDir:""});async function S(e,r,s){s.requestMeta&&(0,h.setRequestMeta)(e,s.requestMeta),x.isDev&&(0,h.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/config";o=o.replace(/\/index$/,"")||"/";let i=await x.prepare(e,r,{srcPage:o});if(!i){r.statusCode=400,r.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve());return}let{query:a,params:n,prerenderManifest:l,routerServerContext:u}=i;try{let t,s=e.method||"GET",i=(0,g.getTracer)(),d=i.getActiveScopeSpan(),p=!!(null==u?void 0:u.isWrappedByNextServer),c=x.instrumentationOnRequestError.bind(x),f=async d=>x.render(e,r,{query:{...a,...n},params:n,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:x.isDev,page:"/api/config",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>c(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=e.get("next.route");if(a){let e=`${s} ${a}`;d.setAttributes({"next.route":a,"http.route":a,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",a),t.updateName(e))}else d.updateName(`${s} ${o}`)});p&&d?await f(d):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(m.BaseServerSpan.handleRequest,{spanName:`${s} ${o}`,kind:g.SpanKind.SERVER,attributes:{"http.method":s,"http.target":e.url}},f),void 0,!p))}catch(e){if(x.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==s.waitUntil||s.waitUntil.call(s,Promise.resolve())}}e.s(["config",0,w,"default",0,y,"handler",0,S],671207)}];
1
+ module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},130146,(e,t,r)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),s=e.i(446786);let o=r.default.join(s.default.homedir(),".purplemux","logs"),i=process.env.LOG_LEVEL||"info",a=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,s]=r.split("=").map(e=>e.trim());e&&s&&(t[e]=s)}return t})(process.env.LOG_LEVELS),n=["trace","debug","info","warn","error","fatal"],l=globalThis;if(!l.__ptRootLogger){let e=[i,...Object.values(a)].reduce((e,t)=>n.indexOf(t)<n.indexOf(e)?t:e,"fatal");l.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(o,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let u=l.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=a[e]??i,t}])},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let r=globalThis;r.__ptSyncClients||(r.__ptSyncClients=new Set);let s=r.__ptSyncClients;e.s(["broadcastSync",0,e=>{let r=JSON.stringify(e);for(let e of s)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(r)}])},845994,e=>{"use strict";var t=e.i(924868),r=e.i(814747),s=e.i(446786),o=e.i(254799),i=e.i(666126);(0,e.i(25146).createLogger)("config");let a=r.default.join(s.default.homedir(),".purplemux"),n=r.default.join(a,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,r=new Promise(e=>{t=e}),s=l.__ptConfigLock;l.__ptConfigLock=r,await s;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),p=async()=>{try{let e=await t.default.readFile(n,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:r,...s}=e,o=JSON.stringify(s);if(l.__ptConfigContentCache===o)return;e.updatedAt=new Date().toISOString();let a=n+".tmp";try{await t.default.writeFile(a,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(a,n)}catch(e){throw await t.default.unlink(a).catch(()=>{}),e}l.__ptConfigContentCache=o,(0,i.broadcastSync)({type:"config"})},f="scrypt:",g=e=>"string"==typeof e&&e.startsWith(f),m=async e=>{let t=o.default.randomBytes(16),r=await new Promise((r,s)=>{o.default.scrypt(e,t,64,(e,t)=>{e?s(e):r(t)})});return`${f}${t.toString("hex")}:${r.toString("hex")}`},h=async(e,t)=>{if(!g(t))return!1;let[,r,s]=t.split(":"),i=Buffer.from(r,"hex"),a=Buffer.from(s,"hex"),n=await new Promise((t,r)=>{o.default.scrypt(e,i,a.length,(e,s)=>{e?r(e):t(s)})});return o.default.timingSafeEqual(n,a)},y=async()=>await p()??d(),w=async e=>u(async()=>{let t=await p()??d();Object.assign(t,e),await c(t)}),x=async()=>{let e=await p();return!g(e?.authPassword)},S=async()=>{let e=await p();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>o.default.randomBytes(32).toString("hex"),"getConfig",0,y,"getDangerouslySkipPermissions",0,S,"hashPassword",0,m,"needsSetup",0,x,"updateConfig",0,w,"verifyPassword",0,h])},716018,e=>{"use strict";e.i(446786);e.s(["isBoundToLocalhostOnly",0,()=>"127.0.0.1"===(process.env.__PMUX_BOUND_HOST??"0.0.0.0"),"updateAccessFromConfig",0,e=>{process.env.HOST?.trim()||(process.env.__PMUX_NETWORK_ACCESS=e)}],716018)},671207,e=>{"use strict";var t=e.i(926747),r=e.i(190406),s=e.i(244898),o=e.i(262950),i=e.i(845994),a=e.i(716018);let n=["code-server","vscode","vscode-insiders","cursor","windsurf","zed","custom","off"],l=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"],u=e=>"string"==typeof e&&l.includes(e),d=["appTheme","terminalTheme","customCSS","dangerouslySkipPermissions","claudeShowTerminal","editorUrl","editorPreset","authPassword","notificationsEnabled","toastOnCompleteEnabled","toastDuration","toastPositionDesktop","toastPositionMobile","locale","fontSize","systemResourcesEnabled","networkAccess"],p=["localhost","tailscale","all"],c=async(e,t)=>{if("GET"===e.method){let{authPassword:e,authSecret:r,...s}=await (0,i.getConfig)(),o="string"==typeof process.env.HOST&&process.env.HOST.trim().length>0;return t.status(200).json({...s,hasAuthPassword:!!e,hostEnvLocked:o,bindHostIsLocal:(0,a.isBoundToLocalhostOnly)()})}if("PATCH"===e.method){let r,s,o,l=e.body??{},c={};for(let e of d)e in l&&(c[e]=l[e]);if("editorUrl"in c&&"string"!=typeof c.editorUrl)return t.status(400).json({error:"editorUrl must be a string."});if("editorPreset"in c&&!("string"==typeof(r=c.editorPreset)&&n.includes(r)))return t.status(400).json({error:"editorPreset is invalid."});if("networkAccess"in c&&!("string"==typeof(s=c.networkAccess)&&p.includes(s)))return t.status(400).json({error:"networkAccess must be one of: localhost, tailscale, all."});if("toastPositionDesktop"in c&&!u(c.toastPositionDesktop))return t.status(400).json({error:"toastPositionDesktop is invalid."});if("toastPositionMobile"in c&&!u(c.toastPositionMobile))return t.status(400).json({error:"toastPositionMobile is invalid."});if("toastDuration"in c&&!("number"==typeof(o=c.toastDuration)&&Number.isFinite(o)&&o>=1e3&&o<=6e4))return t.status(400).json({error:"toastDuration must be a number between 1000 and 60000."});if("string"==typeof c.authPassword&&c.authPassword){let e=await (0,i.hashPassword)(c.authPassword),t=(0,i.generateSecret)();c.authPassword=e,c.authSecret=t,await (0,i.updateConfig)(c),process.env.AUTH_PASSWORD=e,process.env.NEXTAUTH_SECRET=t}else delete c.authPassword,await (0,i.updateConfig)(c);return"networkAccess"in c&&(0,a.updateAccessFromConfig)(c.networkAccess),t.status(200).json({ok:!0})}return t.setHeader("Allow","GET, PATCH"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,c],183329);var f=e.i(183329),g=e.i(7031),m=e.i(181927),h=e.i(846432);let y=(0,o.hoist)(f,"default"),w=(0,o.hoist)(f,"config"),x=new s.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/config",pathname:"/api/config",bundlePath:"",filename:""},userland:f,distDir:".next",relativeProjectDir:""});async function S(e,r,s){s.requestMeta&&(0,h.setRequestMeta)(e,s.requestMeta),x.isDev&&(0,h.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/config";o=o.replace(/\/index$/,"")||"/";let i=await x.prepare(e,r,{srcPage:o});if(!i){r.statusCode=400,r.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve());return}let{query:a,params:n,prerenderManifest:l,routerServerContext:u}=i;try{let t,s=e.method||"GET",i=(0,g.getTracer)(),d=i.getActiveScopeSpan(),p=!!(null==u?void 0:u.isWrappedByNextServer),c=x.instrumentationOnRequestError.bind(x),f=async d=>x.render(e,r,{query:{...a,...n},params:n,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:x.isDev,page:"/api/config",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>c(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=e.get("next.route");if(a){let e=`${s} ${a}`;d.setAttributes({"next.route":a,"http.route":a,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",a),t.updateName(e))}else d.updateName(`${s} ${o}`)});p&&d?await f(d):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(m.BaseServerSpan.handleRequest,{spanName:`${s} ${o}`,kind:g.SpanKind.SERVER,attributes:{"http.method":s,"http.target":e.url}},f),void 0,!p))}catch(e){if(x.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==s.waitUntil||s.waitUntil.call(s,Promise.resolve())}}e.s(["config",0,w,"default",0,y,"handler",0,S],671207)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0l~_wd0._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[130146,(e,t,r)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},524836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),i=e.i(446786);let a=r.default.join(i.default.homedir(),".purplemux","logs"),s=process.env.LOG_LEVEL||"info",o=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,i]=r.split("=").map(e=>e.trim());e&&i&&(t[e]=i)}return t})(process.env.LOG_LEVELS),l=["trace","debug","info","warn","error","fatal"],n=globalThis;if(!n.__ptRootLogger){let e=[s,...Object.values(o)].reduce((e,t)=>l.indexOf(t)<l.indexOf(e)?t:e,"fatal");n.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(a,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let p=n.__ptRootLogger;e.s(["createLogger",0,e=>{let t=p.child({module:e});return t.level=o[e]??s,t}])},206892,e=>{"use strict";var t=e.i(926747),r=e.i(190406),i=e.i(244898),a=e.i(262950),s=e.i(228448);let o=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let r=await (0,s.getVAPIDKeys)();return t.status(200).json({publicKey:r.publicKey})};e.s(["default",0,o],24648);var l=e.i(24648),n=e.i(7031),p=e.i(181927),u=e.i(846432);let d=(0,a.hoist)(l,"default"),x=(0,a.hoist)(l,"config"),c=new i.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/push/vapid-key",pathname:"/api/push/vapid-key",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function m(e,r,i){i.requestMeta&&(0,u.setRequestMeta)(e,i.requestMeta),c.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/push/vapid-key";a=a.replace(/\/index$/,"")||"/";let s=await c.prepare(e,r,{srcPage:a});if(!s){r.statusCode=400,r.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve());return}let{query:o,params:l,prerenderManifest:d,routerServerContext:x}=s;try{let t,i=e.method||"GET",s=(0,n.getTracer)(),u=s.getActiveScopeSpan(),m=!!(null==x?void 0:x.isWrappedByNextServer),f=c.instrumentationOnRequestError.bind(c),h=async n=>c.render(e,r,{query:{...o,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:d.preview,propagateError:!1,dev:c.isDev,page:"/api/push/vapid-key",internalRevalidate:null==x?void 0:x.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!n)return;n.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=e.get("next.route");if(o){let e=`${i} ${o}`;n.setAttributes({"next.route":o,"http.route":o,"next.span_name":e}),n.updateName(e),t&&t!==n&&(t.setAttribute("http.route",o),t.updateName(e))}else n.updateName(`${i} ${a}`)});m&&u?await h(u):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(p.BaseServerSpan.handleRequest,{spanName:`${i} ${a}`,kind:n.SpanKind.SERVER,attributes:{"http.method":i,"http.target":e.url}},h),void 0,!m))}catch(e){if(c.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==i.waitUntil||i.waitUntil.call(i,Promise.resolve())}}e.s(["config",0,x,"default",0,d,"handler",0,m],206892)}];
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},524836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},130146,(e,t,r)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),i=e.i(446786);let a=r.default.join(i.default.homedir(),".purplemux","logs"),s=process.env.LOG_LEVEL||"info",o=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,i]=r.split("=").map(e=>e.trim());e&&i&&(t[e]=i)}return t})(process.env.LOG_LEVELS),l=["trace","debug","info","warn","error","fatal"],n=globalThis;if(!n.__ptRootLogger){let e=[s,...Object.values(o)].reduce((e,t)=>l.indexOf(t)<l.indexOf(e)?t:e,"fatal");n.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(a,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let p=n.__ptRootLogger;e.s(["createLogger",0,e=>{let t=p.child({module:e});return t.level=o[e]??s,t}])},206892,e=>{"use strict";var t=e.i(926747),r=e.i(190406),i=e.i(244898),a=e.i(262950),s=e.i(228448);let o=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let r=await (0,s.getVAPIDKeys)();return t.status(200).json({publicKey:r.publicKey})};e.s(["default",0,o],24648);var l=e.i(24648),n=e.i(7031),p=e.i(181927),u=e.i(846432);let d=(0,a.hoist)(l,"default"),x=(0,a.hoist)(l,"config"),c=new i.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/push/vapid-key",pathname:"/api/push/vapid-key",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function m(e,r,i){i.requestMeta&&(0,u.setRequestMeta)(e,i.requestMeta),c.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/push/vapid-key";a=a.replace(/\/index$/,"")||"/";let s=await c.prepare(e,r,{srcPage:a});if(!s){r.statusCode=400,r.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve());return}let{query:o,params:l,prerenderManifest:d,routerServerContext:x}=s;try{let t,i=e.method||"GET",s=(0,n.getTracer)(),u=s.getActiveScopeSpan(),m=!!(null==x?void 0:x.isWrappedByNextServer),f=c.instrumentationOnRequestError.bind(c),h=async n=>c.render(e,r,{query:{...o,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:d.preview,propagateError:!1,dev:c.isDev,page:"/api/push/vapid-key",internalRevalidate:null==x?void 0:x.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!n)return;n.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=e.get("next.route");if(o){let e=`${i} ${o}`;n.setAttributes({"next.route":o,"http.route":o,"next.span_name":e}),n.updateName(e),t&&t!==n&&(t.setAttribute("http.route",o),t.updateName(e))}else n.updateName(`${i} ${a}`)});m&&u?await h(u):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(p.BaseServerSpan.handleRequest,{spanName:`${i} ${a}`,kind:n.SpanKind.SERVER,attributes:{"http.method":i,"http.target":e.url}},h),void 0,!m))}catch(e){if(c.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==i.waitUntil||i.waitUntil.call(i,Promise.resolve())}}e.s(["config",0,x,"default",0,d,"handler",0,m],206892)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__04o.cbq._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0m99ffd._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},871911,e=>{"use strict";var t=e.i(254799),r=e.i(522734),i=e.i(814747),a=e.i(446786);let n=i.default.join(a.default.homedir(),".purplemux","cli-token"),s=globalThis;e.s(["verifyCliToken",0,e=>{let a=e.headers["x-pmux-token"];var l="string"==typeof a?a:void 0;if(!l)return!1;let o=(()=>{if(s.__ptCliToken)return s.__ptCliToken;let e=(()=>{try{return r.default.readFileSync(n,"utf-8").trim()||null}catch{return null}})();if(e)return s.__ptCliToken=e,e;let a=(0,t.randomBytes)(32).toString("hex");s.__ptCliToken=a;try{r.default.mkdirSync(i.default.dirname(n),{recursive:!0}),r.default.writeFileSync(n,a,{mode:384})}catch{}return a})();return l.length===o.length&&(0,t.timingSafeEqual)(Buffer.from(l),Buffer.from(o))}])},58349,e=>{"use strict";var t=e.i(926747),r=e.i(190406),i=e.i(244898),a=e.i(262950),n=e.i(322429),s=e.i(871911);let l=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});if(!(0,s.verifyCliToken)(e))return t.status(403).json({error:"Forbidden"});let{workspaces:r}=await (0,n.getWorkspaces)(),i=r.map(e=>({id:e.id,name:e.name,directories:e.directories}));return t.status(200).json({workspaces:i})};e.s(["default",0,l],765063);var o=e.i(765063),u=e.i(7031),d=e.i(181927),p=e.i(846432);let c=(0,a.hoist)(o,"default"),f=(0,a.hoist)(o,"config"),v=new i.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/cli/workspaces",pathname:"/api/cli/workspaces",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function h(e,r,i){i.requestMeta&&(0,p.setRequestMeta)(e,i.requestMeta),v.isDev&&(0,p.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/cli/workspaces";a=a.replace(/\/index$/,"")||"/";let n=await v.prepare(e,r,{srcPage:a});if(!n){r.statusCode=400,r.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve());return}let{query:s,params:l,prerenderManifest:o,routerServerContext:c}=n;try{let t,i=e.method||"GET",n=(0,u.getTracer)(),p=n.getActiveScopeSpan(),f=!!(null==c?void 0:c.isWrappedByNextServer),h=v.instrumentationOnRequestError.bind(v),m=async u=>v.render(e,r,{query:{...s,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:o.preview,propagateError:!1,dev:v.isDev,page:"/api/cli/workspaces",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>h(e,...t)}).finally(()=>{if(!u)return;u.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${i} ${s}`;u.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),u.updateName(e),t&&t!==u&&(t.setAttribute("http.route",s),t.updateName(e))}else u.updateName(`${i} ${a}`)});f&&p?await m(p):(t=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(d.BaseServerSpan.handleRequest,{spanName:`${i} ${a}`,kind:u.SpanKind.SERVER,attributes:{"http.method":i,"http.target":e.url}},m),void 0,!f))}catch(e){if(v.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==i.waitUntil||i.waitUntil.call(i,Promise.resolve())}}e.s(["config",0,f,"default",0,c,"handler",0,h],58349)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_tab-title_ts_0onatvs._.js"].map(t=>e.l(t))).then(()=>t(785128)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0hzysmw._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0q8lffz._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,r=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(r)),e.s(["PRISTINE_ENV",0,r],965898);let a=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),n=["LC_"],i=e=>a.has(e)||n.some(t=>e.startsWith(t)),s={TERM:"xterm-256color",COLORTERM:"truecolor"},o=()=>{let e={};for(let[t,a]of Object.entries(r))void 0!==a&&i(t)&&(e[t]=a);return{...e,...s}},u=e=>`'${e.replace(/'/g,"'\\''")}'`,c=()=>r.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>o(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(o()).map(([e,t])=>`${e}=${u(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${u(c())} -l`},"defaultShell",0,c],597789)},990294,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",a="hour",n="week",i="month",s="quarter",o="year",u="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,r){var a=String(e);return!a||a.length>=t?e:""+Array(t+1-a.length).join(r)+e},p="en",f={};f[p]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var m="$isDayjsObject",y=function(e){return e instanceof $||!(!e||!e[m])},S=function e(t,r,a){var n;if(!t)return p;if("string"==typeof t){var i=t.toLowerCase();f[i]&&(n=i),r&&(f[i]=r,n=i);var s=t.split("-");if(!n&&s.length>1)return e(s[0])}else{var o=t.name;f[o]=t,n=o}return!a&&n&&(p=n),n||!a&&p},C=function(e,t){if(y(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new $(r)},v={s:h,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(r/60),2,"0")+":"+h(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var a=12*(r.year()-t.year())+(r.month()-t.month()),n=t.clone().add(a,i),s=r-n<0,o=t.clone().add(a+(s?-1:1),i);return+(-(a+(r-n)/(s?n-o:o-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:i,y:o,w:n,d:"day",D:u,h:a,m:r,s:t,ms:e,Q:s})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};v.l=S,v.i=y,v.w=function(e,t){return C(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var $=function(){function h(e){this.$L=S(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[m]=!0}var p=h.prototype;return p.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(v.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var a=t.match(l);if(a){var n=a[2]-1||0,i=(a[7]||"0").substring(0,3);return r?new Date(Date.UTC(a[1],n,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)):new Date(a[1],n,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)}}return new Date(t)}(e),this.init()},p.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},p.$utils=function(){return v},p.isValid=function(){return this.$d.toString()!==c},p.isSame=function(e,t){var r=C(e);return this.startOf(t)<=r&&r<=this.endOf(t)},p.isAfter=function(e,t){return C(e)<this.startOf(t)},p.isBefore=function(e,t){return this.endOf(t)<C(e)},p.$g=function(e,t,r){return v.u(e)?this[t]:this.set(r,e)},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this.$d.getTime()},p.startOf=function(e,s){var c=this,l=!!v.u(s)||s,d=v.p(e),h=function(e,t){var r=v.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return l?r:r.endOf("day")},p=function(e,t){return v.w(c.toDate()[e].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},f=this.$W,m=this.$M,y=this.$D,S="set"+(this.$u?"UTC":"");switch(d){case o:return l?h(1,0):h(31,11);case i:return l?h(1,m):h(0,m+1);case n:var C=this.$locale().weekStart||0,$=(f<C?f+7:f)-C;return h(l?y-$:y+(6-$),m);case"day":case u:return p(S+"Hours",0);case a:return p(S+"Minutes",1);case r:return p(S+"Seconds",2);case t:return p(S+"Milliseconds",3);default:return this.clone()}},p.endOf=function(e){return this.startOf(e,!1)},p.$set=function(n,s){var c,l=v.p(n),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[u]=d+"Date",c[i]=d+"Month",c[o]=d+"FullYear",c[a]=d+"Hours",c[r]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[l],p="day"===l?this.$D+(s-this.$W):s;if(l===i||l===o){var f=this.clone().set(u,1);f.$d[h](p),f.init(),this.$d=f.set(u,Math.min(this.$D,f.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},p.set=function(e,t){return this.clone().$set(e,t)},p.get=function(e){return this[v.p(e)]()},p.add=function(e,s){var u,c=this;e=Number(e);var l=v.p(s),d=function(t){var r=C(c);return v.w(r.date(r.date()+Math.round(t*e)),c)};if(l===i)return this.set(i,this.$M+e);if(l===o)return this.set(o,this.$y+e);if("day"===l)return d(1);if(l===n)return d(7);var h=((u={})[r]=6e4,u[a]=36e5,u[t]=1e3,u)[l]||1,p=this.$d.getTime()+e*h;return v.w(p,this)},p.subtract=function(e,t){return this.add(-1*e,t)},p.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||c;var a=e||"YYYY-MM-DDTHH:mm:ssZ",n=v.z(this),i=this.$H,s=this.$m,o=this.$M,u=r.weekdays,l=r.months,h=r.meridiem,p=function(e,r,n,i){return e&&(e[r]||e(t,a))||n[r].slice(0,i)},f=function(e){return v.s(i%12||12,e,"0")},m=h||function(e,t,r){var a=e<12?"AM":"PM";return r?a.toLowerCase():a};return a.replace(d,function(e,a){return a||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return v.s(t.$y,4,"0");case"M":return o+1;case"MM":return v.s(o+1,2,"0");case"MMM":return p(r.monthsShort,o,l,3);case"MMMM":return p(l,o);case"D":return t.$D;case"DD":return v.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(r.weekdaysMin,t.$W,u,2);case"ddd":return p(r.weekdaysShort,t.$W,u,3);case"dddd":return u[t.$W];case"H":return String(i);case"HH":return v.s(i,2,"0");case"h":return f(1);case"hh":return f(2);case"a":return m(i,s,!0);case"A":return m(i,s,!1);case"m":return String(s);case"mm":return v.s(s,2,"0");case"s":return String(t.$s);case"ss":return v.s(t.$s,2,"0");case"SSS":return v.s(t.$ms,3,"0");case"Z":return n}return null}(e)||n.replace(":","")})},p.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},p.diff=function(e,u,c){var l,d=this,h=v.p(u),p=C(e),f=(p.utcOffset()-this.utcOffset())*6e4,m=this-p,y=function(){return v.m(d,p)};switch(h){case o:l=y()/12;break;case i:l=y();break;case s:l=y()/3;break;case n:l=(m-f)/6048e5;break;case"day":l=(m-f)/864e5;break;case a:l=m/36e5;break;case r:l=m/6e4;break;case t:l=m/1e3;break;default:l=m}return c?l:v.a(l)},p.daysInMonth=function(){return this.endOf(i).$D},p.$locale=function(){return f[this.$L]},p.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),a=S(e,t,!0);return a&&(r.$L=a),r},p.clone=function(){return v.w(this.$d,this)},p.toDate=function(){return new Date(this.valueOf())},p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toISOString=function(){return this.$d.toISOString()},p.toString=function(){return this.$d.toUTCString()},h}(),b=$.prototype;return C.prototype=b,[["$ms",e],["$s",t],["$m",r],["$H",a],["$W","day"],["$M",i],["$y",o],["$D",u]].forEach(function(e){b[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),C.extend=function(e,t){return e.$i||(e(t,$,C),e.$i=!0),C},C.locale=S,C.isDayjs=y,C.unix=function(e){return C(1e3*e)},C.en=f[p],C.Ls=f,C.p={},C}()},975925,e=>{"use strict";var t=e.i(990294);let r=e=>{let r=new Date;switch(e){case"today":return{start:(0,t.default)().startOf("day").toDate(),end:r};case"7d":return{start:(0,t.default)().subtract(7,"day").startOf("day").toDate(),end:r};case"30d":return{start:(0,t.default)().subtract(30,"day").startOf("day").toDate(),end:r};case"all":return{start:new Date(0),end:r}}};e.s(["isDateStringWithinPeriod",0,(e,a)=>{if("all"===a)return!0;let{start:n,end:i}=r(a),s=(0,t.default)(e).toDate();return s>=n&&s<=i},"isWithinPeriod",0,(e,t)=>{if("all"===t)return!0;let{start:a,end:n}=r(t),i=new Date(e);return i>=a&&i<=n},"parsePeriod",0,e=>"today"===e||"7d"===e||"30d"===e||"all"===e?e:"all"])},180112,e=>{"use strict";var t=e.i(924868),r=e.i(814747),a=e.i(446786),n=e.i(990294),i=e.i(975925);let s={"opus-4-7":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-6":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-5":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-1":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"opus-4":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"sonnet-4-6":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-7":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"haiku-4-5":{input:1,output:5,cacheWrite5m:1.25,cacheWrite1h:2,cacheRead:.1},"haiku-3-5":{input:.8,output:4,cacheWrite5m:1,cacheWrite1h:1.6,cacheRead:.08},"haiku-3":{input:.25,output:1.25,cacheWrite5m:.3,cacheWrite1h:.5,cacheRead:.03},"opus-3":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5}},o={input:30,output:150,cacheWrite5m:37.5,cacheWrite1h:60,cacheRead:3},u=(e,t,r,a,n,i)=>t/1e6*e.input+a/1e6*e.cacheWrite5m+n/1e6*e.cacheWrite1h+i/1e6*e.cacheRead+r/1e6*e.output,c=r.default.join(a.default.homedir(),".claude","stats-cache.json"),l=(e,t,r,a,n,i)=>((e,t,r,a,n,i)=>{let c=((e,t,r,a,n,i,c=!1)=>{let l,d=(l=e.replace(/\[.*?\]$/,"").match(/claude-(\w+-[\d]+(?:-[\d]+)*)(?:-\d{8}|-v\d)?(?:\:\d)?$/))?l[1]:null;if(!d)return null;let h=c&&"opus-4-6"===d?o:s[d];return h?u(h,t,r,a,n,i):null})(e,t,r,a,n,i);if(null!==c)return c;let l=e.toLowerCase();return u(l.includes("opus")?s["opus-4-6"]:l.includes("haiku")?s["haiku-4-5"]:s["sonnet-4-6"],t,r,a,n,i)})(e,t,r,n,i,a),d={version:0,lastComputedDate:"",dailyActivity:[],dailyModelTokens:[],modelUsage:{},totalSessions:0,totalMessages:0,longestSession:{sessionId:"",duration:0,messageCount:0,timestamp:""},firstSessionDate:"",hourCounts:{},dayHourCounts:{},totalSpeculationTimeSavedMs:0},h=e=>"object"!=typeof e||null===e?{}:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Number(t??0)])),p=async()=>{try{var e,r,a;let n=await t.default.readFile(c,"utf-8"),i=JSON.parse(n);return{version:Number(i.version??0),lastComputedDate:String(i.lastComputedDate??""),dailyActivity:(e=i.dailyActivity,Array.isArray(e)?e.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),messageCount:Number(e.messageCount??0),sessionCount:Number(e.sessionCount??0),toolCallCount:Number(e.toolCallCount??0)})):[]),dailyModelTokens:(r=i.dailyModelTokens,Array.isArray(r)?r.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),tokensByModel:"object"==typeof e.tokensByModel&&null!==e.tokensByModel?Object.fromEntries(Object.entries(e.tokensByModel).map(([e,t])=>[e,(e=>{if("number"==typeof e)return{input:e,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0};if("object"==typeof e&&null!==e){let t=Number(e.cacheCreation??0),r=Number(e.cacheCreation1h??0),a=null!=e.cacheCreation5m?Number(e.cacheCreation5m):Math.max(0,t-r);return{input:Number(e.input??0),output:Number(e.output??0),cacheRead:Number(e.cacheRead??0),cacheCreation:t,cacheCreation5m:a,cacheCreation1h:r}}return{input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0}})(t)])):{}})):[]),modelUsage:(e=>{if("object"!=typeof e||null===e)return{};let t={};for(let[r,a]of Object.entries(e)){if("object"!=typeof a||null===a)continue;let e=Number(a.cacheCreationInputTokens??0),n=Number(a.cacheCreation1hInputTokens??0),i=null!=a.cacheCreation5mInputTokens?Number(a.cacheCreation5mInputTokens):Math.max(0,e-n);t[r]={inputTokens:Number(a.inputTokens??0),outputTokens:Number(a.outputTokens??0),cacheReadInputTokens:Number(a.cacheReadInputTokens??0),cacheCreationInputTokens:e,cacheCreation5mInputTokens:i,cacheCreation1hInputTokens:n,webSearchRequests:Number(a.webSearchRequests??0),costUSD:Number(a.costUSD??0),contextWindow:Number(a.contextWindow??0),maxOutputTokens:Number(a.maxOutputTokens??0)}}return t})(i.modelUsage),totalSessions:Number(i.totalSessions??0),totalMessages:Number(i.totalMessages??0),longestSession:(a=i.longestSession,"object"!=typeof a||null===a?{sessionId:"",duration:0,messageCount:0,timestamp:""}:{sessionId:String(a.sessionId??""),duration:Number(a.duration??0),messageCount:Number(a.messageCount??0),timestamp:String(a.timestamp??"")}),firstSessionDate:String(i.firstSessionDate??""),hourCounts:h(i.hourCounts),dayHourCounts:h(i.dayHourCounts),totalSpeculationTimeSavedMs:Number(i.totalSpeculationTimeSavedMs??0)}}catch{return d}},f=(e,t)=>{let r=(e=>{if("all"===e||"today"===e)return null;let t="7d"===e?7:30;return{prevStart:(0,n.default)().subtract(2*t,"day").startOf("day"),prevEnd:(0,n.default)().subtract(t,"day").startOf("day")}})(t);if(!r)return!1;let a=(0,n.default)(e);return(a.isAfter(r.prevStart)||a.isSame(r.prevStart))&&a.isBefore(r.prevEnd)};e.s(["buildOverview",0,(e,t)=>{let r,a,s,o,u=e.dailyActivity.filter(e=>(0,i.isDateStringWithinPeriod)(e.date,t)),c=e.dailyModelTokens.filter(e=>(0,i.isDateStringWithinPeriod)(e.date,t)),d="all"===t?e.totalSessions:u.reduce((e,t)=>e+t.sessionCount,0),h="all"===t?e.totalMessages:u.reduce((e,t)=>e+t.messageCount,0),p=u.reduce((e,t)=>e+t.toolCallCount,0),m=(r=e.dailyActivity,a=t,r.filter(e=>f(e.date,a))),y=m.reduce((e,t)=>e+t.sessionCount,0),S=m.reduce((e,t)=>e+t.messageCount,0),C={};if("all"===t)for(let[t,r]of Object.entries(e.modelUsage))C[t]={input:r.inputTokens,output:r.outputTokens,cacheRead:r.cacheReadInputTokens,cacheCreation:r.cacheCreationInputTokens,cacheCreation5m:r.cacheCreation5mInputTokens,cacheCreation1h:r.cacheCreation1hInputTokens,cost:l(t,r.inputTokens,r.outputTokens,r.cacheReadInputTokens,r.cacheCreation5mInputTokens,r.cacheCreation1hInputTokens)};else{for(let e of c)for(let[t,r]of Object.entries(e.tokensByModel))C[t]||(C[t]={input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0,cost:0}),C[t].input+=r.input,C[t].output+=r.output,C[t].cacheRead+=r.cacheRead,C[t].cacheCreation+=r.cacheCreation,C[t].cacheCreation5m+=r.cacheCreation5m,C[t].cacheCreation1h+=r.cacheCreation1h;for(let[t,r]of Object.entries(C)){let a=e.modelUsage[t];if(!a)continue;let n=a.inputTokens+a.outputTokens+a.cacheReadInputTokens+a.cacheCreationInputTokens,i=r.input+r.output+r.cacheRead+r.cacheCreation;n>0&&(r.cost=i/n*l(t,a.inputTokens,a.outputTokens,a.cacheReadInputTokens,a.cacheCreation5mInputTokens,a.cacheCreation1hInputTokens))}}let v=c.map(e=>{let t=0,r=0,a=0,n=0;for(let i of Object.values(e.tokensByModel))t+=i.input,r+=i.output,a+=i.cacheRead,n+=i.cacheCreation;return{date:e.date,input:t,output:r,cacheRead:a,cacheCreation:n}}),$=(0,n.default)().format("YYYY-MM-DD"),b=(0,n.default)().startOf("month").format("YYYY-MM-DD"),M=e.dailyActivity.find(e=>e.date===$)?.messageCount??0,T=e.dailyActivity.filter(e=>e.date>=b).reduce((e,t)=>e+t.messageCount,0),g=Object.values(C).reduce((e,t)=>e+t.cost,0),k=t=>{let r=0;for(let a of t)for(let[t,n]of Object.entries(a.tokensByModel)){let a=e.modelUsage[t];if(!a)continue;let i=a.inputTokens+a.outputTokens+a.cacheReadInputTokens+a.cacheCreationInputTokens,s=n.input+n.output+n.cacheRead+n.cacheCreation;i>0&&(r+=s/i*l(t,a.inputTokens,a.outputTokens,a.cacheReadInputTokens,a.cacheCreation5mInputTokens,a.cacheCreation1hInputTokens))}return r},D=k(e.dailyModelTokens.filter(e=>e.date===$));return{totalSessions:d,totalMessages:h,previousSessions:y,previousMessages:S,totalToolCalls:p,dailyActivity:u,modelTokens:C,dailyTokens:v,todayMessages:M,thisMonthMessages:T,totalCost:g,todayCost:D,thisMonthCost:k(e.dailyModelTokens.filter(e=>e.date>=b)),previousCost:k((s=e.dailyModelTokens,o=t,s.filter(e=>f(e.date,o)))),hourlyDistribution:e.hourCounts,dayHourDistribution:e.dayHourCounts,firstSessionDate:e.firstSessionDate,lastComputedDate:e.lastComputedDate,computedAt:new Date().toISOString()}},"readStatsCache",0,p],180112)},219839,e=>{"use strict";var t=e.i(926747),r=e.i(190406),a=e.i(244898),n=e.i(262950),i=e.i(177579),s=e.i(180112),o=e.i(7991);let u=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"method-not-allowed"});let r=Math.max(0,Number(e.query.offset)||0),a=Math.min(50,Math.max(1,Number(e.query.limit)||10)),[n,u]=await Promise.all([(0,i.getStatsCache)(),(0,o.readAllCachedReports)()]),c=(0,s.buildOverview)(n,"all"),l=c.dailyTokens.reduce((e,t)=>e+t.input+t.output+t.cacheRead+t.cacheCreation,0),d=Object.values(c.modelTokens).reduce((e,t)=>e+t.cost,0),h=c.dailyActivity.filter(e=>e.sessionCount>0).map(e=>{let t=c.dailyTokens.find(t=>t.date===e.date),r=t?t.input+t.output+t.cacheRead+t.cacheCreation:0;return{date:e.date,sessionCount:e.sessionCount,cost:l>0?r/l*d:0,report:u[e.date]??null}}).sort((e,t)=>t.date.localeCompare(e.date)),p={days:h.slice(r,r+a),total:h.length,offset:r,limit:a};return t.status(200).json(p)};e.s(["default",0,u],730099);var c=e.i(730099),l=e.i(7031),d=e.i(181927),h=e.i(846432);let p=(0,n.hoist)(c,"default"),f=(0,n.hoist)(c,"config"),m=new a.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/stats/daily-report/list",pathname:"/api/stats/daily-report/list",bundlePath:"",filename:""},userland:c,distDir:".next",relativeProjectDir:""});async function y(e,r,a){a.requestMeta&&(0,h.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,h.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/stats/daily-report/list";n=n.replace(/\/index$/,"")||"/";let i=await m.prepare(e,r,{srcPage:n});if(!i){r.statusCode=400,r.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:u,routerServerContext:c}=i;try{let t,a=e.method||"GET",i=(0,l.getTracer)(),h=i.getActiveScopeSpan(),p=!!(null==c?void 0:c.isWrappedByNextServer),f=m.instrumentationOnRequestError.bind(m),y=async l=>m.render(e,r,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:u.preview,propagateError:!1,dev:m.isDev,page:"/api/stats/daily-report/list",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${a} ${s}`;l.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),l.updateName(e),t&&t!==l&&(t.setAttribute("http.route",s),t.updateName(e))}else l.updateName(`${a} ${n}`)});p&&h?await y(h):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(d.BaseServerSpan.handleRequest,{spanName:`${a} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":a,"http.target":e.url}},y),void 0,!p))}catch(e){if(m.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,f,"default",0,p,"handler",0,y],219839)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0vjtjtc._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,a=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(a)),e.s(["PRISTINE_ENV",0,a],965898);let n=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),r=["LC_"],s=e=>n.has(e)||r.some(t=>e.startsWith(t)),i={TERM:"xterm-256color",COLORTERM:"truecolor"},o=()=>{let e={};for(let[t,n]of Object.entries(a))void 0!==n&&s(t)&&(e[t]=n);return{...e,...i}},u=e=>`'${e.replace(/'/g,"'\\''")}'`,c=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>o(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(o()).map(([e,t])=>`${e}=${u(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${u(c())} -l`},"defaultShell",0,c],597789)},180112,e=>{"use strict";var t=e.i(924868),a=e.i(814747),n=e.i(446786),r=e.i(990294),s=e.i(975925);let i={"opus-4-7":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-6":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-5":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-1":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"opus-4":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"sonnet-4-6":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-7":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"haiku-4-5":{input:1,output:5,cacheWrite5m:1.25,cacheWrite1h:2,cacheRead:.1},"haiku-3-5":{input:.8,output:4,cacheWrite5m:1,cacheWrite1h:1.6,cacheRead:.08},"haiku-3":{input:.25,output:1.25,cacheWrite5m:.3,cacheWrite1h:.5,cacheRead:.03},"opus-3":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5}},o={input:30,output:150,cacheWrite5m:37.5,cacheWrite1h:60,cacheRead:3},u=(e,t,a,n,r,s)=>t/1e6*e.input+n/1e6*e.cacheWrite5m+r/1e6*e.cacheWrite1h+s/1e6*e.cacheRead+a/1e6*e.output,c=a.default.join(n.default.homedir(),".claude","stats-cache.json"),l=(e,t,a,n,r,s)=>((e,t,a,n,r,s)=>{let c=((e,t,a,n,r,s,c=!1)=>{let l,d=(l=e.replace(/\[.*?\]$/,"").match(/claude-(\w+-[\d]+(?:-[\d]+)*)(?:-\d{8}|-v\d)?(?:\:\d)?$/))?l[1]:null;if(!d)return null;let h=c&&"opus-4-6"===d?o:i[d];return h?u(h,t,a,n,r,s):null})(e,t,a,n,r,s);if(null!==c)return c;let l=e.toLowerCase();return u(l.includes("opus")?i["opus-4-6"]:l.includes("haiku")?i["haiku-4-5"]:i["sonnet-4-6"],t,a,n,r,s)})(e,t,a,r,s,n),d={version:0,lastComputedDate:"",dailyActivity:[],dailyModelTokens:[],modelUsage:{},totalSessions:0,totalMessages:0,longestSession:{sessionId:"",duration:0,messageCount:0,timestamp:""},firstSessionDate:"",hourCounts:{},dayHourCounts:{},totalSpeculationTimeSavedMs:0},h=e=>"object"!=typeof e||null===e?{}:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Number(t??0)])),p=async()=>{try{var e,a,n;let r=await t.default.readFile(c,"utf-8"),s=JSON.parse(r);return{version:Number(s.version??0),lastComputedDate:String(s.lastComputedDate??""),dailyActivity:(e=s.dailyActivity,Array.isArray(e)?e.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),messageCount:Number(e.messageCount??0),sessionCount:Number(e.sessionCount??0),toolCallCount:Number(e.toolCallCount??0)})):[]),dailyModelTokens:(a=s.dailyModelTokens,Array.isArray(a)?a.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),tokensByModel:"object"==typeof e.tokensByModel&&null!==e.tokensByModel?Object.fromEntries(Object.entries(e.tokensByModel).map(([e,t])=>[e,(e=>{if("number"==typeof e)return{input:e,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0};if("object"==typeof e&&null!==e){let t=Number(e.cacheCreation??0),a=Number(e.cacheCreation1h??0),n=null!=e.cacheCreation5m?Number(e.cacheCreation5m):Math.max(0,t-a);return{input:Number(e.input??0),output:Number(e.output??0),cacheRead:Number(e.cacheRead??0),cacheCreation:t,cacheCreation5m:n,cacheCreation1h:a}}return{input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0}})(t)])):{}})):[]),modelUsage:(e=>{if("object"!=typeof e||null===e)return{};let t={};for(let[a,n]of Object.entries(e)){if("object"!=typeof n||null===n)continue;let e=Number(n.cacheCreationInputTokens??0),r=Number(n.cacheCreation1hInputTokens??0),s=null!=n.cacheCreation5mInputTokens?Number(n.cacheCreation5mInputTokens):Math.max(0,e-r);t[a]={inputTokens:Number(n.inputTokens??0),outputTokens:Number(n.outputTokens??0),cacheReadInputTokens:Number(n.cacheReadInputTokens??0),cacheCreationInputTokens:e,cacheCreation5mInputTokens:s,cacheCreation1hInputTokens:r,webSearchRequests:Number(n.webSearchRequests??0),costUSD:Number(n.costUSD??0),contextWindow:Number(n.contextWindow??0),maxOutputTokens:Number(n.maxOutputTokens??0)}}return t})(s.modelUsage),totalSessions:Number(s.totalSessions??0),totalMessages:Number(s.totalMessages??0),longestSession:(n=s.longestSession,"object"!=typeof n||null===n?{sessionId:"",duration:0,messageCount:0,timestamp:""}:{sessionId:String(n.sessionId??""),duration:Number(n.duration??0),messageCount:Number(n.messageCount??0),timestamp:String(n.timestamp??"")}),firstSessionDate:String(s.firstSessionDate??""),hourCounts:h(s.hourCounts),dayHourCounts:h(s.dayHourCounts),totalSpeculationTimeSavedMs:Number(s.totalSpeculationTimeSavedMs??0)}}catch{return d}},f=(e,t)=>{let a=(e=>{if("all"===e||"today"===e)return null;let t="7d"===e?7:30;return{prevStart:(0,r.default)().subtract(2*t,"day").startOf("day"),prevEnd:(0,r.default)().subtract(t,"day").startOf("day")}})(t);if(!a)return!1;let n=(0,r.default)(e);return(n.isAfter(a.prevStart)||n.isSame(a.prevStart))&&n.isBefore(a.prevEnd)};e.s(["buildOverview",0,(e,t)=>{let a,n,i,o,u=e.dailyActivity.filter(e=>(0,s.isDateStringWithinPeriod)(e.date,t)),c=e.dailyModelTokens.filter(e=>(0,s.isDateStringWithinPeriod)(e.date,t)),d="all"===t?e.totalSessions:u.reduce((e,t)=>e+t.sessionCount,0),h="all"===t?e.totalMessages:u.reduce((e,t)=>e+t.messageCount,0),p=u.reduce((e,t)=>e+t.toolCallCount,0),m=(a=e.dailyActivity,n=t,a.filter(e=>f(e.date,n))),y=m.reduce((e,t)=>e+t.sessionCount,0),g=m.reduce((e,t)=>e+t.messageCount,0),S={};if("all"===t)for(let[t,a]of Object.entries(e.modelUsage))S[t]={input:a.inputTokens,output:a.outputTokens,cacheRead:a.cacheReadInputTokens,cacheCreation:a.cacheCreationInputTokens,cacheCreation5m:a.cacheCreation5mInputTokens,cacheCreation1h:a.cacheCreation1hInputTokens,cost:l(t,a.inputTokens,a.outputTokens,a.cacheReadInputTokens,a.cacheCreation5mInputTokens,a.cacheCreation1hInputTokens)};else{for(let e of c)for(let[t,a]of Object.entries(e.tokensByModel))S[t]||(S[t]={input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0,cost:0}),S[t].input+=a.input,S[t].output+=a.output,S[t].cacheRead+=a.cacheRead,S[t].cacheCreation+=a.cacheCreation,S[t].cacheCreation5m+=a.cacheCreation5m,S[t].cacheCreation1h+=a.cacheCreation1h;for(let[t,a]of Object.entries(S)){let n=e.modelUsage[t];if(!n)continue;let r=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,s=a.input+a.output+a.cacheRead+a.cacheCreation;r>0&&(a.cost=s/r*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}}let C=c.map(e=>{let t=0,a=0,n=0,r=0;for(let s of Object.values(e.tokensByModel))t+=s.input,a+=s.output,n+=s.cacheRead,r+=s.cacheCreation;return{date:e.date,input:t,output:a,cacheRead:n,cacheCreation:r}}),v=(0,r.default)().format("YYYY-MM-DD"),T=(0,r.default)().startOf("month").format("YYYY-MM-DD"),M=e.dailyActivity.find(e=>e.date===v)?.messageCount??0,$=e.dailyActivity.filter(e=>e.date>=T).reduce((e,t)=>e+t.messageCount,0),k=Object.values(S).reduce((e,t)=>e+t.cost,0),b=t=>{let a=0;for(let n of t)for(let[t,r]of Object.entries(n.tokensByModel)){let n=e.modelUsage[t];if(!n)continue;let s=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,i=r.input+r.output+r.cacheRead+r.cacheCreation;s>0&&(a+=i/s*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}return a},D=b(e.dailyModelTokens.filter(e=>e.date===v));return{totalSessions:d,totalMessages:h,previousSessions:y,previousMessages:g,totalToolCalls:p,dailyActivity:u,modelTokens:S,dailyTokens:C,todayMessages:M,thisMonthMessages:$,totalCost:k,todayCost:D,thisMonthCost:b(e.dailyModelTokens.filter(e=>e.date>=T)),previousCost:b((i=e.dailyModelTokens,o=t,i.filter(e=>f(e.date,o)))),hourlyDistribution:e.hourCounts,dayHourDistribution:e.dayHourCounts,firstSessionDate:e.firstSessionDate,lastComputedDate:e.lastComputedDate,computedAt:new Date().toISOString()}},"readStatsCache",0,p],180112)},422392,e=>{"use strict";let t=new Map,a=6e4;e.s(["getCached",0,e=>{let a=t.get(e);return a?Date.now()>a.expiresAt?(t.delete(e),null):a.data:null},"setCached",0,(e,n,r=a)=>{t.set(e,{data:n,expiresAt:Date.now()+r})}])},990294,(e,t,a)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",a="minute",n="hour",r="week",s="month",i="quarter",o="year",u="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,a){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(a)+e},p="en",f={};f[p]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],a=e%100;return"["+e+(t[(a-20)%10]||t[a]||t[0])+"]"}};var m="$isDayjsObject",y=function(e){return e instanceof v||!(!e||!e[m])},g=function e(t,a,n){var r;if(!t)return p;if("string"==typeof t){var s=t.toLowerCase();f[s]&&(r=s),a&&(f[s]=a,r=s);var i=t.split("-");if(!r&&i.length>1)return e(i[0])}else{var o=t.name;f[o]=t,r=o}return!n&&r&&(p=r),r||!n&&p},S=function(e,t){if(y(e))return e.clone();var a="object"==typeof t?t:{};return a.date=e,a.args=arguments,new v(a)},C={s:h,z:function(e){var t=-e.utcOffset(),a=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(a/60),2,"0")+":"+h(a%60,2,"0")},m:function e(t,a){if(t.date()<a.date())return-e(a,t);var n=12*(a.year()-t.year())+(a.month()-t.month()),r=t.clone().add(n,s),i=a-r<0,o=t.clone().add(n+(i?-1:1),s);return+(-(n+(a-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:s,y:o,w:r,d:"day",D:u,h:n,m:a,s:t,ms:e,Q:i})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};C.l=g,C.i=y,C.w=function(e,t){return S(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var v=function(){function h(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[m]=!0}var p=h.prototype;return p.parse=function(e){this.$d=function(e){var t=e.date,a=e.utc;if(null===t)return new Date(NaN);if(C.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(l);if(n){var r=n[2]-1||0,s=(n[7]||"0").substring(0,3);return a?new Date(Date.UTC(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},p.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},p.$utils=function(){return C},p.isValid=function(){return this.$d.toString()!==c},p.isSame=function(e,t){var a=S(e);return this.startOf(t)<=a&&a<=this.endOf(t)},p.isAfter=function(e,t){return S(e)<this.startOf(t)},p.isBefore=function(e,t){return this.endOf(t)<S(e)},p.$g=function(e,t,a){return C.u(e)?this[t]:this.set(a,e)},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this.$d.getTime()},p.startOf=function(e,i){var c=this,l=!!C.u(i)||i,d=C.p(e),h=function(e,t){var a=C.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return l?a:a.endOf("day")},p=function(e,t){return C.w(c.toDate()[e].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},f=this.$W,m=this.$M,y=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case o:return l?h(1,0):h(31,11);case s:return l?h(1,m):h(0,m+1);case r:var S=this.$locale().weekStart||0,v=(f<S?f+7:f)-S;return h(l?y-v:y+(6-v),m);case"day":case u:return p(g+"Hours",0);case n:return p(g+"Minutes",1);case a:return p(g+"Seconds",2);case t:return p(g+"Milliseconds",3);default:return this.clone()}},p.endOf=function(e){return this.startOf(e,!1)},p.$set=function(r,i){var c,l=C.p(r),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[u]=d+"Date",c[s]=d+"Month",c[o]=d+"FullYear",c[n]=d+"Hours",c[a]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[l],p="day"===l?this.$D+(i-this.$W):i;if(l===s||l===o){var f=this.clone().set(u,1);f.$d[h](p),f.init(),this.$d=f.set(u,Math.min(this.$D,f.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},p.set=function(e,t){return this.clone().$set(e,t)},p.get=function(e){return this[C.p(e)]()},p.add=function(e,i){var u,c=this;e=Number(e);var l=C.p(i),d=function(t){var a=S(c);return C.w(a.date(a.date()+Math.round(t*e)),c)};if(l===s)return this.set(s,this.$M+e);if(l===o)return this.set(o,this.$y+e);if("day"===l)return d(1);if(l===r)return d(7);var h=((u={})[a]=6e4,u[n]=36e5,u[t]=1e3,u)[l]||1,p=this.$d.getTime()+e*h;return C.w(p,this)},p.subtract=function(e,t){return this.add(-1*e,t)},p.format=function(e){var t=this,a=this.$locale();if(!this.isValid())return a.invalidDate||c;var n=e||"YYYY-MM-DDTHH:mm:ssZ",r=C.z(this),s=this.$H,i=this.$m,o=this.$M,u=a.weekdays,l=a.months,h=a.meridiem,p=function(e,a,r,s){return e&&(e[a]||e(t,n))||r[a].slice(0,s)},f=function(e){return C.s(s%12||12,e,"0")},m=h||function(e,t,a){var n=e<12?"AM":"PM";return a?n.toLowerCase():n};return n.replace(d,function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return C.s(t.$y,4,"0");case"M":return o+1;case"MM":return C.s(o+1,2,"0");case"MMM":return p(a.monthsShort,o,l,3);case"MMMM":return p(l,o);case"D":return t.$D;case"DD":return C.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(a.weekdaysMin,t.$W,u,2);case"ddd":return p(a.weekdaysShort,t.$W,u,3);case"dddd":return u[t.$W];case"H":return String(s);case"HH":return C.s(s,2,"0");case"h":return f(1);case"hh":return f(2);case"a":return m(s,i,!0);case"A":return m(s,i,!1);case"m":return String(i);case"mm":return C.s(i,2,"0");case"s":return String(t.$s);case"ss":return C.s(t.$s,2,"0");case"SSS":return C.s(t.$ms,3,"0");case"Z":return r}return null}(e)||r.replace(":","")})},p.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},p.diff=function(e,u,c){var l,d=this,h=C.p(u),p=S(e),f=(p.utcOffset()-this.utcOffset())*6e4,m=this-p,y=function(){return C.m(d,p)};switch(h){case o:l=y()/12;break;case s:l=y();break;case i:l=y()/3;break;case r:l=(m-f)/6048e5;break;case"day":l=(m-f)/864e5;break;case n:l=m/36e5;break;case a:l=m/6e4;break;case t:l=m/1e3;break;default:l=m}return c?l:C.a(l)},p.daysInMonth=function(){return this.endOf(s).$D},p.$locale=function(){return f[this.$L]},p.locale=function(e,t){if(!e)return this.$L;var a=this.clone(),n=g(e,t,!0);return n&&(a.$L=n),a},p.clone=function(){return C.w(this.$d,this)},p.toDate=function(){return new Date(this.valueOf())},p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toISOString=function(){return this.$d.toISOString()},p.toString=function(){return this.$d.toUTCString()},h}(),T=v.prototype;return S.prototype=T,[["$ms",e],["$s",t],["$m",a],["$H",n],["$W","day"],["$M",s],["$y",o],["$D",u]].forEach(function(e){T[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),S.extend=function(e,t){return e.$i||(e(t,v,S),e.$i=!0),S},S.locale=g,S.isDayjs=y,S.unix=function(e){return S(1e3*e)},S.en=f[p],S.Ls=f,S.p={},S}()},975925,e=>{"use strict";var t=e.i(990294);let a=e=>{let a=new Date;switch(e){case"today":return{start:(0,t.default)().startOf("day").toDate(),end:a};case"7d":return{start:(0,t.default)().subtract(7,"day").startOf("day").toDate(),end:a};case"30d":return{start:(0,t.default)().subtract(30,"day").startOf("day").toDate(),end:a};case"all":return{start:new Date(0),end:a}}};e.s(["isDateStringWithinPeriod",0,(e,n)=>{if("all"===n)return!0;let{start:r,end:s}=a(n),i=(0,t.default)(e).toDate();return i>=r&&i<=s},"isWithinPeriod",0,(e,t)=>{if("all"===t)return!0;let{start:n,end:r}=a(t),s=new Date(e);return s>=n&&s<=r},"parsePeriod",0,e=>"today"===e||"7d"===e||"30d"===e||"all"===e?e:"all"])},411941,e=>{"use strict";var t=e.i(924868),a=e.i(522734),n=e.i(814747),r=e.i(446786),s=e.i(319668),i=e.i(975925),o=e.i(7991);let u=n.default.join(r.default.homedir(),".claude","projects"),c=e=>/^agent-/.test(e),l=async()=>{let e=[];try{for(let a of(await t.default.readdir(u))){let r=n.default.join(u,a),s=await t.default.stat(r).catch(()=>null);if(s?.isDirectory())for(let s of(await t.default.readdir(r).catch(()=>[])))!s.endsWith(".jsonl")||c(s)||e.push({filePath:n.default.join(r,s),project:a})}}catch{}return e},d=async(e,t,n)=>{let r=new Map,u="";try{let o=(0,a.createReadStream)(e,{encoding:"utf-8"});for await(let e of s.default.createInterface({input:o,crlfDelay:1/0}))if(e.trim())try{let a=JSON.parse(e),s=String(a.timestamp??"");if(u||"string"!=typeof a.cwd||(u=a.cwd),!s||!(0,i.isWithinPeriod)(s,n))continue;let o=String(a.sessionId??"");if(!o)continue;let c=String(a.type??"");if("user"!==c&&"assistant"!==c)continue;let l=r.get(o);if(l||(l={sessionId:o,project:t,startedAt:s,lastActivityAt:s,messageCount:0,totalInputTokens:0,totalOutputTokens:0,model:""},r.set(o,l)),s<l.startedAt&&(l.startedAt=s),s>l.lastActivityAt&&(l.lastActivityAt=s),"user"===c&&l.messageCount++,"assistant"===c){let e=a.message;if(e){let t=String(e.model??"");t&&(l.model=t);let a=e.usage;a&&(l.totalInputTokens+=Number(a.input_tokens??0),l.totalOutputTokens+=Number(a.output_tokens??0))}}}catch{}}catch{}if(u){let e=(0,o.shortenCwd)(u);for(let t of r.values())t.project=e}return Array.from(r.values())},h=async(e,t)=>{let a=[],n=0,r=async()=>{for(;n<e.length;){let t=n++;a[t]=await e[t]()}},s=Array.from({length:Math.min(t,e.length)},()=>r());return await Promise.all(s),a},p=async(e,t)=>{let n=new Map;try{let r=(0,a.createReadStream)(e,{encoding:"utf-8"});for await(let e of s.default.createInterface({input:r,crlfDelay:1/0}))if(e.trim())try{let a=JSON.parse(e),r=String(a.timestamp??"");if(!r)continue;let s=r.slice(0,10);if(!t.has(s))continue;let i=String(a.sessionId??"");if(!i)continue;let o=String(a.type??"");if("user"!==o&&"assistant"!==o)continue;let u=new Date(r).getTime();if(isNaN(u))continue;let c=n.get(s);c||(c=new Map,n.set(s,c));let l=c.get(i);l?l.push(u):c.set(i,[u])}catch{}}catch{}return n},f=async e=>{let t=await l();if(0===t.length)return new Map;let a=t.map(t=>()=>p(t.filePath,e)),n=await h(a,10),r=new Map;for(let e of n)for(let[t,a]of e){let e=r.get(t);for(let[n,s]of(e||(e=new Map,r.set(t,e)),a)){let t=e.get(n);t?t.push(...s):e.set(n,[...s])}}return r},m=async e=>{let t=await l();if(0===t.length)return[];let a=t.map(t=>()=>d(t.filePath,t.project,e)),n=await h(a,10),r=new Map;for(let e of n)for(let t of e){let e=r.get(t.project);e?(e.sessionCount++,e.messageCount+=t.messageCount,e.totalTokens+=t.totalInputTokens+t.totalOutputTokens):r.set(t.project,{project:t.project,sessionCount:1,messageCount:t.messageCount,totalTokens:t.totalInputTokens+t.totalOutputTokens})}return Array.from(r.values()).sort((e,t)=>t.totalTokens-e.totalTokens)},y=async e=>{let t=await l();if(0===t.length)return[];let a=t.map(t=>()=>d(t.filePath,t.project,e)),n=await h(a,10),r=[];for(let e of n)for(let t of e)r.push({sessionId:t.sessionId,project:t.project,startedAt:t.startedAt,lastActivityAt:t.lastActivityAt,messageCount:t.messageCount,totalTokens:t.totalInputTokens+t.totalOutputTokens,model:t.model});return r.sort((e,t)=>t.startedAt.localeCompare(e.startedAt))};e.s(["parseAllProjects",0,m,"parseAllSessions",0,y,"parseTimestampsByDay",0,f])},69396,e=>{"use strict";var t=e.i(926747),a=e.i(190406),n=e.i(244898),r=e.i(262950),s=e.i(411941),i=e.i(180112),o=e.i(975925),u=e.i(422392);let c=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"method-not-allowed"});let a=(0,o.parsePeriod)(e.query.period),n=`stats:sessions:${a}`,r=(0,u.getCached)(n);if(r)return t.status(200).json(r);let[c,l]=await Promise.all([(0,s.parseAllSessions)(a),(0,i.readStatsCache)()]),d=c.map(e=>new Date(e.lastActivityAt).getTime()-new Date(e.startedAt).getTime()).filter(e=>e>0),h={sessions:c,averageDurationMs:d.length>0?Math.round(d.reduce((e,t)=>e+t,0)/d.length):0,longestSession:l.longestSession.sessionId?l.longestSession:null,totalSessions:c.length};return(0,u.setCached)(n,h),t.status(200).json(h)};e.s(["default",0,c],900287);var l=e.i(900287),d=e.i(7031),h=e.i(181927),p=e.i(846432);let f=(0,r.hoist)(l,"default"),m=(0,r.hoist)(l,"config"),y=new n.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/stats/sessions",pathname:"/api/stats/sessions",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function g(e,a,n){n.requestMeta&&(0,p.setRequestMeta)(e,n.requestMeta),y.isDev&&(0,p.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/stats/sessions";r=r.replace(/\/index$/,"")||"/";let s=await y.prepare(e,a,{srcPage:r});if(!s){a.statusCode=400,a.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve());return}let{query:i,params:o,prerenderManifest:u,routerServerContext:c}=s;try{let t,n=e.method||"GET",s=(0,d.getTracer)(),l=s.getActiveScopeSpan(),p=!!(null==c?void 0:c.isWrappedByNextServer),f=y.instrumentationOnRequestError.bind(y),m=async l=>y.render(e,a,{query:{...i,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:u.preview,propagateError:!1,dev:y.isDev,page:"/api/stats/sessions",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=e.get("next.route");if(i){let e=`${n} ${i}`;l.setAttributes({"next.route":i,"http.route":i,"next.span_name":e}),l.updateName(e),t&&t!==l&&(t.setAttribute("http.route",i),t.updateName(e))}else l.updateName(`${n} ${r}`)});p&&l?await m(l):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(h.BaseServerSpan.handleRequest,{spanName:`${n} ${r}`,kind:d.SpanKind.SERVER,attributes:{"http.method":n,"http.target":e.url}},m),void 0,!p))}catch(e){if(y.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==n.waitUntil||n.waitUntil.call(n,Promise.resolve())}}e.s(["config",0,m,"default",0,f,"handler",0,g],69396)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0x_e0yw._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},319668,(e,t,a)=>{t.exports=e.x("readline",()=>require("readline"))},270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,a=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(a)),e.s(["PRISTINE_ENV",0,a],965898);let r=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),i=["LC_"],n=e=>r.has(e)||i.some(t=>e.startsWith(t)),s={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,r]of Object.entries(a))void 0!==r&&n(t)&&(e[t]=r);return{...e,...s}},o=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>l(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(l()).map(([e,t])=>`${e}=${o(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${o(u())} -l`},"defaultShell",0,u],597789)},713915,e=>{"use strict";var t=e.i(233405),a=e.i(924868),r=e.i(446786),i=e.i(814747),n=e.i(224361),s=e.i(597789),l=e.i(965898);let o=(0,n.promisify)(t.execFile),u=null,c=null,d=async()=>{let e=r.default.userInfo().shell||(0,s.defaultShell)();try{let{stdout:t}=await o(e,["-ilc",'echo -n "$PATH"'],{timeout:5e3,env:{...(0,s.buildShellEnv)(),SHELL:e,DISABLE_AUTO_UPDATE:"true",ZSH_TMUX_AUTOSTARTED:"true"}});return t.toString().trim()}catch{return l.PRISTINE_ENV.PATH||""}},p=async()=>u||(c||(c=d().then(e=>(u=e,c=null,e))),c),m=async(e,t,a)=>{try{let r=await p(),{stdout:i}=await o(e,t,{timeout:5e3,env:{...process.env,PATH:r}});return{installed:!0,version:a(i)}}catch{return{installed:!1,version:null}}},h=e=>e.trim().match(/(\d+\.\d+[\d.]*)/)?.[1]??null,f=[i.default.join(r.default.homedir(),".local","bin")],g=async()=>{for(let e of f)try{return await (0,a.access)(i.default.join(e,"claude")),e}catch{}return null},y=e=>e.installed&&null!==e.version&&parseFloat(e.version)>=2.9,S=async()=>{u=await d();let[e,t,n]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]),s=(y(e)&&t.installed&&n.installed,n.installed?null:await g()),l=!1;if(n.installed||s)try{await (0,a.access)(i.default.join(r.default.homedir(),".claude")),l=!0}catch{}return{tmux:{...e,compatible:y(e)},git:t,claude:{...n,binaryPath:s,loggedIn:l}}},w=null,v=null,A=null,x=null,E=async()=>A&&Date.now()-A.checkedAt<1e3?A.result:x||(x=S().then(e=>(A={result:e,checkedAt:Date.now()},x=null,e)).catch(e=>{throw x=null,e})),T=async()=>{u=await d();let[e,t,a]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]);return{tmux:{...e,compatible:y(e)},git:t,claude:a}},P=async()=>w&&Date.now()-w.checkedAt<3e4?w.result:v||(v=T().then(e=>(w={result:e,checkedAt:Date.now()},v=null,e)).catch(e=>{throw v=null,e}));e.s(["getCachedPreflightStatus",0,E,"getCachedRuntimePreflight",0,P,"getShellPath",0,p,"invalidateRuntimeCache",0,()=>{w=null,v=null}])},7991,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(522734),n=e.i(319668),s=e.i(233405),l=e.i(713915),o=e.i(177579);let u=a.default.join(r.default.homedir(),".purplemux","stats","daily-reports"),c=async()=>{let e={};try{for(let r of(await t.default.readdir(u)))if(r.endsWith(".json"))try{let i=await t.default.readFile(a.default.join(u,r),"utf-8"),n=JSON.parse(i);n.date&&n.brief&&(e[n.date]=n)}catch{}}catch{}return e},d=async e=>{await t.default.mkdir(u,{recursive:!0}),await t.default.writeFile(a.default.join(u,`${e.date}.json`),JSON.stringify(e,null,2),"utf-8")},p=e=>{let t=r.default.homedir();return(e.startsWith(t)?e.slice(t.length+1):e).replace(/^Workspace\/github\.com\//g,"").replace(/^Workspace\/gitlab\.kolonfnc\.com\//g,"gitlab/").replace(/^Documents\//g,"docs/").replace(/^Downloads/g,"Downloads")},m=async e=>{let t=await (0,o.collectJsonlFiles)(),r=[];for(let s of t){let t=[],l=[],o=0,u="";try{let a=(0,i.createReadStream)(s,{encoding:"utf-8"});for await(let r of n.default.createInterface({input:a,crlfDelay:1/0}))if(r.trim())try{let a=JSON.parse(r),i=String(a.timestamp??"");if(!i.startsWith(e))continue;l.push(i);let n=String(a.type??"");if(u||"string"!=typeof a.cwd||(u=a.cwd),"user"===n){let e=a.message;if(!e)continue;let r=e.content,n="";if("string"==typeof r)n=r.slice(0,300);else if(Array.isArray(r)){let e=[];for(let t of r)"object"==typeof t&&null!==t&&"text"===t.type&&e.push(String(t.text??"").slice(0,300));n=e.join(" | ")}if(n.includes("<command-message>")){let e=n.match(/<command-name>\/([^<]+)<\/command-name>/);n=`[Command: ${e?e[1]:"unknown"}]`}if(n.includes("<local-command-caveat>")||n.includes("<task-notification>"))continue;n.trim()&&t.push({time:i.slice(11,16),text:n.slice(0,200)})}if("assistant"===n){let e=a.message;if(!e)continue;let t=e.content;Array.isArray(t)&&(o+=t.filter(e=>"object"==typeof e&&null!==e&&"tool_use"===e.type).length)}}catch{}}catch{}if(l.length>0&&t.length>0){let e=u?p(u):a.default.basename(a.default.dirname(s));r.push({project:e,start:Math.min(...l.map(e=>new Date(e).getTime())).toString(),msgCount:t.length,toolCount:o,firstMessage:t[0].text})}}return r.sort((e,t)=>Number(e.start)-Number(t.start)),r},h=async(e,t)=>{let a=await (0,l.getShellPath)();return new Promise((r,i)=>{let n=(0,s.execFile)("claude",["-p"],{timeout:12e4,maxBuffer:1048576,env:{...process.env,PATH:a}},(e,t)=>{e?i(Error(`claude -p failed: ${e.message}`)):r(t.trim())});n.stdin?.write(`${t}
1
+ module.exports=[270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,a=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(a)),e.s(["PRISTINE_ENV",0,a],965898);let r=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),i=["LC_"],n=e=>r.has(e)||i.some(t=>e.startsWith(t)),s={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,r]of Object.entries(a))void 0!==r&&n(t)&&(e[t]=r);return{...e,...s}},o=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>l(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(l()).map(([e,t])=>`${e}=${o(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${o(u())} -l`},"defaultShell",0,u],597789)},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},319668,(e,t,a)=>{t.exports=e.x("readline",()=>require("readline"))},713915,e=>{"use strict";var t=e.i(233405),a=e.i(924868),r=e.i(446786),i=e.i(814747),n=e.i(224361),s=e.i(597789),l=e.i(965898);let o=(0,n.promisify)(t.execFile),u=null,c=null,d=async()=>{let e=r.default.userInfo().shell||(0,s.defaultShell)();try{let{stdout:t}=await o(e,["-ilc",'echo -n "$PATH"'],{timeout:5e3,env:{...(0,s.buildShellEnv)(),SHELL:e,DISABLE_AUTO_UPDATE:"true",ZSH_TMUX_AUTOSTARTED:"true"}});return t.toString().trim()}catch{return l.PRISTINE_ENV.PATH||""}},p=async()=>u||(c||(c=d().then(e=>(u=e,c=null,e))),c),m=async(e,t,a)=>{try{let r=await p(),{stdout:i}=await o(e,t,{timeout:5e3,env:{...process.env,PATH:r}});return{installed:!0,version:a(i)}}catch{return{installed:!1,version:null}}},h=e=>e.trim().match(/(\d+\.\d+[\d.]*)/)?.[1]??null,f=[i.default.join(r.default.homedir(),".local","bin")],g=async()=>{for(let e of f)try{return await (0,a.access)(i.default.join(e,"claude")),e}catch{}return null},y=e=>e.installed&&null!==e.version&&parseFloat(e.version)>=2.9,S=async()=>{u=await d();let[e,t,n]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]),s=(y(e)&&t.installed&&n.installed,n.installed?null:await g()),l=!1;if(n.installed||s)try{await (0,a.access)(i.default.join(r.default.homedir(),".claude")),l=!0}catch{}return{tmux:{...e,compatible:y(e)},git:t,claude:{...n,binaryPath:s,loggedIn:l}}},w=null,v=null,A=null,x=null,E=async()=>A&&Date.now()-A.checkedAt<1e3?A.result:x||(x=S().then(e=>(A={result:e,checkedAt:Date.now()},x=null,e)).catch(e=>{throw x=null,e})),T=async()=>{u=await d();let[e,t,a]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]);return{tmux:{...e,compatible:y(e)},git:t,claude:a}},P=async()=>w&&Date.now()-w.checkedAt<3e4?w.result:v||(v=T().then(e=>(w={result:e,checkedAt:Date.now()},v=null,e)).catch(e=>{throw v=null,e}));e.s(["getCachedPreflightStatus",0,E,"getCachedRuntimePreflight",0,P,"getShellPath",0,p,"invalidateRuntimeCache",0,()=>{w=null,v=null}])},7991,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(522734),n=e.i(319668),s=e.i(233405),l=e.i(713915),o=e.i(177579);let u=a.default.join(r.default.homedir(),".purplemux","stats","daily-reports"),c=async()=>{let e={};try{for(let r of(await t.default.readdir(u)))if(r.endsWith(".json"))try{let i=await t.default.readFile(a.default.join(u,r),"utf-8"),n=JSON.parse(i);n.date&&n.brief&&(e[n.date]=n)}catch{}}catch{}return e},d=async e=>{await t.default.mkdir(u,{recursive:!0}),await t.default.writeFile(a.default.join(u,`${e.date}.json`),JSON.stringify(e,null,2),"utf-8")},p=e=>{let t=r.default.homedir();return(e.startsWith(t)?e.slice(t.length+1):e).replace(/^Workspace\/github\.com\//g,"").replace(/^Workspace\/gitlab\.kolonfnc\.com\//g,"gitlab/").replace(/^Documents\//g,"docs/").replace(/^Downloads/g,"Downloads")},m=async e=>{let t=await (0,o.collectJsonlFiles)(),r=[];for(let s of t){let t=[],l=[],o=0,u="";try{let a=(0,i.createReadStream)(s,{encoding:"utf-8"});for await(let r of n.default.createInterface({input:a,crlfDelay:1/0}))if(r.trim())try{let a=JSON.parse(r),i=String(a.timestamp??"");if(!i.startsWith(e))continue;l.push(i);let n=String(a.type??"");if(u||"string"!=typeof a.cwd||(u=a.cwd),"user"===n){let e=a.message;if(!e)continue;let r=e.content,n="";if("string"==typeof r)n=r.slice(0,300);else if(Array.isArray(r)){let e=[];for(let t of r)"object"==typeof t&&null!==t&&"text"===t.type&&e.push(String(t.text??"").slice(0,300));n=e.join(" | ")}if(n.includes("<command-message>")){let e=n.match(/<command-name>\/([^<]+)<\/command-name>/);n=`[Command: ${e?e[1]:"unknown"}]`}if(n.includes("<local-command-caveat>")||n.includes("<task-notification>"))continue;n.trim()&&t.push({time:i.slice(11,16),text:n.slice(0,200)})}if("assistant"===n){let e=a.message;if(!e)continue;let t=e.content;Array.isArray(t)&&(o+=t.filter(e=>"object"==typeof e&&null!==e&&"tool_use"===e.type).length)}}catch{}}catch{}if(l.length>0&&t.length>0){let e=u?p(u):a.default.basename(a.default.dirname(s));r.push({project:e,start:Math.min(...l.map(e=>new Date(e).getTime())).toString(),msgCount:t.length,toolCount:o,firstMessage:t[0].text})}}return r.sort((e,t)=>Number(e.start)-Number(t.start)),r},h=async(e,t)=>{let a=await (0,l.getShellPath)();return new Promise((r,i)=>{let n=(0,s.execFile)("claude",["-p"],{timeout:12e4,maxBuffer:1048576,env:{...process.env,PATH:a}},(e,t)=>{e?i(Error(`claude -p failed: ${e.message}`)):r(t.trim())});n.stdin?.write(`${t}
2
2
 
3
3
  ${e}`),n.stdin?.end()})},f={en:"English",ko:"Korean (한국어)",ja:"Japanese (日本語)","zh-CN":"Simplified Chinese (简体中文)","zh-TW":"Traditional Chinese (繁體中文)",de:"German (Deutsch)",es:"Spanish (Español)",fr:"French (Français)","pt-BR":"Brazilian Portuguese (Português do Brasil)",ru:"Russian (Русский)",tr:"Turkish (Türkçe)"},g=async(e,t=!1,a="en")=>{var r,i;let n,s,l;if(!t){let t=await y(e);if(t&&t.locale===a)return t}let o=await m(e);if(0===o.length){let t={date:e,brief:"No activity recorded.",detail:"",generatedAt:new Date().toISOString(),locale:a};return await d(t),t}let u=o.map(e=>{let t=new Date(Number(e.start)).toTimeString().slice(0,5);return`[${t}] [${e.project}] msgs=${e.msgCount}, tools=${e.toolCount} | ${e.firstMessage}`}).join("\n"),{brief:c,detail:p}=(s=(i=await h(u,(r=e,n=f[a]??f.en,`Summarize the Claude session history for ${r}.
4
4
 
@@ -27,4 +27,4 @@ Rules:
27
27
 
28
28
  Data:`))).match(/\[BRIEF\]\s*\n([\s\S]*?)(?=\[DETAIL\])/),l=i.match(/\[DETAIL\]\s*\n([\s\S]*?)$/),{brief:s?s[1].replace(/[\s#\-]*$/,"").trim():i.slice(0,500),detail:l?l[1].trim():""}),g={date:e,brief:c,detail:p,generatedAt:new Date().toISOString(),locale:a};return await d(g),g},y=async e=>{try{let r=await t.default.readFile(a.default.join(u,`${e}.json`),"utf-8"),i=JSON.parse(r);return i.date&&i.brief?i:null}catch{return null}};e.s(["generateDailyReport",0,g,"readAllCachedReports",0,c,"shortenCwd",0,p])},843866,e=>{"use strict";var t=e.i(926747),a=e.i(190406),r=e.i(244898),i=e.i(262950),n=e.i(7991);let s=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"method-not-allowed"});let{date:a,force:r,locale:i}=e.body;if(!a||!/^\d{4}-\d{2}-\d{2}$/.test(a))return t.status(400).json({error:"invalid-date",message:"date must be YYYY-MM-DD"});let s="string"==typeof i&&i.trim()?i:"en";try{let e=await (0,n.generateDailyReport)(a,!!r,s);return t.status(200).json(e)}catch(a){let e=a instanceof Error?a.message:"unknown error";return t.status(500).json({error:"generation-failed",message:e})}};e.s(["default",0,s],806436);var l=e.i(806436),o=e.i(7031),u=e.i(181927),c=e.i(846432);let d=(0,i.hoist)(l,"default"),p=(0,i.hoist)(l,"config"),m=new r.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/stats/daily-report/generate",pathname:"/api/stats/daily-report/generate",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function h(e,a,r){r.requestMeta&&(0,c.setRequestMeta)(e,r.requestMeta),m.isDev&&(0,c.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/stats/daily-report/generate";i=i.replace(/\/index$/,"")||"/";let n=await m.prepare(e,a,{srcPage:i});if(!n){a.statusCode=400,a.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:s,params:l,prerenderManifest:d,routerServerContext:p}=n;try{let t,r=e.method||"GET",n=(0,o.getTracer)(),c=n.getActiveScopeSpan(),h=!!(null==p?void 0:p.isWrappedByNextServer),f=m.instrumentationOnRequestError.bind(m),g=async o=>m.render(e,a,{query:{...s,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:d.preview,propagateError:!1,dev:m.isDev,page:"/api/stats/daily-report/generate",internalRevalidate:null==p?void 0:p.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!o)return;o.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;o.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),o.updateName(e),t&&t!==o&&(t.setAttribute("http.route",s),t.updateName(e))}else o.updateName(`${r} ${i}`)});h&&c?await g(c):(t=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(u.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:o.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},g),void 0,!h))}catch(e){if(m.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==r.waitUntil||r.waitUntil.call(r,Promise.resolve())}}e.s(["config",0,p,"default",0,d,"handler",0,h],843866)}];
29
29
 
30
- //# sourceMappingURL=%5Broot-of-the-server%5D__0t7wqt6._.js.map
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__10h2vlr._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[270406,(t,e,r)=>{e.exports=t.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(t,e,r)=>{e.exports=t.x("os",()=>require("os"))},814747,(t,e,r)=>{e.exports=t.x("path",()=>require("path"))},924868,(t,e,r)=>{e.exports=t.x("fs/promises",()=>require("fs/promises"))},224361,(t,e,r)=>{e.exports=t.x("util",()=>require("util"))},233405,(t,e,r)=>{e.exports=t.x("child_process",()=>require("child_process"))},597789,965898,t=>{"use strict";let e=process.env.__PMUX_PRISTINE_ENV,r=Object.freeze(e?JSON.parse(e):{...process.env});e||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(r)),t.s(["PRISTINE_ENV",0,r],965898);let n=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),s=["LC_"],a=t=>n.has(t)||s.some(e=>t.startsWith(e)),i={TERM:"xterm-256color",COLORTERM:"truecolor"},o=()=>{let t={};for(let[e,n]of Object.entries(r))void 0!==n&&a(e)&&(t[e]=n);return{...t,...i}},u=t=>`'${t.replace(/'/g,"'\\''")}'`,l=()=>r.SHELL||"/bin/bash";t.s(["buildShellEnv",0,()=>o(),"buildShellLaunchCommand",0,()=>{let t=Object.entries(o()).map(([t,e])=>`${t}=${u(e)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${t} ${u(l())} -l`},"defaultShell",0,l],597789)},422392,t=>{"use strict";let e=new Map,r=6e4;t.s(["getCached",0,t=>{let r=e.get(t);return r?Date.now()>r.expiresAt?(e.delete(t),null):r.data:null},"setCached",0,(t,n,s=r)=>{e.set(t,{data:n,expiresAt:Date.now()+s})}])},990294,(t,e,r)=>{t.e,e.exports=function(){"use strict";var t="millisecond",e="second",r="minute",n="hour",s="week",a="month",i="quarter",o="year",u="date",l="Invalid Date",c=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f=function(t,e,r){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(r)+t},h="en",p={};p[h]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}};var m="$isDayjsObject",y=function(t){return t instanceof S||!(!t||!t[m])},$=function t(e,r,n){var s;if(!e)return h;if("string"==typeof e){var a=e.toLowerCase();p[a]&&(s=a),r&&(p[a]=r,s=a);var i=e.split("-");if(!s&&i.length>1)return t(i[0])}else{var o=e.name;p[o]=e,s=o}return!n&&s&&(h=s),s||!n&&h},g=function(t,e){if(y(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new S(r)},v={s:f,z:function(t){var e=-t.utcOffset(),r=Math.abs(e);return(e<=0?"+":"-")+f(Math.floor(r/60),2,"0")+":"+f(r%60,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var n=12*(r.year()-e.year())+(r.month()-e.month()),s=e.clone().add(n,a),i=r-s<0,o=e.clone().add(n+(i?-1:1),a);return+(-(n+(r-s)/(i?s-o:o-s))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(l){return({M:a,y:o,w:s,d:"day",D:u,h:n,m:r,s:e,ms:t,Q:i})[l]||String(l||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}};v.l=$,v.i=y,v.w=function(t,e){return g(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var S=function(){function f(t){this.$L=$(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[m]=!0}var h=f.prototype;return h.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(v.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(c);if(n){var s=n[2]-1||0,a=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],s,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)):new Date(n[1],s,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)}}return new Date(e)}(t),this.init()},h.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},h.$utils=function(){return v},h.isValid=function(){return this.$d.toString()!==l},h.isSame=function(t,e){var r=g(t);return this.startOf(e)<=r&&r<=this.endOf(e)},h.isAfter=function(t,e){return g(t)<this.startOf(e)},h.isBefore=function(t,e){return this.endOf(e)<g(t)},h.$g=function(t,e,r){return v.u(t)?this[e]:this.set(r,t)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(t,i){var l=this,c=!!v.u(i)||i,d=v.p(t),f=function(t,e){var r=v.w(l.$u?Date.UTC(l.$y,e,t):new Date(l.$y,e,t),l);return c?r:r.endOf("day")},h=function(t,e){return v.w(l.toDate()[t].apply(l.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),l)},p=this.$W,m=this.$M,y=this.$D,$="set"+(this.$u?"UTC":"");switch(d){case o:return c?f(1,0):f(31,11);case a:return c?f(1,m):f(0,m+1);case s:var g=this.$locale().weekStart||0,S=(p<g?p+7:p)-g;return f(c?y-S:y+(6-S),m);case"day":case u:return h($+"Hours",0);case n:return h($+"Minutes",1);case r:return h($+"Seconds",2);case e:return h($+"Milliseconds",3);default:return this.clone()}},h.endOf=function(t){return this.startOf(t,!1)},h.$set=function(s,i){var l,c=v.p(s),d="set"+(this.$u?"UTC":""),f=((l={}).day=d+"Date",l[u]=d+"Date",l[a]=d+"Month",l[o]=d+"FullYear",l[n]=d+"Hours",l[r]=d+"Minutes",l[e]=d+"Seconds",l[t]=d+"Milliseconds",l)[c],h="day"===c?this.$D+(i-this.$W):i;if(c===a||c===o){var p=this.clone().set(u,1);p.$d[f](h),p.init(),this.$d=p.set(u,Math.min(this.$D,p.daysInMonth())).$d}else f&&this.$d[f](h);return this.init(),this},h.set=function(t,e){return this.clone().$set(t,e)},h.get=function(t){return this[v.p(t)]()},h.add=function(t,i){var u,l=this;t=Number(t);var c=v.p(i),d=function(e){var r=g(l);return v.w(r.date(r.date()+Math.round(e*t)),l)};if(c===a)return this.set(a,this.$M+t);if(c===o)return this.set(o,this.$y+t);if("day"===c)return d(1);if(c===s)return d(7);var f=((u={})[r]=6e4,u[n]=36e5,u[e]=1e3,u)[c]||1,h=this.$d.getTime()+t*f;return v.w(h,this)},h.subtract=function(t,e){return this.add(-1*t,e)},h.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||l;var n=t||"YYYY-MM-DDTHH:mm:ssZ",s=v.z(this),a=this.$H,i=this.$m,o=this.$M,u=r.weekdays,c=r.months,f=r.meridiem,h=function(t,r,s,a){return t&&(t[r]||t(e,n))||s[r].slice(0,a)},p=function(t){return v.s(a%12||12,t,"0")},m=f||function(t,e,r){var n=t<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(d,function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return v.s(e.$y,4,"0");case"M":return o+1;case"MM":return v.s(o+1,2,"0");case"MMM":return h(r.monthsShort,o,c,3);case"MMMM":return h(c,o);case"D":return e.$D;case"DD":return v.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(r.weekdaysMin,e.$W,u,2);case"ddd":return h(r.weekdaysShort,e.$W,u,3);case"dddd":return u[e.$W];case"H":return String(a);case"HH":return v.s(a,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return m(a,i,!0);case"A":return m(a,i,!1);case"m":return String(i);case"mm":return v.s(i,2,"0");case"s":return String(e.$s);case"ss":return v.s(e.$s,2,"0");case"SSS":return v.s(e.$ms,3,"0");case"Z":return s}return null}(t)||s.replace(":","")})},h.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},h.diff=function(t,u,l){var c,d=this,f=v.p(u),h=g(t),p=(h.utcOffset()-this.utcOffset())*6e4,m=this-h,y=function(){return v.m(d,h)};switch(f){case o:c=y()/12;break;case a:c=y();break;case i:c=y()/3;break;case s:c=(m-p)/6048e5;break;case"day":c=(m-p)/864e5;break;case n:c=m/36e5;break;case r:c=m/6e4;break;case e:c=m/1e3;break;default:c=m}return l?c:v.a(c)},h.daysInMonth=function(){return this.endOf(a).$D},h.$locale=function(){return p[this.$L]},h.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),n=$(t,e,!0);return n&&(r.$L=n),r},h.clone=function(){return v.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},f}(),w=S.prototype;return g.prototype=w,[["$ms",t],["$s",e],["$m",r],["$H",n],["$W","day"],["$M",a],["$y",o],["$D",u]].forEach(function(t){w[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),g.extend=function(t,e){return t.$i||(t(e,S,g),t.$i=!0),g},g.locale=$,g.isDayjs=y,g.unix=function(t){return g(1e3*t)},g.en=p[h],g.Ls=p,g.p={},g}()},975925,t=>{"use strict";var e=t.i(990294);let r=t=>{let r=new Date;switch(t){case"today":return{start:(0,e.default)().startOf("day").toDate(),end:r};case"7d":return{start:(0,e.default)().subtract(7,"day").startOf("day").toDate(),end:r};case"30d":return{start:(0,e.default)().subtract(30,"day").startOf("day").toDate(),end:r};case"all":return{start:new Date(0),end:r}}};t.s(["isDateStringWithinPeriod",0,(t,n)=>{if("all"===n)return!0;let{start:s,end:a}=r(n),i=(0,e.default)(t).toDate();return i>=s&&i<=a},"isWithinPeriod",0,(t,e)=>{if("all"===e)return!0;let{start:n,end:s}=r(e),a=new Date(t);return a>=n&&a<=s},"parsePeriod",0,t=>"today"===t||"7d"===t||"30d"===t||"all"===t?t:"all"])},411941,t=>{"use strict";var e=t.i(924868),r=t.i(522734),n=t.i(814747),s=t.i(446786),a=t.i(319668),i=t.i(975925),o=t.i(7991);let u=n.default.join(s.default.homedir(),".claude","projects"),l=t=>/^agent-/.test(t),c=async()=>{let t=[];try{for(let r of(await e.default.readdir(u))){let s=n.default.join(u,r),a=await e.default.stat(s).catch(()=>null);if(a?.isDirectory())for(let a of(await e.default.readdir(s).catch(()=>[])))!a.endsWith(".jsonl")||l(a)||t.push({filePath:n.default.join(s,a),project:r})}}catch{}return t},d=async(t,e,n)=>{let s=new Map,u="";try{let o=(0,r.createReadStream)(t,{encoding:"utf-8"});for await(let t of a.default.createInterface({input:o,crlfDelay:1/0}))if(t.trim())try{let r=JSON.parse(t),a=String(r.timestamp??"");if(u||"string"!=typeof r.cwd||(u=r.cwd),!a||!(0,i.isWithinPeriod)(a,n))continue;let o=String(r.sessionId??"");if(!o)continue;let l=String(r.type??"");if("user"!==l&&"assistant"!==l)continue;let c=s.get(o);if(c||(c={sessionId:o,project:e,startedAt:a,lastActivityAt:a,messageCount:0,totalInputTokens:0,totalOutputTokens:0,model:""},s.set(o,c)),a<c.startedAt&&(c.startedAt=a),a>c.lastActivityAt&&(c.lastActivityAt=a),"user"===l&&c.messageCount++,"assistant"===l){let t=r.message;if(t){let e=String(t.model??"");e&&(c.model=e);let r=t.usage;r&&(c.totalInputTokens+=Number(r.input_tokens??0),c.totalOutputTokens+=Number(r.output_tokens??0))}}}catch{}}catch{}if(u){let t=(0,o.shortenCwd)(u);for(let e of s.values())e.project=t}return Array.from(s.values())},f=async(t,e)=>{let r=[],n=0,s=async()=>{for(;n<t.length;){let e=n++;r[e]=await t[e]()}},a=Array.from({length:Math.min(e,t.length)},()=>s());return await Promise.all(a),r},h=async(t,e)=>{let n=new Map;try{let s=(0,r.createReadStream)(t,{encoding:"utf-8"});for await(let t of a.default.createInterface({input:s,crlfDelay:1/0}))if(t.trim())try{let r=JSON.parse(t),s=String(r.timestamp??"");if(!s)continue;let a=s.slice(0,10);if(!e.has(a))continue;let i=String(r.sessionId??"");if(!i)continue;let o=String(r.type??"");if("user"!==o&&"assistant"!==o)continue;let u=new Date(s).getTime();if(isNaN(u))continue;let l=n.get(a);l||(l=new Map,n.set(a,l));let c=l.get(i);c?c.push(u):l.set(i,[u])}catch{}}catch{}return n},p=async t=>{let e=await c();if(0===e.length)return new Map;let r=e.map(e=>()=>h(e.filePath,t)),n=await f(r,10),s=new Map;for(let t of n)for(let[e,r]of t){let t=s.get(e);for(let[n,a]of(t||(t=new Map,s.set(e,t)),r)){let e=t.get(n);e?e.push(...a):t.set(n,[...a])}}return s},m=async t=>{let e=await c();if(0===e.length)return[];let r=e.map(e=>()=>d(e.filePath,e.project,t)),n=await f(r,10),s=new Map;for(let t of n)for(let e of t){let t=s.get(e.project);t?(t.sessionCount++,t.messageCount+=e.messageCount,t.totalTokens+=e.totalInputTokens+e.totalOutputTokens):s.set(e.project,{project:e.project,sessionCount:1,messageCount:e.messageCount,totalTokens:e.totalInputTokens+e.totalOutputTokens})}return Array.from(s.values()).sort((t,e)=>e.totalTokens-t.totalTokens)},y=async t=>{let e=await c();if(0===e.length)return[];let r=e.map(e=>()=>d(e.filePath,e.project,t)),n=await f(r,10),s=[];for(let t of n)for(let e of t)s.push({sessionId:e.sessionId,project:e.project,startedAt:e.startedAt,lastActivityAt:e.lastActivityAt,messageCount:e.messageCount,totalTokens:e.totalInputTokens+e.totalOutputTokens,model:e.model});return s.sort((t,e)=>e.startedAt.localeCompare(t.startedAt))};t.s(["parseAllProjects",0,m,"parseAllSessions",0,y,"parseTimestampsByDay",0,p])},326326,t=>{"use strict";var e=t.i(926747),r=t.i(190406),n=t.i(244898),s=t.i(262950),a=t.i(411941),i=t.i(975925),o=t.i(422392);let u=async(t,e)=>{if("GET"!==t.method)return e.setHeader("Allow","GET"),e.status(405).json({error:"method-not-allowed"});let r=(0,i.parsePeriod)(t.query.period),n=`stats:projects:${r}`,s=(0,o.getCached)(n);if(s)return e.status(200).json(s);let u=await (0,a.parseAllProjects)(r),l={projects:u,totalProjects:u.length};return(0,o.setCached)(n,l),e.status(200).json(l)};t.s(["default",0,u],108001);var l=t.i(108001),c=t.i(7031),d=t.i(181927),f=t.i(846432);let h=(0,s.hoist)(l,"default"),p=(0,s.hoist)(l,"config"),m=new n.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/stats/projects",pathname:"/api/stats/projects",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function y(t,r,n){n.requestMeta&&(0,f.setRequestMeta)(t,n.requestMeta),m.isDev&&(0,f.addRequestMeta)(t,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/stats/projects";s=s.replace(/\/index$/,"")||"/";let a=await m.prepare(t,r,{srcPage:s});if(!a){r.statusCode=400,r.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve());return}let{query:i,params:o,prerenderManifest:u,routerServerContext:l}=a;try{let e,n=t.method||"GET",a=(0,c.getTracer)(),f=a.getActiveScopeSpan(),h=!!(null==l?void 0:l.isWrappedByNextServer),p=m.instrumentationOnRequestError.bind(m),y=async c=>m.render(t,r,{query:{...i,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:u.preview,propagateError:!1,dev:m.isDev,page:"/api/stats/projects",internalRevalidate:null==l?void 0:l.revalidate,onError:(...e)=>p(t,...e)}).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let t=a.getRootSpanAttributes();if(!t)return;if(t.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${t.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=t.get("next.route");if(i){let t=`${n} ${i}`;c.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),c.updateName(t),e&&e!==c&&(e.setAttribute("http.route",i),e.updateName(t))}else c.updateName(`${n} ${s}`)});h&&f?await y(f):(e=a.getActiveScopeSpan(),await a.withPropagatedContext(t.headers,()=>a.trace(d.BaseServerSpan.handleRequest,{spanName:`${n} ${s}`,kind:c.SpanKind.SERVER,attributes:{"http.method":n,"http.target":t.url}},y),void 0,!h))}catch(t){if(m.isDev)throw t;(0,e.sendError)(r,500,"Internal Server Error")}finally{null==n.waitUntil||n.waitUntil.call(n,Promise.resolve())}}t.s(["config",0,p,"default",0,h,"handler",0,y],326326)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__11iyaqz._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},319668,(e,t,a)=>{t.exports=e.x("readline",()=>require("readline"))},177579,e=>{"use strict";var t=e.i(924868),a=e.i(522734),n=e.i(814747),r=e.i(446786),s=e.i(319668),i=e.i(990294);let o=n.default.join(r.default.homedir(),".purplemux","stats"),u=n.default.join(o,"cache.json"),c=n.default.join(r.default.homedir(),".claude","projects"),l=()=>({input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0}),d=async()=>{let e=[];try{for(let a of(await t.default.readdir(c))){let r=n.default.join(c,a),s=await t.default.stat(r).catch(()=>null);if(s?.isDirectory())for(let a of(await t.default.readdir(r).catch(()=>[])))a.endsWith(".jsonl")&&!/^agent-/.test(a)&&e.push(n.default.join(r,a))}}catch{}return e},h=async(e,t)=>{let n=new Map,r=new Map;try{let i=(0,a.createReadStream)(e,{encoding:"utf-8"});for await(let e of s.default.createInterface({input:i,crlfDelay:1/0}))if(e.trim())try{let a=JSON.parse(e),s=String(a.timestamp??"");if(!s)continue;let i=s.slice(0,10);if(!t.has(i))continue;let o=String(a.type??"");if("user"!==o&&"assistant"!==o)continue;let u=String(a.sessionId??""),c=String(new Date(s).getHours()),d=n.get(i);d||(d={messageCount:0,sessionCount:0,toolCallCount:0,hourCounts:{},modelTokens:{},sessions:[]},n.set(i,d),r.set(i,new Map));let h=r.get(i);if("user"===o&&(d.messageCount++,d.hourCounts[c]=(d.hourCounts[c]??0)+1,u)){let e=h.get(u);e?(e.messages++,s>e.end&&(e.end=s),s<e.start&&(e.start=s)):h.set(u,{start:s,end:s,messages:1})}if("assistant"===o){let e=a.message;if(!e)continue;let t=e.content;if(Array.isArray(t)){let e=t.filter(e=>"object"==typeof e&&null!==e&&"tool_use"===e.type).length;d.toolCallCount+=e}let n=String(e.model??""),r=e.usage;if(n&&!n.startsWith("<")&&r){d.modelTokens[n]||(d.modelTokens[n]=l());let e=d.modelTokens[n],t=Number(r.cache_creation_input_tokens??0),a=r.cache_creation,s=Number(a?.ephemeral_1h_input_tokens??0),i=a?.ephemeral_5m_input_tokens!=null?Number(a.ephemeral_5m_input_tokens):Math.max(0,t-s);e.input+=Number(r.input_tokens??0),e.output+=Number(r.output_tokens??0),e.cacheRead+=Number(r.cache_read_input_tokens??0),e.cacheCreation+=t,e.cacheCreation5m+=i,e.cacheCreation1h+=s}if(u){let e=h.get(u);e?(s>e.end&&(e.end=s),s<e.start&&(e.start=s)):h.set(u,{start:s,end:s,messages:0})}}}catch{}}catch{}for(let[e,t]of r){let a=n.get(e);a&&(a.sessionCount=t.size,a.sessions=Array.from(t.entries()).map(([e,t])=>({id:e,start:t.start,end:t.end,messages:t.messages})))}return n},p=async(e,t)=>{let a=[],n=0,r=async()=>{for(;n<e.length;){let t=n++;a[t]=await e[t]()}},s=Array.from({length:Math.min(t,e.length)},()=>r());return await Promise.all(s),a},f=(e,t)=>{for(let[a,n]of(e.messageCount+=t.messageCount,e.toolCallCount+=t.toolCallCount,Object.entries(t.hourCounts)))e.hourCounts[a]=(e.hourCounts[a]??0)+n;for(let[a,n]of Object.entries(t.modelTokens)){e.modelTokens[a]||(e.modelTokens[a]=l());let t=e.modelTokens[a];t.input+=n.input,t.output+=n.output,t.cacheRead+=n.cacheRead,t.cacheCreation+=n.cacheCreation,t.cacheCreation5m+=n.cacheCreation5m,t.cacheCreation1h+=n.cacheCreation1h}let a=new Set(e.sessions.map(e=>e.id));for(let n of t.sessions)if(a.has(n.id)){let t=e.sessions.find(e=>e.id===n.id);t.messages+=n.messages,n.start<t.start&&(t.start=n.start),n.end>t.end&&(t.end=n.end)}else e.sessions.push(n);e.sessionCount=e.sessions.length},m=async()=>{try{let e=await t.default.readFile(u,"utf-8"),a=JSON.parse(e);if(2!==a.version)return null;return a}catch{return null}},C=async e=>{await t.default.mkdir(o,{recursive:!0}),await t.default.writeFile(u,JSON.stringify(e),"utf-8")},y=null,g=async e=>{try{let t=(0,a.createReadStream)(e,{encoding:"utf-8"});for await(let e of s.default.createInterface({input:t,crlfDelay:1/0}))if(e.trim())try{let t=JSON.parse(e),a=String(t.timestamp??"");if(a)return a.slice(0,10)}catch{}}catch{}return null},v=async()=>{let e=await d();if(0===e.length)return null;let t=e.map(e=>()=>g(e)),a=(await p(t,10)).filter(e=>null!==e);return 0===a.length?null:(a.sort(),a[0])},k=async e=>{if(0===e.size)return new Map;let t=(await d()).map(t=>()=>h(t,e)),a=await p(t,10),n=new Map;for(let e of a)for(let[t,a]of e){let e=n.get(t);e?f(e,a):n.set(t,a)}return n},S=async()=>{if(y&&Date.now()<y.expiresAt)return y.data;let e=(0,i.default)().subtract(1,"day").format("YYYY-MM-DD"),t=(0,i.default)().format("YYYY-MM-DD"),a=await m(),n=new Set;if(n.add(t),a){if(a.lastComputedDate<e){let t=(0,i.default)(a.lastComputedDate).add(1,"day"),r=(0,i.default)(e);for(;t.isBefore(r)||t.isSame(r);){let e=t.format("YYYY-MM-DD");a.days[e]||n.add(e),t=t.add(1,"day")}}}else{a={version:2,lastComputedDate:"",days:{}};let r=await v();if(!r)return w(a,t);let s=(0,i.default)(r),o=(0,i.default)(e);for(;s.isBefore(o)||s.isSame(o);)n.add(s.format("YYYY-MM-DD")),s=s.add(1,"day")}let r=await k(n);for(let[e,n]of r)e!==t&&(a.days[e]=n);a.lastComputedDate=e,await C(a);let s=r.get(t)??null,o=w(a,t,s);return y={data:o,expiresAt:Date.now()+3e5},o},w=(e,t,a)=>{let n=[],r=[],s={},i={},o={},u=0,c=0,l="",d={sessionId:"",duration:0,messageCount:0,timestamp:""},h=Object.entries(e.days);for(let[e,p]of(a&&h.push([t,a]),h.sort((e,t)=>e[0].localeCompare(t[0])),h)){!l&&p.messageCount>0&&(l=e),n.push({date:e,messageCount:p.messageCount,sessionCount:p.sessionCount,toolCallCount:p.toolCallCount});let t={};for(let[e,a]of Object.entries(p.modelTokens)){t[e]={input:a.input,output:a.output,cacheRead:a.cacheRead,cacheCreation:a.cacheCreation,cacheCreation5m:a.cacheCreation5m,cacheCreation1h:a.cacheCreation1h},s[e]||(s[e]={inputTokens:0,outputTokens:0,cacheReadInputTokens:0,cacheCreationInputTokens:0,cacheCreation5mInputTokens:0,cacheCreation1hInputTokens:0,webSearchRequests:0,costUSD:0,contextWindow:0,maxOutputTokens:0});let n=s[e];n.inputTokens+=a.input,n.outputTokens+=a.output,n.cacheReadInputTokens+=a.cacheRead,n.cacheCreationInputTokens+=a.cacheCreation,n.cacheCreation5mInputTokens+=a.cacheCreation5m,n.cacheCreation1hInputTokens+=a.cacheCreation1h}r.push({date:e,tokensByModel:t});let a=new Date(e).getDay();for(let[e,t]of Object.entries(p.hourCounts)){i[e]=(i[e]??0)+t;let n=`${a}-${e}`;o[n]=(o[n]??0)+t}for(let e of(u+=p.sessionCount,c+=p.messageCount,p.sessions)){let t=new Date(e.end).getTime()-new Date(e.start).getTime();t>d.duration&&(d={sessionId:e.id,duration:t,messageCount:e.messages,timestamp:e.start})}}return{version:2,lastComputedDate:t,dailyActivity:n,dailyModelTokens:r,modelUsage:s,totalSessions:u,totalMessages:c,longestSession:d,firstSessionDate:l,hourCounts:i,dayHourCounts:o,totalSpeculationTimeSavedMs:0}};e.s(["collectJsonlFiles",0,d,"getStatsCache",0,S])},422392,e=>{"use strict";let t=new Map,a=6e4;e.s(["getCached",0,e=>{let a=t.get(e);return a?Date.now()>a.expiresAt?(t.delete(e),null):a.data:null},"setCached",0,(e,n,r=a)=>{t.set(e,{data:n,expiresAt:Date.now()+r})}])},990294,(e,t,a)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",a="minute",n="hour",r="week",s="month",i="quarter",o="year",u="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,a){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(a)+e},p="en",f={};f[p]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],a=e%100;return"["+e+(t[(a-20)%10]||t[a]||t[0])+"]"}};var m="$isDayjsObject",C=function(e){return e instanceof k||!(!e||!e[m])},y=function e(t,a,n){var r;if(!t)return p;if("string"==typeof t){var s=t.toLowerCase();f[s]&&(r=s),a&&(f[s]=a,r=s);var i=t.split("-");if(!r&&i.length>1)return e(i[0])}else{var o=t.name;f[o]=t,r=o}return!n&&r&&(p=r),r||!n&&p},g=function(e,t){if(C(e))return e.clone();var a="object"==typeof t?t:{};return a.date=e,a.args=arguments,new k(a)},v={s:h,z:function(e){var t=-e.utcOffset(),a=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(a/60),2,"0")+":"+h(a%60,2,"0")},m:function e(t,a){if(t.date()<a.date())return-e(a,t);var n=12*(a.year()-t.year())+(a.month()-t.month()),r=t.clone().add(n,s),i=a-r<0,o=t.clone().add(n+(i?-1:1),s);return+(-(n+(a-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:s,y:o,w:r,d:"day",D:u,h:n,m:a,s:t,ms:e,Q:i})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};v.l=y,v.i=C,v.w=function(e,t){return g(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var k=function(){function h(e){this.$L=y(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[m]=!0}var p=h.prototype;return p.parse=function(e){this.$d=function(e){var t=e.date,a=e.utc;if(null===t)return new Date(NaN);if(v.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(l);if(n){var r=n[2]-1||0,s=(n[7]||"0").substring(0,3);return a?new Date(Date.UTC(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},p.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},p.$utils=function(){return v},p.isValid=function(){return this.$d.toString()!==c},p.isSame=function(e,t){var a=g(e);return this.startOf(t)<=a&&a<=this.endOf(t)},p.isAfter=function(e,t){return g(e)<this.startOf(t)},p.isBefore=function(e,t){return this.endOf(t)<g(e)},p.$g=function(e,t,a){return v.u(e)?this[t]:this.set(a,e)},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this.$d.getTime()},p.startOf=function(e,i){var c=this,l=!!v.u(i)||i,d=v.p(e),h=function(e,t){var a=v.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return l?a:a.endOf("day")},p=function(e,t){return v.w(c.toDate()[e].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},f=this.$W,m=this.$M,C=this.$D,y="set"+(this.$u?"UTC":"");switch(d){case o:return l?h(1,0):h(31,11);case s:return l?h(1,m):h(0,m+1);case r:var g=this.$locale().weekStart||0,k=(f<g?f+7:f)-g;return h(l?C-k:C+(6-k),m);case"day":case u:return p(y+"Hours",0);case n:return p(y+"Minutes",1);case a:return p(y+"Seconds",2);case t:return p(y+"Milliseconds",3);default:return this.clone()}},p.endOf=function(e){return this.startOf(e,!1)},p.$set=function(r,i){var c,l=v.p(r),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[u]=d+"Date",c[s]=d+"Month",c[o]=d+"FullYear",c[n]=d+"Hours",c[a]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[l],p="day"===l?this.$D+(i-this.$W):i;if(l===s||l===o){var f=this.clone().set(u,1);f.$d[h](p),f.init(),this.$d=f.set(u,Math.min(this.$D,f.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},p.set=function(e,t){return this.clone().$set(e,t)},p.get=function(e){return this[v.p(e)]()},p.add=function(e,i){var u,c=this;e=Number(e);var l=v.p(i),d=function(t){var a=g(c);return v.w(a.date(a.date()+Math.round(t*e)),c)};if(l===s)return this.set(s,this.$M+e);if(l===o)return this.set(o,this.$y+e);if("day"===l)return d(1);if(l===r)return d(7);var h=((u={})[a]=6e4,u[n]=36e5,u[t]=1e3,u)[l]||1,p=this.$d.getTime()+e*h;return v.w(p,this)},p.subtract=function(e,t){return this.add(-1*e,t)},p.format=function(e){var t=this,a=this.$locale();if(!this.isValid())return a.invalidDate||c;var n=e||"YYYY-MM-DDTHH:mm:ssZ",r=v.z(this),s=this.$H,i=this.$m,o=this.$M,u=a.weekdays,l=a.months,h=a.meridiem,p=function(e,a,r,s){return e&&(e[a]||e(t,n))||r[a].slice(0,s)},f=function(e){return v.s(s%12||12,e,"0")},m=h||function(e,t,a){var n=e<12?"AM":"PM";return a?n.toLowerCase():n};return n.replace(d,function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return v.s(t.$y,4,"0");case"M":return o+1;case"MM":return v.s(o+1,2,"0");case"MMM":return p(a.monthsShort,o,l,3);case"MMMM":return p(l,o);case"D":return t.$D;case"DD":return v.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(a.weekdaysMin,t.$W,u,2);case"ddd":return p(a.weekdaysShort,t.$W,u,3);case"dddd":return u[t.$W];case"H":return String(s);case"HH":return v.s(s,2,"0");case"h":return f(1);case"hh":return f(2);case"a":return m(s,i,!0);case"A":return m(s,i,!1);case"m":return String(i);case"mm":return v.s(i,2,"0");case"s":return String(t.$s);case"ss":return v.s(t.$s,2,"0");case"SSS":return v.s(t.$ms,3,"0");case"Z":return r}return null}(e)||r.replace(":","")})},p.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},p.diff=function(e,u,c){var l,d=this,h=v.p(u),p=g(e),f=(p.utcOffset()-this.utcOffset())*6e4,m=this-p,C=function(){return v.m(d,p)};switch(h){case o:l=C()/12;break;case s:l=C();break;case i:l=C()/3;break;case r:l=(m-f)/6048e5;break;case"day":l=(m-f)/864e5;break;case n:l=m/36e5;break;case a:l=m/6e4;break;case t:l=m/1e3;break;default:l=m}return c?l:v.a(l)},p.daysInMonth=function(){return this.endOf(s).$D},p.$locale=function(){return f[this.$L]},p.locale=function(e,t){if(!e)return this.$L;var a=this.clone(),n=y(e,t,!0);return n&&(a.$L=n),a},p.clone=function(){return v.w(this.$d,this)},p.toDate=function(){return new Date(this.valueOf())},p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toISOString=function(){return this.$d.toISOString()},p.toString=function(){return this.$d.toUTCString()},h}(),S=k.prototype;return g.prototype=S,[["$ms",e],["$s",t],["$m",a],["$H",n],["$W","day"],["$M",s],["$y",o],["$D",u]].forEach(function(e){S[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),g.extend=function(e,t){return e.$i||(e(t,k,g),e.$i=!0),g},g.locale=y,g.isDayjs=C,g.unix=function(e){return g(1e3*e)},g.en=f[p],g.Ls=f,g.p={},g}()},975925,e=>{"use strict";var t=e.i(990294);let a=e=>{let a=new Date;switch(e){case"today":return{start:(0,t.default)().startOf("day").toDate(),end:a};case"7d":return{start:(0,t.default)().subtract(7,"day").startOf("day").toDate(),end:a};case"30d":return{start:(0,t.default)().subtract(30,"day").startOf("day").toDate(),end:a};case"all":return{start:new Date(0),end:a}}};e.s(["isDateStringWithinPeriod",0,(e,n)=>{if("all"===n)return!0;let{start:r,end:s}=a(n),i=(0,t.default)(e).toDate();return i>=r&&i<=s},"isWithinPeriod",0,(e,t)=>{if("all"===t)return!0;let{start:n,end:r}=a(t),s=new Date(e);return s>=n&&s<=r},"parsePeriod",0,e=>"today"===e||"7d"===e||"30d"===e||"all"===e?e:"all"])},333493,e=>{"use strict";var t=e.i(924868),a=e.i(814747),n=e.i(446786),r=e.i(990294),s=e.i(975925);let i={"opus-4-7":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-6":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-5":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-1":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"opus-4":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"sonnet-4-6":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-7":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"haiku-4-5":{input:1,output:5,cacheWrite5m:1.25,cacheWrite1h:2,cacheRead:.1},"haiku-3-5":{input:.8,output:4,cacheWrite5m:1,cacheWrite1h:1.6,cacheRead:.08},"haiku-3":{input:.25,output:1.25,cacheWrite5m:.3,cacheWrite1h:.5,cacheRead:.03},"opus-3":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5}},o={input:30,output:150,cacheWrite5m:37.5,cacheWrite1h:60,cacheRead:3},u=(e,t,a,n,r,s)=>t/1e6*e.input+n/1e6*e.cacheWrite5m+r/1e6*e.cacheWrite1h+s/1e6*e.cacheRead+a/1e6*e.output,c=a.default.join(n.default.homedir(),".claude","stats-cache.json"),l=(e,t,a,n,r,s)=>((e,t,a,n,r,s)=>{let c=((e,t,a,n,r,s,c=!1)=>{let l,d=(l=e.replace(/\[.*?\]$/,"").match(/claude-(\w+-[\d]+(?:-[\d]+)*)(?:-\d{8}|-v\d)?(?:\:\d)?$/))?l[1]:null;if(!d)return null;let h=c&&"opus-4-6"===d?o:i[d];return h?u(h,t,a,n,r,s):null})(e,t,a,n,r,s);if(null!==c)return c;let l=e.toLowerCase();return u(l.includes("opus")?i["opus-4-6"]:l.includes("haiku")?i["haiku-4-5"]:i["sonnet-4-6"],t,a,n,r,s)})(e,t,a,r,s,n),d={version:0,lastComputedDate:"",dailyActivity:[],dailyModelTokens:[],modelUsage:{},totalSessions:0,totalMessages:0,longestSession:{sessionId:"",duration:0,messageCount:0,timestamp:""},firstSessionDate:"",hourCounts:{},dayHourCounts:{},totalSpeculationTimeSavedMs:0},h=e=>"object"!=typeof e||null===e?{}:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Number(t??0)])),p=async()=>{try{var e,a,n;let r=await t.default.readFile(c,"utf-8"),s=JSON.parse(r);return{version:Number(s.version??0),lastComputedDate:String(s.lastComputedDate??""),dailyActivity:(e=s.dailyActivity,Array.isArray(e)?e.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),messageCount:Number(e.messageCount??0),sessionCount:Number(e.sessionCount??0),toolCallCount:Number(e.toolCallCount??0)})):[]),dailyModelTokens:(a=s.dailyModelTokens,Array.isArray(a)?a.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),tokensByModel:"object"==typeof e.tokensByModel&&null!==e.tokensByModel?Object.fromEntries(Object.entries(e.tokensByModel).map(([e,t])=>[e,(e=>{if("number"==typeof e)return{input:e,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0};if("object"==typeof e&&null!==e){let t=Number(e.cacheCreation??0),a=Number(e.cacheCreation1h??0),n=null!=e.cacheCreation5m?Number(e.cacheCreation5m):Math.max(0,t-a);return{input:Number(e.input??0),output:Number(e.output??0),cacheRead:Number(e.cacheRead??0),cacheCreation:t,cacheCreation5m:n,cacheCreation1h:a}}return{input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0}})(t)])):{}})):[]),modelUsage:(e=>{if("object"!=typeof e||null===e)return{};let t={};for(let[a,n]of Object.entries(e)){if("object"!=typeof n||null===n)continue;let e=Number(n.cacheCreationInputTokens??0),r=Number(n.cacheCreation1hInputTokens??0),s=null!=n.cacheCreation5mInputTokens?Number(n.cacheCreation5mInputTokens):Math.max(0,e-r);t[a]={inputTokens:Number(n.inputTokens??0),outputTokens:Number(n.outputTokens??0),cacheReadInputTokens:Number(n.cacheReadInputTokens??0),cacheCreationInputTokens:e,cacheCreation5mInputTokens:s,cacheCreation1hInputTokens:r,webSearchRequests:Number(n.webSearchRequests??0),costUSD:Number(n.costUSD??0),contextWindow:Number(n.contextWindow??0),maxOutputTokens:Number(n.maxOutputTokens??0)}}return t})(s.modelUsage),totalSessions:Number(s.totalSessions??0),totalMessages:Number(s.totalMessages??0),longestSession:(n=s.longestSession,"object"!=typeof n||null===n?{sessionId:"",duration:0,messageCount:0,timestamp:""}:{sessionId:String(n.sessionId??""),duration:Number(n.duration??0),messageCount:Number(n.messageCount??0),timestamp:String(n.timestamp??"")}),firstSessionDate:String(s.firstSessionDate??""),hourCounts:h(s.hourCounts),dayHourCounts:h(s.dayHourCounts),totalSpeculationTimeSavedMs:Number(s.totalSpeculationTimeSavedMs??0)}}catch{return d}},f=(e,t)=>{let a=(e=>{if("all"===e||"today"===e)return null;let t="7d"===e?7:30;return{prevStart:(0,r.default)().subtract(2*t,"day").startOf("day"),prevEnd:(0,r.default)().subtract(t,"day").startOf("day")}})(t);if(!a)return!1;let n=(0,r.default)(e);return(n.isAfter(a.prevStart)||n.isSame(a.prevStart))&&n.isBefore(a.prevEnd)};e.s(["buildOverview",0,(e,t)=>{let a,n,i,o,u=e.dailyActivity.filter(e=>(0,s.isDateStringWithinPeriod)(e.date,t)),c=e.dailyModelTokens.filter(e=>(0,s.isDateStringWithinPeriod)(e.date,t)),d="all"===t?e.totalSessions:u.reduce((e,t)=>e+t.sessionCount,0),h="all"===t?e.totalMessages:u.reduce((e,t)=>e+t.messageCount,0),p=u.reduce((e,t)=>e+t.toolCallCount,0),m=(a=e.dailyActivity,n=t,a.filter(e=>f(e.date,n))),C=m.reduce((e,t)=>e+t.sessionCount,0),y=m.reduce((e,t)=>e+t.messageCount,0),g={};if("all"===t)for(let[t,a]of Object.entries(e.modelUsage))g[t]={input:a.inputTokens,output:a.outputTokens,cacheRead:a.cacheReadInputTokens,cacheCreation:a.cacheCreationInputTokens,cacheCreation5m:a.cacheCreation5mInputTokens,cacheCreation1h:a.cacheCreation1hInputTokens,cost:l(t,a.inputTokens,a.outputTokens,a.cacheReadInputTokens,a.cacheCreation5mInputTokens,a.cacheCreation1hInputTokens)};else{for(let e of c)for(let[t,a]of Object.entries(e.tokensByModel))g[t]||(g[t]={input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0,cost:0}),g[t].input+=a.input,g[t].output+=a.output,g[t].cacheRead+=a.cacheRead,g[t].cacheCreation+=a.cacheCreation,g[t].cacheCreation5m+=a.cacheCreation5m,g[t].cacheCreation1h+=a.cacheCreation1h;for(let[t,a]of Object.entries(g)){let n=e.modelUsage[t];if(!n)continue;let r=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,s=a.input+a.output+a.cacheRead+a.cacheCreation;r>0&&(a.cost=s/r*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}}let v=c.map(e=>{let t=0,a=0,n=0,r=0;for(let s of Object.values(e.tokensByModel))t+=s.input,a+=s.output,n+=s.cacheRead,r+=s.cacheCreation;return{date:e.date,input:t,output:a,cacheRead:n,cacheCreation:r}}),k=(0,r.default)().format("YYYY-MM-DD"),S=(0,r.default)().startOf("month").format("YYYY-MM-DD"),w=e.dailyActivity.find(e=>e.date===k)?.messageCount??0,D=e.dailyActivity.filter(e=>e.date>=S).reduce((e,t)=>e+t.messageCount,0),b=Object.values(g).reduce((e,t)=>e+t.cost,0),T=t=>{let a=0;for(let n of t)for(let[t,r]of Object.entries(n.tokensByModel)){let n=e.modelUsage[t];if(!n)continue;let s=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,i=r.input+r.output+r.cacheRead+r.cacheCreation;s>0&&(a+=i/s*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}return a},$=T(e.dailyModelTokens.filter(e=>e.date===k));return{totalSessions:d,totalMessages:h,previousSessions:C,previousMessages:y,totalToolCalls:p,dailyActivity:u,modelTokens:g,dailyTokens:v,todayMessages:w,thisMonthMessages:D,totalCost:b,todayCost:$,thisMonthCost:T(e.dailyModelTokens.filter(e=>e.date>=S)),previousCost:T((i=e.dailyModelTokens,o=t,i.filter(e=>f(e.date,o)))),hourlyDistribution:e.hourCounts,dayHourDistribution:e.dayHourCounts,firstSessionDate:e.firstSessionDate,lastComputedDate:e.lastComputedDate,computedAt:new Date().toISOString()}},"readStatsCache",0,p],333493)},848424,e=>{"use strict";var t=e.i(926747),a=e.i(190406),n=e.i(244898),r=e.i(262950),s=e.i(177579),i=e.i(333493),o=e.i(975925),u=e.i(422392);let c=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"method-not-allowed"});let a=(0,o.parsePeriod)(e.query.period),n=`stats:overview:${a}`,r=(0,u.getCached)(n);if(r)return t.status(200).json(r);let c=await (0,s.getStatsCache)(),l=(0,i.buildOverview)(c,a);return(0,u.setCached)(n,l),t.status(200).json(l)};e.s(["default",0,c],487113);var l=e.i(487113),d=e.i(7031),h=e.i(181927),p=e.i(846432);let f=(0,r.hoist)(l,"default"),m=(0,r.hoist)(l,"config"),C=new n.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/stats/overview",pathname:"/api/stats/overview",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function y(e,a,n){n.requestMeta&&(0,p.setRequestMeta)(e,n.requestMeta),C.isDev&&(0,p.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/stats/overview";r=r.replace(/\/index$/,"")||"/";let s=await C.prepare(e,a,{srcPage:r});if(!s){a.statusCode=400,a.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve());return}let{query:i,params:o,prerenderManifest:u,routerServerContext:c}=s;try{let t,n=e.method||"GET",s=(0,d.getTracer)(),l=s.getActiveScopeSpan(),p=!!(null==c?void 0:c.isWrappedByNextServer),f=C.instrumentationOnRequestError.bind(C),m=async l=>C.render(e,a,{query:{...i,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:u.preview,propagateError:!1,dev:C.isDev,page:"/api/stats/overview",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=e.get("next.route");if(i){let e=`${n} ${i}`;l.setAttributes({"next.route":i,"http.route":i,"next.span_name":e}),l.updateName(e),t&&t!==l&&(t.setAttribute("http.route",i),t.updateName(e))}else l.updateName(`${n} ${r}`)});p&&l?await m(l):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(h.BaseServerSpan.handleRequest,{spanName:`${n} ${r}`,kind:d.SpanKind.SERVER,attributes:{"http.method":n,"http.target":e.url}},m),void 0,!p))}catch(e){if(C.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==n.waitUntil||n.waitUntil.call(n,Promise.resolve())}}e.s(["config",0,m,"default",0,f,"handler",0,y],848424)}];
1
+ module.exports=[270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},319668,(e,t,a)=>{t.exports=e.x("readline",()=>require("readline"))},177579,e=>{"use strict";var t=e.i(924868),a=e.i(522734),n=e.i(814747),r=e.i(446786),s=e.i(319668),i=e.i(990294);let o=n.default.join(r.default.homedir(),".purplemux","stats"),u=n.default.join(o,"cache.json"),c=n.default.join(r.default.homedir(),".claude","projects"),l=()=>({input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0}),d=async()=>{let e=[];try{for(let a of(await t.default.readdir(c))){let r=n.default.join(c,a),s=await t.default.stat(r).catch(()=>null);if(s?.isDirectory())for(let a of(await t.default.readdir(r).catch(()=>[])))a.endsWith(".jsonl")&&!/^agent-/.test(a)&&e.push(n.default.join(r,a))}}catch{}return e},h=async(e,t)=>{let n=new Map,r=new Map;try{let i=(0,a.createReadStream)(e,{encoding:"utf-8"});for await(let e of s.default.createInterface({input:i,crlfDelay:1/0}))if(e.trim())try{let a=JSON.parse(e),s=String(a.timestamp??"");if(!s)continue;let i=s.slice(0,10);if(!t.has(i))continue;let o=String(a.type??"");if("user"!==o&&"assistant"!==o)continue;let u=String(a.sessionId??""),c=String(new Date(s).getHours()),d=n.get(i);d||(d={messageCount:0,sessionCount:0,toolCallCount:0,hourCounts:{},modelTokens:{},sessions:[]},n.set(i,d),r.set(i,new Map));let h=r.get(i);if("user"===o&&(d.messageCount++,d.hourCounts[c]=(d.hourCounts[c]??0)+1,u)){let e=h.get(u);e?(e.messages++,s>e.end&&(e.end=s),s<e.start&&(e.start=s)):h.set(u,{start:s,end:s,messages:1})}if("assistant"===o){let e=a.message;if(!e)continue;let t=e.content;if(Array.isArray(t)){let e=t.filter(e=>"object"==typeof e&&null!==e&&"tool_use"===e.type).length;d.toolCallCount+=e}let n=String(e.model??""),r=e.usage;if(n&&!n.startsWith("<")&&r){d.modelTokens[n]||(d.modelTokens[n]=l());let e=d.modelTokens[n],t=Number(r.cache_creation_input_tokens??0),a=r.cache_creation,s=Number(a?.ephemeral_1h_input_tokens??0),i=a?.ephemeral_5m_input_tokens!=null?Number(a.ephemeral_5m_input_tokens):Math.max(0,t-s);e.input+=Number(r.input_tokens??0),e.output+=Number(r.output_tokens??0),e.cacheRead+=Number(r.cache_read_input_tokens??0),e.cacheCreation+=t,e.cacheCreation5m+=i,e.cacheCreation1h+=s}if(u){let e=h.get(u);e?(s>e.end&&(e.end=s),s<e.start&&(e.start=s)):h.set(u,{start:s,end:s,messages:0})}}}catch{}}catch{}for(let[e,t]of r){let a=n.get(e);a&&(a.sessionCount=t.size,a.sessions=Array.from(t.entries()).map(([e,t])=>({id:e,start:t.start,end:t.end,messages:t.messages})))}return n},p=async(e,t)=>{let a=[],n=0,r=async()=>{for(;n<e.length;){let t=n++;a[t]=await e[t]()}},s=Array.from({length:Math.min(t,e.length)},()=>r());return await Promise.all(s),a},f=(e,t)=>{for(let[a,n]of(e.messageCount+=t.messageCount,e.toolCallCount+=t.toolCallCount,Object.entries(t.hourCounts)))e.hourCounts[a]=(e.hourCounts[a]??0)+n;for(let[a,n]of Object.entries(t.modelTokens)){e.modelTokens[a]||(e.modelTokens[a]=l());let t=e.modelTokens[a];t.input+=n.input,t.output+=n.output,t.cacheRead+=n.cacheRead,t.cacheCreation+=n.cacheCreation,t.cacheCreation5m+=n.cacheCreation5m,t.cacheCreation1h+=n.cacheCreation1h}let a=new Set(e.sessions.map(e=>e.id));for(let n of t.sessions)if(a.has(n.id)){let t=e.sessions.find(e=>e.id===n.id);t.messages+=n.messages,n.start<t.start&&(t.start=n.start),n.end>t.end&&(t.end=n.end)}else e.sessions.push(n);e.sessionCount=e.sessions.length},m=async()=>{try{let e=await t.default.readFile(u,"utf-8"),a=JSON.parse(e);if(2!==a.version)return null;return a}catch{return null}},C=async e=>{await t.default.mkdir(o,{recursive:!0}),await t.default.writeFile(u,JSON.stringify(e),"utf-8")},y=null,g=async e=>{try{let t=(0,a.createReadStream)(e,{encoding:"utf-8"});for await(let e of s.default.createInterface({input:t,crlfDelay:1/0}))if(e.trim())try{let t=JSON.parse(e),a=String(t.timestamp??"");if(a)return a.slice(0,10)}catch{}}catch{}return null},v=async()=>{let e=await d();if(0===e.length)return null;let t=e.map(e=>()=>g(e)),a=(await p(t,10)).filter(e=>null!==e);return 0===a.length?null:(a.sort(),a[0])},k=async e=>{if(0===e.size)return new Map;let t=(await d()).map(t=>()=>h(t,e)),a=await p(t,10),n=new Map;for(let e of a)for(let[t,a]of e){let e=n.get(t);e?f(e,a):n.set(t,a)}return n},S=async()=>{if(y&&Date.now()<y.expiresAt)return y.data;let e=(0,i.default)().subtract(1,"day").format("YYYY-MM-DD"),t=(0,i.default)().format("YYYY-MM-DD"),a=await m(),n=new Set;if(n.add(t),a){if(a.lastComputedDate<e){let t=(0,i.default)(a.lastComputedDate).add(1,"day"),r=(0,i.default)(e);for(;t.isBefore(r)||t.isSame(r);){let e=t.format("YYYY-MM-DD");a.days[e]||n.add(e),t=t.add(1,"day")}}}else{a={version:2,lastComputedDate:"",days:{}};let r=await v();if(!r)return w(a,t);let s=(0,i.default)(r),o=(0,i.default)(e);for(;s.isBefore(o)||s.isSame(o);)n.add(s.format("YYYY-MM-DD")),s=s.add(1,"day")}let r=await k(n);for(let[e,n]of r)e!==t&&(a.days[e]=n);a.lastComputedDate=e,await C(a);let s=r.get(t)??null,o=w(a,t,s);return y={data:o,expiresAt:Date.now()+3e5},o},w=(e,t,a)=>{let n=[],r=[],s={},i={},o={},u=0,c=0,l="",d={sessionId:"",duration:0,messageCount:0,timestamp:""},h=Object.entries(e.days);for(let[e,p]of(a&&h.push([t,a]),h.sort((e,t)=>e[0].localeCompare(t[0])),h)){!l&&p.messageCount>0&&(l=e),n.push({date:e,messageCount:p.messageCount,sessionCount:p.sessionCount,toolCallCount:p.toolCallCount});let t={};for(let[e,a]of Object.entries(p.modelTokens)){t[e]={input:a.input,output:a.output,cacheRead:a.cacheRead,cacheCreation:a.cacheCreation,cacheCreation5m:a.cacheCreation5m,cacheCreation1h:a.cacheCreation1h},s[e]||(s[e]={inputTokens:0,outputTokens:0,cacheReadInputTokens:0,cacheCreationInputTokens:0,cacheCreation5mInputTokens:0,cacheCreation1hInputTokens:0,webSearchRequests:0,costUSD:0,contextWindow:0,maxOutputTokens:0});let n=s[e];n.inputTokens+=a.input,n.outputTokens+=a.output,n.cacheReadInputTokens+=a.cacheRead,n.cacheCreationInputTokens+=a.cacheCreation,n.cacheCreation5mInputTokens+=a.cacheCreation5m,n.cacheCreation1hInputTokens+=a.cacheCreation1h}r.push({date:e,tokensByModel:t});let a=new Date(e).getDay();for(let[e,t]of Object.entries(p.hourCounts)){i[e]=(i[e]??0)+t;let n=`${a}-${e}`;o[n]=(o[n]??0)+t}for(let e of(u+=p.sessionCount,c+=p.messageCount,p.sessions)){let t=new Date(e.end).getTime()-new Date(e.start).getTime();t>d.duration&&(d={sessionId:e.id,duration:t,messageCount:e.messages,timestamp:e.start})}}return{version:2,lastComputedDate:t,dailyActivity:n,dailyModelTokens:r,modelUsage:s,totalSessions:u,totalMessages:c,longestSession:d,firstSessionDate:l,hourCounts:i,dayHourCounts:o,totalSpeculationTimeSavedMs:0}};e.s(["collectJsonlFiles",0,d,"getStatsCache",0,S])},422392,e=>{"use strict";let t=new Map,a=6e4;e.s(["getCached",0,e=>{let a=t.get(e);return a?Date.now()>a.expiresAt?(t.delete(e),null):a.data:null},"setCached",0,(e,n,r=a)=>{t.set(e,{data:n,expiresAt:Date.now()+r})}])},990294,(e,t,a)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",a="minute",n="hour",r="week",s="month",i="quarter",o="year",u="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,a){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(a)+e},p="en",f={};f[p]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],a=e%100;return"["+e+(t[(a-20)%10]||t[a]||t[0])+"]"}};var m="$isDayjsObject",C=function(e){return e instanceof k||!(!e||!e[m])},y=function e(t,a,n){var r;if(!t)return p;if("string"==typeof t){var s=t.toLowerCase();f[s]&&(r=s),a&&(f[s]=a,r=s);var i=t.split("-");if(!r&&i.length>1)return e(i[0])}else{var o=t.name;f[o]=t,r=o}return!n&&r&&(p=r),r||!n&&p},g=function(e,t){if(C(e))return e.clone();var a="object"==typeof t?t:{};return a.date=e,a.args=arguments,new k(a)},v={s:h,z:function(e){var t=-e.utcOffset(),a=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(a/60),2,"0")+":"+h(a%60,2,"0")},m:function e(t,a){if(t.date()<a.date())return-e(a,t);var n=12*(a.year()-t.year())+(a.month()-t.month()),r=t.clone().add(n,s),i=a-r<0,o=t.clone().add(n+(i?-1:1),s);return+(-(n+(a-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:s,y:o,w:r,d:"day",D:u,h:n,m:a,s:t,ms:e,Q:i})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};v.l=y,v.i=C,v.w=function(e,t){return g(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var k=function(){function h(e){this.$L=y(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[m]=!0}var p=h.prototype;return p.parse=function(e){this.$d=function(e){var t=e.date,a=e.utc;if(null===t)return new Date(NaN);if(v.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(l);if(n){var r=n[2]-1||0,s=(n[7]||"0").substring(0,3);return a?new Date(Date.UTC(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(t)}(e),this.init()},p.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},p.$utils=function(){return v},p.isValid=function(){return this.$d.toString()!==c},p.isSame=function(e,t){var a=g(e);return this.startOf(t)<=a&&a<=this.endOf(t)},p.isAfter=function(e,t){return g(e)<this.startOf(t)},p.isBefore=function(e,t){return this.endOf(t)<g(e)},p.$g=function(e,t,a){return v.u(e)?this[t]:this.set(a,e)},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this.$d.getTime()},p.startOf=function(e,i){var c=this,l=!!v.u(i)||i,d=v.p(e),h=function(e,t){var a=v.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return l?a:a.endOf("day")},p=function(e,t){return v.w(c.toDate()[e].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},f=this.$W,m=this.$M,C=this.$D,y="set"+(this.$u?"UTC":"");switch(d){case o:return l?h(1,0):h(31,11);case s:return l?h(1,m):h(0,m+1);case r:var g=this.$locale().weekStart||0,k=(f<g?f+7:f)-g;return h(l?C-k:C+(6-k),m);case"day":case u:return p(y+"Hours",0);case n:return p(y+"Minutes",1);case a:return p(y+"Seconds",2);case t:return p(y+"Milliseconds",3);default:return this.clone()}},p.endOf=function(e){return this.startOf(e,!1)},p.$set=function(r,i){var c,l=v.p(r),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[u]=d+"Date",c[s]=d+"Month",c[o]=d+"FullYear",c[n]=d+"Hours",c[a]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[l],p="day"===l?this.$D+(i-this.$W):i;if(l===s||l===o){var f=this.clone().set(u,1);f.$d[h](p),f.init(),this.$d=f.set(u,Math.min(this.$D,f.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},p.set=function(e,t){return this.clone().$set(e,t)},p.get=function(e){return this[v.p(e)]()},p.add=function(e,i){var u,c=this;e=Number(e);var l=v.p(i),d=function(t){var a=g(c);return v.w(a.date(a.date()+Math.round(t*e)),c)};if(l===s)return this.set(s,this.$M+e);if(l===o)return this.set(o,this.$y+e);if("day"===l)return d(1);if(l===r)return d(7);var h=((u={})[a]=6e4,u[n]=36e5,u[t]=1e3,u)[l]||1,p=this.$d.getTime()+e*h;return v.w(p,this)},p.subtract=function(e,t){return this.add(-1*e,t)},p.format=function(e){var t=this,a=this.$locale();if(!this.isValid())return a.invalidDate||c;var n=e||"YYYY-MM-DDTHH:mm:ssZ",r=v.z(this),s=this.$H,i=this.$m,o=this.$M,u=a.weekdays,l=a.months,h=a.meridiem,p=function(e,a,r,s){return e&&(e[a]||e(t,n))||r[a].slice(0,s)},f=function(e){return v.s(s%12||12,e,"0")},m=h||function(e,t,a){var n=e<12?"AM":"PM";return a?n.toLowerCase():n};return n.replace(d,function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return v.s(t.$y,4,"0");case"M":return o+1;case"MM":return v.s(o+1,2,"0");case"MMM":return p(a.monthsShort,o,l,3);case"MMMM":return p(l,o);case"D":return t.$D;case"DD":return v.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(a.weekdaysMin,t.$W,u,2);case"ddd":return p(a.weekdaysShort,t.$W,u,3);case"dddd":return u[t.$W];case"H":return String(s);case"HH":return v.s(s,2,"0");case"h":return f(1);case"hh":return f(2);case"a":return m(s,i,!0);case"A":return m(s,i,!1);case"m":return String(i);case"mm":return v.s(i,2,"0");case"s":return String(t.$s);case"ss":return v.s(t.$s,2,"0");case"SSS":return v.s(t.$ms,3,"0");case"Z":return r}return null}(e)||r.replace(":","")})},p.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},p.diff=function(e,u,c){var l,d=this,h=v.p(u),p=g(e),f=(p.utcOffset()-this.utcOffset())*6e4,m=this-p,C=function(){return v.m(d,p)};switch(h){case o:l=C()/12;break;case s:l=C();break;case i:l=C()/3;break;case r:l=(m-f)/6048e5;break;case"day":l=(m-f)/864e5;break;case n:l=m/36e5;break;case a:l=m/6e4;break;case t:l=m/1e3;break;default:l=m}return c?l:v.a(l)},p.daysInMonth=function(){return this.endOf(s).$D},p.$locale=function(){return f[this.$L]},p.locale=function(e,t){if(!e)return this.$L;var a=this.clone(),n=y(e,t,!0);return n&&(a.$L=n),a},p.clone=function(){return v.w(this.$d,this)},p.toDate=function(){return new Date(this.valueOf())},p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toISOString=function(){return this.$d.toISOString()},p.toString=function(){return this.$d.toUTCString()},h}(),S=k.prototype;return g.prototype=S,[["$ms",e],["$s",t],["$m",a],["$H",n],["$W","day"],["$M",s],["$y",o],["$D",u]].forEach(function(e){S[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),g.extend=function(e,t){return e.$i||(e(t,k,g),e.$i=!0),g},g.locale=y,g.isDayjs=C,g.unix=function(e){return g(1e3*e)},g.en=f[p],g.Ls=f,g.p={},g}()},975925,e=>{"use strict";var t=e.i(990294);let a=e=>{let a=new Date;switch(e){case"today":return{start:(0,t.default)().startOf("day").toDate(),end:a};case"7d":return{start:(0,t.default)().subtract(7,"day").startOf("day").toDate(),end:a};case"30d":return{start:(0,t.default)().subtract(30,"day").startOf("day").toDate(),end:a};case"all":return{start:new Date(0),end:a}}};e.s(["isDateStringWithinPeriod",0,(e,n)=>{if("all"===n)return!0;let{start:r,end:s}=a(n),i=(0,t.default)(e).toDate();return i>=r&&i<=s},"isWithinPeriod",0,(e,t)=>{if("all"===t)return!0;let{start:n,end:r}=a(t),s=new Date(e);return s>=n&&s<=r},"parsePeriod",0,e=>"today"===e||"7d"===e||"30d"===e||"all"===e?e:"all"])},180112,e=>{"use strict";var t=e.i(924868),a=e.i(814747),n=e.i(446786),r=e.i(990294),s=e.i(975925);let i={"opus-4-7":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-6":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-5":{input:5,output:25,cacheWrite5m:6.25,cacheWrite1h:10,cacheRead:.5},"opus-4-1":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"opus-4":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5},"sonnet-4-6":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-4":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-7":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"sonnet-3-5":{input:3,output:15,cacheWrite5m:3.75,cacheWrite1h:6,cacheRead:.3},"haiku-4-5":{input:1,output:5,cacheWrite5m:1.25,cacheWrite1h:2,cacheRead:.1},"haiku-3-5":{input:.8,output:4,cacheWrite5m:1,cacheWrite1h:1.6,cacheRead:.08},"haiku-3":{input:.25,output:1.25,cacheWrite5m:.3,cacheWrite1h:.5,cacheRead:.03},"opus-3":{input:15,output:75,cacheWrite5m:18.75,cacheWrite1h:30,cacheRead:1.5}},o={input:30,output:150,cacheWrite5m:37.5,cacheWrite1h:60,cacheRead:3},u=(e,t,a,n,r,s)=>t/1e6*e.input+n/1e6*e.cacheWrite5m+r/1e6*e.cacheWrite1h+s/1e6*e.cacheRead+a/1e6*e.output,c=a.default.join(n.default.homedir(),".claude","stats-cache.json"),l=(e,t,a,n,r,s)=>((e,t,a,n,r,s)=>{let c=((e,t,a,n,r,s,c=!1)=>{let l,d=(l=e.replace(/\[.*?\]$/,"").match(/claude-(\w+-[\d]+(?:-[\d]+)*)(?:-\d{8}|-v\d)?(?:\:\d)?$/))?l[1]:null;if(!d)return null;let h=c&&"opus-4-6"===d?o:i[d];return h?u(h,t,a,n,r,s):null})(e,t,a,n,r,s);if(null!==c)return c;let l=e.toLowerCase();return u(l.includes("opus")?i["opus-4-6"]:l.includes("haiku")?i["haiku-4-5"]:i["sonnet-4-6"],t,a,n,r,s)})(e,t,a,r,s,n),d={version:0,lastComputedDate:"",dailyActivity:[],dailyModelTokens:[],modelUsage:{},totalSessions:0,totalMessages:0,longestSession:{sessionId:"",duration:0,messageCount:0,timestamp:""},firstSessionDate:"",hourCounts:{},dayHourCounts:{},totalSpeculationTimeSavedMs:0},h=e=>"object"!=typeof e||null===e?{}:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Number(t??0)])),p=async()=>{try{var e,a,n;let r=await t.default.readFile(c,"utf-8"),s=JSON.parse(r);return{version:Number(s.version??0),lastComputedDate:String(s.lastComputedDate??""),dailyActivity:(e=s.dailyActivity,Array.isArray(e)?e.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),messageCount:Number(e.messageCount??0),sessionCount:Number(e.sessionCount??0),toolCallCount:Number(e.toolCallCount??0)})):[]),dailyModelTokens:(a=s.dailyModelTokens,Array.isArray(a)?a.filter(e=>"object"==typeof e&&null!==e).map(e=>({date:String(e.date??""),tokensByModel:"object"==typeof e.tokensByModel&&null!==e.tokensByModel?Object.fromEntries(Object.entries(e.tokensByModel).map(([e,t])=>[e,(e=>{if("number"==typeof e)return{input:e,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0};if("object"==typeof e&&null!==e){let t=Number(e.cacheCreation??0),a=Number(e.cacheCreation1h??0),n=null!=e.cacheCreation5m?Number(e.cacheCreation5m):Math.max(0,t-a);return{input:Number(e.input??0),output:Number(e.output??0),cacheRead:Number(e.cacheRead??0),cacheCreation:t,cacheCreation5m:n,cacheCreation1h:a}}return{input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0}})(t)])):{}})):[]),modelUsage:(e=>{if("object"!=typeof e||null===e)return{};let t={};for(let[a,n]of Object.entries(e)){if("object"!=typeof n||null===n)continue;let e=Number(n.cacheCreationInputTokens??0),r=Number(n.cacheCreation1hInputTokens??0),s=null!=n.cacheCreation5mInputTokens?Number(n.cacheCreation5mInputTokens):Math.max(0,e-r);t[a]={inputTokens:Number(n.inputTokens??0),outputTokens:Number(n.outputTokens??0),cacheReadInputTokens:Number(n.cacheReadInputTokens??0),cacheCreationInputTokens:e,cacheCreation5mInputTokens:s,cacheCreation1hInputTokens:r,webSearchRequests:Number(n.webSearchRequests??0),costUSD:Number(n.costUSD??0),contextWindow:Number(n.contextWindow??0),maxOutputTokens:Number(n.maxOutputTokens??0)}}return t})(s.modelUsage),totalSessions:Number(s.totalSessions??0),totalMessages:Number(s.totalMessages??0),longestSession:(n=s.longestSession,"object"!=typeof n||null===n?{sessionId:"",duration:0,messageCount:0,timestamp:""}:{sessionId:String(n.sessionId??""),duration:Number(n.duration??0),messageCount:Number(n.messageCount??0),timestamp:String(n.timestamp??"")}),firstSessionDate:String(s.firstSessionDate??""),hourCounts:h(s.hourCounts),dayHourCounts:h(s.dayHourCounts),totalSpeculationTimeSavedMs:Number(s.totalSpeculationTimeSavedMs??0)}}catch{return d}},f=(e,t)=>{let a=(e=>{if("all"===e||"today"===e)return null;let t="7d"===e?7:30;return{prevStart:(0,r.default)().subtract(2*t,"day").startOf("day"),prevEnd:(0,r.default)().subtract(t,"day").startOf("day")}})(t);if(!a)return!1;let n=(0,r.default)(e);return(n.isAfter(a.prevStart)||n.isSame(a.prevStart))&&n.isBefore(a.prevEnd)};e.s(["buildOverview",0,(e,t)=>{let a,n,i,o,u=e.dailyActivity.filter(e=>(0,s.isDateStringWithinPeriod)(e.date,t)),c=e.dailyModelTokens.filter(e=>(0,s.isDateStringWithinPeriod)(e.date,t)),d="all"===t?e.totalSessions:u.reduce((e,t)=>e+t.sessionCount,0),h="all"===t?e.totalMessages:u.reduce((e,t)=>e+t.messageCount,0),p=u.reduce((e,t)=>e+t.toolCallCount,0),m=(a=e.dailyActivity,n=t,a.filter(e=>f(e.date,n))),C=m.reduce((e,t)=>e+t.sessionCount,0),y=m.reduce((e,t)=>e+t.messageCount,0),g={};if("all"===t)for(let[t,a]of Object.entries(e.modelUsage))g[t]={input:a.inputTokens,output:a.outputTokens,cacheRead:a.cacheReadInputTokens,cacheCreation:a.cacheCreationInputTokens,cacheCreation5m:a.cacheCreation5mInputTokens,cacheCreation1h:a.cacheCreation1hInputTokens,cost:l(t,a.inputTokens,a.outputTokens,a.cacheReadInputTokens,a.cacheCreation5mInputTokens,a.cacheCreation1hInputTokens)};else{for(let e of c)for(let[t,a]of Object.entries(e.tokensByModel))g[t]||(g[t]={input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0,cost:0}),g[t].input+=a.input,g[t].output+=a.output,g[t].cacheRead+=a.cacheRead,g[t].cacheCreation+=a.cacheCreation,g[t].cacheCreation5m+=a.cacheCreation5m,g[t].cacheCreation1h+=a.cacheCreation1h;for(let[t,a]of Object.entries(g)){let n=e.modelUsage[t];if(!n)continue;let r=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,s=a.input+a.output+a.cacheRead+a.cacheCreation;r>0&&(a.cost=s/r*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}}let v=c.map(e=>{let t=0,a=0,n=0,r=0;for(let s of Object.values(e.tokensByModel))t+=s.input,a+=s.output,n+=s.cacheRead,r+=s.cacheCreation;return{date:e.date,input:t,output:a,cacheRead:n,cacheCreation:r}}),k=(0,r.default)().format("YYYY-MM-DD"),S=(0,r.default)().startOf("month").format("YYYY-MM-DD"),w=e.dailyActivity.find(e=>e.date===k)?.messageCount??0,D=e.dailyActivity.filter(e=>e.date>=S).reduce((e,t)=>e+t.messageCount,0),b=Object.values(g).reduce((e,t)=>e+t.cost,0),T=t=>{let a=0;for(let n of t)for(let[t,r]of Object.entries(n.tokensByModel)){let n=e.modelUsage[t];if(!n)continue;let s=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,i=r.input+r.output+r.cacheRead+r.cacheCreation;s>0&&(a+=i/s*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}return a},$=T(e.dailyModelTokens.filter(e=>e.date===k));return{totalSessions:d,totalMessages:h,previousSessions:C,previousMessages:y,totalToolCalls:p,dailyActivity:u,modelTokens:g,dailyTokens:v,todayMessages:w,thisMonthMessages:D,totalCost:b,todayCost:$,thisMonthCost:T(e.dailyModelTokens.filter(e=>e.date>=S)),previousCost:T((i=e.dailyModelTokens,o=t,i.filter(e=>f(e.date,o)))),hourlyDistribution:e.hourCounts,dayHourDistribution:e.dayHourCounts,firstSessionDate:e.firstSessionDate,lastComputedDate:e.lastComputedDate,computedAt:new Date().toISOString()}},"readStatsCache",0,p],180112)},848424,e=>{"use strict";var t=e.i(926747),a=e.i(190406),n=e.i(244898),r=e.i(262950),s=e.i(177579),i=e.i(180112),o=e.i(975925),u=e.i(422392);let c=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"method-not-allowed"});let a=(0,o.parsePeriod)(e.query.period),n=`stats:overview:${a}`,r=(0,u.getCached)(n);if(r)return t.status(200).json(r);let c=await (0,s.getStatsCache)(),l=(0,i.buildOverview)(c,a);return(0,u.setCached)(n,l),t.status(200).json(l)};e.s(["default",0,c],487113);var l=e.i(487113),d=e.i(7031),h=e.i(181927),p=e.i(846432);let f=(0,r.hoist)(l,"default"),m=(0,r.hoist)(l,"config"),C=new n.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/stats/overview",pathname:"/api/stats/overview",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function y(e,a,n){n.requestMeta&&(0,p.setRequestMeta)(e,n.requestMeta),C.isDev&&(0,p.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/stats/overview";r=r.replace(/\/index$/,"")||"/";let s=await C.prepare(e,a,{srcPage:r});if(!s){a.statusCode=400,a.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve());return}let{query:i,params:o,prerenderManifest:u,routerServerContext:c}=s;try{let t,n=e.method||"GET",s=(0,d.getTracer)(),l=s.getActiveScopeSpan(),p=!!(null==c?void 0:c.isWrappedByNextServer),f=C.instrumentationOnRequestError.bind(C),m=async l=>C.render(e,a,{query:{...i,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:u.preview,propagateError:!1,dev:C.isDev,page:"/api/stats/overview",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=e.get("next.route");if(i){let e=`${n} ${i}`;l.setAttributes({"next.route":i,"http.route":i,"next.span_name":e}),l.updateName(e),t&&t!==l&&(t.setAttribute("http.route",i),t.updateName(e))}else l.updateName(`${n} ${r}`)});p&&l?await m(l):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(h.BaseServerSpan.handleRequest,{spanName:`${n} ${r}`,kind:d.SpanKind.SERVER,attributes:{"http.method":n,"http.target":e.url}},m),void 0,!p))}catch(e){if(C.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==n.waitUntil||n.waitUntil.call(n,Promise.resolve())}}e.s(["config",0,m,"default",0,f,"handler",0,y],848424)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__11j9~6h._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},319668,(e,t,a)=>{t.exports=e.x("readline",()=>require("readline"))},270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,a=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(a)),e.s(["PRISTINE_ENV",0,a],965898);let r=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),i=["LC_"],n=e=>r.has(e)||i.some(t=>e.startsWith(t)),s={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,r]of Object.entries(a))void 0!==r&&n(t)&&(e[t]=r);return{...e,...s}},o=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>l(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(l()).map(([e,t])=>`${e}=${o(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${o(u())} -l`},"defaultShell",0,u],597789)},713915,e=>{"use strict";var t=e.i(233405),a=e.i(924868),r=e.i(446786),i=e.i(814747),n=e.i(224361),s=e.i(597789),l=e.i(965898);let o=(0,n.promisify)(t.execFile),u=null,c=null,d=async()=>{let e=r.default.userInfo().shell||(0,s.defaultShell)();try{let{stdout:t}=await o(e,["-ilc",'echo -n "$PATH"'],{timeout:5e3,env:{...(0,s.buildShellEnv)(),SHELL:e,DISABLE_AUTO_UPDATE:"true",ZSH_TMUX_AUTOSTARTED:"true"}});return t.toString().trim()}catch{return l.PRISTINE_ENV.PATH||""}},p=async()=>u||(c||(c=d().then(e=>(u=e,c=null,e))),c),m=async(e,t,a)=>{try{let r=await p(),{stdout:i}=await o(e,t,{timeout:5e3,env:{...process.env,PATH:r}});return{installed:!0,version:a(i)}}catch{return{installed:!1,version:null}}},h=e=>e.trim().match(/(\d+\.\d+[\d.]*)/)?.[1]??null,f=[i.default.join(r.default.homedir(),".local","bin")],g=async()=>{for(let e of f)try{return await (0,a.access)(i.default.join(e,"claude")),e}catch{}return null},y=e=>e.installed&&null!==e.version&&parseFloat(e.version)>=2.9,S=async()=>{u=await d();let[e,t,n]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]),s=(y(e)&&t.installed&&n.installed,n.installed?null:await g()),l=!1;if(n.installed||s)try{await (0,a.access)(i.default.join(r.default.homedir(),".claude")),l=!0}catch{}return{tmux:{...e,compatible:y(e)},git:t,claude:{...n,binaryPath:s,loggedIn:l}}},w=null,v=null,A=null,E=null,x=async()=>A&&Date.now()-A.checkedAt<1e3?A.result:E||(E=S().then(e=>(A={result:e,checkedAt:Date.now()},E=null,e)).catch(e=>{throw E=null,e})),T=async()=>{u=await d();let[e,t,a]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]);return{tmux:{...e,compatible:y(e)},git:t,claude:a}},R=async()=>w&&Date.now()-w.checkedAt<3e4?w.result:v||(v=T().then(e=>(w={result:e,checkedAt:Date.now()},v=null,e)).catch(e=>{throw v=null,e}));e.s(["getCachedPreflightStatus",0,x,"getCachedRuntimePreflight",0,R,"getShellPath",0,p,"invalidateRuntimeCache",0,()=>{w=null,v=null}])},7991,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(522734),n=e.i(319668),s=e.i(233405),l=e.i(713915),o=e.i(177579);let u=a.default.join(r.default.homedir(),".purplemux","stats","daily-reports"),c=async()=>{let e={};try{for(let r of(await t.default.readdir(u)))if(r.endsWith(".json"))try{let i=await t.default.readFile(a.default.join(u,r),"utf-8"),n=JSON.parse(i);n.date&&n.brief&&(e[n.date]=n)}catch{}}catch{}return e},d=async e=>{await t.default.mkdir(u,{recursive:!0}),await t.default.writeFile(a.default.join(u,`${e.date}.json`),JSON.stringify(e,null,2),"utf-8")},p=e=>{let t=r.default.homedir();return(e.startsWith(t)?e.slice(t.length+1):e).replace(/^Workspace\/github\.com\//g,"").replace(/^Workspace\/gitlab\.kolonfnc\.com\//g,"gitlab/").replace(/^Documents\//g,"docs/").replace(/^Downloads/g,"Downloads")},m=async e=>{let t=await (0,o.collectJsonlFiles)(),r=[];for(let s of t){let t=[],l=[],o=0,u="";try{let a=(0,i.createReadStream)(s,{encoding:"utf-8"});for await(let r of n.default.createInterface({input:a,crlfDelay:1/0}))if(r.trim())try{let a=JSON.parse(r),i=String(a.timestamp??"");if(!i.startsWith(e))continue;l.push(i);let n=String(a.type??"");if(u||"string"!=typeof a.cwd||(u=a.cwd),"user"===n){let e=a.message;if(!e)continue;let r=e.content,n="";if("string"==typeof r)n=r.slice(0,300);else if(Array.isArray(r)){let e=[];for(let t of r)"object"==typeof t&&null!==t&&"text"===t.type&&e.push(String(t.text??"").slice(0,300));n=e.join(" | ")}if(n.includes("<command-message>")){let e=n.match(/<command-name>\/([^<]+)<\/command-name>/);n=`[Command: ${e?e[1]:"unknown"}]`}if(n.includes("<local-command-caveat>")||n.includes("<task-notification>"))continue;n.trim()&&t.push({time:i.slice(11,16),text:n.slice(0,200)})}if("assistant"===n){let e=a.message;if(!e)continue;let t=e.content;Array.isArray(t)&&(o+=t.filter(e=>"object"==typeof e&&null!==e&&"tool_use"===e.type).length)}}catch{}}catch{}if(l.length>0&&t.length>0){let e=u?p(u):a.default.basename(a.default.dirname(s));r.push({project:e,start:Math.min(...l.map(e=>new Date(e).getTime())).toString(),msgCount:t.length,toolCount:o,firstMessage:t[0].text})}}return r.sort((e,t)=>Number(e.start)-Number(t.start)),r},h=async(e,t)=>{let a=await (0,l.getShellPath)();return new Promise((r,i)=>{let n=(0,s.execFile)("claude",["-p"],{timeout:12e4,maxBuffer:1048576,env:{...process.env,PATH:a}},(e,t)=>{e?i(Error(`claude -p failed: ${e.message}`)):r(t.trim())});n.stdin?.write(`${t}
1
+ module.exports=[270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,a=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(a)),e.s(["PRISTINE_ENV",0,a],965898);let r=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),i=["LC_"],n=e=>r.has(e)||i.some(t=>e.startsWith(t)),s={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,r]of Object.entries(a))void 0!==r&&n(t)&&(e[t]=r);return{...e,...s}},o=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>l(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(l()).map(([e,t])=>`${e}=${o(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${o(u())} -l`},"defaultShell",0,u],597789)},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},319668,(e,t,a)=>{t.exports=e.x("readline",()=>require("readline"))},713915,e=>{"use strict";var t=e.i(233405),a=e.i(924868),r=e.i(446786),i=e.i(814747),n=e.i(224361),s=e.i(597789),l=e.i(965898);let o=(0,n.promisify)(t.execFile),u=null,c=null,d=async()=>{let e=r.default.userInfo().shell||(0,s.defaultShell)();try{let{stdout:t}=await o(e,["-ilc",'echo -n "$PATH"'],{timeout:5e3,env:{...(0,s.buildShellEnv)(),SHELL:e,DISABLE_AUTO_UPDATE:"true",ZSH_TMUX_AUTOSTARTED:"true"}});return t.toString().trim()}catch{return l.PRISTINE_ENV.PATH||""}},p=async()=>u||(c||(c=d().then(e=>(u=e,c=null,e))),c),m=async(e,t,a)=>{try{let r=await p(),{stdout:i}=await o(e,t,{timeout:5e3,env:{...process.env,PATH:r}});return{installed:!0,version:a(i)}}catch{return{installed:!1,version:null}}},h=e=>e.trim().match(/(\d+\.\d+[\d.]*)/)?.[1]??null,f=[i.default.join(r.default.homedir(),".local","bin")],g=async()=>{for(let e of f)try{return await (0,a.access)(i.default.join(e,"claude")),e}catch{}return null},y=e=>e.installed&&null!==e.version&&parseFloat(e.version)>=2.9,S=async()=>{u=await d();let[e,t,n]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]),s=(y(e)&&t.installed&&n.installed,n.installed?null:await g()),l=!1;if(n.installed||s)try{await (0,a.access)(i.default.join(r.default.homedir(),".claude")),l=!0}catch{}return{tmux:{...e,compatible:y(e)},git:t,claude:{...n,binaryPath:s,loggedIn:l}}},w=null,v=null,A=null,E=null,x=async()=>A&&Date.now()-A.checkedAt<1e3?A.result:E||(E=S().then(e=>(A={result:e,checkedAt:Date.now()},E=null,e)).catch(e=>{throw E=null,e})),T=async()=>{u=await d();let[e,t,a]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]);return{tmux:{...e,compatible:y(e)},git:t,claude:a}},R=async()=>w&&Date.now()-w.checkedAt<3e4?w.result:v||(v=T().then(e=>(w={result:e,checkedAt:Date.now()},v=null,e)).catch(e=>{throw v=null,e}));e.s(["getCachedPreflightStatus",0,x,"getCachedRuntimePreflight",0,R,"getShellPath",0,p,"invalidateRuntimeCache",0,()=>{w=null,v=null}])},7991,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(522734),n=e.i(319668),s=e.i(233405),l=e.i(713915),o=e.i(177579);let u=a.default.join(r.default.homedir(),".purplemux","stats","daily-reports"),c=async()=>{let e={};try{for(let r of(await t.default.readdir(u)))if(r.endsWith(".json"))try{let i=await t.default.readFile(a.default.join(u,r),"utf-8"),n=JSON.parse(i);n.date&&n.brief&&(e[n.date]=n)}catch{}}catch{}return e},d=async e=>{await t.default.mkdir(u,{recursive:!0}),await t.default.writeFile(a.default.join(u,`${e.date}.json`),JSON.stringify(e,null,2),"utf-8")},p=e=>{let t=r.default.homedir();return(e.startsWith(t)?e.slice(t.length+1):e).replace(/^Workspace\/github\.com\//g,"").replace(/^Workspace\/gitlab\.kolonfnc\.com\//g,"gitlab/").replace(/^Documents\//g,"docs/").replace(/^Downloads/g,"Downloads")},m=async e=>{let t=await (0,o.collectJsonlFiles)(),r=[];for(let s of t){let t=[],l=[],o=0,u="";try{let a=(0,i.createReadStream)(s,{encoding:"utf-8"});for await(let r of n.default.createInterface({input:a,crlfDelay:1/0}))if(r.trim())try{let a=JSON.parse(r),i=String(a.timestamp??"");if(!i.startsWith(e))continue;l.push(i);let n=String(a.type??"");if(u||"string"!=typeof a.cwd||(u=a.cwd),"user"===n){let e=a.message;if(!e)continue;let r=e.content,n="";if("string"==typeof r)n=r.slice(0,300);else if(Array.isArray(r)){let e=[];for(let t of r)"object"==typeof t&&null!==t&&"text"===t.type&&e.push(String(t.text??"").slice(0,300));n=e.join(" | ")}if(n.includes("<command-message>")){let e=n.match(/<command-name>\/([^<]+)<\/command-name>/);n=`[Command: ${e?e[1]:"unknown"}]`}if(n.includes("<local-command-caveat>")||n.includes("<task-notification>"))continue;n.trim()&&t.push({time:i.slice(11,16),text:n.slice(0,200)})}if("assistant"===n){let e=a.message;if(!e)continue;let t=e.content;Array.isArray(t)&&(o+=t.filter(e=>"object"==typeof e&&null!==e&&"tool_use"===e.type).length)}}catch{}}catch{}if(l.length>0&&t.length>0){let e=u?p(u):a.default.basename(a.default.dirname(s));r.push({project:e,start:Math.min(...l.map(e=>new Date(e).getTime())).toString(),msgCount:t.length,toolCount:o,firstMessage:t[0].text})}}return r.sort((e,t)=>Number(e.start)-Number(t.start)),r},h=async(e,t)=>{let a=await (0,l.getShellPath)();return new Promise((r,i)=>{let n=(0,s.execFile)("claude",["-p"],{timeout:12e4,maxBuffer:1048576,env:{...process.env,PATH:a}},(e,t)=>{e?i(Error(`claude -p failed: ${e.message}`)):r(t.trim())});n.stdin?.write(`${t}
2
2
 
3
3
  ${e}`),n.stdin?.end()})},f={en:"English",ko:"Korean (한국어)",ja:"Japanese (日本語)","zh-CN":"Simplified Chinese (简体中文)","zh-TW":"Traditional Chinese (繁體中文)",de:"German (Deutsch)",es:"Spanish (Español)",fr:"French (Français)","pt-BR":"Brazilian Portuguese (Português do Brasil)",ru:"Russian (Русский)",tr:"Turkish (Türkçe)"},g=async(e,t=!1,a="en")=>{var r,i;let n,s,l;if(!t){let t=await y(e);if(t&&t.locale===a)return t}let o=await m(e);if(0===o.length){let t={date:e,brief:"No activity recorded.",detail:"",generatedAt:new Date().toISOString(),locale:a};return await d(t),t}let u=o.map(e=>{let t=new Date(Number(e.start)).toTimeString().slice(0,5);return`[${t}] [${e.project}] msgs=${e.msgCount}, tools=${e.toolCount} | ${e.firstMessage}`}).join("\n"),{brief:c,detail:p}=(s=(i=await h(u,(r=e,n=f[a]??f.en,`Summarize the Claude session history for ${r}.
4
4
 
@@ -27,4 +27,4 @@ Rules:
27
27
 
28
28
  Data:`))).match(/\[BRIEF\]\s*\n([\s\S]*?)(?=\[DETAIL\])/),l=i.match(/\[DETAIL\]\s*\n([\s\S]*?)$/),{brief:s?s[1].replace(/[\s#\-]*$/,"").trim():i.slice(0,500),detail:l?l[1].trim():""}),g={date:e,brief:c,detail:p,generatedAt:new Date().toISOString(),locale:a};return await d(g),g},y=async e=>{try{let r=await t.default.readFile(a.default.join(u,`${e}.json`),"utf-8"),i=JSON.parse(r);return i.date&&i.brief?i:null}catch{return null}};e.s(["generateDailyReport",0,g,"readAllCachedReports",0,c,"shortenCwd",0,p])},560056,e=>{"use strict";var t=e.i(926747),a=e.i(190406),r=e.i(244898),i=e.i(262950),n=e.i(7991);let s=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"method-not-allowed"});let a=await (0,n.readAllCachedReports)();return t.status(200).json({days:a})};e.s(["default",0,s],366639);var l=e.i(366639),o=e.i(7031),u=e.i(181927),c=e.i(846432);let d=(0,i.hoist)(l,"default"),p=(0,i.hoist)(l,"config"),m=new r.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/stats/daily-report/cache",pathname:"/api/stats/daily-report/cache",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function h(e,a,r){r.requestMeta&&(0,c.setRequestMeta)(e,r.requestMeta),m.isDev&&(0,c.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/stats/daily-report/cache";i=i.replace(/\/index$/,"")||"/";let n=await m.prepare(e,a,{srcPage:i});if(!n){a.statusCode=400,a.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:s,params:l,prerenderManifest:d,routerServerContext:p}=n;try{let t,r=e.method||"GET",n=(0,o.getTracer)(),c=n.getActiveScopeSpan(),h=!!(null==p?void 0:p.isWrappedByNextServer),f=m.instrumentationOnRequestError.bind(m),g=async o=>m.render(e,a,{query:{...s,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:d.preview,propagateError:!1,dev:m.isDev,page:"/api/stats/daily-report/cache",internalRevalidate:null==p?void 0:p.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!o)return;o.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;o.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),o.updateName(e),t&&t!==o&&(t.setAttribute("http.route",s),t.updateName(e))}else o.updateName(`${r} ${i}`)});h&&c?await g(c):(t=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(u.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:o.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},g),void 0,!h))}catch(e){if(m.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==r.waitUntil||r.waitUntil.call(r,Promise.resolve())}}e.s(["config",0,p,"default",0,d,"handler",0,h],560056)}];
29
29
 
30
- //# sourceMappingURL=%5Broot-of-the-server%5D__00yjayf._.js.map
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__121-6-e._.js.map