cc-chats 0.2.10 → 0.2.13

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/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +38 -24
  3. package/.next/app-path-routes-manifest.json +5 -3
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/_not-found.html +1 -1
  8. package/.next/server/app/_not-found.rsc +2 -2
  9. package/.next/server/app/api/project/export/route.js +9 -0
  10. package/.next/server/app/api/project/export/route.js.nft.json +1 -0
  11. package/.next/server/app/api/project/export/route_client-reference-manifest.js +1 -0
  12. package/.next/server/app/api/project/rename/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/projects/memory/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/projects/sessions/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/session/delete/route.js +1 -1
  18. package/.next/server/app/api/session/delete/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/session/duplicate/route.js +1 -1
  20. package/.next/server/app/api/session/duplicate/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/session/export/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/session/restore/route.js +1 -0
  23. package/.next/server/app/api/session/restore/route.js.nft.json +1 -0
  24. package/.next/server/app/api/session/restore/route_client-reference-manifest.js +1 -0
  25. package/.next/server/app/api/summary/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/index.html +1 -1
  28. package/.next/server/app/index.rsc +7 -7
  29. package/.next/server/app/page_client-reference-manifest.js +1 -1
  30. package/.next/server/app/project/[projectPath]/page.js +1 -1
  31. package/.next/server/app/project/[projectPath]/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/project/[projectPath]/session/[sessionId]/page.js +1 -1
  33. package/.next/server/app/project/[projectPath]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/project/[projectPath]/session/[sessionId]/subagent/[agentId]/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/search/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app-paths-manifest.json +5 -3
  37. package/.next/server/chunks/138.js +11 -11
  38. package/.next/server/chunks/976.js +1 -1
  39. package/.next/server/pages/404.html +1 -1
  40. package/.next/server/pages/500.html +1 -1
  41. package/.next/server/pages-manifest.json +1 -1
  42. package/.next/server/server-reference-manifest.json +1 -1
  43. package/.next/static/_aPBSJE0J647wYai5sVny/_buildManifest.js +1 -0
  44. package/.next/static/chunks/350-dfb508cd2d7a25bc.js +1 -0
  45. package/.next/static/chunks/app/api/project/export/route-2684bf32d26d6ddf.js +1 -0
  46. package/.next/static/chunks/app/api/project/rename/route-2684bf32d26d6ddf.js +1 -0
  47. package/.next/static/chunks/app/api/projects/memory/route-2684bf32d26d6ddf.js +1 -0
  48. package/.next/static/chunks/app/api/projects/route-2684bf32d26d6ddf.js +1 -0
  49. package/.next/static/chunks/app/api/projects/sessions/route-2684bf32d26d6ddf.js +1 -0
  50. package/.next/static/chunks/app/api/search/route-2684bf32d26d6ddf.js +1 -0
  51. package/.next/static/chunks/app/api/session/delete/route-2684bf32d26d6ddf.js +1 -0
  52. package/.next/static/chunks/app/api/session/duplicate/route-2684bf32d26d6ddf.js +1 -0
  53. package/.next/static/chunks/app/api/session/export/route-2684bf32d26d6ddf.js +1 -0
  54. package/.next/static/chunks/app/api/session/restore/route-2684bf32d26d6ddf.js +1 -0
  55. package/.next/static/chunks/app/api/summary/route-2684bf32d26d6ddf.js +1 -0
  56. package/.next/static/chunks/app/api/sync/route-2684bf32d26d6ddf.js +1 -0
  57. package/.next/static/chunks/app/page-71c671f0866da9b1.js +1 -0
  58. package/.next/static/chunks/app/project/[projectPath]/page-63bd63a4dbaea406.js +1 -0
  59. package/.next/static/chunks/app/project/[projectPath]/session/[sessionId]/page-6e8e75916b007a44.js +1 -0
  60. package/.next/static/chunks/app/project/[projectPath]/session/[sessionId]/subagent/[agentId]/{page-85cdf2a5b0b48877.js → page-6acb419eba018881.js} +1 -1
  61. package/.next/static/chunks/app/search/page-2fc0058200ac229e.js +1 -0
  62. package/.next/static/css/{9b30e272714585a0.css → 0f3f916f8451ef18.css} +1 -1
  63. package/package.json +1 -1
  64. package/.next/static/acJnwHSwMextiN1qnwxJc/_buildManifest.js +0 -1
  65. package/.next/static/chunks/969-7dc742bf07b75abf.js +0 -1
  66. package/.next/static/chunks/app/api/project/rename/route-ebc63ab88ecc0d35.js +0 -1
  67. package/.next/static/chunks/app/api/projects/memory/route-ebc63ab88ecc0d35.js +0 -1
  68. package/.next/static/chunks/app/api/projects/route-ebc63ab88ecc0d35.js +0 -1
  69. package/.next/static/chunks/app/api/projects/sessions/route-ebc63ab88ecc0d35.js +0 -1
  70. package/.next/static/chunks/app/api/search/route-ebc63ab88ecc0d35.js +0 -1
  71. package/.next/static/chunks/app/api/session/delete/route-ebc63ab88ecc0d35.js +0 -1
  72. package/.next/static/chunks/app/api/session/duplicate/route-ebc63ab88ecc0d35.js +0 -1
  73. package/.next/static/chunks/app/api/session/export/route-ebc63ab88ecc0d35.js +0 -1
  74. package/.next/static/chunks/app/api/summary/route-ebc63ab88ecc0d35.js +0 -1
  75. package/.next/static/chunks/app/api/sync/route-ebc63ab88ecc0d35.js +0 -1
  76. package/.next/static/chunks/app/page-b13da6aa72092cda.js +0 -1
  77. package/.next/static/chunks/app/project/[projectPath]/page-07140be0577e6ff6.js +0 -1
  78. package/.next/static/chunks/app/project/[projectPath]/session/[sessionId]/page-f237cb096030d860.js +0 -1
  79. package/.next/static/chunks/app/search/page-11c21f17d1c20ed9.js +0 -1
  80. /package/.next/static/{acJnwHSwMextiN1qnwxJc → _aPBSJE0J647wYai5sVny}/_ssgManifest.js +0 -0
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/api/projects/memory/route": "app/api/projects/memory/route.js",
4
+ "/api/project/export/route": "app/api/project/export/route.js",
4
5
  "/api/session/export/route": "app/api/session/export/route.js",
5
- "/api/project/rename/route": "app/api/project/rename/route.js",
6
6
  "/api/projects/route": "app/api/projects/route.js",
7
- "/api/session/delete/route": "app/api/session/delete/route.js",
8
- "/api/projects/sessions/route": "app/api/projects/sessions/route.js",
9
7
  "/api/search/route": "app/api/search/route.js",
8
+ "/api/project/rename/route": "app/api/project/rename/route.js",
9
+ "/api/projects/sessions/route": "app/api/projects/sessions/route.js",
10
10
  "/api/sync/route": "app/api/sync/route.js",
11
+ "/api/session/restore/route": "app/api/session/restore/route.js",
12
+ "/api/session/delete/route": "app/api/session/delete/route.js",
11
13
  "/api/summary/route": "app/api/summary/route.js",
12
14
  "/api/session/duplicate/route": "app/api/session/duplicate/route.js",
