@builder.io/dev-tools 1.22.0-dev.202602021245.ba8683d35 → 1.22.2-dev.202602021651.f36726c72

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 (228) hide show
  1. package/cli/index.cjs +271 -463
  2. package/cli/index.cjs.map +4 -4
  3. package/core/index.cjs +1 -1
  4. package/core/index.mjs +1 -1
  5. package/node/index.cjs +1 -1
  6. package/node/index.mjs +1 -1
  7. package/package.json +1 -1
  8. package/server/index.cjs +2 -2
  9. package/server/index.mjs +2 -2
  10. package/types/_tests_/utils.d.ts +48 -35
  11. package/types/cli/abort-signal-any.d.ts +3 -1
  12. package/types/cli/auth/auth-utils.d.ts +3 -1
  13. package/types/cli/auth/auth.d.ts +5 -1
  14. package/types/cli/backup.d.ts +114 -60
  15. package/types/cli/builder-add/interface.d.ts +21 -4
  16. package/types/cli/code-file-utils.d.ts +11 -8
  17. package/types/cli/code-tools.d.ts +2 -7
  18. package/types/cli/code.d.ts +13 -3
  19. package/types/cli/codegen.d.ts +6 -5
  20. package/types/cli/credentials.d.ts +61 -45
  21. package/types/cli/detectors/nextjs.d.ts +4 -1
  22. package/types/cli/detectors/svelte.d.ts +4 -1
  23. package/types/cli/detectors/vue.d.ts +4 -1
  24. package/types/cli/download.d.ts +9 -4
  25. package/types/cli/dsi-mcp.d.ts +4 -1
  26. package/types/cli/fetch.d.ts +7 -2
  27. package/types/cli/figma-publish.d.ts +34 -17
  28. package/types/cli/figma-utils.d.ts +51 -21
  29. package/types/cli/figma.d.ts +9 -2
  30. package/types/cli/generate.d.ts +14 -11
  31. package/types/cli/incremental-tsc.d.ts +19 -7
  32. package/types/cli/index.d.ts +154 -154
  33. package/types/cli/launch/InitStateMachine.d.ts +156 -89
  34. package/types/cli/launch/config.d.ts +13 -3
  35. package/types/cli/launch/dev-server-orchestrator.d.ts +131 -99
  36. package/types/cli/launch/dry-run-backup.d.ts +14 -7
  37. package/types/cli/launch/errors.d.ts +7 -2
  38. package/types/cli/launch/grafana.d.ts +5 -1
  39. package/types/cli/launch/helpers.d.ts +19 -10
  40. package/types/cli/launch/machine-health.d.ts +8 -3
  41. package/types/cli/launch/proxy.d.ts +11 -4
  42. package/types/cli/launch/server.d.ts +19 -12
  43. package/types/cli/launch/vscode-tunnel-manager.d.ts +77 -68
  44. package/types/cli/launch.d.ts +109 -106
  45. package/types/cli/prettier.d.ts +9 -2
  46. package/types/cli/repo-connect/env-collector.d.ts +16 -11
  47. package/types/cli/repo-connect/file-collector.d.ts +22 -15
  48. package/types/cli/repo-connect/git-detector.d.ts +13 -11
  49. package/types/cli/repo-connect/install-runner.d.ts +8 -5
  50. package/types/cli/repo-connect/package-detector.d.ts +12 -8
  51. package/types/cli/repo-connect/repo-connect.d.ts +4 -1
  52. package/types/cli/repo-indexing/component-discovery.d.ts +30 -17
  53. package/types/cli/repo-indexing/component-indexing.d.ts +39 -20
  54. package/types/cli/repo-indexing/icons.d.ts +36 -24
  55. package/types/cli/repo-indexing/installation.d.ts +22 -14
  56. package/types/cli/repo-indexing/repo-indexing-utils.d.ts +138 -79
  57. package/types/cli/repo-indexing/repo-indexing.d.ts +37 -17
  58. package/types/cli/repo-indexing/repo-indexing.mock.d.ts +3 -3
  59. package/types/cli/repo-indexing/tokens.d.ts +44 -25
  60. package/types/cli/repo-indexing/types.d.ts +29 -29
  61. package/types/cli/repo-metrics-utils.d.ts +13 -5
  62. package/types/cli/repo-metrics.d.ts +4 -1
  63. package/types/cli/report/figma-report.d.ts +63 -36
  64. package/types/cli/server-ws.d.ts +40 -32
  65. package/types/cli/spinner.d.ts +4 -4
  66. package/types/cli/sync-utils.d.ts +45 -18
  67. package/types/cli/track.d.ts +4 -1
  68. package/types/cli/utils/agent-discovery.d.ts +10 -5
  69. package/types/cli/utils/agent-parser.d.ts +18 -13
  70. package/types/cli/utils/component-group-mdx-prompt.d.ts +2 -1
  71. package/types/cli/utils/discovery-test-utils.d.ts +3 -1
  72. package/types/cli/utils/env-capture.d.ts +21 -15
  73. package/types/cli/utils/env-substitution.d.ts +4 -1
  74. package/types/cli/utils/feature-flags.d.ts +3 -1
  75. package/types/cli/utils/file-overrides-manager.d.ts +39 -23
  76. package/types/cli/utils/git.d.ts +28 -16
  77. package/types/cli/utils/hosts-file-manager.d.ts +7 -4
  78. package/types/cli/utils/lock-file.d.ts +10 -7
  79. package/types/cli/utils/parseGitDiff.d.ts +4 -1
  80. package/types/cli/utils/process-tracker.d.ts +85 -51
  81. package/types/cli/utils/repo-indexing-agent-prompt.d.ts +2 -1
  82. package/types/cli/utils/rules-discovery.d.ts +10 -5
  83. package/types/cli/utils/rules-parser.d.ts +5 -1
  84. package/types/cli/utils/terminal-buffer.d.ts +23 -23
  85. package/types/cli/utils/workspace-path-resolver.d.ts +23 -16
  86. package/types/cli/utils/yaml-frontmatter.d.ts +10 -6
  87. package/types/client/client-api.d.ts +42 -10
  88. package/types/client/edit-button/document-listeners.d.ts +3 -1
  89. package/types/client/edit-button/index.d.ts +6 -6
  90. package/types/client/menu/index.d.ts +3 -3
  91. package/types/client/menu/pages/component-detail.d.ts +8 -2
  92. package/types/client/menu/pages/component-input.d.ts +5 -1
  93. package/types/client/menu/pages/component-list.d.ts +4 -1
  94. package/types/client/menu/toggle/menu-toggle.d.ts +4 -1
  95. package/types/client/setup-ui/overview.d.ts +2 -2
  96. package/types/client/tracking.d.ts +11 -11
  97. package/types/client/utils.d.ts +5 -3
  98. package/types/common/ast/app-dependencies.d.ts +8 -2
  99. package/types/common/ast/component-info.d.ts +26 -6
  100. package/types/common/ast/component-input-types.d.ts +28 -9
  101. package/types/common/ast/component-registry.d.ts +23 -8
  102. package/types/common/ast/convert-values.d.ts +40 -8
  103. package/types/common/ast/ensure-array-statement.d.ts +7 -3
  104. package/types/common/ast/ensure-comments.d.ts +5 -1
  105. package/types/common/ast/ensure-imports.d.ts +10 -5
  106. package/types/common/ast/exported-statements.d.ts +8 -4
  107. package/types/common/ast/imported-statements.d.ts +5 -1
  108. package/types/common/ast/normalize-statements.d.ts +12 -3
  109. package/types/common/ast/remove-unused-imports.d.ts +4 -1
  110. package/types/common/ast/transform.d.ts +13 -3
  111. package/types/common/ast/utils.d.ts +42 -19
  112. package/types/common/builder/builder-api.d.ts +32 -23
  113. package/types/common/builder/builder-sdks.d.ts +10 -8
  114. package/types/common/builder/content-generation.d.ts +10 -7
  115. package/types/common/builder/content-ids.d.ts +2 -1
  116. package/types/common/cache.d.ts +4 -1
  117. package/types/common/constants.d.ts +2 -1
  118. package/types/common/dotenv.d.ts +24 -5
  119. package/types/common/errors.d.ts +50 -22
  120. package/types/common/fs.d.ts +17 -4
  121. package/types/common/interactive-select-files.d.ts +16 -2
  122. package/types/common/mem-sys.d.ts +7 -5
  123. package/types/common/node-request.d.ts +4 -4
  124. package/types/common/path.d.ts +1 -3
  125. package/types/common/test-utils.d.ts +21 -7
  126. package/types/common/typescript.d.ts +26 -7
  127. package/types/common/utils.d.ts +36 -8
  128. package/types/core/adapters/angular/angular-api-key.d.ts +29 -6
  129. package/types/core/adapters/angular/angular-app-module-imports.d.ts +12 -2
  130. package/types/core/adapters/angular/angular-app-routes-update.d.ts +6 -1
  131. package/types/core/adapters/angular/angular-components.d.ts +40 -12
  132. package/types/core/adapters/angular/angular-ensure-builder-setup.d.ts +9 -3
  133. package/types/core/adapters/angular/angular-ensure-config-plugin.d.ts +16 -4
  134. package/types/core/adapters/angular/angular-fix-tsconfig.d.ts +3 -1
  135. package/types/core/adapters/angular/angular-registry-parse.d.ts +22 -10
  136. package/types/core/adapters/angular/angular-registry.d.ts +15 -2
  137. package/types/core/adapters/angular/angular-test-utils.d.ts +8 -4
  138. package/types/core/adapters/angular/index.d.ts +20 -12
  139. package/types/core/adapters/angular/types.d.ts +5 -5
  140. package/types/core/adapters/next/index.d.ts +26 -18
  141. package/types/core/adapters/next/next-api-key.d.ts +4 -1
  142. package/types/core/adapters/next/next-component-info.d.ts +9 -2
  143. package/types/core/adapters/next/next-components.d.ts +4 -1
  144. package/types/core/adapters/next/next-ensure-builder-setup.d.ts +6 -2
  145. package/types/core/adapters/next/next-ensure-config-plugin.d.ts +5 -1
  146. package/types/core/adapters/next/next-registry-parse.d.ts +21 -8
  147. package/types/core/adapters/next/next-registry.d.ts +15 -2
  148. package/types/core/adapters/next/next-test-utils.d.ts +21 -11
  149. package/types/core/adapters/qwik-city/index.d.ts +14 -6
  150. package/types/core/adapters/qwik-city/qwik-api-key.d.ts +4 -1
  151. package/types/core/adapters/qwik-city/qwik-component-source-inputs.d.ts +4 -1
  152. package/types/core/adapters/qwik-city/qwik-components.d.ts +23 -8
  153. package/types/core/adapters/qwik-city/qwik-ensure-builder-setup.d.ts +6 -2
  154. package/types/core/adapters/qwik-city/qwik-ensure-config-plugin.d.ts +5 -1
  155. package/types/core/adapters/qwik-city/qwik-registry-parse.d.ts +22 -10
  156. package/types/core/adapters/qwik-city/qwik-registry.d.ts +15 -2
  157. package/types/core/adapters/qwik-city/qwik-test-utils.d.ts +8 -4
  158. package/types/core/adapters/qwik-city/qwik-ts-program.d.ts +3 -1
  159. package/types/core/adapters/react/index.d.ts +19 -11
  160. package/types/core/adapters/react/react-api-key.d.ts +4 -1
  161. package/types/core/adapters/react/react-builder-sdk-setup.d.ts +3 -1
  162. package/types/core/adapters/react/react-component-info.d.ts +9 -2
  163. package/types/core/adapters/react/react-components.d.ts +37 -11
  164. package/types/core/adapters/react/react-ensure-builder-setup.d.ts +6 -2
  165. package/types/core/adapters/react/react-registry-parse.d.ts +21 -8
  166. package/types/core/adapters/react/react-registry.d.ts +15 -2
  167. package/types/core/adapters/react/react-test-utils.d.ts +11 -5
  168. package/types/core/adapters/react/react-ts-program.d.ts +3 -1
  169. package/types/core/adapters/remix/index.d.ts +19 -11
  170. package/types/core/adapters/remix/remix-api-key.d.ts +4 -1
  171. package/types/core/adapters/remix/remix-components.d.ts +4 -1
  172. package/types/core/adapters/remix/remix-ensure-builder-setup.d.ts +9 -3
  173. package/types/core/adapters/remix/remix-ensure-config-plugin.d.ts +5 -1
  174. package/types/core/adapters/remix/remix-registry-parse.d.ts +22 -10
  175. package/types/core/adapters/remix/remix-registry.d.ts +15 -2
  176. package/types/core/adapters/remix/remix-test-utils.d.ts +11 -5
  177. package/types/core/adapters/vite/vite-ensure-config-plugin.d.ts +12 -2
  178. package/types/core/adapters/vue/index.d.ts +20 -12
  179. package/types/core/adapters/vue/vue-api-key.d.ts +4 -1
  180. package/types/core/adapters/vue/vue-components.d.ts +10 -2
  181. package/types/core/adapters/vue/vue-ensure-builder-setup.d.ts +7 -3
  182. package/types/core/adapters/vue/vue-registry-parse.d.ts +19 -9
  183. package/types/core/adapters/vue/vue-registry.d.ts +6 -3
  184. package/types/core/adapters/webpack/webpack-config-helpers.d.ts +8 -3
  185. package/types/core/adapters/webpack/webpack-ensure-config-plugin.d.ts +5 -1
  186. package/types/core/create-dev-tools.d.ts +4 -1
  187. package/types/core/detect-frameworks.d.ts +7 -2
  188. package/types/core/ensure-config-plugin.d.ts +6 -2
  189. package/types/core/find-dependencies.d.ts +6 -3
  190. package/types/core/import-export-registry.d.ts +9 -2
  191. package/types/core/index.d.ts +18 -3
  192. package/types/figma/index.d.ts +95 -64
  193. package/types/node/node-sys.d.ts +13 -6
  194. package/types/remix/index.d.ts +5 -3
  195. package/types/server/auth.d.ts +4 -1
  196. package/types/server/builder-connect.d.ts +21 -6
  197. package/types/server/client-script.d.ts +6 -2
  198. package/types/server/create-dev-tools-server.d.ts +3 -1
  199. package/types/server/dev-tools-api.d.ts +4 -1
  200. package/types/server/dev-tools-http-server.d.ts +3 -1
  201. package/types/server/index.d.ts +28 -1
  202. package/types/server/request-handler.d.ts +6 -1
  203. package/types/tsconfig.tsbuildinfo +1 -1
  204. package/types/types/codegen-server.d.ts +1 -1
  205. package/types/types/connection-tracker.d.ts +34 -34
  206. package/types/types/proxy-middleware.d.ts +25 -15
  207. package/types/types/websocket-types.d.ts +9 -7
  208. package/types/types.d.ts +387 -358
  209. package/types/vite/main.d.ts +1 -1
  210. package/types/webpack/main.d.ts +5 -5
  211. package/types/cli/codegen-git-snapshot.test.d.ts +0 -1
  212. package/types/cli/indexing.d.ts +0 -5
  213. package/types/cli/launch/github.d.ts +0 -3
  214. package/types/cli/repo-indexing.d.ts +0 -17
  215. package/types/cli/repo-indexing.mock.d.ts +0 -5
  216. package/types/cli/utils/dev-server-url-parser.d.ts +0 -12
  217. package/types/cli/utils/dev-server-url-parser.test.d.ts +0 -1
  218. package/types/cli/utils/git-snapshot.d.ts +0 -17
  219. package/types/cli/utils/git-snapshot.test.d.ts +0 -1
  220. package/types/cli/utils/repo-indexing-group-prompts.d.ts +0 -1
  221. package/types/scripts/analyze-projects.d.ts +0 -18
  222. package/types/scripts/call-ensure-container.d.ts +0 -4
  223. package/types/scripts/check-backup.d.ts +0 -1
  224. package/types/scripts/cli.d.ts +0 -1
  225. package/types/scripts/download-projects.d.ts +0 -12
  226. package/types/scripts/utils/db.d.ts +0 -3
  227. package/types/scripts/utils/ensure-container.d.ts +0 -7
  228. package/types/scripts/utils/remove-machine-and-volume.d.ts +0 -5
