@claude-sessions/web 0.1.9 → 0.2.1

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 (113) hide show
  1. package/build/client/_app/immutable/assets/0.CPOeUjfv.css +1 -0
  2. package/build/client/_app/immutable/assets/0.CPOeUjfv.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.CPOeUjfv.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{DIdnLQ2J.js → 4iaBdYSQ.js} +1 -1
  5. package/build/client/_app/immutable/chunks/4iaBdYSQ.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/4iaBdYSQ.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/C-QPnIUG.js +70 -0
  8. package/build/client/_app/immutable/chunks/C-QPnIUG.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/C-QPnIUG.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{akEBbnuI.js → CTEGPjQ0.js} +2 -2
  11. package/build/client/_app/immutable/chunks/CTEGPjQ0.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CTEGPjQ0.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{DVqJsTXH.js → Du9ibmCI.js} +1 -1
  14. package/build/client/_app/immutable/chunks/Du9ibmCI.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/Du9ibmCI.js.gz +0 -0
  16. package/build/client/_app/immutable/entry/{app.BrFSuCuw.js → app.CoV7rgkC.js} +2 -2
  17. package/build/client/_app/immutable/entry/app.CoV7rgkC.js.br +0 -0
  18. package/build/client/_app/immutable/entry/app.CoV7rgkC.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/start.B-MaULk3.js +1 -0
  20. package/build/client/_app/immutable/entry/start.B-MaULk3.js.br +2 -0
  21. package/build/client/_app/immutable/entry/start.B-MaULk3.js.gz +0 -0
  22. package/build/client/_app/immutable/nodes/0.eyn9yNZf.js +1 -0
  23. package/build/client/_app/immutable/nodes/0.eyn9yNZf.js.br +0 -0
  24. package/build/client/_app/immutable/nodes/0.eyn9yNZf.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{1.Dy2lJ-WY.js → 1.C-kLdLzG.js} +1 -1
  26. package/build/client/_app/immutable/nodes/1.C-kLdLzG.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/1.C-kLdLzG.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/2.BtKDOsS2.js +5 -0
  29. package/build/client/_app/immutable/nodes/2.BtKDOsS2.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/2.BtKDOsS2.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/3.LkZK5mWK.js +5 -0
  32. package/build/client/_app/immutable/nodes/3.LkZK5mWK.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/3.LkZK5mWK.js.gz +0 -0
  34. package/build/client/_app/version.json +1 -1
  35. package/build/client/_app/version.json.br +0 -0
  36. package/build/client/_app/version.json.gz +0 -0
  37. package/build/server/chunks/{0-CJnJjLuU.js → 0-DQgsJqqE.js} +3 -3
  38. package/build/server/chunks/{0-CJnJjLuU.js.map → 0-DQgsJqqE.js.map} +1 -1
  39. package/build/server/chunks/{1-CRuXk6Te.js → 1-ChQXVYkj.js} +2 -2
  40. package/build/server/chunks/{1-CRuXk6Te.js.map → 1-ChQXVYkj.js.map} +1 -1
  41. package/build/server/chunks/{2-S-DySAd8.js → 2-Cp63QJTu.js} +3 -3
  42. package/build/server/chunks/{2-S-DySAd8.js.map → 2-Cp63QJTu.js.map} +1 -1
  43. package/build/server/chunks/{3-B4MAWY85.js → 3-SmiUneRr.js} +3 -3
  44. package/build/server/chunks/{3-B4MAWY85.js.map → 3-SmiUneRr.js.map} +1 -1
  45. package/build/server/chunks/_page.svelte-B35vg6-e.js +259 -0
  46. package/build/server/chunks/_page.svelte-B35vg6-e.js.map +1 -0
  47. package/build/server/chunks/{_page.svelte-BWLtdblA.js → _page.svelte-D_J_OEeq.js} +5 -4
  48. package/build/server/chunks/_page.svelte-D_J_OEeq.js.map +1 -0
  49. package/build/server/chunks/{_server.ts-BxagrnO0.js → _server.ts-C9C0bsVO.js} +2 -2
  50. package/build/server/chunks/{_server.ts-BxagrnO0.js.map → _server.ts-C9C0bsVO.js.map} +1 -1
  51. package/build/server/chunks/{_server.ts-BzmUdix3.js → _server.ts-CM7CFVf8.js} +2 -2
  52. package/build/server/chunks/{_server.ts-BzmUdix3.js.map → _server.ts-CM7CFVf8.js.map} +1 -1
  53. package/build/server/chunks/{_server.ts-YwtnEMzH.js → _server.ts-CU8PLVcZ.js} +2 -2
  54. package/build/server/chunks/{_server.ts-YwtnEMzH.js.map → _server.ts-CU8PLVcZ.js.map} +1 -1
  55. package/build/server/chunks/{_server.ts-BCmGQeSo.js → _server.ts-DB6GKkDX.js} +2 -2
  56. package/build/server/chunks/{_server.ts-BCmGQeSo.js.map → _server.ts-DB6GKkDX.js.map} +1 -1
  57. package/build/server/chunks/_server.ts-DXRcJKP-.js +22 -0
  58. package/build/server/chunks/_server.ts-DXRcJKP-.js.map +1 -0
  59. package/build/server/chunks/{_server.ts-CmUCnNll.js → _server.ts-DcUUS9n1.js} +2 -2
  60. package/build/server/chunks/{_server.ts-CmUCnNll.js.map → _server.ts-DcUUS9n1.js.map} +1 -1
  61. package/build/server/chunks/{_server.ts-C-rL3Szt.js → _server.ts-DiXxYysy.js} +2 -2
  62. package/build/server/chunks/{_server.ts-C-rL3Szt.js.map → _server.ts-DiXxYysy.js.map} +1 -1
  63. package/build/server/chunks/{_server.ts-Bxa6aZc2.js → _server.ts-Dr97TX_6.js} +2 -2
  64. package/build/server/chunks/{_server.ts-Bxa6aZc2.js.map → _server.ts-Dr97TX_6.js.map} +1 -1
  65. package/build/server/chunks/{_server.ts-BcbZpFD0.js → _server.ts-KAuzqH1A.js} +2 -2
  66. package/build/server/chunks/{_server.ts-BcbZpFD0.js.map → _server.ts-KAuzqH1A.js.map} +1 -1
  67. package/build/server/chunks/{_server.ts-CY9T4t0H.js → _server.ts-MNLikRpB.js} +2 -2
  68. package/build/server/chunks/{_server.ts-CY9T4t0H.js.map → _server.ts-MNLikRpB.js.map} +1 -1
  69. package/build/server/chunks/{_server.ts-Bh90MAYF.js → _server.ts-W4hJ6Ykl.js} +2 -2
  70. package/build/server/chunks/{_server.ts-Bh90MAYF.js.map → _server.ts-W4hJ6Ykl.js.map} +1 -1
  71. package/build/server/chunks/{_server.ts-HlacJ7sM.js → _server.ts-xHXPIydN.js} +2 -2
  72. package/build/server/chunks/{_server.ts-HlacJ7sM.js.map → _server.ts-xHXPIydN.js.map} +1 -1
  73. package/build/server/chunks/{index2-DY0iJkqO.js → index2-C2sXUHlH.js} +201 -4
  74. package/build/server/chunks/index2-C2sXUHlH.js.map +1 -0
  75. package/build/server/index.js +1 -1
  76. package/build/server/index.js.map +1 -1
  77. package/build/server/manifest.js +17 -17
  78. package/build/server/manifest.js.map +1 -1
  79. package/package.json +2 -2
  80. package/build/client/_app/immutable/assets/0.Bn90K0hQ.css +0 -1
  81. package/build/client/_app/immutable/assets/0.Bn90K0hQ.css.br +0 -0
  82. package/build/client/_app/immutable/assets/0.Bn90K0hQ.css.gz +0 -0
  83. package/build/client/_app/immutable/chunks/BmgUV-OZ.js +0 -70
  84. package/build/client/_app/immutable/chunks/BmgUV-OZ.js.br +0 -0
  85. package/build/client/_app/immutable/chunks/BmgUV-OZ.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/DIdnLQ2J.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/DIdnLQ2J.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/DVqJsTXH.js.br +0 -0
  89. package/build/client/_app/immutable/chunks/DVqJsTXH.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/akEBbnuI.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/akEBbnuI.js.gz +0 -0
  92. package/build/client/_app/immutable/entry/app.BrFSuCuw.js.br +0 -0
  93. package/build/client/_app/immutable/entry/app.BrFSuCuw.js.gz +0 -0
  94. package/build/client/_app/immutable/entry/start.CoWVGtze.js +0 -1
  95. package/build/client/_app/immutable/entry/start.CoWVGtze.js.br +0 -2
  96. package/build/client/_app/immutable/entry/start.CoWVGtze.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/0.CBmF4jwI.js +0 -1
  98. package/build/client/_app/immutable/nodes/0.CBmF4jwI.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/0.CBmF4jwI.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/1.Dy2lJ-WY.js.br +0 -0
  101. package/build/client/_app/immutable/nodes/1.Dy2lJ-WY.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/2.B3l3mhPg.js +0 -5
  103. package/build/client/_app/immutable/nodes/2.B3l3mhPg.js.br +0 -0
  104. package/build/client/_app/immutable/nodes/2.B3l3mhPg.js.gz +0 -0
  105. package/build/client/_app/immutable/nodes/3.BGtShXcH.js +0 -5
  106. package/build/client/_app/immutable/nodes/3.BGtShXcH.js.br +0 -0
  107. package/build/client/_app/immutable/nodes/3.BGtShXcH.js.gz +0 -0
  108. package/build/server/chunks/_page.svelte-BWLtdblA.js.map +0 -1
  109. package/build/server/chunks/_page.svelte-BlgbAbC7.js +0 -170
  110. package/build/server/chunks/_page.svelte-BlgbAbC7.js.map +0 -1
  111. package/build/server/chunks/_server.ts-DsueDvyv.js +0 -70
  112. package/build/server/chunks/_server.ts-DsueDvyv.js.map +0 -1
  113. package/build/server/chunks/index2-DY0iJkqO.js.map +0 -1
