litmus-cli 1.4.2 → 1.4.5

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 (44) hide show
  1. package/dist/commands/doctor.d.ts +2 -21
  2. package/dist/commands/doctor.d.ts.map +1 -1
  3. package/dist/commands/doctor.js +97 -61
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/submit.d.ts.map +1 -1
  6. package/dist/commands/submit.js +6 -0
  7. package/dist/commands/submit.js.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/backfill-tools.d.ts +126 -0
  11. package/dist/lib/backfill-tools.d.ts.map +1 -0
  12. package/dist/lib/backfill-tools.js +787 -0
  13. package/dist/lib/backfill-tools.js.map +1 -0
  14. package/dist/lib/backfill.d.ts +20 -2
  15. package/dist/lib/backfill.d.ts.map +1 -1
  16. package/dist/lib/backfill.js +14 -8
  17. package/dist/lib/backfill.js.map +1 -1
  18. package/dist/lib/config.d.ts +20 -0
  19. package/dist/lib/config.d.ts.map +1 -1
  20. package/dist/lib/config.js +33 -0
  21. package/dist/lib/config.js.map +1 -1
  22. package/dist/lib/detection.d.ts +32 -0
  23. package/dist/lib/detection.d.ts.map +1 -0
  24. package/dist/lib/detection.js +80 -0
  25. package/dist/lib/detection.js.map +1 -0
  26. package/dist/lib/hook-logger.cjs +50 -2
  27. package/dist/lib/platform.d.ts +34 -10
  28. package/dist/lib/platform.d.ts.map +1 -1
  29. package/dist/lib/platform.js +56 -16
  30. package/dist/lib/platform.js.map +1 -1
  31. package/dist/lib/shadow.d.ts +79 -0
  32. package/dist/lib/shadow.d.ts.map +1 -0
  33. package/dist/lib/shadow.js +268 -0
  34. package/dist/lib/shadow.js.map +1 -0
  35. package/dist/lib/tracker.d.ts +1 -1
  36. package/dist/lib/tracker.d.ts.map +1 -1
  37. package/dist/lib/tracker.js +42 -4
  38. package/dist/lib/tracker.js.map +1 -1
  39. package/dist/lib/watcher.js +273 -25
  40. package/dist/lib/watcher.js.map +1 -1
  41. package/dist/lib/zip.d.ts.map +1 -1
  42. package/dist/lib/zip.js +24 -1
  43. package/dist/lib/zip.js.map +1 -1
  44. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ import { type BackfillEvent, type BackfillScan, type BackfillSource, type BackfillTool } from "./backfill.js";
