@claude-sessions/web 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.
Files changed (147) hide show
  1. package/build/client/_app/immutable/assets/0.C_YxZDIf.css +1 -0
  2. package/build/client/_app/immutable/assets/0.C_YxZDIf.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.C_YxZDIf.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/BP5t7ykZ.js +94 -0
  5. package/build/client/_app/immutable/chunks/BP5t7ykZ.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BP5t7ykZ.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{DOVwulI9.js → Bf4Mh4fJ.js} +1 -1
  8. package/build/client/_app/immutable/chunks/Bf4Mh4fJ.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/Bf4Mh4fJ.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DMvHBIcO.js → C8BpnBJR.js} +1 -1
  11. package/build/client/_app/immutable/chunks/C8BpnBJR.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/C8BpnBJR.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{BK2z9s18.js → Cu6SENYs.js} +1 -1
  14. package/build/client/_app/immutable/chunks/Cu6SENYs.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/Cu6SENYs.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{DvQL1cTO.js → D71lck_z.js} +1 -1
  17. package/build/client/_app/immutable/chunks/D71lck_z.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/D71lck_z.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{B0nKMdd0.js → DIdjjLDW.js} +1 -1
  20. package/build/client/_app/immutable/chunks/DIdjjLDW.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/DIdjjLDW.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/DmNCCSQw.js +2 -0
  23. package/build/client/_app/immutable/chunks/DmNCCSQw.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DmNCCSQw.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/{elvo9mAG.js → OjxSOZcB.js} +1 -1
  26. package/build/client/_app/immutable/chunks/OjxSOZcB.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/{elvo9mAG.js.gz → OjxSOZcB.js.gz} +0 -0
  28. package/build/client/_app/immutable/chunks/{Cu54-bNJ.js → fVyzbufM.js} +1 -1
  29. package/build/client/_app/immutable/chunks/fVyzbufM.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/fVyzbufM.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/{app.BFVhpE8U.js → app.D2mPZqo0.js} +2 -2
  32. package/build/client/_app/immutable/entry/app.D2mPZqo0.js.br +0 -0
  33. package/build/client/_app/immutable/entry/app.D2mPZqo0.js.gz +0 -0
  34. package/build/client/_app/immutable/entry/start.D-EDPZW7.js +1 -0
  35. package/build/client/_app/immutable/entry/start.D-EDPZW7.js.br +2 -0
  36. package/build/client/_app/immutable/entry/start.D-EDPZW7.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{0.DTNn6Nv5.js → 0.0CZy4xUC.js} +1 -1
  38. package/build/client/_app/immutable/nodes/0.0CZy4xUC.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/0.0CZy4xUC.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{1.iBfsHklH.js → 1.8IhRVLrX.js} +1 -1
  41. package/build/client/_app/immutable/nodes/1.8IhRVLrX.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/1.8IhRVLrX.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/2.DcPferVT.js +6 -0
  44. package/build/client/_app/immutable/nodes/2.DcPferVT.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/2.DcPferVT.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/3.nf0kVMc_.js +5 -0
  47. package/build/client/_app/immutable/nodes/3.nf0kVMc_.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/3.nf0kVMc_.js.gz +0 -0
  49. package/build/client/_app/version.json +1 -1
  50. package/build/client/_app/version.json.br +0 -0
  51. package/build/client/_app/version.json.gz +0 -0
  52. package/build/server/chunks/0-RARlikIe.js +17 -0
  53. package/build/server/chunks/{0-DAj7n0cW.js.map → 0-RARlikIe.js.map} +1 -1
  54. package/build/server/chunks/{1-DsLKc6m0.js → 1-DirgYWzm.js} +2 -2
  55. package/build/server/chunks/{1-DsLKc6m0.js.map → 1-DirgYWzm.js.map} +1 -1
  56. package/build/server/chunks/2-He-7jSrz.js +9 -0
  57. package/build/server/chunks/{2-Cm8778AV.js.map → 2-He-7jSrz.js.map} +1 -1
  58. package/build/server/chunks/3-n2Dcnd8v.js +9 -0
  59. package/build/server/chunks/{3-BoCwbD23.js.map → 3-n2Dcnd8v.js.map} +1 -1
  60. package/build/server/chunks/{_page.svelte-DLpJmaZS.js → _page.svelte-BIsm-wEQ.js} +59 -40
  61. package/build/server/chunks/_page.svelte-BIsm-wEQ.js.map +1 -0
  62. package/build/server/chunks/_page.svelte-BZnd_diC.js +34 -0
  63. package/build/server/chunks/_page.svelte-BZnd_diC.js.map +1 -0
  64. package/build/server/chunks/{_server.ts-Bk9kaXtX.js → _server.ts-6PvKvlXG.js} +2 -2
  65. package/build/server/chunks/{_server.ts-Bk9kaXtX.js.map → _server.ts-6PvKvlXG.js.map} +1 -1
  66. package/build/server/chunks/{_server.ts-zLFwe5yM.js → _server.ts-BfTOQnQK.js} +2 -2
  67. package/build/server/chunks/{_server.ts-zLFwe5yM.js.map → _server.ts-BfTOQnQK.js.map} +1 -1
  68. package/build/server/chunks/{_server.ts-BlgHsHoW.js → _server.ts-BpfO1Oxd.js} +2 -2
  69. package/build/server/chunks/{_server.ts-BlgHsHoW.js.map → _server.ts-BpfO1Oxd.js.map} +1 -1
  70. package/build/server/chunks/{_server.ts-BBpeToTn.js → _server.ts-CZpt6s0c.js} +2 -2
  71. package/build/server/chunks/{_server.ts-BBpeToTn.js.map → _server.ts-CZpt6s0c.js.map} +1 -1
  72. package/build/server/chunks/{_server.ts-BXxllvrb.js → _server.ts-CkPJa8rH.js} +3 -5
  73. package/build/server/chunks/_server.ts-CkPJa8rH.js.map +1 -0
  74. package/build/server/chunks/{_server.ts-4sDvSSRb.js → _server.ts-Cz-ezTau.js} +2 -2
  75. package/build/server/chunks/{_server.ts-4sDvSSRb.js.map → _server.ts-Cz-ezTau.js.map} +1 -1
  76. package/build/server/chunks/{_server.ts-CVaR-qp4.js → _server.ts-DFwI1irc.js} +2 -2
  77. package/build/server/chunks/{_server.ts-CVaR-qp4.js.map → _server.ts-DFwI1irc.js.map} +1 -1
  78. package/build/server/chunks/{_server.ts-DcACijgR.js → _server.ts-DKVHHXfU.js} +19 -3
  79. package/build/server/chunks/_server.ts-DKVHHXfU.js.map +1 -0
  80. package/build/server/chunks/{_server.ts-pGmvYVbI.js → _server.ts-DU60SaEW.js} +2 -2
  81. package/build/server/chunks/{_server.ts-pGmvYVbI.js.map → _server.ts-DU60SaEW.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-DFX9t3Jv.js → _server.ts-Ddoxzxdz.js} +2 -2
  83. package/build/server/chunks/{_server.ts-DFX9t3Jv.js.map → _server.ts-Ddoxzxdz.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-BP147CdC.js → _server.ts-DiZSiHH2.js} +2 -2
  85. package/build/server/chunks/{_server.ts-BP147CdC.js.map → _server.ts-DiZSiHH2.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-DoV0Z3Ol.js → _server.ts-Dq5S_aG6.js} +2 -2
  87. package/build/server/chunks/{_server.ts-DoV0Z3Ol.js.map → _server.ts-Dq5S_aG6.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-fk5WvpYu.js → _server.ts-SZ7xXULI.js} +2 -2
  89. package/build/server/chunks/{_server.ts-fk5WvpYu.js.map → _server.ts-SZ7xXULI.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-84s16FVR.js → _server.ts-_I5t7nvC.js} +2 -2
  91. package/build/server/chunks/{_server.ts-84s16FVR.js.map → _server.ts-_I5t7nvC.js.map} +1 -1
  92. package/build/server/chunks/{format-DGbVKLYO.js → format-DgNjDoEq.js} +2 -1
  93. package/build/server/chunks/format-DgNjDoEq.js.map +1 -0
  94. package/build/server/chunks/{index2-wXxKDk_P.js → index2-CWkjuG0Y.js} +112 -39
  95. package/build/server/chunks/index2-CWkjuG0Y.js.map +1 -0
  96. package/build/server/index.js +1 -1
  97. package/build/server/index.js.map +1 -1
  98. package/build/server/manifest.js +19 -19
  99. package/build/server/manifest.js.map +1 -1
  100. package/package.json +5 -3
  101. package/build/client/_app/immutable/assets/0.BzlUta3p.css +0 -1
  102. package/build/client/_app/immutable/assets/0.BzlUta3p.css.br +0 -0
  103. package/build/client/_app/immutable/assets/0.BzlUta3p.css.gz +0 -0
  104. package/build/client/_app/immutable/chunks/B0nKMdd0.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/B0nKMdd0.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/BK2z9s18.js.br +0 -0
  107. package/build/client/_app/immutable/chunks/BK2z9s18.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/BQGcGaM2.js +0 -2
  109. package/build/client/_app/immutable/chunks/BQGcGaM2.js.br +0 -0
  110. package/build/client/_app/immutable/chunks/BQGcGaM2.js.gz +0 -0
  111. package/build/client/_app/immutable/chunks/Cu54-bNJ.js.br +0 -0
  112. package/build/client/_app/immutable/chunks/Cu54-bNJ.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/DMvHBIcO.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/DMvHBIcO.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/DOVwulI9.js.br +0 -0
  116. package/build/client/_app/immutable/chunks/DOVwulI9.js.gz +0 -0
  117. package/build/client/_app/immutable/chunks/DvQL1cTO.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/DvQL1cTO.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/QaA9x3bR.js +0 -71
  120. package/build/client/_app/immutable/chunks/QaA9x3bR.js.br +0 -0
  121. package/build/client/_app/immutable/chunks/QaA9x3bR.js.gz +0 -0
  122. package/build/client/_app/immutable/chunks/elvo9mAG.js.br +0 -0
  123. package/build/client/_app/immutable/entry/app.BFVhpE8U.js.br +0 -0
  124. package/build/client/_app/immutable/entry/app.BFVhpE8U.js.gz +0 -0
  125. package/build/client/_app/immutable/entry/start.CLU2DYMK.js +0 -1
  126. package/build/client/_app/immutable/entry/start.CLU2DYMK.js.br +0 -2
  127. package/build/client/_app/immutable/entry/start.CLU2DYMK.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/0.DTNn6Nv5.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/0.DTNn6Nv5.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/1.iBfsHklH.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/1.iBfsHklH.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/2.C1DsmfsD.js +0 -5
  133. package/build/client/_app/immutable/nodes/2.C1DsmfsD.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/2.C1DsmfsD.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/3.DKsummz1.js +0 -5
  136. package/build/client/_app/immutable/nodes/3.DKsummz1.js.br +0 -0
  137. package/build/client/_app/immutable/nodes/3.DKsummz1.js.gz +0 -0
  138. package/build/server/chunks/0-DAj7n0cW.js +0 -17
  139. package/build/server/chunks/2-Cm8778AV.js +0 -9
  140. package/build/server/chunks/3-BoCwbD23.js +0 -9
  141. package/build/server/chunks/_page.svelte-DA3WCVgK.js +0 -28
  142. package/build/server/chunks/_page.svelte-DA3WCVgK.js.map +0 -1
  143. package/build/server/chunks/_page.svelte-DLpJmaZS.js.map +0 -1
  144. package/build/server/chunks/_server.ts-BXxllvrb.js.map +0 -1
  145. package/build/server/chunks/_server.ts-DcACijgR.js.map +0 -1
  146. package/build/server/chunks/format-DGbVKLYO.js.map +0 -1
  147. package/build/server/chunks/index2-wXxKDk_P.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import{f as L,a as $,s as ie}from"../chunks/D71lck_z.js";import{p as ce,s as m,a as y,o as de,f as ue,g as e,b as le,c as b,d as H,e as r,u as k,r as V,t as pe}from"../chunks/OjxSOZcB.js";import{i as q}from"../chunks/fVyzbufM.js";import{l as me,m as ge,a as z,d as fe,r as Se,g as B,b as he,s as we,u as ye,c as je,e as ve}from"../chunks/DmNCCSQw.js";import{P as Te,S as Me,g as Ne}from"../chunks/BP5t7ykZ.js";var xe=L('<div class="fixed bottom-4 right-4 bg-gh-accent text-white px-4 py-2 rounded">Loading...</div>'),_e=L('<div class="fixed bottom-4 right-4 bg-gh-red text-white px-4 py-2 rounded"> </div>'),Ce=L('<div class="grid grid-cols-[350px_1fr] gap-4 h-[calc(100vh-120px)]"><!> <!></div> <!> <!>',1);function Le(G,J){ce(J,!0);let j=m(y([])),c=m(y(new Map)),g=m(y(new Map)),p=m(y(new Set)),i=m(null),d=m(y([])),N=m(y([])),x=m(y([])),h=m(!1),_=m(null),u=m(null);const K=()=>{const t=window.location.hash.slice(1),s=new URLSearchParams(t);return{project:s.get("project")??void 0,session:s.get("session")??void 0}},T=(t,s)=>{const n=new URLSearchParams;t&&n.set("project",t),s&&n.set("session",s);const o=n.toString();window.history.replaceState(null,"",o?`#${o}`:window.location.pathname)},O=async()=>{r(h,!0),r(u,null);try{r(j,await me(),!0)}catch(t){r(u,String(t),!0)}finally{r(h,!1)}},E=async t=>{if(!e(c).has(t)){r(_,t,!0);try{const s=await ve(t),n=[],o=new Map;for(const a of s)n.push({id:a.id,projectName:t,title:a.title,messageCount:a.messageCount,createdAt:a.createdAt,updatedAt:a.updatedAt}),o.set(a.id,a);e(c).set(t,n),r(c,new Map(e(c)),!0),e(g).set(t,o),r(g,new Map(e(g)),!0)}catch(s){r(u,String(s),!0)}finally{r(_,null)}}},C=async()=>{const{project:t,session:s}=K();if(t&&(await E(t),e(p).add(t),r(p,new Set(e(p)),!0),s)){const n=e(c).get(t),o=n==null?void 0:n.find(a=>a.id===s);o&&await A(o,!1)}},Q=async t=>{var s,n;e(p).has(t)?(e(p).delete(t),r(p,new Set(e(p)),!0),((s=e(i))==null?void 0:s.projectName)===t&&T()):(await E(t),e(p).add(t),r(p,new Set(e(p)),!0),T(t,((n=e(i))==null?void 0:n.projectName)===t?e(i).id:void 0))},A=async(t,s=!0)=>{var n,o,a,w,l,f,S;r(i,t,!0),r(h,!0),r(u,null);try{r(d,await B(t.projectName,t.id),!0);const v=(n=e(g).get(t.projectName))==null?void 0:n.get(t.id);if(v){const M=((o=v.todos)==null?void 0:o.sessionTodos)??[],I=((w=(a=v.todos)==null?void 0:a.agentTodos)==null?void 0:w.flatMap(D=>D.todos))??[];r(N,[...M,...I],!0),r(x,v.agents??[],!0)}else{const M=await he(t.projectName,t.id),I=((l=M.todos)==null?void 0:l.sessionTodos)??[],D=((S=(f=M.todos)==null?void 0:f.agentTodos)==null?void 0:S.flatMap(oe=>oe.todos))??[];r(N,[...I,...D],!0),r(x,M.agents??[],!0)}s&&T(t.projectName,t.id)}catch(v){r(u,String(v),!0)}finally{r(h,!1)}},W=async(t,s)=>{var n;if(t.stopPropagation(),!!confirm(`Delete session "${s.title}"?`))try{await fe(s.projectName,s.id);const o=e(c).get(s.projectName);o&&(e(c).set(s.projectName,o.filter(a=>a.id!==s.id)),r(c,new Map(e(c)),!0)),((n=e(i))==null?void 0:n.id)===s.id&&(r(i,null),r(d,[],!0),T(s.projectName))}catch(o){r(u,String(o),!0)}},X=async(t,s)=>{var w,l;t.stopPropagation();const n=(w=e(g).get(s.projectName))==null?void 0:w.get(s.id),o=Ne(n==null?void 0:n.customTitle,n==null?void 0:n.currentSummary,s.title,1/0,""),a=prompt(`Enter session title:
2
+ (Sets custom-title for CLI, first summary for VSCode extension)`,o);if(a!==null)try{await Se(s.projectName,s.id,a),n&&(n.customTitle=a,n.currentSummary=a,n.summaries.length>0?n.summaries[0]={...n.summaries[0],summary:a}:n.summaries=[{summary:a}]),r(c,new Map(e(c)),!0),r(g,new Map(e(g)),!0),((l=e(i))==null?void 0:l.id)===s.id&&r(d,await B(s.projectName,s.id),!0)}catch(f){r(u,String(f),!0)}},Y=async t=>{if(!e(i))return;const s=t.uuid||t.messageId||t.leafUuid;if(s)try{await je(e(i).projectName,e(i).id,s),r(d,e(d).filter(a=>(a.uuid||a.messageId||a.leafUuid)!==s),!0);const n=e(c).get(e(i).projectName),o=n==null?void 0:n.find(a=>a.id===e(i).id);o&&(o.messageCount=e(d).length,r(c,new Map(e(c)),!0))}catch(n){r(u,String(n),!0)}},Z=async t=>{if(!e(i))return;const s=t.customTitle??"",n=prompt("Enter new custom title:",s);if(!(n===null||n===s))try{await ye(e(i).projectName,e(i).id,t.uuid,n),t.customTitle=n,r(d,[...e(d)],!0)}catch(o){r(u,String(o),!0)}},ee=async t=>{if(!e(i))return;const s=e(d).findIndex(a=>a.uuid===t.uuid),n=s,o=e(d).length-s;if(confirm(`Split session at this message?
3
+
4
+ This session will keep ${n} messages.
5
+ New session will have ${o} messages.`))try{r(h,!0);const a=await we(e(i).projectName,e(i).id,t.uuid);if(a.success&&a.newSessionId){const w=await z(e(i).projectName);e(c).set(e(i).projectName,w),r(c,new Map(e(c)),!0),r(d,e(d).slice(0,s),!0);const l=e(c).get(e(i).projectName),f=l==null?void 0:l.find(S=>S.id===e(i).id);f&&(f.messageCount=e(d).length,r(c,new Map(e(c)),!0)),alert(`Session split successfully!
6
+ New session ID: ${a.newSessionId}`)}else r(u,a.error??"Failed to split session",!0)}catch(a){r(u,String(a),!0)}finally{r(h,!1)}},te=async(t,s)=>{var n;if(confirm(`Move session "${t.title}" to ${s.split("-").pop()}?`))try{r(h,!0);const o=await ge(t.projectName,t.id,s);if(o.success){const a=e(c).get(t.projectName);a&&e(c).set(t.projectName,a.filter(S=>S.id!==t.id));const w=await z(s);e(c).set(s,w),r(c,new Map(e(c)),!0);const l=e(j).find(S=>S.name===t.projectName),f=e(j).find(S=>S.name===s);l&&l.sessionCount--,f&&f.sessionCount++,r(j,[...e(j)],!0),((n=e(i))==null?void 0:n.id)===t.id&&(r(i,null),r(d,[],!0),T())}else r(u,o.error??"Failed to move session",!0)}catch(o){r(u,String(o),!0)}finally{r(h,!1)}};de(()=>(O().then(()=>C()),window.addEventListener("hashchange",C),()=>window.removeEventListener("hashchange",C)));var R=Ce(),P=ue(R),U=H(P);Te(U,{get projects(){return e(j)},get projectSessions(){return e(c)},get projectSessionData(){return e(g)},get expandedProjects(){return e(p)},get selectedSession(){return e(i)},get loadingProject(){return e(_)},onToggleProject:Q,onSelectSession:A,onRenameSession:X,onDeleteSession:W,onMoveSession:te});var se=b(U,2);{let t=k(()=>{var n,o;return e(i)?(o=(n=e(g).get(e(i).projectName))==null?void 0:n.get(e(i).id))==null?void 0:o.customTitle:void 0}),s=k(()=>{var n,o;return e(i)?(o=(n=e(g).get(e(i).projectName))==null?void 0:n.get(e(i).id))==null?void 0:o.currentSummary:void 0});Me(se,{get session(){return e(i)},get messages(){return e(d)},get todos(){return e(N)},get agents(){return e(x)},get customTitle(){return e(t)},get currentSummary(){return e(s)},onMessagesChange:n=>r(d,n,!0),onDeleteMessage:Y,onEditTitle:Z,onSplitSession:ee})}V(P);var F=b(P,2);{var ne=t=>{var s=xe();$(t,s)};q(F,t=>{e(h)&&t(ne)})}var re=b(F,2);{var ae=t=>{var s=_e(),n=H(s,!0);V(s),pe(()=>ie(n,e(u))),$(t,s)};q(re,t=>{e(u)&&t(ae)})}$(G,R),le()}export{Le as component};
@@ -0,0 +1,5 @@
1
+ import{f as N,a as y,c as q,s as z}from"../chunks/D71lck_z.js";import{p as B,s as u,a as I,o as G,b as H,h as J,g as e,$ as K,u as T,d as x,r as C,e as s,f as Q,t as X}from"../chunks/OjxSOZcB.js";import{i as k}from"../chunks/fVyzbufM.js";import{h as Y}from"../chunks/DIdjjLDW.js";import{p as $}from"../chunks/C8BpnBJR.js";import{l as Z,a as ee,g as te,b as se,s as ae,u as oe}from"../chunks/DmNCCSQw.js";import{S as ne}from"../chunks/BP5t7ykZ.js";var re=N('<div class="flex items-center justify-center h-full"><div class="text-gh-muted">Loading...</div></div>'),ie=N('<div class="flex items-center justify-center h-full"><div class="text-gh-red"> </div></div>'),le=N('<div class="h-screen bg-gh-bg"><!></div>');function ve(E,M){B(M,!0);let i=u(null),l=u(I([])),b=u(I([])),D=u(I([])),g=u(!0),m=u(null),U=u(""),w=u(void 0),f=u(void 0);const p=T(()=>decodeURIComponent($.params.project??"")),v=T(()=>decodeURIComponent($.params.id??"")),R=T(()=>{var t;return e(w)??(e(f)&&e(f).length>50?e(f).slice(0,47)+"...":e(f))??((t=e(i))==null?void 0:t.title)??"Untitled"}),A=T(()=>`/#project=${encodeURIComponent(e(p))}`),F=async()=>{var t,a,n;s(g,!0),s(m,null);try{const o=(await Z()).find(h=>h.name===e(p));s(U,(o==null?void 0:o.displayName)??e(p),!0);const d=await ee(e(p));s(i,d.find(h=>h.id===e(v))??{id:e(v),projectName:e(p),title:e(v),messageCount:0,updatedAt:new Date().toISOString()},!0),s(l,await te(e(p),e(v)),!0);const r=await se(e(p),e(v)),S=((t=r.todos)==null?void 0:t.sessionTodos)??[],j=((n=(a=r.todos)==null?void 0:a.agentTodos)==null?void 0:n.flatMap(h=>h.todos))??[];s(b,[...S,...j],!0),s(D,r.agents??[],!0),s(w,r.customTitle,!0),s(f,r.currentSummary,!0)}catch(c){s(m,String(c),!0)}finally{s(g,!1)}},L=async t=>{if(!e(i))return;const a=t.customTitle??"",n=prompt("Enter new custom title:",a);if(!(n===null||n===a))try{await oe(e(i).projectName,e(i).id,t.uuid,n),t.customTitle=n,s(l,[...e(l)],!0)}catch(c){s(m,String(c),!0)}},O=async t=>{if(!e(i))return;const a=e(l).findIndex(o=>o.uuid===t.uuid),n=a,c=e(l).length-a;if(confirm(`Split session at this message?
2
+
3
+ This session will keep ${n} messages.
4
+ New session will have ${c} messages.`))try{s(g,!0);const o=await ae(e(i).projectName,e(i).id,t.uuid);o.success&&o.newSessionId?(s(l,e(l).slice(0,a),!0),alert(`Session split successfully!
5
+ New session ID: ${o.newSessionId}`)):s(m,o.error??"Failed to split session",!0)}catch(o){s(m,String(o),!0)}finally{s(g,!1)}};G(F);var _=le();Y("ik3mmh",t=>{J(()=>{K.title=`${e(R)??""} - Claude Sessions`})});var P=x(_);{var V=t=>{var a=re();y(t,a)},W=t=>{var a=q(),n=Q(a);{var c=d=>{var r=ie(),S=x(r),j=x(S,!0);C(S),C(r),X(()=>z(j,e(m))),y(d,r)},o=d=>{ne(d,{get session(){return e(i)},get messages(){return e(l)},get agents(){return e(D)},get todos(){return e(b)},get customTitle(){return e(w)},get currentSummary(){return e(f)},get projectDisplayName(){return e(U)},get backUrl(){return e(A)},onMessagesChange:r=>s(l,r,!0),onEditTitle:L,onSplitSession:O,enableScroll:!0,fullWidth:!0})};k(n,d=>{e(m)?d(c):d(o,!1)},!0)}y(t,a)};k(P,t=>{e(g)?t(V):t(W,!1)})}C(_),y(E,_),H()}export{ve as component};
@@ -1 +1 @@
1
- {"version":"1766200406548"}
1
+ {"version":"1766392426348"}
Binary file
Binary file
@@ -0,0 +1,17 @@
1
+ const ssr = true;
2
+
3
+ var _layout_ts = /*#__PURE__*/Object.freeze({
4
+ __proto__: null,
5
+ ssr: ssr
6
+ });
7
+
8
+ const index = 0;
9
+ let component_cache;
10
+ const component = async () => component_cache ??= (await import('./_layout.svelte-BsIPSbGo.js')).default;
11
+ const universal_id = "src/routes/+layout.ts";
12
+ const imports = ["_app/immutable/nodes/0.0CZy4xUC.js","_app/immutable/chunks/D71lck_z.js","_app/immutable/chunks/OjxSOZcB.js","_app/immutable/chunks/fVyzbufM.js","_app/immutable/chunks/DmNCCSQw.js","_app/immutable/chunks/DIdjjLDW.js","_app/immutable/chunks/Bf4Mh4fJ.js","_app/immutable/chunks/C8BpnBJR.js"];
13
+ const stylesheets = ["_app/immutable/assets/0.C_YxZDIf.css"];
14
+ const fonts = [];
15
+
16
+ export { component, fonts, imports, index, stylesheets, _layout_ts as universal, universal_id };
17
+ //# sourceMappingURL=0-RARlikIe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0-DAj7n0cW.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["const ssr = true;\nexport {\n ssr\n};\n","import * as universal from '../entries/pages/_layout.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { universal };\nexport const universal_id = \"src/routes/+layout.ts\";\nexport const imports = [\"_app/immutable/nodes/0.DTNn6Nv5.js\",\"_app/immutable/chunks/DvQL1cTO.js\",\"_app/immutable/chunks/elvo9mAG.js\",\"_app/immutable/chunks/Cu54-bNJ.js\",\"_app/immutable/chunks/BQGcGaM2.js\",\"_app/immutable/chunks/B0nKMdd0.js\",\"_app/immutable/chunks/DOVwulI9.js\",\"_app/immutable/chunks/DMvHBIcO.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.BzlUta3p.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG,IAAI;;;;;;;ACEJ,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,YAAY,GAAG;AAChB,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"0-RARlikIe.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["const ssr = true;\nexport {\n ssr\n};\n","import * as universal from '../entries/pages/_layout.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { universal };\nexport const universal_id = \"src/routes/+layout.ts\";\nexport const imports = [\"_app/immutable/nodes/0.0CZy4xUC.js\",\"_app/immutable/chunks/D71lck_z.js\",\"_app/immutable/chunks/OjxSOZcB.js\",\"_app/immutable/chunks/fVyzbufM.js\",\"_app/immutable/chunks/DmNCCSQw.js\",\"_app/immutable/chunks/DIdjjLDW.js\",\"_app/immutable/chunks/Bf4Mh4fJ.js\",\"_app/immutable/chunks/C8BpnBJR.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.C_YxZDIf.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAG,IAAI;;;;;;;ACEJ,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,YAAY,GAAG;AAChB,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 1;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./error.svelte-CxBB_UKu.js')).default;
4
- const imports = ["_app/immutable/nodes/1.iBfsHklH.js","_app/immutable/chunks/DvQL1cTO.js","_app/immutable/chunks/elvo9mAG.js","_app/immutable/chunks/DMvHBIcO.js","_app/immutable/chunks/DOVwulI9.js"];
4
+ const imports = ["_app/immutable/nodes/1.8IhRVLrX.js","_app/immutable/chunks/D71lck_z.js","_app/immutable/chunks/OjxSOZcB.js","_app/immutable/chunks/C8BpnBJR.js","_app/immutable/chunks/Bf4Mh4fJ.js"];
5
5
  const stylesheets = [];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=1-DsLKc6m0.js.map
