@revealui/mcp 0.1.0 → 0.1.3
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 +111 -0
- package/README.md +3 -0
- package/dist/{packages/mcp/src/adapters → adapters}/db.d.ts +1 -1
- 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/{packages/mcp/src/hypervisor.d.ts → hypervisor.d.ts} +56 -0
- package/dist/hypervisor.d.ts.map +1 -0
- package/dist/{packages/mcp/src/hypervisor.js → hypervisor.js} +209 -1
- package/dist/hypervisor.js.map +1 -0
- package/dist/{packages/mcp/src/index.d.ts → index.d.ts} +9 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/{packages/mcp/src/index.js → index.js} +8 -4
- 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 +211 -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 +190 -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 +228 -0
- package/dist/servers/revealui-stripe.js.map +1 -0
- package/package.json +50 -11
- 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.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
|
@@ -1,543 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified Error System
|
|
3
|
-
*
|
|
4
|
-
* Consolidates error-handler.ts and errors.ts into a single comprehensive error system.
|
|
5
|
-
* Provides standardized error codes, enhanced error messages, suggestions, and recovery options.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Typed error codes with exit code mapping
|
|
9
|
-
* - Contextual error enhancement with suggestions
|
|
10
|
-
* - Pattern-based suggestion generation
|
|
11
|
-
* - Documentation link generation
|
|
12
|
-
* - Error recovery helpers
|
|
13
|
-
* - Retry logic with enhanced errors
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* import { ScriptError, ErrorCode } from './errors.js'
|
|
18
|
-
*
|
|
19
|
-
* // Throw typed errors with suggestions
|
|
20
|
-
* throw new ScriptError('Database connection failed', ErrorCode.EXECUTION_ERROR, {
|
|
21
|
-
* suggestions: ['Check if database is running', 'Verify DATABASE_URL'],
|
|
22
|
-
* docsUrl: 'https://docs.revealui.dev/database',
|
|
23
|
-
* })
|
|
24
|
-
*
|
|
25
|
-
* // Use factory functions with auto-suggestions
|
|
26
|
-
* throw notFound('Workflow', id) // Auto-generates helpful suggestions
|
|
27
|
-
*
|
|
28
|
-
* // Handle errors with proper exit codes
|
|
29
|
-
* try {
|
|
30
|
-
* await runCommand()
|
|
31
|
-
* } catch (error) {
|
|
32
|
-
* if (error instanceof ScriptError) {
|
|
33
|
-
* console.error(error.format()) // Pretty formatted error
|
|
34
|
-
* process.exit(error.code)
|
|
35
|
-
* }
|
|
36
|
-
* process.exit(ErrorCode.GENERAL_ERROR)
|
|
37
|
-
* }
|
|
38
|
-
* ```
|
|
39
|
-
*
|
|
40
|
-
* @dependencies
|
|
41
|
-
* - None (foundational module with no external dependencies)
|
|
42
|
-
*/
|
|
43
|
-
// =============================================================================
|
|
44
|
-
// Error Codes
|
|
45
|
-
// =============================================================================
|
|
46
|
-
/**
|
|
47
|
-
* Standardized exit codes for CLI scripts.
|
|
48
|
-
*
|
|
49
|
-
* These follow Unix conventions where 0 = success, non-zero = failure,
|
|
50
|
-
* with specific codes for different failure types.
|
|
51
|
-
*/
|
|
52
|
-
export var ErrorCode;
|
|
53
|
-
(function (ErrorCode) {
|
|
54
|
-
/** Operation completed successfully */
|
|
55
|
-
ErrorCode[ErrorCode["SUCCESS"] = 0] = "SUCCESS";
|
|
56
|
-
/** General/unknown error */
|
|
57
|
-
ErrorCode[ErrorCode["GENERAL_ERROR"] = 1] = "GENERAL_ERROR";
|
|
58
|
-
/** Configuration error (missing env var, bad config file) */
|
|
59
|
-
ErrorCode[ErrorCode["CONFIG_ERROR"] = 2] = "CONFIG_ERROR";
|
|
60
|
-
/** Execution error (command failed, external service error) */
|
|
61
|
-
ErrorCode[ErrorCode["EXECUTION_ERROR"] = 3] = "EXECUTION_ERROR";
|
|
62
|
-
/** Validation error (bad input, invalid arguments) */
|
|
63
|
-
ErrorCode[ErrorCode["VALIDATION_ERROR"] = 4] = "VALIDATION_ERROR";
|
|
64
|
-
/** Timeout error (operation took too long) */
|
|
65
|
-
ErrorCode[ErrorCode["TIMEOUT_ERROR"] = 5] = "TIMEOUT_ERROR";
|
|
66
|
-
/** Resource not found (workflow, file, etc.) */
|
|
67
|
-
ErrorCode[ErrorCode["NOT_FOUND"] = 6] = "NOT_FOUND";
|
|
68
|
-
/** Permission denied (auth failed, insufficient permissions) */
|
|
69
|
-
ErrorCode[ErrorCode["PERMISSION_DENIED"] = 7] = "PERMISSION_DENIED";
|
|
70
|
-
/** Conflict error (resource already exists, concurrent modification) */
|
|
71
|
-
ErrorCode[ErrorCode["CONFLICT"] = 8] = "CONFLICT";
|
|
72
|
-
/** Operation cancelled by user */
|
|
73
|
-
ErrorCode[ErrorCode["CANCELLED"] = 9] = "CANCELLED";
|
|
74
|
-
/** Dependency error (missing tool, wrong version) */
|
|
75
|
-
ErrorCode[ErrorCode["DEPENDENCY_ERROR"] = 10] = "DEPENDENCY_ERROR";
|
|
76
|
-
/** Network error (connection failed, DNS resolution) */
|
|
77
|
-
ErrorCode[ErrorCode["NETWORK_ERROR"] = 11] = "NETWORK_ERROR";
|
|
78
|
-
/** Rate limit exceeded */
|
|
79
|
-
ErrorCode[ErrorCode["RATE_LIMITED"] = 12] = "RATE_LIMITED";
|
|
80
|
-
/** Invalid state (operation not allowed in current state) */
|
|
81
|
-
ErrorCode[ErrorCode["INVALID_STATE"] = 13] = "INVALID_STATE";
|
|
82
|
-
})(ErrorCode || (ErrorCode = {}));
|
|
83
|
-
/**
|
|
84
|
-
* Human-readable descriptions for error codes
|
|
85
|
-
*/
|
|
86
|
-
export const ErrorCodeDescriptions = {
|
|
87
|
-
[ErrorCode.SUCCESS]: 'Operation completed successfully',
|
|
88
|
-
[ErrorCode.GENERAL_ERROR]: 'An unexpected error occurred',
|
|
89
|
-
[ErrorCode.CONFIG_ERROR]: 'Configuration error',
|
|
90
|
-
[ErrorCode.EXECUTION_ERROR]: 'Command execution failed',
|
|
91
|
-
[ErrorCode.VALIDATION_ERROR]: 'Invalid input or arguments',
|
|
92
|
-
[ErrorCode.TIMEOUT_ERROR]: 'Operation timed out',
|
|
93
|
-
[ErrorCode.NOT_FOUND]: 'Resource not found',
|
|
94
|
-
[ErrorCode.PERMISSION_DENIED]: 'Permission denied',
|
|
95
|
-
[ErrorCode.CONFLICT]: 'Resource conflict',
|
|
96
|
-
[ErrorCode.CANCELLED]: 'Operation cancelled',
|
|
97
|
-
[ErrorCode.DEPENDENCY_ERROR]: 'Missing or incompatible dependency',
|
|
98
|
-
[ErrorCode.NETWORK_ERROR]: 'Network error',
|
|
99
|
-
[ErrorCode.RATE_LIMITED]: 'Rate limit exceeded',
|
|
100
|
-
[ErrorCode.INVALID_STATE]: 'Invalid state for operation',
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Unified error class for CLI scripts
|
|
104
|
-
*
|
|
105
|
-
* Includes error codes, contextual information, suggestions, and recovery options.
|
|
106
|
-
* Merges functionality from both ScriptError and EnhancedError.
|
|
107
|
-
*/
|
|
108
|
-
export class ScriptError extends Error {
|
|
109
|
-
/** Error code (maps to exit code) */
|
|
110
|
-
code;
|
|
111
|
-
/** Additional error details/context */
|
|
112
|
-
context;
|
|
113
|
-
/** Error code as string (for JSON output) */
|
|
114
|
-
codeString;
|
|
115
|
-
/** Suggested fixes for this error */
|
|
116
|
-
suggestions;
|
|
117
|
-
/** Documentation URL */
|
|
118
|
-
docsUrl;
|
|
119
|
-
/** Recovery steps */
|
|
120
|
-
recovery;
|
|
121
|
-
/** Whether this error is recoverable */
|
|
122
|
-
recoverable;
|
|
123
|
-
/** Operation being performed when error occurred */
|
|
124
|
-
operation;
|
|
125
|
-
/** Timestamp when error was created */
|
|
126
|
-
timestamp;
|
|
127
|
-
/** Original error if this wraps another error */
|
|
128
|
-
originalError;
|
|
129
|
-
// Legacy property for backward compatibility
|
|
130
|
-
get details() {
|
|
131
|
-
return this.context;
|
|
132
|
-
}
|
|
133
|
-
constructor(message, code = ErrorCode.GENERAL_ERROR, options) {
|
|
134
|
-
super(message);
|
|
135
|
-
this.name = 'ScriptError';
|
|
136
|
-
this.code = code;
|
|
137
|
-
this.codeString = ErrorCode[code] ?? 'UNKNOWN';
|
|
138
|
-
this.timestamp = Date.now();
|
|
139
|
-
// Handle both old-style (details) and new-style (EnhancedErrorOptions)
|
|
140
|
-
if (options) {
|
|
141
|
-
// Use 'in' operator for type-safe property access with proper type assertions
|
|
142
|
-
this.context =
|
|
143
|
-
'context' in options
|
|
144
|
-
? options.context
|
|
145
|
-
: options;
|
|
146
|
-
this.suggestions =
|
|
147
|
-
'suggestions' in options
|
|
148
|
-
? (options.suggestions ??
|
|
149
|
-
generateSuggestionsFromMessage(message, this.codeString))
|
|
150
|
-
: generateSuggestionsFromMessage(message, this.codeString);
|
|
151
|
-
this.docsUrl =
|
|
152
|
-
'docsUrl' in options
|
|
153
|
-
? (options.docsUrl ??
|
|
154
|
-
getDocumentationUrl(message, this.codeString))
|
|
155
|
-
: getDocumentationUrl(message, this.codeString);
|
|
156
|
-
this.recovery = 'recovery' in options ? options.recovery : undefined;
|
|
157
|
-
this.recoverable =
|
|
158
|
-
'recoverable' in options ? options.recoverable : undefined;
|
|
159
|
-
this.operation =
|
|
160
|
-
'operation' in options ? options.operation : undefined;
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
// Auto-generate suggestions and docs URL
|
|
164
|
-
this.suggestions = generateSuggestionsFromMessage(message, this.codeString);
|
|
165
|
-
this.docsUrl = getDocumentationUrl(message, this.codeString);
|
|
166
|
-
}
|
|
167
|
-
// Maintain proper stack trace for where error was thrown
|
|
168
|
-
Error.captureStackTrace?.(this, ScriptError);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Convert to JSON-serializable object
|
|
172
|
-
*/
|
|
173
|
-
toJSON() {
|
|
174
|
-
return {
|
|
175
|
-
code: this.codeString,
|
|
176
|
-
exitCode: this.code,
|
|
177
|
-
message: this.message,
|
|
178
|
-
...(this.context && { context: this.context }),
|
|
179
|
-
...(this.suggestions && { suggestions: this.suggestions }),
|
|
180
|
-
...(this.docsUrl && { docsUrl: this.docsUrl }),
|
|
181
|
-
...(this.recovery && { recovery: this.recovery }),
|
|
182
|
-
timestamp: this.timestamp,
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Get the human-readable description for this error's code
|
|
187
|
-
*/
|
|
188
|
-
getCodeDescription() {
|
|
189
|
-
return ErrorCodeDescriptions[this.code] ?? 'Unknown error';
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Format error for display with colors and suggestions
|
|
193
|
-
*/
|
|
194
|
-
format(verbose = false) {
|
|
195
|
-
const parts = [];
|
|
196
|
-
// Error header
|
|
197
|
-
parts.push('\x1b[31m✖ Error\x1b[0m');
|
|
198
|
-
// Operation context
|
|
199
|
-
if (this.operation) {
|
|
200
|
-
parts.push(`\nOperation: ${this.operation}`);
|
|
201
|
-
}
|
|
202
|
-
// Error message
|
|
203
|
-
parts.push(`\n${this.message}`);
|
|
204
|
-
parts.push(`\nCode: ${this.codeString} (exit ${this.code})`);
|
|
205
|
-
// Additional context
|
|
206
|
-
if (verbose && this.context) {
|
|
207
|
-
parts.push('\n\nContext:');
|
|
208
|
-
for (const [key, value] of Object.entries(this.context)) {
|
|
209
|
-
parts.push(` ${key}: ${JSON.stringify(value)}`);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
// Suggestions
|
|
213
|
-
if (this.suggestions && this.suggestions.length > 0) {
|
|
214
|
-
parts.push('\n\n💡 Suggested fixes:');
|
|
215
|
-
for (const suggestion of this.suggestions) {
|
|
216
|
-
parts.push(` • ${suggestion}`);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
// Recovery steps
|
|
220
|
-
if (this.recovery && this.recovery.length > 0) {
|
|
221
|
-
parts.push('\n\n🔄 Recovery steps:');
|
|
222
|
-
for (const step of this.recovery) {
|
|
223
|
-
parts.push(` ${step}`);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
// Documentation link
|
|
227
|
-
if (this.docsUrl) {
|
|
228
|
-
parts.push(`\n\n📚 Learn more: ${this.docsUrl}`);
|
|
229
|
-
}
|
|
230
|
-
// Stack trace (if verbose)
|
|
231
|
-
if (verbose && this.stack) {
|
|
232
|
-
parts.push('\n\nStack trace:');
|
|
233
|
-
parts.push(this.stack);
|
|
234
|
-
}
|
|
235
|
-
return parts.join('');
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Print error to console with formatting
|
|
239
|
-
*/
|
|
240
|
-
print(verbose = false) {
|
|
241
|
-
console.error(this.format(verbose));
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
// =============================================================================
|
|
245
|
-
// Error Factory Functions
|
|
246
|
-
// =============================================================================
|
|
247
|
-
/**
|
|
248
|
-
* Create a not found error
|
|
249
|
-
*/
|
|
250
|
-
export function notFound(resource, id, details) {
|
|
251
|
-
const message = id ? `${resource} not found: ${id}` : `${resource} not found`;
|
|
252
|
-
return new ScriptError(message, ErrorCode.NOT_FOUND, { resource, id, ...details });
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Create a validation error
|
|
256
|
-
*/
|
|
257
|
-
export function validationError(message, field, details) {
|
|
258
|
-
return new ScriptError(message, ErrorCode.VALIDATION_ERROR, { field, ...details });
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Create a config error
|
|
262
|
-
*/
|
|
263
|
-
export function configError(message, envVar, details) {
|
|
264
|
-
return new ScriptError(message, ErrorCode.CONFIG_ERROR, { envVar, ...details });
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Create a timeout error
|
|
268
|
-
*/
|
|
269
|
-
export function timeoutError(operation, timeoutMs, details) {
|
|
270
|
-
return new ScriptError(`${operation} timed out after ${timeoutMs}ms`, ErrorCode.TIMEOUT_ERROR, {
|
|
271
|
-
operation,
|
|
272
|
-
timeoutMs,
|
|
273
|
-
...details,
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Create an execution error
|
|
278
|
-
*/
|
|
279
|
-
export function executionError(command, exitCode, stderr, details) {
|
|
280
|
-
const message = exitCode !== undefined
|
|
281
|
-
? `Command failed with exit code ${exitCode}: ${command}`
|
|
282
|
-
: `Command failed: ${command}`;
|
|
283
|
-
return new ScriptError(message, ErrorCode.EXECUTION_ERROR, {
|
|
284
|
-
command,
|
|
285
|
-
exitCode,
|
|
286
|
-
stderr,
|
|
287
|
-
...details,
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Create a conflict error
|
|
292
|
-
*/
|
|
293
|
-
export function conflictError(resource, reason, details) {
|
|
294
|
-
const message = reason ? `Conflict: ${resource} - ${reason}` : `Conflict: ${resource}`;
|
|
295
|
-
return new ScriptError(message, ErrorCode.CONFLICT, { resource, reason, ...details });
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Create a permission denied error
|
|
299
|
-
*/
|
|
300
|
-
export function permissionDenied(action, resource, details) {
|
|
301
|
-
const message = resource
|
|
302
|
-
? `Permission denied: ${action} on ${resource}`
|
|
303
|
-
: `Permission denied: ${action}`;
|
|
304
|
-
return new ScriptError(message, ErrorCode.PERMISSION_DENIED, {
|
|
305
|
-
action,
|
|
306
|
-
resource,
|
|
307
|
-
...details,
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Create an invalid state error
|
|
312
|
-
*/
|
|
313
|
-
export function invalidState(operation, currentState, expectedStates, details) {
|
|
314
|
-
const expected = expectedStates?.length ? `. Expected one of: ${expectedStates.join(', ')}` : '';
|
|
315
|
-
return new ScriptError(`Cannot ${operation} in state '${currentState}'${expected}`, ErrorCode.INVALID_STATE, { operation, currentState, expectedStates, ...details });
|
|
316
|
-
}
|
|
317
|
-
// =============================================================================
|
|
318
|
-
// Error Handling Utilities
|
|
319
|
-
// =============================================================================
|
|
320
|
-
/**
|
|
321
|
-
* Check if an error is a ScriptError
|
|
322
|
-
*/
|
|
323
|
-
export function isScriptError(error) {
|
|
324
|
-
return error instanceof ScriptError;
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Get the exit code for an error
|
|
328
|
-
*/
|
|
329
|
-
export function getExitCode(error) {
|
|
330
|
-
if (isScriptError(error)) {
|
|
331
|
-
return error.code;
|
|
332
|
-
}
|
|
333
|
-
return ErrorCode.GENERAL_ERROR;
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Wrap an unknown error as a ScriptError
|
|
337
|
-
*/
|
|
338
|
-
export function wrapError(error, code = ErrorCode.GENERAL_ERROR) {
|
|
339
|
-
if (isScriptError(error)) {
|
|
340
|
-
return error;
|
|
341
|
-
}
|
|
342
|
-
if (error instanceof Error) {
|
|
343
|
-
return new ScriptError(error.message, code, {
|
|
344
|
-
originalName: error.name,
|
|
345
|
-
stack: error.stack,
|
|
346
|
-
});
|
|
347
|
-
}
|
|
348
|
-
return new ScriptError(String(error), code);
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Run a function and wrap any errors
|
|
352
|
-
*/
|
|
353
|
-
export async function withErrorHandling(fn, errorCode) {
|
|
354
|
-
try {
|
|
355
|
-
return await fn();
|
|
356
|
-
}
|
|
357
|
-
catch (error) {
|
|
358
|
-
throw wrapError(error, errorCode);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
// =============================================================================
|
|
362
|
-
// Error Enhancement Helpers
|
|
363
|
-
// =============================================================================
|
|
364
|
-
/**
|
|
365
|
-
* Generate helpful suggestions based on error message patterns
|
|
366
|
-
*/
|
|
367
|
-
function generateSuggestionsFromMessage(message, codeString) {
|
|
368
|
-
const lowerMessage = message.toLowerCase();
|
|
369
|
-
const suggestions = [];
|
|
370
|
-
// Database errors
|
|
371
|
-
if (lowerMessage.includes('econnrefused') || lowerMessage.includes('connection refused')) {
|
|
372
|
-
suggestions.push('Check if the database server is running');
|
|
373
|
-
suggestions.push('Verify the DATABASE_URL environment variable');
|
|
374
|
-
suggestions.push('Ensure the database port is accessible');
|
|
375
|
-
}
|
|
376
|
-
// Environment variable errors
|
|
377
|
-
if (lowerMessage.includes('env') || lowerMessage.includes('environment')) {
|
|
378
|
-
suggestions.push('Run: pnpm setup:env');
|
|
379
|
-
suggestions.push('Check if .env file exists');
|
|
380
|
-
suggestions.push('Verify all required environment variables are set');
|
|
381
|
-
}
|
|
382
|
-
// Module not found errors
|
|
383
|
-
if (lowerMessage.includes('cannot find module') || lowerMessage.includes('module not found')) {
|
|
384
|
-
suggestions.push('Run: pnpm install');
|
|
385
|
-
suggestions.push('Check if the package is listed in package.json');
|
|
386
|
-
suggestions.push('Try: pnpm clean:install');
|
|
387
|
-
}
|
|
388
|
-
// Permission errors
|
|
389
|
-
if (lowerMessage.includes('eacces') || lowerMessage.includes('permission denied')) {
|
|
390
|
-
suggestions.push('Check file permissions');
|
|
391
|
-
suggestions.push('Try running with appropriate permissions');
|
|
392
|
-
suggestions.push('Ensure you have write access to the directory');
|
|
393
|
-
}
|
|
394
|
-
// Network errors
|
|
395
|
-
if (lowerMessage.includes('enotfound') || lowerMessage.includes('getaddrinfo')) {
|
|
396
|
-
suggestions.push('Check your internet connection');
|
|
397
|
-
suggestions.push('Verify the URL or hostname is correct');
|
|
398
|
-
suggestions.push('Check if a VPN or proxy is blocking the connection');
|
|
399
|
-
}
|
|
400
|
-
// Port already in use
|
|
401
|
-
if (lowerMessage.includes('eaddrinuse') ||
|
|
402
|
-
(lowerMessage.includes('port') && lowerMessage.includes('use'))) {
|
|
403
|
-
suggestions.push('Stop the process using the port');
|
|
404
|
-
suggestions.push('Use a different port');
|
|
405
|
-
suggestions.push('Run: lsof -i :<port> to find the process');
|
|
406
|
-
}
|
|
407
|
-
// TypeScript errors
|
|
408
|
-
if (lowerMessage.includes('type') || lowerMessage.includes('typescript')) {
|
|
409
|
-
suggestions.push('Run: pnpm typecheck:all');
|
|
410
|
-
suggestions.push('Check for missing type definitions');
|
|
411
|
-
suggestions.push('Update @types packages');
|
|
412
|
-
}
|
|
413
|
-
// Build errors
|
|
414
|
-
if (lowerMessage.includes('build') && lowerMessage.includes('fail')) {
|
|
415
|
-
suggestions.push('Run: pnpm clean');
|
|
416
|
-
suggestions.push('Delete node_modules and reinstall: pnpm clean:install');
|
|
417
|
-
suggestions.push('Check for TypeScript errors: pnpm typecheck:all');
|
|
418
|
-
}
|
|
419
|
-
// Test errors
|
|
420
|
-
if (lowerMessage.includes('test') && lowerMessage.includes('fail')) {
|
|
421
|
-
suggestions.push('Run tests in verbose mode: pnpm test --verbose');
|
|
422
|
-
suggestions.push('Check test setup and configuration');
|
|
423
|
-
suggestions.push('Ensure test database is initialized: pnpm db:setup-test');
|
|
424
|
-
}
|
|
425
|
-
// Git errors
|
|
426
|
-
if (lowerMessage.includes('git') || lowerMessage.includes('repository')) {
|
|
427
|
-
suggestions.push('Check if you are in a git repository');
|
|
428
|
-
suggestions.push('Verify git is installed: git --version');
|
|
429
|
-
suggestions.push('Check git remote configuration: git remote -v');
|
|
430
|
-
}
|
|
431
|
-
// File not found
|
|
432
|
-
if (lowerMessage.includes('enoent') || lowerMessage.includes('no such file')) {
|
|
433
|
-
suggestions.push('Check if the file path is correct');
|
|
434
|
-
suggestions.push('Verify the file exists');
|
|
435
|
-
suggestions.push('Check for typos in the file name');
|
|
436
|
-
}
|
|
437
|
-
// Timeout errors
|
|
438
|
-
if (lowerMessage.includes('timeout') || lowerMessage.includes('timed out')) {
|
|
439
|
-
suggestions.push('Increase the timeout limit');
|
|
440
|
-
suggestions.push('Check for network or performance issues');
|
|
441
|
-
suggestions.push('Try the operation again');
|
|
442
|
-
}
|
|
443
|
-
// Error code specific suggestions
|
|
444
|
-
if (codeString === 'NOT_FOUND') {
|
|
445
|
-
suggestions.push('Verify the resource identifier is correct');
|
|
446
|
-
suggestions.push('Check if the resource was deleted');
|
|
447
|
-
}
|
|
448
|
-
if (codeString === 'VALIDATION_ERROR') {
|
|
449
|
-
suggestions.push('Check the input value');
|
|
450
|
-
suggestions.push('Verify the value meets requirements');
|
|
451
|
-
suggestions.push('See error message for details');
|
|
452
|
-
}
|
|
453
|
-
return suggestions;
|
|
454
|
-
}
|
|
455
|
-
/**
|
|
456
|
-
* Get documentation URL based on error type
|
|
457
|
-
*/
|
|
458
|
-
function getDocumentationUrl(message, codeString) {
|
|
459
|
-
const lowerMessage = message.toLowerCase();
|
|
460
|
-
if (lowerMessage.includes('database') || lowerMessage.includes('connection')) {
|
|
461
|
-
return 'https://docs.revealui.dev/database-setup';
|
|
462
|
-
}
|
|
463
|
-
if (lowerMessage.includes('env') || lowerMessage.includes('environment')) {
|
|
464
|
-
return 'https://docs.revealui.dev/environment-setup';
|
|
465
|
-
}
|
|
466
|
-
if (lowerMessage.includes('build')) {
|
|
467
|
-
return 'https://docs.revealui.dev/build-setup';
|
|
468
|
-
}
|
|
469
|
-
if (lowerMessage.includes('test')) {
|
|
470
|
-
return 'https://docs.revealui.dev/testing';
|
|
471
|
-
}
|
|
472
|
-
if (codeString === 'CONFIG_ERROR') {
|
|
473
|
-
return 'https://docs.revealui.dev/configuration';
|
|
474
|
-
}
|
|
475
|
-
return 'https://docs.revealui.dev/troubleshooting';
|
|
476
|
-
}
|
|
477
|
-
// =============================================================================
|
|
478
|
-
// Error Recovery Helpers
|
|
479
|
-
// =============================================================================
|
|
480
|
-
/**
|
|
481
|
-
* Retry a function with enhanced error handling
|
|
482
|
-
*/
|
|
483
|
-
export async function retryWithEnhancedErrors(fn, options = {}) {
|
|
484
|
-
const { retries = 3, delay = 1000, operation, context = {} } = options;
|
|
485
|
-
let lastError;
|
|
486
|
-
for (let i = 0; i < retries; i++) {
|
|
487
|
-
try {
|
|
488
|
-
return await fn();
|
|
489
|
-
}
|
|
490
|
-
catch (error) {
|
|
491
|
-
lastError = error;
|
|
492
|
-
if (i < retries - 1) {
|
|
493
|
-
console.warn(`Attempt ${i + 1} failed, retrying in ${delay}ms...`);
|
|
494
|
-
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
// Wrap last error with retry context
|
|
499
|
-
if (lastError instanceof ScriptError) {
|
|
500
|
-
throw new ScriptError(lastError.message, lastError.code, {
|
|
501
|
-
...lastError.context,
|
|
502
|
-
context: {
|
|
503
|
-
...lastError.context,
|
|
504
|
-
...context,
|
|
505
|
-
attempts: retries,
|
|
506
|
-
},
|
|
507
|
-
suggestions: lastError.suggestions,
|
|
508
|
-
docsUrl: lastError.docsUrl,
|
|
509
|
-
operation: operation ?? lastError.operation,
|
|
510
|
-
});
|
|
511
|
-
}
|
|
512
|
-
throw new ScriptError(lastError?.message ?? 'Unknown error', ErrorCode.GENERAL_ERROR, {
|
|
513
|
-
context: { ...context, attempts: retries },
|
|
514
|
-
operation,
|
|
515
|
-
});
|
|
516
|
-
}
|
|
517
|
-
/**
|
|
518
|
-
* Wrap a function with enhanced error handling
|
|
519
|
-
*/
|
|
520
|
-
// biome-ignore lint/suspicious/noExplicitAny: Generic function wrapper requires any for flexible typing
|
|
521
|
-
export function withEnhancedErrors(fn, options = {}) {
|
|
522
|
-
return ((...args) => {
|
|
523
|
-
try {
|
|
524
|
-
const result = fn(...args);
|
|
525
|
-
if (result instanceof Promise) {
|
|
526
|
-
return result.catch((error) => {
|
|
527
|
-
if (error instanceof ScriptError) {
|
|
528
|
-
throw error;
|
|
529
|
-
}
|
|
530
|
-
throw new ScriptError(error.message ?? String(error), options.code ?? ErrorCode.GENERAL_ERROR, options);
|
|
531
|
-
});
|
|
532
|
-
}
|
|
533
|
-
return result;
|
|
534
|
-
}
|
|
535
|
-
catch (error) {
|
|
536
|
-
if (error instanceof ScriptError) {
|
|
537
|
-
throw error;
|
|
538
|
-
}
|
|
539
|
-
throw new ScriptError(error.message ?? String(error), options.code ?? ErrorCode.GENERAL_ERROR, options);
|
|
540
|
-
}
|
|
541
|
-
});
|
|
542
|
-
}
|
|
543
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../scripts/lib/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Command Execution Utilities for RevealUI Scripts
|
|
3
|
-
*
|
|
4
|
-
* Provides safe command execution with proper error handling,
|
|
5
|
-
* timeout support, and cross-platform compatibility.
|
|
6
|
-
*
|
|
7
|
-
* @dependencies
|
|
8
|
-
* - scripts/lib/logger.ts - Logging utilities
|
|
9
|
-
* - @revealui/core/monitoring - Process registration and monitoring
|
|
10
|
-
* - node:child_process - Process spawning
|
|
11
|
-
*/
|
|
12
|
-
import { type SpawnOptions } from 'node:child_process';
|
|
13
|
-
import { type ProcessMetadata } from '@revealui/core/monitoring';
|
|
14
|
-
import { type Logger } from './logger.js';
|
|
15
|
-
export interface ScriptResult {
|
|
16
|
-
success: boolean;
|
|
17
|
-
message: string;
|
|
18
|
-
exitCode: number;
|
|
19
|
-
stdout?: string;
|
|
20
|
-
stderr?: string;
|
|
21
|
-
}
|
|
22
|
-
export interface ExecOptions extends SpawnOptions {
|
|
23
|
-
/** Timeout in milliseconds (default: 120000 = 2 minutes) */
|
|
24
|
-
timeout?: number;
|
|
25
|
-
/** Capture stdout/stderr instead of inheriting (default: false) */
|
|
26
|
-
capture?: boolean;
|
|
27
|
-
/** Logger instance for output */
|
|
28
|
-
logger?: Logger;
|
|
29
|
-
/** Working directory */
|
|
30
|
-
cwd?: string;
|
|
31
|
-
/** Environment variables to merge with process.env */
|
|
32
|
-
env?: Record<string, string>;
|
|
33
|
-
/** Process metadata for tracking */
|
|
34
|
-
metadata?: ProcessMetadata;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Executes a command with proper error handling and timeout support.
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
* ```typescript
|
|
41
|
-
* // Simple execution with inherited stdio
|
|
42
|
-
* const result = await execCommand('pnpm', ['build'])
|
|
43
|
-
*
|
|
44
|
-
* // Capture output
|
|
45
|
-
* const result = await execCommand('git', ['status'], { capture: true })
|
|
46
|
-
* console.log(result.stdout)
|
|
47
|
-
*
|
|
48
|
-
* // With timeout
|
|
49
|
-
* const result = await execCommand('pnpm', ['test'], { timeout: 300000 })
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export declare function execCommand(command: string, args?: string[], options?: ExecOptions): Promise<ScriptResult>;
|
|
53
|
-
/**
|
|
54
|
-
* Executes multiple commands in sequence, stopping on first failure.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```typescript
|
|
58
|
-
* const results = await execSequence([
|
|
59
|
-
* ['pnpm', ['typecheck']],
|
|
60
|
-
* ['pnpm', ['lint']],
|
|
61
|
-
* ['pnpm', ['test']],
|
|
62
|
-
* ])
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
export declare function execSequence(commands: Array<[string, string[], ExecOptions?]>, options?: ExecOptions): Promise<{
|
|
66
|
-
success: boolean;
|
|
67
|
-
results: ScriptResult[];
|
|
68
|
-
}>;
|
|
69
|
-
/**
|
|
70
|
-
* Executes multiple commands in parallel.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* const results = await execParallel([
|
|
75
|
-
* ['pnpm', ['--filter', 'cms', 'build']],
|
|
76
|
-
* ['pnpm', ['--filter', 'web', 'build']],
|
|
77
|
-
* ])
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
export declare function execParallel(commands: Array<[string, string[], ExecOptions?]>, options?: ExecOptions): Promise<{
|
|
81
|
-
success: boolean;
|
|
82
|
-
results: ScriptResult[];
|
|
83
|
-
}>;
|
|
84
|
-
/**
|
|
85
|
-
* Runs a pnpm script from package.json.
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```typescript
|
|
89
|
-
* await runPnpmScript('build')
|
|
90
|
-
* await runPnpmScript('test', { filter: 'cms' })
|
|
91
|
-
* ```
|
|
92
|
-
*/
|
|
93
|
-
export declare function runPnpmScript(script: string, options?: ExecOptions & {
|
|
94
|
-
filter?: string;
|
|
95
|
-
}): Promise<ScriptResult>;
|
|
96
|
-
/**
|
|
97
|
-
* Checks if a command exists on the system.
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* ```typescript
|
|
101
|
-
* if (await commandExists('docker')) {
|
|
102
|
-
* await execCommand('docker', ['build', '-t', 'myapp', '.'])
|
|
103
|
-
* }
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
106
|
-
export declare function commandExists(command: string): Promise<boolean>;
|
|
107
|
-
//# sourceMappingURL=exec.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../../../scripts/lib/exec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AAmBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,YAAY,CAAC,CAuIvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EACjD,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAaxD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EACjD,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CASxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9C,OAAO,CAAC,YAAY,CAAC,CAKvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASrE"}
|