spec-cat 0.1.60 → 0.1.62
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/2zamijve.js +1 -0
- package/.output/public/_nuxt/{hL590mW_.js → BEjIzkrM.js} +54 -54
- package/.output/public/_nuxt/{0b9erTT7.js → BaSsfm-t.js} +1 -1
- package/.output/public/_nuxt/BjdLSVUw.js +1 -0
- package/.output/public/_nuxt/{fOeB-VHQ.js → Bz2rU2zs.js} +1 -1
- package/.output/public/_nuxt/{oZWZjCpV.js → D4LyIv_t.js} +1 -1
- package/.output/public/_nuxt/{CeUwIKdG.js → DIOhMCOf.js} +2 -2
- package/.output/public/_nuxt/{PyyEm6pa.js → DPOGSCeV.js} +1 -1
- package/.output/public/_nuxt/{BBjCHYA6.js → DeqM2TrP.js} +1 -1
- package/.output/public/_nuxt/{C7bEjS62.js → DwpuOtAP.js} +1 -1
- package/.output/public/_nuxt/{soqWbP5S.js → FfyCVKRU.js} +1 -1
- package/.output/public/_nuxt/{Ritd1ZTh.js → Su-Cl_JF.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/df07a2f8-c6d6-420d-a863-ac6e0e7673e0.json +1 -0
- package/.output/public/_nuxt/{CtkWRKR5.js → zrVRZSxq.js} +1 -1
- package/.output/server/chunks/_/asyncLock.mjs +17 -0
- package/.output/server/chunks/_/asyncLock.mjs.map +1 -0
- package/.output/server/chunks/_/chatGit.mjs +19 -0
- package/.output/server/chunks/_/chatGit.mjs.map +1 -0
- package/.output/server/chunks/_/claude.mjs +2 -1
- package/.output/server/chunks/_/claude.mjs.map +1 -1
- package/.output/server/chunks/_/claudeProvider.mjs +2 -1
- package/.output/server/chunks/_/claudeProvider.mjs.map +1 -1
- package/.output/server/chunks/_/codexProvider.mjs +14 -2
- package/.output/server/chunks/_/codexProvider.mjs.map +1 -1
- package/.output/server/chunks/_/conversationStore.mjs.map +1 -1
- package/.output/server/chunks/_/jobQueue.mjs +1 -1
- package/.output/server/chunks/_/validateWorktree.mjs +1 -1
- package/.output/server/chunks/_/worktreePaths.mjs +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +558 -558
- package/.output/server/chunks/routes/_ws.mjs +7 -6
- package/.output/server/chunks/routes/_ws.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/compare.get.mjs +5 -0
- package/.output/server/chunks/routes/api/chat/compare.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/finalize.post.mjs +94 -93
- package/.output/server/chunks/routes/api/chat/finalize.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs +2 -0
- package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs +28 -22
- package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/preview.delete.mjs +24 -23
- package/.output/server/chunks/routes/api/chat/preview.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/preview.post.mjs +53 -48
- package/.output/server/chunks/routes/api/chat/preview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/rebase.post.mjs +39 -41
- package/.output/server/chunks/routes/api/chat/rebase.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs +56 -46
- package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/worktree.delete.mjs +38 -30
- package/.output/server/chunks/routes/api/chat/worktree.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat/worktree.post.mjs +73 -65
- package/.output/server/chunks/routes/api/chat/worktree.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/chat.post.mjs +16 -3
- package/.output/server/chunks/routes/api/chat.post.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/Bq8BNs4s.js +0 -1
- package/.output/public/_nuxt/CvPsR12A.js +0 -1
- package/.output/public/_nuxt/builds/meta/9d41800a-a604-4f15-8938-30e3b775a2dc.json +0 -1
|
@@ -220,7 +220,7 @@ const _ws = defineWebSocketHandler({
|
|
|
220
220
|
return;
|
|
221
221
|
}
|
|
222
222
|
if (msg.type === "abort") {
|
|
223
|
-
handleAbort(peer);
|
|
223
|
+
handleAbort(peer, msg);
|
|
224
224
|
return;
|
|
225
225
|
}
|
|
226
226
|
if (msg.type === "reset_context") {
|
|
@@ -315,12 +315,13 @@ function handlePermissionResponse(peer, msg) {
|
|
|
315
315
|
console.log("[WS] Permission response:", { allow: msg.allow, conversationId: conn.conversationId });
|
|
316
316
|
jobQueue.respondToPermission(conn.conversationId, msg.allow);
|
|
317
317
|
}
|
|
318
|
-
function handleAbort(peer) {
|
|
318
|
+
function handleAbort(peer, msg) {
|
|
319
319
|
const conn = getPeerConnection(peer.id);
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
320
|
+
const conversationId = msg.conversationId || conn.conversationId;
|
|
321
|
+
console.log("[WS] Abort requested for peer:", peer.id, "conversationId:", conversationId);
|
|
322
|
+
if (conversationId) {
|
|
323
|
+
jobQueue.abort(conversationId);
|
|
324
|
+
console.log("[WS] jobQueue.abort() called for conversation:", conversationId);
|
|
324
325
|
} else {
|
|
325
326
|
console.warn("[WS] Abort skipped \u2014 no conversationId bound to this peer!");
|
|
326
327
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_ws.mjs","sources":["../../../../server/utils/worktreeSetup.ts","../../../../server/routes/_ws.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_ws.mjs","sources":["../../../../server/utils/worktreeSetup.ts","../../../../server/routes/_ws.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,eAAsB,0BAA0B,OAAA,EAOf;AA9CjC,EAAA,IAAA,EAAA;AA+CE,EAAA,MAAM,EAAE,cAAA,EAAgB,SAAA,EAAU,GAAI,OAAA;AACtC,EAAA,MAAM,aAAa,aAAA,EAAc;AAGjC,EAAA,IAAI,SAAA,IAAa,CAAC,mBAAA,CAAoB,IAAA,CAAK,SAAS,CAAA,EAAG;AACrD,IAAA,OAAA,CAAQ,IAAA,CAAK,6CAA6C,SAAS,CAAA;AACnE,IAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,GAAA,EAAK,UAAA,EAAW;AAAA,EAC3C;AAEA,EAAA,MAAM,UAAA,GAAa,SAAA,IAAa,CAAA,GAAA,EAAM,cAAc,CAAA,CAAA;AACpD,EAAA,MAAM,YAAA,GAAe,mBAAA,CAAoB,cAAA,EAAgB,SAAS,CAAA;AAGlE,EAAA,IAAI,UAAA,CAAW,YAAY,CAAA,EAAG;AAC5B,IAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,GAAA,EAAK,YAAA,EAAc,gBAAgB,UAAA,EAAW;AAAA,EACxE;AAEA,EAAA,IAAI;AACF,IAAA,MAAM,mBAAA,GAAA,CAAsB,EAAA,GAAA,OAAA,CAAQ,UAAA,KAAR,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,IAAA,EAAA;AAChD,IAAA,IAAI,mBAAA,IAAuB,CAAC,sBAAA,CAAuB,mBAAmB,CAAA,EAAG;AACvE,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,qBAAA,EAAwB,mBAAmB,CAAA,CAAA,CAAG,CAAA;AAAA,IAChE;AAEA,IAAA,MAAM,UAAA,GAAa,mBAAA,IAAuB,MAAM,0BAAA,CAA2B,UAAU,CAAA;AACrF,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA,MAAM,IAAI,MAAM,yDAAyD,CAAA;AAAA,IAC3E;AAEA,IAAA,MAAM,WAAW,MAAM,cAAA;AAAA,MACrB,CAAC,WAAA,EAAa,UAAA,EAAY,CAAA,WAAA,EAAc,UAAU,CAAA,SAAA,CAAW,CAAA;AAAA,MAC7D;AAAA,KACF,CAAE,MAAM,MAAM;AACZ,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,aAAA,EAAgB,UAAU,CAAA,gBAAA,CAAkB,CAAA;AAAA,IAC9D,CAAC,CAAA;AAGD,IAAA,IAAI,YAAA,GAAe,KAAA;AACnB,IAAA,IAAI;AACF,MAAA,MAAM,eAAe,CAAC,WAAA,EAAa,UAAA,EAAY,UAAU,GAAG,UAAU,CAAA;AACtE,MAAA,YAAA,GAAe,IAAA;AAAA,IACjB,CAAA,CAAA,MAAQ;AAAA,IAER;AAEA,IAAA,IAAI,YAAA,EAAc;AAEhB,MAAA,MAAM,cAAA,CAAe,CAAC,UAAA,EAAY,OAAO,GAAG,UAAU,CAAA;AACtD,MAAA,MAAM,eAAe,CAAC,UAAA,EAAY,OAAO,YAAA,EAAc,UAAU,GAAG,UAAU,CAAA;AAAA,IAChF,CAAA,MAAO;AAEL,MAAA,MAAM,cAAA,CAAe,CAAC,UAAA,EAAY,KAAA,EAAO,MAAM,UAAA,EAAY,YAAA,EAAc,QAAQ,CAAA,EAAG,UAAU,CAAA;AAAA,IAChG;AAEA,IAAA,OAAA,CAAQ,IAAI,iCAAA,EAAmC,EAAE,gBAAgB,YAAA,EAAc,UAAA,EAAY,cAAc,CAAA;AAGzG,IAAA,MAAM,8BAAA,CAA+B,OAAA,EAAS,YAAA,EAAc,UAAA,EAAY,UAAU,CAAA;AAElF,IAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,KAAK,YAAA,EAAc,cAAA,EAAgB,YAAY,UAAA,EAAW;AAAA,EACpF,SAAS,GAAA,EAAK;AACZ,IAAA,MAAM,QAAQ,GAAA,YAAe,KAAA,GAAQ,GAAA,CAAI,OAAA,GAAU,OAAO,GAAG,CAAA;AAC7D,IAAA,OAAA,CAAQ,IAAA,CAAK,2BAA2B,KAAK,CAAA;AAC7C,IAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,GAAA,EAAK,YAAY,KAAA,EAAM;AAAA,EAClD;AACF;AAMA,eAAe,8BAAA,CACb,OAAA,EAQA,YAAA,EACA,UAAA,EACA,UAAA,EACe;AACf,EAAA,MAAM,UAAU,iBAAA,EAAkB;AAClC,EAAA,MAAM,eAAe,IAAA,CAAK,OAAA,EAAS,iBAAiB,CAAA,EAAG,OAAA,CAAQ,cAAc,CAAA,KAAA,CAAO,CAAA;AAEpF,EAAA,IAAI;AACF,IAAA,IAAI,UAAA,CAAW,YAAY,CAAA,EAAG;AAE5B,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,CAAS,YAAA,EAAc,OAAO,CAAA;AAChD,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAC3B,MAAA,IAAI,CAAC,KAAK,YAAA,EAAc;AACtB,QAAA,IAAA,CAAK,GAAA,GAAM,YAAA;AACX,QAAA,IAAA,CAAK,YAAA,GAAe,YAAA;AACpB,QAAA,IAAA,CAAK,cAAA,GAAiB,UAAA;AACtB,QAAA,IAAA,CAAK,WAAA,GAAc,IAAA;AACnB,QAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAClB,QAAA,IAAA,CAAK,SAAA,GAAA,iBAAY,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY;AACxC,QAAA,MAAM,2BAAA,CAA4B,MAAM,eAAe,CAAA;AAAA,MACzD;AAAA,IACF,CAAA,MAAO;AAEL,MAAA,MAAM,GAAA,GAAA,iBAAM,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY;AACnC,MAAA,MAAM,IAAA,GAAqB;AAAA,QACzB,IAAI,OAAA,CAAQ,cAAA;AAAA,QACZ,KAAA,EAAO,yBAAA,CAA0B,OAAA,CAAQ,OAAO,CAAA;AAAA,QAChD,UAAU,EAAC;AAAA,QACX,SAAA,EAAW,GAAA;AAAA,QACX,SAAA,EAAW,GAAA;AAAA,QACX,GAAA,EAAK,YAAA;AAAA,QACL,MAAA,EAAQ,OAAA,CAAQ,SAAA,GAAY,SAAA,GAAY,MAAA;AAAA,QACxC,YAAA;AAAA,QACA,cAAA,EAAgB,UAAA;AAAA,QAChB,WAAA,EAAa,IAAA;AAAA,QACb,UAAA;AAAA,QACA,WAAW,OAAA,CAAQ,SAAA;AAAA,QACnB,YAAY,OAAA,CAAQ,UAAA;AAAA,QACpB,kBAAkB,OAAA,CAAQ;AAAA,OAC5B;AACA,MAAA,MAAM,2BAAA,CAA4B,MAAM,eAAe,CAAA;AAAA,IACzD;AAAA,EACF,SAAS,GAAA,EAAK;AAEZ,IAAA,OAAA,CAAQ,IAAA,CAAK,0DAA0D,GAAG,CAAA;AAAA,EAC5E;AACF;;ACvJA,MAAA,uBAAA,GAAA,yBAAA;AACA,MAAA,kBAAA,GAAA,iCAAA;AAEA,SAAA,4BAAA,OAAA,EAAA;AACA,EAAA,MAAA,OAAA,GAAA,QAAA,IAAA,EAAA;AAGA,EAAA,MAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,uBAAA,CAAA;AACA,EAAA,IAAA,YAAA,EAAA,OAAA,YAAA,CAAA,CAAA,CAAA;AAGA,EAAA,MAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,kBAAA,CAAA;AACA,EAAA,OAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAA,CAAA,CAAA;AACA;AAEA,SAAA,iBAAA,SAAA,EAAA;AACA,EAAA,MAAA,aAAA,aAAA,EAAA;AACA,EAAA,MAAA,OAAA,GAAA,IAAA,CAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CAAA;AACA,EAAA,OAAA,WAAA,OAAA,CAAA;AACA;AAmDA,MAAA,eAAA,uBAAA,GAAA,EAAA;AAEA,SAAA,kBAAA,MAAA,EAAA;AACA,EAAA,IAAA,IAAA,GAAA,eAAA,CAAA,GAAA,CAAA,MAAA,CAAA;AACA,EAAA,IAAA,CAAA,IAAA,EAAA;AACA,IAAA,IAAA,GAAA,EAAA,cAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAA,IAAA,EAAA;AACA,IAAA,eAAA,CAAA,GAAA,CAAA,QAAA,IAAA,CAAA;AAAA,EACA;AACA,EAAA,OAAA,IAAA;AACA;AAEA,SAAA,2BAAA,CAAA,MAAA,cAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,iBAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AAGA,EAAA,IAAA,IAAA,CAAA,cAAA,KAAA,cAAA,IAAA,IAAA,CAAA,WAAA,EAAA;AACA,IAAA;AAAA,EACA;AAGA,EAAA,IAAA,KAAA,WAAA,EAAA;AACA,IAAA,IAAA,CAAA,WAAA,EAAA;AAAA,EACA;AAEA,EAAA,IAAA,CAAA,cAAA,GAAA,cAAA;AACA,EAAA,IAAA,CAAA,WAAA,GAAA,QAAA,CAAA,SAAA,CAAA,cAAA,EAAA,CAAA,KAAA,KAAA;AACA,IAAA,IAAA;AACA,MAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACA,SAAA,GAAA,EAAA;AACA,MAAA,OAAA,CAAA,KAAA,CAAA,sCAAA,GAAA,CAAA;AAAA,IACA;AAAA,EACA,CAAA,CAAA;AACA;AAEA,YAAA,sBAAA,CAAA;AAAA,EACA,KAAA,IAAA,EAAA;AACA,IAAA,OAAA,CAAA,GAAA,CAAA,sBAAA,EAAA,IAAA,CAAA,EAAA,CAAA;AAEA,IAAA,MAAA,IAAA,GAAA,iBAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA,iBAAA,GAAA,QAAA,CAAA,SAAA,CAAA,cAAA,EAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA;AACA,QAAA,MAAA,OAAA,GAAA,IAAA,CAAA,SAAA,CAAA,KAAA,CAAA;AACA,QAAA,IAAA,KAAA,CAAA,SAAA,cAAA,EAAA;AACA,UAAA,OAAA,CAAA,IAAA,6CAAA,EAAA,IAAA,CAAA,EAAA,EAAA,GAAA,EAAA,MAAA,iBAAA,CAAA;AAAA,QACA;AACA,QAAA,IAAA,CAAA,KAAA,OAAA,CAAA;AAAA,MACA,SAAA,GAAA,EAAA;AACA,QAAA,OAAA,CAAA,KAAA,CAAA,6CAAA,GAAA,CAAA;AAAA,MACA;AAAA,IACA,CAAA,CAAA;AAAA,EACA,CAAA;AAAA,EAEA,MAAA,IAAA,EAAA;AACA,IAAA,MAAA,IAAA,GAAA,eAAA,CAAA,GAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AACA,IAAA,IAAA,IAAA,EAAA;AACA,MAAA,IAAA,IAAA,CAAA,WAAA,EAAA,IAAA,CAAA,WAAA,EAAA;AACA,MAAA,IAAA,IAAA,CAAA,iBAAA,EAAA,IAAA,CAAA,iBAAA,EAAA;AAAA,IAGA;AACA,IAAA,eAAA,CAAA,MAAA,CAAA,KAAA,EAAA,CAAA;AAAA,EACA,CAAA;AAAA,EAEA,KAAA,CAAA,MAAA,KAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,qBAAA,EAAA,IAAA,CAAA,EAAA,EAAA,KAAA,KAAA,CAAA;AAAA,EACA,CAAA;AAAA,EAEA,OAAA,CAAA,MAAA,UAAA,EAAA;AACA,IAAA,IAAA,GAAA;AACA,IAAA,IAAA;AACA,MAAA,GAAA,GAAA,IAAA,CAAA,KAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA;AAAA,IACA,CAAA,CAAA,MAAA;AACA,MAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA,EAAA,MAAA,OAAA,EAAA,KAAA,EAAA,cAAA,EAAA,CAAA,CAAA;AACA,MAAA;AAAA,IACA;AAEA,IAAA,IAAA,GAAA,CAAA,SAAA,MAAA,EAAA;AACA,MAAA,IAAA,CAAA,KAAA,IAAA,CAAA,SAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;AACA,MAAA;AAAA,IACA;AAEA,IAAA,IAAA,GAAA,CAAA,SAAA,MAAA,EAAA;AACA,MAAA,iBAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA;AACA,QAAA,OAAA,CAAA,KAAA,CAAA,iCAAA,GAAA,CAAA;AACA,QAAA,IAAA;AACA,UAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,SAAA,CAAA,EAAA,IAAA,EAAA,OAAA,EAAA,KAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,GAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAA,QACA,CAAA,CAAA,MAAA;AAAA,QAAA;AAAA,MACA,CAAA,CAAA;AACA,MAAA;AAAA,IACA;AAEA,IAAA,IAAA,GAAA,CAAA,SAAA,qBAAA,EAAA;AACA,MAAA,wBAAA,CAAA,MAAA,GAAA,CAAA;AACA,MAAA;AAAA,IACA;AAEA,IAAA,IAAA,GAAA,CAAA,SAAA,OAAA,EAAA;AACA,MAAA,WAAA,CAAA,MAAA,GAAA,CAAA;AACA,MAAA;AAAA,IACA;AAEA,IAAA,IAAA,GAAA,CAAA,SAAA,eAAA,EAAA;AACA,MAAA,kBAAA,CAAA,IAAA,CAAA;AACA,MAAA;AAAA,IACA;AAEA,IAAA,IAAA,GAAA,CAAA,SAAA,WAAA,EAAA;AACA,MAAA,eAAA,CAAA,MAAA,GAAA,CAAA;AACA,MAAA;AAAA,IACA;AAAA,EACA;AACA,CAAA,CAAA;AAEA,eAAA,iBAAA,CAAA,MAAA,GAAA,EAAA;AACA,EAAA,MAAA,WAAA,GAAA,yBAAA,CAAA,GAAA,CAAA,WAAA,CAAA;AAGA,EAAA,IAAA,OAAA,GAAA,CAAA,OAAA,KAAA,QAAA,EAAA;AACA,IAAA,OAAA,CAAA,KAAA,CAAA,oEAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,MACA,IAAA,EAAA,OAAA;AAAA,MACA,KAAA,EAAA,+CAAA;AAAA,MACA,WAAA,GAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA;AAAA,EACA;AACA,EAAA,IAAA,GAAA,CAAA,QAAA,IAAA,EAAA,CAAA,WAAA,CAAA,IAAA,WAAA,CAAA,WAAA,CAAA,EAAA;AACA,IAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,MACA,IAAA,EAAA,OAAA;AAAA,MACA,KAAA,EAAA,0DAAA;AAAA,MACA,WAAA,GAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA;AAAA,EACA;AACA,EAAA,IAAA,CAAA,IAAA,cAAA,EAAA;AACA,IAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,MACA,IAAA,EAAA,OAAA;AAAA,MACA,KAAA,EAAA,6CAAA;AAAA,MACA,WAAA,GAAA,CAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA;AAAA,EACA;AAIA,EAAA,IAAA,oBAAA,GAAA,CAAA,SAAA;AACA,EAAA,IAAA,CAAA,iBAAA,EAAA;AACA,IAAA,MAAA,SAAA,GAAA,2BAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AACA,IAAA,IAAA,SAAA,IAAA,gBAAA,CAAA,SAAA,CAAA,EAAA;AACA,MAAA,iBAAA,GAAA,SAAA;AACA,MAAA,OAAA,CAAA,GAAA,CAAA,8CAAA,iBAAA,CAAA;AAAA,IACA;AAAA,EACA;AAKA,EAAA,IAAA,cAAA,GAAA,CAAA,GAAA;AACA,EAAA,IAAA,yBAAA,GAAA,CAAA,cAAA;AACA,EAAA,IAAA,CAAA,WAAA,IAAA,CAAA,qBAAA,CAAA,WAAA,CAAA,EAAA;AACA,IAAA,MAAA,QAAA,GAAA,MAAA,yBAAA,CAAA;AAAA,MACA,gBAAA,GAAA,CAAA,cAAA;AAAA,MACA,SAAA,GAAA,CAAA,OAAA;AAAA,MACA,SAAA,EAAA,iBAAA;AAAA,MACA,YAAA,GAAA,CAAA,UAAA;AAAA,MACA,YAAA,GAAA,CAAA,UAAA;AAAA,MACA,kBAAA,GAAA,CAAA;AAAA,KACA,CAAA;AACA,IAAA,IAAA,SAAA,OAAA,EAAA;AACA,MAAA,WAAA,GAAA,QAAA,CAAA,GAAA;AACA,MAAA,sBAAA,GAAA,QAAA,CAAA,cAAA;AAAA,IACA,CAAA,MAAA,IAAA,IAAA,UAAA,EAAA;AACA,MAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,QACA,IAAA,EAAA,OAAA;AAAA,QACA,KAAA,EAAA,QAAA,CAAA,KAAA,IAAA,CAAA,4CAAA,EAAA,IAAA,UAAA,CAAA,CAAA,CAAA;AAAA,QACA,WAAA,GAAA,CAAA;AAAA,OACA,CAAA,CAAA;AACA,MAAA;AAAA,IACA;AAAA,EACA;AAGA,EAAA,2BAAA,CAAA,IAAA,EAAA,IAAA,cAAA,CAAA;AAGA,EAAA,MAAA,UAAA,GAAA;AAAA,IACA,SAAA,GAAA,CAAA,OAAA;AAAA,IACA,gBAAA,GAAA,CAAA,cAAA;AAAA,IACA,WAAA,EAAA,WAAA,CAAA,MAAA,GAAA,CAAA,GAAA,WAAA,GAAA,MAAA;AAAA,IACA,WAAA,GAAA,CAAA,SAAA;AAAA,IACA,WAAA,GAAA,CAAA,SAAA;AAAA,IACA,gBAAA,GAAA,CAAA,cAAA;AAAA,IACA,GAAA,EAAA,WAAA;AAAA,IACA,cAAA,EAAA,sBAAA;AAAA,IACA,YAAA,GAAA,CAAA,UAAA;AAAA,IACA,SAAA,EAAA,iBAAA;AAAA,IACA,YAAA,GAAA,CAAA,UAAA;AAAA,IACA,kBAAA,GAAA,CAAA;AAAA,GACA;AAKA,EAAA,eAAA,CAAA,GAAA,CAAA,cAAA,EAAA,GAAA,CAAA,OAAA,CAAA;AAEA,EAAA,QAAA,CAAA,OAAA,UAAA,CAAA;AACA;AAEA,SAAA,wBAAA,CAAA,MAAA,GAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,iBAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AACA,EAAA,IAAA,CAAA,KAAA,cAAA,EAAA;AAEA,EAAA,OAAA,CAAA,GAAA,CAAA,6BAAA,EAAA,KAAA,EAAA,IAAA,KAAA,EAAA,cAAA,EAAA,IAAA,CAAA,cAAA,EAAA,CAAA;AACA,EAAA,QAAA,CAAA,mBAAA,CAAA,IAAA,CAAA,cAAA,EAAA,GAAA,CAAA,KAAA,CAAA;AACA;AAEA,SAAA,WAAA,CAAA,MAAA,GAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,iBAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AACA,EAAA,MAAA,cAAA,GAAA,GAAA,CAAA,cAAA,IAAA,IAAA,CAAA,cAAA;AAEA,EAAA,OAAA,CAAA,GAAA,CAAA,gCAAA,EAAA,IAAA,CAAA,EAAA,EAAA,mBAAA,cAAA,CAAA;AAEA,EAAA,IAAA,cAAA,EAAA;AACA,IAAA,QAAA,CAAA,MAAA,cAAA,CAAA;AACA,IAAA,OAAA,CAAA,GAAA,CAAA,kDAAA,cAAA,CAAA;AAAA,EACA,CAAA,MAAA;AACA,IAAA,OAAA,CAAA,KAAA,iEAAA,CAAA;AAAA,EACA;AACA,EAAA,IAAA,CAAA,KAAA,IAAA,CAAA,SAAA,CAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;AAEA,EAAA,OAAA,CAAA,GAAA,CAAA,gCAAA,EAAA,IAAA,CAAA,EAAA,CAAA;AACA;AAEA,SAAA,eAAA,CAAA,MAAA,GAAA,EAAA;AACA,EAAA,IAAA,CAAA,IAAA,cAAA,EAAA;AACA,IAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA,EAAA,MAAA,OAAA,EAAA,KAAA,EAAA,0CAAA,EAAA,CAAA,CAAA;AACA,IAAA;AAAA,EACA;AAGA,EAAA,2BAAA,CAAA,IAAA,EAAA,IAAA,cAAA,CAAA;AAGA,EAAA,MAAA,SAAA,GAAA,QAAA,CAAA,YAAA,CAAA,GAAA,CAAA,cAAA,CAAA;AACA,EAAA,IAAA,SAAA,EAAA;AACA,IAAA,MAAA,MAAA,GAAA,OAAA,GAAA,CAAA,MAAA,KAAA,YAAA,GAAA,CAAA,MAAA,IAAA,CAAA,GAAA,GAAA,CAAA,MAAA,GAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,SAAA,CAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA;AAEA,IAAA,IAAA,cAAA,CAAA,SAAA,CAAA,EAAA;AACA,MAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,QACA,IAAA,EAAA,cAAA;AAAA,QACA,OAAA,SAAA,CAAA,EAAA;AAAA,QACA,WAAA,SAAA,CAAA,MAAA;AAAA,QACA,YAAA,cAAA,CAAA,MAAA;AAAA,QACA;AAAA,OACA,CAAA,CAAA;AAEA,MAAA,KAAA,MAAA,SAAA,cAAA,EAAA;AACA,QAAA,IAAA;AACA,UAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,QACA,CAAA,CAAA,MAAA;AACA,UAAA;AAAA,QACA;AAAA,MACA;AAEA,MAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,QACA,IAAA,EAAA,YAAA;AAAA,QACA,OAAA,SAAA,CAAA,EAAA;AAAA,QACA,UAAA,EAAA,UAAA,MAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,IACA,CAAA,MAAA;AACA,MAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,QACA,IAAA,EAAA,YAAA;AAAA,QACA,gBAAA,GAAA,CAAA,cAAA;AAAA,QACA,OAAA,SAAA,CAAA,EAAA;AAAA,QACA,WAAA,SAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,IACA;AAAA,EACA,CAAA,MAAA;AACA,IAAA,IAAA,CAAA,IAAA,CAAA,KAAA,SAAA,CAAA;AAAA,MACA,IAAA,EAAA,YAAA;AAAA,MACA,gBAAA,GAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,EACA;AACA;AAEA,SAAA,mBAAA,IAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,iBAAA,CAAA,IAAA,CAAA,EAAA,CAAA;AAEA,EAAA,OAAA,CAAA,GAAA,CAAA,wCAAA,EAAA,IAAA,CAAA,EAAA,CAAA;AAEA,EAAA,IAAA,KAAA,cAAA,EAAA;AACA,IAAA,QAAA,CAAA,YAAA,CAAA,KAAA,cAAA,CAAA;AAAA,EACA;AACA,EAAA,IAAA,CAAA,KAAA,IAAA,CAAA,SAAA,CAAA,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;AAEA,EAAA,OAAA,CAAA,GAAA,CAAA,wCAAA,EAAA,IAAA,CAAA,EAAA,CAAA;AACA;;;;"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { d as defineEventHandler, f as getQuery, c as createError, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
2
|
import { i as isGitRepositorySync } from '../../../_/git.mjs';
|
|
3
3
|
import { e as execGitArgs } from '../../../_/gitExec.mjs';
|
|
4
|
+
import { v as validateWorktreePath } from '../../../_/validateWorktree.mjs';
|
|
5
|
+
import { a as assertSafeBranchName } from '../../../_/chatGit.mjs';
|
|
4
6
|
import 'node:http';
|
|
5
7
|
import 'node:https';
|
|
6
8
|
import 'node:crypto';
|
|
@@ -24,6 +26,7 @@ import 'node:fs/promises';
|
|
|
24
26
|
import 'node:url';
|
|
25
27
|
import 'child_process';
|
|
26
28
|
import 'util';
|
|
29
|
+
import '../../../_/worktreePaths.mjs';
|
|
27
30
|
|
|
28
31
|
const compare_get = defineEventHandler(async (event) => {
|
|
29
32
|
try {
|
|
@@ -36,6 +39,8 @@ const compare_get = defineEventHandler(async (event) => {
|
|
|
36
39
|
statusMessage: "worktreePath and baseBranch are required"
|
|
37
40
|
});
|
|
38
41
|
}
|
|
42
|
+
validateWorktreePath(worktreePath);
|
|
43
|
+
assertSafeBranchName(baseBranch, "base branch");
|
|
39
44
|
if (!isGitRepositorySync(worktreePath)) {
|
|
40
45
|
throw createError({
|
|
41
46
|
statusCode: 400,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.get.mjs","sources":["../../../../../../server/api/chat/compare.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compare.get.mjs","sources":["../../../../../../server/api/chat/compare.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,IAAA,MAAA,eAAA,KAAA,CAAA,YAAA;AACA,IAAA,MAAA,aAAA,KAAA,CAAA,UAAA;AAEA,IAAA,IAAA,CAAA,YAAA,IAAA,CAAA,UAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,oBAAA,CAAA,YAAA,CAAA;AACA,IAAA,oBAAA,CAAA,YAAA,aAAA,CAAA;AAEA,IAAA,IAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,MAAA,GAAA,YAAA,YAAA,EAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,SAAA;AAAA,MACA,GAAA,UAAA,CAAA,OAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,CAAA,WAAA,QAAA,CAAA,GAAA,OAAA,IAAA,EAAA,CAAA,MAAA,KAAA,CAAA;AACA,IAAA,MAAA,SAAA,MAAA,CAAA,QAAA,CAAA,SAAA,IAAA,GAAA,EAAA,EAAA,CAAA,IAAA,CAAA;AACA,IAAA,MAAA,QAAA,MAAA,CAAA,QAAA,CAAA,QAAA,IAAA,GAAA,EAAA,EAAA,CAAA,IAAA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,MAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,IAAA,KAAA,IAAA,OAAA,KAAA,KAAA,QAAA,IAAA,gBAAA,KAAA,EAAA;AACA,MAAA,MAAA,KAAA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,CAAA,uCAAA,EAAA,EAAA,OAAA,CAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { d as defineEventHandler, b as readBody, c as createError, e as getProjectDir, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
-
import { execSync
|
|
3
|
-
import { promisify } from 'node:util';
|
|
2
|
+
import { execSync } from 'node:child_process';
|
|
4
3
|
import { existsSync } from 'node:fs';
|
|
5
4
|
import { rm } from 'node:fs/promises';
|
|
6
5
|
import { r as resolveExistingBaseBranch } from '../../../_/baseBranch.mjs';
|
|
7
6
|
import { b as guardServerProviderCapability } from '../../../_/aiProviderSelection.mjs';
|
|
8
7
|
import { g as getChatWorktreePath } from '../../../_/worktreePaths.mjs';
|
|
8
|
+
import { v as validateWorktreePath } from '../../../_/validateWorktree.mjs';
|
|
9
|
+
import { a as assertSafeBranchName, g as git } from '../../../_/chatGit.mjs';
|
|
10
|
+
import { a as autoCommitChanges } from '../../../_/claudeService.mjs';
|
|
11
|
+
import { w as withLock } from '../../../_/asyncLock.mjs';
|
|
9
12
|
import 'node:http';
|
|
10
13
|
import 'node:https';
|
|
11
14
|
import 'node:crypto';
|
|
@@ -29,18 +32,21 @@ import '../../../_/gitExec.mjs';
|
|
|
29
32
|
import 'child_process';
|
|
30
33
|
import 'util';
|
|
31
34
|
import '../../../_/aiProviderRegistry.mjs';
|
|
35
|
+
import '../../../_/claude.mjs';
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
async function collectConflictFiles(worktreePath) {
|
|
38
|
+
try {
|
|
39
|
+
const diffOutput = await git(worktreePath, ["diff", "--name-only", "--diff-filter=U"]);
|
|
40
|
+
const files = diffOutput.split("\n").filter(Boolean);
|
|
41
|
+
if (files.length > 0) return files;
|
|
42
|
+
} catch {
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const statusOutput = await git(worktreePath, ["status", "--porcelain"]);
|
|
46
|
+
return statusOutput.split("\n").filter((line) => /^(UU|AA|DU|UD|UA|AU|DD)\s/.test(line)).map((line) => line.substring(3).trim());
|
|
47
|
+
} catch {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
44
50
|
}
|
|
45
51
|
const finalize_post = defineEventHandler(async (event) => {
|
|
46
52
|
const body = await readBody(event);
|
|
@@ -59,8 +65,12 @@ const finalize_post = defineEventHandler(async (event) => {
|
|
|
59
65
|
return providerGuard.failure;
|
|
60
66
|
}
|
|
61
67
|
const projectDir = getProjectDir();
|
|
62
|
-
const branchName = body.worktreeBranch || `sc/${conversationId}
|
|
68
|
+
const branchName = assertSafeBranchName(body.worktreeBranch || `sc/${conversationId}`, "branch");
|
|
63
69
|
const worktreePath = body.worktreePath || getChatWorktreePath(conversationId);
|
|
70
|
+
const previewBranch = body.previewBranch ? assertSafeBranchName(body.previewBranch, "preview branch") : void 0;
|
|
71
|
+
if (existsSync(worktreePath)) {
|
|
72
|
+
validateWorktreePath(worktreePath);
|
|
73
|
+
}
|
|
64
74
|
logger.chat.info("Finalizing conversation", { conversationId, branchName });
|
|
65
75
|
const baseBranch = await resolveExistingBaseBranch({
|
|
66
76
|
cwd: projectDir,
|
|
@@ -70,98 +80,89 @@ const finalize_post = defineEventHandler(async (event) => {
|
|
|
70
80
|
if (!baseBranch) {
|
|
71
81
|
return { success: false, error: "Unable to resolve a valid base branch for this worktree." };
|
|
72
82
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return { success: false, error: "Worktree directory not found. It may have been cleaned up." };
|
|
76
|
-
}
|
|
77
|
-
await autoCommitChanges(worktreePath);
|
|
78
|
-
let commitCount;
|
|
79
|
-
try {
|
|
80
|
-
const countStr = await git(worktreePath, `rev-list --count ${baseBranch}..HEAD`);
|
|
81
|
-
commitCount = parseInt(countStr, 10);
|
|
82
|
-
} catch {
|
|
83
|
-
return { success: false, error: `Cannot compare with base branch "${baseBranch}". It may not exist.` };
|
|
84
|
-
}
|
|
85
|
-
if (commitCount === 0) {
|
|
86
|
-
return { success: false, error: "No commits to finalize." };
|
|
87
|
-
}
|
|
88
|
-
const mergeBase = await git(worktreePath, `merge-base ${baseBranch} HEAD`);
|
|
89
|
-
await git(worktreePath, `reset --soft ${mergeBase}`);
|
|
90
|
-
execSync("git commit -F -", { cwd: worktreePath, input: commitMessage, encoding: "utf-8" });
|
|
83
|
+
assertSafeBranchName(baseBranch, "base branch");
|
|
84
|
+
return withLock(projectDir, async () => {
|
|
91
85
|
try {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
86
|
+
if (!existsSync(worktreePath)) {
|
|
87
|
+
return { success: false, error: "Worktree directory not found. It may have been cleaned up." };
|
|
88
|
+
}
|
|
89
|
+
await autoCommitChanges(worktreePath);
|
|
90
|
+
let commitCount;
|
|
96
91
|
try {
|
|
97
|
-
const
|
|
98
|
-
|
|
92
|
+
const countStr = await git(worktreePath, ["rev-list", "--count", `${baseBranch}..HEAD`]);
|
|
93
|
+
commitCount = parseInt(countStr, 10);
|
|
99
94
|
} catch {
|
|
100
|
-
|
|
101
|
-
const statusOutput = await git(worktreePath, "status --porcelain");
|
|
102
|
-
conflictFiles = statusOutput.split("\n").filter((line) => /^(UU|AA|DU|UD|UA|AU|DD)\s/.test(line)).map((line) => line.substring(3).trim());
|
|
103
|
-
} catch {
|
|
104
|
-
}
|
|
95
|
+
return { success: false, error: `Cannot compare with base branch "${baseBranch}". It may not exist.` };
|
|
105
96
|
}
|
|
106
|
-
|
|
107
|
-
success: false,
|
|
108
|
-
error: `Rebase conflict with "${baseBranch}". Resolve conflicts to continue.`,
|
|
109
|
-
conflictFiles,
|
|
110
|
-
rebaseInProgress: true
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
const previewBranch = body.previewBranch;
|
|
114
|
-
try {
|
|
115
|
-
const currentBranch = await git(projectDir, "rev-parse --abbrev-ref HEAD");
|
|
116
|
-
if (currentBranch !== baseBranch) {
|
|
117
|
-
await git(projectDir, `checkout "${baseBranch}"`);
|
|
97
|
+
if (commitCount === 0) {
|
|
98
|
+
return { success: false, error: "No commits to finalize." };
|
|
118
99
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
100
|
+
try {
|
|
101
|
+
await git(worktreePath, ["rebase", baseBranch]);
|
|
102
|
+
} catch {
|
|
103
|
+
logger.chat.warn("Rebase conflict during finalize", { conversationId });
|
|
104
|
+
const conflictFiles = await collectConflictFiles(worktreePath);
|
|
105
|
+
return {
|
|
106
|
+
success: false,
|
|
107
|
+
error: `Rebase conflict with "${baseBranch}". Resolve conflicts to continue.`,
|
|
108
|
+
conflictFiles,
|
|
109
|
+
rebaseInProgress: true
|
|
110
|
+
};
|
|
127
111
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
logger.chat.info("Base branch updated", { baseBranch, newHead });
|
|
131
|
-
try {
|
|
132
|
-
await execAsync(`git worktree remove "${worktreePath}" --force`, { cwd: projectDir });
|
|
133
|
-
} catch {
|
|
112
|
+
await git(worktreePath, ["reset", "--soft", baseBranch]);
|
|
113
|
+
execSync("git commit -F -", { cwd: worktreePath, input: commitMessage, encoding: "utf-8" });
|
|
134
114
|
try {
|
|
135
|
-
await
|
|
115
|
+
const currentBranch = await git(projectDir, ["rev-parse", "--abbrev-ref", "HEAD"]);
|
|
116
|
+
if (currentBranch !== baseBranch) {
|
|
117
|
+
await git(projectDir, ["checkout", baseBranch]);
|
|
118
|
+
}
|
|
136
119
|
} catch {
|
|
137
120
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
121
|
+
const newHead = await git(worktreePath, ["rev-parse", "HEAD"]);
|
|
122
|
+
await git(projectDir, ["update-ref", `refs/heads/${baseBranch}`, newHead]);
|
|
123
|
+
try {
|
|
124
|
+
const mainBranch = await git(projectDir, ["rev-parse", "--abbrev-ref", "HEAD"]);
|
|
125
|
+
if (mainBranch === baseBranch) {
|
|
126
|
+
await git(projectDir, ["reset", "--hard", "HEAD"]);
|
|
127
|
+
}
|
|
128
|
+
} catch {
|
|
129
|
+
}
|
|
130
|
+
logger.chat.info("Base branch updated", { baseBranch, newHead });
|
|
131
|
+
try {
|
|
132
|
+
await git(projectDir, ["worktree", "remove", worktreePath, "--force"]);
|
|
133
|
+
} catch {
|
|
134
|
+
try {
|
|
135
|
+
await rm(worktreePath, { recursive: true, force: true });
|
|
136
|
+
} catch {
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
await git(projectDir, ["worktree", "prune"]).catch(() => {
|
|
140
|
+
});
|
|
147
141
|
try {
|
|
148
|
-
await git(projectDir,
|
|
142
|
+
await git(projectDir, ["branch", "-D", branchName]);
|
|
149
143
|
} catch {
|
|
144
|
+
logger.chat.warn("Failed to delete temp branch", { branchName });
|
|
150
145
|
}
|
|
146
|
+
if (previewBranch) {
|
|
147
|
+
try {
|
|
148
|
+
await git(projectDir, ["branch", "-D", previewBranch]);
|
|
149
|
+
} catch {
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
logger.chat.info("Conversation finalized", { conversationId, newCommit: newHead });
|
|
153
|
+
return {
|
|
154
|
+
success: true,
|
|
155
|
+
newCommit: newHead
|
|
156
|
+
};
|
|
157
|
+
} catch (error) {
|
|
158
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
159
|
+
logger.chat.error("Finalize failed", { conversationId, error: errorMessage });
|
|
160
|
+
return {
|
|
161
|
+
success: false,
|
|
162
|
+
error: errorMessage
|
|
163
|
+
};
|
|
151
164
|
}
|
|
152
|
-
|
|
153
|
-
return {
|
|
154
|
-
success: true,
|
|
155
|
-
newCommit: newHead
|
|
156
|
-
};
|
|
157
|
-
} catch (error) {
|
|
158
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
159
|
-
logger.chat.error("Finalize failed", { conversationId, error: errorMessage });
|
|
160
|
-
return {
|
|
161
|
-
success: false,
|
|
162
|
-
error: errorMessage
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
+
});
|
|
165
166
|
});
|
|
166
167
|
|
|
167
168
|
export { finalize_post as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finalize.post.mjs","sources":["../../../../../../server/api/chat/finalize.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"finalize.post.mjs","sources":["../../../../../../server/api/chat/finalize.post.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { s as sendMessage } from '../../../_/claudeService.mjs';
|
|
|
6
6
|
import { b as guardServerProviderCapability } from '../../../_/aiProviderSelection.mjs';
|
|
7
7
|
import { r as resolveExistingBaseBranch } from '../../../_/baseBranch.mjs';
|
|
8
8
|
import { g as getChatWorktreePath } from '../../../_/worktreePaths.mjs';
|
|
9
|
+
import { v as validateWorktreePath } from '../../../_/validateWorktree.mjs';
|
|
9
10
|
import 'node:http';
|
|
10
11
|
import 'node:https';
|
|
11
12
|
import 'node:crypto';
|
|
@@ -53,6 +54,7 @@ const generateCommitMessage_post = defineEventHandler(async (event) => {
|
|
|
53
54
|
if (!existsSync(worktreePath)) {
|
|
54
55
|
throw createError({ statusCode: 404, message: "Worktree not found" });
|
|
55
56
|
}
|
|
57
|
+
validateWorktreePath(worktreePath);
|
|
56
58
|
const providerGuard = await guardServerProviderCapability(
|
|
57
59
|
"autoCommit",
|
|
58
60
|
"Switch to a provider with auto-commit support or disable AI-generated commit messages."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-commit-message.post.mjs","sources":["../../../../../../server/api/chat/generate-commit-message.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-commit-message.post.mjs","sources":["../../../../../../server/api/chat/generate-commit-message.post.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { d as defineEventHandler, b as readBody, c as createError, e as getProjectDir, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { v as validateWorktreePath } from '../../../_/validateWorktree.mjs';
|
|
4
|
+
import { a as assertSafeBranchName, g as git } from '../../../_/chatGit.mjs';
|
|
5
|
+
import { w as withLock } from '../../../_/asyncLock.mjs';
|
|
4
6
|
import 'node:http';
|
|
5
7
|
import 'node:https';
|
|
6
8
|
import 'node:crypto';
|
|
@@ -16,18 +18,16 @@ import 'tls';
|
|
|
16
18
|
import 'url';
|
|
17
19
|
import 'node:events';
|
|
18
20
|
import 'node:buffer';
|
|
19
|
-
import 'node:fs';
|
|
20
21
|
import 'node:path';
|
|
21
22
|
import 'node:os';
|
|
22
23
|
import 'node:module';
|
|
23
24
|
import 'node:fs/promises';
|
|
24
25
|
import 'node:url';
|
|
26
|
+
import '../../../_/worktreePaths.mjs';
|
|
27
|
+
import '../../../_/gitExec.mjs';
|
|
28
|
+
import 'child_process';
|
|
29
|
+
import 'util';
|
|
25
30
|
|
|
26
|
-
const execAsync = promisify(exec);
|
|
27
|
-
async function git(cwd, cmd) {
|
|
28
|
-
const { stdout } = await execAsync(`git ${cmd}`, { cwd });
|
|
29
|
-
return stdout.trim();
|
|
30
|
-
}
|
|
31
31
|
const previewSync_post = defineEventHandler(async (event) => {
|
|
32
32
|
const body = await readBody(event);
|
|
33
33
|
if (!(body == null ? void 0 : body.previewBranch) || !(body == null ? void 0 : body.worktreePath)) {
|
|
@@ -36,22 +36,28 @@ const previewSync_post = defineEventHandler(async (event) => {
|
|
|
36
36
|
message: "previewBranch and worktreePath are required"
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
const {
|
|
39
|
+
const { worktreePath } = body;
|
|
40
|
+
const previewBranch = assertSafeBranchName(body.previewBranch, "preview branch");
|
|
40
41
|
const projectDir = getProjectDir();
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
await git(projectDir, `update-ref refs/heads/${previewBranch} ${worktreeHead}`);
|
|
44
|
-
const currentBranch = await git(projectDir, "rev-parse --abbrev-ref HEAD");
|
|
45
|
-
if (currentBranch === previewBranch) {
|
|
46
|
-
await git(projectDir, `reset --hard ${worktreeHead}`);
|
|
47
|
-
}
|
|
48
|
-
logger.chat.info("Preview synced", { previewBranch, commit: worktreeHead });
|
|
49
|
-
return { success: true, commit: worktreeHead };
|
|
50
|
-
} catch (error) {
|
|
51
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
52
|
-
logger.chat.error("Preview sync failed", { previewBranch, error: errorMessage });
|
|
53
|
-
return { success: false, error: errorMessage };
|
|
42
|
+
if (existsSync(worktreePath)) {
|
|
43
|
+
validateWorktreePath(worktreePath);
|
|
54
44
|
}
|
|
45
|
+
return withLock(projectDir, async () => {
|
|
46
|
+
try {
|
|
47
|
+
const worktreeHead = await git(worktreePath, ["rev-parse", "HEAD"]);
|
|
48
|
+
await git(projectDir, ["update-ref", `refs/heads/${previewBranch}`, worktreeHead]);
|
|
49
|
+
const currentBranch = await git(projectDir, ["rev-parse", "--abbrev-ref", "HEAD"]);
|
|
50
|
+
if (currentBranch === previewBranch) {
|
|
51
|
+
await git(projectDir, ["reset", "--hard", worktreeHead]);
|
|
52
|
+
}
|
|
53
|
+
logger.chat.info("Preview synced", { previewBranch, commit: worktreeHead });
|
|
54
|
+
return { success: true, commit: worktreeHead };
|
|
55
|
+
} catch (error) {
|
|
56
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
57
|
+
logger.chat.error("Preview sync failed", { previewBranch, error: errorMessage });
|
|
58
|
+
return { success: false, error: errorMessage };
|
|
59
|
+
}
|
|
60
|
+
});
|
|
55
61
|
});
|
|
56
62
|
|
|
57
63
|
export { previewSync_post as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-sync.post.mjs","sources":["../../../../../../server/api/chat/preview-sync.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview-sync.post.mjs","sources":["../../../../../../server/api/chat/preview-sync.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,yBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAGA,KAAA,CAAA;AAEA,EAAA,IAAA,EAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,aAAA,CAAA,IAAA,EAAA,6BAAA,YAAA,CAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,EAAA,cAAA,GAAA,IAAA;AACA,EAAA,MAAA,aAAA,GAAA,oBAAA,CAAA,IAAA,CAAA,aAAA,EAAA,gBAAA,CAAA;AACA,EAAA,MAAA,aAAA,aAAA,EAAA;AAEA,EAAA,IAAA,UAAA,CAAA,YAAA,CAAA,EAAA;AACA,IAAA,oBAAA,CAAA,YAAA,CAAA;AAAA,EACA;AAEA,EAAA,OAAA,QAAA,CAAA,YAAA,YAAA;AACA,IAAA,IAAA;AAEA,MAAA,MAAA,eAAA,MAAA,GAAA,CAAA,cAAA,CAAA,WAAA,EAAA,MAAA,CAAA,CAAA;AAGA,MAAA,MAAA,GAAA,CAAA,YAAA,CAAA,YAAA,EAAA,cAAA,aAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAGA,MAAA,MAAA,aAAA,GAAA,MAAA,GAAA,CAAA,UAAA,EAAA,CAAA,WAAA,EAAA,cAAA,EAAA,MAAA,CAAA,CAAA;AACA,MAAA,IAAA,kBAAA,aAAA,EAAA;AACA,QAAA,MAAA,IAAA,UAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,CAAA,CAAA;AAAA,MACA;AAEA,MAAA,MAAA,CAAA,KAAA,IAAA,CAAA,gBAAA,EAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,CAAA;AAEA,MAAA,OAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA;AAAA,IACA,SAAA,KAAA,EAAA;AACA,MAAA,MAAA,eAAA,KAAA,YAAA,KAAA,GAAA,KAAA,CAAA,OAAA,GAAA,OAAA,KAAA,CAAA;AACA,MAAA,MAAA,CAAA,KAAA,KAAA,CAAA,qBAAA,EAAA,EAAA,aAAA,EAAA,KAAA,EAAA,cAAA,CAAA;AAEA,MAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA;AAAA,IACA;AAAA,EACA,CAAA,CAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, b as readBody, c as createError, e as getProjectDir, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { a as assertSafeBranchName, g as git } from '../../../_/chatGit.mjs';
|
|
3
|
+
import { w as withLock } from '../../../_/asyncLock.mjs';
|
|
4
4
|
import 'node:http';
|
|
5
5
|
import 'node:https';
|
|
6
6
|
import 'node:crypto';
|
|
@@ -22,12 +22,10 @@ import 'node:os';
|
|
|
22
22
|
import 'node:module';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
24
|
import 'node:url';
|
|
25
|
+
import '../../../_/gitExec.mjs';
|
|
26
|
+
import 'child_process';
|
|
27
|
+
import 'util';
|
|
25
28
|
|
|
26
|
-
const execAsync = promisify(exec);
|
|
27
|
-
async function git(cwd, cmd) {
|
|
28
|
-
const { stdout } = await execAsync(`git ${cmd}`, { cwd });
|
|
29
|
-
return stdout.trim();
|
|
30
|
-
}
|
|
31
29
|
const preview_delete = defineEventHandler(async (event) => {
|
|
32
30
|
const body = await readBody(event);
|
|
33
31
|
if (!(body == null ? void 0 : body.previewBranch) || !(body == null ? void 0 : body.baseBranch)) {
|
|
@@ -36,26 +34,29 @@ const preview_delete = defineEventHandler(async (event) => {
|
|
|
36
34
|
message: "previewBranch and baseBranch are required"
|
|
37
35
|
});
|
|
38
36
|
}
|
|
39
|
-
const
|
|
37
|
+
const previewBranch = assertSafeBranchName(body.previewBranch, "preview branch");
|
|
38
|
+
const baseBranch = assertSafeBranchName(body.baseBranch, "base branch");
|
|
40
39
|
const projectDir = getProjectDir();
|
|
41
40
|
logger.chat.info("Ending preview", { previewBranch, baseBranch });
|
|
42
|
-
|
|
43
|
-
await git(projectDir, `checkout "${baseBranch}"`);
|
|
41
|
+
return withLock(projectDir, async () => {
|
|
44
42
|
try {
|
|
45
|
-
await git(projectDir,
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
await git(projectDir, ["checkout", baseBranch]);
|
|
44
|
+
try {
|
|
45
|
+
await git(projectDir, ["branch", "-D", previewBranch]);
|
|
46
|
+
} catch {
|
|
47
|
+
logger.chat.warn("Failed to delete preview branch", { previewBranch });
|
|
48
|
+
}
|
|
49
|
+
logger.chat.info("Preview ended", { previewBranch });
|
|
50
|
+
return { success: true };
|
|
51
|
+
} catch (error) {
|
|
52
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
53
|
+
logger.chat.error("Failed to end preview", { error: errorMessage });
|
|
54
|
+
return {
|
|
55
|
+
success: false,
|
|
56
|
+
error: errorMessage
|
|
57
|
+
};
|
|
48
58
|
}
|
|
49
|
-
|
|
50
|
-
return { success: true };
|
|
51
|
-
} catch (error) {
|
|
52
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
53
|
-
logger.chat.error("Failed to end preview", { error: errorMessage });
|
|
54
|
-
return {
|
|
55
|
-
success: false,
|
|
56
|
-
error: errorMessage
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
+
});
|
|
59
60
|
});
|
|
60
61
|
|
|
61
62
|
export { preview_delete as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.delete.mjs","sources":["../../../../../../server/api/chat/preview.delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview.delete.mjs","sources":["../../../../../../server/api/chat/preview.delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,uBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAGA,KAAA,CAAA;AAEA,EAAA,IAAA,EAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,aAAA,CAAA,IAAA,EAAA,6BAAA,UAAA,CAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,OAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,aAAA,GAAA,oBAAA,CAAA,IAAA,CAAA,aAAA,EAAA,gBAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,oBAAA,CAAA,IAAA,CAAA,UAAA,EAAA,aAAA,CAAA;AACA,EAAA,MAAA,aAAA,aAAA,EAAA;AAEA,EAAA,MAAA,CAAA,KAAA,IAAA,CAAA,gBAAA,EAAA,EAAA,aAAA,EAAA,YAAA,CAAA;AAEA,EAAA,OAAA,QAAA,CAAA,YAAA,YAAA;AACA,IAAA,IAAA;AAEA,MAAA,MAAA,GAAA,CAAA,UAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,CAAA;AAGA,MAAA,IAAA;AACA,QAAA,MAAA,IAAA,UAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,aAAA,CAAA,CAAA;AAAA,MACA,CAAA,CAAA,MAAA;AACA,QAAA,MAAA,CAAA,IAAA,CAAA,IAAA,CAAA,iCAAA,EAAA,EAAA,eAAA,CAAA;AAAA,MACA;AAEA,MAAA,MAAA,CAAA,IAAA,CAAA,IAAA,CAAA,eAAA,EAAA,EAAA,eAAA,CAAA;AAEA,MAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AAAA,IACA,SAAA,KAAA,EAAA;AACA,MAAA,MAAA,eAAA,KAAA,YAAA,KAAA,GAAA,KAAA,CAAA,OAAA,GAAA,OAAA,KAAA,CAAA;AACA,MAAA,MAAA,CAAA,KAAA,KAAA,CAAA,uBAAA,EAAA,EAAA,KAAA,EAAA,cAAA,CAAA;AAEA,MAAA,OAAA;AAAA,QACA,OAAA,EAAA,KAAA;AAAA,QACA,KAAA,EAAA;AAAA,OACA;AAAA,IACA;AAAA,EACA,CAAA,CAAA;AACA,CAAA,CAAA;;;;"}
|