@@ -7,14 +7,15 @@ import 'marked';
7
7
 
8
8
  function _page($$renderer, $$props) {
9
9
  $$renderer.component(($$renderer2) => {
10
- const projectName = decodeURIComponent(page.params.project);
11
- decodeURIComponent(page.params.id);
10
+ let projectDisplayName = "";
11
+ decodeURIComponent(page.params.project ?? "");
12
+ decodeURIComponent(page.params.id ?? "");
12
13
  head("ik3mmh", $$renderer2, ($$renderer3) => {
13
14
  $$renderer3.title(($$renderer4) => {
14
15
  $$renderer4.push(`<title>${escape_html("Session")} - Claude Sessions</title>`);
15
16
  });
16
17
  });
17
- $$renderer2.push(`<div class="min-h-screen flex flex-col bg-gh-bg"><header class="flex-shrink-0 p-4 border-b border-gh-border bg-gh-canvas"><div class="flex items-center gap-4"><a href="/" class="text-gh-muted hover:text-gh-fg" title="Back to home"><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><h1 class="text-lg font-semibold text-gh-fg">${escape_html("Loading...")}</h1> <p class="text-sm text-gh-muted">${escape_html(projectName)}</p></div></div></header> <div class="flex-1 overflow-y-auto">`);
18
+ $$renderer2.push(`<div class="min-h-screen flex flex-col bg-gh-bg"><header class="flex-shrink-0 p-4 border-b border-gh-border bg-gh-canvas"><div class="flex items-center gap-4"><a href="/" class="text-gh-muted hover:text-gh-fg" title="Back to home"><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> <p class="text-sm text-gh-muted">${escape_html(projectDisplayName)}</p></div></header> <div class="flex-1 overflow-y-auto">`);
18
19
  {
19
20
  $$renderer2.push("<!--[-->");
20
21
  $$renderer2.push(`<div class="flex items-center justify-center h-full"><div class="text-gh-muted">Loading...</div></div>`);
@@ -24,4 +25,4 @@ function _page($$renderer, $$props) {
24
25
  }
25
26
 
26
27
  export { _page as default };
27
- //# sourceMappingURL=_page.svelte-BWLtdblA.js.map
28
+ //# sourceMappingURL=_page.svelte-D_J_OEeq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-D_J_OEeq.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 let projectDisplayName = \"\";\n decodeURIComponent(page.params.project ?? \"\");\n decodeURIComponent(page.params.id ?? \"\");\n head(\"ik3mmh\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>${escape_html(\"Session\")} - Claude Sessions</title>`);\n });\n });\n $$renderer2.push(`<div class=\"min-h-screen flex flex-col bg-gh-bg\"><header class=\"flex-shrink-0 p-4 border-b border-gh-border bg-gh-canvas\"><div class=\"flex items-center gap-4\"><a href=\"/\" class=\"text-gh-muted hover:text-gh-fg\" title=\"Back to home\"><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> <p class=\"text-sm text-gh-muted\">${escape_html(projectDisplayName)}</p></div></header> <div class=\"flex-1 overflow-y-auto\">`);\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></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,IAAI,kBAAkB,GAAG,EAAE;AAC/B,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,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,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;AACtF,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,2cAA2c,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC,wDAAwD,CAAC,CAAC;AAC7jB,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,oBAAoB,CAAC,CAAC;AAC5C,EAAE,CAAC,CAAC;AACJ;;;;"}
@@ -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.1.9" });
4
+ return json({ version: "0.2.1" });
5
5
  };
6
6
 
7
7
  export { GET };
8
- //# sourceMappingURL=_server.ts-BxagrnO0.js.map
8
+ //# sourceMappingURL=_server.ts-C9C0bsVO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BxagrnO0.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.1.9\" });\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-C9C0bsVO.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.2.1\" });\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 { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { e as deleteSession, r as readSession } from './index2-DY0iJkqO.js';
3
+ import { e as deleteSession, r as readSession } from './index2-C2sXUHlH.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -26,4 +26,4 @@ const DELETE = async ({ url }) => {
26
26
  };
27
27
 
28
28
  export { DELETE, GET };
29
- //# sourceMappingURL=_server.ts-BzmUdix3.js.map
29
+ //# sourceMappingURL=_server.ts-CM7CFVf8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BzmUdix3.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 { r as readSession, e 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 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,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-CM7CFVf8.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 { r as readSession, e 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 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,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 { a as listSessions } from './index2-DY0iJkqO.js';
3
+ import { b as listSessions } from './index2-C2sXUHlH.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -16,4 +16,4 @@ const GET = async ({ url }) => {
16
16
  };
17
17
 
18
18
  export { GET };
19
- //# sourceMappingURL=_server.ts-YwtnEMzH.js.map
19
+ //# sourceMappingURL=_server.ts-CU8PLVcZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-YwtnEMzH.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 { a 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-CU8PLVcZ.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 { b 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,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-DY0iJkqO.js';
3
+ import { s as searchSessions } from './index2-C2sXUHlH.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -20,4 +20,4 @@ const GET = async ({ url }) => {
20
20
  };
