@masuidrive/procman 0.1.2 → 0.2.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 (204) hide show
  1. package/dist/src/cli/commands/help.d.ts.map +1 -1
  2. package/dist/src/cli/commands/help.js +3 -1
  3. package/dist/src/cli/commands/help.js.map +1 -1
  4. package/dist/src/cli/index.js +6 -2
  5. package/dist/src/cli/index.js.map +1 -1
  6. package/dist/src/cli/parser.d.ts.map +1 -1
  7. package/dist/src/cli/parser.js +20 -0
  8. package/dist/src/cli/parser.js.map +1 -1
  9. package/dist/src/cli/utils/find-package-json.d.ts +4 -0
  10. package/dist/src/cli/utils/find-package-json.d.ts.map +1 -0
  11. package/dist/src/cli/utils/find-package-json.js +15 -0
  12. package/dist/src/cli/utils/find-package-json.js.map +1 -0
  13. package/dist/src/config/config-loader.d.ts +1 -0
  14. package/dist/src/config/config-loader.d.ts.map +1 -1
  15. package/dist/src/config/config-loader.js +16 -6
  16. package/dist/src/config/config-loader.js.map +1 -1
  17. package/dist/src/config/config-validator.d.ts +18 -49
  18. package/dist/src/config/config-validator.d.ts.map +1 -1
  19. package/dist/src/config/config-validator.js +64 -172
  20. package/dist/src/config/config-validator.js.map +1 -1
  21. package/dist/src/config/path-security-validator.d.ts +39 -0
  22. package/dist/src/config/path-security-validator.d.ts.map +1 -0
  23. package/dist/src/config/path-security-validator.js +134 -0
  24. package/dist/src/config/path-security-validator.js.map +1 -0
  25. package/dist/src/config/secure-config-loader.d.ts.map +1 -1
  26. package/dist/src/config/secure-config-loader.js +10 -2
  27. package/dist/src/config/secure-config-loader.js.map +1 -1
  28. package/dist/src/config/validation-suggestions.d.ts +13 -0
  29. package/dist/src/config/validation-suggestions.d.ts.map +1 -0
  30. package/dist/src/config/validation-suggestions.js +40 -0
  31. package/dist/src/config/validation-suggestions.js.map +1 -0
  32. package/dist/src/config/validation-types.d.ts +38 -0
  33. package/dist/src/config/validation-types.d.ts.map +1 -0
  34. package/dist/src/config/validation-types.js +7 -0
  35. package/dist/src/config/validation-types.js.map +1 -0
  36. package/dist/src/daemon/component-command-wiring.d.ts +19 -0
  37. package/dist/src/daemon/component-command-wiring.d.ts.map +1 -0
  38. package/dist/src/daemon/component-command-wiring.js +27 -0
  39. package/dist/src/daemon/component-command-wiring.js.map +1 -0
  40. package/dist/src/daemon/component-daemon-interface.d.ts +38 -0
  41. package/dist/src/daemon/component-daemon-interface.d.ts.map +1 -0
  42. package/dist/src/daemon/component-daemon-interface.js +72 -0
  43. package/dist/src/daemon/component-daemon-interface.js.map +1 -0
  44. package/dist/src/daemon/component-health.d.ts +38 -0
  45. package/dist/src/daemon/component-health.d.ts.map +1 -0
  46. package/dist/src/daemon/component-health.js +146 -0
  47. package/dist/src/daemon/component-health.js.map +1 -0
  48. package/dist/src/daemon/component-manager-errors.d.ts +20 -0
  49. package/dist/src/daemon/component-manager-errors.d.ts.map +1 -0
  50. package/dist/src/daemon/component-manager-errors.js +30 -0
  51. package/dist/src/daemon/component-manager-errors.js.map +1 -0
  52. package/dist/src/daemon/component-manager-types.d.ts +23 -0
  53. package/dist/src/daemon/component-manager-types.d.ts.map +1 -0
  54. package/dist/src/daemon/component-manager-types.js +5 -0
  55. package/dist/src/daemon/component-manager-types.js.map +1 -0
  56. package/dist/src/daemon/component-manager.d.ts +16 -64
  57. package/dist/src/daemon/component-manager.d.ts.map +1 -1
  58. package/dist/src/daemon/component-manager.js +72 -509
  59. package/dist/src/daemon/component-manager.js.map +1 -1
  60. package/dist/src/daemon/component-registration.d.ts +14 -0
  61. package/dist/src/daemon/component-registration.d.ts.map +1 -0
  62. package/dist/src/daemon/component-registration.js +92 -0
  63. package/dist/src/daemon/component-registration.js.map +1 -0
  64. package/dist/src/daemon/component-streaming.d.ts +36 -0
  65. package/dist/src/daemon/component-streaming.d.ts.map +1 -0
  66. package/dist/src/daemon/component-streaming.js +112 -0
  67. package/dist/src/daemon/component-streaming.js.map +1 -0
  68. package/dist/src/daemon/daemon-lifecycle.d.ts +37 -0
  69. package/dist/src/daemon/daemon-lifecycle.d.ts.map +1 -0
  70. package/dist/src/daemon/daemon-lifecycle.js +362 -0
  71. package/dist/src/daemon/daemon-lifecycle.js.map +1 -0
  72. package/dist/src/daemon/daemon-queries.d.ts +53 -0
  73. package/dist/src/daemon/daemon-queries.d.ts.map +1 -0
  74. package/dist/src/daemon/daemon-queries.js +113 -0
  75. package/dist/src/daemon/daemon-queries.js.map +1 -0
  76. package/dist/src/daemon/daemon-types.d.ts +30 -0
  77. package/dist/src/daemon/daemon-types.d.ts.map +1 -0
  78. package/dist/src/daemon/daemon-types.js +8 -0
  79. package/dist/src/daemon/daemon-types.js.map +1 -0
  80. package/dist/src/daemon/disposable-base.d.ts +49 -0
  81. package/dist/src/daemon/disposable-base.d.ts.map +1 -0
  82. package/dist/src/daemon/disposable-base.js +70 -0
  83. package/dist/src/daemon/disposable-base.js.map +1 -0
  84. package/dist/src/daemon/disposal-guard.d.ts +27 -0
  85. package/dist/src/daemon/disposal-guard.d.ts.map +1 -0
  86. package/dist/src/daemon/disposal-guard.js +58 -0
  87. package/dist/src/daemon/disposal-guard.js.map +1 -0
  88. package/dist/src/daemon/ipc-command-handler.d.ts +8 -34
  89. package/dist/src/daemon/ipc-command-handler.d.ts.map +1 -1
  90. package/dist/src/daemon/ipc-command-handler.js +14 -362
  91. package/dist/src/daemon/ipc-command-handler.js.map +1 -1
  92. package/dist/src/daemon/log-command-handlers.d.ts +19 -0
  93. package/dist/src/daemon/log-command-handlers.d.ts.map +1 -0
  94. package/dist/src/daemon/log-command-handlers.js +114 -0
  95. package/dist/src/daemon/log-command-handlers.js.map +1 -0
  96. package/dist/src/daemon/process-command-handlers.d.ts +32 -0
  97. package/dist/src/daemon/process-command-handlers.d.ts.map +1 -0
  98. package/dist/src/daemon/process-command-handlers.js +223 -0
  99. package/dist/src/daemon/process-command-handlers.js.map +1 -0
  100. package/dist/src/daemon/procman-daemon.d.ts +22 -98
  101. package/dist/src/daemon/procman-daemon.d.ts.map +1 -1
  102. package/dist/src/daemon/procman-daemon.js +107 -604
  103. package/dist/src/daemon/procman-daemon.js.map +1 -1
  104. package/dist/src/daemon/resource-manager.d.ts +6 -124
  105. package/dist/src/daemon/resource-manager.d.ts.map +1 -1
  106. package/dist/src/daemon/resource-manager.js +5 -231
  107. package/dist/src/daemon/resource-manager.js.map +1 -1
  108. package/dist/src/daemon/resource-types.d.ts +23 -0
  109. package/dist/src/daemon/resource-types.d.ts.map +1 -0
  110. package/dist/src/daemon/resource-types.js +7 -0
  111. package/dist/src/daemon/resource-types.js.map +1 -0
  112. package/dist/src/daemon/shutdown-orchestrator.d.ts +32 -0
  113. package/dist/src/daemon/shutdown-orchestrator.d.ts.map +1 -0
  114. package/dist/src/daemon/shutdown-orchestrator.js +123 -0
  115. package/dist/src/daemon/shutdown-orchestrator.js.map +1 -0
  116. package/dist/src/daemon/tracked-resources.d.ts +60 -0
  117. package/dist/src/daemon/tracked-resources.d.ts.map +1 -0
  118. package/dist/src/daemon/tracked-resources.js +124 -0
  119. package/dist/src/daemon/tracked-resources.js.map +1 -0
  120. package/dist/src/process-manager/index.d.ts +5 -1
  121. package/dist/src/process-manager/index.d.ts.map +1 -1
  122. package/dist/src/process-manager/index.js +3 -0
  123. package/dist/src/process-manager/index.js.map +1 -1
  124. package/dist/src/process-manager/interfaces/process-group.d.ts +6 -0
  125. package/dist/src/process-manager/interfaces/process-group.d.ts.map +1 -1
  126. package/dist/src/process-manager/managed-process-events.d.ts +22 -0
  127. package/dist/src/process-manager/managed-process-events.d.ts.map +1 -0
  128. package/dist/src/process-manager/managed-process-events.js +5 -0
  129. package/dist/src/process-manager/managed-process-events.js.map +1 -0
  130. package/dist/src/process-manager/managed-process-info.d.ts +11 -53
  131. package/dist/src/process-manager/managed-process-info.d.ts.map +1 -1
  132. package/dist/src/process-manager/managed-process-info.js +46 -133
  133. package/dist/src/process-manager/managed-process-info.js.map +1 -1
  134. package/dist/src/process-manager/process-batch-operations.d.ts +62 -0
  135. package/dist/src/process-manager/process-batch-operations.d.ts.map +1 -0
  136. package/dist/src/process-manager/process-batch-operations.js +80 -0
  137. package/dist/src/process-manager/process-batch-operations.js.map +1 -0
  138. package/dist/src/process-manager/process-config.d.ts +49 -0
  139. package/dist/src/process-manager/process-config.d.ts.map +1 -0
  140. package/dist/src/process-manager/process-config.js +68 -0
  141. package/dist/src/process-manager/process-config.js.map +1 -0
  142. package/dist/src/process-manager/process-event-forwarding.d.ts +18 -0
  143. package/dist/src/process-manager/process-event-forwarding.d.ts.map +1 -0
  144. package/dist/src/process-manager/process-event-forwarding.js +105 -0
  145. package/dist/src/process-manager/process-event-forwarding.js.map +1 -0
  146. package/dist/src/process-manager/process-group-manager.d.ts.map +1 -1
  147. package/dist/src/process-manager/process-group-manager.js +0 -1
  148. package/dist/src/process-manager/process-group-manager.js.map +1 -1
  149. package/dist/src/process-manager/process-info-queries.d.ts +48 -0
  150. package/dist/src/process-manager/process-info-queries.d.ts.map +1 -0
  151. package/dist/src/process-manager/process-info-queries.js +92 -0
  152. package/dist/src/process-manager/process-info-queries.js.map +1 -0
  153. package/dist/src/process-manager/process-manager.d.ts +5 -174
  154. package/dist/src/process-manager/process-manager.d.ts.map +1 -1
  155. package/dist/src/process-manager/process-manager.js +58 -398
  156. package/dist/src/process-manager/process-manager.js.map +1 -1
  157. package/dist/src/process-manager/process-monitoring.d.ts +80 -0
  158. package/dist/src/process-manager/process-monitoring.d.ts.map +1 -0
  159. package/dist/src/process-manager/process-monitoring.js +142 -0
  160. package/dist/src/process-manager/process-monitoring.js.map +1 -0
  161. package/dist/src/process-manager/process-statistics.d.ts +37 -0
  162. package/dist/src/process-manager/process-statistics.d.ts.map +1 -0
  163. package/dist/src/process-manager/process-statistics.js +24 -0
  164. package/dist/src/process-manager/process-statistics.js.map +1 -0
  165. package/dist/src/process-manager/restart-manager.d.ts +82 -0
  166. package/dist/src/process-manager/restart-manager.d.ts.map +1 -0
  167. package/dist/src/process-manager/restart-manager.js +150 -0
  168. package/dist/src/process-manager/restart-manager.js.map +1 -0
  169. package/dist/src/services/app-logger.d.ts +144 -0
  170. package/dist/src/services/app-logger.d.ts.map +1 -0
  171. package/dist/src/services/app-logger.js +489 -0
  172. package/dist/src/services/app-logger.js.map +1 -0
  173. package/dist/src/services/log-buffer.d.ts +35 -0
  174. package/dist/src/services/log-buffer.d.ts.map +1 -0
  175. package/dist/src/services/log-buffer.js +87 -0
  176. package/dist/src/services/log-buffer.js.map +1 -0
  177. package/dist/src/services/log-event-manager.d.ts +32 -0
  178. package/dist/src/services/log-event-manager.d.ts.map +1 -0
  179. package/dist/src/services/log-event-manager.js +31 -0
  180. package/dist/src/services/log-event-manager.js.map +1 -0
  181. package/dist/src/services/log-file-manager.d.ts +46 -0
  182. package/dist/src/services/log-file-manager.d.ts.map +1 -0
  183. package/dist/src/services/log-file-manager.js +156 -0
  184. package/dist/src/services/log-file-manager.js.map +1 -0
  185. package/dist/src/services/log-level-strategy.d.ts +19 -0
  186. package/dist/src/services/log-level-strategy.d.ts.map +1 -0
  187. package/dist/src/services/log-level-strategy.js +40 -0
  188. package/dist/src/services/log-level-strategy.js.map +1 -0
  189. package/dist/src/services/log-manager-types.d.ts +117 -0
  190. package/dist/src/services/log-manager-types.d.ts.map +1 -0
  191. package/dist/src/services/log-manager-types.js +12 -0
  192. package/dist/src/services/log-manager-types.js.map +1 -0
  193. package/dist/src/services/log-manager.d.ts +8 -35
  194. package/dist/src/services/log-manager.d.ts.map +1 -1
  195. package/dist/src/services/log-manager.js +10 -870
  196. package/dist/src/services/log-manager.js.map +1 -1
  197. package/dist/src/services/log-preprocessor.d.ts +30 -0
  198. package/dist/src/services/log-preprocessor.d.ts.map +1 -0
  199. package/dist/src/services/log-preprocessor.js +65 -0
  200. package/dist/src/services/log-preprocessor.js.map +1 -0
  201. package/dist/src/services/process-log-integration.d.ts +7 -2
  202. package/dist/src/services/process-log-integration.d.ts.map +1 -1
  203. package/dist/src/services/process-log-integration.js.map +1 -1
  204. package/package.json +5 -7