@@ -1,99 +1,166 @@
1
1
  import type { DevToolsSys } from "@builder.io/dev-tools/core";
2
- import { type FusionConfig, type WorkspaceFolder, type InitState, type InitStateStep, type InitStatusLog } from "$/ai-utils";
3
- type ValidatedWorkspaceFolder = WorkspaceFolder & Required<Pick<WorkspaceFolder, "name" | "path">>;
4
- type WorkspaceFolderWithRepoInfo = ValidatedWorkspaceFolder & Required<Pick<WorkspaceFolder, "repoName" | "repoUrl">>;
2
+ import {
3
+ type FusionConfig,
4
+ type WorkspaceFolder,
5
+ type InitState,
6
+ type InitStateStep,
7
+ type InitStatusLog,
8
+ } from "$/ai-utils";
9
+ type ValidatedWorkspaceFolder = WorkspaceFolder &
10
+ Required<Pick<WorkspaceFolder, "name" | "path">>;
11
+ type WorkspaceFolderWithRepoInfo = ValidatedWorkspaceFolder &
12
+ Required<Pick<WorkspaceFolder, "repoName" | "repoUrl">>;
5
13
  import type { Credentials } from "../credentials";
6
14
  import { type GitBackupDownloadResult } from "../backup";
7
15
  export interface InitConfig {
8
- fusionConfig: FusionConfig;
9
- credentials: Credentials;
10
- sys: DevToolsSys;
11
- debug?: boolean;
12
- sentryTags?: Record<string, string>;
16
+ fusionConfig: FusionConfig;
17
+ credentials: Credentials;
18
+ sys: DevToolsSys;
19
+ debug?: boolean;
20
+ sentryTags?: Record<string, string>;
13
21
  }
