@mediaproc/core 1.7.0 → 1.9.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 (76) hide show
  1. package/dist/constants/index.d.ts +0 -2
  2. package/dist/constants/index.d.ts.map +1 -1
  3. package/dist/constants/index.js +0 -2
  4. package/dist/constants/index.js.map +1 -1
  5. package/dist/explain/constants/commonPhrases.d.ts +3 -0
  6. package/dist/explain/constants/commonPhrases.d.ts.map +1 -0
  7. package/dist/explain/constants/commonPhrases.js +101 -0
  8. package/dist/explain/constants/commonPhrases.js.map +1 -0
  9. package/dist/explain/constants/effectNamespaces.d.ts.map +1 -0
  10. package/dist/explain/constants/effectNamespaces.js.map +1 -0
  11. package/dist/explain/explainFlag.d.ts.map +1 -1
  12. package/dist/explain/explainFlag.js +89 -63
  13. package/dist/explain/explainFlag.js.map +1 -1
  14. package/dist/{formatters → explain/formatters}/explainFormatter.d.ts +1 -1
  15. package/dist/explain/formatters/explainFormatter.d.ts.map +1 -0
  16. package/dist/{formatters → explain/formatters}/explainFormatter.js +3 -3
  17. package/dist/explain/formatters/explainFormatter.js.map +1 -0
  18. package/dist/explain/index.d.ts +5 -0
  19. package/dist/explain/index.d.ts.map +1 -1
  20. package/dist/explain/index.js +5 -0
  21. package/dist/explain/index.js.map +1 -1
  22. package/dist/{utils/phrases.d.ts → explain/phrases/basePhrases.d.ts} +2 -2
  23. package/dist/explain/phrases/basePhrases.d.ts.map +1 -0
  24. package/dist/{utils/phrases.js → explain/phrases/basePhrases.js} +1 -1
  25. package/dist/explain/phrases/basePhrases.js.map +1 -0
  26. package/dist/explain/{explainSentences.d.ts → phrases/explainSentences.d.ts} +9 -3
  27. package/dist/explain/phrases/explainSentences.d.ts.map +1 -0
  28. package/dist/explain/{explainSentences.js → phrases/explainSentences.js} +25 -18
  29. package/dist/explain/phrases/explainSentences.js.map +1 -0
  30. package/dist/explain/templates/explainAuditTemplate.d.ts +2 -0
  31. package/dist/explain/templates/explainAuditTemplate.d.ts.map +1 -0
  32. package/dist/explain/templates/explainAuditTemplate.js +6 -0
  33. package/dist/explain/templates/explainAuditTemplate.js.map +1 -0
  34. package/dist/explain/templates/explainDebugTemplate.d.ts +2 -0
  35. package/dist/explain/templates/explainDebugTemplate.d.ts.map +1 -0
  36. package/dist/explain/templates/explainDebugTemplate.js +6 -0
  37. package/dist/explain/templates/explainDebugTemplate.js.map +1 -0
  38. package/dist/explain/templates/explainDetailsTemplate.d.ts.map +1 -1
  39. package/dist/explain/templates/explainDetailsTemplate.js +100 -140
  40. package/dist/explain/templates/explainDetailsTemplate.js.map +1 -1
  41. package/dist/explain/templates/explainHumanTemplate.d.ts.map +1 -1
  42. package/dist/explain/templates/explainHumanTemplate.js +115 -99
  43. package/dist/explain/templates/explainHumanTemplate.js.map +1 -1
  44. package/dist/formatters/index.d.ts +0 -1
  45. package/dist/formatters/index.d.ts.map +1 -1
  46. package/dist/formatters/index.js +0 -1
  47. package/dist/formatters/index.js.map +1 -1
  48. package/dist/types/explainTypes.d.ts +88 -6
  49. package/dist/types/explainTypes.d.ts.map +1 -1
  50. package/dist/types/explainTypes.js +3 -0
  51. package/dist/types/explainTypes.js.map +1 -1
  52. package/dist/utils/{fileDetection.d.ts → file/fileDetection.d.ts} +1 -1
  53. package/dist/utils/file/fileDetection.d.ts.map +1 -0
  54. package/dist/utils/{fileDetection.js → file/fileDetection.js} +7 -6
  55. package/dist/utils/file/fileDetection.js.map +1 -0
  56. package/dist/utils/index.d.ts +1 -2
  57. package/dist/utils/index.d.ts.map +1 -1
  58. package/dist/utils/index.js +1 -2
  59. package/dist/utils/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/constants/commonPhrases.d.ts +0 -3
  62. package/dist/constants/commonPhrases.d.ts.map +0 -1
  63. package/dist/constants/commonPhrases.js +0 -77
  64. package/dist/constants/commonPhrases.js.map +0 -1
  65. package/dist/constants/effectNamespaces.d.ts.map +0 -1
  66. package/dist/constants/effectNamespaces.js.map +0 -1
  67. package/dist/explain/explainSentences.d.ts.map +0 -1
  68. package/dist/explain/explainSentences.js.map +0 -1
  69. package/dist/formatters/explainFormatter.d.ts.map +0 -1
  70. package/dist/formatters/explainFormatter.js.map +0 -1
  71. package/dist/utils/fileDetection.d.ts.map +0 -1
  72. package/dist/utils/fileDetection.js.map +0 -1
  73. package/dist/utils/phrases.d.ts.map +0 -1
  74. package/dist/utils/phrases.js.map +0 -1
  75. /package/dist/{constants → explain/constants}/effectNamespaces.d.ts +0 -0
  76. /package/dist/{constants → explain/constants}/effectNamespaces.js +0 -0
