@code-insights/cli 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +146 -156
  3. package/dashboard-dist/assets/index-BMhL7wL8.css +1 -0
  4. package/dashboard-dist/assets/index-CuCBzQyQ.js +548 -0
  5. package/dashboard-dist/dist/assets/index-BMhL7wL8.css +1 -0
  6. package/dashboard-dist/dist/assets/index-CuCBzQyQ.js +548 -0
  7. package/dashboard-dist/dist/favicon.svg +4 -0
  8. package/dashboard-dist/dist/index.html +33 -0
  9. package/dashboard-dist/favicon.svg +4 -0
  10. package/dashboard-dist/index.html +33 -0
  11. package/dist/commands/config.d.ts.map +1 -1
  12. package/dist/commands/config.js +188 -69
  13. package/dist/commands/config.js.map +1 -1
  14. package/dist/commands/dashboard.d.ts +16 -0
  15. package/dist/commands/dashboard.d.ts.map +1 -0
  16. package/dist/commands/dashboard.js +82 -0
  17. package/dist/commands/dashboard.js.map +1 -0
  18. package/dist/commands/init.d.ts +3 -4
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +24 -201
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/install-hook.d.ts.map +1 -1
  23. package/dist/commands/install-hook.js +4 -21
  24. package/dist/commands/install-hook.js.map +1 -1
  25. package/dist/commands/open.d.ts +2 -1
  26. package/dist/commands/open.d.ts.map +1 -1
  27. package/dist/commands/open.js +10 -21
  28. package/dist/commands/open.js.map +1 -1
  29. package/dist/commands/reset.d.ts.map +1 -1
  30. package/dist/commands/reset.js +38 -69
  31. package/dist/commands/reset.js.map +1 -1
  32. package/dist/commands/stats/actions/error-handler.d.ts.map +1 -1
  33. package/dist/commands/stats/actions/error-handler.js +1 -11
  34. package/dist/commands/stats/actions/error-handler.js.map +1 -1
  35. package/dist/commands/stats/actions/overview.js +2 -2
  36. package/dist/commands/stats/actions/overview.js.map +1 -1
  37. package/dist/commands/stats/actions/today.js +1 -1
  38. package/dist/commands/stats/actions/today.js.map +1 -1
  39. package/dist/commands/stats/data/firestore.d.ts +1 -1
  40. package/dist/commands/stats/data/firestore.d.ts.map +1 -1
  41. package/dist/commands/stats/data/firestore.js +24 -9
  42. package/dist/commands/stats/data/firestore.js.map +1 -1
  43. package/dist/commands/stats/data/local.d.ts +1 -3
  44. package/dist/commands/stats/data/local.d.ts.map +1 -1
  45. package/dist/commands/stats/data/local.js +45 -41
  46. package/dist/commands/stats/data/local.js.map +1 -1
  47. package/dist/commands/stats/data/source.d.ts +3 -9
  48. package/dist/commands/stats/data/source.d.ts.map +1 -1
  49. package/dist/commands/stats/data/source.js +3 -35
  50. package/dist/commands/stats/data/source.js.map +1 -1
  51. package/dist/commands/stats/data/types.d.ts +2 -13
  52. package/dist/commands/stats/data/types.d.ts.map +1 -1
  53. package/dist/commands/stats/data/types.js +0 -16
  54. package/dist/commands/stats/data/types.js.map +1 -1
  55. package/dist/commands/stats/shared.d.ts.map +1 -1
  56. package/dist/commands/stats/shared.js +1 -5
  57. package/dist/commands/stats/shared.js.map +1 -1
  58. package/dist/commands/status.d.ts.map +1 -1
  59. package/dist/commands/status.js +53 -92
  60. package/dist/commands/status.js.map +1 -1
  61. package/dist/commands/sync.d.ts +5 -5
  62. package/dist/commands/sync.d.ts.map +1 -1
  63. package/dist/commands/sync.js +56 -40
  64. package/dist/commands/sync.js.map +1 -1
  65. package/dist/commands/telemetry.d.ts.map +1 -1
  66. package/dist/commands/telemetry.js +0 -1
  67. package/dist/commands/telemetry.js.map +1 -1
  68. package/dist/constants/llm-providers.d.ts +5 -0
  69. package/dist/constants/llm-providers.d.ts.map +1 -0
  70. package/dist/constants/llm-providers.js +56 -0
  71. package/dist/constants/llm-providers.js.map +1 -0
  72. package/dist/db/client.d.ts +17 -0
  73. package/dist/db/client.d.ts.map +1 -0
  74. package/dist/db/client.js +53 -0
  75. package/dist/db/client.js.map +1 -0
  76. package/dist/db/migrate.d.ts +9 -0
  77. package/dist/db/migrate.d.ts.map +1 -0
  78. package/dist/db/migrate.js +31 -0
  79. package/dist/db/migrate.js.map +1 -0
  80. package/dist/db/read.d.ts +42 -0
  81. package/dist/db/read.d.ts.map +1 -0
  82. package/dist/db/read.js +194 -0
  83. package/dist/db/read.js.map +1 -0
  84. package/dist/db/schema.d.ts +3 -0
  85. package/dist/db/schema.d.ts.map +1 -0
  86. package/dist/db/schema.js +129 -0
  87. package/dist/db/schema.js.map +1 -0
  88. package/dist/db/write.d.ts +24 -0
  89. package/dist/db/write.d.ts.map +1 -0
  90. package/dist/db/write.js +287 -0
  91. package/dist/db/write.js.map +1 -0
  92. package/dist/firebase/client.d.ts +5 -0
  93. package/dist/firebase/client.d.ts.map +1 -1
  94. package/dist/firebase/client.js +23 -0
  95. package/dist/firebase/client.js.map +1 -1
  96. package/dist/index.js +12 -12
  97. package/dist/index.js.map +1 -1
  98. package/dist/providers/context.d.ts +3 -0
  99. package/dist/providers/context.d.ts.map +1 -0
  100. package/dist/providers/context.js +13 -0
  101. package/dist/providers/context.js.map +1 -0
  102. package/dist/providers/copilot.d.ts +18 -0
  103. package/dist/providers/copilot.d.ts.map +1 -0
  104. package/dist/providers/copilot.js +289 -0
  105. package/dist/providers/copilot.js.map +1 -0
  106. package/dist/providers/cursor.d.ts.map +1 -1
  107. package/dist/providers/cursor.js +99 -4
  108. package/dist/providers/cursor.js.map +1 -1
  109. package/dist/providers/registry.d.ts.map +1 -1
  110. package/dist/providers/registry.js +3 -0
  111. package/dist/providers/registry.js.map +1 -1
  112. package/dist/types.d.ts +38 -47
  113. package/dist/types.d.ts.map +1 -1
  114. package/dist/utils/browser.d.ts +6 -0
  115. package/dist/utils/browser.d.ts.map +1 -0
  116. package/dist/utils/browser.js +23 -0
  117. package/dist/utils/browser.js.map +1 -0
  118. package/dist/utils/config.d.ts +9 -21
  119. package/dist/utils/config.d.ts.map +1 -1
  120. package/dist/utils/config.js +23 -50
  121. package/dist/utils/config.js.map +1 -1
  122. package/dist/utils/telemetry.js +2 -7
  123. package/dist/utils/telemetry.js.map +1 -1
  124. package/dist/utils/tips.js +1 -1
  125. package/dist/utils/tips.js.map +1 -1
  126. package/dist/utils/welcome.d.ts +1 -1
  127. package/dist/utils/welcome.d.ts.map +1 -1
  128. package/dist/utils/welcome.js +20 -49
  129. package/dist/utils/welcome.js.map +1 -1
  130. package/package.json +19 -5
  131. package/server-dist/dist/index.d.ts +12 -0
  132. package/server-dist/dist/index.d.ts.map +1 -0
  133. package/server-dist/dist/index.js +92 -0
  134. package/server-dist/dist/index.js.map +1 -0
  135. package/server-dist/dist/llm/analysis.d.ts +80 -0
  136. package/server-dist/dist/llm/analysis.d.ts.map +1 -0
  137. package/server-dist/dist/llm/analysis.js +509 -0
  138. package/server-dist/dist/llm/analysis.js.map +1 -0
  139. package/server-dist/dist/llm/client.d.ts +27 -0
  140. package/server-dist/dist/llm/client.d.ts.map +1 -0
  141. package/server-dist/dist/llm/client.js +71 -0
  142. package/server-dist/dist/llm/client.js.map +1 -0
  143. package/server-dist/dist/llm/index.d.ts +7 -0
  144. package/server-dist/dist/llm/index.d.ts.map +1 -0
  145. package/server-dist/dist/llm/index.js +5 -0
  146. package/server-dist/dist/llm/index.js.map +1 -0
  147. package/server-dist/dist/llm/prompts.d.ts +73 -0
  148. package/server-dist/dist/llm/prompts.d.ts.map +1 -0
  149. package/server-dist/dist/llm/prompts.js +242 -0
  150. package/server-dist/dist/llm/prompts.js.map +1 -0
  151. package/server-dist/dist/llm/providers/anthropic.d.ts +3 -0
  152. package/server-dist/dist/llm/providers/anthropic.d.ts.map +1 -0
  153. package/server-dist/dist/llm/providers/anthropic.js +45 -0
  154. package/server-dist/dist/llm/providers/anthropic.js.map +1 -0
  155. package/server-dist/dist/llm/providers/gemini.d.ts +3 -0
  156. package/server-dist/dist/llm/providers/gemini.d.ts.map +1 -0
  157. package/server-dist/dist/llm/providers/gemini.js +51 -0
  158. package/server-dist/dist/llm/providers/gemini.js.map +1 -0
  159. package/server-dist/dist/llm/providers/ollama.d.ts +12 -0
  160. package/server-dist/dist/llm/providers/ollama.d.ts.map +1 -0
  161. package/server-dist/dist/llm/providers/ollama.js +61 -0
  162. package/server-dist/dist/llm/providers/ollama.js.map +1 -0
  163. package/server-dist/dist/llm/providers/openai.d.ts +3 -0
  164. package/server-dist/dist/llm/providers/openai.d.ts.map +1 -0
  165. package/server-dist/dist/llm/providers/openai.js +39 -0
  166. package/server-dist/dist/llm/providers/openai.js.map +1 -0
  167. package/server-dist/dist/llm/types.d.ts +22 -0
  168. package/server-dist/dist/llm/types.d.ts.map +1 -0
  169. package/server-dist/dist/llm/types.js +5 -0
  170. package/server-dist/dist/llm/types.js.map +1 -0
  171. package/server-dist/dist/routes/analysis.d.ts +4 -0
  172. package/server-dist/dist/routes/analysis.d.ts.map +1 -0
  173. package/server-dist/dist/routes/analysis.js +103 -0
  174. package/server-dist/dist/routes/analysis.js.map +1 -0
  175. package/server-dist/dist/routes/analytics.d.ts +4 -0
  176. package/server-dist/dist/routes/analytics.d.ts.map +1 -0
  177. package/server-dist/dist/routes/analytics.js +47 -0
  178. package/server-dist/dist/routes/analytics.js.map +1 -0
  179. package/server-dist/dist/routes/config.d.ts +4 -0
  180. package/server-dist/dist/routes/config.d.ts.map +1 -0
  181. package/server-dist/dist/routes/config.js +108 -0
  182. package/server-dist/dist/routes/config.js.map +1 -0
  183. package/server-dist/dist/routes/export.d.ts +4 -0
  184. package/server-dist/dist/routes/export.d.ts.map +1 -0
  185. package/server-dist/dist/routes/export.js +52 -0
  186. package/server-dist/dist/routes/export.js.map +1 -0
  187. package/server-dist/dist/routes/insights.d.ts +4 -0
  188. package/server-dist/dist/routes/insights.d.ts.map +1 -0
  189. package/server-dist/dist/routes/insights.js +80 -0
  190. package/server-dist/dist/routes/insights.js.map +1 -0
  191. package/server-dist/dist/routes/messages.d.ts +4 -0
  192. package/server-dist/dist/routes/messages.d.ts.map +1 -0
  193. package/server-dist/dist/routes/messages.js +19 -0
  194. package/server-dist/dist/routes/messages.js.map +1 -0
  195. package/server-dist/dist/routes/projects.d.ts +4 -0
  196. package/server-dist/dist/routes/projects.d.ts.map +1 -0
  197. package/server-dist/dist/routes/projects.js +32 -0
  198. package/server-dist/dist/routes/projects.js.map +1 -0
  199. package/server-dist/dist/routes/sessions.d.ts +4 -0
  200. package/server-dist/dist/routes/sessions.d.ts.map +1 -0
  201. package/server-dist/dist/routes/sessions.js +65 -0
  202. package/server-dist/dist/routes/sessions.js.map +1 -0
  203. package/server-dist/dist/utils.d.ts +6 -0
  204. package/server-dist/dist/utils.d.ts.map +1 -0
  205. package/server-dist/dist/utils.js +9 -0
  206. package/server-dist/dist/utils.js.map +1 -0
  207. package/server-dist/index.d.ts +12 -0
  208. package/server-dist/index.d.ts.map +1 -0
  209. package/server-dist/index.js +92 -0
  210. package/server-dist/index.js.map +1 -0
  211. package/server-dist/llm/analysis.d.ts +80 -0
  212. package/server-dist/llm/analysis.d.ts.map +1 -0
  213. package/server-dist/llm/analysis.js +509 -0
  214. package/server-dist/llm/analysis.js.map +1 -0
  215. package/server-dist/llm/client.d.ts +27 -0
  216. package/server-dist/llm/client.d.ts.map +1 -0
  217. package/server-dist/llm/client.js +71 -0
  218. package/server-dist/llm/client.js.map +1 -0
  219. package/server-dist/llm/index.d.ts +7 -0
  220. package/server-dist/llm/index.d.ts.map +1 -0
  221. package/server-dist/llm/index.js +5 -0
  222. package/server-dist/llm/index.js.map +1 -0
  223. package/server-dist/llm/prompts.d.ts +73 -0
  224. package/server-dist/llm/prompts.d.ts.map +1 -0
  225. package/server-dist/llm/prompts.js +242 -0
  226. package/server-dist/llm/prompts.js.map +1 -0
  227. package/server-dist/llm/providers/anthropic.d.ts +3 -0
  228. package/server-dist/llm/providers/anthropic.d.ts.map +1 -0
  229. package/server-dist/llm/providers/anthropic.js +45 -0
  230. package/server-dist/llm/providers/anthropic.js.map +1 -0
  231. package/server-dist/llm/providers/gemini.d.ts +3 -0
  232. package/server-dist/llm/providers/gemini.d.ts.map +1 -0
  233. package/server-dist/llm/providers/gemini.js +51 -0
  234. package/server-dist/llm/providers/gemini.js.map +1 -0
  235. package/server-dist/llm/providers/ollama.d.ts +12 -0
  236. package/server-dist/llm/providers/ollama.d.ts.map +1 -0
  237. package/server-dist/llm/providers/ollama.js +61 -0
  238. package/server-dist/llm/providers/ollama.js.map +1 -0
  239. package/server-dist/llm/providers/openai.d.ts +3 -0
  240. package/server-dist/llm/providers/openai.d.ts.map +1 -0
  241. package/server-dist/llm/providers/openai.js +39 -0
  242. package/server-dist/llm/providers/openai.js.map +1 -0
  243. package/server-dist/llm/types.d.ts +22 -0
  244. package/server-dist/llm/types.d.ts.map +1 -0
  245. package/server-dist/llm/types.js +5 -0
  246. package/server-dist/llm/types.js.map +1 -0
  247. package/server-dist/routes/analysis.d.ts +4 -0
  248. package/server-dist/routes/analysis.d.ts.map +1 -0
  249. package/server-dist/routes/analysis.js +103 -0
  250. package/server-dist/routes/analysis.js.map +1 -0
  251. package/server-dist/routes/analytics.d.ts +4 -0
  252. package/server-dist/routes/analytics.d.ts.map +1 -0
  253. package/server-dist/routes/analytics.js +47 -0
  254. package/server-dist/routes/analytics.js.map +1 -0
  255. package/server-dist/routes/config.d.ts +4 -0
  256. package/server-dist/routes/config.d.ts.map +1 -0
  257. package/server-dist/routes/config.js +108 -0
  258. package/server-dist/routes/config.js.map +1 -0
  259. package/server-dist/routes/export.d.ts +4 -0
  260. package/server-dist/routes/export.d.ts.map +1 -0
  261. package/server-dist/routes/export.js +52 -0
  262. package/server-dist/routes/export.js.map +1 -0
  263. package/server-dist/routes/insights.d.ts +4 -0
  264. package/server-dist/routes/insights.d.ts.map +1 -0
  265. package/server-dist/routes/insights.js +80 -0
  266. package/server-dist/routes/insights.js.map +1 -0
  267. package/server-dist/routes/messages.d.ts +4 -0
  268. package/server-dist/routes/messages.d.ts.map +1 -0
  269. package/server-dist/routes/messages.js +19 -0
  270. package/server-dist/routes/messages.js.map +1 -0
  271. package/server-dist/routes/projects.d.ts +4 -0
  272. package/server-dist/routes/projects.d.ts.map +1 -0
  273. package/server-dist/routes/projects.js +32 -0
  274. package/server-dist/routes/projects.js.map +1 -0
  275. package/server-dist/routes/sessions.d.ts +4 -0
  276. package/server-dist/routes/sessions.d.ts.map +1 -0
  277. package/server-dist/routes/sessions.js +65 -0
  278. package/server-dist/routes/sessions.js.map +1 -0
  279. package/server-dist/utils.d.ts +6 -0
  280. package/server-dist/utils.d.ts.map +1 -0
  281. package/server-dist/utils.js +9 -0
  282. package/server-dist/utils.js.map +1 -0
