braindump 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +180 -0
  3. package/dist/adapters/base-adapter.d.ts +13 -0
  4. package/dist/adapters/base-adapter.d.ts.map +1 -0
  5. package/dist/adapters/base-adapter.js +7 -0
  6. package/dist/adapters/base-adapter.js.map +1 -0
  7. package/dist/adapters/claude-code/adapter.d.ts +47 -0
  8. package/dist/adapters/claude-code/adapter.d.ts.map +1 -0
  9. package/dist/adapters/claude-code/adapter.js +382 -0
  10. package/dist/adapters/claude-code/adapter.js.map +1 -0
  11. package/dist/adapters/codex/adapter.d.ts +26 -0
  12. package/dist/adapters/codex/adapter.d.ts.map +1 -0
  13. package/dist/adapters/codex/adapter.js +446 -0
  14. package/dist/adapters/codex/adapter.js.map +1 -0
  15. package/dist/adapters/cursor/adapter.d.ts +35 -0
  16. package/dist/adapters/cursor/adapter.d.ts.map +1 -0
  17. package/dist/adapters/cursor/adapter.js +675 -0
  18. package/dist/adapters/cursor/adapter.js.map +1 -0
  19. package/dist/adapters/index.d.ts +19 -0
  20. package/dist/adapters/index.d.ts.map +1 -0
  21. package/dist/adapters/index.js +65 -0
  22. package/dist/adapters/index.js.map +1 -0
  23. package/dist/cli/index.d.ts +3 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +424 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/utils.d.ts +10 -0
  28. package/dist/cli/utils.d.ts.map +1 -0
  29. package/dist/cli/utils.js +21 -0
  30. package/dist/cli/utils.js.map +1 -0
  31. package/dist/core/compression.d.ts +11 -0
  32. package/dist/core/compression.d.ts.map +1 -0
  33. package/dist/core/compression.js +182 -0
  34. package/dist/core/compression.js.map +1 -0
  35. package/dist/core/conversation-analyzer.d.ts +9 -0
  36. package/dist/core/conversation-analyzer.d.ts.map +1 -0
  37. package/dist/core/conversation-analyzer.js +220 -0
  38. package/dist/core/conversation-analyzer.js.map +1 -0
  39. package/dist/core/project-context.d.ts +7 -0
  40. package/dist/core/project-context.d.ts.map +1 -0
  41. package/dist/core/project-context.js +136 -0
  42. package/dist/core/project-context.js.map +1 -0
  43. package/dist/core/prompt-builder.d.ts +7 -0
  44. package/dist/core/prompt-builder.d.ts.map +1 -0
  45. package/dist/core/prompt-builder.js +88 -0
  46. package/dist/core/prompt-builder.js.map +1 -0
  47. package/dist/core/registry.d.ts +10 -0
  48. package/dist/core/registry.d.ts.map +1 -0
  49. package/dist/core/registry.js +51 -0
  50. package/dist/core/registry.js.map +1 -0
  51. package/dist/core/token-estimator.d.ts +10 -0
  52. package/dist/core/token-estimator.d.ts.map +1 -0
  53. package/dist/core/token-estimator.js +14 -0
  54. package/dist/core/token-estimator.js.map +1 -0
  55. package/dist/core/validation.d.ts +188 -0
  56. package/dist/core/validation.d.ts.map +1 -0
  57. package/dist/core/validation.js +61 -0
  58. package/dist/core/validation.js.map +1 -0
  59. package/dist/core/watcher.d.ts +20 -0
  60. package/dist/core/watcher.d.ts.map +1 -0
  61. package/dist/core/watcher.js +208 -0
  62. package/dist/core/watcher.js.map +1 -0
  63. package/dist/providers/clipboard-provider.d.ts +8 -0
  64. package/dist/providers/clipboard-provider.d.ts.map +1 -0
  65. package/dist/providers/clipboard-provider.js +15 -0
  66. package/dist/providers/clipboard-provider.js.map +1 -0
  67. package/dist/providers/file-provider.d.ts +8 -0
  68. package/dist/providers/file-provider.d.ts.map +1 -0
  69. package/dist/providers/file-provider.js +14 -0
  70. package/dist/providers/file-provider.js.map +1 -0
  71. package/dist/providers/index.d.ts +9 -0
  72. package/dist/providers/index.d.ts.map +1 -0
  73. package/dist/providers/index.js +18 -0
  74. package/dist/providers/index.js.map +1 -0
  75. package/dist/types/index.d.ts +132 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/dist/types/index.js +3 -0
  78. package/dist/types/index.js.map +1 -0
  79. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/claude-code/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { BaseAdapter } from "../base-adapter.js";
