legal-markdown-js 2.9.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +11 -2
  2. package/dist/cli/index.js +3 -0
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/interactive/index.js +15 -6
  5. package/dist/cli/interactive/index.js.map +1 -1
  6. package/dist/cli/interactive/prompts/archive-options.d.ts +23 -0
  7. package/dist/cli/interactive/prompts/archive-options.d.ts.map +1 -0
  8. package/dist/cli/interactive/prompts/archive-options.js +67 -0
  9. package/dist/cli/interactive/prompts/archive-options.js.map +1 -0
  10. package/dist/cli/interactive/service.d.ts +10 -3
  11. package/dist/cli/interactive/service.d.ts.map +1 -1
  12. package/dist/cli/interactive/service.js +76 -8
  13. package/dist/cli/interactive/service.js.map +1 -1
  14. package/dist/cli/interactive/types.d.ts +38 -0
  15. package/dist/cli/interactive/types.d.ts.map +1 -1
  16. package/dist/cli/interactive/utils/format-helpers.d.ts +7 -5
  17. package/dist/cli/interactive/utils/format-helpers.d.ts.map +1 -1
  18. package/dist/cli/interactive/utils/format-helpers.js +49 -6
  19. package/dist/cli/interactive/utils/format-helpers.js.map +1 -1
  20. package/dist/cli/service.d.ts +12 -0
  21. package/dist/cli/service.d.ts.map +1 -1
  22. package/dist/cli/service.js +63 -2
  23. package/dist/cli/service.js.map +1 -1
  24. package/dist/constants/paths.d.ts +6 -0
  25. package/dist/constants/paths.d.ts.map +1 -1
  26. package/dist/constants/paths.js +6 -0
  27. package/dist/constants/paths.js.map +1 -1
  28. package/dist/utils/archive-manager.d.ts +105 -0
  29. package/dist/utils/archive-manager.d.ts.map +1 -0
  30. package/dist/utils/archive-manager.js +281 -0
  31. package/dist/utils/archive-manager.js.map +1 -0
  32. package/dist/utils/file-naming.d.ts +73 -0
  33. package/dist/utils/file-naming.d.ts.map +1 -0
  34. package/dist/utils/file-naming.js +132 -0
  35. package/dist/utils/file-naming.js.map +1 -0
  36. package/package.json +1 -1
  37. package/scripts/setup-config.js +0 -0
package/README.md CHANGED
@@ -99,8 +99,11 @@ legal-md input.md output.md
99
99
  # Generate PDF with highlighting
100
100
  legal-md document.md --pdf --highlight
101
101
 
102
- # Process with custom CSS
103
- legal-md document.md --html --css styles.css
102
+ # Process with custom CSS and archive source
103
+ legal-md document.md --html --css styles.css --archive-source
104
+
105
+ # Archive to custom directory
106
+ legal-md document.md --archive-source ./processed
104
107
  ```
105
108
 
106
109
  #### Interactive CLI
@@ -122,6 +125,8 @@ The interactive CLI provides:
122
125
  formats
123
126
  - **🎨 CSS selection**: Choose from available stylesheets or proceed without
124
127
  custom styling
128
+ - **📦 Source archiving**: Configure automatic archiving of source files after
129
+ successful processing
125
130
  - **📋 Configuration summary**: Review all settings before processing
126
131
  - **✅ Clear results**: See exactly which files were generated
127
132
 
@@ -190,6 +195,8 @@ Additional features available only in the Node.js version:
190
195
  - **Batch Processing**: Multi-file processing with concurrency control
191
196
  - **Field Tracking**: Enhanced field tracking with proper categorization for
192
197
  document review
198
+ - **Source File Archiving**: Automatic archiving of source files after
199
+ successful processing with conflict resolution
193
200
 
194
201
  ## Architecture & Performance
195
202
 
@@ -333,10 +340,12 @@ STYLES_DIR=assets/css
333
340
  # Separate project structure
334
341
  DEFAULT_INPUT_DIR=documents/source
335
342
  DEFAULT_OUTPUT_DIR=documents/generated
343
+ ARCHIVE_DIR=documents/archive
336
344
 
337
345
  # Absolute paths (useful for CI/CD)
338
346
  IMAGES_DIR=/var/lib/legal-markdown/images
339
347
  DEFAULT_OUTPUT_DIR=/var/lib/legal-markdown/output
348
+ ARCHIVE_DIR=/var/lib/legal-markdown/archive
340
349
  ```