14
22
  export interface InitStatus {
15
- message: string;
16
- error?: string;
23
+ message: string;
24
+ error?: string;
17
25
  }
18
26
  export declare class InitStateMachine {
19
- logIdCounter: number;
20
- initStatusLogs: InitStatusLog[];
21
- sys: DevToolsSys;
22
- config: InitConfig;
23
- /**
24
- * @deprecated use addInitLog instead. Do not use this directly.
25
- */
26
- debug: boolean;
27
- initState: InitState;
28
- constructor(config: InitConfig);
29
- checkout(branchName: string, ref: string, repoPath: string): Promise<boolean>;
30
- execAsync(exec: string, args: string[], cwd?: string, retry?: number): Promise<string>;
31
- git(args: string[], cwd: string, retry?: number, timeout?: number): Promise<string>;
32
- performBackup({ sys, credentials, fusionConfig, volumePath, repositories, isConnectedToProvider, forcedFullBackup, }: {
33
- sys: DevToolsSys;
34
- credentials: Credentials;
35
- fusionConfig: FusionConfig;
36
- volumePath: string;
37
- repositories: ValidatedWorkspaceFolder[];
38
- isConnectedToProvider: boolean;
39
- forcedFullBackup: boolean;
40
- }): Promise<void>;
41
- performRegularBackup(args: Omit<Parameters<typeof this.performBackup>[0], "isConnectedToProvider" | "forcedFullBackup">): Promise<void>;
42
- performOfflineBackup(args: Omit<Parameters<typeof this.performBackup>[0], "isConnectedToProvider" | "forcedFullBackup">): Promise<void>;
43
- performForcedFullBackup(args: Omit<Parameters<typeof this.performBackup>[0], "isConnectedToProvider" | "forcedFullBackup">): Promise<void>;
44
- init(): Promise<boolean>;
45
- addInitLog(type: "status" | "log" | "error" | "complete", message: string, options?: {
46
- step?: InitStateStep;
47
- error?: string;
48
- success?: boolean;
49
- }): void;
50
- clearInitLogs(): void;
51
- hasFilesButNoGit(repoPath: string): Promise<boolean>;
52
- step1CheckDirectories(volumePath: string, repositories: ValidatedWorkspaceFolder[]): Promise<void>;
53
- step2ConfigureGitRepositories(volumePath: string, repositories: ValidatedWorkspaceFolder[]): Promise<void>;
54
- step3ConfigureGitUser(volumePath: string, repositories: ValidatedWorkspaceFolder[]): Promise<void>;
55
- step4CollectRepoInfo(config: InitConfig, volumePath: string, repositories: ValidatedWorkspaceFolder[]): Promise<void>;
56
- private isGitConfigured;
57
- private getGitRemoteUrl;
58
- private sanitizeGitRemoteUrl;
59
- /**
60
- * Check if the repository URL is from a standard git hosting provider
61
- */
62
- private isStandardGitHost;
63
- /**
64
- * Check if the repository host is reachable via network
65
- * Performs DNS resolution and TCP connection check
66
- */
67
- private checkHostConnectivity;
68
- private checkConnectivityDirect;
69
- private checkConnectivityViaProxy;
70
- /**
71
- * Ensures the parent directory of the given path exists.
72
- * Handles nested repo.path like "subdir/myproject".
73
- */
74
- private ensureParentDirExists;
75
- private cleanupLockFiles;
76
- validateGitRepo(repoPath: string): Promise<void>;
77
- /**
78
- * If a backup is available, perform a backup recovery (and throw if it fails and cannot be recovered from).
79
- * If no backup is available, do nothing.
80
- */
81
- private restoreFromPartialBackup;
82
- private initializeGitRepo;
83
- private refreshRepoConfig;
84
- runInitializationCommand({ repo, tempCloningDir, repoPath, initCommand, }: {
85
- repo: ValidatedWorkspaceFolder;
86
- tempCloningDir: string;
87
- repoPath: string;
88
- initCommand: string;
89
- }): Promise<{
90
- outcome: boolean;
91
- error?: Error;
92
- }>;
93
- cloneRepository({ repo, repoPath, backupResult, }: {
94
- repo: WorkspaceFolderWithRepoInfo;
95
- repoPath: string;
96
- backupResult: GitBackupDownloadResult | undefined;
97
- }): Promise<boolean>;
27
+ logIdCounter: number;
28
+ initStatusLogs: InitStatusLog[];
29
+ sys: DevToolsSys;
30
+ config: InitConfig;
31
+ /**
32
+ * @deprecated use addInitLog instead. Do not use this directly.
33
+ */
34
+ debug: boolean;
35
+ initState: InitState;
36
+ constructor(config: InitConfig);
37
+ checkout(branchName: string, ref: string, repoPath: string): Promise<boolean>;
38
+ execAsync(
39
+ exec: string,
40
+ args: string[],
41
+ cwd?: string,
42
+ retry?: number,
43
+ ): Promise<string>;
44
+ git(
45
+ args: string[],
46
+ cwd: string,
47
+ retry?: number,
48
+ timeout?: number,
49
+ ): Promise<string>;
50
+ performBackup({
51
+ sys,
52
+ credentials,
53
+ fusionConfig,
54
+ volumePath,
55
+ repositories,
56
+ isConnectedToProvider,
57
+ forcedFullBackup,
58
+ }: {
59
+ sys: DevToolsSys;
60
+ credentials: Credentials;
61
+ fusionConfig: FusionConfig;
62
+ volumePath: string;
63
+ repositories: ValidatedWorkspaceFolder[];
64
+ isConnectedToProvider: boolean;
65
+ forcedFullBackup: boolean;
66
+ }): Promise<void>;
67
+ performRegularBackup(
68
+ args: Omit<
69
+ Parameters<typeof this.performBackup>[0],
70
+ "isConnectedToProvider" | "forcedFullBackup"
71
+ >,
72
+ ): Promise<void>;
73
+ performOfflineBackup(
74
+ args: Omit<
75
+ Parameters<typeof this.performBackup>[0],
76
+ "isConnectedToProvider" | "forcedFullBackup"
77
+ >,
78
+ ): Promise<void>;
79
+ performForcedFullBackup(
80
+ args: Omit<
81
+ Parameters<typeof this.performBackup>[0],
82
+ "isConnectedToProvider" | "forcedFullBackup"
83
+ >,
84
+ ): Promise<void>;
85
+ init(): Promise<boolean>;
86
+ addInitLog(
87
+ type: "status" | "log" | "error" | "complete",
88
+ message: string,
89
+ options?: {
90
+ step?: InitStateStep;
91
+ error?: string;
92
+ success?: boolean;
93
+ },
94
+ ): void;
95
+ clearInitLogs(): void;
96
+ hasFilesButNoGit(repoPath: string): Promise<boolean>;
97
+ step1CheckDirectories(
98
+ volumePath: string,
99
+ repositories: ValidatedWorkspaceFolder[],
100
+ ): Promise<void>;
101
+ step2ConfigureGitRepositories(
102
+ volumePath: string,
103
+ repositories: ValidatedWorkspaceFolder[],
104
+ ): Promise<void>;
105
+ step3ConfigureGitUser(
106
+ volumePath: string,
107
+ repositories: ValidatedWorkspaceFolder[],
108
+ ): Promise<void>;
109
+ step4CollectRepoInfo(
110
+ config: InitConfig,
111
+ volumePath: string,
112
+ repositories: ValidatedWorkspaceFolder[],
113
+ ): Promise<void>;
114
+ private isGitConfigured;
115
+ private getGitRemoteUrl;
116
+ private sanitizeGitRemoteUrl;
117
+ /**
118
+ * Check if the repository URL is from a standard git hosting provider
119
+ */
120
+ private isStandardGitHost;
121
+ /**
122
+ * Check if the repository host is reachable via network
123
+ * Performs DNS resolution and TCP connection check
124
+ */
125
+ private checkHostConnectivity;
126
+ private checkConnectivityDirect;
127
+ private checkConnectivityViaProxy;
128
+ /**
129
+ * Ensures the parent directory of the given path exists.
130
+ * Handles nested repo.path like "subdir/myproject".
131
+ */
132
+ private ensureParentDirExists;
133
+ private cleanupLockFiles;
134
+ validateGitRepo(repoPath: string): Promise<void>;
135
+ /**
136
+ * If a backup is available, perform a backup recovery (and throw if it fails and cannot be recovered from).
137
+ * If no backup is available, do nothing.
138
+ */
139
+ private restoreFromPartialBackup;
140
+ private initializeGitRepo;
141
+ private refreshRepoConfig;
142
+ runInitializationCommand({
143
+ repo,
144
+ tempCloningDir,
145
+ repoPath,
146
+ initCommand,
147
+ }: {
148
+ repo: ValidatedWorkspaceFolder;
149
+ tempCloningDir: string;
150
+ repoPath: string;
151
+ initCommand: string;
152
+ }): Promise<{
153
+ outcome: boolean;
154
+ error?: Error;
155
+ }>;
156
+ cloneRepository({
157
+ repo,
158
+ repoPath,
159
+ backupResult,
160
+ }: {
161
+ repo: WorkspaceFolderWithRepoInfo;
162
+ repoPath: string;
163
+ backupResult: GitBackupDownloadResult | undefined;
164
+ }): Promise<boolean>;
98
165
  }
