@claude-sessions/web 0.2.0 → 0.3.0

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.BzlUta3p.css +1 -0
  2. package/build/client/_app/immutable/assets/0.BzlUta3p.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.BzlUta3p.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{E9IRgQhr.js → B0nKMdd0.js} +1 -1
  5. package/build/client/_app/immutable/chunks/B0nKMdd0.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/B0nKMdd0.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{Dejy2au4.js → BK2z9s18.js} +1 -1
  8. package/build/client/_app/immutable/chunks/BK2z9s18.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BK2z9s18.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/BQGcGaM2.js +2 -0
  11. package/build/client/_app/immutable/chunks/BQGcGaM2.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/BQGcGaM2.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{od4vEq6Z.js → Cu54-bNJ.js} +1 -1
  14. package/build/client/_app/immutable/chunks/Cu54-bNJ.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/Cu54-bNJ.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{DtBUhGYl.js → DMvHBIcO.js} +1 -1
  17. package/build/client/_app/immutable/chunks/DMvHBIcO.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/DMvHBIcO.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/DOVwulI9.js +1 -0
  20. package/build/client/_app/immutable/chunks/DOVwulI9.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/DOVwulI9.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/DvQL1cTO.js +2 -0
  23. package/build/client/_app/immutable/chunks/DvQL1cTO.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/DvQL1cTO.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/QaA9x3bR.js +71 -0
  26. package/build/client/_app/immutable/chunks/QaA9x3bR.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/QaA9x3bR.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/{BxOe8SxU.js → elvo9mAG.js} +1 -1
  29. package/build/client/_app/immutable/chunks/elvo9mAG.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/{BxOe8SxU.js.gz → elvo9mAG.js.gz} +0 -0
  31. package/build/client/_app/immutable/entry/{app.Tdjn1QRv.js → app.BFVhpE8U.js} +2 -2
  32. package/build/client/_app/immutable/entry/app.BFVhpE8U.js.br +0 -0
  33. package/build/client/_app/immutable/entry/app.BFVhpE8U.js.gz +0 -0
  34. package/build/client/_app/immutable/entry/start.CLU2DYMK.js +1 -0
  35. package/build/client/_app/immutable/entry/start.CLU2DYMK.js.br +2 -0
  36. package/build/client/_app/immutable/entry/start.CLU2DYMK.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/0.DTNn6Nv5.js +1 -0
  38. package/build/client/_app/immutable/nodes/0.DTNn6Nv5.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/0.DTNn6Nv5.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{1._fFmd_Oa.js → 1.iBfsHklH.js} +1 -1
  41. package/build/client/_app/immutable/nodes/1.iBfsHklH.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/1.iBfsHklH.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/2.C1DsmfsD.js +5 -0
  44. package/build/client/_app/immutable/nodes/2.C1DsmfsD.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/2.C1DsmfsD.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/3.DKsummz1.js +5 -0
  47. package/build/client/_app/immutable/nodes/3.DKsummz1.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/3.DKsummz1.js.gz +0 -0
  49. package/build/client/_app/version.json +1 -1
  50. package/build/client/_app/version.json.br +0 -0
  51. package/build/client/_app/version.json.gz +0 -0
  52. package/build/server/chunks/0-DAj7n0cW.js +17 -0
  53. package/build/server/chunks/{0-DpTw60jY.js.map → 0-DAj7n0cW.js.map} +1 -1
  54. package/build/server/chunks/{1-BVtTx74E.js → 1-DsLKc6m0.js} +2 -2
  55. package/build/server/chunks/{1-BVtTx74E.js.map → 1-DsLKc6m0.js.map} +1 -1
  56. package/build/server/chunks/2-Cm8778AV.js +9 -0
  57. package/build/server/chunks/{2-BticKSpj.js.map → 2-Cm8778AV.js.map} +1 -1
  58. package/build/server/chunks/3-BoCwbD23.js +9 -0
  59. package/build/server/chunks/{3-CJCLLqah.js.map → 3-BoCwbD23.js.map} +1 -1
  60. package/build/server/chunks/{_layout.svelte-BnXBRxbo.js → _layout.svelte-BsIPSbGo.js} +3 -3
  61. package/build/server/chunks/_layout.svelte-BsIPSbGo.js.map +1 -0
  62. package/build/server/chunks/{_page.svelte-DtNoAi5E.js → _page.svelte-DA3WCVgK.js} +4 -3
  63. package/build/server/chunks/_page.svelte-DA3WCVgK.js.map +1 -0
  64. package/build/server/chunks/{_page.svelte-CvpJooH0.js → _page.svelte-DLpJmaZS.js} +34 -11
  65. package/build/server/chunks/_page.svelte-DLpJmaZS.js.map +1 -0
  66. package/build/server/chunks/_server.ts-4sDvSSRb.js +26 -0
  67. package/build/server/chunks/_server.ts-4sDvSSRb.js.map +1 -0
  68. package/build/server/chunks/{_server.ts-DbFLHBXs.js → _server.ts-84s16FVR.js} +2 -2
  69. package/build/server/chunks/{_server.ts-DbFLHBXs.js.map → _server.ts-84s16FVR.js.map} +1 -1
  70. package/build/server/chunks/{_server.ts-D5QHZHdW.js → _server.ts-BBpeToTn.js} +2 -2
  71. package/build/server/chunks/{_server.ts-D5QHZHdW.js.map → _server.ts-BBpeToTn.js.map} +1 -1
  72. package/build/server/chunks/{_server.ts--eFftXL8.js → _server.ts-BP147CdC.js} +2 -2
  73. package/build/server/chunks/{_server.ts--eFftXL8.js.map → _server.ts-BP147CdC.js.map} +1 -1
  74. package/build/server/chunks/{_server.ts-Q6Irw5Rq.js → _server.ts-BXxllvrb.js} +2 -2
  75. package/build/server/chunks/{_server.ts-Q6Irw5Rq.js.map → _server.ts-BXxllvrb.js.map} +1 -1
  76. package/build/server/chunks/_server.ts-Bk9kaXtX.js +27 -0
  77. package/build/server/chunks/_server.ts-Bk9kaXtX.js.map +1 -0
  78. package/build/server/chunks/{_server.ts-Ba06VInL.js → _server.ts-BlgHsHoW.js} +2 -2
  79. package/build/server/chunks/{_server.ts-Ba06VInL.js.map → _server.ts-BlgHsHoW.js.map} +1 -1
  80. package/build/server/chunks/{_server.ts-Dm4tHhgU.js → _server.ts-CVaR-qp4.js} +2 -2
  81. package/build/server/chunks/{_server.ts-Dm4tHhgU.js.map → _server.ts-CVaR-qp4.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-DpPxqRIt.js → _server.ts-DFX9t3Jv.js} +2 -2
  83. package/build/server/chunks/{_server.ts-DpPxqRIt.js.map → _server.ts-DFX9t3Jv.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-CItQm-c0.js → _server.ts-DcACijgR.js} +2 -2
  85. package/build/server/chunks/{_server.ts-CItQm-c0.js.map → _server.ts-DcACijgR.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-qvVoLJ7q.js → _server.ts-DoV0Z3Ol.js} +2 -2
  87. package/build/server/chunks/{_server.ts-qvVoLJ7q.js.map → _server.ts-DoV0Z3Ol.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-BeGbYAxp.js → _server.ts-fk5WvpYu.js} +2 -2
  89. package/build/server/chunks/{_server.ts-BeGbYAxp.js.map → _server.ts-fk5WvpYu.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-EZkpVixA.js → _server.ts-pGmvYVbI.js} +2 -2
  91. package/build/server/chunks/{_server.ts-EZkpVixA.js.map → _server.ts-pGmvYVbI.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-DOubCuv_.js → _server.ts-zLFwe5yM.js} +2 -2
  93. package/build/server/chunks/{_server.ts-DOubCuv_.js.map → _server.ts-zLFwe5yM.js.map} +1 -1
  94. package/build/server/chunks/{index2-DBHILTIZ.js → index2-wXxKDk_P.js} +60 -15
  95. package/build/server/chunks/index2-wXxKDk_P.js.map +1 -0
  96. package/build/server/index.js +1 -1
  97. package/build/server/index.js.map +1 -1
  98. package/build/server/manifest.js +31 -17
  99. package/build/server/manifest.js.map +1 -1
  100. package/package.json +2 -2
  101. package/build/client/_app/immutable/assets/0.C5R9o71K.css +0 -1
  102. package/build/client/_app/immutable/assets/0.C5R9o71K.css.br +0 -0
  103. package/build/client/_app/immutable/assets/0.C5R9o71K.css.gz +0 -0
  104. package/build/client/_app/immutable/chunks/AZ94Ipj9.js +0 -70
  105. package/build/client/_app/immutable/chunks/AZ94Ipj9.js.br +0 -0
  106. package/build/client/_app/immutable/chunks/AZ94Ipj9.js.gz +0 -0
  107. package/build/client/_app/immutable/chunks/B0Rw2QtT.js +0 -1
  108. package/build/client/_app/immutable/chunks/B0Rw2QtT.js.br +0 -0
  109. package/build/client/_app/immutable/chunks/B0Rw2QtT.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/BxOe8SxU.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/CTEGPjQ0.js +0 -2
  112. package/build/client/_app/immutable/chunks/CTEGPjQ0.js.br +0 -0
  113. package/build/client/_app/immutable/chunks/CTEGPjQ0.js.gz +0 -0
  114. package/build/client/_app/immutable/chunks/CkjvdHcs.js +0 -2
  115. package/build/client/_app/immutable/chunks/CkjvdHcs.js.br +0 -0
  116. package/build/client/_app/immutable/chunks/CkjvdHcs.js.gz +0 -0
  117. package/build/client/_app/immutable/chunks/Dejy2au4.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/Dejy2au4.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/DtBUhGYl.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/DtBUhGYl.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/E9IRgQhr.js.br +0 -0
  122. package/build/client/_app/immutable/chunks/E9IRgQhr.js.gz +0 -0
  123. package/build/client/_app/immutable/chunks/od4vEq6Z.js.br +0 -0
  124. package/build/client/_app/immutable/chunks/od4vEq6Z.js.gz +0 -0
  125. package/build/client/_app/immutable/entry/app.Tdjn1QRv.js.br +0 -0
  126. package/build/client/_app/immutable/entry/app.Tdjn1QRv.js.gz +0 -0
  127. package/build/client/_app/immutable/entry/start.Bg54jm38.js +0 -1
  128. package/build/client/_app/immutable/entry/start.Bg54jm38.js.br +0 -0
  129. package/build/client/_app/immutable/entry/start.Bg54jm38.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/0.C7I1GVwu.js +0 -1
  131. package/build/client/_app/immutable/nodes/0.C7I1GVwu.js.br +0 -0
  132. package/build/client/_app/immutable/nodes/0.C7I1GVwu.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/1._fFmd_Oa.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/1._fFmd_Oa.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/2.Bipq5Y0j.js +0 -5
  136. package/build/client/_app/immutable/nodes/2.Bipq5Y0j.js.br +0 -0
  137. package/build/client/_app/immutable/nodes/2.Bipq5Y0j.js.gz +0 -0
  138. package/build/client/_app/immutable/nodes/3.1hPDKy38.js +0 -5
  139. package/build/client/_app/immutable/nodes/3.1hPDKy38.js.br +0 -0
  140. package/build/client/_app/immutable/nodes/3.1hPDKy38.js.gz +0 -0
  141. package/build/server/chunks/0-DpTw60jY.js +0 -17
  142. package/build/server/chunks/2-BticKSpj.js +0 -9
  143. package/build/server/chunks/3-CJCLLqah.js +0 -9
  144. package/build/server/chunks/_layout.svelte-BnXBRxbo.js.map +0 -1
  145. package/build/server/chunks/_page.svelte-CvpJooH0.js.map +0 -1
  146. package/build/server/chunks/_page.svelte-DtNoAi5E.js.map +0 -1
  147. package/build/server/chunks/index2-DBHILTIZ.js.map +0 -1
