commandmate 0.2.3 → 0.2.4
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/app-build-manifest.json +25 -25
- package/.next/app-path-routes-manifest.json +1 -1
- package/.next/build-manifest.json +7 -7
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/fetch-cache/799a63cbfa61e2ab38626c05fe43500464c7bbd38341bdde69f5ec4b25acff68 +1 -0
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/1.pack +0 -0
- package/.next/cache/webpack/client-production/2.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -0
- package/.next/server/app/api/app/update-check/route.js.nft.json +1 -0
- package/.next/server/app/api/app/update-check.body +1 -0
- package/.next/server/app/api/app/update-check.meta +1 -0
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +3 -3
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +10 -9
- package/.next/server/chunks/2683.js +1 -1
- package/.next/server/chunks/5488.js +1 -1
- package/.next/server/chunks/5823.js +1 -1
- package/.next/server/chunks/7425.js +3 -3
- package/.next/server/chunks/7536.js +1 -1
- package/.next/server/chunks/9367.js +2 -2
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{816-bb41b20a51ae924a.js → 816-af44cb865b0c980e.js} +1 -1
- package/.next/static/chunks/app/page-43b5de1a0a788b1f.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/{page-9d77c6f755d08086.js → page-9632761937a4d1ad.js} +1 -1
- package/.next/static/chunks/{main-b6d727aa9248d4f2.js → main-f00f82f1cf18dd99.js} +1 -1
- package/.next/static/chunks/{webpack-e6531fcf859d9451.js → webpack-af8567a485ade35a.js} +1 -1
- package/.next/static/css/{4eca30cb81bc52b4.css → 6a92c8ad3c94d15a.css} +1 -1
- package/.next/trace +5 -5
- package/.next/types/app/api/app/update-check/route.ts +343 -0
- package/dist/server/src/lib/prompt-detector.js +207 -67
- package/package.json +1 -1
- package/.next/static/chunks/app/page-792c0577dc44e5e5.js +0 -1
- /package/.next/static/{rppRTm2sRWa4sZE7ili8A → b3UR0y5mw3Ubf_vI5JjIN}/_buildManifest.js +0 -0
- /package/.next/static/{rppRTm2sRWa4sZE7ili8A → b3UR0y5mw3Ubf_vI5JjIN}/_ssgManifest.js +0 -0
- /package/.next/static/chunks/{4733-db0112b08802aaa7.js → 4733-50bdfc169adb4881.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/worktrees/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"12846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"18828":{"*":{"id":"2108","name":"*","chunks":[],"async":false}},"19107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"23327":{"*":{"id":"84792","name":"*","chunks":[],"async":false}},"36423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"41845":{"*":{"id":"37398","name":"*","chunks":[],"async":false}},"50653":{"*":{"id":"84442","name":"*","chunks":[],"async":false}},"61060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/worktrees/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"12846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"18828":{"*":{"id":"2108","name":"*","chunks":[],"async":false}},"19107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"23327":{"*":{"id":"84792","name":"*","chunks":[],"async":false}},"36423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"41845":{"*":{"id":"37398","name":"*","chunks":[],"async":false}},"50653":{"*":{"id":"84442","name":"*","chunks":[],"async":false}},"61060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"61676":{"*":{"id":"48378","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/app-router.js":{"id":12846,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/app-router.js":{"id":12846,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/client-page.js":{"id":19107,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/client-page.js":{"id":19107,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/error-boundary.js":{"id":61060,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":61060,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/render-from-template-context.js":{"id":36423,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":36423,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/globals.css":{"id":2778,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","816","static/chunks/816-af44cb865b0c980e.js","3185","static/chunks/app/layout-07755491d5d57242.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx":{"id":18828,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","816","static/chunks/816-af44cb865b0c980e.js","3185","static/chunks/app/layout-07755491d5d57242.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/page.tsx":{"id":23327,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","8216","static/chunks/8216-00e20326f32abd12.js","2330","static/chunks/2330-0299b9879f4977d2.js","816","static/chunks/816-af44cb865b0c980e.js","4733","static/chunks/4733-50bdfc169adb4881.js","1931","static/chunks/app/page-43b5de1a0a788b1f.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx":{"id":61676,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","1038","static/chunks/1038-3509435b68c0967e.js","8216","static/chunks/8216-00e20326f32abd12.js","6140","static/chunks/6140-389f1951062dcf4f.js","816","static/chunks/816-af44cb865b0c980e.js","4733","static/chunks/4733-50bdfc169adb4881.js","130","static/chunks/app/worktrees/%5Bid%5D/page-9632761937a4d1ad.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/files/[...path]/page.tsx":{"id":50653,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/terminal/page.tsx":{"id":41845,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/CommandMate/CommandMate/src/":[],"/home/runner/work/CommandMate/CommandMate/src/app/layout":["static/css/6a92c8ad3c94d15a.css"],"/home/runner/work/CommandMate/CommandMate/src/app/page":[],"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page":["static/css/5eacd01f773eed7f.css"]}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/worktrees/[id]/terminal/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"12846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"18828":{"*":{"id":"2108","name":"*","chunks":[],"async":false}},"19107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"23327":{"*":{"id":"84792","name":"*","chunks":[],"async":false}},"36423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"41845":{"*":{"id":"37398","name":"*","chunks":[],"async":false}},"50653":{"*":{"id":"84442","name":"*","chunks":[],"async":false}},"61060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/worktrees/[id]/terminal/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"80":{"*":{"id":"41868","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"79671","name":"*","chunks":[],"async":false}},"12846":{"*":{"id":"12994","name":"*","chunks":[],"async":false}},"18828":{"*":{"id":"2108","name":"*","chunks":[],"async":false}},"19107":{"*":{"id":"96114","name":"*","chunks":[],"async":false}},"23327":{"*":{"id":"84792","name":"*","chunks":[],"async":false}},"36423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"41845":{"*":{"id":"37398","name":"*","chunks":[],"async":false}},"50653":{"*":{"id":"84442","name":"*","chunks":[],"async":false}},"61060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"61676":{"*":{"id":"48378","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/app-router.js":{"id":12846,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/app-router.js":{"id":12846,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/client-page.js":{"id":19107,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/client-page.js":{"id":19107,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/error-boundary.js":{"id":61060,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":61060,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/client/components/render-from-template-context.js":{"id":36423,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":36423,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/globals.css":{"id":2778,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","816","static/chunks/816-af44cb865b0c980e.js","3185","static/chunks/app/layout-07755491d5d57242.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx":{"id":18828,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","816","static/chunks/816-af44cb865b0c980e.js","3185","static/chunks/app/layout-07755491d5d57242.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/page.tsx":{"id":23327,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","8216","static/chunks/8216-00e20326f32abd12.js","2330","static/chunks/2330-0299b9879f4977d2.js","816","static/chunks/816-af44cb865b0c980e.js","4733","static/chunks/4733-50bdfc169adb4881.js","1931","static/chunks/app/page-43b5de1a0a788b1f.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx":{"id":61676,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","1038","static/chunks/1038-3509435b68c0967e.js","8216","static/chunks/8216-00e20326f32abd12.js","6140","static/chunks/6140-389f1951062dcf4f.js","816","static/chunks/816-af44cb865b0c980e.js","4733","static/chunks/4733-50bdfc169adb4881.js","130","static/chunks/app/worktrees/%5Bid%5D/page-9632761937a4d1ad.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/files/[...path]/page.tsx":{"id":50653,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/terminal/page.tsx":{"id":41845,"name":"*","chunks":["9838","static/chunks/30d07d85-393352a92199f695.js","216","static/chunks/216-f18f4a9d8b04a91e.js","1224","static/chunks/app/worktrees/%5Bid%5D/terminal/page-5d85a7e508ce36d3.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/CommandMate/CommandMate/src/":[],"/home/runner/work/CommandMate/CommandMate/src/app/layout":["static/css/6a92c8ad3c94d15a.css"],"/home/runner/work/CommandMate/CommandMate/src/app/page":[],"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page":["static/css/5eacd01f773eed7f.css"],"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/terminal/page":["static/css/85fa6dafca566008.css"]}}
|
|
@@ -1,47 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"/_not-found/page": "app/_not-found/page.js",
|
|
3
|
+
"/api/app/update-check/route": "app/api/app/update-check/route.js",
|
|
3
4
|
"/api/hooks/claude-done/route": "app/api/hooks/claude-done/route.js",
|
|
4
5
|
"/api/repositories/clone/[jobId]/route": "app/api/repositories/clone/[jobId]/route.js",
|
|
5
6
|
"/api/repositories/clone/route": "app/api/repositories/clone/route.js",
|
|
6
7
|
"/api/repositories/excluded/route": "app/api/repositories/excluded/route.js",
|
|
7
8
|
"/api/repositories/restore/route": "app/api/repositories/restore/route.js",
|
|
8
|
-
"/api/repositories/route": "app/api/repositories/route.js",
|
|
9
9
|
"/api/repositories/scan/route": "app/api/repositories/scan/route.js",
|
|
10
10
|
"/api/repositories/sync/route": "app/api/repositories/sync/route.js",
|
|
11
11
|
"/api/slash-commands/route": "app/api/slash-commands/route.js",
|
|
12
|
+
"/api/repositories/route": "app/api/repositories/route.js",
|
|
12
13
|
"/api/worktrees/[id]/auto-yes/route": "app/api/worktrees/[id]/auto-yes/route.js",
|
|
13
14
|
"/api/worktrees/[id]/capture/route": "app/api/worktrees/[id]/capture/route.js",
|
|
14
|
-
"/api/worktrees/[id]/current-output/route": "app/api/worktrees/[id]/current-output/route.js",
|
|
15
15
|
"/api/worktrees/[id]/cli-tool/route": "app/api/worktrees/[id]/cli-tool/route.js",
|
|
16
|
+
"/api/worktrees/[id]/current-output/route": "app/api/worktrees/[id]/current-output/route.js",
|
|
16
17
|
"/api/worktrees/[id]/files/[...path]/route": "app/api/worktrees/[id]/files/[...path]/route.js",
|
|
17
18
|
"/api/worktrees/[id]/interrupt/route": "app/api/worktrees/[id]/interrupt/route.js",
|
|
18
19
|
"/api/worktrees/[id]/kill-session/route": "app/api/worktrees/[id]/kill-session/route.js",
|
|
19
20
|
"/api/worktrees/[id]/memos/[memoId]/route": "app/api/worktrees/[id]/memos/[memoId]/route.js",
|
|
20
21
|
"/api/worktrees/[id]/memos/route": "app/api/worktrees/[id]/memos/route.js",
|
|
21
22
|
"/api/worktrees/[id]/messages/route": "app/api/worktrees/[id]/messages/route.js",
|
|
22
|
-
"/api/worktrees/[id]/prompt-response/route": "app/api/worktrees/[id]/prompt-response/route.js",
|
|
23
23
|
"/api/worktrees/[id]/respond/route": "app/api/worktrees/[id]/respond/route.js",
|
|
24
|
+
"/api/worktrees/[id]/prompt-response/route": "app/api/worktrees/[id]/prompt-response/route.js",
|
|
24
25
|
"/api/worktrees/[id]/route": "app/api/worktrees/[id]/route.js",
|
|
25
|
-
"/api/worktrees/[id]/search/route": "app/api/worktrees/[id]/search/route.js",
|
|
26
26
|
"/api/worktrees/[id]/send/route": "app/api/worktrees/[id]/send/route.js",
|
|
27
|
+
"/api/worktrees/[id]/search/route": "app/api/worktrees/[id]/search/route.js",
|
|
27
28
|
"/api/worktrees/[id]/slash-commands/route": "app/api/worktrees/[id]/slash-commands/route.js",
|
|
28
|
-
"/api/worktrees/[id]/start-polling/route": "app/api/worktrees/[id]/start-polling/route.js",
|
|
29
29
|
"/api/worktrees/[id]/terminal/route": "app/api/worktrees/[id]/terminal/route.js",
|
|
30
|
+
"/api/worktrees/[id]/start-polling/route": "app/api/worktrees/[id]/start-polling/route.js",
|
|
30
31
|
"/api/worktrees/[id]/tree/[...path]/route": "app/api/worktrees/[id]/tree/[...path]/route.js",
|
|
31
|
-
"/api/worktrees/[id]/tree/route": "app/api/worktrees/[id]/tree/route.js",
|
|
32
32
|
"/api/worktrees/[id]/viewed/route": "app/api/worktrees/[id]/viewed/route.js",
|
|
33
33
|
"/api/worktrees/[id]/upload/[...path]/route": "app/api/worktrees/[id]/upload/[...path]/route.js",
|
|
34
34
|
"/apple-icon.png/route": "app/apple-icon.png/route.js",
|
|
35
|
+
"/api/worktrees/[id]/tree/route": "app/api/worktrees/[id]/tree/route.js",
|
|
35
36
|
"/icon.png/route": "app/icon.png/route.js",
|
|
36
37
|
"/page": "app/page.js",
|
|
38
|
+
"/worktrees/[id]/page": "app/worktrees/[id]/page.js",
|
|
37
39
|
"/worktrees/[id]/files/[...path]/page": "app/worktrees/[id]/files/[...path]/page.js",
|
|
38
40
|
"/worktrees/[id]/terminal/page": "app/worktrees/[id]/terminal/page.js",
|
|
39
|
-
"/worktrees/[id]/page": "app/worktrees/[id]/page.js",
|
|
40
|
-
"/api/external-apps/route": "app/api/external-apps/route.js",
|
|
41
41
|
"/api/external-apps/[id]/health/route": "app/api/external-apps/[id]/health/route.js",
|
|
42
|
+
"/api/external-apps/route": "app/api/external-apps/route.js",
|
|
42
43
|
"/api/external-apps/[id]/route": "app/api/external-apps/[id]/route.js",
|
|
43
|
-
"/api/worktrees/[id]/logs/route": "app/api/worktrees/[id]/logs/route.js",
|
|
44
44
|
"/api/worktrees/[id]/logs/[filename]/route": "app/api/worktrees/[id]/logs/[filename]/route.js",
|
|
45
|
+
"/api/worktrees/[id]/logs/route": "app/api/worktrees/[id]/logs/route.js",
|
|
45
46
|
"/api/worktrees/route": "app/api/worktrees/route.js",
|
|
46
47
|
"/proxy/[...path]/route": "app/proxy/[...path]/route.js"
|
|
47
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=2683,exports.ids=[2683],exports.modules={32683:e=>{e.exports=JSON.parse('{"session":{"confirmKill":"End session for \\"{name}\\"?\\n\\nAll message history will be deleted. Log files will be retained.","failedToKill":"Failed to end session","confirmEnd":"End {tool} session?","endWarning":"Ending the session will clear chat history.","running":"Session running","starting":"Starting session","startingEllipsis":"Starting session..."},"status":{"waitingForResponse":"Waiting for response","responseCompleted":"Response completed","thinking":"Thinking...","thinkingStatus":"Thinking","claudeIsThinking":"Claude is thinking..."},"output":{"latest":"Latest output","realtimeUpdate":"Real-time update"},"errors":{"failedToUpdateFavorite":"Failed to update favorite","failedToUpdateStatus":"Failed to update status"}}')}};
|
|
1
|
+
"use strict";exports.id=2683,exports.ids=[2683],exports.modules={32683:e=>{e.exports=JSON.parse('{"session":{"confirmKill":"End session for \\"{name}\\"?\\n\\nAll message history will be deleted. Log files will be retained.","failedToKill":"Failed to end session","confirmEnd":"End {tool} session?","endWarning":"Ending the session will clear chat history.","running":"Session running","starting":"Starting session","startingEllipsis":"Starting session..."},"status":{"waitingForResponse":"Waiting for response","responseCompleted":"Response completed","thinking":"Thinking...","thinkingStatus":"Thinking","claudeIsThinking":"Claude is thinking..."},"output":{"latest":"Latest output","realtimeUpdate":"Real-time update"},"errors":{"failedToUpdateFavorite":"Failed to update favorite","failedToUpdateStatus":"Failed to update status"},"update":{"available":"A new version is available","latestVersion":"Latest: v{version}","updateCommand":"Update command:","viewRelease":"View Release","dataPreserved":"Your database data will be preserved during the update.","version":"Version","installTypeGlobal":"npm (global)","installTypeLocal":"Local (git pull)"}}')}};
|
|
@@ -33,4 +33,4 @@
|
|
|
33
33
|
AND status IN ('pending', 'running')
|
|
34
34
|
ORDER BY created_at DESC
|
|
35
35
|
LIMIT 1
|
|
36
|
-
`).get(t);return r?l(r):null}},57440:(e,t,r)=>{r.d(t,{j:()=>a});var o=r(55315),s=r.n(o);function a(e,t){if(!e||""===e.trim()||e.includes("\0"))return!1;let r=e;try{r=decodeURIComponent(e)}catch{r=e}if(r.includes("\0"))return!1;let o=s().resolve(t),a=s().resolve(t,r),n=s().relative(o,a);return!(n.startsWith("..")||s().isAbsolute(n))}},67722:(e,t,r)=>{r.d(t,{Lj:()=>u,a$:()=>c,e9:()=>d,h2:()=>p});var o=r(61282),s=r(21764),a=r(55315),n=r.n(a),i=r(75748),l=r(
|
|
36
|
+
`).get(t);return r?l(r):null}},57440:(e,t,r)=>{r.d(t,{j:()=>a});var o=r(55315),s=r.n(o);function a(e,t){if(!e||""===e.trim()||e.includes("\0"))return!1;let r=e;try{r=decodeURIComponent(e)}catch{r=e}if(r.includes("\0"))return!1;let o=s().resolve(t),a=s().resolve(t,r),n=s().relative(o,a);return!(n.startsWith("..")||s().isAbsolute(n))}},67722:(e,t,r)=>{r.d(t,{Lj:()=>u,a$:()=>c,e9:()=>d,h2:()=>p});var o=r(61282),s=r(21764),a=r(55315),n=r.n(a),i=r(75748),l=r(98838);function c(){let e=process.env.WORKTREE_REPOS;if(e&&e.trim())return e.split(",").map(e=>e.trim()).filter(e=>e.length>0);let t=(0,l.Hb)("CM_ROOT_DIR");return t&&t.trim()?[t.trim()]:[]}async function d(e){let t=(0,s.promisify)(o.exec);try{let{stdout:r}=await t("git worktree list",{cwd:e}),o=function(e){if(!e||""===e.trim())return[];let t=e.trim().split("\n"),r=[];for(let e of t){let t=e.trim();if(!t)continue;let o=t.match(/^(.+?)\s+([a-z0-9]+)\s+(?:\[(.+?)\]|\(detached HEAD\))/);if(o){let[,e,t,s]=o;r.push({path:e.trim(),branch:s||`detached-${t}`,commit:t})}}return r}(r),s=n().resolve(e),a=n().basename(s);return o.map(e=>({id:function(e,t){if(!e)return"";let r=e=>e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),o=r(e);if(t){let e=r(t);return`${e}-${o}`}return o}(e.branch,a),name:e.branch,path:n().resolve(e.path),repositoryPath:s,repositoryName:a})).filter(e=>["/etc","/root","/sys","/proc","/dev","/boot","/bin","/sbin","/usr/bin","/usr/sbin"].some(t=>e.path.startsWith(t))?(console.warn(`Skipping potentially unsafe worktree path: ${e.path}`),!1):!(e.path.includes("\0")||e.path.includes(".."))||(console.warn(`Skipping path with potentially malicious characters: ${e.path}`),!1))}catch(r){let e=r instanceof Error?r.message:String(r),t=r.code;if(e?.includes("not a git repository")||128===t)return[];throw r}}async function u(e){let t=[];for(let r of e)try{console.log(`Scanning repository: ${r}`);let e=await d(r);t.push(...e),console.log(` Found ${e.length} worktree(s)`)}catch(e){console.error(`Error scanning repository ${r}:`,e)}return t}function p(e,t){if(0===t.length)return;let r=new Map;for(let e of t){let t=e.repositoryPath||"";r.has(t)||r.set(t,[]),r.get(t).push(e)}for(let[t,o]of r){if(!t)continue;let r=(0,i.Pv)(e,t),s=new Set(o.map(e=>e.id)),a=r.filter(e=>!s.has(e));if(a.length>0){let r=(0,i.pM)(e,a);console.log(`Removed ${r.deletedCount} deleted worktree(s) from ${t}`)}for(let t of o)(0,i.ly)(e,t)}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5823,exports.ids=[5823],exports.modules={95823:
|
|
1
|
+
"use strict";exports.id=5823,exports.ids=[5823],exports.modules={95823:e=>{e.exports=JSON.parse('{"session":{"confirmKill":"「{name}」のセッションを終了しますか?\\n\\n※全てのメッセージ履歴が削除されます。ログファイルは保持されます。","failedToKill":"セッションの終了に失敗しました","confirmEnd":"{tool} セッションを終了しますか?","endWarning":"セッションを終了すると、チャット履歴がクリアされます。","running":"セッション実行中","starting":"セッション起動中","startingEllipsis":"セッション起動中..."},"status":{"waitingForResponse":"レスポンス待ち","responseCompleted":"レスポンス完了","thinking":"考え中...","thinkingStatus":"思考中","claudeIsThinking":"Claude が考え中です..."},"output":{"latest":"最新の出力","realtimeUpdate":"リアルタイム更新"},"errors":{"failedToUpdateFavorite":"お気に入りの更新に失敗しました","failedToUpdateStatus":"ステータスの更新に失敗しました"},"update":{"available":"新しいバージョンが利用可能です","latestVersion":"最新: v{version}","updateCommand":"更新コマンド:","viewRelease":"リリースを表示","dataPreserved":"アップデートによりデータベースのデータは保持されます。","version":"バージョン","installTypeGlobal":"npm(グローバル)","installTypeLocal":"ローカル(git pull)"}}')}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=7425,exports.ids=[7425],exports.modules={43753:(e,t,s)=>{s.d(t,{F:()=>a});let r=["/etc","/usr","/bin","/sbin","/var","/tmp","/dev","/sys","/proc"];function a(e){return r.some(t=>e.startsWith(t))}},97425:(e,t,s)=>{s.d(t,{n:()=>p});var r=s(85890),a=s.n(r),o=s(55315),i=s.n(o),_=s(75748);let n=[{version:1,name:"initial-schema",up:e=>{(0,_.qZ)(e)},down:e=>{e.exec("DROP TABLE IF EXISTS session_states;"),e.exec("DROP TABLE IF EXISTS chat_messages;"),e.exec("DROP TABLE IF EXISTS worktrees;")}},{version:2,name:"add-multi-repo-and-memo-support",up:e=>{e.exec(`
|
|
1
|
+
"use strict";exports.id=7425,exports.ids=[7425],exports.modules={16672:(e,t,s)=>{s.d(t,{ZP:()=>a}),s(92048);var r=s(55315);function a(){let e=(0,r.dirname)(__dirname);return e.includes("/lib/node_modules/")||e.includes("\\node_modules\\")||e.includes("/node_modules/commandmate")}s(19801)},43753:(e,t,s)=>{s.d(t,{F:()=>a});let r=["/etc","/usr","/bin","/sbin","/var","/tmp","/dev","/sys","/proc"];function a(e){return r.some(t=>e.startsWith(t))}},97425:(e,t,s)=>{s.d(t,{n:()=>p});var r=s(85890),a=s.n(r),o=s(55315),i=s.n(o),_=s(75748);let n=[{version:1,name:"initial-schema",up:e=>{(0,_.qZ)(e)},down:e=>{e.exec("DROP TABLE IF EXISTS session_states;"),e.exec("DROP TABLE IF EXISTS chat_messages;"),e.exec("DROP TABLE IF EXISTS worktrees;")}},{version:2,name:"add-multi-repo-and-memo-support",up:e=>{e.exec(`
|
|
2
2
|
ALTER TABLE worktrees ADD COLUMN repository_path TEXT;
|
|
3
3
|
ALTER TABLE worktrees ADD COLUMN repository_name TEXT;
|
|
4
4
|
ALTER TABLE worktrees ADD COLUMN memo TEXT;
|
|
@@ -372,7 +372,7 @@
|
|
|
372
372
|
-- 6. Recreate original indexes
|
|
373
373
|
CREATE INDEX idx_external_apps_path_prefix ON external_apps(path_prefix);
|
|
374
374
|
CREATE INDEX idx_external_apps_enabled ON external_apps(enabled);
|
|
375
|
-
`),console.log("✓ Removed issue_no column from external_apps table")}}];function E(e){let t=s(92048),r=e;for(;r!==i().dirname(r);){let e=i().join(r,".git");if(t.existsSync(e)){let s=t.statSync(e);if(s.isDirectory())return r;if(s.isFile()){let s=t.readFileSync(e,"utf-8").trim().match(/^gitdir:\s*(.+)$/);if(s)return s[1].split("/.git/")[0]}}r=i().dirname(r)}return e}function l(e){try{let t=e.prepare("SELECT MAX(version) as version FROM schema_version").get();return t?.version??0}catch{return 0}}var d=s(
|
|
375
|
+
`),console.log("✓ Removed issue_no column from external_apps table")}}];function E(e){let t=s(92048),r=e;for(;r!==i().dirname(r);){let e=i().join(r,".git");if(t.existsSync(e)){let s=t.statSync(e);if(s.isDirectory())return r;if(s.isFile()){let s=t.readFileSync(e,"utf-8").trim().match(/^gitdir:\s*(.+)$/);if(s)return s[1].split("/.git/")[0]}}r=i().dirname(r)}return e}function l(e){try{let t=e.prepare("SELECT MAX(version) as version FROM schema_version").get();return t?.version??0}catch{return 0}}var d=s(98838);let T=null;function p(){if(!T){let e=(0,d.dU)().CM_DB_PATH,t=s(92048),r=i().dirname(e);t.existsSync(r)||t.mkdirSync(r,{recursive:!0,mode:448}),function(e){!function(e){e.exec(`
|
|
376
376
|
CREATE TABLE IF NOT EXISTS schema_version (
|
|
377
377
|
version INTEGER PRIMARY KEY,
|
|
378
378
|
name TEXT NOT NULL,
|
|
@@ -616,4 +616,4 @@
|
|
|
616
616
|
DELETE FROM worktrees WHERE repository_path = ?
|
|
617
617
|
`).run(t).changes}}function B(e,t){if(0===t.length)return{deletedCount:0};let s=t.map(()=>"?").join(",");return{deletedCount:e.prepare(`
|
|
618
618
|
DELETE FROM worktrees WHERE id IN (${s})
|
|
619
|
-
`).run(...t).changes}}},
|
|
619
|
+
`).run(...t).changes}}},98838:(e,t,s)=>{s.d(t,{dU:()=>m,Hb:()=>T,LI:()=>c});var r=s(55315),a=s.n(r),o=s(19801),i=s(16672),_=s(43753);function n(){return(0,i.ZP)()?a().join((0,o.homedir)(),".commandmate","data","cm.db"):a().resolve(process.cwd(),"data","cm.db")}function E(e){let t=a().resolve(e);if((0,i.ZP)()){let e=(0,o.homedir)();if(!t.startsWith(e))throw Error(`Security error: DB path must be within home directory: ${t}`)}else if((0,_.F)(t))throw Error(`Security error: DB path cannot be in system directory: ${t}`);return t}let l={CM_ROOT_DIR:"MCBD_ROOT_DIR",CM_PORT:"MCBD_PORT",CM_BIND:"MCBD_BIND",CM_LOG_LEVEL:"MCBD_LOG_LEVEL",CM_LOG_FORMAT:"MCBD_LOG_FORMAT",CM_LOG_DIR:"MCBD_LOG_DIR",CM_DB_PATH:"MCBD_DB_PATH"},d=new Set;function T(e){return function(e,t){let s=process.env[e];if(void 0!==s)return s;let r=process.env[t];if(void 0!==r)return d.has(t)||(console.warn(`[DEPRECATED] ${t} is deprecated, use ${e} instead`),d.add(t)),r}(e,l[e])}let p=!1;function c(){let e=T("CM_LOG_LEVEL")?.toLowerCase(),t=T("CM_LOG_FORMAT")?.toLowerCase();return{level:void 0!==e&&["debug","info","warn","error"].includes(e)?e:"info",format:"json"===t?"json":"text"}}function m(){let e;let t=T("CM_ROOT_DIR")||process.cwd(),s=parseInt(T("CM_PORT")||"3000",10),r=T("CM_BIND")||"127.0.0.1",o=T("CM_DB_PATH")||function(){let e=process.env.DATABASE_PATH;return e&&!p&&(console.warn("[DEPRECATED] DATABASE_PATH is deprecated. Use CM_DB_PATH instead."),p=!0),e}()||n();if(!t)throw Error("CM_ROOT_DIR (or MCBD_ROOT_DIR) is required");if(isNaN(s)||s<1||s>65535)throw Error(`Invalid CM_PORT: ${T("CM_PORT")}. Must be between 1 and 65535.`);if("127.0.0.1"!==r&&"0.0.0.0"!==r&&"localhost"!==r)throw Error(`Invalid CM_BIND: ${r}. Must be '127.0.0.1', '0.0.0.0', or 'localhost'.`);try{e=E(o)}catch{console.warn(`[Security] Invalid DB path "${o}", using default.`),e=E(n())}return{CM_ROOT_DIR:a().resolve(t),CM_PORT:s,CM_BIND:r,CM_DB_PATH:e}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7536,exports.ids=[7536],exports.modules={89194:(e,t,s)=>{s.d(t,{Lg:()=>r,NA:()=>a});var n=s(10927),i=s(43839);let o=(0,s(43895).h)("cli-session");async function r(e,t){let s=i.g.getInstance().getTool(t).getSessionName(e);return await (0,n.Hk)(s)}async function a(e,t,s=1e3){let r=o.withContext({worktreeId:e,cliToolId:t});r.debug("captureSessionOutput:start",{requestedLines:s});let a=i.g.getInstance().getTool(t),l=a.getSessionName(e);if(!await (0,n.Hk)(l))throw r.debug("captureSessionOutput:sessionNotFound",{sessionName:l}),Error(`${a.name} session ${l} does not exist`);try{let e=await (0,n.xq)(l,{startLine:-s}),t=e.split("\n").length;return r.debug("captureSessionOutput:success",{actualLines:t,lastFewLines:e.split("\n").slice(-3).join(" | ")}),e}catch(t){let e=t instanceof Error?t.message:String(t);throw r.error("captureSessionOutput:failed",{error:e}),Error(`Failed to capture ${a.name} output: ${e}`)}}},43839:(e,t,s)=>{s.d(t,{g:()=>y});var n=s(61282),i=s(21764);let o=/^[a-zA-Z0-9_-]+$/;var r=s(10927);let a=(0,i.promisify)(n.exec);class l{async isInstalled(){try{return await a(`which ${this.command}`,{timeout:5e3}),!0}catch{return!1}}getSessionName(e){let t=`mcbd-${this.id}-${e}`;return function(e){if(!o.test(e))throw Error(`Invalid session name format: ${e}`)}(t),t}async interrupt(e){let t=this.getSessionName(e);await (0,r.ZV)(t,"Escape")}}var u=s(62648);class c extends l{async isInstalled(){return await (0,u.Uv)()}async isRunning(e){return await (0,u.YI)(e)}async startSession(e,t){await (0,u.ym)({worktreeId:e,worktreePath:t})}async sendMessage(e,t){await (0,u.xd)(e,t)}async killSession(e){await (0,u._f)(e)}constructor(...e){super(...e),this.id="claude",this.name="Claude Code",this.command="claude"}}var m=s(92900);let p=(0,i.promisify)(n.exec);function d(e){return e instanceof Error?e.message:String(e)}class f extends l{async isRunning(e){let t=this.getSessionName(e);return await (0,r.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Codex CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,r.Hk)(s)){console.log(`Codex session ${s} already exists`);return}try{await (0,r.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),await new Promise(e=>setTimeout(e,100)),await (0,r.Is)(s,"codex",!0),await new Promise(e=>setTimeout(e,3e3)),await (0,r.Is)(s,"2",!0),await new Promise(e=>setTimeout(e,200)),await p(`tmux send-keys -t "${s}" Down`),await new Promise(e=>setTimeout(e,200)),await p(`tmux send-keys -t "${s}" Enter`),await new Promise(e=>setTimeout(e,200)),console.log(`✓ Started Codex session: ${s}`)}catch(t){let e=d(t);throw Error(`Failed to start Codex session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,r.Hk)(s))throw Error(`Codex session ${s} does not exist. Start the session first.`);try{await (0,r.Is)(s,t,!1),await new Promise(e=>setTimeout(e,100)),await p(`tmux send-keys -t "${s}" C-m`),await new Promise(e=>setTimeout(e,200)),t.includes("\n")&&await (0,m.N)(s),console.log(`✓ Sent message to Codex session: ${s}`)}catch(t){let e=d(t);throw Error(`Failed to send message to Codex: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,r.Hk)(t)&&(await p(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,r.AJ)(t)&&console.log(`✓ Stopped Codex session: ${t}`)}catch(t){let e=d(t);throw console.error(`Error stopping Codex session: ${e}`),t}}constructor(...e){super(...e),this.id="codex",this.name="Codex CLI",this.command="codex"}}let h=(0,i.promisify)(n.exec);class g extends l{async isRunning(e){let t=this.getSessionName(e);return await (0,r.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Gemini CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,r.Hk)(s)){console.log(`Gemini session ${s} already exists`);return}try{await (0,r.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),console.log(`✓ Started Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to start Gemini session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,r.Hk)(s))throw Error(`Gemini session ${s} does not exist. Start the session first.`);try{let e=t.replace(/'/g,"'\\''");await (0,r.Is)(s,`echo '${e}' | gemini`,!0),console.log(`✓ Sent message to Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send message to Gemini: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,r.Hk)(t)&&(await h(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,r.AJ)(t)&&console.log(`✓ Stopped Gemini session: ${t}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw console.error(`Error stopping Gemini session: ${e}`),t}}constructor(...e){super(...e),this.id="gemini",this.name="Gemini CLI",this.command="gemini"}}var w=s(59991);class y{constructor(){this.tools=new Map,this.tools.set("claude",new c),this.tools.set("codex",new f),this.tools.set("gemini",new g)}static getInstance(){return y.instance||(y.instance=new y),y.instance}getTool(e){let t=this.tools.get(e);if(!t)throw Error(`CLI tool '${e}' not found`);return t}getAllTools(){return Array.from(this.tools.values())}async getToolInfo(e){let t=this.getTool(e),s=await t.isInstalled();return{id:t.id,name:t.name,command:t.command,installed:s}}async getAllToolsInfo(){return Promise.all(this.getAllTools().map(async e=>{let t=await e.isInstalled();return{id:e.id,name:e.name,command:e.command,installed:t}}))}async getInstalledTools(){return(await this.getAllToolsInfo()).filter(e=>e.installed)}stopPollers(e,t){(0,w.FN)(e,t)}}},63661:(e,t,s)=>{s.d(t,{F:()=>r,J:()=>d});let n=(0,s(43895).h)("prompt-detector"),i=[{regex:/^(.+)\s+\(y\/n\)\s*$/m},{regex:/^(.+)\s+\[y\/N\]\s*$/m,defaultOption:"no"},{regex:/^(.+)\s+\[Y\/n\]\s*$/m,defaultOption:"yes"},{regex:/^(.+)\s+\(yes\/no\)\s*$/m}];function o(e,t,s,n){return{isPrompt:!0,promptData:{type:"yes_no",question:e,options:["yes","no"],status:"pending",...void 0!==n&&{defaultOption:n},instructionText:s},cleanContent:t,rawContent:s}}function r(e,t){n.debug("detectPrompt:start",{outputLength:e.length});let s=e.split("\n").slice(-20).join("\n"),r=function(e,t){let s;let n=t?.requireDefaultIndicator??!0,i=e.split("\n"),o=i.length;for(;o>0&&""===i[o-1].trim();)o--;let r=Math.max(0,o-50);if(n){let t=!1;for(let e=r;e<o;e++){let s=i[e].trim();if(l.test(s)){t=!0;break}}if(!t)return m(e)}let d=[],f=-1;for(let e=o-1;e>=r;e--){let t=i[e].trim(),s=t.match(l);if(s){let e=parseInt(s[1],10),t=s[2].trim();d.unshift({number:e,label:t,isDefault:!0});continue}let n=t.match(u);if(n){let e=parseInt(n[1],10),t=n[2].trim();d.unshift({number:e,label:t,isDefault:!1});continue}if(d.length>0&&t&&!c.test(t)){if(function(e,t){let s=t.endsWith("?")||t.endsWith("?"),n=/^\s{2,}[^\d]/.test(e)&&!/^\s*\d+\./.test(e)&&!s,i=t.length<5&&!s,o=/^[\/~]/.test(t)||t.length>=2&&/^[a-zA-Z0-9_-]+$/.test(t);return!!n||i||o}(i[e],t))continue;f=e;break}}if(!function(e){if(0===e.length||1!==e[0])return!1;for(let t=1;t<e.length;t++)if(e[t]!==e[t-1]+1)return!1;return!0}(d.map(e=>e.number)))return m(e);let h=d.some(e=>e.isDefault);if(d.length<2||n&&!h)return m(e);if(!n){var g;if(-1===f||!(0!==(g=i[f]?.trim()??"").length&&(g.endsWith("?")||g.endsWith("?")||g.endsWith(":")&&p.test(g))))return m(e)}let w="";if(f>=0){let e=[];for(let t=Math.max(0,f-5);t<=f;t++){let s=i[t].trim();s&&!c.test(s)&&e.push(s)}w=e.join(" ")}else w="Please select an option:";if(f>=0){let e=Math.max(0,f-19),t=i.slice(e,o).map(e=>e.trimEnd()).join("\n").trim();t.length>0&&(s=t)}return{isPrompt:!0,promptData:{type:"multiple_choice",question:w.trim(),options:d.map(e=>{let t=a.some(t=>t.test(e.label));return{number:e.number,label:e.label,isDefault:e.isDefault,requiresTextInput:t}}),status:"pending",instructionText:s},cleanContent:w.trim(),rawContent:function(e){let t=e.split("\n"),s=(t.length>200?t.slice(-200):t).join("\n");return s.length>5e3&&(s=s.slice(-5e3)),s}(e.trim())}}(e,t);if(r.isPrompt)return n.info("detectPrompt:multipleChoice",{isPrompt:!0,question:r.promptData?.question,optionsCount:r.promptData?.options?.length}),r;let d=s.trim();for(let e of i){let t=s.match(e.regex);if(t){let s=t[1].trim();return o(s,s,d,e.defaultOption)}}let f=s.match(/^(.*?)Approve\?\s*$/m);if(f){let e=f[1].trim();return o(e?`${e} Approve?`:"Approve?",e||"Approve?",d)}return n.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:e.trim()}}let a=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i],l=/^\s*\u276F\s*(\d+)\.\s*(.+)$/,u=/^\s*(\d+)\.\s*(.+)$/,c=/^[-─]+$/;function m(e){return{isPrompt:!1,cleanContent:e.trim()}}let p=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i;function d(e,t="yes_no"){let s=e.toLowerCase().trim();if("multiple_choice"===t){if(/^\d+$/.test(s))return s;throw Error("Invalid answer for multiple choice prompt. Expected a number.")}if("yes"===s||"y"===s)return"y";if("no"===s||"n"===s)return"n";throw Error("Invalid answer for yes/no prompt. Expected 'yes', 'no', 'y', or 'n'.")}},59991:(e,t,s)=>{s.d(t,{FN:()=>x,RJ:()=>w,ci:()=>g,cn:()=>$});var n=s(89194),i=s(97425),o=s(75748),r=s(25079),a=s(63661),l=s(76966),u=s(89287),c=s(19377);let m=["Waiting for auth","⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function p(e){return{response:"",isComplete:!1,lineCount:e}}let d=new Map,f=new Map;function h(e,t){let s=(0,c.Sg)(t);return(0,a.F)((0,c.vp)(e),s)}function g(e){let t=(0,c.vp)(e).split("\n"),s=-1;for(let e=t.length-1;e>=0;e--)if(/^❯\s+\S/.test(t[e])){s=e;break}let n=s>=0?s+1:0,i=t.slice(n),o=[/CLAUDE_HOOKS_/,/\/bin\/claude/,/^claude\s*$/,/@.*\s+%\s*$/,/^[^⏺]*curl.*POST/,/^[^⏺]*Content-Type/,/^[^⏺]*export\s+CLAUDE_/,/^\s*$/,/^[╭╮╰╯│─\s]+$/,/^[│╭╮╰╯].*[│╭╮╰╯]$/,/Claude Code v[\d.]+/,/^Tips for getting started/,/^Welcome back/,/Run \/init to create/,/^Recent activity/,/^No recent activity/,/▐▛███▜▌|▝▜█████▛▘|▘▘ ▝▝/,/^\s*Opus \d+\.\d+\s*·\s*Claude Max/,/\.com's Organization/,/\?\s*for shortcuts\s*$/,/^─{10,}$/,/^❯\s*$/,c.d8],r=[];for(let e of i)!o.some(t=>t.test(e))&&e.trim()&&r.push(e);return r.join("\n").trim()}function w(e){let t=e.split("\n"),s=[],n=[/^maenokota@.*%/,/^zsh:/,/^feature-issue-\d+/,/^\s*$/],i=!1,o=[];for(let e of t){if(e.includes("✦")){i=!0;let t=e.indexOf("✦"),s=e.substring(t+1).trim();s&&o.push(s);continue}if(i){if(n.some(t=>t.test(e)))continue;o.push(e)}}if(o.length>0)return o.join("\n").trim();for(let e of t)n.some(t=>t.test(e))||s.push(e);return s.join("\n").trim()}async function y(e,t){let s=(0,i.n)();try{if(!(0,o.gU)(s,e))return console.error(`Worktree ${e} not found, stopping poller`),x(e,t),!1;if(!await (0,n.Lg)(e,t))return x(e,t),!1;let i=(0,o.zl)(s,e,t),a=i?.lastCapturedLine||0,d=await (0,n.NA)(e,t,1e4),f=function(e,t,s){let n=e.split("\n"),i=n.length;for(;i>0&&""===n[i-1].trim();)i--;let o=n.slice(0,i),r=o.length,a=r>0&&t>25&&r+25<t,l=r>0&&t>50&&r<50,u=a||l;if(!u&&r<t-5)return null;let d=Math.max(0,r-20),f=o.slice(d).join("\n"),{promptPattern:g,separatorPattern:w,thinkingPattern:y,skipPatterns:$}=(0,c.bs)(s),x=(e=60)=>{let t="codex"===s?/^›\s+(?!Implement|Find and fix|Type|Summarize)/:/^[>❯]\s+\S/;for(let s=r-1;s>=Math.max(0,r-e);s--){let e=(0,c.vp)(o[s]);if(t.test(e))return s}return -1};if("claude"===s){let e=o.join("\n");if(h(e,s).isPrompt)return{response:(0,c.vp)(e),isComplete:!0,lineCount:r}}let C=(0,c.vp)(f),S=g.test(C),I=w.test(C),v=y.test(C),k=("codex"===s||"gemini"===s)&&S&&!v,P="claude"===s&&S&&I&&!v;if(k||P){let e;let n=[];if(t>=r||u){let t=x(40);e=t>=0?t+1:0}else if("codex"===s)e=Math.max(0,t);else if(t>=r-5){let t=x(50);e=t>=0?t+1:Math.max(0,r-40)}else e=Math.max(0,t);let i=r;for(let t=e;t<r;t++){let e=o[t],r=(0,c.vp)(e);if("codex"===s&&/^›\s+/.test(r)||"gemini"===s&&/^(%|\$|.*@.*[%$#])\s*$/.test(r)){i=t;break}$.some(e=>e.test(r))||n.push(e)}let a=n.join("\n").trim(),l=a.split("\n").slice(-5).join("\n");if(y.test(l))return p(r);if("claude"===s){let e=(0,c.vp)(a),t=/[╭╮╰╯│]/.test(e)||/░{3,}/.test(e)||/▓{3,}/.test(e),s=/Claude Code|claude\/|v\d+\.\d+/.test(e),n=/Tip:|for shortcuts|\?\s*for help/.test(e),i=/^\s*\/Users\/.*$/m.test(e)&&e.split("\n").length<30,o=e.match(/^[>❯]\s+(\S.*)$/m);if(o){let t=e.indexOf(o[0]);if(0===e.substring(t+o[0].length).trim().split("\n").filter(e=>{let t=e.trim();return t&&!$.some(e=>e.test(t))&&!/^─+$/.test(t)}).length)return p(r)}else if((t||s||n||i)&&a.length<2e3)return p(r)}return"gemini"===s&&((a.match(/[░███]/g)||[]).length>.3*a.length||m.some(e=>a.includes(e))||!a.includes("✦")&&a.length<10)?p(r):{response:a,isComplete:!0,lineCount:i}}let E=o.join("\n");if(h(E,s).isPrompt)return{response:E,isComplete:!0,lineCount:r};let T=[],b=u||t>=r-5,N=b?x(80):-1,M=b?N>=0?N+1:Math.max(0,r-80):Math.max(0,t);for(let e=M;e<r;e++){let t=o[e],s=(0,c.vp)(t);$.some(e=>e.test(s))||T.push(t)}let D=T.join("\n").trim();return D?{response:D,isComplete:!1,lineCount:r}:p(r)}(d,a,t);if(!f||!f.isComplete){let{thinkingPattern:n}=(0,c.bs)(t),i=(0,c.vp)(d).split("\n").slice(-5).join("\n");if(n.test(i)){let n=(0,o.GP)(s,e,t);n>0&&console.log(`Marked ${n} pending prompt(s) as answered (thinking detected) for ${e}`)}return!1}if(f.lineCount===a&&!i?.inProgressMessageId)return!1;if(f.lineCount<=a)return console.log(`[checkForResponse] Already saved up to line ${a}, skipping (result: ${f.lineCount})`),!1;let y=h(f.response,t);if(y.isPrompt){(0,o.Mf)(s,e,t);let n=(0,o.tn)(s,{worktreeId:e,role:"assistant",content:y.rawContent||y.cleanContent,messageType:"prompt",promptData:y.promptData,timestamp:new Date,cliToolId:t});return(0,o.IH)(s,e,t,f.lineCount),(0,r.ps)("message",{worktreeId:e,message:n}),x(e,t),!0}if(!f.response||""===f.response.trim())return(0,o.IH)(s,e,t,f.lineCount),!1;let $="claude"===t?(0,u.Z)(f.response):void 0,C=f.response;if("gemini"===t?C=w(f.response):"claude"===t&&(C=g(f.response)),!C||""===C.trim()||"[No content]"===C)return(0,o.IH)(s,e,t,f.lineCount),(0,o.Mf)(s,e,t),!1;C&&await (0,l.o)(s,e,C,t);let S=(0,o.GP)(s,e,t);S>0&&console.log(`Marked ${S} pending prompt(s) as answered for ${e}`);let I=(0,o.zl)(s,e,t);if(I&&f.lineCount<=I.lastCapturedLine)return console.log(`[checkForResponse] Race condition detected, skipping save (result: ${f.lineCount}, current: ${I.lastCapturedLine})`),!1;let v=(0,o.tn)(s,{worktreeId:e,role:"assistant",content:C,messageType:"normal",timestamp:new Date,cliToolId:t,summary:$?.summary,logFileName:$?.logFileName,requestId:$?.requestId});return(0,r.ps)("message",{worktreeId:e,message:v}),(0,o.IH)(s,e,t,f.lineCount),!0}catch(t){return console.error(`Error checking for response (${e}):`,t instanceof Error?t.message:String(t)),!1}}function $(e,t){let s=`${e}:${t}`;x(e,t),f.set(s,Date.now());let n=setInterval(async()=>{let n=f.get(s);if(n&&Date.now()-n>3e5){x(e,t);return}try{await y(e,t)}catch(e){console.error("[Poller] Error:",e)}},2e3);d.set(s,n)}function x(e,t){let s=`${e}:${t}`,n=d.get(s);n&&(clearInterval(n),d.delete(s),f.delete(s))}}};
|
|
1
|
+
"use strict";exports.id=7536,exports.ids=[7536],exports.modules={89194:(e,t,s)=>{s.d(t,{Lg:()=>o,NA:()=>a});var n=s(10927),i=s(43839);let r=(0,s(43895).h)("cli-session");async function o(e,t){let s=i.g.getInstance().getTool(t).getSessionName(e);return await (0,n.Hk)(s)}async function a(e,t,s=1e3){let o=r.withContext({worktreeId:e,cliToolId:t});o.debug("captureSessionOutput:start",{requestedLines:s});let a=i.g.getInstance().getTool(t),l=a.getSessionName(e);if(!await (0,n.Hk)(l))throw o.debug("captureSessionOutput:sessionNotFound",{sessionName:l}),Error(`${a.name} session ${l} does not exist`);try{let e=await (0,n.xq)(l,{startLine:-s}),t=e.split("\n").length;return o.debug("captureSessionOutput:success",{actualLines:t,lastFewLines:e.split("\n").slice(-3).join(" | ")}),e}catch(t){let e=t instanceof Error?t.message:String(t);throw o.error("captureSessionOutput:failed",{error:e}),Error(`Failed to capture ${a.name} output: ${e}`)}}},43839:(e,t,s)=>{s.d(t,{g:()=>y});var n=s(61282),i=s(21764);let r=/^[a-zA-Z0-9_-]+$/;var o=s(10927);let a=(0,i.promisify)(n.exec);class l{async isInstalled(){try{return await a(`which ${this.command}`,{timeout:5e3}),!0}catch{return!1}}getSessionName(e){let t=`mcbd-${this.id}-${e}`;return function(e){if(!r.test(e))throw Error(`Invalid session name format: ${e}`)}(t),t}async interrupt(e){let t=this.getSessionName(e);await (0,o.ZV)(t,"Escape")}}var u=s(62648);class c extends l{async isInstalled(){return await (0,u.Uv)()}async isRunning(e){return await (0,u.YI)(e)}async startSession(e,t){await (0,u.ym)({worktreeId:e,worktreePath:t})}async sendMessage(e,t){await (0,u.xd)(e,t)}async killSession(e){await (0,u._f)(e)}constructor(...e){super(...e),this.id="claude",this.name="Claude Code",this.command="claude"}}var m=s(92900);let p=(0,i.promisify)(n.exec);function d(e){return e instanceof Error?e.message:String(e)}class f extends l{async isRunning(e){let t=this.getSessionName(e);return await (0,o.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Codex CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,o.Hk)(s)){console.log(`Codex session ${s} already exists`);return}try{await (0,o.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),await new Promise(e=>setTimeout(e,100)),await (0,o.Is)(s,"codex",!0),await new Promise(e=>setTimeout(e,3e3)),await (0,o.Is)(s,"2",!0),await new Promise(e=>setTimeout(e,200)),await p(`tmux send-keys -t "${s}" Down`),await new Promise(e=>setTimeout(e,200)),await p(`tmux send-keys -t "${s}" Enter`),await new Promise(e=>setTimeout(e,200)),console.log(`✓ Started Codex session: ${s}`)}catch(t){let e=d(t);throw Error(`Failed to start Codex session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,o.Hk)(s))throw Error(`Codex session ${s} does not exist. Start the session first.`);try{await (0,o.Is)(s,t,!1),await new Promise(e=>setTimeout(e,100)),await p(`tmux send-keys -t "${s}" C-m`),await new Promise(e=>setTimeout(e,200)),t.includes("\n")&&await (0,m.N)(s),console.log(`✓ Sent message to Codex session: ${s}`)}catch(t){let e=d(t);throw Error(`Failed to send message to Codex: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,o.Hk)(t)&&(await p(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,o.AJ)(t)&&console.log(`✓ Stopped Codex session: ${t}`)}catch(t){let e=d(t);throw console.error(`Error stopping Codex session: ${e}`),t}}constructor(...e){super(...e),this.id="codex",this.name="Codex CLI",this.command="codex"}}let g=(0,i.promisify)(n.exec);class h extends l{async isRunning(e){let t=this.getSessionName(e);return await (0,o.Hk)(t)}async startSession(e,t){if(!await this.isInstalled())throw Error("Gemini CLI is not installed or not in PATH");let s=this.getSessionName(e);if(await (0,o.Hk)(s)){console.log(`Gemini session ${s} already exists`);return}try{await (0,o.ed)({sessionName:s,workingDirectory:t,historyLimit:5e4}),console.log(`✓ Started Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to start Gemini session: ${e}`)}}async sendMessage(e,t){let s=this.getSessionName(e);if(!await (0,o.Hk)(s))throw Error(`Gemini session ${s} does not exist. Start the session first.`);try{let e=t.replace(/'/g,"'\\''");await (0,o.Is)(s,`echo '${e}' | gemini`,!0),console.log(`✓ Sent message to Gemini session: ${s}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send message to Gemini: ${e}`)}}async killSession(e){let t=this.getSessionName(e);try{await (0,o.Hk)(t)&&(await g(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500))),await (0,o.AJ)(t)&&console.log(`✓ Stopped Gemini session: ${t}`)}catch(t){let e=t instanceof Error?t.message:String(t);throw console.error(`Error stopping Gemini session: ${e}`),t}}constructor(...e){super(...e),this.id="gemini",this.name="Gemini CLI",this.command="gemini"}}var w=s(59991);class y{constructor(){this.tools=new Map,this.tools.set("claude",new c),this.tools.set("codex",new f),this.tools.set("gemini",new h)}static getInstance(){return y.instance||(y.instance=new y),y.instance}getTool(e){let t=this.tools.get(e);if(!t)throw Error(`CLI tool '${e}' not found`);return t}getAllTools(){return Array.from(this.tools.values())}async getToolInfo(e){let t=this.getTool(e),s=await t.isInstalled();return{id:t.id,name:t.name,command:t.command,installed:s}}async getAllToolsInfo(){return Promise.all(this.getAllTools().map(async e=>{let t=await e.isInstalled();return{id:e.id,name:e.name,command:e.command,installed:t}}))}async getInstalledTools(){return(await this.getAllToolsInfo()).filter(e=>e.installed)}stopPollers(e,t){(0,w.FN)(e,t)}}},63661:(e,t,s)=>{s.d(t,{F:()=>o,J:()=>f});let n=(0,s(43895).h)("prompt-detector"),i=[{regex:/^(.+)\s+\(y\/n\)\s*$/m},{regex:/^(.+)\s+\[y\/N\]\s*$/m,defaultOption:"no"},{regex:/^(.+)\s+\[Y\/n\]\s*$/m,defaultOption:"yes"},{regex:/^(.+)\s+\(yes\/no\)\s*$/m}];function r(e,t,s,n){return{isPrompt:!0,promptData:{type:"yes_no",question:e,options:["yes","no"],status:"pending",...void 0!==n&&{defaultOption:n},instructionText:s},cleanContent:t,rawContent:s}}function o(e,t){n.debug("detectPrompt:start",{outputLength:e.length});let s=e.split("\n").slice(-20).join("\n"),o=function(e,t){let s=t?.requireDefaultIndicator??!0,n=e.split("\n"),i=n.length;for(;i>0&&""===n[i-1].trim();)i--;let r=Math.max(0,i-50);if(s){let t=!1;for(let e=r;e<i;e++){let s=n[e].trim();if(l.test(s)){t=!0;break}}if(!t)return m(e)}let o=[],p=-1;for(let e=i-1;e>=r;e--){let t=n[e].trim(),s=t.match(l);if(s){let e=parseInt(s[1],10),t=s[2].trim();o.unshift({number:e,label:t,isDefault:!0});continue}let i=t.match(u);if(i){let e=parseInt(i[1],10),t=i[2].trim();o.unshift({number:e,label:t,isDefault:!1});continue}if(o.length>0&&t&&!c.test(t)){if(d(t)){p=e;break}if(function(e,t){let s=t.endsWith("?")||t.endsWith("?");return!!(!s&&/^\s{2,}[^\d]/.test(e)&&!/^\s*\d+\./.test(e)||t.length<5&&!s||/^[\/~]/.test(t)||t.length>=2&&/^[a-zA-Z0-9_-]+$/.test(t))}(n[e],t))continue;p=e;break}}if(!function(e){if(0===e.length||1!==e[0])return!1;for(let t=1;t<e.length;t++)if(e[t]!==e[t-1]+1)return!1;return!0}(o.map(e=>e.number)))return m(e);let f=o.some(e=>e.isDefault);if(o.length<2||s&&!f||!s&&(-1===p||!d(n[p]?.trim()??"")&&!function(e,t,s,n){let i=Math.max(n,t-3);for(let s=t-1;s>=i;s--){let t=e[s]?.trim()??"";if(!(!t||c.test(t))&&d(t))return!0}return!1}(n,p,0,r)))return m(e);let g=function(e,t){if(t<0)return"Please select an option:";let s=[];for(let n=Math.max(0,t-5);n<=t;n++){let t=e[n].trim();t&&!c.test(t)&&s.push(t)}return s.join(" ")}(n,p),h=function(e,t,s){if(t<0)return;let n=e.slice(Math.max(0,t-19),s).map(e=>e.trimEnd()).join("\n").trim();return n.length>0?n:void 0}(n,p,i);return{isPrompt:!0,promptData:{type:"multiple_choice",question:g.trim(),options:o.map(e=>{let t=a.some(t=>t.test(e.label));return{number:e.number,label:e.label,isDefault:e.isDefault,requiresTextInput:t}}),status:"pending",instructionText:h},cleanContent:g.trim(),rawContent:function(e){let t=e.split("\n"),s=(t.length>200?t.slice(-200):t).join("\n");return s.length>5e3&&(s=s.slice(-5e3)),s}(e.trim())}}(e,t);if(o.isPrompt)return n.info("detectPrompt:multipleChoice",{isPrompt:!0,question:o.promptData?.question,optionsCount:o.promptData?.options?.length}),o;let p=s.trim();for(let e of i){let t=s.match(e.regex);if(t){let s=t[1].trim();return r(s,s,p,e.defaultOption)}}let f=s.match(/^(.*?)Approve\?\s*$/m);if(f){let e=f[1].trim();return r(e?`${e} Approve?`:"Approve?",e||"Approve?",p)}return n.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:e.trim()}}let a=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i],l=/^\s*\u276F\s*(\d+)\.\s*(.+)$/,u=/^\s*(\d+)\.\s*(.+)$/,c=/^[-─]+$/;function m(e){return{isPrompt:!1,cleanContent:e.trim()}}let p=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i;function d(e){return 0!==e.length&&!!(e.includes("?")||e.includes("?")||p.test(e))}function f(e,t="yes_no"){let s=e.toLowerCase().trim();if("multiple_choice"===t){if(/^\d+$/.test(s))return s;throw Error("Invalid answer for multiple choice prompt. Expected a number.")}if("yes"===s||"y"===s)return"y";if("no"===s||"n"===s)return"n";throw Error("Invalid answer for yes/no prompt. Expected 'yes', 'no', 'y', or 'n'.")}},59991:(e,t,s)=>{s.d(t,{FN:()=>x,RJ:()=>w,ci:()=>h,cn:()=>$});var n=s(89194),i=s(97425),r=s(75748),o=s(25079),a=s(63661),l=s(76966),u=s(89287),c=s(19377);let m=["Waiting for auth","⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function p(e){return{response:"",isComplete:!1,lineCount:e}}let d=new Map,f=new Map;function g(e,t){let s=(0,c.Sg)(t);return(0,a.F)((0,c.vp)(e),s)}function h(e){let t=(0,c.vp)(e).split("\n"),s=-1;for(let e=t.length-1;e>=0;e--)if(/^❯\s+\S/.test(t[e])){s=e;break}let n=s>=0?s+1:0,i=t.slice(n),r=[/CLAUDE_HOOKS_/,/\/bin\/claude/,/^claude\s*$/,/@.*\s+%\s*$/,/^[^⏺]*curl.*POST/,/^[^⏺]*Content-Type/,/^[^⏺]*export\s+CLAUDE_/,/^\s*$/,/^[╭╮╰╯│─\s]+$/,/^[│╭╮╰╯].*[│╭╮╰╯]$/,/Claude Code v[\d.]+/,/^Tips for getting started/,/^Welcome back/,/Run \/init to create/,/^Recent activity/,/^No recent activity/,/▐▛███▜▌|▝▜█████▛▘|▘▘ ▝▝/,/^\s*Opus \d+\.\d+\s*·\s*Claude Max/,/\.com's Organization/,/\?\s*for shortcuts\s*$/,/^─{10,}$/,/^❯\s*$/,c.d8],o=[];for(let e of i)!r.some(t=>t.test(e))&&e.trim()&&o.push(e);return o.join("\n").trim()}function w(e){let t=e.split("\n"),s=[],n=[/^maenokota@.*%/,/^zsh:/,/^feature-issue-\d+/,/^\s*$/],i=!1,r=[];for(let e of t){if(e.includes("✦")){i=!0;let t=e.indexOf("✦"),s=e.substring(t+1).trim();s&&r.push(s);continue}if(i){if(n.some(t=>t.test(e)))continue;r.push(e)}}if(r.length>0)return r.join("\n").trim();for(let e of t)n.some(t=>t.test(e))||s.push(e);return s.join("\n").trim()}async function y(e,t){let s=(0,i.n)();try{if(!(0,r.gU)(s,e))return console.error(`Worktree ${e} not found, stopping poller`),x(e,t),!1;if(!await (0,n.Lg)(e,t))return x(e,t),!1;let i=(0,r.zl)(s,e,t),a=i?.lastCapturedLine||0,d=await (0,n.NA)(e,t,1e4),f=function(e,t,s){let n=e.split("\n"),i=n.length;for(;i>0&&""===n[i-1].trim();)i--;let r=n.slice(0,i),o=r.length,a=o>0&&t>25&&o+25<t,l=o>0&&t>50&&o<50,u=a||l;if(!u&&o<t-5)return null;let d=Math.max(0,o-20),f=r.slice(d).join("\n"),{promptPattern:h,separatorPattern:w,thinkingPattern:y,skipPatterns:$}=(0,c.bs)(s),x=(e=60)=>{let t="codex"===s?/^›\s+(?!Implement|Find and fix|Type|Summarize)/:/^[>❯]\s+\S/;for(let s=o-1;s>=Math.max(0,o-e);s--){let e=(0,c.vp)(r[s]);if(t.test(e))return s}return -1};if("claude"===s){let e=r.join("\n");if(g(e,s).isPrompt)return{response:(0,c.vp)(e),isComplete:!0,lineCount:o}}let C=(0,c.vp)(f),S=h.test(C),I=w.test(C),k=y.test(C),v=("codex"===s||"gemini"===s)&&S&&!k,P="claude"===s&&S&&I&&!k;if(v||P){let e;let n=[];if(t>=o||u){let t=x(40);e=t>=0?t+1:0}else if("codex"===s)e=Math.max(0,t);else if(t>=o-5){let t=x(50);e=t>=0?t+1:Math.max(0,o-40)}else e=Math.max(0,t);let i=o;for(let t=e;t<o;t++){let e=r[t],o=(0,c.vp)(e);if("codex"===s&&/^›\s+/.test(o)||"gemini"===s&&/^(%|\$|.*@.*[%$#])\s*$/.test(o)){i=t;break}$.some(e=>e.test(o))||n.push(e)}let a=n.join("\n").trim(),l=a.split("\n").slice(-5).join("\n");if(y.test(l))return p(o);if("claude"===s){let e=(0,c.vp)(a),t=/[╭╮╰╯│]/.test(e)||/░{3,}/.test(e)||/▓{3,}/.test(e),s=/Claude Code|claude\/|v\d+\.\d+/.test(e),n=/Tip:|for shortcuts|\?\s*for help/.test(e),i=/^\s*\/Users\/.*$/m.test(e)&&e.split("\n").length<30,r=e.match(/^[>❯]\s+(\S.*)$/m);if(r){let t=e.indexOf(r[0]);if(0===e.substring(t+r[0].length).trim().split("\n").filter(e=>{let t=e.trim();return t&&!$.some(e=>e.test(t))&&!/^─+$/.test(t)}).length)return p(o)}else if((t||s||n||i)&&a.length<2e3)return p(o)}return"gemini"===s&&((a.match(/[░███]/g)||[]).length>.3*a.length||m.some(e=>a.includes(e))||!a.includes("✦")&&a.length<10)?p(o):{response:a,isComplete:!0,lineCount:i}}let E=r.join("\n");if(g(E,s).isPrompt)return{response:E,isComplete:!0,lineCount:o};let T=[],b=u||t>=o-5,M=b?x(80):-1,N=b?M>=0?M+1:Math.max(0,o-80):Math.max(0,t);for(let e=N;e<o;e++){let t=r[e],s=(0,c.vp)(t);$.some(e=>e.test(s))||T.push(t)}let D=T.join("\n").trim();return D?{response:D,isComplete:!1,lineCount:o}:p(o)}(d,a,t);if(!f||!f.isComplete){let{thinkingPattern:n}=(0,c.bs)(t),i=(0,c.vp)(d).split("\n").slice(-5).join("\n");if(n.test(i)){let n=(0,r.GP)(s,e,t);n>0&&console.log(`Marked ${n} pending prompt(s) as answered (thinking detected) for ${e}`)}return!1}if(f.lineCount===a&&!i?.inProgressMessageId)return!1;if(f.lineCount<=a)return console.log(`[checkForResponse] Already saved up to line ${a}, skipping (result: ${f.lineCount})`),!1;let y=g(f.response,t);if(y.isPrompt){(0,r.Mf)(s,e,t);let n=(0,r.tn)(s,{worktreeId:e,role:"assistant",content:y.rawContent||y.cleanContent,messageType:"prompt",promptData:y.promptData,timestamp:new Date,cliToolId:t});return(0,r.IH)(s,e,t,f.lineCount),(0,o.ps)("message",{worktreeId:e,message:n}),x(e,t),!0}if(!f.response||""===f.response.trim())return(0,r.IH)(s,e,t,f.lineCount),!1;let $="claude"===t?(0,u.Z)(f.response):void 0,C=f.response;if("gemini"===t?C=w(f.response):"claude"===t&&(C=h(f.response)),!C||""===C.trim()||"[No content]"===C)return(0,r.IH)(s,e,t,f.lineCount),(0,r.Mf)(s,e,t),!1;C&&await (0,l.o)(s,e,C,t);let S=(0,r.GP)(s,e,t);S>0&&console.log(`Marked ${S} pending prompt(s) as answered for ${e}`);let I=(0,r.zl)(s,e,t);if(I&&f.lineCount<=I.lastCapturedLine)return console.log(`[checkForResponse] Race condition detected, skipping save (result: ${f.lineCount}, current: ${I.lastCapturedLine})`),!1;let k=(0,r.tn)(s,{worktreeId:e,role:"assistant",content:C,messageType:"normal",timestamp:new Date,cliToolId:t,summary:$?.summary,logFileName:$?.logFileName,requestId:$?.requestId});return(0,o.ps)("message",{worktreeId:e,message:k}),(0,r.IH)(s,e,t,f.lineCount),!0}catch(t){return console.error(`Error checking for response (${e}):`,t instanceof Error?t.message:String(t)),!1}}function $(e,t){let s=`${e}:${t}`;x(e,t),f.set(s,Date.now());let n=setInterval(async()=>{let n=f.get(s);if(n&&Date.now()-n>3e5){x(e,t);return}try{await y(e,t)}catch(e){console.error("[Poller] Error:",e)}},2e3);d.set(s,n)}function x(e,t){let s=`${e}:${t}`,n=d.get(s);n&&(clearInterval(n),d.delete(s),f.delete(s))}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
exports.id=9367,exports.ids=[9367],exports.modules={58359:()=>{},93739:()=>{},98241:(e,t,r)=>{"use strict";r.d(t,{s:()=>i});var n=r(55315),a=r.n(n),o=r(
|
|
1
|
+
exports.id=9367,exports.ids=[9367],exports.modules={58359:()=>{},93739:()=>{},98241:(e,t,r)=>{"use strict";r.d(t,{s:()=>i});var n=r(55315),a=r.n(n),o=r(98838);function i(){return(0,o.Hb)("CM_LOG_DIR")||a().join(process.cwd(),"data","logs")}},89287:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});let n=/📄 Session log: (.+?\/([^\/\s]+\.jsonl))/,a=/Request ID: ([^\s\n]+)/,o=/Summary: (.+?)(?:\n─|$)/s;function i(e){let t={content:e},r=n.exec(e);r&&(t.logFileName=r[2]);let i=a.exec(e);i&&(t.requestId=i[1]);let s=o.exec(e);return s&&(t.summary=s[1].trim()),t}},62648:(e,t,r)=>{"use strict";r.d(t,{Lm:()=>y,Uv:()=>f,YI:()=>m,_f:()=>x,xd:()=>p,ym:()=>g});var n=r(10927),a=r(19377),o=r(92900),i=r(61282);let s=(0,r(21764).promisify)(i.exec);function c(e){return e instanceof Error?e.message:String(e)}let l=null;async function u(){if(l)return l;if(process.env.CLAUDE_PATH)return l=process.env.CLAUDE_PATH;try{let{stdout:e}=await s("which claude",{timeout:5e3});return l=e.trim()}catch{for(let e of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await s(`test -x "${e}"`,{timeout:1e3}),l=e}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}function d(e){return`mcbd-claude-${e}`}async function f(){try{return await s("which claude",{timeout:5e3}),!0}catch{return!1}}async function m(e){let t=d(e);return await (0,n.Hk)(t)}async function w(e,t=5e3){let r=Date.now();for(;Date.now()-r<t;){let t=await (0,n.xq)(e,{startLine:-50});if(a.V7.test((0,a.vp)(t)))return;await new Promise(e=>setTimeout(e,200))}throw Error(`Prompt detection timeout (${t}ms)`)}async function g(e){let{worktreeId:t,worktreePath:r}=e;if(!await f())throw Error("Claude CLI is not installed or not in PATH");let o=d(t);if(await (0,n.Hk)(o)){console.log(`Claude session ${o} already exists`);return}try{await (0,n.ed)({sessionName:o,workingDirectory:r,historyLimit:5e4});let e=await u();await (0,n.Is)(o,e,!0);let t=Date.now(),i=!1,s=!1;for(;Date.now()-t<15e3;){await new Promise(e=>setTimeout(e,300));try{let e=await (0,n.xq)(o,{startLine:-50}),r=(0,a.vp)(e);if(a.V7.test(r)){await new Promise(e=>setTimeout(e,500)),console.log(`Claude initialized in ${Date.now()-t}ms`),i=!0;break}!s&&a.H3.test(r)&&(await (0,n.Is)(o,"",!0),s=!0,console.log("Trust dialog detected, sending Enter to confirm"))}catch{}}if(!i)throw Error("Claude initialization timeout (15000ms)");console.log(`Started Claude session: ${o}`)}catch(e){throw Error(`Failed to start Claude session: ${c(e)}`)}}async function p(e,t){let r=d(e);if(!await (0,n.Hk)(r))throw Error(`Claude session ${r} does not exist. Start the session first.`);let i=await (0,n.xq)(r,{startLine:-50});a.V7.test((0,a.vp)(i))||await w(r,1e4),await new Promise(e=>setTimeout(e,500)),await (0,n.Is)(r,t,!1),await (0,n.Is)(r,"",!0),t.includes("\n")&&await (0,o.N)(r),console.log(`Sent message to Claude session: ${r}`)}async function y(e,t=1e3){let r=d(e);if(!await (0,n.Hk)(r))throw Error(`Claude session ${r} does not exist`);try{return await (0,n.xq)(r,{startLine:-t})}catch(e){throw Error(`Failed to capture Claude output: ${c(e)}`)}}async function x(e){let t=d(e);try{await (0,n.Hk)(t)&&(await (0,n.Is)(t,"",!1),await s(`tmux send-keys -t "${t}" C-d`),await new Promise(e=>setTimeout(e,500)));let e=await (0,n.AJ)(t);return e&&console.log(`✓ Stopped Claude session: ${t}`),e}catch(e){return console.error(`Error stopping Claude session: ${c(e)}`),!1}}},19377:(e,t,r)=>{"use strict";r.d(t,{H3:()=>c,Sg:()=>x,V7:()=>i,Wg:()=>g,_r:()=>f,bs:()=>function e(t){switch(t){case"claude":return{promptPattern:i,separatorPattern:s,thinkingPattern:a,skipPatterns:[/^─{10,}$/,/^[>❯]\s*$/,a,/^\s*[⎿⏋]\s+Tip:/,/^\s*Tip:/,/^\s*\?\s*for shortcuts/,/to interrupt\)/,d]};case"codex":return{promptPattern:l,separatorPattern:u,thinkingPattern:o,skipPatterns:[/^─.*─+$/,/^›\s*$/,/^›\s+(Implement|Find and fix|Type)/,o,/^\s*\d+%\s+context left/,/^\s*for shortcuts$/,/╭─+╮/,/╰─+╯/,/•\s*Ran\s+/,/^\s*└/,/^\s*│/,/\(.*esc to interrupt\)/,d]};case"gemini":return{promptPattern:w,separatorPattern:/^gemini\s+--\s+/m,thinkingPattern:/(?!)/m,skipPatterns:[/^gemini\s+--\s+/,w,/^\s*$/]};default:return e("claude")}},d8:()=>d,vp:()=>y,ww:()=>m});let n=(0,r(43895).h)("cli-patterns"),a=RegExp(`[✻✽⏺\xb7∴✢✳✶⦿◉●○◌◎⊙⊚⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\\s+.+…|esc to interrupt`,"m"),o=/•\s*(Planning|Searching|Exploring|Running|Thinking|Working|Reading|Writing|Analyzing|Ran|Deciding)/m,i=/^[>❯](\s*$|\s+\S)/m,s=/^─{10,}$/m,c=/Yes, I trust this folder/m,l=/^›\s*/m,u=/^─.*Worked for.*─+$/m,d=/\[Pasted text #\d+/,f=500,m=3,w=/^(%|\$|.*@.*[%$#])\s*$/m;function g(e,t){let r;let i=n.withContext({cliToolId:e});switch(i.debug("detectThinking:check",{contentLength:t.length}),e){case"claude":default:r=a.test(t);break;case"codex":r=o.test(t);break;case"gemini":r=!1}return i.debug("detectThinking:result",{isThinking:r}),r}let p=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;function y(e){return e.replace(p,"")}function x(e){if("claude"===e)return{requireDefaultIndicator:!1}}},76966:(e,t,r)=>{"use strict";r.d(t,{o:()=>o});var n=r(75748),a=r(98636);async function o(e,t,r,o="claude"){let i=(0,n.vX)(e,t);if(i)try{await (0,a.xN)(t,i.content,r,o)}catch(e){console.error("[recordClaudeConversation] Failed to create log file:",e)}}},98636:(e,t,r)=>{"use strict";r.d(t,{e7:()=>f,xN:()=>d});var n=r(20629),a=r.n(n),o=r(55315),i=r.n(o),s=r(73853),c=r(98241);function l(e="claude"){return i().join((0,c.s)(),e)}async function u(e="claude"){let t=l(e);try{await a().access(t)}catch{await a().mkdir(t,{recursive:!0})}}async function d(e,t,r,n="claude"){await u(n);let o=function(e,t="claude"){let r=(0,s.WU)(new Date,"yyyy-MM-dd"),n=`${e}-${r}.md`,a=l(t);return i().join(a,n)}(e,n),c=(0,s.WU)(new Date,"yyyy-MM-dd HH:mm:ss"),d="";try{d=await a().readFile(o,"utf-8")}catch{let t="claude"===n?"Claude Code":"codex"===n?"Codex CLI":"Gemini CLI";d=`# ${t} Conversation Log: ${e}
|
|
2
2
|
|
|
3
3
|
Created: ${c}
|
|
4
4
|
|
|
@@ -16,4 +16,4 @@ ${r}
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
`,await a().writeFile(o,d,"utf-8"),o}async function f(e,t="all"){let r=[];for(let n of"all"===t?["claude","codex","gemini"]:[t]){await u(n);let t=l(n);try{let n=(await a().readdir(t)).filter(t=>t.startsWith(`${e}-`)&&t.endsWith(".md")).map(e=>i().join(t,e));r.push(...n)}catch{}}return r.sort().reverse()}},43895:(e,t,r)=>{"use strict";r.d(t,{Y:()=>c,h:()=>l});var n=r(
|
|
19
|
+
`,await a().writeFile(o,d,"utf-8"),o}async function f(e,t="all"){let r=[];for(let n of"all"===t?["claude","codex","gemini"]:[t]){await u(n);let t=l(n);try{let n=(await a().readdir(t)).filter(t=>t.startsWith(`${e}-`)&&t.endsWith(".md")).map(e=>i().join(t,e));r.push(...n)}catch{}}return r.sort().reverse()}},43895:(e,t,r)=>{"use strict";r.d(t,{Y:()=>c,h:()=>l});var n=r(98838);let a=[{pattern:/Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi,replacement:"Bearer [REDACTED]"},{pattern:/(password|passwd|pwd)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/(token|secret|api_key|apikey|auth)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/Authorization:\s*\S+/gi,replacement:"Authorization: [REDACTED]"},{pattern:/-----BEGIN\s+\w+\s+PRIVATE\s+KEY-----[\s\S]*?-----END\s+\w+\s+PRIVATE\s+KEY-----/g,replacement:"[SSH_KEY_REDACTED]"}],o=/password|secret|token|key|auth/i,i={debug:0,info:1,warn:2,error:3};function s(e,t,r,s,c){let l=(0,n.LI)().level;if(i[e]<i[l])return;let u=s?function e(t){if("string"==typeof t){let e=t;for(let{pattern:t,replacement:r}of a)e=e.replace(t,r);return e}if("object"==typeof t&&null!==t){if(Array.isArray(t))return t.map(e);let r={};for(let[n,a]of Object.entries(t))o.test(n)?r[n]="[REDACTED]":r[n]=e(a);return r}return t}(s):void 0,d=function(e){if("json"===(0,n.LI)().format)return JSON.stringify(e);let{timestamp:t,level:r,module:a,action:o,data:i,worktreeId:s,cliToolId:c,requestId:l}=e,u=[s,c].filter(Boolean),d=u.length>0?` [${u.join(":")}]`:"",f=l?` (${l.slice(0,8)})`:"",m=i?` ${JSON.stringify(i)}`:"";return`[${t}] [${r.toUpperCase()}] [${a}]${d}${f} ${o}${m}`}({level:e,module:t,action:r,timestamp:new Date().toISOString(),...c,...u&&{data:u}});switch(e){case"error":console.error(d);break;case"warn":console.warn(d);break;default:console.log(d)}}function c(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function l(e){let t=r=>({debug:(t,n)=>s("debug",e,t,n,r),info:(t,n)=>s("info",e,t,n,r),warn:(t,n)=>s("warn",e,t,n,r),error:(t,n)=>s("error",e,t,n,r),withContext:e=>t({...r,...e})});return t()}},92900:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(10927),a=r(19377);let o=(0,r(43895).h)("pasted-text");async function i(e){for(let t=0;t<a.ww;t++){await new Promise(e=>setTimeout(e,a._r));let r=await (0,n.xq)(e,{startLine:-10});if(!a.d8.test((0,a.vp)(r)))return;await (0,n.Is)(e,"",!0),t===a.ww-1&&o.warn("Pasted text detection: max retries reached",{sessionName:e,maxRetries:a.ww,finalAttempt:t})}}},10927:(e,t,r)=>{"use strict";r.d(t,{AJ:()=>d,Hk:()=>o,Is:()=>s,ZV:()=>f,ed:()=>i,hL:()=>l,xq:()=>u});var n=r(61282);let a=(0,r(21764).promisify)(n.exec);async function o(e){try{return await a(`tmux has-session -t "${e}"`,{timeout:5e3}),!0}catch{return!1}}async function i(e,t){let r,n,o;"string"==typeof e?(r=e,n=t,o=5e4):(r=e.sessionName,n=e.workingDirectory,o=e.historyLimit||5e4);try{await a(`tmux new-session -d -s "${r}" -c "${n}"`,{timeout:5e3}),await a(`tmux set-option -t "${r}" history-limit ${o}`,{timeout:5e3})}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to create tmux session: ${e}`)}}async function s(e,t,r=!0){let n=t.replace(/'/g,"'\\''"),o=r?`tmux send-keys -t "${e}" '${n}' C-m`:`tmux send-keys -t "${e}" '${n}'`;try{await a(o,{timeout:5e3})}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send keys to tmux session: ${e}`)}}let c=new Set(["Up","Down","Left","Right","Enter","Space","Tab","Escape","BSpace","DC"]);async function l(e,t){if(0!==t.length){for(let e of t)if(!c.has(e))throw Error(`Invalid special key: ${e}`);try{for(let r=0;r<t.length;r++){let n=`tmux send-keys -t "${e}" ${t[r]}`;await a(n,{timeout:5e3}),r<t.length-1&&await new Promise(e=>setTimeout(e,100))}}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send special keys to tmux session: ${e}`)}}}async function u(e,t){let r,n;"number"==typeof t?(r=-t,n="-"):t?(r=t.startLine??-1e4,n=t.endLine??"-"):(r=-1e3,n="-");try{let{stdout:t}=await a(`tmux capture-pane -t "${e}" -p -e -S ${r} -E ${n}`,{timeout:5e3,maxBuffer:10485760});return t}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to capture pane: ${e}`)}}async function d(e){try{return await a(`tmux kill-session -t "${e}"`,{timeout:5e3}),!0}catch(t){let e=t instanceof Error?t.message:String(t);if(e?.includes("no server running")||e?.includes("can't find session"))return!1;throw Error(`Failed to kill tmux session: ${e}`)}}async function f(e,t){try{await a(`tmux send-keys -t "${e}" ${t}`,{timeout:5e3})}catch(t){let e=t instanceof Error?t.message:String(t);throw Error(`Failed to send special key: ${e}`)}}},25079:(e,t,r)=>{"use strict";r.d(t,{ZV:()=>l,fM:()=>s,ps:()=>c});var n=r(34893);let a=new Map,o=new Map;function i(e,t){let r=o.get(e);if(console.log(`[WS] handleBroadcast called for ${e}, room size: ${r?.size||0}`),!r){console.log(`[WS] No room found for ${e}`);return}if(0===r.size){console.log(`[WS] Room for ${e} is empty`);return}try{let a=JSON.stringify({type:"broadcast",worktreeId:e,data:t}),o=0,i=0;r.forEach(e=>{if(e.readyState===n.XY.OPEN)try{e.send(a),o++}catch(e){i++,console.error("Error sending WebSocket message to client:",e)}}),console.log(`Broadcast to worktree ${e}: ${o}/${r.size} clients (${i} errors)`)}catch(t){console.error(`Error broadcasting to worktree ${e}:`,t);try{let t=JSON.stringify({type:"broadcast",worktreeId:e,data:{error:"Message encoding error"}});r.forEach(e=>{if(e.readyState===n.XY.OPEN)try{e.send(t)}catch{}})}catch(e){console.error("Failed to send fallback message:",e)}}}function s(e,t){i(e,t)}function c(e,t){t.worktreeId?i(t.worktreeId,{type:e,...t}):console.warn("broadcastMessage called without worktreeId")}function l(e){for(let t of e){let e=o.get(t);e&&(e.forEach(e=>{let r=a.get(e);r&&r.worktreeIds.delete(t)}),o.delete(t),console.log(`[WS] Cleaned up room for worktree: ${t}`))}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"functions":{"/api/external-apps/[id]
|
|
1
|
+
{"version":1,"functions":{"/api/external-apps/[id]":{},"/api/external-apps/[id]/health":{},"/api/external-apps":{},"/api/worktrees/[id]/logs/[filename]":{},"/api/worktrees/[id]/logs":{},"/api/worktrees":{},"/proxy/[...path]":{}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-
|
|
1
|
+
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-af8567a485ade35a.js","static/chunks/fd9d1056-cfdf4f91f13d3485.js","static/chunks/2117-e31fa477cb500950.js","static/chunks/main-app-420d93e43682fee5.js"],pages:{"/_app":["static/chunks/webpack-af8567a485ade35a.js","static/chunks/framework-8e0e0f4a6b83a956.js","static/chunks/main-f00f82f1cf18dd99.js","static/chunks/pages/_app-3c9ca398d360b709.js"],"/_error":["static/chunks/webpack-af8567a485ade35a.js","static/chunks/framework-8e0e0f4a6b83a956.js","static/chunks/main-f00f82f1cf18dd99.js","static/chunks/pages/_error-cf5ca766ac8f493f.js"]},ampFirstPages:[]},self.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>500: Internal Server Error</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>500: Internal Server Error</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-af8567a485ade35a.js" defer=""></script><script src="/_next/static/chunks/framework-8e0e0f4a6b83a956.js" defer=""></script><script src="/_next/static/chunks/main-f00f82f1cf18dd99.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3c9ca398d360b709.js" defer=""></script><script src="/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js" defer=""></script><script src="/_next/static/b3UR0y5mw3Ubf_vI5JjIN/_buildManifest.js" defer=""></script><script src="/_next/static/b3UR0y5mw3Ubf_vI5JjIN/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"b3UR0y5mw3Ubf_vI5JjIN","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"fbhbRKnEgzi/iqpy55uV4Bth8ug4Yos8rzqzXi4IodU="}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[816],{43241:function(e,t,r){r.d(t,{Hn:function(){return c},Sz:function(){return l}});var o=r(57437),s=r(2265);let n="mcbd-sidebar-sort",i=(0,s.createContext)(null);function a(e,t){switch(t.type){case"TOGGLE":return{...e,isOpen:!e.isOpen};case"SET_WIDTH":return{...e,width:t.width};case"OPEN_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...e,sortKey:t.sortKey};case"SET_SORT_DIRECTION":return{...e,sortDirection:t.sortDirection};case"LOAD_SORT_SETTINGS":return{...e,sortKey:t.sortKey,sortDirection:t.sortDirection};default:return e}}function c(e){let{children:t,initialOpen:r=!0,initialWidth:c=288}=e,[l,u]=(0,s.useReducer)(a,{isOpen:r,width:c,isMobileDrawerOpen:!1,sortKey:"updatedAt",sortDirection:"desc"});(0,s.useEffect)(()=>{try{let e=localStorage.getItem(n);if(e){let{sortKey:t,sortDirection:r}=JSON.parse(e);t&&r&&u({type:"LOAD_SORT_SETTINGS",sortKey:t,sortDirection:r})}}catch(e){}},[]),(0,s.useEffect)(()=>{try{localStorage.setItem(n,JSON.stringify({sortKey:l.sortKey,sortDirection:l.sortDirection}))}catch(e){}},[l.sortKey,l.sortDirection]);let d=(0,s.useCallback)(()=>{u({type:"TOGGLE"})},[]),y=(0,s.useCallback)(e=>{u({type:"SET_WIDTH",width:e})},[]),E=(0,s.useCallback)(()=>{u({type:"OPEN_MOBILE_DRAWER"})},[]),S=(0,s.useCallback)(()=>{u({type:"CLOSE_MOBILE_DRAWER"})},[]),p=(0,s.useCallback)(e=>{u({type:"SET_SORT_KEY",sortKey:e})},[]),T=(0,s.useCallback)(e=>{u({type:"SET_SORT_DIRECTION",sortDirection:e})},[]),O={isOpen:l.isOpen,width:l.width,isMobileDrawerOpen:l.isMobileDrawerOpen,sortKey:l.sortKey,sortDirection:l.sortDirection,toggle:d,setWidth:y,openMobileDrawer:E,closeMobileDrawer:S,setSortKey:p,setSortDirection:T};return(0,o.jsx)(i.Provider,{value:O,children:t})}function l(){let e=(0,s.useContext)(i);if(!e)throw Error("useSidebarContext must be used within a SidebarProvider");return e}},34021:function(e,t,r){r.d(t,{Mu:function(){return d},_I:function(){return u}});var o=r(57437),s=r(2265),n=r(3227);let i={PROCESSING:2e3,SESSION_RUNNING:5e3,IDLE:1e4},a=(0,s.createContext)(null),c={selectedWorktreeId:null,worktrees:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function l(e,t){switch(t.type){case"SET_WORKTREES":return{...e,worktrees:t.worktrees,isLoading:!1};case"SELECT_WORKTREE":return{...e,selectedWorktreeId:t.id};case"SET_WORKTREE_DETAIL":return{...e,selectedWorktreeDetail:t.detail};case"SET_LOADING":return{...e,isLoading:t.isLoading};case"SET_LOADING_DETAIL":return{...e,isLoadingDetail:t.isLoadingDetail};case"SET_ERROR":return{...e,error:t.error,isLoading:!1};default:return e}}function u(e){let{children:t}=e,[r,u]=(0,s.useReducer)(l,c),d=(0,s.useCallback)(async()=>{u({type:"SET_LOADING",isLoading:!0}),u({type:"SET_ERROR",error:null});try{let e=await n.Iv.getAll();u({type:"SET_WORKTREES",worktrees:e.worktrees})}catch(e){u({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktrees"})}},[]),y=(0,s.useCallback)(async e=>{u({type:"SELECT_WORKTREE",id:e}),u({type:"SET_LOADING_DETAIL",isLoadingDetail:!0}),u({type:"SET_ERROR",error:null});try{n.Iv.markAsViewed(e).catch(e=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",e)});let t=await n.Iv.getById(e);u({type:"SET_WORKTREE_DETAIL",detail:t})}catch(e){u({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktree detail"})}finally{u({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),E=(0,s.useCallback)(async()=>{await d()},[d]);(0,s.useEffect)(()=>{d()},[d]),(0,s.useEffect)(()=>{let e=null,t=!0,r=async()=>{if(t)try{var o;let s=await n.Iv.getAll();u({type:"SET_WORKTREES",worktrees:s.worktrees});let a=(o=s.worktrees).some(e=>e.isProcessing||e.isWaitingForResponse)?i.PROCESSING:o.some(e=>e.isSessionRunning)?i.SESSION_RUNNING:i.IDLE;t&&(e=setTimeout(r,a))}catch(o){console.error("[WorktreeSelectionContext] Polling error:",o),t&&(e=setTimeout(r,i.SESSION_RUNNING))}};return r(),()=>{t=!1,e&&clearTimeout(e)}},[]);let S={selectedWorktreeId:r.selectedWorktreeId,worktrees:r.worktrees,selectedWorktreeDetail:r.selectedWorktreeDetail,isLoadingDetail:r.isLoadingDetail,error:r.error,selectWorktree:y,refreshWorktrees:E};return(0,o.jsx)(a.Provider,{value:S,children:t})}function d(){let e=(0,s.useContext)(a);if(!e)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return e}},3227:function(e,t,r){r.d(t,{Iv:function(){return n},J1:function(){return i},nE:function(){return a},zG:function(){return c}});class o extends Error{constructor(e,t,r){super(e),this.status=t,this.data=r,this.name="ApiError"}}async function s(e,t){try{let r=new Headers(null==t?void 0:t.headers);r.set("Content-Type","application/json");let s=await fetch(e,{...t,headers:r});if(!s.ok){let e=await s.json().catch(()=>({}));throw new o(e.error||"HTTP error ".concat(s.status),s.status,e)}return s.json()}catch(e){if(e instanceof o)throw e;throw new o(e instanceof Error?e.message:"Unknown error",0,e)}}let n={getAll:async()=>s("/api/worktrees"),getById:async e=>s("/api/worktrees/".concat(e)),updateDescription:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({description:t})}),updateLink:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({link:t})}),toggleFavorite:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({favorite:t})}),updateStatus:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({status:t})}),updateCliTool:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({cliToolId:t})}),markAsViewed:async e=>s("/api/worktrees/".concat(e,"/viewed"),{method:"PATCH"}),async getMessages(e,t){let r=new URLSearchParams;return t&&r.append("cliTool",t),s("/api/worktrees/".concat(e,"/messages").concat(r.toString()?"?".concat(r.toString()):""))},async sendMessage(e,t,r){let o={content:t};return r&&(o.cliToolId=r),s("/api/worktrees/".concat(e,"/send"),{method:"POST",body:JSON.stringify(o)})},getLogs:async e=>s("/api/worktrees/".concat(e,"/logs")),async getLogFile(e,t,r){let o=(null==r?void 0:r.sanitize)?"?sanitize=true":"";return s("/api/worktrees/".concat(e,"/logs/").concat(t).concat(o))},killSession:async(e,t)=>s("/api/worktrees/".concat(e,"/kill-session"),{method:"POST",body:t?JSON.stringify({cliToolId:t}):void 0})},i={scan:async e=>s("/api/repositories/scan",{method:"POST",body:JSON.stringify({repositoryPath:e})}),sync:async()=>s("/api/repositories/sync",{method:"POST"}),delete:async e=>s("/api/repositories",{method:"DELETE",body:JSON.stringify({repositoryPath:e})}),clone:async e=>s("/api/repositories/clone",{method:"POST",body:JSON.stringify({cloneUrl:e})}),getCloneStatus:async e=>s("/api/repositories/clone/".concat(e)),getExcluded:async()=>s("/api/repositories/excluded"),restore:async e=>s("/api/repositories/restore",{method:"PUT",body:JSON.stringify({repositoryPath:e})})},a={getAll:async e=>(await s("/api/worktrees/".concat(e,"/memos"))).memos,create:async(e,t)=>(await s("/api/worktrees/".concat(e,"/memos"),{method:"POST",body:JSON.stringify(t||{})})).memo,update:async(e,t,r)=>(await s("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"PUT",body:JSON.stringify(r)})).memo,delete:async(e,t)=>s("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"DELETE"})};function c(e){return e instanceof o||e instanceof Error?e.message:"An unknown error occurred"}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[816],{43241:function(e,t,r){r.d(t,{Hn:function(){return c},Sz:function(){return l}});var o=r(57437),s=r(2265);let n="mcbd-sidebar-sort",i=(0,s.createContext)(null);function a(e,t){switch(t.type){case"TOGGLE":return{...e,isOpen:!e.isOpen};case"SET_WIDTH":return{...e,width:t.width};case"OPEN_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...e,sortKey:t.sortKey};case"SET_SORT_DIRECTION":return{...e,sortDirection:t.sortDirection};case"LOAD_SORT_SETTINGS":return{...e,sortKey:t.sortKey,sortDirection:t.sortDirection};default:return e}}function c(e){let{children:t,initialOpen:r=!0,initialWidth:c=288}=e,[l,u]=(0,s.useReducer)(a,{isOpen:r,width:c,isMobileDrawerOpen:!1,sortKey:"updatedAt",sortDirection:"desc"});(0,s.useEffect)(()=>{try{let e=localStorage.getItem(n);if(e){let{sortKey:t,sortDirection:r}=JSON.parse(e);t&&r&&u({type:"LOAD_SORT_SETTINGS",sortKey:t,sortDirection:r})}}catch(e){}},[]),(0,s.useEffect)(()=>{try{localStorage.setItem(n,JSON.stringify({sortKey:l.sortKey,sortDirection:l.sortDirection}))}catch(e){}},[l.sortKey,l.sortDirection]);let d=(0,s.useCallback)(()=>{u({type:"TOGGLE"})},[]),y=(0,s.useCallback)(e=>{u({type:"SET_WIDTH",width:e})},[]),E=(0,s.useCallback)(()=>{u({type:"OPEN_MOBILE_DRAWER"})},[]),S=(0,s.useCallback)(()=>{u({type:"CLOSE_MOBILE_DRAWER"})},[]),p=(0,s.useCallback)(e=>{u({type:"SET_SORT_KEY",sortKey:e})},[]),T=(0,s.useCallback)(e=>{u({type:"SET_SORT_DIRECTION",sortDirection:e})},[]),O={isOpen:l.isOpen,width:l.width,isMobileDrawerOpen:l.isMobileDrawerOpen,sortKey:l.sortKey,sortDirection:l.sortDirection,toggle:d,setWidth:y,openMobileDrawer:E,closeMobileDrawer:S,setSortKey:p,setSortDirection:T};return(0,o.jsx)(i.Provider,{value:O,children:t})}function l(){let e=(0,s.useContext)(i);if(!e)throw Error("useSidebarContext must be used within a SidebarProvider");return e}},34021:function(e,t,r){r.d(t,{Mu:function(){return d},_I:function(){return u}});var o=r(57437),s=r(2265),n=r(3227);let i={PROCESSING:2e3,SESSION_RUNNING:5e3,IDLE:1e4},a=(0,s.createContext)(null),c={selectedWorktreeId:null,worktrees:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function l(e,t){switch(t.type){case"SET_WORKTREES":return{...e,worktrees:t.worktrees,isLoading:!1};case"SELECT_WORKTREE":return{...e,selectedWorktreeId:t.id};case"SET_WORKTREE_DETAIL":return{...e,selectedWorktreeDetail:t.detail};case"SET_LOADING":return{...e,isLoading:t.isLoading};case"SET_LOADING_DETAIL":return{...e,isLoadingDetail:t.isLoadingDetail};case"SET_ERROR":return{...e,error:t.error,isLoading:!1};default:return e}}function u(e){let{children:t}=e,[r,u]=(0,s.useReducer)(l,c),d=(0,s.useCallback)(async()=>{u({type:"SET_LOADING",isLoading:!0}),u({type:"SET_ERROR",error:null});try{let e=await n.Iv.getAll();u({type:"SET_WORKTREES",worktrees:e.worktrees})}catch(e){u({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktrees"})}},[]),y=(0,s.useCallback)(async e=>{u({type:"SELECT_WORKTREE",id:e}),u({type:"SET_LOADING_DETAIL",isLoadingDetail:!0}),u({type:"SET_ERROR",error:null});try{n.Iv.markAsViewed(e).catch(e=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",e)});let t=await n.Iv.getById(e);u({type:"SET_WORKTREE_DETAIL",detail:t})}catch(e){u({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktree detail"})}finally{u({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),E=(0,s.useCallback)(async()=>{await d()},[d]);(0,s.useEffect)(()=>{d()},[d]),(0,s.useEffect)(()=>{let e=null,t=!0,r=async()=>{if(t)try{var o;let s=await n.Iv.getAll();u({type:"SET_WORKTREES",worktrees:s.worktrees});let a=(o=s.worktrees).some(e=>e.isProcessing||e.isWaitingForResponse)?i.PROCESSING:o.some(e=>e.isSessionRunning)?i.SESSION_RUNNING:i.IDLE;t&&(e=setTimeout(r,a))}catch(o){console.error("[WorktreeSelectionContext] Polling error:",o),t&&(e=setTimeout(r,i.SESSION_RUNNING))}};return r(),()=>{t=!1,e&&clearTimeout(e)}},[]);let S={selectedWorktreeId:r.selectedWorktreeId,worktrees:r.worktrees,selectedWorktreeDetail:r.selectedWorktreeDetail,isLoadingDetail:r.isLoadingDetail,error:r.error,selectWorktree:y,refreshWorktrees:E};return(0,o.jsx)(a.Provider,{value:S,children:t})}function d(){let e=(0,s.useContext)(a);if(!e)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return e}},3227:function(e,t,r){r.d(t,{Bb:function(){return l},Iv:function(){return n},J1:function(){return i},nE:function(){return a},zG:function(){return c}});class o extends Error{constructor(e,t,r){super(e),this.status=t,this.data=r,this.name="ApiError"}}async function s(e,t){try{let r=new Headers(null==t?void 0:t.headers);r.set("Content-Type","application/json");let s=await fetch(e,{...t,headers:r});if(!s.ok){let e=await s.json().catch(()=>({}));throw new o(e.error||"HTTP error ".concat(s.status),s.status,e)}return s.json()}catch(e){if(e instanceof o)throw e;throw new o(e instanceof Error?e.message:"Unknown error",0,e)}}let n={getAll:async()=>s("/api/worktrees"),getById:async e=>s("/api/worktrees/".concat(e)),updateDescription:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({description:t})}),updateLink:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({link:t})}),toggleFavorite:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({favorite:t})}),updateStatus:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({status:t})}),updateCliTool:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({cliToolId:t})}),markAsViewed:async e=>s("/api/worktrees/".concat(e,"/viewed"),{method:"PATCH"}),async getMessages(e,t){let r=new URLSearchParams;return t&&r.append("cliTool",t),s("/api/worktrees/".concat(e,"/messages").concat(r.toString()?"?".concat(r.toString()):""))},async sendMessage(e,t,r){let o={content:t};return r&&(o.cliToolId=r),s("/api/worktrees/".concat(e,"/send"),{method:"POST",body:JSON.stringify(o)})},getLogs:async e=>s("/api/worktrees/".concat(e,"/logs")),async getLogFile(e,t,r){let o=(null==r?void 0:r.sanitize)?"?sanitize=true":"";return s("/api/worktrees/".concat(e,"/logs/").concat(t).concat(o))},killSession:async(e,t)=>s("/api/worktrees/".concat(e,"/kill-session"),{method:"POST",body:t?JSON.stringify({cliToolId:t}):void 0})},i={scan:async e=>s("/api/repositories/scan",{method:"POST",body:JSON.stringify({repositoryPath:e})}),sync:async()=>s("/api/repositories/sync",{method:"POST"}),delete:async e=>s("/api/repositories",{method:"DELETE",body:JSON.stringify({repositoryPath:e})}),clone:async e=>s("/api/repositories/clone",{method:"POST",body:JSON.stringify({cloneUrl:e})}),getCloneStatus:async e=>s("/api/repositories/clone/".concat(e)),getExcluded:async()=>s("/api/repositories/excluded"),restore:async e=>s("/api/repositories/restore",{method:"PUT",body:JSON.stringify({repositoryPath:e})})},a={getAll:async e=>(await s("/api/worktrees/".concat(e,"/memos"))).memos,create:async(e,t)=>(await s("/api/worktrees/".concat(e,"/memos"),{method:"POST",body:JSON.stringify(t||{})})).memo,update:async(e,t,r)=>(await s("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"PUT",body:JSON.stringify(r)})).memo,delete:async(e,t)=>s("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"DELETE"})};function c(e){return e instanceof o||e instanceof Error?e.message:"An unknown error occurred"}let l={checkForUpdate:async()=>s("/api/app/update-check",{method:"GET"})}}}]);
|