purplemux 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +16 -16
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/routes-manifest.json +7 -7
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__11j9~6h._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_05otee~._.js → _04dq3gt._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0uxocm.._.js → _09vws3v._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0d415er._.js → _0ap4fy.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0isokfh._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_0_1vqqb._.js → _0su2osz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0xmsr59._.js → _0uo_gs5._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_06vitke._.js → _134uyu_._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{src_lib_136edwc._.js → src_lib_0vs5asg._.js} +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_session-parser_ts_0~rhicw._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0glt298._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0au.ssp._.js → [root-of-the-server]__0nkl4wz._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0f8k39w._.js +14 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0_owbnq._.js → _0h4kenr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0z61aq-._.js → _0ihbr8k._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0js4l3t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0rxhzwm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0y31tie._.js +14 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +16 -16
- package/.next/standalone/.next/server/pages/_app/build-manifest.json +4 -4
- package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/_app.js +2 -2
- package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/_error.js +2 -2
- package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/hook.js +1 -1
- package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/statusline.js +1 -1
- package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/reset.js +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace.js +1 -1
- package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/de/404.html +1 -1
- package/.next/standalone/.next/server/pages/de/500.html +1 -1
- package/.next/standalone/.next/server/pages/en/404.html +1 -1
- package/.next/standalone/.next/server/pages/en/500.html +1 -1
- package/.next/standalone/.next/server/pages/es/404.html +1 -1
- package/.next/standalone/.next/server/pages/es/500.html +1 -1
- package/.next/standalone/.next/server/pages/fr/404.html +1 -1
- package/.next/standalone/.next/server/pages/fr/500.html +1 -1
- package/.next/standalone/.next/server/pages/index/build-manifest.json +3 -3
- package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +6 -8
- package/.next/standalone/.next/server/pages/index.js +2 -2
- package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/ja/404.html +1 -1
- package/.next/standalone/.next/server/pages/ja/500.html +1 -1
- package/.next/standalone/.next/server/pages/ko/404.html +1 -1
- package/.next/standalone/.next/server/pages/ko/500.html +1 -1
- package/.next/standalone/.next/server/pages/login.js +2 -2
- package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
- package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
- package/.next/standalone/.next/server/pages/reports/build-manifest.json +2 -2
- package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/reports.js +2 -2
- package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/reset.js +2 -2
- package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/ru/404.html +1 -1
- package/.next/standalone/.next/server/pages/ru/500.html +1 -1
- package/.next/standalone/.next/server/pages/stats/build-manifest.json +2 -2
- package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/stats.js +2 -2
- package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/tools-required.js +2 -2
- package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/tr/404.html +1 -1
- package/.next/standalone/.next/server/pages/tr/500.html +1 -1
- package/.next/standalone/.next/server/pages/webview/build-manifest.json +2 -2
- package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/webview.js +2 -2
- package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
- package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
- package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
- package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
- package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → 5mb_D_gy6E3wsT_BhuXDS}/_buildManifest.js +4 -4
- package/.next/standalone/.next/static/chunks/0-ku865ak6iur.js +1 -0
- package/.next/standalone/.next/static/chunks/06zq-2isv5vn6.js +1 -0
- package/.next/standalone/.next/static/chunks/{14bh~6-ggh.16.js → 08zfbuugw_i52.js} +2 -2
- package/.next/standalone/.next/static/chunks/0dh2cf_c4gz65.js +1 -0
- package/.next/standalone/.next/static/chunks/0gjtphww9wtey.js +12 -0
- package/.next/standalone/.next/static/chunks/0om8~g_7-c-x5.js +12 -0
- package/.next/standalone/.next/static/chunks/{15hinpm-o8x5a.js → 0qr~rkd5sq-yp.js} +4 -4
- package/.next/standalone/.next/static/chunks/{0ilhql60o6txw.js → 0qwvk-uq944-d.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0dl23f6c62aoa.js → 0r_ynb..7ongv.js} +3 -3
- package/.next/standalone/.next/static/chunks/{08ip~fc41h84_.js → 0ryghnq7iy47v.js} +2 -2
- package/.next/standalone/.next/static/chunks/0se1ra8f1bor~.js +1 -0
- package/.next/standalone/.next/static/chunks/{0jxk8j~j30thp.js → 0u9yrtrs1bktp.js} +1 -1
- package/.next/standalone/.next/static/chunks/107edt81z_gzy.css +3 -0
- package/.next/standalone/.next/static/chunks/132lgf3mld2ax.js +1 -0
- package/.next/standalone/.next/static/chunks/184~yri~m3wao.css +1 -0
- package/.next/standalone/.next/static/chunks/{turbopack-08ayk-1mt1q-w.js → turbopack-066o21-32lo7n.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0950wwl2vzfu8.js → turbopack-0abq2d._xmt7y.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0yi-pm9y8p4fu.js → turbopack-0sisjg~-koq5w.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-06kgnfn.-xny..js → turbopack-11tk4snp~dxd4.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-104j33xbofdmk.js → turbopack-17.piokhhz77b.js} +1 -1
- package/.next/standalone/package.json +4 -3
- package/.next/standalone/server.js +1 -1
- package/dist/server.js +268 -6
- package/package.json +4 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07i-oza._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0iy5a-w._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0qbbxeq._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0kc8lix._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_highlight_js_lib_core_0h1yngz.js +0 -3
- package/.next/standalone/.next/static/chunks/0-xrsiia9hc.c.js +0 -1
- package/.next/standalone/.next/static/chunks/05i5jeaz~7tg6.js +0 -1
- package/.next/standalone/.next/static/chunks/06e51nokt~dtt.js +0 -1
- package/.next/standalone/.next/static/chunks/0aizxgkga9-f..js +0 -5
- package/.next/standalone/.next/static/chunks/0plurywt71.qj.js +0 -1
- package/.next/standalone/.next/static/chunks/0tq53zgriddtp.js +0 -1
- package/.next/standalone/.next/static/chunks/0z3gpm0o.mwwy.css +0 -3
- package/.next/standalone/.next/static/chunks/0~ku-hjx17-lg.js +0 -5
- package/.next/standalone/.next/static/chunks/10r8rypk5fanv.js +0 -1
- package/.next/standalone/.next/static/chunks/10wa7lt~l.b6d.js +0 -1
- package/.next/standalone/.next/static/chunks/13zzmkwag6vsm.css +0 -1
- /package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → 5mb_D_gy6E3wsT_BhuXDS}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → 5mb_D_gy6E3wsT_BhuXDS}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
5mb_D_gy6E3wsT_BhuXDS
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pages": {
|
|
3
3
|
"/": [
|
|
4
|
-
"static/chunks/
|
|
4
|
+
"static/chunks/0se1ra8f1bor~.js",
|
|
5
5
|
"static/chunks/0ro78lxc~ndn_.js",
|
|
6
6
|
"static/chunks/0fotmrplo6yc7.js",
|
|
7
7
|
"static/chunks/0.znxwgo-re2m.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"static/chunks/10bvbbw1062os.js",
|
|
13
13
|
"static/chunks/07rq~qv9ldwo~.js",
|
|
14
14
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
15
|
-
"static/chunks/
|
|
15
|
+
"static/chunks/0-ku865ak6iur.js",
|
|
16
16
|
"static/chunks/00yfl7agnve...js",
|
|
17
17
|
"static/chunks/0t2val7bf4~s7.js",
|
|
18
18
|
"static/chunks/0wp13r5su.j3e.js",
|
|
@@ -21,19 +21,19 @@
|
|
|
21
21
|
"static/chunks/0wlz6--vu7adu.js",
|
|
22
22
|
"static/chunks/0~nlz9.lltzrz.js",
|
|
23
23
|
"static/chunks/0i2uqmry6cyl_.js",
|
|
24
|
-
"static/chunks/turbopack-
|
|
24
|
+
"static/chunks/turbopack-0sisjg~-koq5w.js"
|
|
25
25
|
],
|
|
26
26
|
"/_app": [
|
|
27
27
|
"static/chunks/128d.rbx4e4rt.js",
|
|
28
|
-
"static/chunks/
|
|
28
|
+
"static/chunks/06zq-2isv5vn6.js",
|
|
29
29
|
"static/chunks/0.ecwkadp7-hq.js",
|
|
30
30
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
31
31
|
"static/chunks/00yfl7agnve...js",
|
|
32
32
|
"static/chunks/09agwg~-xbxbs.js",
|
|
33
33
|
"static/chunks/14_wa..vd6~2y.js",
|
|
34
|
-
"static/chunks/
|
|
35
|
-
"static/chunks/
|
|
36
|
-
"static/chunks/turbopack-
|
|
34
|
+
"static/chunks/184~yri~m3wao.css",
|
|
35
|
+
"static/chunks/107edt81z_gzy.css",
|
|
36
|
+
"static/chunks/turbopack-0abq2d._xmt7y.js"
|
|
37
37
|
],
|
|
38
38
|
"/_error": [
|
|
39
39
|
"static/chunks/0~o730huopa91.js",
|
|
@@ -73,13 +73,13 @@
|
|
|
73
73
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
74
74
|
"static/chunks/031unywm42_xs.js",
|
|
75
75
|
"static/chunks/0wp13r5su.j3e.js",
|
|
76
|
-
"static/chunks/
|
|
76
|
+
"static/chunks/132lgf3mld2ax.js",
|
|
77
77
|
"static/chunks/0efkrks2gm27v.js",
|
|
78
78
|
"static/chunks/0wlz6--vu7adu.js",
|
|
79
79
|
"static/chunks/11gch78bg_qsn.js",
|
|
80
80
|
"static/chunks/131tx--pi8.tm.js",
|
|
81
81
|
"static/chunks/07rq~qv9ldwo~.js",
|
|
82
|
-
"static/chunks/turbopack-
|
|
82
|
+
"static/chunks/turbopack-066o21-32lo7n.js"
|
|
83
83
|
],
|
|
84
84
|
"/reset": [
|
|
85
85
|
"static/chunks/0_sdw~kzk-at0.js",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"static/chunks/14_wa..vd6~2y.js",
|
|
101
101
|
"static/chunks/11gch78bg_qsn.js",
|
|
102
102
|
"static/chunks/0efkrks2gm27v.js",
|
|
103
|
-
"static/chunks/
|
|
103
|
+
"static/chunks/0dh2cf_c4gz65.js",
|
|
104
104
|
"static/chunks/0t2val7bf4~s7.js",
|
|
105
105
|
"static/chunks/0ml5~2ty-rbv_.js",
|
|
106
106
|
"static/chunks/0wlz6--vu7adu.js",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"static/chunks/0wp13r5su.j3e.js",
|
|
111
111
|
"static/chunks/11nk1lwom62oe.js",
|
|
112
112
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
113
|
-
"static/chunks/turbopack-
|
|
113
|
+
"static/chunks/turbopack-11tk4snp~dxd4.js"
|
|
114
114
|
],
|
|
115
115
|
"/tools-required": [
|
|
116
116
|
"static/chunks/0dp178b-0_ltl.js",
|
|
@@ -138,22 +138,22 @@
|
|
|
138
138
|
"static/chunks/0i2uqmry6cyl_.js",
|
|
139
139
|
"static/chunks/00yfl7agnve...js",
|
|
140
140
|
"static/chunks/0wlz6--vu7adu.js",
|
|
141
|
-
"static/chunks/
|
|
141
|
+
"static/chunks/0-ku865ak6iur.js",
|
|
142
142
|
"static/chunks/0ml5~2ty-rbv_.js",
|
|
143
143
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
144
144
|
"static/chunks/0efkrks2gm27v.js",
|
|
145
145
|
"static/chunks/0wp13r5su.j3e.js",
|
|
146
146
|
"static/chunks/11nk1lwom62oe.js",
|
|
147
147
|
"static/chunks/0t2val7bf4~s7.js",
|
|
148
|
-
"static/chunks/turbopack-
|
|
148
|
+
"static/chunks/turbopack-17.piokhhz77b.js"
|
|
149
149
|
]
|
|
150
150
|
},
|
|
151
151
|
"devFiles": [],
|
|
152
152
|
"polyfillFiles": [],
|
|
153
153
|
"lowPriorityFiles": [
|
|
154
|
-
"static/
|
|
155
|
-
"static/
|
|
156
|
-
"static/
|
|
154
|
+
"static/5mb_D_gy6E3wsT_BhuXDS/_buildManifest.js",
|
|
155
|
+
"static/5mb_D_gy6E3wsT_BhuXDS/_ssgManifest.js",
|
|
156
|
+
"static/5mb_D_gy6E3wsT_BhuXDS/_clientMiddlewareManifest.js"
|
|
157
157
|
],
|
|
158
158
|
"rootMainFiles": []
|
|
159
159
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"routes": {},
|
|
4
4
|
"dynamicRoutes": {},
|
|
5
5
|
"preview": {
|
|
6
|
-
"previewModeId": "
|
|
7
|
-
"previewModeSigningKey": "
|
|
8
|
-
"previewModeEncryptionKey": "
|
|
6
|
+
"previewModeId": "0ecbe668c287ad3d298a46fa28dcd6c7",
|
|
7
|
+
"previewModeSigningKey": "5d23167a7b9b13ff8376b0c3f05d2ea39acf2088dc5d1f099d9c073911e67752",
|
|
8
|
+
"previewModeEncryptionKey": "69ce15d912ee228d839fb71e9628749a797894213ce1cccdf8b2060dbab914bd"
|
|
9
9
|
},
|
|
10
10
|
"notFoundRoutes": []
|
|
11
11
|
}
|
|
@@ -512,31 +512,31 @@
|
|
|
512
512
|
"dataRoutes": [
|
|
513
513
|
{
|
|
514
514
|
"page": "/",
|
|
515
|
-
"dataRouteRegex": "^/_next/data/
|
|
515
|
+
"dataRouteRegex": "^/_next/data/5mb_D_gy6E3wsT_BhuXDS/index\\.json$"
|
|
516
516
|
},
|
|
517
517
|
{
|
|
518
518
|
"page": "/login",
|
|
519
|
-
"dataRouteRegex": "^/_next/data/
|
|
519
|
+
"dataRouteRegex": "^/_next/data/5mb_D_gy6E3wsT_BhuXDS/login\\.json$"
|
|
520
520
|
},
|
|
521
521
|
{
|
|
522
522
|
"page": "/reports",
|
|
523
|
-
"dataRouteRegex": "^/_next/data/
|
|
523
|
+
"dataRouteRegex": "^/_next/data/5mb_D_gy6E3wsT_BhuXDS/reports\\.json$"
|
|
524
524
|
},
|
|
525
525
|
{
|
|
526
526
|
"page": "/reset",
|
|
527
|
-
"dataRouteRegex": "^/_next/data/
|
|
527
|
+
"dataRouteRegex": "^/_next/data/5mb_D_gy6E3wsT_BhuXDS/reset\\.json$"
|
|
528
528
|
},
|
|
529
529
|
{
|
|
530
530
|
"page": "/stats",
|
|
531
|
-
"dataRouteRegex": "^/_next/data/
|
|
531
|
+
"dataRouteRegex": "^/_next/data/5mb_D_gy6E3wsT_BhuXDS/stats\\.json$"
|
|
532
532
|
},
|
|
533
533
|
{
|
|
534
534
|
"page": "/tools-required",
|
|
535
|
-
"dataRouteRegex": "^/_next/data/
|
|
535
|
+
"dataRouteRegex": "^/_next/data/5mb_D_gy6E3wsT_BhuXDS/tools-required\\.json$"
|
|
536
536
|
},
|
|
537
537
|
{
|
|
538
538
|
"page": "/webview",
|
|
539
|
-
"dataRouteRegex": "^/_next/data/
|
|
539
|
+
"dataRouteRegex": "^/_next/data/5mb_D_gy6E3wsT_BhuXDS/webview\\.json$"
|
|
540
540
|
}
|
|
541
541
|
],
|
|
542
542
|
"i18n": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},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"]),i=["LC_"],s=e=>a.has(e)||i.some(t=>e.startsWith(t)),n={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,a]of Object.entries(r))void 0!==a&&s(t)&&(e[t]=a);return{...e,...n}},o=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>r.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)},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),a=e.i(446786);let i=r.default.join(a.default.homedir(),".purplemux","logs"),s=process.env.LOG_LEVEL||"info",n=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,a]=r.split("=").map(e=>e.trim());e&&a&&(t[e]=a)}return t})(process.env.LOG_LEVELS),l=["trace","debug","info","warn","error","fatal"],o=globalThis;if(!o.__ptRootLogger){let e=[s,...Object.values(n)].reduce((e,t)=>l.indexOf(t)<l.indexOf(e)?t:e,"fatal");o.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(i,"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=o.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=n[e]??s,t}])},44014,e=>{"use strict";let t,r;var a=e.i(666680);e.s(["nanoid",0,function(e=21){var i;i=e|=0,!t||t.length<i?(t=Buffer.allocUnsafe(128*i),a.webcrypto.getRandomValues(t),r=0):r+i>t.length&&(a.webcrypto.getRandomValues(t),r=0),r+=i;let s="";for(let a=r-e;a<r;a++)s+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&t[a]];return s}],44014)},459015,544538,e=>{"use strict";var t=e.i(233405),r=e.i(924868),a=e.i(224361),i=e.i(814747),s=e.i(44014),n=e.i(965898),l=e.i(597789),o=e.i(25146);process.platform;let u="linux"===process.platform;e.s(["isLinux",0,u],544538);let p=(0,o.createLogger)("terminal"),c=(0,a.promisify)(t.execFile),d="purple",m=i.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),f=async()=>{try{let{stdout:e}=await c("tmux",["-L",d,"ls","-F","#{session_name}"],{timeout:5e3});return e.trim().split("\n").map(e=>e.trim()).filter(e=>e.startsWith("pt-"))}catch{return[]}},h=async(e,t,r,a)=>{let i=(0,l.buildShellLaunchCommand)();await c("tmux",["-u","-L",d,"-f",m,"new-session","-d","-s",e,"-x",String(t),"-y",String(r),i],{timeout:5e3,cwd:a||n.PRISTINE_ENV.HOME||"/"}),await E(),p.debug(`tmux session created: ${e} (cols: ${t}, rows: ${r})`)},y=e=>new Promise(t=>setTimeout(t,e)),w=async e=>{if(!await g(e))return;p.debug(`killSession start: ${e}`);let t=await v(e);if(t)try{p.debug(`SIGTERM → process group ${t}: ${e}`),process.kill(-t,"SIGTERM")}catch{}try{await c("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<5;t++){if(!await g(e))return void p.debug(`killSession done (SIGTERM): ${e}`);await y(200)}if(p.warn(`session survived SIGTERM, escalating to SIGKILL: ${e}`),t)try{p.debug(`SIGKILL → process group ${t}: ${e}`),process.kill(-t,"SIGKILL")}catch{}try{await c("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<3;t++){if(!await g(e))return void p.debug(`killSession done (SIGKILL): ${e}`);await y(200)}p.warn(`tmux session still alive after kill: ${e}`)},g=async e=>{try{return await c("tmux",["-L",d,"has-session","-t",e],{timeout:5e3}),!0}catch{return!1}},S=async()=>{},x=async()=>{await S();let e=await f();e.length>0&&e.forEach(e=>{p.debug(`existing tmux session found: ${e}`)})},_=async e=>{if(u)try{return await r.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await c("lsof",["-a","-p",String(e),"-d","cwd","-Fn"],{timeout:5e3}),r=t.split("\n").find(e=>e.startsWith("n/"));return r?r.slice(1):null}catch{return null}},L=async e=>{let t=await v(e);if(t){let e=await _(t);if(e)return e}try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path}"],{timeout:5e3});return t.trim()||null}catch{return null}},v=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_pid}"],{timeout:5e3}),r=parseInt(t.trim(),10);return Number.isNaN(r)?null:r}catch{return null}},E=async()=>{try{await c("tmux",["-L",d,"source-file",m],{timeout:5e3})}catch{}},P=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"list-panes","-t",e,"-F","#{pane_current_command}"],{timeout:5e3});return t.trim()||null}catch{return null}},I=async()=>{try{let{stdout:e}=await c("tmux",["-L",d,"list-panes","-a","-F","#{session_name} #{pane_current_command} #{pane_current_path} #{pane_pid} #{window_activity}"],{timeout:5e3}),t=new Map;for(let r of e.trim().split("\n")){if(!r)continue;let[e,a,i,s,n]=r.split(" ");if(e&&a){let r=parseInt(s,10),l=parseInt(n,10);t.set(e,{command:a,path:i||"",pid:Number.isNaN(r)?0:r,windowActivity:Number.isNaN(l)?0:l})}}return t}catch{return new Map}},N=new Set(["bash","zsh","fish","sh","dash"]),b=async e=>{let t=await P(e);return t?{isSafe:N.has(t),processName:t}:{isSafe:!1,processName:"unknown"}},$=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_title}"],{timeout:5e3});return t.trim()||null}catch{return null}},R=async e=>{await c("tmux",["-L",d,"copy-mode","-q","-t",e],{timeout:5e3}).catch(()=>{})},T=async(e,t)=>{await R(e),await c("tmux",["-L",d,"send-keys","-t",e,t,"Enter"],{timeout:5e3})},M=async(e,t)=>{await R(e),await c("tmux",["-L",d,"send-keys","-t",e,t],{timeout:5e3})},A=async(e,t)=>{await R(e),await c("tmux",["-L",d,"send-keys","-t",e,"-l",`\x1b[200~${t}\x1b[201~`],{timeout:5e3}),await c("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3}),await new Promise(e=>setTimeout(e,600)),await c("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3})},k=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path} #{pane_current_command} #{pane_pid} #{pane_width} #{pane_height} #{session_created}"],{timeout:5e3}),[r,a,i,s,n,l]=t.trim().split(" ");return{cwd:r||null,command:a||null,pid:i&&parseInt(i,10)||null,width:s&&parseInt(s,10)||null,height:n&&parseInt(n,10)||null,sessionCreated:l&&parseInt(l,10)||null}}catch{return{cwd:null,command:null,pid:null,width:null,height:null,sessionCreated:null}}},C=new Set(["node","python","python3","ruby","perl","deno","bun"]),j=async()=>{try{await c("tmux",["-L",d,"kill-server"],{timeout:5e3}),p.debug("tmux server killed")}catch{}},q=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"capture-pane","-p","-t",e],{timeout:5e3});return t}catch{return null}},O=async(e,t)=>{try{let{stdout:r}=await c("tmux",["-L",d,"capture-pane","-p","-S",`-${t}`,"-t",e],{timeout:5e3});return r}catch{return null}},H=async e=>{if(u){let t=[];return await Promise.all(e.map(async e=>{try{for(let a of(await r.default.readFile(`/proc/${e}/task/${e}/children`,"utf-8")).trim().split(/\s+/)){let e=parseInt(a,10);Number.isNaN(e)||t.push(e)}}catch{}})),t}try{let{stdout:t}=await c("pgrep",["-P",e.join(",")],{timeout:5e3});return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},D=async e=>{let t=[],r=[e];for(;r.length>0;){let e=await H(r);if(0===e.length)break;t.push(...e),r=e}return t},G=async e=>{try{let t=new Set(e),{stdout:r}=await c("ss",["-tlnp"],{timeout:5e3}),a=new Set;for(let e of r.split("\n")){let r=e.match(/pid=(\d+)/g);if(!r||!r.some(e=>t.has(parseInt(e.replace("pid=",""),10))))continue;let i=e.match(/:(\d+)\s/);i&&a.add(parseInt(i[1],10))}return[...a].sort((e,t)=>e-t)}catch{return[]}},U=async e=>{let t=await D(e);if(0===t.length)return[];if(u)return G(t);try{let{stdout:e}=await c("lsof",["-a","-p",t.join(","),"-i","-sTCP:LISTEN","-P","-Fn"],{timeout:5e3}),r=new Set;for(let t of e.split("\n"))if(t.startsWith("n")){let e=t.match(/:(\d+)$/);e&&r.add(parseInt(e[1],10))}return[...r].sort((e,t)=>e-t)}catch{return[]}},F=async e=>{let t=await v(e);if(!t)return null;try{let{stdout:e}=await c("pgrep",["-n","-P",String(t)],{timeout:5e3}),r=e.trim();if(!r)return null;let{stdout:a}=await c("ps",["-o","args=","-p",r],{timeout:5e3}),s=a.trim();if(!s)return null;let n=s.split(/\s+/);if(0===n.length)return s;if(n[0]=i.default.basename(n[0]),C.has(n[0])&&n.length>1){let e=i.default.basename(n[1]).replace(/\.(c|m)?js$/,"");n.splice(0,2,e)}return n.join(" ")}catch{return null}};e.s(["SAFE_SHELLS",0,N,"applyConfig",0,E,"capturePaneContent",0,q,"capturePaneContentWithHistory",0,O,"checkTerminalProcess",0,b,"createSession",0,h,"defaultSessionName",0,()=>`pt-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}`,"exitCopyMode",0,R,"getAllPanesInfo",0,I,"getLastCommand",0,F,"getListeningPorts",0,U,"getPaneCurrentCommand",0,P,"getPaneDetailInfo",0,k,"getPaneTitle",0,$,"getSessionCwd",0,L,"getSessionPanePid",0,v,"hasSession",0,g,"killServer",0,j,"killSession",0,w,"listSessions",0,f,"scanSessions",0,x,"sendBracketedPaste",0,A,"sendKeys",0,T,"sendRawKeys",0,M,"workspaceSessionName",0,(e,t,r)=>`pt-${e}-${t}-${r}`],459015)},942080,e=>{"use strict";var t=e.i(926747),r=e.i(190406),a=e.i(244898),i=e.i(262950),s=e.i(233405),n=e.i(254799),l=e.i(224361),o=e.i(459015),u=e.i(25146);let p=(0,l.promisify)(s.execFile),c=(0,u.createLogger)("diff"),d=async e=>{let[{stdout:t},{stdout:r},{stdout:a}]=await Promise.all([p("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4}),p("git",["status","--porcelain","-uall"],{cwd:e,timeout:1e4}),p("git",["diff","HEAD","--shortstat"],{cwd:e,timeout:1e4})]);return(0,n.createHash)("sha1").update(`${t.trim()}
|
|
1
|
+
module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},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"]),i=["LC_"],s=e=>a.has(e)||i.some(t=>e.startsWith(t)),n={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,a]of Object.entries(r))void 0!==a&&s(t)&&(e[t]=a);return{...e,...n}},o=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>r.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)},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),a=e.i(446786);let i=r.default.join(a.default.homedir(),".purplemux","logs"),s=process.env.LOG_LEVEL||"info",n=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,a]=r.split("=").map(e=>e.trim());e&&a&&(t[e]=a)}return t})(process.env.LOG_LEVELS),l=["trace","debug","info","warn","error","fatal"],o=globalThis;if(!o.__ptRootLogger){let e=[s,...Object.values(n)].reduce((e,t)=>l.indexOf(t)<l.indexOf(e)?t:e,"fatal");o.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(i,"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=o.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=n[e]??s,t}])},44014,e=>{"use strict";let t,r;var a=e.i(666680);e.s(["nanoid",0,function(e=21){var i;i=e|=0,!t||t.length<i?(t=Buffer.allocUnsafe(128*i),a.webcrypto.getRandomValues(t),r=0):r+i>t.length&&(a.webcrypto.getRandomValues(t),r=0),r+=i;let s="";for(let a=r-e;a<r;a++)s+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&t[a]];return s}],44014)},459015,544538,e=>{"use strict";var t=e.i(233405),r=e.i(924868),a=e.i(224361),i=e.i(814747),s=e.i(44014),n=e.i(965898),l=e.i(597789),o=e.i(25146);process.platform;let u="linux"===process.platform;e.s(["isLinux",0,u],544538);let p=(0,o.createLogger)("terminal"),c=(0,a.promisify)(t.execFile),d="purple",m=i.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),f=async()=>{try{let{stdout:e}=await c("tmux",["-L",d,"ls","-F","#{session_name}"],{timeout:5e3});return e.trim().split("\n").map(e=>e.trim()).filter(e=>e.startsWith("pt-"))}catch{return[]}},h=async(e,t,r,a)=>{let i=(0,l.buildShellLaunchCommand)();await c("tmux",["-u","-L",d,"-f",m,"new-session","-d","-s",e,"-x",String(t),"-y",String(r),i],{timeout:5e3,cwd:a||n.PRISTINE_ENV.HOME||"/"}),await E(),p.debug(`tmux session created: ${e} (cols: ${t}, rows: ${r})`)},y=e=>new Promise(t=>setTimeout(t,e)),w=async e=>{if(!await g(e))return;p.debug(`killSession start: ${e}`);let t=await v(e);if(t)try{p.debug(`SIGTERM → process group ${t}: ${e}`),process.kill(-t,"SIGTERM")}catch{}try{await c("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<5;t++){if(!await g(e))return void p.debug(`killSession done (SIGTERM): ${e}`);await y(200)}if(p.warn(`session survived SIGTERM, escalating to SIGKILL: ${e}`),t)try{p.debug(`SIGKILL → process group ${t}: ${e}`),process.kill(-t,"SIGKILL")}catch{}try{await c("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<3;t++){if(!await g(e))return void p.debug(`killSession done (SIGKILL): ${e}`);await y(200)}p.warn(`tmux session still alive after kill: ${e}`)},g=async e=>{try{return await c("tmux",["-L",d,"has-session","-t",e],{timeout:5e3}),!0}catch{return!1}},S=async()=>{},x=async()=>{await S();let e=await f();e.length>0&&e.forEach(e=>{p.debug(`existing tmux session found: ${e}`)})},_=async e=>{if(u)try{return await r.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await c("lsof",["-a","-p",String(e),"-d","cwd","-Fn"],{timeout:5e3}),r=t.split("\n").find(e=>e.startsWith("n/"));return r?r.slice(1):null}catch{return null}},L=async e=>{let t=await v(e);if(t){let e=await _(t);if(e)return e}try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path}"],{timeout:5e3});return t.trim()||null}catch{return null}},v=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_pid}"],{timeout:5e3}),r=parseInt(t.trim(),10);return Number.isNaN(r)?null:r}catch{return null}},E=async()=>{try{await c("tmux",["-L",d,"source-file",m],{timeout:5e3})}catch{}},P=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"list-panes","-t",e,"-F","#{pane_current_command}"],{timeout:5e3});return t.trim()||null}catch{return null}},I=async()=>{try{let{stdout:e}=await c("tmux",["-L",d,"list-panes","-a","-F","#{session_name} #{pane_current_command} #{pane_current_path} #{pane_pid} #{window_activity}"],{timeout:5e3}),t=new Map;for(let r of e.trim().split("\n")){if(!r)continue;let[e,a,i,s,n]=r.split(" ");if(e&&a){let r=parseInt(s,10),l=parseInt(n,10);t.set(e,{command:a,path:i||"",pid:Number.isNaN(r)?0:r,windowActivity:Number.isNaN(l)?0:l})}}return t}catch{return new Map}},b=new Set(["bash","zsh","fish","sh","dash"]),N=async e=>{let t=await P(e);return t?{isSafe:b.has(t),processName:t}:{isSafe:!1,processName:"unknown"}},$=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_title}"],{timeout:5e3});return t.trim()||null}catch{return null}},R=async e=>{await c("tmux",["-L",d,"copy-mode","-q","-t",e],{timeout:5e3}).catch(()=>{})},T=async(e,t)=>{await R(e),await c("tmux",["-L",d,"send-keys","-t",e,t,"Enter"],{timeout:5e3})},M=async(e,t)=>{await R(e),await c("tmux",["-L",d,"send-keys","-t",e,t],{timeout:5e3})},A=async(e,t)=>{await R(e),await c("tmux",["-L",d,"send-keys","-t",e,"-l",`\x1b[200~${t}\x1b[201~`],{timeout:5e3}),await c("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3}),await new Promise(e=>setTimeout(e,600)),await c("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3})},k=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path} #{pane_current_command} #{pane_pid} #{pane_width} #{pane_height} #{session_created}"],{timeout:5e3}),[r,a,i,s,n,l]=t.trim().split(" ");return{cwd:r||null,command:a||null,pid:i&&parseInt(i,10)||null,width:s&&parseInt(s,10)||null,height:n&&parseInt(n,10)||null,sessionCreated:l&&parseInt(l,10)||null}}catch{return{cwd:null,command:null,pid:null,width:null,height:null,sessionCreated:null}}},C=new Set(["node","python","python3","ruby","perl","deno","bun"]),j=async()=>{try{await c("tmux",["-L",d,"kill-server"],{timeout:5e3}),p.debug("tmux server killed")}catch{}},q=async e=>{try{let{stdout:t}=await c("tmux",["-L",d,"capture-pane","-p","-t",e],{timeout:5e3});return t}catch{return null}},H=async(e,t)=>{try{let{stdout:r}=await c("tmux",["-L",d,"capture-pane","-p","-S",`-${t}`,"-t",e],{timeout:5e3});return r}catch{return null}},O=async e=>{if(u){let t=[];return await Promise.all(e.map(async e=>{try{for(let a of(await r.default.readFile(`/proc/${e}/task/${e}/children`,"utf-8")).trim().split(/\s+/)){let e=parseInt(a,10);Number.isNaN(e)||t.push(e)}}catch{}})),t}try{let{stdout:t}=await c("pgrep",["-P",e.join(",")],{timeout:5e3});return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},D=async e=>{let t=[],r=[e];for(;r.length>0;){let e=await O(r);if(0===e.length)break;t.push(...e),r=e}return t},G=async e=>{try{let t=new Set(e),{stdout:r}=await c("ss",["-tlnp"],{timeout:5e3}),a=new Set;for(let e of r.split("\n")){let r=e.match(/pid=(\d+)/g);if(!r||!r.some(e=>t.has(parseInt(e.replace("pid=",""),10))))continue;let i=e.match(/:(\d+)\s/);i&&a.add(parseInt(i[1],10))}return[...a].sort((e,t)=>e-t)}catch{return[]}},U=async e=>{let t=await D(e);if(0===t.length)return[];if(u)return G(t);try{let{stdout:e}=await c("lsof",["-a","-p",t.join(","),"-i","-sTCP:LISTEN","-P","-Fn"],{timeout:5e3}),r=new Set;for(let t of e.split("\n"))if(t.startsWith("n")){let e=t.match(/:(\d+)$/);e&&r.add(parseInt(e[1],10))}return[...r].sort((e,t)=>e-t)}catch{return[]}},F=async e=>{let t=await v(e);if(!t)return null;try{let{stdout:e}=await c("pgrep",["-n","-P",String(t)],{timeout:5e3}),r=e.trim();if(!r)return null;let{stdout:a}=await c("ps",["-o","args=","-p",r],{timeout:5e3}),s=a.trim();if(!s)return null;let n=s.split(/\s+/);if(0===n.length)return s;if(n[0]=i.default.basename(n[0]),C.has(n[0])&&n.length>1){let e=i.default.basename(n[1]).replace(/\.(c|m)?js$/,"");n.splice(0,2,e)}return n.join(" ")}catch{return null}};e.s(["SAFE_SHELLS",0,b,"applyConfig",0,E,"capturePaneContent",0,q,"capturePaneContentWithHistory",0,H,"checkTerminalProcess",0,N,"createSession",0,h,"defaultSessionName",0,()=>`pt-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}`,"exitCopyMode",0,R,"getAllPanesInfo",0,I,"getLastCommand",0,F,"getListeningPorts",0,U,"getPaneCurrentCommand",0,P,"getPaneDetailInfo",0,k,"getPaneTitle",0,$,"getSessionCwd",0,L,"getSessionPanePid",0,v,"hasSession",0,g,"killServer",0,j,"killSession",0,w,"listSessions",0,f,"scanSessions",0,x,"sendBracketedPaste",0,A,"sendKeys",0,T,"sendRawKeys",0,M,"workspaceSessionName",0,(e,t,r)=>`pt-${e}-${t}-${r}`],459015)},942080,e=>{"use strict";var t=e.i(926747),r=e.i(190406),a=e.i(244898),i=e.i(262950),s=e.i(233405),n=e.i(254799),l=e.i(224361),o=e.i(459015),u=e.i(25146);let p=(0,l.promisify)(s.execFile),c=(0,u.createLogger)("diff"),d=async e=>{try{let{stdout:t}=await p("git",["rev-list","--left-right","--count","HEAD...@{upstream}"],{cwd:e,timeout:1e4}),r=t.trim().split(/\s+/);return{ahead:parseInt(r[0],10)||0,behind:parseInt(r[1],10)||0}}catch{return{ahead:0,behind:0}}},m=async e=>{let[{stdout:t},{stdout:r},{stdout:a}]=await Promise.all([p("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4}),p("git",["status","--porcelain","-uall"],{cwd:e,timeout:1e4}),p("git",["diff","HEAD","--shortstat"],{cwd:e,timeout:1e4})]);return(0,n.createHash)("sha1").update(`${t.trim()}
|
|
2
2
|
${r}
|
|
3
|
-
${a}`).digest("hex").slice(0,16)},
|
|
3
|
+
${a}`).digest("hex").slice(0,16)},f=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let r=e.query.session,a="true"===e.query.hashOnly;if(!r)return t.status(400).json({error:"session parameter required"});if(!await (0,o.hasSession)(r))return t.status(404).json({error:"Session not found"});let i=await (0,o.getSessionCwd)(r);if(!i)return t.status(500).json({error:"Failed to get CWD"});try{await p("git",["rev-parse","--is-inside-work-tree"],{cwd:i,timeout:1e4})}catch{return t.status(200).json({isGitRepo:!1,diff:"",hash:""})}try{if(a){let e=await m(i);return t.status(200).json({isGitRepo:!0,hash:e})}let[{stdout:e},{stdout:r},s,n]=await Promise.all([p("git",["diff","HEAD"],{cwd:i,timeout:1e4,maxBuffer:5242880}),p("git",["status","--porcelain","-uall"],{cwd:i,timeout:1e4}),m(i),d(i)]),l=r.split("\n").filter(e=>e.startsWith("??")).map(e=>e.slice(3).trim()),o=e;for(let e of l)try{let{stdout:t}=await p("git",["diff","--no-index","/dev/null",e],{cwd:i,timeout:1e4});o+=t}catch(e){e&&"object"==typeof e&&"stdout"in e&&(o+=e.stdout)}return t.status(200).json({isGitRepo:!0,diff:o,hash:s,ahead:n.ahead,behind:n.behind})}catch(e){return c.error(`git diff failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Failed to get diff"})}};e.s(["default",0,f],607240);var h=e.i(607240),y=e.i(7031),w=e.i(181927),g=e.i(846432);let S=(0,i.hoist)(h,"default"),x=(0,i.hoist)(h,"config"),_=new a.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/layout/diff",pathname:"/api/layout/diff",bundlePath:"",filename:""},userland:h,distDir:".next",relativeProjectDir:""});async function L(e,r,a){a.requestMeta&&(0,g.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,g.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/layout/diff";i=i.replace(/\/index$/,"")||"/";let s=await _.prepare(e,r,{srcPage:i});if(!s){r.statusCode=400,r.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:n,params:l,prerenderManifest:o,routerServerContext:u}=s;try{let t,a=e.method||"GET",s=(0,y.getTracer)(),p=s.getActiveScopeSpan(),c=!!(null==u?void 0:u.isWrappedByNextServer),d=_.instrumentationOnRequestError.bind(_),m=async p=>_.render(e,r,{query:{...n,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:o.preview,propagateError:!1,dev:_.isDev,page:"/api/layout/diff",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>d(e,...t)}).finally(()=>{if(!p)return;p.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==w.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 n=e.get("next.route");if(n){let e=`${a} ${n}`;p.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),p.updateName(e),t&&t!==p&&(t.setAttribute("http.route",n),t.updateName(e))}else p.updateName(`${a} ${i}`)});c&&p?await m(p):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(w.BaseServerSpan.handleRequest,{spanName:`${a} ${i}`,kind:y.SpanKind.SERVER,attributes:{"http.method":a,"http.target":e.url}},m),void 0,!c))}catch(e){if(_.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,x,"default",0,S,"handler",0,L],942080)}];
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0auutl5._.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,3 +1,3 @@
|
|
|
1
1
|
module.exports=[845994,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),s=e.i(254799),i=e.i(666126);(0,e.i(25146).createLogger)("config");let n=a.default.join(r.default.homedir(),".purplemux"),o=a.default.join(n,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,a=new Promise(e=>{t=e}),r=l.__ptConfigLock;l.__ptConfigLock=a,await r;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),c=async()=>{try{let e=await t.default.readFile(o,"utf-8");return JSON.parse(e)}catch{return null}},p=async e=>{let{updatedAt:a,...r}=e,s=JSON.stringify(r);if(l.__ptConfigContentCache===s)return;e.updatedAt=new Date().toISOString();let n=o+".tmp";try{await t.default.writeFile(n,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(n,o)}catch(e){throw await t.default.unlink(n).catch(()=>{}),e}l.__ptConfigContentCache=s,(0,i.broadcastSync)({type:"config"})},f="scrypt:",m=e=>"string"==typeof e&&e.startsWith(f),g=async e=>{let t=s.default.randomBytes(16),a=await new Promise((a,r)=>{s.default.scrypt(e,t,64,(e,t)=>{e?r(e):a(t)})});return`${f}${t.toString("hex")}:${a.toString("hex")}`},h=async(e,t)=>{if(!m(t))return!1;let[,a,r]=t.split(":"),i=Buffer.from(a,"hex"),n=Buffer.from(r,"hex"),o=await new Promise((t,a)=>{s.default.scrypt(e,i,n.length,(e,r)=>{e?a(e):t(r)})});return s.default.timingSafeEqual(o,n)},w=async()=>await c()??d(),S=async e=>u(async()=>{let t=await c()??d();Object.assign(t,e),await p(t)}),y=async()=>{let e=await c();return!m(e?.authPassword)},v=async()=>{let e=await c();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>s.default.randomBytes(32).toString("hex"),"getConfig",0,w,"getDangerouslySkipPermissions",0,v,"hashPassword",0,g,"needsSetup",0,y,"updateConfig",0,S,"verifyPassword",0,h])},478490,e=>{"use strict";var t=e.i(845994);e.i(924868);var a=e.i(814747),r=e.i(446786),s=e.i(25146);e.i(796902),(0,s.createLogger)("hooks");let i=a.default.join(r.default.homedir(),".purplemux"),n=a.default.join(i,"hooks.json");a.default.join(i,"port"),a.default.join(i,"status-hook.sh");var o=e.i(160874);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=e=>"string"==typeof e&&l.test(e),d=async e=>{let a=await (0,t.getDangerouslySkipPermissions)(),r=[`--settings ${n}`];return e&&r.push(`--append-system-prompt-file ${(0,o.getClaudePromptPath)(e)}`),a&&r.push("--dangerously-skip-permissions"),r.join(" ")},c=async(e,t)=>{if(!u(e))throw Error(`Invalid session ID format: ${e}`);let a=await d(t);return`claude --resume ${e} ${a}`};e.s(["buildResumeCommand",0,c,"isValidSessionId",0,u],478490)},758518,e=>{"use strict";var t=e.i(926747),a=e.i(190406),r=e.i(244898),s=e.i(262950),i=e.i(459015),n=e.i(322429),o=e.i(825265),l=e.i(804767),u=e.i(478490),d=e.i(25146);let c=(0,d.createLogger)("auto-resume"),p=new Set(["bash","zsh","fish","sh","dash"]),f=async()=>{let{workspaces:e}=await (0,n.getWorkspaces)(),t=[];for(let a of e){let e=await (0,o.readLayoutFile)((0,o.resolveLayoutFile)(a.id));if(e)for(let r of(0,l.collectAllTabs)(e.root))"claude-code"===r.panelType&&r.claudeSessionId&&t.push({workspaceId:a.id,tabId:r.id,tmuxSession:r.sessionName,claudeSessionId:r.claudeSessionId})}return t},m=async e=>{try{let t=await (0,i.getPaneCurrentCommand)(e.tmuxSession);if(!t)return c.warn(`Cannot check process: ${e.tmuxSession}`),!1;if(!p.has(t)){if("claude"===t||"node"===t)return c.debug(`Claude already running, skip: ${e.tmuxSession}`),!0;return c.debug(`Non-shell process running (${t}), skip: ${e.tmuxSession}`),!1}let a=await (0,u.buildResumeCommand)(e.claudeSessionId,e.workspaceId);return c.debug(`Sending resume: ${e.tmuxSession} → ${e.claudeSessionId}`),await (0,i.sendKeys)(e.tmuxSession,a),!0}catch(t){return c.error(`Failed: ${e.tmuxSession} — ${t instanceof Error?t.message:t}`),!1}},g=async e=>{let t=!1;for(let a of e)await (0,i.hasSession)(a.tmuxSession)||(c.debug(`No tmux session, creating new: ${a.tmuxSession}`),await (0,i.createSession)(a.tmuxSession,80,24),t=!0);t&&await new Promise(e=>setTimeout(e,500)),await Promise.allSettled(e.map(e=>m(e)))},h=async()=>{let e=await f();0!==e.length&&(c.debug(`${e.length} surface(s) auto-resume started`),g(e).then(()=>{c.debug("Auto-resume complete")}).catch(e=>{c.error(`Auto-resume error: ${e instanceof Error?e.message:e}`)}))};var w=e.i(964759);let S=(0,d.createLogger)("terminal"),y=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"Method not allowed"});try{let e=await (0,i.listSessions)();return S.info(`tmux reset requested — killing ${e.length} session(s)`),await (0,i.killServer)(),await (0,i.scanSessions)(),await (0,i.applyConfig)(),await (0,n.initWorkspaceStore)(),await h(),await (0,w.getStatusManager)().rescan(),S.info("tmux re-initialized after reset"),t.status(200).json({killed:e.length})}catch(e){return S.error(`tmux reset failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"tmux reset failed"})}};e.s(["default",0,y],191170);var v=e.i(191170),x=e.i(7031),P=e.i(181927),$=e.i(846432);let k=(0,s.hoist)(v,"default"),b=(0,s.hoist)(v,"config"),C=new r.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/tmux/reset",pathname:"/api/tmux/reset",bundlePath:"",filename:""},userland:v,distDir:".next",relativeProjectDir:""});async function I(e,a,r){r.requestMeta&&(0,$.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,$.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/tmux/reset";s=s.replace(/\/index$/,"")||"/";let i=await C.prepare(e,a,{srcPage:s});if(!i){a.statusCode=400,a.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:n,params:o,prerenderManifest:l,routerServerContext:u}=i;try{let t,r=e.method||"GET",i=(0,x.getTracer)(),d=i.getActiveScopeSpan(),c=!!(null==u?void 0:u.isWrappedByNextServer),p=C.instrumentationOnRequestError.bind(C),f=async d=>C.render(e,a,{query:{...n,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:C.isDev,page:"/api/tmux/reset",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>p(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=i.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 n=e.get("next.route");if(n){let e=`${r} ${n}`;d.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",n),t.updateName(e))}else d.updateName(`${r} ${s}`)});c&&d?await f(d):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(P.BaseServerSpan.handleRequest,{spanName:`${r} ${s}`,kind:x.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},f),void 0,!c))}catch(e){if(C.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,b,"default",0,k,"handler",0,I],758518)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(e=>Promise.resolve().then(()=>e(785128)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_04dq3gt._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module.exports=[848738,e=>{"use strict";var t=e.i(926747),r=e.i(190406),a=e.i(244898),n=e.i(262950),s=e.i(825265),o=e.i(322429),i=e.i(964759);let d=(0,e.i(25146).createLogger)("layout"),u=async(e,t)=>{let r=e.query.workspace||await (0,o.getActiveWorkspaceId)();if(!r)return t.status(400).json({error:"No workspace found"});let a=e.query.paneId,n=e.query.tabId;if("DELETE"===e.method)return await (0,s.removeTabFromPane)(r,a,n)?((0,i.getStatusManager)().removeTab(n),t.status(204).end()):t.status(404).json({error:"Tab not found"});if("POST"===e.method)try{let{command:o}=e.body??{};if(!await (0,s.restartTabSession)(r,a,n,o))return t.status(404).json({error:"Tab not found"});return t.status(200).json({ok:!0})}catch(e){return d.error(`tab restart failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Failed to restart session"})}if("PATCH"===e.method){let{name:o,panelType:i,title:d,cwd:u,lastCommand:l,webUrl:p}=e.body??{};if(void 0!==o||void 0!==i||void 0!==d||void 0!==u||void 0!==l||void 0!==p){let e={};if(void 0!==o){if("string"!=typeof o)return t.status(400).json({error:"name must be a string"});e.name=o.trim()}void 0!==i&&(e.panelType=i),void 0!==d&&(e.title=d),void 0!==u&&(e.cwd=u),void 0!==l&&(e.lastCommand=l),void 0!==p&&(e.webUrl=p);let v=await (0,s.patchTab)(r,a,n,e);return v?t.status(200).json(v):t.status(404).json({error:"Tab not found"})}return t.status(400).json({error:"No fields to update"})}return t.setHeader("Allow","POST, DELETE, PATCH"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,u],360163);var l=e.i(360163),p=e.i(7031),v=e.i(181927),c=e.i(846432);let f=(0,n.hoist)(l,"default"),m=(0,n.hoist)(l,"config"),h=new a.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/layout/pane/[paneId]/tabs/[tabId]/index",pathname:"/api/layout/pane/[paneId]/tabs/[tabId]",bundlePath:"",filename:""},userland:l,distDir:".next",relativeProjectDir:""});async function b(e,r,a){a.requestMeta&&(0,c.setRequestMeta)(e,a.requestMeta),h.isDev&&(0,c.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/layout/pane/[paneId]/tabs/[tabId]/index";n=n.replace(/\/index$/,"")||"/";let s=await h.prepare(e,r,{srcPage:n});if(!s){r.statusCode=400,r.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:o,params:i,prerenderManifest:d,routerServerContext:u}=s;try{let t,a=e.method||"GET",s=(0,p.getTracer)(),l=s.getActiveScopeSpan(),c=!!(null==u?void 0:u.isWrappedByNextServer),f=h.instrumentationOnRequestError.bind(h),m=async l=>h.render(e,r,{query:{...o,...i},params:i,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:d.preview,propagateError:!1,dev:h.isDev,page:"/api/layout/pane/[paneId]/tabs/[tabId]/index",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==v.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=`${a} ${o}`;l.setAttributes({"next.route":o,"http.route":o,"next.span_name":e}),l.updateName(e),t&&t!==l&&(t.setAttribute("http.route",o),t.updateName(e))}else l.updateName(`${a} ${n}`)});c&&l?await m(l):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(v.BaseServerSpan.handleRequest,{spanName:`${a} ${n}`,kind:p.SpanKind.SERVER,attributes:{"http.method":a,"http.target":e.url}},m),void 0,!c))}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,m,"default",0,f,"handler",0,b],848738)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(e=>Promise.resolve().then(()=>e(785128)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_09vws3v._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module.exports=[845994,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(254799),s=e.i(666126);(0,e.i(25146).createLogger)("config");let n=a.default.join(r.default.homedir(),".purplemux"),o=a.default.join(n,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,a=new Promise(e=>{t=e}),r=l.__ptConfigLock;l.__ptConfigLock=a,await r;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),p=async()=>{try{let e=await t.default.readFile(o,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:a,...r}=e,i=JSON.stringify(r);if(l.__ptConfigContentCache===i)return;e.updatedAt=new Date().toISOString();let n=o+".tmp";try{await t.default.writeFile(n,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(n,o)}catch(e){throw await t.default.unlink(n).catch(()=>{}),e}l.__ptConfigContentCache=i,(0,s.broadcastSync)({type:"config"})},f="scrypt:",g=e=>"string"==typeof e&&e.startsWith(f),m=async e=>{let t=i.default.randomBytes(16),a=await new Promise((a,r)=>{i.default.scrypt(e,t,64,(e,t)=>{e?r(e):a(t)})});return`${f}${t.toString("hex")}:${a.toString("hex")}`},y=async(e,t)=>{if(!g(t))return!1;let[,a,r]=t.split(":"),s=Buffer.from(a,"hex"),n=Buffer.from(r,"hex"),o=await new Promise((t,a)=>{i.default.scrypt(e,s,n.length,(e,r)=>{e?a(e):t(r)})});return i.default.timingSafeEqual(o,n)},h=async()=>await p()??d(),w=async e=>u(async()=>{let t=await p()??d();Object.assign(t,e),await c(t)}),v=async()=>{let e=await p();return!g(e?.authPassword)},S=async()=>{let e=await p();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>i.default.randomBytes(32).toString("hex"),"getConfig",0,h,"getDangerouslySkipPermissions",0,S,"hashPassword",0,m,"needsSetup",0,v,"updateConfig",0,w,"verifyPassword",0,y])},478490,e=>{"use strict";var t=e.i(845994);e.i(924868);var a=e.i(814747),r=e.i(446786),i=e.i(25146);e.i(796902),(0,i.createLogger)("hooks");let s=a.default.join(r.default.homedir(),".purplemux"),n=a.default.join(s,"hooks.json");a.default.join(s,"port"),a.default.join(s,"status-hook.sh");var o=e.i(160874);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=e=>"string"==typeof e&&l.test(e),d=async e=>{let a=await (0,t.getDangerouslySkipPermissions)(),r=[`--settings ${n}`];return e&&r.push(`--append-system-prompt-file ${(0,o.getClaudePromptPath)(e)}`),a&&r.push("--dangerously-skip-permissions"),r.join(" ")},p=async(e,t)=>{if(!u(e))throw Error(`Invalid session ID format: ${e}`);let a=await d(t);return`claude --resume ${e} ${a}`};e.s(["buildResumeCommand",0,p,"isValidSessionId",0,u],478490)},667250,e=>{"use strict";var t=e.i(926747),a=e.i(190406),r=e.i(244898),i=e.i(262950),s=e.i(825265),n=e.i(322429),o=e.i(964759),l=e.i(478490),u=e.i(459015);let d=(0,e.i(25146).createLogger)("layout"),p=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"Method not allowed"});let a=e.query.workspace||await (0,n.getActiveWorkspaceId)();if(!a)return t.status(400).json({error:"No workspace found"});let r=e.query.paneId,{name:i,cwd:p,panelType:c,command:f,resumeSessionId:g}=e.body??{};if(g&&!(0,l.isValidSessionId)(g))return t.status(400).json({error:"Invalid session ID format"});try{let e=await (0,s.addTabToPane)(a,r,i,p,c,f);if(!e)return t.status(404).json({error:"Pane not found"});return"web-browser"!==e.panelType&&(0,o.getStatusManager)().registerTab(e.id,{cliState:"inactive",workspaceId:a,tabName:e.name,tmuxSession:e.sessionName,lastEvent:null,eventSeq:0}),g&&!f&&(await (0,s.updateTabClaudeSessionId)(e.sessionName,g),e.claudeSessionId=g,setTimeout(async()=>{try{let t=await (0,l.buildResumeCommand)(g,a);await (0,u.sendKeys)(e.sessionName,t)}catch(e){d.warn(`resume sendKeys failed: ${e instanceof Error?e.message:e}`)}},500)),t.status(200).json(e)}catch(e){return d.error(`tab creation failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Failed to create tab"})}};e.s(["default",0,p],170096);var c=e.i(170096),f=e.i(7031),g=e.i(181927),m=e.i(846432);let y=(0,i.hoist)(c,"default"),h=(0,i.hoist)(c,"config"),w=new r.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/layout/pane/[paneId]/tabs/index",pathname:"/api/layout/pane/[paneId]/tabs",bundlePath:"",filename:""},userland:c,distDir:".next",relativeProjectDir:""});async function v(e,a,r){r.requestMeta&&(0,m.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,m.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/layout/pane/[paneId]/tabs/index";i=i.replace(/\/index$/,"")||"/";let s=await w.prepare(e,a,{srcPage:i});if(!s){a.statusCode=400,a.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:n,params:o,prerenderManifest:l,routerServerContext:u}=s;try{let t,r=e.method||"GET",s=(0,f.getTracer)(),d=s.getActiveScopeSpan(),p=!!(null==u?void 0:u.isWrappedByNextServer),c=w.instrumentationOnRequestError.bind(w),m=async d=>w.render(e,a,{query:{...n,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:w.isDev,page:"/api/layout/pane/[paneId]/tabs/index",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>c(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==g.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 n=e.get("next.route");if(n){let e=`${r} ${n}`;d.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",n),t.updateName(e))}else d.updateName(`${r} ${i}`)});p&&d?await m(d):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(g.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:f.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},m),void 0,!p))}catch(e){if(w.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,h,"default",0,y,"handler",0,v],667250)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(e=>Promise.resolve().then(()=>e(785128)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_0ap4fy.._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[990294,(e,t,a)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",a="minute",n="hour",r="week",i="month",s="quarter",u="year",o="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 g||!(!e||!e[m])},C=function e(t,a,n){var r;if(!t)return p;if("string"==typeof t){var i=t.toLowerCase();f[i]&&(r=i),a&&(f[i]=a,r=i);var s=t.split("-");if(!r&&s.length>1)return e(s[0])}else{var u=t.name;f[u]=t,r=u}return!n&&r&&(p=r),r||!n&&p},v=function(e,t){if(y(e))return e.clone();var a="object"==typeof t?t:{};return a.date=e,a.args=arguments,new g(a)},$={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,i),s=a-r<0,u=t.clone().add(n+(s?-1:1),i);return+(-(n+(a-r)/(s?r-u:u-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:i,y:u,w:r,d:"day",D:o,h:n,m:a,s:t,ms:e,Q:s})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};$.l=C,$.i=y,$.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var g=function(){function h(e){this.$L=C(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($.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,i=(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,i)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[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 $},p.isValid=function(){return this.$d.toString()!==c},p.isSame=function(e,t){var a=v(e);return this.startOf(t)<=a&&a<=this.endOf(t)},p.isAfter=function(e,t){return v(e)<this.startOf(t)},p.isBefore=function(e,t){return this.endOf(t)<v(e)},p.$g=function(e,t,a){return $.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,s){var c=this,l=!!$.u(s)||s,d=$.p(e),h=function(e,t){var a=$.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 $.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,C="set"+(this.$u?"UTC":"");switch(d){case u:return l?h(1,0):h(31,11);case i:return l?h(1,m):h(0,m+1);case r:var v=this.$locale().weekStart||0,g=(f<v?f+7:f)-v;return h(l?y-g:y+(6-g),m);case"day":case o:return p(C+"Hours",0);case n:return p(C+"Minutes",1);case a:return p(C+"Seconds",2);case t:return p(C+"Milliseconds",3);default:return this.clone()}},p.endOf=function(e){return this.startOf(e,!1)},p.$set=function(r,s){var c,l=$.p(r),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[o]=d+"Date",c[i]=d+"Month",c[u]=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+(s-this.$W):s;if(l===i||l===u){var f=this.clone().set(o,1);f.$d[h](p),f.init(),this.$d=f.set(o,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[$.p(e)]()},p.add=function(e,s){var o,c=this;e=Number(e);var l=$.p(s),d=function(t){var a=v(c);return $.w(a.date(a.date()+Math.round(t*e)),c)};if(l===i)return this.set(i,this.$M+e);if(l===u)return this.set(u,this.$y+e);if("day"===l)return d(1);if(l===r)return d(7);var h=((o={})[a]=6e4,o[n]=36e5,o[t]=1e3,o)[l]||1,p=this.$d.getTime()+e*h;return $.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=$.z(this),i=this.$H,s=this.$m,u=this.$M,o=a.weekdays,l=a.months,h=a.meridiem,p=function(e,a,r,i){return e&&(e[a]||e(t,n))||r[a].slice(0,i)},f=function(e){return $.s(i%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 $.s(t.$y,4,"0");case"M":return u+1;case"MM":return $.s(u+1,2,"0");case"MMM":return p(a.monthsShort,u,l,3);case"MMMM":return p(l,u);case"D":return t.$D;case"DD":return $.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(a.weekdaysMin,t.$W,o,2);case"ddd":return p(a.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(i);case"HH":return $.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 $.s(s,2,"0");case"s":return String(t.$s);case"ss":return $.s(t.$s,2,"0");case"SSS":return $.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,o,c){var l,d=this,h=$.p(o),p=v(e),f=(p.utcOffset()-this.utcOffset())*6e4,m=this-p,y=function(){return $.m(d,p)};switch(h){case u:l=y()/12;break;case i:l=y();break;case s: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:$.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 a=this.clone(),n=C(e,t,!0);return n&&(a.$L=n),a},p.clone=function(){return $.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=g.prototype;return v.prototype=b,[["$ms",e],["$s",t],["$m",a],["$H",n],["$W","day"],["$M",i],["$y",u],["$D",o]].forEach(function(e){b[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,g,v),e.$i=!0),v},v.locale=C,v.isDayjs=y,v.unix=function(e){return v(1e3*e)},v.en=f[p],v.Ls=f,v.p={},v}()},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:i}=a(n),s=(0,t.default)(e).toDate();return s>=r&&s<=i},"isWithinPeriod",0,(e,t)=>{if("all"===t)return!0;let{start:n,end:r}=a(t),i=new Date(e);return i>=n&&i<=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),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}},u={input:30,output:150,cacheWrite5m:37.5,cacheWrite1h:60,cacheRead:3},o=(e,t,a,n,r,i)=>t/1e6*e.input+n/1e6*e.cacheWrite5m+r/1e6*e.cacheWrite1h+i/1e6*e.cacheRead+a/1e6*e.output,c=a.default.join(n.default.homedir(),".claude","stats-cache.json"),l=(e,t,a,n,r,i)=>((e,t,a,n,r,i)=>{let c=((e,t,a,n,r,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?u:s[d];return h?o(h,t,a,n,r,i):null})(e,t,a,n,r,i);if(null!==c)return c;let l=e.toLowerCase();return o(l.includes("opus")?s["opus-4-6"]:l.includes("haiku")?s["haiku-4-5"]:s["sonnet-4-6"],t,a,n,r,i)})(e,t,a,r,i,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"),i=JSON.parse(r);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:(a=i.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),i=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:i,cacheCreation1hInputTokens:r,webSearchRequests:Number(n.webSearchRequests??0),costUSD:Number(n.costUSD??0),contextWindow:Number(n.contextWindow??0),maxOutputTokens:Number(n.maxOutputTokens??0)}}return t})(i.modelUsage),totalSessions:Number(i.totalSessions??0),totalMessages:Number(i.totalMessages??0),longestSession:(n=i.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(i.firstSessionDate??""),hourCounts:h(i.hourCounts),dayHourCounts:h(i.dayHourCounts),totalSpeculationTimeSavedMs:Number(i.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,s,u,o=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:o.reduce((e,t)=>e+t.sessionCount,0),h="all"===t?e.totalMessages:o.reduce((e,t)=>e+t.messageCount,0),p=o.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),C=m.reduce((e,t)=>e+t.messageCount,0),v={};if("all"===t)for(let[t,a]of Object.entries(e.modelUsage))v[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))v[t]||(v[t]={input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0,cost:0}),v[t].input+=a.input,v[t].output+=a.output,v[t].cacheRead+=a.cacheRead,v[t].cacheCreation+=a.cacheCreation,v[t].cacheCreation5m+=a.cacheCreation5m,v[t].cacheCreation1h+=a.cacheCreation1h;for(let[t,a]of Object.entries(v)){let n=e.modelUsage[t];if(!n)continue;let r=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,i=a.input+a.output+a.cacheRead+a.cacheCreation;r>0&&(a.cost=i/r*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}}let $=c.map(e=>{let t=0,a=0,n=0,r=0;for(let i of Object.values(e.tokensByModel))t+=i.input,a+=i.output,n+=i.cacheRead,r+=i.cacheCreation;return{date:e.date,input:t,output:a,cacheRead:n,cacheCreation:r}}),g=(0,r.default)().format("YYYY-MM-DD"),b=(0,r.default)().startOf("month").format("YYYY-MM-DD"),S=e.dailyActivity.find(e=>e.date===g)?.messageCount??0,k=e.dailyActivity.filter(e=>e.date>=b).reduce((e,t)=>e+t.messageCount,0),M=Object.values(v).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 i=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,s=r.input+r.output+r.cacheRead+r.cacheCreation;i>0&&(a+=s/i*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}return a},D=T(e.dailyModelTokens.filter(e=>e.date===g));return{totalSessions:d,totalMessages:h,previousSessions:y,previousMessages:C,totalToolCalls:p,dailyActivity:o,modelTokens:v,dailyTokens:$,todayMessages:S,thisMonthMessages:k,totalCost:M,todayCost:D,thisMonthCost:T(e.dailyModelTokens.filter(e=>e.date>=b)),previousCost:T((s=e.dailyModelTokens,u=t,s.filter(e=>f(e.date,u)))),hourlyDistribution:e.hourCounts,dayHourDistribution:e.dayHourCounts,firstSessionDate:e.firstSessionDate,lastComputedDate:e.lastComputedDate,computedAt:new Date().toISOString()}},"readStatsCache",0,p],333493)},219839,e=>{"use strict";var t=e.i(926747),a=e.i(190406),n=e.i(244898),r=e.i(262950),i=e.i(177579),s=e.i(333493),u=e.i(7991);let o=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"method-not-allowed"});let a=Math.max(0,Number(e.query.offset)||0),n=Math.min(50,Math.max(1,Number(e.query.limit)||10)),[r,o]=await Promise.all([(0,i.getStatsCache)(),(0,u.readAllCachedReports)()]),c=(0,s.buildOverview)(r,"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),a=t?t.input+t.output+t.cacheRead+t.cacheCreation:0;return{date:e.date,sessionCount:e.sessionCount,cost:l>0?a/l*d:0,report:o[e.date]??null}}).sort((e,t)=>t.date.localeCompare(e.date)),p={days:h.slice(a,a+n),total:h.length,offset:a,limit:n};return t.status(200).json(p)};e.s(["default",0,o],730099);var c=e.i(730099),l=e.i(7031),d=e.i(181927),h=e.i(846432);let p=(0,r.hoist)(c,"default"),f=(0,r.hoist)(c,"config"),m=new n.PagesAPIRouteModule({definition:{kind:a.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,a,n){n.requestMeta&&(0,h.setRequestMeta)(e,n.requestMeta),m.isDev&&(0,h.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/stats/daily-report/list";r=r.replace(/\/index$/,"")||"/";let i=await m.prepare(e,a,{srcPage:r});if(!i){a.statusCode=400,a.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve());return}let{query:s,params:u,prerenderManifest:o,routerServerContext:c}=i;try{let t,n=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,a,{query:{...s,...u},params:u,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:o.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":a.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=`${n} ${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(`${n} ${r}`)});p&&h?await y(h):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(d.BaseServerSpan.handleRequest,{spanName:`${n} ${r}`,kind:l.SpanKind.SERVER,attributes:{"http.method":n,"http.target":e.url}},y),void 0,!p))}catch(e){if(m.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,f,"default",0,p,"handler",0,y],219839)}];
|
|
1
|
+
module.exports=[990294,(e,t,a)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",a="minute",n="hour",r="week",i="month",s="quarter",u="year",o="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 g||!(!e||!e[m])},C=function e(t,a,n){var r;if(!t)return p;if("string"==typeof t){var i=t.toLowerCase();f[i]&&(r=i),a&&(f[i]=a,r=i);var s=t.split("-");if(!r&&s.length>1)return e(s[0])}else{var u=t.name;f[u]=t,r=u}return!n&&r&&(p=r),r||!n&&p},v=function(e,t){if(y(e))return e.clone();var a="object"==typeof t?t:{};return a.date=e,a.args=arguments,new g(a)},$={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,i),s=a-r<0,u=t.clone().add(n+(s?-1:1),i);return+(-(n+(a-r)/(s?r-u:u-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:i,y:u,w:r,d:"day",D:o,h:n,m:a,s:t,ms:e,Q:s})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};$.l=C,$.i=y,$.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var g=function(){function h(e){this.$L=C(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($.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,i=(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,i)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[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 $},p.isValid=function(){return this.$d.toString()!==c},p.isSame=function(e,t){var a=v(e);return this.startOf(t)<=a&&a<=this.endOf(t)},p.isAfter=function(e,t){return v(e)<this.startOf(t)},p.isBefore=function(e,t){return this.endOf(t)<v(e)},p.$g=function(e,t,a){return $.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,s){var c=this,l=!!$.u(s)||s,d=$.p(e),h=function(e,t){var a=$.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 $.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,C="set"+(this.$u?"UTC":"");switch(d){case u:return l?h(1,0):h(31,11);case i:return l?h(1,m):h(0,m+1);case r:var v=this.$locale().weekStart||0,g=(f<v?f+7:f)-v;return h(l?y-g:y+(6-g),m);case"day":case o:return p(C+"Hours",0);case n:return p(C+"Minutes",1);case a:return p(C+"Seconds",2);case t:return p(C+"Milliseconds",3);default:return this.clone()}},p.endOf=function(e){return this.startOf(e,!1)},p.$set=function(r,s){var c,l=$.p(r),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[o]=d+"Date",c[i]=d+"Month",c[u]=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+(s-this.$W):s;if(l===i||l===u){var f=this.clone().set(o,1);f.$d[h](p),f.init(),this.$d=f.set(o,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[$.p(e)]()},p.add=function(e,s){var o,c=this;e=Number(e);var l=$.p(s),d=function(t){var a=v(c);return $.w(a.date(a.date()+Math.round(t*e)),c)};if(l===i)return this.set(i,this.$M+e);if(l===u)return this.set(u,this.$y+e);if("day"===l)return d(1);if(l===r)return d(7);var h=((o={})[a]=6e4,o[n]=36e5,o[t]=1e3,o)[l]||1,p=this.$d.getTime()+e*h;return $.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=$.z(this),i=this.$H,s=this.$m,u=this.$M,o=a.weekdays,l=a.months,h=a.meridiem,p=function(e,a,r,i){return e&&(e[a]||e(t,n))||r[a].slice(0,i)},f=function(e){return $.s(i%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 $.s(t.$y,4,"0");case"M":return u+1;case"MM":return $.s(u+1,2,"0");case"MMM":return p(a.monthsShort,u,l,3);case"MMMM":return p(l,u);case"D":return t.$D;case"DD":return $.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(a.weekdaysMin,t.$W,o,2);case"ddd":return p(a.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(i);case"HH":return $.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 $.s(s,2,"0");case"s":return String(t.$s);case"ss":return $.s(t.$s,2,"0");case"SSS":return $.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,o,c){var l,d=this,h=$.p(o),p=v(e),f=(p.utcOffset()-this.utcOffset())*6e4,m=this-p,y=function(){return $.m(d,p)};switch(h){case u:l=y()/12;break;case i:l=y();break;case s: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:$.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 a=this.clone(),n=C(e,t,!0);return n&&(a.$L=n),a},p.clone=function(){return $.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=g.prototype;return v.prototype=b,[["$ms",e],["$s",t],["$m",a],["$H",n],["$W","day"],["$M",i],["$y",u],["$D",o]].forEach(function(e){b[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,g,v),e.$i=!0),v},v.locale=C,v.isDayjs=y,v.unix=function(e){return v(1e3*e)},v.en=f[p],v.Ls=f,v.p={},v}()},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:i}=a(n),s=(0,t.default)(e).toDate();return s>=r&&s<=i},"isWithinPeriod",0,(e,t)=>{if("all"===t)return!0;let{start:n,end:r}=a(t),i=new Date(e);return i>=n&&i<=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),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}},u={input:30,output:150,cacheWrite5m:37.5,cacheWrite1h:60,cacheRead:3},o=(e,t,a,n,r,i)=>t/1e6*e.input+n/1e6*e.cacheWrite5m+r/1e6*e.cacheWrite1h+i/1e6*e.cacheRead+a/1e6*e.output,c=a.default.join(n.default.homedir(),".claude","stats-cache.json"),l=(e,t,a,n,r,i)=>((e,t,a,n,r,i)=>{let c=((e,t,a,n,r,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?u:s[d];return h?o(h,t,a,n,r,i):null})(e,t,a,n,r,i);if(null!==c)return c;let l=e.toLowerCase();return o(l.includes("opus")?s["opus-4-6"]:l.includes("haiku")?s["haiku-4-5"]:s["sonnet-4-6"],t,a,n,r,i)})(e,t,a,r,i,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"),i=JSON.parse(r);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:(a=i.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),i=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:i,cacheCreation1hInputTokens:r,webSearchRequests:Number(n.webSearchRequests??0),costUSD:Number(n.costUSD??0),contextWindow:Number(n.contextWindow??0),maxOutputTokens:Number(n.maxOutputTokens??0)}}return t})(i.modelUsage),totalSessions:Number(i.totalSessions??0),totalMessages:Number(i.totalMessages??0),longestSession:(n=i.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(i.firstSessionDate??""),hourCounts:h(i.hourCounts),dayHourCounts:h(i.dayHourCounts),totalSpeculationTimeSavedMs:Number(i.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,s,u,o=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:o.reduce((e,t)=>e+t.sessionCount,0),h="all"===t?e.totalMessages:o.reduce((e,t)=>e+t.messageCount,0),p=o.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),C=m.reduce((e,t)=>e+t.messageCount,0),v={};if("all"===t)for(let[t,a]of Object.entries(e.modelUsage))v[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))v[t]||(v[t]={input:0,output:0,cacheRead:0,cacheCreation:0,cacheCreation5m:0,cacheCreation1h:0,cost:0}),v[t].input+=a.input,v[t].output+=a.output,v[t].cacheRead+=a.cacheRead,v[t].cacheCreation+=a.cacheCreation,v[t].cacheCreation5m+=a.cacheCreation5m,v[t].cacheCreation1h+=a.cacheCreation1h;for(let[t,a]of Object.entries(v)){let n=e.modelUsage[t];if(!n)continue;let r=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,i=a.input+a.output+a.cacheRead+a.cacheCreation;r>0&&(a.cost=i/r*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}}let $=c.map(e=>{let t=0,a=0,n=0,r=0;for(let i of Object.values(e.tokensByModel))t+=i.input,a+=i.output,n+=i.cacheRead,r+=i.cacheCreation;return{date:e.date,input:t,output:a,cacheRead:n,cacheCreation:r}}),g=(0,r.default)().format("YYYY-MM-DD"),b=(0,r.default)().startOf("month").format("YYYY-MM-DD"),S=e.dailyActivity.find(e=>e.date===g)?.messageCount??0,k=e.dailyActivity.filter(e=>e.date>=b).reduce((e,t)=>e+t.messageCount,0),M=Object.values(v).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 i=n.inputTokens+n.outputTokens+n.cacheReadInputTokens+n.cacheCreationInputTokens,s=r.input+r.output+r.cacheRead+r.cacheCreation;i>0&&(a+=s/i*l(t,n.inputTokens,n.outputTokens,n.cacheReadInputTokens,n.cacheCreation5mInputTokens,n.cacheCreation1hInputTokens))}return a},D=T(e.dailyModelTokens.filter(e=>e.date===g));return{totalSessions:d,totalMessages:h,previousSessions:y,previousMessages:C,totalToolCalls:p,dailyActivity:o,modelTokens:v,dailyTokens:$,todayMessages:S,thisMonthMessages:k,totalCost:M,todayCost:D,thisMonthCost:T(e.dailyModelTokens.filter(e=>e.date>=b)),previousCost:T((s=e.dailyModelTokens,u=t,s.filter(e=>f(e.date,u)))),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),a=e.i(190406),n=e.i(244898),r=e.i(262950),i=e.i(177579),s=e.i(180112),u=e.i(7991);let o=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"method-not-allowed"});let a=Math.max(0,Number(e.query.offset)||0),n=Math.min(50,Math.max(1,Number(e.query.limit)||10)),[r,o]=await Promise.all([(0,i.getStatsCache)(),(0,u.readAllCachedReports)()]),c=(0,s.buildOverview)(r,"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),a=t?t.input+t.output+t.cacheRead+t.cacheCreation:0;return{date:e.date,sessionCount:e.sessionCount,cost:l>0?a/l*d:0,report:o[e.date]??null}}).sort((e,t)=>t.date.localeCompare(e.date)),p={days:h.slice(a,a+n),total:h.length,offset:a,limit:n};return t.status(200).json(p)};e.s(["default",0,o],730099);var c=e.i(730099),l=e.i(7031),d=e.i(181927),h=e.i(846432);let p=(0,r.hoist)(c,"default"),f=(0,r.hoist)(c,"config"),m=new n.PagesAPIRouteModule({definition:{kind:a.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,a,n){n.requestMeta&&(0,h.setRequestMeta)(e,n.requestMeta),m.isDev&&(0,h.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/stats/daily-report/list";r=r.replace(/\/index$/,"")||"/";let i=await m.prepare(e,a,{srcPage:r});if(!i){a.statusCode=400,a.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve());return}let{query:s,params:u,prerenderManifest:o,routerServerContext:c}=i;try{let t,n=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,a,{query:{...s,...u},params:u,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:o.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":a.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=`${n} ${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(`${n} ${r}`)});p&&h?await y(h):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(d.BaseServerSpan.handleRequest,{spanName:`${n} ${r}`,kind:l.SpanKind.SERVER,attributes:{"http.method":n,"http.target":e.url}},y),void 0,!p))}catch(e){if(m.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,f,"default",0,p,"handler",0,y],219839)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0e8e4zn._.js.map
|