@@ -4,9 +4,12 @@
4
4
  * Handles validation logic for procman configuration files.
5
5
  * Provides comprehensive validation with detailed error reporting and suggestions.
6
6
  */
7
- import * as path from 'path';
8
7
  import { parseMemorySize } from '../shared/config.js';
9
- import { ProcmanError, createError } from '../shared/errors.js';
8
+ import { createError } from '../shared/errors.js';
9
+ import { validateScriptPathSecurity as _validateScriptPathSecurity, validatePathSecurity as _validatePathSecurity, } from './path-security-validator.js';
10
+ import { generateSuggestions as _generateSuggestions } from './validation-suggestions.js';
11
+ export { sanitizeFilePath, validatePathWithinProject, validateScriptPathSecurity, validatePathSecurity, } from './path-security-validator.js';
12
+ export { generateSuggestions } from './validation-suggestions.js';
10
13
  /**
11
14
  * Configuration validator class
12
15
  * Responsible for validating procman configuration structure and content
@@ -250,56 +253,24 @@ export class ConfigValidator {
250
253
  }
251
254
  }
252
255
  /**
253
- * Validate script path for security issues
256
+ * Validate script path for security issues (instance method delegating to standalone function)
254
257
  * @param scriptPath Script path to validate
255
258
  * @param appIndex App index for error reporting
256
259
  */
