@mediaproc/core 1.3.0 → 1.4.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 (52) hide show
  1. package/dist/errors/errorTypes.d.ts +63 -13
  2. package/dist/errors/errorTypes.d.ts.map +1 -1
  3. package/dist/errors/errorTypes.js +191 -18
  4. package/dist/errors/errorTypes.js.map +1 -1
  5. package/dist/errors/exitCodes.d.ts +23 -7
  6. package/dist/errors/exitCodes.d.ts.map +1 -1
  7. package/dist/errors/exitCodes.js +24 -7
  8. package/dist/errors/exitCodes.js.map +1 -1
  9. package/dist/explain/explainFlag.d.ts.map +1 -1
  10. package/dist/explain/explainFlag.js +25 -3
  11. package/dist/explain/explainFlag.js.map +1 -1
  12. package/dist/explain/templates/explainDetailsTemplate.d.ts.map +1 -1
  13. package/dist/explain/templates/explainDetailsTemplate.js +86 -44
  14. package/dist/explain/templates/explainDetailsTemplate.js.map +1 -1
  15. package/dist/explain/templates/explainHumanTemplate.d.ts.map +1 -1
  16. package/dist/explain/templates/explainHumanTemplate.js +89 -19
  17. package/dist/explain/templates/explainHumanTemplate.js.map +1 -1
  18. package/dist/handlers/globalErrorHandler.d.ts +10 -0
  19. package/dist/handlers/globalErrorHandler.d.ts.map +1 -0
  20. package/dist/handlers/globalErrorHandler.js +45 -0
  21. package/dist/handlers/globalErrorHandler.js.map +1 -0
  22. package/dist/handlers/index.d.ts +2 -0
  23. package/dist/handlers/index.d.ts.map +1 -0
  24. package/dist/handlers/index.js +2 -0
  25. package/dist/handlers/index.js.map +1 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/types/explainTypes.d.ts +5 -0
  31. package/dist/types/explainTypes.d.ts.map +1 -1
  32. package/dist/utils/constants/supportedExtensions.d.ts.map +1 -0
  33. package/dist/utils/constants/supportedExtensions.js.map +1 -0
  34. package/dist/utils/index.d.ts +1 -1
  35. package/dist/utils/index.d.ts.map +1 -1
  36. package/dist/utils/index.js +1 -1
  37. package/dist/utils/index.js.map +1 -1
  38. package/dist/validators/pathValidator.js +1 -1
  39. package/dist/validators/pathValidator.js.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/__tests__/explainFlag.test.d.ts +0 -2
  42. package/dist/__tests__/explainFlag.test.d.ts.map +0 -1
  43. package/dist/__tests__/explainFlag.test.js +0 -44
  44. package/dist/__tests__/explainFlag.test.js.map +0 -1
  45. package/dist/__tests__/explainTemplates.test.d.ts +0 -2
  46. package/dist/__tests__/explainTemplates.test.d.ts.map +0 -1
  47. package/dist/__tests__/explainTemplates.test.js +0 -43
  48. package/dist/__tests__/explainTemplates.test.js.map +0 -1
  49. package/dist/utils/supportedExtensions.d.ts.map +0 -1
  50. package/dist/utils/supportedExtensions.js.map +0 -1
  51. /package/dist/utils/{supportedExtensions.d.ts → constants/supportedExtensions.d.ts} +0 -0
  52. /package/dist/utils/{supportedExtensions.js → constants/supportedExtensions.js} +0 -0
@@ -1,33 +1,83 @@
1
1
  export declare enum ErrorType {
2
2
  UserInput = "UserInput",
3
+ Validation = "Validation",
4
+ Config = "Config",
5
+ Unsupported = "Unsupported",
6
+ NotImplemented = "NotImplemented",
3
7
  FileSystem = "FileSystem",
4
8
  Tool = "Tool",
5
- Unsupported = "Unsupported",
9
+ Dependency = "Dependency",
6
10
  Plugin = "Plugin",
7
- Internal = "Internal"
11
+ Internal = "Internal",
12
+ Cancelled = "Cancelled"
13
+ }
14
+ export declare enum ErrorSeverity {
15
+ Info = "Info",
16
+ Warning = "Warning",
17
+ Error = "Error",
18
+ Fatal = "Fatal"
19
+ }
20
+ export declare enum ErrorSource {
21
+ User = "User",
22
+ MediaProc = "MediaProc",
23
+ Plugin = "Plugin",
24
+ ExternalTool = "ExternalTool",
25
+ System = "System"
8
26
  }