2
+ import type { AgentId, CapturedSession, SessionInfo } from "../../types/index.js";
3
+ /**
4
+ * Adapter for OpenAI Codex CLI sessions.
5
+ * Reads JSONL files from ~/.codex/sessions/YYYY/MM/DD/
6
+ */
7
+ export declare class CodexAdapter extends BaseAdapter {
8
+ agentId: AgentId;
9
+ private get sessionsDir();
10
+ detect(): Promise<boolean>;
11
+ listSessions(projectPath?: string): Promise<SessionInfo[]>;
12
+ capture(sessionId: string): Promise<CapturedSession>;
13
+ captureLatest(projectPath?: string): Promise<CapturedSession>;
14
+ private readSessionInfo;
15
+ private findSessionFile;
16
+ private pathsEqual;
17
+ private mapRole;
18
+ private entryRole;
19
+ private entryContent;
20
+ private entryTimestamp;
21
+ private extractUsageTokens;
22
+ private parseContent;
23
+ private recordFileChange;
24
+ private extractPreview;
25
+ }
26
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/adapter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EAGf,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,OAAO,EAAE,OAAO,CAAW;IAE3B,OAAO,KAAK,WAAW,GAEtB;IAEK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAY1B,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAsC1D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA4JpD,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAYrD,eAAe;YAiDf,eAAe;IA2B7B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,YAAY;IAoEpB,OAAO,CAAC,gBAAgB;IAsDxB,OAAO,CAAC,cAAc;CAqBvB"}
@@ -0,0 +1,446 @@
1
+ import fs from "node:fs";
2
+ import { createReadStream } from "node:fs";
3
+ import path from "node:path";
4
+ import os from "node:os";
5
+ import readline from "node:readline";
6
+ import { glob } from "glob";
7
+ import { BaseAdapter } from "../base-adapter.js";
8
+ import { analyzeConversation } from "../../core/conversation-analyzer.js";
9
+ import { extractProjectContext } from "../../core/project-context.js";
10
+ import { validateSession } from "../../core/validation.js";
11
+ /**
12
+ * Adapter for OpenAI Codex CLI sessions.
13
+ * Reads JSONL files from ~/.codex/sessions/YYYY/MM/DD/
14
+ */
15
+ export class CodexAdapter extends BaseAdapter {
16
+ agentId = "codex";
17
+ get sessionsDir() {
18
+ return path.join(os.homedir(), ".codex", "sessions");
19
+ }
20
+ async detect() {
21
+ if (!fs.existsSync(this.sessionsDir)) {
22
+ return false;
23
+ }
24
+ const files = await glob("**/*.jsonl", {
25
+ cwd: this.sessionsDir,
26
+ nodir: true,
27
+ absolute: false,
28
+ });
29
+ return files.length > 0;
30
+ }
31
+ async listSessions(projectPath) {
32
+ if (!fs.existsSync(this.sessionsDir)) {
33
+ return [];
34
+ }
35
+ const files = await glob("**/*.jsonl", {
36
+ cwd: this.sessionsDir,
37
+ nodir: true,
38
+ absolute: true,
39
+ });
40
+ const sessions = [];
41
+ for (const filePath of files) {
42
+ try {
43
+ const info = await this.readSessionInfo(filePath);
44
+ if (!info) {
45
+ continue;
46
+ }
47
+ if (projectPath && info.projectPath) {
48
+ if (!this.pathsEqual(projectPath, info.projectPath)) {
49
+ continue;
50
+ }
51
+ }
52
+ else if (projectPath && !info.projectPath) {
53
+ continue;
54
+ }
55
+ const stat = fs.statSync(filePath);
56
+ sessions.push({ ...info, mtimeMs: stat.mtimeMs });
57
+ }
58
+ catch {
59
+ // Skip unreadable files.
60
+ }
61
+ }
62
+ sessions.sort((a, b) => b.mtimeMs - a.mtimeMs);
63
+ return sessions.map(({ mtimeMs, ...session }) => session);
64
+ }
65
+ async capture(sessionId) {
66
+ const filePath = await this.findSessionFile(sessionId);
67
+ if (!filePath) {
68
+ throw new Error(`Session not found: ${sessionId}`);
69
+ }
70
+ const messages = [];
71
+ const fileChanges = new Map();
72
+ let totalTokens = 0;
73
+ let sessionStartedAt;
74
+ let lastAssistantMessage = "";
75
+ let detectedProjectPath;
76
+ const rl = readline.createInterface({
77
+ input: createReadStream(filePath, { encoding: "utf-8" }),
78
+ crlfDelay: Infinity,
79
+ });
80
+ for await (const line of rl) {
81
+ const trimmed = line.trim();
82
+ if (!trimmed) {
83
+ continue;
84
+ }
85
+ let entry;
86
+ try {
87
+ entry = JSON.parse(trimmed);
88
+ }
89
+ catch {
90
+ continue;
91
+ }
92
+ if (!detectedProjectPath && typeof entry.cwd === "string" && entry.cwd) {
93
+ detectedProjectPath = entry.cwd;
94
+ }
95
+ const timestamp = this.entryTimestamp(entry);
96
+ if (!sessionStartedAt && timestamp) {
97
+ sessionStartedAt = timestamp;
98
+ }
99
+ totalTokens += this.extractUsageTokens(entry);
100
+ const directRole = this.entryRole(entry);
101
+ const directContent = this.entryContent(entry);
102
+ if (directRole && directContent != null) {
103
+ const parsed = this.parseContent(directContent, timestamp);
104
+ if (parsed.text) {
105
+ const role = this.mapRole(directRole);
106
+ messages.push({
107
+ role,
108
+ content: parsed.text,
109
+ timestamp,
110
+ tokenCount: this.extractUsageTokens(entry) || undefined,
111
+ });
112
+ if (role === "assistant") {
113
+ lastAssistantMessage = parsed.text;
114
+ }
115
+ }
116
+ for (const tool of parsed.toolCalls) {
117
+ messages.push({
118
+ role: "tool",
119
+ content: JSON.stringify(tool.input ?? {}),
120
+ toolName: tool.name,
121
+ timestamp,
122
+ });
123
+ this.recordFileChange(fileChanges, tool.name, tool.input);
124
+ }
125
+ for (const result of parsed.toolResults) {
126
+ messages.push({
127
+ role: "tool",
128
+ content: result,
129
+ timestamp,
130
+ });
131
+ }
132
+ }
133
+ if (entry.type === "tool_call" && entry.name) {
134
+ const input = entry.input;
135
+ messages.push({
136
+ role: "tool",
137
+ content: JSON.stringify(input ?? {}),
138
+ toolName: entry.name,
139
+ timestamp,
140
+ });
141
+ this.recordFileChange(fileChanges, entry.name, input);
142
+ }
143
+ if (entry.type === "tool_result") {
144
+ const resultContent = typeof entry.output === "string"
145
+ ? entry.output
146
+ : typeof entry.content === "string"
147
+ ? entry.content
148
+ : JSON.stringify(entry.output ?? entry.content ?? "");
149
+ messages.push({
150
+ role: "tool",
151
+ content: resultContent,
152
+ timestamp,
153
+ });
154
+ }
155
+ if (Array.isArray(entry.tool_calls)) {
156
+ for (const call of entry.tool_calls) {
157
+ if (!call?.name) {
158
+ continue;
159
+ }
160
+ messages.push({
161
+ role: "tool",
162
+ content: JSON.stringify(call.input ?? {}),
163
+ toolName: call.name,
164
+ timestamp,
165
+ });
166
+ this.recordFileChange(fileChanges, call.name, call.input);
167
+ }
168
+ }
169
+ }
170
+ const canonicalId = path.basename(filePath, ".jsonl");
171
+ const inferredProjectPath = detectedProjectPath || process.cwd();
172
+ const projectContext = await extractProjectContext(inferredProjectPath);
173
+ const analysis = analyzeConversation(messages);
174
+ const session = {
175
+ version: "1.0",
176
+ source: "codex",
177
+ capturedAt: new Date().toISOString(),
178
+ sessionId: canonicalId,
179
+ sessionStartedAt,
180
+ project: {
181
+ ...projectContext,
182
+ path: projectContext.path || inferredProjectPath,
183
+ name: projectContext.name || path.basename(inferredProjectPath),
184
+ },
185
+ conversation: {
186
+ messageCount: messages.length,
187
+ estimatedTokens: totalTokens,
188
+ messages,
189
+ },
190
+ filesChanged: Array.from(fileChanges.values()),
191
+ decisions: analysis.decisions,
192
+ blockers: analysis.blockers,
193
+ task: {
194
+ description: analysis.taskDescription,
195
+ completed: analysis.completedSteps,
196
+ remaining: [],
197
+ inProgress: lastAssistantMessage
198
+ ? lastAssistantMessage.substring(0, 200)
199
+ : undefined,
200
+ blockers: analysis.blockers,
201
+ },
202
+ };
203
+ return validateSession(session);
204
+ }
205
+ async captureLatest(projectPath) {
206
+ const sessions = await this.listSessions(projectPath);
207
+ if (sessions.length === 0) {
208
+ throw new Error(projectPath
209
+ ? `No Codex sessions found for project: ${projectPath}`
210
+ : "No Codex sessions found");
211
+ }
212
+ return this.capture(sessions[0].id);
213
+ }
214
+ async readSessionInfo(filePath) {
215
+ const id = path.basename(filePath, ".jsonl");
216
+ let firstEntry;
217
+ let lastEntry;
218
+ let lineCount = 0;
219
+ let projectPath;
220
+ const rl = readline.createInterface({
221
+ input: createReadStream(filePath, { encoding: "utf-8" }),
222
+ crlfDelay: Infinity,
223
+ });
224
+ for await (const line of rl) {
225
+ const trimmed = line.trim();
226
+ if (!trimmed) {
227
+ continue;
228
+ }
229
+ let entry;
230
+ try {
231
+ entry = JSON.parse(trimmed);
232
+ }
233
+ catch {
234
+ continue;
235
+ }
236
+ lineCount++;
237
+ if (!firstEntry) {
238
+ firstEntry = entry;
239
+ }
240
+ lastEntry = entry;
241
+ if (!projectPath && typeof entry.cwd === "string" && entry.cwd) {
242
+ projectPath = entry.cwd;
243
+ }
244
+ }
245
+ if (!firstEntry || lineCount === 0) {
246
+ return null;
247
+ }
248
+ const preview = this.extractPreview(firstEntry);
249
+ return {
250
+ id,
251
+ startedAt: this.entryTimestamp(firstEntry),
252
+ lastActiveAt: this.entryTimestamp(lastEntry),
253
+ messageCount: lineCount,
254
+ projectPath,
255
+ preview,
256
+ };
257
+ }
258
+ async findSessionFile(sessionId) {
259
+ if (!fs.existsSync(this.sessionsDir)) {
260
+ return null;
261
+ }
262
+ const files = await glob("**/*.jsonl", {
263
+ cwd: this.sessionsDir,
264
+ nodir: true,
265
+ absolute: true,
266
+ });
267
+ if (files.length === 0) {
268
+ return null;
269
+ }
270
+ const exact = files.find((filePath) => path.basename(filePath, ".jsonl") === sessionId);
271
+ if (exact) {
272
+ return exact;
273
+ }
274
+ const prefixed = files.find((filePath) => path.basename(filePath, ".jsonl").includes(sessionId));
275
+ return prefixed ?? null;
276
+ }
277
+ pathsEqual(a, b) {
278
+ const normalize = (value) => path.resolve(value).replace(/[\\/]+/g, "/").toLowerCase();
279
+ return normalize(a) === normalize(b);
280
+ }
281
+ mapRole(role) {
282
+ const normalized = role.toLowerCase();
283
+ if (normalized === "developer") {
284
+ return "system";
285
+ }
286
+ if (normalized === "user" ||
287
+ normalized === "assistant" ||
288
+ normalized === "system" ||
289
+ normalized === "tool") {
290
+ return normalized;
291
+ }
292
+ return "assistant";
293
+ }
294
+ entryRole(entry) {
295
+ if (entry.message && typeof entry.message.role === "string") {
296
+ return entry.message.role;
297
+ }
298
+ if (typeof entry.role === "string") {
299
+ return entry.role;
300
+ }
301
+ return undefined;
302
+ }
303
+ entryContent(entry) {
304
+ if (entry.message && "content" in entry.message) {
305
+ return entry.message.content;
306
+ }
307
+ return entry.content;
308
+ }
309
+ entryTimestamp(entry) {
310
+ if (!entry) {
311
+ return undefined;
312
+ }
313
+ if (typeof entry.timestamp === "string") {
314
+ return entry.timestamp;
315
+ }
316
+ if (entry.message && typeof entry.message.timestamp === "string") {
317
+ return entry.message.timestamp;
318
+ }
319
+ return undefined;
320
+ }
321
+ extractUsageTokens(entry) {
322
+ const usage = entry.message?.usage ?? entry.usage;
323
+ if (!usage) {
324
+ return 0;
325
+ }
326
+ return ((usage.input_tokens ?? usage.prompt_tokens ?? 0) +
327
+ (usage.output_tokens ?? usage.completion_tokens ?? 0));
328
+ }
329
+ parseContent(content, timestamp) {
330
+ if (typeof content === "string") {
331
+ return { text: content, toolCalls: [], toolResults: [] };
332
+ }
333
+ if (!Array.isArray(content)) {
334
+ return { text: "", toolCalls: [], toolResults: [] };
335
+ }
336
+ const textParts = [];
337
+ const toolCalls = [];
338
+ const toolResults = [];
339
+ for (const item of content) {
340
+ if (typeof item === "string") {
341
+ textParts.push(item);
342
+ continue;
343
+ }
344
+ if (!item || typeof item !== "object") {
345
+ continue;
346
+ }
347
+ const block = item;
348
+ const type = typeof block.type === "string" ? block.type : "";
349
+ if ((type === "text" || type === "output_text" || type === "input_text") &&
350
+ typeof block.text === "string") {
351
+ textParts.push(block.text);
352
+ continue;
353
+ }
354
+ if (type === "tool_call" || type === "tool_use") {
355
+ const name = (typeof block.name === "string" && block.name) ||
356
+ (typeof block.tool_name === "string" ? block.tool_name : undefined);
357
+ if (name) {
358
+ toolCalls.push({
359
+ name,
360
+ input: block.input ?? block.arguments,
361
+ timestamp,
362
+ });
363
+ }
364
+ continue;
365
+ }
366
+ if (type === "tool_result") {
367
+ if (typeof block.output === "string") {
368
+ toolResults.push(block.output);
369
+ }
370
+ else if (typeof block.content === "string") {
371
+ toolResults.push(block.content);
372
+ }
373
+ else {
374
+ toolResults.push(JSON.stringify(block.output ?? block.content ?? ""));
375
+ }
376
+ }
377
+ }
378
+ return {
379
+ text: textParts.join("\n").trim(),
380
+ toolCalls,
381
+ toolResults,
382
+ };
383
+ }
384
+ recordFileChange(fileChanges, toolNameRaw, input) {
385
+ const toolName = toolNameRaw.toLowerCase();
386
+ if (typeof input !== "object" || input === null) {
387
+ return;
388
+ }
389
+ const payload = input;
390
+ let filePath = payload.path ??
391
+ payload.file_path ??
392
+ payload.filePath ??
393
+ payload.target;
394
+ if (!filePath && toolName === "shell") {
395
+ const command = payload.command;
396
+ if (command) {
397
+ const redirectMatch = command.match(/>\s*([^\s]+)/);
398
+ if (redirectMatch?.[1]) {
399
+ filePath = redirectMatch[1];
400
+ }
401
+ }
402
+ }
403
+ if (!filePath) {
404
+ return;
405
+ }
406
+ const changeType = toolName.includes("write") || toolName.includes("create")
407
+ ? "created"
408
+ : toolName.includes("delete") || toolName.includes("remove")
409
+ ? "deleted"
410
+ : "modified";
411
+ const diff = payload.content ??
412
+ payload.new_content ??
413
+ payload.diff ??
414
+ payload.patch ??
415
+ payload.command;
416
+ const ext = path.extname(filePath).slice(1);
417
+ fileChanges.set(filePath, {
418
+ path: filePath,
419
+ changeType,
420
+ diff,
421
+ language: ext || undefined,
422
+ });
423
+ }
424
+ extractPreview(entry) {
425
+ const content = this.entryContent(entry);
426
+ if (typeof content === "string") {
427
+ return content.slice(0, 200);
428
+ }
429
+ if (Array.isArray(content)) {
430
+ for (const item of content) {
431
+ if (typeof item === "string") {
432
+ return item.slice(0, 200);
433
+ }
434
+ if (!item || typeof item !== "object") {
435
+ continue;
436
+ }
437
+ const block = item;
438
+ if (typeof block.text === "string") {
439
+ return block.text.slice(0, 200);
440
+ }
441
+ }
442
+ }
443
+ return undefined;
444
+ }
445
+ }
446
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/codex/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { BaseAdapter } from "../base-adapter.js";
2
+ import type { AgentId, CapturedSession, SessionInfo } from "../../types/index.js";
3
+ /**
4
+ * Adapter for Cursor sessions.
5
+ * Reads SQLite databases from workspaceStorage/<hash>/state.vscdb
6
+ */
7
+ export declare class CursorAdapter extends BaseAdapter {
8
+ agentId: AgentId;
9
+ private get workspaceStorageDir();
10
+ detect(): Promise<boolean>;
11
+ listSessions(projectPath?: string): Promise<SessionInfo[]>;
12
+ capture(sessionId: string): Promise<CapturedSession>;
13
+ captureLatest(projectPath?: string): Promise<CapturedSession>;
14
+ private openDatabase;
15
+ private getAvailableTables;
16
+ private getValue;
17
+ private getJsonValue;
18
+ private readBubbleRows;
19
+ private readComposers;
20
+ private normalizeComposerEntries;
21
+ private findComposerArray;
22
+ private extractMessagesFromComposerData;
23
+ private extractMessagesFromLegacy;
24
+ private parseCursorPayload;
25
+ private fileChangeFromPayload;
26
+ private extractText;
27
+ private mapRole;
28
+ private normalizeTimestamp;
29
+ private normalizeNumber;
30
+ private readWorkspaceProjectPath;
31
+ private fromFileUri;
32
+ private pathsEqual;
33
+ private matchesWorkspaceHash;
34
+ }
35
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/cursor/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EAGf,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAO,EAAE,OAAO,CAAY;IAE5B,OAAO,KAAK,mBAAmB,GAyB9B;IAEK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB1B,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAyF1D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgJpD,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAYnE,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,wBAAwB;IA8ChC,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,+BAA+B;IA0CvC,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,kBAAkB;IAiG1B,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,WAAW;IAuDnB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,oBAAoB;CAc7B"}