21
21
 
22
22
  export { GET };
23
- //# sourceMappingURL=_server.ts-BCmGQeSo.js.map
23
+ //# sourceMappingURL=_server.ts-DB6GKkDX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BCmGQeSo.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-DB6GKkDX.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,22 @@
1
+ import { e as error, j as json } from './index-CoD1IJuy.js';
2
+ import { Effect } from 'effect';
3
+ import { a as loadProjectTreeData } from './index2-C2sXUHlH.js';
4
+ import 'fs';
5
+ import 'os';
6
+ import 'path';
7
+ import 'fs/promises';
8
+
9
+ const GET = async ({ url }) => {
10
+ const projectName = url.searchParams.get("project");
11
+ if (!projectName) {
12
+ throw error(400, "project parameter required");
13
+ }
14
+ const result = await Effect.runPromise(loadProjectTreeData(projectName));
15
+ if (!result) {
16
+ throw error(404, "Project not found");
17
+ }
18
+ return json(result.sessions);
19
+ };
20
+
21
+ export { GET };
22
+ //# sourceMappingURL=_server.ts-DXRcJKP-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-DXRcJKP-.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 { a 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 result = await Effect.runPromise(loadProjectTreeData(projectName));\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,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1E,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 { j as splitSession } from './index2-DY0iJkqO.js';
3
+ import { i as splitSession } from './index2-C2sXUHlH.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -17,4 +17,4 @@ const POST = async ({ request }) => {
17
17
  };
