@tamyla/clodo-framework 1.0.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 (130) hide show
  1. package/CHANGELOG.md +564 -0
  2. package/LICENSE +21 -0
  3. package/README.md +1393 -0
  4. package/bin/README.md +71 -0
  5. package/bin/clodo-service.js +416 -0
  6. package/bin/security/security-cli.js +96 -0
  7. package/bin/service-management/README.md +74 -0
  8. package/bin/service-management/create-service.js +129 -0
  9. package/bin/service-management/init-service.js +102 -0
  10. package/bin/service-management/init-service.js.backup +889 -0
  11. package/bin/shared/config/customer-cli.js +293 -0
  12. package/dist/config/ConfigurationManager.js +159 -0
  13. package/dist/config/CustomerConfigCLI.js +220 -0
  14. package/dist/config/FeatureManager.js +426 -0
  15. package/dist/config/customers.js +441 -0
  16. package/dist/config/domains.js +180 -0
  17. package/dist/config/features.js +225 -0
  18. package/dist/config/index.js +6 -0
  19. package/dist/database/database-orchestrator.js +730 -0
  20. package/dist/database/index.js +4 -0
  21. package/dist/deployment/auditor.js +971 -0
  22. package/dist/deployment/index.js +10 -0
  23. package/dist/deployment/rollback-manager.js +523 -0
  24. package/dist/deployment/testers/api-tester.js +80 -0
  25. package/dist/deployment/testers/auth-tester.js +129 -0
  26. package/dist/deployment/testers/core.js +217 -0
  27. package/dist/deployment/testers/database-tester.js +105 -0
  28. package/dist/deployment/testers/index.js +74 -0
  29. package/dist/deployment/testers/load-tester.js +120 -0
  30. package/dist/deployment/testers/performance-tester.js +105 -0
  31. package/dist/deployment/validator.js +558 -0
  32. package/dist/deployment/wrangler-deployer.js +574 -0
  33. package/dist/handlers/GenericRouteHandler.js +532 -0
  34. package/dist/index.js +39 -0
  35. package/dist/migration/MigrationAdapters.js +562 -0
  36. package/dist/modules/ModuleManager.js +668 -0
  37. package/dist/modules/security.js +98 -0
  38. package/dist/orchestration/cross-domain-coordinator.js +1083 -0
  39. package/dist/orchestration/index.js +5 -0
  40. package/dist/orchestration/modules/DeploymentCoordinator.js +258 -0
  41. package/dist/orchestration/modules/DomainResolver.js +196 -0
  42. package/dist/orchestration/modules/StateManager.js +332 -0
  43. package/dist/orchestration/multi-domain-orchestrator.js +255 -0
  44. package/dist/routing/EnhancedRouter.js +158 -0
  45. package/dist/schema/SchemaManager.js +778 -0
  46. package/dist/security/ConfigurationValidator.js +490 -0
  47. package/dist/security/DeploymentManager.js +208 -0
  48. package/dist/security/SecretGenerator.js +142 -0
  49. package/dist/security/SecurityCLI.js +228 -0
  50. package/dist/security/index.js +51 -0
  51. package/dist/security/patterns/environment-rules.js +66 -0
  52. package/dist/security/patterns/insecure-patterns.js +21 -0
  53. package/dist/service-management/ConfirmationEngine.js +411 -0
  54. package/dist/service-management/ErrorTracker.js +294 -0
  55. package/dist/service-management/GenerationEngine.js +3109 -0
  56. package/dist/service-management/InputCollector.js +237 -0
  57. package/dist/service-management/ServiceCreator.js +229 -0
  58. package/dist/service-management/ServiceInitializer.js +448 -0
  59. package/dist/service-management/ServiceOrchestrator.js +638 -0
  60. package/dist/service-management/handlers/ConfigMutator.js +130 -0
  61. package/dist/service-management/handlers/ConfirmationHandler.js +71 -0
  62. package/dist/service-management/handlers/GenerationHandler.js +80 -0
  63. package/dist/service-management/handlers/InputHandler.js +59 -0
  64. package/dist/service-management/handlers/ValidationHandler.js +203 -0
  65. package/dist/service-management/index.js +7 -0
  66. package/dist/services/GenericDataService.js +488 -0
  67. package/dist/shared/cloudflare/domain-discovery.js +562 -0
  68. package/dist/shared/cloudflare/domain-manager.js +912 -0
  69. package/dist/shared/cloudflare/index.js +8 -0
  70. package/dist/shared/cloudflare/ops.js +387 -0
  71. package/dist/shared/config/cache.js +1167 -0
  72. package/dist/shared/config/command-config-manager.js +174 -0
  73. package/dist/shared/config/customer-cli.js +258 -0
  74. package/dist/shared/config/index.js +9 -0
  75. package/dist/shared/config/manager.js +289 -0
  76. package/dist/shared/database/connection-manager.js +338 -0
  77. package/dist/shared/database/index.js +7 -0
  78. package/dist/shared/database/orchestrator.js +632 -0
  79. package/dist/shared/deployment/auditor.js +971 -0
  80. package/dist/shared/deployment/index.js +10 -0
  81. package/dist/shared/deployment/rollback-manager.js +523 -0
  82. package/dist/shared/deployment/validator.js +558 -0
  83. package/dist/shared/index.js +32 -0
  84. package/dist/shared/monitoring/health-checker.js +250 -0
  85. package/dist/shared/monitoring/index.js +8 -0
  86. package/dist/shared/monitoring/memory-manager.js +382 -0
  87. package/dist/shared/monitoring/production-monitor.js +390 -0
  88. package/dist/shared/production-tester/api-tester.js +80 -0
  89. package/dist/shared/production-tester/auth-tester.js +129 -0
  90. package/dist/shared/production-tester/core.js +217 -0
  91. package/dist/shared/production-tester/database-tester.js +105 -0
  92. package/dist/shared/production-tester/index.js +74 -0
  93. package/dist/shared/production-tester/load-tester.js +120 -0
  94. package/dist/shared/production-tester/performance-tester.js +105 -0
  95. package/dist/shared/security/api-token-manager.js +296 -0
  96. package/dist/shared/security/index.js +8 -0
  97. package/dist/shared/security/secret-generator.js +918 -0
  98. package/dist/shared/security/secure-token-manager.js +379 -0
  99. package/dist/shared/utils/error-recovery.js +240 -0
  100. package/dist/shared/utils/graceful-shutdown-manager.js +380 -0
  101. package/dist/shared/utils/index.js +9 -0
  102. package/dist/shared/utils/interactive-prompts.js +134 -0
  103. package/dist/shared/utils/rate-limiter.js +249 -0
  104. package/dist/utils/ErrorHandler.js +173 -0
  105. package/dist/utils/deployment/config-cache.js +1160 -0
  106. package/dist/utils/deployment/index.js +6 -0
  107. package/dist/utils/deployment/interactive-prompts.js +97 -0
  108. package/dist/utils/deployment/secret-generator.js +896 -0
  109. package/dist/utils/dirname-helper.js +35 -0
  110. package/dist/utils/domain-config.js +159 -0
  111. package/dist/utils/error-recovery.js +240 -0
  112. package/dist/utils/esm-helper.js +52 -0
  113. package/dist/utils/framework-config.js +481 -0
  114. package/dist/utils/graceful-shutdown-manager.js +379 -0
  115. package/dist/utils/health-checker.js +114 -0
  116. package/dist/utils/index.js +36 -0
  117. package/dist/utils/prompt-handler.js +98 -0
  118. package/dist/utils/usage-tracker.js +252 -0
  119. package/dist/utils/validation.js +112 -0
  120. package/dist/version/VersionDetector.js +723 -0
  121. package/dist/worker/index.js +4 -0
  122. package/dist/worker/integration.js +332 -0
  123. package/docs/FRAMEWORK-ARCHITECTURE-OVERVIEW.md +206 -0
  124. package/docs/INTEGRATION_GUIDE.md +2045 -0
  125. package/docs/README.md +82 -0
  126. package/docs/SECURITY.md +242 -0
  127. package/docs/deployment/deployment-guide.md +540 -0
  128. package/docs/overview.md +280 -0
  129. package/package.json +176 -0
  130. package/types/index.d.ts +575 -0
