@nathanvale/chatline 0.0.1 → 0.0.2-next.1

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 (213) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/bin/index.js +1 -1
  3. package/dist/index.js +1 -1
  4. package/package.json +1 -1
  5. package/dist/cli/commands/clean.d.ts +0 -17
  6. package/dist/cli/commands/clean.d.ts.map +0 -1
  7. package/dist/cli/commands/clean.js +0 -142
  8. package/dist/cli/commands/clean.js.map +0 -1
  9. package/dist/cli/commands/doctor.d.ts +0 -17
  10. package/dist/cli/commands/doctor.d.ts.map +0 -1
  11. package/dist/cli/commands/doctor.js +0 -202
  12. package/dist/cli/commands/doctor.js.map +0 -1
  13. package/dist/cli/commands/enrich-ai.d.ts +0 -17
  14. package/dist/cli/commands/enrich-ai.d.ts.map +0 -1
  15. package/dist/cli/commands/enrich-ai.js +0 -371
  16. package/dist/cli/commands/enrich-ai.js.map +0 -1
  17. package/dist/cli/commands/index.d.ts +0 -16
  18. package/dist/cli/commands/index.d.ts.map +0 -1
  19. package/dist/cli/commands/index.js +0 -16
  20. package/dist/cli/commands/index.js.map +0 -1
  21. package/dist/cli/commands/ingest-csv.d.ts +0 -17
  22. package/dist/cli/commands/ingest-csv.d.ts.map +0 -1
  23. package/dist/cli/commands/ingest-csv.js +0 -138
  24. package/dist/cli/commands/ingest-csv.js.map +0 -1
  25. package/dist/cli/commands/ingest-db.d.ts +0 -17
  26. package/dist/cli/commands/ingest-db.d.ts.map +0 -1
  27. package/dist/cli/commands/ingest-db.js +0 -159
  28. package/dist/cli/commands/ingest-db.js.map +0 -1
  29. package/dist/cli/commands/init.d.ts +0 -17
  30. package/dist/cli/commands/init.d.ts.map +0 -1
  31. package/dist/cli/commands/init.js +0 -110
  32. package/dist/cli/commands/init.js.map +0 -1
  33. package/dist/cli/commands/normalize-link.d.ts +0 -16
  34. package/dist/cli/commands/normalize-link.d.ts.map +0 -1
  35. package/dist/cli/commands/normalize-link.js +0 -144
  36. package/dist/cli/commands/normalize-link.js.map +0 -1
  37. package/dist/cli/commands/render-markdown.d.ts +0 -17
  38. package/dist/cli/commands/render-markdown.d.ts.map +0 -1
  39. package/dist/cli/commands/render-markdown.js +0 -218
  40. package/dist/cli/commands/render-markdown.js.map +0 -1
  41. package/dist/cli/commands/stats.d.ts +0 -17
  42. package/dist/cli/commands/stats.d.ts.map +0 -1
  43. package/dist/cli/commands/stats.js +0 -175
  44. package/dist/cli/commands/stats.js.map +0 -1
  45. package/dist/cli/commands/validate.d.ts +0 -17
  46. package/dist/cli/commands/validate.d.ts.map +0 -1
  47. package/dist/cli/commands/validate.js +0 -152
  48. package/dist/cli/commands/validate.js.map +0 -1
  49. package/dist/cli/index.d.ts +0 -13
  50. package/dist/cli/index.d.ts.map +0 -1
  51. package/dist/cli/index.js +0 -121
  52. package/dist/cli/index.js.map +0 -1
  53. package/dist/cli/types.d.ts +0 -93
  54. package/dist/cli/types.d.ts.map +0 -1
  55. package/dist/cli/types.js +0 -7
  56. package/dist/cli/types.js.map +0 -1
  57. package/dist/cli/utils.d.ts +0 -29
  58. package/dist/cli/utils.d.ts.map +0 -1
  59. package/dist/cli/utils.js +0 -53
  60. package/dist/cli/utils.js.map +0 -1
  61. package/dist/cli.d.ts +0 -9
  62. package/dist/cli.d.ts.map +0 -1
  63. package/dist/cli.js +0 -1805
  64. package/dist/config/generator.d.ts +0 -90
  65. package/dist/config/generator.d.ts.map +0 -1
  66. package/dist/config/generator.js +0 -320
  67. package/dist/config/generator.js.map +0 -1
  68. package/dist/config/loader.d.ts +0 -107
  69. package/dist/config/loader.d.ts.map +0 -1
  70. package/dist/config/loader.js +0 -251
  71. package/dist/config/loader.js.map +0 -1
  72. package/dist/config/schema.d.ts +0 -107
  73. package/dist/config/schema.d.ts.map +0 -1
  74. package/dist/config/schema.js +0 -169
  75. package/dist/config/schema.js.map +0 -1
  76. package/dist/enrich/audio-transcription.d.ts +0 -77
  77. package/dist/enrich/audio-transcription.d.ts.map +0 -1
  78. package/dist/enrich/audio-transcription.js +0 -370
  79. package/dist/enrich/audio-transcription.js.map +0 -1
  80. package/dist/enrich/checkpoint.d.ts +0 -137
  81. package/dist/enrich/checkpoint.d.ts.map +0 -1
  82. package/dist/enrich/checkpoint.js +0 -205
  83. package/dist/enrich/checkpoint.js.map +0 -1
  84. package/dist/enrich/idempotency.d.ts +0 -90
  85. package/dist/enrich/idempotency.d.ts.map +0 -1
  86. package/dist/enrich/idempotency.js +0 -188
  87. package/dist/enrich/idempotency.js.map +0 -1
  88. package/dist/enrich/image-analysis.d.ts +0 -62
  89. package/dist/enrich/image-analysis.d.ts.map +0 -1
  90. package/dist/enrich/image-analysis.js +0 -264
  91. package/dist/enrich/image-analysis.js.map +0 -1
  92. package/dist/enrich/index.d.ts +0 -60
  93. package/dist/enrich/index.d.ts.map +0 -1
  94. package/dist/enrich/index.js +0 -74
  95. package/dist/enrich/index.js.map +0 -1
  96. package/dist/enrich/link-enrichment.d.ts +0 -37
  97. package/dist/enrich/link-enrichment.d.ts.map +0 -1
  98. package/dist/enrich/link-enrichment.js +0 -202
  99. package/dist/enrich/link-enrichment.js.map +0 -1
  100. package/dist/enrich/pdf-video-handling.d.ts +0 -49
  101. package/dist/enrich/pdf-video-handling.d.ts.map +0 -1
  102. package/dist/enrich/pdf-video-handling.js +0 -325
  103. package/dist/enrich/pdf-video-handling.js.map +0 -1
  104. package/dist/enrich/progress-tracker.d.ts +0 -120
  105. package/dist/enrich/progress-tracker.d.ts.map +0 -1
  106. package/dist/enrich/progress-tracker.js +0 -220
  107. package/dist/enrich/progress-tracker.js.map +0 -1
  108. package/dist/enrich/providers/firecrawl.d.ts +0 -18
  109. package/dist/enrich/providers/firecrawl.d.ts.map +0 -1
  110. package/dist/enrich/providers/firecrawl.js +0 -48
  111. package/dist/enrich/providers/firecrawl.js.map +0 -1
  112. package/dist/enrich/providers/generic.d.ts +0 -16
  113. package/dist/enrich/providers/generic.d.ts.map +0 -1
  114. package/dist/enrich/providers/generic.js +0 -36
  115. package/dist/enrich/providers/generic.js.map +0 -1
  116. package/dist/enrich/providers/index.d.ts +0 -14
  117. package/dist/enrich/providers/index.d.ts.map +0 -1
  118. package/dist/enrich/providers/index.js +0 -13
  119. package/dist/enrich/providers/index.js.map +0 -1
  120. package/dist/enrich/providers/instagram.d.ts +0 -16
  121. package/dist/enrich/providers/instagram.d.ts.map +0 -1
  122. package/dist/enrich/providers/instagram.js +0 -43
  123. package/dist/enrich/providers/instagram.js.map +0 -1
  124. package/dist/enrich/providers/spotify.d.ts +0 -16
  125. package/dist/enrich/providers/spotify.d.ts.map +0 -1
  126. package/dist/enrich/providers/spotify.js +0 -45
  127. package/dist/enrich/providers/spotify.js.map +0 -1
  128. package/dist/enrich/providers/twitter.d.ts +0 -16
  129. package/dist/enrich/providers/twitter.d.ts.map +0 -1
  130. package/dist/enrich/providers/twitter.js +0 -43
  131. package/dist/enrich/providers/twitter.js.map +0 -1
  132. package/dist/enrich/providers/types.d.ts +0 -47
  133. package/dist/enrich/providers/types.d.ts.map +0 -1
  134. package/dist/enrich/providers/types.js +0 -15
  135. package/dist/enrich/providers/types.js.map +0 -1
  136. package/dist/enrich/providers/youtube.d.ts +0 -16
  137. package/dist/enrich/providers/youtube.d.ts.map +0 -1
  138. package/dist/enrich/providers/youtube.js +0 -43
  139. package/dist/enrich/providers/youtube.js.map +0 -1
  140. package/dist/enrich/rate-limiting.d.ts +0 -118
  141. package/dist/enrich/rate-limiting.d.ts.map +0 -1
  142. package/dist/enrich/rate-limiting.js +0 -258
  143. package/dist/enrich/rate-limiting.js.map +0 -1
  144. package/dist/index.d.ts.map +0 -1
  145. package/dist/index.js.map +0 -1
  146. package/dist/ingest/dedup-merge.d.ts +0 -82
  147. package/dist/ingest/dedup-merge.d.ts.map +0 -1
  148. package/dist/ingest/dedup-merge.js +0 -262
  149. package/dist/ingest/dedup-merge.js.map +0 -1
  150. package/dist/ingest/ingest-csv.d.ts +0 -62
  151. package/dist/ingest/ingest-csv.d.ts.map +0 -1
  152. package/dist/ingest/ingest-csv.js +0 -300
  153. package/dist/ingest/ingest-csv.js.map +0 -1
  154. package/dist/ingest/ingest-db.d.ts +0 -64
  155. package/dist/ingest/ingest-db.d.ts.map +0 -1
  156. package/dist/ingest/ingest-db.js +0 -172
  157. package/dist/ingest/ingest-db.js.map +0 -1
  158. package/dist/ingest/link-replies-and-tapbacks.d.ts +0 -53
  159. package/dist/ingest/link-replies-and-tapbacks.d.ts.map +0 -1
  160. package/dist/ingest/link-replies-and-tapbacks.js +0 -381
  161. package/dist/ingest/link-replies-and-tapbacks.js.map +0 -1
  162. package/dist/normalize/date-converters.d.ts +0 -45
  163. package/dist/normalize/date-converters.d.ts.map +0 -1
  164. package/dist/normalize/date-converters.js +0 -166
  165. package/dist/normalize/date-converters.js.map +0 -1
  166. package/dist/normalize/path-validator.d.ts +0 -65
  167. package/dist/normalize/path-validator.d.ts.map +0 -1
  168. package/dist/normalize/path-validator.js +0 -221
  169. package/dist/normalize/path-validator.js.map +0 -1
  170. package/dist/normalize/validate-normalized.d.ts +0 -45
  171. package/dist/normalize/validate-normalized.d.ts.map +0 -1
  172. package/dist/normalize/validate-normalized.js +0 -144
  173. package/dist/normalize/validate-normalized.js.map +0 -1
  174. package/dist/render/embeds-blockquotes.d.ts +0 -84
  175. package/dist/render/embeds-blockquotes.d.ts.map +0 -1
  176. package/dist/render/embeds-blockquotes.js +0 -204
  177. package/dist/render/embeds-blockquotes.js.map +0 -1
  178. package/dist/render/grouping.d.ts +0 -78
  179. package/dist/render/grouping.d.ts.map +0 -1
  180. package/dist/render/grouping.js +0 -134
  181. package/dist/render/grouping.js.map +0 -1
  182. package/dist/render/index.d.ts +0 -47
  183. package/dist/render/index.d.ts.map +0 -1
  184. package/dist/render/index.js +0 -245
  185. package/dist/render/index.js.map +0 -1
  186. package/dist/render/reply-rendering.d.ts +0 -88
  187. package/dist/render/reply-rendering.d.ts.map +0 -1
  188. package/dist/render/reply-rendering.js +0 -196
  189. package/dist/render/reply-rendering.js.map +0 -1
  190. package/dist/schema/message.d.ts +0 -125
  191. package/dist/schema/message.d.ts.map +0 -1
  192. package/dist/schema/message.js +0 -331
  193. package/dist/schema/message.js.map +0 -1
  194. package/dist/utils/delta-detection.d.ts +0 -107
  195. package/dist/utils/delta-detection.d.ts.map +0 -1
  196. package/dist/utils/delta-detection.js +0 -199
  197. package/dist/utils/delta-detection.js.map +0 -1
  198. package/dist/utils/enrichment-merge.d.ts +0 -135
  199. package/dist/utils/enrichment-merge.d.ts.map +0 -1
  200. package/dist/utils/enrichment-merge.js +0 -280
  201. package/dist/utils/enrichment-merge.js.map +0 -1
  202. package/dist/utils/human.d.ts +0 -15
  203. package/dist/utils/human.d.ts.map +0 -1
  204. package/dist/utils/human.js +0 -27
  205. package/dist/utils/human.js.map +0 -1
  206. package/dist/utils/incremental-state.d.ts +0 -133
  207. package/dist/utils/incremental-state.d.ts.map +0 -1
  208. package/dist/utils/incremental-state.js +0 -237
  209. package/dist/utils/incremental-state.js.map +0 -1
  210. package/dist/utils/logger.d.ts +0 -40
  211. package/dist/utils/logger.d.ts.map +0 -1
  212. package/dist/utils/logger.js +0 -176
  213. package/dist/utils/logger.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1 +1,13 @@