@@ -0,0 +1,289 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as os from 'os';
4
+ import { generateTitle, detectSessionCharacter } from '../parser/titles.js';
5
+ /**
6
+ * VS Code Copilot Chat session provider.
7
+ * Discovers and parses JSON session files from VS Code's workspaceStorage.
8
+ *
9
+ * Each chat conversation is stored as a standalone JSON file (format version 3)
10
+ * under workspaceStorage/<hash>/chatSessions/<sessionId>.json.
11
+ * One file = one session (no virtual paths needed).
12
+ */
13
+ export class CopilotProvider {
14
+ getProviderName() {
15
+ return 'copilot';
16
+ }
17
+ async discover(options) {
18
+ const vscodeUserDir = getVSCodeUserDir();
19
+ if (!vscodeUserDir)
20
+ return [];
21
+ const files = [];
22
+ // 1. Workspace-scoped sessions
23
+ const workspaceStorageDir = path.join(vscodeUserDir, 'workspaceStorage');
24
+ if (fs.existsSync(workspaceStorageDir)) {
25
+ let entries;
26
+ try {
27
+ entries = fs.readdirSync(workspaceStorageDir);
28
+ }
29
+ catch {
30
+ entries = [];
31
+ }
32
+ for (const entry of entries) {
33
+ const wsDir = path.join(workspaceStorageDir, entry);
34
+ try {
35
+ if (!fs.statSync(wsDir).isDirectory())
36
+ continue;
37
+ }
38
+ catch {
39
+ continue;
40
+ }
41
+ // Apply project filter via workspace.json
42
+ if (options?.projectFilter) {
43
+ const projectPath = resolveWorkspacePath(wsDir);
44
+ if (projectPath && !projectPath.toLowerCase().includes(options.projectFilter.toLowerCase())) {
45
+ continue;
46
+ }
47
+ }
48
+ const chatDir = path.join(wsDir, 'chatSessions');
49
+ collectJsonFiles(chatDir, files);
50
+ }
51
+ }
52
+ // 2. Global sessions (empty window — no workspace)
53
+ const globalChatDir = path.join(vscodeUserDir, 'globalStorage', 'emptyWindowChatSessions');
54
+ if (!options?.projectFilter) {
55
+ collectJsonFiles(globalChatDir, files);
56
+ }
57
+ return files;
58
+ }
59
+ async parse(filePath) {
60
+ return parseCopilotSession(filePath);
61
+ }
62
+ }
63
+ // ---------------------------------------------------------------------------
64
+ // Discovery helpers
65
+ // ---------------------------------------------------------------------------
66
+ function getVSCodeUserDir() {
67
+ const platform = process.platform;
68
+ const home = os.homedir();
69
+ let dataDir;
70
+ if (platform === 'darwin') {
71
+ dataDir = path.join(home, 'Library', 'Application Support', 'Code', 'User');
72
+ }
73
+ else if (platform === 'linux') {
74
+ dataDir = path.join(home, '.config', 'Code', 'User');
75
+ }
76
+ else if (platform === 'win32') {
77
+ dataDir = path.join(process.env.APPDATA || path.join(home, 'AppData', 'Roaming'), 'Code', 'User');
78
+ }
79
+ else {
80
+ return null;
81
+ }
82
+ return fs.existsSync(dataDir) ? dataDir : null;
83
+ }
84
+ /**
85
+ * Resolve project path from a workspace hash directory.
86
+ * Reads workspace.json which contains the folder URI.
87
+ */
88
+ function resolveWorkspacePath(wsDir) {
89
+ const workspaceJsonPath = path.join(wsDir, 'workspace.json');
90
+ if (!fs.existsSync(workspaceJsonPath))
91
+ return null;
92
+ try {
93
+ const data = JSON.parse(fs.readFileSync(workspaceJsonPath, 'utf-8'));
94
+ if (data.folder) {
95
+ try {
96
+ return new URL(data.folder).pathname;
97
+ }
98
+ catch {
99
+ return data.folder;
100
+ }
101
+ }
102
+ }
103
+ catch {
104
+ // Ignore parse errors
105
+ }
106
+ return null;
107
+ }
108
+ /**
109
+ * Collect *.json files from a chatSessions directory.
110
+ */
111
+ function collectJsonFiles(dir, files) {
112
+ if (!fs.existsSync(dir))
113
+ return;
114
+ let entries;
115
+ try {
116
+ entries = fs.readdirSync(dir);
117
+ }
118
+ catch {
119
+ return;
120
+ }
121
+ for (const entry of entries) {
122
+ if (!entry.endsWith('.json'))
123
+ continue;
124
+ files.push(path.join(dir, entry));
125
+ }
126
+ }
127
+ function parseCopilotSession(filePath) {
128
+ try {
129
+ const raw = fs.readFileSync(filePath, 'utf-8');
130
+ const data = JSON.parse(raw);
131
+ if (!data.requests || data.requests.length === 0)
132
+ return null;
133
+ // Use copilot-vscode: prefix to distinguish VS Code Copilot Chat from copilot-cli
134
+ const sessionId = `copilot-vscode:${data.sessionId}`;
135
+ const messages = [];
136
+ let modelId = null;
137
+ // Extract session-level model info
138
+ if (data.inputState?.selectedModel?.metadata?.name) {
139
+ modelId = data.inputState.selectedModel.metadata.name;
140
+ }
141
+ for (const request of data.requests) {
142
+ if (request.isCanceled)
143
+ continue;
144
+ const timestamp = new Date(request.timestamp);
145
+ // Track model per-request
146
+ if (request.modelId && !modelId) {
147
+ modelId = request.modelId;
148
+ }
149
+ // User message
150
+ const userText = request.message?.text?.trim();
151
+ if (userText) {
152
+ messages.push({
153
+ id: `${request.requestId}-user`,
154
+ sessionId,
155
+ type: 'user',
156
+ content: userText.slice(0, 10000),
157
+ thinking: null,
158
+ toolCalls: [],
159
+ toolResults: [],
160
+ usage: null,
161
+ timestamp,
162
+ parentId: null,
163
+ });
164
+ }
165
+ // Assistant response — extract text, thinking, and tool calls
166
+ let assistantText = '';
167
+ let thinkingText = '';
168
+ const toolCalls = [];
169
+ for (const item of request.response) {
170
+ const kind = item.kind || 'text-value';
171
+ switch (kind) {
172
+ case 'text-value':
173
+ // Default kind — markdown text content
174
+ if (item.value)
175
+ assistantText += item.value;
176
+ break;
177
+ case 'thinking':
178
+ if (item.value)
179
+ thinkingText += item.value + '\n';
180
+ break;
181
+ case 'toolInvocationSerialized':
182
+ if (item.toolId) {
183
+ toolCalls.push({
184
+ id: item.toolCallId || `tool-${toolCalls.length}`,
185
+ name: item.toolId,
186
+ input: { description: item.invocationMessage || '' },
187
+ });
188
+ }
189
+ break;
190
+ // Skip non-content items
191
+ default:
192
+ break;
193
+ }
194
+ }
195
+ // Also extract structured tool calls from result.metadata if available
196
+ if (request.result?.metadata?.toolCallRounds) {
197
+ for (const round of request.result.metadata.toolCallRounds) {
198
+ for (const tc of round.toolCalls) {
199
+ // Avoid duplicates — only add if not already tracked from response items
200
+ if (!toolCalls.some(t => t.id === tc.id)) {
201
+ let parsedInput = {};
202
+ try {
203
+ parsedInput = JSON.parse(tc.arguments);
204
+ }
205
+ catch {
206
+ parsedInput = { raw: tc.arguments?.slice(0, 1000) || '' };
207
+ }
208
+ toolCalls.push({
209
+ id: tc.id,
210
+ name: tc.name,
211
+ input: parsedInput,
212
+ });
213
+ }
214
+ }
215
+ }
216
+ }
217
+ const trimmedAssistant = assistantText.trim();
218
+ if (trimmedAssistant || toolCalls.length > 0) {
219
+ messages.push({
220
+ id: `${request.requestId}-assistant`,
221
+ sessionId,
222
+ type: 'assistant',
223
+ content: trimmedAssistant.slice(0, 10000),
224
+ thinking: thinkingText.trim() || null,
225
+ toolCalls,
226
+ toolResults: [], // Results are inline in response, not structured separately
227
+ usage: null,
228
+ timestamp,
229
+ parentId: null,
230
+ });
231
+ }
232
+ }
233
+ if (messages.length === 0)
234
+ return null;
235
+ // Resolve project path from workspace directory
236
+ // filePath: .../workspaceStorage/<hash>/chatSessions/<id>.json
237
+ const chatDir = path.dirname(filePath);
238
+ const chatDirName = path.basename(chatDir);
239
+ let projectPath;
240
+ let projectName;
241
+ if (chatDirName === 'chatSessions') {
242
+ const wsDir = path.dirname(chatDir);
243
+ projectPath = resolveWorkspacePath(wsDir) || 'copilot://unknown';
244
+ projectName = path.basename(projectPath);
245
+ }
246
+ else if (chatDirName === 'emptyWindowChatSessions') {
247
+ projectPath = 'copilot://global';
248
+ projectName = 'global';
249
+ }
250
+ else {
251
+ projectPath = 'copilot://unknown';
252
+ projectName = 'unknown';
253
+ }
254
+ const userMessages = messages.filter(m => m.type === 'user');
255
+ const assistantMessages = messages.filter(m => m.type === 'assistant');
256
+ const toolCallCount = messages.reduce((sum, m) => sum + m.toolCalls.length, 0);
257
+ const startedAt = new Date(data.creationDate);
258
+ const endedAt = new Date(data.lastMessageDate || data.creationDate);
259
+ const session = {
260
+ id: sessionId,
261
+ projectPath,
262
+ projectName,
263
+ summary: data.customTitle || null,
264
+ generatedTitle: null,
265
+ titleSource: null,
266
+ sessionCharacter: null,
267
+ startedAt,
268
+ endedAt,
269
+ messageCount: messages.length,
270
+ userMessageCount: userMessages.length,
271
+ assistantMessageCount: assistantMessages.length,
272
+ toolCallCount,
273
+ gitBranch: null,
274
+ claudeVersion: modelId,
275
+ sourceTool: 'copilot',
276
+ messages,
277
+ };
278
+ // Generate title and detect session character
279
+ const titleResult = generateTitle(session);
280
+ session.generatedTitle = titleResult.title;
281
+ session.titleSource = titleResult.source;
282
+ session.sessionCharacter = titleResult.character || detectSessionCharacter(session);
283
+ return session;
284
+ }
285
+ catch {
286
+ return null;
287
+ }
288
+ }
289
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/providers/copilot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/providers/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAA2B,MAAM,aAAa,CAAC;AAG1E;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkDvE;;;OAGG;IACG,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAUhE"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/providers/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAA2B,MAAM,aAAa,CAAC;AAI1E;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkDvE;;;OAGG;IACG,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAUhE"}
@@ -3,6 +3,7 @@ import * as path from 'path';
3
3
  import * as os from 'os';
