@tamyla/clodo-framework 3.1.21 → 3.1.23

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 (150) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +283 -1
  3. package/dist/{bin → cli}/clodo-service.js +47 -15
  4. package/dist/cli/commands/assess.js +183 -0
  5. package/dist/{bin → cli}/commands/create.js +5 -5
  6. package/dist/{bin → cli}/commands/deploy.js +122 -90
  7. package/dist/{bin → cli}/commands/diagnose.js +5 -5
  8. package/dist/cli/commands/helpers/deployment-ui.js +138 -0
  9. package/dist/cli/commands/helpers/deployment-verification.js +250 -0
  10. package/dist/cli/commands/helpers/error-recovery.js +80 -0
  11. package/dist/cli/commands/helpers/resource-detection.js +113 -0
  12. package/dist/{bin → cli}/commands/helpers.js +0 -28
  13. package/dist/cli/commands/init-config.js +57 -0
  14. package/dist/{bin → cli}/commands/update.js +5 -5
  15. package/dist/{bin → cli}/commands/validate.js +5 -5
  16. package/dist/cli/security-cli.js +118 -0
  17. package/dist/config/FeatureManager.js +6 -0
  18. package/dist/config/clodo-create.example.json +26 -0
  19. package/dist/config/clodo-deploy.example.json +41 -0
  20. package/dist/config/clodo-update.example.json +46 -0
  21. package/dist/config/clodo-validate.example.json +41 -0
  22. package/dist/config/customers/template/development.env.template +37 -0
  23. package/dist/config/customers/template/production.env.template +39 -0
  24. package/dist/config/customers/template/staging.env.template +37 -0
  25. package/dist/config/customers.js +28 -26
  26. package/dist/config/domain-examples/README.md +464 -0
  27. package/dist/config/domain-examples/environment-mapped.json +168 -0
  28. package/dist/config/domain-examples/multi-domain.json +144 -0
  29. package/dist/config/domain-examples/single-domain.json +50 -0
  30. package/dist/config/examples +12 -0
  31. package/dist/config/features.js +61 -0
  32. package/dist/config/staging-deployment.json +60 -0
  33. package/dist/config/validation-config.json +347 -0
  34. package/dist/deployment/wrangler-deployer.js +1 -1
  35. package/dist/{bin → lib}/deployment/modules/DeploymentOrchestrator.js +2 -2
  36. package/dist/{bin → lib}/deployment/modules/EnvironmentManager.js +2 -2
  37. package/dist/lib/deployment/orchestration/EnterpriseOrchestrator.js +21 -0
  38. package/dist/lib/shared/cache/configuration-cache.js +82 -0
  39. package/dist/{bin → lib}/shared/cloudflare/domain-discovery.js +1 -1
  40. package/dist/{bin → lib}/shared/cloudflare/domain-manager.js +1 -1
  41. package/dist/{bin → lib}/shared/cloudflare/index.js +1 -1
  42. package/dist/{bin → lib}/shared/cloudflare/ops.js +10 -8
  43. package/dist/{bin → lib}/shared/config/ConfigurationManager.js +23 -1
  44. package/dist/{bin → lib}/shared/config/command-config-manager.js +19 -3
  45. package/dist/{bin → lib}/shared/config/index.js +1 -1
  46. package/dist/{bin → lib}/shared/deployment/credential-collector.js +30 -7
  47. package/dist/lib/shared/deployment/index.js +10 -0
  48. package/dist/lib/shared/deployment/rollback-manager.js +7 -0
  49. package/dist/lib/shared/deployment/utilities/d1-error-recovery.js +177 -0
  50. package/dist/{bin → lib}/shared/deployment/validator.js +40 -10
  51. package/dist/lib/shared/deployment/workflows/deployment-summary.js +214 -0
  52. package/dist/lib/shared/deployment/workflows/interactive-confirmation.js +188 -0
  53. package/dist/lib/shared/deployment/workflows/interactive-database-workflow.js +234 -0
  54. package/dist/lib/shared/deployment/workflows/interactive-domain-info-gatherer.js +240 -0
  55. package/dist/lib/shared/deployment/workflows/interactive-secret-workflow.js +228 -0
  56. package/dist/lib/shared/deployment/workflows/interactive-testing-workflow.js +235 -0
  57. package/dist/lib/shared/deployment/workflows/interactive-validation.js +218 -0
  58. package/dist/lib/shared/error-handling/error-classifier.js +46 -0
  59. package/dist/{bin → lib}/shared/monitoring/health-checker.js +129 -1
  60. package/dist/{bin → lib}/shared/monitoring/memory-manager.js +17 -6
  61. package/dist/{bin → lib}/shared/routing/domain-router.js +1 -1
  62. package/dist/lib/shared/utils/deployment-validator.js +97 -0
  63. package/dist/{bin → lib}/shared/utils/formatters.js +10 -0
  64. package/dist/{bin → lib}/shared/utils/index.js +13 -1
  65. package/dist/{bin → lib}/shared/utils/interactive-prompts.js +34 -18
  66. package/dist/{bin → lib}/shared/utils/progress-manager.js +2 -2
  67. package/dist/lib/shared/utils/progress-spinner.js +53 -0
  68. package/dist/lib/shared/utils/sensitive-redactor.js +91 -0
  69. package/dist/{bin → lib}/shared/validation/ValidationRegistry.js +1 -1
  70. package/dist/migration/MigrationAdapters.js +50 -4
  71. package/dist/orchestration/cross-domain-coordinator.js +5 -5
  72. package/dist/orchestration/multi-domain-orchestrator.js +63 -22
  73. package/dist/security/index.js +2 -2
  74. package/dist/security/patterns/insecure-patterns.js +1 -1
  75. package/dist/service-management/ConfirmationEngine.js +1 -1
  76. package/dist/service-management/ErrorTracker.js +1 -1
  77. package/dist/service-management/InputCollector.js +1 -1
  78. package/dist/service-management/ServiceCreator.js +11 -255
  79. package/dist/service-management/ServiceOrchestrator.js +0 -2
  80. package/dist/service-management/generators/testing/UnitTestsGenerator.js +4 -4
  81. package/dist/service-management/index.js +1 -1
  82. package/dist/utils/cloudflare/ops.js +1 -1
  83. package/dist/utils/constants.js +102 -0
  84. package/dist/utils/deployment/wrangler-config-manager.js +215 -48
  85. package/dist/utils/file-manager.js +1 -1
  86. package/dist/utils/formatters.js +1 -1
  87. package/dist/utils/framework-config.js +2 -2
  88. package/dist/utils/interactive-prompts.js +10 -59
  89. package/dist/utils/logger.js +1 -1
  90. package/dist/version/VersionDetector.js +99 -9
  91. package/dist/worker/integration.js +1 -1
  92. package/package.json +10 -10
  93. package/dist/bin/clodo-service-old.js +0 -868
  94. package/dist/bin/clodo-service-test.js +0 -10
  95. package/dist/bin/commands/assess.js +0 -91
  96. package/dist/bin/database/enterprise-db-manager.js +0 -457
  97. package/dist/bin/deployment/enterprise-deploy.js +0 -877
  98. package/dist/bin/deployment/master-deploy.js +0 -1376
  99. package/dist/bin/deployment/modular-enterprise-deploy.js +0 -466
  100. package/dist/bin/deployment/orchestration/EnterpriseOrchestrator.js +0 -401
  101. package/dist/bin/deployment/test-interactive-utils.js +0 -66
  102. package/dist/bin/portfolio/portfolio-manager.js +0 -487
  103. package/dist/bin/security/security-cli.js +0 -108
  104. package/dist/bin/service-management/create-service.js +0 -122
  105. package/dist/bin/service-management/init-service.js +0 -79
  106. package/dist/bin/shared/deployment/index.js +0 -10
  107. package/dist/bin/shared/deployment/rollback-manager.js +0 -523
  108. package/dist/deployment/orchestration/EnterpriseOrchestrator.js +0 -401
  109. package/dist/service-management/ServiceInitializer.js +0 -453
  110. /package/dist/{bin → lib}/database/deployment-db-manager.js +0 -0
  111. /package/dist/{bin → lib}/database/wrangler-d1-manager.js +0 -0
  112. /package/dist/{bin → lib}/deployment/modules/DeploymentConfiguration.js +0 -0
  113. /package/dist/{bin → lib}/deployment/modules/MonitoringIntegration.js +0 -0
  114. /package/dist/{bin → lib}/deployment/modules/ValidationManager.js +0 -0
  115. /package/dist/{bin → lib}/deployment/orchestration/BaseDeploymentOrchestrator.js +0 -0
  116. /package/dist/{bin → lib}/deployment/orchestration/PortfolioOrchestrator.js +0 -0
  117. /package/dist/{bin → lib}/deployment/orchestration/SingleServiceOrchestrator.js +0 -0
  118. /package/dist/{bin → lib}/deployment/orchestration/UnifiedDeploymentOrchestrator.js +0 -0
  119. /package/dist/{bin → lib}/shared/config/cache.js +0 -0
  120. /package/dist/{bin → lib}/shared/config/cloudflare-service-validator.js +0 -0
  121. /package/dist/{bin → lib}/shared/config/manager.js +0 -0
  122. /package/dist/{bin → lib}/shared/config/manifest-loader.js +0 -0
  123. /package/dist/{bin → lib}/shared/database/connection-manager.js +0 -0
  124. /package/dist/{bin → lib}/shared/database/index.js +0 -0
  125. /package/dist/{bin → lib}/shared/database/orchestrator.js +0 -0
  126. /package/dist/{bin → lib}/shared/deployment/auditor.js +0 -0
  127. /package/dist/{bin → lib}/shared/index.js +0 -0
  128. /package/dist/{bin → lib}/shared/logging/Logger.js +0 -0
  129. /package/dist/{bin → lib}/shared/monitoring/index.js +0 -0
  130. /package/dist/{bin → lib}/shared/monitoring/production-monitor.js +0 -0
  131. /package/dist/{bin → lib}/shared/production-tester/api-tester.js +0 -0
  132. /package/dist/{bin → lib}/shared/production-tester/auth-tester.js +0 -0
  133. /package/dist/{bin → lib}/shared/production-tester/core.js +0 -0
  134. /package/dist/{bin → lib}/shared/production-tester/database-tester.js +0 -0
  135. /package/dist/{bin → lib}/shared/production-tester/index.js +0 -0
  136. /package/dist/{bin → lib}/shared/production-tester/load-tester.js +0 -0
  137. /package/dist/{bin → lib}/shared/production-tester/performance-tester.js +0 -0
  138. /package/dist/{bin → lib}/shared/security/api-token-manager.js +0 -0
  139. /package/dist/{bin → lib}/shared/security/index.js +0 -0
  140. /package/dist/{bin → lib}/shared/security/secret-generator.js +0 -0
  141. /package/dist/{bin → lib}/shared/security/secure-token-manager.js +0 -0
  142. /package/dist/{bin → lib}/shared/utils/ErrorHandler.js +0 -0
  143. /package/dist/{bin → lib}/shared/utils/cli-options.js +0 -0
  144. /package/dist/{bin → lib}/shared/utils/config-loader.js +0 -0
  145. /package/dist/{bin → lib}/shared/utils/error-recovery.js +0 -0
  146. /package/dist/{bin → lib}/shared/utils/file-manager.js +0 -0
  147. /package/dist/{bin → lib}/shared/utils/graceful-shutdown-manager.js +0 -0
  148. /package/dist/{bin → lib}/shared/utils/interactive-utils.js +0 -0
  149. /package/dist/{bin → lib}/shared/utils/output-formatter.js +0 -0
  150. /package/dist/{bin → lib}/shared/utils/rate-limiter.js +0 -0