2
+ /**
3
+ * Prompt backfill from the session stores of the non-Claude AI tools
4
+ * (`litmus doctor` recovery, companion to backfill.ts which owns Claude Code).
5
+ *
6
+ * Each tool keeps its own on-disk record of past sessions; this module reads
7
+ * them and synthesizes the same `ai_prompt` / `ai_response` events the live
8
+ * hooks would have produced. The invariants from backfill.ts apply unchanged:
9
+ * every event carries `backfilled: true` + a per-store `backfillSource`, the
10
+ * default scope is sessions attributable to the assessment directory, and the
11
+ * same size caps bound every event.
12
+ *
13
+ * Where each store lives and what it yields (formats verified against the
14
+ * shipping tools, 2026-08):
15
+ *
16
+ * - Gemini CLI — `~/.gemini/projects.json` maps project roots to short ids;
17
+ * `~/.gemini/tmp/<id>/chats/*.json[l]` holds full conversations (per-message
18
+ * ISO timestamps; `type: "user" | "gemini"`), `~/.gemini/tmp/<id>/logs.json`
19
+ * holds user prompts only. Chats win when both cover a session. Legacy
20
+ * installs keyed the directory by sha256(project root) — both are checked.
21
+ *
22
+ * - Copilot CLI — `~/.copilot/session-state/<uuid>/events.jsonl`; the
23
+ * `session.start` event carries the session's cwd/gitRoot, `user.message` /
24
+ * `assistant.message` carry clean bodies in `data.content` with per-event
25
+ * ISO timestamps.
26
+ *
27
+ * - VS Code Copilot Chat — per-workspace
28
+ * `<userData>/workspaceStorage/<hash>/chatSessions/*.jsonl`, an append-only
29
+ * patch log replayed into a session object whose `requests[]` carry
30
+ * `message.text` + response parts with epoch-ms timestamps;
31
+ * `workspace.json` scopes the workspace to a folder. Workspaces on remote
32
+ * URIs (ssh/devcontainer) keep their sessions on the remote host and are
33
+ * skipped here.
34
+ *
35
+ * - Cursor — `<userData>/User/globalStorage/state.vscdb` (SQLite) holds every
36
+ * conversation as `composerData:<id>` + `bubbleId:<id>:<bubbleId>` rows;
37
+ * per-workspace `workspaceStorage/<hash>/state.vscdb` names the composers
38
+ * that belong to a folder, which is the privacy scope. Bubbles have NO
39
+ * per-message timestamps, so events are stamped session-createdAt + index
40
+ * ms and flagged `tsApproximate`. Reading SQLite needs a reader: the
41
+ * system `sqlite3` binary (always present on macOS) or `node:sqlite`
42
+ * (Node 22.5+); when neither exists the store is reported, never silently
43
+ * dropped.
44
+ */
45
+ export interface SourceScan extends BackfillScan {
46
+ source: BackfillSource;
47
+ tool: BackfillTool;
48
+ /** Structural gaps a reader must know about (e.g. Cursor store present but no SQLite reader). */
49
+ notes: string[];
50
+ }
51
+ export declare function defaultGeminiDir(): string;
52
+ interface GeminiChatParse {
53
+ sessionId: string | null;
54
+ events: BackfillEvent[];
55
+ }
56
+ /** One chats/ file: either a JSON object with `messages`, or JSONL (metadata record first). */
57
+ export declare function parseGeminiChatFile(raw: string, isJsonl: boolean, fallbackTs: string): GeminiChatParse;
58
+ export declare function collectGeminiSessions(opts: {
59
+ geminiDir: string;
60
+ assessmentRoot: string;
61
+ allSessions: boolean;
62
+ sinceMs: number | null;
63
+ }): SourceScan;
64
+ export declare function defaultCopilotDir(): string;
65
+ interface CopilotCliParse {
66
+ sessionId: string | null;
67
+ cwds: string[];
68
+ events: BackfillEvent[];
69
+ }
70
+ export declare function parseCopilotCliEvents(raw: string, fallbackTs: string): CopilotCliParse;
71
+ export declare function collectCopilotCliSessions(opts: {
72
+ copilotDir: string;
73
+ assessmentRoot: string;
74
+ allSessions: boolean;
75
+ sinceMs: number | null;
76
+ }): SourceScan;
77
+ /** workspaceStorage roots for VS Code stable + insiders on this platform. */
78
+ export declare function defaultVsCodeStorageDirs(): string[];
79
+ /** file:// workspace URI → local path; null for remote (ssh/devcontainer) URIs. */
80
+ export declare function fileUriToPath(uri: string): string | null;
81
+ /**
82
+ * Replay a chat session append-log into its final state. Entry kinds:
83
+ * 0 = full initial state, 1 = set value at path `k`, 2 = append to the array
84
+ * at path `k`. Unknown kinds are ignored (additive format churn must not
85
+ * break recovery of the parts we understand).
86
+ */
87
+ export declare function replayChatSessionLog(raw: string): Record<string, unknown> | null;
88
+ export declare function extractChatSessionEvents(state: Record<string, unknown>, fallbackTs: string): {
89
+ sessionId: string | null;
90
+ events: BackfillEvent[];
91
+ };
92
+ export declare function collectCopilotChatSessions(opts: {
93
+ storageDirs: string[];
94
+ assessmentRoot: string;
95
+ allSessions: boolean;
96
+ sinceMs: number | null;
97
+ }): SourceScan;
98
+ export declare function defaultCursorUserDir(): string | null;
99
+ export type SqliteReader = (dbPath: string, sql: string) => Array<Record<string, unknown>> | null;
100
+ /**
101
+ * Read-only SQLite rows via the system `sqlite3` binary (`-readonly -json`),
102
+ * falling back to `node:sqlite` where the runtime ships it. Returns null when
103
+ * no reader exists or the database cannot be read — the caller reports it.
104
+ */
105
+ export declare const systemSqliteReader: SqliteReader;
106
+ /** Composer ids a workspace's own store names (its allComposers + selection history). */
107
+ export declare function cursorComposerIdsFromWorkspaceValue(value: string): string[];
108
+ export declare function collectCursorSessions(opts: {
109
+ cursorUserDir: string | null;
110
+ assessmentRoot: string;
111
+ allSessions: boolean;
112
+ sinceMs: number | null;
113
+ readSqlite?: SqliteReader;
114
+ }): SourceScan;
115
+ export declare function collectToolBackfillSources(opts: {
116
+ assessmentRoot: string;
117
+ allSessions: boolean;
118
+ sinceMs: number | null;
119
+ geminiDir?: string;
120
+ copilotDir?: string;
121
+ vscodeStorageDirs?: string[];
122
+ cursorUserDir?: string | null;
123
+ readSqlite?: SqliteReader;
124
+ }): SourceScan[];
125
+ export {};
126
+ //# sourceMappingURL=backfill-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill-tools.d.ts","sourceRoot":"","sources":["../../src/lib/backfill-tools.ts"],"names":[],"mappings":"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"}