99
166
  export {};
@@ -1,6 +1,16 @@
1
1
  import { type FusionConfig } from "$/ai-utils";
2
2
  import type { LaunchArgs } from "../launch";
3
3
  import type { DevToolsSys } from "../../types";
4
- export declare function getFusionConfig(sys: DevToolsSys, args: LaunchArgs): Promise<FusionConfig>;
5
- export declare function saveFusionConfig(sys: DevToolsSys, fusionConfig: FusionConfig, args: LaunchArgs): Promise<void>;
6
- export declare function trackConfigData(sys: DevToolsSys, fusionConfig: FusionConfig): void;
4
+ export declare function getFusionConfig(
5
+ sys: DevToolsSys,
6
+ args: LaunchArgs,
7
+ ): Promise<FusionConfig>;
8
+ export declare function saveFusionConfig(
9
+ sys: DevToolsSys,
10
+ fusionConfig: FusionConfig,
11
+ args: LaunchArgs,
12
+ ): Promise<void>;
13
+ export declare function trackConfigData(
14
+ sys: DevToolsSys,
15
+ fusionConfig: FusionConfig,
16
+ ): void;
@@ -1,115 +1,147 @@
1
1
  import type { DevToolsSys } from "@builder.io/dev-tools/core";
2
2
  import type { ProxyMiddleware } from "../../types/proxy-middleware";
