commandmate 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +11 -11
- package/.next/app-path-routes-manifest.json +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- 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/0.pack +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-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/app/_not-found/page.js.nft.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 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js +1 -1
- package/.next/server/app/api/external-apps/route.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js +7 -7
- package/.next/server/app/api/repositories/restore/route.js +3 -3
- package/.next/server/app/api/repositories/route.js +13 -11
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +9 -0
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/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]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +4 -0
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +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 +8 -3
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +13 -9
- package/.next/server/chunks/2314.js +1 -0
- package/.next/server/chunks/3860.js +1 -1
- package/.next/server/chunks/6228.js +1 -0
- package/.next/server/chunks/7425.js +85 -30
- package/.next/server/chunks/7536.js +1 -1
- package/.next/server/chunks/7566.js +2 -2
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-0c889ab3f30d5af7.js +1 -0
- package/.next/static/css/bd6065b03ddb3efd.css +3 -0
- package/.next/trace +5 -5
- package/.next/types/app/api/worktrees/[id]/execution-logs/[logId]/route.ts +343 -0
- package/.next/types/app/api/worktrees/[id]/execution-logs/route.ts +343 -0
- package/.next/types/app/api/worktrees/[id]/schedules/[scheduleId]/route.ts +343 -0
- package/.next/types/app/api/worktrees/[id]/schedules/route.ts +343 -0
- package/dist/cli/utils/docs-reader.d.ts.map +1 -1
- package/dist/cli/utils/docs-reader.js +1 -0
- package/dist/server/server.js +5 -0
- package/dist/server/src/config/cmate-constants.js +79 -0
- package/dist/server/src/config/schedule-config.js +54 -0
- package/dist/server/src/lib/claude-executor.js +147 -0
- package/dist/server/src/lib/claude-session.js +31 -6
- package/dist/server/src/lib/cli-patterns.js +1 -1
- package/dist/server/src/lib/cmate-parser.js +240 -0
- package/dist/server/src/lib/db-instance.js +3 -0
- package/dist/server/src/lib/db-migrations.js +96 -2
- package/dist/server/src/lib/env-sanitizer.js +57 -0
- package/dist/server/src/lib/response-poller.js +3 -2
- package/dist/server/src/lib/schedule-manager.js +397 -0
- package/dist/server/src/types/cmate.js +6 -0
- package/package.json +2 -1
- package/.next/static/chunks/app/worktrees/[id]/page-9418e49bdc1de02c.js +0 -1
- package/.next/static/css/b9ea6a4fad17dc32.css +0 -3
- /package/.next/static/{clTo9tuAoPMLcGRuVENfO → j8HFvzDZj7tHjAnhpXUno}/_buildManifest.js +0 -0
- /package/.next/static/{clTo9tuAoPMLcGRuVENfO → j8HFvzDZj7tHjAnhpXUno}/_ssgManifest.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}},"
|
|
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}},"6725":{"*":{"id":"75929","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}},"36423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"38991":{"*":{"id":"24146","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}},"66677":{"*":{"id":"42106","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","8528","static/chunks/8528-4d554d3b94d4cf9b.js","3185","static/chunks/app/layout-9110f9a5e41c6bf4.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx":{"id":18828,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","3185","static/chunks/app/layout-9110f9a5e41c6bf4.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/login/page.tsx":{"id":38991,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/page.tsx":{"id":66677,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","2335","static/chunks/2335-98a211e00b94c7ac.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","8091","static/chunks/8091-925542bdfc843dce.js","1931","static/chunks/app/page-238b5a70d8c101e9.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx":{"id":6725,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","1038","static/chunks/1038-3509435b68c0967e.js","2335","static/chunks/2335-98a211e00b94c7ac.js","9178","static/chunks/9178-88850a7c48deea07.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","8091","static/chunks/8091-925542bdfc843dce.js","130","static/chunks/app/worktrees/%5Bid%5D/page-0c889ab3f30d5af7.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/bd6065b03ddb3efd.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
|
-
{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/2683.js","../../../../chunks/3074.js","../../../../chunks/3294.js","../../../../chunks/3348.js","../../../../chunks/369.js","../../../../chunks/3860.js","../../../../chunks/4559.js","../../../../chunks/5795.js","../../../../chunks/5823.js","../../../../chunks/5853.js","../../../../chunks/6621.js","../../../../chunks/6837.js","../../../../chunks/7266.js","../../../../chunks/8705.js","../../../../chunks/8744.js","../../../../chunks/8948.js","../../../../chunks/9582.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/2314.js","../../../../chunks/2683.js","../../../../chunks/3074.js","../../../../chunks/3294.js","../../../../chunks/3348.js","../../../../chunks/369.js","../../../../chunks/3860.js","../../../../chunks/4559.js","../../../../chunks/5795.js","../../../../chunks/5823.js","../../../../chunks/5853.js","../../../../chunks/6228.js","../../../../chunks/6621.js","../../../../chunks/6837.js","../../../../chunks/7266.js","../../../../chunks/8705.js","../../../../chunks/8744.js","../../../../chunks/8948.js","../../../../chunks/9582.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
@@ -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}},"
|
|
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}},"6725":{"*":{"id":"75929","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}},"36423":{"*":{"id":"84759","name":"*","chunks":[],"async":false}},"38991":{"*":{"id":"24146","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}},"66677":{"*":{"id":"42106","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","8528","static/chunks/8528-4d554d3b94d4cf9b.js","3185","static/chunks/app/layout-9110f9a5e41c6bf4.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx":{"id":18828,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","3185","static/chunks/app/layout-9110f9a5e41c6bf4.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/login/page.tsx":{"id":38991,"name":"*","chunks":[],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/page.tsx":{"id":66677,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","2335","static/chunks/2335-98a211e00b94c7ac.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","8091","static/chunks/8091-925542bdfc843dce.js","1931","static/chunks/app/page-238b5a70d8c101e9.js"],"async":false},"/home/runner/work/CommandMate/CommandMate/src/app/worktrees/[id]/page.tsx":{"id":6725,"name":"*","chunks":["9234","static/chunks/9234-b0304101384ca079.js","216","static/chunks/216-f18f4a9d8b04a91e.js","1038","static/chunks/1038-3509435b68c0967e.js","2335","static/chunks/2335-98a211e00b94c7ac.js","9178","static/chunks/9178-88850a7c48deea07.js","8528","static/chunks/8528-4d554d3b94d4cf9b.js","8091","static/chunks/8091-925542bdfc843dce.js","130","static/chunks/app/worktrees/%5Bid%5D/page-0c889ab3f30d5af7.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/bd6065b03ddb3efd.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"]}}
|
|
@@ -3,42 +3,46 @@
|
|
|
3
3
|
"/api/auth/login/route": "app/api/auth/login/route.js",
|
|
4
4
|
"/api/auth/logout/route": "app/api/auth/logout/route.js",
|
|
5
5
|
"/api/hooks/claude-done/route": "app/api/hooks/claude-done/route.js",
|
|
6
|
-
"/api/repositories/clone/[jobId]/route": "app/api/repositories/clone/[jobId]/route.js",
|
|
7
6
|
"/api/repositories/clone/route": "app/api/repositories/clone/route.js",
|
|
8
|
-
"/api/repositories/restore/route": "app/api/repositories/restore/route.js",
|
|
9
7
|
"/api/repositories/excluded/route": "app/api/repositories/excluded/route.js",
|
|
10
|
-
"/api/repositories/route": "app/api/repositories/route.js",
|
|
8
|
+
"/api/repositories/clone/[jobId]/route": "app/api/repositories/clone/[jobId]/route.js",
|
|
9
|
+
"/api/repositories/restore/route": "app/api/repositories/restore/route.js",
|
|
11
10
|
"/api/repositories/scan/route": "app/api/repositories/scan/route.js",
|
|
11
|
+
"/api/repositories/route": "app/api/repositories/route.js",
|
|
12
12
|
"/api/repositories/sync/route": "app/api/repositories/sync/route.js",
|
|
13
13
|
"/api/slash-commands/route": "app/api/slash-commands/route.js",
|
|
14
14
|
"/api/worktrees/[id]/auto-yes/route": "app/api/worktrees/[id]/auto-yes/route.js",
|
|
15
15
|
"/api/worktrees/[id]/capture/route": "app/api/worktrees/[id]/capture/route.js",
|
|
16
16
|
"/api/worktrees/[id]/cli-tool/route": "app/api/worktrees/[id]/cli-tool/route.js",
|
|
17
|
-
"/api/worktrees/[id]/files/[...path]/route": "app/api/worktrees/[id]/files/[...path]/route.js",
|
|
18
17
|
"/api/worktrees/[id]/current-output/route": "app/api/worktrees/[id]/current-output/route.js",
|
|
18
|
+
"/api/worktrees/[id]/execution-logs/[logId]/route": "app/api/worktrees/[id]/execution-logs/[logId]/route.js",
|
|
19
|
+
"/api/worktrees/[id]/execution-logs/route": "app/api/worktrees/[id]/execution-logs/route.js",
|
|
20
|
+
"/api/worktrees/[id]/files/[...path]/route": "app/api/worktrees/[id]/files/[...path]/route.js",
|
|
19
21
|
"/api/worktrees/[id]/interrupt/route": "app/api/worktrees/[id]/interrupt/route.js",
|
|
20
22
|
"/api/worktrees/[id]/kill-session/route": "app/api/worktrees/[id]/kill-session/route.js",
|
|
21
23
|
"/api/worktrees/[id]/memos/[memoId]/route": "app/api/worktrees/[id]/memos/[memoId]/route.js",
|
|
22
24
|
"/api/worktrees/[id]/memos/route": "app/api/worktrees/[id]/memos/route.js",
|
|
23
25
|
"/api/worktrees/[id]/messages/route": "app/api/worktrees/[id]/messages/route.js",
|
|
24
|
-
"/api/worktrees/[id]/respond/route": "app/api/worktrees/[id]/respond/route.js",
|
|
25
26
|
"/api/worktrees/[id]/prompt-response/route": "app/api/worktrees/[id]/prompt-response/route.js",
|
|
27
|
+
"/api/worktrees/[id]/respond/route": "app/api/worktrees/[id]/respond/route.js",
|
|
26
28
|
"/api/worktrees/[id]/route": "app/api/worktrees/[id]/route.js",
|
|
29
|
+
"/api/worktrees/[id]/schedules/[scheduleId]/route": "app/api/worktrees/[id]/schedules/[scheduleId]/route.js",
|
|
30
|
+
"/api/worktrees/[id]/schedules/route": "app/api/worktrees/[id]/schedules/route.js",
|
|
27
31
|
"/api/worktrees/[id]/search/route": "app/api/worktrees/[id]/search/route.js",
|
|
28
32
|
"/api/worktrees/[id]/send/route": "app/api/worktrees/[id]/send/route.js",
|
|
29
33
|
"/api/worktrees/[id]/slash-commands/route": "app/api/worktrees/[id]/slash-commands/route.js",
|
|
30
|
-
"/api/worktrees/[id]/terminal/route": "app/api/worktrees/[id]/terminal/route.js",
|
|
31
34
|
"/api/worktrees/[id]/start-polling/route": "app/api/worktrees/[id]/start-polling/route.js",
|
|
35
|
+
"/api/worktrees/[id]/terminal/route": "app/api/worktrees/[id]/terminal/route.js",
|
|
32
36
|
"/api/worktrees/[id]/tree/[...path]/route": "app/api/worktrees/[id]/tree/[...path]/route.js",
|
|
33
37
|
"/api/worktrees/[id]/tree/route": "app/api/worktrees/[id]/tree/route.js",
|
|
34
|
-
"/api/worktrees/[id]/upload/[...path]/route": "app/api/worktrees/[id]/upload/[...path]/route.js",
|
|
35
38
|
"/api/worktrees/[id]/viewed/route": "app/api/worktrees/[id]/viewed/route.js",
|
|
36
|
-
"/
|
|
39
|
+
"/api/worktrees/[id]/upload/[...path]/route": "app/api/worktrees/[id]/upload/[...path]/route.js",
|
|
37
40
|
"/apple-icon.png/route": "app/apple-icon.png/route.js",
|
|
41
|
+
"/icon.png/route": "app/icon.png/route.js",
|
|
38
42
|
"/login/page": "app/login/page.js",
|
|
39
43
|
"/page": "app/page.js",
|
|
40
|
-
"/worktrees/[id]/files/[...path]/page": "app/worktrees/[id]/files/[...path]/page.js",
|
|
41
44
|
"/worktrees/[id]/page": "app/worktrees/[id]/page.js",
|
|
45
|
+
"/worktrees/[id]/files/[...path]/page": "app/worktrees/[id]/files/[...path]/page.js",
|
|
42
46
|
"/worktrees/[id]/terminal/page": "app/worktrees/[id]/terminal/page.js",
|
|
43
47
|
"/api/auth/status/route": "app/api/auth/status/route.js",
|
|
44
48
|
"/api/app/update-check/route": "app/api/app/update-check/route.js",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=2314,exports.ids=[2314],exports.modules={82314:e=>{e.exports=JSON.parse('{"title":"スケジュール","executionLogs":"実行ログ","noSchedules":"スケジュールが設定されていません。CMATE.mdにSchedulesセクションを追加してください。","noSchedulesTitle":"スケジュールが設定されていません","noSchedulesStep1":"Files タブに切り替えてください","noSchedulesStep2":"ツールバーの CMATE ボタンをクリックして CMATE.md を作成","noSchedulesStep3":"Schedules テーブルを編集(Name, Cron, Message, CLI Tool, Enabled, Permission)","noSchedulesStep4":"再度 CMATE をクリックしてバリデーション","noLogs":"実行ログはまだありません。","status":{"running":"実行中","completed":"完了","failed":"失敗","timeout":"タイムアウト","cancelled":"キャンセル"},"enabled":"有効","disabled":"無効","lastRun":"最終実行","cron":"Cron式","exitCode":"終了コード","noOutput":"(出力なし)","message":"メッセージ","response":"レスポンス","unknownSchedule":"(削除済みスケジュール)","retry":"再試行","loading":"読み込み中...","notes":"メモ","logs":"Schedules","notesAndLogs":"CMATE","cmateCreated":"CMATE.mdをテンプレートで作成しました。スケジュールを設定してください。","cmateValidation":{"noSchedulesSection":"CMATE.mdにSchedulesセクションがありません。","valid":"{count}件のスケジュールが正常に検証されました。","errors":"{errorCount}件の検証エラー: {details}","failed":"CMATE.mdの処理に失敗しました。"}}')}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=3860,exports.ids=[3860],exports.modules={4703:(e,r,t)=>{var o={"./en/auth.json":[5795,5795],"./ja/auth.json":[73074,3074]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=4703,e.exports=s},34519:(e,r,t)=>{var o={"./en/autoYes.json":[58744,8744],"./ja/autoYes.json":[80369,369]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=34519,e.exports=s},41440:(e,r,t)=>{var o={"./en/common.json":[39582,9582],"./ja/common.json":[93348,3348]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=41440,e.exports=s},87269:(e,r,t)=>{var o={"./en/error.json":[17266,7266],"./ja/error.json":[16837,6837]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=87269,e.exports=s},35268:(e,r,t)=>{var o={"./en/prompt.json":[94559,4559],"./ja/prompt.json":[45853,5853]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=35268,e.exports=s},31985:(e,r,t)=>{var o={"./en/worktree.json":[32683,2683],"./ja/worktree.json":[95823,5823]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=31985,e.exports=s},20319:(e,r,t)=>{Promise.resolve().then(t.t.bind(t,12994,23)),Promise.resolve().then(t.t.bind(t,96114,23)),Promise.resolve().then(t.t.bind(t,9727,23)),Promise.resolve().then(t.t.bind(t,79671,23)),Promise.resolve().then(t.t.bind(t,41868,23)),Promise.resolve().then(t.t.bind(t,84759,23))},47864:(e,r,t)=>{Promise.resolve().then(t.bind(t,2108))},2108:(e,r,t)=>{"use strict";t.d(r,{AppProviders:()=>c});var o=t(10326),s=t(5269),n=t(87403),i=t(3885),a=t(94001);function c({children:e,locale:r,messages:t,timeZone:c,authEnabled:d=!1}){return o.jsx(s.Z,{locale:r,messages:t,timeZone:c,children:o.jsx(a.H,{authEnabled:d,children:o.jsx(n.Hn,{children:o.jsx(i._I,{children:e})})})})}},94001:(e,r,t)=>{"use strict";t.d(r,{H:()=>i,m:()=>a});var o=t(10326),s=t(17577);let n=(0,s.createContext)(!1);function i({children:e,authEnabled:r}){return o.jsx(n.Provider,{value:r,children:e})}function a(){return(0,s.useContext)(n)}},87403:(e,r,t)=>{"use strict";t.d(r,{Hn:()=>a,Sz:()=>c});var o=t(10326),s=t(17577);let n=(0,s.createContext)(null);function i(e,r){switch(r.type){case"TOGGLE":return{...e,isOpen:!e.isOpen};case"SET_WIDTH":return{...e,width:r.width};case"OPEN_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...e,sortKey:r.sortKey};case"SET_SORT_DIRECTION":return{...e,sortDirection:r.sortDirection};case"LOAD_SORT_SETTINGS":return{...e,sortKey:r.sortKey,sortDirection:r.sortDirection};default:return e}}function a({children:e,initialOpen:r=!0,initialWidth:t=288}){let[a,c]=(0,s.useReducer)(i,{isOpen:r,width:t,isMobileDrawerOpen:!1,sortKey:"updatedAt",sortDirection:"desc"}),d=(0,s.useCallback)(()=>{c({type:"TOGGLE"})},[]),l=(0,s.useCallback)(e=>{c({type:"SET_WIDTH",width:e})},[]),u=(0,s.useCallback)(()=>{c({type:"OPEN_MOBILE_DRAWER"})},[]),p=(0,s.useCallback)(()=>{c({type:"CLOSE_MOBILE_DRAWER"})},[]),y=(0,s.useCallback)(e=>{c({type:"SET_SORT_KEY",sortKey:e})},[]),m=(0,s.useCallback)(e=>{c({type:"SET_SORT_DIRECTION",sortDirection:e})},[]),E={isOpen:a.isOpen,width:a.width,isMobileDrawerOpen:a.isMobileDrawerOpen,sortKey:a.sortKey,sortDirection:a.sortDirection,toggle:d,setWidth:l,openMobileDrawer:u,closeMobileDrawer:p,setSortKey:y,setSortDirection:m};return o.jsx(n.Provider,{value:E,children:e})}function c(){let e=(0,s.useContext)(n);if(!e)throw Error("useSidebarContext must be used within a SidebarProvider");return e}},3885:(e,r,t)=>{"use strict";t.d(r,{Mu:()=>l,_I:()=>d});var o=t(10326),s=t(17577),n=t(73002);let i=(0,s.createContext)(null),a={selectedWorktreeId:null,worktrees:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function c(e,r){switch(r.type){case"SET_WORKTREES":return{...e,worktrees:r.worktrees,isLoading:!1};case"SELECT_WORKTREE":return{...e,selectedWorktreeId:r.id};case"SET_WORKTREE_DETAIL":return{...e,selectedWorktreeDetail:r.detail};case"SET_LOADING":return{...e,isLoading:r.isLoading};case"SET_LOADING_DETAIL":return{...e,isLoadingDetail:r.isLoadingDetail};case"SET_ERROR":return{...e,error:r.error,isLoading:!1};default:return e}}function d({children:e}){let[r,t]=(0,s.useReducer)(c,a),d=(0,s.useCallback)(async()=>{t({type:"SET_LOADING",isLoading:!0}),t({type:"SET_ERROR",error:null});try{let e=await n.Iv.getAll();t({type:"SET_WORKTREES",worktrees:e.worktrees})}catch(e){t({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktrees"})}},[]),l=(0,s.useCallback)(async e=>{t({type:"SELECT_WORKTREE",id:e}),t({type:"SET_LOADING_DETAIL",isLoadingDetail:!0}),t({type:"SET_ERROR",error:null});try{n.Iv.markAsViewed(e).catch(e=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",e)});let r=await n.Iv.getById(e);t({type:"SET_WORKTREE_DETAIL",detail:r})}catch(e){t({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktree detail"})}finally{t({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),u=(0,s.useCallback)(async()=>{await d()},[d]),p={selectedWorktreeId:r.selectedWorktreeId,worktrees:r.worktrees,selectedWorktreeDetail:r.selectedWorktreeDetail,isLoadingDetail:r.isLoadingDetail,error:r.error,selectWorktree:l,refreshWorktrees:u};return o.jsx(i.Provider,{value:p,children:e})}function l(){let e=(0,s.useContext)(i);if(!e)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return e}},73002:(e,r,t)=>{"use strict";t.d(r,{Iv:()=>n,J1:()=>i,nE:()=>a,zG:()=>c});class o extends Error{constructor(e,r,t){super(e),this.status=r,this.data=t,this.name="ApiError"}}async function s(e,r){try{let t=new Headers(r?.headers);t.set("Content-Type","application/json");let s=await fetch(e,{...r,headers:t}),n=s.headers.get("content-type")||"";if(s.redirected&&s.url.includes("/login"))throw new o("Authentication required",401);if(!s.ok){let e=n.includes("application/json")?await s.json().catch(()=>({})):{};throw new o(e.error||`HTTP error ${s.status}`,s.status,e)}if(!n.includes("application/json"))throw new o("Unexpected response format",s.status);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/${e}`),updateDescription:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({description:r})}),updateLink:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({link:r})}),toggleFavorite:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({favorite:r})}),updateStatus:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({status:r})}),updateCliTool:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({cliToolId:r})}),markAsViewed:async e=>s(`/api/worktrees/${e}/viewed`,{method:"PATCH"}),async getMessages(e,r){let t=new URLSearchParams;return r&&t.append("cliTool",r),s(`/api/worktrees/${e}/messages${t.toString()?`?${t.toString()}`:""}`)},async sendMessage(e,r,t){let o={content:r};return t&&(o.cliToolId=t),s(`/api/worktrees/${e}/send`,{method:"POST",body:JSON.stringify(o)})},getLogs:async e=>s(`/api/worktrees/${e}/logs`),async getLogFile(e,r,t){let o=t?.sanitize?"?sanitize=true":"";return s(`/api/worktrees/${e}/logs/${r}${o}`)},killSession:async(e,r)=>s(`/api/worktrees/${e}/kill-session`,{method:"POST",body:r?JSON.stringify({cliToolId:r}):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/${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/${e}/memos`)).memos,create:async(e,r)=>(await s(`/api/worktrees/${e}/memos`,{method:"POST",body:JSON.stringify(r||{})})).memo,update:async(e,r,t)=>(await s(`/api/worktrees/${e}/memos/${r}`,{method:"PUT",body:JSON.stringify(t)})).memo,delete:async(e,r)=>s(`/api/worktrees/${e}/memos/${r}`,{method:"DELETE"})};function c(e){return e instanceof o||e instanceof Error?e.message:"An unknown error occurred"}},25086:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>d,metadata:()=>c});var o=t(19510),s=t(2126),n=t(89907),i=t(57735);let a=(0,t(68570).createProxy)(String.raw`/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx#AppProviders`);t(5023);let c={title:"CommandMate",description:"Git worktree management with Claude CLI and tmux sessions"};async function d({children:e}){let r=await (0,s.Z)(),t=await (0,n.Z)(),c=await (0,i.Z)();return o.jsx("html",{lang:r,children:o.jsx("body",{className:"min-h-screen bg-gray-50",children:o.jsx(a,{locale:r,messages:t,timeZone:c,authEnabled:!!process.env.CM_AUTH_TOKEN_HASH,children:e})})})}},72901:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});var o=t(10442),s=t(71615);let n=["en","ja"],i=(0,o.Z)(async({requestLocale:e})=>{let r=await e;if(!r||!n.includes(r)){let e=await (0,s.cookies)(),t=e.get("locale")?.value;if(t&&n.includes(t))r=t;else{let e=(await (0,s.headers)()).get("accept-language")??"";r=n.find(r=>e.includes(r))??"en"}}let[o,i,a,c,d,l]=await Promise.all([t(41440)(`./${r}/common.json`),t(31985)(`./${r}/worktree.json`),t(34519)(`./${r}/autoYes.json`),t(87269)(`./${r}/error.json`),t(35268)(`./${r}/prompt.json`),t(4703)(`./${r}/auth.json`)]);return{locale:r,timeZone:"UTC",messages:{common:o.default,worktree:i.default,autoYes:a.default,error:c.default,prompt:d.default,auth:l.default}}})},5023:()=>{}};
|
|
1
|
+
exports.id=3860,exports.ids=[3860],exports.modules={4703:(e,r,t)=>{var o={"./en/auth.json":[5795,5795],"./ja/auth.json":[73074,3074]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=4703,e.exports=s},34519:(e,r,t)=>{var o={"./en/autoYes.json":[58744,8744],"./ja/autoYes.json":[80369,369]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=34519,e.exports=s},41440:(e,r,t)=>{var o={"./en/common.json":[39582,9582],"./ja/common.json":[93348,3348]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=41440,e.exports=s},87269:(e,r,t)=>{var o={"./en/error.json":[17266,7266],"./ja/error.json":[16837,6837]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=87269,e.exports=s},35268:(e,r,t)=>{var o={"./en/prompt.json":[94559,4559],"./ja/prompt.json":[45853,5853]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=35268,e.exports=s},16114:(e,r,t)=>{var o={"./en/schedule.json":[86228,6228],"./ja/schedule.json":[82314,2314]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=16114,e.exports=s},31985:(e,r,t)=>{var o={"./en/worktree.json":[32683,2683],"./ja/worktree.json":[95823,5823]};function s(e){if(!t.o(o,e))return Promise.resolve().then(()=>{var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r});var r=o[e],s=r[0];return t.e(r[1]).then(()=>t.t(s,19))}s.keys=()=>Object.keys(o),s.id=31985,e.exports=s},20319:(e,r,t)=>{Promise.resolve().then(t.t.bind(t,12994,23)),Promise.resolve().then(t.t.bind(t,96114,23)),Promise.resolve().then(t.t.bind(t,9727,23)),Promise.resolve().then(t.t.bind(t,79671,23)),Promise.resolve().then(t.t.bind(t,41868,23)),Promise.resolve().then(t.t.bind(t,84759,23))},47864:(e,r,t)=>{Promise.resolve().then(t.bind(t,2108))},2108:(e,r,t)=>{"use strict";t.d(r,{AppProviders:()=>d});var o=t(10326),s=t(5269),n=t(87403),i=t(3885),a=t(94001);function d({children:e,locale:r,messages:t,timeZone:d,authEnabled:c=!1}){return o.jsx(s.Z,{locale:r,messages:t,timeZone:d,children:o.jsx(a.H,{authEnabled:c,children:o.jsx(n.Hn,{children:o.jsx(i._I,{children:e})})})})}},94001:(e,r,t)=>{"use strict";t.d(r,{H:()=>i,m:()=>a});var o=t(10326),s=t(17577);let n=(0,s.createContext)(!1);function i({children:e,authEnabled:r}){return o.jsx(n.Provider,{value:r,children:e})}function a(){return(0,s.useContext)(n)}},87403:(e,r,t)=>{"use strict";t.d(r,{Hn:()=>a,Sz:()=>d});var o=t(10326),s=t(17577);let n=(0,s.createContext)(null);function i(e,r){switch(r.type){case"TOGGLE":return{...e,isOpen:!e.isOpen};case"SET_WIDTH":return{...e,width:r.width};case"OPEN_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...e,sortKey:r.sortKey};case"SET_SORT_DIRECTION":return{...e,sortDirection:r.sortDirection};case"LOAD_SORT_SETTINGS":return{...e,sortKey:r.sortKey,sortDirection:r.sortDirection};default:return e}}function a({children:e,initialOpen:r=!0,initialWidth:t=288}){let[a,d]=(0,s.useReducer)(i,{isOpen:r,width:t,isMobileDrawerOpen:!1,sortKey:"updatedAt",sortDirection:"desc"}),c=(0,s.useCallback)(()=>{d({type:"TOGGLE"})},[]),l=(0,s.useCallback)(e=>{d({type:"SET_WIDTH",width:e})},[]),u=(0,s.useCallback)(()=>{d({type:"OPEN_MOBILE_DRAWER"})},[]),p=(0,s.useCallback)(()=>{d({type:"CLOSE_MOBILE_DRAWER"})},[]),y=(0,s.useCallback)(e=>{d({type:"SET_SORT_KEY",sortKey:e})},[]),h=(0,s.useCallback)(e=>{d({type:"SET_SORT_DIRECTION",sortDirection:e})},[]),m={isOpen:a.isOpen,width:a.width,isMobileDrawerOpen:a.isMobileDrawerOpen,sortKey:a.sortKey,sortDirection:a.sortDirection,toggle:c,setWidth:l,openMobileDrawer:u,closeMobileDrawer:p,setSortKey:y,setSortDirection:h};return o.jsx(n.Provider,{value:m,children:e})}function d(){let e=(0,s.useContext)(n);if(!e)throw Error("useSidebarContext must be used within a SidebarProvider");return e}},3885:(e,r,t)=>{"use strict";t.d(r,{Mu:()=>l,_I:()=>c});var o=t(10326),s=t(17577),n=t(73002);let i=(0,s.createContext)(null),a={selectedWorktreeId:null,worktrees:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function d(e,r){switch(r.type){case"SET_WORKTREES":return{...e,worktrees:r.worktrees,isLoading:!1};case"SELECT_WORKTREE":return{...e,selectedWorktreeId:r.id};case"SET_WORKTREE_DETAIL":return{...e,selectedWorktreeDetail:r.detail};case"SET_LOADING":return{...e,isLoading:r.isLoading};case"SET_LOADING_DETAIL":return{...e,isLoadingDetail:r.isLoadingDetail};case"SET_ERROR":return{...e,error:r.error,isLoading:!1};default:return e}}function c({children:e}){let[r,t]=(0,s.useReducer)(d,a),c=(0,s.useCallback)(async()=>{t({type:"SET_LOADING",isLoading:!0}),t({type:"SET_ERROR",error:null});try{let e=await n.Iv.getAll();t({type:"SET_WORKTREES",worktrees:e.worktrees})}catch(e){t({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktrees"})}},[]),l=(0,s.useCallback)(async e=>{t({type:"SELECT_WORKTREE",id:e}),t({type:"SET_LOADING_DETAIL",isLoadingDetail:!0}),t({type:"SET_ERROR",error:null});try{n.Iv.markAsViewed(e).catch(e=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",e)});let r=await n.Iv.getById(e);t({type:"SET_WORKTREE_DETAIL",detail:r})}catch(e){t({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktree detail"})}finally{t({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),u=(0,s.useCallback)(async()=>{await c()},[c]),p={selectedWorktreeId:r.selectedWorktreeId,worktrees:r.worktrees,selectedWorktreeDetail:r.selectedWorktreeDetail,isLoadingDetail:r.isLoadingDetail,error:r.error,selectWorktree:l,refreshWorktrees:u};return o.jsx(i.Provider,{value:p,children:e})}function l(){let e=(0,s.useContext)(i);if(!e)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return e}},73002:(e,r,t)=>{"use strict";t.d(r,{Iv:()=>n,J1:()=>i,nE:()=>a,zG:()=>d});class o extends Error{constructor(e,r,t){super(e),this.status=r,this.data=t,this.name="ApiError"}}async function s(e,r){try{let t=new Headers(r?.headers);t.set("Content-Type","application/json");let s=await fetch(e,{...r,headers:t}),n=s.headers.get("content-type")||"";if(s.redirected&&s.url.includes("/login"))throw new o("Authentication required",401);if(!s.ok){let e=n.includes("application/json")?await s.json().catch(()=>({})):{};throw new o(e.error||`HTTP error ${s.status}`,s.status,e)}if(!n.includes("application/json"))throw new o("Unexpected response format",s.status);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/${e}`),updateDescription:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({description:r})}),updateLink:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({link:r})}),toggleFavorite:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({favorite:r})}),updateStatus:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({status:r})}),updateCliTool:async(e,r)=>s(`/api/worktrees/${e}`,{method:"PATCH",body:JSON.stringify({cliToolId:r})}),markAsViewed:async e=>s(`/api/worktrees/${e}/viewed`,{method:"PATCH"}),async getMessages(e,r){let t=new URLSearchParams;return r&&t.append("cliTool",r),s(`/api/worktrees/${e}/messages${t.toString()?`?${t.toString()}`:""}`)},async sendMessage(e,r,t){let o={content:r};return t&&(o.cliToolId=t),s(`/api/worktrees/${e}/send`,{method:"POST",body:JSON.stringify(o)})},getLogs:async e=>s(`/api/worktrees/${e}/logs`),async getLogFile(e,r,t){let o=t?.sanitize?"?sanitize=true":"";return s(`/api/worktrees/${e}/logs/${r}${o}`)},killSession:async(e,r)=>s(`/api/worktrees/${e}/kill-session`,{method:"POST",body:r?JSON.stringify({cliToolId:r}):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/${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/${e}/memos`)).memos,create:async(e,r)=>(await s(`/api/worktrees/${e}/memos`,{method:"POST",body:JSON.stringify(r||{})})).memo,update:async(e,r,t)=>(await s(`/api/worktrees/${e}/memos/${r}`,{method:"PUT",body:JSON.stringify(t)})).memo,delete:async(e,r)=>s(`/api/worktrees/${e}/memos/${r}`,{method:"DELETE"})};function d(e){return e instanceof o||e instanceof Error?e.message:"An unknown error occurred"}},25086:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>c,metadata:()=>d});var o=t(19510),s=t(2126),n=t(89907),i=t(57735);let a=(0,t(68570).createProxy)(String.raw`/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx#AppProviders`);t(5023);let d={title:"CommandMate",description:"Git worktree management with Claude CLI and tmux sessions"};async function c({children:e}){let r=await (0,s.Z)(),t=await (0,n.Z)(),d=await (0,i.Z)();return o.jsx("html",{lang:r,children:o.jsx("body",{className:"min-h-screen bg-gray-50",children:o.jsx(a,{locale:r,messages:t,timeZone:d,authEnabled:!!process.env.CM_AUTH_TOKEN_HASH,children:e})})})}},72901:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});var o=t(10442),s=t(71615);let n=["en","ja"],i=(0,o.Z)(async({requestLocale:e})=>{let r=await e;if(!r||!n.includes(r)){let e=await (0,s.cookies)(),t=e.get("locale")?.value;if(t&&n.includes(t))r=t;else{let e=(await (0,s.headers)()).get("accept-language")??"";r=n.find(r=>e.includes(r))??"en"}}let[o,i,a,d,c,l,u]=await Promise.all([t(41440)(`./${r}/common.json`),t(31985)(`./${r}/worktree.json`),t(34519)(`./${r}/autoYes.json`),t(87269)(`./${r}/error.json`),t(35268)(`./${r}/prompt.json`),t(4703)(`./${r}/auth.json`),t(16114)(`./${r}/schedule.json`)]);return{locale:r,timeZone:"UTC",messages:{common:o.default,worktree:i.default,autoYes:a.default,error:d.default,prompt:c.default,auth:l.default,schedule:u.default}}})},5023:()=>{}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=6228,exports.ids=[6228],exports.modules={86228:e=>{e.exports=JSON.parse('{"title":"Schedules","executionLogs":"Execution Logs","noSchedules":"No schedules configured. Add a CMATE.md with a Schedules section.","noSchedulesTitle":"No schedules configured","noSchedulesStep1":"Switch to the Files tab","noSchedulesStep2":"Click the CMATE button in the toolbar to create CMATE.md","noSchedulesStep3":"Edit the Schedules table (Name, Cron, Message, CLI Tool, Enabled, Permission)","noSchedulesStep4":"Click CMATE again to validate","noLogs":"No execution logs yet.","status":{"running":"Running","completed":"Completed","failed":"Failed","timeout":"Timeout","cancelled":"Cancelled"},"enabled":"Enabled","disabled":"Disabled","lastRun":"Last run","cron":"Cron","exitCode":"Exit","noOutput":"(no output)","message":"Message","response":"Response","unknownSchedule":"(deleted schedule)","retry":"Retry","loading":"Loading...","notes":"Notes","logs":"Schedules","notesAndLogs":"CMATE","cmateCreated":"CMATE.md created with template. Edit it to configure schedules.","cmateValidation":{"noSchedulesSection":"CMATE.md has no Schedules section.","valid":"{count} schedule(s) validated successfully.","errors":"{errorCount} validation error(s) found: {details}","failed":"Failed to process CMATE.md."}}')}};
|
|
@@ -1,4 +1,4 @@
|
|
|
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,{
|
|
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.r(t),s.d(t,{closeDbInstance:()=>c,getDbInstance:()=>p});var r=s(85890),a=s.n(r),o=s(55315),i=s.n(o),E=s(75748);let _=[{version:1,name:"initial-schema",up:e=>{(0,E.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;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
SET repository_path = ?,
|
|
13
13
|
repository_name = ?
|
|
14
14
|
WHERE id = ?
|
|
15
|
-
`);for(let e of t){let t=
|
|
15
|
+
`);for(let e of t){let t=n(e.path),r=i().basename(t);s.run(t,r,e.id)}let r=e.prepare(`
|
|
16
16
|
UPDATE worktrees
|
|
17
17
|
SET last_user_message = ?,
|
|
18
18
|
last_user_message_at = ?
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
SET repository_path = ?,
|
|
57
57
|
repository_name = ?
|
|
58
58
|
WHERE id = ?
|
|
59
|
-
`);for(let e of t){let t=
|
|
59
|
+
`);for(let e of t){let t=n(e.path),r=i().basename(t);s.run(t,r,e.id)}},down:()=>{console.log("No rollback needed for repository path fix")}},{version:4,name:"add-favorite-field",up:e=>{e.exec(`
|
|
60
60
|
ALTER TABLE worktrees ADD COLUMN favorite INTEGER DEFAULT 0;
|
|
61
61
|
`),e.exec(`
|
|
62
62
|
CREATE INDEX IF NOT EXISTS idx_worktrees_favorite
|
|
@@ -372,16 +372,71 @@
|
|
|
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")}}
|
|
375
|
+
`),console.log("✓ Removed issue_no column from external_apps table")}},{version:17,name:"add-scheduled-executions-and-execution-logs",up:e=>{e.exec(`
|
|
376
|
+
DELETE FROM chat_messages WHERE worktree_id NOT IN (SELECT id FROM worktrees);
|
|
377
|
+
`),e.exec(`
|
|
378
|
+
DELETE FROM session_states WHERE worktree_id NOT IN (SELECT id FROM worktrees);
|
|
379
|
+
`),e.exec(`
|
|
380
|
+
DELETE FROM worktree_memos WHERE worktree_id NOT IN (SELECT id FROM worktrees);
|
|
381
|
+
`),e.exec(`
|
|
382
|
+
UPDATE clone_jobs SET repository_id = NULL
|
|
383
|
+
WHERE repository_id IS NOT NULL AND repository_id NOT IN (SELECT id FROM repositories);
|
|
384
|
+
`),e.exec(`
|
|
385
|
+
CREATE TABLE scheduled_executions (
|
|
386
|
+
id TEXT PRIMARY KEY,
|
|
387
|
+
worktree_id TEXT NOT NULL,
|
|
388
|
+
cli_tool_id TEXT DEFAULT 'claude',
|
|
389
|
+
name TEXT NOT NULL,
|
|
390
|
+
message TEXT NOT NULL,
|
|
391
|
+
cron_expression TEXT,
|
|
392
|
+
enabled INTEGER DEFAULT 1,
|
|
393
|
+
last_executed_at INTEGER,
|
|
394
|
+
next_execute_at INTEGER,
|
|
395
|
+
created_at INTEGER NOT NULL,
|
|
396
|
+
updated_at INTEGER NOT NULL,
|
|
397
|
+
UNIQUE(worktree_id, name),
|
|
398
|
+
FOREIGN KEY (worktree_id) REFERENCES worktrees(id) ON DELETE CASCADE
|
|
399
|
+
);
|
|
400
|
+
`),e.exec(`
|
|
401
|
+
CREATE INDEX idx_scheduled_executions_worktree
|
|
402
|
+
ON scheduled_executions(worktree_id);
|
|
403
|
+
`),e.exec(`
|
|
404
|
+
CREATE INDEX idx_scheduled_executions_enabled
|
|
405
|
+
ON scheduled_executions(enabled);
|
|
406
|
+
`),e.exec(`
|
|
407
|
+
CREATE TABLE execution_logs (
|
|
408
|
+
id TEXT PRIMARY KEY,
|
|
409
|
+
schedule_id TEXT NOT NULL,
|
|
410
|
+
worktree_id TEXT NOT NULL,
|
|
411
|
+
message TEXT NOT NULL,
|
|
412
|
+
result TEXT,
|
|
413
|
+
exit_code INTEGER,
|
|
414
|
+
status TEXT DEFAULT 'running' CHECK(status IN ('running', 'completed', 'failed', 'timeout', 'cancelled')),
|
|
415
|
+
started_at INTEGER NOT NULL,
|
|
416
|
+
completed_at INTEGER,
|
|
417
|
+
created_at INTEGER NOT NULL,
|
|
418
|
+
FOREIGN KEY (schedule_id) REFERENCES scheduled_executions(id) ON DELETE CASCADE,
|
|
419
|
+
FOREIGN KEY (worktree_id) REFERENCES worktrees(id) ON DELETE CASCADE
|
|
420
|
+
);
|
|
421
|
+
`),e.exec(`
|
|
422
|
+
CREATE INDEX idx_execution_logs_schedule
|
|
423
|
+
ON execution_logs(schedule_id);
|
|
424
|
+
`),e.exec(`
|
|
425
|
+
CREATE INDEX idx_execution_logs_worktree
|
|
426
|
+
ON execution_logs(worktree_id);
|
|
427
|
+
`),e.exec(`
|
|
428
|
+
CREATE INDEX idx_execution_logs_status
|
|
429
|
+
ON execution_logs(status);
|
|
430
|
+
`),console.log("✓ Cleaned up orphan records"),console.log("✓ Created scheduled_executions table"),console.log("✓ Created execution_logs table"),console.log("✓ Created indexes for schedule tables")},down:e=>{e.exec("DROP INDEX IF EXISTS idx_execution_logs_status"),e.exec("DROP INDEX IF EXISTS idx_execution_logs_worktree"),e.exec("DROP INDEX IF EXISTS idx_execution_logs_schedule"),e.exec("DROP TABLE IF EXISTS execution_logs"),e.exec("DROP INDEX IF EXISTS idx_scheduled_executions_enabled"),e.exec("DROP INDEX IF EXISTS idx_scheduled_executions_worktree"),e.exec("DROP TABLE IF EXISTS scheduled_executions"),console.log("✓ Dropped scheduled_executions and execution_logs tables")}}];function n(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}),(T=new(a())(e)).pragma("foreign_keys = ON"),function(e){!function(e){e.exec(`
|
|
376
431
|
CREATE TABLE IF NOT EXISTS schema_version (
|
|
377
432
|
version INTEGER PRIMARY KEY,
|
|
378
433
|
name TEXT NOT NULL,
|
|
379
434
|
applied_at INTEGER NOT NULL
|
|
380
435
|
);
|
|
381
|
-
`)}(e);let t=l(e);console.log(`Current schema version: ${t}`);let s=
|
|
436
|
+
`)}(e);let t=l(e);console.log(`Current schema version: ${t}`);let s=_.filter(e=>e.version>t);if(0===s.length){console.log("✓ Schema is up to date");return}for(let t of(console.log(`Found ${s.length} pending migration(s)`),s)){console.log(`Applying migration ${t.version}: ${t.name}...`);try{e.transaction(()=>{t.up(e),e.prepare(`
|
|
382
437
|
INSERT INTO schema_version (version, name, applied_at)
|
|
383
438
|
VALUES (?, ?, ?)
|
|
384
|
-
`).run(t.version,t.name,Date.now())})(),console.log(`✓ Migration ${t.version} applied successfully`)}catch(s){let e=s instanceof Error?s.message:String(s);throw console.error(`✗ Migration ${t.version} failed:`,e),Error(`Migration ${t.version} (${t.name}) failed: ${e}`)}}console.log(`✓ All migrations completed. Current version: ${l(e)}`)}(T
|
|
439
|
+
`).run(t.version,t.name,Date.now())})(),console.log(`✓ Migration ${t.version} applied successfully`)}catch(s){let e=s instanceof Error?s.message:String(s);throw console.error(`✗ Migration ${t.version} failed:`,e),Error(`Migration ${t.version} (${t.name}) failed: ${e}`)}}console.log(`✓ All migrations completed. Current version: ${l(e)}`)}(T)}return T}function c(){T&&(T.close(),T=null)}},75748:(e,t,s)=>{s.d(t,{DF:()=>v,Db:()=>X,ER:()=>E,Ek:()=>M,GA:()=>D,GP:()=>A,GZ:()=>N,HE:()=>u,IH:()=>L,Mf:()=>I,Nf:()=>k,Nr:()=>f,OK:()=>O,Of:()=>T,Pv:()=>b,Q7:()=>y,R3:()=>S,S$:()=>g,VW:()=>x,Xv:()=>i,ZI:()=>h,_U:()=>c,_e:()=>F,dD:()=>U,gU:()=>_,j8:()=>w,ly:()=>n,pM:()=>P,qZ:()=>o,tn:()=>p,vX:()=>m,xr:()=>l,y:()=>d,zl:()=>R});var r=s(84770);function a(e){return{id:e.id,worktreeId:e.worktree_id,role:e.role,content:e.content,summary:e.summary||void 0,timestamp:new Date(e.timestamp),logFileName:e.log_file_name||void 0,requestId:e.request_id||void 0,messageType:e.message_type||"normal",promptData:e.prompt_data?JSON.parse(e.prompt_data):void 0,cliToolId:e.cli_tool_id??"claude"}}function o(e){e.exec(`
|
|
385
440
|
CREATE TABLE IF NOT EXISTS worktrees (
|
|
386
441
|
id TEXT PRIMARY KEY,
|
|
387
442
|
name TEXT NOT NULL,
|
|
@@ -455,7 +510,7 @@
|
|
|
455
510
|
SELECT worktree_id, cli_tool_id, content
|
|
456
511
|
FROM ranked_messages
|
|
457
512
|
WHERE rn = 1
|
|
458
|
-
`).all(...t),a=new Map;for(let e of t)a.set(e,{});for(let e of r){let t=a.get(e.worktree_id)||{};t[e.cli_tool_id]=e.content.substring(0,50),a.set(e.worktree_id,t)}return a}(e,a.map(e=>e.id));return a.map(e=>{let t=o.get(e.id)||{};return{id:e.id,name:e.name,path:e.path,repositoryPath:e.repository_path||"",repositoryName:e.repository_name||"",description:e.description||void 0,lastUserMessage:e.last_user_message||void 0,lastUserMessageAt:e.last_user_message_at?new Date(e.last_user_message_at):void 0,lastMessageSummary:e.last_message_summary||void 0,lastMessagesByCli:t,updatedAt:e.updated_at?new Date(e.updated_at):void 0,lastViewedAt:e.last_viewed_at?new Date(e.last_viewed_at):void 0,lastAssistantMessageAt:e.last_assistant_message_at?new Date(e.last_assistant_message_at):void 0,favorite:1===e.favorite,status:e.status||null,link:e.link||void 0,cliToolId:e.cli_tool_id??"claude"}})}function
|
|
513
|
+
`).all(...t),a=new Map;for(let e of t)a.set(e,{});for(let e of r){let t=a.get(e.worktree_id)||{};t[e.cli_tool_id]=e.content.substring(0,50),a.set(e.worktree_id,t)}return a}(e,a.map(e=>e.id));return a.map(e=>{let t=o.get(e.id)||{};return{id:e.id,name:e.name,path:e.path,repositoryPath:e.repository_path||"",repositoryName:e.repository_name||"",description:e.description||void 0,lastUserMessage:e.last_user_message||void 0,lastUserMessageAt:e.last_user_message_at?new Date(e.last_user_message_at):void 0,lastMessageSummary:e.last_message_summary||void 0,lastMessagesByCli:t,updatedAt:e.updated_at?new Date(e.updated_at):void 0,lastViewedAt:e.last_viewed_at?new Date(e.last_viewed_at):void 0,lastAssistantMessageAt:e.last_assistant_message_at?new Date(e.last_assistant_message_at):void 0,favorite:1===e.favorite,status:e.status||null,link:e.link||void 0,cliToolId:e.cli_tool_id??"claude"}})}function E(e){return e.prepare(`
|
|
459
514
|
SELECT
|
|
460
515
|
repository_path as path,
|
|
461
516
|
repository_name as name,
|
|
@@ -464,7 +519,7 @@
|
|
|
464
519
|
WHERE repository_path IS NOT NULL
|
|
465
520
|
GROUP BY repository_path, repository_name
|
|
466
521
|
ORDER BY repository_name ASC
|
|
467
|
-
`).all().map(e=>({path:e.path,name:e.name,worktreeCount:e.worktree_count}))}function
|
|
522
|
+
`).all().map(e=>({path:e.path,name:e.name,worktreeCount:e.worktree_count}))}function _(e,t){let s=e.prepare(`
|
|
468
523
|
SELECT
|
|
469
524
|
w.id, w.name, w.path, w.repository_path, w.repository_name, w.description,
|
|
470
525
|
w.last_user_message, w.last_user_message_at, w.last_message_summary,
|
|
@@ -473,7 +528,7 @@
|
|
|
473
528
|
WHERE worktree_id = w.id AND role = 'assistant') as last_assistant_message_at
|
|
474
529
|
FROM worktrees w
|
|
475
530
|
WHERE w.id = ?
|
|
476
|
-
`).get(t);return s?{id:s.id,name:s.name,path:s.path,repositoryPath:s.repository_path||"",repositoryName:s.repository_name||"",description:s.description||void 0,lastUserMessage:s.last_user_message||void 0,lastUserMessageAt:s.last_user_message_at?new Date(s.last_user_message_at):void 0,lastMessageSummary:s.last_message_summary||void 0,updatedAt:s.updated_at?new Date(s.updated_at):void 0,lastViewedAt:s.last_viewed_at?new Date(s.last_viewed_at):void 0,lastAssistantMessageAt:s.last_assistant_message_at?new Date(s.last_assistant_message_at):void 0,favorite:1===s.favorite,status:s.status||null,link:s.link||void 0,cliToolId:s.cli_tool_id??"claude"}:null}function
|
|
531
|
+
`).get(t);return s?{id:s.id,name:s.name,path:s.path,repositoryPath:s.repository_path||"",repositoryName:s.repository_name||"",description:s.description||void 0,lastUserMessage:s.last_user_message||void 0,lastUserMessageAt:s.last_user_message_at?new Date(s.last_user_message_at):void 0,lastMessageSummary:s.last_message_summary||void 0,updatedAt:s.updated_at?new Date(s.updated_at):void 0,lastViewedAt:s.last_viewed_at?new Date(s.last_viewed_at):void 0,lastAssistantMessageAt:s.last_assistant_message_at?new Date(s.last_assistant_message_at):void 0,favorite:1===s.favorite,status:s.status||null,link:s.link||void 0,cliToolId:s.cli_tool_id??"claude"}:null}function n(e,t){e.prepare("DELETE FROM worktrees WHERE path = ? AND id != ?").run(t.path,t.id),e.prepare(`
|
|
477
532
|
INSERT INTO worktrees (
|
|
478
533
|
id, name, path, repository_path, repository_name, description,
|
|
479
534
|
last_user_message, last_user_message_at, last_message_summary, updated_at, cli_tool_id
|
|
@@ -510,11 +565,11 @@
|
|
|
510
565
|
UPDATE worktrees
|
|
511
566
|
SET updated_at = ?
|
|
512
567
|
WHERE id = ?
|
|
513
|
-
`).run(s.getTime(),t)}(e,t.worktreeId,t.timestamp),"user"===t.role&&
|
|
568
|
+
`).run(s.getTime(),t)}(e,t.worktreeId,t.timestamp),"user"===t.role&&O(e,t.worktreeId,t.content,t.timestamp),{id:s,...t}}function c(e,t,s,r=50,o){let i=`
|
|
514
569
|
SELECT id, worktree_id, role, content, summary, timestamp, log_file_name, request_id, message_type, prompt_data, cli_tool_id
|
|
515
570
|
FROM chat_messages
|
|
516
571
|
WHERE worktree_id = ? AND (? IS NULL OR timestamp < ?)
|
|
517
|
-
`,
|
|
572
|
+
`,E=[t,s?.getTime()||null,s?.getTime()||null];return o&&(i+=" AND cli_tool_id = ?",E.push(o)),i+=" ORDER BY timestamp DESC LIMIT ?",E.push(r),e.prepare(i).all(...E).map(a)}function m(e,t){let s=e.prepare(`
|
|
518
573
|
SELECT id, worktree_id, role, content, summary, timestamp, log_file_name, request_id, message_type, prompt_data, cli_tool_id
|
|
519
574
|
FROM chat_messages
|
|
520
575
|
WHERE worktree_id = ? AND role = 'user'
|
|
@@ -526,40 +581,40 @@
|
|
|
526
581
|
`).run(t),console.log(`[deleteAllMessages] Deleted all messages for worktree: ${t}`)}function N(e,t,s){let r=e.prepare(`
|
|
527
582
|
DELETE FROM chat_messages
|
|
528
583
|
WHERE worktree_id = ? AND cli_tool_id = ?
|
|
529
|
-
`).run(t,s);return console.log(`[deleteMessagesByCliTool] Deleted ${r.changes} messages for worktree: ${t}, cliTool: ${s}`),r.changes}function
|
|
584
|
+
`).run(t,s);return console.log(`[deleteMessagesByCliTool] Deleted ${r.changes} messages for worktree: ${t}, cliTool: ${s}`),r.changes}function R(e,t,s="claude"){let r=e.prepare(`
|
|
530
585
|
SELECT worktree_id, cli_tool_id, last_captured_line, in_progress_message_id
|
|
531
586
|
FROM session_states
|
|
532
587
|
WHERE worktree_id = ? AND cli_tool_id = ?
|
|
533
|
-
`).get(t,s);return r?{worktreeId:r.worktree_id,cliToolId:r.cli_tool_id,lastCapturedLine:r.last_captured_line,inProgressMessageId:r.in_progress_message_id||null}:null}function
|
|
588
|
+
`).get(t,s);return r?{worktreeId:r.worktree_id,cliToolId:r.cli_tool_id,lastCapturedLine:r.last_captured_line,inProgressMessageId:r.in_progress_message_id||null}:null}function L(e,t,s,r){e.prepare(`
|
|
534
589
|
INSERT INTO session_states (worktree_id, cli_tool_id, last_captured_line)
|
|
535
590
|
VALUES (?, ?, ?)
|
|
536
591
|
ON CONFLICT(worktree_id, cli_tool_id) DO UPDATE SET
|
|
537
592
|
last_captured_line = excluded.last_captured_line
|
|
538
|
-
`).run(t,s,r)}function
|
|
593
|
+
`).run(t,s,r)}function I(e,t,s){!function(e,t,s,r){e.prepare(`
|
|
539
594
|
INSERT INTO session_states (worktree_id, cli_tool_id, last_captured_line, in_progress_message_id)
|
|
540
595
|
VALUES (?, ?, 0, ?)
|
|
541
596
|
ON CONFLICT(worktree_id, cli_tool_id) DO UPDATE SET
|
|
542
597
|
in_progress_message_id = excluded.in_progress_message_id
|
|
543
|
-
`).run(t,s,null)}(e,t,s,0)}function
|
|
598
|
+
`).run(t,s,null)}(e,t,s,0)}function w(e,t,s){s?e.prepare(`
|
|
544
599
|
DELETE FROM session_states
|
|
545
600
|
WHERE worktree_id = ? AND cli_tool_id = ?
|
|
546
601
|
`).run(t,s):e.prepare(`
|
|
547
602
|
DELETE FROM session_states
|
|
548
603
|
WHERE worktree_id = ?
|
|
549
|
-
`).run(t)}function
|
|
604
|
+
`).run(t)}function O(e,t,s,r){let a=e.prepare(`
|
|
550
605
|
UPDATE worktrees
|
|
551
606
|
SET last_user_message = ?,
|
|
552
607
|
last_user_message_at = ?
|
|
553
608
|
WHERE id = ?
|
|
554
|
-
`),o=s.substring(0,200);a.run(o,r.getTime(),t)}function
|
|
609
|
+
`),o=s.substring(0,200);a.run(o,r.getTime(),t)}function g(e,t){let s=e.prepare(`
|
|
555
610
|
SELECT id, worktree_id, role, content, summary, timestamp, log_file_name, request_id, message_type, prompt_data, cli_tool_id
|
|
556
611
|
FROM chat_messages
|
|
557
612
|
WHERE id = ?
|
|
558
|
-
`).get(t);return s?a(s):null}function
|
|
613
|
+
`).get(t);return s?a(s):null}function D(e,t,s){e.prepare(`
|
|
559
614
|
UPDATE chat_messages
|
|
560
615
|
SET prompt_data = ?
|
|
561
616
|
WHERE id = ?
|
|
562
|
-
`).run(JSON.stringify(s),t)}function
|
|
617
|
+
`).run(JSON.stringify(s),t)}function A(e,t,s){let r=e.prepare(`
|
|
563
618
|
SELECT id, prompt_data
|
|
564
619
|
FROM chat_messages
|
|
565
620
|
WHERE worktree_id = ?
|
|
@@ -579,41 +634,41 @@
|
|
|
579
634
|
UPDATE worktrees
|
|
580
635
|
SET status = ?
|
|
581
636
|
WHERE id = ?
|
|
582
|
-
`).run(s,t)}function
|
|
637
|
+
`).run(s,t)}function x(e,t,s){e.prepare(`
|
|
583
638
|
UPDATE worktrees
|
|
584
639
|
SET cli_tool_id = ?
|
|
585
640
|
WHERE id = ?
|
|
586
|
-
`).run(s,t)}function
|
|
641
|
+
`).run(s,t)}function C(e){return{id:e.id,worktreeId:e.worktree_id,title:e.title,content:e.content,position:e.position,createdAt:new Date(e.created_at),updatedAt:new Date(e.updated_at)}}function X(e,t){return e.prepare(`
|
|
587
642
|
SELECT id, worktree_id, title, content, position, created_at, updated_at
|
|
588
643
|
FROM worktree_memos
|
|
589
644
|
WHERE worktree_id = ?
|
|
590
645
|
ORDER BY position ASC
|
|
591
|
-
`).all(t).map(
|
|
646
|
+
`).all(t).map(C)}function h(e,t){let s=e.prepare(`
|
|
592
647
|
SELECT id, worktree_id, title, content, position, created_at, updated_at
|
|
593
648
|
FROM worktree_memos
|
|
594
649
|
WHERE id = ?
|
|
595
|
-
`).get(t);return s?
|
|
650
|
+
`).get(t);return s?C(s):null}function U(e,t,s){let a=(0,r.randomUUID)(),o=Date.now(),i=s.title??"Memo",E=s.content??"";return e.prepare(`
|
|
596
651
|
INSERT INTO worktree_memos (id, worktree_id, title, content, position, created_at, updated_at)
|
|
597
652
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
598
|
-
`).run(a,t,i,
|
|
653
|
+
`).run(a,t,i,E,s.position,o,o),{id:a,worktreeId:t,title:i,content:E,position:s.position,createdAt:new Date(o),updatedAt:new Date(o)}}function f(e,t,s){let r=Date.now(),a=["updated_at = ?"],o=[r];void 0!==s.title&&(a.push("title = ?"),o.push(s.title)),void 0!==s.content&&(a.push("content = ?"),o.push(s.content)),o.push(t),e.prepare(`
|
|
599
654
|
UPDATE worktree_memos
|
|
600
655
|
SET ${a.join(", ")}
|
|
601
656
|
WHERE id = ?
|
|
602
657
|
`).run(...o)}function F(e,t){e.prepare(`
|
|
603
658
|
DELETE FROM worktree_memos
|
|
604
659
|
WHERE id = ?
|
|
605
|
-
`).run(t)}function
|
|
660
|
+
`).run(t)}function M(e,t,s){e.prepare(`
|
|
606
661
|
UPDATE worktrees
|
|
607
662
|
SET initial_branch = ?
|
|
608
663
|
WHERE id = ?
|
|
609
|
-
`).run(s,t)}function
|
|
664
|
+
`).run(s,t)}function y(e,t){let s=e.prepare(`
|
|
610
665
|
SELECT initial_branch
|
|
611
666
|
FROM worktrees
|
|
612
667
|
WHERE id = ?
|
|
613
|
-
`).get(t);return s?.initial_branch??null}function
|
|
668
|
+
`).get(t);return s?.initial_branch??null}function b(e,t){return e.prepare(`
|
|
614
669
|
SELECT id FROM worktrees WHERE repository_path = ?
|
|
615
|
-
`).all(t).map(e=>e.id)}function
|
|
670
|
+
`).all(t).map(e=>e.id)}function v(e,t){return{deletedCount:e.prepare(`
|
|
616
671
|
DELETE FROM worktrees WHERE repository_path = ?
|
|
617
|
-
`).run(t).changes}}function
|
|
672
|
+
`).run(t).changes}}function P(e,t){if(0===t.length)return{deletedCount:0};let s=t.map(()=>"?").join(",");return{deletedCount:e.prepare(`
|
|
618
673
|
DELETE FROM worktrees WHERE id IN (${s})
|
|
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),
|
|
674
|
+
`).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),E=s(43753);function _(){return(0,i.ZP)()?a().join((0,o.homedir)(),".commandmate","data","cm.db"):a().resolve(process.cwd(),"data","cm.db")}function n(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,E.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}()||_();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=n(o)}catch{console.warn(`[Security] Invalid DB path "${o}", using default.`),e=n(_())}return{CM_ROOT_DIR:a().resolve(t),CM_PORT:s,CM_BIND:r,CM_DB_PATH:e}}}};
|