@c15t/cli 1.8.3 → 2.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/760.mjs +1720 -0
- package/dist/__tests__/auth/config-store.test.d.ts +2 -0
- package/dist/__tests__/auth/config-store.test.d.ts.map +1 -0
- package/dist/__tests__/constants.test.d.ts +2 -0
- package/dist/__tests__/constants.test.d.ts.map +1 -0
- package/dist/__tests__/detection/layout.test.d.ts +2 -0
- package/dist/__tests__/detection/layout.test.d.ts.map +1 -0
- package/dist/__tests__/mocks/prompts.d.ts +25 -0
- package/dist/__tests__/mocks/prompts.d.ts.map +1 -0
- package/dist/__tests__/utils/validation.test.d.ts +2 -0
- package/dist/__tests__/utils/validation.test.d.ts.map +1 -0
- package/dist/auth/config-store.d.ts +63 -0
- package/dist/auth/config-store.d.ts.map +1 -0
- package/dist/auth/device-flow.d.ts +41 -0
- package/dist/auth/device-flow.d.ts.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/types.d.ts +90 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/commands/auth/index.d.ts +21 -0
- package/dist/commands/auth/index.d.ts.map +1 -0
- package/dist/commands/generate/index.d.ts +23 -2
- package/dist/commands/generate/index.d.ts.map +1 -1
- package/dist/commands/generate/options/c15t-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/custom-mode.d.ts +3 -1
- package/dist/commands/generate/options/custom-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/offline-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/self-hosted-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/shared/backend-options.d.ts +26 -0
- package/dist/commands/generate/options/shared/backend-options.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/dev-tools.d.ts +9 -0
- package/dist/commands/generate/options/shared/dev-tools.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/frontend-ui-options.d.ts +44 -0
- package/dist/commands/generate/options/shared/frontend-ui-options.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/index.d.ts +9 -0
- package/dist/commands/generate/options/shared/index.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/ssr.d.ts +21 -0
- package/dist/commands/generate/options/shared/ssr.d.ts.map +1 -0
- package/dist/commands/generate/options/utils/generate-files.d.ts +10 -2
- package/dist/commands/generate/options/utils/generate-files.d.ts.map +1 -1
- package/dist/commands/generate/preflight.d.ts +31 -0
- package/dist/commands/generate/preflight.d.ts.map +1 -0
- package/dist/commands/generate/prompts/expanded-theme.d.ts +46 -0
- package/dist/commands/generate/prompts/expanded-theme.d.ts.map +1 -0
- package/dist/commands/generate/prompts/index.d.ts +10 -0
- package/dist/commands/generate/prompts/index.d.ts.map +1 -0
- package/dist/commands/generate/prompts/instance.d.ts +33 -0
- package/dist/commands/generate/prompts/instance.d.ts.map +1 -0
- package/dist/commands/generate/prompts/mode-select.d.ts +42 -0
- package/dist/commands/generate/prompts/mode-select.d.ts.map +1 -0
- package/dist/commands/generate/prompts/scripts.d.ts +66 -0
- package/dist/commands/generate/prompts/scripts.d.ts.map +1 -0
- package/dist/commands/generate/prompts/theme.d.ts +46 -0
- package/dist/commands/generate/prompts/theme.d.ts.map +1 -0
- package/dist/commands/generate/prompts/ui-style.d.ts +36 -0
- package/dist/commands/generate/prompts/ui-style.d.ts.map +1 -0
- package/dist/commands/generate/summary.d.ts +37 -0
- package/dist/commands/generate/summary.d.ts.map +1 -0
- package/dist/commands/generate/templates/config.d.ts +7 -6
- package/dist/commands/generate/templates/config.d.ts.map +1 -1
- package/dist/commands/generate/templates/css.d.ts +12 -0
- package/dist/commands/generate/templates/css.d.ts.map +1 -0
- package/dist/commands/generate/templates/index.d.ts +1 -1
- package/dist/commands/generate/templates/index.d.ts.map +1 -1
- package/dist/commands/generate/templates/layout.d.ts +7 -0
- package/dist/commands/generate/templates/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/app/layout.d.ts +9 -2
- package/dist/commands/generate/templates/next/app/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/index.d.ts +7 -0
- package/dist/commands/generate/templates/next/index.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/pages/layout.d.ts +3 -1
- package/dist/commands/generate/templates/next/pages/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/shared/components.d.ts +69 -0
- package/dist/commands/generate/templates/shared/components.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/directory.d.ts +71 -0
- package/dist/commands/generate/templates/shared/directory.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/expanded-components.d.ts +50 -0
- package/dist/commands/generate/templates/shared/expanded-components.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/framework-config.d.ts +18 -0
- package/dist/commands/generate/templates/shared/framework-config.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/layout-pipeline.d.ts +47 -0
- package/dist/commands/generate/templates/shared/layout-pipeline.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/module-specifier.d.ts +68 -0
- package/dist/commands/generate/templates/shared/module-specifier.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/options.d.ts +37 -20
- package/dist/commands/generate/templates/shared/options.d.ts.map +1 -1
- package/dist/commands/generate/templates/shared/scripts.d.ts +62 -0
- package/dist/commands/generate/templates/shared/scripts.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/server-components.d.ts +38 -0
- package/dist/commands/generate/templates/shared/server-components.d.ts.map +1 -0
- package/dist/commands/index.d.ts +8 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/instances/index.d.ts +22 -0
- package/dist/commands/instances/index.d.ts.map +1 -0
- package/dist/commands/self-host/migrate/migrator-result.d.ts +1 -1
- package/dist/commands/self-host/migrate/migrator-result.d.ts.map +1 -1
- package/dist/commands/self-host/migrate/orm-result.d.ts +1 -1
- package/dist/commands/self-host/migrate/orm-result.d.ts.map +1 -1
- package/dist/commands/self-host/migrate/read-config.d.ts +1 -1
- package/dist/commands/self-host/migrate/read-config.d.ts.map +1 -1
- package/dist/constants.d.ts +101 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/context/framework-detection.d.ts +1 -0
- package/dist/context/framework-detection.d.ts.map +1 -1
- package/dist/context/types.d.ts +3 -3
- package/dist/context/types.d.ts.map +1 -1
- package/dist/core/context.d.ts +24 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/errors.d.ts +214 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/logger.d.ts +50 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/parser.d.ts +35 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/telemetry.d.ts +78 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/detection/framework.d.ts +31 -0
- package/dist/detection/framework.d.ts.map +1 -0
- package/dist/detection/index.d.ts +7 -0
- package/dist/detection/index.d.ts.map +1 -0
- package/dist/detection/layout.d.ts +36 -0
- package/dist/detection/layout.d.ts.map +1 -0
- package/dist/detection/package-manager.d.ts +31 -0
- package/dist/detection/package-manager.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2066 -1836
- package/dist/machines/generate/actions.d.ts +116 -0
- package/dist/machines/generate/actions.d.ts.map +1 -0
- package/dist/machines/generate/actors/dependencies.d.ts +43 -0
- package/dist/machines/generate/actors/dependencies.d.ts.map +1 -0
- package/dist/machines/generate/actors/file-generation.d.ts +54 -0
- package/dist/machines/generate/actors/file-generation.d.ts.map +1 -0
- package/dist/machines/generate/actors/preflight.d.ts +46 -0
- package/dist/machines/generate/actors/preflight.d.ts.map +1 -0
- package/dist/machines/generate/actors/prompts.d.ts +122 -0
- package/dist/machines/generate/actors/prompts.d.ts.map +1 -0
- package/dist/machines/generate/guards.d.ts +180 -0
- package/dist/machines/generate/guards.d.ts.map +1 -0
- package/dist/machines/generate/machine.d.ts +250 -0
- package/dist/machines/generate/machine.d.ts.map +1 -0
- package/dist/machines/generate/runner.d.ts +40 -0
- package/dist/machines/generate/runner.d.ts.map +1 -0
- package/dist/machines/generate/types.d.ts +189 -0
- package/dist/machines/generate/types.d.ts.map +1 -0
- package/dist/machines/index.d.ts +20 -0
- package/dist/machines/index.d.ts.map +1 -0
- package/dist/machines/persistence.d.ts +65 -0
- package/dist/machines/persistence.d.ts.map +1 -0
- package/dist/machines/telemetry-plugin.d.ts +54 -0
- package/dist/machines/telemetry-plugin.d.ts.map +1 -0
- package/dist/machines/types.d.ts +104 -0
- package/dist/machines/types.d.ts.map +1 -0
- package/dist/mcp/client.d.ts +61 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/types.d.ts +84 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/types.d.ts +238 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/formatter.d.ts +71 -0
- package/dist/utils/formatter.d.ts.map +1 -0
- package/dist/utils/fs.d.ts +80 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/spinner.d.ts +60 -0
- package/dist/utils/spinner.d.ts.map +1 -0
- package/dist/utils/telemetry.d.ts +4 -0
- package/dist/utils/telemetry.d.ts.map +1 -1
- package/dist/utils/validation.d.ts +68 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/package.json +63 -64
- package/LICENSE.md +0 -595
- package/dist/commands/generate/options/utils/shared-frontend.d.ts +0 -14
- package/dist/commands/generate/options/utils/shared-frontend.d.ts.map +0 -1
- package/dist/commands/generate/templates/backend.d.ts +0 -10
- package/dist/commands/generate/templates/backend.d.ts.map +0 -1
- package/dist/commands/generate/templates/next/app/components.d.ts +0 -44
- package/dist/commands/generate/templates/next/app/components.d.ts.map +0 -1
- package/dist/commands/generate/templates/next/pages/components.d.ts +0 -22
- package/dist/commands/generate/templates/next/pages/components.d.ts.map +0 -1
- package/dist/commands/generate/templates/react/components.d.ts +0 -21
- package/dist/commands/generate/templates/react/components.d.ts.map +0 -1
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate command state machine
|
|
3
|
+
*
|
|
4
|
+
* Main state machine for the generate flow with all states, transitions, and actors.
|
|
5
|
+
*/
|
|
6
|
+
import type { StorageMode } from '../../constants';
|
|
7
|
+
import type { CliContext } from '../../context/types';
|
|
8
|
+
import { type GenerateMachineContext } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* The generate state machine definition
|
|
11
|
+
*/
|
|
12
|
+
export declare const generateMachine: import("xstate").StateMachine<GenerateMachineContext, {
|
|
13
|
+
type: "START";
|
|
14
|
+
} | {
|
|
15
|
+
type: "CANCEL";
|
|
16
|
+
reason?: string;
|
|
17
|
+
} | {
|
|
18
|
+
type: "RETRY";
|
|
19
|
+
} | {
|
|
20
|
+
type: "RESET";
|
|
21
|
+
} | {
|
|
22
|
+
type: "PREFLIGHT_COMPLETE";
|
|
23
|
+
result: {
|
|
24
|
+
passed: boolean;
|
|
25
|
+
checks: import("./types").PreflightCheckResult[];
|
|
26
|
+
projectRoot: string;
|
|
27
|
+
framework: GenerateMachineContext["framework"];
|
|
28
|
+
packageManager: import("../../context/package-manager-detection").PackageManagerResult;
|
|
29
|
+
};
|
|
30
|
+
} | {
|
|
31
|
+
type: "PREFLIGHT_RETRY";
|
|
32
|
+
} | {
|
|
33
|
+
type: "SELECT_MODE";
|
|
34
|
+
mode: StorageMode;
|
|
35
|
+
} | {
|
|
36
|
+
type: "MODE_SELECTED";
|
|
37
|
+
mode: StorageMode;
|
|
38
|
+
} | {
|
|
39
|
+
type: "ACCOUNT_CREATION_COMPLETE";
|
|
40
|
+
needsAccount: boolean;
|
|
41
|
+
} | {
|
|
42
|
+
type: "BROWSER_OPENED";
|
|
43
|
+
} | {
|
|
44
|
+
type: "BACKEND_URL_ENTERED";
|
|
45
|
+
url: string;
|
|
46
|
+
} | {
|
|
47
|
+
type: "BACKEND_OPTIONS_COMPLETE";
|
|
48
|
+
useEnvFile: boolean;
|
|
49
|
+
proxyNextjs: boolean;
|
|
50
|
+
} | {
|
|
51
|
+
type: "FRONTEND_OPTIONS_COMPLETE";
|
|
52
|
+
enableSSR?: boolean;
|
|
53
|
+
enableDevTools?: boolean;
|
|
54
|
+
uiStyle: import("./types").UIStyle;
|
|
55
|
+
expandedTheme?: import("./types").ExpandedTheme;
|
|
56
|
+
} | {
|
|
57
|
+
type: "SCRIPTS_OPTION_COMPLETE";
|
|
58
|
+
addScripts: boolean;
|
|
59
|
+
} | {
|
|
60
|
+
type: "FILES_GENERATED";
|
|
61
|
+
filesCreated: string[];
|
|
62
|
+
filesModified: import("..").FileModification[];
|
|
63
|
+
} | {
|
|
64
|
+
type: "FILE_GENERATION_ERROR";
|
|
65
|
+
error: Error;
|
|
66
|
+
} | {
|
|
67
|
+
type: "CONFIRM_INSTALL";
|
|
68
|
+
confirmed: boolean;
|
|
69
|
+
} | {
|
|
70
|
+
type: "INSTALL_COMPLETE";
|
|
71
|
+
success: boolean;
|
|
72
|
+
} | {
|
|
73
|
+
type: "SKIP_INSTALL";
|
|
74
|
+
} | {
|
|
75
|
+
type: "SHOW_SUMMARY";
|
|
76
|
+
} | {
|
|
77
|
+
type: "GITHUB_STAR_PROMPT";
|
|
78
|
+
opened: boolean;
|
|
79
|
+
} | {
|
|
80
|
+
type: "COMPLETE";
|
|
81
|
+
} | {
|
|
82
|
+
type: "ROLLBACK_COMPLETE";
|
|
83
|
+
} | {
|
|
84
|
+
type: "CLEANUP_COMPLETE";
|
|
85
|
+
}, {
|
|
86
|
+
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/preflight").PreflightOutput, import("./actors/preflight").PreflightInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").ModeSelectionOutput, import("./actors/prompts").ModeSelectionInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").BackendOptionsOutput, import("./actors/prompts").BackendOptionsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").FrontendOptionsOutput, import("./actors/prompts").FrontendOptionsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/file-generation").FileGenerationOutput, import("./actors/file-generation").FileGenerationInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/dependencies").DependencyInstallOutput, import("./actors/dependencies").DependencyInstallInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").GitHubStarOutput, import("./actors/prompts").GitHubStarInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").BackendURLOutput, import("./actors/prompts").BackendURLInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").AccountCreationOutput, import("./actors/prompts").AccountCreationInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").ScriptsOptionOutput, import("./actors/prompts").ScriptsOptionInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/dependencies").CheckDepsOutput, import("./actors/dependencies").CheckDepsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").InstallConfirmOutput, import("./actors/prompts").InstallConfirmInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/file-generation").RollbackOutput, import("./actors/file-generation").RollbackInput, import("xstate").EventObject>> | undefined;
|
|
87
|
+
}, {
|
|
88
|
+
src: "preflight";
|
|
89
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/preflight").PreflightOutput, import("./actors/preflight").PreflightInput, import("xstate").EventObject>;
|
|
90
|
+
id: string | undefined;
|
|
91
|
+
} | {
|
|
92
|
+
src: "modeSelection";
|
|
93
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").ModeSelectionOutput, import("./actors/prompts").ModeSelectionInput, import("xstate").EventObject>;
|
|
94
|
+
id: string | undefined;
|
|
95
|
+
} | {
|
|
96
|
+
src: "backendOptions";
|
|
97
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").BackendOptionsOutput, import("./actors/prompts").BackendOptionsInput, import("xstate").EventObject>;
|
|
98
|
+
id: string | undefined;
|
|
99
|
+
} | {
|
|
100
|
+
src: "frontendOptions";
|
|
101
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").FrontendOptionsOutput, import("./actors/prompts").FrontendOptionsInput, import("xstate").EventObject>;
|
|
102
|
+
id: string | undefined;
|
|
103
|
+
} | {
|
|
104
|
+
src: "fileGeneration";
|
|
105
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/file-generation").FileGenerationOutput, import("./actors/file-generation").FileGenerationInput, import("xstate").EventObject>;
|
|
106
|
+
id: string | undefined;
|
|
107
|
+
} | {
|
|
108
|
+
src: "dependencyInstall";
|
|
109
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/dependencies").DependencyInstallOutput, import("./actors/dependencies").DependencyInstallInput, import("xstate").EventObject>;
|
|
110
|
+
id: string | undefined;
|
|
111
|
+
} | {
|
|
112
|
+
src: "githubStar";
|
|
113
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").GitHubStarOutput, import("./actors/prompts").GitHubStarInput, import("xstate").EventObject>;
|
|
114
|
+
id: string | undefined;
|
|
115
|
+
} | {
|
|
116
|
+
src: "backendURL";
|
|
117
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").BackendURLOutput, import("./actors/prompts").BackendURLInput, import("xstate").EventObject>;
|
|
118
|
+
id: string | undefined;
|
|
119
|
+
} | {
|
|
120
|
+
src: "accountCreation";
|
|
121
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").AccountCreationOutput, import("./actors/prompts").AccountCreationInput, import("xstate").EventObject>;
|
|
122
|
+
id: string | undefined;
|
|
123
|
+
} | {
|
|
124
|
+
src: "scriptsOption";
|
|
125
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").ScriptsOptionOutput, import("./actors/prompts").ScriptsOptionInput, import("xstate").EventObject>;
|
|
126
|
+
id: string | undefined;
|
|
127
|
+
} | {
|
|
128
|
+
src: "checkDependencies";
|
|
129
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/dependencies").CheckDepsOutput, import("./actors/dependencies").CheckDepsInput, import("xstate").EventObject>;
|
|
130
|
+
id: string | undefined;
|
|
131
|
+
} | {
|
|
132
|
+
src: "installConfirm";
|
|
133
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").InstallConfirmOutput, import("./actors/prompts").InstallConfirmInput, import("xstate").EventObject>;
|
|
134
|
+
id: string | undefined;
|
|
135
|
+
} | {
|
|
136
|
+
src: "rollback";
|
|
137
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/file-generation").RollbackOutput, import("./actors/file-generation").RollbackInput, import("xstate").EventObject>;
|
|
138
|
+
id: string | undefined;
|
|
139
|
+
}, never, {
|
|
140
|
+
type: "hasReact";
|
|
141
|
+
params: unknown;
|
|
142
|
+
} | {
|
|
143
|
+
type: "isC15tMode";
|
|
144
|
+
params: unknown;
|
|
145
|
+
} | {
|
|
146
|
+
type: "preflightPassed";
|
|
147
|
+
params: unknown;
|
|
148
|
+
} | {
|
|
149
|
+
type: "preflightFailed";
|
|
150
|
+
params: unknown;
|
|
151
|
+
} | {
|
|
152
|
+
type: "hasModeArg";
|
|
153
|
+
params: unknown;
|
|
154
|
+
} | {
|
|
155
|
+
type: "isOfflineMode";
|
|
156
|
+
params: unknown;
|
|
157
|
+
} | {
|
|
158
|
+
type: "isSelfHostedMode";
|
|
159
|
+
params: unknown;
|
|
160
|
+
} | {
|
|
161
|
+
type: "isCustomMode";
|
|
162
|
+
params: unknown;
|
|
163
|
+
} | {
|
|
164
|
+
type: "modeRequiresBackend";
|
|
165
|
+
params: unknown;
|
|
166
|
+
} | {
|
|
167
|
+
type: "modeNoBackend";
|
|
168
|
+
params: unknown;
|
|
169
|
+
} | {
|
|
170
|
+
type: "isNextjs";
|
|
171
|
+
params: unknown;
|
|
172
|
+
} | {
|
|
173
|
+
type: "isReact";
|
|
174
|
+
params: unknown;
|
|
175
|
+
} | {
|
|
176
|
+
type: "isCore";
|
|
177
|
+
params: unknown;
|
|
178
|
+
} | {
|
|
179
|
+
type: "hasTailwind";
|
|
180
|
+
params: unknown;
|
|
181
|
+
} | {
|
|
182
|
+
type: "hasBackendURL";
|
|
183
|
+
params: unknown;
|
|
184
|
+
} | {
|
|
185
|
+
type: "isExpandedUIStyle";
|
|
186
|
+
params: unknown;
|
|
187
|
+
} | {
|
|
188
|
+
type: "installConfirmed";
|
|
189
|
+
params: unknown;
|
|
190
|
+
} | {
|
|
191
|
+
type: "installSucceeded";
|
|
192
|
+
params: unknown;
|
|
193
|
+
} | {
|
|
194
|
+
type: "hasFilesToRollback";
|
|
195
|
+
params: unknown;
|
|
196
|
+
} | {
|
|
197
|
+
type: "hasDependencies";
|
|
198
|
+
params: unknown;
|
|
199
|
+
} | {
|
|
200
|
+
type: "hasErrors";
|
|
201
|
+
params: unknown;
|
|
202
|
+
} | {
|
|
203
|
+
type: "needsCleanup";
|
|
204
|
+
params: unknown;
|
|
205
|
+
} | {
|
|
206
|
+
type: "shouldPromptSSR";
|
|
207
|
+
params: unknown;
|
|
208
|
+
} | {
|
|
209
|
+
type: "shouldPromptUIStyle";
|
|
210
|
+
params: unknown;
|
|
211
|
+
}, never, "error" | "exited" | "complete" | "preflightError" | "idle" | "preflight" | "modeSelection" | "offlineMode" | "selfHostedMode" | "customMode" | "backendOptions" | "frontendOptions" | "scriptsOptions" | "fileGeneration" | "dependencyInstall" | "summary" | "githubStar" | "cancelling" | "rollback" | "routeToMode" | "dependencyCheck" | "dependencyConfirm" | {
|
|
212
|
+
c15tMode: "backendURL" | "accountCreation";
|
|
213
|
+
}, string, {
|
|
214
|
+
cliContext: CliContext;
|
|
215
|
+
modeArg?: StorageMode;
|
|
216
|
+
}, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
|
|
217
|
+
id: "generate";
|
|
218
|
+
states: {
|
|
219
|
+
readonly idle: {};
|
|
220
|
+
readonly preflight: {};
|
|
221
|
+
readonly preflightError: {};
|
|
222
|
+
readonly modeSelection: {};
|
|
223
|
+
readonly routeToMode: {};
|
|
224
|
+
readonly c15tMode: {
|
|
225
|
+
states: {
|
|
226
|
+
readonly accountCreation: {};
|
|
227
|
+
readonly backendURL: {};
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
readonly offlineMode: {};
|
|
231
|
+
readonly selfHostedMode: {};
|
|
232
|
+
readonly customMode: {};
|
|
233
|
+
readonly backendOptions: {};
|
|
234
|
+
readonly frontendOptions: {};
|
|
235
|
+
readonly scriptsOptions: {};
|
|
236
|
+
readonly fileGeneration: {};
|
|
237
|
+
readonly dependencyCheck: {};
|
|
238
|
+
readonly dependencyConfirm: {};
|
|
239
|
+
readonly dependencyInstall: {};
|
|
240
|
+
readonly summary: {};
|
|
241
|
+
readonly githubStar: {};
|
|
242
|
+
readonly complete: {};
|
|
243
|
+
readonly error: {};
|
|
244
|
+
readonly cancelling: {};
|
|
245
|
+
readonly rollback: {};
|
|
246
|
+
readonly exited: {};
|
|
247
|
+
};
|
|
248
|
+
}>;
|
|
249
|
+
export type GenerateMachine = typeof generateMachine;
|
|
250
|
+
//# sourceMappingURL=machine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/machines/generate/machine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAwBlD,OAAO,EAEN,KAAK,sBAAsB,EAE3B,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAIC,UAAU;cAAY,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8lB5D,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runner for the generate state machine
|
|
3
|
+
*
|
|
4
|
+
* Creates and runs the generate machine with proper setup.
|
|
5
|
+
*/
|
|
6
|
+
import { createActor } from 'xstate';
|
|
7
|
+
import type { StorageMode } from '../../constants';
|
|
8
|
+
import type { CliContext } from '../../context/types';
|
|
9
|
+
import type { MachineExecutionResult } from '../types';
|
|
10
|
+
import { generateMachine } from './machine';
|
|
11
|
+
import type { GenerateMachineContext } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* Options for running the generate machine
|
|
14
|
+
*/
|
|
15
|
+
export interface RunGenerateOptions {
|
|
16
|
+
/** CLI context */
|
|
17
|
+
context: CliContext;
|
|
18
|
+
/** Mode passed as CLI argument */
|
|
19
|
+
modeArg?: StorageMode;
|
|
20
|
+
/** Whether to resume from persisted state */
|
|
21
|
+
resume?: boolean;
|
|
22
|
+
/** Enable debug logging */
|
|
23
|
+
debug?: boolean;
|
|
24
|
+
/** Enable state persistence */
|
|
25
|
+
persist?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Run the generate state machine
|
|
29
|
+
*
|
|
30
|
+
* @param options - Options for running the machine
|
|
31
|
+
* @returns Promise that resolves when the machine completes
|
|
32
|
+
*/
|
|
33
|
+
export declare function runGenerateMachine(options: RunGenerateOptions): Promise<MachineExecutionResult<GenerateMachineContext>>;
|
|
34
|
+
/**
|
|
35
|
+
* Cancel signal handler for graceful shutdown
|
|
36
|
+
*
|
|
37
|
+
* @param actor - The running actor to cancel
|
|
38
|
+
*/
|
|
39
|
+
export declare function setupCancelHandler(actor: ReturnType<typeof createActor<typeof generateMachine>>): void;
|
|
40
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/machines/generate/runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAclD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,kBAAkB;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,kCAAkC;IAClC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,kBAAkB,GACzB,OAAO,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,CAoHzD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC,GAC3D,IAAI,CAeN"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the generate command state machine
|
|
3
|
+
*
|
|
4
|
+
* Defines context, events, and state types for the generate flow.
|
|
5
|
+
*/
|
|
6
|
+
import type { StorageMode } from '../../constants';
|
|
7
|
+
import type { AvailablePackages } from '../../context/framework-detection';
|
|
8
|
+
import type { PackageManagerResult } from '../../context/package-manager-detection';
|
|
9
|
+
import type { CliContext } from '../../context/types';
|
|
10
|
+
import type { BaseMachineContext, FileModification } from '../types';
|
|
11
|
+
/**
|
|
12
|
+
* UI style selection for component generation
|
|
13
|
+
*/
|
|
14
|
+
export type UIStyle = 'prebuilt' | 'expanded';
|
|
15
|
+
/**
|
|
16
|
+
* Theme preset
|
|
17
|
+
*/
|
|
18
|
+
export type ExpandedTheme = 'none' | 'minimal' | 'dark' | 'tailwind';
|
|
19
|
+
/**
|
|
20
|
+
* Context for the generate state machine
|
|
21
|
+
*/
|
|
22
|
+
export interface GenerateMachineContext extends BaseMachineContext {
|
|
23
|
+
/** Reference to the CLI context (not serializable, set on init) */
|
|
24
|
+
cliContext: CliContext | null;
|
|
25
|
+
/** Project root directory */
|
|
26
|
+
projectRoot: string;
|
|
27
|
+
/** Detected framework information */
|
|
28
|
+
framework: {
|
|
29
|
+
name: string | null;
|
|
30
|
+
version: string | null;
|
|
31
|
+
pkg: AvailablePackages;
|
|
32
|
+
hasReact: boolean;
|
|
33
|
+
reactVersion: string | null;
|
|
34
|
+
tailwindVersion: string | null;
|
|
35
|
+
} | null;
|
|
36
|
+
/** Detected package manager */
|
|
37
|
+
packageManager: PackageManagerResult | null;
|
|
38
|
+
/** Whether preflight checks passed */
|
|
39
|
+
preflightPassed: boolean;
|
|
40
|
+
/** Preflight check details */
|
|
41
|
+
preflightChecks: PreflightCheckResult[];
|
|
42
|
+
/** Selected storage mode */
|
|
43
|
+
selectedMode: StorageMode | null;
|
|
44
|
+
/** Mode passed as CLI argument */
|
|
45
|
+
modeArg: StorageMode | null;
|
|
46
|
+
/** Backend URL for c15t/self-hosted modes */
|
|
47
|
+
backendURL: string | null;
|
|
48
|
+
/** Whether to store backend URL in .env file */
|
|
49
|
+
useEnvFile: boolean;
|
|
50
|
+
/** Whether to proxy requests via Next.js rewrites */
|
|
51
|
+
proxyNextjs: boolean;
|
|
52
|
+
/** Whether to enable SSR for initial data fetch */
|
|
53
|
+
enableSSR: boolean;
|
|
54
|
+
/** Whether to install and enable c15t DevTools */
|
|
55
|
+
enableDevTools: boolean;
|
|
56
|
+
/** UI component style selection */
|
|
57
|
+
uiStyle: UIStyle;
|
|
58
|
+
/** Theme preset for expanded components */
|
|
59
|
+
expandedTheme: ExpandedTheme | null;
|
|
60
|
+
/** Whether to add c15t scripts package */
|
|
61
|
+
addScripts: boolean;
|
|
62
|
+
/** Selected scripts to pre-configure */
|
|
63
|
+
selectedScripts: string[];
|
|
64
|
+
/** Paths to files created during generation */
|
|
65
|
+
filesCreated: string[];
|
|
66
|
+
/** Files modified with backup for rollback */
|
|
67
|
+
filesModified: FileModification[];
|
|
68
|
+
/** Dependencies to install */
|
|
69
|
+
dependenciesToAdd: string[];
|
|
70
|
+
/** Whether user confirmed dependency installation */
|
|
71
|
+
installConfirmed: boolean;
|
|
72
|
+
/** Whether installation was attempted */
|
|
73
|
+
installAttempted: boolean;
|
|
74
|
+
/** Whether installation succeeded */
|
|
75
|
+
installSucceeded: boolean;
|
|
76
|
+
/** Whether to run database migrations (self-hosted mode) */
|
|
77
|
+
runMigrations: boolean;
|
|
78
|
+
/** Reason for cancellation if cancelled */
|
|
79
|
+
cancelReason: string | null;
|
|
80
|
+
/** Whether cleanup has been performed */
|
|
81
|
+
cleanupDone: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Result of a preflight check
|
|
85
|
+
*/
|
|
86
|
+
export interface PreflightCheckResult {
|
|
87
|
+
name: string;
|
|
88
|
+
status: 'pass' | 'warn' | 'fail';
|
|
89
|
+
message: string;
|
|
90
|
+
hint?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Events for the generate state machine
|
|
94
|
+
*/
|
|
95
|
+
export type GenerateMachineEvent = {
|
|
96
|
+
type: 'START';
|
|
97
|
+
} | {
|
|
98
|
+
type: 'CANCEL';
|
|
99
|
+
reason?: string;
|
|
100
|
+
} | {
|
|
101
|
+
type: 'RETRY';
|
|
102
|
+
} | {
|
|
103
|
+
type: 'RESET';
|
|
104
|
+
} | {
|
|
105
|
+
type: 'PREFLIGHT_COMPLETE';
|
|
106
|
+
result: {
|
|
107
|
+
passed: boolean;
|
|
108
|
+
checks: PreflightCheckResult[];
|
|
109
|
+
projectRoot: string;
|
|
110
|
+
framework: GenerateMachineContext['framework'];
|
|
111
|
+
packageManager: PackageManagerResult;
|
|
112
|
+
};
|
|
113
|
+
} | {
|
|
114
|
+
type: 'PREFLIGHT_RETRY';
|
|
115
|
+
} | {
|
|
116
|
+
type: 'SELECT_MODE';
|
|
117
|
+
mode: StorageMode;
|
|
118
|
+
} | {
|
|
119
|
+
type: 'MODE_SELECTED';
|
|
120
|
+
mode: StorageMode;
|
|
121
|
+
} | {
|
|
122
|
+
type: 'ACCOUNT_CREATION_COMPLETE';
|
|
123
|
+
needsAccount: boolean;
|
|
124
|
+
} | {
|
|
125
|
+
type: 'BROWSER_OPENED';
|
|
126
|
+
} | {
|
|
127
|
+
type: 'BACKEND_URL_ENTERED';
|
|
128
|
+
url: string;
|
|
129
|
+
} | {
|
|
130
|
+
type: 'BACKEND_OPTIONS_COMPLETE';
|
|
131
|
+
useEnvFile: boolean;
|
|
132
|
+
proxyNextjs: boolean;
|
|
133
|
+
} | {
|
|
134
|
+
type: 'FRONTEND_OPTIONS_COMPLETE';
|
|
135
|
+
enableSSR?: boolean;
|
|
136
|
+
enableDevTools?: boolean;
|
|
137
|
+
uiStyle: UIStyle;
|
|
138
|
+
expandedTheme?: ExpandedTheme;
|
|
139
|
+
} | {
|
|
140
|
+
type: 'SCRIPTS_OPTION_COMPLETE';
|
|
141
|
+
addScripts: boolean;
|
|
142
|
+
} | {
|
|
143
|
+
type: 'FILES_GENERATED';
|
|
144
|
+
filesCreated: string[];
|
|
145
|
+
filesModified: FileModification[];
|
|
146
|
+
} | {
|
|
147
|
+
type: 'FILE_GENERATION_ERROR';
|
|
148
|
+
error: Error;
|
|
149
|
+
} | {
|
|
150
|
+
type: 'CONFIRM_INSTALL';
|
|
151
|
+
confirmed: boolean;
|
|
152
|
+
} | {
|
|
153
|
+
type: 'INSTALL_COMPLETE';
|
|
154
|
+
success: boolean;
|
|
155
|
+
} | {
|
|
156
|
+
type: 'SKIP_INSTALL';
|
|
157
|
+
} | {
|
|
158
|
+
type: 'SHOW_SUMMARY';
|
|
159
|
+
} | {
|
|
160
|
+
type: 'GITHUB_STAR_PROMPT';
|
|
161
|
+
opened: boolean;
|
|
162
|
+
} | {
|
|
163
|
+
type: 'COMPLETE';
|
|
164
|
+
} | {
|
|
165
|
+
type: 'ROLLBACK_COMPLETE';
|
|
166
|
+
} | {
|
|
167
|
+
type: 'CLEANUP_COMPLETE';
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* State value types for the generate machine
|
|
171
|
+
*/
|
|
172
|
+
export type GenerateMachineStateValue = 'idle' | 'preflight' | 'preflightError' | 'modeSelection' | 'c15tMode' | 'offlineMode' | 'selfHostedMode' | 'customMode' | 'backendOptions' | 'frontendOptions' | 'scriptsOptions' | 'fileGeneration' | 'dependencyInstall' | 'summary' | 'githubStar' | 'complete' | 'error' | 'cancelling' | 'cleanup' | 'exited';
|
|
173
|
+
/**
|
|
174
|
+
* Initial context for the generate machine
|
|
175
|
+
*/
|
|
176
|
+
export declare function createInitialContext(cliContext?: CliContext, modeArg?: StorageMode): GenerateMachineContext;
|
|
177
|
+
/**
|
|
178
|
+
* Type guard for checking if a mode requires backend URL
|
|
179
|
+
*/
|
|
180
|
+
export declare function modeRequiresBackend(mode: StorageMode): boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Type guard for checking if framework is Next.js
|
|
183
|
+
*/
|
|
184
|
+
export declare function isNextjsFramework(framework: GenerateMachineContext['framework']): boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Type guard for checking if framework has React
|
|
187
|
+
*/
|
|
188
|
+
export declare function hasReactFramework(framework: GenerateMachineContext['framework']): boolean;
|
|
189
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/machines/generate/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State machines for CLI commands
|
|
3
|
+
*
|
|
4
|
+
* Exports all state machines and utilities.
|
|
5
|
+
*/
|
|
6
|
+
export { actions as generateActions } from './generate/actions';
|
|
7
|
+
export { checkDependenciesActor, dependencyInstallActor, getManualInstallCommand, } from './generate/actors/dependencies';
|
|
8
|
+
export { fileGenerationActor, rollbackActor, } from './generate/actors/file-generation';
|
|
9
|
+
export { displayPreflightFailure, displayPreflightResults, preflightActor, } from './generate/actors/preflight';
|
|
10
|
+
export { accountCreationActor, backendOptionsActor, backendURLActor, frontendOptionsActor, githubStarActor, installConfirmActor, modeSelectionActor, PromptCancelledError, scriptsOptionActor, } from './generate/actors/prompts';
|
|
11
|
+
export { guards as generateGuards } from './generate/guards';
|
|
12
|
+
export { type GenerateMachine, generateMachine } from './generate/machine';
|
|
13
|
+
export type { RunGenerateOptions } from './generate/runner';
|
|
14
|
+
export { runGenerateMachine, setupCancelHandler } from './generate/runner';
|
|
15
|
+
export type { ExpandedTheme, GenerateMachineContext, GenerateMachineEvent, GenerateMachineStateValue, PreflightCheckResult, UIStyle, } from './generate/types';
|
|
16
|
+
export { createInitialContext } from './generate/types';
|
|
17
|
+
export * from './persistence';
|
|
18
|
+
export * from './telemetry-plugin';
|
|
19
|
+
export * from './types';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/machines/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,mBAAmB,EACnB,aAAa,GACb,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,YAAY,EACX,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,OAAO,GACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State persistence utilities for CLI state machines
|
|
3
|
+
*
|
|
4
|
+
* Enables saving and loading machine snapshots for resume functionality.
|
|
5
|
+
*/
|
|
6
|
+
import type { AnyStateMachine, SnapshotFrom } from 'xstate';
|
|
7
|
+
/**
|
|
8
|
+
* Persisted state structure
|
|
9
|
+
*/
|
|
10
|
+
export interface PersistedState<T = unknown> {
|
|
11
|
+
/** Machine ID this state belongs to */
|
|
12
|
+
machineId: string;
|
|
13
|
+
/** Version for migration support */
|
|
14
|
+
version: number;
|
|
15
|
+
/** Timestamp when state was saved */
|
|
16
|
+
savedAt: number;
|
|
17
|
+
/** The actual snapshot data */
|
|
18
|
+
snapshot: T;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the persistence file path for a project
|
|
22
|
+
*/
|
|
23
|
+
export declare function getPersistPath(projectRoot: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Save a machine snapshot to disk
|
|
26
|
+
*/
|
|
27
|
+
export declare function saveSnapshot<TMachine extends AnyStateMachine>(snapshot: SnapshotFrom<TMachine>, machineId: string, persistPath: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Load a machine snapshot from disk
|
|
30
|
+
*
|
|
31
|
+
* @returns The snapshot if found and valid, null otherwise
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadSnapshot<TSnapshot>(persistPath: string, machineId: string): Promise<TSnapshot | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Clear a persisted snapshot
|
|
36
|
+
*/
|
|
37
|
+
export declare function clearSnapshot(persistPath: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a persisted state exists
|
|
40
|
+
*/
|
|
41
|
+
export declare function hasPersistedState(persistPath: string): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Get metadata about persisted state without loading full snapshot
|
|
44
|
+
*/
|
|
45
|
+
export declare function getPersistedStateInfo(persistPath: string): Promise<{
|
|
46
|
+
machineId: string;
|
|
47
|
+
savedAt: Date;
|
|
48
|
+
} | null>;
|
|
49
|
+
/**
|
|
50
|
+
* Snapshot type for persistence subscriber
|
|
51
|
+
*/
|
|
52
|
+
interface PersistableSnapshot {
|
|
53
|
+
value: unknown;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a persistence middleware that auto-saves on state transitions
|
|
57
|
+
*/
|
|
58
|
+
export declare function createPersistenceSubscriber(machineId: string, persistPath: string, options?: {
|
|
59
|
+
/** States to persist (if not provided, persist all states) */
|
|
60
|
+
persistStates?: string[];
|
|
61
|
+
/** States to skip persisting */
|
|
62
|
+
skipStates?: string[];
|
|
63
|
+
}): (snapshot: PersistableSnapshot) => void;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/machines/persistence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAY,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtE;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IAC1C,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,CAAC,CAAC;CACZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AA8ED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,SAAS,eAAe,EAClE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAyB3B;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CActD;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC5B,KAAK,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACR,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,IAKE,UAAU,mBAAmB,UAwBrC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telemetry plugin for XState machines
|
|
3
|
+
*
|
|
4
|
+
* Automatically tracks state transitions and events for analytics.
|
|
5
|
+
*/
|
|
6
|
+
import type { Telemetry } from '../utils/telemetry';
|
|
7
|
+
import type { StateHistoryEntry } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for telemetry tracking
|
|
10
|
+
*/
|
|
11
|
+
export interface TelemetryPluginConfig {
|
|
12
|
+
/** Telemetry instance to use */
|
|
13
|
+
telemetry: Telemetry;
|
|
14
|
+
/** Machine ID for event naming */
|
|
15
|
+
machineId: string;
|
|
16
|
+
/** States to skip tracking (e.g., transient states) */
|
|
17
|
+
skipStates?: string[];
|
|
18
|
+
/** Whether to track all events or just state changes */
|
|
19
|
+
trackAllEvents?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Snapshot type for subscriber (loosely typed for XState compatibility)
|
|
23
|
+
*/
|
|
24
|
+
interface MachineSnapshot {
|
|
25
|
+
value: unknown;
|
|
26
|
+
context?: unknown;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Creates a telemetry subscriber for a state machine
|
|
30
|
+
*
|
|
31
|
+
* Tracks:
|
|
32
|
+
* - State entry/exit
|
|
33
|
+
* - State transition timing
|
|
34
|
+
* - Error states
|
|
35
|
+
* - Cancellation
|
|
36
|
+
*/
|
|
37
|
+
export declare function createTelemetrySubscriber(config: TelemetryPluginConfig): (snapshot: MachineSnapshot) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Gets the state history from a subscriber
|
|
40
|
+
* Useful for debugging and error reporting
|
|
41
|
+
*/
|
|
42
|
+
export declare function getStateHistory(subscriber: ReturnType<typeof createTelemetrySubscriber>): StateHistoryEntry[];
|
|
43
|
+
/**
|
|
44
|
+
* Creates a combined subscriber that handles both telemetry and custom callbacks
|
|
45
|
+
*/
|
|
46
|
+
export declare function combineSubscribers(...subscribers: Array<(snapshot: MachineSnapshot) => void>): (snapshot: MachineSnapshot) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Utility to create a simple state logger for debugging
|
|
49
|
+
*/
|
|
50
|
+
export declare function createDebugSubscriber(machineId: string, logger?: {
|
|
51
|
+
debug: (msg: string, ...args: unknown[]) => void;
|
|
52
|
+
}): (snapshot: MachineSnapshot) => void;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=telemetry-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry-plugin.d.ts","sourceRoot":"","sources":["../../src/machines/telemetry-plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,gCAAgC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,wDAAwD;IACxD,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,eAAe;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,IAO9D,UAAU,eAAe,UAsEjC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,UAAU,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,GACtD,iBAAiB,EAAE,CAIrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC,IAElD,UAAU,eAAe,UAUjC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,IAIrD,UAAU,eAAe,UASjC"}
|