3
- import type { DevCommandResult, DevCommandState, EnvironmentVariable, HttpServerData, HttpServerState, ProxyServerSelection, SetupCommandResult, SetupDependency, ValidateCommandResult, ValidateCommandState } from "$/ai-utils";
3
+ import type {
4
+ DevCommandResult,
5
+ DevCommandState,
6
+ EnvironmentVariable,
7
+ HttpServerData,
8
+ HttpServerState,
9
+ ProxyServerSelection,
10
+ SetupCommandResult,
11
+ SetupDependency,
12
+ ValidateCommandResult,
13
+ ValidateCommandState,
14
+ } from "$/ai-utils";
4
15
  import EventEmitter from "events";
5
16
  import type { FusionConfig, SetupCommandState } from "$/ai-utils";
6
- export type DevServerState = Exclude<SetupCommandState | DevCommandState, "installed" | "starting">;
17
+ export type DevServerState = Exclude<
18
+ SetupCommandState | DevCommandState,
19
+ "installed" | "starting"
20
+ >;
7
21
  export interface DevCommandProcess {
8
- type: "devCommandProcess";
9
- getPid: () => number | undefined;
10
- getExitCode: () => number | null;
11
- kill: (signal?: NodeJS.Signals) => boolean;
12
- onSpawn: (listener: () => void) => void;
13
- onError: (listener: (err: Error) => void) => void;
14
- onClose: (listener: (code: number | null, signal: NodeJS.Signals | null) => void) => void;
15
- resize?: (cols: number | undefined, rows: number | undefined) => void;
16
- write?: (data: string) => void;
17
- stdout: {
18
- on: (event: "data", callback: (data: Buffer) => void) => void;
19
- };
20
- stderr: {
21
- on: (event: "data", callback: (data: Buffer) => void) => void;
22
- };
23
- removeAllListeners: () => void;
22
+ type: "devCommandProcess";
23
+ getPid: () => number | undefined;
24
+ getExitCode: () => number | null;
25
+ kill: (signal?: NodeJS.Signals) => boolean;
26
+ onSpawn: (listener: () => void) => void;
27
+ onError: (listener: (err: Error) => void) => void;
28
+ onClose: (
29
+ listener: (code: number | null, signal: NodeJS.Signals | null) => void,
30
+ ) => void;
31
+ resize?: (cols: number | undefined, rows: number | undefined) => void;
32
+ write?: (data: string) => void;
33
+ stdout: {
34
+ on: (event: "data", callback: (data: Buffer) => void) => void;
35
+ };
36
+ stderr: {
37
+ on: (event: "data", callback: (data: Buffer) => void) => void;
38
+ };
39
+ removeAllListeners: () => void;
24
40
  }