18
18
 
19
19
  export { POST };
20
- //# sourceMappingURL=_server.ts-CmUCnNll.js.map
20
+ //# sourceMappingURL=_server.ts-DcUUS9n1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CmUCnNll.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 { j 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-DcUUS9n1.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 { i 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 { h as getSessionFiles } from './index2-DY0iJkqO.js';
3
+ import { f as getSessionFiles } from './index2-C2sXUHlH.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -17,4 +17,4 @@ const GET = async ({ url }) => {
17
17
  };
18
18
 
19
19
  export { GET };
20
- //# sourceMappingURL=_server.ts-C-rL3Szt.js.map
20
+ //# sourceMappingURL=_server.ts-DiXxYysy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C-rL3Szt.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 { h 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-DiXxYysy.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 { f 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,6 +1,6 @@
1
1
  import { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { d as deleteMessage, g as getSessionsDir } from './index2-DY0iJkqO.js';
3
+ import { d as deleteMessage, g as getSessionsDir } from './index2-C2sXUHlH.js';
4
4
  import * as fs from 'node:fs/promises';
5
5
  import * as path from 'node:path';
6
6
  import 'fs';
@@ -55,4 +55,4 @@ const PATCH = async ({ url, request }) => {
55
55
  };
56
56
 
57
57
  export { DELETE, PATCH };
58
- //# sourceMappingURL=_server.ts-Bxa6aZc2.js.map
58
+ //# sourceMappingURL=_server.ts-Dr97TX_6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bxa6aZc2.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 { g as getSessionsDir, d as deleteMessage } from \"../../../../chunks/index2.js\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nconst updateCustomTitle = (projectName, sessionId, messageUuid, newTitle) => Effect.gen(function* () {\n const filePath = path.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, \"utf-8\"));\n const lines = content.trim().split(\"\\n\").filter(Boolean);\n const messages = lines.map((line) => JSON.parse(line));\n const targetIndex = messages.findIndex((m) => m.uuid === messageUuid);\n if (targetIndex === -1) {\n return { success: false, error: \"Message not found\" };\n }\n const msg = messages[targetIndex];\n if (msg.type !== \"custom-title\") {\n return { success: false, error: \"Message is not a custom-title type\" };\n }\n msg.customTitle = newTitle;\n const newContent = messages.map((m) => JSON.stringify(m)).join(\"\\n\") + \"\\n\";\n yield* Effect.tryPromise(() => fs.writeFile(filePath, newContent, \"utf-8\"));\n return { success: true };\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 if (!projectName || !sessionId || !messageUuid) {\n throw error(400, \"project, session, and uuid parameters required\");\n }\n const result = await Effect.runPromise(deleteMessage(projectName, sessionId, messageUuid));\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};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Dr97TX_6.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 { g as getSessionsDir, d as deleteMessage } from \"../../../../chunks/index2.js\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nconst updateCustomTitle = (projectName, sessionId, messageUuid, newTitle) => Effect.gen(function* () {\n const filePath = path.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);\n const content = yield* Effect.tryPromise(() => fs.readFile(filePath, \"utf-8\"));\n const lines = content.trim().split(\"\\n\").filter(Boolean);\n const messages = lines.map((line) => JSON.parse(line));\n const targetIndex = messages.findIndex((m) => m.uuid === messageUuid);\n if (targetIndex === -1) {\n return { success: false, error: \"Message not found\" };\n }\n const msg = messages[targetIndex];\n if (msg.type !== \"custom-title\") {\n return { success: false, error: \"Message is not a custom-title type\" };\n }\n msg.customTitle = newTitle;\n const newContent = messages.map((m) => JSON.stringify(m)).join(\"\\n\") + \"\\n\";\n yield* Effect.tryPromise(() => fs.writeFile(filePath, newContent, \"utf-8\"));\n return { success: true };\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 if (!projectName || !sessionId || !messageUuid) {\n throw error(400, \"project, session, and uuid parameters required\");\n }\n const result = await Effect.runPromise(deleteMessage(projectName, sessionId, messageUuid));\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};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { l as listProjects } from './index2-DY0iJkqO.js';
3
+ import { l as listProjects } from './index2-C2sXUHlH.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-BcbZpFD0.js.map
15
+ //# sourceMappingURL=_server.ts-KAuzqH1A.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BcbZpFD0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { l 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-KAuzqH1A.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { l 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,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-DY0iJkqO.js';
3
+ import { h as renameSession } from './index2-C2sXUHlH.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -18,4 +18,4 @@ const POST = async ({ request }) => {
18
18
  };