@@ -1,4 +1,2 @@
1
- export * from './commonPhrases.js';
2
- export * from './effectNamespaces.js';
3
1
  export * from './supportedExtensions.js';
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -1,4 +1,2 @@
1
- export * from './commonPhrases.js';
2
- export * from './effectNamespaces.js';
3
1
  export * from './supportedExtensions.js';
4
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CommonPhrases } from "../../types/explainTypes.js";
2
+ export declare const COMMON_PHRASES: CommonPhrases;
3
+ //# sourceMappingURL=commonPhrases.d.ts.map
@@ -0,0 +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;AAI5E,eAAO,MAAM,cAAc,EAAE,aA6F5B,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { detectInputFiles, detectOutputFiles } from '../../utils/file/fileDetection.js';
2
+ // Centralized reusable phrases for explain engine
3
+ export const COMMON_PHRASES = {
4
+ // --- File detection dynamic phrases ---
5
+ // --- Enhanced dynamic and user-centric phrases ---
6
+ detectedInputFiles: ({ context }) => {
7
+ const detected = detectInputFiles(context.inputs?.inputPath);
8
+ if (detected.count === 0)
9
+ return `No input files found at ${context.inputs?.inputPath || 'the specified location'}. Please check your path or provide a valid input.`;
10
+ if (detected.count === 1)
11
+ return `1 ${detected.type !== 'unknown' ? detected.type : 'file'} detected at ${context.inputs?.inputPath}. Ready for processing.`;
12
+ return `${detected.count} ${detected.type !== 'unknown' ? detected.type + ' files' : 'files'} detected at ${context.inputs?.inputPath}. All will be processed.`;
13
+ },
14
+ detectedOutputFiles: ({ context }) => {
15
+ const detected = detectOutputFiles(context.outputs?.outputPath);
16
+ if (!detected.exists)
17
+ return `No output file or directory found at ${context.outputs?.outputPath || 'the specified location'}. Output will be created.`;
18
+ if (detected.isDir)
19
+ return `Output directory ready at ${context.outputs?.outputPath} with ${detected.files.length} file${detected.files.length === 1 ? '' : 's'}. Results will be saved here.`;
20
+ return `Output file detected at ${context.outputs?.outputPath}. Results will overwrite this file.`;
21
+ },
22
+ // Section headers and static text for templates
23
+ header: ' EXPLANATION ',
24
+ detailsHeader: ' EXPLANATION (DETAILS) ',
25
+ summaryHeader: ' Summary: ',
26
+ commandType: 'Command Type:',
27
+ commandCategory: 'Command Category:',
28
+ commandPurpose: 'Purpose:',
29
+ commandInputs: 'Inputs:',
30
+ commandOutputs: 'Outputs:',
31
+ commandFlags: 'Flags:',
32
+ commandOptions: 'Options:',
33
+ commandPerformance: 'Performance:',
34
+ commandSecurity: 'Security:',
35
+ commandDependencies: 'Dependencies:',
36
+ commandSideEffects: 'Side Effects:',
37
+ commandWarnings: 'Warnings:',
38
+ commandLimitations: 'Limitations:',
39
+ commandExamples: 'Examples:',
40
+ commandDocs: 'Documentation:',
41
+ commandAuthor: 'Author:',
42
+ commandVersion: 'Version:',
43
+ commandLastModified: 'Last Modified:',
44
+ commandRelated: 'Related Commands:',
45
+ contextEnrichmentPrefix: ' Timestamp: ',
46
+ user: 'User:',
47
+ platform: 'Platform:',
48
+ mode: 'Mode:',
49
+ pluginInfoPrefix: ' This command uses the ',
50
+ pluginInfoSuffix: ' plugin. ',
51
+ whatWillHappenHeader: ' What will happen: ',
52
+ whyChoicesHeader: ' Why these choices were made: ',
53
+ resultHeader: ' Result: ',
54
+ schemaVersionPrefix: '[schemaVersion: ',
55
+ exitCodePrefix: '[exitCode: ',
56
+ confidencePrefix: '[confidence: ',
57
+ whatWillNotHappenHeader: ' What will NOT happen: ',
58
+ inputsOutputsHeader: ' Inputs & Outputs: ',
59
+ effectsHeader: ' Effects & Primitives: ',
60
+ technicalWorkflowHeader: ' Technical Workflow: ',
61
+ flagsUsedHeader: ' Flags Used: ',
62
+ errorsHeader: ' Errors: ',
63
+ warningsHeader: ' Warnings: ',
64
+ technicalDetailsHeader: ' Technical Details: ',
65
+ environmentHeader: ' Environment: ',
66
+ 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.`,
67
+ 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.`,
68
+ noNetwork: () => 'This operation runs fully offline—no network requests, no data leaving your device.',
69
+ noOriginalModification: () => 'Your original files remain safe and unchanged. All edits are made to new outputs.',
70
+ dataLocalOnly: () => 'All processing happens locally. Your data stays private and never leaves your machine.',
71
+ noBackgroundTasks: () => 'No background or hidden tasks will run. Your system resources are used only for this operation.',
72
+ externalTool: ({ context }) => `Processing will use the external tool: ${context?.technical?.tool ?? 'unknown'}. This may provide advanced features or performance.`,
73
+ dimensionsChange: ({ context }) => `Resizing: Output will be set to width=${context?.usedFlags?.width?.value ?? '?'} and height=${context?.usedFlags?.height?.value ?? '?'}.`,
74
+ formatConversion: ({ context }) => `Converting format to ${context?.usedFlags?.format?.value ?? 'unknown'} for compatibility and best results.`,
75
+ qualityChange: ({ context }) => `Setting quality to ${context?.usedFlags?.quality?.value ?? '?'} for optimal output.`,
76
+ metadataPreserved: () => 'Metadata will be copied to the output, so important details are not lost.',
77
+ audioProcessing: ({ context }) => `Audio effects applied: ${context?.usedFlags?.effects?.value ?? 'none'}.`,
78
+ videoProcessing: ({ context }) => `Video will use codec: ${context?.usedFlags?.codec?.value ?? 'default'}.`,
79
+ documentProcessing: ({ context }) => `Document format: ${context?.usedFlags?.format?.value ?? 'default'}.`,
80
+ streamProcessing: ({ context }) => `Streaming in real-time using protocol: ${context?.usedFlags?.protocol?.value ?? 'default'}.`,
81
+ pipelineExecution: ({ context }) => `Pipeline: ${Array.isArray(context?.steps) ? context.steps.length : 0} steps will run in sequence, combining multiple plugins for advanced workflows.`,
82
+ pluginAction: ({ context }) => `Plugin "${context?.plugin ?? 'unknown'}" will handle this action, using its specialized features.`,
83
+ errorHandling: () => 'If something goes wrong, errors will be reported clearly and the process will try to recover safely.',
84
+ validation: () => 'Inputs will be checked for correctness and safety before processing begins.',
85
+ outputPreview: () => 'You’ll get a preview of the output before anything is finalized.',
86
+ logging: () => 'A detailed log will be created for this run, so you can review what happened or troubleshoot issues.',
87
+ cleanup: () => 'Temporary files and resources will be removed after processing to keep your system clean.',
88
+ summarySuccess: 'Explanation completed. Processing will continue.',
89
+ summaryFailure: 'Explanation completed. Processing will halt due to errors.',
90
+ summaryPartial: 'Explanation completed. Some warnings were noted.',
91
+ explainOnlySummary: 'Explanation mode enabled. No changes will be made to files.',
92
+ explainOnlySummaryWithWarnings: 'Explanation mode enabled. No changes will be made to files. Warnings were noted.',
93
+ explainOnlySummaryWithErrors: 'Explanation mode enabled. No changes will be made to files. Errors were noted.',
94
+ warningDeprecated: (flag) => `Warning: The flag "${flag}" is deprecated and may be removed in future versions.`,
95
+ warningIgnored: (flag) => `Warning: The flag "${flag}" was ignored due to incompatibility or redundancy.`,
96
+ tipDetails: 'Tip: Use --explain details for a technical breakdown of the operation.',
97
+ tipJson: 'Tip: Use --explain json to get a machine-readable explanation.',
98
+ tipHuman: 'Tip: Use --explain human for a user-friendly summary.',
99
+ tipOnly: 'Tip: Use --explain only to preview changes without modifying files.',
100
+ };
101
+ //# sourceMappingURL=commonPhrases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonPhrases.js","sourceRoot":"","sources":["../../../src/explain/constants/commonPhrases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectNamespaces.d.ts","sourceRoot":"","sources":["../../../src/explain/constants/effectNamespaces.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwLpE,CAAC;AAEF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG9E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectNamespaces.js","sourceRoot":"","sources":["../../../src/explain/constants/effectNamespaces.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 '../formatters/explainFormatter.js';
2
+ import { explainFormatter } from './formatters/explainFormatter.js';
3
3
  import { ExplainMode } from '../types/explainTypes.js';