25
41
  export interface DevCommandProcessOptions {
26
- command: string;
27
- shell: string;
28
- cwd: string | undefined;
29
- env: Record<string, string | undefined>;
42
+ command: string;
43
+ shell: string;
44
+ cwd: string | undefined;
45
+ env: Record<string, string | undefined>;
30
46
  }
31
47
  export interface DevServerOrchestrator {
32
- devCommand: string;
33
- setupCommand: string | undefined;
34
- setupState: SetupCommandState;
35
- lastServerBody: string | undefined;
36
- lastServerStatus: number | undefined;
37
- devState: DevCommandState;
38
- httpServerState: HttpServerData;
39
- state: DevServerState;
40
- proxyTarget: string | undefined;
41
- serverUrl: URL | undefined;
42
- proxyPort: number | undefined;
43
- proxyServerSelection: ProxyServerSelection | undefined;
44
- environmentVariables: EnvironmentVariable[];
45
- envVars: Record<string, string>;
46
- proxyMiddleware: ProxyMiddleware | undefined;
47
- pid: number | undefined;
48
- autoDetectedUrl: boolean;
49
- autoDetectDevServer: boolean;
50
- devCommandProcess: DevCommandProcess | undefined;
51
- autoDetectDevServerPatterns: string[] | undefined;
52
- abortSetupCommand: () => Promise<SetupCommandResult | undefined>;
53
- abortValidateCommand: () => Promise<ValidateCommandResult | undefined>;
54
- clearEnvVariables: () => void;
55
- setEnvVariable: (key: string, value: string | undefined) => boolean;
56
- ensureDevCommand: (abortSignal?: AbortSignal) => Promise<boolean>;
57
- ensureSetupCommand: (abortSignal?: AbortSignal) => Promise<boolean>;
58
- setupCommandPromise: Promise<SetupCommandResult> | undefined;
59
- runSetupCommand: (signal?: AbortSignal) => Promise<SetupCommandResult>;
60
- setSetupCommand: (opts: {
61
- setupDependencies?: SetupDependency[] | null;
62
- setupCommand?: string | null;
63
- forceRestart?: boolean;
64
- signal?: AbortSignal;
65
- }) => Promise<SetupCommandResult | null>;
66
- setDevCommand: (newCommand: string | undefined, forceRestart?: boolean, signal?: AbortSignal) => Promise<DevCommandResult>;
67
- setProxyServer: (newProxyServer: string) => Promise<{
68
- updatedProxyServer: boolean;
69
- updatedHosts: boolean;
70
- }>;
71
- hasValidateCommand: boolean;
72
- validateCommandState: ValidateCommandState;
73
- runValidateCommand: (command?: string | null, signal?: AbortSignal) => Promise<ValidateCommandResult>;
74
- setPort: (newPort: number) => Promise<boolean>;
75
- setAutoDetectSettings: (enabled: boolean, patterns?: string[]) => Promise<boolean>;
76
- addCheckpoint: () => void;
77
- getOpenPorts: () => Promise<number[]>;
78
- getCheckpoints: (n: number, mode: "all" | "out" | "err") => string;
79
- getAllStdout: () => string;
80
- getAllStderr: () => string;
81
- getOutput: () => string;
82
- getSetupWrite: () => string;
83
- getDevWrite: () => string;
84
- getSetupOutput: () => string;
85
- getValidateOutput: () => string;
86
- getMiseActivationCommand: (shell: string) => Promise<string | null>;
87
- waitUntilIdle: (initialWaitMs?: number, idleTimeMs?: number) => Promise<void>;
88
- waitUntilServer: (signal?: AbortSignal) => Promise<void>;
89
- onClose: (callback: (code: number | null) => void) => void;
90
- restart: (abortSignal?: AbortSignal) => Promise<DevCommandResult>;
91
- emitter: EventEmitter<{
92
- close: [number | null];
93
- stdout: [string];
94
- stderr: [string];
95
- installStdout: [string];
96
- installStderr: [string];
97
- validateStdout: [string];
98
- validateStderr: [string];
99
- setupState: [SetupCommandState];
100
- devState: [DevCommandState];
101
- httpServerData: [HttpServerData];
102
- httpServerState: [HttpServerState];
103
- validateState: [ValidateCommandState];
104
- urlDetected: [string];
105
- }>;
106
- close: () => Promise<void>;
48
+ devCommand: string;
49
+ setupCommand: string | undefined;
50
+ setupState: SetupCommandState;
51
+ lastServerBody: string | undefined;
52
+ lastServerStatus: number | undefined;
53
+ devState: DevCommandState;
54
+ httpServerState: HttpServerData;
55
+ state: DevServerState;
56
+ proxyTarget: string | undefined;
57
+ serverUrl: URL | undefined;
58
+ proxyPort: number | undefined;
59
+ proxyServerSelection: ProxyServerSelection | undefined;
60
+ environmentVariables: EnvironmentVariable[];
61
+ envVars: Record<string, string>;
62
+ proxyMiddleware: ProxyMiddleware | undefined;
63
+ pid: number | undefined;
64
+ autoDetectedUrl: boolean;
65
+ autoDetectDevServer: boolean;
66
+ devCommandProcess: DevCommandProcess | undefined;
67
+ autoDetectDevServerPatterns: string[] | undefined;
68
+ abortSetupCommand: () => Promise<SetupCommandResult | undefined>;
69
+ abortValidateCommand: () => Promise<ValidateCommandResult | undefined>;
70
+ clearEnvVariables: () => void;
71
+ setEnvVariable: (key: string, value: string | undefined) => boolean;
72
+ ensureDevCommand: (abortSignal?: AbortSignal) => Promise<boolean>;
73
+ ensureSetupCommand: (abortSignal?: AbortSignal) => Promise<boolean>;
74
+ setupCommandPromise: Promise<SetupCommandResult> | undefined;
75
+ runSetupCommand: (signal?: AbortSignal) => Promise<SetupCommandResult>;
76
+ setSetupCommand: (opts: {
77
+ setupDependencies?: SetupDependency[] | null;
78
+ setupCommand?: string | null;
79
+ forceRestart?: boolean;
80
+ signal?: AbortSignal;
81
+ }) => Promise<SetupCommandResult | null>;
82
+ setDevCommand: (
83
+ newCommand: string | undefined,
84
+ forceRestart?: boolean,
85
+ signal?: AbortSignal,
86
+ ) => Promise<DevCommandResult>;
87
+ setProxyServer: (newProxyServer: string) => Promise<{
88
+ updatedProxyServer: boolean;
89
+ updatedHosts: boolean;
90
+ }>;
91
+ hasValidateCommand: boolean;
92
+ validateCommandState: ValidateCommandState;
93
+ runValidateCommand: (
94
+ command?: string | null,
95
+ signal?: AbortSignal,
96
+ ) => Promise<ValidateCommandResult>;
97
+ setPort: (newPort: number) => Promise<boolean>;
98
+ setAutoDetectSettings: (
99
+ enabled: boolean,
100
+ patterns?: string[],
101
+ ) => Promise<boolean>;
102
+ addCheckpoint: () => void;
103
+ getOpenPorts: () => Promise<number[]>;
104
+ getCheckpoints: (n: number, mode: "all" | "out" | "err") => string;
105
+ getAllStdout: () => string;
106
+ getAllStderr: () => string;
107
+ getOutput: () => string;
108
+ getSetupWrite: () => string;
109
+ getDevWrite: () => string;
110
+ getSetupOutput: () => string;
111
+ getValidateOutput: () => string;
112
+ getMiseActivationCommand: (shell: string) => Promise<string | null>;
113
+ waitUntilIdle: (initialWaitMs?: number, idleTimeMs?: number) => Promise<void>;
114
+ waitUntilServer: (signal?: AbortSignal) => Promise<void>;
115
+ onClose: (callback: (code: number | null) => void) => void;
116
+ restart: (abortSignal?: AbortSignal) => Promise<DevCommandResult>;
117
+ emitter: EventEmitter<{
118
+ close: [number | null];
119
+ stdout: [string];
120
+ stderr: [string];
121
+ installStdout: [string];
122
+ installStderr: [string];
123
+ validateStdout: [string];
124
+ validateStderr: [string];
125
+ setupState: [SetupCommandState];
126
+ devState: [DevCommandState];
127
+ httpServerData: [HttpServerData];
128
+ httpServerState: [HttpServerState];
129
+ validateState: [ValidateCommandState];
130
+ urlDetected: [string];
131
+ }>;
132
+ close: () => Promise<void>;
107
133
  }
