viba-cli 0.27.0 → 0.29.0
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/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/fallback-build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +16 -1
- package/.next/server/app/_not-found.rsc +3 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/credentials/page/server-reference-manifest.json +7 -7
- package/.next/server/app/credentials/page.js.nft.json +1 -1
- package/.next/server/app/credentials/page_client-reference-manifest.js +1 -1
- package/.next/server/app/credentials.html +16 -1
- package/.next/server/app/credentials.rsc +4 -3
- package/.next/server/app/credentials.segments/_full.segment.rsc +4 -3
- package/.next/server/app/credentials.segments/_head.segment.rsc +1 -1
- package/.next/server/app/credentials.segments/_index.segment.rsc +3 -2
- package/.next/server/app/credentials.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/credentials.segments/credentials/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/credentials.segments/credentials.segment.rsc +1 -1
- package/.next/server/app/index.html +16 -1
- package/.next/server/app/index.rsc +4 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +4 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +3 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/new/page/server-reference-manifest.json +26 -26
- package/.next/server/app/new/page.js.nft.json +1 -1
- package/.next/server/app/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page/server-reference-manifest.json +26 -26
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/session/[sessionId]/page/server-reference-manifest.json +19 -34
- package/.next/server/app/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/server/app/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0522f852._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__11fa4345._.js +16 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__11fa4345._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__30652385._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__30652385._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__352d2b3c._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__352d2b3c._.js.map +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__e720c99b._.js → [root-of-the-server]__35a2d358._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__35a2d358._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__3e886998._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__3e886998._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__4c388861._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__4c388861._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__59834c63._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__59834c63._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__66c2f341._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__66c2f341._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__9201693f._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__9201693f._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__c790b631._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__c790b631._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__d5eaad6d._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__d5eaad6d._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__def2abf8._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__def2abf8._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_8cba5059._.js → node_modules_1924b56e._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_1924b56e._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_e604472b._.js → node_modules_4ebcf1df._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_4ebcf1df._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_8d27431f._.js → node_modules_9819fed1._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_9819fed1._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_61fa9608._.js → node_modules_a6b22d4e._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_a6b22d4e._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_credentials_page_tsx_63d8d34a._.js +1 -1
- package/.next/server/chunks/ssr/src_app_credentials_page_tsx_63d8d34a._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js +1 -1
- package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js +8 -2
- package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js.map +1 -1
- package/.next/server/pages/404.html +16 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +46 -61
- package/.next/static/chunks/1d381eeb43f375d4.js +1 -0
- package/.next/static/chunks/2473c16c0c2f6b5f.css +2 -0
- package/.next/static/chunks/273426f3f2eeb766.js +3 -0
- package/.next/static/chunks/3472c623318d7e52.js +3 -0
- package/.next/static/chunks/80eba8e28e3a2302.js +3 -0
- package/.next/static/chunks/a1c6d2b2fb93a221.js +3 -0
- package/.next/static/chunks/f7c74b2e45bc1b6f.css +1 -0
- package/.next/static/chunks/fbc609da2048ba9c.js +9 -0
- package/package.json +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__44008467._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__44008467._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__d0ecc669._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__d0ecc669._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__e720c99b._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__f797cdfb._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__f797cdfb._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_61fa9608._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_8cba5059._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_8d27431f._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_e604472b._.js.map +0 -1
- package/.next/static/chunks/01ea2eea578d04e4.js +0 -3
- package/.next/static/chunks/0fe747dafb7e669b.js +0 -3
- package/.next/static/chunks/3ed77fc1d432b1ee.css +0 -3
- package/.next/static/chunks/6569d5ce24eb155c.js +0 -3
- package/.next/static/chunks/9a5719fb5b563570.js +0 -3
- package/.next/static/chunks/c8a39071afb558db.js +0 -1
- package/.next/static/chunks/f46bab62009fa1fe.js +0 -3
- /package/.next/static/{PPdLLbDtsQuxOYX2tF4ds → 9BhgvATpMuOT7STiExvPy}/_buildManifest.js +0 -0
- /package/.next/static/{PPdLLbDtsQuxOYX2tF4ds → 9BhgvATpMuOT7STiExvPy}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{PPdLLbDtsQuxOYX2tF4ds → 9BhgvATpMuOT7STiExvPy}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"node": {
|
|
3
|
-
"
|
|
3
|
+
"4023ba68ad186559f9a323c23a4c368b7d83582eef": {
|
|
4
4
|
"workers": {
|
|
5
5
|
"app/new/page": {
|
|
6
6
|
"moduleId": 72496,
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"filename": "src/app/actions/git.ts",
|
|
23
23
|
"exportedName": "checkDirectoryAccessible"
|
|
24
24
|
},
|
|
25
|
-
"
|
|
25
|
+
"408ed362498b5aba6d8d875f89854dcda064c490f2": {
|
|
26
26
|
"workers": {
|
|
27
27
|
"app/new/page": {
|
|
28
28
|
"moduleId": 72496,
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"filename": "src/app/actions/git.ts",
|
|
45
45
|
"exportedName": "listDirectories"
|
|
46
46
|
},
|
|
47
|
-
"
|
|
47
|
+
"00c6d9cb9d82e6cbfc5509e371d7286563f74774bd": {
|
|
48
48
|
"workers": {
|
|
49
49
|
"app/new/page": {
|
|
50
50
|
"moduleId": 72496,
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"filename": "src/app/actions/git.ts",
|
|
74
74
|
"exportedName": "getHomeDirectory"
|
|
75
75
|
},
|
|
76
|
-
"
|
|
76
|
+
"40ae60ef5467c432f834275ad408c5fa806d4ca3f3": {
|
|
77
77
|
"workers": {
|
|
78
78
|
"app/new/page": {
|
|
79
79
|
"moduleId": 72496,
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"filename": "src/app/actions/git.ts",
|
|
96
96
|
"exportedName": "checkIsGitRepo"
|
|
97
97
|
},
|
|
98
|
-
"
|
|
98
|
+
"40e765b9d9ade6e74d7c298ee63f81d69f51f00489": {
|
|
99
99
|
"workers": {
|
|
100
100
|
"app/new/page": {
|
|
101
101
|
"moduleId": 72496,
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"filename": "src/app/actions/git.ts",
|
|
118
118
|
"exportedName": "getBranches"
|
|
119
119
|
},
|
|
120
|
-
"
|
|
120
|
+
"6066573051f5776a3de38d2cd614fea3a3006a5489": {
|
|
121
121
|
"workers": {
|
|
122
122
|
"app/new/page": {
|
|
123
123
|
"moduleId": 72496,
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"filename": "src/app/actions/git.ts",
|
|
140
140
|
"exportedName": "checkoutBranch"
|
|
141
141
|
},
|
|
142
|
-
"
|
|
142
|
+
"7f54182753b08e37dd9ab6521ad0bbb55a63c29492": {
|
|
143
143
|
"workers": {
|
|
144
144
|
"app/new/page": {
|
|
145
145
|
"moduleId": 72496,
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
"filename": "src/app/actions/git.ts",
|
|
169
169
|
"exportedName": "startTtydProcess"
|
|
170
170
|
},
|
|
171
|
-
"
|
|
171
|
+
"7f79d9071c6c058f97eb09ad3f46c64d125bc47b1b": {
|
|
172
172
|
"workers": {
|
|
173
173
|
"app/new/page": {
|
|
174
174
|
"moduleId": 72496,
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
"filename": "src/app/actions/git.ts",
|
|
191
191
|
"exportedName": "getStartupScript"
|
|
192
192
|
},
|
|
193
|
-
"
|
|
193
|
+
"7f6865cfb13be754ab5a7cb7e1cfe3d32634b1c3a4": {
|
|
194
194
|
"workers": {
|
|
195
195
|
"app/new/page": {
|
|
196
196
|
"moduleId": 72496,
|
|
@@ -212,7 +212,7 @@
|
|
|
212
212
|
"filename": "src/app/actions/git.ts",
|
|
213
213
|
"exportedName": "getDefaultDevServerScript"
|
|
214
214
|
},
|
|
215
|
-
"
|
|
215
|
+
"7fca9771d3dddb813be9610ba11466b973302b352d": {
|
|
216
216
|
"workers": {
|
|
217
217
|
"app/new/page": {
|
|
218
218
|
"moduleId": 72496,
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
"filename": "src/app/actions/git.ts",
|
|
235
235
|
"exportedName": "listRepoFiles"
|
|
236
236
|
},
|
|
237
|
-
"
|
|
237
|
+
"7f9104ca28c248e132eabf493fbc4d0e4b9f9d5582": {
|
|
238
238
|
"workers": {
|
|
239
239
|
"app/new/page": {
|
|
240
240
|
"moduleId": 72496,
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
"filename": "src/app/actions/git.ts",
|
|
264
264
|
"exportedName": "saveAttachments"
|
|
265
265
|
},
|
|
266
|
-
"
|
|
266
|
+
"409c61a4265e45d80d8344438caf195c9a47f5c177": {
|
|
267
267
|
"workers": {
|
|
268
268
|
"app/new/page": {
|
|
269
269
|
"moduleId": 72496,
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
"filename": "src/app/actions/git.ts",
|
|
286
286
|
"exportedName": "checkAgentCliInstalled"
|
|
287
287
|
},
|
|
288
|
-
"
|
|
288
|
+
"40a401f56dccde2dcaccf7ec96a08492784338c97a": {
|
|
289
289
|
"workers": {
|
|
290
290
|
"app/new/page": {
|
|
291
291
|
"moduleId": 72496,
|
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
"filename": "src/app/actions/git.ts",
|
|
308
308
|
"exportedName": "installAgentCli"
|
|
309
309
|
},
|
|
310
|
-
"
|
|
310
|
+
"60c3d21788a9f7de2f66d21d9f872ac5a979330f0c": {
|
|
311
311
|
"workers": {
|
|
312
312
|
"app/new/page": {
|
|
313
313
|
"moduleId": 72496,
|
|
@@ -329,7 +329,7 @@
|
|
|
329
329
|
"filename": "src/app/actions/repository.ts",
|
|
330
330
|
"exportedName": "cloneRemoteRepository"
|
|
331
331
|
},
|
|
332
|
-
"
|
|
332
|
+
"4066b5e9eca31220f95dcce3d5528154b62be33f56": {
|
|
333
333
|
"workers": {
|
|
334
334
|
"app/new/page": {
|
|
335
335
|
"moduleId": 72496,
|
|
@@ -351,7 +351,7 @@
|
|
|
351
351
|
"filename": "src/app/actions/repository.ts",
|
|
352
352
|
"exportedName": "resolveRepositoryByName"
|
|
353
353
|
},
|
|
354
|
-
"
|
|
354
|
+
"70aea864aaf8ac7e1ce5b365f5a3105db314a02fb7": {
|
|
355
355
|
"workers": {
|
|
356
356
|
"app/new/page": {
|
|
357
357
|
"moduleId": 72496,
|
|
@@ -373,7 +373,7 @@
|
|
|
373
373
|
"filename": "src/app/actions/session.ts",
|
|
374
374
|
"exportedName": "copySessionAttachments"
|
|
375
375
|
},
|
|
376
|
-
"
|
|
376
|
+
"70eda911b89e3b0dcaccec29c1783fe5b3d8644279": {
|
|
377
377
|
"workers": {
|
|
378
378
|
"app/new/page": {
|
|
379
379
|
"moduleId": 72496,
|
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
"filename": "src/app/actions/session.ts",
|
|
396
396
|
"exportedName": "createSession"
|
|
397
397
|
},
|
|
398
|
-
"
|
|
398
|
+
"40f29234988a270e019c5698d25724e9ad4c781b9a": {
|
|
399
399
|
"workers": {
|
|
400
400
|
"app/new/page": {
|
|
401
401
|
"moduleId": 72496,
|
|
@@ -417,7 +417,7 @@
|
|
|
417
417
|
"filename": "src/app/actions/session.ts",
|
|
418
418
|
"exportedName": "deleteSession"
|
|
419
419
|
},
|
|
420
|
-
"
|
|
420
|
+
"4030888f356bcc6e7a5ea736600dfd4a53aebcb6fc": {
|
|
421
421
|
"workers": {
|
|
422
422
|
"app/new/page": {
|
|
423
423
|
"moduleId": 72496,
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
"filename": "src/app/actions/session.ts",
|
|
440
440
|
"exportedName": "getSessionPrefillContext"
|
|
441
441
|
},
|
|
442
|
-
"
|
|
442
|
+
"40de0eca1e7b10d03be072059801df7121e816d392": {
|
|
443
443
|
"workers": {
|
|
444
444
|
"app/new/page": {
|
|
445
445
|
"moduleId": 72496,
|
|
@@ -461,7 +461,7 @@
|
|
|
461
461
|
"filename": "src/app/actions/session.ts",
|
|
462
462
|
"exportedName": "listSessions"
|
|
463
463
|
},
|
|
464
|
-
"
|
|
464
|
+
"60d49e3c0ecb26d42e51310c0eec698b5a31d8b3da": {
|
|
465
465
|
"workers": {
|
|
466
466
|
"app/new/page": {
|
|
467
467
|
"moduleId": 72496,
|
|
@@ -483,7 +483,7 @@
|
|
|
483
483
|
"filename": "src/app/actions/session.ts",
|
|
484
484
|
"exportedName": "saveSessionLaunchContext"
|
|
485
485
|
},
|
|
486
|
-
"
|
|
486
|
+
"00ef318f52bed3d7ddf6d4a17bdd8c1d08cf4ed7e2": {
|
|
487
487
|
"workers": {
|
|
488
488
|
"app/new/page": {
|
|
489
489
|
"moduleId": 72496,
|
|
@@ -512,7 +512,7 @@
|
|
|
512
512
|
"filename": "src/app/actions/config.ts",
|
|
513
513
|
"exportedName": "getConfig"
|
|
514
514
|
},
|
|
515
|
-
"
|
|
515
|
+
"40cc060ea047f0ec381489a5449a8469064e726123": {
|
|
516
516
|
"workers": {
|
|
517
517
|
"app/new/page": {
|
|
518
518
|
"moduleId": 72496,
|
|
@@ -541,7 +541,7 @@
|
|
|
541
541
|
"filename": "src/app/actions/config.ts",
|
|
542
542
|
"exportedName": "updateConfig"
|
|
543
543
|
},
|
|
544
|
-
"
|
|
544
|
+
"60e9a4aa69b5616348afe0fc7d5b694e86a7df5d33": {
|
|
545
545
|
"workers": {
|
|
546
546
|
"app/new/page": {
|
|
547
547
|
"moduleId": 72496,
|
|
@@ -563,7 +563,7 @@
|
|
|
563
563
|
"filename": "src/app/actions/config.ts",
|
|
564
564
|
"exportedName": "updateRepoSettings"
|
|
565
565
|
},
|
|
566
|
-
"
|
|
566
|
+
"0048cbcca99954ce4ac965153105df0ff2da5c6845": {
|
|
567
567
|
"workers": {
|
|
568
568
|
"app/credentials/page": {
|
|
569
569
|
"moduleId": 57891,
|
|
@@ -592,7 +592,7 @@
|
|
|
592
592
|
"filename": "src/app/actions/credentials.ts",
|
|
593
593
|
"exportedName": "listAgentApiCredentials"
|
|
594
594
|
},
|
|
595
|
-
"
|
|
595
|
+
"00c3634c8f903773c5043dd43218a15214177713ee": {
|
|
596
596
|
"workers": {
|
|
597
597
|
"app/credentials/page": {
|
|
598
598
|
"moduleId": 57891,
|
|
@@ -621,7 +621,7 @@
|
|
|
621
621
|
"filename": "src/app/actions/credentials.ts",
|
|
622
622
|
"exportedName": "listCredentials"
|
|
623
623
|
},
|
|
624
|
-
"
|
|
624
|
+
"402984a088aebffb1cc1235fcf571129ba519639dc": {
|
|
625
625
|
"workers": {
|
|
626
626
|
"app/credentials/page": {
|
|
627
627
|
"moduleId": 57891,
|
|
@@ -636,7 +636,7 @@
|
|
|
636
636
|
"filename": "src/app/actions/credentials.ts",
|
|
637
637
|
"exportedName": "removeAgentApiCredential"
|
|
638
638
|
},
|
|
639
|
-
"
|
|
639
|
+
"40a1f898cc44b57e75d40099efc5c519d31e4ace42": {
|
|
640
640
|
"workers": {
|
|
641
641
|
"app/credentials/page": {
|
|
642
642
|
"moduleId": 57891,
|
|
@@ -651,7 +651,7 @@
|
|
|
651
651
|
"filename": "src/app/actions/credentials.ts",
|
|
652
652
|
"exportedName": "removeCredential"
|
|
653
653
|
},
|
|
654
|
-
"
|
|
654
|
+
"708a1a94eaf51f40f3fe96e65576c7bd7424cd350f": {
|
|
655
655
|
"workers": {
|
|
656
656
|
"app/credentials/page": {
|
|
657
657
|
"moduleId": 57891,
|
|
@@ -666,7 +666,7 @@
|
|
|
666
666
|
"filename": "src/app/actions/credentials.ts",
|
|
667
667
|
"exportedName": "saveAgentApiCredential"
|
|
668
668
|
},
|
|
669
|
-
"
|
|
669
|
+
"402d9b52fcad7287b63337fac3ed816a57dc8d1d74": {
|
|
670
670
|
"workers": {
|
|
671
671
|
"app/credentials/page": {
|
|
672
672
|
"moduleId": 57891,
|
|
@@ -681,7 +681,7 @@
|
|
|
681
681
|
"filename": "src/app/actions/credentials.ts",
|
|
682
682
|
"exportedName": "saveGitHubCredential"
|
|
683
683
|
},
|
|
684
|
-
"
|
|
684
|
+
"603d06245e8e35e4e9d5eaf41fa34fac0cb5b1f8b4": {
|
|
685
685
|
"workers": {
|
|
686
686
|
"app/credentials/page": {
|
|
687
687
|
"moduleId": 57891,
|
|
@@ -696,7 +696,7 @@
|
|
|
696
696
|
"filename": "src/app/actions/credentials.ts",
|
|
697
697
|
"exportedName": "saveGitLabCredential"
|
|
698
698
|
},
|
|
699
|
-
"
|
|
699
|
+
"40d65a439c4b85078f5ddb4618fa901298f742db67": {
|
|
700
700
|
"workers": {
|
|
701
701
|
"app/session/[sessionId]/page": {
|
|
702
702
|
"moduleId": 39298,
|
|
@@ -711,7 +711,7 @@
|
|
|
711
711
|
"filename": "src/app/actions/session.ts",
|
|
712
712
|
"exportedName": "deleteSessionInBackground"
|
|
713
713
|
},
|
|
714
|
-
"
|
|
714
|
+
"40b6c7023c629a851df8731b76ba39bb5e9b78f550": {
|
|
715
715
|
"workers": {
|
|
716
716
|
"app/session/[sessionId]/page": {
|
|
717
717
|
"moduleId": 39298,
|
|
@@ -726,22 +726,7 @@
|
|
|
726
726
|
"filename": "src/app/actions/session.ts",
|
|
727
727
|
"exportedName": "getSessionDivergence"
|
|
728
728
|
},
|
|
729
|
-
"
|
|
730
|
-
"workers": {
|
|
731
|
-
"app/session/[sessionId]/page": {
|
|
732
|
-
"moduleId": 39298,
|
|
733
|
-
"async": false,
|
|
734
|
-
"exportedName": "getSessionUncommittedFileCount",
|
|
735
|
-
"filename": "src/app/actions/session.ts"
|
|
736
|
-
}
|
|
737
|
-
},
|
|
738
|
-
"layer": {
|
|
739
|
-
"app/session/[sessionId]/page": "action-browser"
|
|
740
|
-
},
|
|
741
|
-
"filename": "src/app/actions/session.ts",
|
|
742
|
-
"exportedName": "getSessionUncommittedFileCount"
|
|
743
|
-
},
|
|
744
|
-
"40e05ecb7f5cff48ddd5d036b6b553c8f67c981ee7": {
|
|
729
|
+
"4094da1667f95ec03753ceb1a28770f39e80112258": {
|
|
745
730
|
"workers": {
|
|
746
731
|
"app/session/[sessionId]/page": {
|
|
747
732
|
"moduleId": 39298,
|
|
@@ -756,7 +741,7 @@
|
|
|
756
741
|
"filename": "src/app/actions/session.ts",
|
|
757
742
|
"exportedName": "listSessionBaseBranches"
|
|
758
743
|
},
|
|
759
|
-
"
|
|
744
|
+
"40ac13201b8ba20e99a2728eb9a6cd1e74f867f9b6": {
|
|
760
745
|
"workers": {
|
|
761
746
|
"app/session/[sessionId]/page": {
|
|
762
747
|
"moduleId": 39298,
|
|
@@ -771,7 +756,7 @@
|
|
|
771
756
|
"filename": "src/app/actions/session.ts",
|
|
772
757
|
"exportedName": "mergeSessionToBase"
|
|
773
758
|
},
|
|
774
|
-
"
|
|
759
|
+
"40eefc0c0588c696700d019cb94eb9c89f9cc5709d": {
|
|
775
760
|
"workers": {
|
|
776
761
|
"app/session/[sessionId]/page": {
|
|
777
762
|
"moduleId": 39298,
|
|
@@ -786,7 +771,7 @@
|
|
|
786
771
|
"filename": "src/app/actions/session.ts",
|
|
787
772
|
"exportedName": "rebaseSessionOntoBase"
|
|
788
773
|
},
|
|
789
|
-
"
|
|
774
|
+
"6041721a6d07f5a29762d7628ecf02f0f2601058db": {
|
|
790
775
|
"workers": {
|
|
791
776
|
"app/session/[sessionId]/page": {
|
|
792
777
|
"moduleId": 39298,
|
|
@@ -801,7 +786,7 @@
|
|
|
801
786
|
"filename": "src/app/actions/session.ts",
|
|
802
787
|
"exportedName": "updateSessionBaseBranch"
|
|
803
788
|
},
|
|
804
|
-
"
|
|
789
|
+
"60d912235f7d992e87fd165a7ba664f2dcf4ab2590": {
|
|
805
790
|
"workers": {
|
|
806
791
|
"app/session/[sessionId]/page": {
|
|
807
792
|
"moduleId": 39298,
|
|
@@ -816,7 +801,7 @@
|
|
|
816
801
|
"filename": "src/app/actions/session.ts",
|
|
817
802
|
"exportedName": "writeSessionPromptFile"
|
|
818
803
|
},
|
|
819
|
-
"
|
|
804
|
+
"7fe6bf2f6d18ba2699e9e2b4f9e8e19aac0a0704bf": {
|
|
820
805
|
"workers": {
|
|
821
806
|
"app/session/[sessionId]/page": {
|
|
822
807
|
"moduleId": 39298,
|
|
@@ -831,7 +816,7 @@
|
|
|
831
816
|
"filename": "src/app/actions/git.ts",
|
|
832
817
|
"exportedName": "setTmuxSessionMouseMode"
|
|
833
818
|
},
|
|
834
|
-
"
|
|
819
|
+
"7f412bde2bb48bd4e13384667e5ff7859bc437b071": {
|
|
835
820
|
"workers": {
|
|
836
821
|
"app/session/[sessionId]/page": {
|
|
837
822
|
"moduleId": 39298,
|
|
@@ -846,7 +831,7 @@
|
|
|
846
831
|
"filename": "src/app/actions/git.ts",
|
|
847
832
|
"exportedName": "setTmuxSessionStatusVisibility"
|
|
848
833
|
},
|
|
849
|
-
"
|
|
834
|
+
"40d590379ae0d6a7e4244ec15bc742f0564abbb66f": {
|
|
850
835
|
"workers": {
|
|
851
836
|
"app/session/[sessionId]/page": {
|
|
852
837
|
"moduleId": 39298,
|
|
@@ -861,7 +846,7 @@
|
|
|
861
846
|
"filename": "src/app/actions/git.ts",
|
|
862
847
|
"exportedName": "listPathEntries"
|
|
863
848
|
},
|
|
864
|
-
"
|
|
849
|
+
"40f68c52454ed5bae0d2f5d2fa157e25b3f9433fda": {
|
|
865
850
|
"workers": {
|
|
866
851
|
"app/session/[sessionId]/page": {
|
|
867
852
|
"moduleId": 39298,
|
|
@@ -876,7 +861,7 @@
|
|
|
876
861
|
"filename": "src/app/actions/session.ts",
|
|
877
862
|
"exportedName": "consumeSessionLaunchContext"
|
|
878
863
|
},
|
|
879
|
-
"
|
|
864
|
+
"40bbd823e5d74abdf2b24f41a3f0970a90efd25ef9": {
|
|
880
865
|
"workers": {
|
|
881
866
|
"app/session/[sessionId]/page": {
|
|
882
867
|
"moduleId": 39298,
|
|
@@ -891,7 +876,7 @@
|
|
|
891
876
|
"filename": "src/app/actions/session.ts",
|
|
892
877
|
"exportedName": "getSessionMetadata"
|
|
893
878
|
},
|
|
894
|
-
"
|
|
879
|
+
"40821a879add8b9d903a3b8e356d32c3fe18352c18": {
|
|
895
880
|
"workers": {
|
|
896
881
|
"app/session/[sessionId]/page": {
|
|
897
882
|
"moduleId": 39298,
|
|
@@ -906,7 +891,7 @@
|
|
|
906
891
|
"filename": "src/app/actions/session.ts",
|
|
907
892
|
"exportedName": "markSessionInitialized"
|
|
908
893
|
},
|
|
909
|
-
"
|
|
894
|
+
"7ff2d02d30dae19fd173c612b542eab06bb15e289d": {
|
|
910
895
|
"workers": {
|
|
911
896
|
"app/session/[sessionId]/page": {
|
|
912
897
|
"moduleId": 39298,
|
|
@@ -923,5 +908,5 @@
|
|
|
923
908
|
}
|
|
924
909
|
},
|
|
925
910
|
"edge": {},
|
|
926
|
-
"encryptionKey": "
|
|
911
|
+
"encryptionKey": "7OVHQa6BTH/WHFrsDKDo9zXBUcEuMbbTecQb7S7WHBY="
|
|
927
912
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36438,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(18566),n=e.i(95187);let s=(0,n.createServerReference)("40d65a439c4b85078f5ddb4618fa901298f742db67",n.callServer,void 0,n.findSourceMapURL,"deleteSessionInBackground"),i=(0,n.createServerReference)("40b6c7023c629a851df8731b76ba39bb5e9b78f550",n.callServer,void 0,n.findSourceMapURL,"getSessionDivergence"),l=(0,n.createServerReference)("4094da1667f95ec03753ceb1a28770f39e80112258",n.callServer,void 0,n.findSourceMapURL,"listSessionBaseBranches"),o=(0,n.createServerReference)("40ac13201b8ba20e99a2728eb9a6cd1e74f867f9b6",n.callServer,void 0,n.findSourceMapURL,"mergeSessionToBase"),c=(0,n.createServerReference)("40eefc0c0588c696700d019cb94eb9c89f9cc5709d",n.callServer,void 0,n.findSourceMapURL,"rebaseSessionOntoBase"),d=(0,n.createServerReference)("6041721a6d07f5a29762d7628ecf02f0f2601058db",n.callServer,void 0,n.findSourceMapURL,"updateSessionBaseBranch"),u=(0,n.createServerReference)("60d912235f7d992e87fd165a7ba664f2dcf4ab2590",n.callServer,void 0,n.findSourceMapURL,"writeSessionPromptFile"),h=(0,n.createServerReference)("7fe6bf2f6d18ba2699e9e2b4f9e8e19aac0a0704bf",n.callServer,void 0,n.findSourceMapURL,"setTmuxSessionMouseMode"),m=(0,n.createServerReference)("7f412bde2bb48bd4e13384667e5ff7859bc437b071",n.callServer,void 0,n.findSourceMapURL,"setTmuxSessionStatusVisibility");var p=e.i(63643),f=e.i(34038),b=e.i(27612),x=e.i(78917),g=e.i(75254);let v=(0,g.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),w=(0,g.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]),y=(0,g.default)("git-pull-request-arrow",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M5 9v12",key:"ih889a"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}]]),k=(0,g.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),j=(0,g.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),N=(0,g.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),S=(0,g.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),C=(0,g.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),$=(0,g.default)("grip",[["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"19",cy:"5",r:"1",key:"w8mnmm"}],["circle",{cx:"5",cy:"5",r:"1",key:"lttvr7"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}],["circle",{cx:"19",cy:"19",r:"1",key:"shf9b7"}],["circle",{cx:"5",cy:"19",r:"1",key:"bfqh0e"}]]);var R=e.i(64659),E=e.i(7233);let M=(0,g.default)("mouse-pointer-2",[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]]);var L=e.i(71689);let P=(0,g.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),T=(0,g.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);var F=e.i(57688),D=e.i(84486);let A=(0,n.createServerReference)("40d590379ae0d6a7e4244ec15bc742f0564abbb66f",n.callServer,void 0,n.findSourceMapURL,"listPathEntries");var I=e.i(31252);let B=(0,g.default)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]),U=(0,g.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var q=e.i(27025);let z=(0,g.default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),W=(0,g.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),O=(0,g.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),_=(0,g.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),H=(0,g.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var K=e.i(81016),V=e.i(43733);let Y="viba:session-file-browser:view-mode";function G({initialPath:e,worktreePath:a,onConfirm:n,onCancel:s,onPathChange:i}){let l=(0,r.useMemo)(()=>new Set([".png",".jpg",".jpeg",".gif",".webp",".bmp",".svg",".ico",".avif"]),[]),[o,c]=(0,r.useState)(""),[d,u]=(0,r.useState)([]),[h,m]=(0,r.useState)(!1),[b,x]=(0,r.useState)(null),[g,v]=(0,r.useState)(""),[w,y]=(0,r.useState)([]),[k,j]=(0,r.useState)(null),[N,S]=(0,r.useState)("list"),[C,$]=(0,r.useState)(!1),[R,E]=(0,r.useState)({}),[M,P]=(0,r.useState)([]);(0,r.useEffect)(()=>{let t=!0;return(async()=>{try{let r=await (0,D.getHomeDirectory)();if(!t)return;v(r),e||c(r)}catch(e){console.error("Failed to resolve home directory:",e)}e&&t&&c(e)})(),()=>{t=!1}},[e]),(0,r.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await (0,p.getConfig)();if(!e)return;let r=Array.isArray(t.pinnedFolderShortcuts)?t.pinnedFolderShortcuts.filter(e=>"string"==typeof e&&e.trim().length>0):[];P(Array.from(new Set(r)))}catch(e){console.error("Failed to load pinned folder shortcuts:",e)}})(),()=>{e=!1}},[]),(0,r.useEffect)(()=>{try{let e=localStorage.getItem(Y);("list"===e||"grid"===e)&&S(e)}catch{}finally{$(!0)}},[]),(0,r.useEffect)(()=>{if(C)try{localStorage.setItem(Y,N)}catch{}},[C,N]),(0,r.useEffect)(()=>{o&&(async()=>{m(!0),x(null);try{let e=await A(o);u(e)}catch(e){console.error("Failed to list files:",e),x("Failed to load directory contents")}finally{m(!1)}})()},[o]),(0,r.useEffect)(()=>{o&&i?.(o)},[o,i]),(0,r.useEffect)(()=>{y([]),j(null),E({})},[o]);let T=(0,r.useMemo)(()=>new Set(w),[w]),G=(e,t,r)=>{if(e.isDirectory)return void c(e.path);let a=r.metaKey||r.ctrlKey;if(r.shiftKey&&null!==k){let e=Math.min(k,t),r=Math.max(k,t);y(d.slice(e,r+1).filter(e=>!e.isDirectory).map(e=>e.path));return}if(a){y(t=>t.includes(e.path)?t.filter(t=>t!==e.path):[...t,e.path]),j(t);return}y([e.path]),j(t)},X=async()=>{if(x(null),!a)return void x("Cannot paste: Session worktree path is missing.");try{if(m(!0),!navigator.clipboard||!navigator.clipboard.read)throw Error("Clipboard API not supported in this browser");let e=await navigator.clipboard.read(),t=new FormData,r=!1;for(let a of e)for(let e of a.types)if(e.startsWith("image/")){let n=await a.getType(e),s=e.split("/")[1]||"png",i=`pasted-image-${Date.now()}.${s}`,l=new File([n],i,{type:e});t.append(i,l),r=!0;break}if(r){let e=await (0,I.saveAttachments)(a,t);if(e&&e.length>0)return void await n(e);x("Failed to save pasted files.")}else try{let e=await navigator.clipboard.readText();e&&e.trim().startsWith("/")?x("No file content found in clipboard. Copy an image or file first."):x("No file content found in clipboard.")}catch{x("No file content found in clipboard.")}}catch(t){let e=t instanceof Error?t.message:String(t);console.error("Paste error:",t),x(`Failed to read from clipboard: ${e}`)}finally{m(!1)}},J=async e=>{P(e);try{await (0,f.updateConfig)({pinnedFolderShortcuts:e})}catch(e){console.error("Failed to save pinned folder shortcuts:",e),x("Failed to save pinned shortcuts")}},Z=async e=>{(x(null),M.includes(e))?await J(M.filter(t=>t!==e)):await J([...M,e])},Q=(0,r.useCallback)(async()=>{0!==w.length&&await n(w)},[n,w]);return(0,V.useDialogKeyboardShortcuts)({onConfirm:Q,onDismiss:s,canConfirm:w.length>0}),(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",children:(0,t.jsxs)("div",{className:"bg-base-200 rounded-lg shadow-xl w-full max-w-5xl h-[82vh] flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-4 border-b border-base-300",children:[(0,t.jsxs)("h2",{className:"text-xl font-bold flex items-center gap-2",children:[(0,t.jsx)(q.Folder,{className:"w-5 h-5"}),"Browse Files"]}),(0,t.jsx)("button",{onClick:s,className:"btn btn-sm btn-ghost btn-circle",title:"Close file browser",children:"✕"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-base-300",children:[(0,t.jsx)("button",{onClick:()=>{let e=(0,K.getDirName)(o);e&&e!==o&&c(e)},className:"btn btn-sm btn-square btn-ghost",title:"Go Up",disabled:"/"===o||!o,children:(0,t.jsx)(L.ArrowLeft,{className:"w-4 h-4"})}),(0,t.jsxs)("button",{onClick:()=>{g&&o!==g&&c(g)},className:"btn btn-sm btn-ghost gap-1",title:g?`Go to Home Folder (${g})`:"Go to Home Folder",disabled:!g||o===g,children:[(0,t.jsx)(W,{className:"w-4 h-4"}),"Home"]}),(0,t.jsx)("div",{className:"flex-1 overflow-x-auto whitespace-nowrap px-2 font-mono text-sm",children:o}),(0,t.jsxs)("div",{className:"join",children:[(0,t.jsx)("button",{type:"button",onClick:()=>S("list"),className:`btn btn-sm join-item ${"list"===N?"btn-active":"btn-ghost"}`,title:"List view",children:(0,t.jsx)(O,{className:"w-4 h-4"})}),(0,t.jsx)("button",{type:"button",onClick:()=>S("grid"),className:`btn btn-sm join-item ${"grid"===N?"btn-active":"btn-ghost"}`,title:"Grid view",children:(0,t.jsx)(z,{className:"w-4 h-4"})})]}),(0,t.jsxs)("button",{onClick:Q,className:"btn btn-sm btn-primary gap-2",disabled:0===w.length,title:"Insert selected absolute paths",children:["Insert (",w.length,")"]}),(0,t.jsx)("div",{className:"w-[1px] h-6 bg-base-content/10 mx-1"}),(0,t.jsxs)("button",{onClick:X,className:"btn btn-sm btn-ghost gap-2",title:"Paste file/image from clipboard",disabled:!a,children:[(0,t.jsx)(B,{className:"w-4 h-4"}),"Paste"]})]}),M.length>0&&(0,t.jsx)("div",{className:"px-3 py-2 border-b border-base-300 bg-base-200/50",children:(0,t.jsx)("div",{className:"flex items-center gap-2 overflow-x-auto",children:M.map(e=>{let r=e===o,a=e.split(/[\\/]/).filter(Boolean).pop()||e;return(0,t.jsxs)("div",{className:"join shrink-0",children:[(0,t.jsxs)("button",{type:"button",className:`btn btn-xs join-item ${r?"btn-primary":"btn-ghost"}`,onClick:()=>c(e),title:e,children:[(0,t.jsx)(q.Folder,{className:"w-3 h-3"}),a]}),(0,t.jsx)("button",{type:"button",className:"btn btn-xs btn-ghost join-item",onClick:()=>void Z(e),title:`Unpin ${e}`,children:(0,t.jsx)(H,{className:"w-3 h-3"})})]},e)})})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-2",children:h?(0,t.jsx)("div",{className:"flex justify-center items-center h-full",children:(0,t.jsx)("span",{className:"loading loading-spinner loading-lg"})}):b?(0,t.jsx)("div",{className:"alert alert-error",children:b}):0===d.length?(0,t.jsx)("div",{className:"text-center text-base-content/50 mt-10",children:"Empty directory"}):"list"===N?(0,t.jsx)("div",{className:"grid grid-cols-1 gap-1",children:d.map((e,r)=>{let a=T.has(e.path);return(0,t.jsxs)("div",{className:`flex items-center justify-between p-2 rounded-md cursor-pointer transition-colors border ${a?"bg-primary text-primary-content border-primary":"hover:bg-base-100 border-transparent"}`,onClick:t=>G(e,r,t),title:e.path,children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[e.isDirectory?(0,t.jsx)(q.Folder,{className:"w-5 h-5 shrink-0"}):(0,t.jsx)(U,{className:"w-5 h-5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]}),(0,t.jsx)("span",{className:"text-[10px] opacity-70 shrink-0",children:e.isDirectory?(0,t.jsx)("button",{type:"button",className:"btn btn-ghost btn-xs h-6 min-h-6",onClick:t=>{t.stopPropagation(),Z(e.path)},title:M.includes(e.path)?"Unpin folder":"Pin folder",children:(0,t.jsx)(_,{className:`w-3 h-3 ${M.includes(e.path)?"fill-current":""}`})}):"file"})]},e.path)})}):(0,t.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-5 gap-3",children:d.map((e,r)=>{var a;let n,s=T.has(e.path),i=!e.isDirectory&&-1!==(n=(a=e.name).lastIndexOf("."))&&l.has(a.slice(n).toLowerCase()),o=`/api/file-thumbnail?path=${encodeURIComponent(e.path)}`;return(0,t.jsxs)("button",{type:"button",className:`rounded-lg border text-left overflow-hidden transition-colors ${s?"border-primary bg-primary/15":"border-base-300 hover:bg-base-100"}`,onClick:t=>G(e,r,t),title:e.path,children:[(0,t.jsxs)("div",{className:"aspect-square bg-base-300 flex items-center justify-center overflow-hidden relative",children:[i&&!R[e.path]?(0,t.jsx)(F.default,{src:o,alt:e.name,fill:!0,sizes:"(max-width: 768px) 50vw, (max-width: 1024px) 25vw, 20vw",className:"object-cover",unoptimized:!0,onError:()=>E(t=>({...t,[e.path]:!0}))}):e.isDirectory?(0,t.jsx)(q.Folder,{className:"w-10 h-10 opacity-80"}):(0,t.jsx)(U,{className:"w-10 h-10 opacity-80"}),e.isDirectory&&(0,t.jsx)("button",{type:"button",className:`absolute top-1 right-1 btn btn-xs btn-circle ${M.includes(e.path)?"btn-primary":"btn-ghost bg-base-100/70"}`,onClick:t=>{t.stopPropagation(),Z(e.path)},title:M.includes(e.path)?"Unpin folder":"Pin folder",children:(0,t.jsx)(_,{className:`w-3 h-3 ${M.includes(e.path)?"fill-current":""}`})})]}),(0,t.jsxs)("div",{className:"px-2 py-2",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium",title:e.name,children:e.name}),(0,t.jsx)("div",{className:"text-[10px] opacity-70",children:e.isDirectory?"folder":i?"image":"file"})]})]},e.path)})})}),(0,t.jsx)("div",{className:"p-3 border-t border-base-300 text-xs text-base-content/60 text-center",children:"Click: single select. Cmd/Ctrl+Click: multi-select. Shift+Click: range select. Click a folder to open it."})]})})}var X=e.i(63671);function J(e,t,r){var a,n;let s=(a=e,n=t,`viba-${(a.trim().replace(/[^a-zA-Z0-9_-]/g,"-")||"session").slice(0,40)}-${n}`),i=new URLSearchParams;for(let e of(i.append("arg","new-session"),Array.isArray(r)?r:r?[r]:[]))e.value&&(i.append("arg","-e"),i.append("arg",`${e.name}=${e.value}`));return i.append("arg","-A"),i.append("arg","-s"),i.append("arg",s),`/terminal?${i.toString()}`}let Z=e=>{let t=e.trim();if(!t)return null;if(/^https?:\/\//i.test(t))return t;if(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)||/^(mailto|javascript|data|tel):/i.test(t))return null;let r=t.split("/")[0]??"",a=r.indexOf(":");if(a>0&&!r.startsWith("[")){let e=r.slice(0,a).toLowerCase(),t=r.slice(a+1);if(!(e.includes(".")||"localhost"===e||/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)||/^\d+$/.test(t)))return null}let n=r.includes("@")?r.slice(r.lastIndexOf("@")+1):r,s=n.startsWith("[")?n.slice(1,Math.max(1,n.indexOf("]"))).toLowerCase():n.split(":")[0].toLowerCase();return`${"localhost"===s||"127.0.0.1"===s||"::1"===s?"http":"https"}://${t}`},Q=e=>`'${e.replace(/'/g,"'\\''")}'`,ee=[{id:"vscode",name:"VS Code",protocol:"vscode"},{id:"cursor",name:"Cursor",protocol:"cursor"},{id:"windsurf",name:"Windsurf",protocol:"windsurf"},{id:"antigravity",name:"Antigravity",protocol:"antigravity"}],et="viba-terminal-size",er="viba-agent-preview-split-ratio",ea="__vibaTerminalBootstrapRegistry",en=/(?:\$|%|#|>) $/,es=e=>Math.max(.2,Math.min(.8,e)),ei=(e,t)=>{let r=e.replace(/\\/g,"/").replace(/\/+$/,""),a=t.replace(/\\/g,"/").replace(/^\/+/,"");return`${r}/${a}`},el=(e,t)=>{let r=t.trim().replace(/\\/g,"/").replace(/\/+$/,"");if(!r)return null;let a=(e=>{let t=e.trim();if(!t)return"";if(t=t.replace(/[#?].*$/,""),/^file:\/\//i.test(t))try{let e=new URL(t);t=decodeURIComponent(e.pathname)}catch{}else if(/^https?:\/\//i.test(t))try{let e=new URL(t);t=decodeURIComponent(e.pathname)}catch{}return(t=t.replace(/^webpack(?:-internal)?:\/\/\/?/,"").replace(/^rsc:\/\//,"").replace(/^\(.*?\)\//,"").replace(/^\/\.\//,"/").replace(/^\.\//,"").replace(/\\/g,"/")).trim()})(e);if(!a)return null;if(a.startsWith("/")||(0,K.isWindowsAbsolutePath)(a))return a;let n=new Set;n.add(a.replace(/^\.\/+/,""));let s=a.indexOf("/src/");for(let e of(s>=0&&n.add(a.slice(s+1)),a.startsWith("src/")&&n.add(a),n))if(e)return ei(r,e);return null},eo=e=>{let t=e.trim();if(!t)return"";let r=t.match(/[A-Za-z_$][\w$]*/);return r?r[0]:""};function ec({repo:e,worktree:a,branch:n,baseBranch:g,sessionName:F,agent:D,startupScript:A,devServerScript:I,initialMessage:B,attachmentNames:U,title:q,sessionMode:z="fast",onExit:W,isResume:O,terminalPersistenceMode:_="shell",onSessionStart:H,agentTerminalSrc:V,floatingTerminalSrc:Y}){let ei="hidden min-[1900px]:inline",ec=(0,r.useRef)(null),ed=(0,r.useRef)(null),eu=(0,r.useRef)(null),eh=(0,r.useRef)(null),em=(0,r.useRef)(null),ep=(0,r.useRef)({startX:0,startRatio:.5}),ef=(0,r.useRef)(null),eb=(0,r.useRef)(null),ex=(0,r.useRef)(null),eg=(0,r.useRef)({injected:!1,timer:null}),ev=(0,r.useMemo)(()=>V||J(F,"agent"),[V,F]),ew=(0,r.useMemo)(()=>Y||J(F,"terminal"),[Y,F]),ey=(0,r.useRef)({agent:"idle",terminal:"idle"}),ek=(0,r.useRef)({agent:!1,terminal:!1});(0,r.useEffect)(()=>{ey.current={agent:"idle",terminal:"idle"},ek.current={agent:!1,terminal:!1},null!==eg.current.timer&&window.clearTimeout(eg.current.timer),eg.current={injected:!1,timer:null}},[F]),(0,r.useEffect)(()=>()=>{null!==eg.current.timer&&(window.clearTimeout(eg.current.timer),eg.current.timer=null)},[]);let ej=(0,r.useCallback)(e=>`viba:terminal-bootstrap:${F}:${e}`,[F]),eN=(0,r.useCallback)(e=>`${F}:${e}`,[F]),eS=(0,r.useCallback)(()=>{let e=window;return e[ea]||(e[ea]={}),e[ea]||null},[]),eC=(0,r.useCallback)(e=>{let t=eS();return t&&t[eN(e)]||"idle"},[eS,eN]),e$=(0,r.useCallback)((e,t)=>{let r=eS();r&&(r[eN(e)]=t)},[eS,eN]),eR=(0,r.useCallback)(e=>{if("done"===ey.current[e]||"done"===eC(e))return!0;try{return"1"===window.sessionStorage.getItem(ej(e))}catch{return!1}},[eC,ej]),eE=(0,r.useCallback)(e=>{let t=ey.current[e],r=eC(e);return"done"!==t&&"in_progress"!==t&&"done"!==r&&"in_progress"!==r&&(ey.current[e]="in_progress",e$(e,"in_progress"),!0)},[eC,e$]),eM=(0,r.useCallback)(e=>{"done"!==ey.current[e]&&(ey.current[e]="idle"),"done"!==eC(e)&&e$(e,"idle")},[eC,e$]),eL=(0,r.useCallback)(e=>{ey.current[e]="done",e$(e,"done");try{window.sessionStorage.setItem(ej(e),"1")}catch{}},[ej,e$]),eP=(0,r.useCallback)(e=>{let t=e?.buffer?.active;if(!t||"function"!=typeof t.getLine)return!0;let r=t.baseY+t.cursorY;for(let e=0;e<6;e+=1){let a=t.getLine(r-e),n=a?.translateToString(!0)??"";if(n.trim())return en.test(n)}return!1},[]),eT=(0,r.useCallback)(()=>{ex.current&&(ex.current(),ex.current=null)},[]),eF=(0,r.useCallback)((e,t)=>{eT();let r=!1,a=null,n=null,s=null,i=()=>{if(r)return;let e=!eP(t);eH(t=>t===e?t:e)};i(),s=window.setInterval(i,1e3);try{if("function"==typeof t.onWriteParsed)a=t.onWriteParsed(i)||null;else{let t=e.contentDocument?.querySelector(".xterm-screen")||e.contentDocument?.body;t&&(n=new MutationObserver(i)).observe(t,{childList:!0,subtree:!0,characterData:!0})}}catch(e){console.error("Failed to setup terminal process monitor:",e)}ex.current=()=>{r=!0,null!==s&&(window.clearInterval(s),s=null),a&&"function"==typeof a.dispose&&a.dispose(),n?.disconnect()}},[eP,eT]);(0,r.useEffect)(()=>()=>{eT()},[eT]),(0,r.useEffect)(()=>{eH(!1),eT()},[F,eT]);let eD=(0,r.useCallback)((e,t,r)=>{if(O)return!1;let a=A?.trim();return!!a&&!eg.current.injected&&(eg.current.injected=!0,null!==eg.current.timer&&window.clearTimeout(eg.current.timer),eg.current.timer=window.setTimeout(()=>{eg.current.timer=null;try{let n;r.paste(a),(n=e.contentDocument?.querySelector("textarea.xterm-helper-textarea"))?n.dispatchEvent(new KeyboardEvent("keypress",{bubbles:!0,cancelable:!0,charCode:13,keyCode:13,key:"Enter",view:t})):r.paste("\r")}catch(e){eg.current.injected=!1,console.error("Failed to inject startup script into terminal iframe:",e)}},500),!0)},[O,A]);(0,r.useEffect)(()=>{if(O||!A?.trim()||eg.current.injected)return;let e=!1,t=(r=0)=>{if(e||eg.current.injected||r>30)return;if(!eR("terminal"))return void window.setTimeout(()=>t(r+1),200);let a=ed.current;if(a){try{let e=a.contentWindow;if(e?.term)return void eD(a,e,e.term)}catch{}window.setTimeout(()=>t(r+1),200)}};return t(),()=>{e=!0}},[eR,eD,O,A]);let[eA,eI]=(0,r.useState)("Initializing..."),[eB,eU]=(0,r.useState)("idle"),[eq,ez]=(0,r.useState)(null),[eW,eO]=(0,r.useState)(!1),[e_,eH]=(0,r.useState)(!1),[eK,eV]=(0,r.useState)(!1),[eY,eG]=(0,r.useState)(!1),[eX,eJ]=(0,r.useState)(!1),[eZ,eQ]=(0,r.useState)(a||e),[e0,e1]=(0,r.useState)(!1),[e2,e3]=(0,r.useState)(g?.trim()||""),[e6,e5]=(0,r.useState)([]),[e7,e4]=(0,r.useState)(!1),e9=(0,r.useRef)(!1),[e8,te]=(0,r.useState)(!1),[tt,tr]=(0,r.useState)({ahead:0,behind:0}),[ta,tn]=(0,r.useState)(!0),[ts,ti]=(0,r.useState)(""),[tl,to]=(0,r.useState)(""),[tc,td]=(0,r.useState)(!1),[tu,th]=(0,r.useState)(!1),[tm,tp]=(0,r.useState)(.5),[tf,tb]=(0,r.useState)(!1),[tx,tg]=(0,r.useState)(!1),[tv,tw]=(0,r.useState)({width:460,height:320}),[ty,tk]=(0,r.useState)(!1),[tj,tN]=(0,r.useState)(!1),tS=(0,r.useRef)({startX:0,startY:0,startWidth:0,startHeight:0}),[tC,t$]=(0,r.useState)("scroll"),[tR,tE]=(0,r.useState)(!1),tM=(0,r.useRef)(0);(0,r.useEffect)(()=>{eQ(a||e)},[e,a]),(0,r.useEffect)(()=>{let e=localStorage.getItem(et);if(e)try{tw(JSON.parse(e))}catch(e){console.error("Failed to parse saved terminal size",e)}let t=localStorage.getItem(er);if(t){let e=Number.parseFloat(t);Number.isNaN(e)||tp(es(e))}tN(!0)},[]),(0,r.useEffect)(()=>{if(!ty)return;let e=e=>{let t=tS.current.startX-e.clientX,r=tS.current.startY-e.clientY;tw({width:Math.max(300,Math.min(window.innerWidth-32,tS.current.startWidth+t)),height:Math.max(100,Math.min(window.innerHeight-32,tS.current.startHeight+r))})},t=()=>{tk(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[ty]),(0,r.useEffect)(()=>{tj&&!ty&&localStorage.setItem(et,JSON.stringify(tv))},[tj,ty,tv]),(0,r.useEffect)(()=>{tj&&!tf&&localStorage.setItem(er,String(tm))},[tm,tj,tf]),(0,r.useEffect)(()=>{if(!tf)return;let e=e=>{let t=em.current;if(!t)return;let r=t.getBoundingClientRect();if(r.width<=0)return;let a=e.clientX-ep.current.startX;tp(es((ep.current.startRatio*r.width+a)/r.width))},t=()=>{tb(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[tf]),(0,r.useEffect)(()=>{if(!tx&&ed.current){let e=ed.current;setTimeout(()=>{try{let t=e.contentWindow;if(t&&t.term){t.term.scrollToBottom?.(),t.focus();let r=e.contentDocument?.querySelector("textarea.xterm-helper-textarea");r&&r.focus()}}catch(e){console.error("Failed to focus/scroll terminal on restore:",e)}},100)}},[tx]);let[tL,tP]=(0,r.useState)("vscode");(0,r.useEffect)(()=>{let e=q?.trim();if(e)return document.title=`${e} | Viba`,()=>{document.title="Viba"};document.title="Viba"},[q]),(0,r.useEffect)(()=>{(async()=>{let e=await (0,p.getConfig)();e.selectedIde&&ee.some(t=>t.id===e.selectedIde)&&tP(e.selectedIde)})()},[]),(0,r.useEffect)(()=>{e3(g?.trim()||""),e5([])},[g,F]),(0,r.useEffect)(()=>{t$("scroll"),tE(!1),tM.current+=1},[F]);let tT=async e=>{let t=e.target.value;tP(t),await (0,f.updateConfig)({selectedIde:t})},tF=(0,r.useCallback)(async(e,t)=>{if("tmux"!==_)return!0;let r=++tM.current;t?.silent||tE(!0);let a="scroll"===e,[n,s]=await Promise.all([h(F,"agent",a),h(F,"terminal",a)]);return r===tM.current&&((t?.silent||tE(!1),[n,s].find(e=>!e.success))?(t?.silent||eI(`Failed to switch to ${"scroll"===e?"scroll mode":"text select mode"}`),!1):(t?.silent||eI("scroll"===e?"Terminal mode: Scroll":"Terminal mode: Text Select"),!0))},[F,_]),tD=(0,r.useCallback)(e=>{"tmux"!==_||ek.current[e]||(async()=>{let t=await m(F,e,!1);t.success&&t.applied?ek.current[e]=!0:t.success||console.error(`Failed to hide tmux status bar for ${e}:`,t.error)})()},[F,_]);(0,r.useEffect)(()=>{"tmux"===_&&tF("scroll",{silent:!0})},[tF,_]);let tA=(0,r.useCallback)(()=>{if("tmux"!==_||tR)return;let e="scroll"===tC?"select":"scroll";t$(e),(async()=>{await tF(e)||t$(tC)})()},[tF,tR,tC,_]),tI=async(t=!0)=>{if(!e||!a||!n||t&&!confirm("Are you sure you want to delete this session? This will remove the branch and worktree."))return!1;ez(null),eU("idle"),eI("Purging session...");try{let e=await s(F);if(!e.success)return console.error("Cleanup failed:",e.error||"Unknown error"),eU("error"),ez(e.error||"Failed to delete session"),!1;(0,X.notifySessionsUpdated)()}catch(e){return console.error("Cleanup request failed:",e),eU("error"),ez(e instanceof Error?e.message:"Unknown error"),!1}return W(!0),!0},tB=async()=>{await tI(!0)},tU=(0,r.useCallback)(e=>new Promise(t=>{let r=ec.current;if(!r)return void t(!1);let a=(n=0)=>{if(n>30)return void t(!1);try{let s=r.contentWindow;if(!s||!s.term)return void setTimeout(()=>a(n+1),300);s.term.paste(e);let i=r.contentDocument?.querySelector("textarea.xterm-helper-textarea");i&&i.focus(),s.focus(),t(!0)}catch(e){console.error("Failed to paste into agent iframe:",e),setTimeout(()=>a(n+1),300)}};a()}),[]),tq=(0,r.useCallback)(async e=>{if(0===e.length)return;e1(!0);let t=`${e.join(" ")} `;eI(await tU(t)?`Inserted ${e.length} file path${1===e.length?"":"s"} into agent input`:"Failed to insert file paths into agent input"),e1(!1)},[tU]),tz=(0,r.useCallback)(async t=>{let r=t.map(eo).filter(Boolean);if(0===r.length)return null;let n=Array.from(new Set([e,a].map(e=>(e||"").trim()).filter(Boolean)));if(0===n.length)return null;for(let e of n)try{let t=await fetch("/api/component-source/resolve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({componentNames:r,workspaceRoot:e})}),a=await t.json().catch(()=>null);if(!t.ok){console.warn("Component source resolve miss",{componentNames:r,workspaceRoot:e,error:a?.error||t.statusText});continue}let n="string"==typeof a?.sourcePath?a.sourcePath.trim():"",s="string"==typeof a?.resolvedName?a.resolvedName.trim():"";if(n&&s)return{sourcePath:n,resolvedName:s}}catch(e){console.error("Failed to resolve component source path:",e)}return null},[e,a]),tW=(0,r.useCallback)(async()=>{if(F&&!e9.current){e9.current=!0,e4(!0);try{let e=await l(F);e.success?(e5(e.branches??[]),e3(e.baseBranch?.trim()||"")):e.error&&eI(`Failed to load branches: ${e.error}`)}catch(e){console.error("Failed to load base branches:",e)}finally{e9.current=!1,e4(!1)}}},[F]);(0,r.useEffect)(()=>{F&&tW()},[tW,F]);let tO=(0,r.useCallback)(async()=>{if(F)try{let e=await i(F);e.success&&"number"==typeof e.ahead&&"number"==typeof e.behind&&tr({ahead:e.ahead,behind:e.behind})}catch(e){console.error("Failed to load branch divergence:",e)}},[F]);(0,r.useEffect)(()=>{if(!F||!e2)return void tr({ahead:0,behind:0});tO();let e=window.setInterval(()=>{tO()},6e4);return()=>window.clearInterval(e)},[e2,tO,F]);let t_=async()=>{if(!F||!e2)return!1;eV(!0),eI("Merging session branch...");try{let e=await o(F);if(e.success)return eI(`Merged ${e.branchName} into ${e.baseBranch}`),tO(),!0;return eI(`Merge failed: ${e.error}`),!1}catch(e){return console.error("Merge request failed:",e),eI("Merge failed"),!1}finally{eV(!1)}},tH=async()=>{await t_()},[tK,tV]=(0,r.useState)(!1),tY=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=e=>{tY.current&&!tY.current.contains(e.target)&&tV(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let tG=async e=>{if(tV(!1),!F)return;let t=e!==e2;eG(!0),eI(t?`Updating base to ${e} and rebasing...`:"Rebasing session branch...");try{if(t){let t=await d(F,e);if(!t.success){eI(`Failed to update base branch: ${t.error}`),eG(!1);return}e3(t.baseBranch),await tW()}let r=await c(F);r.success?(eI(`Rebased ${r.branchName} onto ${r.baseBranch}`),tO()):eI(`Rebase failed: ${r.error}`)}catch(e){console.error("Rebase request failed:",e),eI("Rebase failed")}finally{eG(!1)}},tX=(0,r.useCallback)(async(e,t)=>{let r=Z(e);if(!r)return eI("Please enter a preview URL"),!1;ti(r),td(!1),eI(`Loading preview: ${r}`);try{let e=await fetch("/api/preview-proxy/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:r})}),a=await e.json().catch(()=>null);if(!e.ok||!a?.proxyUrl)throw Error(a?.error||"Failed to start preview proxy");return to(a.proxyUrl),t&&tn(!0),eI(`Loaded preview: ${r}`),!0}catch(t){let e=t instanceof Error?t.message:"Failed to load preview";return console.error("Failed to load preview via proxy:",t),eI(`Failed to load preview: ${e}`),!1}},[]),tJ=(0,r.useCallback)(()=>{if(!tl)return void eI("Load a preview before picking elements");let e=eu.current?.contentWindow;if(!e)return void eI("Preview is not ready yet");let t=!tc;e.postMessage({type:"viba:preview-picker-toggle",active:t},"*"),td(t),eI(t?"Picker enabled: click an element in the preview":"Picker disabled")},[tc,tl]),tZ=(0,r.useCallback)(e=>{let t=eu.current?.contentWindow;return t?(t.postMessage(e,"*"),!0):(eI("Preview is not ready yet"),!1)},[]),tQ=(0,r.useCallback)(e=>{tl?tZ({type:"viba:preview-navigation",action:e})&&"reload"===e&&eI("Reloading preview..."):eI("Load a preview before using navigation controls")},[tZ,tl]),t0=(0,r.useCallback)(()=>{tZ({type:"viba:preview-location-request"})},[tZ]),{attachTerminalLinkHandler:t1}=function({onLoadPreview:e}){let t=(0,r.useCallback)((t,r)=>{let a=Z(t);return!!a&&("new_tab"===r?window.open(a,"_blank","noopener,noreferrer"):e(a,!0),!0)},[e]),a=(0,r.useCallback)((e,r,a)=>{r.current?.();let n=e.contentWindow,s=n?.term;if(!n||!s)return;let i=a?.onLinkActivated,l=a?.directOpenBehavior??"preview",o=a?.modifierOpenBehavior??"new_tab",c=e=>e?o:l,d=[],u=e.contentDocument,h={metaKey:!1,ctrlKey:!1,at:0};if(u){let e=e=>{h={metaKey:e.metaKey,ctrlKey:e.ctrlKey,at:Date.now()}};u.addEventListener("mousedown",e,!0),u.addEventListener("click",e,!0),d.push(()=>{u.removeEventListener("mousedown",e,!0),u.removeEventListener("click",e,!0)})}let m=n.open.bind(n);n.open=(...e)=>{let r=c(Date.now()-h.at<1e3&&(h.metaKey||h.ctrlKey));if("string"==typeof e[0]&&e[0].trim())return(i?.(),t(e[0],r))?null:m(...e);if(0===e.length){let e=null;return{opener:null,location:{set href(url){if(i?.(),!t(url,r)&&(e=m())){try{e.opener=null}catch{}e.location.href=url}},get href(){return""}}}}return m(...e)},d.push(()=>{n.open=m});let p=s._core?._linkProviderService?.linkProviders;if(p instanceof Map){for(let e of p.values())if(e&&"object"==typeof e){if("function"==typeof e._handler){let r=e._handler;e._handler=(e,a)=>{i?.(),t(a,c(!!(e?.metaKey||e?.ctrlKey)))||r(e,a)},d.push(()=>{e._handler=r})}if("function"==typeof e.provideLinks){let r=e.provideLinks.bind(e);e.provideLinks=(e,a)=>{r(e,e=>{if(Array.isArray(e))for(let r of e){if(!r||"object"!=typeof r||"function"!=typeof r.activate)continue;let e=r.activate.bind(r);r.activate=(r,a)=>{i?.(),t(a,c(!!(r?.metaKey||r?.ctrlKey)))||e(r,a)}}a(e)})},d.push(()=>{e.provideLinks=r})}}}let f=s.options.linkHandler,b={allowNonHttpProtocols:f?.allowNonHttpProtocols??!1,activate:(e,r,a)=>{i?.(),t(r,c(!!(e?.metaKey||e?.ctrlKey)))||f?.activate?.(e,r,a)},hover:(e,t,r)=>{f?.hover?.(e,t,r)},leave:(e,t,r)=>{f?.leave?.(e,t,r)}};s.options.linkHandler=b,d.push(()=>{s.options.linkHandler=f??null}),r.current=()=>{for(let e of d)e();r.current=null}},[t]);return{handleTerminalLinkOpen:t,attachTerminalLinkHandler:a}}({onLoadPreview:tX});(0,r.useEffect)(()=>{if(!ta||ts.trim())return;let e=window.setTimeout(()=>{eh.current?.focus()},0);return()=>{window.clearTimeout(e)}},[ta,ts]),(0,r.useEffect)(()=>{let t=t=>{if(!eu.current||t.source!==eu.current.contentWindow)return;let r=t.data;if(r&&"object"==typeof r){if("viba:preview-picker-state"===r.type)return void td(!!r.active);if("viba:preview-picker-ready"===r.type){let e=eu.current?.contentWindow;e&&e.postMessage({type:"viba:preview-location-request"},"*");return}if("viba:preview-link-open"===r.type){"string"==typeof r.url&&r.url.trim().length>0&&window.open(r.url,"_blank","noopener,noreferrer");return}if("viba:preview-location-change"===r.type){"string"==typeof r.url&&r.url.trim().length>0&&ti(r.url);return}if("viba:preview-element-selected"===r.type){let t=r.element&&"object"==typeof r.element?r.element:null,n=Array.isArray(t?.reactComponentStack)?t.reactComponentStack:[],s=((e,t)=>{for(let r of e){if(!r||"object"!=typeof r)continue;let e="string"==typeof r.name?r.name.trim():"";if(!e)continue;let a="string"==typeof r.source?.fileName?r.source.fileName.trim():"",n=a?el(a,t):null;if(n)return`${e} (${n})`}return null})(n,a||e),i=n[0]&&"object"==typeof n[0]?n[0].name:void 0,l="string"==typeof i&&i.trim().length>0?i.trim():"",o=new Set(["Suspense","ErrorBoundary","Router","AppRouter","LayoutRouter","RenderFromTemplateContext","ScrollAndFocusHandler","InnerLayoutRouter","RedirectErrorBoundary","NotFoundBoundary","LoadingBoundary","ReactDevOverlay","HotReload","AppContainer","Route","Link","Image","OuterLayoutRouter","Head","StringRefs","Fragment","Profiler","StrictMode","SuspenseList","Script","Page","__next_root_layout_boundary__"]),c=Array.from(new Set(n.map(e=>{if(!e||"object"!=typeof e)return"";let t=e.name;return"string"==typeof t?t.trim():""}).filter(e=>!(!e||o.has(e)||e.startsWith("styled.")||e.startsWith("Styled(")))));console.log("Filtered stack component names:",c);let d=s||l||("string"==typeof t?.selector?t.selector:"");if(console.log("Preview selected element:",t),console.log("Preview selected reactComponentStack:",n),console.log("Preview selected identifier:",d),td(!1),!d)return void eI("Element selected. No identifier was resolved.");(async()=>{let e=s||"";if(!e&&c.length>0){th(!0);try{let t=await tz(c);t?.resolvedName&&t?.sourcePath&&(e=`${t.resolvedName} (${t.sourcePath})`)}finally{th(!1)}}if(!e){if(c.length>0)return eI("Element selected, but source file path could not be resolved for the component");e=d}console.log("Final resolved component identifier:",e),eI(await tU(`${e} `)?`Element identifier sent to agent: ${e}`:"Element selected, but failed to send identifier to agent input")})()}}};return window.addEventListener("message",t),()=>{window.removeEventListener("message",t)}},[tU,e,tz,a]),(0,r.useEffect)(()=>{td(!1)},[tl]);let t2=(0,r.useCallback)(()=>{let e=Z(ts.trim()||tl);e?(window.open(e,"_blank","noopener,noreferrer"),eI(`Opened preview in new tab: ${e}`)):eI("Please enter a preview URL")},[ts,tl]);if(!e)return(0,t.jsx)("div",{className:"p-4 text-error dark:bg-[#0d1117] dark:text-red-300",children:"No repository specified"});if("error"===eB)return(0,t.jsx)("div",{className:"flex h-screen w-full items-center justify-center bg-[#f6f6f8] dark:bg-[#0d1117]",children:(0,t.jsx)("div",{className:"card w-96 border border-slate-200 bg-white shadow-xl dark:border-[#30363d] dark:bg-[#161b22]",children:(0,t.jsxs)("div",{className:"card-body items-center text-center",children:[(0,t.jsx)("h2",{className:"card-title text-error dark:text-red-300",children:"Cleanup failed"}),(0,t.jsx)("p",{className:"text-slate-700 dark:text-slate-300",children:eq||"An unknown error occurred while cleaning up this session."}),(0,t.jsx)("div",{className:"card-actions justify-end",children:(0,t.jsx)("button",{className:"btn btn-primary",onClick:()=>W(),children:"Back to Home"})})]})})});let t3=Array.from(new Set([...e2?[e2]:[],...e6])).filter(e=>e!==n||e===e2),t6=!!I?.trim();return(0,t.jsxs)("div",{className:`flex h-screen w-full flex-col overflow-hidden bg-[#f6f6f8] dark:bg-[#0d1117] ${ty||tf?"select-none":""}`,children:[(ty||tf)&&(0,t.jsx)("div",{className:`fixed inset-0 z-[9999] ${ty?"cursor-row-resize":"cursor-col-resize"}`}),(0,t.jsxs)("div",{className:"z-20 flex items-center justify-between border-b border-slate-200 bg-white px-4 py-2 text-xs font-mono shadow-sm dark:border-[#30363d] dark:bg-[#161b22] dark:text-slate-300",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("button",{className:"btn btn-ghost btn-xs h-6 min-h-6 px-1 text-slate-600 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>W(),title:"Back to Home",children:(0,t.jsx)(C,{className:"w-4 h-4"})}),(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"opacity-50",children:"Repo:"}),(0,t.jsx)("span",{className:"font-bold",children:(0,K.getBaseName)(e)})]}),F&&(0,t.jsxs)("div",{className:"hidden min-[1200px]:flex min-w-0 items-center gap-2 text-[10px] opacity-70",children:[(0,t.jsx)("span",{children:"Session:"}),(0,t.jsx)("span",{className:"truncate max-w-[220px]",title:F,children:F})]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded border border-base-content/20 dark:border-[#30363d] dark:bg-[#0d1117]",children:[(0,t.jsx)("select",{className:"select select-xs h-6 min-h-6 rounded-none border-none bg-base-200 pr-7 text-slate-700 focus:outline-none dark:bg-[#161b22] dark:text-slate-300",value:tL,onChange:tT,children:ee.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))}),(0,t.jsx)("div",{className:"h-4 w-[1px] bg-base-content/20 dark:bg-[#30363d]"}),(0,t.jsxs)("button",{className:"btn btn-ghost btn-xs h-6 min-h-6 rounded-none border-none text-slate-700 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>{if(!a)return;let e=ee.find(e=>e.id===tL);if(!e)return;let t=`${e.protocol}://file/${encodeURI(a)}`;window.open(t,"_blank")},title:`Open in ${ee.find(e=>e.id===tL)?.name}`,children:[(0,t.jsx)(x.ExternalLink,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"Open"})]})]}),(0,t.jsx)("div",{className:"flex items-center overflow-hidden rounded border border-base-content/20 bg-base-100 dark:border-[#30363d] dark:bg-[#0d1117]",children:(0,t.jsxs)("button",{className:"btn btn-ghost btn-xs h-6 min-h-6 rounded-none border-none px-2 text-slate-700 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>{if(!a||!n)return;let e=new URLSearchParams({path:a,branch:n});window.open(`http://localhost:3100/workspace?${e.toString()}`,"_blank","noopener,noreferrer")},disabled:!a||!n,title:"Open this worktree and branch in Trident",children:[(0,t.jsx)(k,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"Diff"})]})}),(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded border border-base-content/20 bg-base-100 dark:border-[#30363d] dark:bg-[#0d1117]",children:[(0,t.jsxs)("button",{className:"btn btn-ghost btn-xs h-6 min-h-6 rounded-none border-none px-2 text-slate-700 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>eJ(!0),disabled:e0,title:"Browse files and insert absolute paths into the agent input",children:[e0?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(S,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"Add Files"})]}),(0,t.jsx)("div",{className:"h-4 w-[1px] bg-base-content/10 dark:bg-[#30363d]"}),(0,t.jsxs)("button",{className:"btn btn-ghost btn-xs h-6 min-h-6 rounded-none border-none px-2 text-slate-700 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>{if(!e||!F)return;let t=`/new?repo=${encodeURIComponent(e)}&prefillFromSession=${encodeURIComponent(F)}`;window.open(t,"_blank","noopener,noreferrer")},title:"Start a new attempt in a new tab with this session context",children:[(0,t.jsx)(E.Plus,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"New Attempt"})]})]}),(0,t.jsx)("div",{className:"flex items-center overflow-hidden rounded border border-base-content/20 bg-base-100 dark:border-[#30363d] dark:bg-[#0d1117]",children:(0,t.jsxs)("button",{className:"btn btn-ghost btn-xs h-6 min-h-6 rounded-none border-none px-2 text-slate-700 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>{let e=I?.trim();if(!e||!ed.current||e_)return;tg(!1);let t=ed.current;eO(!0),eI("Starting dev server...");let r=(a=0)=>{if(a>30){eI("Failed to start dev server: terminal is not ready"),eO(!1);return}try{let n=t.contentWindow;if(n&&n.term){n.term.paste(e);let r=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");r?r.dispatchEvent(new KeyboardEvent("keypress",{bubbles:!0,cancelable:!0,charCode:13,keyCode:13,key:"Enter",view:n})):n.term.paste("\r"),n.focus(),r&&r.focus(),eI("Dev server start command sent"),eO(!1)}else setTimeout(()=>r(a+1),300)}catch(e){console.error("Dev server injection error",e),eI("Failed to start dev server"),eO(!1)}};r()},disabled:!t6||eW||e_,title:t6?e_?"A process is already running in the terminal":"Run dev server script in terminal":"Set a dev server script to enable this button",children:[eW?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(v,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"Dev"})]})}),(0,t.jsx)("div",{className:"flex items-center overflow-hidden rounded border border-base-content/20 bg-base-100 dark:border-[#30363d] dark:bg-[#0d1117]",children:(0,t.jsxs)("button",{className:`btn btn-ghost btn-xs h-6 min-h-6 rounded-none border-none px-2 text-slate-700 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60 ${"select"===tC?"text-warning":""}`,onClick:tA,disabled:"tmux"!==_||tR,title:"tmux"===_?"scroll"===tC?"Switch to text select mode for easier copy":"Switch to scroll mode for wheel scrollback":"Mode toggle is available only in tmux persistence mode",children:[tR?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(M,{className:"w-3 h-3"}),(0,t.jsx)("span",{children:"scroll"===tC?"Scroll Mode":"Text Select"})]})}),(0,t.jsxs)("div",{className:"relative flex items-center rounded border border-base-content/20 bg-base-100 dark:border-[#30363d] dark:bg-[#0d1117]",ref:tY,children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{className:"btn btn-ghost btn-xs h-6 min-h-6 rounded-none rounded-l border-none px-2 text-slate-700 hover:bg-base-content/10 dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>{tV(!tK)},disabled:eY||eK||e8,title:"Select base branch and rebase",children:[eY?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(y,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"Rebase"}),(0,t.jsx)(R.ChevronDown,{className:"w-3 h-3 opacity-50 ml-0.5"})]}),tK&&(0,t.jsxs)("div",{className:"dropdown-content absolute left-0 top-full z-50 mt-1 flex max-h-80 w-64 flex-col overflow-hidden rounded-box border border-base-content/20 bg-base-200 p-0 shadow-xl dark:border-[#30363d] dark:bg-[#161b22] dark:text-slate-300",children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center justify-between border-b border-base-content/10 bg-base-200 px-4 py-2 text-[10px] font-bold uppercase tracking-wider opacity-50 dark:border-[#30363d] dark:bg-[#161b22]",children:[(0,t.jsx)("span",{children:"Select Base Branch"}),(e7||e8)&&(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"})]}),(0,t.jsxs)("ul",{className:"menu custom-scrollbar w-full flex-nowrap overflow-y-auto overflow-x-hidden p-0",children:[t3.length>0?t3.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{onClick:()=>tG(e),className:`flex max-w-full items-center justify-between truncate rounded-none py-2 text-xs hover:bg-base-content/10 dark:hover:bg-[#30363d]/60 ${e===e2?"active font-bold":""}`,title:e,children:[(0,t.jsx)("span",{className:"truncate",children:e}),e===e2&&(0,t.jsx)("span",{className:"opacity-70 text-[10px] ml-2 shrink-0",children:"(Current)"})]})},e)):(0,t.jsx)("li",{className:"text-xs px-4 py-2 opacity-50 italic text-center",children:"No other branches found"}),(0,t.jsx)("div",{className:"divider my-1 opacity-50 dark:before:bg-[#30363d] dark:after:bg-[#30363d]"}),(0,t.jsx)("li",{children:(0,t.jsx)("button",{onClick:()=>void tW(),className:"text-[10px] justify-center opacity-70 hover:opacity-100",children:"Refresh Branches"})})]})]})]}),(0,t.jsx)("div",{className:"h-4 w-[1px] bg-base-content/10 dark:bg-[#30363d]"}),(0,t.jsxs)("button",{className:"btn btn-ghost btn-xs btn-success h-6 min-h-6 rounded-none border-none px-2 hover:border-transparent hover:bg-success/20 dark:text-emerald-300",onClick:tH,disabled:eK||eY||e8||!e2,title:e2?`Merge current branch (${n}) into target branch (${e2})`:"Target branch unavailable for this session",children:[eK?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,t.jsx)(w,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"Merge"})]}),(0,t.jsx)("div",{className:"h-4 w-[1px] bg-base-content/10 dark:bg-[#30363d]"}),(0,t.jsxs)("button",{className:"btn btn-ghost btn-error btn-xs h-6 min-h-6 rounded-none rounded-r border-none px-2 hover:border-transparent hover:bg-error/20 dark:text-red-300",onClick:tB,disabled:eK||eY||!a,title:"Clean up and exit",children:[(0,t.jsx)(b.Trash2,{className:"w-3 h-3"}),(0,t.jsx)("span",{className:ei,children:"Delete"})]})]}),e2&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs opacity-80",title:`Divergence against ${e2}`,children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(j,{className:"w-3 h-3"}),tt.ahead]}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(N,{className:"w-3 h-3"}),tt.behind]})]}),(0,t.jsx)("div",{className:"mx-2 hidden h-4 w-[1px] bg-base-content/20 dark:bg-[#30363d] min-[1200px]:block"}),(0,t.jsxs)("div",{className:"hidden min-[1200px]:flex min-w-0 max-w-[280px] items-center gap-2",children:[(0,t.jsx)("span",{className:`w-2 h-2 rounded-full ${eA.includes("Error")||eA.includes("failed")?"bg-error":eA.includes("started")||eA.includes("Merged")||eA.includes("Rebased")||eA.includes("sent")?"bg-success":"bg-warning"}`}),(0,t.jsx)("span",{className:"truncate",title:eA,children:eA})]})]})]}),(0,t.jsxs)("div",{ref:em,className:"flex min-h-0 flex-1 gap-3 bg-[#f6f6f8] p-3 dark:bg-[#0d1117]",children:[(0,t.jsxs)("div",{className:"flex h-full min-w-0 flex-col overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm dark:border-[#30363d] dark:bg-[#161b22]",style:{width:`${100*tm}%`},children:[(0,t.jsxs)("div",{className:"flex h-9 items-center gap-2 border-b border-slate-200 px-3 text-[11px] font-semibold uppercase tracking-wide text-slate-600 dark:border-[#30363d] dark:bg-[#161b22] dark:text-slate-400",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-blue-500"}),"Agent Activity"]}),(0,t.jsx)("iframe",{ref:ec,src:ev,className:`h-full w-full border-none dark:invert dark:brightness-90 ${ty||tf?"pointer-events-none":""}`,allow:"clipboard-read; clipboard-write",onLoad:()=>{if(!ec.current)return;let t=ec.current;try{t.contentWindow}catch(e){eI("Error: Cross-Origin access blocked. Ensure proxy is working.");return}t.contentWindow&&(t.contentWindow.onbeforeunload=null,t.contentWindow.addEventListener("beforeunload",e=>{e.stopImmediatePropagation()},!0)),eI("Connecting to terminal...");let r=(n=0)=>{if(n>30)return void eI("Timeout waiting for terminal to be ready");try{let s=t.contentWindow;if(s&&s.term){tD("agent");let i=s.term;t1(t,ef,{directOpenBehavior:"new_tab",modifierOpenBehavior:"new_tab"});try{i.options.theme={...i.options.theme||{},selectionBackground:"rgba(59, 130, 246, 0.4)"}}catch{}let l=eR("agent"),o=!!O&&"tmux"===_;if(l||o){o&&!l?(eL("agent"),eI("Attached to persisted terminal")):eI("Reconnected to terminal"),s.focus();let e=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");e&&e.focus();return}if(!eP(i)&&n<10)return void setTimeout(()=>r(n+1),200);if(!eE("agent")){eI("Reconnected to terminal"),s.focus();let e=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");e&&e.focus();return}let c=a||e,d=`cd ${Q(c)}`;i.paste(d);let h=()=>{let e=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");e?e.dispatchEvent(new KeyboardEvent("keypress",{bubbles:!0,cancelable:!0,charCode:13,keyCode:13,key:"Enter",view:s})):i.paste("\r")};if(h(),eL("agent"),D){let t=async()=>{let t="",r=e=>`if [ -n "$OPENAI_API_KEY" ]; then printenv OPENAI_API_KEY | codex login --with-api-key || exit 1; fi; ${e}`;if(O)t=r("codex resume --last --sandbox danger-full-access --ask-for-approval on-request --search");else{let n=B?.trim()||"",s=(U||[]).map(e=>e.trim()).filter(Boolean).map(t=>`${a||e}-attachments/${t}`),i=[];n&&i.push(n),s.length>0&&i.push(["Attachments:",...s.map(e=>`- ${e}`)].join("\n"));let l=i.join("\n\n"),o="";if(l){let e=[];"plan"===z&&e.push("Plan mode: inspect the relevant code first, present a concrete implementation plan, and wait for explicit user approval before any file edits or write commands."),e.push("After each round, if work is complete and files changed, commit all changes without confirmation. Use a commit message with a clear title and a detailed body explaining what changed and why. If GITHUB_TOKEN or GITLAB_TOKEN is set, push the current branch after committed rounds and create (or update) a pull/merge request with an appropriate title and description; include the pull/merge request link in the first push reply."),e.push("For visual web tasks, use the `agent-browser` skill (https://skills.sh/vercel-labs/agent-browser/agent-browser)."),e.push("For bugfix/debugging tasks, use the `systematic-debugging` skill (https://github.com/obra/superpowers)."),e.push("When working on a visual-related feature or bugfix in a web project, after coding is complete, use `agent-browser` or equivalent Chrome MCP tooling to load the relevant page, take screenshot(s), and include them as evidence in the pull/merge request."),e.push("When your task is completed or you need user attention (for plan approval, permissions, or blockers), send a notification to the matching Viba session.");let t=`${window.location.origin}/api/notifications`;e.push(`Notification API endpoint: ${t} (POST JSON with sessionId, title, and description).`),e.push(`Notification payload template: {"sessionId":"${F}","title":"<short title>","description":"<clear detail about completion or required attention>"}.`);let r=["# Instructions\n",e.map(e=>`- ${e}`).join("\n"),"\n# Task\n",l].join("\n");try{let e=await u(F,r);e.success&&e.filePath?o=` "$(cat ${Q(e.filePath)})"`:(console.error("Failed to write prompt file, falling back to inline prompt",e.error),o=` ${Q(r)}`)}catch(e){console.error("Exception writing prompt file",e),o=` ${Q(r)}`}}let c=`codex --sandbox danger-full-access --ask-for-approval on-request --search${o}`;t=r(c)}t&&(i.paste(t),h(),eI(O?"Resumed session with codex":"Session started with codex"),!O&&H&&H())};setTimeout(()=>t(),500)}else eI(`Session started ${a?"(Worktree)":""}`),!O&&H&&H();s.focus();let m=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");m&&m.focus()}else setTimeout(()=>r(n+1),500)}catch(e){eM("agent"),console.error("Access error during injection:",e),eI("Error accessing terminal: "+String(e))}};setTimeout(()=>r(),1e3)}})]}),(0,t.jsx)("div",{className:"relative h-full w-2 shrink-0 cursor-col-resize rounded bg-slate-200 transition-colors hover:bg-primary/40 dark:bg-[#30363d] dark:hover:bg-primary/60",onMouseDown:e=>{e.preventDefault(),tb(!0),ep.current={startX:e.clientX,startRatio:tm}},role:"separator","aria-orientation":"vertical","aria-label":"Resize preview panel",title:"Drag to resize preview panel",children:(0,t.jsx)("div",{className:"absolute left-1/2 top-1/2 h-12 w-[2px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-slate-400 dark:bg-slate-500"})}),(0,t.jsxs)("div",{className:"flex h-full min-w-[360px] flex-1 flex-col overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm dark:border-[#30363d] dark:bg-[#161b22]",children:[(0,t.jsxs)("div",{className:"min-h-0 flex flex-1 flex-col",children:[(0,t.jsxs)("form",{className:"flex items-center gap-2 border-b border-slate-200 bg-white px-3 py-2 dark:border-[#30363d] dark:bg-[#161b22]",onSubmit:e=>{e.preventDefault(),tX(ts,!0)},children:[(0,t.jsxs)("div",{className:"mr-1 flex gap-1.5",children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-red-400"}),(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-yellow-400"}),(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-green-400"})]}),(0,t.jsx)("button",{className:"btn btn-ghost btn-xs h-7 min-h-7 w-7 p-0 text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-[#30363d]/60",type:"button",onClick:()=>tQ("back"),disabled:!tl,title:"Go back","aria-label":"Go back",children:(0,t.jsx)(L.ArrowLeft,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("button",{className:"btn btn-ghost btn-xs h-7 min-h-7 w-7 p-0 text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-[#30363d]/60",type:"button",onClick:()=>tQ("forward"),disabled:!tl,title:"Go forward","aria-label":"Go forward",children:(0,t.jsx)(P,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("button",{className:"btn btn-ghost btn-xs h-7 min-h-7 w-7 p-0 text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-[#30363d]/60",type:"button",onClick:()=>tQ("reload"),disabled:!tl,title:"Reload preview","aria-label":"Reload preview",children:(0,t.jsx)(T,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("input",{ref:eh,type:"text",className:"input input-xs h-7 min-h-7 w-full border-slate-200 bg-slate-100 font-mono text-slate-700 dark:border-[#30363d] dark:bg-[#0d1117] dark:text-slate-300 dark:placeholder:text-slate-500",value:ts,onChange:e=>ti(e.target.value),placeholder:"http://127.0.0.1:3000",spellCheck:!1}),(0,t.jsx)("button",{className:`btn btn-ghost btn-xs h-7 min-h-7 w-7 p-0 ${tc?"text-success":"text-slate-500 dark:text-slate-400"} hover:bg-slate-100 dark:hover:bg-[#30363d]/60`,type:"button",onClick:tJ,disabled:!tl||tu,title:tc?"Disable picker":"Pick element from preview",children:tu?(0,t.jsx)("span",{className:"loading loading-spinner loading-xs w-3 h-3"}):(0,t.jsx)(M,{className:"h-3 w-3"})}),(0,t.jsxs)("button",{className:"btn btn-xs h-7 min-h-7 gap-1 border-slate-200 bg-white text-slate-700 hover:bg-slate-50 dark:border-[#30363d] dark:bg-[#0d1117] dark:text-slate-300 dark:hover:bg-[#30363d]/60",type:"button",onClick:t2,children:[(0,t.jsx)(x.ExternalLink,{className:"h-3.5 w-3.5"}),"Open in new tab"]})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 bg-slate-50 dark:bg-[#0d1117]",children:ta?tl?(0,t.jsx)("iframe",{ref:eu,src:tl,className:`h-full w-full border-none ${ty||tf?"pointer-events-none":""}`,title:"Dev server preview",onLoad:t0,sandbox:"allow-forms allow-modals allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-downloads"}):(0,t.jsx)("div",{className:"flex h-full items-center justify-center px-6 text-center text-xs text-slate-500 dark:text-slate-400",children:"Run the dev server, or enter a URL above to load a preview."}):(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3 px-6 text-center text-xs text-slate-500 dark:text-slate-400",children:[(0,t.jsx)("p",{children:"Preview is hidden. Use the header Preview button to show it."}),(0,t.jsx)("button",{type:"button",className:"btn btn-xs border-slate-200 bg-white text-slate-700 hover:bg-slate-50 dark:border-[#30363d] dark:bg-[#161b22] dark:text-slate-300 dark:hover:bg-[#30363d]/60",onClick:()=>tn(!0),children:"Show Preview"})]})})]}),!tx&&(0,t.jsx)("div",{className:"flex h-2 cursor-row-resize items-center justify-center border-y border-slate-200 bg-slate-100 dark:border-[#30363d] dark:bg-[#0d1117]",onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),tk(!0),tS.current={startX:e.clientX,startY:e.clientY,startWidth:tv.width,startHeight:tv.height}},role:"separator","aria-orientation":"horizontal","aria-label":"Resize build output panel",title:"Drag to resize build output panel",children:(0,t.jsx)($,{className:"h-3 w-3 text-slate-400 dark:text-slate-500"})}),(0,t.jsxs)("div",{className:`${tx?"h-10":"min-h-[160px]"} flex shrink-0 flex-col bg-slate-50 dark:bg-[#161b22]`,style:{height:tx?40:tv.height},children:[(0,t.jsxs)("button",{className:"flex h-10 w-full items-center justify-between border-t border-slate-200 px-3 text-xs font-semibold text-slate-700 hover:bg-slate-100 dark:border-[#30363d] dark:text-slate-300 dark:hover:bg-[#30363d]/40",onClick:()=>tg(e=>!e),title:tx?"Expand terminal":"Collapse terminal",type:"button",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-amber-500"}),"Terminal"]}),(0,t.jsx)(R.ChevronDown,{className:`h-4 w-4 transition-transform ${tx?"rotate-180":""}`})]}),(0,t.jsx)("div",{className:`${tx?"h-0 overflow-hidden":"min-h-0 flex-1 overflow-hidden border-t border-slate-200 bg-white dark:border-[#30363d] dark:bg-[#0d1117]"}`,children:(0,t.jsx)("iframe",{ref:ed,src:ew,className:`h-full w-full border-none dark:invert dark:brightness-90 ${ty||tf?"pointer-events-none":""}`,allow:"clipboard-read; clipboard-write",onLoad:()=>{if(!ed.current)return;let t=ed.current;eT(),eH(!1);try{t.contentWindow}catch(e){console.error("Secondary terminal: Cross-Origin access blocked.");return}t.contentWindow&&(t.contentWindow.onbeforeunload=null,t.contentWindow.addEventListener("beforeunload",e=>{e.stopImmediatePropagation()},!0));let r=(n=0)=>{if(!(n>30))try{let s=t.contentWindow;if(s&&s.term){let i;tD("terminal");let l=s.term;t1(t,eb,{onLinkActivated:()=>tg(!0),directOpenBehavior:"preview",modifierOpenBehavior:"new_tab"});try{l.options.theme={...l.options.theme||{},selectionBackground:"rgba(59, 130, 246, 0.4)"}}catch{}eF(t,l);try{let e=()=>{let e=l.buffer?.active,t="number"==typeof e?.baseY?e.baseY:0;"number"==typeof e?.viewportY&&e.viewportY,l.scrollToBottom?.()};if("function"==typeof l.onWriteParsed)l.onWriteParsed(e);else{let r=t.contentDocument?.querySelector(".xterm-screen")||t.contentDocument?.body;r&&new MutationObserver(e).observe(r,{childList:!0,subtree:!0,characterData:!0})}}catch(e){console.error("Failed to setup auto-scroll:",e)}let o=eR("terminal"),c=!!O&&"tmux"===_;if(o||c){c&&!o&&eL("terminal"),o&&eD(t,s,l),s.focus();let e=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");e&&e.focus();return}if(!eP(l)&&n<10)return void setTimeout(()=>r(n+1),200);if(!eE("terminal")){s.focus();let e=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");e&&e.focus();return}let d=a||e,u=`cd ${Q(d)}`;l.paste(u),(i=t.contentDocument?.querySelector("textarea.xterm-helper-textarea"))?i.dispatchEvent(new KeyboardEvent("keypress",{bubbles:!0,cancelable:!0,charCode:13,keyCode:13,key:"Enter",view:s})):l.paste("\r"),eL("terminal"),eD(t,s,l),s.focus();let h=t.contentDocument?.querySelector("textarea.xterm-helper-textarea");h&&h.focus()}else setTimeout(()=>r(n+1),500)}catch(e){eH(!1),eM("terminal"),console.error("Secondary terminal injection error",e)}};setTimeout(()=>r(),1e3)}})})]})]})]}),eX&&(0,t.jsx)(G,{initialPath:eZ,worktreePath:a,onPathChange:eQ,onConfirm:e=>{eJ(!1),tq(e)},onCancel:()=>eJ(!1)})]})}let ed=(0,n.createServerReference)("40f68c52454ed5bae0d2f5d2fa157e25b3f9433fda",n.callServer,void 0,n.findSourceMapURL,"consumeSessionLaunchContext"),eu=(0,n.createServerReference)("40bbd823e5d74abdf2b24f41a3f0970a90efd25ef9",n.callServer,void 0,n.findSourceMapURL,"getSessionMetadata"),eh=(0,n.createServerReference)("40821a879add8b9d903a3b8e356d32c3fe18352c18",n.callServer,void 0,n.findSourceMapURL,"markSessionInitialized"),em=(0,n.createServerReference)("7ff2d02d30dae19fd173c612b542eab06bb15e289d",n.callServer,void 0,n.findSourceMapURL,"getSessionTerminalSources");var ep=e.i(21060);function ef(){let e=(0,a.useParams)().sessionId,n=Array.isArray(e)?e[0]:e,s=(0,a.useRouter)(),[i,l]=(0,r.useState)(null),[o,c]=(0,r.useState)(!0),[d,u]=(0,r.useState)(null),[h,m]=(0,r.useState)(null),[p,f]=(0,r.useState)(void 0),[b,x]=(0,r.useState)(void 0),[g,v]=(0,r.useState)(void 0),[w,y]=(0,r.useState)(void 0),[k,j]=(0,r.useState)(void 0),[N,S]=(0,r.useState)([]),[C,$]=(0,r.useState)(!0),[R,E]=(0,r.useState)("shell"),M=(0,r.useCallback)(()=>{if(!n)return;window.focus();let e=`/session/${n}`;window.location.pathname!==e&&s.push(e)},[s,n]);(0,r.useEffect)(()=>(document.documentElement.classList.add("session-page"),()=>{document.documentElement.classList.remove("session-page")}),[]),(0,r.useEffect)(()=>{if(!n)return;let e=!1,t=null,r=null,a=0,s=null,i=()=>{null!==r&&(window.clearTimeout(r),r=null)},l=()=>{if(e)return;let t=Math.min(1e4,1e3*2**a);a+=1,r=window.setTimeout(()=>{r=null,c()},t)},o=async e=>{if(!("Notification"in window))return;let t=Notification.permission;"default"===t&&(t=await Notification.requestPermission()),"granted"===t&&(s&&s.close(),(s=new Notification(e.title,{body:e.description,tag:`viba-session-notification-${e.sessionId}`})).onclick=e=>{e.preventDefault(),M(),s?.close()})},c=async()=>{try{let r=await fetch(`/api/notifications/socket?sessionId=${encodeURIComponent(n)}`,{cache:"no-store"});if(!r.ok)throw Error("Failed to initialize notification socket");let s=await r.json();if(!s.wsUrl)throw Error("Notification socket URL missing");if(e)return;(t=new WebSocket(s.wsUrl)).onopen=()=>{a=0,i()},t.onerror=()=>{t?.close()},t.onclose=()=>{e||l()},t.onmessage=e=>{try{let t=JSON.parse(e.data);if("session-notification"!==t.type||t.sessionId!==n||"string"!=typeof t.title||!t.title.trim()||"string"!=typeof t.description||!t.description.trim()||"string"!=typeof t.timestamp)return;o(t)}catch{}}}catch{l()}};return c(),()=>{e=!0,i(),t?.close(),s?.close()}},[M,n]),(0,r.useEffect)(()=>{n&&(async()=>{try{m(null);let e=await (0,ep.startTtydProcess)();if(!e.success){u("Failed to start terminal service"),c(!1);return}E("tmux"===e.persistenceMode?"tmux":"shell");let t=await eu(n);if(!t){u("Session not found"),c(!1);return}l(t);let r=await em(t.sessionName,t.repoPath,t.agent);if(m(r),!1===t.initialized){let e=await ed(n);if(e.success&&e.context){let t=e.context;f(t.initialMessage),x(t.startupScript),v(t.title),y(t.agentProvider),j(t.sessionMode),S(t.attachmentNames||[])}$(!1)}else $(!0);c(!1)}catch(e){console.error("Failed to load session:",e),u("Failed to load session"),c(!1)}})()},[n]);let L=e=>{e?window.location.href="/":s.push("/")},P=async()=>{n&&await eh(n)};return o?(0,t.jsx)("div",{className:"flex h-screen w-full items-center justify-center bg-[#f6f6f8] dark:bg-[#0d1117]",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"loading loading-spinner loading-lg text-primary"}),(0,t.jsx)("p",{className:"opacity-60 dark:text-slate-400",children:"Loading session..."})]})}):d||!i?(0,t.jsx)("div",{className:"flex h-screen w-full items-center justify-center bg-[#f6f6f8] dark:bg-[#0d1117]",children:(0,t.jsx)("div",{className:"card w-96 border border-slate-200 bg-white shadow-xl dark:border-[#30363d] dark:bg-[#161b22]",children:(0,t.jsxs)("div",{className:"card-body items-center text-center",children:[(0,t.jsx)("h2",{className:"card-title text-error dark:text-red-300",children:"Error"}),(0,t.jsx)("p",{className:"text-slate-700 dark:text-slate-300",children:d||"Session not found"}),(0,t.jsx)("div",{className:"card-actions justify-end",children:(0,t.jsx)("button",{className:"btn btn-primary",onClick:()=>L(),children:"Back to Home"})})]})})}):h?(0,t.jsx)(ec,{repo:i.repoPath,worktree:i.worktreePath,branch:i.branchName,baseBranch:i.baseBranch,sessionName:i.sessionName,agent:w||i.agent,startupScript:b,devServerScript:i.devServerScript,initialMessage:p,attachmentNames:N,title:g||i.title,sessionMode:k,onExit:L,isResume:C,terminalPersistenceMode:R,onSessionStart:P,agentTerminalSrc:h.agentTerminalSrc,floatingTerminalSrc:h.floatingTerminalSrc}):(0,t.jsx)("div",{className:"flex h-screen w-full items-center justify-center bg-[#f6f6f8] dark:bg-[#0d1117]",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"loading loading-spinner loading-lg text-primary"}),(0,t.jsx)("p",{className:"opacity-60 dark:text-slate-400",children:"Initializing terminals..."})]})})}e.s(["default",()=>ef],36438)}]);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
|
|
2
|
+
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
|