257
260
  validateScriptPathSecurity(scriptPath, appIndex) {
258
- // Check for potentially dangerous script patterns
259
- const dangerousPatterns = [
260
- /^\s*sudo\s+/i, // sudo commands
261
- /^\s*su\s+/i, // su commands
262
- /[|&;`$(){}]/, // Shell injection characters
263
- /\beval\b/i, // eval functions
264
- /\bexec\b/i, // exec functions
265
- ];
266
- for (const pattern of dangerousPatterns) {
267
- if (pattern.test(scriptPath)) {
268
- this.addValidationIssue({
269
- severity: 'warning',
270
- category: 'security',
271
- message: `Script "${scriptPath}" contains potentially dangerous patterns`,
272
- location: { appIndex, field: 'script', value: scriptPath },
273
- suggestion: 'Review script for security implications',
274
- });
275
- break;
276
- }
261
+ const issue = _validateScriptPathSecurity(scriptPath, appIndex);
262
+ if (issue) {
263
+ this.addValidationIssue(issue);
277
264
  }
278
265
  }
279
266
  /**
280
- * Validate file path for security issues
267
+ * Validate file path for security issues (instance method delegating to standalone function)
281
268
  * @param filePath File path to validate
282
269
  * @param appIndex App index for error reporting
283
270
  * @param fieldName Field name for error reporting
284
271
  */
285
272
  validatePathSecurity(filePath, appIndex, fieldName) {
286
- try {
287
- this.sanitizeFilePath(filePath);
288
- // For relative paths, ensure they don't escape project boundaries
289
- if (!path.isAbsolute(filePath)) {
290
- this.validatePathWithinProject(filePath, this.projectRoot);
291
- }
292
- }
293
- catch (error) {
294
- if (error instanceof ProcmanError &&
295
- error.code === 'CONFIG_SECURITY_ERROR') {
296
- throw createError('CONFIG_VALIDATION_ERROR', {
297
- message: `App configuration at index ${appIndex}: ${error.message}`,
298
- details: { appIndex, field: fieldName, value: filePath },
299
- });
300
- }
301
- throw error;
302
- }
273
+ _validatePathSecurity(filePath, appIndex, fieldName, this.projectRoot);
303
274
  }
304
275
  /**
305
276
  * Add validation issue to collection (if enabled)
@@ -323,76 +294,6 @@ export class ConfigValidator {
323
294
  clearValidationIssues() {
324
295
  this.validationIssues = [];
325
296
  }
326
- /**
327
- * Sanitize file path to prevent path traversal attacks
328
- * @param filePath File path to sanitize
329
- * @returns Sanitized file path
330
- * @throws ProcmanError if path is potentially malicious
331
- */
332
- sanitizeFilePath(filePath) {
333
- if (typeof filePath !== 'string') {
334
- throw createError('CONFIG_SECURITY_ERROR', {
335
- message: 'File path must be a string',
336
- });
337
- }
338
- const trimmedPath = filePath.trim();
339
- if (trimmedPath === '') {
340
- throw createError('CONFIG_SECURITY_ERROR', {
341
- message: 'File path cannot be empty',
342
- });
343
- }
344
- // Check for null bytes (directory traversal attack)
345
- if (trimmedPath.includes('\0')) {
346
- throw createError('CONFIG_SECURITY_ERROR', {
347
- message: 'File path contains null bytes',
348
- });
349
- }
350
- // Check for suspicious characters
351
- const suspiciousChars = ['<', '>', '|', '*', '?'];
352
- for (const char of suspiciousChars) {
353
- if (trimmedPath.includes(char)) {
354
- throw createError('CONFIG_SECURITY_ERROR', {
355
- message: `File path contains suspicious character: ${char}`,
356
- });
357
- }
358
- }
359
- // Normalize the path to resolve . and .. segments
360
- const normalizedPath = path.normalize(trimmedPath);
361
- // Additional check after normalization
362
- if (normalizedPath !== trimmedPath && normalizedPath.includes('..')) {
363
- throw createError('CONFIG_SECURITY_ERROR', {
364
- message: 'Normalized path contains directory traversal patterns',
365
- });
366
- }
367
- return normalizedPath;
368
- }
369
- /**
370
- * Validate that a path stays within the project boundaries
371
- * @param filePath File path to validate (relative)
372
- * @param basePath Base path to resolve against
373
- * @returns Resolved absolute path
374
- * @throws ProcmanError if path escapes project boundaries
375
- */
376
- validatePathWithinProject(filePath, basePath) {
377
- // Only validate relative paths - absolute paths are allowed as explicit admin choice
378
- if (path.isAbsolute(filePath)) {
379
- return filePath;
380
- }
381
- // Block relative paths with .. that could escape project
382
- if (filePath.includes('..')) {
383
- throw createError('CONFIG_SECURITY_ERROR', {
384
- message: `Path traversal attack detected: ${filePath}`,
385
- });
386
- }
387
- const resolvedPath = path.resolve(basePath, filePath);
388
- const normalizedRoot = path.normalize(basePath);
389
- if (!path.normalize(resolvedPath).startsWith(normalizedRoot)) {
390
- throw createError('CONFIG_SECURITY_ERROR', {
391
- message: `Path traversal attack detected - path is outside of the project root: ${filePath}`,
392
- });
393
- }
394
- return resolvedPath;
395
- }
396
297
  /**
397
298
  * Generate suggestions for validation errors
398
299
  * @param errorCode Error code
@@ -400,32 +301,7 @@ export class ConfigValidator {
400
301
  * @returns Array of suggestions
401
302
  */
402
303
  generateSuggestions(errorCode, field) {
403
- const suggestions = [];
404
- switch (errorCode) {
405
- case 'CONFIG_VALIDATION_ERROR':
406
- if (field === 'name') {
407
- suggestions.push('Use only alphanumeric characters, dashes, and underscores');
408
- suggestions.push('Ensure the name is unique across all apps');
409
- }
410
- else if (field === 'script') {
411
- suggestions.push('Provide the full command to execute');
412
- suggestions.push('Use absolute paths for executables if needed');
413
- }
414
- else if (field === 'max_memory_restart') {
415
- suggestions.push('Use format like "300M", "1G", or "512000K"');
416
- suggestions.push('Ensure the unit (K/M/G) is specified');
417
- }
418
- break;
419
- case 'CONFIG_SECURITY_ERROR':
420
- suggestions.push('Use relative paths within the project directory');
421
- suggestions.push('Avoid ".." in paths to prevent directory traversal');
422
- suggestions.push('Use absolute paths only when explicitly needed');
423
- break;
424
- default:
425
- suggestions.push('Check the configuration documentation');
426
- suggestions.push('Verify all required fields are present');
427
- }
428
- return suggestions;
304
+ return _generateSuggestions(errorCode, field);
429
305
  }
430
306
  /**
431
307
  * Enhanced type guard for configuration objects
@@ -433,14 +309,7 @@ export class ConfigValidator {
433
309
  * @returns Type predicate indicating if config is a valid object
434
310
  */
435
311
  isValidConfigObject(config) {
436
- return (config !== null &&
437
- config !== undefined &&
438
- typeof config === 'object' &&
439
- !Array.isArray(config) &&
440
- // Check for common invalid objects
441
- !(config instanceof Date) &&
442
- !(config instanceof RegExp) &&
443
- !(config instanceof Error));
312
+ return isValidConfigObject(config);
444
313
  }
445
314
  /**
446
315
  * Generate detailed error message for invalid config types
@@ -448,35 +317,58 @@ export class ConfigValidator {
448
317
  * @returns Descriptive error message
449
318
  */
450
319
  getConfigTypeErrorMessage(config) {
451
- if (config === null) {
452
- return 'Configuration cannot be null. Expected an object with an "apps" array.';
453
- }
454
- if (config === undefined) {
455
- return 'Configuration is undefined. Expected an object with an "apps" array.';
456
- }
457
- if (Array.isArray(config)) {
458
- return 'Configuration cannot be an array. Expected an object with an "apps" property.';
459
- }
460
- if (typeof config === 'string') {
461
- return `Configuration cannot be a string ('${config.slice(0, 50)}${config.length > 50 ? '...' : ''}'). Expected an object.`;
462
- }
463
- if (typeof config === 'number') {
464
- return `Configuration cannot be a number (${config}). Expected an object.`;
465
- }
466
- if (typeof config === 'boolean') {
467
- return `Configuration cannot be a boolean (${config}). Expected an object.`;
468
- }
469
- if (config instanceof Date) {
470
- return `Configuration cannot be a Date object (${config.toISOString()}). Expected a plain object.`;
471
- }
472
- if (config instanceof Error) {
473
- return `Configuration cannot be an Error object (${config.message}). Expected a plain object.`;
474
- }
475
- if (typeof config === 'function') {
476
- return 'Configuration cannot be a function. Expected an object.';
477
- }
478
- return `Configuration must be a plain object, got ${typeof config}.`;
320
+ return getConfigTypeErrorMessage(config);
321
+ }
322
+ }
323
+ /**
324
+ * Enhanced type guard for configuration objects
325
+ * @param config Unknown input to validate
326
+ * @returns Type predicate indicating if config is a valid object
327
+ */
328
+ export function isValidConfigObject(config) {
329
+ return (config !== null &&
330
+ config !== undefined &&
331
+ typeof config === 'object' &&
332
+ !Array.isArray(config) &&
333
+ // Check for common invalid objects
334
+ !(config instanceof Date) &&
335
+ !(config instanceof RegExp) &&
336
+ !(config instanceof Error));
337
+ }
338
+ /**
339
+ * Generate detailed error message for invalid config types
340
+ * @param config Invalid config to analyze
341
+ * @returns Descriptive error message
342
+ */
343
+ export function getConfigTypeErrorMessage(config) {
344
+ if (config === null) {
345
+ return 'Configuration cannot be null. Expected an object with an "apps" array.';
346
+ }
347
+ if (config === undefined) {
348
+ return 'Configuration is undefined. Expected an object with an "apps" array.';
349
+ }
350
+ if (Array.isArray(config)) {
351
+ return 'Configuration cannot be an array. Expected an object with an "apps" property.';
352
+ }
353
+ if (typeof config === 'string') {
354
+ return `Configuration cannot be a string ('${config.slice(0, 50)}${config.length > 50 ? '...' : ''}'). Expected an object.`;
355
+ }
356
+ if (typeof config === 'number') {
357
+ return `Configuration cannot be a number (${config}). Expected an object.`;
358
+ }
359
+ if (typeof config === 'boolean') {
360
+ return `Configuration cannot be a boolean (${config}). Expected an object.`;
361
+ }
362
+ if (config instanceof Date) {
363
+ return `Configuration cannot be a Date object (${config.toISOString()}). Expected a plain object.`;
364
+ }
365
+ if (config instanceof Error) {
366
+ return `Configuration cannot be an Error object (${config.message}). Expected a plain object.`;
367
+ }
368
+ if (typeof config === 'function') {
369
+ return 'Configuration cannot be a function. Expected an object.';
479
370
  }
371
+ return `Configuration must be a plain object, got ${typeof config}.`;
480
372
  }
481
373
  /**
482
374
  * Create a new configuration validator instance
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../../src/config/config-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../../src/config/config-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Path Security Validator
3
+ *
4
+ * Standalone functions for validating file path security
5
+ * to prevent path traversal and injection attacks.
6
+ */
7
+ import type { ValidationIssue } from './validation-types.js';
8
+ /**
9
+ * Sanitize file path to prevent path traversal attacks
10
+ * @param filePath File path to sanitize
11
+ * @returns Sanitized file path
12
+ * @throws ProcmanError if path is potentially malicious
13
+ */
14
+ export declare function sanitizeFilePath(filePath: string): string;
15
+ /**
16
+ * Validate that a path stays within the project boundaries
17
+ * @param filePath File path to validate (relative)
18
+ * @param basePath Base path to resolve against
19
+ * @returns Resolved absolute path
20
+ * @throws ProcmanError if path escapes project boundaries
21
+ */
22
+ export declare function validatePathWithinProject(filePath: string, basePath: string): string;
23
+ /**
24
+ * Validate script path for security issues
25
+ * @param scriptPath Script path to validate
26
+ * @param appIndex App index for error reporting
27
+ * @returns A ValidationIssue if a warning is found, or null
28
+ */
29
+ export declare function validateScriptPathSecurity(scriptPath: string, appIndex: number): ValidationIssue | null;
30
+ /**
31
+ * Validate file path for security issues
32
+ * @param filePath File path to validate
33
+ * @param appIndex App index for error reporting
34
+ * @param fieldName Field name for error reporting
35
+ * @param projectRoot Project root path for boundary validation
36
+ * @throws ProcmanError if path has security issues
37
+ */
38
+ export declare function validatePathSecurity(filePath: string, appIndex: number, fieldName: string, projectRoot: string): void;
39
+ //# sourceMappingURL=path-security-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-security-validator.d.ts","sourceRoot":"","sources":["../../../src/config/path-security-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2CzD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAuBR;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI,CAuBxB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI,CAoBN"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Path Security Validator
3
+ *
4
+ * Standalone functions for validating file path security
5
+ * to prevent path traversal and injection attacks.
6
+ */
7
+ import * as path from 'path';
8
+ import { ProcmanError, createError } from '../shared/errors.js';
9
+ /**
10
+ * Sanitize file path to prevent path traversal attacks
11
+ * @param filePath File path to sanitize
12
+ * @returns Sanitized file path
13
+ * @throws ProcmanError if path is potentially malicious
14
+ */
15
+ export function sanitizeFilePath(filePath) {
16
+ if (typeof filePath !== 'string') {
17
+ throw createError('CONFIG_SECURITY_ERROR', {
18
+ message: 'File path must be a string',
19
+ });
20
+ }
21
+ const trimmedPath = filePath.trim();
22
+ if (trimmedPath === '') {
23
+ throw createError('CONFIG_SECURITY_ERROR', {
24
+ message: 'File path cannot be empty',
25
+ });
26
+ }
27
+ // Check for null bytes (directory traversal attack)
28
+ if (trimmedPath.includes('\0')) {
29
+ throw createError('CONFIG_SECURITY_ERROR', {
30
+ message: 'File path contains null bytes',
31
+ });
32
+ }
33
+ // Check for suspicious characters
34
+ const suspiciousChars = ['<', '>', '|', '*', '?'];
35
+ for (const char of suspiciousChars) {
36
+ if (trimmedPath.includes(char)) {
37
+ throw createError('CONFIG_SECURITY_ERROR', {
38
+ message: `File path contains suspicious character: ${char}`,
39
+ });
40
+ }
41
+ }
42
+ // Normalize the path to resolve . and .. segments
43
+ const normalizedPath = path.normalize(trimmedPath);
44
+ // Additional check after normalization
45
+ if (normalizedPath !== trimmedPath && normalizedPath.includes('..')) {
46
+ throw createError('CONFIG_SECURITY_ERROR', {
47
+ message: 'Normalized path contains directory traversal patterns',
48
+ });
49
+ }
50
+ return normalizedPath;
51
+ }
52
+ /**
53
+ * Validate that a path stays within the project boundaries
54
+ * @param filePath File path to validate (relative)
55
+ * @param basePath Base path to resolve against
56
+ * @returns Resolved absolute path
57
+ * @throws ProcmanError if path escapes project boundaries
58
+ */
59
+ export function validatePathWithinProject(filePath, basePath) {
60
+ // Only validate relative paths - absolute paths are allowed as explicit admin choice
61
+ if (path.isAbsolute(filePath)) {
62
+ return filePath;
63
+ }
64
+ // Block relative paths with .. that could escape project
65
+ if (filePath.includes('..')) {
66
+ throw createError('CONFIG_SECURITY_ERROR', {
67
+ message: `Path traversal attack detected: ${filePath}`,
68
+ });
69
+ }
70
+ const resolvedPath = path.resolve(basePath, filePath);
71
+ const normalizedRoot = path.normalize(basePath);
72
+ if (!path.normalize(resolvedPath).startsWith(normalizedRoot)) {
73
+ throw createError('CONFIG_SECURITY_ERROR', {
74
+ message: `Path traversal attack detected - path is outside of the project root: ${filePath}`,
75
+ });
76
+ }
77
+ return resolvedPath;
78
+ }
79
+ /**
80
+ * Validate script path for security issues
81
+ * @param scriptPath Script path to validate
82
+ * @param appIndex App index for error reporting
83
+ * @returns A ValidationIssue if a warning is found, or null
84
+ */
85
+ export function validateScriptPathSecurity(scriptPath, appIndex) {
86
+ // Check for potentially dangerous script patterns
87
+ const dangerousPatterns = [
88
+ /^\s*sudo\s+/i, // sudo commands
89
+ /^\s*su\s+/i, // su commands
90
+ /[|&;`$(){}]/, // Shell injection characters
91
+ /\beval\b/i, // eval functions
92
+ /\bexec\b/i, // exec functions
93
+ ];
94
+ for (const pattern of dangerousPatterns) {
95
+ if (pattern.test(scriptPath)) {
96
+ return {
97
+ severity: 'warning',
98
+ category: 'security',
99
+ message: `Script "${scriptPath}" contains potentially dangerous patterns`,
100
+ location: { appIndex, field: 'script', value: scriptPath },
101
+ suggestion: 'Review script for security implications',
102
+ };
103
+ }
104
+ }
105
+ return null;
106
+ }
107
+ /**
108
+ * Validate file path for security issues
109
+ * @param filePath File path to validate
110
+ * @param appIndex App index for error reporting
111
+ * @param fieldName Field name for error reporting
112
+ * @param projectRoot Project root path for boundary validation
113
+ * @throws ProcmanError if path has security issues
114
+ */
115
+ export function validatePathSecurity(filePath, appIndex, fieldName, projectRoot) {
116
+ try {
117
+ sanitizeFilePath(filePath);
118
+ // For relative paths, ensure they don't escape project boundaries
119
+ if (!path.isAbsolute(filePath)) {
120
+ validatePathWithinProject(filePath, projectRoot);
121
+ }
122
+ }
123
+ catch (error) {
124
+ if (error instanceof ProcmanError &&
125
+ error.code === 'CONFIG_SECURITY_ERROR') {
126
+ throw createError('CONFIG_VALIDATION_ERROR', {
127
+ message: `App configuration at index ${appIndex}: ${error.message}`,
128
+ details: { appIndex, field: fieldName, value: filePath },
129
+ });
130
+ }
131
+ throw error;
132
+ }
133
+ }
134
+ //# sourceMappingURL=path-security-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-security-validator.js","sourceRoot":"","sources":["../../../src/config/path-security-validator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secure-config-loader.d.ts","sourceRoot":"","sources":["../../../src/config/secure-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEvE,oBAAY,kBAAkB;IAC5B,MAAM,WAAW,CAAE,6BAA6B;IAChD,MAAM,WAAW,CAAE,+BAA+B;IAClD,QAAQ,aAAa,CAAE,kCAAkC;IACzD,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,GAAE,yBAA8B;IAS7C,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkCpD;;OAEG;YACW,qBAAqB;IAmDnC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgDjC;;OAEG;IAEH,OAAO,CAAC,oBAAoB;IAwF5B;;OAEG;IACH,eAAe,IAAI,kBAAkB;IAIrC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAI/C;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;YACW,sBAAsB;IAgCpC;;OAEG;IACG,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CA8BhD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,yBAAyB,GAClC,kBAAkB,CAEpB"}
1
+ {"version":3,"file":"secure-config-loader.d.ts","sourceRoot":"","sources":["../../../src/config/secure-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEvE,oBAAY,kBAAkB;IAC5B,MAAM,WAAW,CAAE,6BAA6B;IAChD,MAAM,WAAW,CAAE,+BAA+B;IAClD,QAAQ,aAAa,CAAE,kCAAkC;IACzD,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,GAAE,yBAA8B;IAS7C,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkCpD;;OAEG;YACW,qBAAqB;IAmDnC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgDjC;;OAEG;IAEH,OAAO,CAAC,oBAAoB;IAgG5B;;OAEG;IACH,eAAe,IAAI,kBAAkB;IAIrC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAI/C;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;YACW,sBAAsB;IAgCpC;;OAEG;IACG,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CA8BhD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,yBAAyB,GAClC,kBAAkB,CAEpB"}
@@ -172,9 +172,17 @@ export class SecureConfigLoader extends ConfigLoader {
172
172
  /* silent */
173
173
  },
174
174
  },