4
4
  import Database from 'better-sqlite3';
5
5
  import { generateTitle, detectSessionCharacter } from '../parser/titles.js';
6
+ import { isVerbose } from './context.js';
6
7
  /**
7
8
  * Cursor IDE session provider.
8
9
  * Discovers and parses sessions from Cursor's SQLite databases.
@@ -207,7 +208,9 @@ function parseCursorSession(dbPath, composerId) {
207
208
  if (!composerData)
208
209
  return null;
209
210
  // Extract messages from composer data
210
- const messages = extractMessages(composerData, composerId);
211
+ // Pass db handle for the fullConversationHeadersOnly format where
212
+ // bubble content is stored in separate cursorDiskKV rows.
213
+ const messages = extractMessages(composerData, composerId, db);
211
214
  if (messages.length === 0)
212
215
  return null;
213
216
  // Resolve project path from workspace directory
@@ -269,13 +272,105 @@ function parseCursorSession(dbPath, composerId) {
269
272
  db?.close();
270
273
  }
271
274
  }
275
+ // Keys Cursor has used across versions to store the message array.
276
+ // Order matters: check the most common/modern formats first.
277
+ const CURSOR_MESSAGE_ARRAY_KEYS = [
278
+ 'conversation', // Observed in Cursor ≤0.42 cursorDiskKV entries
279
+ 'messages', // Earlier workspace DB format
280
+ 'bubbles', // Observed in some Cursor 0.43+ cursorDiskKV entries
281
+ 'turns', // Seen in experimental Cursor builds
282
+ 'history', // Alternate key used in some Cursor forks
283
+ 'richConversation', // Rich-text variant with full markdown blocks
284
+ 'thread', // Used in agent-mode sessions
285
+ ];
286
+ /**
287
+ * Find the message array in a composerData blob, trying all known key names.
288
+ * Returns [array, keyUsed] so callers can log which key worked.
289
+ * Returns [[], null] when no recognised key has a non-empty array.
290
+ */
291
+ function findMessageArray(composerData) {
292
+ for (const key of CURSOR_MESSAGE_ARRAY_KEYS) {
293
+ const value = composerData[key];
294
+ if (Array.isArray(value) && value.length > 0) {
295
+ return [value, key];
296
+ }
297
+ }
298
+ return [[], null];
299
+ }
272
300
  /**
273
301
  * Extract parsed messages from Cursor composer data.
302
+ *
303
+ * Handles two storage formats:
304
+ * 1. Inline: composerData has a `conversation` (or `messages`, etc.) array with full bubble content.
305
+ * 2. Headers-only (Cursor v3+/v6): composerData has `fullConversationHeadersOnly` with bubble IDs
306
+ * and types only. Full bubble content is stored in separate `bubbleId:<composerId>:<bubbleId>`
307
+ * rows in the same cursorDiskKV table.
308
+ */
309
+ function extractMessages(composerData, sessionId, db) {
310
+ const messages = [];
311
+ // Strategy 1: Try fullConversationHeadersOnly (newer Cursor format, ~72% of sessions)
312
+ const headers = composerData.fullConversationHeadersOnly;
313
+ if (Array.isArray(headers) && headers.length > 0 && db) {
314
+ const conversation = loadBubblesFromHeaders(headers, sessionId, db);
315
+ if (conversation.length > 0) {
316
+ return parseBubbles(conversation, sessionId);
317
+ }
318
+ // If all bubble lookups failed, fall through to inline check
319
+ }
320
+ // Strategy 2: Try inline message arrays (older Cursor format)
321
+ const [conversation, keyUsed] = findMessageArray(composerData);
322
+ if (conversation.length === 0) {
323
+ // No messages found — log top-level keys to help diagnose future Cursor format changes.
324
+ // Only log when the composerData has keys but none match our known formats
325
+ // (empty objects = legitimately empty sessions, not a format issue).
326
+ const topLevelKeys = Object.keys(composerData);
327
+ const knownKeys = new Set([...CURSOR_MESSAGE_ARRAY_KEYS, 'fullConversationHeadersOnly']);
328
+ const hasUnknownArrayKeys = topLevelKeys.some(k => !knownKeys.has(k) && Array.isArray(composerData[k]));
329
+ if (topLevelKeys.length > 0 && hasUnknownArrayKeys) {
330
+ if (isVerbose()) {
331
+ process.stderr.write(`[code-insights] cursor: session ${sessionId} — unrecognised composerData structure. ` +
332
+ `Top-level keys: [${topLevelKeys.join(', ')}]\n`);
333
+ }
334
+ }
335
+ return messages;
336
+ }
337
+ // Log which key was used when it's not the primary expected key — helps track format drift
338
+ if (keyUsed && keyUsed !== 'conversation') {
339
+ if (isVerbose()) {
340
+ process.stderr.write(`[code-insights] cursor: session ${sessionId} — messages found under key "${keyUsed}"\n`);
341
+ }
342
+ }
343
+ return parseBubbles(conversation, sessionId);
344
+ }
345
+ /**
346
+ * Load full bubble data from individual cursorDiskKV rows.
347
+ * Each bubble is stored at key `bubbleId:<composerId>:<bubbleId>`.
348
+ */
349
+ function loadBubblesFromHeaders(headers, composerId, db) {
350
+ const bubbles = [];
351
+ const stmt = db.prepare("SELECT value FROM cursorDiskKV WHERE key = ?");
352
+ for (const header of headers) {
353
+ if (!header.bubbleId)
354
+ continue;
355
+ try {
356
+ const row = stmt.get(`bubbleId:${composerId}:${header.bubbleId}`);
357
+ if (row?.value) {
358
+ const bubble = JSON.parse(row.value);
359
+ bubbles.push(bubble);
360
+ }
361
+ }
362
+ catch {
363
+ // Individual bubble parse failure — skip it, keep loading others
364
+ }
365
+ }
366
+ return bubbles;
367
+ }
368
+ /**
369
+ * Parse an array of bubble objects into ParsedMessage[].
370
+ * Shared by both inline and headers-only code paths.
274
371
  */