341
350
 
342
351
  ### Using Custom Paths in Code
package/dist/cli/index.js CHANGED
@@ -96,6 +96,7 @@ program
96
96
  .option('--enable-field-tracking', 'Add field tracking spans to markdown output')
97
97
  .option('--css <path>', 'Path to custom CSS file for HTML/PDF')
98
98
  .option('--title <title>', 'Document title for HTML/PDF')
99
+ .option('--archive-source [dir]', 'Archive source file after successful processing to directory')
99
100
  .action(async (input, output, options) => {
100
101
  try {
101
102
  // Handle stdin input
@@ -124,6 +125,7 @@ program
124
125
  enableFieldTrackingInMarkdown: options.enableFieldTracking,
125
126
  css: options.css,
126
127
  title: options.title,
128
+ archiveSource: options.archiveSource,
127
129
  };
128
130
  const cliService = new service_1.CliService(cliOptions);
129
131
  const result = await cliService.processContent(stdinContent);
@@ -174,6 +176,7 @@ program
174
176
  enableFieldTrackingInMarkdown: options.enableFieldTracking,
175
177
  css: options.css,
176
178
  title: options.title,
179
+ archiveSource: options.archiveSource,
177
180
  };
178
181
  const cliService = new service_1.CliService(cliOptions);
179
182
  // Force stdout if --stdout flag is used
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const output_format_1 = require("./prompts/output-format");
32
32
  const processing_options_1 = require("./prompts/processing-options");
33
33
  const css_selector_1 = require("./prompts/css-selector");
34
34
  const filename_1 = require("./prompts/filename");
35
+ const archive_options_1 = require("./prompts/archive-options");
35
36
  const confirmation_1 = require("./prompts/confirmation");
36
37
  const service_1 = require("./service");
37
38
  const format_helpers_1 = require("./utils/format-helpers");
@@ -45,7 +46,8 @@ const format_helpers_1 = require("./utils/format-helpers");
45
46
  * 4. Gathering processing options based on selected formats
46
47
  * 5. Optional CSS file selection for styling
47
48
  * 6. Output filename specification
48
- * 7. Configuration confirmation and processing execution
49
+ * 7. Archive options configuration
50
+ * 8. Configuration confirmation and processing execution
49
51
  *
50
52
  * @returns Promise that resolves when the interactive flow completes
51
53
  * @throws Error when processing fails or user cancels operation
@@ -64,26 +66,33 @@ async function runInteractiveMode() {
64
66
  const cssFile = await (0, css_selector_1.selectCssFile)(outputFormats);
65
67
  // Step 5: Enter output filename
66
68
  const outputFilename = await (0, filename_1.promptOutputFilename)(inputFile);
69
+ // Step 6: Configure archive options
70
+ const archiveResult = await (0, archive_options_1.promptArchiveOptions)();
71
+ const archiveOptions = {
72
+ enabled: archiveResult.enableArchiving,
73
+ directory: archiveResult.archiveDirectory,
74
+ };
67
75
  // Build configuration
68
76
  const config = {
69
77
  inputFile,
70
78
  outputFilename,
71
79
  outputFormats,
72
80
  processingOptions,
81
+ archiveOptions,
73
82
  cssFile,
74
83
  };
75
- // Step 6: Confirm configuration
84
+ // Step 7: Confirm configuration
76
85
  const confirmed = await (0, confirmation_1.confirmConfiguration)(config);
77
86
  if (!confirmed) {
78
87
  console.log(chalk_1.default.yellow('\n❌ Operation cancelled.\n'));
79
88
  return;
80
89
  }
81
- // Step 7: Process files
90
+ // Step 8: Process files
82
91
  console.log(chalk_1.default.cyan('\n⏳ Processing files...\n'));
83
92
  const service = new service_1.InteractiveService(config);
84
- const outputFiles = await service.processFile(inputFile);
85
- // Step 8: Show results
86
- console.log((0, format_helpers_1.formatSuccessMessage)(outputFiles));
93
+ const result = await service.processFile(inputFile);
94
+ // Step 9: Show results
95
+ console.log((0, format_helpers_1.formatSuccessMessage)(result.outputFiles, result.archiveResult));
87
96
  }
88
97
  catch (error) {
89
98
  if (error instanceof Error && error.message.includes('User force closed')) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAC1B,2DAA0D;AAC1D,2DAA8D;AAC9D,qEAAuE;AACvE,yDAAuD;AACvD,iDAA0D;AAC1D,yDAA8D;AAC9D,uCAA+C;AAE/C,2DAAkF;AAElF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAEvF,4BAA4B;QAC5B,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAe,GAAE,CAAC;QAE1C,gCAAgC;QAChC,MAAM,aAAa,GAAG,MAAM,IAAA,mCAAmB,GAAE,CAAC;QAElD,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,MAAM,IAAA,4CAAuB,EAAC,aAAa,CAAC,CAAC;QAEvE,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAa,EAAC,aAAa,CAAC,CAAC;QAEnD,gCAAgC;QAChC,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAoB,EAAC,SAAS,CAAC,CAAC;QAE7D,sBAAsB;QACtB,MAAM,MAAM,GAAsB;YAChC,SAAS;YACT,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,OAAO;SACR,CAAC;QAEF,gCAAgC;QAChC,MAAM,SAAS,GAAG,MAAM,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAErD,MAAM,OAAO,GAAG,IAAI,4BAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEzD,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,IAAA,qCAAoB,EAAC,WAAW,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAA,mCAAkB,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iBAAiB;AACjB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,wBAAwB;AACxB,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,+BAA+B;AAC/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/interactive/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Archive Options Prompt
3
+ *
4
+ * This module handles user interaction for configuring source file archiving
5
+ * in the interactive CLI. It provides prompts for enabling archiving and
6
+ * customizing the archive directory.
7
+ */
8
+ /**
9
+ * Result of the archive options prompt
10
+ */
11
+ export interface ArchivePromptResult {
12
+ /** Whether archiving is enabled */
13
+ enableArchiving: boolean;
14
+ /** Custom archive directory (if provided) */
15
+ archiveDirectory?: string;
16
+ }
17
+ /**
18
+ * Prompt user for archive configuration options
19
+ *
20
+ * @returns Promise resolving to the archive configuration
21
+ */
22
+ export declare function promptArchiveOptions(): Promise<ArchivePromptResult>;
23
+ //# sourceMappingURL=archive-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-options.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/archive-options.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAsDzE"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /**
3
+ * Archive Options Prompt
4
+ *
5
+ * This module handles user interaction for configuring source file archiving
6
+ * in the interactive CLI. It provides prompts for enabling archiving and
7
+ * customizing the archive directory.
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.promptArchiveOptions = promptArchiveOptions;
14
+ const prompts_1 = require("@inquirer/prompts");
15
+ const paths_1 = require("../../../constants/paths");
16
+ const archive_manager_1 = require("../../../utils/archive-manager");
17
+ const chalk_1 = __importDefault(require("chalk"));
18
+ /**
19
+ * Prompt user for archive configuration options
20
+ *
21
+ * @returns Promise resolving to the archive configuration
22
+ */
23
+ async function promptArchiveOptions() {
24
+ console.log(chalk_1.default.bold.cyan('\n📁 Source File Management'));
25
+ console.log('Configure what happens to your source files after processing.\n');
26
+ // Ask if user wants to enable archiving
27
+ const enableArchiving = await (0, prompts_1.confirm)({
28
+ message: 'Archive source file after successful processing?',
29
+ default: false,
30
+ });
31
+ if (!enableArchiving) {
32
+ return { enableArchiving: false };
33
+ }
34
+ // Show default directory
35
+ console.log(chalk_1.default.gray(`Default archive directory: ${paths_1.RESOLVED_PATHS.ARCHIVE_DIR}`));
36
+ // Ask if user wants to customize the directory
37
+ const useCustomDirectory = await (0, prompts_1.confirm)({
38
+ message: 'Use a custom archive directory?',
39
+ default: false,
40
+ });
41
+ let archiveDirectory;
42
+ if (useCustomDirectory) {
43
+ let validDirectory = false;
44
+ while (!validDirectory) {
45
+ const customDir = await (0, prompts_1.input)({
46
+ message: 'Enter custom archive directory:',
47
+ default: 'processed',
48
+ validate: (input) => {
49
+ if (!input.trim()) {
50
+ return 'Archive directory cannot be empty';
51
+ }
52
+ if (!archive_manager_1.ArchiveManager.isValidArchiveDirectory(input.trim())) {
53
+ return 'Invalid directory path or cannot create directory';
54
+ }
55
+ return true;
56
+ },
57
+ });
58
+ archiveDirectory = customDir.trim();
59
+ validDirectory = true;
60
+ }
61
+ }
62
+ return {
63
+ enableArchiving,
64
+ archiveDirectory,
65
+ };
66
+ }
67
+ //# sourceMappingURL=archive-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-options.js","sourceRoot":"","sources":["../../../../src/cli/interactive/prompts/archive-options.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAsBH,oDAsDC;AA1ED,+CAAmD;AACnD,oDAA0D;AAC1D,oEAAgE;AAChE,kDAA0B;AAY1B;;;;GAIG;AACI,KAAK,UAAU,oBAAoB;IACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAE/E,wCAAwC;IACxC,MAAM,eAAe,GAAG,MAAM,IAAA,iBAAO,EAAC;QACpC,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,sBAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEpF,+CAA+C;IAC/C,MAAM,kBAAkB,GAAG,MAAM,IAAA,iBAAO,EAAC;QACvC,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,gBAAoC,CAAC;IAEzC,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,OAAO,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,IAAA,eAAK,EAAC;gBAC5B,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClB,OAAO,mCAAmC,CAAC;oBAC7C,CAAC;oBAED,IAAI,CAAC,gCAAc,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wBAC1D,OAAO,mDAAmD,CAAC;oBAC7D,CAAC;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;YAEH,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YACpC,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO;QACL,eAAe;QACf,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * and the existing CliService, translating user selections into appropriate
6
6
  * CLI options and orchestrating the document processing workflow.
7
7
  */
8
- import { InteractiveConfig } from './types';
8
+ import { InteractiveConfig, ProcessingResult } from './types';
9
9
  /**
10
10
  * Interactive service for processing documents with user-selected configuration
11
11
  *
@@ -41,10 +41,17 @@ export declare class InteractiveService {
41
41
  * and writing them to the configured output directory.
42
42
  *
43
43
  * @param inputFile Absolute path to the input document to process
44
- * @returns Promise resolving to array of paths to generated output files
44
+ * @returns Promise resolving to processing result with output files and archive info
45
45
  * @throws Error when processing fails for any requested format
46
46
  */
47
- processFile(inputFile: string): Promise<string[]>;
47
+ processFile(inputFile: string): Promise<ProcessingResult>;
48
+ /**
49
+ * Handle archiving of source file and capture results
50
+ *
51
+ * @param inputFile Path to the source file to archive
52
+ * @returns Archive operation result information
53
+ */
54
+ private handleArchiving;
48
55
  /**
49
56
  * Get the current configuration
50
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAoB;IAElC;;;;OAIG;gBACS,MAAM,EAAE,iBAAiB;IAMrC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAmCvB;;;;;;;;;;OAUG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgDvD;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK9D;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAoB;IAElC;;;;OAIG;gBACS,MAAM,EAAE,iBAAiB;IAMrC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAqCvB;;;;;;;;;;OAUG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiE/D;;;;;OAKG;YACW,eAAe;IA+C7B;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAGlB"}
@@ -44,6 +44,9 @@ exports.InteractiveService = void 0;
44
44
  const path = __importStar(require("path"));
45
45
  const service_1 = require("../service");
46
46
  const _constants_1 = require("../../constants/index.js");
47
+ const archive_manager_1 = require("../../utils/archive-manager");
48
+ const _lib_1 = require("../../lib/index.js");
49
+ const index_1 = require("../../index");
47
50
  /**
48
51
  * Interactive service for processing documents with user-selected configuration
49
52
  *
@@ -73,7 +76,7 @@ class InteractiveService {
73
76
  * @returns CLI service options with all necessary flags and paths configured
74
77
  */
75
78
  mapToCliOptions(config) {
76
- const { outputFormats, processingOptions, cssFile } = config;
79
+ const { outputFormats, processingOptions, archiveOptions, cssFile } = config;
77
80
  return {
78
81
  debug: processingOptions.debug,
79
82
  yamlOnly: false,
@@ -96,6 +99,7 @@ class InteractiveService {
96
99
  enableFieldTrackingInMarkdown: processingOptions.fieldTracking,
97
100
  css: cssFile ? path.join(_constants_1.RESOLVED_PATHS.STYLES_DIR, cssFile) : undefined,
98
101
  title: config.outputFilename,
102
+ archiveSource: archiveOptions.enabled ? archiveOptions.directory || true : false,
99
103
  };
100
104
  }
101
105
  /**
@@ -106,34 +110,41 @@ class InteractiveService {
106
110
  * and writing them to the configured output directory.
107
111
  *
108
112
  * @param inputFile Absolute path to the input document to process
109
- * @returns Promise resolving to array of paths to generated output files
113
+ * @returns Promise resolving to processing result with output files and archive info
110
114
  * @throws Error when processing fails for any requested format
111
115
  */
112
116
  async processFile(inputFile) {
113
117
  const outputFiles = [];
114
- const { outputFilename, outputFormats } = this.getConfig();
118
+ const { outputFilename, outputFormats, archiveOptions } = this.getConfig();
115
119
  try {
120
+ // Create a CliService without archiving for individual format processing
121
+ const processingOptions = this.mapToCliOptions(this.getConfig());
122
+ const nonArchivingService = new service_1.CliService({
123
+ ...processingOptions,
124
+ archiveSource: false, // Disable archiving during format processing
125
+ });
116
126
  // Process for each selected format
117
127
  if (outputFormats.pdf) {
118
128
  const pdfOutput = path.join(_constants_1.RESOLVED_PATHS.DEFAULT_OUTPUT_DIR, `${outputFilename}.pdf`);
119
- await this.cliService.processFile(inputFile, pdfOutput);
129
+ await nonArchivingService.processFile(inputFile, pdfOutput);
120
130
  outputFiles.push(pdfOutput);
121
131
  }
122
132
  if (outputFormats.html) {
123
133
  const htmlOutput = path.join(_constants_1.RESOLVED_PATHS.DEFAULT_OUTPUT_DIR, `${outputFilename}.html`);
124
- await this.cliService.processFile(inputFile, htmlOutput);
134
+ await nonArchivingService.processFile(inputFile, htmlOutput);
125
135
  outputFiles.push(htmlOutput);
126
136
  }
127
137
  if (outputFormats.markdown) {
128
138
  const mdOutput = path.join(_constants_1.RESOLVED_PATHS.DEFAULT_OUTPUT_DIR, `${outputFilename}.md`);
129
- await this.cliService.processFile(inputFile, mdOutput);
139
+ await nonArchivingService.processFile(inputFile, mdOutput);
130
140
  outputFiles.push(mdOutput);
131
141
  }
132
142
  if (outputFormats.metadata) {
133
143
  const yamlOutput = path.join(_constants_1.RESOLVED_PATHS.DEFAULT_OUTPUT_DIR, `${outputFilename}-metadata.yaml`);
134
144
  // Create a separate service instance for metadata export
135
145
  const metadataService = new service_1.CliService({
136
- ...this.mapToCliOptions(this.getConfig()),
146
+ ...processingOptions,
147
+ archiveSource: false, // Disable archiving for metadata export
137
148
  exportMetadata: true,
138
149
  exportFormat: 'yaml',
139
150
  exportPath: yamlOutput,
@@ -141,12 +152,69 @@ class InteractiveService {
141
152
  await metadataService.processFile(inputFile);
142
153
  outputFiles.push(yamlOutput);
143
154
  }
144
- return outputFiles;
155
+ // Handle archiving separately after all processing is complete
156
+ let archiveResult;
157
+ if (archiveOptions.enabled) {
158
+ archiveResult = await this.handleArchiving(inputFile);
159
+ }
160
+ return {
161
+ outputFiles,
162
+ archiveResult,
163
+ };
145
164
  }
146
165
  catch (error) {
147
166
  throw new Error(`Processing failed: ${error instanceof Error ? error.message : String(error)}`);
148
167
  }
149
168
  }
169
+ /**
170
+ * Handle archiving of source file and capture results
171
+ *
172
+ * @param inputFile Path to the source file to archive
173
+ * @returns Archive operation result information
174
+ */
175
+ async handleArchiving(inputFile) {
176
+ try {
177
+ const archiveManager = new archive_manager_1.ArchiveManager();
178
+ const { archiveOptions } = this.getConfig();
179
+ // Determine archive directory
180
+ let archiveDir;
181
+ if (archiveOptions.directory) {
182
+ archiveDir = archiveOptions.directory;
183
+ }
184
+ else {
185
+ archiveDir = _constants_1.RESOLVED_PATHS.ARCHIVE_DIR;
186
+ }
187
+ // Read original content
188
+ const originalContent = (0, _lib_1.readFileSync)(inputFile);
189
+ // Process the content to get processed version
190
+ const inputDir = path.dirname(inputFile);
191
+ const processedResult = (0, index_1.processLegalMarkdown)(originalContent, {
192
+ basePath: inputDir,
193
+ });
194
+ // Use smart archiving
195
+ const result = await archiveManager.smartArchiveFile(inputFile, {
196
+ archiveDir,
197
+ createDirectory: true,
198
+ conflictResolution: 'rename',
199
+ originalContent,
200
+ processedContent: processedResult.content,
201
+ });
202
+ return {
203
+ success: result.success,
204
+ contentsIdentical: result.contentsIdentical,
205
+ archivedPath: result.archivedPath,
206
+ archivedOriginalPath: result.archivedOriginalPath,
207
+ archivedProcessedPath: result.archivedProcessedPath,
208
+ error: result.error,
209
+ };
210
+ }
211
+ catch (error) {
212
+ return {
213
+ success: false,
214
+ error: error instanceof Error ? error.message : 'Unknown error',
215
+ };
216
+ }
217
+ }
150
218
  /**
151
219
  * Get the current configuration
152
220
  *
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/cli/interactive/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/cli/interactive/service.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,17 @@ export interface ProcessingOptions {
34
34
  /** Enable field highlighting in HTML/PDF output */
35
35
  highlight: boolean;
36
36
  }
37
+ /**
38
+ * Archive options configuration
39
+ *
40
+ * Defines settings for archiving source files after successful processing.
41
+ */
42
+ export interface ArchiveOptions {
43
+ /** Whether to enable archiving of source files */
44
+ enabled: boolean;
45
+ /** Custom archive directory (if specified) */
46
+ directory?: string;
47
+ }
37
48
  /**
38
49
  * Complete interactive configuration
39
50
  *
@@ -49,6 +60,8 @@ export interface InteractiveConfig {
49
60
  outputFormats: OutputFormat;
50
61
  /** Processing options configuration */
51
62
  processingOptions: ProcessingOptions;
63
+ /** Archive options configuration */
64
+ archiveOptions: ArchiveOptions;
52
65
  /** Optional path to CSS file for styling HTML/PDF output */
53
66
  cssFile?: string;
54
67
  }
@@ -66,4 +79,29 @@ export interface FileItem {
66
79
  /** Type indicator for menu rendering and behavior */
67
80
  type: 'file' | 'directory';
68
81
  }
82
+ /**
83
+ * Processing result information
84
+ *
85
+ * Contains details about the processing operation including generated files
86
+ * and archiving results for display in success messages.
87
+ */
88
+ export interface ProcessingResult {
89
+ /** Array of generated output file paths */
90
+ outputFiles: string[];
91
+ /** Archive operation results (if archiving was enabled) */
92
+ archiveResult?: {
93
+ /** Whether archiving was successful */
94
+ success: boolean;
95
+ /** Whether content was identical (single file archived) */
96
+ contentsIdentical?: boolean;
97
+ /** Path to archived file (for identical content) */
98
+ archivedPath?: string;
99
+ /** Path to archived original file (for different content) */
100
+ archivedOriginalPath?: string;
101
+ /** Path to archived processed file (for different content) */
102
+ archivedProcessedPath?: string;
103
+ /** Error message if archiving failed */
104
+ error?: string;
105
+ };
106
+ }
69
107
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,IAAI,EAAE,OAAO,CAAC;IACd,uDAAuD;IACvD,GAAG,EAAE,OAAO,CAAC;IACb,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,aAAa,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,aAAa,EAAE,YAAY,CAAC;IAC5B,uCAAuC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,IAAI,EAAE,OAAO,CAAC;IACd,uDAAuD;IACvD,GAAG,EAAE,OAAO,CAAC;IACb,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,aAAa,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,aAAa,EAAE,YAAY,CAAC;IAC5B,uCAAuC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oCAAoC;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,2DAA2D;IAC3D,aAAa,CAAC,EAAE;QACd,uCAAuC;QACvC,OAAO,EAAE,OAAO,CAAC;QACjB,2DAA2D;QAC3D,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,oDAAoD;QACpD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,6DAA6D;QAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,8DAA8D;QAC9D,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -5,7 +5,7 @@
5
5
  * configuration summaries, success messages, errors, and warnings
6
6
  * throughout the interactive CLI experience.
7
7
  */
8
- import { InteractiveConfig } from '../types';
8
+ import { InteractiveConfig, ProcessingResult } from '../types';
9
9
  /**
10
10
  * Format the configuration summary for confirmation display
11
11
  *
@@ -18,15 +18,17 @@ import { InteractiveConfig } from '../types';
18
18
  */
19
19
  export declare function formatConfigSummary(config: InteractiveConfig): string;
20
20
  /**
21
- * Format success message with generated files list
21
+ * Format success message with generated files list and archive results
22
22
  *
23
23
  * Creates a celebratory success message displaying all the files
24
- * that were successfully generated during processing.
24
+ * that were successfully generated during processing, plus information
25
+ * about archiving results if archiving was enabled.
25
26
  *
26
27
  * @param outputFiles Array of absolute paths to generated output files
27
- * @returns Formatted success message with file list
28
+ * @param archiveResult Archive operation results (if archiving was enabled)
29
+ * @returns Formatted success message with file list and archive info
28
30
  */
29
- export declare function formatSuccessMessage(outputFiles: string[]): string;
31
+ export declare function formatSuccessMessage(outputFiles: string[], archiveResult?: ProcessingResult['archiveResult']): string;
30
32
  /**
31
33
  * Format error message with consistent styling
32
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/utils/format-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAuCrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CASlE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../../src/cli/interactive/utils/format-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE/D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAiDrE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,GAChD,MAAM,CAwCR;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D"}