9
+ //# sourceMappingURL=1-DirgYWzm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1-DsLKc6m0.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.iBfsHklH.js\",\"_app/immutable/chunks/DvQL1cTO.js\",\"_app/immutable/chunks/elvo9mAG.js\",\"_app/immutable/chunks/DMvHBIcO.js\",\"_app/immutable/chunks/DOVwulI9.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"1-DirgYWzm.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.8IhRVLrX.js\",\"_app/immutable/chunks/D71lck_z.js\",\"_app/immutable/chunks/OjxSOZcB.js\",\"_app/immutable/chunks/C8BpnBJR.js\",\"_app/immutable/chunks/Bf4Mh4fJ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 2;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-BIsm-wEQ.js')).default;
4
+ const imports = ["_app/immutable/nodes/2.DcPferVT.js","_app/immutable/chunks/D71lck_z.js","_app/immutable/chunks/OjxSOZcB.js","_app/immutable/chunks/fVyzbufM.js","_app/immutable/chunks/DmNCCSQw.js","_app/immutable/chunks/BP5t7ykZ.js","_app/immutable/chunks/Cu6SENYs.js"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=2-He-7jSrz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"2-Cm8778AV.js","sources":["../../../.svelte-kit/adapter-node/nodes/2.js"],"sourcesContent":["\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/2.C1DsmfsD.js\",\"_app/immutable/chunks/DvQL1cTO.js\",\"_app/immutable/chunks/elvo9mAG.js\",\"_app/immutable/chunks/Cu54-bNJ.js\",\"_app/immutable/chunks/BQGcGaM2.js\",\"_app/immutable/chunks/QaA9x3bR.js\",\"_app/immutable/chunks/BK2z9s18.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAChG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"2-He-7jSrz.js","sources":["../../../.svelte-kit/adapter-node/nodes/2.js"],"sourcesContent":["\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/2.DcPferVT.js\",\"_app/immutable/chunks/D71lck_z.js\",\"_app/immutable/chunks/OjxSOZcB.js\",\"_app/immutable/chunks/fVyzbufM.js\",\"_app/immutable/chunks/DmNCCSQw.js\",\"_app/immutable/chunks/BP5t7ykZ.js\",\"_app/immutable/chunks/Cu6SENYs.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAChG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 3;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-BZnd_diC.js')).default;
4
+ const imports = ["_app/immutable/nodes/3.nf0kVMc_.js","_app/immutable/chunks/D71lck_z.js","_app/immutable/chunks/OjxSOZcB.js","_app/immutable/chunks/fVyzbufM.js","_app/immutable/chunks/DIdjjLDW.js","_app/immutable/chunks/C8BpnBJR.js","_app/immutable/chunks/Bf4Mh4fJ.js","_app/immutable/chunks/DmNCCSQw.js","_app/immutable/chunks/BP5t7ykZ.js","_app/immutable/chunks/Cu6SENYs.js"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=3-n2Dcnd8v.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"3-BoCwbD23.js","sources":["../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/session/_project_/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/3.DKsummz1.js\",\"_app/immutable/chunks/DvQL1cTO.js\",\"_app/immutable/chunks/elvo9mAG.js\",\"_app/immutable/chunks/Cu54-bNJ.js\",\"_app/immutable/chunks/B0nKMdd0.js\",\"_app/immutable/chunks/BQGcGaM2.js\",\"_app/immutable/chunks/BK2z9s18.js\",\"_app/immutable/chunks/DMvHBIcO.js\",\"_app/immutable/chunks/DOVwulI9.js\",\"_app/immutable/chunks/QaA9x3bR.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAyD,CAAC,EAAE;AACvH,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpX,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"3-n2Dcnd8v.js","sources":["../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/session/_project_/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/3.nf0kVMc_.js\",\"_app/immutable/chunks/D71lck_z.js\",\"_app/immutable/chunks/OjxSOZcB.js\",\"_app/immutable/chunks/fVyzbufM.js\",\"_app/immutable/chunks/DIdjjLDW.js\",\"_app/immutable/chunks/C8BpnBJR.js\",\"_app/immutable/chunks/Bf4Mh4fJ.js\",\"_app/immutable/chunks/DmNCCSQw.js\",\"_app/immutable/chunks/BP5t7ykZ.js\",\"_app/immutable/chunks/Cu6SENYs.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAyD,CAAC,EAAE;AACvH,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpX,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1,7 +1,13 @@
1
1
  import { F as ensure_array_like, y as attr_class, x as attr, z as stringify } from './index-CMvE0dm6.js';
2
- import { f as formatProjectName } from './format-DGbVKLYO.js';
2
+ import { f as formatProjectName } from './format-DgNjDoEq.js';
3
3
  import { e as escape_html } from './context-R2425nfV.js';
4
4
  import 'marked';
5
+ import './index2-CWkjuG0Y.js';
6
+ import 'fs';
7
+ import 'os';
8
+ import 'path';
9
+ import 'effect';
10
+ import 'fs/promises';
5
11
 
6
12
  function ProjectTree($$renderer, $$props) {
7
13
  $$renderer.component(($$renderer2) => {
@@ -19,8 +25,8 @@ function ProjectTree($$renderer, $$props) {
19
25
  const getDisplayTitle = (session) => {
20
26
  const data = getSessionData(session.projectName, session.id);
21
27
  if (data?.customTitle) return data.customTitle;
22
- if (data?.lastSummary) {
23
- const summary = data.lastSummary;
28
+ if (data?.currentSummary) {
29
+ const summary = data.currentSummary;
24
30
  return summary.length > 60 ? summary.slice(0, 57) + "..." : summary;
25
31
  }
26
32
  if (session.title && session.title !== "Untitled") return session.title;
@@ -28,14 +34,14 @@ function ProjectTree($$renderer, $$props) {
28
34
  };
29
35
  const getTooltipText = (session) => {
30
36
  const data = getSessionData(session.projectName, session.id);
31
- if (data?.customTitle && data?.lastSummary) {
32
- return data.lastSummary;
37
+ if (data?.customTitle && data?.currentSummary) {
38
+ return data.currentSummary;
33
39
  }
34
- if (data?.lastSummary && session.title && session.title !== "Untitled") {
40
+ if (data?.currentSummary && session.title && session.title !== "Untitled") {
35
41
  return session.title;
36
42
  }
37
- if (data?.lastSummary) {
38
- return data.lastSummary;
43
+ if (data?.currentSummary) {
44
+ return data.currentSummary;
39
45
  }
40
46
  return session.title ?? "No summary available";
41
47
  };
@@ -76,7 +82,7 @@ function ProjectTree($$renderer, $$props) {
76
82
  const displayTitle = getDisplayTitle(session);
77
83
  const tooltipText = getTooltipText(session);
78
84
  const data = getSessionData(session.projectName, session.id);
79
- const isSummaryFallback = !data?.customTitle && !data?.lastSummary;
85
+ const isSummaryFallback = !data?.customTitle && !data?.currentSummary;
80
86
  const isExpanded = expandedSessions.has(session.id);
81
87
  const hasSubItems = sessionInfo.summaries > 0 || sessionInfo.agents > 0 || sessionInfo.todos > 0;
82
88
  $$renderer2.push(`<li${attr_class(`relative border-t border-gh-border-subtle group ${stringify(isSelected ? "bg-gh-accent/20 border-l-3 border-l-gh-accent" : "")} ${stringify(isDragging ? "opacity-50" : "")}`)} draggable="true"><div class="flex items-center">`);
@@ -102,9 +108,9 @@ function ProjectTree($$renderer, $$props) {
102
108
  $$renderer2.push("<!--[!-->");
103
109
  }
104
110
  $$renderer2.push(`<!--]--></span></button> <div${attr_class(`absolute left-0 right-0 top-0 h-8 flex items-center opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none ${stringify(isSelected ? "bg-gradient-to-r from-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] via-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] to-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))]" : "bg-gradient-to-r from-gh-bg via-gh-bg to-gh-bg")}`)}><span class="flex-1 min-w-0 pl-7 pr-2 text-xs text-gh-text-secondary italic overflow-hidden text-ellipsis whitespace-nowrap">`);
105
- if (data?.lastSummary) {
111
+ if (data?.currentSummary) {
106
112
  $$renderer2.push("<!--[-->");
107
- $$renderer2.push(`${escape_html(data.lastSummary.length > 50 ? data.lastSummary.slice(0, 47) + "..." : data.lastSummary)}`);
113
+ $$renderer2.push(`${escape_html(data.currentSummary.length > 50 ? data.currentSummary.slice(0, 47) + "..." : data.currentSummary)}`);
108
114
  } else {
109
115
  $$renderer2.push("<!--[!-->");
110
116
  $$renderer2.push(`${escape_html(displayTitle)}`);
@@ -119,14 +125,14 @@ function ProjectTree($$renderer, $$props) {
119
125
  const each_array_2 = ensure_array_like(data.summaries);
120
126
  for (let idx = 0, $$length3 = each_array_2.length; idx < $$length3; idx++) {
121
127
  let summary = each_array_2[idx];
122
- $$renderer2.push(`<li class="py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2"${attr("title", summary.summary)}><span class="flex-shrink-0">📝</span> <span class="overflow-hidden text-ellipsis line-clamp-2">`);
123
- if (idx === 0) {
128
+ $$renderer2.push(`<li${attr_class(`py-1.5 px-4 pl-8 hover:bg-gh-border-subtle/50 flex flex-col gap-0.5 ${stringify(idx === 0 ? "text-gh-text" : "text-gh-text-secondary")}`)}${attr("title", summary.summary)}><div class="flex items-start gap-2"><span class="flex-shrink-0">📝</span> <span class="overflow-hidden text-ellipsis line-clamp-2">${escape_html(summary.summary.length > 100 ? summary.summary.slice(0, 97) + "..." : summary.summary)}</span></div> `);
129
+ if (summary.timestamp) {
124
130
  $$renderer2.push("<!--[-->");
125
- $$renderer2.push(`<span class="text-gh-accent font-medium">[Last]</span>`);
131
+ $$renderer2.push(`<span class="pl-6 text-[10px] text-gh-text-secondary/70">${escape_html(new Date(summary.timestamp).toLocaleString())}</span>`);
126
132
  } else {
127
133
  $$renderer2.push("<!--[!-->");
128
134
  }
129
- $$renderer2.push(`<!--]--> ${escape_html(summary.summary.length > 100 ? summary.summary.slice(0, 97) + "..." : summary.summary)}</span></li>`);
135
+ $$renderer2.push(`<!--]--></li>`);
130
136
  }
131
137
  $$renderer2.push(`<!--]-->`);
132
138
  } else {
@@ -182,18 +188,10 @@ function ProjectTree($$renderer, $$props) {
182
188
  $$renderer2.push(`<!--]--></ul></aside>`);
183
189
  });
184
190
  }
185
- function SessionViewer($$renderer, $$props) {
191
+ function ScrollButtons($$renderer, $$props) {
186
192
  $$renderer.component(($$renderer2) => {
187
- let {
188
- messages,
189
- showHeader = true,
190
- enableScroll = true,
191
- fullWidth = false
192
- } = $$props;
193
- let pendingDeletes = [];
194
- let deleteCountdown = 0;
195
- messages.findIndex((m) => m.type === "user" || m.type === "assistant" || m.type === "human");
196
- (() => {
193
+ let { messages, class: className = "" } = $$props;
194
+ const lastCompactIndex = (() => {
197
195
  for (let i = messages.length - 1; i >= 0; i--) {
198
196
  if (messages[i].isCompactSummary) {
199
197
  return i;
@@ -201,23 +199,44 @@ function SessionViewer($$renderer, $$props) {
201
199
  }
202
200
  return -1;
203
201
  })();
204
- $$renderer2.push(`<section${attr_class(`bg-gh-bg-secondary overflow-hidden flex flex-col ${stringify(fullWidth ? "" : "border border-gh-border rounded-lg")}`)}>`);
205
- if (showHeader) {
202
+ if (messages.length > 0) {
206
203
  $$renderer2.push("<!--[-->");
207
- $$renderer2.push(`<div class="p-4 border-b border-gh-border bg-gh-bg flex flex-wrap justify-between items-start gap-2"><div class="flex-1 min-w-[200px]">`);
208
- {
209
- $$renderer2.push("<!--[!-->");
210
- $$renderer2.push(`<h2 class="text-base font-semibold">Messages</h2>`);
211
- }
212
- $$renderer2.push(`<!--]--></div> `);
213
- {
204
+ $$renderer2.push(`<div${attr_class(`flex gap-1 ${stringify(className)}`)}><button class="px-2 py-1 text-xs rounded border border-gh-border hover:bg-gh-border-subtle text-gh-text-secondary hover:text-gh-text transition-colors bg-gh-bg" title="Go to top">↑ Top</button> `);
205
+ if (lastCompactIndex >= 0) {
206
+ $$renderer2.push("<!--[-->");
207
+ $$renderer2.push(`<button class="px-2 py-1 text-xs rounded border border-gh-border hover:bg-gh-border-subtle text-gh-text-secondary hover:text-gh-text transition-colors bg-gh-bg" title="Jump to last compacted point (context continuation)">📍 Last Compacted</button>`);
208
+ } else {
214
209
  $$renderer2.push("<!--[!-->");
215
210
  }
216
- $$renderer2.push(`<!--]--></div>`);
211
+ $$renderer2.push(`<!--]--> <button class="px-2 py-1 text-xs rounded border border-gh-border hover:bg-gh-border-subtle text-gh-text-secondary hover:text-gh-text transition-colors bg-gh-bg" title="Go to bottom">↓ Bottom</button></div>`);
217
212
  } else {
218
213
  $$renderer2.push("<!--[!-->");
219
214
  }
220
- $$renderer2.push(`<!--]--> `);
215
+ $$renderer2.push(`<!--]-->`);
216
+ });
217
+ }
218
+ function SessionViewer($$renderer, $$props) {
219
+ $$renderer.component(($$renderer2) => {
220
+ let {
221
+ messages,
222
+ backUrl,
223
+ enableScroll = true,
224
+ fullWidth = false
225
+ } = $$props;
226
+ let undoStack = [];
227
+ let undoCountdown = 0;
228
+ messages.findIndex((m) => m.type === "user" || m.type === "assistant" || m.type === "human");
229
+ $$renderer2.push(`<section${attr_class(`bg-gh-bg-secondary overflow-hidden flex flex-col h-full ${stringify(fullWidth ? "" : "border border-gh-border rounded-lg")}`)}><div class="p-4 border-b border-gh-border bg-gh-bg flex flex-wrap justify-between items-start gap-2"><a${attr("href", backUrl)} class="text-gh-muted hover:text-gh-fg flex-shrink-0" title="Back to project"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path></svg></a> <div class="flex-1 min-w-[200px]">`);
230
+ {
231
+ $$renderer2.push("<!--[!-->");
232
+ $$renderer2.push(`<h2 class="text-base font-semibold">Messages</h2>`);
233
+ }
234
+ $$renderer2.push(`<!--]--></div> `);
235
+ {
236
+ $$renderer2.push("<!--[-->");
237
+ ScrollButtons($$renderer2, { messages });
238
+ }
239
+ $$renderer2.push(`<!--]--></div> `);
221
240
  {
222
241
  $$renderer2.push("<!--[!-->");
223
242
  }
@@ -227,9 +246,9 @@ function SessionViewer($$renderer, $$props) {
227
246
  $$renderer2.push(`<div class="flex items-center justify-center h-full text-gh-text-secondary">Select a session to view</div>`);
228
247
  }
229
248
  $$renderer2.push(`<!--]--></div> `);
230
- if (pendingDeletes.length > 0) {
249
+ if (undoStack.length > 0) {
231
250
  $$renderer2.push("<!--[-->");
232
- $$renderer2.push(`<div class="fixed bottom-4 left-1/2 -translate-x-1/2 bg-neutral-500/20 border border-neutral-600 rounded-lg shadow-2xl px-4 py-3 flex items-center gap-4 z-50 backdrop-blur-sm"><span class="text-sm text-white">${escape_html(pendingDeletes.length === 1 ? "Message deleted" : `${pendingDeletes.length} messages deleted`)}</span> <span class="text-xs text-gh-text-secondary tabular-nums">${escape_html(deleteCountdown)}s</span> <button class="px-3 py-1 text-sm font-medium text-gh-accent hover:bg-gh-border-subtle rounded transition-colors">Undo</button></div>`);
251
+ $$renderer2.push(`<div class="fixed bottom-4 left-1/2 -translate-x-1/2 bg-neutral-500/20 border border-neutral-600 rounded-lg shadow-2xl px-4 py-3 flex items-center gap-4 z-50 backdrop-blur-sm"><span class="text-sm text-white">${escape_html(undoStack.length === 1 ? "Message deleted" : `${undoStack.length} messages deleted`)}</span> <span class="text-xs text-gh-text-secondary tabular-nums">${escape_html(undoCountdown)}s</span> <button class="px-3 py-1 text-sm font-medium text-gh-accent hover:bg-gh-border-subtle rounded transition-colors">Undo</button> <button class="px-2 py-1 text-sm text-gh-text-secondary hover:text-gh-text hover:bg-gh-border-subtle rounded transition-colors" title="Dismiss (already deleted)">✕</button></div>`);
233
252
  } else {
234
253
  $$renderer2.push("<!--[!-->");
235
254
  }
@@ -271,4 +290,4 @@ function _page($$renderer, $$props) {
271
290
  }
272
291
 
273
292
  export { _page as default };
274
- //# sourceMappingURL=_page.svelte-DLpJmaZS.js.map
293
+ //# sourceMappingURL=_page.svelte-BIsm-wEQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-BIsm-wEQ.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { F as ensure_array_like, y as attr_class, x as attr, z as stringify } from \"../../chunks/index.js\";\nimport { f as formatProjectName } from \"../../chunks/format.js\";\nimport { e as escape_html } from \"../../chunks/context.js\";\nfunction ProjectTree($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n projects,\n projectSessions,\n projectSessionData,\n expandedProjects,\n selectedSession,\n loadingProject\n } = $$props;\n const getSessionData = (projectName, sessionId) => {\n return projectSessionData.get(projectName)?.get(sessionId);\n };\n const getDisplayTitle = (session) => {\n const data = getSessionData(session.projectName, session.id);\n if (data?.customTitle) return data.customTitle;\n if (data?.currentSummary) {\n const summary = data.currentSummary;\n return summary.length > 60 ? summary.slice(0, 57) + \"...\" : summary;\n }\n if (session.title && session.title !== \"Untitled\") return session.title;\n return \"Untitled\";\n };\n const getTooltipText = (session) => {\n const data = getSessionData(session.projectName, session.id);\n if (data?.customTitle && data?.currentSummary) {\n return data.currentSummary;\n }\n if (data?.currentSummary && session.title && session.title !== \"Untitled\") {\n return session.title;\n }\n if (data?.currentSummary) {\n return data.currentSummary;\n }\n return session.title ?? \"No summary available\";\n };\n const getSessionInfo = (session) => {\n const data = getSessionData(session.projectName, session.id);\n const todoCount = data?.todos ? data.todos.sessionTodos.length + data.todos.agentTodos.reduce((acc, at) => acc + at.todos.length, 0) : 0;\n return {\n agents: data?.agents.length ?? 0,\n todos: todoCount,\n summaries: data?.summaries.length ?? 0\n };\n };\n const nonEmptyProjects = projects.filter((p) => p.sessionCount > 0);\n let expandedSessions = /* @__PURE__ */ new Set();\n let draggedSession = null;\n let dropTargetProject = null;\n $$renderer2.push(`<aside class=\"bg-gh-bg-secondary border border-gh-border rounded-lg overflow-hidden flex flex-col\"><h2 class=\"p-4 text-base font-semibold border-b border-gh-border bg-gh-bg\">Projects (${escape_html(nonEmptyProjects.length)})</h2> <ul class=\"overflow-y-auto flex-1\"><!--[-->`);\n const each_array = ensure_array_like(nonEmptyProjects);\n for (let $$index_4 = 0, $$length = each_array.length; $$index_4 < $$length; $$index_4++) {\n let project = each_array[$$index_4];\n const isDropTarget = dropTargetProject === project.name;\n $$renderer2.push(`<li class=\"border-b border-gh-border-subtle\"><button${attr_class(`w-full py-3 px-4 bg-transparent border-none text-gh-text cursor-pointer text-left flex items-center gap-2 font-medium hover:bg-gh-border-subtle ${stringify(expandedProjects.has(project.name) ? \"bg-gh-accent/10\" : \"\")} ${stringify(isDropTarget ? \"bg-gh-green/20 ring-2 ring-gh-green ring-inset\" : \"\")}`)}><span class=\"text-xs w-3 text-gh-text-secondary\">${escape_html(expandedProjects.has(project.name) ? \"▼\" : \"▶\")}</span> <span class=\"flex-1 overflow-hidden text-ellipsis whitespace-nowrap\"${attr(\"title\", project.displayName)}>${escape_html(formatProjectName(project.displayName))}</span> <span class=\"bg-gh-border px-2 py-0.5 rounded-full text-xs font-normal\">${escape_html(project.sessionCount)}</span></button> `);\n if (expandedProjects.has(project.name)) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<ul class=\"bg-gh-bg\">`);\n if (loadingProject === project.name) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<li class=\"py-2 px-8 text-gh-text-secondary text-sm\">Loading...</li>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(projectSessions.get(project.name) ?? []);\n for (let $$index_3 = 0, $$length2 = each_array_1.length; $$index_3 < $$length2; $$index_3++) {\n let session = each_array_1[$$index_3];\n const isSelected = selectedSession?.id === session.id;\n const isDragging = draggedSession?.id === session.id;\n const sessionInfo = getSessionInfo(session);\n const displayTitle = getDisplayTitle(session);\n const tooltipText = getTooltipText(session);\n const data = getSessionData(session.projectName, session.id);\n const isSummaryFallback = !data?.customTitle && !data?.currentSummary;\n const isExpanded = expandedSessions.has(session.id);\n const hasSubItems = sessionInfo.summaries > 0 || sessionInfo.agents > 0 || sessionInfo.todos > 0;\n $$renderer2.push(`<li${attr_class(`relative border-t border-gh-border-subtle group ${stringify(isSelected ? \"bg-gh-accent/20 border-l-3 border-l-gh-accent\" : \"\")} ${stringify(isDragging ? \"opacity-50\" : \"\")}`)} draggable=\"true\"><div class=\"flex items-center\">`);\n if (hasSubItems) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<button class=\"flex-shrink-0 w-5 h-8 flex items-center justify-center bg-transparent border-none cursor-pointer text-gh-text-secondary text-xs ml-1 z-10 relative\"${attr(\"title\", isExpanded ? \"Collapse\" : \"Expand\")}>${escape_html(isExpanded ? \"▼\" : \"▶\")}</button>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<span class=\"w-5 ml-1\"></span>`);\n }\n $$renderer2.push(`<!--]--> <button class=\"flex-1 min-w-0 py-2 pr-2 bg-transparent border-none text-gh-text cursor-pointer text-left flex items-center gap-2 text-sm\"${attr(\"title\", tooltipText)}><span${attr_class(`flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap ${stringify(isSummaryFallback ? \"italic text-gh-text-secondary\" : \"\")}`)}>${escape_html(displayTitle)}</span> <span class=\"flex-shrink-0 flex items-center gap-2 text-xs text-gh-text-secondary\"><span class=\"flex items-center gap-0.5\"${attr(\"title\", `${stringify(session.messageCount)} messages`)}><span>💬</span><span>${escape_html(session.messageCount)}</span></span> `);\n if (sessionInfo.agents > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<span class=\"flex items-center gap-0.5\"${attr(\"title\", `${stringify(sessionInfo.agents)} agent(s)`)}><span>🤖</span><span>${escape_html(sessionInfo.agents)}</span></span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (sessionInfo.todos > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<span class=\"flex items-center gap-0.5\"${attr(\"title\", `${stringify(sessionInfo.todos)} todo(s)`)}><span>📋</span><span>${escape_html(sessionInfo.todos)}</span></span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></span></button> <div${attr_class(`absolute left-0 right-0 top-0 h-8 flex items-center opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none ${stringify(isSelected ? \"bg-gradient-to-r from-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] via-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] to-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))]\" : \"bg-gradient-to-r from-gh-bg via-gh-bg to-gh-bg\")}`)}><span class=\"flex-1 min-w-0 pl-7 pr-2 text-xs text-gh-text-secondary italic overflow-hidden text-ellipsis whitespace-nowrap\">`);\n if (data?.currentSummary) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`${escape_html(data.currentSummary.length > 50 ? data.currentSummary.slice(0, 47) + \"...\" : data.currentSummary)}`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`${escape_html(displayTitle)}`);\n }\n $$renderer2.push(`<!--]--></span> <div class=\"flex-shrink-0 flex gap-0.5 pr-2 pointer-events-auto\"><button class=\"bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-border text-xs\" title=\"Rename\">✏️</button> <button class=\"bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-red/20 text-xs\" title=\"Delete\">🗑️</button></div></div></div> `);\n if (isExpanded && hasSubItems) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<ul class=\"bg-gh-bg-secondary/50 border-t border-gh-border-subtle text-xs\">`);\n if (data?.summaries && data.summaries.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_2 = ensure_array_like(data.summaries);\n for (let idx = 0, $$length3 = each_array_2.length; idx < $$length3; idx++) {\n let summary = each_array_2[idx];\n $$renderer2.push(`<li${attr_class(`py-1.5 px-4 pl-8 hover:bg-gh-border-subtle/50 flex flex-col gap-0.5 ${stringify(idx === 0 ? \"text-gh-text\" : \"text-gh-text-secondary\")}`)}${attr(\"title\", summary.summary)}><div class=\"flex items-start gap-2\"><span class=\"flex-shrink-0\">📝</span> <span class=\"overflow-hidden text-ellipsis line-clamp-2\">${escape_html(summary.summary.length > 100 ? summary.summary.slice(0, 97) + \"...\" : summary.summary)}</span></div> `);\n if (summary.timestamp) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<span class=\"pl-6 text-[10px] text-gh-text-secondary/70\">${escape_html(new Date(summary.timestamp).toLocaleString())}</span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data?.todos?.sessionTodos && data.todos.sessionTodos.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<li class=\"py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2\"><span class=\"flex-shrink-0\">📋</span> <span>Session Todos (${escape_html(data.todos.sessionTodos.length)})</span></li>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data?.todos?.agentTodos) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_3 = ensure_array_like(data.todos.agentTodos);\n for (let $$index_1 = 0, $$length3 = each_array_3.length; $$index_1 < $$length3; $$index_1++) {\n let agentTodo = each_array_3[$$index_1];\n $$renderer2.push(`<li class=\"py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2\"><span class=\"flex-shrink-0\">📋</span> <span>Agent Todos (${escape_html(agentTodo.todos.length)})</span></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data?.agents && data.agents.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_4 = ensure_array_like(data.agents);\n for (let $$index_2 = 0, $$length3 = each_array_4.length; $$index_2 < $$length3; $$index_2++) {\n let agent = each_array_4[$$index_2];\n $$renderer2.push(`<li class=\"py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2\"${attr(\"title\", agent.name ?? agent.id)}><span class=\"flex-shrink-0\">🤖</span> <span class=\"overflow-hidden text-ellipsis whitespace-nowrap\">${escape_html(agent.name ?? agent.id.slice(0, 12) + \"...\")} (${escape_html(agent.messageCount)} msgs)</span></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></li>`);\n }\n $$renderer2.push(`<!--]--></ul></aside>`);\n });\n}\nfunction ScrollButtons($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { messages, class: className = \"\" } = $$props;\n const lastCompactIndex = (() => {\n for (let i = messages.length - 1; i >= 0; i--) {\n if (messages[i].isCompactSummary) {\n return i;\n }\n }\n return -1;\n })();\n if (messages.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div${attr_class(`flex gap-1 ${stringify(className)}`)}><button class=\"px-2 py-1 text-xs rounded border border-gh-border hover:bg-gh-border-subtle text-gh-text-secondary hover:text-gh-text transition-colors bg-gh-bg\" title=\"Go to top\">↑ Top</button> `);\n if (lastCompactIndex >= 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<button class=\"px-2 py-1 text-xs rounded border border-gh-border hover:bg-gh-border-subtle text-gh-text-secondary hover:text-gh-text transition-colors bg-gh-bg\" title=\"Jump to last compacted point (context continuation)\">📍 Last Compacted</button>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <button class=\"px-2 py-1 text-xs rounded border border-gh-border hover:bg-gh-border-subtle text-gh-text-secondary hover:text-gh-text transition-colors bg-gh-bg\" title=\"Go to bottom\">↓ Bottom</button></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction SessionViewer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n messages,\n backUrl,\n enableScroll = true,\n fullWidth = false\n } = $$props;\n let undoStack = [];\n let undoCountdown = 0;\n messages.findIndex((m) => m.type === \"user\" || m.type === \"assistant\" || m.type === \"human\");\n $$renderer2.push(`<section${attr_class(`bg-gh-bg-secondary overflow-hidden flex flex-col h-full ${stringify(fullWidth ? \"\" : \"border border-gh-border rounded-lg\")}`)}><div class=\"p-4 border-b border-gh-border bg-gh-bg flex flex-wrap justify-between items-start gap-2\"><a${attr(\"href\", backUrl)} class=\"text-gh-muted hover:text-gh-fg flex-shrink-0\" title=\"Back to project\"><svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 19l-7-7m0 0l7-7m-7 7h18\"></path></svg></a> <div class=\"flex-1 min-w-[200px]\">`);\n {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<h2 class=\"text-base font-semibold\">Messages</h2>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n {\n $$renderer2.push(\"<!--[-->\");\n ScrollButtons($$renderer2, { messages });\n }\n $$renderer2.push(`<!--]--></div> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <div${attr_class(`flex-1 ${stringify(enableScroll ? \"overflow-y-auto\" : \"\")}`)}>`);\n {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center h-full text-gh-text-secondary\">Select a session to view</div>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n if (undoStack.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"fixed bottom-4 left-1/2 -translate-x-1/2 bg-neutral-500/20 border border-neutral-600 rounded-lg shadow-2xl px-4 py-3 flex items-center gap-4 z-50 backdrop-blur-sm\"><span class=\"text-sm text-white\">${escape_html(undoStack.length === 1 ? \"Message deleted\" : `${undoStack.length} messages deleted`)}</span> <span class=\"text-xs text-gh-text-secondary tabular-nums\">${escape_html(undoCountdown)}s</span> <button class=\"px-3 py-1 text-sm font-medium text-gh-accent hover:bg-gh-border-subtle rounded transition-colors\">Undo</button> <button class=\"px-2 py-1 text-sm text-gh-text-secondary hover:text-gh-text hover:bg-gh-border-subtle rounded transition-colors\" title=\"Dismiss (already deleted)\">✕</button></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></section>`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let projects = [];\n let projectSessions = /* @__PURE__ */ new Map();\n let projectSessionData = /* @__PURE__ */ new Map();\n let expandedProjects = /* @__PURE__ */ new Set();\n let selectedSession = null;\n let messages = [];\n let loadingProject = null;\n $$renderer2.push(`<div class=\"grid grid-cols-[350px_1fr] gap-4 h-[calc(100vh-120px)]\">`);\n ProjectTree($$renderer2, {\n projects,\n projectSessions,\n projectSessionData,\n expandedProjects,\n selectedSession,\n loadingProject\n });\n $$renderer2.push(`<!----> `);\n SessionViewer($$renderer2, {\n messages\n });\n $$renderer2.push(`<!----></div> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { w as head } from './index-CMvE0dm6.js';
2
+ import { p as page } from './index3-NDyeileA.js';
3
+ import './format-DgNjDoEq.js';
4
+ import { e as escape_html } from './context-R2425nfV.js';
5
+ import './exports-BzHwARwz.js';
6
+ import 'marked';
7
+ import './index2-CWkjuG0Y.js';
8
+ import 'fs';
9
+ import 'os';
10
+ import 'path';
11
+ import 'effect';
12
+ import 'fs/promises';
13
+
14
+ function _page($$renderer, $$props) {
15
+ $$renderer.component(($$renderer2) => {
16
+ decodeURIComponent(page.params.project ?? "");
17
+ decodeURIComponent(page.params.id ?? "");
18
+ const displayTitle = "Untitled";
19
+ head("ik3mmh", $$renderer2, ($$renderer3) => {
20
+ $$renderer3.title(($$renderer4) => {
21
+ $$renderer4.push(`<title>${escape_html(displayTitle)} - Claude Sessions</title>`);
22
+ });
23
+ });
24
+ $$renderer2.push(`<div class="h-screen bg-gh-bg">`);
25
+ {
26
+ $$renderer2.push("<!--[-->");
27
+ $$renderer2.push(`<div class="flex items-center justify-center h-full"><div class="text-gh-muted">Loading...</div></div>`);
28
+ }
29
+ $$renderer2.push(`<!--]--></div>`);
30
+ });
31
+ }
32
+
33
+ export { _page as default };
34
+ //# sourceMappingURL=_page.svelte-BZnd_diC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-BZnd_diC.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/session/_project_/_id_/_page.svelte.js"],"sourcesContent":["import { w as head } from \"../../../../../chunks/index.js\";\nimport { p as page } from \"../../../../../chunks/index3.js\";\nimport \"../../../../../chunks/format.js\";\nimport { e as escape_html } from \"../../../../../chunks/context.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n decodeURIComponent(page.params.project ?? \"\");\n decodeURIComponent(page.params.id ?? \"\");\n const displayTitle = \"Untitled\";\n head(\"ik3mmh\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>${escape_html(displayTitle)} - Claude Sessions</title>`);\n });\n });\n $$renderer2.push(`<div class=\"h-screen bg-gh-bg\">`);\n {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center h-full\"><div class=\"text-gh-muted\">Loading...</div></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAIA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;AACjD,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5C,IAAI,MAAM,YAAY,GAAG,UAAU;AACnC,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AACjD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AACzC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,0BAA0B,CAAC,CAAC;AACzF,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,+BAA+B,CAAC,CAAC;AACvD,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,sGAAsG,CAAC,CAAC;AAChI,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,EAAE,CAAC,CAAC;AACJ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { l as loadAgentMessages } from './index2-wXxKDk_P.js';
3
+ import { l as loadAgentMessages } from './index2-CWkjuG0Y.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -24,4 +24,4 @@ const GET = async ({ url }) => {
24
24
  };
25
25
 
26
26
  export { GET };
27
- //# sourceMappingURL=_server.ts-Bk9kaXtX.js.map
27
+ //# sourceMappingURL=_server.ts-6PvKvlXG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bk9kaXtX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/agent/messages/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { l as loadAgentMessages } from \"../../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n const agentId = url.searchParams.get(\"agent\");\n if (!projectName) {\n throw error(400, \"project parameter required\");\n }\n if (!sessionId) {\n throw error(400, \"session parameter required\");\n }\n if (!agentId) {\n throw error(400, \"agent parameter required\");\n }\n const result = await Effect.runPromise(loadAgentMessages(projectName, sessionId, agentId));\n return json(result);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC/B,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACnD,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,0BAA0B,CAAC;AAChD,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5F,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-6PvKvlXG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/agent/messages/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { l as loadAgentMessages } from \"../../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n const agentId = url.searchParams.get(\"agent\");\n if (!projectName) {\n throw error(400, \"project parameter required\");\n }\n if (!sessionId) {\n throw error(400, \"session parameter required\");\n }\n if (!agentId) {\n throw error(400, \"agent parameter required\");\n }\n const result = await Effect.runPromise(loadAgentMessages(projectName, sessionId, agentId));\n return json(result);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC/B,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACnD,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,0BAA0B,CAAC;AAChD,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5F,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { a as listProjects } from './index2-wXxKDk_P.js';
3
+ import { a as listProjects } from './index2-CWkjuG0Y.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -12,4 +12,4 @@ const GET = async () => {
12
12
  };
13
13
 
14
14
  export { GET };
15
- //# sourceMappingURL=_server.ts-zLFwe5yM.js.map
15
+ //# sourceMappingURL=_server.ts-BfTOQnQK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-zLFwe5yM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { a as listProjects } from \"../../../../chunks/index2.js\";\nconst GET = async () => {\n const projects = await Effect.runPromise(listProjects);\n return json(projects);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACxD,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;;;;"}
1
+ {"version":3,"file":"_server.ts-BfTOQnQK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { a as listProjects } from \"../../../../chunks/index2.js\";\nconst GET = async () => {\n const projects = await Effect.runPromise(listProjects);\n return json(projects);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACxD,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { j as json } from './index-CoD1IJuy.js';
2
2
 
3
3
  const GET = async () => {
4
- return json({ version: "0.3.0" });
4
+ return json({ version: "0.3.2" });
5
5
  };
6
6
 
7
7
  export { GET };
8
- //# sourceMappingURL=_server.ts-BlgHsHoW.js.map
8
+ //# sourceMappingURL=_server.ts-BpfO1Oxd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BlgHsHoW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/version/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nconst GET = async () => {\n return json({ version: \"0.3.0\" });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;AACK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACnC;;;;"}
1
+ {"version":3,"file":"_server.ts-BpfO1Oxd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/version/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nconst GET = async () => {\n return json({ version: \"0.3.2\" });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;AACK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACnC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { m as moveSession } from './index2-wXxKDk_P.js';
3
+ import { m as moveSession } from './index2-CWkjuG0Y.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -24,4 +24,4 @@ const POST = async ({ request }) => {
24
24
  };
25
25
 
26
26
  export { POST };
27
- //# sourceMappingURL=_server.ts-BBpeToTn.js.map
27
+ //# sourceMappingURL=_server.ts-CZpt6s0c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BBpeToTn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/move/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { m as moveSession } from \"../../../../../chunks/index2.js\";\nconst POST = async ({ request }) => {\n const body = await request.json();\n if (!body.sourceProject || !body.sessionId || !body.targetProject) {\n return json({ success: false, error: \"Missing required parameters\" }, { status: 400 });\n }\n if (body.sourceProject === body.targetProject) {\n return json(\n { success: false, error: \"Source and target projects are the same\" },\n { status: 400 }\n );\n }\n const result = await Effect.runPromise(\n moveSession(body.sourceProject, body.sessionId, body.targetProject)\n );\n return json(result);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACrE,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC1F,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,IAAI;AACf,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE;AAC1E,MAAM,EAAE,MAAM,EAAE,GAAG;AACnB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa;AACtE,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-CZpt6s0c.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/move/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { m as moveSession } from \"../../../../../chunks/index2.js\";\nconst POST = async ({ request }) => {\n const body = await request.json();\n if (!body.sourceProject || !body.sessionId || !body.targetProject) {\n return json({ success: false, error: \"Missing required parameters\" }, { status: 400 });\n }\n if (body.sourceProject === body.targetProject) {\n return json(\n { success: false, error: \"Source and target projects are the same\" },\n { status: 400 }\n );\n }\n const result = await Effect.runPromise(\n moveSession(body.sourceProject, body.sessionId, body.targetProject)\n );\n return json(result);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACrE,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC1F,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,IAAI;AACf,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE;AAC1E,MAAM,EAAE,MAAM,EAAE,GAAG;AACnB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa;AACtE,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { i as renameSession } from './index2-wXxKDk_P.js';
3
+ import { j as renameSession } from './index2-CWkjuG0Y.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -11,11 +11,9 @@ const POST = async ({ request }) => {
11
11
  if (!body.project || !body.id || !body.title) {
12
12
  throw error(400, "project, id, and title required");
13
13
  }
14
- const result = await Effect.runPromise(
15
- renameSession(body.project, body.id, body.title, body.summary)
16
- );
14
+ const result = await Effect.runPromise(renameSession(body.project, body.id, body.title));
17
15
  return json(result);
18
16
  };
19
17
 
20
18
  export { POST };
21
- //# sourceMappingURL=_server.ts-BXxllvrb.js.map
19
+ //# sourceMappingURL=_server.ts-CkPJa8rH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CkPJa8rH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/rename/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { j as renameSession } from \"../../../../../chunks/index2.js\";\nconst POST = async ({ request }) => {\n const body = await request.json();\n if (!body.project || !body.id || !body.title) {\n throw error(400, \"project, id, and title required\");\n }\n const result = await Effect.runPromise(renameSession(body.project, body.id, body.title));\n return json(result);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAChD,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,iCAAiC,CAAC;AACvD,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1F,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { k as loadSessionTreeData } from './index2-wXxKDk_P.js';
3
+ import { n as loadSessionTreeData } from './index2-CWkjuG0Y.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -23,4 +23,4 @@ const GET = async ({ url }) => {
23
23
  };
24
24
 
25
25
  export { GET };
26
- //# sourceMappingURL=_server.ts-4sDvSSRb.js.map
26
+ //# sourceMappingURL=_server.ts-Cz-ezTau.js.map