claude-code-history 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +400 -0
  2. package/dist/cli/commands/export.d.ts +11 -0
  3. package/dist/cli/commands/export.d.ts.map +1 -0
  4. package/dist/cli/commands/export.js +119 -0
  5. package/dist/cli/commands/export.js.map +1 -0
  6. package/dist/cli/commands/list.d.ts +11 -0
  7. package/dist/cli/commands/list.d.ts.map +1 -0
  8. package/dist/cli/commands/list.js +79 -0
  9. package/dist/cli/commands/list.js.map +1 -0
  10. package/dist/cli/commands/migrate.d.ts +11 -0
  11. package/dist/cli/commands/migrate.d.ts.map +1 -0
  12. package/dist/cli/commands/migrate.js +144 -0
  13. package/dist/cli/commands/migrate.js.map +1 -0
  14. package/dist/cli/commands/search.d.ts +11 -0
  15. package/dist/cli/commands/search.d.ts.map +1 -0
  16. package/dist/cli/commands/search.js +94 -0
  17. package/dist/cli/commands/search.js.map +1 -0
  18. package/dist/cli/commands/view.d.ts +11 -0
  19. package/dist/cli/commands/view.d.ts.map +1 -0
  20. package/dist/cli/commands/view.js +67 -0
  21. package/dist/cli/commands/view.js.map +1 -0
  22. package/dist/cli/formatters/pager.d.ts +25 -0
  23. package/dist/cli/formatters/pager.d.ts.map +1 -0
  24. package/dist/cli/formatters/pager.js +119 -0
  25. package/dist/cli/formatters/pager.js.map +1 -0
  26. package/dist/cli/formatters/search.d.ts +38 -0
  27. package/dist/cli/formatters/search.d.ts.map +1 -0
  28. package/dist/cli/formatters/search.js +119 -0
  29. package/dist/cli/formatters/search.js.map +1 -0
  30. package/dist/cli/formatters/session.d.ts +24 -0
  31. package/dist/cli/formatters/session.d.ts.map +1 -0
  32. package/dist/cli/formatters/session.js +247 -0
  33. package/dist/cli/formatters/session.js.map +1 -0
  34. package/dist/cli/formatters/table.d.ts +25 -0
  35. package/dist/cli/formatters/table.d.ts.map +1 -0
  36. package/dist/cli/formatters/table.js +126 -0
  37. package/dist/cli/formatters/table.js.map +1 -0
  38. package/dist/cli/index.d.ts +14 -0
  39. package/dist/cli/index.d.ts.map +1 -0
  40. package/dist/cli/index.js +50 -0
  41. package/dist/cli/index.js.map +1 -0
  42. package/dist/cli/utils/config.d.ts +62 -0
  43. package/dist/cli/utils/config.d.ts.map +1 -0
  44. package/dist/cli/utils/config.js +65 -0
  45. package/dist/cli/utils/config.js.map +1 -0
  46. package/dist/cli/utils/errors.d.ts +86 -0
  47. package/dist/cli/utils/errors.d.ts.map +1 -0
  48. package/dist/cli/utils/errors.js +129 -0
  49. package/dist/cli/utils/errors.js.map +1 -0
  50. package/dist/cli/utils/output.d.ts +74 -0
  51. package/dist/cli/utils/output.d.ts.map +1 -0
  52. package/dist/cli/utils/output.js +113 -0
  53. package/dist/cli/utils/output.js.map +1 -0
  54. package/dist/lib/config.d.ts +44 -0
  55. package/dist/lib/config.d.ts.map +1 -0
  56. package/dist/lib/config.js +60 -0
  57. package/dist/lib/config.js.map +1 -0
  58. package/dist/lib/errors.d.ts +40 -0
  59. package/dist/lib/errors.d.ts.map +1 -0
  60. package/dist/lib/errors.js +61 -0
  61. package/dist/lib/errors.js.map +1 -0
  62. package/dist/lib/export.d.ts +70 -0
  63. package/dist/lib/export.d.ts.map +1 -0
  64. package/dist/lib/export.js +241 -0
  65. package/dist/lib/export.js.map +1 -0
  66. package/dist/lib/index.d.ts +16 -0
  67. package/dist/lib/index.d.ts.map +1 -0
  68. package/dist/lib/index.js +33 -0
  69. package/dist/lib/index.js.map +1 -0
  70. package/dist/lib/migrate.d.ts +50 -0
  71. package/dist/lib/migrate.d.ts.map +1 -0
  72. package/dist/lib/migrate.js +274 -0
  73. package/dist/lib/migrate.js.map +1 -0
  74. package/dist/lib/parser.d.ts +67 -0
  75. package/dist/lib/parser.d.ts.map +1 -0
  76. package/dist/lib/parser.js +321 -0
  77. package/dist/lib/parser.js.map +1 -0
  78. package/dist/lib/platform.d.ts +51 -0
  79. package/dist/lib/platform.d.ts.map +1 -0
  80. package/dist/lib/platform.js +94 -0
  81. package/dist/lib/platform.js.map +1 -0
  82. package/dist/lib/search.d.ts +39 -0
  83. package/dist/lib/search.d.ts.map +1 -0
  84. package/dist/lib/search.js +217 -0
  85. package/dist/lib/search.js.map +1 -0
  86. package/dist/lib/session.d.ts +59 -0
  87. package/dist/lib/session.d.ts.map +1 -0
  88. package/dist/lib/session.js +326 -0
  89. package/dist/lib/session.js.map +1 -0
  90. package/dist/lib/types.d.ts +280 -0
  91. package/dist/lib/types.d.ts.map +1 -0
  92. package/dist/lib/types.js +7 -0
  93. package/dist/lib/types.js.map +1 -0
  94. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Platform detection and path utilities for claude-code-history library.