@@ -1,122 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Clodo Framework - Service Template Generator
5
- * Creates new ser console.log(`✓ Using Clodo Framework ServiceCreator module`);ices from predefined templates
6
- */
7
- import { ServiceCreator } from "../../service-management/ServiceCreator.js";
8
- const SERVICE_TYPES = ['data-service', 'auth-service', 'content-service', 'api-gateway', 'generic'];
9
- function showUsage() {
10
- console.log(`
11
- Clodo Framework - Service Template Generator
12
-
13
- Usage: clodo-create-service <service-name> [options]
14
-
15
- Arguments:
16
- service-name Name of the service to create (required)
17
-
18
- Options:
19
- -t, --type <type> Service type: ${SERVICE_TYPES.join(', ')} (default: generic)
20
- -o, --output <path> Output directory (default: current directory)
21
- -f, --force Overwrite existing service directory
22
- -h, --help Show this help message
23
-
24
- Examples:
25
- clodo-create-service my-data-service --type data-service
26
- clodo-create-service auth-api --type auth-service --output ./services
27
- clodo-create-service my-service --force
28
- `);
29
- }
30
- function parseArgs(args) {
31
- const options = {
32
- type: 'generic',
33
- output: process.cwd(),
34
- force: false
35
- };
36
- let serviceName = null;
37
- for (let i = 0; i < args.length; i++) {
38
- const arg = args[i];
39
- switch (arg) {
40
- case '-t':
41
- case '--type':
42
- options.type = args[++i];
43
- break;
44
- case '-o':
45
- case '--output':
46
- options.output = args[++i];
47
- break;
48
- case '-f':
49
- case '--force':
50
- options.force = true;
51
- break;
52
- case '-h':
53
- case '--help':
54
- showUsage();
55
- process.exit(0);
56
- break;
57
- default:
58
- if (!arg.startsWith('-') && !serviceName) {
59
- serviceName = arg;
60
- } else {
61
- console.error(`Unknown option: ${arg}`);
62
- showUsage();
63
- process.exit(1);
64
- }
65
- }
66
- }
67
- if (!serviceName) {
68
- console.error('Error: Service name is required');
69
- showUsage();
70
- process.exit(1);
71
- }
72
- if (!SERVICE_TYPES.includes(options.type)) {
73
- console.error(`Error: Invalid service type. Must be one of: ${SERVICE_TYPES.join(', ')}`);
74
- process.exit(1);
75
- }
76
- return {
77
- serviceName,
78
- options
79
- };
80
- }
81
-
82
- // Main execution
83
- async function main() {
84
- try {
85
- const args = process.argv.slice(2);
86
- const {
87
- serviceName,
88
- options
89
- } = parseArgs(args);
90
- console.log(`🚀 Creating ${options.type} service: ${serviceName}`);
91
- console.log(`✓ Using Clodo Framework ServiceCreator module`);
92
- console.log('');
93
- const creator = new ServiceCreator();
94
- const result = await creator.createService(serviceName, options);
95
- if (result.success) {
96
- console.log('✅ Service created successfully!');
97
- console.log('');
98
- console.log('📝 Next steps:');
99
- console.log(` cd ${result.serviceDir.split('/').pop() || result.serviceDir.split('\\').pop()}`);
100
- console.log(' npm install');
101
- console.log(' npm run setup # Configure domain and Cloudflare settings');
102
- console.log(' npm run dev # Start development server');
103
- console.log('');
104
- console.log('📚 Documentation:');
105
- console.log(' README.md # Service documentation');
106
- console.log(' API.md # API documentation');
107
- console.log('');
108
- console.log('🔗 Useful commands:');
109
- console.log(' npm test # Run tests');
110
- console.log(' npm run deploy # Deploy to Cloudflare');
111
- } else {
112
- console.error('❌ Service creation failed:', result.error);
113
- process.exit(1);
114
- }
115
- } catch (error) {
116
- console.error('❌ Unexpected error:', error.message);
117
- process.exit(1);
118
- }
119
- }
120
-
121
- // Run the generator
122
- main();
@@ -1,79 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Clodo Framework - Service Initializer
5
- *
6
- * Initializes a new service with auto-generated configurations,
7
- * eliminating the need for manual wrangler.toml and domains.js setup.
8
- *
9
- * This solves the workflow order problem by making configuration
10
- * generation the first step, not a prerequisite.
11
- */
12
- import { program } from 'commander';
13
- import { ServiceInitializer } from "../../service-management/ServiceInitializer.js";
14
- const SERVICE_TYPES = ['generic', 'data-service', 'auth-service', 'content-service', 'api-gateway'];
15
- class ServiceInitializerCLI {
16
- constructor() {
17
- this.setupCLI();
18
- }
19
- setupCLI() {
20
- program.name('clodo-init-service').description('Initialize a Clodo Framework service with auto-generated configurations').version('1.0.0').argument('<service-name>', 'Name of the service to initialize').option('-t, --type <type>', 'Service type', 'generic').option('-d, --domains <domains>', 'Comma-separated list of domains (can include account info)').option('-e, --env <environment>', 'Target environment', 'development').option('--api-token <token>', 'Cloudflare API token for domain discovery').option('--account-id <id>', 'Default Cloudflare account ID').option('--zone-id <id>', 'Default Cloudflare zone ID').option('-o, --output <path>', 'Output directory (services will be created in a services/ subdirectory)', process.cwd()).option('-f, --force', 'Overwrite existing service directory').option('--dry-run', 'Show what would be created without creating files').option('--multi-domain', 'Generate configurations for multiple domains').action((serviceName, options) => {
21
- this.initializeService(serviceName, options);
22
- });
23
- program.on('--help', () => {
24
- console.log('\nExamples:');
25
- console.log(' clodo-init-service my-api --type api-gateway --domains "api.example.com,staging.example.com"');
26
- console.log(' clodo-init-service data-service --type data-service --api-token $CF_TOKEN');
27
- console.log(' clodo-init-service my-service --env production --account-id $CF_ACCOUNT_ID');
28
- console.log('\nServices are created in: ./services/{service-name}/');
29
- console.log('\nEnvironment Variables:');
30
- console.log(' CLOUDFLARE_API_TOKEN - API token for domain discovery');
31
- console.log(' CLOUDFLARE_ACCOUNT_ID - Account ID for configurations');
32
- console.log(' CLOUDFLARE_ZONE_ID - Zone ID for domain configurations');
33
- });
34
- }
35
- async initializeService(serviceName, options) {
36
- try {
37
- console.log('🚀 Clodo Framework - Service Initializer');
38
- console.log('='.repeat(50));
39
- console.log('📦 Using Clodo Framework ServiceInitializer module');
40
- console.log('');
41
- const initializer = new ServiceInitializer();
42
- const result = await initializer.initializeService(serviceName, {
43
- type: options.type,
44
- domains: options.domains,
45
- env: options.env,
46
- apiToken: options.apiToken,
47
- accountId: options.accountId,
48
- zoneId: options.zoneId,
49
- output: options.output,
50
- force: options.force,
51
- dryRun: options.dryRun
52
- });
53
- if (result.success) {
54
- if (result.dryRun) {
55
- console.log('📋 Dry run - would create the following:');
56
- const configs = Array.isArray(result.configs) ? result.configs : [result.configs];
57
- console.log('Files:', configs.filter(Boolean).join(', '));
58
- return;
59
- }
60
- console.log('\n✅ Service initialized successfully!');
61
- console.log('\n📝 Next steps:');
62
- console.log(` cd services/${serviceName}`);
63
- console.log(' npm install');
64
- console.log(' npm run dev # Start development server');
65
- console.log(' npm run deploy # Deploy to Cloudflare');
66
- } else {
67
- console.error('\n❌ Initialization failed:', result.error);
68
- process.exit(1);
69
- }
70
- } catch (error) {
71
- console.error('\n❌ Unexpected error:', error.message);
72
- process.exit(1);
73
- }
74
- }
75
- }
76
-
77
- // Run the CLI
78
- const cli = new ServiceInitializerCLI();
79
- program.parse();
@@ -1,10 +0,0 @@
1
- /**
2
- * Deployment Module
3
- * Exports all deployment-related orchestrators, validators, and managers
4
- */
5
-
6
- export { DeploymentValidator } from './validator.js';
7
- export { MultiDomainOrchestrator } from '../../src/orchestration/multi-domain-orchestrator.js';
8
- export { CrossDomainCoordinator } from '../../src/orchestration/cross-domain-coordinator.js';
9
- export { DeploymentAuditor } from './auditor.js';
10
- export { RollbackManager } from './rollback-manager.js';