9
27
  export declare class MediaProcError extends Error {
10
- type: ErrorType;
11
- exitCode: number;
12
- details?: any;
13
- constructor(message: string, type: ErrorType, exitCode: number, details?: any);
28
+ readonly type: ErrorType;
29
+ readonly exitCode: number;
30
+ readonly severity: ErrorSeverity;
31
+ readonly source: ErrorSource;
32
+ readonly retryable?: boolean;
33
+ readonly details?: unknown;
34
+ readonly hint?: string;
35
+ constructor(options: {
36
+ message: string;
37
+ type: ErrorType;
38
+ exitCode: number;
39
+ severity?: ErrorSeverity;
40
+ source?: ErrorSource;
41
+ retryable?: boolean;
42
+ details?: unknown;
43
+ hint?: string;
44
+ });
14
45
  }
15
46
  export declare class UserInputError extends MediaProcError {
16
- constructor(message: string, details?: any);
47
+ constructor(message: string, details?: unknown, hint?: string);
48
+ }
49
+ export declare class ValidationError extends MediaProcError {
50
+ constructor(message: string, details?: unknown, hint?: string);
51
+ }
52
+ export declare class ConfigError extends MediaProcError {
53
+ constructor(message: string, details?: unknown, hint?: string);
54
+ }
55
+ export declare class UnsupportedError extends MediaProcError {
56
+ constructor(message: string, details?: unknown, hint?: string);
57
+ }
58
+ export declare class NotImplementedError extends MediaProcError {
59
+ constructor(message?: string, details?: unknown);
17
60
  }
18
61
  export declare class FileSystemError extends MediaProcError {
19
- constructor(message: string, details?: any);
62
+ constructor(message: string, details?: unknown, retryable?: boolean);
20
63
  }
21
64
  export declare class ToolError extends MediaProcError {
22
- constructor(message: string, details?: any);
65
+ constructor(message: string, details?: unknown, retryable?: boolean);
23
66
  }
