@tamyla/clodo-framework 3.1.21 → 3.1.22
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.
- package/CHANGELOG.md +9 -0
- package/README.md +53 -0
- package/dist/bin/clodo-service.js +47 -15
- package/dist/bin/commands/deploy.js +115 -83
- package/dist/bin/commands/helpers/deployment-ui.js +138 -0
- package/dist/bin/commands/helpers/deployment-verification.js +251 -0
- package/dist/bin/commands/helpers/error-recovery.js +80 -0
- package/dist/bin/commands/helpers/resource-detection.js +113 -0
- package/dist/bin/commands/validate.js +1 -1
- package/dist/bin/security/security-cli.js +1 -1
- package/dist/bin/shared/cache/configuration-cache.js +82 -0
- package/dist/bin/shared/cloudflare/domain-manager.js +1 -1
- package/dist/bin/shared/cloudflare/index.js +1 -1
- package/dist/bin/shared/cloudflare/ops.js +6 -4
- package/dist/bin/shared/config/ConfigurationManager.js +23 -1
- package/dist/bin/shared/config/command-config-manager.js +19 -3
- package/dist/bin/shared/config/index.js +1 -1
- package/dist/bin/shared/deployment/credential-collector.js +30 -7
- package/dist/bin/shared/deployment/index.js +2 -2
- package/dist/bin/shared/deployment/rollback-manager.js +4 -520
- package/dist/bin/shared/deployment/utilities/d1-error-recovery.js +177 -0
- package/dist/bin/shared/deployment/validator.js +40 -10
- package/dist/bin/shared/deployment/workflows/deployment-summary.js +214 -0
- package/dist/bin/shared/deployment/workflows/interactive-confirmation.js +188 -0
- package/dist/bin/shared/deployment/workflows/interactive-database-workflow.js +234 -0
- package/dist/bin/shared/deployment/workflows/interactive-domain-info-gatherer.js +240 -0
- package/dist/bin/shared/deployment/workflows/interactive-secret-workflow.js +228 -0
- package/dist/bin/shared/deployment/workflows/interactive-testing-workflow.js +235 -0
- package/dist/bin/shared/deployment/workflows/interactive-validation.js +218 -0
- package/dist/bin/shared/error-handling/error-classifier.js +46 -0
- package/dist/bin/shared/monitoring/health-checker.js +129 -1
- package/dist/bin/shared/monitoring/memory-manager.js +17 -6
- package/dist/bin/shared/routing/domain-router.js +1 -1
- package/dist/bin/shared/utils/deployment-validator.js +97 -0
- package/dist/bin/shared/utils/formatters.js +10 -0
- package/dist/bin/shared/utils/index.js +13 -1
- package/dist/bin/shared/utils/interactive-prompts.js +34 -18
- package/dist/bin/shared/utils/progress-manager.js +2 -2
- package/dist/bin/shared/utils/progress-spinner.js +53 -0
- package/dist/bin/shared/utils/sensitive-redactor.js +91 -0
- package/dist/bin/shared/validation/ValidationRegistry.js +1 -1
- package/dist/security/index.js +1 -1
- package/dist/security/patterns/insecure-patterns.js +1 -1
- package/dist/utils/constants.js +102 -0
- package/dist/utils/deployment/wrangler-config-manager.js +215 -48
- package/dist/utils/framework-config.js +2 -2
- package/dist/utils/interactive-prompts.js +10 -59
- package/package.json +16 -8
- package/dist/bin/clodo-service-old.js +0 -868
- package/dist/bin/clodo-service-test.js +0 -10
- package/dist/bin/commands/assess.js +0 -91
- package/dist/bin/commands/create.js +0 -77
- package/dist/bin/commands/diagnose.js +0 -83
- package/dist/bin/commands/helpers.js +0 -138
- package/dist/bin/commands/update.js +0 -75
- package/dist/bin/database/deployment-db-manager.js +0 -423
- package/dist/bin/database/enterprise-db-manager.js +0 -457
- package/dist/bin/database/wrangler-d1-manager.js +0 -685
- package/dist/bin/deployment/enterprise-deploy.js +0 -877
- package/dist/bin/deployment/master-deploy.js +0 -1376
- package/dist/bin/deployment/modular-enterprise-deploy.js +0 -466
- package/dist/bin/deployment/modules/DeploymentConfiguration.js +0 -395
- package/dist/bin/deployment/modules/DeploymentOrchestrator.js +0 -492
- package/dist/bin/deployment/modules/EnvironmentManager.js +0 -517
- package/dist/bin/deployment/modules/MonitoringIntegration.js +0 -560
- package/dist/bin/deployment/modules/ValidationManager.js +0 -342
- package/dist/bin/deployment/orchestration/BaseDeploymentOrchestrator.js +0 -426
- package/dist/bin/deployment/orchestration/EnterpriseOrchestrator.js +0 -401
- package/dist/bin/deployment/orchestration/PortfolioOrchestrator.js +0 -273
- package/dist/bin/deployment/orchestration/SingleServiceOrchestrator.js +0 -231
- package/dist/bin/deployment/orchestration/UnifiedDeploymentOrchestrator.js +0 -662
- package/dist/bin/deployment/test-interactive-utils.js +0 -66
- package/dist/bin/portfolio/portfolio-manager.js +0 -487
- package/dist/bin/service-management/create-service.js +0 -122
- package/dist/bin/service-management/init-service.js +0 -79
- package/dist/config/customers.js +0 -623
- package/dist/config/domains.js +0 -186
- package/dist/config/index.js +0 -6
- package/dist/database/database-orchestrator.js +0 -795
- package/dist/database/index.js +0 -4
- package/dist/deployment/index.js +0 -11
- package/dist/deployment/orchestration/BaseDeploymentOrchestrator.js +0 -426
- package/dist/deployment/orchestration/EnterpriseOrchestrator.js +0 -401
- package/dist/deployment/orchestration/PortfolioOrchestrator.js +0 -273
- package/dist/deployment/orchestration/SingleServiceOrchestrator.js +0 -231
- package/dist/deployment/orchestration/UnifiedDeploymentOrchestrator.js +0 -662
- package/dist/deployment/orchestration/index.js +0 -17
- package/dist/deployment/rollback-manager.js +0 -36
- package/dist/deployment/wrangler-deployer.js +0 -640
- package/dist/handlers/GenericRouteHandler.js +0 -532
- package/dist/migration/MigrationAdapters.js +0 -562
- package/dist/modules/ModuleManager.js +0 -668
- package/dist/modules/security.js +0 -96
- package/dist/orchestration/cross-domain-coordinator.js +0 -1083
- package/dist/orchestration/index.js +0 -5
- package/dist/orchestration/modules/DeploymentCoordinator.js +0 -368
- package/dist/orchestration/modules/DomainResolver.js +0 -198
- package/dist/orchestration/modules/StateManager.js +0 -332
- package/dist/orchestration/multi-domain-orchestrator.js +0 -724
- package/dist/routing/EnhancedRouter.js +0 -158
- package/dist/schema/SchemaManager.js +0 -778
- package/dist/service-management/ConfirmationEngine.js +0 -412
- package/dist/service-management/ErrorTracker.js +0 -299
- package/dist/service-management/GenerationEngine.js +0 -447
- package/dist/service-management/InputCollector.js +0 -619
- package/dist/service-management/ServiceCreator.js +0 -265
- package/dist/service-management/ServiceInitializer.js +0 -453
- package/dist/service-management/ServiceOrchestrator.js +0 -633
- package/dist/service-management/generators/BaseGenerator.js +0 -233
- package/dist/service-management/generators/GeneratorRegistry.js +0 -254
- package/dist/service-management/generators/cicd/CiWorkflowGenerator.js +0 -87
- package/dist/service-management/generators/cicd/DeployWorkflowGenerator.js +0 -106
- package/dist/service-management/generators/code/ServiceHandlersGenerator.js +0 -235
- package/dist/service-management/generators/code/ServiceMiddlewareGenerator.js +0 -116
- package/dist/service-management/generators/code/ServiceUtilsGenerator.js +0 -246
- package/dist/service-management/generators/code/WorkerIndexGenerator.js +0 -143
- package/dist/service-management/generators/config/DevelopmentEnvGenerator.js +0 -101
- package/dist/service-management/generators/config/DomainsConfigGenerator.js +0 -175
- package/dist/service-management/generators/config/EnvExampleGenerator.js +0 -178
- package/dist/service-management/generators/config/ProductionEnvGenerator.js +0 -97
- package/dist/service-management/generators/config/StagingEnvGenerator.js +0 -97
- package/dist/service-management/generators/config/WranglerTomlGenerator.js +0 -238
- package/dist/service-management/generators/core/PackageJsonGenerator.js +0 -243
- package/dist/service-management/generators/core/SiteConfigGenerator.js +0 -115
- package/dist/service-management/generators/documentation/ApiDocsGenerator.js +0 -331
- package/dist/service-management/generators/documentation/ConfigurationDocsGenerator.js +0 -294
- package/dist/service-management/generators/documentation/DeploymentDocsGenerator.js +0 -244
- package/dist/service-management/generators/documentation/ReadmeGenerator.js +0 -196
- package/dist/service-management/generators/schemas/ServiceSchemaGenerator.js +0 -190
- package/dist/service-management/generators/scripts/DeployScriptGenerator.js +0 -123
- package/dist/service-management/generators/scripts/HealthCheckScriptGenerator.js +0 -101
- package/dist/service-management/generators/scripts/SetupScriptGenerator.js +0 -88
- package/dist/service-management/generators/service-types/StaticSiteGenerator.js +0 -342
- package/dist/service-management/generators/testing/EslintConfigGenerator.js +0 -85
- package/dist/service-management/generators/testing/IntegrationTestsGenerator.js +0 -237
- package/dist/service-management/generators/testing/JestConfigGenerator.js +0 -72
- package/dist/service-management/generators/testing/UnitTestsGenerator.js +0 -277
- package/dist/service-management/generators/tooling/DockerComposeGenerator.js +0 -71
- package/dist/service-management/generators/tooling/GitignoreGenerator.js +0 -143
- package/dist/service-management/generators/utils/FileWriter.js +0 -179
- package/dist/service-management/generators/utils/PathResolver.js +0 -157
- package/dist/service-management/generators/utils/ServiceManifestGenerator.js +0 -111
- package/dist/service-management/generators/utils/TemplateEngine.js +0 -185
- package/dist/service-management/generators/utils/index.js +0 -18
- package/dist/service-management/handlers/ConfirmationHandler.js +0 -71
- package/dist/service-management/handlers/GenerationHandler.js +0 -80
- package/dist/service-management/handlers/InputHandler.js +0 -59
- package/dist/service-management/handlers/ValidationHandler.js +0 -203
- package/dist/service-management/index.js +0 -14
- package/dist/service-management/routing/DomainRouteMapper.js +0 -311
- package/dist/service-management/routing/RouteGenerator.js +0 -266
- package/dist/service-management/routing/WranglerRoutesBuilder.js +0 -273
- package/dist/service-management/routing/index.js +0 -14
- package/dist/service-management/services/DirectoryStructureService.js +0 -56
- package/dist/service-management/services/GenerationCoordinator.js +0 -208
- package/dist/service-management/services/GeneratorRegistry.js +0 -174
- package/dist/services/GenericDataService.js +0 -501
- package/dist/ui-structures/concepts/second-order-acquisition-strategy.md +0 -286
- package/dist/ui-structures/concepts/service-lifecycle-management.md +0 -150
- package/dist/ui-structures/concepts/service-manifest-guide.md +0 -309
- package/dist/ui-structures/concepts/three-tier-categorization-strategy.md +0 -231
- package/dist/ui-structures/creation/automated-generation-ui.json +0 -246
- package/dist/ui-structures/creation/core-inputs-ui.json +0 -217
- package/dist/ui-structures/creation/smart-confirmable-ui.json +0 -451
- package/dist/ui-structures/reference/absolutely-required-inputs.json +0 -315
- package/dist/ui-structures/reference/service-manifest-template.json +0 -342
- package/dist/version/VersionDetector.js +0 -723
- package/dist/worker/index.js +0 -4
- package/dist/worker/integration.js +0 -351
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { createRouteHandlers } from '../handlers/GenericRouteHandler.js';
|
|
2
|
-
import { schemaManager } from '../schema/SchemaManager.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Enhanced Router
|
|
6
|
-
* Supports both domain-specific routes and generic CRUD routes
|
|
7
|
-
*
|
|
8
|
-
* Framework-ready version: All data-service specific imports and routes removed.
|
|
9
|
-
* Domain-specific routes should be registered by the consuming application.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export class EnhancedRouter {
|
|
13
|
-
/**
|
|
14
|
-
* Create a new EnhancedRouter instance
|
|
15
|
-
* @param {Object} d1Client - D1 database client
|
|
16
|
-
* @param {Object} options - Router options
|
|
17
|
-
*/
|
|
18
|
-
constructor(d1Client, options = {}) {
|
|
19
|
-
this.d1Client = d1Client;
|
|
20
|
-
this.options = options;
|
|
21
|
-
this.routes = new Map();
|
|
22
|
-
this.genericHandlers = createRouteHandlers(d1Client, options);
|
|
23
|
-
|
|
24
|
-
// Register generic routes for all models
|
|
25
|
-
this._registerGenericRoutes();
|
|
26
|
-
|
|
27
|
-
// Note: Domain-specific routes should be registered by the consuming application
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Register a custom route
|
|
32
|
-
* @param {string} method - HTTP method
|
|
33
|
-
* @param {string} path - Route path
|
|
34
|
-
* @param {Function} handler - Route handler
|
|
35
|
-
*/
|
|
36
|
-
registerRoute(method, path, handler) {
|
|
37
|
-
const key = `${method.toUpperCase()} ${path}`;
|
|
38
|
-
this.routes.set(key, handler);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Find and execute a route handler
|
|
43
|
-
* @param {string} method - HTTP method
|
|
44
|
-
* @param {string} path - Request path
|
|
45
|
-
* @param {Request} request - HTTP request
|
|
46
|
-
* @returns {Promise<Response>} HTTP response
|
|
47
|
-
*/
|
|
48
|
-
async handleRequest(method, path, request) {
|
|
49
|
-
const key = `${method.toUpperCase()} ${path}`;
|
|
50
|
-
|
|
51
|
-
// Check for exact match first
|
|
52
|
-
if (this.routes.has(key)) {
|
|
53
|
-
const handler = this.routes.get(key);
|
|
54
|
-
return await handler(request);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Check for parameterized routes
|
|
58
|
-
for (const [routeKey, handler] of this.routes.entries()) {
|
|
59
|
-
const [routeMethod, routePath] = routeKey.split(' ');
|
|
60
|
-
if (routeMethod !== method.toUpperCase()) continue;
|
|
61
|
-
const match = this._matchRoute(routePath, path);
|
|
62
|
-
if (match) {
|
|
63
|
-
// Add route parameters to request
|
|
64
|
-
// @ts-ignore - Extending Request object with params
|
|
65
|
-
request.params = match.params;
|
|
66
|
-
return await handler(request, ...match.args);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// No route found
|
|
71
|
-
return new Response('Not Found', {
|
|
72
|
-
status: 404
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Register generic CRUD routes for all configured models
|
|
78
|
-
* @private
|
|
79
|
-
*/
|
|
80
|
-
_registerGenericRoutes() {
|
|
81
|
-
for (const [modelName] of schemaManager.getAllModels()) {
|
|
82
|
-
const handler = this.genericHandlers[modelName];
|
|
83
|
-
const basePath = `/api/${modelName}`;
|
|
84
|
-
|
|
85
|
-
// CRUD routes
|
|
86
|
-
this.registerRoute('GET', basePath, req => handler.handleList(req));
|
|
87
|
-
this.registerRoute('POST', basePath, req => handler.handleCreate(req));
|
|
88
|
-
this.registerRoute('GET', `${basePath}/:id`, (req, id) => handler.handleGet(req, id));
|
|
89
|
-
this.registerRoute('PATCH', `${basePath}/:id`, (req, id) => handler.handleUpdate(req, id));
|
|
90
|
-
this.registerRoute('DELETE', `${basePath}/:id`, (req, id) => handler.handleDelete(req, id));
|
|
91
|
-
console.log(`✅ Registered generic routes for: ${modelName}`);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Match a route pattern against a path
|
|
97
|
-
* @param {string} pattern - Route pattern (e.g., '/users/:id')
|
|
98
|
-
* @param {string} path - Request path
|
|
99
|
-
* @returns {Object|null} Match result or null
|
|
100
|
-
* @private
|
|
101
|
-
*/
|
|
102
|
-
_matchRoute(pattern, path) {
|
|
103
|
-
const patternParts = pattern.split('/');
|
|
104
|
-
const pathParts = path.split('/');
|
|
105
|
-
if (patternParts.length !== pathParts.length) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
const params = {};
|
|
109
|
-
const args = [];
|
|
110
|
-
for (let i = 0; i < patternParts.length; i++) {
|
|
111
|
-
const patternPart = patternParts[i];
|
|
112
|
-
const pathPart = pathParts[i];
|
|
113
|
-
if (patternPart.startsWith(':')) {
|
|
114
|
-
// Parameter
|
|
115
|
-
const paramName = patternPart.slice(1);
|
|
116
|
-
params[paramName] = pathPart;
|
|
117
|
-
args.push(pathPart);
|
|
118
|
-
} else if (patternPart !== pathPart) {
|
|
119
|
-
// No match
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return {
|
|
124
|
-
params,
|
|
125
|
-
args
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Get all registered routes
|
|
131
|
-
* @returns {Map} Route map
|
|
132
|
-
*/
|
|
133
|
-
getRoutes() {
|
|
134
|
-
return this.routes;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Add middleware to the router
|
|
139
|
-
* @param {Function} middleware - Middleware function
|
|
140
|
-
*/
|
|
141
|
-
use(middleware) {
|
|
142
|
-
// Store middleware for later use
|
|
143
|
-
if (!this.middleware) {
|
|
144
|
-
this.middleware = [];
|
|
145
|
-
}
|
|
146
|
-
this.middleware.push(middleware);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Create an enhanced router instance
|
|
152
|
-
* @param {Object} d1Client - D1 database client
|
|
153
|
-
* @param {Object} options - Router options
|
|
154
|
-
* @returns {EnhancedRouter} Router instance
|
|
155
|
-
*/
|
|
156
|
-
export function createEnhancedRouter(d1Client, options = {}) {
|
|
157
|
-
return new EnhancedRouter(d1Client, options);
|
|
158
|
-
}
|