@codemieai/code 0.0.36 → 0.0.38

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 (233) hide show
  1. package/README.md +33 -0
  2. package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +1 -1
  3. package/dist/agents/codemie-code/tools/assistant-invocation.js +2 -2
  4. package/dist/agents/codemie-code/tools/assistant-invocation.js.map +1 -1
  5. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  6. package/dist/agents/core/BaseAgentAdapter.js +23 -9
  7. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  8. package/dist/agents/core/extension/BaseExtensionInstaller.d.ts.map +1 -1
  9. package/dist/agents/core/extension/BaseExtensionInstaller.js +11 -4
  10. package/dist/agents/core/extension/BaseExtensionInstaller.js.map +1 -1
  11. package/dist/agents/core/session/BaseProcessor.d.ts +22 -1
  12. package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -1
  13. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +5 -0
  14. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -1
  15. package/dist/agents/plugins/claude/claude-acp.plugin.js +12 -2
  16. package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -1
  17. package/dist/agents/plugins/claude/claude.plugin.d.ts +11 -0
  18. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  19. package/dist/agents/plugins/claude/claude.plugin.js +59 -2
  20. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  21. package/dist/agents/plugins/claude/claude.session.d.ts +5 -0
  22. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
  23. package/dist/agents/plugins/claude/claude.session.js +101 -2
  24. package/dist/agents/plugins/claude/claude.session.js.map +1 -1
  25. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  26. package/dist/agents/plugins/claude/plugin/commands/README.md +103 -22
  27. package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +329 -18
  28. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts +0 -1
  29. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
  30. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +13 -19
  31. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
  32. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
  33. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +29 -4
  34. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
  35. package/dist/cli/commands/assistants/chat.js +9 -6
  36. package/dist/cli/commands/assistants/chat.js.map +1 -1
  37. package/dist/cli/commands/assistants/constants.d.ts +2 -6
  38. package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
  39. package/dist/cli/commands/assistants/constants.js +2 -5
  40. package/dist/cli/commands/assistants/constants.js.map +1 -1
  41. package/dist/cli/commands/assistants/index.d.ts.map +1 -1
  42. package/dist/cli/commands/assistants/index.js +1 -11
  43. package/dist/cli/commands/assistants/index.js.map +1 -1
  44. package/dist/cli/commands/assistants/setup/configuration/actions.d.ts +30 -0
  45. package/dist/cli/commands/assistants/setup/configuration/actions.d.ts.map +1 -0
  46. package/dist/cli/commands/assistants/setup/configuration/actions.js +63 -0
  47. package/dist/cli/commands/assistants/setup/configuration/actions.js.map +1 -0
  48. package/dist/cli/commands/assistants/setup/configuration/constants.d.ts +49 -0
  49. package/dist/cli/commands/assistants/setup/configuration/constants.d.ts.map +1 -0
  50. package/dist/cli/commands/assistants/setup/configuration/constants.js +56 -0
  51. package/dist/cli/commands/assistants/setup/configuration/constants.js.map +1 -0
  52. package/dist/cli/commands/assistants/setup/configuration/index.d.ts +9 -0
  53. package/dist/cli/commands/assistants/setup/configuration/index.d.ts.map +1 -0
  54. package/dist/cli/commands/assistants/setup/configuration/index.js +8 -0
  55. package/dist/cli/commands/assistants/setup/configuration/index.js.map +1 -0
  56. package/dist/cli/commands/assistants/setup/configuration/selection.d.ts +12 -0
  57. package/dist/cli/commands/assistants/setup/configuration/selection.d.ts.map +1 -0
  58. package/dist/cli/commands/assistants/setup/configuration/selection.js +94 -0
  59. package/dist/cli/commands/assistants/setup/configuration/selection.js.map +1 -0
  60. package/dist/cli/commands/assistants/setup/configuration/types.d.ts +22 -0
  61. package/dist/cli/commands/assistants/setup/configuration/types.d.ts.map +1 -0
  62. package/dist/cli/commands/assistants/setup/configuration/types.js +2 -0
  63. package/dist/cli/commands/assistants/setup/configuration/types.js.map +1 -0
  64. package/dist/cli/commands/assistants/setup/configuration/ui.d.ts +9 -0
  65. package/dist/cli/commands/assistants/setup/configuration/ui.d.ts.map +1 -0
  66. package/dist/cli/commands/assistants/setup/configuration/ui.js +86 -0
  67. package/dist/cli/commands/assistants/setup/configuration/ui.js.map +1 -0
  68. package/dist/cli/commands/assistants/setup/constants.d.ts +26 -0
  69. package/dist/cli/commands/assistants/setup/constants.d.ts.map +1 -0
  70. package/dist/cli/commands/assistants/setup/constants.js +21 -0
  71. package/dist/cli/commands/assistants/setup/constants.js.map +1 -0
  72. package/dist/cli/commands/assistants/setup/data.d.ts +30 -0
  73. package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -0
  74. package/dist/cli/commands/assistants/setup/data.js +125 -0
  75. package/dist/cli/commands/assistants/setup/data.js.map +1 -0
  76. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -0
  77. package/dist/cli/commands/assistants/{generators → setup/generators}/claude-agent-generator.js +6 -2
  78. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -0
  79. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts +12 -0
  80. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -0
  81. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +94 -0
  82. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -0
  83. package/dist/cli/commands/assistants/setup/helpers.d.ts +27 -0
  84. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -0
  85. package/dist/cli/commands/assistants/setup/helpers.js +94 -0
  86. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -0
  87. package/dist/cli/commands/assistants/setup/index.d.ts +17 -0
  88. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -0
  89. package/dist/cli/commands/assistants/setup/index.js +193 -0
  90. package/dist/cli/commands/assistants/setup/index.js.map +1 -0
  91. package/dist/cli/commands/assistants/setup/manualConfiguration/actions.d.ts +47 -0
  92. package/dist/cli/commands/assistants/setup/manualConfiguration/actions.d.ts.map +1 -0
  93. package/dist/cli/commands/assistants/setup/manualConfiguration/actions.js +140 -0
  94. package/dist/cli/commands/assistants/setup/manualConfiguration/actions.js.map +1 -0
  95. package/dist/cli/commands/assistants/setup/manualConfiguration/constants.d.ts +56 -0
  96. package/dist/cli/commands/assistants/setup/manualConfiguration/constants.d.ts.map +1 -0
  97. package/dist/cli/commands/assistants/setup/manualConfiguration/constants.js +61 -0
  98. package/dist/cli/commands/assistants/setup/manualConfiguration/constants.js.map +1 -0
  99. package/dist/cli/commands/assistants/setup/manualConfiguration/index.d.ts +12 -0
  100. package/dist/cli/commands/assistants/setup/manualConfiguration/index.d.ts.map +1 -0
  101. package/dist/cli/commands/assistants/setup/manualConfiguration/index.js +48 -0
  102. package/dist/cli/commands/assistants/setup/manualConfiguration/index.js.map +1 -0
  103. package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.d.ts +6 -0
  104. package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.d.ts.map +1 -0
  105. package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.js +90 -0
  106. package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.js.map +1 -0
  107. package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts +37 -0
  108. package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts.map +1 -0
  109. package/dist/cli/commands/assistants/setup/manualConfiguration/types.js +2 -0
  110. package/dist/cli/commands/assistants/setup/manualConfiguration/types.js.map +1 -0
  111. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.d.ts +6 -0
  112. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.d.ts.map +1 -0
  113. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js +103 -0
  114. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js.map +1 -0
  115. package/dist/cli/commands/assistants/setup/selection/actions.d.ts +31 -0
  116. package/dist/cli/commands/assistants/setup/selection/actions.d.ts.map +1 -0
  117. package/dist/cli/commands/assistants/setup/selection/actions.js +321 -0
  118. package/dist/cli/commands/assistants/setup/selection/actions.js.map +1 -0
  119. package/dist/cli/commands/assistants/setup/selection/constants.d.ts +79 -0
  120. package/dist/cli/commands/assistants/setup/selection/constants.d.ts.map +1 -0
  121. package/dist/cli/commands/assistants/setup/selection/constants.js +90 -0
  122. package/dist/cli/commands/assistants/setup/selection/constants.js.map +1 -0
  123. package/dist/cli/commands/assistants/setup/selection/index.d.ts +25 -0
  124. package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -0
  125. package/dist/cli/commands/assistants/setup/selection/index.js +127 -0
  126. package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -0
  127. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts +20 -0
  128. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -0
  129. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +328 -0
  130. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -0
  131. package/dist/cli/commands/assistants/setup/selection/types.d.ts +27 -0
  132. package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -0
  133. package/dist/cli/commands/assistants/setup/selection/types.js +2 -0
  134. package/dist/cli/commands/assistants/setup/selection/types.js.map +1 -0
  135. package/dist/cli/commands/assistants/setup/selection/ui.d.ts +11 -0
  136. package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -0
  137. package/dist/cli/commands/assistants/setup/selection/ui.js +189 -0
  138. package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -0
  139. package/dist/cli/commands/assistants/setup/selection/utils.d.ts +36 -0
  140. package/dist/cli/commands/assistants/setup/selection/utils.d.ts.map +1 -0
  141. package/dist/cli/commands/assistants/setup/selection/utils.js +55 -0
  142. package/dist/cli/commands/assistants/setup/selection/utils.js.map +1 -0
  143. package/dist/cli/commands/assistants/setup/summary/index.d.ts +16 -0
  144. package/dist/cli/commands/assistants/setup/summary/index.d.ts.map +1 -0
  145. package/dist/cli/commands/assistants/setup/summary/index.js +48 -0
  146. package/dist/cli/commands/assistants/setup/summary/index.js.map +1 -0
  147. package/dist/cli/commands/hook.d.ts +72 -0
  148. package/dist/cli/commands/hook.d.ts.map +1 -1
  149. package/dist/cli/commands/hook.js +290 -110
  150. package/dist/cli/commands/hook.js.map +1 -1
  151. package/dist/cli/commands/log/cleaner.d.ts +37 -0
  152. package/dist/cli/commands/log/cleaner.d.ts.map +1 -0
  153. package/dist/cli/commands/log/cleaner.js +218 -0
  154. package/dist/cli/commands/log/cleaner.js.map +1 -0
  155. package/dist/cli/commands/log/filter.d.ts +55 -0
  156. package/dist/cli/commands/log/filter.d.ts.map +1 -0
  157. package/dist/cli/commands/log/filter.js +128 -0
  158. package/dist/cli/commands/log/filter.js.map +1 -0
  159. package/dist/cli/commands/log/follower.d.ts +36 -0
  160. package/dist/cli/commands/log/follower.d.ts.map +1 -0
  161. package/dist/cli/commands/log/follower.js +151 -0
  162. package/dist/cli/commands/log/follower.js.map +1 -0
  163. package/dist/cli/commands/log/formatter.d.ts +76 -0
  164. package/dist/cli/commands/log/formatter.d.ts.map +1 -0
  165. package/dist/cli/commands/log/formatter.js +261 -0
  166. package/dist/cli/commands/log/formatter.js.map +1 -0
  167. package/dist/cli/commands/log/index.d.ts +6 -0
  168. package/dist/cli/commands/log/index.d.ts.map +1 -0
  169. package/dist/cli/commands/log/index.js +400 -0
  170. package/dist/cli/commands/log/index.js.map +1 -0
  171. package/dist/cli/commands/log/parser.d.ts +20 -0
  172. package/dist/cli/commands/log/parser.d.ts.map +1 -0
  173. package/dist/cli/commands/log/parser.js +111 -0
  174. package/dist/cli/commands/log/parser.js.map +1 -0
  175. package/dist/cli/commands/log/reader.d.ts +66 -0
  176. package/dist/cli/commands/log/reader.d.ts.map +1 -0
  177. package/dist/cli/commands/log/reader.js +364 -0
  178. package/dist/cli/commands/log/reader.js.map +1 -0
  179. package/dist/cli/commands/log/types.d.ts +100 -0
  180. package/dist/cli/commands/log/types.d.ts.map +1 -0
  181. package/dist/cli/commands/log/types.js +5 -0
  182. package/dist/cli/commands/log/types.js.map +1 -0
  183. package/dist/cli/commands/profile/display.d.ts +1 -0
  184. package/dist/cli/commands/profile/display.d.ts.map +1 -1
  185. package/dist/cli/commands/profile/display.js +10 -2
  186. package/dist/cli/commands/profile/display.js.map +1 -1
  187. package/dist/cli/commands/profile/index.js +58 -22
  188. package/dist/cli/commands/profile/index.js.map +1 -1
  189. package/dist/cli/commands/setup.d.ts.map +1 -1
  190. package/dist/cli/commands/setup.js +143 -24
  191. package/dist/cli/commands/setup.js.map +1 -1
  192. package/dist/cli/index.js +2 -0
  193. package/dist/cli/index.js.map +1 -1
  194. package/dist/env/types.d.ts +10 -1
  195. package/dist/env/types.d.ts.map +1 -1
  196. package/dist/env/types.js.map +1 -1
  197. package/dist/index.d.ts +5 -0
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +10 -0
  200. package/dist/index.js.map +1 -1
  201. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +5 -0
  202. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  203. package/dist/providers/plugins/sso/session/SessionSyncer.js +102 -3
  204. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  205. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +0 -1
  206. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +1 -1
  207. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js +25 -48
  208. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +1 -1
  209. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  210. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +8 -34
  211. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  212. package/dist/utils/config.d.ts +35 -8
  213. package/dist/utils/config.d.ts.map +1 -1
  214. package/dist/utils/config.js +243 -33
  215. package/dist/utils/config.js.map +1 -1
  216. package/dist/utils/logger.d.ts +8 -0
  217. package/dist/utils/logger.d.ts.map +1 -1
  218. package/dist/utils/logger.js +42 -0
  219. package/dist/utils/logger.js.map +1 -1
  220. package/dist/utils/native-installer.d.ts +1 -0
  221. package/dist/utils/native-installer.d.ts.map +1 -1
  222. package/dist/utils/native-installer.js +21 -7
  223. package/dist/utils/native-installer.js.map +1 -1
  224. package/package.json +2 -2
  225. package/dist/agents/plugins/claude/plugin/commands/memory-add.md +0 -325
  226. package/dist/agents/plugins/claude/plugin/commands/memory-init.md +0 -18
  227. package/dist/cli/commands/assistants/generators/claude-agent-generator.d.ts.map +0 -1
  228. package/dist/cli/commands/assistants/generators/claude-agent-generator.js.map +0 -1
  229. package/dist/cli/commands/assistants/list.d.ts +0 -11
  230. package/dist/cli/commands/assistants/list.d.ts.map +0 -1
  231. package/dist/cli/commands/assistants/list.js +0 -323
  232. package/dist/cli/commands/assistants/list.js.map +0 -1
  233. /package/dist/cli/commands/assistants/{generators → setup/generators}/claude-agent-generator.d.ts +0 -0