24
- export declare class UnsupportedError extends MediaProcError {
25
- constructor(message: string, details?: any);
67
+ export declare class DependencyError extends MediaProcError {
68
+ constructor(message: string, details?: unknown, hint?: string);
26
69
  }
27
70
  export declare class PluginError extends MediaProcError {
28
- constructor(message: string, details?: any);
71
+ constructor(message: string, details?: unknown);
72
+ }
73
+ export declare class PluginNotFoundError extends MediaProcError {
74
+ constructor(message: string, details?: unknown);
75
+ }
76
+ export declare class CancelledError extends MediaProcError {
77
+ constructor(message?: string);
29
78
  }
30
79
  export declare class InternalError extends MediaProcError {
31
- constructor(message: string, details?: any);
80
+ constructor(message: string, details?: unknown);
32
81
  }
82
+ export declare function isMediaProcError(err: unknown): err is MediaProcError;
33
83
  //# sourceMappingURL=errorTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorTypes.d.ts","sourceRoot":"","sources":["../../src/errors/errorTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAQ9E;AAED,qBAAa,cAAe,SAAQ,cAAc;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED,qBAAa,SAAU,SAAQ,cAAc;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED,qBAAa,gBAAiB,SAAQ,cAAc;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED,qBAAa,WAAY,SAAQ,cAAc;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C"}
1
+ {"version":3,"file":"errorTypes.d.ts","sourceRoot":"","sources":["../../src/errors/errorTypes.ts"],"names":[],"mappings":"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"}
@@ -1,59 +1,232 @@
1
+ /* ============================================================
2
+ * MediaProc Error System (v1.0-ready)
3
+ * ============================================================
4
+ */
5
+ import { EXIT_CODES } from "./exitCodes.js";
6
+ /* -------------------- Error Type -------------------- */
1
7
  export var ErrorType;
2
8
  (function (ErrorType) {
3
9
  ErrorType["UserInput"] = "UserInput";
10
+ ErrorType["Validation"] = "Validation";
11
+ ErrorType["Config"] = "Config";
12
+ ErrorType["Unsupported"] = "Unsupported";
13
+ ErrorType["NotImplemented"] = "NotImplemented";
4
14
  ErrorType["FileSystem"] = "FileSystem";
5
15
  ErrorType["Tool"] = "Tool";
6
- ErrorType["Unsupported"] = "Unsupported";
16
+ ErrorType["Dependency"] = "Dependency";
7
17
  ErrorType["Plugin"] = "Plugin";
8
18
  ErrorType["Internal"] = "Internal";
19
+ ErrorType["Cancelled"] = "Cancelled";
9
20
  })(ErrorType || (ErrorType = {}));
21
+ /* -------------------- Error Severity -------------------- */
22
+ export var ErrorSeverity;
23
+ (function (ErrorSeverity) {
24
+ ErrorSeverity["Info"] = "Info";
25
+ ErrorSeverity["Warning"] = "Warning";
26
+ ErrorSeverity["Error"] = "Error";
27
+ ErrorSeverity["Fatal"] = "Fatal";
28
+ })(ErrorSeverity || (ErrorSeverity = {}));
29
+ /* -------------------- Error Source -------------------- */
30
+ export var ErrorSource;
31
+ (function (ErrorSource) {
32
+ ErrorSource["User"] = "User";
33
+ ErrorSource["MediaProc"] = "MediaProc";
34
+ ErrorSource["Plugin"] = "Plugin";
35
+ ErrorSource["ExternalTool"] = "ExternalTool";
36
+ ErrorSource["System"] = "System";
37
+ })(ErrorSource || (ErrorSource = {}));
38
+ /* -------------------- Base Error -------------------- */
10
39
  export class MediaProcError extends Error {
11
40
  type;
12
41
  exitCode;
42
+ severity;
43
+ source;
44
+ retryable;
13
45
  details;
14
- constructor(message, type, exitCode, details) {
15
- super(message);
46
+ hint;
47
+ constructor(options) {
48
+ super(options.message);
16
49
  this.name = 'MediaProcError';
17
- this.type = type;
18
- this.exitCode = exitCode;
19
- this.details = details;
50
+ this.type = options.type;
51
+ this.exitCode = options.exitCode;
52
+ this.severity = options.severity ?? ErrorSeverity.Error;
53
+ this.source = options.source ?? ErrorSource.MediaProc;
54
+ this.retryable = options.retryable;
55
+ this.details = options.details;
56
+ this.hint = options.hint;
20
57
  Error.captureStackTrace?.(this, MediaProcError);
21
58
  }
22
59
  }
60
+ /* -------------------- User / Validation -------------------- */
23
61
  export class UserInputError extends MediaProcError {
24
- constructor(message, details) {
25
- super(message, ErrorType.UserInput, 1, details);
62
+ constructor(message, details, hint) {
63
+ super({
64
+ message,
65
+ type: ErrorType.UserInput,
66
+ exitCode: EXIT_CODES.USER_INPUT,
67
+ severity: ErrorSeverity.Warning,
68
+ source: ErrorSource.User,
69
+ details,
70
+ hint,
71
+ });
26
72
  this.name = 'UserInputError';
27
73
  }
28
74
  }
75
+ export class ValidationError extends MediaProcError {
76
+ constructor(message, details, hint) {
77
+ super({
78
+ message,
79
+ type: ErrorType.Validation,
80
+ exitCode: EXIT_CODES.VALIDATION,
81
+ severity: ErrorSeverity.Warning,
82
+ source: ErrorSource.User,
83
+ details,
84
+ hint,
85
+ });
86
+ this.name = 'ValidationError';
87
+ }
88
+ }
89
+ export class ConfigError extends MediaProcError {
90
+ constructor(message, details, hint) {
91
+ super({
92
+ message,
93
+ type: ErrorType.Config,
94
+ exitCode: EXIT_CODES.CONFIG,
95
+ severity: ErrorSeverity.Error,
96
+ source: ErrorSource.User,
97
+ details,
98
+ hint,
99
+ });
100
+ this.name = 'ConfigError';
101
+ }
102
+ }
103
+ export class UnsupportedError extends MediaProcError {
104
+ constructor(message, details, hint) {
105
+ super({
106
+ message,
107
+ type: ErrorType.Unsupported,
108
+ exitCode: EXIT_CODES.UNSUPPORTED,
109
+ severity: ErrorSeverity.Error,
110
+ source: ErrorSource.User,
111
+ details,
112
+ hint,
113
+ });
114
+ this.name = 'UnsupportedError';
115
+ }
116
+ }
117
+ export class NotImplementedError extends MediaProcError {
118
+ constructor(message = 'This feature is not implemented yet', details) {
119
+ super({
120
+ message,
121
+ type: ErrorType.NotImplemented,
122
+ exitCode: EXIT_CODES.NOT_IMPLEMENTED,
123
+ severity: ErrorSeverity.Info,
124
+ source: ErrorSource.MediaProc,
125
+ details,
126
+ });
127
+ this.name = 'NotImplementedError';
128
+ }
129
+ }
130
+ /* -------------------- File System -------------------- */
29
131
  export class FileSystemError extends MediaProcError {
30
- constructor(message, details) {
31
- super(message, ErrorType.FileSystem, 2, details);
132
+ constructor(message, details, retryable = false) {
133
+ super({
134
+ message,
135
+ type: ErrorType.FileSystem,
136
+ exitCode: EXIT_CODES.FS_ERROR,
137
+ severity: ErrorSeverity.Error,
138
+ source: ErrorSource.System,
139
+ retryable,
140
+ details,
141
+ });
32
142
  this.name = 'FileSystemError';
33
143
  }
34
144
  }
145
+ /* -------------------- External Tools -------------------- */
35
146
  export class ToolError extends MediaProcError {
36
- constructor(message, details) {
37
- super(message, ErrorType.Tool, 3, details);
147
+ constructor(message, details, retryable = false) {
148
+ super({
149
+ message,
150
+ type: ErrorType.Tool,
151
+ exitCode: EXIT_CODES.TOOL_ERROR,
152
+ severity: ErrorSeverity.Fatal,
153
+ source: ErrorSource.ExternalTool,
154
+ retryable,
155
+ details,
156
+ });
38
157
  this.name = 'ToolError';
39
158
  }
40
159
  }
41
- export class UnsupportedError extends MediaProcError {
42
- constructor(message, details) {
43
- super(message, ErrorType.Unsupported, 4, details);
44
- this.name = 'UnsupportedError';
160
+ export class DependencyError extends MediaProcError {
161
+ constructor(message, details, hint) {
162
+ super({
163
+ message,
164
+ type: ErrorType.Dependency,
165
+ exitCode: EXIT_CODES.DEPENDENCY_MISSING,
166
+ severity: ErrorSeverity.Fatal,
167
+ source: ErrorSource.ExternalTool,
168
+ details,
169
+ hint,
170
+ });
171
+ this.name = 'DependencyError';
45
172
  }
46
173
  }
174
+ /* -------------------- Plugin -------------------- */
47
175
  export class PluginError extends MediaProcError {
48
176
  constructor(message, details) {
49
- super(message, ErrorType.Plugin, 5, details);
177
+ super({
178
+ message,
179
+ type: ErrorType.Plugin,
180
+ exitCode: EXIT_CODES.PLUGIN_ERROR,
181
+ severity: ErrorSeverity.Error,
182
+ source: ErrorSource.Plugin,
183
+ details,
184
+ });
50
185
  this.name = 'PluginError';
51
186
  }
52
187
  }
188
+ export class PluginNotFoundError extends MediaProcError {
189
+ constructor(message, details) {
190
+ super({
191
+ message,
192
+ type: ErrorType.Plugin,
193
+ exitCode: EXIT_CODES.PLUGIN_NOT_FOUND,
194
+ severity: ErrorSeverity.Fatal,
195
+ source: ErrorSource.Plugin,
196
+ details,
197
+ });
198
+ this.name = 'PluginNotFoundError';
199
+ }
200
+ }
201
+ /* -------------------- Cancelled -------------------- */
202
+ export class CancelledError extends MediaProcError {
203
+ constructor(message = 'Operation cancelled by user') {
204
+ super({
205
+ message,
206
+ type: ErrorType.Cancelled,
207
+ exitCode: EXIT_CODES.INTERRUPTED,
208
+ severity: ErrorSeverity.Info,
209
+ source: ErrorSource.User,
210
+ });
211
+ this.name = 'CancelledError';
212
+ }
213
+ }
214
+ /* -------------------- Internal -------------------- */
53
215
  export class InternalError extends MediaProcError {
54
216
  constructor(message, details) {
55
- super(message, ErrorType.Internal, 6, details);
217
+ super({
218
+ message,
219
+ type: ErrorType.Internal,
220
+ exitCode: EXIT_CODES.INTERNAL,
221
+ severity: ErrorSeverity.Fatal,
222
+ source: ErrorSource.MediaProc,
223
+ details,
224
+ });
56
225
  this.name = 'InternalError';
57
226
  }
58
227
  }
228
+ /* -------------------- Type Guard -------------------- */
229
+ export function isMediaProcError(err) {
230
+ return err instanceof MediaProcError;
231
+ }
59
232
  //# sourceMappingURL=errorTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorTypes.js","sourceRoot":"","sources":["../../src/errors/errorTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;IACb,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACvB,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAY;IAChB,QAAQ,CAAS;IACjB,OAAO,CAAO;IAEd,YAAY,OAAe,EAAE,IAAe,EAAE,QAAgB,EAAE,OAAa;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,cAAc;IAChD,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,cAAc;IAC3C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAClD,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,cAAc;IAC7C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC/C,YAAY,OAAe,EAAE,OAAa;QACxC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"errorTypes.js","sourceRoot":"","sources":["../../src/errors/errorTypes.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,26 @@
1
+ /**
2
+ * Exit code ranges (documented contract):
3
+ * * 0 → success
4
+ * * 1–9 → user input / config / validation
5
+ * * 10–19 → filesystem
6
+ * * 20–29 → external tools (ffmpeg, sharp, etc.)
7
+ * * 30–39 → plugin system
8
+ * * 40–49 → internal errors
9
+ * * 130 → user interruption (SIGINT)
10
+ */
1
11
  export declare const EXIT_CODES: {
2
- SUCCESS: number;
3
- USER_INPUT: number;
4
- FS_ERROR: number;
5
- TOOL_ERROR: number;
6
- UNSUPPORTED: number;
7
- PLUGIN_ERROR: number;
8
- INTERNAL: number;
12
+ readonly SUCCESS: 0;
13
+ readonly USER_INPUT: 1;
14
+ readonly VALIDATION: 2;
15
+ readonly CONFIG: 3;
16
+ readonly UNSUPPORTED: 4;
17
+ readonly NOT_IMPLEMENTED: 5;
18
+ readonly FS_ERROR: 10;
19
+ readonly TOOL_ERROR: 20;
20
+ readonly DEPENDENCY_MISSING: 21;
21
+ readonly PLUGIN_ERROR: 30;
22
+ readonly PLUGIN_NOT_FOUND: 31;
23
+ readonly INTERNAL: 40;
24
+ readonly INTERRUPTED: 130;
9
25
  };
10
26
  //# sourceMappingURL=exitCodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exitCodes.d.ts","sourceRoot":"","sources":["../../src/errors/exitCodes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;CAQtB,CAAA"}
1
+ {"version":3,"file":"exitCodes.d.ts","sourceRoot":"","sources":["../../src/errors/exitCodes.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CAoBb,CAAC"}
@@ -1,10 +1,27 @@
1
+ /* -------------------- Exit Codes -------------------- */
2
+ /**
3
+ * Exit code ranges (documented contract):
4
+ * * 0 → success
5
+ * * 1–9 → user input / config / validation
6
+ * * 10–19 → filesystem
7
+ * * 20–29 → external tools (ffmpeg, sharp, etc.)
8
+ * * 30–39 → plugin system
9
+ * * 40–49 → internal errors
10
+ * * 130 → user interruption (SIGINT)
11
+ */
1
12
  export const EXIT_CODES = {
2
- SUCCESS: 0, // Meaning: Success
3
- USER_INPUT: 1, // Meaning: Invalid user input (flags, args, paths)
4
- FS_ERROR: 2, // Meaning: File system error (missing file, permission denied)
5
- TOOL_ERROR: 3, // Meaning: External tool error (e.g., ffmpeg failure), Backend/tool error (ffmpeg, sharp, etc.)
6
- UNSUPPORTED: 4, // Meaning: Unsupported operation or format
7
- PLUGIN_ERROR: 5, // Meaning: Plugin-related error, Plugin not found or plugin load failure
8
- INTERNAL: 6 // Meaning: Internal application error, Internal MediaProc error
13
+ SUCCESS: 0,
14
+ USER_INPUT: 1,
15
+ VALIDATION: 2,
16
+ CONFIG: 3,
17
+ UNSUPPORTED: 4,
18
+ NOT_IMPLEMENTED: 5,
19
+ FS_ERROR: 10,
20
+ TOOL_ERROR: 20,
21
+ DEPENDENCY_MISSING: 21,
22
+ PLUGIN_ERROR: 30,
23
+ PLUGIN_NOT_FOUND: 31,
24
+ INTERNAL: 40,
25
+ INTERRUPTED: 130,
9
26
  };
10
27
  //# sourceMappingURL=exitCodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../../src/errors/exitCodes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,CAAC,EAAE,mBAAmB;IAC/B,UAAU,EAAE,CAAC,EAAE,mDAAmD;IAClE,QAAQ,EAAE,CAAC,EAAE,+DAA+D;IAC5E,UAAU,EAAE,CAAC,EAAE,gGAAgG;IAC/G,WAAW,EAAE,CAAC,EAAE,2CAA2C;IAC3D,YAAY,EAAE,CAAC,EAAE,yEAAyE;IAC1F,QAAQ,EAAE,CAAC,CAAC,gEAAgE;CAC/E,CAAA"}
1
+ {"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../../src/errors/exitCodes.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,CAAC;IAEV,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,CAAC;IAElB,QAAQ,EAAE,EAAE;IAEZ,UAAU,EAAE,EAAE;IACd,kBAAkB,EAAE,EAAE;IAEtB,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,EAAE;IAEpB,QAAQ,EAAE,EAAE;IAEZ,WAAW,EAAE,GAAG;CACR,CAAC"}
@@ -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;AAIvE;;;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,QAgKA"}
1
+ {"version":3,"file":"explainFlag.d.ts","sourceRoot":"","sources":["../../src/explain/explainFlag.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMvE;;;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,QAoLA"}
@@ -3,6 +3,8 @@ import { explainFormatter } from '../formatters/explainFormatter.js';
3
3
  import { getCliVersion, getVersion } from '../branding/branding.js';
4
4
  import { ExplainMode } from '../types/explainTypes.js';
5
5
  import os from 'os';
6
+ import fs from 'fs';
7
+ import path from 'path';
6
8
  /**
7
9
  * explainFlag - Automatically gathers command context, prints explanation, then runs the handler.
8
10
  * @param params - { commandName, args, options, handler }
@@ -69,7 +71,7 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
69
71
  }
70
72
  else if (explainValue) {
71
73
  // fallback for unknown explain values
72
- console.warn(chalk.yellow(`Unknown explain mode: ${explainValue}, using 'human' mode.`));
74
+ console.warn(chalk.yellow(`warn: unknown explain mode "${explainValue}", falling back to "human"`));
73
75
  mode = ExplainMode.Human;
74
76
  }
75
77
  // Gather all possible flags from command (Commander.js API)
@@ -134,6 +136,7 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
134
136
  console.error(chalk.red('Error retrieving version information:'), error);
135
137
  }
136
138
  const context = {
139
+ schemaVersion: '1.0', // Tier 3 placeholder
137
140
  command: commandName,
138
141
  plugin: command?.parent?.name?.() || undefined,
139
142
  cliVersion,
@@ -143,6 +146,9 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
143
146
  user: process.env.USER || process.env.USERNAME || 'unknown',
144
147
  platform: `${os.platform()} ${os.arch()}`,
145
148
  mode,
149
+ summary: outputPath
150
+ ? `Resize/Process file(s) and write result to ${outputPath}`
151
+ : `Operation will complete (no output path specified)`,
146
152
  inputs: { inputPath, outputPath, ...allInputs },
147
153
  outputs: Object.keys(allOutputs).length > 0 ? allOutputs : undefined,
148
154
  usedFlags,
@@ -151,6 +157,7 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
151
157
  key,
152
158
  value: v.value,
153
159
  reason: v.source === 'user' ? 'user specified' : (v.source === 'default' ? 'default' : 'system'),
160
+ provenance: v.source,
154
161
  })),
155
162
  outcome: {
156
163
  result: outputPath ? `A new file will be created at ${outputPath}` : 'Operation will complete',
@@ -162,6 +169,11 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
162
169
  ],
163
170
  errors: [], // Placeholder for error reporting
164
171
  warnings: [], // Placeholder for warning reporting
172
+ confidence: 'high', // Tier 4 placeholder
173
+ whatWillNotHappen: [
174
+ 'Original files will not be modified',
175
+ 'No network requests will be made'
176
+ ]
165
177
  },
166
178
  explainFlow: [
167
179
  '1. Parse and validate all user-provided flags and arguments.',
@@ -182,14 +194,24 @@ export function explainFlag({ command, args = {}, options = {}, inputKeys = ['in
182
194
  estimatedTime: 'depends on input size and options',
183
195
  memoryUsage: 'depends on batch size and image dimensions',
184
196
  },
197
+ exitCode: 0, // Tier 3 placeholder
185
198
  };
186
199
  // Print explanation only
187
200
  const explanation = explainFormatter(context, mode);
188
201
  if (mode === ExplainMode.Json) {
189
202
  // Add a styled header for JSON output
190
- // Print JSON with a clear header
191
203
  console.log(chalk.bold.bgBlueBright.white(' EXPLANATION (JSON) '));
192
- console.log(chalk.gray(JSON.stringify(explanation, null, 2)));
204
+ // Write JSON to file in output/explain/
205
+ const timestamp = context.timestamp?.replace(/[:.]/g, '-') || Date.now().toString();
206
+ const outDir = path.resolve(process.cwd(), 'output', 'explain');
207
+ if (!fs.existsSync(outDir)) {
208
+ fs.mkdirSync(outDir, { recursive: true });
209
+ }
210
+ const outFile = path.join(outDir, `explain-${timestamp}.json`);
211
+ fs.writeFileSync(outFile, JSON.stringify(context, null, 2), 'utf-8');
212
+ console.log(chalk.green(`Explanation JSON written to: ${outFile}`));
213
+ // Also print a preview to the console
214
+ console.log(chalk.gray(JSON.stringify(context, null, 2)));
193
215
  }
194
216
  else {
195
217
  console.log(explanation);
@@ -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 +1 @@
1
- {"version":3,"file":"explainDetailsTemplate.d.ts","sourceRoot":"","sources":["../../../src/explain/templates/explainDetailsTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA8FtE"}
1
+ {"version":3,"file":"explainDetailsTemplate.d.ts","sourceRoot":"","sources":["../../../src/explain/templates/explainDetailsTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA6JtE"}