1
1
  # chatline
2
+
3
+ ## 0.0.2-next.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#81](https://github.com/nathanvale/chatline/pull/81) [`9d2b055`](https://github.com/nathanvale/chatline/commit/9d2b055407428465f43e5328e9597c5fb32f07cf) Thanks [@nathanvale](https://github.com/nathanvale)! - Test prerelease workflow with GitHub release creation.
8
+
9
+ ## 0.0.2-next.0
10
+
11
+ ### Patch Changes
12
+
13
+ - [#48](https://github.com/nathanvale/chatline/pull/48) [`90af4ec`](https://github.com/nathanvale/chatline/commit/90af4ec40a27d2642b3772b78f3cbcc20ba25be2) Thanks [@nathanvale](https://github.com/nathanvale)! - Canary test changeset to exercise the publish pipeline.
package/dist/bin/index.js CHANGED
@@ -211,7 +211,7 @@ var init_package = __esm(() => {
211
211
  sideEffects: false,
212
212
  type: "module",
213
213
  types: "./dist/index.d.ts",
214
- version: "0.0.1",
214
+ version: "0.0.2-next.1",
215
215
  workspaces: [
216
216
  ".",
217
217
  "website"
package/dist/index.js CHANGED
@@ -1395,7 +1395,7 @@ var package_default = {
1395
1395
  sideEffects: false,
1396
1396
  type: "module",
1397
1397
  types: "./dist/index.d.ts",
1398
- version: "0.0.1",
1398
+ version: "0.0.2-next.1",
1399
1399
  workspaces: [
1400
1400
  ".",
1401
1401
  "website"
package/package.json CHANGED
@@ -157,7 +157,7 @@
157
157
  "sideEffects": false,
158
158
  "type": "module",
159
159
  "types": "./dist/index.d.ts",
160
- "version": "0.0.1",
160
+ "version": "0.0.2-next.1",
161
161
  "workspaces": [
162
162
  ".",
163
163
  "website"
@@ -1,17 +0,0 @@
1
- /**
2
- * Clean Command
3
- *
4
- * Remove temporary files and checkpoints.
5
- * CLI-T05-AC03: clean command to remove checkpoints and temp files
6
- */
7
- import type { Command } from 'commander';
8
- import type { CleanOptions, GlobalOptions } from '../types.js';
9
- /**
10
- * Execute the clean command logic
11
- */
12
- export declare function executeClean(options: CleanOptions, globalOptions: GlobalOptions): Promise<void>;
13
- /**
14
- * Register the clean command with Commander
15
- */
16
- export declare function registerCleanCommand(program: Command, getGlobalOptions: () => GlobalOptions): void;
17
- //# sourceMappingURL=clean.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clean.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG9D;;GAEG;AACH,wBAAsB,YAAY,CACjC,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,aAAa,GAC1B,OAAO,CAAC,IAAI,CAAC,CAwGf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,aAAa,GACnC,IAAI,CAuCN"}
@@ -1,142 +0,0 @@
1
- /**
2
- * Clean Command
3
- *
4
- * Remove temporary files and checkpoints.
5
- * CLI-T05-AC03: clean command to remove checkpoints and temp files
6
- */
7
- import { humanError, humanInfo, humanWarn } from '#utils/human';
8
- import { applyLogLevel, logEvent } from '../utils.js';
9
- /**
10
- * Execute the clean command logic
11
- */
12
- export async function executeClean(options, globalOptions) {
13
- const { checkpointDir, force, all } = options;
14
- const { verbose, quiet } = globalOptions;
15
- applyLogLevel(verbose, quiet);
16
- const fs = await import('node:fs');
17
- const path = await import('node:path');
18
- // Check if checkpoint dir exists
19
- if (!fs.existsSync(checkpointDir)) {
20
- if (verbose) {
21
- humanInfo(`ℹ️ Checkpoint directory not found: ${checkpointDir}`);
22
- }
23
- logEvent('clean-missing-dir', {
24
- command: 'clean',
25
- phase: 'progress',
26
- options: { checkpointDir },
27
- });
28
- process.exit(0);
29
- }
30
- if (!fs.statSync(checkpointDir).isDirectory()) {
31
- humanError(`❌ Not a directory: ${checkpointDir}`);
32
- process.exit(1);
33
- }
34
- // List files to be removed
35
- const files = fs.readdirSync(checkpointDir);
36
- const toRemove = files.filter((f) => f.startsWith('enrich-checkpoint-') ||
37
- (all && (f.endsWith('.backup') || f.endsWith('.old'))));
38
- if (toRemove.length === 0) {
39
- humanInfo('ℹ️ No checkpoint files to clean');
40
- logEvent('clean-none', {
41
- command: 'clean',
42
- phase: 'summary',
43
- metrics: { removed: 0 },
44
- options: { checkpointDir },
45
- exitCode: 0,
46
- });
47
- process.exit(0);
48
- }
49
- // Show what will be removed
50
- humanInfo('♻️ Files to be removed:');
51
- toRemove.forEach((f) => {
52
- const filepath = path.join(checkpointDir, f);
53
- const size = fs.statSync(filepath).size;
54
- humanInfo(` ${f} (${(size / 1024).toFixed(1)} KB)`);
55
- });
56
- logEvent('clean-list', {
57
- command: 'clean',
58
- phase: 'progress',
59
- metrics: { count: toRemove.length },
60
- options: { checkpointDir, all },
61
- });
62
- if (!force) {
63
- humanInfo('\nRun with --force to remove these files');
64
- logEvent('clean-requires-force', {
65
- command: 'clean',
66
- phase: 'progress',
67
- options: { checkpointDir, all },
68
- });
69
- process.exit(0);
70
- }
71
- // Remove files
72
- let removed = 0;
73
- toRemove.forEach((f) => {
74
- const filepath = path.join(checkpointDir, f);
75
- try {
76
- fs.unlinkSync(filepath);
77
- removed++;
78
- if (verbose) {
79
- humanInfo(`✓ Removed ${f}`);
80
- logEvent('clean-file-removed', {
81
- command: 'clean',
82
- phase: 'progress',
83
- context: { file: f },
84
- });
85
- }
86
- }
87
- catch {
88
- humanWarn(`⚠️ Failed to remove ${f}`);
89
- logEvent('clean-file-remove-failed', {
90
- command: 'clean',
91
- phase: 'warning',
92
- context: { file: f },
93
- });
94
- }
95
- });
96
- humanInfo(`✅ Cleaned ${removed} checkpoint file(s)`);
97
- logEvent('clean-summary', {
98
- command: 'clean',
99
- phase: 'summary',
100
- metrics: { removed },
101
- options: { checkpointDir, all },
102
- exitCode: 0,
103
- });
104
- }
105
- /**
106
- * Register the clean command with Commander
107
- */
108
- export function registerCleanCommand(program, getGlobalOptions) {
109
- program
110
- .command('clean')
111
- .description('Remove temporary files and checkpoints')
112
- .option('-c, --checkpoint-dir <path>', 'checkpoint directory to clean', './.checkpoints')
113
- .option('-f, --force', 'remove without confirmation', false)
114
- .option('--all', 'also remove backup files (.backup, .old)', false)
115
- .action(async (options) => {
116
- try {
117
- await executeClean(options, getGlobalOptions());
118
- process.exit(0);
119
- }
120
- catch (error) {
121
- humanError('❌ Clean failed:', error instanceof Error ? error.message : String(error));
122
- if (getGlobalOptions().verbose && error instanceof Error) {
123
- humanError(error.stack);
124
- }
125
- logEvent('clean-error', {
126
- command: 'clean',
127
- phase: 'error',
128
- error: {
129
- type: error instanceof Error ? error.name : 'Unknown',
130
- message: error instanceof Error ? error.message : String(error),
131
- ...(error instanceof Error && error.stack
132
- ? { stack: error.stack }
133
- : {}),
134
- },
135
- options: { checkpointDir: options.checkpointDir, all: options.all },
136
- exitCode: 2,
137
- });
138
- process.exit(2);
139
- }
140
- });
141
- }
142
- //# sourceMappingURL=clean.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/cli/commands/clean.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Doctor Command
3
- *
4
- * Diagnose common configuration issues.
5
- * CLI-T05-AC04: doctor command to diagnose common issues
6
- */
7
- import type { Command } from 'commander';
8
- import type { DoctorOptions, GlobalOptions } from '../types.js';
9
- /**
10
- * Execute the doctor command logic
11
- */
12
- export declare function executeDoctor(options: DoctorOptions, globalOptions: GlobalOptions): Promise<void>;
13
- /**
14
- * Register the doctor command with Commander
15
- */
16
- export declare function registerDoctorCommand(program: Command, getGlobalOptions: () => GlobalOptions): void;
17
- //# sourceMappingURL=doctor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG/D;;GAEG;AACH,wBAAsB,aAAa,CAClC,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,aAAa,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoLf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,aAAa,GACnC,IAAI,CA+BN"}
@@ -1,202 +0,0 @@
1
- /**
2
- * Doctor Command
3
- *
4
- * Diagnose common configuration issues.
5
- * CLI-T05-AC04: doctor command to diagnose common issues
6
- */
7
- import { humanError, humanInfo } from '#utils/human';
8
- import { applyLogLevel, logEvent } from '../utils.js';
9
- /**
10
- * Execute the doctor command logic
11
- */
12
- export async function executeDoctor(options, globalOptions) {
13
- const verbose = globalOptions.verbose || options.verbose || false;
14
- applyLogLevel(verbose, globalOptions.quiet);
15
- const fs = await import('node:fs');
16
- const path = await import('node:path');
17
- const os = await import('node:os');
18
- humanInfo('🔍 iMessage Timeline Diagnostics\n');
19
- logEvent('doctor-start', { command: 'doctor', phase: 'start' });
20
- const checks = [];
21
- // Check 1: Node version
22
- const nodeVersion = process.version;
23
- const nodeMajor = Number.parseInt(nodeVersion.slice(1).split('.')[0] ?? '0', 10);
24
- const nodeOk = nodeMajor >= 18;
25
- checks.push({
26
- name: 'Node.js version',
27
- pass: nodeOk,
28
- message: `${nodeVersion} ${nodeOk ? '✓' : '(requires ≥18)'}`,
29
- });
30
- // Check 2: Current directory
31
- const cwd = process.cwd();
32
- const packageJsonExists = fs.existsSync(path.join(cwd, 'package.json'));
33
- checks.push({
34
- name: 'package.json',
35
- pass: packageJsonExists,
36
- message: packageJsonExists
37
- ? `Found in ${cwd}`
38
- : 'Not found in current directory',
39
- });
40
- // Check 3: Config file
41
- const configFormats = [
42
- 'imessage-config.yaml',
43
- 'imessage-config.yml',
44
- 'imessage-config.json',
45
- ];
46
- const foundConfig = configFormats.find((f) => fs.existsSync(path.join(cwd, f)));
47
- checks.push({
48
- name: 'Config file',
49
- pass: Boolean(foundConfig),
50
- message: foundConfig
51
- ? `Found: ${foundConfig}`
52
- : 'Not found (run: imessage-timeline init)',
53
- });
54
- // Check 4: API Keys
55
- const geminiKey = process.env.GEMINI_API_KEY;
56
- const firecrawlKey = process.env.FIRECRAWL_API_KEY;
57
- checks.push({
58
- name: 'GEMINI_API_KEY',
59
- pass: Boolean(geminiKey),
60
- message: geminiKey
61
- ? 'Set'
62
- : 'Not set (required for image/audio enrichment)',
63
- });
64
- checks.push({
65
- name: 'FIRECRAWL_API_KEY',
66
- pass: Boolean(firecrawlKey),
67
- message: firecrawlKey
68
- ? 'Set'
69
- : 'Not set (optional, improves link enrichment - get from firecrawl.dev)',
70
- });
71
- // Check 5: Default attachment directory
72
- const defaultAttachDir = path.join(os.homedir(), 'Library', 'Messages', 'Attachments');
73
- const attachDirExists = fs.existsSync(defaultAttachDir);
74
- checks.push({
75
- name: 'Messages attachments',
76
- pass: attachDirExists,
77
- message: attachDirExists
78
- ? `Found: ${defaultAttachDir}`
79
- : `Not found: ${defaultAttachDir}`,
80
- });
81
- // Check 6: Output directory permission
82
- const canWrite = (() => {
83
- try {
84
- const testFile = path.join(cwd, '.test-write');
85
- fs.writeFileSync(testFile, 'test');
86
- fs.unlinkSync(testFile);
87
- return true;
88
- }
89
- catch {
90
- return false;
91
- }
92
- })();
93
- checks.push({
94
- name: 'Write permission',
95
- pass: canWrite,
96
- message: canWrite
97
- ? `Can write to ${cwd}`
98
- : `Cannot write to ${cwd} (check permissions)`,
99
- });
100
- // Print results
101
- let passCount = 0;
102
- checks.forEach((check) => {
103
- const icon = check.pass ? '✅' : '⚠️ ';
104
- humanInfo(`${icon} ${check.name.padEnd(25)} ${check.message}`);
105
- if (check.pass)
106
- passCount++;
107
- logEvent('doctor-check', {
108
- command: 'doctor',
109
- phase: 'progress',
110
- context: { name: check.name },
111
- metrics: { pass: check.pass },
112
- message: check.message,
113
- });
114
- });
115
- humanInfo(`\n📊 Summary: ${passCount}/${checks.length} checks passed`);
116
- logEvent('doctor-summary', {
117
- command: 'doctor',
118
- phase: 'summary',
119
- metrics: { passed: passCount, total: checks.length },
120
- });
121
- // Recommendations
122
- const failures = checks.filter((c) => !c.pass);
123
- if (failures.length > 0) {
124
- humanInfo('\n💡 Recommendations:');
125
- failures.forEach((check) => {
126
- if (check.name === 'Config file') {
127
- humanInfo(' • Run: imessage-timeline init');
128
- }
129
- else if (check.name === 'GEMINI_API_KEY') {
130
- humanInfo(' • Get API key from: https://ai.google.dev/tutorials/setup');
131
- humanInfo(' • Set: export GEMINI_API_KEY=your_key');
132
- }
133
- else if (check.name === 'FIRECRAWL_API_KEY') {
134
- humanInfo(' • (Optional) Get from: https://www.firecrawl.dev');
135
- }
136
- logEvent('doctor-recommendation', {
137
- command: 'doctor',
138
- phase: 'progress',
139
- context: { name: check.name },
140
- message: check.message,
141
- });
142
- });
143
- }
144
- if (verbose) {
145
- humanInfo('\n📝 Environment:');
146
- humanInfo(` Platform: ${os.platform()}`);
147
- humanInfo(` Arch: ${os.arch()}`);
148
- humanInfo(` Home: ${os.homedir()}`);
149
- humanInfo(` CWD: ${cwd}`);
150
- logEvent('doctor-environment', {
151
- command: 'doctor',
152
- phase: 'progress',
153
- context: {
154
- platform: os.platform(),
155
- arch: os.arch(),
156
- home: os.homedir(),
157
- cwd,
158
- },
159
- });
160
- }
161
- logEvent('doctor-exit', {
162
- command: 'doctor',
163
- phase: 'summary',
164
- metrics: { failures: failures.length },
165
- exitCode: failures.length > 0 ? 1 : 0,
166
- });
167
- process.exit(failures.length > 0 ? 1 : 0);
168
- }
169
- /**
170
- * Register the doctor command with Commander
171
- */
172
- export function registerDoctorCommand(program, getGlobalOptions) {
173
- program
174
- .command('doctor')
175
- .description('Diagnose common configuration issues')
176
- .option('-v, --verbose', 'show detailed diagnostics', false)
177
- .action(async (options) => {
178
- try {
179
- await executeDoctor(options, getGlobalOptions());
180
- }
181
- catch (error) {
182
- humanError('❌ Doctor failed:', error instanceof Error ? error.message : String(error));
183
- if (getGlobalOptions().verbose && error instanceof Error) {
184
- humanError(error.stack);
185
- }
186
- logEvent('doctor-error', {
187
- command: 'doctor',
188
- phase: 'error',
189
- error: {
190
- type: error instanceof Error ? error.name : 'Unknown',
191
- message: error instanceof Error ? error.message : String(error),
192
- ...(error instanceof Error && error.stack
193
- ? { stack: error.stack }
194
- : {}),
195
- },
196
- exitCode: 2,
197
- });
198
- process.exit(2);
199
- }
200
- });
201
- }
202
- //# sourceMappingURL=doctor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Enrich AI Command
3
- *
4
- * Add AI-powered enrichment to media messages.
5
- * CLI-T03-AC02, AC03, AC04, AC05: Enrich with checkpoints, incremental, rate limiting
6
- */
7
- import type { Command } from 'commander';
8
- import type { EnrichAIOptions, GlobalOptions } from '../types.js';
9
- /**
10
- * Execute the enrich-ai command logic
11
- */
12
- export declare function executeEnrichAI(options: EnrichAIOptions, globalOptions: GlobalOptions): Promise<void>;
13
- /**
14
- * Register the enrich-ai command with Commander
15
- */
16
- export declare function registerEnrichAICommand(program: Command, getGlobalOptions: () => GlobalOptions): void;
17
- //# sourceMappingURL=enrich-ai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enrich-ai.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/enrich-ai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGjE;;GAEG;AACH,wBAAsB,eAAe,CACpC,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,aAAa,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Yf;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,aAAa,GACnC,IAAI,CAgFN"}