19
19
 
20
20
  export { POST };
21
- //# sourceMappingURL=_server.ts-CY9T4t0H.js.map
21
+ //# sourceMappingURL=_server.ts-MNLikRpB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CY9T4t0H.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 { i 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(\n renameSession(body.project, body.id, body.title, body.summary)\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,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;AACxC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO;AACjE,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-MNLikRpB.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 { h 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(\n renameSession(body.project, body.id, body.title, body.summary)\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,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;AACxC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO;AACjE,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 { Effect } from 'effect';
3
- import { m as moveSession } from './index2-DY0iJkqO.js';
3
+ import { m as moveSession } from './index2-C2sXUHlH.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-Bh90MAYF.js.map
27
+ //# sourceMappingURL=_server.ts-W4hJ6Ykl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bh90MAYF.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-W4hJ6Ykl.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 { j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { p as previewCleanup, c as clearSessions } from './index2-DY0iJkqO.js';
3
+ import { p as previewCleanup, c as clearSessions } from './index2-C2sXUHlH.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -27,4 +27,4 @@ const POST = async ({ request }) => {
27
27
  };
28
28
 
29
29
  export { GET, POST };
30
- //# sourceMappingURL=_server.ts-HlacJ7sM.js.map
30
+ //# sourceMappingURL=_server.ts-xHXPIydN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-HlacJ7sM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/cleanup/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { p as previewCleanup, c as clearSessions } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\") ?? void 0;\n const result = await Effect.runPromise(previewCleanup(projectName));\n return json(result);\n};\nconst POST = async ({ request }) => {\n const body = await request.json();\n const result = await Effect.runPromise(\n clearSessions({\n projectName: body.project,\n clearEmpty: body.clearEmpty,\n clearInvalid: body.clearInvalid,\n skipWithTodos: body.skipWithTodos,\n clearOrphanAgents: body.clearOrphanAgents,\n clearOrphanTodos: body.clearOrphanTodos\n })\n );\n return json(result);\n};\nexport {\n GET,\n POST\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,IAAI,MAAM;AAC/D,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AACrE,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,aAAa,CAAC;AAClB,MAAM,WAAW,EAAE,IAAI,CAAC,OAAO;AAC/B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,YAAY,EAAE,IAAI,CAAC,YAAY;AACrC,MAAM,aAAa,EAAE,IAAI,CAAC,aAAa;AACvC,MAAM,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC/C,MAAM,gBAAgB,EAAE,IAAI,CAAC;AAC7B,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"_server.ts-xHXPIydN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/cleanup/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { p as previewCleanup, c as clearSessions } from \"../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\") ?? void 0;\n const result = await Effect.runPromise(previewCleanup(projectName));\n return json(result);\n};\nconst POST = async ({ request }) => {\n const body = await request.json();\n const result = await Effect.runPromise(\n clearSessions({\n projectName: body.project,\n clearEmpty: body.clearEmpty,\n clearInvalid: body.clearInvalid,\n skipWithTodos: body.skipWithTodos,\n clearOrphanAgents: body.clearOrphanAgents,\n clearOrphanTodos: body.clearOrphanTodos\n })\n );\n return json(result);\n};\nexport {\n GET,\n POST\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,IAAI,MAAM;AAC/D,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AACrE,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,aAAa,CAAC;AAClB,MAAM,WAAW,EAAE,IAAI,CAAC,OAAO;AAC/B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,YAAY,EAAE,IAAI,CAAC,YAAY;AACrC,MAAM,aAAa,EAAE,IAAI,CAAC,aAAa;AACvC,MAAM,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC/C,MAAM,gBAAgB,EAAE,IAAI,CAAC;AAC7B,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -37,7 +37,10 @@ var isSessionFile = (filename) => filename.endsWith(".jsonl") && !filename.start
37
37
  var toRelativePath = (absolutePath, homeDir) => {
38
38
  const normalizedPath = absolutePath.replace(/\\/g, "/");
39
39
  const normalizedHome = homeDir.replace(/\\/g, "/");
40
- if (normalizedPath.startsWith(normalizedHome)) {
40
+ if (normalizedPath === normalizedHome) {
41
+ return "~";
42
+ }
43
+ if (normalizedPath.startsWith(normalizedHome + "/")) {
41
44
  return "~" + normalizedPath.slice(normalizedHome.length);
42
45
  }
43
46
  return absolutePath;
@@ -690,7 +693,8 @@ var splitSession = (projectName, sessionId, splitAtMessageUuid) => Effect.gen(fu
690
693
  return { success: false, error: "Cannot split at first message" };
691
694
  }
692
695
  const newSessionId = crypto.randomUUID();
693
- const summaryMessage = allMessages.find((m) => m.type === "summary");
696
+ const summaryMessages = allMessages.filter((m) => m.type === "summary");
697
+ const summaryMessage = summaryMessages.length > 0 ? summaryMessages[summaryMessages.length - 1] : null;
694
698
  const splitMessage = allMessages[splitIndex];
695
699
  const shouldDuplicate = isContinuationSummary(splitMessage);
696
700
  let remainingMessages;
@@ -979,6 +983,199 @@ var searchSessions = (query, options = {}) => Effect.gen(function* () {
979
983
  return dateB - dateA;
980
984
  });
981
985
  });
