@c15t/cli 1.8.3 → 2.0.0-rc.0

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.
Files changed (187) hide show
  1. package/dist/760.mjs +1720 -0
  2. package/dist/__tests__/auth/config-store.test.d.ts +2 -0
  3. package/dist/__tests__/auth/config-store.test.d.ts.map +1 -0
  4. package/dist/__tests__/constants.test.d.ts +2 -0
  5. package/dist/__tests__/constants.test.d.ts.map +1 -0
  6. package/dist/__tests__/detection/layout.test.d.ts +2 -0
  7. package/dist/__tests__/detection/layout.test.d.ts.map +1 -0
  8. package/dist/__tests__/mocks/prompts.d.ts +25 -0
  9. package/dist/__tests__/mocks/prompts.d.ts.map +1 -0
  10. package/dist/__tests__/utils/validation.test.d.ts +2 -0
  11. package/dist/__tests__/utils/validation.test.d.ts.map +1 -0
  12. package/dist/auth/config-store.d.ts +63 -0
  13. package/dist/auth/config-store.d.ts.map +1 -0
  14. package/dist/auth/device-flow.d.ts +41 -0
  15. package/dist/auth/device-flow.d.ts.map +1 -0
  16. package/dist/auth/index.d.ts +7 -0
  17. package/dist/auth/index.d.ts.map +1 -0
  18. package/dist/auth/types.d.ts +90 -0
  19. package/dist/auth/types.d.ts.map +1 -0
  20. package/dist/commands/auth/index.d.ts +21 -0
  21. package/dist/commands/auth/index.d.ts.map +1 -0
  22. package/dist/commands/generate/index.d.ts +23 -2
  23. package/dist/commands/generate/index.d.ts.map +1 -1
  24. package/dist/commands/generate/options/c15t-mode.d.ts.map +1 -1
  25. package/dist/commands/generate/options/custom-mode.d.ts +3 -1
  26. package/dist/commands/generate/options/custom-mode.d.ts.map +1 -1
  27. package/dist/commands/generate/options/offline-mode.d.ts.map +1 -1
  28. package/dist/commands/generate/options/self-hosted-mode.d.ts.map +1 -1
  29. package/dist/commands/generate/options/shared/backend-options.d.ts +26 -0
  30. package/dist/commands/generate/options/shared/backend-options.d.ts.map +1 -0
  31. package/dist/commands/generate/options/shared/dev-tools.d.ts +9 -0
  32. package/dist/commands/generate/options/shared/dev-tools.d.ts.map +1 -0
  33. package/dist/commands/generate/options/shared/frontend-ui-options.d.ts +44 -0
  34. package/dist/commands/generate/options/shared/frontend-ui-options.d.ts.map +1 -0
  35. package/dist/commands/generate/options/shared/index.d.ts +9 -0
  36. package/dist/commands/generate/options/shared/index.d.ts.map +1 -0
  37. package/dist/commands/generate/options/shared/ssr.d.ts +21 -0
  38. package/dist/commands/generate/options/shared/ssr.d.ts.map +1 -0
  39. package/dist/commands/generate/options/utils/generate-files.d.ts +10 -2
  40. package/dist/commands/generate/options/utils/generate-files.d.ts.map +1 -1
  41. package/dist/commands/generate/preflight.d.ts +31 -0
  42. package/dist/commands/generate/preflight.d.ts.map +1 -0
  43. package/dist/commands/generate/prompts/expanded-theme.d.ts +46 -0
  44. package/dist/commands/generate/prompts/expanded-theme.d.ts.map +1 -0
  45. package/dist/commands/generate/prompts/index.d.ts +10 -0
  46. package/dist/commands/generate/prompts/index.d.ts.map +1 -0
  47. package/dist/commands/generate/prompts/instance.d.ts +33 -0
  48. package/dist/commands/generate/prompts/instance.d.ts.map +1 -0
  49. package/dist/commands/generate/prompts/mode-select.d.ts +42 -0
  50. package/dist/commands/generate/prompts/mode-select.d.ts.map +1 -0
  51. package/dist/commands/generate/prompts/scripts.d.ts +66 -0
  52. package/dist/commands/generate/prompts/scripts.d.ts.map +1 -0
  53. package/dist/commands/generate/prompts/theme.d.ts +46 -0
  54. package/dist/commands/generate/prompts/theme.d.ts.map +1 -0
  55. package/dist/commands/generate/prompts/ui-style.d.ts +36 -0
  56. package/dist/commands/generate/prompts/ui-style.d.ts.map +1 -0
  57. package/dist/commands/generate/summary.d.ts +37 -0
  58. package/dist/commands/generate/summary.d.ts.map +1 -0
  59. package/dist/commands/generate/templates/config.d.ts +7 -6
  60. package/dist/commands/generate/templates/config.d.ts.map +1 -1
  61. package/dist/commands/generate/templates/css.d.ts +12 -0
  62. package/dist/commands/generate/templates/css.d.ts.map +1 -0
  63. package/dist/commands/generate/templates/index.d.ts +1 -1
  64. package/dist/commands/generate/templates/index.d.ts.map +1 -1
  65. package/dist/commands/generate/templates/layout.d.ts +7 -0
  66. package/dist/commands/generate/templates/layout.d.ts.map +1 -1
  67. package/dist/commands/generate/templates/next/app/layout.d.ts +9 -2
  68. package/dist/commands/generate/templates/next/app/layout.d.ts.map +1 -1
  69. package/dist/commands/generate/templates/next/index.d.ts +7 -0
  70. package/dist/commands/generate/templates/next/index.d.ts.map +1 -1
  71. package/dist/commands/generate/templates/next/pages/layout.d.ts +3 -1
  72. package/dist/commands/generate/templates/next/pages/layout.d.ts.map +1 -1
  73. package/dist/commands/generate/templates/shared/components.d.ts +69 -0
  74. package/dist/commands/generate/templates/shared/components.d.ts.map +1 -0
  75. package/dist/commands/generate/templates/shared/directory.d.ts +71 -0
  76. package/dist/commands/generate/templates/shared/directory.d.ts.map +1 -0
  77. package/dist/commands/generate/templates/shared/expanded-components.d.ts +50 -0
  78. package/dist/commands/generate/templates/shared/expanded-components.d.ts.map +1 -0
  79. package/dist/commands/generate/templates/shared/framework-config.d.ts +18 -0
  80. package/dist/commands/generate/templates/shared/framework-config.d.ts.map +1 -0
  81. package/dist/commands/generate/templates/shared/layout-pipeline.d.ts +47 -0
  82. package/dist/commands/generate/templates/shared/layout-pipeline.d.ts.map +1 -0
  83. package/dist/commands/generate/templates/shared/module-specifier.d.ts +68 -0
  84. package/dist/commands/generate/templates/shared/module-specifier.d.ts.map +1 -0
  85. package/dist/commands/generate/templates/shared/options.d.ts +37 -20
  86. package/dist/commands/generate/templates/shared/options.d.ts.map +1 -1
  87. package/dist/commands/generate/templates/shared/scripts.d.ts +62 -0
  88. package/dist/commands/generate/templates/shared/scripts.d.ts.map +1 -0
  89. package/dist/commands/generate/templates/shared/server-components.d.ts +38 -0
  90. package/dist/commands/generate/templates/shared/server-components.d.ts.map +1 -0
  91. package/dist/commands/index.d.ts +8 -0
  92. package/dist/commands/index.d.ts.map +1 -0
  93. package/dist/commands/instances/index.d.ts +22 -0
  94. package/dist/commands/instances/index.d.ts.map +1 -0
  95. package/dist/commands/self-host/migrate/migrator-result.d.ts +1 -1
  96. package/dist/commands/self-host/migrate/migrator-result.d.ts.map +1 -1
  97. package/dist/commands/self-host/migrate/orm-result.d.ts +1 -1
  98. package/dist/commands/self-host/migrate/orm-result.d.ts.map +1 -1
  99. package/dist/commands/self-host/migrate/read-config.d.ts +1 -1
  100. package/dist/commands/self-host/migrate/read-config.d.ts.map +1 -1
  101. package/dist/constants.d.ts +101 -0
  102. package/dist/constants.d.ts.map +1 -0
  103. package/dist/context/framework-detection.d.ts +1 -0
  104. package/dist/context/framework-detection.d.ts.map +1 -1
  105. package/dist/context/types.d.ts +3 -3
  106. package/dist/context/types.d.ts.map +1 -1
  107. package/dist/core/context.d.ts +24 -0
  108. package/dist/core/context.d.ts.map +1 -0
  109. package/dist/core/errors.d.ts +214 -0
  110. package/dist/core/errors.d.ts.map +1 -0
  111. package/dist/core/index.d.ts +9 -0
  112. package/dist/core/index.d.ts.map +1 -0
  113. package/dist/core/logger.d.ts +50 -0
  114. package/dist/core/logger.d.ts.map +1 -0
  115. package/dist/core/parser.d.ts +35 -0
  116. package/dist/core/parser.d.ts.map +1 -0
  117. package/dist/core/telemetry.d.ts +78 -0
  118. package/dist/core/telemetry.d.ts.map +1 -0
  119. package/dist/detection/framework.d.ts +31 -0
  120. package/dist/detection/framework.d.ts.map +1 -0
  121. package/dist/detection/index.d.ts +7 -0
  122. package/dist/detection/index.d.ts.map +1 -0
  123. package/dist/detection/layout.d.ts +36 -0
  124. package/dist/detection/layout.d.ts.map +1 -0
  125. package/dist/detection/package-manager.d.ts +31 -0
  126. package/dist/detection/package-manager.d.ts.map +1 -0
  127. package/dist/index.d.ts +9 -0
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.mjs +2066 -1836
  130. package/dist/machines/generate/actions.d.ts +116 -0
  131. package/dist/machines/generate/actions.d.ts.map +1 -0
  132. package/dist/machines/generate/actors/dependencies.d.ts +43 -0
  133. package/dist/machines/generate/actors/dependencies.d.ts.map +1 -0
  134. package/dist/machines/generate/actors/file-generation.d.ts +54 -0
  135. package/dist/machines/generate/actors/file-generation.d.ts.map +1 -0
  136. package/dist/machines/generate/actors/preflight.d.ts +46 -0
  137. package/dist/machines/generate/actors/preflight.d.ts.map +1 -0
  138. package/dist/machines/generate/actors/prompts.d.ts +122 -0
  139. package/dist/machines/generate/actors/prompts.d.ts.map +1 -0
  140. package/dist/machines/generate/guards.d.ts +180 -0
  141. package/dist/machines/generate/guards.d.ts.map +1 -0
  142. package/dist/machines/generate/machine.d.ts +250 -0
  143. package/dist/machines/generate/machine.d.ts.map +1 -0
  144. package/dist/machines/generate/runner.d.ts +40 -0
  145. package/dist/machines/generate/runner.d.ts.map +1 -0
  146. package/dist/machines/generate/types.d.ts +189 -0
  147. package/dist/machines/generate/types.d.ts.map +1 -0
  148. package/dist/machines/index.d.ts +20 -0
  149. package/dist/machines/index.d.ts.map +1 -0
  150. package/dist/machines/persistence.d.ts +65 -0
  151. package/dist/machines/persistence.d.ts.map +1 -0
  152. package/dist/machines/telemetry-plugin.d.ts +54 -0
  153. package/dist/machines/telemetry-plugin.d.ts.map +1 -0
  154. package/dist/machines/types.d.ts +104 -0
  155. package/dist/machines/types.d.ts.map +1 -0
  156. package/dist/mcp/client.d.ts +61 -0
  157. package/dist/mcp/client.d.ts.map +1 -0
  158. package/dist/mcp/index.d.ts +6 -0
  159. package/dist/mcp/index.d.ts.map +1 -0
  160. package/dist/mcp/types.d.ts +84 -0
  161. package/dist/mcp/types.d.ts.map +1 -0
  162. package/dist/types.d.ts +238 -0
  163. package/dist/types.d.ts.map +1 -0
  164. package/dist/utils/formatter.d.ts +71 -0
  165. package/dist/utils/formatter.d.ts.map +1 -0
  166. package/dist/utils/fs.d.ts +80 -0
  167. package/dist/utils/fs.d.ts.map +1 -0
  168. package/dist/utils/index.d.ts +8 -0
  169. package/dist/utils/index.d.ts.map +1 -0
  170. package/dist/utils/spinner.d.ts +60 -0
  171. package/dist/utils/spinner.d.ts.map +1 -0
  172. package/dist/utils/telemetry.d.ts +4 -0
  173. package/dist/utils/telemetry.d.ts.map +1 -1
  174. package/dist/utils/validation.d.ts +68 -0
  175. package/dist/utils/validation.d.ts.map +1 -0
  176. package/package.json +63 -64
  177. package/LICENSE.md +0 -595
  178. package/dist/commands/generate/options/utils/shared-frontend.d.ts +0 -14
  179. package/dist/commands/generate/options/utils/shared-frontend.d.ts.map +0 -1
  180. package/dist/commands/generate/templates/backend.d.ts +0 -10
  181. package/dist/commands/generate/templates/backend.d.ts.map +0 -1
  182. package/dist/commands/generate/templates/next/app/components.d.ts +0 -44
  183. package/dist/commands/generate/templates/next/app/components.d.ts.map +0 -1
  184. package/dist/commands/generate/templates/next/pages/components.d.ts +0 -22
  185. package/dist/commands/generate/templates/next/pages/components.d.ts.map +0 -1
  186. package/dist/commands/generate/templates/react/components.d.ts +0 -21
  187. 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"}