@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,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* In-Memory State Adapter
|
|
3
|
-
*
|
|
4
|
-
* Provides a simple in-memory implementation for testing and development.
|
|
5
|
-
* State is lost when the process exits.
|
|
6
|
-
*
|
|
7
|
-
* @dependencies
|
|
8
|
-
* - scripts/lib/errors.ts - ErrorCode and ScriptError for validation
|
|
9
|
-
* - scripts/lib/state/types.ts - State management type definitions
|
|
10
|
-
*/
|
|
11
|
-
import type { ApprovalRequest, ApprovalStatus, StateAdapter, WorkflowState, WorkflowStatus } from '../types.js';
|
|
12
|
-
export declare class MemoryStateAdapter implements StateAdapter {
|
|
13
|
-
private workflows;
|
|
14
|
-
private approvals;
|
|
15
|
-
initialize(): Promise<void>;
|
|
16
|
-
close(): Promise<void>;
|
|
17
|
-
saveWorkflow(workflow: WorkflowState): Promise<void>;
|
|
18
|
-
loadWorkflow(id: string): Promise<WorkflowState | null>;
|
|
19
|
-
listWorkflows(options?: {
|
|
20
|
-
status?: WorkflowStatus;
|
|
21
|
-
limit?: number;
|
|
22
|
-
}): Promise<WorkflowState[]>;
|
|
23
|
-
deleteWorkflow(id: string): Promise<boolean>;
|
|
24
|
-
saveApproval(approval: ApprovalRequest): Promise<void>;
|
|
25
|
-
loadApproval(token: string): Promise<ApprovalRequest | null>;
|
|
26
|
-
loadApprovalsByWorkflow(workflowId: string): Promise<ApprovalRequest[]>;
|
|
27
|
-
updateApprovalStatus(token: string, status: ApprovalStatus, respondedBy?: string, comment?: string): Promise<void>;
|
|
28
|
-
private cloneWorkflow;
|
|
29
|
-
/**
|
|
30
|
-
* Utility method to clear all data (useful for testing)
|
|
31
|
-
*/
|
|
32
|
-
clear(): void;
|
|
33
|
-
/**
|
|
34
|
-
* Get count of stored workflows (useful for testing)
|
|
35
|
-
*/
|
|
36
|
-
getWorkflowCount(): number;
|
|
37
|
-
/**
|
|
38
|
-
* Get count of stored approvals (useful for testing)
|
|
39
|
-
*/
|
|
40
|
-
getApprovalCount(): number;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../../../../scripts/lib/state/adapters/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,SAAS,CAA0C;IAErD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAKvD,aAAa,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,CAAC,EAAE,cAAc,CAAA;QACvB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAiBtB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc5C,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAK5D,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMvE,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAYhB,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAG3B"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* In-Memory State Adapter
|
|
3
|
-
*
|
|
4
|
-
* Provides a simple in-memory implementation for testing and development.
|
|
5
|
-
* State is lost when the process exits.
|
|
6
|
-
*
|
|
7
|
-
* @dependencies
|
|
8
|
-
* - scripts/lib/errors.ts - ErrorCode and ScriptError for validation
|
|
9
|
-
* - scripts/lib/state/types.ts - State management type definitions
|
|
10
|
-
*/
|
|
11
|
-
import { ErrorCode, ScriptError } from '../../errors.js';
|
|
12
|
-
export class MemoryStateAdapter {
|
|
13
|
-
workflows = new Map();
|
|
14
|
-
approvals = new Map();
|
|
15
|
-
async initialize() {
|
|
16
|
-
// No initialization needed for in-memory storage
|
|
17
|
-
}
|
|
18
|
-
async close() {
|
|
19
|
-
// Clear all data
|
|
20
|
-
this.workflows.clear();
|
|
21
|
-
this.approvals.clear();
|
|
22
|
-
}
|
|
23
|
-
async saveWorkflow(workflow) {
|
|
24
|
-
// Deep clone to avoid mutations
|
|
25
|
-
const cloned = this.cloneWorkflow(workflow);
|
|
26
|
-
this.workflows.set(workflow.id, cloned);
|
|
27
|
-
}
|
|
28
|
-
async loadWorkflow(id) {
|
|
29
|
-
const workflow = this.workflows.get(id);
|
|
30
|
-
return workflow ? this.cloneWorkflow(workflow) : null;
|
|
31
|
-
}
|
|
32
|
-
async listWorkflows(options) {
|
|
33
|
-
let workflows = Array.from(this.workflows.values());
|
|
34
|
-
if (options?.status) {
|
|
35
|
-
workflows = workflows.filter((w) => w.status === options.status);
|
|
36
|
-
}
|
|
37
|
-
// Sort by updatedAt descending (most recent first)
|
|
38
|
-
workflows.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
|
|
39
|
-
if (options?.limit) {
|
|
40
|
-
workflows = workflows.slice(0, options.limit);
|
|
41
|
-
}
|
|
42
|
-
return workflows.map((w) => this.cloneWorkflow(w));
|
|
43
|
-
}
|
|
44
|
-
async deleteWorkflow(id) {
|
|
45
|
-
const existed = this.workflows.has(id);
|
|
46
|
-
this.workflows.delete(id);
|
|
47
|
-
// Also delete related approvals
|
|
48
|
-
for (const [token, approval] of this.approvals) {
|
|
49
|
-
if (approval.workflowId === id) {
|
|
50
|
-
this.approvals.delete(token);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return existed;
|
|
54
|
-
}
|
|
55
|
-
async saveApproval(approval) {
|
|
56
|
-
this.approvals.set(approval.token, { ...approval });
|
|
57
|
-
}
|
|
58
|
-
async loadApproval(token) {
|
|
59
|
-
const approval = this.approvals.get(token);
|
|
60
|
-
return approval ? { ...approval } : null;
|
|
61
|
-
}
|
|
62
|
-
async loadApprovalsByWorkflow(workflowId) {
|
|
63
|
-
return Array.from(this.approvals.values())
|
|
64
|
-
.filter((a) => a.workflowId === workflowId)
|
|
65
|
-
.map((a) => ({ ...a }));
|
|
66
|
-
}
|
|
67
|
-
async updateApprovalStatus(token, status, respondedBy, comment) {
|
|
68
|
-
const approval = this.approvals.get(token);
|
|
69
|
-
if (!approval) {
|
|
70
|
-
throw new ScriptError(`Approval not found: ${token}`, ErrorCode.NOT_FOUND);
|
|
71
|
-
}
|
|
72
|
-
approval.status = status;
|
|
73
|
-
approval.respondedAt = new Date();
|
|
74
|
-
if (respondedBy)
|
|
75
|
-
approval.respondedBy = respondedBy;
|
|
76
|
-
if (comment)
|
|
77
|
-
approval.comment = comment;
|
|
78
|
-
}
|
|
79
|
-
cloneWorkflow(workflow) {
|
|
80
|
-
return {
|
|
81
|
-
...workflow,
|
|
82
|
-
steps: [...workflow.steps],
|
|
83
|
-
stepStates: new Map(workflow.stepStates),
|
|
84
|
-
createdAt: new Date(workflow.createdAt),
|
|
85
|
-
updatedAt: new Date(workflow.updatedAt),
|
|
86
|
-
completedAt: workflow.completedAt ? new Date(workflow.completedAt) : undefined,
|
|
87
|
-
metadata: workflow.metadata ? { ...workflow.metadata } : undefined,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Utility method to clear all data (useful for testing)
|
|
92
|
-
*/
|
|
93
|
-
clear() {
|
|
94
|
-
this.workflows.clear();
|
|
95
|
-
this.approvals.clear();
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get count of stored workflows (useful for testing)
|
|
99
|
-
*/
|
|
100
|
-
getWorkflowCount() {
|
|
101
|
-
return this.workflows.size;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Get count of stored approvals (useful for testing)
|
|
105
|
-
*/
|
|
106
|
-
getApprovalCount() {
|
|
107
|
-
return this.approvals.size;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=memory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../../../../scripts/lib/state/adapters/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AASxD,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAA+B,IAAI,GAAG,EAAE,CAAA;IACjD,SAAS,GAAiC,IAAI,GAAG,EAAE,CAAA;IAE3D,KAAK,CAAC,UAAU;QACd,iDAAiD;IACnD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,iBAAiB;QACjB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAuB;QACxC,gCAAgC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAGnB;QACC,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;QAEnD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;QAClE,CAAC;QAED,mDAAmD;QACnD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QAEvE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/C,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEzB,gCAAgC;QAChC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAyB;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1C,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,KAAa,EACb,MAAsB,EACtB,WAAoB,EACpB,OAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,WAAW,CAAC,uBAAuB,KAAK,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;QAC5E,CAAC;QAED,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;QACjC,IAAI,WAAW;YAAE,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAA;QACnD,IAAI,OAAO;YAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;IACzC,CAAC;IAEO,aAAa,CAAC,QAAuB;QAC3C,OAAO;YACL,GAAG,QAAQ;YACX,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC1B,UAAU,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;YACxC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9E,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SACnE,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5B,CAAC;CACF"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PGlite State Adapter
|
|
3
|
-
*
|
|
4
|
-
* Provides persistent state storage using PGlite (embedded PostgreSQL).
|
|
5
|
-
* State is stored in .revealui/state/workflows
|
|
6
|
-
*
|
|
7
|
-
* Benefits over SQLite:
|
|
8
|
-
* - PostgreSQL-compatible SQL syntax matches production databases (Neon/Supabase)
|
|
9
|
-
* - Same query patterns work in development and production
|
|
10
|
-
* - Supports PostgreSQL-specific features if needed
|
|
11
|
-
*
|
|
12
|
-
* @dependencies
|
|
13
|
-
* - scripts/lib/errors.ts - ErrorCode and ScriptError for validation
|
|
14
|
-
* - scripts/lib/state/types.ts - State management type definitions
|
|
15
|
-
* - @electric-sql/pglite - Embedded PostgreSQL (dynamic import)
|
|
16
|
-
* - node:fs/promises - File system operations (mkdir)
|
|
17
|
-
* - node:path - Path manipulation utilities
|
|
18
|
-
*/
|
|
19
|
-
import type { ApprovalRequest, ApprovalStatus, StateAdapter, WorkflowState, WorkflowStatus } from '../types.js';
|
|
20
|
-
export interface PGliteAdapterOptions {
|
|
21
|
-
/** Path to the PGlite data directory */
|
|
22
|
-
dataDir?: string;
|
|
23
|
-
}
|
|
24
|
-
export declare class PGliteStateAdapter implements StateAdapter {
|
|
25
|
-
private db;
|
|
26
|
-
private dataDir;
|
|
27
|
-
constructor(options?: PGliteAdapterOptions);
|
|
28
|
-
initialize(): Promise<void>;
|
|
29
|
-
close(): Promise<void>;
|
|
30
|
-
saveWorkflow(workflow: WorkflowState): Promise<void>;
|
|
31
|
-
loadWorkflow(id: string): Promise<WorkflowState | null>;
|
|
32
|
-
listWorkflows(options?: {
|
|
33
|
-
status?: WorkflowStatus;
|
|
34
|
-
limit?: number;
|
|
35
|
-
}): Promise<WorkflowState[]>;
|
|
36
|
-
deleteWorkflow(id: string): Promise<boolean>;
|
|
37
|
-
saveApproval(approval: ApprovalRequest): Promise<void>;
|
|
38
|
-
loadApproval(token: string): Promise<ApprovalRequest | null>;
|
|
39
|
-
loadApprovalsByWorkflow(workflowId: string): Promise<ApprovalRequest[]>;
|
|
40
|
-
updateApprovalStatus(token: string, status: ApprovalStatus, respondedBy?: string, comment?: string): Promise<void>;
|
|
41
|
-
private serializeStepStates;
|
|
42
|
-
private deserializeStepStates;
|
|
43
|
-
private rowToWorkflow;
|
|
44
|
-
private rowToApproval;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=pglite.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pglite.d.ts","sourceRoot":"","sources":["../../../../../../../scripts/lib/state/adapters/pglite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EAGf,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,GAAE,oBAAyB;IAIxC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqD3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAQvD,aAAa,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,CAAC,EAAE,cAAc,CAAA;QACvB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAwBtB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BtD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAU5D,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAWvE,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAahB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,aAAa;CActB"}
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PGlite State Adapter
|
|
3
|
-
*
|
|
4
|
-
* Provides persistent state storage using PGlite (embedded PostgreSQL).
|
|
5
|
-
* State is stored in .revealui/state/workflows
|
|
6
|
-
*
|
|
7
|
-
* Benefits over SQLite:
|
|
8
|
-
* - PostgreSQL-compatible SQL syntax matches production databases (Neon/Supabase)
|
|
9
|
-
* - Same query patterns work in development and production
|
|
10
|
-
* - Supports PostgreSQL-specific features if needed
|
|
11
|
-
*
|
|
12
|
-
* @dependencies
|
|
13
|
-
* - scripts/lib/errors.ts - ErrorCode and ScriptError for validation
|
|
14
|
-
* - scripts/lib/state/types.ts - State management type definitions
|
|
15
|
-
* - @electric-sql/pglite - Embedded PostgreSQL (dynamic import)
|
|
16
|
-
* - node:fs/promises - File system operations (mkdir)
|
|
17
|
-
* - node:path - Path manipulation utilities
|
|
18
|
-
*/
|
|
19
|
-
import { mkdir } from 'node:fs/promises';
|
|
20
|
-
import { dirname, join } from 'node:path';
|
|
21
|
-
import { ErrorCode, ScriptError } from '../../errors.js';
|
|
22
|
-
export class PGliteStateAdapter {
|
|
23
|
-
db = null;
|
|
24
|
-
dataDir;
|
|
25
|
-
constructor(options = {}) {
|
|
26
|
-
this.dataDir = options.dataDir || join(process.cwd(), '.revealui', 'state', 'workflows');
|
|
27
|
-
}
|
|
28
|
-
async initialize() {
|
|
29
|
-
// Ensure directory exists
|
|
30
|
-
await mkdir(dirname(this.dataDir), { recursive: true });
|
|
31
|
-
// Dynamically import @electric-sql/pglite
|
|
32
|
-
try {
|
|
33
|
-
const { PGlite } = await import('@electric-sql/pglite');
|
|
34
|
-
this.db = new PGlite(this.dataDir);
|
|
35
|
-
await this.db.waitReady;
|
|
36
|
-
}
|
|
37
|
-
catch (_error) {
|
|
38
|
-
throw new ScriptError('@electric-sql/pglite is not installed. Run: pnpm add -D @electric-sql/pglite', ErrorCode.DEPENDENCY_ERROR);
|
|
39
|
-
}
|
|
40
|
-
// Create tables using PostgreSQL syntax
|
|
41
|
-
await this.db.exec(`
|
|
42
|
-
CREATE TABLE IF NOT EXISTS workflows (
|
|
43
|
-
id TEXT PRIMARY KEY,
|
|
44
|
-
name TEXT NOT NULL,
|
|
45
|
-
description TEXT,
|
|
46
|
-
status TEXT NOT NULL DEFAULT 'pending',
|
|
47
|
-
steps JSONB NOT NULL,
|
|
48
|
-
step_states JSONB NOT NULL DEFAULT '{}',
|
|
49
|
-
current_step_index INTEGER NOT NULL DEFAULT 0,
|
|
50
|
-
created_at TIMESTAMPTZ NOT NULL,
|
|
51
|
-
updated_at TIMESTAMPTZ NOT NULL,
|
|
52
|
-
completed_at TIMESTAMPTZ,
|
|
53
|
-
error TEXT,
|
|
54
|
-
metadata JSONB
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
CREATE TABLE IF NOT EXISTS approvals (
|
|
58
|
-
id TEXT PRIMARY KEY,
|
|
59
|
-
workflow_id TEXT NOT NULL REFERENCES workflows(id) ON DELETE CASCADE,
|
|
60
|
-
step_id TEXT NOT NULL,
|
|
61
|
-
token TEXT UNIQUE NOT NULL,
|
|
62
|
-
status TEXT NOT NULL DEFAULT 'pending',
|
|
63
|
-
requested_at TIMESTAMPTZ NOT NULL,
|
|
64
|
-
responded_at TIMESTAMPTZ,
|
|
65
|
-
responded_by TEXT,
|
|
66
|
-
expires_at TIMESTAMPTZ NOT NULL,
|
|
67
|
-
comment TEXT
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
CREATE INDEX IF NOT EXISTS idx_workflows_status ON workflows(status);
|
|
71
|
-
CREATE INDEX IF NOT EXISTS idx_workflows_updated ON workflows(updated_at DESC);
|
|
72
|
-
CREATE INDEX IF NOT EXISTS idx_approvals_token ON approvals(token);
|
|
73
|
-
CREATE INDEX IF NOT EXISTS idx_approvals_workflow ON approvals(workflow_id);
|
|
74
|
-
`);
|
|
75
|
-
}
|
|
76
|
-
async close() {
|
|
77
|
-
if (this.db) {
|
|
78
|
-
await this.db.close();
|
|
79
|
-
this.db = null;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async saveWorkflow(workflow) {
|
|
83
|
-
if (!this.db)
|
|
84
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
85
|
-
await this.db.query(`
|
|
86
|
-
INSERT INTO workflows
|
|
87
|
-
(id, name, description, status, steps, step_states, current_step_index,
|
|
88
|
-
created_at, updated_at, completed_at, error, metadata)
|
|
89
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)
|
|
90
|
-
ON CONFLICT (id) DO UPDATE SET
|
|
91
|
-
name = EXCLUDED.name,
|
|
92
|
-
description = EXCLUDED.description,
|
|
93
|
-
status = EXCLUDED.status,
|
|
94
|
-
steps = EXCLUDED.steps,
|
|
95
|
-
step_states = EXCLUDED.step_states,
|
|
96
|
-
current_step_index = EXCLUDED.current_step_index,
|
|
97
|
-
updated_at = EXCLUDED.updated_at,
|
|
98
|
-
completed_at = EXCLUDED.completed_at,
|
|
99
|
-
error = EXCLUDED.error,
|
|
100
|
-
metadata = EXCLUDED.metadata
|
|
101
|
-
`, [
|
|
102
|
-
workflow.id,
|
|
103
|
-
workflow.name,
|
|
104
|
-
workflow.description || null,
|
|
105
|
-
workflow.status,
|
|
106
|
-
JSON.stringify(workflow.steps),
|
|
107
|
-
JSON.stringify(this.serializeStepStates(workflow.stepStates)),
|
|
108
|
-
workflow.currentStepIndex,
|
|
109
|
-
workflow.createdAt.toISOString(),
|
|
110
|
-
workflow.updatedAt.toISOString(),
|
|
111
|
-
workflow.completedAt?.toISOString() || null,
|
|
112
|
-
workflow.error || null,
|
|
113
|
-
workflow.metadata ? JSON.stringify(workflow.metadata) : null,
|
|
114
|
-
]);
|
|
115
|
-
}
|
|
116
|
-
async loadWorkflow(id) {
|
|
117
|
-
if (!this.db)
|
|
118
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
119
|
-
const result = await this.db.query('SELECT * FROM workflows WHERE id = $1', [id]);
|
|
120
|
-
return result.rows.length > 0 ? this.rowToWorkflow(result.rows[0]) : null;
|
|
121
|
-
}
|
|
122
|
-
async listWorkflows(options) {
|
|
123
|
-
if (!this.db)
|
|
124
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
125
|
-
let sql = 'SELECT * FROM workflows';
|
|
126
|
-
const params = [];
|
|
127
|
-
let paramIndex = 1;
|
|
128
|
-
if (options?.status) {
|
|
129
|
-
sql += ` WHERE status = $${paramIndex++}`;
|
|
130
|
-
params.push(options.status);
|
|
131
|
-
}
|
|
132
|
-
sql += ' ORDER BY updated_at DESC';
|
|
133
|
-
if (options?.limit) {
|
|
134
|
-
sql += ` LIMIT $${paramIndex++}`;
|
|
135
|
-
params.push(options.limit);
|
|
136
|
-
}
|
|
137
|
-
const result = await this.db.query(sql, params);
|
|
138
|
-
return result.rows.map((row) => this.rowToWorkflow(row));
|
|
139
|
-
}
|
|
140
|
-
async deleteWorkflow(id) {
|
|
141
|
-
if (!this.db)
|
|
142
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
143
|
-
const result = await this.db.query('DELETE FROM workflows WHERE id = $1', [id]);
|
|
144
|
-
return (result.affectedRows ?? 0) > 0;
|
|
145
|
-
}
|
|
146
|
-
async saveApproval(approval) {
|
|
147
|
-
if (!this.db)
|
|
148
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
149
|
-
await this.db.query(`
|
|
150
|
-
INSERT INTO approvals
|
|
151
|
-
(id, workflow_id, step_id, token, status, requested_at, responded_at,
|
|
152
|
-
responded_by, expires_at, comment)
|
|
153
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
|
|
154
|
-
ON CONFLICT (id) DO UPDATE SET
|
|
155
|
-
status = EXCLUDED.status,
|
|
156
|
-
responded_at = EXCLUDED.responded_at,
|
|
157
|
-
responded_by = EXCLUDED.responded_by,
|
|
158
|
-
comment = EXCLUDED.comment
|
|
159
|
-
`, [
|
|
160
|
-
approval.id,
|
|
161
|
-
approval.workflowId,
|
|
162
|
-
approval.stepId,
|
|
163
|
-
approval.token,
|
|
164
|
-
approval.status,
|
|
165
|
-
approval.requestedAt.toISOString(),
|
|
166
|
-
approval.respondedAt?.toISOString() || null,
|
|
167
|
-
approval.respondedBy || null,
|
|
168
|
-
approval.expiresAt.toISOString(),
|
|
169
|
-
approval.comment || null,
|
|
170
|
-
]);
|
|
171
|
-
}
|
|
172
|
-
async loadApproval(token) {
|
|
173
|
-
if (!this.db)
|
|
174
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
175
|
-
const result = await this.db.query('SELECT * FROM approvals WHERE token = $1', [
|
|
176
|
-
token,
|
|
177
|
-
]);
|
|
178
|
-
return result.rows.length > 0 ? this.rowToApproval(result.rows[0]) : null;
|
|
179
|
-
}
|
|
180
|
-
async loadApprovalsByWorkflow(workflowId) {
|
|
181
|
-
if (!this.db)
|
|
182
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
183
|
-
const result = await this.db.query('SELECT * FROM approvals WHERE workflow_id = $1 ORDER BY requested_at DESC', [workflowId]);
|
|
184
|
-
return result.rows.map((row) => this.rowToApproval(row));
|
|
185
|
-
}
|
|
186
|
-
async updateApprovalStatus(token, status, respondedBy, comment) {
|
|
187
|
-
if (!this.db)
|
|
188
|
-
throw new ScriptError('Database not initialized', ErrorCode.INVALID_STATE);
|
|
189
|
-
await this.db.query(`
|
|
190
|
-
UPDATE approvals
|
|
191
|
-
SET status = $1, responded_at = $2, responded_by = $3, comment = $4
|
|
192
|
-
WHERE token = $5
|
|
193
|
-
`, [status, new Date().toISOString(), respondedBy || null, comment || null, token]);
|
|
194
|
-
}
|
|
195
|
-
serializeStepStates(stepStates) {
|
|
196
|
-
const result = {};
|
|
197
|
-
for (const [key, value] of stepStates.entries()) {
|
|
198
|
-
result[key] = {
|
|
199
|
-
...value,
|
|
200
|
-
startedAt: value.startedAt ? value.startedAt : undefined,
|
|
201
|
-
completedAt: value.completedAt ? value.completedAt : undefined,
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
return result;
|
|
205
|
-
}
|
|
206
|
-
deserializeStepStates(data) {
|
|
207
|
-
const map = new Map();
|
|
208
|
-
for (const [key, value] of Object.entries(data)) {
|
|
209
|
-
map.set(key, {
|
|
210
|
-
...value,
|
|
211
|
-
startedAt: value.startedAt ? new Date(value.startedAt) : undefined,
|
|
212
|
-
completedAt: value.completedAt ? new Date(value.completedAt) : undefined,
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
return map;
|
|
216
|
-
}
|
|
217
|
-
rowToWorkflow(row) {
|
|
218
|
-
// Handle JSONB columns - they may already be parsed objects
|
|
219
|
-
const steps = typeof row.steps === 'string' ? JSON.parse(row.steps) : row.steps;
|
|
220
|
-
const stepStates = typeof row.step_states === 'string' ? JSON.parse(row.step_states) : row.step_states;
|
|
221
|
-
const metadata = row.metadata
|
|
222
|
-
? typeof row.metadata === 'string'
|
|
223
|
-
? JSON.parse(row.metadata)
|
|
224
|
-
: row.metadata
|
|
225
|
-
: undefined;
|
|
226
|
-
return {
|
|
227
|
-
id: row.id,
|
|
228
|
-
name: row.name,
|
|
229
|
-
description: row.description || undefined,
|
|
230
|
-
status: row.status,
|
|
231
|
-
steps: steps,
|
|
232
|
-
stepStates: this.deserializeStepStates(stepStates),
|
|
233
|
-
currentStepIndex: row.current_step_index,
|
|
234
|
-
createdAt: new Date(row.created_at),
|
|
235
|
-
updatedAt: new Date(row.updated_at),
|
|
236
|
-
completedAt: row.completed_at ? new Date(row.completed_at) : undefined,
|
|
237
|
-
error: row.error || undefined,
|
|
238
|
-
metadata,
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
rowToApproval(row) {
|
|
242
|
-
return {
|
|
243
|
-
id: row.id,
|
|
244
|
-
workflowId: row.workflow_id,
|
|
245
|
-
stepId: row.step_id,
|
|
246
|
-
token: row.token,
|
|
247
|
-
status: row.status,
|
|
248
|
-
requestedAt: new Date(row.requested_at),
|
|
249
|
-
respondedAt: row.responded_at ? new Date(row.responded_at) : undefined,
|
|
250
|
-
respondedBy: row.responded_by || undefined,
|
|
251
|
-
expiresAt: new Date(row.expires_at),
|
|
252
|
-
comment: row.comment || undefined,
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
//# sourceMappingURL=pglite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pglite.js","sourceRoot":"","sources":["../../../../../../../scripts/lib/state/adapters/pglite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* State Management Module
|
|
3
|
-
*
|
|
4
|
-
* Provides workflow state management with persistent storage.
|
|
5
|
-
*
|
|
6
|
-
* @dependencies
|
|
7
|
-
* - scripts/lib/state/adapters/memory.ts - In-memory state adapter
|
|
8
|
-
* - scripts/lib/state/adapters/pglite.ts - PGlite state adapter
|
|
9
|
-
* - scripts/lib/state/types.ts - State management type definitions
|
|
10
|
-
* - scripts/lib/state/workflow-state.ts - Workflow state implementation
|
|
11
|
-
*/
|
|
12
|
-
export { MemoryStateAdapter } from './adapters/memory.js';
|
|
13
|
-
export { type PGliteAdapterOptions, PGliteStateAdapter } from './adapters/pglite.js';
|
|
14
|
-
export * from './types.js';
|
|
15
|
-
export * from './workflow-state.js';
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../scripts/lib/state/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,KAAK,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACpF,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* State Management Module
|
|
3
|
-
*
|
|
4
|
-
* Provides workflow state management with persistent storage.
|
|
5
|
-
*
|
|
6
|
-
* @dependencies
|
|
7
|
-
* - scripts/lib/state/adapters/memory.ts - In-memory state adapter
|
|
8
|
-
* - scripts/lib/state/adapters/pglite.ts - PGlite state adapter
|
|
9
|
-
* - scripts/lib/state/types.ts - State management type definitions
|
|
10
|
-
* - scripts/lib/state/workflow-state.ts - Workflow state implementation
|
|
11
|
-
*/
|
|
12
|
-
export { MemoryStateAdapter } from './adapters/memory.js';
|
|
13
|
-
export { PGliteStateAdapter } from './adapters/pglite.js';
|
|
14
|
-
export * from './types.js';
|
|
15
|
-
export * from './workflow-state.js';
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../scripts/lib/state/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAA6B,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACpF,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* State Management Types for RevealUI Scripts
|
|
3
|
-
*
|
|
4
|
-
* @dependencies
|
|
5
|
-
* - None (standalone type definitions)
|
|
6
|
-
*/
|
|
7
|
-
export type WorkflowStatus = 'pending' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
|
|
8
|
-
export type StepStatus = 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
|
|
9
|
-
export type ApprovalStatus = 'pending' | 'approved' | 'rejected' | 'expired';
|
|
10
|
-
export interface WorkflowStep {
|
|
11
|
-
id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
command?: string;
|
|
15
|
-
script?: string;
|
|
16
|
-
requiresApproval: boolean;
|
|
17
|
-
validation?: string[];
|
|
18
|
-
rollback?: string;
|
|
19
|
-
timeout?: number;
|
|
20
|
-
dependsOn?: string[];
|
|
21
|
-
}
|
|
22
|
-
export interface WorkflowStepState {
|
|
23
|
-
stepId: string;
|
|
24
|
-
status: StepStatus;
|
|
25
|
-
startedAt?: Date;
|
|
26
|
-
completedAt?: Date;
|
|
27
|
-
error?: string;
|
|
28
|
-
output?: string;
|
|
29
|
-
retryCount: number;
|
|
30
|
-
}
|
|
31
|
-
export interface ApprovalRequest {
|
|
32
|
-
id: string;
|
|
33
|
-
workflowId: string;
|
|
34
|
-
stepId: string;
|
|
35
|
-
token: string;
|
|
36
|
-
status: ApprovalStatus;
|
|
37
|
-
requestedAt: Date;
|
|
38
|
-
respondedAt?: Date;
|
|
39
|
-
respondedBy?: string;
|
|
40
|
-
expiresAt: Date;
|
|
41
|
-
comment?: string;
|
|
42
|
-
}
|
|
43
|
-
export interface WorkflowState {
|
|
44
|
-
id: string;
|
|
45
|
-
name: string;
|
|
46
|
-
description?: string;
|
|
47
|
-
status: WorkflowStatus;
|
|
48
|
-
steps: WorkflowStep[];
|
|
49
|
-
stepStates: Map<string, WorkflowStepState>;
|
|
50
|
-
currentStepIndex: number;
|
|
51
|
-
createdAt: Date;
|
|
52
|
-
updatedAt: Date;
|
|
53
|
-
completedAt?: Date;
|
|
54
|
-
error?: string;
|
|
55
|
-
metadata?: Record<string, unknown>;
|
|
56
|
-
}
|
|
57
|
-
export type WorkflowEvent = {
|
|
58
|
-
type: 'START';
|
|
59
|
-
} | {
|
|
60
|
-
type: 'PAUSE';
|
|
61
|
-
} | {
|
|
62
|
-
type: 'RESUME';
|
|
63
|
-
} | {
|
|
64
|
-
type: 'CANCEL';
|
|
65
|
-
} | {
|
|
66
|
-
type: 'STEP_START';
|
|
67
|
-
stepId: string;
|
|
68
|
-
} | {
|
|
69
|
-
type: 'STEP_COMPLETE';
|
|
70
|
-
stepId: string;
|
|
71
|
-
output?: string;
|
|
72
|
-
} | {
|
|
73
|
-
type: 'STEP_FAIL';
|
|
74
|
-
stepId: string;
|
|
75
|
-
error: string;
|
|
76
|
-
} | {
|
|
77
|
-
type: 'STEP_SKIP';
|
|
78
|
-
stepId: string;
|
|
79
|
-
} | {
|
|
80
|
-
type: 'APPROVAL_REQUEST';
|
|
81
|
-
stepId: string;
|
|
82
|
-
} | {
|
|
83
|
-
type: 'APPROVAL_GRANTED';
|
|
84
|
-
stepId: string;
|
|
85
|
-
by?: string;
|
|
86
|
-
} | {
|
|
87
|
-
type: 'APPROVAL_DENIED';
|
|
88
|
-
stepId: string;
|
|
89
|
-
reason?: string;
|
|
90
|
-
} | {
|
|
91
|
-
type: 'COMPLETE';
|
|
92
|
-
} | {
|
|
93
|
-
type: 'FAIL';
|
|
94
|
-
error: string;
|
|
95
|
-
};
|
|
96
|
-
export interface StateAdapter {
|
|
97
|
-
initialize(): Promise<void>;
|
|
98
|
-
close(): Promise<void>;
|
|
99
|
-
saveWorkflow(workflow: WorkflowState): Promise<void>;
|
|
100
|
-
loadWorkflow(id: string): Promise<WorkflowState | null>;
|
|
101
|
-
listWorkflows(options?: {
|
|
102
|
-
status?: WorkflowStatus;
|
|
103
|
-
limit?: number;
|
|
104
|
-
}): Promise<WorkflowState[]>;
|
|
105
|
-
deleteWorkflow(id: string): Promise<boolean>;
|
|
106
|
-
saveApproval(approval: ApprovalRequest): Promise<void>;
|
|
107
|
-
loadApproval(token: string): Promise<ApprovalRequest | null>;
|
|
108
|
-
loadApprovalsByWorkflow(workflowId: string): Promise<ApprovalRequest[]>;
|
|
109
|
-
updateApprovalStatus(token: string, status: ApprovalStatus, respondedBy?: string, comment?: string): Promise<void>;
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../scripts/lib/state/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../scripts/lib/state/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|