175
- // Limited process object
175
+ // Limited process object - only expose safe environment variables
176
176
  process: {
177
- env: { ...process.env },
177
+ env: {
178
+ NODE_ENV: process.env.NODE_ENV,
179
+ HOME: process.env.HOME,
180
+ PATH: process.env.PATH,
181
+ USER: process.env.USER,
182
+ SHELL: process.env.SHELL,
183
+ LANG: process.env.LANG,
184
+ TERM: process.env.TERM,
185
+ },
178
186
  platform: process.platform,
179
187
  arch: process.arch,
180
188
  version: process.version,
@@ -1 +1 @@
1
- {"version":3,"file":"secure-config-loader.js","sourceRoot":"","sources":["../../../src/config/secure-config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secure-config-loader.js","sourceRoot":"","sources":["../../../src/config/secure-config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Validation Suggestions
3
+ *
4
+ * Generates helpful suggestions for configuration validation errors.
5
+ */
6
+ /**
7
+ * Generate suggestions for validation errors
8
+ * @param errorCode Error code
9
+ * @param field Field name (optional)
10
+ * @returns Array of suggestions
11
+ */
12
+ export declare function generateSuggestions(errorCode: string, field?: string): string[];
13
+ //# sourceMappingURL=validation-suggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-suggestions.d.ts","sourceRoot":"","sources":["../../../src/config/validation-suggestions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CA+BV"}