@@ -76,18 +76,18 @@ function ProjectTree($$renderer, $$props) {
76
76
  const displayTitle = getDisplayTitle(session);
77
77
  const tooltipText = getTooltipText(session);
78
78
  const data = getSessionData(session.projectName, session.id);
79
- const isSummaryFallback = !data?.customTitle && data?.lastSummary;
79
+ const isSummaryFallback = !data?.customTitle && !data?.lastSummary;
80
80
  const isExpanded = expandedSessions.has(session.id);
81
81
  const hasSubItems = sessionInfo.summaries > 0 || sessionInfo.agents > 0 || sessionInfo.todos > 0;
82
82
  $$renderer2.push(`<li${attr_class(`relative border-t border-gh-border-subtle group ${stringify(isSelected ? "bg-gh-accent/20 border-l-3 border-l-gh-accent" : "")} ${stringify(isDragging ? "opacity-50" : "")}`)} draggable="true"><div class="flex items-center">`);
83
83
  if (hasSubItems) {
84
84
  $$renderer2.push("<!--[-->");
85
- $$renderer2.push(`<button class="flex-shrink-0 w-5 h-8 flex items-center justify-center bg-transparent border-none cursor-pointer text-gh-text-secondary hover:text-gh-text text-xs ml-1"${attr("title", isExpanded ? "Collapse" : "Expand")}>${escape_html(isExpanded ? "▼" : "▶")}</button>`);
85
+ $$renderer2.push(`<button class="flex-shrink-0 w-5 h-8 flex items-center justify-center bg-transparent border-none cursor-pointer text-gh-text-secondary text-xs ml-1 z-10 relative"${attr("title", isExpanded ? "Collapse" : "Expand")}>${escape_html(isExpanded ? "▼" : "▶")}</button>`);
86
86
  } else {
87
87
  $$renderer2.push("<!--[!-->");
88
88
  $$renderer2.push(`<span class="w-5 ml-1"></span>`);
89
89
  }
90
- $$renderer2.push(`<!--]--> <button class="flex-1 min-w-0 py-2 pr-2 bg-transparent border-none text-gh-text cursor-pointer text-left flex items-center gap-2 text-sm hover:bg-gh-border-subtle"${attr("title", tooltipText)}><span${attr_class(`flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap ${stringify(isSummaryFallback ? "italic text-gh-text-secondary" : "")}`)}>${escape_html(displayTitle)}</span> <span class="flex-shrink-0 flex items-center gap-2 text-xs text-gh-text-secondary"><span class="flex items-center gap-0.5"${attr("title", `${stringify(session.messageCount)} messages`)}><span>💬</span><span>${escape_html(session.messageCount)}</span></span> `);
90
+ $$renderer2.push(`<!--]--> <button class="flex-1 min-w-0 py-2 pr-2 bg-transparent border-none text-gh-text cursor-pointer text-left flex items-center gap-2 text-sm"${attr("title", tooltipText)}><span${attr_class(`flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap ${stringify(isSummaryFallback ? "italic text-gh-text-secondary" : "")}`)}>${escape_html(displayTitle)}</span> <span class="flex-shrink-0 flex items-center gap-2 text-xs text-gh-text-secondary"><span class="flex items-center gap-0.5"${attr("title", `${stringify(session.messageCount)} messages`)}><span>💬</span><span>${escape_html(session.messageCount)}</span></span> `);
91
91
  if (sessionInfo.agents > 0) {
92
92
  $$renderer2.push("<!--[-->");
93
93
  $$renderer2.push(`<span class="flex items-center gap-0.5"${attr("title", `${stringify(sessionInfo.agents)} agent(s)`)}><span>🤖</span><span>${escape_html(sessionInfo.agents)}</span></span>`);
@@ -101,7 +101,15 @@ function ProjectTree($$renderer, $$props) {
101
101
  } else {
102
102
  $$renderer2.push("<!--[!-->");
103
103
  }
104
- $$renderer2.push(`<!--]--></span></button> <div${attr_class(`absolute right-0 top-2 flex gap-0.5 pr-2 opacity-0 group-hover:opacity-100 transition-opacity pl-4 ${stringify(isSelected ? "bg-gradient-to-l from-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] from-80% to-transparent" : "bg-gradient-to-l from-gh-bg from-80% to-transparent")}`)}><button class="bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-border text-xs" title="Rename">✏️</button> <button class="bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-red/20 text-xs" title="Delete">🗑️</button></div></div> `);
104
+ $$renderer2.push(`<!--]--></span></button> <div${attr_class(`absolute left-0 right-0 top-0 h-8 flex items-center opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none ${stringify(isSelected ? "bg-gradient-to-r from-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] via-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] to-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))]" : "bg-gradient-to-r from-gh-bg via-gh-bg to-gh-bg")}`)}><span class="flex-1 min-w-0 pl-7 pr-2 text-xs text-gh-text-secondary italic overflow-hidden text-ellipsis whitespace-nowrap">`);
105
+ if (data?.lastSummary) {
106
+ $$renderer2.push("<!--[-->");
107
+ $$renderer2.push(`${escape_html(data.lastSummary.length > 50 ? data.lastSummary.slice(0, 47) + "..." : data.lastSummary)}`);
108
+ } else {
109
+ $$renderer2.push("<!--[!-->");
110
+ $$renderer2.push(`${escape_html(displayTitle)}`);
111
+ }
112
+ $$renderer2.push(`<!--]--></span> <div class="flex-shrink-0 flex gap-0.5 pr-2 pointer-events-auto"><button class="bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-border text-xs" title="Rename">✏️</button> <button class="bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-red/20 text-xs" title="Delete">🗑️</button></div></div></div> `);
105
113
  if (isExpanded && hasSubItems) {
106
114
  $$renderer2.push("<!--[-->");
107
115
  $$renderer2.push(`<ul class="bg-gh-bg-secondary/50 border-t border-gh-border-subtle text-xs">`);
@@ -174,12 +182,16 @@ function ProjectTree($$renderer, $$props) {
174
182
  $$renderer2.push(`<!--]--></ul></aside>`);
175
183
  });
176
184
  }
177
- function MessageList($$renderer, $$props) {
185
+ function SessionViewer($$renderer, $$props) {
178
186
  $$renderer.component(($$renderer2) => {
179
187
  let {
180
188
  messages,
181
- showHeader = true
189
+ showHeader = true,
190
+ enableScroll = true,
191
+ fullWidth = false
182
192
  } = $$props;
193
+ let pendingDeletes = [];
194
+ let deleteCountdown = 0;
183
195
  messages.findIndex((m) => m.type === "user" || m.type === "assistant" || m.type === "human");
184
196
  (() => {
185
197
  for (let i = messages.length - 1; i >= 0; i--) {
@@ -189,10 +201,10 @@ function MessageList($$renderer, $$props) {
189
201
  }
190
202
  return -1;
191
203
  })();
192
- $$renderer2.push(`<section class="bg-gh-bg-secondary border border-gh-border rounded-lg overflow-hidden flex flex-col">`);
204
+ $$renderer2.push(`<section${attr_class(`bg-gh-bg-secondary overflow-hidden flex flex-col ${stringify(fullWidth ? "" : "border border-gh-border rounded-lg")}`)}>`);
193
205
  if (showHeader) {
194
206
  $$renderer2.push("<!--[-->");
195
- $$renderer2.push(`<div class="p-4 border-b border-gh-border bg-gh-bg flex justify-between items-start"><div class="flex-1 min-w-0">`);
207
+ $$renderer2.push(`<div class="p-4 border-b border-gh-border bg-gh-bg flex flex-wrap justify-between items-start gap-2"><div class="flex-1 min-w-[200px]">`);
196
208
  {
197
209
  $$renderer2.push("<!--[!-->");
198
210
  $$renderer2.push(`<h2 class="text-base font-semibold">Messages</h2>`);
@@ -208,7 +220,18 @@ function MessageList($$renderer, $$props) {
208
220
  $$renderer2.push(`<!--]--> `);
209
221
  {
210
222
  $$renderer2.push("<!--[!-->");
211
- $$renderer2.push(`<p class="p-8 text-center text-gh-text-secondary">Select a session</p>`);
223
+ }
224
+ $$renderer2.push(`<!--]--> <div${attr_class(`flex-1 ${stringify(enableScroll ? "overflow-y-auto" : "")}`)}>`);
225
+ {
226
+ $$renderer2.push("<!--[-->");
227
+ $$renderer2.push(`<div class="flex items-center justify-center h-full text-gh-text-secondary">Select a session to view</div>`);
228
+ }
229
+ $$renderer2.push(`<!--]--></div> `);
230
+ if (pendingDeletes.length > 0) {
231
+ $$renderer2.push("<!--[-->");
232
+ $$renderer2.push(`<div class="fixed bottom-4 left-1/2 -translate-x-1/2 bg-neutral-500/20 border border-neutral-600 rounded-lg shadow-2xl px-4 py-3 flex items-center gap-4 z-50 backdrop-blur-sm"><span class="text-sm text-white">${escape_html(pendingDeletes.length === 1 ? "Message deleted" : `${pendingDeletes.length} messages deleted`)}</span> <span class="text-xs text-gh-text-secondary tabular-nums">${escape_html(deleteCountdown)}s</span> <button class="px-3 py-1 text-sm font-medium text-gh-accent hover:bg-gh-border-subtle rounded transition-colors">Undo</button></div>`);
233
+ } else {
234
+ $$renderer2.push("<!--[!-->");
212
235
  }
213
236
  $$renderer2.push(`<!--]--></section>`);
214
237
  });
@@ -232,7 +255,7 @@ function _page($$renderer, $$props) {
232
255
  loadingProject
233
256
  });
234
257
  $$renderer2.push(`<!----> `);
235
- MessageList($$renderer2, {
258
+ SessionViewer($$renderer2, {
236
259
  messages
237
260
  });
238
261
  $$renderer2.push(`<!----></div> `);
@@ -248,4 +271,4 @@ function _page($$renderer, $$props) {
248
271
  }
249
272
 
250
273
  export { _page as default };
251
- //# sourceMappingURL=_page.svelte-CvpJooH0.js.map
274
+ //# sourceMappingURL=_page.svelte-DLpJmaZS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-DLpJmaZS.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { F as ensure_array_like, y as attr_class, x as attr, z as stringify } from \"../../chunks/index.js\";\nimport { f as formatProjectName } from \"../../chunks/format.js\";\nimport { e as escape_html } from \"../../chunks/context.js\";\nfunction ProjectTree($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n projects,\n projectSessions,\n projectSessionData,\n expandedProjects,\n selectedSession,\n loadingProject\n } = $$props;\n const getSessionData = (projectName, sessionId) => {\n return projectSessionData.get(projectName)?.get(sessionId);\n };\n const getDisplayTitle = (session) => {\n const data = getSessionData(session.projectName, session.id);\n if (data?.customTitle) return data.customTitle;\n if (data?.lastSummary) {\n const summary = data.lastSummary;\n return summary.length > 60 ? summary.slice(0, 57) + \"...\" : summary;\n }\n if (session.title && session.title !== \"Untitled\") return session.title;\n return \"Untitled\";\n };\n const getTooltipText = (session) => {\n const data = getSessionData(session.projectName, session.id);\n if (data?.customTitle && data?.lastSummary) {\n return data.lastSummary;\n }\n if (data?.lastSummary && session.title && session.title !== \"Untitled\") {\n return session.title;\n }\n if (data?.lastSummary) {\n return data.lastSummary;\n }\n return session.title ?? \"No summary available\";\n };\n const getSessionInfo = (session) => {\n const data = getSessionData(session.projectName, session.id);\n const todoCount = data?.todos ? data.todos.sessionTodos.length + data.todos.agentTodos.reduce((acc, at) => acc + at.todos.length, 0) : 0;\n return {\n agents: data?.agents.length ?? 0,\n todos: todoCount,\n summaries: data?.summaries.length ?? 0\n };\n };\n const nonEmptyProjects = projects.filter((p) => p.sessionCount > 0);\n let expandedSessions = /* @__PURE__ */ new Set();\n let draggedSession = null;\n let dropTargetProject = null;\n $$renderer2.push(`<aside class=\"bg-gh-bg-secondary border border-gh-border rounded-lg overflow-hidden flex flex-col\"><h2 class=\"p-4 text-base font-semibold border-b border-gh-border bg-gh-bg\">Projects (${escape_html(nonEmptyProjects.length)})</h2> <ul class=\"overflow-y-auto flex-1\"><!--[-->`);\n const each_array = ensure_array_like(nonEmptyProjects);\n for (let $$index_4 = 0, $$length = each_array.length; $$index_4 < $$length; $$index_4++) {\n let project = each_array[$$index_4];\n const isDropTarget = dropTargetProject === project.name;\n $$renderer2.push(`<li class=\"border-b border-gh-border-subtle\"><button${attr_class(`w-full py-3 px-4 bg-transparent border-none text-gh-text cursor-pointer text-left flex items-center gap-2 font-medium hover:bg-gh-border-subtle ${stringify(expandedProjects.has(project.name) ? \"bg-gh-accent/10\" : \"\")} ${stringify(isDropTarget ? \"bg-gh-green/20 ring-2 ring-gh-green ring-inset\" : \"\")}`)}><span class=\"text-xs w-3 text-gh-text-secondary\">${escape_html(expandedProjects.has(project.name) ? \"▼\" : \"▶\")}</span> <span class=\"flex-1 overflow-hidden text-ellipsis whitespace-nowrap\"${attr(\"title\", project.displayName)}>${escape_html(formatProjectName(project.displayName))}</span> <span class=\"bg-gh-border px-2 py-0.5 rounded-full text-xs font-normal\">${escape_html(project.sessionCount)}</span></button> `);\n if (expandedProjects.has(project.name)) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<ul class=\"bg-gh-bg\">`);\n if (loadingProject === project.name) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<li class=\"py-2 px-8 text-gh-text-secondary text-sm\">Loading...</li>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_1 = ensure_array_like(projectSessions.get(project.name) ?? []);\n for (let $$index_3 = 0, $$length2 = each_array_1.length; $$index_3 < $$length2; $$index_3++) {\n let session = each_array_1[$$index_3];\n const isSelected = selectedSession?.id === session.id;\n const isDragging = draggedSession?.id === session.id;\n const sessionInfo = getSessionInfo(session);\n const displayTitle = getDisplayTitle(session);\n const tooltipText = getTooltipText(session);\n const data = getSessionData(session.projectName, session.id);\n const isSummaryFallback = !data?.customTitle && !data?.lastSummary;\n const isExpanded = expandedSessions.has(session.id);\n const hasSubItems = sessionInfo.summaries > 0 || sessionInfo.agents > 0 || sessionInfo.todos > 0;\n $$renderer2.push(`<li${attr_class(`relative border-t border-gh-border-subtle group ${stringify(isSelected ? \"bg-gh-accent/20 border-l-3 border-l-gh-accent\" : \"\")} ${stringify(isDragging ? \"opacity-50\" : \"\")}`)} draggable=\"true\"><div class=\"flex items-center\">`);\n if (hasSubItems) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<button class=\"flex-shrink-0 w-5 h-8 flex items-center justify-center bg-transparent border-none cursor-pointer text-gh-text-secondary text-xs ml-1 z-10 relative\"${attr(\"title\", isExpanded ? \"Collapse\" : \"Expand\")}>${escape_html(isExpanded ? \"▼\" : \"▶\")}</button>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<span class=\"w-5 ml-1\"></span>`);\n }\n $$renderer2.push(`<!--]--> <button class=\"flex-1 min-w-0 py-2 pr-2 bg-transparent border-none text-gh-text cursor-pointer text-left flex items-center gap-2 text-sm\"${attr(\"title\", tooltipText)}><span${attr_class(`flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap ${stringify(isSummaryFallback ? \"italic text-gh-text-secondary\" : \"\")}`)}>${escape_html(displayTitle)}</span> <span class=\"flex-shrink-0 flex items-center gap-2 text-xs text-gh-text-secondary\"><span class=\"flex items-center gap-0.5\"${attr(\"title\", `${stringify(session.messageCount)} messages`)}><span>💬</span><span>${escape_html(session.messageCount)}</span></span> `);\n if (sessionInfo.agents > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<span class=\"flex items-center gap-0.5\"${attr(\"title\", `${stringify(sessionInfo.agents)} agent(s)`)}><span>🤖</span><span>${escape_html(sessionInfo.agents)}</span></span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (sessionInfo.todos > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<span class=\"flex items-center gap-0.5\"${attr(\"title\", `${stringify(sessionInfo.todos)} todo(s)`)}><span>📋</span><span>${escape_html(sessionInfo.todos)}</span></span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></span></button> <div${attr_class(`absolute left-0 right-0 top-0 h-8 flex items-center opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none ${stringify(isSelected ? \"bg-gradient-to-r from-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] via-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))] to-[color-mix(in_srgb,var(--color-gh-accent)_20%,var(--color-gh-bg))]\" : \"bg-gradient-to-r from-gh-bg via-gh-bg to-gh-bg\")}`)}><span class=\"flex-1 min-w-0 pl-7 pr-2 text-xs text-gh-text-secondary italic overflow-hidden text-ellipsis whitespace-nowrap\">`);\n if (data?.lastSummary) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`${escape_html(data.lastSummary.length > 50 ? data.lastSummary.slice(0, 47) + \"...\" : data.lastSummary)}`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`${escape_html(displayTitle)}`);\n }\n $$renderer2.push(`<!--]--></span> <div class=\"flex-shrink-0 flex gap-0.5 pr-2 pointer-events-auto\"><button class=\"bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-border text-xs\" title=\"Rename\">✏️</button> <button class=\"bg-transparent border-none cursor-pointer p-1 rounded hover:bg-gh-red/20 text-xs\" title=\"Delete\">🗑️</button></div></div></div> `);\n if (isExpanded && hasSubItems) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<ul class=\"bg-gh-bg-secondary/50 border-t border-gh-border-subtle text-xs\">`);\n if (data?.summaries && data.summaries.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_2 = ensure_array_like(data.summaries);\n for (let idx = 0, $$length3 = each_array_2.length; idx < $$length3; idx++) {\n let summary = each_array_2[idx];\n $$renderer2.push(`<li class=\"py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2\"${attr(\"title\", summary.summary)}><span class=\"flex-shrink-0\">📝</span> <span class=\"overflow-hidden text-ellipsis line-clamp-2\">`);\n if (idx === 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<span class=\"text-gh-accent font-medium\">[Last]</span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> ${escape_html(summary.summary.length > 100 ? summary.summary.slice(0, 97) + \"...\" : summary.summary)}</span></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data?.todos?.sessionTodos && data.todos.sessionTodos.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<li class=\"py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2\"><span class=\"flex-shrink-0\">📋</span> <span>Session Todos (${escape_html(data.todos.sessionTodos.length)})</span></li>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data?.todos?.agentTodos) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_3 = ensure_array_like(data.todos.agentTodos);\n for (let $$index_1 = 0, $$length3 = each_array_3.length; $$index_1 < $$length3; $$index_1++) {\n let agentTodo = each_array_3[$$index_1];\n $$renderer2.push(`<li class=\"py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2\"><span class=\"flex-shrink-0\">📋</span> <span>Agent Todos (${escape_html(agentTodo.todos.length)})</span></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (data?.agents && data.agents.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array_4 = ensure_array_like(data.agents);\n for (let $$index_2 = 0, $$length3 = each_array_4.length; $$index_2 < $$length3; $$index_2++) {\n let agent = each_array_4[$$index_2];\n $$renderer2.push(`<li class=\"py-1.5 px-4 pl-8 text-gh-text-secondary hover:bg-gh-border-subtle/50 flex items-start gap-2\"${attr(\"title\", agent.name ?? agent.id)}><span class=\"flex-shrink-0\">🤖</span> <span class=\"overflow-hidden text-ellipsis whitespace-nowrap\">${escape_html(agent.name ?? agent.id.slice(0, 12) + \"...\")} (${escape_html(agent.messageCount)} msgs)</span></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></li>`);\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></li>`);\n }\n $$renderer2.push(`<!--]--></ul></aside>`);\n });\n}\nfunction SessionViewer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n messages,\n showHeader = true,\n enableScroll = true,\n fullWidth = false\n } = $$props;\n let pendingDeletes = [];\n let deleteCountdown = 0;\n messages.findIndex((m) => m.type === \"user\" || m.type === \"assistant\" || m.type === \"human\");\n (() => {\n for (let i = messages.length - 1; i >= 0; i--) {\n if (messages[i].isCompactSummary) {\n return i;\n }\n }\n return -1;\n })();\n $$renderer2.push(`<section${attr_class(`bg-gh-bg-secondary overflow-hidden flex flex-col ${stringify(fullWidth ? \"\" : \"border border-gh-border rounded-lg\")}`)}>`);\n if (showHeader) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"p-4 border-b border-gh-border bg-gh-bg flex flex-wrap justify-between items-start gap-2\"><div class=\"flex-1 min-w-[200px]\">`);\n {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<h2 class=\"text-base font-semibold\">Messages</h2>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <div${attr_class(`flex-1 ${stringify(enableScroll ? \"overflow-y-auto\" : \"\")}`)}>`);\n {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"flex items-center justify-center h-full text-gh-text-secondary\">Select a session to view</div>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n if (pendingDeletes.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"fixed bottom-4 left-1/2 -translate-x-1/2 bg-neutral-500/20 border border-neutral-600 rounded-lg shadow-2xl px-4 py-3 flex items-center gap-4 z-50 backdrop-blur-sm\"><span class=\"text-sm text-white\">${escape_html(pendingDeletes.length === 1 ? \"Message deleted\" : `${pendingDeletes.length} messages deleted`)}</span> <span class=\"text-xs text-gh-text-secondary tabular-nums\">${escape_html(deleteCountdown)}s</span> <button class=\"px-3 py-1 text-sm font-medium text-gh-accent hover:bg-gh-border-subtle rounded transition-colors\">Undo</button></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></section>`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let projects = [];\n let projectSessions = /* @__PURE__ */ new Map();\n let projectSessionData = /* @__PURE__ */ new Map();\n let expandedProjects = /* @__PURE__ */ new Set();\n let selectedSession = null;\n let messages = [];\n let loadingProject = null;\n $$renderer2.push(`<div class=\"grid grid-cols-[350px_1fr] gap-4 h-[calc(100vh-120px)]\">`);\n ProjectTree($$renderer2, {\n projects,\n projectSessions,\n projectSessionData,\n expandedProjects,\n selectedSession,\n loadingProject\n });\n $$renderer2.push(`<!----> `);\n SessionViewer($$renderer2, {\n messages\n });\n $$renderer2.push(`<!----></div> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;AAGA,SAAS,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI;AACR,MAAM,QAAQ;AACd,MAAM,eAAe;AACrB,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;AACtB,MAAM,eAAe;AACrB,MAAM;AACN,KAAK,GAAG,OAAO;AACf,IAAI,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,SAAS,KAAK;AACvD,MAAM,OAAO,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;AAChE,IAAI,CAAC;AACL,IAAI,MAAM,eAAe,GAAG,CAAC,OAAO,KAAK;AACzC,MAAM,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;AAClE,MAAM,IAAI,IAAI,EAAE,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW;AACpD,MAAM,IAAI,IAAI,EAAE,WAAW,EAAE;AAC7B,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW;AACxC,QAAQ,OAAO,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO;AAC3E,MAAM;AACN,MAAM,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,KAAK;AAC7E,MAAM,OAAO,UAAU;AACvB,IAAI,CAAC;AACL,IAAI,MAAM,cAAc,GAAG,CAAC,OAAO,KAAK;AACxC,MAAM,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;AAClE,MAAM,IAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,WAAW,EAAE;AAClD,QAAQ,OAAO,IAAI,CAAC,WAAW;AAC/B,MAAM;AACN,MAAM,IAAI,IAAI,EAAE,WAAW,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE;AAC9E,QAAQ,OAAO,OAAO,CAAC,KAAK;AAC5B,MAAM;AACN,MAAM,IAAI,IAAI,EAAE,WAAW,EAAE;AAC7B,QAAQ,OAAO,IAAI,CAAC,WAAW;AAC/B,MAAM;AACN,MAAM,OAAO,OAAO,CAAC,KAAK,IAAI,sBAAsB;AACpD,IAAI,CAAC;AACL,IAAI,MAAM,cAAc,GAAG,CAAC,OAAO,KAAK;AACxC,MAAM,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;AAClE,MAAM,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC;AAC9I,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;AACxC,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,IAAI;AAC7C,OAAO;AACP,IAAI,CAAC;AACL,IAAI,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;AACvE,IAAI,IAAI,gBAAgB,mBAAmB,IAAI,GAAG,EAAE;AACpD,IAAI,IAAI,cAAc,GAAG,IAAI;AAC7B,IAAI,IAAI,iBAAiB,GAAG,IAAI;AAChC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,wLAAwL,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,kDAAkD,CAAC,CAAC;AACzS,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;AAC1D,IAAI,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC7F,MAAM,IAAI,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,iBAAiB,KAAK,OAAO,CAAC,IAAI;AAC7D,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,oDAAoD,EAAE,UAAU,CAAC,CAAC,gJAAgJ,EAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,gDAAgD,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kDAAkD,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,4EAA4E,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gFAAgF,EAAE,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACxyB,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC9C,QAAQ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACpC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;AACjD,QAAQ,IAAI,cAAc,KAAK,OAAO,CAAC,IAAI,EAAE;AAC7C,UAAU,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACtC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,oEAAoE,CAAC,CAAC;AAClG,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,UAAU,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACzF,UAAU,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE;AACvG,YAAY,IAAI,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC;AACjD,YAAY,MAAM,UAAU,GAAG,eAAe,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE;AACjE,YAAY,MAAM,UAAU,GAAG,cAAc,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE;AAChE,YAAY,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;AACvD,YAAY,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC;AACzD,YAAY,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;AACvD,YAAY,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;AACxE,YAAY,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE,WAAW;AAC9E,YAAY,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/D,YAAY,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC;AAC5G,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,gDAAgD,EAAE,SAAS,CAAC,UAAU,GAAG,+CAA+C,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC;AACjR,YAAY,IAAI,WAAW,EAAE;AAC7B,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,kKAAkK,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AACxS,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,8BAA8B,CAAC,CAAC;AAChE,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,kJAAkJ,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,+DAA+D,EAAE,SAAS,CAAC,iBAAiB,GAAG,+BAA+B,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,kIAAkI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,EAAE,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,CAAC;AAClpB,YAAY,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACxC,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,uCAAuC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;AAC5M,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACzC,YAAY,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE;AACvC,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,uCAAuC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;AACzM,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC,6HAA6H,EAAE,SAAS,CAAC,UAAU,GAAG,uOAAuO,GAAG,gDAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,8HAA8H,CAAC,CAAC;AAC9nB,YAAY,IAAI,IAAI,EAAE,WAAW,EAAE;AACnC,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACzI,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC9D,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,4VAA4V,CAAC,CAAC;AAC5X,YAAY,IAAI,UAAU,IAAI,WAAW,EAAE;AAC3C,cAAc,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,2EAA2E,CAAC,CAAC;AAC7G,cAAc,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAChE,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,gBAAgB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;AACtE,gBAAgB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE;AAC3F,kBAAkB,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC;AACjD,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,uGAAuG,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,gGAAgG,CAAC,CAAC;AAC9Q,kBAAkB,IAAI,GAAG,KAAK,CAAC,EAAE;AACjC,oBAAoB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,sDAAsD,CAAC,CAAC;AAC9F,kBAAkB,CAAC,MAAM;AACzB,oBAAoB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,kBAAkB;AAClB,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;AAChK,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,cAAc,CAAC,MAAM;AACrB,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,cAAc;AACd,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,cAAc,IAAI,IAAI,EAAE,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACnF,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,mKAAmK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;AAClQ,cAAc,CAAC,MAAM;AACrB,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,cAAc;AACd,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,cAAc,IAAI,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;AAC3C,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,gBAAgB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;AAC7E,gBAAgB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE;AAC7G,kBAAkB,IAAI,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;AACzD,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,iKAAiK,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;AAC1P,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,cAAc,CAAC,MAAM;AACrB,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,cAAc;AACd,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,cAAc,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1D,gBAAgB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,gBAAgB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;AACnE,gBAAgB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE;AAC7G,kBAAkB,IAAI,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;AACrD,kBAAkB,WAAW,CAAC,IAAI,CAAC,CAAC,uGAAuG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,qGAAqG,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC3Y,gBAAgB;AAChB,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5C,cAAc,CAAC,MAAM;AACrB,gBAAgB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,cAAc;AACd,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC/C,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC7C,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACvC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAC7C,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE;AAC5C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI;AACR,MAAM,QAAQ;AACd,MAAM,UAAU,GAAG,IAAI;AACvB,MAAM,YAAY,GAAG,IAAI;AACzB,MAAM,SAAS,GAAG;AAClB,KAAK,GAAG,OAAO;AACf,IAAI,IAAI,cAAc,GAAG,EAAE;AAC3B,IAAI,IAAI,eAAe,GAAG,CAAC;AAC3B,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAChG,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE;AAC1C,UAAU,OAAO,CAAC;AAClB,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,EAAE;AACf,IAAI,CAAC,GAAG;AACR,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,iDAAiD,EAAE,SAAS,CAAC,SAAS,GAAG,EAAE,GAAG,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtK,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,uIAAuI,CAAC,CAAC;AACjK,MAAM;AACN,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,iDAAiD,CAAC,CAAC;AAC7E,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACzC,MAAM;AACN,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACxC,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACjC,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,GAAG,iBAAiB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,0GAA0G,CAAC,CAAC;AACpI,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACvC,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,iNAAiN,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,GAAG,iBAAiB,GAAG,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,6IAA6I,CAAC,CAAC;AACtkB,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC1C,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,QAAQ,GAAG,EAAE;AACrB,IAAI,IAAI,eAAe,mBAAmB,IAAI,GAAG,EAAE;AACnD,IAAI,IAAI,kBAAkB,mBAAmB,IAAI,GAAG,EAAE;AACtD,IAAI,IAAI,gBAAgB,mBAAmB,IAAI,GAAG,EAAE;AACpD,IAAI,IAAI,eAAe,GAAG,IAAI;AAC9B,IAAI,IAAI,QAAQ,GAAG,EAAE;AACrB,IAAI,IAAI,cAAc,GAAG,IAAI;AAC7B,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,oEAAoE,CAAC,CAAC;AAC5F,IAAI,WAAW,CAAC,WAAW,EAAE;AAC7B,MAAM,QAAQ;AACd,MAAM,eAAe;AACrB,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;AACtB,MAAM,eAAe;AACrB,MAAM;AACN,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,IAAI,aAAa,CAAC,WAAW,EAAE;AAC/B,MAAM;AACN,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACjC,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,EAAE,CAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,26 @@
1
+ import { e as error, j as json } from './index-CoD1IJuy.js';
2
+ import { Effect } from 'effect';
3
+ import { k as loadSessionTreeData } from './index2-wXxKDk_P.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
+ const sessionId = url.searchParams.get("id");
12
+ if (!projectName) {
13
+ throw error(400, "project parameter required");
14
+ }
15
+ if (!sessionId) {
16
+ throw error(400, "id parameter required");
17
+ }
18
+ const result = await Effect.runPromise(loadSessionTreeData(projectName, sessionId));
19
+ if (!result) {
20
+ throw error(404, "Session not found");
21
+ }
22
+ return json(result);
23
+ };
24
+
25
+ export { GET };
26
+ //# sourceMappingURL=_server.ts-4sDvSSRb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-4sDvSSRb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/tree-data/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { k as loadSessionTreeData } 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) {\n throw error(400, \"project parameter required\");\n }\n if (!sessionId) {\n throw error(400, \"id parameter required\");\n }\n const result = await Effect.runPromise(loadSessionTreeData(projectName, sessionId));\n if (!result) {\n throw error(404, \"Session not found\");\n }\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,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC;AAC7C,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACrF,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AACzC,EAAE;AACF,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-DBHILTIZ.js';
3
+ import { p as previewCleanup, c as clearSessions } from './index2-wXxKDk_P.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-DbFLHBXs.js.map
30
+ //# sourceMappingURL=_server.ts-84s16FVR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DbFLHBXs.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-84s16FVR.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,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-DBHILTIZ.js';
3
+ import { m as moveSession } from './index2-wXxKDk_P.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-D5QHZHdW.js.map
27
+ //# sourceMappingURL=_server.ts-BBpeToTn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D5QHZHdW.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-BBpeToTn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/session/move/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { m as moveSession } from \"../../../../../chunks/index2.js\";\nconst POST = async ({ request }) => {\n const body = await request.json();\n if (!body.sourceProject || !body.sessionId || !body.targetProject) {\n return json({ success: false, error: \"Missing required parameters\" }, { status: 400 });\n }\n if (body.sourceProject === body.targetProject) {\n return json(\n { success: false, error: \"Source and target projects are the same\" },\n { status: 400 }\n );\n }\n const result = await Effect.runPromise(\n moveSession(body.sourceProject, body.sessionId, body.targetProject)\n );\n return json(result);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACrE,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC1F,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,IAAI;AACf,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE;AAC1E,MAAM,EAAE,MAAM,EAAE,GAAG;AACnB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU;AACxC,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa;AACtE,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -1,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 listSessions } from './index2-DBHILTIZ.js';
3
+ import { e as listSessions } from './index2-wXxKDk_P.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--eFftXL8.js.map
19
+ //# sourceMappingURL=_server.ts-BP147CdC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts--eFftXL8.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
+ {"version":3,"file":"_server.ts-BP147CdC.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,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 renameSession } from './index2-DBHILTIZ.js';
3
+ import { i as renameSession } from './index2-wXxKDk_P.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-Q6Irw5Rq.js.map
21
+ //# sourceMappingURL=_server.ts-BXxllvrb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Q6Irw5Rq.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
+ {"version":3,"file":"_server.ts-BXxllvrb.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;;;;"}
@@ -0,0 +1,27 @@
1
+ import { e as error, j as json } from './index-CoD1IJuy.js';
2
+ import { Effect } from 'effect';
3
+ import { l as loadAgentMessages } from './index2-wXxKDk_P.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
+ const sessionId = url.searchParams.get("session");
12
+ const agentId = url.searchParams.get("agent");
13
+ if (!projectName) {
14
+ throw error(400, "project parameter required");
15
+ }
16
+ if (!sessionId) {
17
+ throw error(400, "session parameter required");
18
+ }
19
+ if (!agentId) {
20
+ throw error(400, "agent parameter required");
21
+ }
22
+ const result = await Effect.runPromise(loadAgentMessages(projectName, sessionId, agentId));
23
+ return json(result);
24
+ };
25
+
26
+ export { GET };
27
+ //# sourceMappingURL=_server.ts-Bk9kaXtX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-Bk9kaXtX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/agent/messages/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { l as loadAgentMessages } from \"../../../../../chunks/index2.js\";\nconst GET = async ({ url }) => {\n const projectName = url.searchParams.get(\"project\");\n const sessionId = url.searchParams.get(\"session\");\n const agentId = url.searchParams.get(\"agent\");\n if (!projectName) {\n throw error(400, \"project parameter required\");\n }\n if (!sessionId) {\n throw error(400, \"session parameter required\");\n }\n if (!agentId) {\n throw error(400, \"agent parameter required\");\n }\n const result = await Effect.runPromise(loadAgentMessages(projectName, sessionId, agentId));\n return json(result);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC/B,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACnD,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC;AAClD,EAAE;AACF,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,0BAA0B,CAAC;AAChD,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5F,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB;;;;"}
@@ -1,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.2.0" });
4
+ return json({ version: "0.3.0" });
5
5
  };
6
6
 
7
7
  export { GET };
8
- //# sourceMappingURL=_server.ts-Ba06VInL.js.map
8
+ //# sourceMappingURL=_server.ts-BlgHsHoW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Ba06VInL.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.0\" });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;AACK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACnC;;;;"}
1
+ {"version":3,"file":"_server.ts-BlgHsHoW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/version/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nconst GET = async () => {\n return json({ version: \"0.3.0\" });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;AACK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACnC;;;;"}
@@ -1,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 getSessionFiles } from './index2-DBHILTIZ.js';
3
+ import { h as getSessionFiles } from './index2-wXxKDk_P.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-Dm4tHhgU.js.map
20
+ //# sourceMappingURL=_server.ts-CVaR-qp4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Dm4tHhgU.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
+ {"version":3,"file":"_server.ts-CVaR-qp4.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,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 loadProjectTreeData } from './index2-DBHILTIZ.js';
3
+ import { b as loadProjectTreeData } from './index2-wXxKDk_P.js';
4
4
  import 'fs';
5
5
  import 'os';
6
6
  import 'path';
@@ -19,4 +19,4 @@ const GET = async ({ url }) => {
19
19
  };
20
20
 
21
21
  export { GET };
22
- //# sourceMappingURL=_server.ts-DpPxqRIt.js.map
22
+ //# sourceMappingURL=_server.ts-DFX9t3Jv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DpPxqRIt.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
+ {"version":3,"file":"_server.ts-DFX9t3Jv.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 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 { d as deleteMessage, g as getSessionsDir } from './index2-DBHILTIZ.js';
3
+ import { d as deleteMessage, g as getSessionsDir } from './index2-wXxKDk_P.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-CItQm-c0.js.map
58
+ //# sourceMappingURL=_server.ts-DcACijgR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CItQm-c0.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-DcACijgR.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 { e as error, j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { i as splitSession } from './index2-DBHILTIZ.js';
3
+ import { j as splitSession } from './index2-wXxKDk_P.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-qvVoLJ7q.js.map
20
+ //# sourceMappingURL=_server.ts-DoV0Z3Ol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-qvVoLJ7q.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
+ {"version":3,"file":"_server.ts-DoV0Z3Ol.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,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-DBHILTIZ.js';
3
+ import { s as searchSessions } from './index2-wXxKDk_P.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-BeGbYAxp.js.map
23
+ //# sourceMappingURL=_server.ts-fk5WvpYu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BeGbYAxp.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-fk5WvpYu.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,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-DBHILTIZ.js';
3
+ import { f as deleteSession, r as readSession } from './index2-wXxKDk_P.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-EZkpVixA.js.map
29
+ //# sourceMappingURL=_server.ts-pGmvYVbI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-EZkpVixA.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-pGmvYVbI.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, f 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 { j as json } from './index-CoD1IJuy.js';
2
2
  import { Effect } from 'effect';
3
- import { l as listProjects } from './index2-DBHILTIZ.js';
3
+ import { a as listProjects } from './index2-wXxKDk_P.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-DOubCuv_.js.map
15
+ //# sourceMappingURL=_server.ts-zLFwe5yM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DOubCuv_.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-zLFwe5yM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { a as listProjects } from \"../../../../chunks/index2.js\";\nconst GET = async () => {\n const projects = await Effect.runPromise(listProjects);\n return json(projects);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;AAGK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACxD,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;;;;"}