@mediaproc/core 1.8.0 → 1.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 (50) hide show
  1. package/dist/explain/constants/commonPhrases.d.ts +2 -1
  2. package/dist/explain/constants/commonPhrases.d.ts.map +1 -1
  3. package/dist/explain/constants/commonPhrases.js +75 -50
  4. package/dist/explain/constants/commonPhrases.js.map +1 -1
  5. package/dist/explain/explainFlag.d.ts.map +1 -1
  6. package/dist/explain/explainFlag.js +88 -62
  7. package/dist/explain/explainFlag.js.map +1 -1
  8. package/dist/explain/formatters/explainFormatter.d.ts.map +1 -0
  9. package/dist/explain/{formatter → formatters}/explainFormatter.js +10 -2
  10. package/dist/explain/formatters/explainFormatter.js.map +1 -0
  11. package/dist/explain/index.d.ts +2 -2
  12. package/dist/explain/index.d.ts.map +1 -1
  13. package/dist/explain/index.js +2 -2
  14. package/dist/explain/index.js.map +1 -1
  15. package/dist/explain/phrases/{phrases.d.ts → basePhrases.d.ts} +1 -1
  16. package/dist/explain/phrases/basePhrases.d.ts.map +1 -0
  17. package/dist/explain/phrases/{phrases.js → basePhrases.js} +1 -1
  18. package/dist/explain/phrases/basePhrases.js.map +1 -0
  19. package/dist/explain/phrases/explainSentences.d.ts +20 -29
  20. package/dist/explain/phrases/explainSentences.d.ts.map +1 -1
  21. package/dist/explain/phrases/explainSentences.js +43 -58
  22. package/dist/explain/phrases/explainSentences.js.map +1 -1
  23. package/dist/explain/templates/explainAuditTemplate.d.ts +2 -0
  24. package/dist/explain/templates/explainAuditTemplate.d.ts.map +1 -0
  25. package/dist/explain/templates/explainAuditTemplate.js +6 -0
  26. package/dist/explain/templates/explainAuditTemplate.js.map +1 -0
  27. package/dist/explain/templates/explainDebugTemplate.d.ts +2 -0
  28. package/dist/explain/templates/explainDebugTemplate.d.ts.map +1 -0
  29. package/dist/explain/templates/explainDebugTemplate.js +6 -0
  30. package/dist/explain/templates/explainDebugTemplate.js.map +1 -0
  31. package/dist/explain/templates/explainDetailsTemplate.d.ts.map +1 -1
  32. package/dist/explain/templates/explainDetailsTemplate.js +49 -145
  33. package/dist/explain/templates/explainDetailsTemplate.js.map +1 -1
  34. package/dist/explain/templates/explainHumanTemplate.d.ts.map +1 -1
  35. package/dist/explain/templates/explainHumanTemplate.js +48 -146
  36. package/dist/explain/templates/explainHumanTemplate.js.map +1 -1
  37. package/dist/types/explainTypes.d.ts +124 -60
  38. package/dist/types/explainTypes.d.ts.map +1 -1
  39. package/dist/types/explainTypes.js +3 -0
  40. package/dist/types/explainTypes.js.map +1 -1
  41. package/dist/utils/file/fileDetection.d.ts +1 -1
  42. package/dist/utils/file/fileDetection.d.ts.map +1 -1
  43. package/dist/utils/file/fileDetection.js +5 -5
  44. package/dist/utils/file/fileDetection.js.map +1 -1
  45. package/package.json +1 -1
  46. package/dist/explain/formatter/explainFormatter.d.ts.map +0 -1
  47. package/dist/explain/formatter/explainFormatter.js.map +0 -1
  48. package/dist/explain/phrases/phrases.d.ts.map +0 -1
  49. package/dist/explain/phrases/phrases.js.map +0 -1
  50. /package/dist/explain/{formatter → formatters}/explainFormatter.d.ts +0 -0
@@ -1,3 +1,4 @@
1
- import { CommonPhrases } from "../../types/explainTypes.js";
1
+ import { CommandRelatedOptions, CommonPhrases } from "../../types/explainTypes.js";
2
+ export declare const COMMANDS: CommandRelatedOptions;
2
3
  export declare const COMMON_PHRASES: CommonPhrases;
3
4
  //# sourceMappingURL=commonPhrases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonPhrases.d.ts","sourceRoot":"","sources":["../../../src/explain/constants/commonPhrases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAG5E,eAAO,MAAM,cAAc,EAAE,aA4E5B,CAAC"}