@@ -0,0 +1,364 @@
1
+ /**
2
+ * Log reader - Read debug logs and session files
3
+ */
4
+ import { readFileSync, readdirSync, existsSync, statSync } from 'fs';
5
+ import { join } from 'path';
6
+ import { createInterface } from 'readline';
7
+ import { createReadStream } from 'fs';
8
+ import { getCodemiePath } from '../../../utils/paths.js';
9
+ import { parseLogLine, parseSessionMetadata } from './parser.js';
10
+ /**
11
+ * Read debug log entries with optional filtering
12
+ */
13
+ export class LogReader {
14
+ logsDir;
15
+ constructor(logsDir) {
16
+ this.logsDir = logsDir || getCodemiePath('logs');
17
+ }
18
+ /**
19
+ * Read log entries from specified date range
20
+ * Returns entries in chronological order (oldest first)
21
+ */
22
+ async readLogs(filter, maxLines) {
23
+ const entries = [];
24
+ try {
25
+ if (!existsSync(this.logsDir)) {
26
+ return entries;
27
+ }
28
+ // Get list of log files to read
29
+ const logFiles = this.getLogFilesInRange(filter?.fromDate, filter?.toDate);
30
+ // When limiting lines, we need to read from newest files first to ensure we get
31
+ // the most recent entries. We'll read extra files to account for entries being
32
+ // filtered out or spread across files, then sort and take the last N.
33
+ if (maxLines) {
34
+ // Read from newest files first, collecting 3x maxLines to ensure we have enough
35
+ // after filtering and to account for entries spread across multiple files
36
+ const targetEntries = maxLines * 3;
37
+ const reversedFiles = [...logFiles].reverse();
38
+ for (const logFile of reversedFiles) {
39
+ const filePath = join(this.logsDir, logFile);
40
+ const fileEntries = await this.readLogFile(filePath, filter);
41
+ entries.push(...fileEntries);
42
+ // Stop if we have enough entries
43
+ if (entries.length >= targetEntries) {
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ else {
49
+ // No limit, read all files in order
50
+ for (const logFile of logFiles) {
51
+ const filePath = join(this.logsDir, logFile);
52
+ const fileEntries = await this.readLogFile(filePath, filter);
53
+ entries.push(...fileEntries);
54
+ }
55
+ }
56
+ // Sort all entries by timestamp to maintain chronological order
57
+ entries.sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
58
+ // Apply maxLines limit (take last N entries after sorting)
59
+ if (maxLines && entries.length > maxLines) {
60
+ return entries.slice(-maxLines);
61
+ }
62
+ return entries;
63
+ }
64
+ catch {
65
+ return entries;
66
+ }
67
+ }
68
+ /**
69
+ * Read a single log file and parse entries
70
+ */
71
+ async readLogFile(filePath, filter) {
72
+ const entries = [];
73
+ try {
74
+ const fileStream = createReadStream(filePath);
75
+ const rl = createInterface({
76
+ input: fileStream,
77
+ crlfDelay: Infinity
78
+ });
79
+ for await (const line of rl) {
80
+ const entry = parseLogLine(line);
81
+ if (!entry)
82
+ continue;
83
+ // Apply filters
84
+ if (this.matchesFilter(entry, filter)) {
85
+ entries.push(entry);
86
+ }
87
+ }
88
+ }
89
+ catch {
90
+ // Skip files that can't be read
91
+ }
92
+ return entries;
93
+ }
94
+ /**
95
+ * Get list of log files that fall within date range
96
+ * Returns files sorted by date (oldest first)
97
+ *
98
+ * Note: Expands date range by ±1 day to catch overnight sessions.
99
+ * Long-running sessions that span midnight may write entries from day N+1
100
+ * into the log file for day N. Entry-level timestamp filtering (in matchesFilter)
101
+ * ensures exact results despite this wider file search.
102
+ */
103
+ getLogFilesInRange(fromDate, toDate) {
104
+ try {
105
+ const files = readdirSync(this.logsDir);
106
+ // Filter debug log files
107
+ const logFiles = files.filter(f => f.match(/^debug-\d{4}-\d{2}-\d{2}\.log$/));
108
+ // If no date filter, return all files
109
+ if (!fromDate && !toDate) {
110
+ return logFiles.sort();
111
+ }
112
+ // Expand date range by ±1 day to catch overnight sessions
113
+ // Entry-level timestamp filtering ensures exact results
114
+ const expandedFromDate = fromDate
115
+ ? new Date(fromDate.getTime() - 24 * 60 * 60 * 1000)
116
+ : undefined;
117
+ const expandedToDate = toDate
118
+ ? new Date(toDate.getTime() + 24 * 60 * 60 * 1000)
119
+ : undefined;
120
+ // Filter by date range
121
+ const filtered = logFiles.filter(file => {
122
+ const dateMatch = file.match(/debug-(\d{4}-\d{2}-\d{2})\.log/);
123
+ if (!dateMatch)
124
+ return false;
125
+ const fileDate = new Date(dateMatch[1]);
126
+ if (isNaN(fileDate.getTime()))
127
+ return false;
128
+ // Use expanded range for file filtering
129
+ if (expandedFromDate && fileDate < new Date(expandedFromDate.toISOString().split('T')[0])) {
130
+ return false;
131
+ }
132
+ if (expandedToDate && fileDate > new Date(expandedToDate.toISOString().split('T')[0])) {
133
+ return false;
134
+ }
135
+ return true;
136
+ });
137
+ // Sort by date (oldest first)
138
+ return filtered.sort();
139
+ }
140
+ catch {
141
+ return [];
142
+ }
143
+ }
144
+ /**
145
+ * Check if log entry matches filter criteria
146
+ */
147
+ matchesFilter(entry, filter) {
148
+ if (!filter)
149
+ return true;
150
+ // Filter by session ID
151
+ if (filter.sessionId && entry.sessionId !== filter.sessionId) {
152
+ return false;
153
+ }
154
+ // Filter by agent
155
+ if (filter.agent && entry.agent !== filter.agent) {
156
+ return false;
157
+ }
158
+ // Filter by profile
159
+ if (filter.profile && entry.profile !== filter.profile) {
160
+ return false;
161
+ }
162
+ // Filter by log level (show level and above)
163
+ if (filter.level) {
164
+ const levels = { debug: 0, info: 1, warn: 2, error: 3 };
165
+ const entryLevel = levels[entry.level] || 0;
166
+ const filterLevel = levels[filter.level] || 0;
167
+ if (entryLevel < filterLevel) {
168
+ return false;
169
+ }
170
+ }
171
+ // Filter by date range
172
+ if (filter.fromDate && entry.timestamp < filter.fromDate) {
173
+ return false;
174
+ }
175
+ if (filter.toDate && entry.timestamp > filter.toDate) {
176
+ return false;
177
+ }
178
+ // Filter by pattern
179
+ if (filter.pattern) {
180
+ const searchText = `${entry.agent} ${entry.message}`.toLowerCase();
181
+ if (filter.isRegex) {
182
+ try {
183
+ const regex = new RegExp(filter.pattern, 'i');
184
+ if (!regex.test(searchText)) {
185
+ return false;
186
+ }
187
+ }
188
+ catch {
189
+ // Invalid regex, fallback to string search
190
+ if (!searchText.includes(filter.pattern.toLowerCase())) {
191
+ return false;
192
+ }
193
+ }
194
+ }
195
+ else {
196
+ if (!searchText.includes(filter.pattern.toLowerCase())) {
197
+ return false;
198
+ }
199
+ }
200
+ }
201
+ return true;
202
+ }
203
+ /**
204
+ * Get the most recent log file path
205
+ */
206
+ getMostRecentLogFile() {
207
+ try {
208
+ const today = new Date().toISOString().split('T')[0];
209
+ const logFile = join(this.logsDir, `debug-${today}.log`);
210
+ return existsSync(logFile) ? logFile : null;
211
+ }
212
+ catch {
213
+ return null;
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Read session metadata and related files
219
+ */
220
+ export class SessionReader {
221
+ sessionsDir;
222
+ constructor(sessionsDir) {
223
+ this.sessionsDir = sessionsDir || getCodemiePath('sessions');
224
+ }
225
+ /**
226
+ * Read a single session's metadata
227
+ */
228
+ readSession(sessionId) {
229
+ try {
230
+ // Try regular session file first
231
+ let sessionFile = join(this.sessionsDir, `${sessionId}.json`);
232
+ // If not found, try completed session file
233
+ if (!existsSync(sessionFile)) {
234
+ sessionFile = join(this.sessionsDir, `completed_${sessionId}.json`);
235
+ if (!existsSync(sessionFile)) {
236
+ return null;
237
+ }
238
+ }
239
+ const content = readFileSync(sessionFile, 'utf-8');
240
+ return parseSessionMetadata(content);
241
+ }
242
+ catch {
243
+ return null;
244
+ }
245
+ }
246
+ /**
247
+ * List all sessions with optional filtering
248
+ */
249
+ listSessions(filter) {
250
+ const sessions = [];
251
+ try {
252
+ if (!existsSync(this.sessionsDir)) {
253
+ return sessions;
254
+ }
255
+ const files = readdirSync(this.sessionsDir);
256
+ // UUID pattern: 8-4-4-4-12 hexadecimal characters
257
+ const uuidPattern = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\.json$/;
258
+ const completedPattern = /^completed_[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\.json$/;
259
+ // Filter to only include actual session files (UUID or completed_UUID)
260
+ // Exclude _metrics.jsonl and _conversation.jsonl files
261
+ const sessionFiles = files.filter(f => {
262
+ // Skip non-JSON files
263
+ if (!f.endsWith('.json'))
264
+ return false;
265
+ // Skip metric and conversation files
266
+ if (f.includes('_metrics') || f.includes('_conversation'))
267
+ return false;
268
+ // Only include UUID pattern or completed_UUID pattern
269
+ return uuidPattern.test(f) || completedPattern.test(f);
270
+ });
271
+ for (const file of sessionFiles) {
272
+ const sessionId = file.replace('.json', '').replace('completed_', '');
273
+ const session = this.readSession(sessionId);
274
+ if (!session)
275
+ continue;
276
+ // Apply filters
277
+ if (this.matchesSessionFilter(session, filter)) {
278
+ sessions.push(session);
279
+ }
280
+ }
281
+ // Sort by start time (newest first)
282
+ sessions.sort((a, b) => b.startTime - a.startTime);
283
+ }
284
+ catch {
285
+ // Directory doesn't exist or can't be read
286
+ }
287
+ return sessions;
288
+ }
289
+ /**
290
+ * Check if session matches filter criteria
291
+ */
292
+ matchesSessionFilter(session, filter) {
293
+ if (!filter)
294
+ return true;
295
+ if (filter.sessionId && session.sessionId !== filter.sessionId) {
296
+ return false;
297
+ }
298
+ if (filter.agent && session.agentName !== filter.agent) {
299
+ return false;
300
+ }
301
+ if (filter.fromDate && session.startTime < filter.fromDate.getTime()) {
302
+ return false;
303
+ }
304
+ if (filter.toDate && session.startTime > filter.toDate.getTime()) {
305
+ return false;
306
+ }
307
+ return true;
308
+ }
309
+ /**
310
+ * Get session conversation (JSONL file)
311
+ */
312
+ readSessionConversation(sessionId) {
313
+ try {
314
+ const conversationFile = join(this.sessionsDir, `${sessionId}_conversation.jsonl`);
315
+ if (!existsSync(conversationFile)) {
316
+ return [];
317
+ }
318
+ const content = readFileSync(conversationFile, 'utf-8');
319
+ const lines = content.trim().split('\n');
320
+ const turns = [];
321
+ for (const line of lines) {
322
+ if (!line.trim())
323
+ continue;
324
+ try {
325
+ turns.push(JSON.parse(line));
326
+ }
327
+ catch {
328
+ // Skip malformed lines
329
+ }
330
+ }
331
+ return turns;
332
+ }
333
+ catch {
334
+ return [];
335
+ }
336
+ }
337
+ /**
338
+ * Get total size of all session files
339
+ */
340
+ getTotalSessionsSize() {
341
+ let totalBytes = 0;
342
+ try {
343
+ if (!existsSync(this.sessionsDir)) {
344
+ return 0;
345
+ }
346
+ const files = readdirSync(this.sessionsDir);
347
+ for (const file of files) {
348
+ const filePath = join(this.sessionsDir, file);
349
+ try {
350
+ const stats = statSync(filePath);
351
+ totalBytes += stats.size;
352
+ }
353
+ catch {
354
+ // Skip files we can't stat
355
+ }
356
+ }
357
+ }
358
+ catch {
359
+ // Directory doesn't exist
360
+ }
361
+ return totalBytes;
362
+ }
363
+ }
364
+ //# sourceMappingURL=reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../../src/cli/commands/log/reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Log command types and interfaces
3
+ */
4
+ /**
5
+ * Log levels
6
+ */
7
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
8
+ /**
9
+ * Parsed log entry from debug log file
10
+ */
11
+ export interface LogEntry {
12
+ timestamp: Date;
13
+ level: LogLevel;
14
+ agent: string;
15
+ sessionId: string;
16
+ profile: string | null;
17
+ message: string;
18
+ rawLine: string;
19
+ }
20
+ /**
21
+ * Session metadata from session JSON file
22
+ */
23
+ export interface SessionMetadata {
24
+ sessionId: string;
25
+ agentName: string;
26
+ provider: string;
27
+ startTime: number;
28
+ endTime?: number;
29
+ status: 'active' | 'completed' | 'failed';
30
+ workingDirectory: string;
31
+ gitBranch?: string;
32
+ }
33
+ /**
34
+ * Filter options for log queries
35
+ */
36
+ export interface LogFilter {
37
+ sessionId?: string;
38
+ agent?: string;
39
+ profile?: string;
40
+ level?: LogLevel;
41
+ fromDate?: Date;
42
+ toDate?: Date;
43
+ pattern?: string;
44
+ isRegex?: boolean;
45
+ }
46
+ /**
47
+ * Log command options (from commander)
48
+ */
49
+ export interface LogOptions {
50
+ session?: string;
51
+ agent?: string;
52
+ profile?: string;
53
+ level?: string;
54
+ from?: string;
55
+ to?: string;
56
+ last?: string;
57
+ grep?: string;
58
+ lines?: number;
59
+ verbose?: boolean;
60
+ format?: 'text' | 'json' | 'jsonl';
61
+ noColor?: boolean;
62
+ output?: string;
63
+ days?: number;
64
+ sessions?: boolean;
65
+ dryRun?: boolean;
66
+ yes?: boolean;
67
+ sort?: 'time' | 'duration' | 'agent';
68
+ reverse?: boolean;
69
+ }
70
+ /**
71
+ * Output format options
72
+ */
73
+ export interface OutputFormat {
74
+ format: 'text' | 'json' | 'jsonl';
75
+ colorize: boolean;
76
+ verbose: boolean;
77
+ }
78
+ /**
79
+ * Cleanup statistics
80
+ */
81
+ export interface CleanupStats {
82
+ debugLogsDeleted: number;
83
+ sessionsDeleted: number;
84
+ bytesFreed: number;
85
+ oldestFileDate?: Date;
86
+ newestFileDate?: Date;
87
+ }
88
+ /**
89
+ * Session list entry (for list-sessions command)
90
+ */
91
+ export interface SessionListEntry {
92
+ sessionId: string;
93
+ agentName: string;
94
+ startTime: Date;
95
+ duration?: number;
96
+ status: string;
97
+ workingDirectory: string;
98
+ gitBranch?: string;
99
+ }
100
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/log/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Log command types and interfaces
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/commands/log/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -12,6 +12,7 @@ export interface ProfileInfo {
12
12
  name: string;
13
13
  active: boolean;
14
14
  profile: CodeMieConfigOptions;
15
+ source?: 'local' | 'global';
15
16
  }
16
17
  /**
17
18
  * Profile display utility class
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/profile/display.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAGD;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAYxC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IA6BhD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;CAgCtE"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/profile/display.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC7B;AAGD;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAsBxC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IA6BhD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;CAgCtE"}
@@ -16,14 +16,22 @@ export class ProfileDisplay {
16
16
  * @returns Formatted string
17
17
  */
18
18
  static format(info) {
19
- const { name, active, profile } = info;
20
- return renderProfileInfo({
19
+ const { name, active, profile, source } = info;
20
+ const baseInfo = renderProfileInfo({
21
21
  profile: name,
22
22
  provider: profile.provider || 'N/A',
23
23
  model: profile.model || 'N/A',
24
24
  codeMieUrl: profile.codeMieUrl,
25
25
  isActive: active
26
26
  });
27
+ // Add source indicator if available
28
+ if (source) {
29
+ const sourceIndicator = source === 'local'
30
+ ? chalk.yellow(' [Local]')
31
+ : chalk.cyan(' [Global]');
32
+ return baseInfo + sourceIndicator;
33
+ }
34
+ return baseInfo;
27
35
  }
28
36
  /**
29
37
  * Display list of profiles
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../src/cli/commands/profile/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../src/cli/commands/profile/display.ts"],"names":[],"mappings":"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"}