108
134
  /**
109
135
  * Import PTY library with runtime detection.
110
136
  * When running inside a pkg bundle, patches module resolution to find bundled native addons.
111
137
  */
112
- export declare const importPty: (sys: DevToolsSys) => typeof import("@lydell/node-pty") | undefined;
138
+ export declare const importPty: (
139
+ sys: DevToolsSys,
140
+ ) => typeof import("@lydell/node-pty") | undefined;
113
141
  export declare function safeParseUrl(serverUrl: any): URL | undefined;
114
- export declare function devServerOrchestrator(sys: DevToolsSys, fusionConfig: FusionConfig, initialSetupState: "installed" | "not-installed" | "install-failed"): Promise<DevServerOrchestrator>;
142
+ export declare function devServerOrchestrator(
143
+ sys: DevToolsSys,
144
+ fusionConfig: FusionConfig,
145
+ initialSetupState: "installed" | "not-installed" | "install-failed",
146
+ ): Promise<DevServerOrchestrator>;
115
147
  export declare const checkPortsListenedByPid: (pid: number) => number[];
@@ -1,9 +1,16 @@
1
1
  import { type InitConfig } from "./InitStateMachine";
2
2
  import type { InitState } from "$/ai-utils";
3
- export declare const attemptDryRunBackupGit: (initConfig: InitConfig, realInitState: InitState) => Promise<{
4
- success: boolean;
5
- error: string;
6
- } | {
7
- success: boolean;
8
- error?: undefined;
9
- } | null>;
3
+ export declare const attemptDryRunBackupGit: (
4
+ initConfig: InitConfig,
5
+ realInitState: InitState,
6
+ ) => Promise<
7
+ | {
8
+ success: boolean;
9
+ error: string;
10
+ }
11
+ | {
12
+ success: boolean;
13
+ error?: undefined;
14
+ }
15
+ | null
16
+ >;
@@ -1,3 +1,8 @@
1
1
  export declare const isGitHubAuthError: (errorMessage: string) => boolean;