1
+ {"version":3,"file":"commonPhrases.d.ts","sourceRoot":"","sources":["../../../src/explain/constants/commonPhrases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAGnG,eAAO,MAAM,QAAQ,EAAE,qBAoBtB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,aA2E5B,CAAC"}
@@ -1,30 +1,51 @@
1
+ import { detectInputFiles, detectOutputFiles } from '../../utils/file/fileDetection.js';
2
+ export const COMMANDS = {
3
+ type: 'Command Type:',
4
+ category: 'Command Category:',
5
+ purpose: 'Purpose:',
6
+ inputs: 'Inputs:',
7
+ outputs: 'Outputs:',
8
+ flags: 'Flags:',
9
+ options: 'Options:',
10
+ performance: 'Performance:',
11
+ security: 'Security:',
12
+ dependencies: 'Dependencies:',
13
+ sideEffects: 'Side Effects:',
14
+ warnings: 'Warnings:',
15
+ limitations: 'Limitations:',
16
+ examples: 'Examples:',
17
+ docs: 'Documentation:',
18
+ author: 'Author:',
19
+ version: 'Version:',
20
+ lastModified: 'Last Modified:',
21
+ relatedCommands: 'Related Commands:',
22
+ };
1
23
  // Centralized reusable phrases for explain engine
2
24
  export const COMMON_PHRASES = {
25
+ // --- File detection dynamic phrases ---
26
+ // --- Enhanced dynamic and user-centric phrases ---
27
+ detectedInputFiles: ({ context }) => {
28
+ const detected = detectInputFiles(context.inputs?.inputPath);
29
+ if (detected.count === 0)
30
+ return `No input files found at ${context.inputs?.inputPath || 'the specified location'}. Please check your path or provide a valid input.`;
31
+ if (detected.count === 1)
32
+ return `1 ${detected.type !== 'unknown' ? detected.type : 'file'} detected at ${context.inputs?.inputPath}. Ready for processing.`;
33
+ return `${detected.count} ${detected.type !== 'unknown' ? detected.type + ' files' : 'files'} detected at ${context.inputs?.inputPath}. All will be processed.`;
34
+ },
35
+ detectedOutputFiles: ({ context }) => {
36
+ const detected = detectOutputFiles(context.outputs?.outputPath);
37
+ if (!detected.exists)
38
+ return `No output file or directory found at ${context.outputs?.outputPath || 'the specified location'}. Output will be created.`;
39
+ if (detected.isDir)
40
+ return `Output directory ready at ${context.outputs?.outputPath} with ${detected.files.length} file${detected.files.length === 1 ? '' : 's'}. Results will be saved here.`;
41
+ return `Output file detected at ${context.outputs?.outputPath}. Results will overwrite this file.`;
42
+ },
3
43
  // Section headers and static text for templates
4
44
  header: ' EXPLANATION ',
5
45
  detailsHeader: ' EXPLANATION (DETAILS) ',
6
46
  summaryHeader: ' Summary: ',
7
- commandType: 'Command Type:',
8
- commandCategory: 'Command Category:',
9
- commandPurpose: 'Purpose:',
10
- commandInputs: 'Inputs:',
11
- commandOutputs: 'Outputs:',
12
- commandFlags: 'Flags:',
13
- commandOptions: 'Options:',
14
- commandPerformance: 'Performance:',
15
- commandSecurity: 'Security:',
16
- commandDependencies: 'Dependencies:',
17
- commandSideEffects: 'Side Effects:',
18
- commandWarnings: 'Warnings:',
19
- commandLimitations: 'Limitations:',
20
- commandExamples: 'Examples:',
21
- commandDocs: 'Documentation:',
22
- commandAuthor: 'Author:',
23
- commandVersion: 'Version:',
24
- commandLastModified: 'Last Modified:',
25
- commandRelated: 'Related Commands:',
26
- explainOnly: ' [explain-only] No files were modified. ',
27
47
  contextEnrichmentPrefix: ' Timestamp: ',
48
+ commandRelatedOptions: COMMANDS,
28
49
  user: 'User:',
29
50
  platform: 'Platform:',
30
51
  mode: 'Mode:',
@@ -45,35 +66,39 @@ export const COMMON_PHRASES = {
45
66
  warningsHeader: ' Warnings: ',
46
67
  technicalDetailsHeader: ' Technical Details: ',
47
68
  environmentHeader: ' Environment: ',
48
- inputRead: ({ context }) => `The input file "${context?.inputs?.inputPath ?? context?.inputs?.input ?? 'unknown'}" will be read from disk, ensuring the correct format and accessibility.`,
49
- outputWrite: ({ context }) => `A new file will be written to the output path "${context?.outputs?.outputPath ?? context?.outputs?.output ?? 'unknown'}", with all changes applied.`,
50
- noNetwork: () => 'No network requests will be made, guaranteeing local-only processing.',
51
- noOriginalModification: () => 'No original files will be modified, preserving your source data intact.',
52
- dataLocalOnly: () => 'No data will leave your machine, ensuring privacy and security.',
53
- noBackgroundTasks: () => 'No hidden background tasks will run, keeping your system resources unaffected.',
54
- externalTool: ({ context }) => `Processing will be performed using the external tool: ${context?.technical?.tool ?? 'unknown'}.`,
55
- dimensionsChange: ({ context }) => `The dimensions will be changed to width=${context?.usedFlags?.width?.value ?? '?'} and height=${context?.usedFlags?.height?.value ?? '?'}.`,
56
- formatConversion: ({ context }) => `Format will be converted to ${context?.usedFlags?.format?.value ?? 'unknown'}, ensuring compatibility and optimal quality.`,
57
- qualityChange: ({ context }) => `Quality will be set to ${context?.usedFlags?.quality?.value ?? '?'} for optimal output fidelity.`,
58
- metadataPreserved: () => 'Metadata will be preserved in the output file, retaining important information.',
59
- audioProcessing: ({ context }) => `Audio will be processed with effects: ${context?.usedFlags?.effects?.value ?? 'none'}.`,
60
- videoProcessing: ({ context }) => `Video will be processed with codec: ${context?.usedFlags?.codec?.value ?? 'default'}.`,
61
- documentProcessing: ({ context }) => `Document will be processed with format: ${context?.usedFlags?.format?.value ?? 'default'}.`,
62
- streamProcessing: ({ context }) => `Stream will be processed in real-time with protocol: ${context?.usedFlags?.protocol?.value ?? 'default'}.`,
63
- pipelineExecution: ({ context }) => `Pipeline will be executed with ${Array.isArray(context?.steps) ? context.steps.length : 0} steps, orchestrating multiple plugin actions for advanced workflows.`,
64
- pluginAction: ({ context }) => `Action will be performed by plugin: ${context?.plugin ?? 'unknown'}, leveraging its specialized capabilities.`,
65
- errorHandling: () => 'Errors will be handled gracefully, with clear reporting and recovery strategies.',
66
- validation: () => 'Validation will be performed on all inputs, ensuring correctness and safety.',
67
- outputPreview: () => 'A preview of the output will be generated for user review before finalization.',
68
- logging: () => 'Detailed logs will be generated for this operation, aiding in troubleshooting and auditing.',
69
- cleanup: () => 'Temporary files and resources will be cleaned up after processing to maintain system hygiene.',
70
- summarySuccess: 'Operation completed successfully.',
71
- summaryFailure: 'Operation failed. Please review the logs and errors.',
72
- summaryPartial: 'Operation completed with some warnings or errors.',
73
- warningDeprecated: (flag) => `Warning: The flag "${flag}" is deprecated and may be removed in future versions.`,
74
- warningIgnored: (flag) => `Warning: The flag "${flag}" was ignored due to incompatibility or redundancy.`,
75
- tipDetails: 'Tip: Use --explain=details for a technical breakdown of the operation.',
76
- tipJson: 'Tip: Use --explain=json to get a machine-readable explanation.',
77
- tipHuman: 'Tip: Use --explain=human for a user-friendly summary.'
69
+ inputRead: ({ context }) => `Reading input file "${context?.inputs?.inputPath ?? context?.inputs?.input ?? 'unknown'}" from disk. We'll check the format and make sure it's ready for processing.\n`,
70
+ outputWrite: ({ context }) => `Saving results to "${context?.outputs?.outputPath ?? context?.outputs?.output ?? 'unknown'}". Your changes will be written to a new file, leaving the original untouched.\n`,
71
+ noNetwork: () => 'This operation runs fully offline—no network requests, no data leaving your device.\n',
72
+ noOriginalModification: () => 'Your original files remain safe and unchanged. All edits are made to new outputs.\n',
73
+ dataLocalOnly: () => 'All processing happens locally. Your data stays private and never leaves your machine.\n',
74
+ noBackgroundTasks: () => 'No background or hidden tasks will run. Your system resources are used only for this operation.\n',
75
+ externalTool: ({ context }) => `Processing will use the external tool: ${context?.technical?.tool ?? 'unknown'}. This may provide advanced features or performance.\n`,
76
+ dimensionsChange: ({ context }) => `Resizing: Output will be set to width=${context?.usedFlags?.width?.value ?? '?'} and height=${context?.usedFlags?.height?.value ?? '?'}.\n`,
77
+ formatConversion: ({ context }) => `Converting format to ${context?.usedFlags?.format?.value ?? 'unknown'} for compatibility and best results.\n`,
78
+ qualityChange: ({ context }) => `Setting quality to ${context?.usedFlags?.quality?.value ?? '?'} for optimal output.\n`,
79
+ metadataPreserved: () => 'Metadata will be copied to the output, so important details are not lost.\n',
80
+ audioProcessing: ({ context }) => `Audio effects applied: ${context?.usedFlags?.effects?.value ?? 'none'}.\n`,
81
+ videoProcessing: ({ context }) => `Video will use codec: ${context?.usedFlags?.codec?.value ?? 'default'}.\n`,
82
+ documentProcessing: ({ context }) => `Document format: ${context?.usedFlags?.format?.value ?? 'default'}.\n`,
83
+ streamProcessing: ({ context }) => `Streaming in real-time using protocol: ${context?.usedFlags?.protocol?.value ?? 'default'}.\n`,
84
+ pipelineExecution: ({ context }) => `Pipeline: ${Array.isArray(context?.steps) ? context.steps.length : 0} steps will run in sequence, combining multiple plugins for advanced workflows.\n`,
85
+ pluginAction: ({ context }) => `Plugin "${context?.plugin ?? 'unknown'}" will handle this action, using its specialized features.\n`,
86
+ errorHandling: () => 'If something goes wrong, errors will be reported clearly and the process will try to recover safely.\n',
87
+ validation: () => 'Inputs will be checked for correctness and safety before processing begins.\n',
88
+ outputPreview: () => 'You’ll get a preview of the output before anything is finalized.\n',
89
+ logging: () => 'A detailed log will be created for this run, so you can review what happened or troubleshoot issues.\n',
90
+ cleanup: () => 'Temporary files and resources will be removed after processing to keep your system clean.\n',
91
+ summarySuccess: 'Explanation completed. Processing will continue.\n',
92
+ summaryFailure: 'Explanation completed. Processing will halt due to errors.\n',
93
+ summaryPartial: 'Explanation completed. Some warnings were noted.\n',
94
+ explainOnlySummary: 'Explanation mode enabled. No changes will be made to files.\n',
95
+ explainOnlySummaryWithWarnings: 'Explanation mode enabled. No changes will be made to files. Warnings were noted.\n',
96
+ explainOnlySummaryWithErrors: 'Explanation mode enabled. No changes will be made to files. Errors were noted.\n',
97
+ warningDeprecated: (flag) => `Warning: The flag "${flag}" is deprecated and may be removed in future versions.\n`,
98
+ warningIgnored: (flag) => `Warning: The flag "${flag}" was ignored due to incompatibility or redundancy.\n`,
99
+ tipDetails: 'Tip: Use --explain details for a technical breakdown of the operation.\n',
100
+ tipJson: 'Tip: Use --explain json to get a machine-readable explanation.\n',
101
+ tipHuman: 'Tip: Use --explain human for a user-friendly summary.\n',
102
+ tipOnly: 'Tip: Use --explain only to preview changes without modifying files.\n',
78
103
  };
79
104
  //# sourceMappingURL=commonPhrases.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonPhrases.js","sourceRoot":"","sources":["../../../src/explain/constants/commonPhrases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commonPhrases.js","sourceRoot":"","sources":["../../../src/explain/constants/commonPhrases.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"explainFlag.d.ts","sourceRoot":"","sources":["../../src/explain/explainFlag.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUvE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,IAAS,EACT,OAAY,EACZ,SAAkC,EAClC,UAA0C,EAC1C,IAAwB,GACzB,EAAE;IACD,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,QAoPA"}
1
+ {"version":3,"file":"explainFlag.d.ts","sourceRoot":"","sources":["../../src/explain/explainFlag.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AASvE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,IAAS,EACT,OAAY,EACZ,SAAkC,EAClC,UAA0C,EAC1C,IAAwB,GACzB,EAAE;IACD,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,QA4QA"}
@@ -1,12 +1,11 @@
1
1
  import chalk from 'chalk';
2
- import { explainFormatter } from './formatter/explainFormatter.js';
2
+ import { explainFormatter } from './formatters/explainFormatter.js';
3
3
  import { ExplainMode } from '../types/explainTypes.js';
4
4
  import { detectInputFiles, detectOutputFiles } from '../utils/file/fileDetection.js';
5
5
  import os from 'os';
6
6
  import fs from 'fs';
7
7
  import path from 'path';
8
- import { getPhrase } from './phrases/phrases.js';
9
- import { getEffectId } from './constants/effectNamespaces.js';
8
+ import { explainSentences } from './phrases/explainSentences.js';
10
9
  /**
11
10
  * explainFlag - Automatically gathers command context, prints explanation, then runs the handler.
12
11
  * @param params - { commandName, args, options, handler }
@@ -26,9 +25,7 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
26
25
  let outputPath = '';
27
26
  let allInputs = {};
28
27
  let allOutputs = {};
29
- let filesDetected = '';
30
- let filesDetectedCount = 0;
31
- let filesDetectedType = '';
28
+ // Gather input/output paths from args/options
32
29
  for (const k of inputKeys) {
33
30
  if (args[k]) {
34
31
  inputPath = args[k];
@@ -49,28 +46,15 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
49
46
  allOutputs[k] = options[k];
50
47
  }
51
48
  }
52
- // Use robust file detection for output
53
- let outputFilesDetected = '';
54
- if (outputPath) {
55
- const detectedOut = detectOutputFiles(outputPath);
56
- if (detectedOut.exists) {
57
- outputFilesDetected = `${detectedOut.files.length} file${detectedOut.files.length === 1 ? '' : 's'}`;
58
- }
59
- }
60
- // Use robust file detection for input
61
- if (inputPath) {
62
- const detected = detectInputFiles(inputPath);
63
- filesDetectedCount = detected.count;
64
- filesDetectedType = detected.type !== 'unknown' ? detected.type : 'file';
65
- filesDetected = `${filesDetectedCount} ${filesDetectedType}${filesDetectedCount === 1 ? '' : 's'}`;
66
- }
49
+ // Use fileDetection utilities for input/output
50
+ let inputDetection = inputPath ? detectInputFiles(inputPath) : { type: 'unknown', count: 0, files: [] };
51
+ let outputDetection = outputPath ? detectOutputFiles(outputPath) : { exists: false, isDir: false, files: [] };
67
52
  // Gather used flags
68
53
  let explainValue = undefined;
69
- let explainOnly = false;
70
54
  if (typeof options.explain === 'string') {
71
55
  explainValue = options.explain;
72
56
  if (explainValue === 'only')
73
- explainOnly = true;
57
+ mode = ExplainMode.Only;
74
58
  }
75
59
  else if (Array.isArray(args._) && args._.length > 0) {
76
60
  // Check for --explain details as positional
@@ -78,7 +62,7 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
78
62
  if (idx !== -1 && args._[idx + 1]) {
79
63
  explainValue = args._[idx + 1];
80
64
  if (explainValue === 'only')
81
- explainOnly = true;
65
+ mode = ExplainMode.Only;
82
66
  }
83
67
  }
84
68
  if (explainValue === 'details') {
@@ -90,7 +74,16 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
90
74
  else if (explainValue === 'human') {
91
75
  mode = ExplainMode.Human;
92
76
  }
93
- else if (explainValue) {
77
+ else if (explainValue === 'audit') {
78
+ mode = ExplainMode.Audit;
79
+ }
80
+ else if (explainValue === 'debug') {
81
+ mode = ExplainMode.Debug;
82
+ }
83
+ else if (explainValue === 'only') {
84
+ mode = ExplainMode.Only;
85
+ }
86
+ else {
94
87
  // fallback for unknown explain values
95
88
  console.warn(chalk.yellow(`warn: unknown explain mode "${explainValue}", falling back to "human"`));
96
89
  mode = ExplainMode.Human;
@@ -162,47 +155,61 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
162
155
  }
163
156
  // Step 1: Add effects/primitives to context (plugin-aware, generic fallback)
164
157
  const effects = [];
165
- // Always use detected plugin name for effect ID, fallback to generic
166
- if (inputPath)
167
- effects.push(getEffectId(plugin, 'inputRead'));
168
- if (outputPath)
169
- effects.push(getEffectId(plugin, 'outputWrite'));
158
+ if (inputPath) {
159
+ effects.push(explainSentences.inputRead({ context: { inputPath, plugin } }));
160
+ effects.push(explainSentences.detectedInputFiles({
161
+ context: {
162
+ inputs: {
163
+ inputPath
164
+ },
165
+ plugin
166
+ }
167
+ }));
168
+ }
169
+ if (outputPath) {
170
+ effects.push(explainSentences.outputWrite({ context: { outputPath, plugin } }));
171
+ effects.push(explainSentences.detectedOutputFiles({
172
+ context: {
173
+ outputs: {
174
+ outputPath
175
+ },
176
+ plugin
177
+ }
178
+ }));
179
+ }
170
180
  if (usedFlags['width'] || usedFlags['height'])
171
- effects.push(getEffectId(plugin, 'dimensionsChange'));
181
+ effects.push(explainSentences.dimensionsChange({ context: { usedFlags, plugin } }));
172
182
  if (usedFlags['quality'])
173
- effects.push(getEffectId(plugin, 'qualityChange'));
183
+ effects.push(explainSentences.qualityChange({ context: { usedFlags, plugin } }));
174
184
  if (usedFlags['format'])
175
- effects.push(getEffectId(plugin, 'formatConversion'));
185
+ effects.push(explainSentences.formatConversion({ context: { usedFlags, plugin } }));
176
186
  if (usedFlags['metadata'])
177
- effects.push(getEffectId(plugin, 'metadataPreserved'));
187
+ effects.push(explainSentences.metadataPreserved());
178
188
  if (usedFlags['tool'] || command?.parent?.name?.())
179
- effects.push(getEffectId(plugin, 'externalTool'));
189
+ effects.push(explainSentences.externalTool({ context: { usedFlags, plugin } }));
180
190
  if (usedFlags['noNetwork'])
181
- effects.push(getEffectId(plugin, 'noNetwork'));
191
+ effects.push(explainSentences.noNetwork());
182
192
  // Add more effects for other plugin types as needed
183
- // Dynamic summary using enhanced phrases
184
- // Build ExplainContext with plugin/command info and version
185
- // (moved summary logic after context is built)
186
- // Dynamic outcome and flow using enhanced phrases
193
+ // Dynamic outcome and flow using enhanced sentences
187
194
  const sideEffects = [];
188
195
  if (usedFlags['noNetwork'])
189
- sideEffects.push(getPhrase('noNetwork', plugin)());
196
+ sideEffects.push(explainSentences.noNetwork());
190
197
  if (usedFlags['metadata'])
191
- sideEffects.push(getPhrase('metadataPreserved', plugin)());
198
+ sideEffects.push(explainSentences.metadataPreserved());
192
199
  if (usedFlags['validation'])
193
- sideEffects.push(getPhrase('validation', plugin)());
200
+ sideEffects.push(explainSentences.validation());
194
201
  if (usedFlags['logging'])
195
- sideEffects.push(getPhrase('logging', plugin)());
202
+ sideEffects.push(explainSentences.logging());
196
203
  if (usedFlags['cleanup'])
197
- sideEffects.push(getPhrase('cleanup', plugin)());
204
+ sideEffects.push(explainSentences.cleanup());
198
205
  const explainFlow = [
199
- { step: getPhrase('validation', plugin)(), type: 'static' },
200
- { step: 'Check input and output paths for validity and existence.', type: 'static' },
201
- { step: 'Prepare configuration for processing (flags/options).', type: 'static' },
202
- { step: 'Execute main processing logic for each input.', type: 'conditional' },
203
- { step: getPhrase('logging', plugin)(), type: 'static' },
204
- { step: getPhrase('cleanup', plugin)(), type: 'static' },
205
- { step: 'Show summary and any errors encountered.', type: 'static' }
206
+ { step: explainSentences.validation(), type: 'static' },
207
+ { step: explainSentences.commandInputs(), type: 'static' },
208
+ { step: explainSentences.commandOptions(), type: 'static' },
209
+ { step: explainSentences.commandPurpose(), type: 'conditional' },
210
+ { step: explainSentences.logging(), type: 'static' },
211
+ { step: explainSentences.cleanup(), type: 'static' },
212
+ { step: explainSentences.summarySuccess(), type: 'static' }
206
213
  ];
207
214
  // Technical details (plugin-agnostic)
208
215
  const technical = {
@@ -231,8 +238,21 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
231
238
  platform: `${os.platform()} ${os.arch()}`,
232
239
  mode,
233
240
  summary: '', // will set below
234
- inputs: { inputPath, outputPath, filesDetected, ...allInputs },
235
- outputs: Object.keys(allOutputs).length > 0 ? { ...allOutputs, outputFilesDetected } : undefined,
241
+ inputs: {
242
+ inputPath,
243
+ type: inputDetection.type,
244
+ count: inputDetection.count,
245
+ files: inputDetection.files,
246
+ ...allInputs,
247
+ },
248
+ outputs: {
249
+ outputPath,
250
+ exists: outputDetection.exists,
251
+ isDir: outputDetection.isDir,
252
+ count: outputDetection.files.length,
253
+ files: outputDetection.files,
254
+ ...allOutputs
255
+ },
236
256
  usedFlags,
237
257
  omittedFlags: Object.keys(omittedFlags).length > 0 ? omittedFlags : undefined,
238
258
  decisions: Object.entries(usedFlags).map(([key, v]) => ({
@@ -249,28 +269,34 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
249
269
  warnings: [],
250
270
  confidence: 'high',
251
271
  confidenceScore: 0.95,
252
- whatWillNotHappen: [getPhrase('noNetwork', plugin)(), getPhrase('noOriginalModification', plugin)(), getPhrase('dataLocalOnly', plugin)(), getPhrase('noBackgroundTasks', plugin)()],
272
+ whatWillNotHappen: [explainSentences.noNetwork(), explainSentences.noOriginalModification(), explainSentences.dataLocalOnly(), explainSentences.noBackgroundTasks()],
253
273
  },
254
274
  explainFlow,
255
275
  environment,
256
- explainOnly,
257
276
  technical,
258
277
  exitCode: 0,
259
278
  };
260
279
  // Now set summary and result using the full context
261
- if (inputPath && outputPath) {
262
- context.summary = `${getPhrase('inputRead', plugin)({ context })} ${getPhrase('outputWrite', plugin)({ context })}`;
280
+ if (mode === ExplainMode.Only) {
281
+ context.summary = explainSentences.explainOnlySummary();
282
+ context.outcome.result = explainSentences.explainOnlySummary();
283
+ }
284
+ else if (inputPath && outputPath) {
285
+ context.summary = `${explainSentences.inputRead({ context })} ${explainSentences.outputWrite({ context })}`;
286
+ context.outcome.result = explainSentences.outputWrite({ context });
263
287
  }
264
288
  else if (inputPath) {
265
- context.summary = getPhrase('inputRead', plugin)({ context });
289
+ context.summary = explainSentences.inputRead({ context });
290
+ context.outcome.result = explainSentences.inputRead({ context });
266
291
  }
267
292
  else if (outputPath) {
268
- context.summary = getPhrase('outputWrite', plugin)({ context });
293
+ context.summary = explainSentences.outputWrite({ context });
294
+ context.outcome.result = explainSentences.outputWrite({ context });
269
295
  }
270
296
  else {
271
- context.summary = getPhrase('summarySuccess', plugin);
297
+ context.summary = explainSentences.summarySuccess();
298
+ context.outcome.result = explainSentences.summarySuccess();
272
299
  }
273
- context.outcome.result = outputPath ? getPhrase('outputWrite', plugin)({ context }) : 'Operation will complete';
274
300
  // Print explanation only
275
301
  const explanation = explainFormatter(context, mode);
276
302
  if (mode === ExplainMode.Json) {
@@ -1 +1 @@
1
- {"version":3,"file":"explainFlag.js","sourceRoot":"","sources":["../../src/explain/explainFlag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explainFlag.js","sourceRoot":"","sources":["../../src/explain/explainFlag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainFormatter.d.ts","sourceRoot":"","sources":["../../../src/explain/formatters/explainFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAS1E;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,WAA+B,GACpC,MAAM,GAAG,MAAM,CAmBjB"}
@@ -1,6 +1,8 @@
1
1
  import { ExplainMode } from '../../types/explainTypes.js';
2
2
  import { explainHumanTemplate } from '../templates/explainHumanTemplate.js';
3
3
  import { explainDetailsTemplate } from '../templates/explainDetailsTemplate.js';
4
+ import { explainAuditTemplate } from '../templates/explainAuditTemplate.js';
5
+ import { explainDebugTemplate } from '../templates/explainDebugTemplate.js';
4
6
  /**
5
7
  * Main explain formatter. Returns a string (or JSON) for the given context and mode.
6
8
  */
@@ -10,12 +12,18 @@ export function explainFormatter(context, mode = ExplainMode.Human) {
10
12
  // Return raw context for machine use, including all enhanced fields
11
13
  return context;
12
14
  }
13
- if (mode === ExplainMode.Human) {
15
+ else if (mode === ExplainMode.Human) {
14
16
  return explainHumanTemplate(context);
15
17
  }
16
- if (mode === ExplainMode.Details) {
18
+ else if (mode === ExplainMode.Details) {
17
19
  return explainDetailsTemplate(context);
18
20
  }
21
+ else if (mode === ExplainMode.Audit) {
22
+ return explainAuditTemplate( /* context */);
23
+ }
24
+ else if (mode === ExplainMode.Debug) {
25
+ return explainDebugTemplate( /* context */);
26
+ }
19
27
  return '';
20
28
  }
21
29
  //# sourceMappingURL=explainFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainFormatter.js","sourceRoot":"","sources":["../../../src/explain/formatters/explainFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAK5E;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAuB,EACvB,OAAoB,WAAW,CAAC,KAAK;IAErC,4DAA4D;IAC5D,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QAC9B,oEAAoE;QACpE,OAAO,OAAO,CAAC;IACjB,CAAC;SACI,IAAI,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SACI,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;SACI,IAAI,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,oBAAoB,EAAC,aAAa,CAAC,CAAA;IAC5C,CAAC;SACI,IAAI,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,oBAAoB,EAAC,aAAa,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -4,7 +4,7 @@ export * from './explainFlag.js';
4
4
  export * from './hook/explainPreActionHook.js';
5
5
  export * from './constants/commonPhrases.js';
6
6
  export * from './phrases/explainSentences.js';
7
- export * from './phrases/phrases.js';
7
+ export * from './phrases/basePhrases.js';
8
8
  export * from './constants/effectNamespaces.js';
9
- export * from './formatter/explainFormatter.js';
9
+ export * from './formatters/explainFormatter.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explain/index.ts"],"names":[],"mappings":"AACA,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explain/index.ts"],"names":[],"mappings":"AACA,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC"}
@@ -5,7 +5,7 @@ export * from './explainFlag.js';
5
5
  export * from './hook/explainPreActionHook.js';
6
6
  export * from './constants/commonPhrases.js';
7
7
  export * from './phrases/explainSentences.js';
8
- export * from './phrases/phrases.js';
8
+ export * from './phrases/basePhrases.js';
9
9
  export * from './constants/effectNamespaces.js';
10
- export * from './formatter/explainFormatter.js';
10
+ export * from './formatters/explainFormatter.js';
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explain/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explain/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC"}
@@ -11,4 +11,4 @@ export declare function registerPluginPhrases(pluginName: string, phrases: Parti
11
11
  * @param pluginName Optional plugin name for override lookup
12
12
  */
13
13
  export declare function getPhrase<K extends keyof CommonPhrases>(key: K, pluginName?: string): CommonPhrases[K];
14
- //# sourceMappingURL=phrases.d.ts.map
14
+ //# sourceMappingURL=basePhrases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basePhrases.d.ts","sourceRoot":"","sources":["../../../src/explain/phrases/basePhrases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,QAKxF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAKtG"}
@@ -23,4 +23,4 @@ export function getPhrase(key, pluginName) {
23
23
  }
24
24
  return COMMON_PHRASES[key];
25
25
  }
26
- //# sourceMappingURL=phrases.js.map
26
+ //# sourceMappingURL=basePhrases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basePhrases.js","sourceRoot":"","sources":["../../../src/explain/phrases/basePhrases.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,mCAAmC;AACnC,MAAM,cAAc,GAA2C,EAAE,CAAC;AAElE;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,OAA+B;IACrF,cAAc,CAAC,UAAU,CAAC,GAAG;QACzB,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACrC,GAAG,OAAO;KACb,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAgC,GAAM,EAAE,UAAmB;IAChF,IAAI,UAAU,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC,GAAG,CAAqB,CAAC;IAC/D,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC"}