4
- import { detectInputFiles, detectOutputFiles } from '../utils/fileDetection.js';
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 '../utils/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)()],
272
+ whatWillNotHappen: [explainSentences.noNetwork(), '\n', explainSentences.noOriginalModification(), '\n', explainSentences.dataLocalOnly(), '\n', 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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"}
@@ -1,4 +1,4 @@
1
- import { ExplainContext, ExplainMode } from '../types/explainTypes.js';
1
+ import { ExplainContext, ExplainMode } from '../../types/explainTypes.js';
2
2
  /**
3
3
  * Main explain formatter. Returns a string (or JSON) for the given context and mode.
4
4
  */
@@ -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;AAO1E;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,WAA+B,GACpC,MAAM,GAAG,MAAM,CAajB"}
@@ -1,6 +1,6 @@
1
- import { ExplainMode } from '../types/explainTypes.js';
2
- import { explainHumanTemplate } from '../explain/templates/explainHumanTemplate.js';
3
- import { explainDetailsTemplate } from '../explain/templates/explainDetailsTemplate.js';
1
+ import { ExplainMode } from '../../types/explainTypes.js';
2
+ import { explainHumanTemplate } from '../templates/explainHumanTemplate.js';
3
+ import { explainDetailsTemplate } from '../templates/explainDetailsTemplate.js';
4
4
  /**
5
5
  * Main explain formatter. Returns a string (or JSON) for the given context and mode.
6
6
  */
@@ -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;AAKhF;;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;IACD,IAAI,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -2,4 +2,9 @@ export * from './templates/explainHumanTemplate.js';
2
2
  export * from './templates/explainDetailsTemplate.js';
3
3
  export * from './explainFlag.js';
4
4
  export * from './hook/explainPreActionHook.js';
5
+ export * from './constants/commonPhrases.js';
6
+ export * from './phrases/explainSentences.js';
7
+ export * from './phrases/basePhrases.js';
8
+ export * from './constants/effectNamespaces.js';
9
+ export * from './formatters/explainFormatter.js';
5
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"}
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"}
@@ -3,4 +3,9 @@ export * from './templates/explainHumanTemplate.js';
3
3
  export * from './templates/explainDetailsTemplate.js';
4
4
  export * from './explainFlag.js';
5
5
  export * from './hook/explainPreActionHook.js';
6
+ export * from './constants/commonPhrases.js';
7
+ export * from './phrases/explainSentences.js';
8
+ export * from './phrases/basePhrases.js';
9
+ export * from './constants/effectNamespaces.js';
10
+ export * from './formatters/explainFormatter.js';
6
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"}
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"}
@@ -1,4 +1,4 @@
1
- import { CommonPhrases } from '../types/explainTypes.js';
1
+ import { CommonPhrases } from '../../types/explainTypes.js';
2
2
  /**
3
3
  * Register or override phrases for a plugin.
4
4
  * @param pluginName The plugin name (string)
@@ -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"}
@@ -21,7 +21,6 @@ export declare const explainSentences: {
21
21
  commandVersion: () => string;
22
22
  commandLastModified: () => string;
23
23
  commandRelated: () => string;
24
- explainOnly: () => string;
25
24
  contextEnrichmentPrefix: () => string;
26
25
  user: () => string;
27
26
  platform: () => string;
@@ -42,10 +41,12 @@ export declare const explainSentences: {
42
41
  warningsHeader: () => string;
43
42
  technicalDetailsHeader: () => string;
44
43
  environmentHeader: () => string;
45
- diagramPlaceholder: () => string;
46
44
  inputRead: (context: any) => string;
47
45
  outputWrite: (context: any) => string;
48
46
  noNetwork: () => string;
47
+ noOriginalModification: () => string;
48
+ dataLocalOnly: () => string;
49
+ noBackgroundTasks: () => string;
49
50
  externalTool: (context: any) => string;
50
51
  dimensionsChange: (context: any) => string;
51
52
  formatConversion: (context: any) => string;
@@ -57,6 +58,8 @@ export declare const explainSentences: {
57
58
  streamProcessing: (context: any) => string;
58
59
  pipelineExecution: (context: any) => string;
59
60
  pluginAction: (context: any) => string;
61
+ detectedInputFiles: (context: any) => string;
62
+ detectedOutputFiles: (context: any) => string;
60
63
  errorHandling: () => string;
61
64
  validation: () => string;
62
65
  outputPreview: () => string;
@@ -67,6 +70,9 @@ export declare const explainSentences: {
67
70
  summaryPartial: () => string;
68
71
  warningDeprecated: (flag: string) => string;
69
72
  warningIgnored: (flag: string) => string;
73
+ explainOnlySummary: () => string;
74
+ explainOnlySummaryWithWarnings: () => string;
75
+ explainOnlySummaryWithErrors: () => string;
70
76
  tipDetails: () => string;
71
77
  tipJson: () => string;
72
78
  tipHuman: () => string | undefined;
@@ -80,7 +86,7 @@ export declare const explainSentences: {
80
86
  source: string;
81
87
  }[]) => string;
82
88
  technicalContext: (engine: string, mode: string, count: number, fileType: string) => string;
83
- batchProcessing: (isBatch: boolean) => string;
89
+ batchProcessing: (isBatch: boolean) => "" | "Batch mode: Each input will be processed independently. Errors in one will not stop others.";
84
90
  safeguards: (safeguards: string[]) => string;
85
91
  summary: (count: number, fileType: string, operation: string, outputPath: string) => string;
86
92
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainSentences.d.ts","sourceRoot":"","sources":["../../../src/explain/phrases/explainSentences.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA4BN,MAAM;;;;uBAIR,MAAM;qBACR,MAAM;uBACJ,MAAM;;;;;;;;;;yBAWJ,GAAG;2BACD,GAAG;;;;;4BAKF,GAAG;gCACC,GAAG;gCACH,GAAG;6BACN,GAAG;;+BAED,GAAG;+BACH,GAAG;kCACA,GAAG;gCACL,GAAG;iCACF,GAAG;4BACR,GAAG;kCACG,GAAG;mCACF,GAAG;;;;;;;;;8BAUR,MAAM;2BACT,MAAM;;;;;;;8BAWH,MAAM,aAAa,MAAM,YAAY,MAAM;uBAElD,MAAM,EAAE;gCAIC,MAAM,EAAE;+BAET,MAAM,EAAE;2BAIZ;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE;+BAI7C,MAAM,QAAQ,MAAM,SAAS,MAAM,YAAY,MAAM;+BAErD,OAAO;6BAIT,MAAM,EAAE;qBAIhB,MAAM,YAAY,MAAM,aAAa,MAAM,cAAc,MAAM;CAEjF,CAAC"}