@revealui/mcp 0.1.0 → 0.1.1
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/LICENSE +22 -0
- package/LICENSE.commercial +112 -0
- package/README.md +3 -0
- package/dist/adapters/db.d.ts.map +1 -0
- package/dist/adapters/db.js.map +1 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js.map +1 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js.map +1 -0
- package/dist/hypervisor.d.ts.map +1 -0
- package/dist/hypervisor.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/{packages/mcp/src/servers → servers}/adapter.d.ts +11 -1
- package/dist/servers/adapter.d.ts.map +1 -0
- package/dist/{packages/mcp/src/servers → servers}/adapter.js +20 -4
- package/dist/servers/adapter.js.map +1 -0
- package/dist/servers/revealui-content.d.ts +21 -0
- package/dist/servers/revealui-content.d.ts.map +1 -0
- package/dist/servers/revealui-content.js +199 -0
- package/dist/servers/revealui-content.js.map +1 -0
- package/dist/servers/revealui-email.d.ts +18 -0
- package/dist/servers/revealui-email.d.ts.map +1 -0
- package/dist/servers/revealui-email.js +185 -0
- package/dist/servers/revealui-email.js.map +1 -0
- package/dist/servers/revealui-stripe.d.ts +19 -0
- package/dist/servers/revealui-stripe.d.ts.map +1 -0
- package/dist/servers/revealui-stripe.js +211 -0
- package/dist/servers/revealui-stripe.js.map +1 -0
- package/package.json +47 -8
- package/.env.example +0 -9
- package/MCP_MAINTENANCE.md +0 -265
- package/__tests__/crdt.integration.test.ts +0 -156
- package/configs/README.md +0 -77
- package/configs/claude-template.json +0 -54
- package/dist/packages/core/src/database/ssl-config.d.ts +0 -9
- package/dist/packages/core/src/database/ssl-config.d.ts.map +0 -1
- package/dist/packages/core/src/database/ssl-config.js +0 -8
- package/dist/packages/core/src/database/ssl-config.js.map +0 -1
- package/dist/packages/core/src/features.d.ts +0 -86
- package/dist/packages/core/src/features.d.ts.map +0 -1
- package/dist/packages/core/src/features.js +0 -93
- package/dist/packages/core/src/features.js.map +0 -1
- package/dist/packages/core/src/license.d.ts +0 -75
- package/dist/packages/core/src/license.d.ts.map +0 -1
- package/dist/packages/core/src/license.js +0 -174
- package/dist/packages/core/src/license.js.map +0 -1
- package/dist/packages/core/src/monitoring/alerts.d.ts +0 -118
- package/dist/packages/core/src/monitoring/alerts.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/alerts.js +0 -325
- package/dist/packages/core/src/monitoring/alerts.js.map +0 -1
- package/dist/packages/core/src/monitoring/cleanup-manager.d.ts +0 -71
- package/dist/packages/core/src/monitoring/cleanup-manager.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/cleanup-manager.js +0 -227
- package/dist/packages/core/src/monitoring/cleanup-manager.js.map +0 -1
- package/dist/packages/core/src/monitoring/health-monitor.d.ts +0 -22
- package/dist/packages/core/src/monitoring/health-monitor.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/health-monitor.js +0 -143
- package/dist/packages/core/src/monitoring/health-monitor.js.map +0 -1
- package/dist/packages/core/src/monitoring/index.d.ts +0 -14
- package/dist/packages/core/src/monitoring/index.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/index.js +0 -18
- package/dist/packages/core/src/monitoring/index.js.map +0 -1
- package/dist/packages/core/src/monitoring/process-registry.d.ts +0 -97
- package/dist/packages/core/src/monitoring/process-registry.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/process-registry.js +0 -223
- package/dist/packages/core/src/monitoring/process-registry.js.map +0 -1
- package/dist/packages/core/src/monitoring/types.d.ts +0 -231
- package/dist/packages/core/src/monitoring/types.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/types.js +0 -43
- package/dist/packages/core/src/monitoring/types.js.map +0 -1
- package/dist/packages/core/src/monitoring/zombie-detector.d.ts +0 -81
- package/dist/packages/core/src/monitoring/zombie-detector.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/zombie-detector.js +0 -232
- package/dist/packages/core/src/monitoring/zombie-detector.js.map +0 -1
- package/dist/packages/core/src/observability/logger.d.ts +0 -47
- package/dist/packages/core/src/observability/logger.d.ts.map +0 -1
- package/dist/packages/core/src/observability/logger.js +0 -141
- package/dist/packages/core/src/observability/logger.js.map +0 -1
- package/dist/packages/core/src/utils/logger-server.d.ts +0 -32
- package/dist/packages/core/src/utils/logger-server.d.ts.map +0 -1
- package/dist/packages/core/src/utils/logger-server.js +0 -69
- package/dist/packages/core/src/utils/logger-server.js.map +0 -1
- package/dist/packages/core/src/utils/request-context.d.ts +0 -143
- package/dist/packages/core/src/utils/request-context.d.ts.map +0 -1
- package/dist/packages/core/src/utils/request-context.js +0 -169
- package/dist/packages/core/src/utils/request-context.js.map +0 -1
- package/dist/packages/dev/src/code-validator/index.d.ts +0 -20
- package/dist/packages/dev/src/code-validator/index.d.ts.map +0 -1
- package/dist/packages/dev/src/code-validator/index.js +0 -20
- package/dist/packages/dev/src/code-validator/index.js.map +0 -1
- package/dist/packages/dev/src/code-validator/types.d.ts +0 -67
- package/dist/packages/dev/src/code-validator/types.d.ts.map +0 -1
- package/dist/packages/dev/src/code-validator/types.js +0 -7
- package/dist/packages/dev/src/code-validator/types.js.map +0 -1
- package/dist/packages/dev/src/code-validator/validator.d.ts +0 -48
- package/dist/packages/dev/src/code-validator/validator.d.ts.map +0 -1
- package/dist/packages/dev/src/code-validator/validator.js +0 -176
- package/dist/packages/dev/src/code-validator/validator.js.map +0 -1
- package/dist/packages/mcp/src/adapters/db.d.ts.map +0 -1
- package/dist/packages/mcp/src/adapters/db.js.map +0 -1
- package/dist/packages/mcp/src/config/index.d.ts.map +0 -1
- package/dist/packages/mcp/src/config/index.js.map +0 -1
- package/dist/packages/mcp/src/contracts.d.ts.map +0 -1
- package/dist/packages/mcp/src/contracts.js.map +0 -1
- package/dist/packages/mcp/src/hypervisor.d.ts.map +0 -1
- package/dist/packages/mcp/src/hypervisor.js.map +0 -1
- package/dist/packages/mcp/src/index.d.ts.map +0 -1
- package/dist/packages/mcp/src/index.js.map +0 -1
- package/dist/packages/mcp/src/servers/adapter.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/adapter.js.map +0 -1
- package/dist/packages/mcp/src/servers/code-validator.d.ts +0 -24
- package/dist/packages/mcp/src/servers/code-validator.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/code-validator.js +0 -156
- package/dist/packages/mcp/src/servers/code-validator.js.map +0 -1
- package/dist/packages/mcp/src/servers/neon.d.ts +0 -11
- package/dist/packages/mcp/src/servers/neon.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/neon.js +0 -90
- package/dist/packages/mcp/src/servers/neon.js.map +0 -1
- package/dist/packages/mcp/src/servers/next-devtools.d.ts +0 -11
- package/dist/packages/mcp/src/servers/next-devtools.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/next-devtools.js +0 -215
- package/dist/packages/mcp/src/servers/next-devtools.js.map +0 -1
- package/dist/packages/mcp/src/servers/playwright.d.ts +0 -11
- package/dist/packages/mcp/src/servers/playwright.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/playwright.js +0 -68
- package/dist/packages/mcp/src/servers/playwright.js.map +0 -1
- package/dist/packages/mcp/src/servers/stripe.d.ts +0 -11
- package/dist/packages/mcp/src/servers/stripe.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/stripe.js +0 -86
- package/dist/packages/mcp/src/servers/stripe.js.map +0 -1
- package/dist/packages/mcp/src/servers/supabase.d.ts +0 -11
- package/dist/packages/mcp/src/servers/supabase.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/supabase.js +0 -144
- package/dist/packages/mcp/src/servers/supabase.js.map +0 -1
- package/dist/packages/mcp/src/servers/vercel.d.ts +0 -11
- package/dist/packages/mcp/src/servers/vercel.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/vercel.js +0 -87
- package/dist/packages/mcp/src/servers/vercel.js.map +0 -1
- package/dist/packages/mcp/src/servers/vultr-test.d.ts +0 -3
- package/dist/packages/mcp/src/servers/vultr-test.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/vultr-test.js +0 -82
- package/dist/packages/mcp/src/servers/vultr-test.js.map +0 -1
- package/dist/scripts/lib/analyzers/console-analyzer.d.ts +0 -188
- package/dist/scripts/lib/analyzers/console-analyzer.d.ts.map +0 -1
- package/dist/scripts/lib/analyzers/console-analyzer.js +0 -432
- package/dist/scripts/lib/analyzers/console-analyzer.js.map +0 -1
- package/dist/scripts/lib/analyzers/index.d.ts +0 -11
- package/dist/scripts/lib/analyzers/index.d.ts.map +0 -1
- package/dist/scripts/lib/analyzers/index.js +0 -11
- package/dist/scripts/lib/analyzers/index.js.map +0 -1
- package/dist/scripts/lib/args.d.ts +0 -104
- package/dist/scripts/lib/args.d.ts.map +0 -1
- package/dist/scripts/lib/args.js +0 -304
- package/dist/scripts/lib/args.js.map +0 -1
- package/dist/scripts/lib/cache.d.ts +0 -185
- package/dist/scripts/lib/cache.d.ts.map +0 -1
- package/dist/scripts/lib/cache.js +0 -390
- package/dist/scripts/lib/cache.js.map +0 -1
- package/dist/scripts/lib/cli/dispatch.d.ts +0 -116
- package/dist/scripts/lib/cli/dispatch.d.ts.map +0 -1
- package/dist/scripts/lib/cli/dispatch.js +0 -206
- package/dist/scripts/lib/cli/dispatch.js.map +0 -1
- package/dist/scripts/lib/cli/index.d.ts +0 -10
- package/dist/scripts/lib/cli/index.d.ts.map +0 -1
- package/dist/scripts/lib/cli/index.js +0 -10
- package/dist/scripts/lib/cli/index.js.map +0 -1
- package/dist/scripts/lib/database/ssl-config.d.ts +0 -26
- package/dist/scripts/lib/database/ssl-config.d.ts.map +0 -1
- package/dist/scripts/lib/database/ssl-config.js +0 -47
- package/dist/scripts/lib/database/ssl-config.js.map +0 -1
- package/dist/scripts/lib/errors.d.ts +0 -218
- package/dist/scripts/lib/errors.d.ts.map +0 -1
- package/dist/scripts/lib/errors.js +0 -543
- package/dist/scripts/lib/errors.js.map +0 -1
- package/dist/scripts/lib/exec.d.ts +0 -107
- package/dist/scripts/lib/exec.d.ts.map +0 -1
- package/dist/scripts/lib/exec.js +0 -232
- package/dist/scripts/lib/exec.js.map +0 -1
- package/dist/scripts/lib/index.d.ts +0 -50
- package/dist/scripts/lib/index.d.ts.map +0 -1
- package/dist/scripts/lib/index.js +0 -65
- package/dist/scripts/lib/index.js.map +0 -1
- package/dist/scripts/lib/logger.d.ts +0 -50
- package/dist/scripts/lib/logger.d.ts.map +0 -1
- package/dist/scripts/lib/logger.js +0 -159
- package/dist/scripts/lib/logger.js.map +0 -1
- package/dist/scripts/lib/output.d.ts +0 -149
- package/dist/scripts/lib/output.d.ts.map +0 -1
- package/dist/scripts/lib/output.js +0 -263
- package/dist/scripts/lib/output.js.map +0 -1
- package/dist/scripts/lib/parallel.d.ts +0 -164
- package/dist/scripts/lib/parallel.d.ts.map +0 -1
- package/dist/scripts/lib/parallel.js +0 -355
- package/dist/scripts/lib/parallel.js.map +0 -1
- package/dist/scripts/lib/paths.d.ts +0 -92
- package/dist/scripts/lib/paths.d.ts.map +0 -1
- package/dist/scripts/lib/paths.js +0 -171
- package/dist/scripts/lib/paths.js.map +0 -1
- package/dist/scripts/lib/state/adapters/memory.d.ts +0 -42
- package/dist/scripts/lib/state/adapters/memory.d.ts.map +0 -1
- package/dist/scripts/lib/state/adapters/memory.js +0 -110
- package/dist/scripts/lib/state/adapters/memory.js.map +0 -1
- package/dist/scripts/lib/state/adapters/pglite.d.ts +0 -46
- package/dist/scripts/lib/state/adapters/pglite.d.ts.map +0 -1
- package/dist/scripts/lib/state/adapters/pglite.js +0 -256
- package/dist/scripts/lib/state/adapters/pglite.js.map +0 -1
- package/dist/scripts/lib/state/index.d.ts +0 -16
- package/dist/scripts/lib/state/index.d.ts.map +0 -1
- package/dist/scripts/lib/state/index.js +0 -16
- package/dist/scripts/lib/state/index.js.map +0 -1
- package/dist/scripts/lib/state/types.d.ts +0 -111
- package/dist/scripts/lib/state/types.d.ts.map +0 -1
- package/dist/scripts/lib/state/types.js +0 -8
- package/dist/scripts/lib/state/types.js.map +0 -1
- package/dist/scripts/lib/state/workflow-state.d.ts +0 -110
- package/dist/scripts/lib/state/workflow-state.d.ts.map +0 -1
- package/dist/scripts/lib/state/workflow-state.js +0 -331
- package/dist/scripts/lib/state/workflow-state.js.map +0 -1
- package/dist/scripts/lib/telemetry.d.ts +0 -194
- package/dist/scripts/lib/telemetry.d.ts.map +0 -1
- package/dist/scripts/lib/telemetry.js +0 -394
- package/dist/scripts/lib/telemetry.js.map +0 -1
- package/dist/scripts/lib/utils.d.ts +0 -270
- package/dist/scripts/lib/utils.d.ts.map +0 -1
- package/dist/scripts/lib/utils.js +0 -473
- package/dist/scripts/lib/utils.js.map +0 -1
- package/dist/scripts/lib/validation/database.d.ts +0 -83
- package/dist/scripts/lib/validation/database.d.ts.map +0 -1
- package/dist/scripts/lib/validation/database.js +0 -199
- package/dist/scripts/lib/validation/database.js.map +0 -1
- package/dist/scripts/lib/validation/env.d.ts +0 -80
- package/dist/scripts/lib/validation/env.d.ts.map +0 -1
- package/dist/scripts/lib/validation/env.js +0 -246
- package/dist/scripts/lib/validation/env.js.map +0 -1
- package/dist/scripts/lib/validation/index.d.ts +0 -16
- package/dist/scripts/lib/validation/index.d.ts.map +0 -1
- package/dist/scripts/lib/validation/index.js +0 -16
- package/dist/scripts/lib/validation/index.js.map +0 -1
- package/dist/scripts/lib/validation/post-execution.d.ts +0 -74
- package/dist/scripts/lib/validation/post-execution.d.ts.map +0 -1
- package/dist/scripts/lib/validation/post-execution.js +0 -110
- package/dist/scripts/lib/validation/post-execution.js.map +0 -1
- package/dist/scripts/lib/validation/pre-execution.d.ts +0 -165
- package/dist/scripts/lib/validation/pre-execution.d.ts.map +0 -1
- package/dist/scripts/lib/validation/pre-execution.js +0 -466
- package/dist/scripts/lib/validation/pre-execution.js.map +0 -1
- package/dist/scripts/lib/validators/documentation-validator.d.ts +0 -242
- package/dist/scripts/lib/validators/documentation-validator.d.ts.map +0 -1
- package/dist/scripts/lib/validators/documentation-validator.js +0 -584
- package/dist/scripts/lib/validators/documentation-validator.js.map +0 -1
- package/dist/scripts/lib/validators/index.d.ts +0 -11
- package/dist/scripts/lib/validators/index.d.ts.map +0 -1
- package/dist/scripts/lib/validators/index.js +0 -11
- package/dist/scripts/lib/validators/index.js.map +0 -1
- package/docker-compose.yml +0 -46
- package/docs/INDEX.md +0 -88
- package/docs/README.md +0 -774
- package/docs/SETUP.md +0 -264
- package/docs/servers/code-validator.md +0 -586
- package/eslint.config.js +0 -7
- package/migrations/0001_add_crdt_columns.sql +0 -8
- package/migrations/0001_rollback.sql +0 -6
- package/migrations/005_performance_indexes.sql +0 -190
- package/migrations/backfill_crdt_meta.js +0 -45
- package/src/__tests__/hypervisor.test.ts +0 -212
- package/src/adapters/db.ts +0 -180
- package/src/config/config.json +0 -49
- package/src/config/index.ts +0 -30
- package/src/contracts.ts +0 -221
- package/src/hypervisor.ts +0 -464
- package/src/index.ts +0 -87
- package/src/servers/adapter.ts +0 -643
- package/src/servers/code-validator.ts +0 -188
- package/src/servers/neon.ts +0 -103
- package/src/servers/next-devtools.ts +0 -230
- package/src/servers/playwright.ts +0 -77
- package/src/servers/stripe.ts +0 -99
- package/src/servers/supabase.ts +0 -161
- package/src/servers/vercel.ts +0 -100
- package/src/servers/vultr-test.ts +0 -97
- package/tsconfig.json +0 -12
- package/vitest.config.ts +0 -22
- /package/dist/{packages/mcp/src/adapters → adapters}/db.d.ts +0 -0
- /package/dist/{packages/mcp/src/adapters → adapters}/db.js +0 -0
- /package/dist/{packages/mcp/src/config → config}/index.d.ts +0 -0
- /package/dist/{packages/mcp/src/config → config}/index.js +0 -0
- /package/dist/{packages/mcp/src/contracts.d.ts → contracts.d.ts} +0 -0
- /package/dist/{packages/mcp/src/contracts.js → contracts.js} +0 -0
- /package/dist/{packages/mcp/src/hypervisor.d.ts → hypervisor.d.ts} +0 -0
- /package/dist/{packages/mcp/src/hypervisor.js → hypervisor.js} +0 -0
- /package/dist/{packages/mcp/src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{packages/mcp/src/index.js → index.js} +0 -0
|
@@ -1,466 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pre-Execution Validation
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive validation checks to run before script execution.
|
|
5
|
-
* Ensures environment is properly configured and requirements are met.
|
|
6
|
-
*
|
|
7
|
-
* @dependencies
|
|
8
|
-
* - node:child_process - Process execution for git and disk checks
|
|
9
|
-
* - node:fs - Synchronous file system checks
|
|
10
|
-
* - node:fs/promises - Asynchronous file system operations
|
|
11
|
-
* - node:path - Path manipulation utilities
|
|
12
|
-
* - node:util - Promisify utilities for exec
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* import { ErrorCode } from '../errors.js'
|
|
17
|
-
*
|
|
18
|
-
* const validator = new PreExecutionValidator()
|
|
19
|
-
*
|
|
20
|
-
* const result = await validator.validate({
|
|
21
|
-
* checks: ['env', 'git', 'disk'],
|
|
22
|
-
* required: ['DATABASE_URL'],
|
|
23
|
-
* minDiskSpace: 1024 * 1024 * 1024, // 1GB
|
|
24
|
-
* })
|
|
25
|
-
*
|
|
26
|
-
* if (!result.passed) {
|
|
27
|
-
* console.error('Validation failed:', result.errors)
|
|
28
|
-
* process.exit(ErrorCode.VALIDATION_ERROR)
|
|
29
|
-
* }
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
import { exec } from 'node:child_process';
|
|
33
|
-
import { existsSync } from 'node:fs';
|
|
34
|
-
import { access, constants } from 'node:fs/promises';
|
|
35
|
-
import { join } from 'node:path';
|
|
36
|
-
import { promisify } from 'node:util';
|
|
37
|
-
const execAsync = promisify(exec);
|
|
38
|
-
// =============================================================================
|
|
39
|
-
// Pre-Execution Validator
|
|
40
|
-
// =============================================================================
|
|
41
|
-
export class PreExecutionValidator {
|
|
42
|
-
/**
|
|
43
|
-
* Validate execution environment
|
|
44
|
-
*/
|
|
45
|
-
async validate(options = {}) {
|
|
46
|
-
const { checks = ['env', 'git', 'disk'], requiredEnvVars = [], optionalEnvVars = [], minDiskSpace, requiredPaths = [], writablePaths = [], requireCleanGit = false, minNodeVersion, checkDatabase = false, databaseUrl, } = options;
|
|
47
|
-
const errors = [];
|
|
48
|
-
const warnings = [];
|
|
49
|
-
const checkResults = [];
|
|
50
|
-
const fixes = [];
|
|
51
|
-
// Run each check
|
|
52
|
-
for (const check of checks) {
|
|
53
|
-
const startTime = Date.now();
|
|
54
|
-
let result;
|
|
55
|
-
try {
|
|
56
|
-
switch (check) {
|
|
57
|
-
case 'env':
|
|
58
|
-
result = await this.checkEnvironmentVariables(requiredEnvVars, optionalEnvVars);
|
|
59
|
-
break;
|
|
60
|
-
case 'dependencies':
|
|
61
|
-
result = await this.checkDependencies();
|
|
62
|
-
break;
|
|
63
|
-
case 'database':
|
|
64
|
-
result = await this.checkDatabase(checkDatabase, databaseUrl);
|
|
65
|
-
break;
|
|
66
|
-
case 'git':
|
|
67
|
-
result = await this.checkGit(requireCleanGit);
|
|
68
|
-
break;
|
|
69
|
-
case 'disk':
|
|
70
|
-
result = await this.checkDiskSpace(minDiskSpace);
|
|
71
|
-
break;
|
|
72
|
-
case 'permissions':
|
|
73
|
-
result = await this.checkPermissions(requiredPaths, writablePaths);
|
|
74
|
-
break;
|
|
75
|
-
case 'network':
|
|
76
|
-
result = await this.checkNetwork();
|
|
77
|
-
break;
|
|
78
|
-
case 'node-version':
|
|
79
|
-
result = await this.checkNodeVersion(minNodeVersion);
|
|
80
|
-
break;
|
|
81
|
-
default:
|
|
82
|
-
result = {
|
|
83
|
-
check,
|
|
84
|
-
passed: true,
|
|
85
|
-
durationMs: 0,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
result.durationMs = Date.now() - startTime;
|
|
89
|
-
checkResults.push(result);
|
|
90
|
-
if (!result.passed) {
|
|
91
|
-
errors.push({
|
|
92
|
-
check,
|
|
93
|
-
message: result.error || 'Check failed',
|
|
94
|
-
details: result.metadata,
|
|
95
|
-
});
|
|
96
|
-
// Add suggested fixes
|
|
97
|
-
const checkFixes = this.getSuggestedFixes(check, result);
|
|
98
|
-
fixes.push(...checkFixes);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
103
|
-
checkResults.push({
|
|
104
|
-
check,
|
|
105
|
-
passed: false,
|
|
106
|
-
error: errorMessage,
|
|
107
|
-
durationMs: Date.now() - startTime,
|
|
108
|
-
});
|
|
109
|
-
errors.push({
|
|
110
|
-
check,
|
|
111
|
-
message: errorMessage,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
passed: errors.length === 0,
|
|
117
|
-
errors,
|
|
118
|
-
warnings,
|
|
119
|
-
checkResults,
|
|
120
|
-
fixes,
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
// ===========================================================================
|
|
124
|
-
// Individual Checks
|
|
125
|
-
// ===========================================================================
|
|
126
|
-
/**
|
|
127
|
-
* Check environment variables
|
|
128
|
-
*/
|
|
129
|
-
async checkEnvironmentVariables(required, optional) {
|
|
130
|
-
const missing = required.filter((name) => !process.env[name]);
|
|
131
|
-
const missingOptional = optional.filter((name) => !process.env[name]);
|
|
132
|
-
if (missing.length > 0) {
|
|
133
|
-
return {
|
|
134
|
-
check: 'env',
|
|
135
|
-
passed: false,
|
|
136
|
-
error: `Missing required environment variables: ${missing.join(', ')}`,
|
|
137
|
-
durationMs: 0,
|
|
138
|
-
metadata: { missing, missingOptional },
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
check: 'env',
|
|
143
|
-
passed: true,
|
|
144
|
-
durationMs: 0,
|
|
145
|
-
metadata: { missingOptional },
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Check dependencies are installed
|
|
150
|
-
*/
|
|
151
|
-
async checkDependencies() {
|
|
152
|
-
try {
|
|
153
|
-
const nodeModulesExists = existsSync(join(process.cwd(), 'node_modules'));
|
|
154
|
-
if (!nodeModulesExists) {
|
|
155
|
-
return {
|
|
156
|
-
check: 'dependencies',
|
|
157
|
-
passed: false,
|
|
158
|
-
error: 'node_modules directory not found',
|
|
159
|
-
durationMs: 0,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
return {
|
|
163
|
-
check: 'dependencies',
|
|
164
|
-
passed: true,
|
|
165
|
-
durationMs: 0,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
return {
|
|
170
|
-
check: 'dependencies',
|
|
171
|
-
passed: false,
|
|
172
|
-
error: error instanceof Error ? error.message : String(error),
|
|
173
|
-
durationMs: 0,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Check database connectivity
|
|
179
|
-
*/
|
|
180
|
-
async checkDatabase(shouldCheck, databaseUrl) {
|
|
181
|
-
if (!shouldCheck) {
|
|
182
|
-
return { check: 'database', passed: true, durationMs: 0 };
|
|
183
|
-
}
|
|
184
|
-
const url = databaseUrl || process.env.DATABASE_URL;
|
|
185
|
-
if (!url) {
|
|
186
|
-
return {
|
|
187
|
-
check: 'database',
|
|
188
|
-
passed: false,
|
|
189
|
-
error: 'DATABASE_URL not configured',
|
|
190
|
-
durationMs: 0,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
// Simplified check - in production, would attempt actual connection
|
|
194
|
-
return {
|
|
195
|
-
check: 'database',
|
|
196
|
-
passed: true,
|
|
197
|
-
durationMs: 0,
|
|
198
|
-
metadata: { configured: true },
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Check git working tree
|
|
203
|
-
*/
|
|
204
|
-
async checkGit(requireClean) {
|
|
205
|
-
try {
|
|
206
|
-
// Check if git repo
|
|
207
|
-
await execAsync('git rev-parse --git-dir', { encoding: 'utf-8' });
|
|
208
|
-
if (requireClean) {
|
|
209
|
-
const { stdout } = await execAsync('git status --porcelain', { encoding: 'utf-8' });
|
|
210
|
-
if (stdout.trim()) {
|
|
211
|
-
return {
|
|
212
|
-
check: 'git',
|
|
213
|
-
passed: false,
|
|
214
|
-
error: 'Git working tree is not clean',
|
|
215
|
-
durationMs: 0,
|
|
216
|
-
metadata: { uncommittedChanges: true },
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return {
|
|
221
|
-
check: 'git',
|
|
222
|
-
passed: true,
|
|
223
|
-
durationMs: 0,
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
catch (_error) {
|
|
227
|
-
return {
|
|
228
|
-
check: 'git',
|
|
229
|
-
passed: false,
|
|
230
|
-
error: 'Not a git repository',
|
|
231
|
-
durationMs: 0,
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Check available disk space
|
|
237
|
-
*/
|
|
238
|
-
async checkDiskSpace(minBytes) {
|
|
239
|
-
if (!minBytes) {
|
|
240
|
-
return { check: 'disk', passed: true, durationMs: 0 };
|
|
241
|
-
}
|
|
242
|
-
try {
|
|
243
|
-
// Use df command to check disk space
|
|
244
|
-
const { stdout } = await execAsync('df -k .', { encoding: 'utf-8' });
|
|
245
|
-
const lines = stdout.split('\n');
|
|
246
|
-
const dataLine = lines[1]; // Second line contains the data
|
|
247
|
-
if (!dataLine) {
|
|
248
|
-
return {
|
|
249
|
-
check: 'disk',
|
|
250
|
-
passed: false,
|
|
251
|
-
error: 'Could not read disk space',
|
|
252
|
-
durationMs: 0,
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
const parts = dataLine.split(/\s+/);
|
|
256
|
-
const availableKB = parseInt(parts[3], 10);
|
|
257
|
-
const availableBytes = availableKB * 1024;
|
|
258
|
-
if (availableBytes < minBytes) {
|
|
259
|
-
return {
|
|
260
|
-
check: 'disk',
|
|
261
|
-
passed: false,
|
|
262
|
-
error: `Insufficient disk space: ${this.formatBytes(availableBytes)} available, ${this.formatBytes(minBytes)} required`,
|
|
263
|
-
durationMs: 0,
|
|
264
|
-
metadata: { available: availableBytes, required: minBytes },
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
return {
|
|
268
|
-
check: 'disk',
|
|
269
|
-
passed: true,
|
|
270
|
-
durationMs: 0,
|
|
271
|
-
metadata: { available: availableBytes },
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
catch (error) {
|
|
275
|
-
return {
|
|
276
|
-
check: 'disk',
|
|
277
|
-
passed: false,
|
|
278
|
-
error: error instanceof Error ? error.message : String(error),
|
|
279
|
-
durationMs: 0,
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Check file permissions
|
|
285
|
-
*/
|
|
286
|
-
async checkPermissions(requiredPaths, writablePaths) {
|
|
287
|
-
const missing = [];
|
|
288
|
-
const notWritable = [];
|
|
289
|
-
// Check required paths exist
|
|
290
|
-
for (const path of requiredPaths) {
|
|
291
|
-
if (!existsSync(path)) {
|
|
292
|
-
missing.push(path);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
// Check writable paths
|
|
296
|
-
for (const path of writablePaths) {
|
|
297
|
-
try {
|
|
298
|
-
await access(path, constants.W_OK);
|
|
299
|
-
}
|
|
300
|
-
catch {
|
|
301
|
-
notWritable.push(path);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
if (missing.length > 0 || notWritable.length > 0) {
|
|
305
|
-
return {
|
|
306
|
-
check: 'permissions',
|
|
307
|
-
passed: false,
|
|
308
|
-
error: `Permission check failed: ${missing.length} missing, ${notWritable.length} not writable`,
|
|
309
|
-
durationMs: 0,
|
|
310
|
-
metadata: { missing, notWritable },
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
return {
|
|
314
|
-
check: 'permissions',
|
|
315
|
-
passed: true,
|
|
316
|
-
durationMs: 0,
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Check network connectivity
|
|
321
|
-
*/
|
|
322
|
-
async checkNetwork() {
|
|
323
|
-
try {
|
|
324
|
-
// Simple DNS resolution check
|
|
325
|
-
const { stdout: _stdout } = await execAsync('ping -c 1 -W 1 8.8.8.8 || ping -n 1 -w 1000 8.8.8.8', {
|
|
326
|
-
encoding: 'utf-8',
|
|
327
|
-
});
|
|
328
|
-
return {
|
|
329
|
-
check: 'network',
|
|
330
|
-
passed: true,
|
|
331
|
-
durationMs: 0,
|
|
332
|
-
};
|
|
333
|
-
}
|
|
334
|
-
catch {
|
|
335
|
-
return {
|
|
336
|
-
check: 'network',
|
|
337
|
-
passed: false,
|
|
338
|
-
error: 'No network connectivity',
|
|
339
|
-
durationMs: 0,
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Check Node.js version
|
|
345
|
-
*/
|
|
346
|
-
async checkNodeVersion(minVersion) {
|
|
347
|
-
if (!minVersion) {
|
|
348
|
-
return { check: 'node-version', passed: true, durationMs: 0 };
|
|
349
|
-
}
|
|
350
|
-
const currentVersion = process.version.replace('v', '');
|
|
351
|
-
const meetsRequirement = this.compareVersions(currentVersion, minVersion) >= 0;
|
|
352
|
-
if (!meetsRequirement) {
|
|
353
|
-
return {
|
|
354
|
-
check: 'node-version',
|
|
355
|
-
passed: false,
|
|
356
|
-
error: `Node.js version ${currentVersion} does not meet minimum requirement ${minVersion}`,
|
|
357
|
-
durationMs: 0,
|
|
358
|
-
metadata: { current: currentVersion, required: minVersion },
|
|
359
|
-
};
|
|
360
|
-
}
|
|
361
|
-
return {
|
|
362
|
-
check: 'node-version',
|
|
363
|
-
passed: true,
|
|
364
|
-
durationMs: 0,
|
|
365
|
-
metadata: { version: currentVersion },
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
|
-
// ===========================================================================
|
|
369
|
-
// Helper Methods
|
|
370
|
-
// ===========================================================================
|
|
371
|
-
/**
|
|
372
|
-
* Get suggested fixes for a failed check
|
|
373
|
-
*/
|
|
374
|
-
getSuggestedFixes(check, result) {
|
|
375
|
-
const fixes = [];
|
|
376
|
-
switch (check) {
|
|
377
|
-
case 'env':
|
|
378
|
-
if (result.metadata?.missing) {
|
|
379
|
-
const missing = result.metadata.missing;
|
|
380
|
-
fixes.push(`Set missing environment variables: ${missing.join(', ')}`);
|
|
381
|
-
fixes.push('Check .env.example for required variables');
|
|
382
|
-
}
|
|
383
|
-
break;
|
|
384
|
-
case 'dependencies':
|
|
385
|
-
fixes.push('Run: pnpm install');
|
|
386
|
-
break;
|
|
387
|
-
case 'database':
|
|
388
|
-
fixes.push('Set DATABASE_URL environment variable');
|
|
389
|
-
fixes.push('Ensure database server is running');
|
|
390
|
-
break;
|
|
391
|
-
case 'git':
|
|
392
|
-
if (result.metadata?.uncommittedChanges) {
|
|
393
|
-
fixes.push('Commit or stash uncommitted changes');
|
|
394
|
-
fixes.push('Run: git status to see changes');
|
|
395
|
-
}
|
|
396
|
-
else {
|
|
397
|
-
fixes.push('Initialize git repository: git init');
|
|
398
|
-
}
|
|
399
|
-
break;
|
|
400
|
-
case 'disk':
|
|
401
|
-
fixes.push('Free up disk space');
|
|
402
|
-
fixes.push('Remove unnecessary files or node_modules');
|
|
403
|
-
break;
|
|
404
|
-
case 'permissions':
|
|
405
|
-
if (result.metadata?.missing) {
|
|
406
|
-
const missing = result.metadata.missing;
|
|
407
|
-
fixes.push(`Create missing paths: ${missing.join(', ')}`);
|
|
408
|
-
}
|
|
409
|
-
if (result.metadata?.notWritable) {
|
|
410
|
-
const notWritable = result.metadata.notWritable;
|
|
411
|
-
fixes.push(`Grant write permissions: chmod +w ${notWritable.join(' ')}`);
|
|
412
|
-
}
|
|
413
|
-
break;
|
|
414
|
-
case 'network':
|
|
415
|
-
fixes.push('Check internet connection');
|
|
416
|
-
fixes.push('Check firewall settings');
|
|
417
|
-
break;
|
|
418
|
-
case 'node-version':
|
|
419
|
-
if (result.metadata?.required) {
|
|
420
|
-
fixes.push(`Upgrade Node.js to version ${result.metadata.required} or higher`);
|
|
421
|
-
fixes.push('Use nvm: nvm install <version>');
|
|
422
|
-
}
|
|
423
|
-
break;
|
|
424
|
-
}
|
|
425
|
-
return fixes;
|
|
426
|
-
}
|
|
427
|
-
/**
|
|
428
|
-
* Format bytes to human-readable string
|
|
429
|
-
*/
|
|
430
|
-
formatBytes(bytes) {
|
|
431
|
-
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
432
|
-
let size = bytes;
|
|
433
|
-
let unitIndex = 0;
|
|
434
|
-
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
435
|
-
size /= 1024;
|
|
436
|
-
unitIndex++;
|
|
437
|
-
}
|
|
438
|
-
return `${size.toFixed(2)} ${units[unitIndex]}`;
|
|
439
|
-
}
|
|
440
|
-
/**
|
|
441
|
-
* Compare semantic versions
|
|
442
|
-
*/
|
|
443
|
-
compareVersions(a, b) {
|
|
444
|
-
const aParts = a.split('.').map(Number);
|
|
445
|
-
const bParts = b.split('.').map(Number);
|
|
446
|
-
for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {
|
|
447
|
-
const aPart = aParts[i] || 0;
|
|
448
|
-
const bPart = bParts[i] || 0;
|
|
449
|
-
if (aPart > bPart)
|
|
450
|
-
return 1;
|
|
451
|
-
if (aPart < bPart)
|
|
452
|
-
return -1;
|
|
453
|
-
}
|
|
454
|
-
return 0;
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
// =============================================================================
|
|
458
|
-
// Factory Function
|
|
459
|
-
// =============================================================================
|
|
460
|
-
/**
|
|
461
|
-
* Create a pre-execution validator
|
|
462
|
-
*/
|
|
463
|
-
export function createPreExecutionValidator() {
|
|
464
|
-
return new PreExecutionValidator();
|
|
465
|
-
}
|
|
466
|
-
//# sourceMappingURL=pre-execution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pre-execution.js","sourceRoot":"","sources":["../../../../../../scripts/lib/validation/pre-execution.ts"],"names":[],"mappings":"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"}
|