@claude-sessions/web 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/build/client/_app/immutable/assets/0.CqfWlzYs.css.gz +0 -0
  2. package/build/client/_app/immutable/chunks/{BeK_lSf_.js → 7HPHPnYA.js} +1 -1
  3. package/build/client/_app/immutable/chunks/7HPHPnYA.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/7HPHPnYA.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/B-lXc-lx.js +1 -0
  6. package/build/client/_app/immutable/chunks/B-lXc-lx.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/B-lXc-lx.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/BafoOKc9.js.gz +0 -0
  9. package/build/client/_app/immutable/chunks/CCQbXIRh.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/CT62nJYY.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/DUJSYbul.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/DlT7Bucz.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/Du4NaMiq.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/o-Bjofpm.js.gz +0 -0
  15. package/build/client/_app/immutable/entry/{app.CqWHuiI6.js → app.97NxVsZA.js} +2 -2
  16. package/build/client/_app/immutable/entry/app.97NxVsZA.js.br +0 -0
  17. package/build/client/_app/immutable/entry/app.97NxVsZA.js.gz +0 -0
  18. package/build/client/_app/immutable/entry/start.CnniOoYn.js +1 -0
  19. package/build/client/_app/immutable/entry/start.CnniOoYn.js.br +2 -0
  20. package/build/client/_app/immutable/entry/start.CnniOoYn.js.gz +0 -0
  21. package/build/client/_app/immutable/nodes/0.GjFLDRx1.js.gz +0 -0
  22. package/build/client/_app/immutable/nodes/{1.CNVYJfgS.js → 1.C8dqSQRo.js} +1 -1
  23. package/build/client/_app/immutable/nodes/1.C8dqSQRo.js.br +3 -0
  24. package/build/client/_app/immutable/nodes/1.C8dqSQRo.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/2.Ba--qanC.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{3.CfdIkSHZ.js → 3.DIIACEEx.js} +1 -1
  27. package/build/client/_app/immutable/nodes/3.DIIACEEx.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/3.DIIACEEx.js.gz +0 -0
  29. package/build/client/_app/version.json +1 -1
  30. package/build/client/_app/version.json.br +0 -0
  31. package/build/client/_app/version.json.gz +0 -0
  32. package/build/server/chunks/{1-iJcG0u77.js → 1-8bMB9oJK.js} +2 -2
  33. package/build/server/chunks/{1-iJcG0u77.js.map → 1-8bMB9oJK.js.map} +1 -1
  34. package/build/server/chunks/{3-CjFcfUZ3.js → 3-BJ40C00E.js} +2 -2
  35. package/build/server/chunks/{3-CjFcfUZ3.js.map → 3-BJ40C00E.js.map} +1 -1
  36. package/build/server/chunks/{_server.ts-mE4syQ93.js → _server.ts-0jo3UZio.js} +4 -3
  37. package/build/server/chunks/_server.ts-0jo3UZio.js.map +1 -0
  38. package/build/server/chunks/{_server.ts-DMIZvW0y.js → _server.ts-BRgRZ0qF.js} +2 -2
  39. package/build/server/chunks/{_server.ts-DMIZvW0y.js.map → _server.ts-BRgRZ0qF.js.map} +1 -1
  40. package/build/server/chunks/{_server.ts-9Ke_ioTe.js → _server.ts-CCksYCXZ.js} +4 -3
  41. package/build/server/chunks/{_server.ts-9Ke_ioTe.js.map → _server.ts-CCksYCXZ.js.map} +1 -1
  42. package/build/server/chunks/{_server.ts-D_ZSNiRN.js → _server.ts-CD_4uJkj.js} +4 -3
  43. package/build/server/chunks/{_server.ts-D_ZSNiRN.js.map → _server.ts-CD_4uJkj.js.map} +1 -1
  44. package/build/server/chunks/{_server.ts-VvKyITPh.js → _server.ts-CGe0YpKG.js} +4 -3
  45. package/build/server/chunks/{_server.ts-VvKyITPh.js.map → _server.ts-CGe0YpKG.js.map} +1 -1
  46. package/build/server/chunks/{_server.ts-B0R_DbTz.js → _server.ts-CX2OSBPu.js} +4 -3
  47. package/build/server/chunks/{_server.ts-B0R_DbTz.js.map → _server.ts-CX2OSBPu.js.map} +1 -1
  48. package/build/server/chunks/{_server.ts-C4WRYyD7.js → _server.ts-Ct1aM7oM.js} +4 -3
  49. package/build/server/chunks/{_server.ts-C4WRYyD7.js.map → _server.ts-Ct1aM7oM.js.map} +1 -1
  50. package/build/server/chunks/{_server.ts-CK9uNfSx.js → _server.ts-DpvRNbeb.js} +4 -3
  51. package/build/server/chunks/{_server.ts-CK9uNfSx.js.map → _server.ts-DpvRNbeb.js.map} +1 -1
  52. package/build/server/chunks/{_server.ts-2BcgQ1bb.js → _server.ts-rpJjXfvd.js} +4 -3
  53. package/build/server/chunks/{_server.ts-2BcgQ1bb.js.map → _server.ts-rpJjXfvd.js.map} +1 -1
  54. package/build/server/chunks/{_server.ts-jzrKCWIL.js → _server.ts-xEv6jMNA.js} +4 -3
  55. package/build/server/chunks/{_server.ts-jzrKCWIL.js.map → _server.ts-xEv6jMNA.js.map} +1 -1
  56. package/build/server/chunks/{index2-B0dUKYN8.js → index2-D0Zh7Vw1.js} +110 -64
  57. package/build/server/chunks/index2-D0Zh7Vw1.js.map +1 -0
  58. package/build/server/index.js +1 -1
  59. package/build/server/index.js.map +1 -1
  60. package/build/server/manifest.js +13 -13
  61. package/build/server/manifest.js.map +1 -1
  62. package/package.json +11 -11
  63. package/readme.md +47 -0
  64. package/LICENSE +0 -21
  65. package/build/client/_app/immutable/chunks/BQFeKeC6.js +0 -1
  66. package/build/client/_app/immutable/chunks/BQFeKeC6.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/BQFeKeC6.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/BeK_lSf_.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/BeK_lSf_.js.gz +0 -0
  70. package/build/client/_app/immutable/entry/app.CqWHuiI6.js.br +0 -0
  71. package/build/client/_app/immutable/entry/app.CqWHuiI6.js.gz +0 -0
  72. package/build/client/_app/immutable/entry/start.Czx6od4C.js +0 -1
  73. package/build/client/_app/immutable/entry/start.Czx6od4C.js.br +0 -2
  74. package/build/client/_app/immutable/entry/start.Czx6od4C.js.gz +0 -0
  75. package/build/client/_app/immutable/nodes/1.CNVYJfgS.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/1.CNVYJfgS.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/3.CfdIkSHZ.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/3.CfdIkSHZ.js.gz +0 -0
  79. package/build/server/chunks/_server.ts-mE4syQ93.js.map +0 -1
  80. package/build/server/chunks/index2-B0dUKYN8.js.map +0 -1