3
+ */
4
+ /**
5
+ * Get the default Claude Code data directory path for the current platform.
6
+ * @returns Absolute path to ~/.claude/ directory
7
+ */
8
+ export declare function getDefaultDataPath(): string;
9
+ /**
10
+ * Get the projects directory within Claude Code data.
11
+ * @param dataPath - Base data directory path
12
+ * @returns Path to projects directory
13
+ */
14
+ export declare function getProjectsPath(dataPath: string): string;
15
+ /**
16
+ * Encode a project path to Claude Code's directory name format.
17
+ * Replaces path separators with hyphens.
18
+ * @example
19
+ * encodeProjectPath('/Users/name/project') // '-Users-name-project'
20
+ */
21
+ export declare function encodeProjectPath(projectPath: string): string;
22
+ /**
23
+ * Decode a Claude Code encoded directory name back to a project path.
24
+ * @example
25
+ * decodeProjectPath('-Users-name-project') // '/Users/name/project'
26
+ */
27
+ export declare function decodeProjectPath(encodedPath: string): string;
28
+ /**
29
+ * Check if a string is a valid UUID format.
30
+ * @param value - String to check
31
+ * @returns true if the string matches UUID format
32
+ */
33
+ export declare function isUUID(value: string): boolean;
34
+ /**
35
+ * Extract session ID from a session filename.
36
+ * @param filename - Filename like 'uuid.jsonl' or 'agent-id.jsonl'
37
+ * @returns Session ID or null if not a valid session file
38
+ */
39
+ export declare function extractSessionId(filename: string): string | null;
40
+ /**
41
+ * Check if a filename is an agent session file.
42
+ * @param filename - Filename to check
43
+ */
44
+ export declare function isAgentSessionFile(filename: string): boolean;
45
+ /**
46
+ * Extract agent ID from an agent session filename.
47
+ * @param filename - Filename like 'agent-abc1234.jsonl'
48
+ * @returns Agent ID or null
49
+ */
50
+ export declare function extractAgentId(filename: string): string | null;
51
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/lib/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG7C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBhE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM9D"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Platform detection and path utilities for claude-code-history library.
3
+ */
4
+ import { homedir } from 'os';
5
+ import { join } from 'path';
6
+ /**
7
+ * Get the default Claude Code data directory path for the current platform.
8
+ * @returns Absolute path to ~/.claude/ directory
9
+ */
10
+ export function getDefaultDataPath() {
11
+ return join(homedir(), '.claude');
12
+ }
13
+ /**
14
+ * Get the projects directory within Claude Code data.
15
+ * @param dataPath - Base data directory path
16
+ * @returns Path to projects directory
17
+ */
18
+ export function getProjectsPath(dataPath) {
19
+ return join(dataPath, 'projects');
20
+ }
21
+ /**
22
+ * Encode a project path to Claude Code's directory name format.
23
+ * Replaces path separators with hyphens.
24
+ * @example
25
+ * encodeProjectPath('/Users/name/project') // '-Users-name-project'
26
+ */
27
+ export function encodeProjectPath(projectPath) {
28
+ // Remove trailing slashes and encode
29
+ const normalized = projectPath.replace(/\/+$/, '');
30
+ // Replace all forward slashes with hyphens
31
+ return normalized.replace(/\//g, '-');
32
+ }
33
+ /**
34
+ * Decode a Claude Code encoded directory name back to a project path.
35
+ * @example
36
+ * decodeProjectPath('-Users-name-project') // '/Users/name/project'
37
+ */
38
+ export function decodeProjectPath(encodedPath) {
39
+ // Handle the leading hyphen which represents root /
40
+ if (encodedPath.startsWith('-')) {
41
+ return encodedPath.replace(/-/g, '/');
42
+ }
43
+ // Windows paths don't start with /
44
+ return encodedPath.replace(/-/g, '/');
45
+ }
46
+ /**
47
+ * Check if a string is a valid UUID format.
48
+ * @param value - String to check
49
+ * @returns true if the string matches UUID format
50
+ */
51
+ export function isUUID(value) {
52
+ const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
53
+ return uuidRegex.test(value);
54
+ }
55
+ /**
56
+ * Extract session ID from a session filename.
57
+ * @param filename - Filename like 'uuid.jsonl' or 'agent-id.jsonl'
58
+ * @returns Session ID or null if not a valid session file
59
+ */
60
+ export function extractSessionId(filename) {
61
+ if (!filename.endsWith('.jsonl')) {
62
+ return null;
63
+ }
64
+ const baseName = filename.slice(0, -6); // Remove .jsonl
65
+ // Check if it's an agent session
66
+ if (baseName.startsWith('agent-')) {
67
+ return baseName; // Return full 'agent-xxx' as ID
68
+ }
69
+ // Check if it's a UUID session
70
+ if (isUUID(baseName)) {
71
+ return baseName;
72
+ }
73
+ return null;
74
+ }
75
+ /**
76
+ * Check if a filename is an agent session file.
77
+ * @param filename - Filename to check
78
+ */
79
+ export function isAgentSessionFile(filename) {
80
+ return filename.startsWith('agent-') && filename.endsWith('.jsonl');
81
+ }
82
+ /**
83
+ * Extract agent ID from an agent session filename.
84
+ * @param filename - Filename like 'agent-abc1234.jsonl'
85
+ * @returns Agent ID or null
86
+ */
87
+ export function extractAgentId(filename) {
88
+ if (!isAgentSessionFile(filename)) {
89
+ return null;
90
+ }
91
+ // Remove 'agent-' prefix and '.jsonl' suffix
92
+ return filename.slice(6, -6);
93
+ }
94
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/lib/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,qCAAqC;IACrC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,2CAA2C;IAC3C,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,oDAAoD;IACpD,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,mCAAmC;IACnC,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,MAAM,SAAS,GAAG,iEAAiE,CAAC;IACpF,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAExD,iCAAiC;IACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC,CAAC,gCAAgC;IACnD,CAAC;IAED,+BAA+B;IAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6CAA6C;IAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Search functionality for claude-code-history library.
3
+ *
4
+ * Provides text search across all sessions with context.
5
+ */
6
+ import type { LibraryConfig, SearchMatch, PaginatedResult } from './types.js';
7
+ /**
8
+ * Search across all sessions for a query string.
9
+ *
10
+ * Performs case-insensitive substring search across all message content.
11
+ * Returns matches with surrounding context lines.
12
+ *
13
+ * @param query - Search query (case-insensitive)
14
+ * @param config - Optional configuration for context lines and pagination
15
+ * @returns Paginated list of search matches
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Basic search
20
+ * const results = await searchSessions('TypeScript');
21
+ *
22
+ * // Search with more context
23
+ * const results = await searchSessions('error', { context: 5 });
24
+ *
25
+ * // Search in specific workspace
26
+ * const results = await searchSessions('bug', { workspace: '/my/project' });
27
+ * ```
28
+ */
29
+ export declare function searchSessions(query: string, config?: LibraryConfig): Promise<PaginatedResult<SearchMatch>>;
30
+ /**
31
+ * Search within a single session.
32
+ *
33
+ * @param sessionId - Session ID or index to search
34
+ * @param query - Search query (case-insensitive)
35
+ * @param config - Optional configuration
36
+ * @returns Array of matches within the session
37
+ */
38
+ export declare function searchInSession(sessionId: string | number, query: string, config?: LibraryConfig): Promise<SearchMatch[]>;
39
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAIX,eAAe,EAChB,MAAM,YAAY,CAAC;AAkKpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAmDvC;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,EAAE,CAAC,CA2BxB"}
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Search functionality for claude-code-history library.
3
+ *
4
+ * Provides text search across all sessions with context.
5
+ */
6
+ import { resolveConfig, paginate, createPagination } from './config.js';
7
+ import { listSessions, getSession } from './session.js';
8
+ // =============================================================================
9
+ // Text Extraction
10
+ // =============================================================================
11
+ /**
12
+ * Extract searchable text from assistant content.
13
+ */
14
+ function extractAssistantText(content) {
15
+ const texts = [];
16
+ for (const block of content) {
17
+ switch (block.type) {
18
+ case 'text':
19
+ texts.push(block.text);
20
+ break;
21
+ case 'thinking':
22
+ texts.push(block.thinking);
23
+ break;
24
+ case 'tool_use':
25
+ // Include tool name and stringified input for searchability
26
+ texts.push(`Tool: ${block.name}`);
27
+ texts.push(JSON.stringify(block.input));
28
+ break;
29
+ }
30
+ }
31
+ return texts;
32
+ }
33
+ /**
34
+ * Extract searchable text from user content.
35
+ */
36
+ function extractUserText(content) {
37
+ if (typeof content === 'string') {
38
+ return [content];
39
+ }
40
+ // Tool results
41
+ return content.map((result) => result.content);
42
+ }
43
+ /**
44
+ * Extract all searchable text from a message.
45
+ */
46
+ function extractMessageText(message) {
47
+ switch (message.type) {
48
+ case 'user':
49
+ return extractUserText(message.content);
50
+ case 'assistant':
51
+ return extractAssistantText(message.content);
52
+ case 'summary':
53
+ return [message.summary];
54
+ case 'file-history-snapshot':
55
+ // Not searchable
56
+ return [];
57
+ }
58
+ }
59
+ // =============================================================================
60
+ // Context Extraction
61
+ // =============================================================================
62
+ /**
63
+ * Extract context lines around a match.
64
+ * @param text - Full text to search in
65
+ * @param matchIndex - Character index of match start
66
+ * @param contextLines - Number of lines before/after to include
67
+ * @returns Array of context lines and line number of match
68
+ */
69
+ function extractContext(text, matchIndex, contextLines) {
70
+ const lines = text.split('\n');
71
+ let charCount = 0;
72
+ let matchLineIndex = 0;
73
+ // Find which line contains the match
74
+ for (let i = 0; i < lines.length; i++) {
75
+ const lineLength = (lines[i]?.length ?? 0) + 1; // +1 for newline
76
+ if (charCount + lineLength > matchIndex) {
77
+ matchLineIndex = i;
78
+ break;
79
+ }
80
+ charCount += lineLength;
81
+ }
82
+ // Extract context lines
83
+ const startLine = Math.max(0, matchLineIndex - contextLines);
84
+ const endLine = Math.min(lines.length - 1, matchLineIndex + contextLines);
85
+ const context = lines.slice(startLine, endLine + 1);
86
+ return {
87
+ context,
88
+ lineNumber: matchLineIndex + 1, // 1-based line number
89
+ };
90
+ }
91
+ // =============================================================================
92
+ // Search Implementation
93
+ // =============================================================================
94
+ /**
95
+ * Search for matches within a single message.
96
+ */
97
+ function searchInMessage(message, query, sessionId, sessionSummary, projectPath, contextLines) {
98
+ const matches = [];
99
+ const lowerQuery = query.toLowerCase();
100
+ // Only search user and assistant messages
101
+ if (message.type !== 'user' && message.type !== 'assistant') {
102
+ return matches;
103
+ }
104
+ const textBlocks = extractMessageText(message);
105
+ for (const text of textBlocks) {
106
+ const lowerText = text.toLowerCase();
107
+ let searchIndex = 0;
108
+ // Find all occurrences
109
+ while (true) {
110
+ const matchIndex = lowerText.indexOf(lowerQuery, searchIndex);
111
+ if (matchIndex === -1)
112
+ break;
113
+ // Extract the actual matched text (preserving case)
114
+ const matchedText = text.slice(matchIndex, matchIndex + query.length);
115
+ // Extract context
116
+ const { context, lineNumber } = extractContext(text, matchIndex, contextLines);
117
+ matches.push({
118
+ sessionId,
119
+ sessionSummary,
120
+ projectPath,
121
+ messageUuid: message.uuid,
122
+ messageType: message.type,
123
+ match: matchedText,
124
+ context,
125
+ lineNumber,
126
+ });
127
+ searchIndex = matchIndex + 1;
128
+ }
129
+ }
130
+ return matches;
131
+ }
132
+ /**
133
+ * Search across all sessions for a query string.
134
+ *
135
+ * Performs case-insensitive substring search across all message content.
136
+ * Returns matches with surrounding context lines.
137
+ *
138
+ * @param query - Search query (case-insensitive)
139
+ * @param config - Optional configuration for context lines and pagination
140
+ * @returns Paginated list of search matches
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * // Basic search
145
+ * const results = await searchSessions('TypeScript');
146
+ *
147
+ * // Search with more context
148
+ * const results = await searchSessions('error', { context: 5 });
149
+ *
150
+ * // Search in specific workspace
151
+ * const results = await searchSessions('bug', { workspace: '/my/project' });
152
+ * ```
153
+ */
154
+ export async function searchSessions(query, config) {
155
+ const resolved = resolveConfig(config);
156
+ if (!query || query.trim().length === 0) {
157
+ return {
158
+ data: [],
159
+ pagination: createPagination(0, resolved),
160
+ };
161
+ }
162
+ const allMatches = [];
163
+ // Get all sessions (without pagination to search all)
164
+ const sessionsResult = await listSessions({
165
+ dataPath: resolved.dataPath,
166
+ workspace: resolved.workspace,
167
+ limit: Number.MAX_SAFE_INTEGER,
168
+ offset: 0,
169
+ });
170
+ // Search each session
171
+ for (const sessionSummary of sessionsResult.data) {
172
+ try {
173
+ const session = await getSession(sessionSummary.id, {
174
+ dataPath: resolved.dataPath,
175
+ });
176
+ for (const message of session.messages) {
177
+ const matches = searchInMessage(message, query, session.id, session.summary, session.projectPath, resolved.context);
178
+ allMatches.push(...matches);
179
+ }
180
+ }
181
+ catch {
182
+ // Skip sessions that fail to parse
183
+ continue;
184
+ }
185
+ }
186
+ // Apply pagination to results
187
+ const paginatedMatches = paginate(allMatches, resolved);
188
+ return {
189
+ data: paginatedMatches,
190
+ pagination: createPagination(allMatches.length, resolved),
191
+ };
192
+ }
193
+ /**
194
+ * Search within a single session.
195
+ *
196
+ * @param sessionId - Session ID or index to search
197
+ * @param query - Search query (case-insensitive)
198
+ * @param config - Optional configuration
199
+ * @returns Array of matches within the session
200
+ */
201
+ export async function searchInSession(sessionId, query, config) {
202
+ const resolved = resolveConfig(config);
203
+ if (!query || query.trim().length === 0) {
204
+ return [];
205
+ }
206
+ const session = await getSession(sessionId, {
207
+ dataPath: resolved.dataPath,
208
+ workspace: resolved.workspace,
209
+ });
210
+ const matches = [];
211
+ for (const message of session.messages) {
212
+ const messageMatches = searchInMessage(message, query, session.id, session.summary, session.projectPath, resolved.context);
213
+ matches.push(...messageMatches);
214
+ }
215
+ return matches;
216
+ }
217
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Session discovery and retrieval for claude-code-history library.
3
+ *
4
+ * Provides functions to list, filter, and retrieve Claude Code sessions.
5
+ */
6
+ import type { LibraryConfig, SessionSummary, Session, PaginatedResult } from './types.js';
7
+ /**
8
+ * List all sessions with pagination.
9
+ *
10
+ * Sessions are sorted by most recent activity first (descending timestamp).
11
+ * Agent sessions are excluded from the main list (they're linked via agentIds).
12
+ *
13
+ * @param config - Optional configuration for filtering and pagination
14
+ * @returns Paginated list of session summaries
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // List first 10 sessions
19
+ * const result = await listSessions({ limit: 10 });
20
+ *
21
+ * // List sessions for a specific workspace
22
+ * const result = await listSessions({ workspace: '/path/to/project' });
23
+ *
24
+ * // Paginate through results
25
+ * const page2 = await listSessions({ limit: 10, offset: 10 });
26
+ * ```
27
+ */
28
+ export declare function listSessions(config?: LibraryConfig): Promise<PaginatedResult<SessionSummary>>;
29
+ /**
30
+ * Get a session by index or UUID.
31
+ *
32
+ * @param identifier - Zero-based index or session UUID
33
+ * @param config - Optional configuration
34
+ * @returns Full session with all messages
35
+ * @throws SessionNotFoundError if session doesn't exist
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // Get most recent session by index
40
+ * const session = await getSession(0);
41
+ *
42
+ * // Get session by UUID
43
+ * const session = await getSession('abc123-def456-...');
44
+ *
45
+ * // Get session from specific workspace
46
+ * const session = await getSession(0, { workspace: '/path/to/project' });
47
+ * ```
48
+ */
49
+ export declare function getSession(identifier: number | string, config?: LibraryConfig): Promise<Session>;
50
+ /**
51
+ * Get an agent session by ID.
52
+ *
53
+ * @param agentId - Agent ID (e.g., 'abc1234' or 'agent-abc1234')
54
+ * @param config - Optional configuration
55
+ * @returns Full agent session with all messages
56
+ * @throws SessionNotFoundError if agent session doesn't exist
57
+ */
58
+ export declare function getAgentSession(agentId: string, config?: LibraryConfig): Promise<Session>;
59
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAsKnG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,YAAY,CAChC,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CA4B1C;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CA+DlB;AAoDD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CA+B/F"}