@@ -0,0 +1,98 @@
1
+ import { ConfigurationValidator } from '../security/ConfigurationValidator.js';
2
+ import { DeploymentManager } from '../security/DeploymentManager.js';
3
+ import { SecretGenerator } from '../security/SecretGenerator.js';
4
+
5
+ /**
6
+ * Security Module for Clodo Framework
7
+ * Provides comprehensive security validation and management
8
+ */
9
+ export const securityModule = {
10
+ name: 'security',
11
+ version: '1.0.0',
12
+ // Main security methods
13
+ validate: (config, env) => ConfigurationValidator.validate(config, env),
14
+ validateConfiguration: (customer, env) => ConfigurationValidator.validateConfiguration(customer, env),
15
+ // Key generation
16
+ generateSecureKey: prefix => SecretGenerator.generateSecureApiKey(32, prefix),
17
+ generateSecureJwtSecret: length => SecretGenerator.generateSecureJwtSecret(length || 64),
18
+ generateServiceKey: (serviceName, env, length) => SecretGenerator.generateServiceKey(serviceName, env, length),
19
+ // Secure deployment
20
+ deployWithSecurity: options => DeploymentManager.deployWithSecurity(options),
21
+ generateSecureConfig: (customer, env) => DeploymentManager.generateSecureConfig(customer, env),
22
+ validateDeploymentReadiness: (customer, env) => DeploymentManager.validateDeploymentReadiness(customer, env),
23
+ // Pre-deployment hooks
24
+ hooks: {
25
+ 'pre-deployment': async context => {
26
+ const {
27
+ config,
28
+ environment,
29
+ customer
30
+ } = context;
31
+ console.log(`🔒 Security validation for ${customer}/${environment}`);
32
+
33
+ // Validate configuration
34
+ const issues = ConfigurationValidator.validate(config, environment);
35
+ const criticalIssues = issues.filter(i => i.severity === 'critical');
36
+ if (criticalIssues.length > 0) {
37
+ console.error('❌ Critical security issues detected:');
38
+ criticalIssues.forEach(issue => {
39
+ console.error(` - ${issue.message}`);
40
+ if (issue.key) console.error(` Field: ${issue.key}`);
41
+ });
42
+ throw new Error('Deployment blocked due to critical security issues');
43
+ }
44
+
45
+ // Check deployment readiness
46
+ const readiness = DeploymentManager.validateDeploymentReadiness(customer, environment);
47
+ if (!readiness.ready) {
48
+ console.error('❌ Deployment not ready:');
49
+ readiness.issues.forEach(issue => console.error(` - ${issue}`));
50
+ throw new Error('Deployment blocked due to readiness issues');
51
+ }
52
+ console.log(`✅ Security validation passed (${issues.length} total issues, ${criticalIssues.length} critical)`);
53
+ return {
54
+ valid: true,
55
+ issues,
56
+ readiness
57
+ };
58
+ },
59
+ 'post-deployment': async context => {
60
+ const {
61
+ customer,
62
+ environment
63
+ } = context;
64
+ console.log(`🔍 Post-deployment security checks for ${customer}/${environment}`);
65
+
66
+ // Perform post-deployment validation
67
+ try {
68
+ await DeploymentManager.performPostDeploymentChecks(customer, environment);
69
+ console.log(`✅ Post-deployment checks passed`);
70
+ } catch (error) {
71
+ console.error(`❌ Post-deployment checks failed: ${error.message}`);
72
+ throw error;
73
+ }
74
+ }
75
+ },
76
+ // Utility methods
77
+ utils: {
78
+ calculateKeyEntropy: key => SecretGenerator.calculateEntropy(key),
79
+ validateKeyStrength: (key, requirements) => SecretGenerator.validateKeyStrength(key, requirements),
80
+ isValidEnvironment: env => {
81
+ const {
82
+ isValidEnvironment
83
+ } = require('../security/patterns/environment-rules.js');
84
+ return isValidEnvironment(env);
85
+ }
86
+ }
87
+ };
88
+
89
+ // Auto-register the security module if ModuleManager is available
90
+ try {
91
+ const {
92
+ moduleManager
93
+ } = await import('../modules/ModuleManager.js');
94
+ moduleManager.registerModule('security', securityModule);
95
+ console.log('🔒 Security module registered with Clodo Framework');
96
+ } catch (error) {
97
+ // ModuleManager not available, module will be registered manually
98
+ }