2
- export declare const getGitHubAuthErrorMessage: (repoName: string, hasGhToken: boolean) => string;
3
- export declare const getUserMessageForNpmInstallErrors: (errorOutput: string) => string;
2
+ export declare const getGitHubAuthErrorMessage: (
3
+ repoName: string,
4
+ hasGhToken: boolean,
5
+ ) => string;
6
+ export declare const getUserMessageForNpmInstallErrors: (
7
+ errorOutput: string,
8
+ ) => string;
@@ -1,4 +1,8 @@
1
1
  import type { FusionMetrics } from "$/ai-utils";
2
2
  import type { Credentials } from "../credentials";
3
3
  import type { DevToolsSys } from "../../types";
4
- export declare function pushMetrics(sys: DevToolsSys, credentials: Credentials, body: FusionMetrics): Promise<void>;
4
+ export declare function pushMetrics(
5
+ sys: DevToolsSys,
6
+ credentials: Credentials,
7
+ body: FusionMetrics,
8
+ ): Promise<void>;
@@ -3,17 +3,26 @@ import type { DevToolsSys } from "../../types";
3
3
  /**
4
4
  * Scrub sensitive data from fusion config before sending to webapp or logging
5
5
  */
6
- export declare function scrubFusionConfig(config: FusionConfig | undefined): FusionConfig | undefined;
6
+ export declare function scrubFusionConfig(
7
+ config: FusionConfig | undefined,
8
+ ): FusionConfig | undefined;
7
9
  export declare const isInRemoteContainer: () => boolean;
8
10
  export declare const getVolumePath: (fusionConfig: FusionConfig) => string;
9
- export declare function computeAIBranchName(featureBranch: string, sessionId: string): string;
10
- export declare const getAndParseGitRepoInfo: ({ sys, gitWorkingDirectory, strict, }: {
11
- sys: DevToolsSys;
12
- gitWorkingDirectory: string;
13
- strict: boolean;
11
+ export declare function computeAIBranchName(
12
+ featureBranch: string,
13
+ sessionId: string,
14
+ ): string;
15
+ export declare const getAndParseGitRepoInfo: ({
16
+ sys,
17
+ gitWorkingDirectory,
18
+ strict,
19
+ }: {
20
+ sys: DevToolsSys;
21
+ gitWorkingDirectory: string;
22
+ strict: boolean;
14
23
  }) => Promise<{
15
- currentBranch: string;
16
- featureBranch: string;
17
- sessionId: string | undefined;
18
- currentCommitHash: string;
24
+ currentBranch: string;
25
+ featureBranch: string;
26
+ sessionId: string | undefined;
27
+ currentCommitHash: string;
19
28
  }>;
@@ -2,8 +2,13 @@ import type { DevToolsSys } from "@builder.io/dev-tools/core";
2
2
  import type { Credentials } from "../credentials";
3
3
  import type { FusionConfig, LaunchServerStatus } from "$/ai-utils";
4
4
  interface FusionStatusMonitor {
5
- start: () => void;
6
- stop: () => void;
5
+ start: () => void;
6
+ stop: () => void;
7
7
  }
8
- export declare function createFusionStatusMonitor(sys: DevToolsSys, credentials: Credentials, fusionConfig: FusionConfig, sharedState: LaunchServerStatus): FusionStatusMonitor | null;
8
+ export declare function createFusionStatusMonitor(
9
+ sys: DevToolsSys,
10
+ credentials: Credentials,
11
+ fusionConfig: FusionConfig,
12
+ sharedState: LaunchServerStatus,
13
+ ): FusionStatusMonitor | null;
9
14
  export {};
@@ -1,14 +1,21 @@
1
1
  import type { DevToolsSys } from "../../types";
2
2
  import type { ProxyMiddleware } from "../../types/proxy-middleware";
3
3
  import type { IncomingMessage } from "http";
4
- export declare const createPassThroughProxy: () => import("http-proxy-3").ProxyServer<typeof IncomingMessage, typeof import("http").ServerResponse, Error>;
5
- export declare const createProxyMiddleware: (serverUrl: URL, sys: DevToolsSys) => ProxyMiddleware | undefined;
4
+ export declare const createPassThroughProxy: () => import("http-proxy-3").ProxyServer<
5
+ typeof IncomingMessage,
6
+ typeof import("http").ServerResponse,
7
+ Error
8
+ >;
9
+ export declare const createProxyMiddleware: (
10
+ serverUrl: URL,
11
+ sys: DevToolsSys,
12
+ ) => ProxyMiddleware | undefined;
6
13
  /**
7
14
  * Detects if HTML was server-side rendered by checking for framework-specific markers.
8
15
  * Returns whether SSR was used and whether the header/head was server-rendered.
9
16
  */
10
17
  export declare const detectSSR: (body: string) => {
11
- hasSSR: boolean;
12
- hasHeaderSSR: boolean;
18
+ hasSSR: boolean;
19
+ hasHeaderSSR: boolean;
13
20
  };
14
21
  export declare const permissiveHTTPS: any;