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