@@ -10,12 +10,12 @@ return {
10
10
  assets: new Set(["favicon.png"]),
11
11
  mimeTypes: {".png":"image/png"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.Czx6od4C.js",app:"_app/immutable/entry/app.CqWHuiI6.js",imports:["_app/immutable/entry/start.Czx6od4C.js","_app/immutable/chunks/BQFeKeC6.js","_app/immutable/chunks/CT62nJYY.js","_app/immutable/entry/app.CqWHuiI6.js","_app/immutable/chunks/CT62nJYY.js","_app/immutable/chunks/DlT7Bucz.js","_app/immutable/chunks/DUJSYbul.js","_app/immutable/chunks/BafoOKc9.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
13
+ client: {start:"_app/immutable/entry/start.CnniOoYn.js",app:"_app/immutable/entry/app.97NxVsZA.js",imports:["_app/immutable/entry/start.CnniOoYn.js","_app/immutable/chunks/B-lXc-lx.js","_app/immutable/chunks/CT62nJYY.js","_app/immutable/entry/app.97NxVsZA.js","_app/immutable/chunks/CT62nJYY.js","_app/immutable/chunks/DlT7Bucz.js","_app/immutable/chunks/DUJSYbul.js","_app/immutable/chunks/BafoOKc9.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
15
  __memo(() => import('./chunks/0-DC-AHISc.js')),
16
- __memo(() => import('./chunks/1-iJcG0u77.js')),
16
+ __memo(() => import('./chunks/1-8bMB9oJK.js')),
17
17
  __memo(() => import('./chunks/2-DdbKgCRQ.js')),
18
- __memo(() => import('./chunks/3-CjFcfUZ3.js'))
18
+ __memo(() => import('./chunks/3-BJ40C00E.js'))
19
19
  ],
20
20
  remotes: {
21
21
 
@@ -33,7 +33,7 @@ return {
33
33
  pattern: /^\/api\/cleanup\/?$/,
34
34
  params: [],
35
35
  page: null,
36
- endpoint: __memo(() => import('./chunks/_server.ts-VvKyITPh.js'))
36
+ endpoint: __memo(() => import('./chunks/_server.ts-CGe0YpKG.js'))
37
37
  },
38
38
  {
39
39
  id: "/api/file-exists",
@@ -47,7 +47,7 @@ return {
47
47
  pattern: /^\/api\/message\/?$/,
48
48
  params: [],
49
49
  page: null,
50
- endpoint: __memo(() => import('./chunks/_server.ts-mE4syQ93.js'))
50
+ endpoint: __memo(() => import('./chunks/_server.ts-0jo3UZio.js'))
51
51
  },
52
52
  {
53
53
  id: "/api/open-file",
@@ -61,49 +61,49 @@ return {
61
61
  pattern: /^\/api\/projects\/?$/,
62
62
  params: [],
63
63
  page: null,
64
- endpoint: __memo(() => import('./chunks/_server.ts-CK9uNfSx.js'))
64
+ endpoint: __memo(() => import('./chunks/_server.ts-DpvRNbeb.js'))
65
65
  },
66
66
  {
67
67
  id: "/api/sessions",
68
68
  pattern: /^\/api\/sessions\/?$/,
69
69
  params: [],
70
70
  page: null,
71
- endpoint: __memo(() => import('./chunks/_server.ts-9Ke_ioTe.js'))
71
+ endpoint: __memo(() => import('./chunks/_server.ts-CCksYCXZ.js'))
72
72
  },
73
73
  {
74
74
  id: "/api/session",
75
75
  pattern: /^\/api\/session\/?$/,
76
76
  params: [],
77
77
  page: null,
78
- endpoint: __memo(() => import('./chunks/_server.ts-D_ZSNiRN.js'))
78
+ endpoint: __memo(() => import('./chunks/_server.ts-CD_4uJkj.js'))
79
79
  },
80
80
  {
81
81
  id: "/api/session/files",
82
82
  pattern: /^\/api\/session\/files\/?$/,
83
83
  params: [],
84
84
  page: null,
85
- endpoint: __memo(() => import('./chunks/_server.ts-jzrKCWIL.js'))
85
+ endpoint: __memo(() => import('./chunks/_server.ts-xEv6jMNA.js'))
86
86
  },
87
87
  {
88
88
  id: "/api/session/move",
89
89
  pattern: /^\/api\/session\/move\/?$/,
90
90
  params: [],
91
91
  page: null,
92
- endpoint: __memo(() => import('./chunks/_server.ts-2BcgQ1bb.js'))
92
+ endpoint: __memo(() => import('./chunks/_server.ts-rpJjXfvd.js'))
93
93
  },
94
94
  {
95
95
  id: "/api/session/rename",
96
96
  pattern: /^\/api\/session\/rename\/?$/,
97
97
  params: [],
98
98
  page: null,
99
- endpoint: __memo(() => import('./chunks/_server.ts-B0R_DbTz.js'))
99
+ endpoint: __memo(() => import('./chunks/_server.ts-CX2OSBPu.js'))
100
100
  },
101
101
  {
102
102
  id: "/api/session/split",
103
103
  pattern: /^\/api\/session\/split\/?$/,
104
104
  params: [],
105
105
  page: null,
106
- endpoint: __memo(() => import('./chunks/_server.ts-C4WRYyD7.js'))
106
+ endpoint: __memo(() => import('./chunks/_server.ts-Ct1aM7oM.js'))
107
107
  },
108
108
  {
109
109
  id: "/api/shutdown",
@@ -117,7 +117,7 @@ return {
117
117
  pattern: /^\/api\/version\/?$/,
118
118
  params: [],
119
119
  page: null,
120
- endpoint: __memo(() => import('./chunks/_server.ts-DMIZvW0y.js'))
120
+ endpoint: __memo(() => import('./chunks/_server.ts-BRgRZ0qF.js'))
121
121
  },
122
122
  {
123
123
  id: "/session/[project]/[id]",
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.png\"]),\n\tmimeTypes: {\".png\":\"image/png\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.Czx6od4C.js\",app:\"_app/immutable/entry/app.CqWHuiI6.js\",imports:[\"_app/immutable/entry/start.Czx6od4C.js\",\"_app/immutable/chunks/BQFeKeC6.js\",\"_app/immutable/chunks/CT62nJYY.js\",\"_app/immutable/entry/app.CqWHuiI6.js\",\"_app/immutable/chunks/CT62nJYY.js\",\"_app/immutable/chunks/DlT7Bucz.js\",\"_app/immutable/chunks/DUJSYbul.js\",\"_app/immutable/chunks/BafoOKc9.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/cleanup\",\n\t\t\t\tpattern: /^\\/api\\/cleanup\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/cleanup/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/file-exists\",\n\t\t\t\tpattern: /^\\/api\\/file-exists\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/file-exists/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/message\",\n\t\t\t\tpattern: /^\\/api\\/message\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/message/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/open-file\",\n\t\t\t\tpattern: /^\\/api\\/open-file\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/open-file/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/projects\",\n\t\t\t\tpattern: /^\\/api\\/projects\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/projects/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session\",\n\t\t\t\tpattern: /^\\/api\\/session\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/files\",\n\t\t\t\tpattern: /^\\/api\\/session\\/files\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/files/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/move\",\n\t\t\t\tpattern: /^\\/api\\/session\\/move\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/move/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/rename\",\n\t\t\t\tpattern: /^\\/api\\/session\\/rename\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/rename/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/split\",\n\t\t\t\tpattern: /^\\/api\\/session\\/split\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/split/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/shutdown\",\n\t\t\t\tpattern: /^\\/api\\/shutdown\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/shutdown/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/version\",\n\t\t\t\tpattern: /^\\/api\\/version\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/version/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/session/[project]/[id]\",\n\t\t\t\tpattern: /^\\/session\\/([^/]+?)\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"project\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;AAChC,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAC7c,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC;AACtC,GAAG;AACH,EAAE,OAAO,EAAE;AACX;AACA,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,qBAAqB;AAClC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA+C,CAAC;AAClF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,kBAAkB;AAC1B,IAAI,OAAO,EAAE,yBAAyB;AACtC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAmD,CAAC;AACtF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,qBAAqB;AAClC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA+C,CAAC;AAClF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,gBAAgB;AACxB,IAAI,OAAO,EAAE,uBAAuB;AACpC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAiD,CAAC;AACpF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,sBAAsB;AACnC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAgD,CAAC;AACnF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,sBAAsB;AACnC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAgD,CAAC;AACnF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,qBAAqB;AAClC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA+C,CAAC;AAClF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,oBAAoB;AAC5B,IAAI,OAAO,EAAE,4BAA4B;AACzC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAqD,CAAC;AACxF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,mBAAmB;AAC3B,IAAI,OAAO,EAAE,2BAA2B;AACxC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAoD,CAAC;AACvF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,qBAAqB;AAC7B,IAAI,OAAO,EAAE,6BAA6B;AAC1C,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAsD,CAAC;AACzF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,oBAAoB;AAC5B,IAAI,OAAO,EAAE,4BAA4B;AACzC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAqD,CAAC;AACxF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,sBAAsB;AACnC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAgD,CAAC;AACnF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,qBAAqB;AAClC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA+C,CAAC;AAClF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,yBAAyB;AACjC,IAAI,OAAO,EAAE,oCAAoC;AACjD,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1I,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,EAAE,CAAC;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;AAEW,MAAC,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE;;AAEzB,MAAC,IAAI,GAAG;;;;"}
1
+ {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.png\"]),\n\tmimeTypes: {\".png\":\"image/png\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.CnniOoYn.js\",app:\"_app/immutable/entry/app.97NxVsZA.js\",imports:[\"_app/immutable/entry/start.CnniOoYn.js\",\"_app/immutable/chunks/B-lXc-lx.js\",\"_app/immutable/chunks/CT62nJYY.js\",\"_app/immutable/entry/app.97NxVsZA.js\",\"_app/immutable/chunks/CT62nJYY.js\",\"_app/immutable/chunks/DlT7Bucz.js\",\"_app/immutable/chunks/DUJSYbul.js\",\"_app/immutable/chunks/BafoOKc9.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/cleanup\",\n\t\t\t\tpattern: /^\\/api\\/cleanup\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/cleanup/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/file-exists\",\n\t\t\t\tpattern: /^\\/api\\/file-exists\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/file-exists/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/message\",\n\t\t\t\tpattern: /^\\/api\\/message\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/message/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/open-file\",\n\t\t\t\tpattern: /^\\/api\\/open-file\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/open-file/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/projects\",\n\t\t\t\tpattern: /^\\/api\\/projects\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/projects/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session\",\n\t\t\t\tpattern: /^\\/api\\/session\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/files\",\n\t\t\t\tpattern: /^\\/api\\/session\\/files\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/files/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/move\",\n\t\t\t\tpattern: /^\\/api\\/session\\/move\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/move/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/rename\",\n\t\t\t\tpattern: /^\\/api\\/session\\/rename\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/rename/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/session/split\",\n\t\t\t\tpattern: /^\\/api\\/session\\/split\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/session/split/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/shutdown\",\n\t\t\t\tpattern: /^\\/api\\/shutdown\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/shutdown/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/version\",\n\t\t\t\tpattern: /^\\/api\\/version\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/version/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/session/[project]/[id]\",\n\t\t\t\tpattern: /^\\/session\\/([^/]+?)\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"project\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-sessions/web",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Web UI for Claude Code session management",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -17,10 +17,17 @@
17
17
  "dist",
18
18
  "build"
19
19
  ],
20
+ "scripts": {
21
+ "dev": "vite dev",
22
+ "build": "vite build && tsup",
23
+ "preview": "vite preview",
24
+ "typecheck": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
25
+ "lint": "eslint src"
26
+ },
20
27
  "dependencies": {
28
+ "@claude-sessions/core": "workspace:*",
21
29
  "effect": "^3.12.5",
22
- "marked": "^17.0.1",
23
- "@claude-sessions/core": "0.1.0"
30
+ "marked": "^17.0.1"
24
31
  },
25
32
  "devDependencies": {
26
33
  "@sveltejs/adapter-node": "^5.2.0",
@@ -34,12 +41,5 @@
34
41
  "tsup": "^8.3.0",
35
42
  "typescript": "^5.7.0",
36
43
  "vite": "^6.0.0"
37
- },
38
- "scripts": {
39
- "dev": "vite dev",
40
- "build": "vite build && tsup",
41
- "preview": "vite preview",
42
- "typecheck": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
43
- "lint": "eslint src"
44
44
  }
45
- }
45
+ }
package/readme.md ADDED
@@ -0,0 +1,47 @@
1
+ # @claude-sessions/web
2
+
3
+ Web UI for managing Claude Code sessions.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ # Start web server (default port 5173)
9
+ npx @claude-sessions/web
10
+
11
+ # Custom port
12
+ npx @claude-sessions/web --port 8080
13
+ ```
14
+
15
+ Open http://localhost:5173 in your browser.
16
+
17
+ ## Features
18
+
19
+ - **Project Browser**: View all Claude Code projects with session counts
20
+ - **Session Management**: Rename, delete, and split sessions
21
+ - **Message Viewer**: Browse messages with syntax highlighting
22
+ - **Cleanup**: Remove empty sessions and invalid API key messages
23
+ - **File Tracking**: View files changed during a session
24
+
25
+ ## API Endpoints
26
+
27
+ | Endpoint | Method | Description |
28
+ |----------|--------|-------------|
29
+ | `/api/projects` | GET | List all projects |
30
+ | `/api/sessions?project=` | GET | List sessions in project |
31
+ | `/api/session?project=&id=` | GET | Get session details |
32
+ | `/api/session/rename` | POST | Rename a session |
33
+ | `/api/session/move` | POST | Move session to another project |
34
+ | `/api/session/split` | POST | Split session at message |
35
+ | `/api/session/files` | GET | Get files changed in session |
36
+ | `/api/message` | DELETE | Delete a message |
37
+ | `/api/cleanup` | GET/POST | Preview/execute cleanup |
38
+
39
+ ## Tech Stack
40
+
41
+ - SvelteKit + Svelte 5
42
+ - TailwindCSS
43
+ - @claude-sessions/core
44
+
45
+ ## License
46
+
47
+ MIT
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 es6.kr <drumrobot43@gmail.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1 +0,0 @@
1
- var Zt=t=>{throw TypeError(t)};var Ce=(t,e,n)=>e.has(t)||Zt("Cannot "+n);var w=(t,e,n)=>(Ce(t,e,"read from private field"),n?n.call(t):e.get(t)),U=(t,e,n)=>e.has(t)?Zt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{b3 as At,b4 as je,o as te,s as T,g as I,e as O,ai as pt,b5 as ee,b6 as Ne}from"./CT62nJYY.js";const M=[];function Nt(t,e=At){let n=null;const r=new Set;function a(i){if(je(t,i)&&(t=i,n)){const c=!M.length;for(const l of r)l[1](),M.push(l,t);if(c){for(let l=0;l<M.length;l+=2)M[l][0](M[l+1]);M.length=0}}}function s(i){a(i(t))}function o(i,c=At){const l=[i,c];return r.add(l),r.size===1&&(n=e(a,s)||At),i(t),()=>{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:a,update:s,subscribe:o}}class qt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Dt{constructor(e,n){this.status=e,this.location=n}}class Vt extends Error{constructor(e,n,r){super(r),this.status=e,this.text=n}}new URL("sveltekit-internal://");function qe(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function De(t){return t.split("%25").map(decodeURI).join("%25")}function Ve(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Lt({href:t}){return t.split("#")[0]}function Be(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)e=e*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function Ke(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}const Me=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&Y.delete(Bt(t)),Me(t,e));const Y=new Map;function ze(t,e){const n=Bt(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:a,...s}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&Y.set(n,{body:a,init:s,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(a=Ke(a)),Promise.resolve(new Response(a,s))}return window.fetch(t,e)}function Fe(t,e,n){if(Y.size>0){const r=Bt(t,n),a=Y.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(a.body,a.init);Y.delete(r)}}return window.fetch(e,n)}function Bt(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const a=[];e.headers&&a.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&a.push(e.body),r+=`[data-hash="${Be(...a)}"]`}return r}const Ge=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function We(t){const e=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${He(t).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return e.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return e.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const o=r.split(/\[(.+?)\](?!\])/);return"/"+o.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return Ut(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return Ut(String.fromCharCode(...c.slice(2).split("-").map(_=>parseInt(_,16))));const d=Ge.exec(c),[,u,v,f,h]=d;return e.push({name:f,matcher:h,optional:!!u,rest:!!v,chained:v?l===1&&o[0]==="":!1}),v?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Ut(c)}).join("")}).join("")}/?$`),params:e}}function Ye(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function He(t){return t.slice(1).split("/").filter(Ye)}function Je(t,e,n){const r={},a=t.slice(1),s=a.filter(i=>i!==void 0);let o=0;for(let i=0;i<e.length;i+=1){const c=e[i];let l=a[i-o];if(c.chained&&c.rest&&o&&(l=a.slice(i-o,i+1).filter(d=>d).join("/"),o=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){r[c.name]=l;const d=e[i+1],u=a[i+1];d&&!d.rest&&d.optional&&u&&c.chained&&(o=0),!d&&!u&&Object.keys(r).length===s.length&&(o=0);continue}if(c.optional&&c.chained){o++;continue}return}if(!o)return r}function Ut(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Xe({nodes:t,server_loads:e,dictionary:n,matchers:r}){const a=new Set(e);return Object.entries(n).map(([i,[c,l,d]])=>{const{pattern:u,params:v}=We(i),f={id:i,exec:h=>{const _=u.exec(h);if(_)return Je(_,v,r)},errors:[1,...d||[]].map(h=>t[h]),layouts:[0,...l||[]].map(o),leaf:s(c)};return f.errors.length=f.layouts.length=Math.max(f.errors.length,f.layouts.length),f});function s(i){const c=i<0;return c&&(i=~i),[c,t[i]]}function o(i){return i===void 0?i:[a.has(i),t[i]]}}function pe(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function ne(t,e,n=JSON.stringify){const r=n(e);try{sessionStorage[t]=r}catch{}}var le;const L=((le=globalThis.__sveltekit_1esdqkb)==null?void 0:le.base)??"";var fe;const Qe=((fe=globalThis.__sveltekit_1esdqkb)==null?void 0:fe.assets)??L??"",Ze="1765956324150",ge="sveltekit:snapshot",me="sveltekit:scroll",_e="sveltekit:states",tn="sveltekit:pageurl",F="sveltekit:history",J="sveltekit:navigation",q={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Kt=location.origin;function we(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function St(){return{x:pageXOffset,y:pageYOffset}}function z(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const ae={...q,"":q.hover};function ye(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function ve(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ye(t)}}function Ot(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";r.hash=`#${i}${r.hash}`}}catch{}const a=t instanceof SVGAElement?t.target.baseVal:t.target,s=!r||!!a||Et(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(r==null?void 0:r.origin)===Kt&&t.hasAttribute("download");return{url:r,external:s,target:a,download:o}}function gt(t){let e=null,n=null,r=null,a=null,s=null,o=null,i=t;for(;i&&i!==document.documentElement;)r===null&&(r=z(i,"preload-code")),a===null&&(a=z(i,"preload-data")),e===null&&(e=z(i,"keepfocus")),n===null&&(n=z(i,"noscroll")),s===null&&(s=z(i,"reload")),o===null&&(o=z(i,"replacestate")),i=ye(i);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ae[r??"off"],preload_data:ae[a??"off"],keepfocus:c(e),noscroll:c(n),reload:c(s),replace_state:c(o)}}function re(t){const e=Nt(t);let n=!0;function r(){n=!0,e.update(o=>o)}function a(o){n=!1,e.set(o)}function s(o){let i;return e.subscribe(c=>{(i===void 0||n&&c!==i)&&o(i=c)})}return{notify:r,set:a,subscribe:s}}const be={v:()=>{}};function en(){const{set:t,subscribe:e}=Nt(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Qe}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==Ze;return o&&(t(!0),be.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function Et(t,e,n){return t.origin!==Kt||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Un(t){}const ke=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ke];const nn=new Set([...ke]);[...nn];function an(t){return t.filter(e=>e!=null)}function Mt(t){return t instanceof qt||t instanceof Vt?t.status:500}function rn(t){return t instanceof Vt?t.text:"Internal Error"}let R,X,Tt;const on=te.toString().includes("$$")||/function \w+\(\) \{\}/.test(te.toString());var nt,at,rt,ot,st,it,ct,lt,ue,ft,de,ut,he;on?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},X={current:null},Tt={current:!1}):(R=new(ue=class{constructor(){U(this,nt,T({}));U(this,at,T(null));U(this,rt,T(null));U(this,ot,T({}));U(this,st,T({id:null}));U(this,it,T({}));U(this,ct,T(-1));U(this,lt,T(new URL("https://example.com")))}get data(){return I(w(this,nt))}set data(e){O(w(this,nt),e)}get form(){return I(w(this,at))}set form(e){O(w(this,at),e)}get error(){return I(w(this,rt))}set error(e){O(w(this,rt),e)}get params(){return I(w(this,ot))}set params(e){O(w(this,ot),e)}get route(){return I(w(this,st))}set route(e){O(w(this,st),e)}get state(){return I(w(this,it))}set state(e){O(w(this,it),e)}get status(){return I(w(this,ct))}set status(e){O(w(this,ct),e)}get url(){return I(w(this,lt))}set url(e){O(w(this,lt),e)}},nt=new WeakMap,at=new WeakMap,rt=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,ct=new WeakMap,lt=new WeakMap,ue),X=new(de=class{constructor(){U(this,ft,T(null))}get current(){return I(w(this,ft))}set current(e){O(w(this,ft),e)}},ft=new WeakMap,de),Tt=new(he=class{constructor(){U(this,ut,T(!1))}get current(){return I(w(this,ut))}set current(e){O(w(this,ut),e)}},ut=new WeakMap,he),be.v=()=>Tt.current=!0);function Se(t){Object.assign(R,t)}const sn=new Set(["icon","shortcut icon","apple-touch-icon"]),V=pe(me)??{},Q=pe(ge)??{},N={url:re({}),page:re({}),navigating:Nt(null),updated:en()};function zt(t){V[t]=St()}function cn(t,e){let n=t+1;for(;V[n];)delete V[n],n+=1;for(n=e+1;Q[n];)delete Q[n],n+=1}function Z(t,e=!1){return e?location.replace(t.href):location.href=t.href,new Promise(()=>{})}async function Ee(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(L||"/");t&&await t.update()}}function oe(){}let Ft,$t,mt,P,Pt,b;const _t=[],wt=[];let y=null;function Ct(){var t;(t=y==null?void 0:y.fork)==null||t.then(e=>e==null?void 0:e.discard()),y=null}const ht=new Map,Re=new Set,ln=new Set,H=new Set;let m={branch:[],error:null,url:null},xe=!1,yt=!1,se=!0,tt=!1,W=!1,Ae=!1,Gt=!1,Wt,S,A,D;const vt=new Set,ie=new Map;async function $n(t,e,n){var s,o,i,c,l;(s=globalThis.__sveltekit_1esdqkb)!=null&&s.data&&globalThis.__sveltekit_1esdqkb.data,document.URL!==location.href&&(location.href=location.href),b=t,await((i=(o=t.hooks).init)==null?void 0:i.call(o)),Ft=Xe(t),P=document.documentElement,Pt=e,$t=t.nodes[0],mt=t.nodes[1],$t(),mt(),S=(c=history.state)==null?void 0:c[F],A=(l=history.state)==null?void 0:l[J],S||(S=A=Date.now(),history.replaceState({...history.state,[F]:S,[J]:A},""));const r=V[S];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await Sn(Pt,n)):(await G({type:"enter",url:we(b.hash?xn(new URL(location.href)):location.href),replace_state:!0}),a()),kn()}function fn(){_t.length=0,Gt=!1}function Le(t){wt.some(e=>e==null?void 0:e.snapshot)&&(Q[t]=wt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Ue(t){var e;(e=Q[t])==null||e.forEach((n,r)=>{var a,s;(s=(a=wt[r])==null?void 0:a.snapshot)==null||s.restore(n)})}function ce(){zt(S),ne(me,V),Le(A),ne(ge,Q)}async function un(t,e,n,r){let a;e.invalidateAll&&Ct(),await G({type:"goto",url:we(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:r,accept:()=>{e.invalidateAll&&(Gt=!0,a=[...ie.keys()]),e.invalidate&&e.invalidate.forEach(bn)}}),e.invalidateAll&&pt().then(pt).then(()=>{ie.forEach(({resource:s},o)=>{var i;a!=null&&a.includes(o)&&((i=s.refresh)==null||i.call(s))})})}async function dn(t){if(t.id!==(y==null?void 0:y.id)){Ct();const e={};if(vt.add(e),y={id:t.id,token:e,promise:Ie({...t,preload:e}).then(n=>(vt.delete(e),n.type==="loaded"&&n.state.error&&Ct(),n)),fork:null},ee){const n=y;n.fork=n.promise.then(r=>{if(n===y&&r.type==="loaded")try{return ee(()=>{Wt.$set(r.props),Se(r.props.page)})}catch{}return null})}}return y.promise}async function It(t){var n;const e=(n=await Rt(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].map(r=>r==null?void 0:r[1]()))}async function Te(t,e,n){var a;m=t.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,t.props.page),Wt=new b.root({target:e,props:{...t.props,stores:N,components:wt},hydrate:n,sync:!1}),await Promise.resolve(),Ue(A),n){const s={from:null,to:{params:m.params,route:{id:((a=m.route)==null?void 0:a.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};H.forEach(o=>o(s))}yt=!0}function bt({url:t,params:e,branch:n,status:r,error:a,route:s,form:o}){let i="never";if(L&&(t.pathname===L||t.pathname===L+"/"))i="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(i=f.slash);t.pathname=qe(t.pathname,i),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:a,route:s},props:{constructors:an(n).map(f=>f.node.component),page:Qt(R)}};o!==void 0&&(c.props.form=o);let l={},d=!R,u=0;for(let f=0;f<Math.max(n.length,m.branch.length);f+=1){const h=n[f],_=m.branch[f];(h==null?void 0:h.data)!==(_==null?void 0:_.data)&&(d=!0),h&&(l={...l,...h.data},d&&(c.props[`data_${u}`]=l),u+=1)}return(!m.url||t.href!==m.url.href||m.error!==a||o!==void 0&&o!==R.form||d)&&(c.props.page={error:a,params:e,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(t),form:o??null,data:d?l:R.data}),c}async function Yt({loader:t,parent:e,url:n,params:r,route:a,server_data_node:s}){var l,d;let o=null;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await t();return{node:c,loader:t,server:s,universal:(l=c.universal)!=null&&l.load?{type:"data",data:o,uses:i}:null,data:o??(s==null?void 0:s.data)??null,slash:((d=c.universal)==null?void 0:d.trailingSlash)??(s==null?void 0:s.slash)}}function hn(t,e,n){let r=t instanceof Request?t.url:t;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=yt?Fe(r,a.href,e):ze(r,e);return{resolved:a,promise:s}}function pn(t,e,n,r,a,s){if(Gt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&e||a.url&&n)return!0;for(const o of a.search_params)if(r.has(o))return!0;for(const o of a.params)if(s[o]!==m.params[o])return!0;for(const o of a.dependencies)if(_t.some(i=>i(new URL(o))))return!0;return!1}function Ht(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function gn(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const r of n){const a=t.searchParams.getAll(r),s=e.searchParams.getAll(r);a.every(o=>s.includes(o))&&s.every(o=>a.includes(o))&&n.delete(r)}return n}function mn({error:t,url:e,route:n,params:r}){return{type:"loaded",state:{error:t,url:e,route:n,params:r,branch:[]},props:{page:Qt(R),constructors:[]}}}async function Ie({id:t,invalidating:e,url:n,params:r,route:a,preload:s}){if((y==null?void 0:y.id)===t)return vt.delete(y.token),y.promise;const{errors:o,layouts:i,leaf:c}=a,l=[...i,c];o.forEach(g=>g==null?void 0:g().catch(()=>{})),l.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));const d=m.url?t!==kt(m.url):!1,u=m.route?a.id!==m.route.id:!1,v=gn(m.url,n);let f=!1;const h=l.map(async(g,p)=>{var C;if(!g)return;const k=m.branch[p];return g[1]===(k==null?void 0:k.loader)&&!pn(f,u,d,v,(C=k.universal)==null?void 0:C.uses,r)?k:(f=!0,Yt({loader:g[1],url:n,params:r,route:a,parent:async()=>{var dt;const $={};for(let B=0;B<p;B+=1)Object.assign($,(dt=await h[B])==null?void 0:dt.data);return $},server_data_node:Ht(g[0]?{type:"skip"}:null,g[0]?k==null?void 0:k.server:void 0)}))});for(const g of h)g.catch(()=>{});const _=[];for(let g=0;g<l.length;g+=1)if(l[g])try{_.push(await h[g])}catch(p){if(p instanceof Dt)return{type:"redirect",location:p.location};if(vt.has(s))return mn({error:await et(p,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let k=Mt(p),x;if(p instanceof qt)x=p.body;else{if(await N.updated.check())return await Ee(),await Z(n);x=await et(p,{params:r,url:n,route:{id:a.id}})}const C=await _n(g,_,o);return C?bt({url:n,params:r,branch:_.slice(0,C.idx).concat(C.node),status:k,error:x,route:a}):await $e(n,{id:a.id},x,k)}else _.push(void 0);return bt({url:n,params:r,branch:_,status:200,error:null,route:a,form:e?void 0:null})}async function _n(t,e,n){for(;t--;)if(n[t]){let r=t;for(;!e[r];)r-=1;try{return{idx:r+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function Jt({status:t,error:e,url:n,route:r}){const a={};let s=null;try{const o=await Yt({loader:$t,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:Ht(s)}),i={node:await mt(),loader:mt,universal:null,server:null,data:null};return bt({url:n,params:a,branch:[o,i],status:t,error:e,route:null})}catch(o){if(o instanceof Dt)return un(new URL(o.location,location.href),{},0);throw o}}async function wn(t){const e=t.href;if(ht.has(e))return ht.get(e);let n;try{const r=(async()=>{let a=await b.hooks.reroute({url:new URL(t),fetch:async(s,o)=>hn(s,o,t).promise})??t;if(typeof a=="string"){const s=new URL(t);b.hash?s.hash=a:s.pathname=a,a=s}return a})();ht.set(e,r),n=await r}catch{ht.delete(e);return}return n}async function Rt(t,e){if(t&&!Et(t,L,b.hash)){const n=await wn(t);if(!n)return;const r=yn(n);for(const a of Ft){const s=a.exec(r);if(s)return{id:kt(t),invalidating:e,route:a,params:Ve(s),url:t}}}}function yn(t){return De(b.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(L.length))||"/"}function kt(t){return(b.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Oe({url:t,type:e,intent:n,delta:r,event:a}){let s=!1;const o=Xt(m,n,t,e);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const i={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return tt||Re.forEach(c=>c(i)),s?null:o}async function G({type:t,url:e,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o={},redirect_count:i=0,nav_token:c={},accept:l=oe,block:d=oe,event:u}){var B;const v=D;D=c;const f=await Rt(e,!1),h=t==="enter"?Xt(m,f,e,t):Oe({url:e,type:t,delta:n==null?void 0:n.delta,intent:f,event:u});if(!h){d(),D===c&&(D=v);return}const _=S,g=A;l(),tt=!0,yt&&h.navigation.type!=="enter"&&N.navigating.set(X.current=h.navigation);let p=f&&await Ie(f);if(!p){if(Et(e,L,b.hash))return await Z(e,s);p=await $e(e,{id:null},await et(new Vt(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404,s)}if(e=(f==null?void 0:f.url)||e,D!==c)return h.reject(new Error("navigation aborted")),!1;if(p.type==="redirect"){if(i<20){await G({type:t,url:new URL(p.location,e),popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o,redirect_count:i+1,nav_token:c}),h.fulfil(void 0);return}p=await Jt({status:500,error:await et(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}})}else p.props.page.status>=400&&await N.updated.check()&&(await Ee(),await Z(e,s));if(fn(),zt(_),Le(g),p.props.page.url.pathname!==e.pathname&&(e.pathname=p.props.page.url.pathname),o=n?n.state:o,!n){const E=s?0:1,K={[F]:S+=E,[J]:A+=E,[_e]:o};(s?history.replaceState:history.pushState).call(history,K,"",e),s||cn(S,A)}const k=f&&(y==null?void 0:y.id)===f.id?y.fork:null;y=null,p.props.page.state=o;let x;if(yt){const E=(await Promise.all(Array.from(ln,j=>j(h.navigation)))).filter(j=>typeof j=="function");if(E.length>0){let j=function(){E.forEach(xt=>{H.delete(xt)})};E.push(j),E.forEach(xt=>{H.add(xt)})}m=p.state,p.props.page&&(p.props.page.url=e);const K=k&&await k;K?x=K.commit():(Wt.$set(p.props),Se(p.props.page),x=(B=Ne)==null?void 0:B()),Ae=!0}else await Te(p,Pt,!1);const{activeElement:C}=document;await x,await pt(),await pt();let $=n?n.scroll:a?St():null;if(se){const E=e.hash&&document.getElementById(Pe(e));if($)scrollTo($.x,$.y);else if(E){E.scrollIntoView();const{top:K,left:j}=E.getBoundingClientRect();$={x:pageXOffset+j,y:pageYOffset+K}}else scrollTo(0,0)}const dt=document.activeElement!==C&&document.activeElement!==document.body;!r&&!dt&&Rn(e,$),se=!0,p.props.page&&Object.assign(R,p.props.page),tt=!1,t==="popstate"&&Ue(A),h.fulfil(void 0),H.forEach(E=>E(h.navigation)),N.navigating.set(X.current=null)}async function $e(t,e,n,r,a){return t.origin===Kt&&t.pathname===location.pathname&&!xe?await Jt({status:r,error:n,url:t,route:e}):await Z(t,a)}function vn(){let t,e,n;P.addEventListener("mousemove",i=>{const c=i.target;clearTimeout(t),t=setTimeout(()=>{s(c,q.hover)},20)});function r(i){i.defaultPrevented||s(i.composedPath()[0],q.tap)}P.addEventListener("mousedown",r),P.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(i=>{for(const c of i)c.isIntersecting&&(It(new URL(c.target.href)),a.unobserve(c.target))},{threshold:0});async function s(i,c){const l=ve(i,P),d=l===e&&c>=n;if(!l||d)return;const{url:u,external:v,download:f}=Ot(l,L,b.hash);if(v||f)return;const h=gt(l),_=u&&kt(m.url)===kt(u);if(!(h.reload||_))if(c<=h.preload_data){e=l,n=q.tap;const g=await Rt(u,!1);if(!g)return;dn(g)}else c<=h.preload_code&&(e=l,n=c,It(u))}function o(){a.disconnect();for(const i of P.querySelectorAll("a")){const{url:c,external:l,download:d}=Ot(i,L,b.hash);if(l||d)continue;const u=gt(i);u.reload||(u.preload_code===q.viewport&&a.observe(i),u.preload_code===q.eager&&It(c))}}H.add(o),o()}function et(t,e){if(t instanceof qt)return t.body;const n=Mt(t),r=rn(t);return b.hooks.handleError({error:t,event:e,status:n,message:r})??{message:r}}function bn(t){if(typeof t=="function")_t.push(t);else{const{href:e}=new URL(t,location.href);_t.push(n=>n.href===e)}}function kn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let r=!1;if(ce(),!tt){const a=Xt(m,void 0,null,"leave"),s={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};Re.forEach(o=>o(s))}r?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ce()}),(e=navigator.connection)!=null&&e.saveData||vn(),P.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const r=ve(n.composedPath()[0],P);if(!r)return;const{url:a,external:s,target:o,download:i}=Ot(r,L,b.hash);if(!a)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const c=gt(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||i)return;const[d,u]=(b.hash?a.hash.replace(/^#/,""):a.href).split("#"),v=d===Lt(location);if(s||c.reload&&(!v||!u)){Oe({url:a,type:"link",event:n})?tt=!0:n.preventDefault();return}if(u!==void 0&&v){const[,f]=m.url.href.split("#");if(f===u){if(n.preventDefault(),u===""||u==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const h=r.ownerDocument.getElementById(decodeURIComponent(u));h&&(h.scrollIntoView(),h.focus())}return}if(W=!0,zt(S),t(a),!c.replace_state)return;W=!1}n.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await G({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href,event:n})}),P.addEventListener("submit",n=>{if(n.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(n.target),a=n.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(Et(i,L,!1))return;const c=n.target,l=gt(c);if(l.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(c,a);i.search=new URLSearchParams(d).toString(),G({type:"form",url:i,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??i.href===location.href,event:n})}),addEventListener("popstate",async n=>{var r;if(!jt){if((r=n.state)!=null&&r[F]){const a=n.state[F];if(D={},a===S)return;const s=V[a],o=n.state[_e]??{},i=new URL(n.state[tn]??location.href),c=n.state[J],l=m.url?Lt(location)===Lt(m.url):!1;if(c===A&&(Ae||l)){o!==R.state&&(R.state=o),t(i),V[S]=St(),s&&scrollTo(s.x,s.y),S=a;return}const u=a-S;await G({type:"popstate",url:i,popped:{state:o,scroll:s,delta:u},accept:()=>{S=a,A=c},block:()=>{history.go(-u)},nav_token:D,event:n})}else if(!W){const a=new URL(location.href);t(a),b.hash&&location.reload()}}}),addEventListener("hashchange",()=>{W&&(W=!1,history.replaceState({...history.state,[F]:++S,[J]:A},"",location.href))});for(const n of document.querySelectorAll("link"))sn.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&N.navigating.set(X.current=null)});function t(n){m.url=R.url=n,N.page.set(Qt(R)),N.page.notify()}}async function Sn(t,{status:e=200,error:n,node_ids:r,params:a,route:s,server_route:o,data:i,form:c}){xe=!0;const l=new URL(location.href);let d;({params:a={},route:s={id:null}}=await Rt(l,!1)||{}),d=Ft.find(({id:f})=>f===s.id);let u,v=!0;try{const f=r.map(async(_,g)=>{const p=i[g];return p!=null&&p.uses&&(p.uses=En(p.uses)),Yt({loader:b.nodes[_],url:l,params:a,route:s,parent:async()=>{const k={};for(let x=0;x<g;x+=1)Object.assign(k,(await f[x]).data);return k},server_data_node:Ht(p)})}),h=await Promise.all(f);if(d){const _=d.layouts;for(let g=0;g<_.length;g++)_[g]||h.splice(g,0,void 0)}u=bt({url:l,params:a,branch:h,status:e,error:n,form:c,route:d??null})}catch(f){if(f instanceof Dt){await Z(new URL(f.location,location.href));return}u=await Jt({status:Mt(f),error:await et(f,{url:l,params:a,route:s}),url:l,route:s}),t.textContent="",v=!1}u.props.page&&(u.props.page.state={}),await Te(u,t,v)}function En(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let jt=!1;function Rn(t,e=null){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=Pe(t);if(r&&document.getElementById(r)){const{x:s,y:o}=e??St();setTimeout(()=>{const i=history.state;jt=!0,location.replace(`#${r}`),b.hash&&location.replace(t.hash),history.replaceState(i,"",t.hash),scrollTo(s,o),jt=!1})}else{const s=document.body,o=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),o!==null?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let o=0;o<a.rangeCount;o+=1)s.push(a.getRangeAt(o));setTimeout(()=>{if(a.rangeCount===s.length){for(let o=0;o<a.rangeCount;o+=1){const i=s[o],c=a.getRangeAt(o);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}a.removeAllRanges()}})}}}function Xt(t,e,n,r){var c,l;let a,s;const o=new Promise((d,u)=>{a=d,s=u});return o.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((l=e==null?void 0:e.route)==null?void 0:l.id)??null},url:n},willUnload:!e,type:r,complete:o},fulfil:a,reject:s}}function Qt(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function xn(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}function Pe(t){let e;if(b.hash){const[,,n]=t.hash.split("#",3);e=n??""}else e=t.hash.slice(1);return decodeURIComponent(e)}export{$n as a,Un as l,R as p,N as s};
@@ -1 +0,0 @@
1
- import{l as o,a as r}from"../chunks/BQFeKeC6.js";export{o as load_css,r as start};
@@ -1,2 +0,0 @@
1
- )�import{l as o,a as r}from"../chunks/BQFeKeC6.js";export{o as load_css,r as start};
2
- 
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-mE4syQ93.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 +0,0 @@
1
- {"version":3,"file":"index2-B0dUKYN8.js","sources":["../../../.svelte-kit/adapter-node/chunks/index2.js"],"sourcesContent":["import * as path4 from \"path\";\nimport * as os from \"os\";\nimport { Effect, pipe, Array as Array$1, Option } from \"effect\";\nimport * as fs3 from \"fs/promises\";\nvar getSessionsDir = () => path4.join(os.homedir(), \".claude\", \"projects\");\nvar getTodosDir = () => path4.join(os.homedir(), \".claude\", \"todos\");\nvar folderNameToDisplayPath = (folderName) => {\n return folderName.replace(/^-/, \"/\").replace(/--/g, \"/.\").replace(/-/g, \"/\");\n};\nvar extractTextContent = (message) => {\n if (!message) return \"\";\n const content = message.content;\n if (!content) return \"\";\n if (typeof content === \"string\") return content;\n if (Array.isArray(content)) {\n return content.filter((item) => typeof item === \"object\" && item?.type === \"text\").map((item) => item.text ?? \"\").join(\"\");\n }\n return \"\";\n};\nvar extractTitle = (text) => {\n if (!text) return \"Untitled\";\n let cleaned = text.replace(/<ide_[^>]*>[\\s\\S]*?<\\/ide_[^>]*>/g, \"\").trim();\n if (!cleaned) return \"Untitled\";\n if (cleaned.includes(\"\\n\\n\")) {\n cleaned = cleaned.split(\"\\n\\n\")[0];\n } else if (cleaned.includes(\"\\n\")) {\n cleaned = cleaned.split(\"\\n\")[0];\n }\n if (cleaned.length > 100) {\n return cleaned.slice(0, 100) + \"...\";\n }\n return cleaned || \"Untitled\";\n};\nvar isInvalidApiKeyMessage = (msg) => {\n const text = extractTextContent(msg.message);\n return text.includes(\"Invalid API key\");\n};\nvar isContinuationSummary = (msg) => {\n if (msg.isCompactSummary === true) return true;\n if (msg.type !== \"user\") return false;\n const message = msg.message;\n const content = message?.content ?? \"\";\n return content.startsWith(\"This session is being continued from\");\n};\nvar findLinkedAgents = (projectName, sessionId) => Effect.gen(function* () {\n const projectPath = path4.join(getSessionsDir(), projectName);\n const files = yield* Effect.tryPromise(() => fs3.readdir(projectPath));\n const agentFiles = files.filter((f) => f.startsWith(\"agent-\") && f.endsWith(\".jsonl\"));\n const linkedAgents = [];\n for (const agentFile of agentFiles) {\n const filePath = path4.join(projectPath, agentFile);\n const content = yield* Effect.tryPromise(() => fs3.readFile(filePath, \"utf-8\"));\n const firstLine = content.split(\"\\n\")[0];\n if (firstLine) {\n try {\n const parsed = JSON.parse(firstLine);\n if (parsed.sessionId === sessionId) {\n linkedAgents.push(agentFile.replace(\".jsonl\", \"\"));\n }\n } catch {\n }\n }\n }\n return linkedAgents;\n});\nvar findOrphanAgents = (projectName) => Effect.gen(function* () {\n const projectPath = path4.join(getSessionsDir(), projectName);\n const files = yield* Effect.tryPromise(() => fs3.readdir(projectPath));\n const sessionIds = new Set(\n files.filter((f) => !f.startsWith(\"agent-\") && f.endsWith(\".jsonl\")).map((f) => f.replace(\".jsonl\", \"\"))\n );\n const agentFiles = files.filter((f) => f.startsWith(\"agent-\") && f.endsWith(\".jsonl\"));\n const orphanAgents = [];\n for (const agentFile of agentFiles) {\n const filePath = path4.join(projectPath, agentFile);\n const content = yield* Effect.tryPromise(() => fs3.readFile(filePath, \"utf-8\"));\n const firstLine = content.split(\"\\n\")[0];\n if (firstLine) {\n try {\n const parsed = JSON.parse(firstLine);\n if (parsed.sessionId && !sessionIds.has(parsed.sessionId)) {\n orphanAgents.push({\n agentId: agentFile.replace(\".jsonl\", \"\"),\n sessionId: parsed.sessionId\n });\n }\n } catch {\n }\n }\n }\n return orphanAgents;\n});\nvar deleteOrphanAgents = (projectName) => Effect.gen(function* () {\n const projectPath = path4.join(getSessionsDir(), projectName);\n const orphans = yield* findOrphanAgents(projectName);\n const backupDir = path4.join(projectPath, \".bak\");\n yield* Effect.tryPromise(() => fs3.mkdir(backupDir, { recursive: true }));\n const deletedAgents = [];\n for (const orphan of orphans) {\n const agentPath = path4.join(projectPath, `${orphan.agentId}.jsonl`);\n const agentBackupPath = path4.join(backupDir, `${orphan.agentId}.jsonl`);\n yield* Effect.tryPromise(() => fs3.rename(agentPath, agentBackupPath));\n deletedAgents.push(orphan.agentId);\n }\n return { success: true, deletedAgents, count: deletedAgents.length };\n});\nvar sessionHasTodos = (sessionId, agentIds) => Effect.gen(function* () {\n const todosDir = getTodosDir();\n const exists = yield* Effect.tryPromise(\n () => fs3.access(todosDir).then(() => true).catch(() => false)\n );\n if (!exists) return false;\n const sessionTodoPath = path4.join(todosDir, `${sessionId}.json`);\n const sessionTodoExists = yield* Effect.tryPromise(\n () => fs3.access(sessionTodoPath).then(() => true).catch(() => false)\n );\n if (sessionTodoExists) {\n const content = yield* Effect.tryPromise(() => fs3.readFile(sessionTodoPath, \"utf-8\"));\n try {\n const todos = JSON.parse(content);\n if (todos.length > 0) return true;\n } catch {\n }\n }\n for (const agentId of agentIds) {\n const shortAgentId = agentId.replace(\"agent-\", \"\");\n const agentTodoPath = path4.join(todosDir, `${sessionId}-agent-${shortAgentId}.json`);\n const agentTodoExists = yield* Effect.tryPromise(\n () => fs3.access(agentTodoPath).then(() => true).catch(() => false)\n );\n if (agentTodoExists) {\n const content = yield* Effect.tryPromise(() => fs3.readFile(agentTodoPath, \"utf-8\"));\n try {\n const todos = JSON.parse(content);\n if (todos.length > 0) return true;\n } catch {\n }\n }\n }\n return false;\n});\nvar deleteLinkedTodos = (sessionId, agentIds) => Effect.gen(function* () {\n const todosDir = getTodosDir();\n const exists = yield* Effect.tryPromise(\n () => fs3.access(todosDir).then(() => true).catch(() => false)\n );\n if (!exists) return { deletedCount: 0 };\n const backupDir = path4.join(todosDir, \".bak\");\n yield* Effect.tryPromise(() => fs3.mkdir(backupDir, { recursive: true }));\n let deletedCount = 0;\n const sessionTodoPath = path4.join(todosDir, `${sessionId}.json`);\n const sessionTodoExists = yield* Effect.tryPromise(\n () => fs3.access(sessionTodoPath).then(() => true).catch(() => false)\n );\n if (sessionTodoExists) {\n const backupPath = path4.join(backupDir, `${sessionId}.json`);\n yield* Effect.tryPromise(() => fs3.rename(sessionTodoPath, backupPath));\n deletedCount++;\n }\n for (const agentId of agentIds) {\n const shortAgentId = agentId.replace(\"agent-\", \"\");\n const agentTodoPath = path4.join(todosDir, `${sessionId}-agent-${shortAgentId}.json`);\n const agentTodoExists = yield* Effect.tryPromise(\n () => fs3.access(agentTodoPath).then(() => true).catch(() => false)\n );\n if (agentTodoExists) {\n const backupPath = path4.join(backupDir, `${sessionId}-agent-${shortAgentId}.json`);\n yield* Effect.tryPromise(() => fs3.rename(agentTodoPath, backupPath));\n deletedCount++;\n }\n }\n return { deletedCount };\n});\nvar findOrphanTodos = () => Effect.gen(function* () {\n const todosDir = getTodosDir();\n const sessionsDir = getSessionsDir();\n const [todosExists, sessionsExists] = yield* Effect.all([\n Effect.tryPromise(\n () => fs3.access(todosDir).then(() => true).catch(() => false)\n ),\n Effect.tryPromise(\n () => fs3.access(sessionsDir).then(() => true).catch(() => false)\n )\n ]);\n if (!todosExists || !sessionsExists) return [];\n const todoFiles = yield* Effect.tryPromise(() => fs3.readdir(todosDir));\n const jsonFiles = todoFiles.filter((f) => f.endsWith(\".json\"));\n const validSessionIds = /* @__PURE__ */ new Set();\n const projectEntries = yield* Effect.tryPromise(\n () => fs3.readdir(sessionsDir, { withFileTypes: true })\n );\n for (const entry of projectEntries) {\n if (!entry.isDirectory() || entry.name.startsWith(\".\")) continue;\n const projectPath = path4.join(sessionsDir, entry.name);\n const files = yield* Effect.tryPromise(() => fs3.readdir(projectPath));\n for (const f of files) {\n if (f.endsWith(\".jsonl\") && !f.startsWith(\"agent-\")) {\n validSessionIds.add(f.replace(\".jsonl\", \"\"));\n }\n }\n }\n const orphans = [];\n for (const todoFile of jsonFiles) {\n const match = todoFile.match(/^([a-f0-9-]+)(?:-agent-[a-f0-9]+)?\\.json$/);\n if (match) {\n const sessionId = match[1];\n if (!validSessionIds.has(sessionId)) {\n orphans.push(todoFile);\n }\n }\n }\n return orphans;\n});\nvar deleteOrphanTodos = () => Effect.gen(function* () {\n const todosDir = getTodosDir();\n const orphans = yield* findOrphanTodos();\n if (orphans.length === 0) return { success: true, deletedCount: 0 };\n const backupDir = path4.join(todosDir, \".bak\");\n yield* Effect.tryPromise(() => fs3.mkdir(backupDir, { recursive: true }));\n let deletedCount = 0;\n for (const orphan of orphans) {\n const filePath = path4.join(todosDir, orphan);\n const backupPath = path4.join(backupDir, orphan);\n yield* Effect.tryPromise(() => fs3.rename(filePath, backupPath));\n deletedCount++;\n }\n return { success: true, deletedCount };\n});\nvar listProjects = Effect.gen(function* () {\n const sessionsDir = getSessionsDir();\n const exists = yield* Effect.tryPromise(\n () => fs3.access(sessionsDir).then(() => true).catch(() => false)\n );\n if (!exists) {\n return [];\n }\n const entries = yield* Effect.tryPromise(() => fs3.readdir(sessionsDir, { withFileTypes: true }));\n const projects = yield* Effect.all(\n entries.filter((e) => e.isDirectory() && !e.name.startsWith(\".\")).map(\n (entry) => Effect.gen(function* () {\n const projectPath = path4.join(sessionsDir, entry.name);\n const files = yield* Effect.tryPromise(() => fs3.readdir(projectPath));\n const sessionFiles = files.filter((f) => f.endsWith(\".jsonl\") && !f.startsWith(\"agent-\"));\n return {\n name: entry.name,\n displayName: folderNameToDisplayPath(entry.name),\n path: projectPath,\n sessionCount: sessionFiles.length\n };\n })\n ),\n { concurrency: 10 }\n );\n return projects;\n});\nvar listSessions = (projectName) => Effect.gen(function* () {\n const projectPath = path4.join(getSessionsDir(), projectName);\n const files = yield* Effect.tryPromise(() => fs3.readdir(projectPath));\n const sessionFiles = files.filter((f) => f.endsWith(\".jsonl\") && !f.startsWith(\"agent-\"));\n const sessions = yield* Effect.all(\n sessionFiles.map(\n (file) => Effect.gen(function* () {\n const filePath = path4.join(projectPath, file);\n const content = yield* Effect.tryPromise(() => fs3.readFile(filePath, \"utf-8\"));\n const lines = content.trim().split(\"\\n\").filter(Boolean);\n const messages = lines.map((line) => JSON.parse(line));\n const sessionId = file.replace(\".jsonl\", \"\");\n const userAssistantMessages = messages.filter(\n (m) => m.type === \"user\" || m.type === \"assistant\"\n );\n const hasSummary = messages.some((m) => m.type === \"summary\");\n const firstMessage = userAssistantMessages[0];\n const lastMessage = userAssistantMessages[userAssistantMessages.length - 1];\n const title = pipe(\n messages,\n Array$1.findFirst((m) => m.type === \"user\"),\n Option.map((m) => {\n const text = extractTextContent(m.message);\n return extractTitle(text);\n }),\n Option.getOrElse(() => hasSummary ? \"[Summary Only]\" : `Session ${sessionId.slice(0, 8)}`)\n );\n return {\n id: sessionId,\n projectName,\n title,\n // If session has summary but no user/assistant messages, count as 1\n messageCount: userAssistantMessages.length > 0 ? userAssistantMessages.length : hasSummary ? 1 : 0,\n createdAt: firstMessage?.timestamp,\n updatedAt: lastMessage?.timestamp\n };\n })\n ),\n { concurrency: 10 }\n );\n return sessions.sort((a, b) => {\n const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;\n const dateB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0;\n return dateB - dateA;\n });\n});\nvar readSession = (projectName, sessionId) => Effect.gen(function* () {\n const filePath = path4.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);\n const content = yield* Effect.tryPromise(() => fs3.readFile(filePath, \"utf-8\"));\n const lines = content.trim().split(\"\\n\").filter(Boolean);\n return lines.map((line) => JSON.parse(line));\n});\nvar deleteMessage = (projectName, sessionId, messageUuid) => Effect.gen(function* () {\n const filePath = path4.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);\n const content = yield* Effect.tryPromise(() => fs3.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(\n (m) => m.uuid === messageUuid || m.messageId === messageUuid\n );\n if (targetIndex === -1) {\n return { success: false, error: \"Message not found\" };\n }\n const deletedMsg = messages[targetIndex];\n const deletedUuid = deletedMsg?.uuid ?? deletedMsg?.messageId;\n const parentUuid = deletedMsg?.parentUuid;\n for (const msg of messages) {\n if (msg.parentUuid === deletedUuid) {\n msg.parentUuid = parentUuid;\n }\n }\n messages.splice(targetIndex, 1);\n const newContent = messages.map((m) => JSON.stringify(m)).join(\"\\n\") + \"\\n\";\n yield* Effect.tryPromise(() => fs3.writeFile(filePath, newContent, \"utf-8\"));\n return { success: true };\n});\nvar deleteSession = (projectName, sessionId) => Effect.gen(function* () {\n const sessionsDir = getSessionsDir();\n const projectPath = path4.join(sessionsDir, projectName);\n const filePath = path4.join(projectPath, `${sessionId}.jsonl`);\n const linkedAgents = yield* findLinkedAgents(projectName, sessionId);\n const stat2 = yield* Effect.tryPromise(() => fs3.stat(filePath));\n if (stat2.size === 0) {\n yield* Effect.tryPromise(() => fs3.unlink(filePath));\n const agentBackupDir2 = path4.join(projectPath, \".bak\");\n yield* Effect.tryPromise(() => fs3.mkdir(agentBackupDir2, { recursive: true }));\n for (const agentId of linkedAgents) {\n const agentPath = path4.join(projectPath, `${agentId}.jsonl`);\n const agentBackupPath = path4.join(agentBackupDir2, `${agentId}.jsonl`);\n yield* Effect.tryPromise(() => fs3.rename(agentPath, agentBackupPath).catch(() => {\n }));\n }\n yield* deleteLinkedTodos(sessionId, linkedAgents);\n return { success: true, deletedAgents: linkedAgents.length };\n }\n const backupDir = path4.join(sessionsDir, \".bak\");\n yield* Effect.tryPromise(() => fs3.mkdir(backupDir, { recursive: true }));\n const agentBackupDir = path4.join(projectPath, \".bak\");\n yield* Effect.tryPromise(() => fs3.mkdir(agentBackupDir, { recursive: true }));\n for (const agentId of linkedAgents) {\n const agentPath = path4.join(projectPath, `${agentId}.jsonl`);\n const agentBackupPath = path4.join(agentBackupDir, `${agentId}.jsonl`);\n yield* Effect.tryPromise(() => fs3.rename(agentPath, agentBackupPath).catch(() => {\n }));\n }\n const todosResult = yield* deleteLinkedTodos(sessionId, linkedAgents);\n const backupPath = path4.join(backupDir, `${projectName}_${sessionId}.jsonl`);\n yield* Effect.tryPromise(() => fs3.rename(filePath, backupPath));\n return {\n success: true,\n backupPath,\n deletedAgents: linkedAgents.length,\n deletedTodos: todosResult.deletedCount\n };\n});\nvar renameSession = (projectName, sessionId, newTitle) => Effect.gen(function* () {\n const filePath = path4.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);\n const content = yield* Effect.tryPromise(() => fs3.readFile(filePath, \"utf-8\"));\n const lines = content.trim().split(\"\\n\").filter(Boolean);\n if (lines.length === 0) {\n return { success: false, error: \"Empty session\" };\n }\n const messages = lines.map((line) => JSON.parse(line));\n const firstUserIdx = messages.findIndex((m) => m.type === \"user\");\n if (firstUserIdx === -1) {\n return { success: false, error: \"No user message found\" };\n }\n const firstMsg = messages[firstUserIdx];\n if (firstMsg?.message?.content && Array.isArray(firstMsg.message.content)) {\n const textIdx = firstMsg.message.content.findIndex(\n (item) => typeof item === \"object\" && item?.type === \"text\" && !item.text?.trim().startsWith(\"<ide_\")\n );\n if (textIdx >= 0) {\n const item = firstMsg.message.content[textIdx];\n const oldText = item.text ?? \"\";\n const cleanedText = oldText.replace(/^[^\\n]+\\n\\n/, \"\");\n item.text = `${newTitle}\n\n${cleanedText}`;\n }\n }\n const newContent = messages.map((m) => JSON.stringify(m)).join(\"\\n\") + \"\\n\";\n yield* Effect.tryPromise(() => fs3.writeFile(filePath, newContent, \"utf-8\"));\n return { success: true };\n});\nvar getSessionFiles = (projectName, sessionId) => Effect.gen(function* () {\n const messages = yield* readSession(projectName, sessionId);\n const fileChanges = [];\n const seenFiles = /* @__PURE__ */ new Set();\n for (const msg of messages) {\n if (msg.type === \"file-history-snapshot\") {\n const snapshot = msg;\n const backups = snapshot.snapshot?.trackedFileBackups;\n if (backups && typeof backups === \"object\") {\n for (const filePath of Object.keys(backups)) {\n if (!seenFiles.has(filePath)) {\n seenFiles.add(filePath);\n fileChanges.push({\n path: filePath,\n action: \"modified\",\n timestamp: snapshot.snapshot?.timestamp,\n messageUuid: snapshot.messageId ?? msg.uuid\n });\n }\n }\n }\n }\n if (msg.type === \"assistant\" && msg.message?.content) {\n const content = msg.message.content;\n if (Array.isArray(content)) {\n for (const item of content) {\n if (item && typeof item === \"object\" && \"type\" in item && item.type === \"tool_use\") {\n const toolUse = item;\n if ((toolUse.name === \"Write\" || toolUse.name === \"Edit\") && toolUse.input?.file_path) {\n const filePath = toolUse.input.file_path;\n if (!seenFiles.has(filePath)) {\n seenFiles.add(filePath);\n fileChanges.push({\n path: filePath,\n action: toolUse.name === \"Write\" ? \"created\" : \"modified\",\n timestamp: msg.timestamp,\n messageUuid: msg.uuid\n });\n }\n }\n }\n }\n }\n }\n }\n return {\n sessionId,\n projectName,\n files: fileChanges,\n totalChanges: fileChanges.length\n };\n});\nvar moveSession = (sourceProject, sessionId, targetProject) => Effect.gen(function* () {\n const sessionsDir = getSessionsDir();\n const sourcePath = path4.join(sessionsDir, sourceProject);\n const targetPath = path4.join(sessionsDir, targetProject);\n const sourceFile = path4.join(sourcePath, `${sessionId}.jsonl`);\n const targetFile = path4.join(targetPath, `${sessionId}.jsonl`);\n const sourceExists = yield* Effect.tryPromise(\n () => fs3.access(sourceFile).then(() => true).catch(() => false)\n );\n if (!sourceExists) {\n return { success: false, error: \"Source session not found\" };\n }\n const targetExists = yield* Effect.tryPromise(\n () => fs3.access(targetFile).then(() => true).catch(() => false)\n );\n if (targetExists) {\n return { success: false, error: \"Session already exists in target project\" };\n }\n yield* Effect.tryPromise(() => fs3.mkdir(targetPath, { recursive: true }));\n const linkedAgents = yield* findLinkedAgents(sourceProject, sessionId);\n yield* Effect.tryPromise(() => fs3.rename(sourceFile, targetFile));\n for (const agentId of linkedAgents) {\n const sourceAgentFile = path4.join(sourcePath, `${agentId}.jsonl`);\n const targetAgentFile = path4.join(targetPath, `${agentId}.jsonl`);\n const agentExists = yield* Effect.tryPromise(\n () => fs3.access(sourceAgentFile).then(() => true).catch(() => false)\n );\n if (agentExists) {\n yield* Effect.tryPromise(() => fs3.rename(sourceAgentFile, targetAgentFile));\n }\n }\n return { success: true };\n});\nvar splitSession = (projectName, sessionId, splitAtMessageUuid) => Effect.gen(function* () {\n const projectPath = path4.join(getSessionsDir(), projectName);\n const filePath = path4.join(projectPath, `${sessionId}.jsonl`);\n const content = yield* Effect.tryPromise(() => fs3.readFile(filePath, \"utf-8\"));\n const lines = content.trim().split(\"\\n\").filter(Boolean);\n const allMessages = lines.map((line) => JSON.parse(line));\n const splitIndex = allMessages.findIndex((m) => m.uuid === splitAtMessageUuid);\n if (splitIndex === -1) {\n return { success: false, error: \"Message not found\" };\n }\n if (splitIndex === 0) {\n return { success: false, error: \"Cannot split at first message\" };\n }\n const newSessionId = crypto.randomUUID();\n const splitMessage = allMessages[splitIndex];\n const shouldDuplicate = isContinuationSummary(splitMessage);\n let remainingMessages;\n const movedMessages = allMessages.slice(splitIndex);\n if (shouldDuplicate) {\n const duplicatedMessage = {\n ...splitMessage,\n uuid: crypto.randomUUID(),\n sessionId\n // Keep original session ID\n };\n remainingMessages = [...allMessages.slice(0, splitIndex), duplicatedMessage];\n } else {\n remainingMessages = allMessages.slice(0, splitIndex);\n }\n const updatedMovedMessages = movedMessages.map((msg, index) => {\n const updated = { ...msg, sessionId: newSessionId };\n if (index === 0) {\n updated.parentUuid = null;\n }\n return updated;\n });\n const remainingContent = remainingMessages.map((m) => JSON.stringify(m)).join(\"\\n\") + \"\\n\";\n yield* Effect.tryPromise(() => fs3.writeFile(filePath, remainingContent, \"utf-8\"));\n const newFilePath = path4.join(projectPath, `${newSessionId}.jsonl`);\n const newContent = updatedMovedMessages.map((m) => JSON.stringify(m)).join(\"\\n\") + \"\\n\";\n yield* Effect.tryPromise(() => fs3.writeFile(newFilePath, newContent, \"utf-8\"));\n const agentFiles = yield* Effect.tryPromise(() => fs3.readdir(projectPath));\n const agentJsonlFiles = agentFiles.filter((f) => f.startsWith(\"agent-\") && f.endsWith(\".jsonl\"));\n for (const agentFile of agentJsonlFiles) {\n const agentPath = path4.join(projectPath, agentFile);\n const agentContent = yield* Effect.tryPromise(() => fs3.readFile(agentPath, \"utf-8\"));\n const agentLines = agentContent.trim().split(\"\\n\").filter(Boolean);\n if (agentLines.length === 0) continue;\n const firstAgentMsg = JSON.parse(agentLines[0]);\n if (firstAgentMsg.sessionId === sessionId) {\n const agentId = agentFile.replace(\"agent-\", \"\").replace(\".jsonl\", \"\");\n const isRelatedToMoved = movedMessages.some(\n (msg) => msg.agentId === agentId\n );\n if (isRelatedToMoved) {\n const updatedAgentMessages = agentLines.map((line) => {\n const msg = JSON.parse(line);\n return JSON.stringify({ ...msg, sessionId: newSessionId });\n });\n const updatedAgentContent = updatedAgentMessages.join(\"\\n\") + \"\\n\";\n yield* Effect.tryPromise(() => fs3.writeFile(agentPath, updatedAgentContent, \"utf-8\"));\n }\n }\n }\n return {\n success: true,\n newSessionId,\n newSessionPath: newFilePath,\n movedMessageCount: movedMessages.length,\n duplicatedSummary: shouldDuplicate\n };\n});\nvar cleanInvalidMessages = (projectName, sessionId) => Effect.gen(function* () {\n const filePath = path4.join(getSessionsDir(), projectName, `${sessionId}.jsonl`);\n const content = yield* Effect.tryPromise(() => fs3.readFile(filePath, \"utf-8\"));\n const lines = content.trim().split(\"\\n\").filter(Boolean);\n if (lines.length === 0) return { removedCount: 0, remainingCount: 0 };\n const messages = lines.map((line) => JSON.parse(line));\n const invalidIndices = [];\n messages.forEach((msg, idx) => {\n if (isInvalidApiKeyMessage(msg)) {\n invalidIndices.push(idx);\n }\n });\n if (invalidIndices.length === 0) {\n const userAssistantCount = messages.filter(\n (m) => m.type === \"user\" || m.type === \"assistant\"\n ).length;\n const hasSummary2 = messages.some((m) => m.type === \"summary\");\n const remainingCount2 = userAssistantCount > 0 ? userAssistantCount : hasSummary2 ? 1 : 0;\n return { removedCount: 0, remainingCount: remainingCount2 };\n }\n const filtered = [];\n let lastValidUuid = null;\n for (let i = 0; i < messages.length; i++) {\n if (invalidIndices.includes(i)) {\n continue;\n }\n const msg = messages[i];\n if (msg.parentUuid && invalidIndices.some((idx) => messages[idx]?.uuid === msg.parentUuid)) {\n msg.parentUuid = lastValidUuid;\n }\n filtered.push(msg);\n lastValidUuid = msg.uuid;\n }\n const newContent = filtered.length > 0 ? filtered.map((m) => JSON.stringify(m)).join(\"\\n\") + \"\\n\" : \"\";\n yield* Effect.tryPromise(() => fs3.writeFile(filePath, newContent, \"utf-8\"));\n const remainingUserAssistant = filtered.filter(\n (m) => m.type === \"user\" || m.type === \"assistant\"\n ).length;\n const hasSummary = filtered.some((m) => m.type === \"summary\");\n const remainingCount = remainingUserAssistant > 0 ? remainingUserAssistant : hasSummary ? 1 : 0;\n return { removedCount: invalidIndices.length, remainingCount };\n});\nvar previewCleanup = (projectName) => Effect.gen(function* () {\n const projects = yield* listProjects;\n const targetProjects = projectName ? projects.filter((p) => p.name === projectName) : projects;\n const orphanTodos = yield* findOrphanTodos();\n const orphanTodoCount = orphanTodos.length;\n const results = yield* Effect.all(\n targetProjects.map(\n (project) => Effect.gen(function* () {\n const sessions = yield* listSessions(project.name);\n const emptySessions = sessions.filter((s) => s.messageCount === 0);\n const invalidSessions = sessions.filter(\n (s) => s.title?.includes(\"Invalid API key\") || s.title?.includes(\"API key\")\n );\n let emptyWithTodosCount = 0;\n for (const session of emptySessions) {\n const linkedAgents = yield* findLinkedAgents(project.name, session.id);\n const hasTodos = yield* sessionHasTodos(session.id, linkedAgents);\n if (hasTodos) {\n emptyWithTodosCount++;\n }\n }\n const orphanAgents = yield* findOrphanAgents(project.name);\n return {\n project: project.name,\n emptySessions,\n invalidSessions,\n emptyWithTodosCount,\n orphanAgentCount: orphanAgents.length,\n orphanTodoCount: 0\n // Will set for first project only\n };\n })\n ),\n { concurrency: 5 }\n );\n if (results.length > 0) {\n results[0] = { ...results[0], orphanTodoCount };\n }\n return results;\n});\nvar clearSessions = (options) => Effect.gen(function* () {\n const {\n projectName,\n clearEmpty = true,\n clearInvalid = true,\n skipWithTodos = true,\n clearOrphanAgents = false,\n clearOrphanTodos = false\n } = options;\n const projects = yield* listProjects;\n const targetProjects = projectName ? projects.filter((p) => p.name === projectName) : projects;\n let deletedSessionCount = 0;\n let removedMessageCount = 0;\n let deletedOrphanAgentCount = 0;\n let deletedOrphanTodoCount = 0;\n const sessionsToDelete = [];\n if (clearInvalid) {\n for (const project of targetProjects) {\n const projectPath = path4.join(getSessionsDir(), project.name);\n const files = yield* Effect.tryPromise(() => fs3.readdir(projectPath));\n const sessionFiles = files.filter((f) => f.endsWith(\".jsonl\") && !f.startsWith(\"agent-\"));\n for (const file of sessionFiles) {\n const sessionId = file.replace(\".jsonl\", \"\");\n const result = yield* cleanInvalidMessages(project.name, sessionId);\n removedMessageCount += result.removedCount;\n if (result.remainingCount === 0) {\n sessionsToDelete.push({ project: project.name, sessionId });\n }\n }\n }\n }\n if (clearEmpty) {\n for (const project of targetProjects) {\n const sessions = yield* listSessions(project.name);\n for (const session of sessions) {\n if (session.messageCount === 0) {\n const alreadyMarked = sessionsToDelete.some(\n (s) => s.project === project.name && s.sessionId === session.id\n );\n if (!alreadyMarked) {\n if (skipWithTodos) {\n const linkedAgents = yield* findLinkedAgents(project.name, session.id);\n const hasTodos = yield* sessionHasTodos(session.id, linkedAgents);\n if (hasTodos) continue;\n }\n sessionsToDelete.push({ project: project.name, sessionId: session.id });\n }\n }\n }\n }\n }\n for (const { project, sessionId } of sessionsToDelete) {\n yield* deleteSession(project, sessionId);\n deletedSessionCount++;\n }\n if (clearOrphanAgents) {\n for (const project of targetProjects) {\n const result = yield* deleteOrphanAgents(project.name);\n deletedOrphanAgentCount += result.count;\n }\n }\n if (clearOrphanTodos) {\n const result = yield* deleteOrphanTodos();\n deletedOrphanTodoCount = result.deletedCount;\n }\n return {\n success: true,\n deletedCount: deletedSessionCount,\n removedMessageCount,\n deletedOrphanAgentCount,\n deletedOrphanTodoCount\n };\n});\nexport {\n listSessions as a,\n deleteSession as b,\n clearSessions as c,\n deleteMessage as d,\n getSessionFiles as e,\n renameSession as f,\n getSessionsDir as g,\n listProjects as l,\n moveSession as m,\n previewCleanup as p,\n readSession as r,\n splitSession as s\n};\n"],"names":[],"mappings":"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"}