275
- function extractMessages(composerData, sessionId) {
372
+ function parseBubbles(conversation, sessionId) {
276
373
  const messages = [];
277
- // Try conversation array (modern format from cursorDiskKV)
278
- const conversation = (composerData.conversation || composerData.messages || []);
279
374
  for (let i = 0; i < conversation.length; i++) {
280
375
  const bubble = conversation[i];
281
376
  // Determine message type
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/providers/cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/providers/cursor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAqBlD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAMzD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,eAAe,EAAE,CAEnD"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyBlD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAMzD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,eAAe,EAAE,CAEnD"}
@@ -2,6 +2,7 @@ import { ClaudeCodeProvider } from './claude-code.js';
2
2
  import { CursorProvider } from './cursor.js';
3
3
  import { CodexProvider } from './codex.js';
4
4
  import { CopilotCliProvider } from './copilot-cli.js';
5
+ import { CopilotProvider } from './copilot.js';
5
6
  const providers = new Map();
6
7
  // Register built-in providers
7
8
  const claudeCode = new ClaudeCodeProvider();
@@ -12,6 +13,8 @@ const codex = new CodexProvider();
12
13
  providers.set(codex.getProviderName(), codex);
13
14
  const copilotCli = new CopilotCliProvider();
14
15
  providers.set(copilotCli.getProviderName(), copilotCli);
16
+ const copilot = new CopilotProvider();
17
+ providers.set(copilot.getProviderName(), copilot);
15
18
  /**
16
19
  * Get a provider by name
17
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;AAErD,8BAA8B;AAC9B,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAC5C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC;AAExD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;AACpC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;AAClC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;AAE9C,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAC5C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;AAErD,8BAA8B;AAC9B,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAC5C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC;AAExD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;AACpC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;AAClC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,CAAC;AAE9C,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAC5C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC;AAExD,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;AACtC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -151,23 +151,52 @@ export interface Insight {
151
151
  export interface InsightMetadata {
152
152
  alternatives?: string[];
153
153
  reasoning?: string;
154
+ evidence?: string[];
154
155
  context?: string;
155
156
  applicability?: string;
157
+ efficiencyScore?: number;
158
+ wastedTurns?: Array<{
159
+ messageIndex: number;
160
+ reason: string;
161
+ suggestedRewrite: string;
162
+ }>;
163
+ antiPatterns?: Array<{
164
+ name: string;
165
+ count: number;
166
+ examples: string[];
167
+ }>;
168
+ potentialMessageReduction?: number;
169
+ }
170
+ export type LLMProvider = 'openai' | 'anthropic' | 'gemini' | 'ollama';
171
+ export interface LLMProviderConfig {
172
+ provider: LLMProvider;
173
+ apiKey?: string;
174
+ model: string;
175
+ baseUrl?: string;
176
+ }
177
+ export interface ProviderModelOption {
178
+ id: string;
179
+ name: string;
180
+ description?: string;
181
+ inputCostPer1M?: number;
182
+ outputCostPer1M?: number;
183
+ }
184
+ export interface ProviderInfo {
185
+ id: LLMProvider;
186
+ name: string;
187
+ models: ProviderModelOption[];
188
+ requiresApiKey: boolean;
189
+ apiKeyLink?: string;
156
190
  }
157
- export type DataSourcePreference = 'local' | 'firebase';
158
191
  export interface ClaudeInsightConfig {
159
- firebase?: {
160
- projectId: string;
161
- clientEmail: string;
162
- privateKey: string;
163
- };
164
- webConfig?: FirebaseWebConfig;
165
192
  sync: {
166
193
  claudeDir: string;
167
194
  excludeProjects: string[];
168
195
  };
169
- dashboardUrl?: string;
170
- dataSource?: DataSourcePreference;
196
+ dashboard?: {
197
+ port?: number;
198
+ llm?: LLMProviderConfig;
199
+ };
171
200
  telemetry?: boolean;
172
201
  }
173
202
  export interface SyncState {
@@ -180,42 +209,4 @@ export interface FileSyncState {
180
209
  sessionId: string;
181
210
  syncedSessionIds?: string[];
182
211
  }
183
- export interface Project {
184
- id: string;
185
- name: string;
186
- path: string;
187
- sessionCount: number;
188
- lastActivity: Date;
189
- createdAt: Date;
190
- }
191
- /**
192
- * Firebase Service Account JSON file structure
193
- * Downloaded from Firebase Console > Project Settings > Service Accounts
194
- */
195
- export interface FirebaseServiceAccountJson {
196
- type: 'service_account';
197
- project_id: string;
198
- private_key_id: string;
199
- private_key: string;
200
- client_email: string;
201
- client_id: string;
202
- auth_uri: string;
203
- token_uri: string;
204
- auth_provider_x509_cert_url: string;
205
- client_x509_cert_url: string;
206
- universe_domain?: string;
207
- }
208
- /**
209
- * Firebase Web SDK config
210
- * Found in Firebase Console > Project Settings > General > Your Apps > Web App
211
- */
212
- export interface FirebaseWebConfig {
213
- apiKey: string;
214
- authDomain: string;
215
- projectId: string;
216
- storageBucket: string;
217
- messagingSenderId: string;
218
- appId: string;
219
- measurementId?: string;
220
- }
221
212
  //# sourceMappingURL=types.d.ts.map