13
15
  "/project/[projectPath]/page": "app/project/[projectPath]/page.js",
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=138,exports.ids=[138],exports.modules={23485:(a,b,c)=>{c.d(b,{$P:()=>s,Be:()=>u,EB:()=>v,HM:()=>w,IK:()=>r,LS:()=>y,ac:()=>t,ts:()=>z,z1:()=>x});var d=c(87550),e=c.n(d),f=c(29021),g=c.n(f),h=c(33873),i=c.n(h),j=c(53554);let k=i().join(process.env.HOME||"",".claude"),l=i().join(k,"projects"),m=i().join(k,"chat-search.db"),n=[a=>{a.exec(`
1
+ "use strict";exports.id=138,exports.ids=[138],exports.modules={23485:(a,b,c)=>{c.d(b,{$P:()=>t,Be:()=>v,EB:()=>w,HM:()=>x,IK:()=>s,LS:()=>z,ac:()=>u,ts:()=>A,z1:()=>y});var d=c(87550),e=c.n(d),f=c(29021),g=c.n(f),h=c(33873),i=c.n(h),j=c(53554),k=c(51602);let l=i().join(process.env.HOME||"",".claude"),m=i().join(l,"projects"),n=i().join(l,"chat-search.db"),o=[a=>{a.exec(`
2
2
  CREATE TABLE IF NOT EXISTS indexed_files (
3
3
  path TEXT PRIMARY KEY,
4
4
  mtime INTEGER NOT NULL,
@@ -27,13 +27,13 @@
27
27
 
28
28
  CREATE INDEX IF NOT EXISTS idx_summaries_lookup
29
29
  ON summaries(type, target_id, project_path);
30
- `)},a=>{a.exec("ALTER TABLE indexed_files ADD COLUMN visible_message_count INTEGER NOT NULL DEFAULT 0"),a.exec("ALTER TABLE indexed_files ADD COLUMN first_message TEXT NOT NULL DEFAULT ''"),a.exec("DELETE FROM indexed_files"),a.exec("DELETE FROM messages_fts")}];function o(a){if("string"==typeof a)return a;let b=a.find(a=>"text"===a.type);return b&&"text"in b?b.text:""}let p=null;function q(){return p||(p=function(a){let b=(void 0)??l,c=(void 0)??j.D2,d=new(e())(a?.dbPath??m),f=d.pragma("user_version",{simple:!0})??0;for(let a=f;a<n.length;a++)d.transaction(()=>{n[a](d),d.pragma(`user_version = ${a+1}`)})();function h(a){let b=function(a){try{return g().readFileSync(a,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(a=>null!==a).filter(a=>"user"===a.type||"assistant"===a.type)}catch{return[]}}(a.path),c=d.prepare(`
30
+ `)},a=>{a.exec("ALTER TABLE indexed_files ADD COLUMN visible_message_count INTEGER NOT NULL DEFAULT 0"),a.exec("ALTER TABLE indexed_files ADD COLUMN first_message TEXT NOT NULL DEFAULT ''"),a.exec("DELETE FROM indexed_files"),a.exec("DELETE FROM messages_fts")},a=>{a.exec("ALTER TABLE indexed_files ADD COLUMN is_archived INTEGER NOT NULL DEFAULT 0")}];function p(a){if("string"==typeof a)return a;let b=a.find(a=>"text"===a.type);return b&&"text"in b?b.text:""}let q=null;function r(){return q||(q=function(a){let b=(void 0)??m,c=(void 0)??k.xt,d=a?.decodeProjectPath??j.D2,f=new(e())(a?.dbPath??n),h=f.pragma("user_version",{simple:!0})??0;for(let a=h;a<o.length;a++)f.transaction(()=>{o[a](f),f.pragma(`user_version = ${a+1}`)})();function l(a,b){let c=[];if(!g().existsSync(a))return c;for(let e of g().readdirSync(a)){let f,h=i().join(a,e);try{f=g().statSync(h)}catch{continue}if(f.isDirectory())for(let a of g().readdirSync(h)){let f;if(!a.endsWith(".jsonl")||a.startsWith("agent-"))continue;let j=i().join(h,a);try{f=g().statSync(j)}catch{continue}c.push({path:j,mtime:f.mtime.getTime(),sessionId:a.replace(".jsonl",""),projectPath:d(e),encodedPath:e,isArchived:b})}}return c}function q(a){let b=function(a){try{return g().readFileSync(a,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(a=>null!==a).filter(a=>"user"===a.type||"assistant"===a.type)}catch{return[]}}(a.path),c=f.prepare(`
31
31
  INSERT INTO messages_fts (content, session_id, project_path, message_uuid, user_type, timestamp)
32
32
  VALUES (?, ?, ?, ?, ?, ?)
33
- `),e=0,f="";for(let d of b){if(function(a){if(a.isMeta)return!0;let b=o(a.message.content);return!!(b.startsWith("<command-name>")||b.startsWith("<local-command-")||b.startsWith("Caveat:")||b.startsWith("<system-reminder>"))}(d))continue;let b=o(d.message.content);b.trim()&&(e++,f||"user"!==d.type||(f=b.slice(0,500)),c.run(b,a.sessionId,a.encodedPath,d.uuid,d.type,(function(a){if("number"==typeof a)return a;let b=Date.parse(a);return isNaN(b)?0:b})(d.timestamp).toString()))}d.prepare(`
34
- INSERT OR REPLACE INTO indexed_files (path, mtime, session_id, project_path, visible_message_count, first_message)
35
- VALUES (?, ?, ?, ?, ?, ?)
36
- `).run(a.path,a.mtime,a.sessionId,a.encodedPath,e,f)}function k(a){let b=d.prepare("SELECT session_id, project_path FROM indexed_files WHERE path = ?").get(a);b&&(d.prepare("DELETE FROM messages_fts WHERE session_id = ? AND project_path = ?").run(b.session_id,b.project_path),d.prepare("DELETE FROM indexed_files WHERE path = ?").run(a))}function p(){let a=function(){let a=[];if(!g().existsSync(b))return a;for(let d of g().readdirSync(b)){let e=i().join(b,d);if(g().statSync(e).isDirectory())for(let b of g().readdirSync(e)){if(!b.endsWith(".jsonl")||b.startsWith("agent-"))continue;let f=i().join(e,b),h=g().statSync(f);a.push({path:f,mtime:h.mtime.getTime(),sessionId:b.replace(".jsonl",""),projectPath:c(d),encodedPath:d})}}return a}(),e=new Set(a.map(a=>a.path)),f=new Map(d.prepare("SELECT path, mtime FROM indexed_files").all().map(a=>[a.path,a.mtime])),j=0,l=0,m=0;return d.transaction(()=>{for(let b of a){let a=f.get(b.path);void 0===a?(h(b),j++):a<b.mtime&&(k(b.path),h(b),l++)}for(let[a]of f)!e.has(a)&&(k(a),m++)})(),{added:j,updated:l,removed:m}}return{syncIndex:p,search:function(a,b=50,e){if(!a.trim())return[];let f=a.split(/\s+/).filter(Boolean).map(a=>`"${a}"*`).join(" "),g=e?`
33
+ `),d=0,e="";for(let f of b){if(function(a){if(a.isMeta)return!0;let b=p(a.message.content);return!!(b.startsWith("<command-name>")||b.startsWith("<local-command-")||b.startsWith("Caveat:")||b.startsWith("<system-reminder>"))}(f))continue;let b=p(f.message.content);b.trim()&&(d++,e||"user"!==f.type||(e=b.slice(0,500)),c.run(b,a.sessionId,a.encodedPath,f.uuid,f.type,(function(a){if("number"==typeof a)return a;let b=Date.parse(a);return isNaN(b)?0:b})(f.timestamp).toString()))}f.prepare(`
34
+ INSERT OR REPLACE INTO indexed_files (path, mtime, session_id, project_path, visible_message_count, first_message, is_archived)
35
+ VALUES (?, ?, ?, ?, ?, ?, ?)
36
+ `).run(a.path,a.mtime,a.sessionId,a.encodedPath,d,e,+!!a.isArchived)}function r(a){let b=f.prepare("SELECT session_id, project_path FROM indexed_files WHERE path = ?").get(a);b&&(f.prepare("DELETE FROM messages_fts WHERE session_id = ? AND project_path = ?").run(b.session_id,b.project_path),f.prepare("DELETE FROM indexed_files WHERE path = ?").run(a))}function s(){(0,k.zZ)({liveDir:b,archiveDir:c});let{pruned:a}=(0,k.hD)(void 0,{liveDir:b,archiveDir:c}),d=function(){let a=l(b,!1),d=l(c,!0),e=new Set(a.map(a=>`${a.encodedPath}/${a.sessionId}`)),f=[...a];for(let a of d)e.has(`${a.encodedPath}/${a.sessionId}`)||f.push(a);return f}(),e=new Set(d.map(a=>`${a.encodedPath}/${a.sessionId}`)),g=new Map(f.prepare("SELECT path, mtime, session_id, project_path FROM indexed_files").all().map(a=>[`${a.project_path}/${a.session_id}`,a])),h=0,i=0,j=0;return f.transaction(()=>{for(let a of d){let b=`${a.encodedPath}/${a.sessionId}`,c=g.get(b);c?(c.path!==a.path||c.mtime<a.mtime)&&(r(c.path),q(a),i++):(q(a),h++)}for(let[a,b]of g)!e.has(a)&&(r(b.path),j++)})(),{added:h,updated:i,removed:j,archivePruned:a}}return{syncIndex:s,search:function(a,b=50,c){if(!a.trim())return[];let e=a.split(/\s+/).filter(Boolean).map(a=>`"${a}"*`).join(" "),g=c?`
37
37
  SELECT
38
38
  content,
39
39
  session_id,
@@ -61,15 +61,15 @@
61
61
  WHERE messages_fts MATCH ?
62
62
  ORDER BY rank
63
63
  LIMIT ?
64
- `;return d.prepare(g).all(...e?[f,e,b]:[f,b]).map(a=>{let b=c(a.project_path),d=b.split("/").filter(Boolean),e=d[d.length-1]||b;return{content:a.content,sessionId:a.session_id,projectPath:a.project_path,projectName:e,messageUuid:a.message_uuid,userType:a.user_type,timestamp:parseInt(a.timestamp,10)||0,snippet:a.snippet,rank:a.rank}})},getIndexStats:function(){return{fileCount:d.prepare("SELECT COUNT(*) as count FROM indexed_files").get().count,messageCount:d.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count}},getSummary:function(a,b,c){let e=d.prepare("SELECT id, type, target_id, project_path, content, created_at, message_count FROM summaries WHERE type = ? AND target_id = ? AND project_path = ?").get(a,b,c);return e?{id:e.id,type:e.type,targetId:e.target_id,projectPath:e.project_path,content:e.content,createdAt:e.created_at,messageCount:e.message_count}:null},saveSummary:function(a){let b=`${a.type}-${a.projectPath}-${a.targetId}`;return d.prepare(`INSERT OR REPLACE INTO summaries (id, type, target_id, project_path, content, created_at, message_count)
65
- VALUES (?, ?, ?, ?, ?, ?, ?)`).run(b,a.type,a.targetId,a.projectPath,a.content,a.createdAt,a.messageCount),{...a,id:b}},getSessionSummaries:function(a){return d.prepare("SELECT id, type, target_id, project_path, content, created_at, message_count FROM summaries WHERE type = 'session' AND project_path = ?").all(a).map(a=>({id:a.id,type:a.type,targetId:a.target_id,projectPath:a.project_path,content:a.content,createdAt:a.created_at,messageCount:a.message_count}))},getSessionSummariesFromDb:function(a){return d.prepare(`
66
- SELECT session_id, first_message, visible_message_count, mtime
64
+ `;return f.prepare(g).all(...c?[e,c,b]:[e,b]).map(a=>{let b=d(a.project_path),c=b.split("/").filter(Boolean),e=c[c.length-1]||b;return{content:a.content,sessionId:a.session_id,projectPath:a.project_path,projectName:e,messageUuid:a.message_uuid,userType:a.user_type,timestamp:parseInt(a.timestamp,10)||0,snippet:a.snippet,rank:a.rank}})},getIndexStats:function(){return{fileCount:f.prepare("SELECT COUNT(*) as count FROM indexed_files").get().count,messageCount:f.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count}},getSummary:function(a,b,c){let d=f.prepare("SELECT id, type, target_id, project_path, content, created_at, message_count FROM summaries WHERE type = ? AND target_id = ? AND project_path = ?").get(a,b,c);return d?{id:d.id,type:d.type,targetId:d.target_id,projectPath:d.project_path,content:d.content,createdAt:d.created_at,messageCount:d.message_count}:null},saveSummary:function(a){let b=`${a.type}-${a.projectPath}-${a.targetId}`;return f.prepare(`INSERT OR REPLACE INTO summaries (id, type, target_id, project_path, content, created_at, message_count)
65
+ VALUES (?, ?, ?, ?, ?, ?, ?)`).run(b,a.type,a.targetId,a.projectPath,a.content,a.createdAt,a.messageCount),{...a,id:b}},getSessionSummaries:function(a){return f.prepare("SELECT id, type, target_id, project_path, content, created_at, message_count FROM summaries WHERE type = 'session' AND project_path = ?").all(a).map(a=>({id:a.id,type:a.type,targetId:a.target_id,projectPath:a.project_path,content:a.content,createdAt:a.created_at,messageCount:a.message_count}))},getSessionSummariesFromDb:function(a){return f.prepare(`
66
+ SELECT session_id, first_message, visible_message_count, mtime, is_archived
67
67
  FROM indexed_files
68
68
  WHERE project_path = ? AND visible_message_count > 0 AND first_message != ''
69
69
  ORDER BY mtime DESC
70
- `).all(a).map(a=>({id:a.session_id,firstMessage:a.first_message,messageCount:a.visible_message_count,lastActivity:a.mtime}))},getProjectStats:function(){0===d.prepare("SELECT COUNT(*) as count FROM indexed_files").get().count&&p();let a=d.prepare(`
70
+ `).all(a).map(a=>({id:a.session_id,firstMessage:a.first_message,messageCount:a.visible_message_count,lastActivity:a.mtime,isArchived:1===a.is_archived}))},getProjectStats:function(){0===f.prepare("SELECT COUNT(*) as count FROM indexed_files").get().count&&s();let a=f.prepare(`
71
71
  SELECT project_path, COUNT(*) as sessions, SUM(visible_message_count) as messages
72
72
  FROM indexed_files
73
73
  WHERE visible_message_count > 0
74
74
  GROUP BY project_path
75
- `).all(),b=new Map;for(let c of a)b.set(c.project_path,{sessionCount:c.sessions,totalMessages:c.messages});return b},renameProjectInIndex:function(a,b){d.transaction(()=>{d.prepare("UPDATE indexed_files SET project_path = ? WHERE project_path = ?").run(b,a),d.prepare("UPDATE messages_fts SET project_path = ? WHERE project_path = ?").run(b,a),d.prepare("UPDATE summaries SET project_path = ?, id = REPLACE(id, ?, ?) WHERE project_path = ?").run(b,a,b,a)})()},close:function(){d.close()}}}()),p}function r(){return q().syncIndex()}function s(a,b,c){return q().search(a,b,c)}function t(){return q().getIndexStats()}function u(a,b,c){return q().getSummary(a,b,c)}function v(a){return q().saveSummary(a)}function w(a){return q().getSessionSummaries(a)}function x(a){return q().getSessionSummariesFromDb(a)}function y(){return q().getProjectStats()}function z(a,b){return q().renameProjectInIndex(a,b)}},44599:(a,b,c)=>{function d(a){return"string"==typeof a?a:a.filter(a=>"text"===a.type).map(a=>a.text).join("\n")}function e(a){if(a.isMeta)return!0;let b=function(a){if("string"==typeof a)return a;let b=a.find(a=>"text"===a.type);return b?b.text:""}(a.message.content);return!!(b.startsWith("<local-command-")||b.startsWith("Caveat:")||b.startsWith("<system-reminder>"))}function f(a){let b=a.message.content;return"string"==typeof b?0===b.trim().length:0===b.length||!b.some(a=>"text"===a.type&&a.text.trim().length>0)}c.d(b,{B1:()=>f,X4:()=>e,ri:()=>d})},53554:(a,b,c)=>{c.d(b,{$d:()=>C,CB:()=>z,D2:()=>n,Sh:()=>B,UZ:()=>E,V3:()=>o,yu:()=>D,z4:()=>A});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(44599),j=c(23485);let k=g().join(process.env.HOME||"",".claude"),l=g().join(k,"projects"),m=new Map;function n(a){let b=m.get(a);if(void 0!==b)return b;let c=a.replace(/-/g,"/");if(e().existsSync(c))return m.set(a,c),c;let d=a.split("-").filter(Boolean),f=function a(b,c){if(b>=d.length)return e().existsSync(c)?c:null;for(let f=d.length;f>b;f--){let g=c+"/"+d.slice(b,f).join("-");if(e().existsSync(g)){let b=a(f,g);if(b)return b}}return null}(0,"");if(f&&e().existsSync(f))return m.set(a,f),f;let g=function(a){let b="",c=0;for(let d=0;d<a.length;d++){let f=b+"/"+a[d];if(e().existsSync(f))b=f,c=d+1;else break}if(c>=a.length)return b;let d=b+"/*"+a.slice(c).join("*")+"*";try{let a=(0,h.execSync)(`ls -d ${d} 2>/dev/null`,{encoding:"utf-8"}).trim().split("\n").filter(Boolean);if(1===a.length)return a[0]}catch{}return null}(d);return g?(m.set(a,g),g):(m.set(a,c),c)}function o(a){return a.replace(/\//g,"-")}let p=process.env.HOME||"";function q(a){let b=a.split("/").filter(Boolean);return b[b.length-1]||a}function r(a){if("string"==typeof a)return a;let b=a.find(a=>"text"===a.type);return b&&"text"in b?b.text:""}function s(a){if(a.isMeta)return!0;let b=r(a.message.content);return!!(b.startsWith("<command-name>")||b.startsWith("<local-command-")||b.startsWith("Caveat:"))}function t(a){if("number"==typeof a)return a;let b=Date.parse(a);return isNaN(b)?0:b}function u(a){try{return e().readFileSync(a,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(a=>null!==a).filter(a=>"user"===a.type||"assistant"===a.type)}catch{return[]}}function v(a){let b=0,c=0,d=0,e=0,f=!1;for(let g of a){let a=g.message.usage;a&&(f=!0,b+=a.input_tokens||0,c+=a.output_tokens||0,d+=a.cache_creation_input_tokens||0,e+=a.cache_read_input_tokens||0)}if(f)return{input_tokens:b,output_tokens:c,cache_creation_input_tokens:d,cache_read_input_tokens:e}}function w(a){try{return e().readdirSync(a).filter(a=>a.endsWith(".jsonl")&&!a.startsWith("agent-"))}catch{return[]}}let x=null;function y(){return x||(x=function(a){let b=(void 0)??l,c=(void 0)??n,d=a?.getProjectStats??j.LS,f=a?.getSessionSummariesFromDb??j.z1;function h(a){try{let b=e().readdirSync(a).filter(a=>a.endsWith(".jsonl")&&!a.startsWith("agent-")),d=g().basename(a);return b.map(b=>{let e=g().join(a,b),f=u(e);if(0===f.length)return null;let h=b.replace(".jsonl",""),j=f.find(a=>"user"===a.type&&!s(a)),k=j?r(j.message.content):"No messages",l=f.map(a=>t(a.timestamp)).filter(a=>a>0),m=l.length>0?Math.max(...l):0,n=c(d),o=f.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,p=v(f);return{id:h,projectPath:n,projectName:q(n),encodedPath:d,messages:f,firstMessage:k.slice(0,500),lastActivity:m,messageCount:o,...p&&{tokenUsage:p}}}).filter(a=>null!==a).sort((a,b)=>b.lastActivity-a.lastActivity)}catch{return[]}}return{getAllProjects:function(){try{if(!e().existsSync(b))return[];return e().readdirSync(b).map(a=>{let d=g().join(b,a);if(!e().statSync(d).isDirectory())return null;let f=h(d);if(0===f.length)return null;let i=c(a),j=f.reduce((a,b)=>a+b.messageCount,0),k=Math.max(...f.map(a=>a.lastActivity));return{path:i,name:q(i),encodedPath:a,sessions:f,totalMessages:j,lastActivity:k}}).filter(a=>null!==a).sort((a,b)=>b.lastActivity-a.lastActivity)}catch{return[]}},getProjectByPath:function(a){let d=g().join(b,a);try{if(!e().existsSync(d))return null;let b=h(d);if(0===b.length)return null;let f=c(a),g=b.reduce((a,b)=>a+b.messageCount,0),i=Math.max(...b.map(a=>a.lastActivity));return{path:f,name:q(f),encodedPath:a,sessions:b,totalMessages:g,lastActivity:i}}catch{return null}},getProjectsSummary:function(){try{if(!e().existsSync(b))return[];let a=e().readdirSync(b),f=d();return a.map(a=>{let d=g().join(b,a);if(!e().statSync(d).isDirectory())return null;let h=c(a);if(!e().existsSync(h))return null;let i=!p||!h.startsWith(p),j=w(d);if(0===j.length)return null;let k=f.get(a),l=0;for(let a of j){let b=g().join(d,a),c=e().statSync(b).mtime.getTime();c>l&&(l=c)}let m=e().existsSync(g().join(d,"memory","MEMORY.md"));return{path:h,name:q(h),encodedPath:a,sessionCount:k?.sessionCount??j.length,totalMessages:k?.totalMessages??0,lastActivity:l,hasMemory:m,isOutsideHome:i}}).filter(a=>null!==a).sort((a,b)=>b.lastActivity-a.lastActivity)}catch{return[]}},getSessionsSummary:function(a){let c=f(a);if(c.length>0)return c.map(b=>({...b,encodedPath:a}));let d=g().join(b,a);try{if(!e().existsSync(d))return[];return w(d).map(b=>{let c=g().join(d,b),f=e().statSync(c);if(0===f.size)return null;let h=b.replace(".jsonl",""),j=function(a,b){try{return e().readFileSync(a,"utf-8").split("\n").filter(a=>a.trim()).slice(0,100).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(a=>null!==a).filter(a=>"user"===a.type||"assistant"===a.type)}catch{return[]}}(c,0);if(0===j.length)return null;let k=j.find(a=>"user"===a.type&&!s(a));if(!k)return null;let l=r(k.message.content),m=function(a){try{let b=e().readFileSync(a,"utf-8"),c=0,d=0;for(;d<b.length;){let a=b.indexOf("\n",d),e=-1===a?b.slice(d):b.slice(d,a);if(d=-1===a?b.length:a+1,e.trim())try{let a=JSON.parse(e);("user"===a.type||"assistant"===a.type)&&!(0,i.X4)(a)&&!(0,i.B1)(a)&&c++}catch{continue}}return c}catch{return 0}}(c);return{id:h,encodedPath:a,firstMessage:l.slice(0,500),messageCount:m,lastActivity:f.mtime.getTime()}}).filter(a=>null!==a).sort((a,b)=>b.lastActivity-a.lastActivity)}catch{return[]}},getSessionById:function(a,d){let f=g().join(b,a),h=g().join(f,`${d}.jsonl`);try{if(!e().existsSync(h))return null;let b=u(h);if(0===b.length)return null;let f=b.find(a=>"user"===a.type&&!s(a)),g=f?r(f.message.content):"No messages",j=b.map(a=>t(a.timestamp)).filter(a=>a>0),k=j.length>0?Math.max(...j):0,l=c(a),m=b.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,n=v(b);return{id:d,projectPath:l,projectName:q(l),encodedPath:a,messages:b,firstMessage:g.slice(0,500),lastActivity:k,messageCount:m,...n&&{tokenUsage:n}}}catch{return null}},getSubagentsForSession:function(a,c){let d=g().join(b,a,c,"subagents");try{if(!e().existsSync(d))return[];return e().readdirSync(d).filter(a=>a.startsWith("agent-")&&a.endsWith(".jsonl")).map(a=>{let b=a.replace("agent-","").replace(".jsonl",""),c=g().join(d,a),e=u(c);if(0===e.length)return null;let f=e.find(a=>"user"===a.type&&!s(a)),h=f?r(f.message.content):"No messages",j=e.map(a=>t(a.timestamp)).filter(a=>a>0),k=j.length>0?Math.max(...j):0,l=e.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,m=e[0].slug??b;return{agentId:b,slug:m,firstMessage:h.slice(0,500),messageCount:l,lastActivity:k}}).filter(a=>null!==a).sort((a,b)=>a.lastActivity-b.lastActivity)}catch{return[]}},getSubagentById:function(a,d,f){let h=g().join(b,a,d,"subagents",`agent-${f}.jsonl`);try{if(!e().existsSync(h))return null;let b=u(h);if(0===b.length)return null;let d=b.find(a=>"user"===a.type&&!s(a)),g=d?r(d.message.content):"No messages",j=b.map(a=>t(a.timestamp)).filter(a=>a>0),k=j.length>0?Math.max(...j):0,l=c(a),m=b.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,n=v(b);return{id:b[0].slug??f,projectPath:l,projectName:q(l),encodedPath:a,messages:b,firstMessage:g.slice(0,500),lastActivity:k,messageCount:m,...n&&{tokenUsage:n}}}catch{return null}}}}()),x}function z(a){return y().getProjectByPath(a)}function A(){return y().getProjectsSummary()}function B(a){return y().getSessionsSummary(a)}function C(a,b){return y().getSessionById(a,b)}function D(a,b){return y().getSubagentsForSession(a,b)}function E(a,b,c){return y().getSubagentById(a,b,c)}}};
75
+ `).all(),b=new Map;for(let c of a)b.set(c.project_path,{sessionCount:c.sessions,totalMessages:c.messages});return b},renameProjectInIndex:function(a,b){f.transaction(()=>{f.prepare("UPDATE indexed_files SET project_path = ? WHERE project_path = ?").run(b,a),f.prepare("UPDATE messages_fts SET project_path = ? WHERE project_path = ?").run(b,a),f.prepare("UPDATE summaries SET project_path = ?, id = REPLACE(id, ?, ?) WHERE project_path = ?").run(b,a,b,a)})()},close:function(){f.close()}}}()),q}function s(){return r().syncIndex()}function t(a,b,c){return r().search(a,b,c)}function u(){return r().getIndexStats()}function v(a,b,c){return r().getSummary(a,b,c)}function w(a){return r().saveSummary(a)}function x(a){return r().getSessionSummaries(a)}function y(a){return r().getSessionSummariesFromDb(a)}function z(){return r().getProjectStats()}function A(a,b){return r().renameProjectInIndex(a,b)}},44599:(a,b,c)=>{function d(a){return"string"==typeof a?a:a.filter(a=>"text"===a.type).map(a=>a.text).join("\n")}function e(a){if(!a.startsWith("<command-name>")&&!a.startsWith("<command-message>"))return null;let b=a.match(/<command-name>([^<]+)<\/command-name>/);if(!b)return null;let c=a.match(/<command-args>([^<]*)<\/command-args>/);return{name:b[1].trim(),args:c?c[1].trim():""}}function f(a){if(a.isMeta)return!0;let b=function(a){if("string"==typeof a)return a;let b=a.find(a=>"text"===a.type);return b?b.text:""}(a.message.content);return!!(b.startsWith("<local-command-")||b.startsWith("Caveat:")||b.startsWith("<system-reminder>"))}function g(a){let b=a.message.content;return"string"==typeof b?0===b.trim().length:0===b.length||!b.some(a=>"text"===a.type&&a.text.trim().length>0)}c.d(b,{B1:()=>g,Tc:()=>e,X4:()=>f,ri:()=>d})},51602:(a,b,c)=>{c.d(b,{br:()=>s,hD:()=>r,vL:()=>q,xt:()=>j,zZ:()=>o});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f);let h=g().join(process.env.HOME||"",".claude"),i=g().join(h,"projects"),j=g().join(h,"chat-archive"),k="CC_CHATS_ARCHIVE_MAX_SIZE",l={"":1,b:1,k:1024,kb:1024,m:1048576,mb:1048576,g:0x40000000,gb:0x40000000,t:0x10000000000,tb:0x10000000000};function m(a){return a?.archiveDir??j}function n(a){return a?.liveDir??i}function o(a){let b=n(a),c=m(a);if(!e().existsSync(b))return{copied:0,skipped:0};e().mkdirSync(c,{recursive:!0});let d=0,f=0;for(let a of e().readdirSync(b)){let h,i=g().join(b,a);try{h=e().statSync(i)}catch{continue}if(!h.isDirectory())continue;let j=g().join(c,a);for(let a of e().readdirSync(i)){let b,c=g().join(i,a);try{b=e().statSync(c)}catch{continue}if(b.isFile()&&a.endsWith(".jsonl")){p(c,g().join(j,a))?d++:f++;continue}if(b.isDirectory()){let b=g().join(c,"subagents");if(!e().existsSync(b))continue;let h=g().join(j,a,"subagents");for(let a of e().readdirSync(b)){if(a.endsWith(".jsonl"))p(g().join(b,a),g().join(h,a))?d++:f++}}}}return{copied:d,skipped:f}}function p(a,b){let c=e().statSync(a);if(e().existsSync(b)){let a=e().statSync(b);if(a.mtime.getTime()>=c.mtime.getTime()&&a.size===c.size)return!1}return e().mkdirSync(g().dirname(b),{recursive:!0}),e().copyFileSync(a,b),e().utimesSync(b,c.atime,c.mtime),!0}function q(a,b,c){let d=n(c),f=m(c),h=g().join(d,a,`${b}.jsonl`),i=g().join(f,a,`${b}.jsonl`);if(e().existsSync(h))return"already-live";if(!e().existsSync(i))return"not-archived";e().mkdirSync(g().dirname(h),{recursive:!0}),e().copyFileSync(i,h);let j=new Date;e().utimesSync(h,j,j);let k=g().join(f,a,b,"subagents");if(e().existsSync(k)){let c=g().join(d,a,b,"subagents");for(let a of(e().mkdirSync(c,{recursive:!0}),e().readdirSync(k)))a.endsWith(".jsonl")&&e().copyFileSync(g().join(k,a),g().join(c,a))}return"restored"}function r(a=function(){let a=process.env[k];if(!a)return 0x140000000;let b=function(a){let b=a.trim().match(/^(\d+(?:\.\d+)?)\s*([a-zA-Z]*)$/);if(!b)return null;let c=Number(b[1]),d=l[b[2].toLowerCase()];return Number.isFinite(c)&&void 0!==d?Math.floor(c*d):null}(a);return null===b?(console.warn(`[cc-chats] Invalid ${k}=${JSON.stringify(a)}; falling back to default 5 GB`),0x140000000):b}(),b){if(a<=0)return{pruned:0,bytesFreed:0};let c=n(b),d=function(a){let b=[];if(!e().existsSync(a))return b;for(let c of e().readdirSync(a)){let d,f=g().join(a,c);try{d=e().statSync(f)}catch{continue}if(d.isDirectory())for(let a of e().readdirSync(f)){let d;if(!a.endsWith(".jsonl"))continue;let h=g().join(f,a);try{d=e().statSync(h)}catch{continue}if(!d.isFile())continue;let i=a.replace(".jsonl",""),j=g().join(f,i),k=g().join(j,"subagents"),l=[],m=d.size;if(e().existsSync(k))for(let a of e().readdirSync(k)){if(!a.endsWith(".jsonl"))continue;let b=g().join(k,a);try{m+=e().statSync(b).size,l.push(b)}catch{continue}}b.push({encodedPath:c,sessionId:i,mtime:d.mtime.getTime(),size:m,jsonlPath:h,sessionDir:e().existsSync(j)?j:null,subagentPaths:l})}}return b}(m(b)),f=d.reduce((a,b)=>a+b.size,0);if(f<=a)return{pruned:0,bytesFreed:0};d.sort((a,b)=>a.mtime-b.mtime);let h=f,i=0,j=0;for(let b of d){if(h<=a)break;let d=g().join(c,b.encodedPath,`${b.sessionId}.jsonl`);if(!e().existsSync(d)){try{e().unlinkSync(b.jsonlPath)}catch{continue}for(let a of b.subagentPaths)try{e().unlinkSync(a)}catch{continue}if(b.sessionDir&&e().existsSync(b.sessionDir))try{e().rmSync(b.sessionDir,{recursive:!0,force:!0})}catch{}i++,j+=b.size,h-=b.size}}return{pruned:i,bytesFreed:j}}function s(a,b,c){let d=m(c),f=g().join(d,a,`${b}.jsonl`),h=g().join(d,a,b);e().existsSync(f)&&e().unlinkSync(f),e().existsSync(h)&&e().rmSync(h,{recursive:!0,force:!0})}},53554:(a,b,c)=>{c.d(b,{$d:()=>D,CB:()=>A,D2:()=>o,Sh:()=>C,UZ:()=>F,V3:()=>p,yu:()=>E,z4:()=>B});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(44599),j=c(23485),k=c(51602);let l=g().join(process.env.HOME||"",".claude"),m=g().join(l,"projects"),n=new Map;function o(a){let b=n.get(a);if(void 0!==b)return b;let c=a.replace(/-/g,"/");if(e().existsSync(c))return n.set(a,c),c;let d=a.split("-").filter(Boolean),f=function a(b,c){if(b>=d.length)return e().existsSync(c)?c:null;for(let f=d.length;f>b;f--){let g=c+"/"+d.slice(b,f).join("-");if(e().existsSync(g)){let b=a(f,g);if(b)return b}}return null}(0,"");if(f&&e().existsSync(f))return n.set(a,f),f;let g=function(a){let b="",c=0;for(let d=0;d<a.length;d++){let f=b+"/"+a[d];if(e().existsSync(f))b=f,c=d+1;else break}if(c>=a.length)return b;let d=b+"/*"+a.slice(c).join("*")+"*";try{let a=(0,h.execSync)(`ls -d ${d} 2>/dev/null`,{encoding:"utf-8"}).trim().split("\n").filter(Boolean);if(1===a.length)return a[0]}catch{}return null}(d);return g?(n.set(a,g),g):(n.set(a,c),c)}function p(a){return a.replace(/\//g,"-")}let q=process.env.HOME||"";function r(a){let b=a.split("/").filter(Boolean);return b[b.length-1]||a}function s(a){if("string"==typeof a)return a;let b=a.find(a=>"text"===a.type);return b&&"text"in b?b.text:""}function t(a){if(a.isMeta)return!0;let b=s(a.message.content);return!!(b.startsWith("<command-name>")||b.startsWith("<local-command-")||b.startsWith("Caveat:"))}function u(a){if("number"==typeof a)return a;let b=Date.parse(a);return isNaN(b)?0:b}function v(a){try{return e().readFileSync(a,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(a=>null!==a).filter(a=>"user"===a.type||"assistant"===a.type)}catch{return[]}}function w(a){let b=0,c=0,d=0,e=0,f=!1;for(let g of a){let a=g.message.usage;a&&(f=!0,b+=a.input_tokens||0,c+=a.output_tokens||0,d+=a.cache_creation_input_tokens||0,e+=a.cache_read_input_tokens||0)}if(f)return{input_tokens:b,output_tokens:c,cache_creation_input_tokens:d,cache_read_input_tokens:e}}function x(a){try{return e().readdirSync(a).filter(a=>a.endsWith(".jsonl")&&!a.startsWith("agent-"))}catch{return[]}}let y=null;function z(){return y||(y=function(a){let b=(void 0)??m,c=(void 0)??k.xt,d=a?.decodeProjectPath??o,f=a?.getProjectStats??j.LS,h=a?.getSessionSummariesFromDb??j.z1;function l(a,d){let f=g().join(b,a,d,"subagents");if(e().existsSync(f))return{dir:f,isArchived:!1};let h=g().join(c,a,d,"subagents");return e().existsSync(h)?{dir:h,isArchived:!0}:null}function n(){let a=new Set,d=b=>{if(e().existsSync(b))for(let c of e().readdirSync(b)){let d=g().join(b,c);try{e().statSync(d).isDirectory()&&a.add(c)}catch{continue}}};return d(b),d(c),[...a]}function p(a){let d=g().join(b,a);if(e().existsSync(d))return{dir:d,isArchived:!1};let f=g().join(c,a);return e().existsSync(f)?{dir:f,isArchived:!0}:null}function y(a){let f=new Map,h=(b,c)=>{let d=g().join(b,a);if(e().existsSync(d))try{for(let a of e().readdirSync(d)){if(!a.endsWith(".jsonl")||a.startsWith("agent-"))continue;let b=a.replace(".jsonl","");f.has(b)||f.set(b,{filePath:g().join(d,a),isArchived:c})}}catch{}};h(b,!1),h(c,!0);let j=[];for(let[b,{filePath:c,isArchived:e}]of f){let f=v(c);if(0===f.length)continue;let g=f.find(a=>"user"===a.type&&!t(a)),h=g?s(g.message.content):"No messages",k=f.map(a=>u(a.timestamp)).filter(a=>a>0),l=k.length>0?Math.max(...k):0,m=d(a),n=f.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,o=w(f);j.push({id:b,projectPath:m,projectName:r(m),encodedPath:a,messages:f,firstMessage:h.slice(0,500),lastActivity:l,messageCount:n,...o&&{tokenUsage:o},...e&&{isArchived:!0}})}return j.sort((a,b)=>b.lastActivity-a.lastActivity)}return{getAllProjects:function(){try{return n().map(a=>{let b=y(a);if(0===b.length)return null;let c=d(a),e=b.reduce((a,b)=>a+b.messageCount,0),f=Math.max(...b.map(a=>a.lastActivity));return{path:c,name:r(c),encodedPath:a,sessions:b,totalMessages:e,lastActivity:f}}).filter(a=>null!==a).sort((a,b)=>b.lastActivity-a.lastActivity)}catch{return[]}},getProjectByPath:function(a){try{if(!p(a))return null;let b=y(a);if(0===b.length)return null;let c=d(a),e=b.reduce((a,b)=>a+b.messageCount,0),f=Math.max(...b.map(a=>a.lastActivity));return{path:c,name:r(c),encodedPath:a,sessions:b,totalMessages:e,lastActivity:f}}catch{return null}},getProjectsSummary:function(){try{let a=n(),h=f();return a.map(a=>{if(!p(a))return null;let f=d(a);if(!e().existsSync(f))return null;let i=!q||!f.startsWith(q),j=e().existsSync(g().join(b,a))?x(g().join(b,a)).map(c=>({filePath:g().join(b,a,c)})):[],k=new Set(j.map(a=>g().basename(a.filePath).replace(".jsonl",""))),l=e().existsSync(g().join(c,a))?x(g().join(c,a)).filter(a=>!k.has(a.replace(".jsonl",""))).map(b=>({filePath:g().join(c,a,b)})):[],m=[...j,...l];if(0===m.length)return null;let n=h.get(a),o=0;for(let{filePath:a}of m)try{let b=e().statSync(a).mtime.getTime();b>o&&(o=b)}catch{continue}let s=e().existsSync(g().join(b,a,"memory","MEMORY.md"));return{path:f,name:r(f),encodedPath:a,sessionCount:n?.sessionCount??m.length,totalMessages:n?.totalMessages??0,lastActivity:o,hasMemory:s,isOutsideHome:i}}).filter(a=>null!==a).sort((a,b)=>b.lastActivity-a.lastActivity)}catch{return[]}},getSessionsSummary:function(a){let d=h(a);if(d.length>0)return d.map(b=>({...b,encodedPath:a}));let f=new Set,j=[],k=(b,c)=>{let d=g().join(b,a);if(e().existsSync(d))for(let b of x(d)){let h,k=b.replace(".jsonl","");if(f.has(k))continue;let l=g().join(d,b);try{h=e().statSync(l)}catch{continue}if(0===h.size)continue;let m=function(a,b){try{return e().readFileSync(a,"utf-8").split("\n").filter(a=>a.trim()).slice(0,100).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(a=>null!==a).filter(a=>"user"===a.type||"assistant"===a.type)}catch{return[]}}(l,0);if(0===m.length)continue;let n=m.find(a=>"user"===a.type&&!t(a));if(!n)continue;let o=s(n.message.content),p=function(a){try{let b=e().readFileSync(a,"utf-8"),c=0,d=0;for(;d<b.length;){let a=b.indexOf("\n",d),e=-1===a?b.slice(d):b.slice(d,a);if(d=-1===a?b.length:a+1,e.trim())try{let a=JSON.parse(e);("user"===a.type||"assistant"===a.type)&&!(0,i.X4)(a)&&!(0,i.B1)(a)&&c++}catch{continue}}return c}catch{return 0}}(l);f.add(k),j.push({id:k,encodedPath:a,firstMessage:o.slice(0,500),messageCount:p,lastActivity:h.mtime.getTime(),...c&&{isArchived:!0}})}};return k(b,!1),k(c,!0),j.sort((a,b)=>b.lastActivity-a.lastActivity)},getSessionById:function(a,f){let h=function(a,d){let f=g().join(b,a,`${d}.jsonl`);if(e().existsSync(f))return{filePath:f,isArchived:!1};let h=g().join(c,a,`${d}.jsonl`);return e().existsSync(h)?{filePath:h,isArchived:!0}:null}(a,f);if(!h)return null;try{let b=v(h.filePath);if(0===b.length)return null;let c=b.find(a=>"user"===a.type&&!t(a)),e=c?s(c.message.content):"No messages",g=b.map(a=>u(a.timestamp)).filter(a=>a>0),j=g.length>0?Math.max(...g):0,k=d(a),l=b.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,m=w(b);return{id:f,projectPath:k,projectName:r(k),encodedPath:a,messages:b,firstMessage:e.slice(0,500),lastActivity:j,messageCount:l,...m&&{tokenUsage:m},...h.isArchived&&{isArchived:!0}}}catch{return null}},getSubagentsForSession:function(a,b){let c=l(a,b);try{if(!c)return[];return e().readdirSync(c.dir).filter(a=>a.startsWith("agent-")&&a.endsWith(".jsonl")).map(a=>{let b=a.replace("agent-","").replace(".jsonl",""),d=g().join(c.dir,a),e=v(d);if(0===e.length)return null;let f=e.find(a=>"user"===a.type&&!t(a)),h=f?s(f.message.content):"No messages",j=e.map(a=>u(a.timestamp)).filter(a=>a>0),k=j.length>0?Math.max(...j):0,l=e.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,m=e[0].slug??b;return{agentId:b,slug:m,firstMessage:h.slice(0,500),messageCount:l,lastActivity:k}}).filter(a=>null!==a).sort((a,b)=>a.lastActivity-b.lastActivity)}catch{return[]}},getSubagentById:function(a,b,c){let f=l(a,b);if(!f)return null;let h=g().join(f.dir,`agent-${c}.jsonl`);try{if(!e().existsSync(h))return null;let b=v(h);if(0===b.length)return null;let g=b.find(a=>"user"===a.type&&!t(a)),j=g?s(g.message.content):"No messages",k=b.map(a=>u(a.timestamp)).filter(a=>a>0),l=k.length>0?Math.max(...k):0,m=d(a),n=b.filter(a=>!(0,i.X4)(a)&&!(0,i.B1)(a)).length,o=w(b);return{id:b[0].slug??c,projectPath:m,projectName:r(m),encodedPath:a,messages:b,firstMessage:j.slice(0,500),lastActivity:l,messageCount:n,...o&&{tokenUsage:o},...f.isArchived&&{isArchived:!0}}}catch{return null}}}}()),y}function A(a){return z().getProjectByPath(a)}function B(){return z().getProjectsSummary()}function C(a){return z().getSessionsSummary(a)}function D(a,b){return z().getSessionById(a,b)}function E(a,b){return z().getSubagentsForSession(a,b)}function F(a,b,c){return z().getSubagentById(a,b,c)}}};
@@ -1 +1 @@
1
- exports.id=976,exports.ids=[976],exports.modules={3720:(a,b,c)=>{Promise.resolve().then(c.bind(c,49922)),Promise.resolve().then(c.bind(c,17614)),Promise.resolve().then(c.bind(c,68734))},12087:(a,b,c)=>{"use strict";c.d(b,{SyncButton:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)(!1),[c,f]=(0,e.useState)(null),g=async()=>{b(!0),f(null);try{let a=await fetch("/api/sync",{method:"POST"});if(!a.ok)throw Error("Sync failed");let b=await a.json();f(b.sync),window.dispatchEvent(new Event("sync-complete")),setTimeout(()=>f(null),3e3)}catch(a){console.error("Sync error:",a)}finally{b(!1)}};return(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:g,disabled:a,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all disabled:opacity-50 disabled:cursor-not-allowed",title:"Resync database",children:(0,d.jsx)("svg",{className:`w-5 h-5 ${a?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}),c&&(c.added>0||c.updated>0||c.removed>0)&&(0,d.jsxs)("div",{className:"text-xs text-content-tertiary whitespace-nowrap animate-fade",children:[c.added>0&&`+${c.added}`,c.updated>0&&` ~${c.updated}`,c.removed>0&&` -${c.removed}`]})]})}},16872:(a,b,c)=>{Promise.resolve().then(c.bind(c,87748)),Promise.resolve().then(c.bind(c,85864)),Promise.resolve().then(c.bind(c,33340))},17614:(a,b,c)=>{"use strict";c.d(b,{FontSizeProvider:()=>i,e:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({fontSize:"medium",setFontSize:()=>{},cycle:()=>{}});function g(){return(0,e.useContext)(f)}let h=["small","medium","large"];function i({children:a}){let[b,c]=(0,e.useState)("medium"),g=(0,e.useCallback)(a=>{c(a),localStorage.setItem("fontSize",a)},[]),i=(0,e.useCallback)(()=>{g(h[(h.indexOf(b)+1)%h.length])},[b,g]);return(0,d.jsx)(f.Provider,{value:{fontSize:b,setFontSize:g,cycle:i},children:a})}},19473:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},25969:(a,b,c)=>{"use strict";c.d(b,{ThemeToggle:()=>g});var d=c(21124),e=c(68734);let f={system:"System",light:"Light",dark:"Dark"};function g(){let{theme:a,cycle:b}=(0,e.D)();return(0,d.jsx)("button",{onClick:b,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all flex-shrink-0",title:`Theme: ${f[a]}`,children:"system"===a?(0,d.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}):"light"===a?(0,d.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})}):(0,d.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})})}},33340:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/theme-provider.tsx","useTheme");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/theme-provider.tsx","ThemeProvider")},35153:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},49922:(a,b,c)=>{"use strict";function d(){return null}c.d(b,{AutoSync:()=>d}),c(38301)},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(75338),e=c(37785),f=c.n(e),g=c(37855),h=c.n(g),i=c(33340),j=c(85864),k=c(87748);c(61135);let l={title:"Claude Code Chats",description:"Browse your Claude Code chat history"};function m({children:a}){return(0,d.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,d.jsx)("head",{children:(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'(function(){try{var t=localStorage.getItem("theme");if(t==="light"||t==="dark"){document.documentElement.setAttribute("data-theme",t)}else{document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme:light)").matches?"light":"dark")}var f=localStorage.getItem("fontSize");if(f==="small"||f==="medium"||f==="large"){document.documentElement.setAttribute("data-font-size",f)}}catch(e){document.documentElement.setAttribute("data-theme","dark")}})()'}})}),(0,d.jsx)("body",{className:`${f().variable} ${h().variable} font-sans min-h-screen antialiased`,children:(0,d.jsx)(i.ThemeProvider,{children:(0,d.jsxs)(j.FontSizeProvider,{children:[(0,d.jsx)(k.AutoSync,{}),a]})})})]})}},61135:()=>{},68734:(a,b,c)=>{"use strict";c.d(b,{D:()=>g,ThemeProvider:()=>h});var d=c(21124),e=c(38301);let f=(0,e.createContext)({theme:"system",resolved:"dark",setTheme:()=>{},cycle:()=>{}});function g(){return(0,e.useContext)(f)}function h({children:a}){let[b,c]=(0,e.useState)("system"),[g,h]=(0,e.useState)("dark"),i=(0,e.useCallback)(a=>{c(a),localStorage.setItem("theme",a)},[]),j=(0,e.useCallback)(()=>{let a=["system","light","dark"];i(a[(a.indexOf(b)+1)%a.length])},[b,i]);return(0,d.jsx)(f.Provider,{value:{theme:b,resolved:g,setTheme:i,cycle:j},children:a})}},85864:(a,b,c)=>{"use strict";c.d(b,{FontSizeProvider:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call useFontSize() from the server but useFontSize is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/font-size-provider.tsx","useFontSize");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call FontSizeProvider() from the server but FontSizeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/font-size-provider.tsx","FontSizeProvider")},87748:(a,b,c)=>{"use strict";c.d(b,{AutoSync:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call AutoSync() from the server but AutoSync is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/auto-sync.tsx","AutoSync")},92155:(a,b,c)=>{"use strict";function d(a){if("number"==typeof a)return a;let b=Date.parse(a);return isNaN(b)?0:b}function e(a){let b=Date.now()-a,c=Math.floor(b/6e4),d=Math.floor(b/36e5),e=Math.floor(b/864e5),f=Math.floor(b/6048e5),g=Math.floor(b/2592e6);if(c<1)return"Just now";if(c<60)return`${c}m ago`;if(d<24)return`${d}h ago`;if(e<7)return`${e}d ago`;if(e<30)return`${f}w ago`;if(g<12)return`${g}mo ago`;let h=Math.floor(g/12);return`${h}y ago`}function f(a){return new Date(d(a)).toLocaleString("en-GB",{day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"})}function g(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e4?`${(a/1e3).toFixed(1)}k`:a.toLocaleString("en-GB")}c.d(b,{EH:()=>d,ap:()=>g,fw:()=>e,r6:()=>f})},98091:(a,b,c)=>{"use strict";c.d(b,{GlobalSearch:()=>g});var d=c(21124),e=c(38301),f=c(42378);function g({projectPath:a}){let[b,c]=(0,e.useState)(""),g=(0,f.useRouter)(),h=(0,e.useRef)(null),i=(0,e.useCallback)(c=>{if(c.preventDefault(),b.trim()){let c=new URLSearchParams({q:b.trim()});a&&c.set("project",a),g.push(`/search?${c.toString()}`)}},[b,g,a]),j=a?"Search this project...":"Search all chats...";return(0,d.jsxs)("form",{onSubmit:i,className:"relative",children:[(0,d.jsx)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-content-tertiary",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),(0,d.jsx)("input",{ref:h,type:"text",value:b,onChange:a=>c(a.target.value),placeholder:j,className:"w-full pl-10 pr-16 py-2 bg-surface border border-edge-subtle rounded-xl text-sm text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 transition-all"}),!b&&(0,d.jsxs)("kbd",{className:"absolute right-3 top-1/2 -translate-y-1/2 hidden sm:inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[10px] font-mono text-content-tertiary bg-surface-elevated border border-edge-subtle rounded",children:[(0,d.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]})}}};
1
+ exports.id=976,exports.ids=[976],exports.modules={3720:(a,b,c)=>{Promise.resolve().then(c.bind(c,49922)),Promise.resolve().then(c.bind(c,17614)),Promise.resolve().then(c.bind(c,68734))},12087:(a,b,c)=>{"use strict";c.d(b,{SyncButton:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)(!1),[c,f]=(0,e.useState)(null),g=async()=>{b(!0),f(null);try{let a=await fetch("/api/sync",{method:"POST"});if(!a.ok)throw Error("Sync failed");let b=await a.json();f(b.sync),window.dispatchEvent(new Event("sync-complete")),setTimeout(()=>f(null),3e3)}catch(a){console.error("Sync error:",a)}finally{b(!1)}};return(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:g,disabled:a,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all disabled:opacity-50 disabled:cursor-not-allowed",title:"Resync database",children:(0,d.jsx)("svg",{className:`w-5 h-5 ${a?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}),c&&(c.added>0||c.updated>0||c.removed>0||(c.archivePruned??0)>0)&&(0,d.jsxs)("div",{className:"text-xs text-content-tertiary whitespace-nowrap animate-fade",children:[c.added>0&&`+${c.added}`,c.updated>0&&` ~${c.updated}`,c.removed>0&&` -${c.removed}`,(c.archivePruned??0)>0&&` pruned ${c.archivePruned}`]})]})}},16872:(a,b,c)=>{Promise.resolve().then(c.bind(c,87748)),Promise.resolve().then(c.bind(c,85864)),Promise.resolve().then(c.bind(c,33340))},17614:(a,b,c)=>{"use strict";c.d(b,{FontSizeProvider:()=>i,e:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({fontSize:"medium",setFontSize:()=>{},cycle:()=>{}});function g(){return(0,e.useContext)(f)}let h=["small","medium","large"];function i({children:a}){let[b,c]=(0,e.useState)("medium"),g=(0,e.useCallback)(a=>{c(a),localStorage.setItem("fontSize",a)},[]),i=(0,e.useCallback)(()=>{g(h[(h.indexOf(b)+1)%h.length])},[b,g]);return(0,d.jsx)(f.Provider,{value:{fontSize:b,setFontSize:g,cycle:i},children:a})}},19473:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},25969:(a,b,c)=>{"use strict";c.d(b,{ThemeToggle:()=>g});var d=c(21124),e=c(68734);let f={system:"System",light:"Light",dark:"Dark"};function g(){let{theme:a,cycle:b}=(0,e.D)();return(0,d.jsx)("button",{onClick:b,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all flex-shrink-0",title:`Theme: ${f[a]}`,children:"system"===a?(0,d.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}):"light"===a?(0,d.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})}):(0,d.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})})}},33340:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/theme-provider.tsx","useTheme");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/theme-provider.tsx","ThemeProvider")},35153:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},49922:(a,b,c)=>{"use strict";function d(){return null}c.d(b,{AutoSync:()=>d}),c(38301)},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(75338),e=c(37785),f=c.n(e),g=c(37855),h=c.n(g),i=c(33340),j=c(85864),k=c(87748);c(61135);let l={title:"Claude Code Chats",description:"Browse your Claude Code chat history"};function m({children:a}){return(0,d.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,d.jsx)("head",{children:(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'(function(){try{var t=localStorage.getItem("theme");if(t==="light"||t==="dark"){document.documentElement.setAttribute("data-theme",t)}else{document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme:light)").matches?"light":"dark")}var f=localStorage.getItem("fontSize");if(f==="small"||f==="medium"||f==="large"){document.documentElement.setAttribute("data-font-size",f)}}catch(e){document.documentElement.setAttribute("data-theme","dark")}})()'}})}),(0,d.jsx)("body",{className:`${f().variable} ${h().variable} font-sans min-h-screen antialiased`,children:(0,d.jsx)(i.ThemeProvider,{children:(0,d.jsxs)(j.FontSizeProvider,{children:[(0,d.jsx)(k.AutoSync,{}),a]})})})]})}},61135:()=>{},68734:(a,b,c)=>{"use strict";c.d(b,{D:()=>g,ThemeProvider:()=>h});var d=c(21124),e=c(38301);let f=(0,e.createContext)({theme:"system",resolved:"dark",setTheme:()=>{},cycle:()=>{}});function g(){return(0,e.useContext)(f)}function h({children:a}){let[b,c]=(0,e.useState)("system"),[g,h]=(0,e.useState)("dark"),i=(0,e.useCallback)(a=>{c(a),localStorage.setItem("theme",a)},[]),j=(0,e.useCallback)(()=>{let a=["system","light","dark"];i(a[(a.indexOf(b)+1)%a.length])},[b,i]);return(0,d.jsx)(f.Provider,{value:{theme:b,resolved:g,setTheme:i,cycle:j},children:a})}},85864:(a,b,c)=>{"use strict";c.d(b,{FontSizeProvider:()=>e});var d=c(97954);(0,d.registerClientReference)(function(){throw Error("Attempted to call useFontSize() from the server but useFontSize is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/font-size-provider.tsx","useFontSize");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call FontSizeProvider() from the server but FontSizeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/font-size-provider.tsx","FontSizeProvider")},87748:(a,b,c)=>{"use strict";c.d(b,{AutoSync:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call AutoSync() from the server but AutoSync is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/pedrosousa/Work/Personal/Code/claude-code-chats/src/components/auto-sync.tsx","AutoSync")},92155:(a,b,c)=>{"use strict";function d(a){if("number"==typeof a)return a;let b=Date.parse(a);return isNaN(b)?0:b}function e(a){let b=Date.now()-a,c=Math.floor(b/6e4),d=Math.floor(b/36e5),e=Math.floor(b/864e5),f=Math.floor(b/6048e5),g=Math.floor(b/2592e6);if(c<1)return"Just now";if(c<60)return`${c}m ago`;if(d<24)return`${d}h ago`;if(e<7)return`${e}d ago`;if(e<30)return`${f}w ago`;if(g<12)return`${g}mo ago`;let h=Math.floor(g/12);return`${h}y ago`}function f(a){return new Date(d(a)).toLocaleString("en-GB",{day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"})}function g(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e4?`${(a/1e3).toFixed(1)}k`:a.toLocaleString("en-GB")}c.d(b,{EH:()=>d,ap:()=>g,fw:()=>e,r6:()=>f})},98091:(a,b,c)=>{"use strict";c.d(b,{GlobalSearch:()=>g});var d=c(21124),e=c(38301),f=c(42378);function g({projectPath:a}){let[b,c]=(0,e.useState)(""),g=(0,f.useRouter)(),h=(0,e.useRef)(null),i=(0,e.useCallback)(c=>{if(c.preventDefault(),b.trim()){let c=new URLSearchParams({q:b.trim()});a&&c.set("project",a),g.push(`/search?${c.toString()}`)}},[b,g,a]),j=a?"Search this project...":"Search all chats...";return(0,d.jsxs)("form",{onSubmit:i,className:"relative",children:[(0,d.jsx)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-content-tertiary",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),(0,d.jsx)("input",{ref:h,type:"text",value:b,onChange:a=>c(a.target.value),placeholder:j,className:"w-full pl-10 pr-16 py-2 bg-surface border border-edge-subtle rounded-xl text-sm text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 transition-all"}),!b&&(0,d.jsxs)("kbd",{className:"absolute right-3 top-1/2 -translate-y-1/2 hidden sm:inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[10px] font-mono text-content-tertiary bg-surface-elevated border border-edge-subtle rounded",children:[(0,d.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]})}}};
@@ -1 +1 @@
1
- <!DOCTYPE html><!--acJnwHSwMextiN1qnwxJc--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/13971731025ec697-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9b30e272714585a0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a17e201c0278f447.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-cb395327542b56ef.js" async=""></script><script src="/_next/static/chunks/main-app-f2bdb334e92ecbbb.js" async=""></script><script src="/_next/static/chunks/app/layout-39895c8c5b8e9d12.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Claude Code Chats</title><meta name="description" content="Browse your Claude Code chat history"/><script>(function(){try{var t=localStorage.getItem("theme");if(t==="light"||t==="dark"){document.documentElement.setAttribute("data-theme",t)}else{document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme:light)").matches?"light":"dark")}var f=localStorage.getItem("fontSize");if(f==="small"||f==="medium"||f==="large"){document.documentElement.setAttribute("data-font-size",f)}}catch(e){document.documentElement.setAttribute("data-theme","dark")}})()</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_0d7163 __variable_3c557b font-sans min-h-screen antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a17e201c0278f447.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1458,[\"177\",\"static/chunks/app/layout-39895c8c5b8e9d12.js\"],\"ThemeProvider\"]\n3:I[5014,[\"177\",\"static/chunks/app/layout-39895c8c5b8e9d12.js\"],\"FontSizeProvider\"]\n4:I[4184,[\"177\",\"static/chunks/app/layout-39895c8c5b8e9d12.js\"],\"AutoSync\"]\n5:I[9766,[],\"\"]\n6:I[8924,[],\"\"]\n7:I[4431,[],\"OutletBoundary\"]\n9:I[5278,[],\"AsyncMetadataOutlet\"]\nb:I[4431,[],\"ViewportBoundary\"]\nd:I[4431,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[7150,[],\"\"]\n:HL[\"/_next/static/media/13971731025ec697-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/9b30e272714585a0.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"acJnwHSwMextiN1qnwxJc\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9b30e272714585a0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"theme\\\");if(t===\\\"light\\\"||t===\\\"dark\\\"){document.documentElement.setAttribute(\\\"data-theme\\\",t)}else{document.documentElement.setAttribute(\\\"data-theme\\\",window.matchMedia(\\\"(prefers-color-scheme:light)\\\").matches?\\\"light\\\":\\\"dark\\\")}var f=localStorage.getItem(\\\"fontSize\\\");if(f===\\\"small\\\"||f===\\\"medium\\\"||f===\\\"large\\\"){document.documentElement.setAttribute(\\\"data-font-size\\\",f)}}catch(e){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"dark\\\")}})()\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_0d7163 __variable_3c557b font-sans min-h-screen antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"a:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Claude Code Chats\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Browse your Claude Code chat history\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--_aPBSJE0J647wYai5sVny--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/13971731025ec697-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/0f3f916f8451ef18.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a17e201c0278f447.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-cb395327542b56ef.js" async=""></script><script src="/_next/static/chunks/main-app-f2bdb334e92ecbbb.js" async=""></script><script src="/_next/static/chunks/app/layout-39895c8c5b8e9d12.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Claude Code Chats</title><meta name="description" content="Browse your Claude Code chat history"/><script>(function(){try{var t=localStorage.getItem("theme");if(t==="light"||t==="dark"){document.documentElement.setAttribute("data-theme",t)}else{document.documentElement.setAttribute("data-theme",window.matchMedia("(prefers-color-scheme:light)").matches?"light":"dark")}var f=localStorage.getItem("fontSize");if(f==="small"||f==="medium"||f==="large"){document.documentElement.setAttribute("data-font-size",f)}}catch(e){document.documentElement.setAttribute("data-theme","dark")}})()</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_0d7163 __variable_3c557b font-sans min-h-screen antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a17e201c0278f447.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1458,[\"177\",\"static/chunks/app/layout-39895c8c5b8e9d12.js\"],\"ThemeProvider\"]\n3:I[5014,[\"177\",\"static/chunks/app/layout-39895c8c5b8e9d12.js\"],\"FontSizeProvider\"]\n4:I[4184,[\"177\",\"static/chunks/app/layout-39895c8c5b8e9d12.js\"],\"AutoSync\"]\n5:I[9766,[],\"\"]\n6:I[8924,[],\"\"]\n7:I[4431,[],\"OutletBoundary\"]\n9:I[5278,[],\"AsyncMetadataOutlet\"]\nb:I[4431,[],\"ViewportBoundary\"]\nd:I[4431,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[7150,[],\"\"]\n:HL[\"/_next/static/media/13971731025ec697-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/bb3ef058b751a6ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/0f3f916f8451ef18.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"_aPBSJE0J647wYai5sVny\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0f3f916f8451ef18.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"theme\\\");if(t===\\\"light\\\"||t===\\\"dark\\\"){document.documentElement.setAttribute(\\\"data-theme\\\",t)}else{document.documentElement.setAttribute(\\\"data-theme\\\",window.matchMedia(\\\"(prefers-color-scheme:light)\\\").matches?\\\"light\\\":\\\"dark\\\")}var f=localStorage.getItem(\\\"fontSize\\\");if(f===\\\"small\\\"||f===\\\"medium\\\"||f===\\\"large\\\"){document.documentElement.setAttribute(\\\"data-font-size\\\",f)}}catch(e){document.documentElement.setAttribute(\\\"data-theme\\\",\\\"dark\\\")}})()\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_0d7163 __variable_3c557b font-sans min-h-screen antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"a:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Claude Code Chats\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Browse your Claude Code chat history\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-a17e201c0278f447.js" defer=""></script><script src="/_next/static/chunks/framework-292291387d6b2e39.js" defer=""></script><script src="/_next/static/chunks/main-a4753544b5b73813.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7d307437aca18ad4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js" defer=""></script><script src="/_next/static/acJnwHSwMextiN1qnwxJc/_buildManifest.js" defer=""></script><script src="/_next/static/acJnwHSwMextiN1qnwxJc/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"acJnwHSwMextiN1qnwxJc","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-a17e201c0278f447.js" defer=""></script><script src="/_next/static/chunks/framework-292291387d6b2e39.js" defer=""></script><script src="/_next/static/chunks/main-a4753544b5b73813.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7d307437aca18ad4.js" defer=""></script><script src="/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js" defer=""></script><script src="/_next/static/_aPBSJE0J647wYai5sVny/_buildManifest.js" defer=""></script><script src="/_next/static/_aPBSJE0J647wYai5sVny/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"_aPBSJE0J647wYai5sVny","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,6 +1,6 @@
1
1
  {
2
- "/_error": "pages/_error.js",
3
2
  "/_app": "pages/_app.js",
3
+ "/_error": "pages/_error.js",
4
4
  "/_document": "pages/_document.js",
5
5
  "/404": "pages/404.html"
6
6
  }
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"FQzLmNGgtiUj0lKCjBQWIAhI10fi4btO6YHB6dN9ALs="}
1
+ {"node":{},"edge":{},"encryptionKey":"O154nhDfGVjA1VoUUK5FJLWyXHmed0HgTpKmrDhK4F4="}
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:15,errorRate:1e-4,numBits:288,numHashes:14,bitArray:[0,1,0,r,r,1,e,r,r,e,e,r,e,e,e,e,r,e,r,r,r,r,e,r,r,e,r,e,e,r,r,e,r,e,r,e,r,e,e,e,r,e,r,r,e,r,e,e,r,r,r,e,e,e,e,e,r,e,r,e,e,e,r,e,e,r,e,r,r,e,e,r,e,e,e,r,e,e,r,e,e,r,r,r,r,e,r,r,r,r,r,r,r,e,r,e,e,r,r,r,e,r,e,r,e,e,r,r,e,e,r,r,e,e,e,e,e,e,e,r,e,e,r,r,r,r,e,r,r,r,r,e,r,r,r,r,r,e,r,r,e,e,e,e,e,e,e,r,e,r,r,r,e,e,e,e,e,e,r,r,e,e,e,r,e,r,r,e,r,e,r,r,e,r,r,e,r,e,e,r,r,e,r,r,e,r,e,e,r,e,e,e,e,e,e,r,e,r,e,r,r,e,r,e,e,r,r,r,r,r,r,e,e,r,e,e,r,r,e,e,e,r,r,r,e,e,e,e,e,r,r,r,e,r,r,r,r,r,r,e,e,e,r,e,r,e,e,r,e,e,e,r,e,e,r,e,r,e,r,r,r,e,e,e,r,e,e,e,e,e,e,e,e,e,r,r,e,r,e,e,r,r,e,r,r,e,e,e]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[e,r,r,e,r,e,e,r,r,r,e,e,r,e,r,e,e,r,r,e]},"/_error":["static/chunks/pages/_error-cb2a52f75f2162e2.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[350],{449:(e,t,n)=>{n.d(t,{ThemeToggle:()=>o});var r=n(5155),a=n(1458);let s={system:"System",light:"Light",dark:"Dark"};function o(){let{theme:e,cycle:t}=(0,a.D)();return(0,r.jsx)("button",{onClick:t,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all flex-shrink-0",title:"Theme: ".concat(s[e]),children:"system"===e?(0,r.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}):"light"===e?(0,r.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})}):(0,r.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})})}},467:(e,t,n)=>{function r(e){if("number"==typeof e)return e;let t=Date.parse(e);return isNaN(t)?0:t}function a(e){let t=Date.now()-e,n=Math.floor(t/6e4),r=Math.floor(t/36e5),a=Math.floor(t/864e5),s=Math.floor(t/6048e5),o=Math.floor(t/2592e6);if(n<1)return"Just now";if(n<60)return"".concat(n,"m ago");if(r<24)return"".concat(r,"h ago");if(a<7)return"".concat(a,"d ago");if(a<30)return"".concat(s,"w ago");if(o<12)return"".concat(o,"mo ago");let l=Math.floor(o/12);return"".concat(l,"y ago")}function s(e){return new Date(r(e)).toLocaleString("en-GB",{day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"})}function o(e){return e>=1e6?"".concat((e/1e6).toFixed(1),"M"):e>=1e4?"".concat((e/1e3).toFixed(1),"k"):e.toLocaleString("en-GB")}n.d(t,{EH:()=>r,ap:()=>o,fw:()=>a,r6:()=>s})},931:(e,t,n)=>{function r(e){if("string"==typeof e)return e;let t=e.find(e=>"text"===e.type);return t?t.text:""}function a(e){if(!e.startsWith("<command-name>")&&!e.startsWith("<command-message>"))return null;let t=e.match(/<command-name>([^<]+)<\/command-name>/);if(!t)return null;let n=e.match(/<command-args>([^<]*)<\/command-args>/);return{name:t[1].trim(),args:n?n[1].trim():""}}function s(e){if(e.isMeta)return!0;let t=r(e.message.content);return!!(t.startsWith("<local-command-")||t.startsWith("Caveat:")||t.startsWith("<system-reminder>"))}function o(e){let t=e.message.content;return"string"==typeof t?0===t.trim().length:0===t.length||!t.some(e=>"text"===e.type&&e.text.trim().length>0)}n.d(t,{B1:()=>o,Tc:()=>a,X4:()=>s,iP:()=>r})},1458:(e,t,n)=>{n.d(t,{D:()=>o,ThemeProvider:()=>l});var r=n(5155),a=n(2115);let s=(0,a.createContext)({theme:"system",resolved:"dark",setTheme:()=>{},cycle:()=>{}});function o(){return(0,a.useContext)(s)}function l(e){let{children:t}=e,[n,o]=(0,a.useState)("system"),[l,c]=(0,a.useState)("dark");(0,a.useEffect)(()=>{let e=localStorage.getItem("theme");e&&["light","dark","system"].includes(e)&&o(e)},[]),(0,a.useEffect)(()=>{let e="system"===n?window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark":n;if(c(e),document.documentElement.setAttribute("data-theme",e),"system"===n){let e=window.matchMedia("(prefers-color-scheme: light)"),t=()=>{let t=e.matches?"light":"dark";c(t),document.documentElement.setAttribute("data-theme",t)};return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}},[n]);let i=(0,a.useCallback)(e=>{o(e),localStorage.setItem("theme",e)},[]),d=(0,a.useCallback)(()=>{let e=["system","light","dark"];i(e[(e.indexOf(n)+1)%e.length])},[n,i]);return(0,r.jsx)(s.Provider,{value:{theme:n,resolved:l,setTheme:i,cycle:d},children:t})}},3389:(e,t,n)=>{n.d(t,{SyncButton:()=>s});var r=n(5155),a=n(2115);function s(){var e,t;let[n,s]=(0,a.useState)(!1),[o,l]=(0,a.useState)(null),c=async()=>{s(!0),l(null);try{let e=await fetch("/api/sync",{method:"POST"});if(!e.ok)throw Error("Sync failed");let t=await e.json();l(t.sync),window.dispatchEvent(new Event("sync-complete")),setTimeout(()=>l(null),3e3)}catch(e){console.error("Sync error:",e)}finally{s(!1)}};return(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("button",{onClick:c,disabled:n,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all disabled:opacity-50 disabled:cursor-not-allowed",title:"Resync database",children:(0,r.jsx)("svg",{className:"w-5 h-5 ".concat(n?"animate-spin":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}),o&&(o.added>0||o.updated>0||o.removed>0||(null!=(e=o.archivePruned)?e:0)>0)&&(0,r.jsxs)("div",{className:"text-xs text-content-tertiary whitespace-nowrap animate-fade",children:[o.added>0&&"+".concat(o.added),o.updated>0&&" ~".concat(o.updated),o.removed>0&&" -".concat(o.removed),(null!=(t=o.archivePruned)?t:0)>0&&" pruned ".concat(o.archivePruned)]})]})}},5014:(e,t,n)=>{n.d(t,{FontSizeProvider:()=>c,e:()=>o});var r=n(5155),a=n(2115);let s=(0,a.createContext)({fontSize:"medium",setFontSize:()=>{},cycle:()=>{}});function o(){return(0,a.useContext)(s)}let l=["small","medium","large"];function c(e){let{children:t}=e,[n,o]=(0,a.useState)("medium");(0,a.useEffect)(()=>{let e=localStorage.getItem("fontSize");e&&l.includes(e)&&o(e)},[]),(0,a.useEffect)(()=>{document.documentElement.setAttribute("data-font-size",n)},[n]);let c=(0,a.useCallback)(e=>{o(e),localStorage.setItem("fontSize",e)},[]),i=(0,a.useCallback)(()=>{c(l[(l.indexOf(n)+1)%l.length])},[n,c]);return(0,r.jsx)(s.Provider,{value:{fontSize:n,setFontSize:c,cycle:i},children:t})}},6229:(e,t,n)=>{n.d(t,{FontSizeToggle:()=>o});var r=n(5155),a=n(5014);let s={small:"Small",medium:"Medium",large:"Large"};function o(){let{fontSize:e,cycle:t}=(0,a.e)();return(0,r.jsx)("button",{onClick:t,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all flex-shrink-0",title:"Font size: ".concat(s[e]),children:"small"===e?(0,r.jsx)("span",{className:"w-[18px] h-[18px] flex items-center justify-center font-medium text-[11px] leading-none",children:"A"}):"medium"===e?(0,r.jsx)("span",{className:"w-[18px] h-[18px] flex items-center justify-center font-medium text-[14px] leading-none",children:"A"}):(0,r.jsx)("span",{className:"w-[18px] h-[18px] flex items-center justify-center font-medium text-[17px] leading-none",children:"A"})})}},6281:(e,t,n)=>{n.d(t,{GlobalSearch:()=>o});var r=n(5155),a=n(2115),s=n(63);function o(e){let{projectPath:t}=e,[n,o]=(0,a.useState)(""),l=(0,s.useRouter)(),c=(0,a.useRef)(null);(0,a.useEffect)(()=>{function e(e){if((e.metaKey||e.ctrlKey)&&"k"===e.key){var t;e.preventDefault(),null==(t=c.current)||t.focus()}}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let i=(0,a.useCallback)(e=>{if(e.preventDefault(),n.trim()){let e=new URLSearchParams({q:n.trim()});t&&e.set("project",t),l.push("/search?".concat(e.toString()))}},[n,l,t]),d=t?"Search this project...":"Search all chats...";return(0,r.jsxs)("form",{onSubmit:i,className:"relative",children:[(0,r.jsx)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-content-tertiary",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),(0,r.jsx)("input",{ref:c,type:"text",value:n,onChange:e=>o(e.target.value),placeholder:d,className:"w-full pl-10 pr-16 py-2 bg-surface border border-edge-subtle rounded-xl text-sm text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 transition-all"}),!n&&(0,r.jsxs)("kbd",{className:"absolute right-3 top-1/2 -translate-y-1/2 hidden sm:inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[10px] font-mono text-content-tertiary bg-surface-elevated border border-edge-subtle rounded",children:[(0,r.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]})}},7625:(e,t,n)=>{n.d(t,{SummarySection:()=>s});var r=n(5155),a=n(2115);function s(e){let{type:t,projectPath:n,sessionId:s,agentId:o,messageCount:l}=e,[c,i]=(0,a.useState)(null),[d,u]=(0,a.useState)(!1),[m,h]=(0,a.useState)(null),[x,f]=(0,a.useState)(!0);async function p(){u(!0),h(null);try{let e=await fetch("/api/summary",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:t,projectPath:n,sessionId:s,agentId:o})}),r=await e.json();if(!e.ok)throw Error(r.error||"Failed to generate summary");i(r.summary)}catch(e){h(e instanceof Error?e.message:"Unknown error")}finally{u(!1)}}if((0,a.useEffect)(()=>{!async function(){try{let e=new URLSearchParams({type:t,project:n});s&&e.append("session",s),o&&e.append("agent",o);let r=await fetch("/api/summary?".concat(e)),a=await r.json();i(a.summary||null)}catch(e){}finally{f(!1)}}()},[t,n,s]),x)return null;let g=c&&c.messageCount<l;return(0,r.jsxs)("div",{className:"p-4 bg-surface border border-edge-subtle rounded-xl",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-4 mb-2",children:[(0,r.jsxs)("h3",{className:"text-sm font-medium text-content-secondary flex items-center gap-2",children:[(0,r.jsx)("svg",{className:"w-4 h-4 text-accent",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})}),"AI Summary",g&&(0,r.jsx)("span",{className:"text-xs text-accent/60",children:"(outdated)"})]}),(0,r.jsx)("button",{onClick:p,disabled:d,className:"px-3 py-1 text-xs font-medium text-accent hover:text-accent-hover hover:bg-accent/10 rounded-lg transition-all disabled:opacity-50 disabled:cursor-not-allowed",children:d?"Generating...":c?"Regenerate":"Generate"})]}),m&&(0,r.jsx)("p",{className:"text-sm text-danger mb-2",children:m}),c?(0,r.jsx)("p",{className:"text-sm text-content-secondary leading-relaxed",children:c.content}):!d&&(0,r.jsx)("p",{className:"text-sm text-content-tertiary italic",children:'No summary yet. Click "Generate" to create one.'}),d&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-content-tertiary",children:[(0,r.jsxs)("svg",{className:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Invoking Claude CLI..."]})]})}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60,64,202,250,272,291,302,364,558,711,862,969],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{449:(e,t,n)=>{"use strict";n.d(t,{ThemeToggle:()=>a});var s=n(5155),r=n(1458);let o={system:"System",light:"Light",dark:"Dark"};function a(){let{theme:e,cycle:t}=(0,r.D)();return(0,s.jsx)("button",{onClick:t,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all flex-shrink-0",title:"Theme: ".concat(o[e]),children:"system"===e?(0,s.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}):"light"===e?(0,s.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})}):(0,s.jsx)("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})})}},467:(e,t,n)=>{"use strict";function s(e){if("number"==typeof e)return e;let t=Date.parse(e);return isNaN(t)?0:t}function r(e){let t=Date.now()-e,n=Math.floor(t/6e4),s=Math.floor(t/36e5),r=Math.floor(t/864e5),o=Math.floor(t/6048e5),a=Math.floor(t/2592e6);if(n<1)return"Just now";if(n<60)return"".concat(n,"m ago");if(s<24)return"".concat(s,"h ago");if(r<7)return"".concat(r,"d ago");if(r<30)return"".concat(o,"w ago");if(a<12)return"".concat(a,"mo ago");let l=Math.floor(a/12);return"".concat(l,"y ago")}function o(e){return new Date(s(e)).toLocaleString("en-GB",{day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"})}function a(e){return e>=1e6?"".concat((e/1e6).toFixed(1),"M"):e>=1e4?"".concat((e/1e3).toFixed(1),"k"):e.toLocaleString("en-GB")}n.d(t,{EH:()=>s,ap:()=>a,fw:()=>r,r6:()=>o})},927:(e,t,n)=>{Promise.resolve().then(n.bind(n,6229)),Promise.resolve().then(n.bind(n,6281)),Promise.resolve().then(n.bind(n,8994)),Promise.resolve().then(n.bind(n,3389)),Promise.resolve().then(n.bind(n,449))},1046:(e,t,n)=>{"use strict";n.d(t,{D:()=>r});var s=n(5155);function r(e){let{value:t,onChange:n,placeholder:r="Search..."}=e;return(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-content-tertiary",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),(0,s.jsx)("input",{type:"text",value:t,onChange:e=>n(e.target.value),placeholder:r,className:"w-full pl-10 pr-10 py-2.5 bg-surface border border-edge-subtle rounded-xl text-sm text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 transition-all"}),t&&(0,s.jsx)("button",{onClick:()=>n(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-content-tertiary hover:text-content-secondary transition-colors",children:(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})}},1458:(e,t,n)=>{"use strict";n.d(t,{D:()=>a,ThemeProvider:()=>l});var s=n(5155),r=n(2115);let o=(0,r.createContext)({theme:"system",resolved:"dark",setTheme:()=>{},cycle:()=>{}});function a(){return(0,r.useContext)(o)}function l(e){let{children:t}=e,[n,a]=(0,r.useState)("system"),[l,c]=(0,r.useState)("dark");(0,r.useEffect)(()=>{let e=localStorage.getItem("theme");e&&["light","dark","system"].includes(e)&&a(e)},[]),(0,r.useEffect)(()=>{let e="system"===n?window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark":n;if(c(e),document.documentElement.setAttribute("data-theme",e),"system"===n){let e=window.matchMedia("(prefers-color-scheme: light)"),t=()=>{let t=e.matches?"light":"dark";c(t),document.documentElement.setAttribute("data-theme",t)};return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}},[n]);let i=(0,r.useCallback)(e=>{a(e),localStorage.setItem("theme",e)},[]),d=(0,r.useCallback)(()=>{let e=["system","light","dark"];i(e[(e.indexOf(n)+1)%e.length])},[n,i]);return(0,s.jsx)(o.Provider,{value:{theme:n,resolved:l,setTheme:i,cycle:d},children:t})}},3389:(e,t,n)=>{"use strict";n.d(t,{SyncButton:()=>o});var s=n(5155),r=n(2115);function o(){var e,t;let[n,o]=(0,r.useState)(!1),[a,l]=(0,r.useState)(null),c=async()=>{o(!0),l(null);try{let e=await fetch("/api/sync",{method:"POST"});if(!e.ok)throw Error("Sync failed");let t=await e.json();l(t.sync),window.dispatchEvent(new Event("sync-complete")),setTimeout(()=>l(null),3e3)}catch(e){console.error("Sync error:",e)}finally{o(!1)}};return(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{onClick:c,disabled:n,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all disabled:opacity-50 disabled:cursor-not-allowed",title:"Resync database",children:(0,s.jsx)("svg",{className:"w-5 h-5 ".concat(n?"animate-spin":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}),a&&(a.added>0||a.updated>0||a.removed>0||(null!=(e=a.archivePruned)?e:0)>0)&&(0,s.jsxs)("div",{className:"text-xs text-content-tertiary whitespace-nowrap animate-fade",children:[a.added>0&&"+".concat(a.added),a.updated>0&&" ~".concat(a.updated),a.removed>0&&" -".concat(a.removed),(null!=(t=a.archivePruned)?t:0)>0&&" pruned ".concat(a.archivePruned)]})]})}},5011:(e,t,n)=>{"use strict";n.d(t,{S:()=>a});var s=n(5155),r=n(2115),o=n(7650);function a(e){let{encodedPath:t,onClose:n}=e,[a,l]=(0,r.useState)(null),[c,i]=(0,r.useState)(null);return(0,r.useEffect)(()=>{fetch("/api/projects/memory?path=".concat(encodeURIComponent(t))).then(e=>{if(!e.ok)throw Error("Failed to load");return e.json()}).then(e=>l(e.files)).catch(()=>i("Failed to load memory"))},[t]),(0,r.useEffect)(()=>{function e(e){"Escape"===e.key&&n()}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[n]),(0,o.createPortal)((0,s.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm animate-fade",onClick:n}),(0,s.jsxs)("div",{className:"relative bg-surface-elevated border border-edge rounded-2xl w-full max-w-4xl max-h-[85vh] flex flex-col shadow-2xl mx-4 animate-modal",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-edge-subtle",children:[(0,s.jsx)("h2",{className:"text-sm font-medium text-content-primary",children:"Project Memory"}),(0,s.jsx)("button",{onClick:n,className:"p-1.5 -mr-1.5 text-content-tertiary hover:text-content-primary hover:bg-surface rounded-lg transition-all",children:(0,s.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,s.jsxs)("div",{className:"overflow-y-auto p-5 space-y-6 scrollbar-thin",children:[c&&(0,s.jsx)("p",{className:"text-sm text-danger",children:c}),!a&&!c&&(0,s.jsx)("p",{className:"text-sm text-content-tertiary",children:"Loading..."}),null==a?void 0:a.map(e=>(0,s.jsxs)("div",{children:[a.length>1&&(0,s.jsx)("h3",{className:"text-xs font-medium text-accent/70 mb-2 font-mono",children:e.name}),(0,s.jsx)("pre",{className:"text-sm text-content-secondary whitespace-pre-wrap font-mono leading-relaxed",children:e.content})]},e.name)),(null==a?void 0:a.length)===0&&(0,s.jsx)("p",{className:"text-sm text-content-tertiary",children:"No memory files found."})]})]})]}),document.body)}},5014:(e,t,n)=>{"use strict";n.d(t,{FontSizeProvider:()=>c,e:()=>a});var s=n(5155),r=n(2115);let o=(0,r.createContext)({fontSize:"medium",setFontSize:()=>{},cycle:()=>{}});function a(){return(0,r.useContext)(o)}let l=["small","medium","large"];function c(e){let{children:t}=e,[n,a]=(0,r.useState)("medium");(0,r.useEffect)(()=>{let e=localStorage.getItem("fontSize");e&&l.includes(e)&&a(e)},[]),(0,r.useEffect)(()=>{document.documentElement.setAttribute("data-font-size",n)},[n]);let c=(0,r.useCallback)(e=>{a(e),localStorage.setItem("fontSize",e)},[]),i=(0,r.useCallback)(()=>{c(l[(l.indexOf(n)+1)%l.length])},[n,c]);return(0,s.jsx)(o.Provider,{value:{fontSize:n,setFontSize:c,cycle:i},children:t})}},6229:(e,t,n)=>{"use strict";n.d(t,{FontSizeToggle:()=>a});var s=n(5155),r=n(5014);let o={small:"Small",medium:"Medium",large:"Large"};function a(){let{fontSize:e,cycle:t}=(0,r.e)();return(0,s.jsx)("button",{onClick:t,className:"p-2 text-content-tertiary hover:text-content-secondary hover:bg-surface-elevated rounded-lg transition-all flex-shrink-0",title:"Font size: ".concat(o[e]),children:"small"===e?(0,s.jsx)("span",{className:"w-[18px] h-[18px] flex items-center justify-center font-medium text-[11px] leading-none",children:"A"}):"medium"===e?(0,s.jsx)("span",{className:"w-[18px] h-[18px] flex items-center justify-center font-medium text-[14px] leading-none",children:"A"}):(0,s.jsx)("span",{className:"w-[18px] h-[18px] flex items-center justify-center font-medium text-[17px] leading-none",children:"A"})})}},6281:(e,t,n)=>{"use strict";n.d(t,{GlobalSearch:()=>a});var s=n(5155),r=n(2115),o=n(63);function a(e){let{projectPath:t}=e,[n,a]=(0,r.useState)(""),l=(0,o.useRouter)(),c=(0,r.useRef)(null);(0,r.useEffect)(()=>{function e(e){if((e.metaKey||e.ctrlKey)&&"k"===e.key){var t;e.preventDefault(),null==(t=c.current)||t.focus()}}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let i=(0,r.useCallback)(e=>{if(e.preventDefault(),n.trim()){let e=new URLSearchParams({q:n.trim()});t&&e.set("project",t),l.push("/search?".concat(e.toString()))}},[n,l,t]),d=t?"Search this project...":"Search all chats...";return(0,s.jsxs)("form",{onSubmit:i,className:"relative",children:[(0,s.jsx)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-content-tertiary",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),(0,s.jsx)("input",{ref:c,type:"text",value:n,onChange:e=>a(e.target.value),placeholder:d,className:"w-full pl-10 pr-16 py-2 bg-surface border border-edge-subtle rounded-xl text-sm text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 transition-all"}),!n&&(0,s.jsxs)("kbd",{className:"absolute right-3 top-1/2 -translate-y-1/2 hidden sm:inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[10px] font-mono text-content-tertiary bg-surface-elevated border border-edge-subtle rounded",children:[(0,s.jsx)("span",{className:"text-xs",children:"⌘"}),"K"]})]})}},8994:(e,t,n)=>{"use strict";n.d(t,{ProjectList:()=>h});var s=n(5155),r=n(2115),o=n(2619),a=n.n(o),l=n(467),c=n(5011);function i(e){let{project:t}=e,[n,o]=(0,r.useState)(!1);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(a(),{href:"/project/".concat(t.encodedPath),className:"block p-4 bg-surface border border-edge-subtle rounded-xl hover:border-edge-hover hover:bg-surface-elevated transition-all duration-300 group hover:shadow-lg hover:shadow-accent/[0.04]",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("h3",{className:"font-medium text-content-primary truncate group-hover:text-accent transition-colors",children:t.name}),(0,s.jsx)("p",{className:"text-xs text-content-tertiary truncate mt-0.5 font-mono",children:t.path})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[t.hasMemory&&(0,s.jsxs)("button",{onClick:e=>{e.preventDefault(),e.stopPropagation(),o(!0)},className:"flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-medium tracking-wide rounded bg-accent/10 text-accent/80 hover:bg-accent/20 hover:text-accent transition-colors",children:[(0,s.jsx)("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})}),"MEMORY"]}),(0,s.jsx)("div",{className:"text-content-tertiary group-hover:text-accent transition-colors",children:(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-4 mt-3 text-xs text-content-tertiary",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),t.sessionCount," session",1!==t.sessionCount?"s":""]}),(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),t.totalMessages," messages"]}),(0,s.jsxs)("span",{className:"flex items-center gap-1.5 ml-auto",children:[(0,s.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,l.fw)(t.lastActivity)]})]})]}),n&&(0,s.jsx)(c.S,{encodedPath:t.encodedPath,onClose:()=>o(!1)})]})}var d=n(1046);let u=null;function m(){return(0,s.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:Array.from({length:6}).map((e,t)=>(0,s.jsxs)("div",{className:"p-4 bg-surface border border-edge-subtle rounded-xl animate-in stagger-".concat(t+1),children:[(0,s.jsx)("div",{className:"flex items-start justify-between gap-3",children:(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("div",{className:"h-5 w-40 rounded skeleton-shimmer"}),(0,s.jsx)("div",{className:"h-3 w-64 rounded skeleton-shimmer mt-2"})]})}),(0,s.jsxs)("div",{className:"flex items-center gap-4 mt-3",children:[(0,s.jsx)("div",{className:"h-3 w-20 rounded skeleton-shimmer"}),(0,s.jsx)("div",{className:"h-3 w-24 rounded skeleton-shimmer"}),(0,s.jsx)("div",{className:"h-3 w-16 rounded skeleton-shimmer ml-auto"})]})]},t))})}function h(){let[e,t]=(0,r.useState)(u),[n,o]=(0,r.useState)(""),[a,l]=(0,r.useState)("recent"),[c,h]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=!1;function n(){fetch("/api/projects").then(e=>e.json()).then(n=>{e||(u=n,t(n))})}return n(),window.addEventListener("sync-complete",n),()=>{e=!0,window.removeEventListener("sync-complete",n)}},[]);let x=(0,r.useMemo)(()=>{var t;return null!=(t=null==e?void 0:e.some(e=>e.isOutsideHome))&&t},[e]),f=(0,r.useMemo)(()=>{if(!e)return[];let t=e;if(c&&(t=t.filter(e=>!e.isOutsideHome)),n.trim()){let e=n.toLowerCase();t=t.filter(t=>t.name.toLowerCase().includes(e)||t.path.toLowerCase().includes(e))}return[...t].sort((e,t)=>{switch(a){case"name":return e.name.localeCompare(t.name);case"messages":return t.totalMessages-e.totalMessages;case"sessions":return t.sessionCount-e.sessionCount;default:return t.lastActivity-e.lastActivity}})},[e,n,a,c]);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row gap-3 mb-6",children:[(0,s.jsx)("div",{className:"flex-1",children:(0,s.jsx)(d.D,{value:n,onChange:o,placeholder:"Search projects..."})}),x&&(0,s.jsx)("button",{onClick:()=>h(!c),className:"px-3 py-2.5 border rounded-xl text-sm transition-all whitespace-nowrap ".concat(c?"bg-accent/10 border-accent text-accent":"bg-surface border-edge-subtle text-content-secondary hover:border-accent/50"),children:c?"External hidden":"Hide external"}),(0,s.jsxs)("select",{value:a,onChange:e=>l(e.target.value),className:"px-3 py-2.5 bg-surface border border-edge-subtle rounded-xl text-sm text-content-secondary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 cursor-pointer transition-all",children:[(0,s.jsx)("option",{value:"recent",children:"Most Recent"}),(0,s.jsx)("option",{value:"name",children:"Name"}),(0,s.jsx)("option",{value:"messages",children:"Most Messages"}),(0,s.jsx)("option",{value:"sessions",children:"Most Sessions"})]})]}),null===e?(0,s.jsx)(m,{}):0===f.length?(0,s.jsx)("div",{className:"text-center py-16 text-content-tertiary animate-fade",children:n?"No projects found matching your search":"No projects found"}):(0,s.jsx)("div",{className:"grid gap-3 lg:grid-cols-2",children:f.map((e,t)=>(0,s.jsx)("div",{className:"animate-in stagger-".concat(Math.min(t+1,10)),children:(0,s.jsx)(i,{project:e})},e.path))}),null!==e&&(0,s.jsxs)("div",{className:"mt-6 text-xs text-content-tertiary text-center",children:[f.length," of ",e.length," projects"]})]})}}},e=>{e.O(0,[176,441,255,358],()=>e(e.s=927)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[943],{1046:(e,t,s)=>{"use strict";s.d(t,{D:()=>r});var n=s(5155);function r(e){let{value:t,onChange:s,placeholder:r="Search..."}=e;return(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)("svg",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-content-tertiary",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),(0,n.jsx)("input",{type:"text",value:t,onChange:e=>s(e.target.value),placeholder:r,className:"w-full pl-10 pr-10 py-2.5 bg-surface border border-edge-subtle rounded-xl text-sm text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 transition-all"}),t&&(0,n.jsx)("button",{onClick:()=>s(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-content-tertiary hover:text-content-secondary transition-colors",children:(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})}},2635:(e,t,s)=>{Promise.resolve().then(s.bind(s,8666))},5011:(e,t,s)=>{"use strict";s.d(t,{S:()=>o});var n=s(5155),r=s(2115),a=s(7650);function o(e){let{encodedPath:t,onClose:s}=e,[o,c]=(0,r.useState)(null),[l,i]=(0,r.useState)(null);return(0,r.useEffect)(()=>{fetch("/api/projects/memory?path=".concat(encodeURIComponent(t))).then(e=>{if(!e.ok)throw Error("Failed to load");return e.json()}).then(e=>c(e.files)).catch(()=>i("Failed to load memory"))},[t]),(0,r.useEffect)(()=>{function e(e){"Escape"===e.key&&s()}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[s]),(0,a.createPortal)((0,n.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm animate-fade",onClick:s}),(0,n.jsxs)("div",{className:"relative bg-surface-elevated border border-edge rounded-2xl w-full max-w-4xl max-h-[85vh] flex flex-col shadow-2xl mx-4 animate-modal",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-edge-subtle",children:[(0,n.jsx)("h2",{className:"text-sm font-medium text-content-primary",children:"Project Memory"}),(0,n.jsx)("button",{onClick:s,className:"p-1.5 -mr-1.5 text-content-tertiary hover:text-content-primary hover:bg-surface rounded-lg transition-all",children:(0,n.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,n.jsxs)("div",{className:"overflow-y-auto p-5 space-y-6 scrollbar-thin",children:[l&&(0,n.jsx)("p",{className:"text-sm text-danger",children:l}),!o&&!l&&(0,n.jsx)("p",{className:"text-sm text-content-tertiary",children:"Loading..."}),null==o?void 0:o.map(e=>(0,n.jsxs)("div",{children:[o.length>1&&(0,n.jsx)("h3",{className:"text-xs font-medium text-accent/70 mb-2 font-mono",children:e.name}),(0,n.jsx)("pre",{className:"text-sm text-content-secondary whitespace-pre-wrap font-mono leading-relaxed",children:e.content})]},e.name)),(null==o?void 0:o.length)===0&&(0,n.jsx)("p",{className:"text-sm text-content-tertiary",children:"No memory files found."})]})]})]}),document.body)}},8666:(e,t,s)=>{"use strict";s.d(t,{ProjectPageContent:()=>w});var n=s(5155),r=s(2115),a=s(2619),o=s.n(a),c=s(467),l=s(931);function i(e){let{session:t,encodedPath:s}=e,r=t.firstMessage?(0,l.Tc)(t.firstMessage):null,a=r?r.args?"".concat(r.name," ").concat(r.args):r.name:t.firstMessage||"Empty session";return(0,n.jsxs)(o(),{href:"/project/".concat(s,"/session/").concat(t.id),className:"block p-4 bg-surface border border-edge-subtle rounded-xl hover:border-edge-hover hover:bg-surface-elevated transition-all duration-300 group",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsx)("div",{className:"flex-1 min-w-0",children:(0,n.jsx)("p",{className:"text-sm text-content-primary line-clamp-2 group-hover:text-accent transition-colors ".concat(r?"font-mono":""),children:a})}),(0,n.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[t.isArchived&&(0,n.jsx)("span",{className:"text-[10px] uppercase tracking-wider font-medium text-content-tertiary border border-edge-subtle rounded px-1.5 py-0.5",children:"Archived"}),(0,n.jsx)("span",{className:"flex items-center text-content-tertiary group-hover:text-accent transition-colors",children:(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-4 mt-3 text-xs text-content-tertiary",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),t.messageCount," messages"]}),(0,n.jsxs)("span",{className:"flex items-center gap-1.5 ml-auto",children:[(0,n.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,c.fw)(t.lastActivity)]})]}),(0,n.jsx)("div",{className:"mt-2 text-[11px] text-content-tertiary font-mono truncate opacity-50",children:t.id})]})}var d=s(1046);function m(e){let{sessions:t,encodedPath:s}=e,[a,o]=(0,r.useState)(""),[c,l]=(0,r.useState)(!0),[m,x]=(0,r.useState)(30);(0,r.useEffect)(()=>{x(30)},[t]);let h=(0,r.useMemo)(()=>t.filter(e=>e.messageCount<3).length,[t]),u=(0,r.useMemo)(()=>{let e=t;if(c&&(e=e.filter(e=>e.messageCount>=3)),a.trim()){let t=a.toLowerCase();e=e.filter(e=>e.firstMessage.toLowerCase().includes(t)||e.id.toLowerCase().includes(t))}return e},[t,a,c]),p=u.slice(0,m),f=m<u.length;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"mb-6 flex items-center gap-4",children:[(0,n.jsx)("div",{className:"flex-1",children:(0,n.jsx)(d.D,{value:a,onChange:function(e){o(e),x(30)},placeholder:"Search sessions..."})}),h>0&&(0,n.jsxs)("label",{className:"flex items-center gap-2 text-xs text-content-tertiary cursor-pointer whitespace-nowrap",children:[(0,n.jsx)("input",{type:"checkbox",checked:c,onChange:e=>{l(e.target.checked),x(30)},className:"rounded border-edge-hover bg-surface-elevated text-accent focus:ring-accent focus:ring-offset-0"}),"Hide short (",h,")"]})]}),0===u.length?(0,n.jsx)("div",{className:"text-center py-16 text-content-tertiary animate-fade",children:a?"No sessions found matching your search":"No sessions found"}):(0,n.jsx)("div",{className:"grid gap-3",children:p.map((e,t)=>(0,n.jsx)("div",{className:"animate-in stagger-".concat(Math.min(t+1,10)),children:(0,n.jsx)(i,{session:e,encodedPath:s})},e.id))}),(0,n.jsxs)("div",{className:"mt-6 flex items-center justify-center gap-4 text-xs text-content-tertiary",children:[(0,n.jsxs)("span",{children:["Showing ",p.length," of ",t.length," sessions",u.length<t.length&&" (".concat(t.length-u.length," hidden)")]}),f&&(0,n.jsx)("button",{onClick:()=>x(e=>e+30),className:"px-3 py-1.5 text-accent hover:text-accent-hover hover:bg-accent/10 border border-accent/20 rounded-lg transition-all",children:"Load more"})]})]})}var x=s(63),h=s(6281),u=s(7650);function p(e){let{isOpen:t,onClose:s,onSuccess:a,currentPath:o,encodedPath:c}=e,[l,i]=(0,r.useState)(""),[d,m]=(0,r.useState)(!1),[x,h]=(0,r.useState)(null),p=(0,r.useRef)(null);if((0,r.useEffect)(()=>{t&&(i(function(e){let t=e.split("/").filter(Boolean);return t[t.length-1]||e}(o)),h(null),setTimeout(()=>{var e;return null==(e=p.current)?void 0:e.select()},0))},[t,o]),(0,r.useEffect)(()=>{function e(e){"Escape"===e.key&&t&&!d&&s()}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t,d,s]),!t)return null;async function f(e){if(e.preventDefault(),!l.trim())return void h("Name cannot be empty.");m(!0),h(null);try{let e=await fetch("/api/project/rename",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encodedPath:c,newName:l.trim()})}),t=await e.json();if(!e.ok)throw Error(t.error||"Failed to rename project");a(t.newEncodedPath)}catch(e){h(e instanceof Error?e.message:"Unknown error")}finally{m(!1)}}return(0,u.createPortal)((0,n.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm animate-fade",onClick:d?void 0:s}),(0,n.jsxs)("div",{className:"relative bg-surface-elevated border border-edge rounded-2xl p-6 w-full max-w-md mx-4 shadow-2xl animate-modal",children:[(0,n.jsx)("h2",{className:"text-lg font-medium text-content-primary mb-4",children:"Rename Project"}),(0,n.jsxs)("form",{onSubmit:f,children:[(0,n.jsxs)("div",{className:"mb-4",children:[(0,n.jsx)("label",{htmlFor:"projectName",className:"block text-sm text-content-secondary mb-2",children:"New folder name"}),(0,n.jsx)("input",{ref:p,id:"projectName",type:"text",value:l,onChange:e=>i(e.target.value),disabled:d,className:"w-full px-3 py-2.5 bg-surface border border-edge rounded-xl text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 disabled:opacity-50 transition-all",placeholder:"Enter new name",autoComplete:"off"})]}),x&&(0,n.jsx)("p",{className:"text-sm text-danger mb-4",children:x}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,n.jsx)("button",{type:"button",onClick:s,disabled:d,className:"px-4 py-2 text-sm text-content-secondary hover:text-content-primary transition-colors disabled:opacity-50",children:"Cancel"}),(0,n.jsxs)("button",{type:"submit",disabled:d||!l.trim(),className:"px-4 py-2 text-sm font-medium bg-accent hover:bg-accent-hover text-white rounded-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[d&&(0,n.jsxs)("svg",{className:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),d?"Renaming...":"Rename"]})]})]})]})]}),document.body)}var f=s(5011),j=s(3389),v=s(449),g=s(6229);function b(e){let{projectName:t,projectPath:s,encodedPath:a,hasMemory:c}=e,[l,i]=(0,r.useState)(!1),[d,m]=(0,r.useState)(!1),u=(0,x.useRouter)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("header",{className:"border-b border-edge-subtle bg-surface/80 backdrop-blur-md sticky top-0 z-10",children:(0,n.jsx)("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 py-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(o(),{href:"/",className:"p-2 -ml-2 text-content-tertiary hover:text-content-primary hover:bg-surface-elevated rounded-lg transition-all flex-shrink-0",children:(0,n.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),(0,n.jsxs)("div",{className:"flex-1 min-w-0 hidden sm:block",children:[(0,n.jsx)("h1",{className:"text-lg font-medium text-content-primary truncate",children:t}),(0,n.jsx)("p",{className:"text-xs text-content-tertiary truncate font-mono",children:s})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[c&&(0,n.jsxs)("button",{onClick:()=>m(!0),className:"flex items-center gap-1.5 px-2.5 py-1.5 text-xs font-medium text-accent hover:text-accent-hover hover:bg-accent/10 border border-accent/20 rounded-lg transition-all",children:[(0,n.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})}),"Memory"]}),(0,n.jsx)("button",{onClick:()=>{window.location.href="/api/project/export?path=".concat(encodeURIComponent(a))},className:"px-2.5 py-1.5 text-xs font-medium text-accent hover:text-accent-hover hover:bg-accent/10 border border-accent/20 rounded-lg transition-all",children:"Export"}),(0,n.jsx)("button",{onClick:()=>i(!0),className:"px-2.5 py-1.5 text-xs font-medium text-accent hover:text-accent-hover hover:bg-accent/10 border border-accent/20 rounded-lg transition-all",children:"Rename"})]}),(0,n.jsx)("div",{className:"flex-1 max-w-md",children:(0,n.jsx)(h.GlobalSearch,{projectPath:a})}),(0,n.jsx)(g.FontSizeToggle,{}),(0,n.jsx)(v.ThemeToggle,{}),(0,n.jsx)(j.SyncButton,{})]})})}),(0,n.jsx)(p,{isOpen:l,onClose:()=>i(!1),onSuccess:function(e){i(!1),u.replace("/project/".concat(e))},currentPath:s,encodedPath:a}),d&&(0,n.jsx)(f.S,{encodedPath:a,onClose:()=>m(!1)})]})}var N=s(7625);let y=new Map;function k(){return(0,n.jsx)("div",{className:"grid gap-3",children:Array.from({length:5}).map((e,t)=>(0,n.jsxs)("div",{className:"p-4 bg-surface border border-edge-subtle rounded-xl animate-in stagger-".concat(t+1),children:[(0,n.jsx)("div",{className:"h-4 w-3/4 rounded skeleton-shimmer"}),(0,n.jsxs)("div",{className:"flex items-center gap-4 mt-3",children:[(0,n.jsx)("div",{className:"h-3 w-20 rounded skeleton-shimmer"}),(0,n.jsx)("div",{className:"h-3 w-16 rounded skeleton-shimmer ml-auto"})]})]},t))})}function w(e){var t,s,a,o,l;let{encodedPath:i}=e,[d,x]=(0,r.useState)(null!=(t=y.get(i))?t:null);(0,r.useEffect)(()=>{let e=!1;function t(){fetch("/api/projects/sessions?path=".concat(encodeURIComponent(i))).then(e=>e.json()).then(t=>{e||(y.set(i,t),x(t))})}return t(),window.addEventListener("sync-complete",t),()=>{e=!0,window.removeEventListener("sync-complete",t)}},[i]);let h=null!=(s=null==d?void 0:d.sessions.reduce((e,t)=>e+t.messageCount,0))?s:0,u=d?Math.max(...d.sessions.map(e=>e.lastActivity)):0;return(0,n.jsxs)("div",{className:"min-h-screen",children:[(0,n.jsx)(b,{projectName:null!=(a=null==d?void 0:d.projectName)?a:i,projectPath:null!=(o=null==d?void 0:d.decodedPath)?o:i,encodedPath:i,hasMemory:null!=(l=null==d?void 0:d.hasMemory)&&l}),(0,n.jsx)("main",{className:"max-w-5xl mx-auto px-4 sm:px-6 py-8",children:d?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-4 mb-6 text-sm text-content-secondary animate-in",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),d.sessions.length," sessions"]}),(0,n.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),h," messages"]}),(0,n.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})}),"Last active ",(0,c.fw)(u)]})]}),(0,n.jsx)("div",{className:"mb-6 animate-in stagger-1",children:(0,n.jsx)(N.SummarySection,{type:"project",projectPath:i,messageCount:h})}),(0,n.jsx)("div",{className:"animate-in stagger-2",children:(0,n.jsx)(m,{sessions:d.sessions,encodedPath:i},i)})]}):(0,n.jsx)(k,{})})]})}}},e=>{e.O(0,[176,350,441,255,358],()=>e(e.s=2635)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[810],{4580:(e,t,s)=>{"use strict";s.d(t,{ExportButton:()=>r});var n=s(5155);function r(e){let{encodedPath:t,sessionId:s,agentId:r}=e;return(0,n.jsxs)("button",{onClick:function(){let e=new URLSearchParams({encodedPath:t,sessionId:s});r&&e.set("agentId",r),window.location.href="/api/session/export?".concat(e.toString())},className:"px-3 py-1.5 text-sm text-content-secondary hover:text-content-primary hover:bg-surface-elevated border border-edge-subtle rounded-lg transition-all flex items-center gap-2",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"Export"]})}},6221:(e,t,s)=>{"use strict";s.d(t,{ChatView:()=>m});var n=s(5155),r=s(2115),a=s(856),o=s(467);function c(e){let{message:t,compact:s=!1}=e,[c,i]=(0,r.useState)(!1),l="user"===t.type,d=function(e,t){if("string"==typeof e)return e;let s=[];for(let n of e)if("text"===n.type)s.push(n.text);else if("tool_use"===n.type)s.push("[Tool: ".concat(n.name,"]"));else if("tool_result"===n.type&&t){let e="string"==typeof n.content?n.content:JSON.stringify(n.content);s.push("[Tool Result: ".concat(e.slice(0,500)).concat(e.length>500?"...":"","]"))}return s.join("\n\n")}(t.message.content,c),x=s&&!c&&d.length>300?d.slice(0,300)+"...":d,m=s&&d.length>300;return(0,n.jsx)("div",{className:"flex ".concat(l?"justify-end":"justify-start"),children:(0,n.jsxs)("div",{className:"max-w-[85%] rounded-2xl px-4 py-3 ".concat(l?"bg-accent/15 border border-accent/20 text-content-primary rounded-br-md":"bg-surface-elevated border border-edge-subtle text-content-primary rounded-bl-md"),children:[(0,n.jsxs)("div",{className:"text-[11px] mb-1.5 ".concat(l?"text-accent/60":"text-content-tertiary"),children:[l?"You":"Claude"," \xb7 ",(0,o.r6)(t.timestamp)]}),l?(0,n.jsx)("div",{className:"text-sm whitespace-pre-wrap break-words leading-relaxed",children:c?d:x}):(0,n.jsx)("div",{className:"text-sm leading-relaxed [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_p]:mb-2 [&_ul]:mb-2 [&_ol]:mb-2 [&_ul]:pl-4 [&_ol]:pl-4 [&_ul]:list-disc [&_ol]:list-decimal [&_li]:mb-0.5 [&_h1]:text-base [&_h1]:font-semibold [&_h1]:mb-1.5 [&_h2]:text-sm [&_h2]:font-semibold [&_h2]:mb-1 [&_h3]:text-sm [&_h3]:font-medium [&_h3]:mb-1 [&_code]:bg-surface-base [&_code]:px-1 [&_code]:py-0.5 [&_code]:rounded [&_code]:text-xs [&_code]:font-mono [&_pre]:bg-surface-base [&_pre]:p-3 [&_pre]:rounded-lg [&_pre]:overflow-x-auto [&_pre]:text-xs [&_pre]:mb-2 [&_blockquote]:border-l-2 [&_blockquote]:border-edge-subtle [&_blockquote]:pl-3 [&_blockquote]:text-content-secondary [&_hr]:border-edge-subtle [&_hr]:my-2",children:(0,n.jsx)(a.oz,{children:c?d:x})}),m&&(0,n.jsx)("button",{onClick:()=>i(!c),className:"mt-2 text-xs font-medium ".concat(l?"text-accent/70 hover:text-accent":"text-accent hover:text-accent-hover"," transition-colors"),children:c?"Show less":"Show more"})]})})}function i(e){let{name:t,args:s,timestamp:r}=e;return(0,n.jsx)("div",{className:"flex justify-end py-1",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-full bg-surface border border-edge-subtle text-xs",children:[(0,n.jsx)("svg",{className:"w-3 h-3 text-accent shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3"})}),(0,n.jsx)("span",{className:"text-accent font-mono font-medium",children:t}),s&&(0,n.jsx)("span",{className:"text-content-secondary font-mono",children:s}),(0,n.jsx)("span",{className:"text-content-tertiary ml-1",children:(0,o.r6)(r)})]})})}function l(e){var t;let{content:s,timestamp:r}=e,a=function(e){let t=e.match(/^<([\w-]+)>([\s\S]*?)<\/[\w-]+>/);return t?{tag:t[1],body:t[2].trim()}:null}(s),c=a?a.tag.replace(/^local-command-/,"").replace(/-/g," "):"system",i=null!=(t=null==a?void 0:a.body)?t:"",l=i.length>80?i.slice(0,80)+"…":i;return(0,n.jsx)("div",{className:"flex justify-end py-1",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-full bg-surface border border-edge-subtle text-xs text-content-tertiary max-w-[85%]",children:[(0,n.jsx)("span",{className:"font-medium shrink-0",children:c}),l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"opacity-40",children:"\xb7"}),(0,n.jsx)("span",{className:"font-mono truncate",children:l})]}),(0,n.jsx)("span",{className:"opacity-40 shrink-0 ml-1",children:(0,o.r6)(r)})]})})}var d=s(931);function x(e){let{agent:t}=e;return(0,n.jsxs)("button",{onClick:()=>{let e=document.getElementById("subagent-".concat(t.agentId));if(e){let t=e.getBoundingClientRect().top+window.scrollY-80;window.scrollTo({top:t,behavior:"smooth"})}},className:"flex items-center gap-2 mt-1 mb-1 ml-4 px-3 py-1.5 text-xs text-accent hover:text-accent-hover bg-surface hover:bg-surface-elevated border border-edge-subtle hover:border-edge-hover rounded-lg transition-all",children:[(0,n.jsx)("svg",{className:"w-3.5 h-3.5 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 3H5a2 2 0 00-2 2v4m6-6h10a2 2 0 012 2v4M9 3v18m0 0h10a2 2 0 002-2V9M9 21H5a2 2 0 01-2-2V9m0 0h18"})}),(0,n.jsx)("span",{className:"font-mono",children:t.slug}),(0,n.jsx)("span",{className:"text-content-tertiary",children:"\xb7"}),(0,n.jsx)("span",{className:"text-content-tertiary truncate max-w-xs",children:t.firstMessage}),(0,n.jsx)("svg",{className:"w-3.5 h-3.5 flex-shrink-0 text-content-tertiary",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})}function m(e){let{messages:t,previewCount:s=50,highlightMessageId:a,showHidden:m=!1,subagents:u}=e,[h,p]=(0,r.useState)(!!a),g=(0,r.useRef)(null),f=[...(0,r.useMemo)(()=>m?t:t.filter(e=>!(0,d.X4)(e)&&!(0,d.B1)(e)),[t,m])].sort((e,t)=>(0,o.EH)(e.timestamp)-(0,o.EH)(t.timestamp)),b=h?f:f.slice(0,s),j=f.length>s;(0,r.useEffect)(()=>{a&&g.current&&g.current.scrollIntoView({behavior:"smooth",block:"center"})},[a]);let v=new Map;if(u&&u.length>0){let e=[...t].sort((e,t)=>(0,o.EH)(e.timestamp)-(0,o.EH)(t.timestamp)),s=new Set(b.map(e=>e.uuid)),n=0;for(let t=0;t<e.length;t++){var y;let r=e[t],a="string"==typeof r.message.content?0:r.message.content.filter(e=>"tool_use"===e.type&&"Task"===e.name).length;if(0===a)continue;let o=s.has(r.uuid)?r.uuid:null;if(!o){for(let n=t-1;n>=0;n--)if(s.has(e[n].uuid)){o=e[n].uuid;break}}if(!o){for(let n=t+1;n<e.length;n++)if(s.has(e[n].uuid)){o=e[n].uuid;break}}if(o){let e=null!=(y=v.get(o))?y:[];for(let t=0;t<a&&n<u.length;t++)e.push(u[n++]);v.set(o,e)}else n+=a}}return(0,n.jsxs)("div",{className:"space-y-4",children:[b.map((e,t)=>{var s;let r=a===e.uuid,o=null!=(s=v.get(e.uuid))?s:[];return(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{ref:r?g:void 0,className:"".concat(r?"ring-2 ring-accent ring-offset-2 ring-offset-base rounded-2xl":""," animate-in stagger-").concat(Math.min(t+1,10)),children:(()=>{let t=(0,d.iP)(e.message.content),s=(0,d.Tc)(t);return s?(0,n.jsx)(i,{name:s.name,args:s.args,timestamp:e.timestamp}):m&&(0,d.X4)(e)?(0,n.jsx)(l,{content:t,timestamp:e.timestamp}):(0,n.jsx)(c,{message:e,compact:!h})})()}),o.map(e=>(0,n.jsx)(x,{agent:e},e.agentId))]},e.uuid)}),j&&(0,n.jsx)("div",{className:"flex justify-center pt-4",children:(0,n.jsx)("button",{onClick:()=>p(!h),className:"flex items-center gap-2 px-5 py-2.5 text-sm text-accent hover:text-accent-hover bg-surface hover:bg-surface-elevated border border-edge-subtle hover:border-edge-hover rounded-xl transition-all",children:h?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 15l7-7 7 7"})}),"Show preview only"]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})}),"Show all ",f.length," messages"]})})}),0===b.length&&(0,n.jsx)("div",{className:"text-center py-16 text-content-tertiary animate-fade",children:"No messages in this session"})]})}},7054:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,2619,23)),Promise.resolve().then(s.bind(s,6229)),Promise.resolve().then(s.bind(s,6281)),Promise.resolve().then(s.bind(s,7192)),Promise.resolve().then(s.bind(s,3389)),Promise.resolve().then(s.bind(s,449))},7192:(e,t,s)=>{"use strict";s.d(t,{SessionContent:()=>f});var n=s(5155),r=s(2115),a=s(467),o=s(6221),c=s(63);function i(e){let{sessionId:t,encodedPath:s,isArchived:a}=e,[o,i]=(0,r.useState)(!0),[l,d]=(0,r.useState)(!1),[x,m]=(0,r.useState)(!1),[u,h]=(0,r.useState)(null),p=(0,c.useRouter)(),g=o?"claude --dangerously-skip-permissions --resume ".concat(t):"claude --resume ".concat(t);async function f(){if(h(null),a){m(!0);try{let n=await fetch("/api/session/restore",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encodedPath:s,sessionId:t})});if(!n.ok){var e;let t=await n.json().catch(()=>({}));h(null!=(e=t.error)?e:"Failed to restore session"),m(!1);return}}catch(e){h(e instanceof Error?e.message:"Failed to restore session"),m(!1);return}m(!1)}await navigator.clipboard.writeText(g),d(!0),setTimeout(()=>d(!1),2e3),a&&p.refresh()}let b=x?"Restoring…":l?"Copied":a?"Restore & copy":"Copy";return(0,n.jsxs)("div",{className:"space-y-2",children:[a&&(0,n.jsxs)("p",{className:"text-xs text-content-tertiary",children:["This session is archived. Restoring copies it back so"," ",(0,n.jsx)("span",{className:"font-mono",children:"claude --resume"})," can find it."]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2 px-3 py-1.5 bg-surface-elevated border border-edge-subtle rounded-lg font-mono text-xs text-content-secondary overflow-x-auto scrollbar-thin",children:[(0,n.jsx)("span",{className:"text-accent select-none shrink-0",children:"$"}),(0,n.jsx)("span",{className:"whitespace-nowrap",children:g})]}),(0,n.jsxs)("button",{onClick:f,disabled:x,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg transition-all shrink-0 disabled:opacity-60 disabled:cursor-not-allowed ".concat(l?"bg-success/15 text-success border border-success/20":"bg-accent/10 text-accent hover:bg-accent/20 border border-accent/20"),children:[l?(0,n.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):(0,n.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})}),b]})]}),u&&(0,n.jsx)("p",{className:"text-xs text-danger",children:u}),(0,n.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-content-tertiary cursor-pointer select-none w-fit",children:[(0,n.jsx)("input",{type:"checkbox",checked:o,onChange:e=>i(e.target.checked),className:"w-3.5 h-3.5 rounded border-edge-hover bg-surface-elevated text-accent focus:ring-accent focus:ring-offset-0 cursor-pointer"}),"Skip permissions"]})]})}var l=s(7650);function d(e){let{encodedPath:t,sessionId:s,totalMessageCount:a,strippedMessageCount:o}=e,i=(0,c.useRouter)(),[d,x]=(0,r.useState)(!1),[m,u]=(0,r.useState)(""),[h,p]=(0,r.useState)(!1),[g,f]=(0,r.useState)(!1),[b,j]=(0,r.useState)(null),v=(0,r.useRef)(null);(0,r.useEffect)(()=>{d&&(u(""),p(!1),j(null),setTimeout(()=>{var e;return null==(e=v.current)?void 0:e.focus()},0))},[d]),(0,r.useEffect)(()=>{function e(e){"Escape"===e.key&&d&&!g&&x(!1)}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[d,g]);let y=m?parseInt(m,10):void 0,k=!m||y&&y>0,N=h?o:a,w=y?Math.min(y,N):N,C=a>0?Math.round((1-w/a)*100):0;async function _(){if(!k)return void j("Please enter a valid positive number.");f(!0),j(null);try{let e=await fetch("/api/session/duplicate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encodedPath:t,sessionId:s,keepLastN:y,stripToolResults:h})}),n=await e.json();if(!e.ok)throw Error(n.error||"Failed to duplicate session");i.push("/project/".concat(t,"/session/").concat(n.newSessionId))}catch(e){j(e instanceof Error?e.message:"Unknown error")}finally{f(!1)}}return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{onClick:()=>x(!0),className:"px-3 py-1.5 text-sm text-accent hover:text-accent-hover hover:bg-accent/10 border border-accent/20 rounded-lg transition-all flex items-center gap-2",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})}),"Duplicate"]}),d&&(0,l.createPortal)((0,n.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm animate-fade",onClick:g?void 0:()=>x(!1)}),(0,n.jsxs)("div",{className:"relative bg-surface-elevated border border-edge rounded-2xl p-6 w-full max-w-md mx-4 shadow-2xl animate-modal",children:[(0,n.jsx)("h2",{className:"text-lg font-medium text-content-primary mb-4",children:"Duplicate Session"}),(0,n.jsxs)("div",{className:"mb-4",children:[(0,n.jsx)("label",{htmlFor:"keepLastN",className:"block text-sm text-content-secondary mb-2",children:"Keep last N messages (optional)"}),(0,n.jsx)("input",{ref:v,id:"keepLastN",type:"number",min:"1",value:m,onChange:e=>u(e.target.value),disabled:g,className:"w-full px-3 py-2.5 bg-surface border border-edge rounded-xl text-content-primary placeholder-content-tertiary focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/30 disabled:opacity-50 transition-all",placeholder:"Leave empty for all ".concat(a," messages")})]}),(0,n.jsx)("div",{className:"mb-4",children:(0,n.jsxs)("label",{className:"flex items-center gap-2 text-sm text-content-secondary cursor-pointer",children:[(0,n.jsx)("input",{type:"checkbox",checked:h,onChange:e=>p(e.target.checked),disabled:g,className:"w-4 h-4 rounded border-edge-hover bg-surface text-accent focus:ring-accent focus:ring-offset-0 disabled:opacity-50"}),"Strip tool results & system messages"]})}),(0,n.jsxs)("div",{className:"text-sm text-content-secondary mb-4 p-3 bg-surface rounded-xl border border-edge-subtle",children:[(0,n.jsxs)("div",{className:"flex justify-between",children:[(0,n.jsx)("span",{children:"Original"}),(0,n.jsxs)("span",{className:"text-content-primary",children:[a," messages"]})]}),(0,n.jsxs)("div",{className:"flex justify-between mt-1",children:[(0,n.jsx)("span",{children:"Result"}),(0,n.jsxs)("span",{className:"text-content-primary",children:[w," messages"]})]}),C>0&&(0,n.jsxs)("div",{className:"flex justify-between mt-1 text-accent",children:[(0,n.jsx)("span",{children:"Reduction"}),(0,n.jsxs)("span",{children:[C,"%"]})]})]}),b&&(0,n.jsx)("p",{className:"text-sm text-danger mb-4",children:b}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,n.jsx)("button",{type:"button",onClick:()=>x(!1),disabled:g,className:"px-4 py-2 text-sm text-content-secondary hover:text-content-primary transition-colors disabled:opacity-50",children:"Cancel"}),(0,n.jsxs)("button",{onClick:_,disabled:g||!k,className:"px-4 py-2 text-sm font-medium bg-accent hover:bg-accent-hover text-white rounded-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[g&&(0,n.jsxs)("svg",{className:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),g?"Duplicating...":"Duplicate"]})]})]})]}),document.body)]})}function x(e){let{encodedPath:t,sessionId:s}=e,a=(0,c.useRouter)(),[o,i]=(0,r.useState)(!1),[d,x]=(0,r.useState)(!1),[m,u]=(0,r.useState)(null);async function h(){x(!0),u(null);try{let e=await fetch("/api/session/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({encodedPath:t,sessionId:s})}),n=await e.json();if(!e.ok)throw Error(n.error||"Failed to delete session");a.push("/project/".concat(t))}catch(e){u(e instanceof Error?e.message:"Unknown error")}finally{x(!1)}}return(0,r.useEffect)(()=>{o&&u(null)},[o]),(0,r.useEffect)(()=>{function e(e){"Escape"===e.key&&o&&!d&&i(!1)}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o,d]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{onClick:()=>i(!0),className:"px-3 py-1.5 text-sm text-danger hover:text-danger-hover hover:bg-danger/10 border border-danger/20 rounded-lg transition-all flex items-center gap-2",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})}),"Delete"]}),o&&(0,l.createPortal)((0,n.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm animate-fade",onClick:d?void 0:()=>i(!1)}),(0,n.jsxs)("div",{className:"relative bg-surface-elevated border border-edge rounded-2xl p-6 w-full max-w-md mx-4 shadow-2xl animate-modal",children:[(0,n.jsx)("h2",{className:"text-lg font-medium text-content-primary mb-4",children:"Delete Session"}),(0,n.jsx)("p",{className:"text-sm text-content-secondary mb-4",children:"Are you sure you want to delete this session? This action cannot be undone."}),m&&(0,n.jsx)("p",{className:"text-sm text-danger mb-4",children:m}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,n.jsx)("button",{type:"button",onClick:()=>i(!1),disabled:d,className:"px-4 py-2 text-sm text-content-secondary hover:text-content-primary transition-colors disabled:opacity-50",children:"Cancel"}),(0,n.jsxs)("button",{onClick:h,disabled:d,className:"px-4 py-2 text-sm font-medium bg-danger hover:bg-danger-hover text-white rounded-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:[d&&(0,n.jsxs)("svg",{className:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),d?"Deleting...":"Delete"]})]})]})]}),document.body)]})}var m=s(7625),u=s(2619),h=s.n(u);function p(e){let{subagents:t,projectPath:s,sessionId:r}=e;return 0===t.length?null:(0,n.jsxs)("div",{id:"subagents",className:"mt-8 animate-in stagger-2",children:[(0,n.jsxs)("h2",{className:"text-sm font-medium text-content-secondary mb-3 flex items-center gap-2",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 3H5a2 2 0 00-2 2v4m6-6h10a2 2 0 012 2v4M9 3v18m0 0h10a2 2 0 002-2V9M9 21H5a2 2 0 01-2-2V9m0 0h18"})}),"Subagents (",t.length,")"]}),(0,n.jsx)("div",{className:"grid gap-2",children:t.map(e=>(0,n.jsx)(h(),{id:"subagent-".concat(e.agentId),href:"/project/".concat(s,"/session/").concat(r,"/subagent/").concat(e.agentId),className:"block bg-surface border border-edge-subtle rounded-lg px-4 py-3 hover:border-edge-hover hover:bg-surface-elevated transition-all group",children:(0,n.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,n.jsx)("span",{className:"text-xs font-mono text-accent",children:e.slug}),(0,n.jsx)("span",{className:"text-xs text-content-tertiary",children:"\xb7"}),(0,n.jsxs)("span",{className:"text-xs text-content-tertiary",children:[e.messageCount," messages"]}),(0,n.jsx)("span",{className:"text-xs text-content-tertiary",children:"\xb7"}),(0,n.jsx)("span",{className:"text-xs text-content-tertiary",children:(0,a.fw)(e.lastActivity)})]}),(0,n.jsx)("p",{className:"text-sm text-content-secondary truncate",children:e.firstMessage})]}),(0,n.jsx)("svg",{className:"w-4 h-4 text-content-tertiary group-hover:text-content-secondary flex-shrink-0 mt-0.5 transition-colors",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})},e.agentId))})]})}var g=s(4580);function f(e){let{projectPath:t,sessionId:s,messageCount:c,lastActivity:l,tokenUsage:u,totalMessageCount:h,strippedMessageCount:f,messages:b,highlightMessageId:j,subagents:v,isArchived:y}=e,[k,N]=(0,r.useState)(!1);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"mb-6 bg-surface border border-edge-subtle rounded-xl animate-in",children:[(0,n.jsxs)("div",{className:"px-4 py-3 flex items-center gap-4 text-sm text-content-secondary",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),c," messages"]}),(0,n.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,a.fw)(l)]}),(0,n.jsx)("span",{className:"text-xs text-content-tertiary hidden sm:inline",children:(0,a.r6)(l)}),(0,n.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-content-tertiary cursor-pointer ml-auto",children:[(0,n.jsx)("input",{type:"checkbox",checked:k,onChange:e=>N(e.target.checked),className:"w-3.5 h-3.5 rounded border-edge-hover bg-surface-elevated text-accent focus:ring-accent focus:ring-offset-0"}),"System messages"]})]}),(0,n.jsx)("div",{className:"border-t border-edge-subtle px-4 py-3",children:(0,n.jsx)(i,{sessionId:s,encodedPath:t,isArchived:y})}),u&&(0,n.jsxs)("div",{className:"border-t border-edge-subtle px-4 py-2.5 flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[(0,n.jsx)("span",{className:"text-content-tertiary font-medium",children:"Tokens"}),(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"text-content-tertiary",children:"in"})," ",(0,n.jsx)("span",{className:"text-content-primary font-mono",children:(0,a.ap)(u.input_tokens)})]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"text-content-tertiary",children:"out"})," ",(0,n.jsx)("span",{className:"text-content-primary font-mono",children:(0,a.ap)(u.output_tokens)})]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"text-content-tertiary",children:"cache read"})," ",(0,n.jsx)("span",{className:"text-content-primary font-mono",children:(0,a.ap)(u.cache_read_input_tokens)})]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{className:"text-content-tertiary",children:"cache write"})," ",(0,n.jsx)("span",{className:"text-content-primary font-mono",children:(0,a.ap)(u.cache_creation_input_tokens)})]})]}),(0,n.jsxs)("div",{className:"border-t border-edge-subtle px-4 py-2.5 flex items-center justify-end gap-2",children:[v&&v.length>0&&(0,n.jsxs)("button",{onClick:()=>{let e=document.getElementById("subagents");if(e){let t=e.getBoundingClientRect().top+window.scrollY-80;window.scrollTo({top:t,behavior:"smooth"})}},className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-accent hover:text-accent-hover hover:bg-accent/10 border border-accent/20 rounded-lg transition-all mr-auto",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 3H5a2 2 0 00-2 2v4m6-6h10a2 2 0 012 2v4M9 3v18m0 0h10a2 2 0 002-2V9M9 21H5a2 2 0 01-2-2V9m0 0h18"})}),v.length," sub-agent",1!==v.length?"s":""]}),(0,n.jsx)(g.ExportButton,{encodedPath:t,sessionId:s}),(0,n.jsx)(d,{encodedPath:t,sessionId:s,totalMessageCount:h,strippedMessageCount:f}),(0,n.jsx)(x,{encodedPath:t,sessionId:s})]})]}),(0,n.jsx)("div",{className:"mb-6 animate-in stagger-1",children:(0,n.jsx)(m.SummarySection,{type:"session",projectPath:t,sessionId:s,messageCount:c})}),(0,n.jsx)(o.ChatView,{messages:b,highlightMessageId:j,showHidden:k,subagents:v}),v&&v.length>0&&(0,n.jsx)(p,{subagents:v,projectPath:t,sessionId:s})]})}}},e=>{e.O(0,[176,856,350,441,255,358],()=>e(e.s=7054)),_N_E=e.O()}]);