@claude-sessions/web 0.4.7 → 0.4.8

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.CAO2ssDt.css +1 -0
  2. package/build/client/_app/immutable/assets/0.CAO2ssDt.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.CAO2ssDt.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{DB1q-JFC.js → BWi4DUSP.js} +1 -1
  5. package/build/client/_app/immutable/chunks/{DB1q-JFC.js.br → BWi4DUSP.js.br} +0 -0
  6. package/build/client/_app/immutable/chunks/{DB1q-JFC.js.gz → BWi4DUSP.js.gz} +0 -0
  7. package/build/client/_app/immutable/chunks/{D1duoKAw.js → CV88cyNb.js} +1 -1
  8. package/build/client/_app/immutable/chunks/CV88cyNb.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/CV88cyNb.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{BkKWBf8s.js → C_cKocd2.js} +1 -1
  11. package/build/client/_app/immutable/chunks/C_cKocd2.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/C_cKocd2.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{WK3b3g7j.js → DBydSc_k.js} +1 -1
  14. package/build/client/_app/immutable/chunks/DBydSc_k.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/DBydSc_k.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{CursEjUX.js → DZjV9VPo.js} +1 -1
  17. package/build/client/_app/immutable/chunks/DZjV9VPo.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/DZjV9VPo.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/Yg_pIYmC.js +100 -0
  20. package/build/client/_app/immutable/chunks/Yg_pIYmC.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/Yg_pIYmC.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/{6j6qgi5m.js → tmOlV5v8.js} +1 -1
  23. package/build/client/_app/immutable/chunks/tmOlV5v8.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/tmOlV5v8.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/{HCtei06b.js → yOwRJ5Fz.js} +1 -1
  26. package/build/client/_app/immutable/chunks/yOwRJ5Fz.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/yOwRJ5Fz.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/{app.8EIXmrxu.js → app.B-zhTsMj.js} +2 -2
  29. package/build/client/_app/immutable/entry/app.B-zhTsMj.js.br +0 -0
  30. package/build/client/_app/immutable/entry/app.B-zhTsMj.js.gz +0 -0
  31. package/build/client/_app/immutable/entry/start.BpZMAUmi.js +1 -0
  32. package/build/client/_app/immutable/entry/start.BpZMAUmi.js.br +0 -0
  33. package/build/client/_app/immutable/entry/start.BpZMAUmi.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{0.C3-EWlLD.js → 0.bxo9ga_m.js} +1 -1
  35. package/build/client/_app/immutable/nodes/0.bxo9ga_m.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/0.bxo9ga_m.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{1.LTLF-xkJ.js → 1.DNmrdR4u.js} +1 -1
  38. package/build/client/_app/immutable/nodes/1.DNmrdR4u.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/1.DNmrdR4u.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/2.CzFljI2N.js +4 -0
  41. package/build/client/_app/immutable/nodes/2.CzFljI2N.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/2.CzFljI2N.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/3.seh8Mdgg.js +10 -0
  44. package/build/client/_app/immutable/nodes/3.seh8Mdgg.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/3.seh8Mdgg.js.gz +0 -0
  46. package/build/client/_app/version.json +1 -1
  47. package/build/client/_app/version.json.br +0 -0
  48. package/build/client/_app/version.json.gz +0 -0
  49. package/build/server/chunks/0-Bv-hxoP6.js +17 -0
  50. package/build/server/chunks/{0-Bmmq9ZM6.js.map → 0-Bv-hxoP6.js.map} +1 -1
  51. package/build/server/chunks/1-B-0DGMNo.js +9 -0
  52. package/build/server/chunks/{1-QC3Sx1LV.js.map → 1-B-0DGMNo.js.map} +1 -1
  53. package/build/server/chunks/2-CK3lEWaC.js +9 -0
  54. package/build/server/chunks/{2-Dw5NPnTj.js.map → 2-CK3lEWaC.js.map} +1 -1
  55. package/build/server/chunks/3-D-afpHXN.js +9 -0
  56. package/build/server/chunks/{3-BcDPYoSg.js.map → 3-D-afpHXN.js.map} +1 -1
  57. package/build/server/chunks/{Toast-AVuTocXd.js → Toast-Z8xeiR_N.js} +2 -2
  58. package/build/server/chunks/{Toast-AVuTocXd.js.map → Toast-Z8xeiR_N.js.map} +1 -1
  59. package/build/server/chunks/{_layout.svelte-DaSyc-mf.js → _layout.svelte-B4A3dWUv.js} +3 -3
  60. package/build/server/chunks/{_layout.svelte-DaSyc-mf.js.map → _layout.svelte-B4A3dWUv.js.map} +1 -1
  61. package/build/server/chunks/{_page.svelte-D3EVHdvH.js → _page.svelte-BEWGUvjx.js} +5 -3
  62. package/build/server/chunks/_page.svelte-BEWGUvjx.js.map +1 -0
  63. package/build/server/chunks/{_page.svelte-D0jFzJtD.js → _page.svelte-Bj6n6sCQ.js} +104 -27
  64. package/build/server/chunks/_page.svelte-Bj6n6sCQ.js.map +1 -0
  65. package/build/server/chunks/{_server.ts-SnEIAk-f.js → _server.ts-B-eAsjsV.js} +2 -2
  66. package/build/server/chunks/{_server.ts-SnEIAk-f.js.map → _server.ts-B-eAsjsV.js.map} +1 -1
  67. package/build/server/chunks/{_server.ts-BthX-Q9z.js → _server.ts-B5Z1lHXr.js} +2 -2
  68. package/build/server/chunks/{_server.ts-BthX-Q9z.js.map → _server.ts-B5Z1lHXr.js.map} +1 -1
  69. package/build/server/chunks/{_server.ts-C923Ajq5.js → _server.ts-BLNPZ24X.js} +2 -2
  70. package/build/server/chunks/{_server.ts-C923Ajq5.js.map → _server.ts-BLNPZ24X.js.map} +1 -1
  71. package/build/server/chunks/{_server.ts-kBggS0l1.js → _server.ts-BYsHuFg_.js} +2 -2
  72. package/build/server/chunks/{_server.ts-kBggS0l1.js.map → _server.ts-BYsHuFg_.js.map} +1 -1
  73. package/build/server/chunks/{_server.ts-DtT_v20j.js → _server.ts-BdVCBQDH.js} +2 -2
  74. package/build/server/chunks/{_server.ts-DtT_v20j.js.map → _server.ts-BdVCBQDH.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-BhQT5YuB.js → _server.ts-C0ssqWA9.js} +2 -2
  76. package/build/server/chunks/{_server.ts-BhQT5YuB.js.map → _server.ts-C0ssqWA9.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-D3dUenaL.js → _server.ts-CXWBiUA0.js} +2 -2
  78. package/build/server/chunks/{_server.ts-D3dUenaL.js.map → _server.ts-CXWBiUA0.js.map} +1 -1
  79. package/build/server/chunks/_server.ts-CbUL9jxF.js +26 -0
  80. package/build/server/chunks/_server.ts-CbUL9jxF.js.map +1 -0
  81. package/build/server/chunks/{_server.ts-Bz6R94Qf.js → _server.ts-CujMcI_B.js} +2 -2
  82. package/build/server/chunks/{_server.ts-Bz6R94Qf.js.map → _server.ts-CujMcI_B.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-DbJhWH7w.js → _server.ts-DAV080wA.js} +2 -2
  84. package/build/server/chunks/{_server.ts-DbJhWH7w.js.map → _server.ts-DAV080wA.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-BFl5HqTC.js → _server.ts-DE1luj70.js} +2 -2
  86. package/build/server/chunks/{_server.ts-BFl5HqTC.js.map → _server.ts-DE1luj70.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-BhOezmyL.js → _server.ts-Di6E51wz.js} +2 -2
  88. package/build/server/chunks/{_server.ts-BhOezmyL.js.map → _server.ts-Di6E51wz.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-ClQdpaTd.js → _server.ts-Do4bMoQ_.js} +3 -3
  90. package/build/server/chunks/{_server.ts-ClQdpaTd.js.map → _server.ts-Do4bMoQ_.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-DousfQCX.js → _server.ts-DqedWtll.js} +3 -3
  92. package/build/server/chunks/{_server.ts-DousfQCX.js.map → _server.ts-DqedWtll.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-CqC271AX.js → _server.ts-KD7vpy-s.js} +2 -2
  94. package/build/server/chunks/{_server.ts-CqC271AX.js.map → _server.ts-KD7vpy-s.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-27jrx6Uo.js → _server.ts-bMheqJOE.js} +2 -2
  96. package/build/server/chunks/{_server.ts-27jrx6Uo.js.map → _server.ts-bMheqJOE.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-D4gj35xA.js → _server.ts-jIp1qKeL.js} +3 -3
  98. package/build/server/chunks/{_server.ts-D4gj35xA.js.map → _server.ts-jIp1qKeL.js.map} +1 -1
  99. package/build/server/chunks/{index2-gxrJEKeb.js → index2-C_bCV9h2.js} +141 -9
  100. package/build/server/chunks/index2-C_bCV9h2.js.map +1 -0
  101. package/build/server/chunks/{session-CYkrEqv3.js → session-DiA8YBrm.js} +2 -2
  102. package/build/server/chunks/{session-CYkrEqv3.js.map → session-DiA8YBrm.js.map} +1 -1
  103. package/build/server/index.js +1 -1
  104. package/build/server/index.js.map +1 -1
  105. package/build/server/manifest.js +28 -21
  106. package/build/server/manifest.js.map +1 -1
  107. package/package.json +3 -3
  108. package/build/client/_app/immutable/assets/0.nXM4xjKW.css +0 -1
  109. package/build/client/_app/immutable/assets/0.nXM4xjKW.css.br +0 -0
  110. package/build/client/_app/immutable/assets/0.nXM4xjKW.css.gz +0 -0
  111. package/build/client/_app/immutable/chunks/6j6qgi5m.js.br +0 -0
  112. package/build/client/_app/immutable/chunks/6j6qgi5m.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/BkKWBf8s.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/BkKWBf8s.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/CursEjUX.js.br +0 -0
  116. package/build/client/_app/immutable/chunks/CursEjUX.js.gz +0 -0
  117. package/build/client/_app/immutable/chunks/D1duoKAw.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/D1duoKAw.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/HCtei06b.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/HCtei06b.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/WK3b3g7j.js.br +0 -0
  122. package/build/client/_app/immutable/chunks/WK3b3g7j.js.gz +0 -0
  123. package/build/client/_app/immutable/chunks/_v9tgGMR.js +0 -100
  124. package/build/client/_app/immutable/chunks/_v9tgGMR.js.br +0 -0
  125. package/build/client/_app/immutable/chunks/_v9tgGMR.js.gz +0 -0
  126. package/build/client/_app/immutable/entry/app.8EIXmrxu.js.br +0 -0
  127. package/build/client/_app/immutable/entry/app.8EIXmrxu.js.gz +0 -0
  128. package/build/client/_app/immutable/entry/start.B1RcmDxV.js +0 -1
  129. package/build/client/_app/immutable/entry/start.B1RcmDxV.js.br +0 -0
  130. package/build/client/_app/immutable/entry/start.B1RcmDxV.js.gz +0 -0
  131. package/build/client/_app/immutable/nodes/0.C3-EWlLD.js.br +0 -0
  132. package/build/client/_app/immutable/nodes/0.C3-EWlLD.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/1.LTLF-xkJ.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/1.LTLF-xkJ.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/2.JKvSvrXU.js +0 -4
  136. package/build/client/_app/immutable/nodes/2.JKvSvrXU.js.br +0 -0
  137. package/build/client/_app/immutable/nodes/2.JKvSvrXU.js.gz +0 -0
  138. package/build/client/_app/immutable/nodes/3.QvG7KcU-.js +0 -8
  139. package/build/client/_app/immutable/nodes/3.QvG7KcU-.js.br +0 -0
  140. package/build/client/_app/immutable/nodes/3.QvG7KcU-.js.gz +0 -0
  141. package/build/server/chunks/0-Bmmq9ZM6.js +0 -17
  142. package/build/server/chunks/1-QC3Sx1LV.js +0 -9
  143. package/build/server/chunks/2-Dw5NPnTj.js +0 -9
  144. package/build/server/chunks/3-BcDPYoSg.js +0 -9
  145. package/build/server/chunks/_page.svelte-D0jFzJtD.js.map +0 -1
  146. package/build/server/chunks/_page.svelte-D3EVHdvH.js.map +0 -1
  147. package/build/server/chunks/index2-gxrJEKeb.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BhQT5YuB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/resume/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { o as folderNameToPath, q as expandHomePath } from \"../../../../../chunks/index2.js\";\nimport { spawn } from \"child_process\";\nimport * as os from \"node:os\";\nvar resumeSession = (options) => {\n const { sessionId, cwd, fork = false, args = [] } = options;\n try {\n const claudeArgs = [\"--resume\", sessionId];\n if (fork) {\n claudeArgs.push(\"--fork-session\");\n }\n claudeArgs.push(...args);\n const claudeCommand = `claude ${claudeArgs.join(\" \")}`;\n const workingDir = cwd ?? process.cwd();\n if (process.platform === \"darwin\") {\n const escapedDir = workingDir.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"');\n const escapedCmd = claudeCommand.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"');\n const script = `\ntell application \"Terminal\"\n activate\n set newWindow to do script \"cd \\\\\"${escapedDir}\\\\\" && ${escapedCmd}\"\n set frontmost of newWindow to true\nend tell\ntell application \"System Events\"\n set frontmost of process \"Terminal\" to true\nend tell\n`;\n const child = spawn(\"osascript\", [\"-e\", script], {\n detached: true,\n stdio: \"ignore\"\n });\n child.unref();\n return { success: true, pid: child.pid };\n }\n if (process.platform === \"win32\") {\n const child = spawn(\"cmd\", [\"/c\", \"start\", \"cmd\", \"/k\", claudeCommand], {\n cwd: workingDir,\n detached: true,\n stdio: \"ignore\"\n });\n child.unref();\n return { success: true, pid: child.pid };\n }\n const terminals = [\"gnome-terminal\", \"konsole\", \"xterm\"];\n for (const term of terminals) {\n try {\n const child = spawn(term, [\"--\", \"bash\", \"-c\", `cd \"${workingDir}\" && ${claudeCommand}`], {\n detached: true,\n stdio: \"ignore\"\n });\n child.unref();\n return { success: true, pid: child.pid };\n } catch {\n continue;\n }\n }\n return { success: false, error: \"No supported terminal emulator found\" };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error)\n };\n }\n};\nconst POST = async ({ request }) => {\n try {\n const { projectName, sessionId } = await request.json();\n if (!projectName || !sessionId) {\n return json({ error: \"Missing projectName or sessionId\" }, { status: 400 });\n }\n const folderPath = await folderNameToPath(projectName);\n const homeDir = os.homedir();\n const cwd = expandHomePath(folderPath, homeDir);\n const result = resumeSession({\n sessionId,\n cwd\n });\n if (result.success) {\n return json({ success: true, pid: result.pid });\n } else {\n return json({ error: result.error }, { status: 500 });\n }\n } catch (error) {\n return json({ error: String(error) }, { status: 500 });\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-C0ssqWA9.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/resume/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { q as folderNameToPath, t as expandHomePath } from \"../../../../../chunks/index2.js\";\nimport { spawn } from \"child_process\";\nimport * as os from \"node:os\";\nvar resumeSession = (options) => {\n const { sessionId, cwd, fork = false, args = [] } = options;\n try {\n const claudeArgs = [\"--resume\", sessionId];\n if (fork) {\n claudeArgs.push(\"--fork-session\");\n }\n claudeArgs.push(...args);\n const claudeCommand = `claude ${claudeArgs.join(\" \")}`;\n const workingDir = cwd ?? process.cwd();\n if (process.platform === \"darwin\") {\n const escapedDir = workingDir.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"');\n const escapedCmd = claudeCommand.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"');\n const script = `\ntell application \"Terminal\"\n activate\n set newWindow to do script \"cd \\\\\"${escapedDir}\\\\\" && ${escapedCmd}\"\n set frontmost of newWindow to true\nend tell\ntell application \"System Events\"\n set frontmost of process \"Terminal\" to true\nend tell\n`;\n const child = spawn(\"osascript\", [\"-e\", script], {\n detached: true,\n stdio: \"ignore\"\n });\n child.unref();\n return { success: true, pid: child.pid };\n }\n if (process.platform === \"win32\") {\n const child = spawn(\"cmd\", [\"/c\", \"start\", \"cmd\", \"/k\", claudeCommand], {\n cwd: workingDir,\n detached: true,\n stdio: \"ignore\"\n });\n child.unref();\n return { success: true, pid: child.pid };\n }\n const terminals = [\"gnome-terminal\", \"konsole\", \"xterm\"];\n for (const term of terminals) {\n try {\n const child = spawn(term, [\"--\", \"bash\", \"-c\", `cd \"${workingDir}\" && ${claudeCommand}`], {\n detached: true,\n stdio: \"ignore\"\n });\n child.unref();\n return { success: true, pid: child.pid };\n } catch {\n continue;\n }\n }\n return { success: false, error: \"No supported terminal emulator found\" };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error)\n };\n }\n};\nconst POST = async ({ request }) => {\n try {\n const { projectName, sessionId } = await request.json();\n if (!projectName || !sessionId) {\n return json({ error: \"Missing projectName or sessionId\" }, { status: 400 });\n }\n const folderPath = await folderNameToPath(projectName);\n const homeDir = os.homedir();\n const cwd = expandHomePath(folderPath, homeDir);\n const result = resumeSession({\n sessionId,\n cwd\n });\n if (result.success) {\n return json({ success: true, pid: result.pid });\n } else {\n return json({ error: result.error }, { status: 500 });\n }\n } catch (error) {\n return json({ error: String(error) }, { status: 500 });\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -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 { s as searchSessions } from './index2-gxrJEKeb.js';
3
+ import { s as searchSessions } from './index2-C_bCV9h2.js';
4
4
  import 'fs';
5
5
  import 'fs/promises';
6
6
  import 'os';
@@ -21,4 +21,4 @@ const GET = async ({ url }) => {
21
21
  };
22
22
 
23
23
  export { GET };
24
- //# sourceMappingURL=_server.ts-D3dUenaL.js.map
24
+ //# sourceMappingURL=_server.ts-CXWBiUA0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D3dUenaL.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/search/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { s as searchSessions } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const query = url.searchParams.get(\"q\");\n if (!query) {\n throw error(400, \"q parameter required\");\n }\n const projectName = url.searchParams.get(\"project\") ?? void 0;\n const searchContent = url.searchParams.get(\"content\") === \"true\";\n const results = await Effect.runPromise(\n searchSessions(query, { projectName, searchContent })\n );\n return json(results);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC/B,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AACzC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC5C,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM;AAC/D,EAAE,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM;AAClE,EAAE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU;AACzC,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE;AACxD,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB;;;;"}
1
+ {"version":3,"file":"_server.ts-CXWBiUA0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/search/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { s as searchSessions } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const query = url.searchParams.get(\"q\");\n if (!query) {\n throw error(400, \"q parameter required\");\n }\n const projectName = url.searchParams.get(\"project\") ?? void 0;\n const searchContent = url.searchParams.get(\"content\") === \"true\";\n const results = await Effect.runPromise(\n searchSessions(query, { projectName, searchContent })\n );\n return json(results);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC/B,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AACzC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAC5C,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM;AAC/D,EAAE,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM;AAClE,EAAE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU;AACzC,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE;AACxD,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB;;;;"}
@@ -0,0 +1,26 @@
1
+ import { e as error, j as json } from './index-CoD1IJuy.js';
2
+ import { Effect } from 'effect';
3
+ import { i as compressSession } from './index2-C_bCV9h2.js';
4
+ import 'fs';
5
+ import 'fs/promises';
6
+ import 'os';
7
+ import 'path';
8
+ import 'crypto';
9
+
10
+ const POST = async ({ request }) => {
11
+ const body = await request.json();
12
+ const { project, sessionId } = body;
13
+ if (!project || !sessionId) {
14
+ throw error(400, "project and sessionId are required");
15
+ }
16
+ const result = await Effect.runPromise(
17
+ compressSession(project, sessionId, {
18
+ keepSnapshots: "first_last",
19
+ maxToolOutputLength: 0
20
+ })
21
+ );
22
+ return json(result);
23
+ };
24
+
25
+ export { POST };
26
+ //# sourceMappingURL=_server.ts-CbUL9jxF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CbUL9jxF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/compress/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { i as compressSession } from \"../../../../../chunks/index2.js\";\nconst POST = async ({ request }) => {\n const body = await request.json();\n const { project, sessionId } = body;\n if (!project || !sessionId) {\n throw error(400, \"project and sessionId are required\");\n }\n const result = await Effect.runPromise(\n compressSession(project, sessionId, {\n keepSnapshots: \"first_last\",\n maxToolOutputLength: 0\n })\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,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;AACrC,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE;AAC9B,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE;AACxC,MAAM,aAAa,EAAE,YAAY;AACjC,MAAM,mBAAmB,EAAE;AAC3B,KAAK;AACL,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 { b as loadProjectTreeData } from './index2-gxrJEKeb.js';
3
+ import { b as loadProjectTreeData } from './index2-C_bCV9h2.js';
4
4
  import 'fs';
5
5
  import 'fs/promises';
6
6
  import 'os';
@@ -23,4 +23,4 @@ const GET = async ({ url }) => {
23
23
  };
24
24
 
25
25
  export { GET };
26
- //# sourceMappingURL=_server.ts-Bz6R94Qf.js.map
26
+ //# sourceMappingURL=_server.ts-CujMcI_B.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bz6R94Qf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/project/expand/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { b as loadProjectTreeData } from \"../../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n if (!projectName) {\n throw error(400, \"project parameter required\");\n }\n const sortField = url.searchParams.get(\"sortField\");\n const sortOrder = url.searchParams.get(\"sortOrder\");\n const sortOptions = sortField && sortOrder ? { field: sortField, order: sortOrder } : { field: \"updated\", order: \"desc\" };\n const result = await Effect.runPromise(loadProjectTreeData(projectName, sortOptions));\n if (!result) {\n throw error(404, \"Project not found\");\n }\n return json(result.sessions);\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,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;AAC3H,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACvF,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AACzC,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC9B;;;;"}
1
+ {"version":3,"file":"_server.ts-CujMcI_B.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/project/expand/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { b as loadProjectTreeData } from \"../../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n if (!projectName) {\n throw error(400, \"project parameter required\");\n }\n const sortField = url.searchParams.get(\"sortField\");\n const sortOrder = url.searchParams.get(\"sortOrder\");\n const sortOptions = sortField && sortOrder ? { field: sortField, order: sortOrder } : { field: \"updated\", order: \"desc\" };\n const result = await Effect.runPromise(loadProjectTreeData(projectName, sortOptions));\n if (!result) {\n throw error(404, \"Project not found\");\n }\n return json(result.sessions);\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,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;AAC3H,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACvF,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AACzC,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC9B;;;;"}
@@ -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 { f as deleteSession, g as readSession, v as validateChain, h as getLogger } from './index2-gxrJEKeb.js';
3
+ import { f as deleteSession, g as readSession, v as validateChain, h as getLogger } from './index2-C_bCV9h2.js';
4
4
  import 'fs';
5
5
  import 'fs/promises';
6
6
  import 'os';
@@ -37,4 +37,4 @@ const DELETE = async ({ url }) => {
37
37
  };
38
38
 
39
39
  export { DELETE, GET };
40
- //# sourceMappingURL=_server.ts-DbJhWH7w.js.map
40
+ //# sourceMappingURL=_server.ts-DAV080wA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DbJhWH7w.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { f as readSession, v as validateChain, g as getLogger, h as deleteSession } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"id\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and id parameters required\");\n }\n const messages = await Effect.runPromise(readSession(projectName, sessionId));\n const chainResult = validateChain(messages);\n if (!chainResult.valid) {\n const logger = getLogger();\n logger.warn(\n `[session] Chain validation failed for ${sessionId}: ${chainResult.errors.length} error(s)`\n );\n for (const e of chainResult.errors) {\n logger.warn(JSON.stringify(e));\n }\n }\n return json(messages);\n};\nconst DELETE = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"id\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and id parameters required\");\n }\n const result = await Effect.runPromise(deleteSession(projectName, sessionId));\n return json(result);\n};\nexport {\n DELETE,\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,IAAI,CAAC;AAC9C,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/E,EAAE,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;AAC7C,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AAC1B,IAAI,MAAM,MAAM,GAAG,SAAS,EAAE;AAC9B,IAAI,MAAM,CAAC,IAAI;AACf,MAAM,CAAC,sCAAsC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;AAChG,KAAK;AACL,IAAI,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;AACxC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAClC,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9C,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/E,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-DAV080wA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { f as readSession, v as validateChain, g as getLogger, h as deleteSession } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"id\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and id parameters required\");\n }\n const messages = await Effect.runPromise(readSession(projectName, sessionId));\n const chainResult = validateChain(messages);\n if (!chainResult.valid) {\n const logger = getLogger();\n logger.warn(\n `[session] Chain validation failed for ${sessionId}: ${chainResult.errors.length} error(s)`\n );\n for (const e of chainResult.errors) {\n logger.warn(JSON.stringify(e));\n }\n }\n return json(messages);\n};\nconst DELETE = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"id\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and id parameters required\");\n }\n const result = await Effect.runPromise(deleteSession(projectName, sessionId));\n return json(result);\n};\nexport {\n DELETE,\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,IAAI,CAAC;AAC9C,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/E,EAAE,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;AAC7C,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AAC1B,IAAI,MAAM,MAAM,GAAG,SAAS,EAAE;AAC9B,IAAI,MAAM,CAAC,IAAI;AACf,MAAM,CAAC,sCAAsC,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;AAChG,KAAK;AACL,IAAI,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;AACxC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAClC,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9C,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC/E,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 { t as splitSession } from './index2-gxrJEKeb.js';
3
+ import { u as splitSession } from './index2-C_bCV9h2.js';
4
4
  import 'fs';
5
5
  import 'fs/promises';
6
6
  import 'os';
@@ -18,4 +18,4 @@ const POST = async ({ request }) => {
18
18
  };
19
19
 
20
20
  export { POST };
21
- //# sourceMappingURL=_server.ts-BFl5HqTC.js.map
21
+ //# sourceMappingURL=_server.ts-DE1luj70.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BFl5HqTC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/split/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { t as splitSession } from \"../../../../../chunks/index2.js\";\nconst POST = async ({ request }) => {\n const body = await request.json();\n const { project, sessionId, messageUuid } = body;\n if (!project || !sessionId || !messageUuid) {\n throw error(400, \"project, sessionId, and messageUuid are required\");\n }\n const result = await Effect.runPromise(splitSession(project, sessionId, messageUuid));\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,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;AAClD,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AAC9C,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACvF,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-DE1luj70.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/split/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { u as splitSession } from \"../../../../../chunks/index2.js\";\nconst POST = async ({ request }) => {\n const body = await request.json();\n const { project, sessionId, messageUuid } = body;\n if (!project || !sessionId || !messageUuid) {\n throw error(400, \"project, sessionId, and messageUuid are required\");\n }\n const result = await Effect.runPromise(splitSession(project, sessionId, messageUuid));\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,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;AAClD,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AAC9C,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC;AACxE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACvF,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 getSessionFiles } from './index2-gxrJEKeb.js';
3
+ import { j as getSessionFiles } from './index2-C_bCV9h2.js';
4
4
  import 'fs';
5
5
  import 'fs/promises';
6
6
  import 'os';
@@ -18,4 +18,4 @@ const GET = async ({ url }) => {
18
18
  };
19
19
 
20
20
  export { GET };
21
- //# sourceMappingURL=_server.ts-BhOezmyL.js.map
21
+ //# sourceMappingURL=_server.ts-Di6E51wz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BhOezmyL.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/files/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { i as getSessionFiles } from \"../../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"id\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and id parameters required\");\n }\n const result = await Effect.runPromise(getSessionFiles(projectName, sessionId));\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,IAAI,CAAC;AAC9C,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACjF,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-Di6E51wz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/files/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { j as getSessionFiles } from \"../../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"id\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and id parameters required\");\n }\n const result = await Effect.runPromise(getSessionFiles(projectName, sessionId));\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,IAAI,CAAC;AAC9C,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,oCAAoC,CAAC;AAC1D,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACjF,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { u as updateCustomTitle } from './session-CYkrEqv3.js';
4
- import { d as deleteMessage, r as restoreMessage } from './index2-gxrJEKeb.js';
3
+ import { u as updateCustomTitle } from './session-DiA8YBrm.js';
4
+ import { d as deleteMessage, r as restoreMessage } from './index2-C_bCV9h2.js';
5
5
  import 'node:fs/promises';
6
6
  import 'node:path';
7
7
  import 'fs';
@@ -58,4 +58,4 @@ const PATCH = async ({ url, request }) => {
58
58
  };
59
59
 
60
60
  export { DELETE, PATCH, POST };
61
- //# sourceMappingURL=_server.ts-ClQdpaTd.js.map
61
+ //# sourceMappingURL=_server.ts-Do4bMoQ_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-ClQdpaTd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/message/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { u as updateCustomTitle } from \"../../../../chunks/session.js\";\nimport { r as restoreMessage, d as deleteMessage } from \"../../../../chunks/index2.js\";\nconst POST = async ({ url, request }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and session parameters required\");\n }\n const body = await request.json();\n const { message, index } = body;\n if (!message || typeof index !== \"number\") {\n throw error(400, \"message and index are required\");\n }\n const result = await Effect.runPromise(\n restoreMessage(projectName, sessionId, message, index)\n );\n return json(result);\n};\nconst DELETE = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n const messageUuid = url.searchParams.get(\"uuid\");\n const targetType = url.searchParams.get(\"targetType\");\n if (!projectName || !sessionId || !messageUuid) {\n throw error(400, \"project, session, and uuid parameters required\");\n }\n const result = await Effect.runPromise(\n deleteMessage(projectName, sessionId, messageUuid, targetType ?? void 0)\n );\n return json(result);\n};\nconst PATCH = async ({ url, request }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n const messageUuid = url.searchParams.get(\"uuid\");\n if (!projectName || !sessionId || !messageUuid) {\n throw error(400, \"project, session, and uuid parameters required\");\n }\n const body = await request.json();\n const { customTitle } = body;\n if (!customTitle) {\n throw error(400, \"customTitle is required\");\n }\n const result = await Effect.runPromise(\n updateCustomTitle(projectName, sessionId, messageUuid, customTitle)\n );\n return json(result);\n};\nexport {\n DELETE,\n PATCH,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACzC,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,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yCAAyC,CAAC;AAC/D,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;AACjC,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7C,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC;AACtD,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK;AACzD,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAClC,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,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAClD,EAAE,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;AACvD,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AAClD,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gDAAgD,CAAC;AACtE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,IAAI,MAAM;AAC3E,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;AACK,MAAC,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AAC1C,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,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAClD,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AAClD,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gDAAgD,CAAC;AACtE,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;AAC9B,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AAC/C,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW;AACtE,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-Do4bMoQ_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/message/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { u as updateCustomTitle } from \"../../../../chunks/session.js\";\nimport { r as restoreMessage, d as deleteMessage } from \"../../../../chunks/index2.js\";\nconst POST = async ({ url, request }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and session parameters required\");\n }\n const body = await request.json();\n const { message, index } = body;\n if (!message || typeof index !== \"number\") {\n throw error(400, \"message and index are required\");\n }\n const result = await Effect.runPromise(\n restoreMessage(projectName, sessionId, message, index)\n );\n return json(result);\n};\nconst DELETE = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n const messageUuid = url.searchParams.get(\"uuid\");\n const targetType = url.searchParams.get(\"targetType\");\n if (!projectName || !sessionId || !messageUuid) {\n throw error(400, \"project, session, and uuid parameters required\");\n }\n const result = await Effect.runPromise(\n deleteMessage(projectName, sessionId, messageUuid, targetType ?? void 0)\n );\n return json(result);\n};\nconst PATCH = async ({ url, request }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n const messageUuid = url.searchParams.get(\"uuid\");\n if (!projectName || !sessionId || !messageUuid) {\n throw error(400, \"project, session, and uuid parameters required\");\n }\n const body = await request.json();\n const { customTitle } = body;\n if (!customTitle) {\n throw error(400, \"customTitle is required\");\n }\n const result = await Effect.runPromise(\n updateCustomTitle(projectName, sessionId, messageUuid, customTitle)\n );\n return json(result);\n};\nexport {\n DELETE,\n PATCH,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACzC,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,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yCAAyC,CAAC;AAC/D,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;AACjC,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7C,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gCAAgC,CAAC;AACtD,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK;AACzD,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAClC,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,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAClD,EAAE,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;AACvD,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AAClD,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gDAAgD,CAAC;AACtE,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,IAAI,MAAM;AAC3E,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;AACK,MAAC,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AAC1C,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,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAClD,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE;AAClD,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,gDAAgD,CAAC;AACtE,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI;AAC9B,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC;AAC/C,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW;AACtE,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from './index-CoD1IJuy.js';
2
2
  import { homedir } from 'os';
3
- import { w as pathToFolderName } from './index2-gxrJEKeb.js';
3
+ import { x as pathToFolderName } from './index2-C_bCV9h2.js';
4
4
  import { b as private_env } from './shared-server-DaWdgxVh.js';
5
5
  import 'fs';
6
6
  import 'fs/promises';
@@ -16,11 +16,11 @@ const getCurrentProjectName = () => {
16
16
  };
17
17
  const GET = async () => {
18
18
  return json({
19
- version: "0.4.7",
19
+ version: "0.4.8",
20
20
  homeDir: private_env.CLAUDE_SESSIONS_HOME || homedir(),
21
21
  currentProjectName: getCurrentProjectName()
22
22
  });
23
23
  };
24
24
 
25
25
  export { GET };
26
- //# sourceMappingURL=_server.ts-DousfQCX.js.map
26
+ //# sourceMappingURL=_server.ts-DqedWtll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DousfQCX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/version/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { homedir } from \"os\";\nimport { w as pathToFolderName } from \"../../../../chunks/index2.js\";\nimport { b as private_env } from \"../../../../chunks/shared-server.js\";\nconst getCurrentProjectName = () => {\n if (private_env.CLAUDE_SESSIONS_PROJECT) {\n return private_env.CLAUDE_SESSIONS_PROJECT;\n }\n return pathToFolderName(process.env.INIT_CWD || process.cwd());\n};\nconst GET = async () => {\n return json({\n version: \"0.4.7\",\n homeDir: private_env.CLAUDE_SESSIONS_HOME || homedir(),\n currentProjectName: getCurrentProjectName()\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;AAIA,MAAM,qBAAqB,GAAG,MAAM;AACpC,EAAE,IAAI,WAAW,CAAC,uBAAuB,EAAE;AAC3C,IAAI,OAAO,WAAW,CAAC,uBAAuB;AAC9C,EAAE;AACF,EAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAChE,CAAC;AACI,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,OAAO,IAAI,CAAC;AACd,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,OAAO,EAAE,WAAW,CAAC,oBAAoB,IAAI,OAAO,EAAE;AAC1D,IAAI,kBAAkB,EAAE,qBAAqB;AAC7C,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"_server.ts-DqedWtll.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/version/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { homedir } from \"os\";\nimport { x as pathToFolderName } from \"../../../../chunks/index2.js\";\nimport { b as private_env } from \"../../../../chunks/shared-server.js\";\nconst getCurrentProjectName = () => {\n if (private_env.CLAUDE_SESSIONS_PROJECT) {\n return private_env.CLAUDE_SESSIONS_PROJECT;\n }\n return pathToFolderName(process.env.INIT_CWD || process.cwd());\n};\nconst GET = async () => {\n return json({\n version: \"0.4.8\",\n homeDir: private_env.CLAUDE_SESSIONS_HOME || homedir(),\n currentProjectName: getCurrentProjectName()\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;AAIA,MAAM,qBAAqB,GAAG,MAAM;AACpC,EAAE,IAAI,WAAW,CAAC,uBAAuB,EAAE;AAC3C,IAAI,OAAO,WAAW,CAAC,uBAAuB;AAC9C,EAAE;AACF,EAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAChE,CAAC;AACI,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,OAAO,IAAI,CAAC;AACd,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,OAAO,EAAE,WAAW,CAAC,oBAAoB,IAAI,OAAO,EAAE;AAC1D,IAAI,kBAAkB,EAAE,qBAAqB;AAC7C,GAAG,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 { j as renameSession } from './index2-gxrJEKeb.js';
3
+ import { k as renameSession } from './index2-C_bCV9h2.js';
4
4
  import 'fs';
5
5
  import 'fs/promises';
6
6
  import 'os';
@@ -17,4 +17,4 @@ const POST = async ({ request }) => {
17
17
  };
18
18
 
19
19
  export { POST };
20
- //# sourceMappingURL=_server.ts-CqC271AX.js.map
20
+ //# sourceMappingURL=_server.ts-KD7vpy-s.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CqC271AX.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
+ {"version":3,"file":"_server.ts-KD7vpy-s.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 { k 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 { e as listSessions } from './index2-gxrJEKeb.js';
3
+ import { e as listSessions } from './index2-C_bCV9h2.js';
4
4
  import 'fs';
5
5
  import 'fs/promises';
6
6
  import 'os';
@@ -17,4 +17,4 @@ const GET = async ({ url }) => {
17
17
  };
18
18
 
19
19
  export { GET };
20
- //# sourceMappingURL=_server.ts-27jrx6Uo.js.map
20
+ //# sourceMappingURL=_server.ts-bMheqJOE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-27jrx6Uo.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { e as listSessions } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n if (!projectName) {\n throw error(400, \"project parameter required\");\n }\n const sessions = await Effect.runPromise(listSessions(projectName));\n return json(sessions);\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,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AACrE,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;;;;"}
1
+ {"version":3,"file":"_server.ts-bMheqJOE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { e as listSessions } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n if (!projectName) {\n throw error(400, \"project parameter required\");\n }\n const sessions = await Effect.runPromise(listSessions(projectName));\n return json(sessions);\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,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AACrE,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { r as repairChain } from './session-CYkrEqv3.js';
4
- import './index2-gxrJEKeb.js';
3
+ import { r as repairChain } from './session-DiA8YBrm.js';
4
+ import './index2-C_bCV9h2.js';
5
5
  import 'fs';
6
6
  import 'fs/promises';
7
7
  import 'os';
@@ -21,4 +21,4 @@ const POST = async ({ url }) => {
21
21
  };
22
22
 
23
23
  export { POST };
24
- //# sourceMappingURL=_server.ts-D4gj35xA.js.map
24
+ //# sourceMappingURL=_server.ts-jIp1qKeL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D4gj35xA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/repair-chain/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { r as repairChain } from \"../../../../../chunks/session.js\";\nconst POST = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and session parameters required\");\n }\n const result = await Effect.runPromise(repairChain(projectName, sessionId));\n return json(result);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAChC,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,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yCAAyC,CAAC;AAC/D,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7E,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-jIp1qKeL.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/repair-chain/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { r as repairChain } from \"../../../../../chunks/session.js\";\nconst POST = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n if (!projectName || !sessionId) {\n throw error(400, \"project and session parameters required\");\n }\n const result = await Effect.runPromise(repairChain(projectName, sessionId));\n return json(result);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAChC,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,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;AAClC,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,yCAAyC,CAAC;AAC/D,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7E,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -88,11 +88,31 @@ var isContinuationSummary = (msg) => {
88
88
  const text = extractTextContent(msg.message);
89
89
  return text.startsWith("This session is being continued from");
90
90
  };
91
- var getDisplayTitle = (customTitle, currentSummary, title, maxLength = 60, fallback = "Untitled") => {
91
+ function getDisplayTitle(customTitleOrOptions, currentSummary, title, maxLength = 60, fallback = "Untitled") {
92
+ let mode = "message";
93
+ let createdAt;
94
+ let customTitle;
95
+ let locale;
96
+ if (typeof customTitleOrOptions === "object" && customTitleOrOptions !== null) {
97
+ const opts = customTitleOrOptions;
98
+ customTitle = opts.customTitle;
99
+ currentSummary = opts.currentSummary;
100
+ title = opts.title;
101
+ createdAt = opts.createdAt;
102
+ maxLength = opts.maxLength ?? 60;
103
+ fallback = opts.fallback ?? "Untitled";
104
+ mode = opts.mode ?? "message";
105
+ locale = opts.locale;
106
+ } else {
107
+ customTitle = customTitleOrOptions;
108
+ }
92
109
  if (customTitle) return customTitle;
93
110
  if (currentSummary) {
94
111
  return currentSummary.length > maxLength ? currentSummary.slice(0, maxLength - 3) + "..." : currentSummary;
95
112
  }
113
+ if (mode === "datetime" && createdAt) {
114
+ return formatRelativeTime(createdAt, locale);
115
+ }
96
116
  if (title && title !== "Untitled") {
97
117
  const firstParagraph = title.includes("\n\n") ? title.split("\n\n")[0] : title;
98
118
  if (firstParagraph.includes("<command-name>")) {
@@ -102,7 +122,7 @@ var getDisplayTitle = (customTitle, currentSummary, title, maxLength = 60, fallb
102
122
  return firstParagraph;
103
123
  }
104
124
  return fallback;
105
- };
125
+ }
106
126
  var replaceMessageContent = (msg, text) => ({
107
127
  ...msg,
108
128
  message: {
@@ -136,10 +156,26 @@ var maskHomePath = (text, homeDir) => {
136
156
  const regex = new RegExp(`${escapedHome}(?=[/\\\\]|$)`, "g");
137
157
  return text.replace(regex, "~");
138
158
  };
139
- var getSessionSortTimestamp = (session) => {
159
+ var getSummarySortTimestamp = (session) => {
140
160
  const timestampStr = session.summaries?.[0]?.timestamp ?? session.createdAt;
141
161
  return timestampStr ? new Date(timestampStr).getTime() : 0;
142
162
  };
163
+ var getDisplaySortTimestamp = (session, sortField) => {
164
+ switch (sortField) {
165
+ case "updated": {
166
+ if (session.updatedAt) return new Date(session.updatedAt).getTime();
167
+ return getSummarySortTimestamp(session);
168
+ }
169
+ case "created": {
170
+ if (session.createdAt) return new Date(session.createdAt).getTime();
171
+ return getSummarySortTimestamp(session);
172
+ }
173
+ case "modified":
174
+ return session.fileMtime ?? getSummarySortTimestamp(session);
175
+ default:
176
+ return getSummarySortTimestamp(session);
177
+ }
178
+ };
143
179
  var tryParseJsonLine = (line, lineNumber, filePath) => {
144
180
  try {
145
181
  return JSON.parse(line);
@@ -172,6 +208,19 @@ var readJsonlFile = (filePath, options) => Effect.gen(function* () {
172
208
  const lines = content.trim().split("\n").filter(Boolean);
173
209
  return parseJsonlLines(lines, filePath, options);
174
210
  });
211
+ var formatRelativeTime = (timestamp, locale) => {
212
+ const date = typeof timestamp === "string" ? new Date(timestamp) : new Date(timestamp);
213
+ const now = /* @__PURE__ */ new Date();
214
+ const diff = now.getTime() - date.getTime();
215
+ const minutes = Math.floor(diff / 6e4);
216
+ const hours = Math.floor(diff / 36e5);
217
+ const days = Math.floor(diff / 864e5);
218
+ if (minutes < 1) return "just now";
219
+ if (minutes < 60) return `${minutes}m ago`;
220
+ if (hours < 24) return `${hours}h ago`;
221
+ if (days < 7) return `${days}d ago`;
222
+ return date.toLocaleDateString(locale, { day: "numeric", month: "short", year: "numeric" });
223
+ };
175
224
  var getTotalTodoCount = (todos) => {
176
225
  return todos.sessionTodos.length + todos.agentTodos.reduce((sum, a) => sum + a.todos.length, 0);
177
226
  };
@@ -1393,7 +1442,7 @@ var loadSessionTreeDataInternal = (projectName, sessionId, summariesByTargetSess
1393
1442
  }
1394
1443
  const todos = yield* findLinkedTodos(sessionId, linkedAgentIds);
1395
1444
  const createdAt = firstMessage?.timestamp ?? void 0;
1396
- const sortTimestamp = getSessionSortTimestamp({ summaries, createdAt });
1445
+ const sortTimestamp = getSummarySortTimestamp({ summaries, createdAt });
1397
1446
  return {
1398
1447
  id: sessionId,
1399
1448
  projectName,
@@ -1492,12 +1541,16 @@ var buildProjectTreeResult = (project, sessions, sort) => {
1492
1541
  if (isErrorSessionTitle(s.currentSummary)) return false;
1493
1542
  return true;
1494
1543
  });
1544
+ const displaySessions = filteredSessions.map((s) => ({
1545
+ ...s,
1546
+ sortTimestamp: getDisplaySortTimestamp(s, sort.field)
1547
+ }));
1495
1548
  return {
1496
1549
  name: project.name,
1497
1550
  displayName: project.displayName,
1498
1551
  path: project.path,
1499
- sessionCount: filteredSessions.length,
1500
- sessions: filteredSessions
1552
+ sessionCount: displaySessions.length,
1553
+ sessions: displaySessions
1501
1554
  };
1502
1555
  };
1503
1556
  var buildTreeCache = (globalUuidMap, allSummaries, sessions, fileMtimes) => {
@@ -1524,7 +1577,7 @@ var updateSessionSummaries = (cached, summariesByTargetSession) => {
1524
1577
  const oldJson = JSON.stringify(cached.summaries);
1525
1578
  const newJson = JSON.stringify(newSummaries);
1526
1579
  if (oldJson === newJson) return cached;
1527
- const newSortTimestamp = getSessionSortTimestamp({
1580
+ const newSortTimestamp = getSummarySortTimestamp({
1528
1581
  summaries: newSummaries,
1529
1582
  createdAt: cached.createdAt
1530
1583
  });
@@ -1653,6 +1706,85 @@ var loadProjectTreeDataIncremental = (projectName, projectPath, files, sessionFi
1653
1706
  });
1654
1707
  return buildProjectTreeResult(project, allSessions, sort);
1655
1708
  });
1709
+ var compressSession = (projectName, sessionId, options = {}) => Effect.gen(function* () {
1710
+ const { keepSnapshots = "first_last", maxToolOutputLength = 5e3 } = options;
1711
+ const filePath = path5.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);
1712
+ const content = yield* Effect.tryPromise(() => fs6.readFile(filePath, "utf-8"));
1713
+ const originalSize = Buffer.byteLength(content, "utf-8");
1714
+ const lines = content.trim().split("\n").filter(Boolean);
1715
+ const messages = parseJsonlLines(lines, filePath, { strict: true });
1716
+ let removedCustomTitles = 0;
1717
+ let removedProgress = 0;
1718
+ let removedSnapshots = 0;
1719
+ let truncatedOutputs = 0;
1720
+ const customTitleIndices = [];
1721
+ const snapshotIndices = [];
1722
+ messages.forEach((msg, idx) => {
1723
+ if (msg.type === "custom-title") {
1724
+ customTitleIndices.push(idx);
1725
+ }
1726
+ if (msg.type === "file-history-snapshot") {
1727
+ snapshotIndices.push(idx);
1728
+ }
1729
+ });
1730
+ const messagesToRemove = [];
1731
+ const filteredMessages = messages.filter((msg, idx) => {
1732
+ if (msg.type === "progress") {
1733
+ removedProgress++;
1734
+ messagesToRemove.push(msg);
1735
+ return false;
1736
+ }
1737
+ if (msg.type === "custom-title") {
1738
+ if (customTitleIndices.length > 1 && idx !== customTitleIndices[customTitleIndices.length - 1]) {
1739
+ removedCustomTitles++;
1740
+ messagesToRemove.push(msg);
1741
+ return false;
1742
+ }
1743
+ }
1744
+ if (msg.type === "file-history-snapshot") {
1745
+ if (keepSnapshots === "none") {
1746
+ removedSnapshots++;
1747
+ messagesToRemove.push(msg);
1748
+ return false;
1749
+ }
1750
+ if (keepSnapshots === "first_last") {
1751
+ const isFirst = idx === snapshotIndices[0];
1752
+ const isLast = idx === snapshotIndices[snapshotIndices.length - 1];
1753
+ if (!isFirst && !isLast) {
1754
+ removedSnapshots++;
1755
+ messagesToRemove.push(msg);
1756
+ return false;
1757
+ }
1758
+ }
1759
+ }
1760
+ return true;
1761
+ });
1762
+ repairParentUuidChain(filteredMessages, messagesToRemove);
1763
+ for (const msg of filteredMessages) {
1764
+ if (msg.type === "user" && Array.isArray(msg.content)) {
1765
+ for (const item of msg.content) {
1766
+ if (item.type === "tool_result" && typeof item.content === "string") {
1767
+ if (maxToolOutputLength > 0 && item.content.length > maxToolOutputLength) {
1768
+ item.content = item.content.slice(0, maxToolOutputLength) + "\n... [truncated]";
1769
+ truncatedOutputs++;
1770
+ }
1771
+ }
1772
+ }
1773
+ }
1774
+ }
1775
+ const newContent = filteredMessages.map((m) => JSON.stringify(m)).join("\n") + "\n";
1776
+ const compressedSize = Buffer.byteLength(newContent, "utf-8");
1777
+ yield* Effect.tryPromise(() => fs6.writeFile(filePath, newContent, "utf-8"));
1778
+ return {
1779
+ success: true,
1780
+ originalSize,
1781
+ compressedSize,
1782
+ removedCustomTitles,
1783
+ removedProgress,
1784
+ removedSnapshots,
1785
+ truncatedOutputs
1786
+ };
1787
+ });
1656
1788
  var cleanInvalidMessages = (projectName, sessionId) => Effect.gen(function* () {
1657
1789
  const filePath = path5.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);
1658
1790
  const content = yield* Effect.tryPromise(() => fs6.readFile(filePath, "utf-8"));
@@ -1953,5 +2085,5 @@ var getSessionFiles = (projectName, sessionId) => Effect.gen(function* () {
1953
2085
  };
1954
2086
  });
1955
2087
 
1956
- export { sessionHasSubItems as A, getSessionTooltip as B, validateProgressMessages as C, parseCommandMessage as D, deleteMessageWithChainRepair as E, maskHomePath as F, TREE_ICONS as T, listProjects as a, loadProjectTreeData as b, clearSessions as c, deleteMessage as d, listSessions as e, deleteSession as f, readSession as g, getLogger as h, getSessionFiles as i, renameSession as j, getSessionsDir as k, loadAgentMessages as l, moveSession as m, autoRepairChain as n, folderNameToPath as o, previewCleanup as p, expandHomePath as q, restoreMessage as r, searchSessions as s, splitSession as t, loadSessionTreeData as u, validateChain as v, pathToFolderName as w, sortProjects as x, getTotalTodoCount as y, getDisplayTitle as z };
1957
- //# sourceMappingURL=index2-gxrJEKeb.js.map
2088
+ export { getDisplayTitle as A, sessionHasSubItems as B, getSessionTooltip as C, validateProgressMessages as D, parseCommandMessage as E, deleteMessageWithChainRepair as F, maskHomePath as G, TREE_ICONS as T, listProjects as a, loadProjectTreeData as b, clearSessions as c, deleteMessage as d, listSessions as e, deleteSession as f, readSession as g, getLogger as h, compressSession as i, getSessionFiles as j, renameSession as k, loadAgentMessages as l, moveSession as m, getSessionsDir as n, autoRepairChain as o, previewCleanup as p, folderNameToPath as q, restoreMessage as r, searchSessions as s, expandHomePath as t, splitSession as u, validateChain as v, loadSessionTreeData as w, pathToFolderName as x, sortProjects as y, getTotalTodoCount as z };
2089
+ //# sourceMappingURL=index2-C_bCV9h2.js.map