986
+ var loadSessionTreeDataInternal = (projectName, sessionId, summariesByTargetSession) => Effect.gen(function* () {
987
+ const projectPath = path4.join(getSessionsDir(), projectName);
988
+ const filePath = path4.join(projectPath, `${sessionId}.jsonl`);
989
+ const content = yield* Effect.tryPromise(() => fs4.readFile(filePath, "utf-8"));
990
+ const lines = content.trim().split("\n").filter(Boolean);
991
+ const messages = lines.map((line) => JSON.parse(line));
992
+ let summaries;
993
+ if (summariesByTargetSession) {
994
+ summaries = [...summariesByTargetSession.get(sessionId) ?? []];
995
+ } else {
996
+ summaries = [];
997
+ const sessionUuids = /* @__PURE__ */ new Set();
998
+ for (const msg of messages) {
999
+ if (msg.uuid && typeof msg.uuid === "string") {
1000
+ sessionUuids.add(msg.uuid);
1001
+ }
1002
+ }
1003
+ const projectFiles = yield* Effect.tryPromise(() => fs4.readdir(projectPath));
1004
+ const allJsonlFiles = projectFiles.filter((f) => f.endsWith(".jsonl"));
1005
+ for (const file of allJsonlFiles) {
1006
+ try {
1007
+ const otherFilePath = path4.join(projectPath, file);
1008
+ const otherContent = yield* Effect.tryPromise(() => fs4.readFile(otherFilePath, "utf-8"));
1009
+ const otherLines = otherContent.trim().split("\n").filter(Boolean);
1010
+ for (const line of otherLines) {
1011
+ try {
1012
+ const msg = JSON.parse(line);
1013
+ if (msg.type === "summary" && typeof msg.summary === "string" && typeof msg.leafUuid === "string" && sessionUuids.has(msg.leafUuid)) {
1014
+ const targetMsg = messages.find((m) => m.uuid === msg.leafUuid);
1015
+ summaries.push({
1016
+ summary: msg.summary,
1017
+ leafUuid: msg.leafUuid,
1018
+ timestamp: targetMsg?.timestamp ?? msg.timestamp
1019
+ });
1020
+ }
1021
+ } catch {
1022
+ }
1023
+ }
1024
+ } catch {
1025
+ }
1026
+ }
1027
+ }
1028
+ summaries.reverse();
1029
+ let lastCompactBoundaryUuid;
1030
+ for (let i = messages.length - 1; i >= 0; i--) {
1031
+ const msg = messages[i];
1032
+ if (msg.type === "system" && msg.subtype === "compact_boundary") {
1033
+ lastCompactBoundaryUuid = msg.uuid;
1034
+ break;
1035
+ }
1036
+ }
1037
+ const customTitle = void 0;
1038
+ const firstUserMsgForTitle = messages.find((m) => m.type === "user");
1039
+ const title = firstUserMsgForTitle ? extractTitle(extractTextContent(firstUserMsgForTitle.message)) : summaries.length > 0 ? "[Summary Only]" : `Session ${sessionId.slice(0, 8)}`;
1040
+ const userAssistantMessages = messages.filter(
1041
+ (m) => m.type === "user" || m.type === "assistant"
1042
+ );
1043
+ const firstMessage = userAssistantMessages[0];
1044
+ const lastMessage = userAssistantMessages[userAssistantMessages.length - 1];
1045
+ const linkedAgentIds = yield* findLinkedAgents(projectName, sessionId);
1046
+ const agents = [];
1047
+ for (const agentId of linkedAgentIds) {
1048
+ const agentPath = path4.join(projectPath, `${agentId}.jsonl`);
1049
+ try {
1050
+ const agentContent = yield* Effect.tryPromise(() => fs4.readFile(agentPath, "utf-8"));
1051
+ const agentLines = agentContent.trim().split("\n").filter(Boolean);
1052
+ const agentMsgs = agentLines.map((l) => JSON.parse(l));
1053
+ const agentUserAssistant = agentMsgs.filter(
1054
+ (m) => m.type === "user" || m.type === "assistant"
1055
+ );
1056
+ let agentName;
1057
+ const firstAgentMsg = agentMsgs.find((m) => m.type === "user");
1058
+ if (firstAgentMsg) {
1059
+ const text = extractTextContent(firstAgentMsg.message);
1060
+ if (text) {
1061
+ agentName = extractTitle(text);
1062
+ }
1063
+ }
1064
+ agents.push({
1065
+ id: agentId,
1066
+ name: agentName,
1067
+ messageCount: agentUserAssistant.length
1068
+ });
1069
+ } catch {
1070
+ agents.push({
1071
+ id: agentId,
1072
+ messageCount: 0
1073
+ });
1074
+ }
1075
+ }
1076
+ const todos = yield* findLinkedTodos(sessionId, linkedAgentIds);
1077
+ return {
1078
+ id: sessionId,
1079
+ projectName,
1080
+ title,
1081
+ customTitle,
1082
+ lastSummary: summaries[0]?.summary,
1083
+ messageCount: userAssistantMessages.length > 0 ? userAssistantMessages.length : summaries.length > 0 ? 1 : 0,
1084
+ createdAt: firstMessage?.timestamp ?? void 0,
1085
+ updatedAt: lastMessage?.timestamp ?? void 0,
1086
+ summaries,
1087
+ agents,
1088
+ todos,
1089
+ lastCompactBoundaryUuid
1090
+ };
1091
+ });
1092
+ var loadProjectTreeData = (projectName) => Effect.gen(function* () {
1093
+ const project = (yield* listProjects).find((p) => p.name === projectName);
1094
+ if (!project) {
1095
+ return null;
1096
+ }
1097
+ const projectPath = path4.join(getSessionsDir(), projectName);
1098
+ const files = yield* Effect.tryPromise(() => fs4.readdir(projectPath));
1099
+ const sessionFiles = files.filter((f) => f.endsWith(".jsonl") && !f.startsWith("agent-"));
1100
+ const globalUuidMap = /* @__PURE__ */ new Map();
1101
+ const allSummaries = [];
1102
+ const allJsonlFiles = files.filter((f) => f.endsWith(".jsonl"));
1103
+ yield* Effect.all(
1104
+ allJsonlFiles.map(
1105
+ (file) => Effect.gen(function* () {
1106
+ const filePath = path4.join(projectPath, file);
1107
+ const fileSessionId = file.replace(".jsonl", "");
1108
+ try {
1109
+ const content = yield* Effect.tryPromise(() => fs4.readFile(filePath, "utf-8"));
1110
+ const lines = content.trim().split("\n").filter(Boolean);
1111
+ for (const line of lines) {
1112
+ try {
1113
+ const msg = JSON.parse(line);
1114
+ if (msg.uuid && typeof msg.uuid === "string") {
1115
+ globalUuidMap.set(msg.uuid, {
1116
+ sessionId: fileSessionId,
1117
+ timestamp: msg.timestamp
1118
+ });
1119
+ }
1120
+ if (msg.messageId && typeof msg.messageId === "string") {
1121
+ globalUuidMap.set(msg.messageId, {
1122
+ sessionId: fileSessionId,
1123
+ timestamp: msg.snapshot?.timestamp
1124
+ });
1125
+ }
1126
+ if (msg.type === "summary" && typeof msg.summary === "string") {
1127
+ allSummaries.push({
1128
+ summary: msg.summary,
1129
+ leafUuid: msg.leafUuid,
1130
+ timestamp: msg.timestamp
1131
+ });
1132
+ }
1133
+ } catch {
1134
+ }
1135
+ }
1136
+ } catch {
1137
+ }
1138
+ })
1139
+ ),
1140
+ { concurrency: 20 }
1141
+ );
1142
+ const summariesByTargetSession = /* @__PURE__ */ new Map();
1143
+ for (const summaryData of allSummaries) {
1144
+ if (summaryData.leafUuid) {
1145
+ const targetInfo = globalUuidMap.get(summaryData.leafUuid);
1146
+ if (targetInfo) {
1147
+ const targetSessionId = targetInfo.sessionId;
1148
+ if (!summariesByTargetSession.has(targetSessionId)) {
1149
+ summariesByTargetSession.set(targetSessionId, []);
1150
+ }
1151
+ summariesByTargetSession.get(targetSessionId).push({
1152
+ summary: summaryData.summary,
1153
+ leafUuid: summaryData.leafUuid,
1154
+ timestamp: targetInfo.timestamp ?? summaryData.timestamp
1155
+ });
1156
+ }
1157
+ }
1158
+ }
1159
+ const sessions = yield* Effect.all(
1160
+ sessionFiles.map((file) => {
1161
+ const sessionId = file.replace(".jsonl", "");
1162
+ return loadSessionTreeDataInternal(projectName, sessionId, summariesByTargetSession);
1163
+ }),
1164
+ { concurrency: 10 }
1165
+ );
1166
+ const sortedSessions = sessions.sort((a, b) => {
1167
+ const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
1168
+ const dateB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0;
1169
+ return dateB - dateA;
1170
+ });
1171
+ return {
1172
+ name: project.name,
1173
+ displayName: project.displayName,
1174
+ path: project.path,
1175
+ sessionCount: sessions.length,
1176
+ sessions: sortedSessions
1177
+ };
1178
+ });
982
1179
 
983
- export { listSessions as a, findLinkedTodos as b, clearSessions as c, deleteMessage as d, deleteSession as e, findLinkedAgents as f, getSessionsDir as g, getSessionFiles as h, renameSession as i, splitSession as j, listProjects as l, moveSession as m, previewCleanup as p, readSession as r, searchSessions as s };
984
- //# sourceMappingURL=index2-DY0iJkqO.js.map
1180
+ export { loadProjectTreeData as a, listSessions as b, clearSessions as c, deleteMessage as d, deleteSession as e, getSessionFiles as f, getSessionsDir as g, renameSession as h, splitSession as i, listProjects as l, moveSession as m, previewCleanup as p, readSession as r, searchSessions as s };
1181
+ //# sourceMappingURL=index2-C2sXUHlH.js.map