@hubspot/cli 7.7.35-experimental.0 → 7.8.0-beta.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 (284) hide show
  1. package/bin/cli.js +31 -25
  2. package/commands/__tests__/auth.test.js +5 -0
  3. package/commands/__tests__/doctor.test.js +16 -16
  4. package/commands/__tests__/getStarted.test.js +2 -2
  5. package/commands/__tests__/mcp.test.js +1 -1
  6. package/commands/__tests__/project.test.js +0 -3
  7. package/commands/account/clean.js +18 -27
  8. package/commands/account/createOverride.js +13 -31
  9. package/commands/account/info.js +20 -31
  10. package/commands/account/list.js +16 -22
  11. package/commands/account/remove.js +12 -20
  12. package/commands/account/removeOverride.js +11 -21
  13. package/commands/account/rename.js +6 -9
  14. package/commands/account/use.js +12 -26
  15. package/commands/account.js +2 -2
  16. package/commands/app/__tests__/migrate.test.js +5 -6
  17. package/commands/app/migrate.js +13 -19
  18. package/commands/app/secret/add.js +2 -1
  19. package/commands/app/secret/delete.js +2 -1
  20. package/commands/app/secret/list.js +2 -1
  21. package/commands/app/secret/update.js +2 -1
  22. package/commands/app/secret.js +2 -1
  23. package/commands/app.js +2 -2
  24. package/commands/auth.d.ts +1 -0
  25. package/commands/auth.js +16 -7
  26. package/commands/cms/convertFields.js +7 -9
  27. package/commands/cms/getReactModule.js +9 -14
  28. package/commands/cms/lighthouseScore.js +33 -36
  29. package/commands/cms.js +2 -2
  30. package/commands/completion.js +3 -3
  31. package/commands/config/set.d.ts +1 -1
  32. package/commands/config/set.js +64 -37
  33. package/commands/config.js +2 -2
  34. package/commands/create.js +2 -2
  35. package/commands/customObject/create.js +10 -12
  36. package/commands/customObject/schema/create.js +9 -11
  37. package/commands/customObject/schema/delete.js +16 -16
  38. package/commands/customObject/schema/fetch-all.js +12 -11
  39. package/commands/customObject/schema/fetch.js +15 -15
  40. package/commands/customObject/schema/list.js +4 -4
  41. package/commands/customObject/schema/update.js +13 -13
  42. package/commands/customObject/schema.js +2 -2
  43. package/commands/customObject.js +6 -7
  44. package/commands/doctor.js +8 -11
  45. package/commands/feedback.js +7 -12
  46. package/commands/fetch.js +8 -8
  47. package/commands/filemanager/fetch.js +7 -7
  48. package/commands/filemanager/upload.js +15 -34
  49. package/commands/filemanager.js +2 -2
  50. package/commands/function/deploy.js +11 -29
  51. package/commands/function/list.js +8 -8
  52. package/commands/function/server.js +9 -11
  53. package/commands/function.d.ts +1 -1
  54. package/commands/function.js +2 -2
  55. package/commands/getStarted.d.ts +0 -2
  56. package/commands/getStarted.js +4 -4
  57. package/commands/hubdb/clear.js +7 -15
  58. package/commands/hubdb/create.js +9 -15
  59. package/commands/hubdb/delete.js +8 -15
  60. package/commands/hubdb/fetch.js +6 -9
  61. package/commands/hubdb.d.ts +1 -1
  62. package/commands/hubdb.js +2 -2
  63. package/commands/init.js +2 -3
  64. package/commands/lint.js +16 -16
  65. package/commands/list.js +8 -14
  66. package/commands/logs.js +14 -20
  67. package/commands/mcp/__tests__/setup.test.js +2 -2
  68. package/commands/mcp/setup.js +11 -2
  69. package/commands/mcp.js +3 -3
  70. package/commands/mv.js +6 -17
  71. package/commands/open.js +5 -5
  72. package/commands/project/__tests__/add.test.js +4 -2
  73. package/commands/project/__tests__/create.test.js +6 -6
  74. package/commands/project/__tests__/deploy.test.js +3 -7
  75. package/commands/project/__tests__/devUnifiedFlow.test.js +2 -4
  76. package/commands/project/__tests__/installDeps.test.js +8 -8
  77. package/commands/project/__tests__/logs.test.js +1 -4
  78. package/commands/project/__tests__/migrate.test.js +6 -7
  79. package/commands/project/__tests__/migrateApp.test.js +3 -7
  80. package/commands/project/__tests__/profile.test.js +1 -1
  81. package/commands/project/__tests__/validate.test.js +98 -0
  82. package/commands/project/add.js +4 -8
  83. package/commands/project/cloneApp.js +14 -19
  84. package/commands/project/create.js +2 -9
  85. package/commands/project/deploy.js +5 -5
  86. package/commands/project/dev/deprecatedFlow.js +7 -16
  87. package/commands/project/dev/index.js +16 -13
  88. package/commands/project/dev/unifiedFlow.js +8 -4
  89. package/commands/project/download.js +10 -14
  90. package/commands/project/installDeps.js +8 -9
  91. package/commands/project/listBuilds.js +12 -21
  92. package/commands/project/logs.js +21 -24
  93. package/commands/project/migrate.js +41 -13
  94. package/commands/project/migrateApp.js +10 -17
  95. package/commands/project/open.js +6 -14
  96. package/commands/project/profile/add.js +3 -3
  97. package/commands/project/profile/delete.js +1 -2
  98. package/commands/project/profile.js +2 -3
  99. package/commands/project/upload.js +16 -25
  100. package/commands/project/validate.js +7 -7
  101. package/commands/project/watch.js +13 -22
  102. package/commands/project.js +2 -3
  103. package/commands/sandbox/__tests__/create.test.js +5 -5
  104. package/commands/sandbox/create.js +22 -32
  105. package/commands/sandbox/delete.js +35 -63
  106. package/commands/sandbox.js +2 -2
  107. package/commands/secret/addSecret.js +7 -17
  108. package/commands/secret/deleteSecret.js +10 -20
  109. package/commands/secret/listSecret.js +8 -10
  110. package/commands/secret/updateSecret.js +9 -17
  111. package/commands/secret.js +2 -2
  112. package/commands/testAccount/__tests__/delete.test.js +2 -4
  113. package/commands/testAccount/delete.d.ts +4 -3
  114. package/commands/testAccount/delete.js +155 -14
  115. package/commands/testAccount/importData.d.ts +1 -1
  116. package/commands/testAccount/importData.js +1 -1
  117. package/commands/testAccount.js +1 -1
  118. package/lang/en.d.ts +317 -98
  119. package/lang/en.js +312 -96
  120. package/lang/en.lyaml +2 -2
  121. package/lib/__tests__/buildAccount.test.js +2 -1
  122. package/lib/__tests__/commonOpts.test.js +1 -1
  123. package/lib/__tests__/dependencyManagement.test.js +1 -1
  124. package/lib/__tests__/developerTestAccounts.test.js +3 -3
  125. package/lib/__tests__/npm.test.js +1 -1
  126. package/lib/__tests__/oauth.test.js +4 -4
  127. package/lib/__tests__/process.test.js +10 -5
  128. package/lib/__tests__/sandboxSync.test.js +8 -8
  129. package/lib/__tests__/sandboxes.test.js +8 -8
  130. package/lib/__tests__/serverlessLogs.test.js +1 -1
  131. package/lib/__tests__/usageTracking.test.js +5 -5
  132. package/lib/__tests__/validation.test.js +2 -1
  133. package/lib/__tests__/yargsUtils.test.js +83 -9
  134. package/lib/app/__tests__/migrate.test.js +19 -56
  135. package/lib/app/__tests__/migrate_legacy.test.js +1 -1
  136. package/lib/app/migrate.d.ts +2 -8
  137. package/lib/app/migrate.js +5 -80
  138. package/lib/app/migrate_legacy.js +20 -24
  139. package/lib/buildAccount.js +25 -57
  140. package/lib/commonOpts.d.ts +1 -1
  141. package/lib/commonOpts.js +25 -22
  142. package/lib/configOptions.js +7 -0
  143. package/lib/constants.d.ts +13 -0
  144. package/lib/constants.js +17 -0
  145. package/lib/dependencyManagement.js +9 -27
  146. package/lib/developerTestAccounts.js +9 -23
  147. package/lib/doctor/Diagnosis.js +11 -23
  148. package/lib/doctor/DiagnosticInfoBuilder.js +12 -11
  149. package/lib/doctor/Doctor.js +42 -90
  150. package/lib/doctor/__tests__/Doctor.test.js +4 -4
  151. package/lib/errorHandlers/index.js +12 -20
  152. package/lib/errorHandlers/suppressError.js +10 -17
  153. package/lib/lang.js +6 -5
  154. package/lib/links.d.ts +1 -0
  155. package/lib/links.js +14 -7
  156. package/lib/mcp/setup.js +1 -1
  157. package/lib/middleware/__test__/commandTargetingUtils.test.d.ts +1 -0
  158. package/lib/middleware/__test__/commandTargetingUtils.test.js +99 -0
  159. package/lib/middleware/__test__/configMiddleware.test.js +11 -11
  160. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +6 -8
  161. package/lib/middleware/commandTargetingUtils.d.ts +8 -0
  162. package/lib/middleware/commandTargetingUtils.js +78 -0
  163. package/lib/middleware/configMiddleware.d.ts +1 -1
  164. package/lib/middleware/configMiddleware.js +21 -81
  165. package/lib/middleware/fireAlarmMiddleware.js +15 -5
  166. package/lib/middleware/gitMiddleware.js +5 -1
  167. package/lib/middleware/notificationsMiddleware.js +5 -11
  168. package/lib/middleware/yargsChecksMiddleware.js +6 -9
  169. package/lib/npm.js +2 -2
  170. package/lib/oauth.js +5 -5
  171. package/lib/process.js +5 -4
  172. package/lib/projects/__tests__/AppDevModeInterface.test.js +2 -0
  173. package/lib/projects/__tests__/LocalDevProcess.test.js +227 -16
  174. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +86 -60
  175. package/lib/projects/__tests__/deploy.test.js +71 -6
  176. package/lib/projects/__tests__/localDevProjectHelpers.test.js +6 -2
  177. package/lib/projects/__tests__/platformVersion.test.js +8 -8
  178. package/lib/projects/__tests__/projects.test.js +12 -12
  179. package/lib/projects/__tests__/structure.test.js +3 -3
  180. package/lib/projects/__tests__/upload.test.d.ts +1 -0
  181. package/lib/projects/__tests__/upload.test.js +82 -0
  182. package/lib/projects/add/__tests__/legacyAddComponent.test.js +6 -6
  183. package/lib/projects/add/__tests__/v3AddComponent.test.js +4 -4
  184. package/lib/projects/create/__tests__/legacy.test.js +5 -5
  185. package/lib/projects/create/__tests__/v3.test.js +80 -5
  186. package/lib/projects/create/index.js +2 -2
  187. package/lib/projects/create/legacy.js +2 -2
  188. package/lib/projects/create/v3.js +10 -8
  189. package/lib/projects/localDev/AppDevModeInterface.d.ts +2 -0
  190. package/lib/projects/localDev/AppDevModeInterface.js +21 -12
  191. package/lib/projects/localDev/LocalDevLogger.d.ts +4 -0
  192. package/lib/projects/localDev/LocalDevLogger.js +27 -6
  193. package/lib/projects/localDev/LocalDevManager.js +4 -5
  194. package/lib/projects/localDev/LocalDevProcess.d.ts +7 -5
  195. package/lib/projects/localDev/LocalDevProcess.js +90 -19
  196. package/lib/projects/localDev/LocalDevState.d.ts +9 -8
  197. package/lib/projects/localDev/LocalDevState.js +18 -17
  198. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +2 -1
  199. package/lib/projects/localDev/LocalDevWebsocketServer.js +62 -33
  200. package/lib/projects/localDev/helpers/project.d.ts +1 -0
  201. package/lib/projects/localDev/helpers/project.js +42 -1
  202. package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +4 -0
  203. package/lib/projects/localDev/localDevWebsocketServerUtils.js +10 -0
  204. package/lib/projects/platformVersion.d.ts +1 -1
  205. package/lib/projects/platformVersion.js +1 -1
  206. package/lib/projects/pollProjectBuildAndDeploy.js +4 -4
  207. package/lib/projects/structure.js +6 -6
  208. package/lib/projects/upload.d.ts +1 -1
  209. package/lib/projects/upload.js +17 -8
  210. package/lib/prompts/accountNamePrompt.js +14 -19
  211. package/lib/prompts/accountsPrompt.js +2 -2
  212. package/lib/prompts/cmsFieldPrompt.js +2 -2
  213. package/lib/prompts/createApiSamplePrompt.js +5 -5
  214. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +10 -1
  215. package/lib/prompts/createFunctionPrompt.js +14 -14
  216. package/lib/prompts/createModulePrompt.js +9 -9
  217. package/lib/prompts/createTemplatePrompt.js +2 -2
  218. package/lib/prompts/downloadProjectPrompt.js +5 -8
  219. package/lib/prompts/personalAccessKeyPrompt.js +3 -3
  220. package/lib/prompts/previewPrompt.js +6 -6
  221. package/lib/prompts/projectAddPrompt.js +8 -1
  222. package/lib/prompts/projectDevTargetAccountPrompt.js +20 -32
  223. package/lib/prompts/projectNamePrompt.js +4 -8
  224. package/lib/prompts/projectsLogsPrompt.js +2 -4
  225. package/lib/prompts/promptUtils.js +30 -9
  226. package/lib/prompts/sandboxesPrompt.js +7 -7
  227. package/lib/prompts/secretPrompt.js +3 -3
  228. package/lib/prompts/selectAppPrompt.js +3 -3
  229. package/lib/prompts/selectHubDBTablePrompt.js +9 -13
  230. package/lib/prompts/selectProjectTemplatePrompt.js +2 -0
  231. package/lib/prompts/selectPublicAppForMigrationPrompt.js +15 -19
  232. package/lib/prompts/setAsDefaultAccountPrompt.js +4 -8
  233. package/lib/prompts/uploadPrompt.js +5 -5
  234. package/lib/sandboxSync.js +24 -41
  235. package/lib/sandboxes.js +19 -47
  236. package/lib/schema.js +3 -3
  237. package/lib/serverlessLogs.js +11 -13
  238. package/lib/theme/__tests__/migrate.test.d.ts +1 -0
  239. package/lib/theme/__tests__/migrate.test.js +233 -0
  240. package/lib/theme/migrate.d.ts +13 -0
  241. package/lib/theme/migrate.js +90 -0
  242. package/lib/ui/SpinniesManager.d.ts +2 -0
  243. package/lib/ui/SpinniesManager.js +7 -0
  244. package/lib/ui/boxen.js +1 -2
  245. package/lib/ui/git.js +13 -10
  246. package/lib/ui/index.js +38 -37
  247. package/lib/ui/serverlessFunctionLogs.js +9 -7
  248. package/lib/ui/uiMessages.d.ts +68 -0
  249. package/lib/ui/uiMessages.js +71 -0
  250. package/lib/usageTracking.js +8 -8
  251. package/lib/validation.js +20 -23
  252. package/lib/yargsUtils.d.ts +1 -1
  253. package/lib/yargsUtils.js +12 -5
  254. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +2 -2
  255. package/mcp-server/tools/index.js +4 -0
  256. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +2 -2
  257. package/mcp-server/tools/project/CreateProjectTool.d.ts +2 -2
  258. package/mcp-server/tools/project/DocsSearchTool.d.ts +4 -1
  259. package/mcp-server/tools/project/DocsSearchTool.js +5 -5
  260. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +23 -0
  261. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +68 -0
  262. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +11 -0
  263. package/mcp-server/tools/project/GetApplicationInfoTool.js +49 -0
  264. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -1
  265. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -6
  266. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +2 -2
  267. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +12 -10
  268. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +1 -0
  269. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +169 -0
  270. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +1 -0
  271. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +115 -0
  272. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +8 -7
  273. package/mcp-server/utils/__tests__/cliConfig.test.d.ts +1 -0
  274. package/mcp-server/utils/__tests__/cliConfig.test.js +110 -0
  275. package/mcp-server/utils/cliConfig.d.ts +1 -0
  276. package/mcp-server/utils/cliConfig.js +12 -0
  277. package/mcp-server/utils/toolUsageTracking.js +2 -2
  278. package/package.json +4 -4
  279. package/types/LocalDev.d.ts +19 -3
  280. package/ui/index.js +1 -1
  281. package/lib/middleware/__test__/utils.test.js +0 -51
  282. package/lib/middleware/utils.d.ts +0 -8
  283. package/lib/middleware/utils.js +0 -14
  284. /package/{lib/middleware/__test__/utils.test.d.ts → commands/project/__tests__/validate.test.d.ts} +0 -0
package/lang/en.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare const commands: {
10
10
  };
11
11
  };
12
12
  readonly getStarted: {
13
+ readonly describe: "A step-by-step command to get you started with a HubSpot project.";
13
14
  readonly options: {
14
15
  readonly dest: {
15
16
  readonly describe: "Directory where the project should be created";
@@ -93,9 +94,13 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
93
94
  };
94
95
  readonly list: {
95
96
  readonly accounts: `${string}:`;
97
+ readonly defaultAccountTitle: string;
96
98
  readonly defaultAccount: (account: string) => string;
97
99
  readonly describe: "List names of accounts defined in config.";
98
100
  readonly configPath: (configPath: string) => string;
101
+ readonly overrideFilePathTitle: string;
102
+ readonly overrideFilePath: (overrideFilePath: string) => string;
103
+ readonly overrideAccount: (account: string) => string;
99
104
  readonly labels: {
100
105
  readonly accountId: "Account ID";
101
106
  readonly authType: "Auth Type";
@@ -121,6 +126,8 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
121
126
  readonly errors: {
122
127
  readonly accountNotFound: (specifiedAccount: string, configPath: string) => string;
123
128
  };
129
+ readonly accountOverride: (accountOverride: string) => string;
130
+ readonly accountOverrideCommands: `Use ${string} to change override accounts, or ${string} to remove the override and use your default account.`;
124
131
  readonly examples: {
125
132
  readonly default: "Select a HubSpot account to use as the default account";
126
133
  readonly idBased: "Set the default account to the account in the config with accountId equal to \"1234567\"";
@@ -142,6 +149,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
142
149
  readonly replaceDefaultAccount: "The removed account was the default account.";
143
150
  };
144
151
  readonly prompts: {
152
+ readonly deleteOverrideFile: (overrideFilePath: string, accountName: string) => string;
145
153
  readonly selectAccountToRemove: "Select an account to remove from the config";
146
154
  };
147
155
  readonly errors: {
@@ -161,12 +169,40 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
161
169
  readonly accountRemoved: (accountName: string) => string;
162
170
  };
163
171
  };
172
+ readonly removeOverride: {
173
+ readonly describe: (overrideFile: string) => string;
174
+ readonly accountOverride: (overrideFilePath: string, accountOverride: string) => string;
175
+ readonly prompts: {
176
+ readonly deleteOverrideFile: "Delete account override file?";
177
+ };
178
+ readonly success: "Removed the default account override file.";
179
+ readonly noOverrideFile: "No default account override file found in the current working directory. No action required.";
180
+ readonly errors: {
181
+ readonly globalConfigNotFound: `This command is only compatible with our new global config. Run ${string} to get started.`;
182
+ };
183
+ readonly options: {
184
+ readonly force: {
185
+ readonly describe: "Skip confirmation prompt when removing the override file";
186
+ };
187
+ };
188
+ };
164
189
  readonly info: {
165
- readonly accountId: (accountId: string) => string;
190
+ readonly accountId: (accountId: number) => string;
191
+ readonly defaultAccountTitle: string;
192
+ readonly configPath: (configPath: string) => string;
193
+ readonly defaultAccount: (accountName: string) => string;
194
+ readonly overrideFilePathTitle: string;
195
+ readonly overrideFilePath: (overrideFilePath: string) => string;
196
+ readonly overrideAccount: (accountName: string) => string;
166
197
  readonly describe: "Print information about the default account, or about the account specified with the \"account\" option.";
167
198
  readonly errors: {
168
199
  readonly notUsingPersonalAccessKey: "This command currently only supports fetching scopes for the personal access key auth type.";
169
200
  };
201
+ readonly options: {
202
+ readonly account: {
203
+ readonly describe: "Account name or id to show info for";
204
+ };
205
+ };
170
206
  readonly examples: {
171
207
  readonly default: "Print information for the default account";
172
208
  readonly idBased: "Print information for the account with accountId equal to \"1234567\"";
@@ -183,13 +219,37 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
183
219
  };
184
220
  readonly inactiveAccountsFound: {
185
221
  readonly one: "1 inactive account found:";
186
- readonly other: (count: string) => string;
222
+ readonly other: (count: number) => string;
187
223
  };
188
224
  readonly confirm: {
189
225
  readonly one: "Remove 1 inactive account from the CLI config?";
190
- readonly other: (count: string) => string;
226
+ readonly other: (count: number) => string;
191
227
  };
192
228
  readonly removeSuccess: (accountName: string) => string;
229
+ readonly replaceDefaultAccount: "The default account was removed.";
230
+ readonly defaultAccountOverride: (overrideFilePath: string) => string;
231
+ };
232
+ readonly createOverride: {
233
+ readonly describe: (hsAccountFileName: string) => string;
234
+ readonly success: (overrideFilePath: string) => string;
235
+ readonly accountOverride: (overrideFilePath: string, accountOverride: string) => string;
236
+ readonly prompts: {
237
+ readonly replaceOverrideFile: "Replace existing account override file?";
238
+ };
239
+ readonly errors: {
240
+ readonly globalConfigNotFound: `This command is only compatible with our new global config. Run ${string} to get started.`;
241
+ readonly accountNotFound: (configPath: string) => string;
242
+ };
243
+ readonly options: {
244
+ readonly account: {
245
+ readonly describe: "Name or ID of the account to create an override file for.";
246
+ };
247
+ };
248
+ readonly examples: {
249
+ readonly default: (hsAccountFileName: string) => string;
250
+ readonly idBased: (hsAccountFileName: string) => string;
251
+ readonly nameBased: (hsAccountFileName: string) => string;
252
+ };
193
253
  };
194
254
  };
195
255
  };
@@ -259,6 +319,10 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
259
319
  readonly describe: "Enable or disable automatic opening of the browser";
260
320
  };
261
321
  };
322
+ readonly errors: {
323
+ readonly invalidBoolean: (commandName: string, value: string) => string;
324
+ readonly invalidHTTPTimeout: "Invalid HTTP timeout value. Must be a number greater than 3000.";
325
+ };
262
326
  };
263
327
  };
264
328
  };
@@ -279,6 +343,9 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
279
343
  readonly pageTemplateScoreTitle: "Page template scores";
280
344
  readonly lighthouseLinksTitle: "Lighthouse links";
281
345
  readonly failedTemplatePathsTitle: "The following templates could not be scored";
346
+ readonly themeToCheckTitle: (themeToCheck: string, target: string) => string;
347
+ readonly themeTitle: (themeToCheck: string) => string;
348
+ readonly poweredByLink: `Powered by ${string}`;
282
349
  };
283
350
  readonly errors: {
284
351
  readonly targetOptionRequired: "[--target] is required for detailed view";
@@ -397,9 +464,9 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
397
464
  };
398
465
  };
399
466
  readonly customObject: {
400
- readonly betaMessage: `${string} The Custom Object CLI is currently in beta and is subject to change.`;
467
+ readonly betaMessage: "The Custom Object CLI is currently in beta and is subject to change.";
401
468
  readonly describe: "Commands for managing custom objects.";
402
- readonly seeMoreLink: "View our docs to find out more.";
469
+ readonly seeMoreLink: string;
403
470
  readonly subcommands: {
404
471
  readonly create: {
405
472
  readonly describe: "Create custom object instances.";
@@ -607,7 +674,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
607
674
  readonly uploadingFailed: "Uploading failed";
608
675
  };
609
676
  readonly logs: {
610
- readonly uploading: (src: string, dest: string, accountId: string) => string;
677
+ readonly uploading: (src: string, dest: string, accountId: number) => string;
611
678
  };
612
679
  readonly positionals: {
613
680
  readonly dest: {
@@ -618,7 +685,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
618
685
  };
619
686
  };
620
687
  readonly success: {
621
- readonly upload: (src: string, dest: string, accountId: string) => string;
688
+ readonly upload: (src: string, dest: string, accountId: number) => string;
622
689
  readonly uploadComplete: (dest: string) => string;
623
690
  };
624
691
  };
@@ -647,7 +714,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
647
714
  };
648
715
  };
649
716
  readonly success: {
650
- readonly deployed: (functionPath: string, accountId: string, buildTimeSeconds: string) => string;
717
+ readonly deployed: (functionPath: string, accountId: number, buildTimeSeconds: string | 0) => string;
651
718
  };
652
719
  };
653
720
  readonly list: {
@@ -699,9 +766,9 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
699
766
  readonly clear: {
700
767
  readonly describe: "Clear all rows in a HubDB table.";
701
768
  readonly logs: {
702
- readonly removedRows: (deletedRowCount: string, tableId: string) => string;
703
- readonly rowCount: (tableId: string, rowCount: string) => string;
704
- readonly tableEmpty: (tableId: string) => string;
769
+ readonly removedRows: (deletedRowCount: number, tableId: number) => string;
770
+ readonly rowCount: (tableId: number, rowCount: number) => string;
771
+ readonly tableEmpty: (tableId: number) => string;
705
772
  };
706
773
  readonly positionals: {
707
774
  readonly tableId: {
@@ -723,14 +790,14 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
723
790
  };
724
791
  };
725
792
  readonly success: {
726
- readonly create: (tableId: string, accountId: string, rowCount: string) => string;
793
+ readonly create: (tableId: string, accountId: number, rowCount: number) => string;
727
794
  };
728
795
  };
729
796
  readonly delete: {
730
797
  readonly describe: "Delete a HubDB table.";
731
- readonly shouldDeleteTable: (tableId: string) => string;
798
+ readonly shouldDeleteTable: (tableId: number) => string;
732
799
  readonly errors: {
733
- readonly delete: (tableId: string) => string;
800
+ readonly delete: (tableId: number | "") => string;
734
801
  };
735
802
  readonly positionals: {
736
803
  readonly tableId: {
@@ -743,7 +810,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
743
810
  };
744
811
  };
745
812
  readonly success: {
746
- readonly delete: (tableId: string, accountId: string) => string;
813
+ readonly delete: (tableId: string, accountId: number) => string;
747
814
  };
748
815
  };
749
816
  readonly fetch: {
@@ -757,7 +824,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
757
824
  };
758
825
  };
759
826
  readonly success: {
760
- readonly fetch: (tableId: string, path: string) => string;
827
+ readonly fetch: (tableId: number, path: string) => string;
761
828
  };
762
829
  };
763
830
  readonly list: {
@@ -807,7 +874,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
807
874
  };
808
875
  };
809
876
  readonly lint: {
810
- readonly issuesFound: (count: string) => string;
877
+ readonly issuesFound: (count: number) => string;
811
878
  readonly groupName: (path: string) => string;
812
879
  readonly positionals: {
813
880
  readonly path: {
@@ -828,7 +895,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
828
895
  readonly logs: {
829
896
  readonly describe: "View logs for a CMS serverless function.";
830
897
  readonly errors: {
831
- readonly noLogsFound: (functionPath: string, accountId: string) => string;
898
+ readonly noLogsFound: (functionPath: string, accountId: number) => string;
832
899
  };
833
900
  readonly examples: {
834
901
  readonly default: "Get 5 most recent logs for function residing at /_hcms/api/my-endpoint";
@@ -836,7 +903,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
836
903
  readonly limit: "Get 10 most recent logs for function residing at /_hcms/api/my-endpoint";
837
904
  };
838
905
  readonly endpointPrompt: "Enter a serverless function endpoint:";
839
- readonly gettingLogs: (latest: string, functionPath: string) => string;
906
+ readonly gettingLogs: (latest: boolean | undefined, functionPath: string) => string;
840
907
  readonly options: {
841
908
  readonly compact: {
842
909
  readonly describe: "output compact logs";
@@ -859,8 +926,9 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
859
926
  readonly tailLogs: (functionPath: string, accountId: string) => string;
860
927
  };
861
928
  readonly mcp: {
862
- readonly describe: "Commands for managing HubSpot MCP servers";
929
+ readonly describe: "Commands for managing HubSpot MCP servers.";
863
930
  readonly setup: {
931
+ readonly describe: "Setup the HubSpot development MCP servers.";
864
932
  readonly installingDocSearch: "Adding the docs-search mcp server";
865
933
  readonly claudeCode: "Claude Code";
866
934
  readonly cursor: "Cursor";
@@ -872,6 +940,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
872
940
  };
873
941
  readonly success: (derivedTargets: string[]) => string;
874
942
  readonly errors: {
943
+ readonly needsMcpAccess: (accountId?: number) => string;
875
944
  readonly needsNode20: "This feature requires node >=20";
876
945
  readonly errorParsingJsonFIle: (filename: string, errorMessage: string) => string;
877
946
  };
@@ -915,9 +984,9 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
915
984
  readonly describe: "Move a remote file or folder in HubSpot. This feature is currently in beta and the CLI contract is subject to change.";
916
985
  readonly errors: {
917
986
  readonly sourcePathExists: (srcPath: string, destPath: string) => string;
918
- readonly moveFailed: (srcPath: string, destPath: string, accountId: string) => string;
987
+ readonly moveFailed: (srcPath: string, destPath: string, accountId: number) => string;
919
988
  };
920
- readonly move: (srcPath: string, destPath: string, accountId: string) => string;
989
+ readonly move: (srcPath: string, destPath: string, accountId: number) => string;
921
990
  };
922
991
  readonly open: {
923
992
  readonly describe: "Open a HubSpot page in your browser.";
@@ -934,6 +1003,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
934
1003
  readonly selectLink: "Select a link to open";
935
1004
  };
936
1005
  readonly project: {
1006
+ readonly describe: "Commands for managing projects. For more information visit our documentation https://developers.hubspot.com/docs/getting-started/quickstart";
937
1007
  readonly profile: {
938
1008
  readonly describe: "Commands for managing project profiles";
939
1009
  readonly verboseDescribe: `Commands for managing project profiles
@@ -1008,7 +1078,7 @@ Profiles enable you to reference variables in your component configuration files
1008
1078
  readonly dev: {
1009
1079
  readonly describe: "Start local dev for the current project.";
1010
1080
  readonly logs: {
1011
- readonly betaMessage: "HubSpot projects local development";
1081
+ readonly header: "HubSpot projects local development";
1012
1082
  readonly placeholderAccountSelection: "Using default account as target account (for now)";
1013
1083
  readonly accountTypeInformation: "Testing in a developer test account is strongly recommended, but you can use a sandbox account if your plan allows you to create one.";
1014
1084
  readonly learnMoreMessageV3: `Learn more about ${string} | ${string}`;
@@ -1023,7 +1093,7 @@ Profiles enable you to reference variables in your component configuration files
1023
1093
  readonly errors: {
1024
1094
  readonly noProjectConfig: "No project detected. Please run this command again from a project directory.";
1025
1095
  readonly noAccount: (accountId: number) => string;
1026
- readonly noAccountsInConfig: (authCommand: string) => string;
1096
+ readonly noAccountsInConfig: `No accounts found in your config. Run ${string} to configure a HubSpot account with the CLI.`;
1027
1097
  readonly invalidProjectComponents: "Projects cannot contain both private and public apps. Move your apps to separate projects before attempting local development.";
1028
1098
  readonly noRunnableComponents: `No supported components were found in this project. Run ${string} to see a list of available components and add one to your project.`;
1029
1099
  readonly accountNotCombined: `
@@ -1036,8 +1106,9 @@ Local development of unified apps is currently only compatible with accounts tha
1036
1106
  };
1037
1107
  readonly options: {
1038
1108
  readonly profile: "The profile to target during local dev";
1039
- readonly projectAccount: "The id of the account to upload your project to. Only compatible with platform versions 2025.2 and above.";
1040
- readonly testingAccount: "The id of the account to install apps and test on. Only compatible with platform versions 2025.2 and above.";
1109
+ readonly projectAccount: "The id of the account to upload your project to. Must be used with --testing-account. Supported on platform versions 2025.2 and newer.";
1110
+ readonly testingAccount: "The id of the account to install apps and test on. Must be used with --project-account. Supported on platform versions 2025.2 and newer.";
1111
+ readonly account: "The id of the account to upload your project to. Unsupported on platform versions 2025.2 and newer.";
1041
1112
  };
1042
1113
  };
1043
1114
  readonly create: {
@@ -1070,7 +1141,7 @@ ${string}`;
1070
1141
  readonly describe: "Project name (cannot be changed)";
1071
1142
  };
1072
1143
  readonly template: {
1073
- readonly describe: "The starting template";
1144
+ readonly describe: "The starting template. Only applies when platform version is less than 2025.2.";
1074
1145
  };
1075
1146
  readonly templateSource: {
1076
1147
  readonly describe: "Path to custom GitHub repository from which to create project template";
@@ -1108,11 +1179,9 @@ ${string}`;
1108
1179
  readonly describe: "Project name (cannot be changed)";
1109
1180
  };
1110
1181
  };
1111
- readonly header: {
1112
- readonly text: "This command will migrate an app to the projects framework. It will walk you through the fields required to complete the migration and download the project source code into a directory of your choosing.";
1113
- readonly link: "Learn more about migrating apps to the projects framework";
1114
- };
1115
- readonly deprecationWarning: (oldCommand: string, newCommand: string) => string;
1182
+ readonly header: `This command will migrate an app to the projects framework. It will walk you through the fields required to complete the migration and download the project source code into a directory of your choosing.
1183
+ ${string}`;
1184
+ readonly deprecationWarning: (platformVersion: string) => string;
1116
1185
  readonly migrationStatus: {
1117
1186
  readonly inProgress: () => string;
1118
1187
  readonly success: () => string;
@@ -1120,22 +1189,34 @@ ${string}`;
1120
1189
  readonly failure: () => string;
1121
1190
  };
1122
1191
  readonly warning: {
1123
- readonly title: () => string;
1124
- readonly projectConversion: () => string;
1125
- readonly appConfig: () => string;
1126
- readonly buildAndDeploy: "This will create a new project with a single app component and immediately build and deploy it to your developer account (build #1).";
1127
- readonly existingApps: () => string;
1192
+ readonly title: `${string}
1193
+ `;
1194
+ readonly projectConversion: `${string}
1195
+ `;
1196
+ readonly appConfig: `All supported app configuration will be moved to the ${string} component definition file. Future updates to those features must be made through the project build and deploy pipeline, not the developer account UI.
1197
+ `;
1198
+ readonly buildAndDeploy: "This will create a new project with a single app component and immediately build and deploy it to your developer account (build #1).\n";
1199
+ readonly existingApps: string;
1128
1200
  readonly copyApp: "We strongly recommend making a copy of your app to test this process in a development app before replacing production.";
1129
1201
  };
1130
1202
  readonly migrationInterrupted: "\nThe command is terminated, but app migration is still in progress. Please check your account to ensure that the project and associated app have been created successfully.";
1131
1203
  readonly createAppPrompt: "Proceed with migrating this app to a project component (this process can't be aborted)?";
1132
1204
  readonly projectDetailsLink: "View project details in your developer account";
1205
+ readonly errors: {
1206
+ readonly noAppsForProject: (projectName: string) => string;
1207
+ readonly noAccountConfig: "No account configuration found. Please check your account settings.";
1208
+ readonly projectAlreadyExists: (projectName: string) => string;
1209
+ readonly invalidApp: (appId: number) => string;
1210
+ readonly migrationFailed: "Migration Failed";
1211
+ readonly notAllowedWithinProject: `This command cannot be run from within a project directory. Run the command again from outside a project directory. If you are trying to migrate a project, run ${string}`;
1212
+ };
1133
1213
  };
1134
1214
  readonly migrate: {
1135
1215
  readonly preamble: (platformVersion: string) => string;
1136
1216
  readonly describe: "Migrate an existing project to the new version of the projects framework.";
1137
1217
  readonly errors: {
1138
1218
  readonly noProjectConfig: (command: string) => string;
1219
+ readonly noThemeMigrationAccess: (accountId?: number) => string;
1139
1220
  };
1140
1221
  readonly examples: {
1141
1222
  readonly default: "Migrate an existing project to the new version of the projects framework.";
@@ -1155,7 +1236,7 @@ ${string}`;
1155
1236
  };
1156
1237
  };
1157
1238
  readonly cloneStatus: {
1158
- readonly inProgress: () => string;
1239
+ readonly inProgress: `Cloning app configuration to ${string} component definition ...`;
1159
1240
  readonly done: "Cloning app configuration to public-app.json component definition ... DONE";
1160
1241
  readonly success: (dest: string) => string;
1161
1242
  readonly failure: "Cloning app configuration to public-app.json component definition ... FAILED";
@@ -1164,6 +1245,7 @@ ${string}`;
1164
1245
  readonly invalidAccountTypeTitle: () => string;
1165
1246
  readonly invalidAccountTypeDescription: (useCommand: string, authCommand: string) => string;
1166
1247
  readonly couldNotWriteConfigPath: (configPath: string) => string;
1248
+ readonly noAccountConfig: (accountId: number) => string;
1167
1249
  };
1168
1250
  };
1169
1251
  readonly add: {
@@ -1238,7 +1320,7 @@ ${string}`;
1238
1320
  readonly describe: "List the project's builds.";
1239
1321
  readonly continueOrExitPrompt: "Press <enter> to load more, or ctrl+c to exit";
1240
1322
  readonly viewAllBuildsLink: "View all builds";
1241
- readonly showingNextBuilds: (count: string, projectName: string) => string;
1323
+ readonly showingNextBuilds: (count: number, projectName: string) => string;
1242
1324
  readonly showingRecentBuilds: (count: number, projectName: string, viewAllBuildsLink: string) => string;
1243
1325
  readonly errors: {
1244
1326
  readonly noBuilds: "No builds for this project were found.";
@@ -1272,7 +1354,7 @@ ${string}`;
1272
1354
  };
1273
1355
  readonly logs: {
1274
1356
  readonly showingLogs: "Showing logs for:";
1275
- readonly hubspotLogsDirectLink: "View function logs in HubSpot";
1357
+ readonly hubspotLogsDirectLink: (url: string) => string;
1276
1358
  readonly noLogsFound: (name: string) => string;
1277
1359
  };
1278
1360
  readonly table: {
@@ -1311,13 +1393,13 @@ ${string}`;
1311
1393
  readonly default: "Upload a project into your HubSpot account";
1312
1394
  };
1313
1395
  readonly logs: {
1314
- readonly buildSucceeded: (buildId: string) => string;
1396
+ readonly buildSucceeded: (buildId: number) => string;
1315
1397
  readonly readyToGoLive: "🚀 Ready to take your project live?";
1316
1398
  readonly runCommand: (command: string) => string;
1317
1399
  readonly autoDeployDisabled: (deployCommand: string) => string;
1318
1400
  };
1319
1401
  readonly errors: {
1320
- readonly projectLockedError: () => string;
1402
+ readonly projectLockedError: `Your project is locked. This may mean that another user is running the ${string} command for this project. If this is you, unlock the project in Projects UI.`;
1321
1403
  };
1322
1404
  readonly options: {
1323
1405
  readonly forceCreate: {
@@ -1326,6 +1408,9 @@ ${string}`;
1326
1408
  readonly message: {
1327
1409
  readonly describe: "Add a message when you upload your project and create a build";
1328
1410
  };
1411
+ readonly profile: {
1412
+ readonly describe: "Profile to target for this upload";
1413
+ };
1329
1414
  };
1330
1415
  };
1331
1416
  readonly watch: {
@@ -1363,6 +1448,7 @@ ${string}`;
1363
1448
  readonly uploadFailed: (remotePath: string, filePath: string) => string;
1364
1449
  readonly deleteFileFailed: (remotePath: string) => string;
1365
1450
  readonly deleteFolderFailed: (remotePath: string) => string;
1451
+ readonly v3ApiError: (platformVersion: string) => string;
1366
1452
  };
1367
1453
  };
1368
1454
  readonly download: {
@@ -1372,11 +1458,12 @@ ${string}`;
1372
1458
  };
1373
1459
  readonly logs: {
1374
1460
  readonly downloadCancelled: "Cancelling project download";
1375
- readonly downloadSucceeded: (buildId: string, projectName: string) => string;
1461
+ readonly downloadSucceeded: (buildId: number, projectName: string) => string;
1376
1462
  };
1377
1463
  readonly errors: {
1378
1464
  readonly downloadFailed: "Something went wrong downloading the project";
1379
1465
  readonly projectNotFound: (projectName: string, accountId: string) => string;
1466
+ readonly noBuildIdToDownload: "No build ID available for download";
1380
1467
  };
1381
1468
  readonly warnings: {
1382
1469
  readonly cannotDownloadWithinProject: "Cancelling project download. Please run the command again outside the context of an existing project.";
@@ -1424,8 +1511,8 @@ ${string}`;
1424
1511
  readonly addingDependenciesToLocation: (dependencies: string, directory: string) => string;
1425
1512
  readonly installingDependenciesFailed: (directory: string) => string;
1426
1513
  readonly noProjectConfig: "No project detected. Run this command from a project directory.";
1427
- readonly noPackageJsonInProject: (projectName: string, link: string) => string;
1428
- readonly packageManagerNotInstalled: (packageManager: string, link: string) => string;
1514
+ readonly noPackageJsonInProject: (projectName: string) => string;
1515
+ readonly packageManagerNotInstalled: (packageManager: string) => string;
1429
1516
  };
1430
1517
  readonly validate: {
1431
1518
  readonly describe: "Validate the project before uploading";
@@ -1457,6 +1544,30 @@ ${string}`;
1457
1544
  readonly describe: "Commands for managing sandboxes.";
1458
1545
  readonly subcommands: {
1459
1546
  readonly create: {
1547
+ readonly describe: "Create a sandbox account.";
1548
+ readonly failure: {
1549
+ readonly noAccountConfig: (accountId: number) => string;
1550
+ readonly invalidAccountType: (accountType: string, accountName: string) => string;
1551
+ readonly noSandboxAccountConfig: (accountId: number) => string;
1552
+ readonly optionMissing: {
1553
+ readonly type: "Type is required when using --force. Use --type=developer or --type=standard.";
1554
+ readonly name: "Name is required when using --force. Use --name=YourSandboxName.";
1555
+ };
1556
+ };
1557
+ readonly options: {
1558
+ readonly force: {
1559
+ readonly describe: "Skips all prompts and uses provided options.";
1560
+ };
1561
+ readonly name: {
1562
+ readonly describe: "Name of the sandbox account to create";
1563
+ };
1564
+ readonly type: {
1565
+ readonly describe: "Type of sandbox to create (developer or standard)";
1566
+ };
1567
+ };
1568
+ readonly examples: {
1569
+ readonly default: "Creates a standard sandbox named MySandboxAccount.";
1570
+ };
1460
1571
  readonly developer: {
1461
1572
  readonly loading: {
1462
1573
  readonly add: (accountName: string) => string;
@@ -1499,28 +1610,28 @@ ${string}`;
1499
1610
  readonly delete: {
1500
1611
  readonly describe: "Delete a sandbox account.";
1501
1612
  readonly debug: {
1502
- readonly deleting: (account: string) => string;
1613
+ readonly deleting: (account: number) => string;
1503
1614
  readonly error: "Error deleting sandbox account:";
1504
1615
  };
1505
1616
  readonly examples: {
1506
1617
  readonly default: "Deletes the sandbox account named MySandboxAccount.";
1507
1618
  };
1508
- readonly confirm: (account: string) => string;
1509
- readonly defaultAccountWarning: (account: string) => string;
1619
+ readonly confirm: (account: number) => string;
1620
+ readonly defaultAccountWarning: (account: number) => string;
1510
1621
  readonly success: {
1511
- readonly delete: (account: string, sandboxHubId: string) => string;
1512
- readonly deleteDefault: (account: string, sandboxHubId: string) => string;
1622
+ readonly delete: (account: string, sandboxHubId: number) => string;
1623
+ readonly deleteDefault: (account: string, sandboxHubId: number) => string;
1513
1624
  readonly configFileUpdated: (account: string, configFilename: string) => string;
1514
1625
  };
1515
1626
  readonly failure: {
1516
- readonly invalidUser: (accountName: string, parentAccountName: string) => string;
1627
+ readonly invalidUser: (account: number, parentAccount: number) => string;
1517
1628
  readonly noAccount: "No account specified. Specify an account by using the --account flag.";
1518
- readonly noSandboxAccounts: (authCommand: string) => string;
1629
+ readonly noSandboxAccounts: `There are no sandboxes connected to the CLI. To add a sandbox, run ${string}.`;
1519
1630
  readonly noSandboxAccountId: "This sandbox can't be deleted from the CLI because we could not find the associated sandbox account.";
1520
- readonly noParentAccount: (authCommand: string) => string;
1521
- readonly objectNotFound: (account: string) => string;
1631
+ readonly noParentAccount: `This sandbox can't be deleted from the CLI because you haven't given the CLI access to its parent account. To do this, run ${string} and add the parent account.`;
1632
+ readonly objectNotFound: (account: number) => string;
1522
1633
  readonly noParentPortalAvailable: (command: string, url: string) => string;
1523
- readonly invalidKey: (account: string, authCommand: string) => string;
1634
+ readonly invalidKey: (account: number | null | undefined) => string;
1524
1635
  };
1525
1636
  readonly options: {
1526
1637
  readonly force: {
@@ -1548,6 +1659,12 @@ ${string}`;
1548
1659
  readonly instructions: (accountName: string, url: string) => string;
1549
1660
  };
1550
1661
  };
1662
+ readonly confirm: {
1663
+ readonly syncContactRecords: {
1664
+ readonly standard: "Copy up to 5000 most recently updated contacts? This includes up to 100 of each of the following: associated deals, tickets, and companies.";
1665
+ readonly developer: "Include up to 100 most recently updated contacts? This includes up to 100 of each of the following: associated deals, tickets, and companies. This can be done once per sandbox.";
1666
+ };
1667
+ };
1551
1668
  };
1552
1669
  };
1553
1670
  readonly app: {
@@ -1625,7 +1742,7 @@ ${string}`;
1625
1742
  readonly describe: "Create a new secret.";
1626
1743
  readonly errors: {
1627
1744
  readonly add: (secretName: string) => string;
1628
- readonly alreadyExists: (secretName: string, command: string) => string;
1745
+ readonly alreadyExists: (secretName: string) => string;
1629
1746
  };
1630
1747
  readonly positionals: {
1631
1748
  readonly name: {
@@ -1633,7 +1750,7 @@ ${string}`;
1633
1750
  };
1634
1751
  };
1635
1752
  readonly success: {
1636
- readonly add: (secretName: string, accountIdentifier: string) => string;
1753
+ readonly add: (secretName: string, accountId: number) => string;
1637
1754
  };
1638
1755
  };
1639
1756
  readonly delete: {
@@ -1651,7 +1768,7 @@ ${string}`;
1651
1768
  };
1652
1769
  };
1653
1770
  readonly success: {
1654
- readonly delete: (secretName: string, accountIdentifier: string) => string;
1771
+ readonly delete: (secretName: string, accountId: number) => string;
1655
1772
  };
1656
1773
  };
1657
1774
  readonly list: {
@@ -1674,7 +1791,7 @@ ${string}`;
1674
1791
  };
1675
1792
  };
1676
1793
  readonly success: {
1677
- readonly update: (secretName: string, accountIdentifier: string) => string;
1794
+ readonly update: (secretName: string, accountId: number) => string;
1678
1795
  readonly updateExplanation: "Existing serverless functions will start using this new value within 10 seconds.";
1679
1796
  };
1680
1797
  };
@@ -1903,18 +2020,41 @@ ${string}`;
1903
2020
  readonly example: (name: string) => string;
1904
2021
  };
1905
2022
  readonly delete: {
1906
- readonly describe: "Delete a test account config file.";
2023
+ readonly describe: "Delete a test account from your HubSpot account and CLI config";
1907
2024
  readonly pathPrompt: "[--path] What is the path to the test account config?";
2025
+ readonly info: {
2026
+ readonly deletionCanceled: "Deletion canceled by user";
2027
+ readonly accountNotFoundWithId: (id: number) => string;
2028
+ readonly replaceDefaultAccount: (testAccountId: number, parentAccountName: string) => string;
2029
+ };
2030
+ readonly prompts: {
2031
+ readonly selectTestAccounts: "Select test account(s) to delete";
2032
+ readonly confirmDeletion: "All data for the account will be permanently deleted. Any connected apps will have their access tokens revoked. Do you wish to proceed?";
2033
+ };
1908
2034
  readonly errors: {
1909
- readonly failedToDelete: "Failed to delete test account";
2035
+ readonly failedToDelete: (testAccountToDelete: number) => string;
2036
+ readonly failedToSelectAccount: "Failed to select a test account to delete";
2037
+ readonly noAccountsToDelete: (accountId: number) => string;
2038
+ readonly failedToDeleteFromConfig: (testAccountToDelete: number) => string;
2039
+ readonly failedToFetchTestAccounts: "Failed to fetch developer test accounts";
2040
+ readonly testAccountNotFound: (nameOrId: string | number | null) => string;
2041
+ readonly parentAccountNotFound: (testAccountId: number) => string;
1910
2042
  };
1911
2043
  readonly success: {
1912
- readonly testAccountDeleted: (testAccountId: number) => string;
2044
+ readonly testAccountDeletedFromHubSpot: (testAccountToDelete: number) => string;
2045
+ readonly testAccountDeletedFromConfig: (accountId: number) => string;
1913
2046
  };
1914
- readonly positionals: {
1915
- readonly testAccountId: "The id of the test account";
2047
+ readonly options: {
2048
+ readonly name: "The name of the test account (in your CLI config) to delete";
2049
+ readonly id: "The id of the test account";
2050
+ };
2051
+ readonly examples: {
2052
+ readonly withPositionalID: (testAccountToDelete: number) => string;
2053
+ readonly withPositionalName: (testAccountToDelete: string) => string;
2054
+ readonly withID: (testAccountToDelete: number) => string;
2055
+ readonly withName: (testAccountToDelete: string) => string;
2056
+ readonly withoutId: "Delete a test account via a prompt";
1916
2057
  };
1917
- readonly example: (testAccountId: number) => string;
1918
2058
  };
1919
2059
  };
1920
2060
  readonly secrets: {
@@ -2591,8 +2731,13 @@ export declare const lib: {
2591
2731
  readonly LocalDevProcess: {
2592
2732
  readonly projectConfigMismatch: `Unable to upload project. The project config has been modified since starting ${string}.`;
2593
2733
  readonly uploadInitiated: "Project upload initiated from Local Dev UI.";
2734
+ readonly deployInitiated: "Project deploy initiated from Local Dev UI.";
2594
2735
  readonly uploadFailed: "Project upload failed. To proceed with local development, fix any necessary errors, then re-upload your project.";
2736
+ readonly deployFailed: "Project deploy failed. To proceed with local development, fix any necessary errors, then re-deploy your project.";
2595
2737
  readonly uploadSuccess: "Project upload completed successfully. Resuming local dev...";
2738
+ readonly uploadSuccessAutoDeployDisabled: "Project upload completed successfully, but auto-deploy is disabled for this project. Deploy your latest build to proceed with local development.";
2739
+ readonly deploySuccess: "Project deploy completed successfully. Resuming local dev...";
2740
+ readonly noBuildToDeploy: "Error deploying project. No build was found to deploy.";
2596
2741
  };
2597
2742
  readonly localDevHelpers: {
2598
2743
  readonly project: {
@@ -2617,6 +2762,11 @@ export declare const lib: {
2617
2762
  readonly projectLockedError: "Your project is locked. This may mean that another user is running the `hs project watch` command for this project. If this is you, unlock the project in Projects UI.";
2618
2763
  readonly genericError: `An error occurred while creating the initial build for this project. Run ${string} to try again.`;
2619
2764
  };
2765
+ readonly checkAndInstallDependencies: {
2766
+ readonly checkingDependencies: "Checking for missing or updated dependencies...";
2767
+ readonly dependenciesUpToDate: "All dependencies are up to date";
2768
+ readonly dependenciesFailure: "Failed to check or install dependencies";
2769
+ };
2620
2770
  };
2621
2771
  readonly account: {
2622
2772
  readonly checkIfDefaultAccountIsSupported: {
@@ -2633,7 +2783,7 @@ export declare const lib: {
2633
2783
  readonly notAuthedError: (parentAccountId: number | string, accountIdentifier: string) => string;
2634
2784
  };
2635
2785
  readonly selectAccountTypePrompt: {
2636
- readonly message: "[--testing-account] Choose the type of account to test on";
2786
+ readonly message: "Choose the type of account to test on";
2637
2787
  readonly developerTestAccountOption: "Test on a developer test account (recommended)";
2638
2788
  readonly sandboxAccountOption: "Test on a sandbox account";
2639
2789
  readonly sandboxAccountOptionDisabled: "Disabled - requires access to sandbox accounts";
@@ -2761,6 +2911,7 @@ Run ${string} to upgrade to version ${string}`;
2761
2911
  readonly compressed: (byteCount: number) => string;
2762
2912
  readonly compressing: (path: string) => string;
2763
2913
  readonly fileFiltered: (filename: string) => string;
2914
+ readonly legacyFileDetected: (filename: string, platformVersion: string) => string;
2764
2915
  };
2765
2916
  };
2766
2917
  readonly boxen: {
@@ -2777,13 +2928,15 @@ Run ${string} to upgrade to version ${string}`;
2777
2928
  readonly viewImportLink: (baseUrl: string, accountId: number, importId: string) => string;
2778
2929
  };
2779
2930
  readonly ui: {
2780
- readonly betaTag: string;
2931
+ readonly betaTag: "[BETA]";
2932
+ readonly betaTagWithStyle: string;
2781
2933
  readonly betaWarning: {
2782
2934
  readonly header: string;
2783
2935
  readonly footer: string;
2784
2936
  };
2785
2937
  readonly infoTag: string;
2786
- readonly deprecatedTag: string;
2938
+ readonly deprecatedTag: "[DEPRECATED]";
2939
+ readonly deprecatedTagWithStyle: string;
2787
2940
  readonly errorTag: string;
2788
2941
  readonly deprecatedMessage: (command: string, url: string) => string;
2789
2942
  readonly deprecatedDescription: (message: string, command: string, url: string) => string;
@@ -2841,6 +2994,9 @@ Run ${string} to upgrade to version ${string}`;
2841
2994
  readonly command: "hs project install-deps";
2842
2995
  readonly message: (command: string) => string;
2843
2996
  };
2997
+ readonly projectCommandTip: {
2998
+ readonly message: "Tip: All project commands must be run from within a project directory";
2999
+ };
2844
3000
  readonly sampleProjects: {
2845
3001
  readonly linkText: "HubSpot's sample projects";
2846
3002
  readonly url: "https://developers.hubspot.com/docs/platform/sample-projects?utm_source=cli&utm_content=project_create_whats_next";
@@ -2893,11 +3049,12 @@ Run ${string} to upgrade to version ${string}`;
2893
3049
  readonly setHttpTimeout: {
2894
3050
  readonly promptMessage: "Enter http timeout duration";
2895
3051
  readonly success: (timeout: string) => string;
3052
+ readonly error: (timeout: string) => string;
2896
3053
  };
2897
3054
  readonly setAutoOpenBrowser: {
2898
3055
  readonly fieldName: "auto open browser";
2899
- readonly enabled: "Auto opening your browser has been enabled";
2900
- readonly disabled: "Auto opening your browser has been disabled";
3056
+ readonly enabled: `Successfully updated ${string} to ${string}`;
3057
+ readonly disabled: `Successfully updated ${string} to ${string}`;
2901
3058
  };
2902
3059
  };
2903
3060
  readonly commonOpts: {
@@ -2935,6 +3092,11 @@ Run ${string} to upgrade to version ${string}`;
2935
3092
  };
2936
3093
  };
2937
3094
  readonly prompts: {
3095
+ readonly promptUtils: {
3096
+ readonly errors: {
3097
+ readonly noSelectableChoices: "Exiting prompt because no selectable choices are available";
3098
+ };
3099
+ };
2938
3100
  readonly importDataFilePathPrompt: {
2939
3101
  readonly promptContext: `To view the JSON schema for data imports, visit ${string}`;
2940
3102
  readonly promptMessage: "[--file-path] Select the JSON file that will be used to import your data.";
@@ -2951,11 +3113,11 @@ Run ${string} to upgrade to version ${string}`;
2951
3113
  readonly projectDevTargetAccountPrompt: {
2952
3114
  readonly createNewSandboxOption: "<Test on a new development sandbox>";
2953
3115
  readonly createNewDeveloperTestAccountOption: "<Test on a new developer test account>";
2954
- readonly chooseDefaultAccountOption: () => string;
3116
+ readonly chooseDefaultAccountOption: `<${string} Test on this production account ${string}>`;
2955
3117
  readonly promptMessage: (accountType: string, accountIdentifier: string) => string;
2956
- readonly sandboxLimit: (limit: string) => string;
2957
- readonly sandboxLimitWithSuggestion: (limit: string, authCommand: string) => string;
2958
- readonly developerTestAccountLimit: (limit: string) => string;
3118
+ readonly sandboxLimit: (limit: number) => string;
3119
+ readonly sandboxLimitWithSuggestion: (limit: number, authCommand: string) => string;
3120
+ readonly developerTestAccountLimit: (limit: number) => string;
2959
3121
  readonly confirmDefaultAccount: (accountName: string, accountType: string) => string;
2960
3122
  readonly confirmUseExistingDeveloperTestAccount: (accountName: string) => string;
2961
3123
  readonly noAccountId: "No account ID found for the selected account. Please try again.";
@@ -2966,7 +3128,7 @@ Run ${string} to upgrade to version ${string}`;
2966
3128
  readonly setAsDefaultAccountPrompt: {
2967
3129
  readonly setAsDefaultAccountMessage: "Set this account as the default?";
2968
3130
  readonly setAsDefaultAccount: (accountName: string) => string;
2969
- readonly keepingCurrentDefault: (accountName: string) => string;
3131
+ readonly keepingCurrentDefault: (accountName: string | number) => string;
2970
3132
  };
2971
3133
  readonly createDeveloperTestAccountConfigPrompt: {
2972
3134
  readonly namePrompt: (withFlag?: boolean) => string;
@@ -2996,7 +3158,7 @@ Run ${string} to upgrade to version ${string}`;
2996
3158
  readonly enterStandardSandboxName: "Name your standard sandbox:";
2997
3159
  readonly enterDevelopmentSandboxName: "Name your development sandbox:";
2998
3160
  readonly sandboxDefaultName: (sandboxType: string) => string;
2999
- readonly developerTestAccountDefaultName: (count: string) => string;
3161
+ readonly developerTestAccountDefaultName: (count: number) => string;
3000
3162
  readonly errors: {
3001
3163
  readonly invalidName: "You entered an invalid name. Please try again.";
3002
3164
  readonly nameRequired: "The name may not be blank. Please try again.";
@@ -3094,8 +3256,8 @@ Run ${string} to upgrade to version ${string}`;
3094
3256
  readonly selectAppIdClone: (accountName: string) => string;
3095
3257
  readonly errors: {
3096
3258
  readonly noAccountId: "An account ID is required to select an app.";
3097
- readonly noAppsMigration: () => string;
3098
- readonly noAppsClone: () => string;
3259
+ readonly noAppsMigration: string;
3260
+ readonly noAppsClone: string;
3099
3261
  readonly noAppsMigrationMessage: (accountName: string) => string;
3100
3262
  readonly noAppsCloneMessage: (accountName: string) => string;
3101
3263
  readonly errorFetchingApps: "There was an error fetching public apps.";
@@ -3105,16 +3267,18 @@ Run ${string} to upgrade to version ${string}`;
3105
3267
  readonly downloadProjectPrompt: {
3106
3268
  readonly selectProject: "Select a project to download:";
3107
3269
  readonly errors: {
3108
- readonly projectNotFound: (projectName: string, accountId: string) => string;
3270
+ readonly projectNotFound: (projectName: string, accountId: number) => string;
3109
3271
  readonly accountIdRequired: "An account ID is required to download a project.";
3110
3272
  };
3111
3273
  };
3112
3274
  readonly projectAddPrompt: {
3113
3275
  readonly selectType: "[--type] Select an app feature to add: ";
3276
+ readonly selectFeatures: "[--features] Select an app feature to add: ";
3114
3277
  readonly enterName: "[--name] Give your component a name: ";
3115
3278
  readonly errors: {
3116
3279
  readonly nameRequired: "A component name is required";
3117
3280
  readonly componentRequired: "Must select a feature to add";
3281
+ readonly noSelectableChoices: "There are no available features that can be added to this project";
3118
3282
  readonly invalidType: (type: string) => string;
3119
3283
  readonly cannotAddFeature: (feature: string, reasons: string | boolean) => string;
3120
3284
  };
@@ -3150,7 +3314,7 @@ Run ${string} to upgrade to version ${string}`;
3150
3314
  readonly enterName: "[--project] Enter project name:";
3151
3315
  readonly errors: {
3152
3316
  readonly invalidName: "You entered an invalid name. Please try again.";
3153
- readonly projectDoesNotExist: (projectName: string, accountIdentifier: string) => string;
3317
+ readonly projectDoesNotExist: (projectName: string, accountId: number) => string;
3154
3318
  };
3155
3319
  };
3156
3320
  readonly previewPrompt: {
@@ -3210,8 +3374,8 @@ Run ${string} to upgrade to version ${string}`;
3210
3374
  };
3211
3375
  readonly failure: {
3212
3376
  readonly invalidUser: (accountName: string, parentAccountName: string) => string;
3213
- readonly limit: (accountName: string, limit: string) => string;
3214
- readonly alreadyInConfig: (accountName: string, limit: string) => string;
3377
+ readonly limit: (accountName: string | number, limit: number) => string;
3378
+ readonly alreadyInConfig: (accountName: string | number, limit: number) => string;
3215
3379
  readonly scopes: {
3216
3380
  readonly message: "The personal access key you provided doesn't include developer test account permissions.";
3217
3381
  readonly instructions: (accountName: string | number, url: string) => string;
@@ -3231,14 +3395,13 @@ Run ${string} to upgrade to version ${string}`;
3231
3395
  readonly configFileUpdated: (accountName: string, authType: string) => string;
3232
3396
  };
3233
3397
  readonly failure: {
3234
- readonly invalidUser: (accountName: string, parentAccountName: string) => string;
3235
- readonly limit: (accountName: string, limit: string) => string;
3236
- readonly alreadyInConfig: (accountName: string, limit: string) => string;
3398
+ readonly limit: (accountId: number, limit: number, link: string) => string;
3399
+ readonly alreadyInConfig: (accountId: number, limit: number) => string;
3400
+ readonly generic: "An error occurred while creating a developer sandbox";
3237
3401
  readonly scopes: {
3238
3402
  readonly message: "The personal access key you provided doesn't include developer sandbox permissions.";
3239
- readonly instructions: (accountName: string | number, url: string) => string;
3403
+ readonly instructions: (account: string | number, url: string) => string;
3240
3404
  };
3241
- readonly generic: "An error occurred while creating a developer sandbox";
3242
3405
  };
3243
3406
  };
3244
3407
  readonly standard: {
@@ -3251,27 +3414,51 @@ Run ${string} to upgrade to version ${string}`;
3251
3414
  readonly configFileUpdated: (accountName: string, authType: string) => string;
3252
3415
  };
3253
3416
  readonly failure: {
3254
- readonly invalidUser: (accountName: string, parentAccountName: string) => string;
3255
- readonly limit: (accountName: string, limit: string) => string;
3256
- readonly alreadyInConfig: (accountName: string, limit: string) => string;
3417
+ readonly limit: (accountId: number, limit: number, link: string) => string;
3418
+ readonly alreadyInConfig: (accountId: number, limit: number) => string;
3257
3419
  readonly scopes: {
3258
3420
  readonly message: "The personal access key you provided doesn't include standard sandbox permissions.";
3259
- readonly instructions: (accountName: string, url: string) => string;
3421
+ readonly instructions: (account: string | number, url: string) => string;
3260
3422
  };
3261
3423
  };
3262
3424
  };
3425
+ readonly failure: {
3426
+ readonly usageLimitsFetch: "Unable to fetch sandbox usage limits. Please try again.";
3427
+ readonly scopes: {
3428
+ readonly message: "The personal access key you provided doesn't include sandbox permissions.";
3429
+ readonly instructions: (account: string | number, url: string) => string;
3430
+ };
3431
+ readonly invalidUser: (accountName: string, parentAccountId: number) => string;
3432
+ readonly '403Gating': (accountName: string, parentAccountId: number) => string;
3433
+ };
3263
3434
  };
3264
3435
  readonly sync: {
3436
+ readonly info: {
3437
+ readonly syncMessage: (url: string) => string;
3438
+ readonly syncMessageDevSb: (url: string) => string;
3439
+ };
3440
+ readonly confirm: {
3441
+ readonly syncContactRecords: {
3442
+ readonly standard: "Do you want to sync contact records from your production account?";
3443
+ };
3444
+ };
3265
3445
  readonly loading: {
3266
3446
  readonly add: (accountName: string) => string;
3267
- readonly fail: (accountName: string) => string;
3268
- readonly succeed: (accountName: string) => string;
3447
+ readonly fail: (accountId: number) => string;
3448
+ readonly succeed: (accountId: number) => string;
3449
+ readonly startSync: "Initiating sync...";
3450
+ readonly succeedDevSb: (accountId: number) => string;
3451
+ readonly successDevSbInfo: (accountId: number, url: string) => string;
3269
3452
  };
3270
3453
  readonly success: {
3271
3454
  readonly configFileUpdated: (accountName: string, authType: string) => string;
3272
3455
  };
3273
3456
  readonly failure: {
3457
+ readonly syncTypeFetch: "Unable to fetch available sandbox sync types. Please try again.";
3274
3458
  readonly invalidUser: (accountName: string, parentAccountName: string) => string;
3459
+ readonly syncInProgress: (url: string) => string;
3460
+ readonly notSuperAdmin: (accountId: number) => string;
3461
+ readonly objectNotFound: (accountId: number) => string;
3275
3462
  readonly scopes: {
3276
3463
  readonly message: "The personal access key you provided doesn't include sandbox sync permissions.";
3277
3464
  readonly instructions: (accountName: string, url: string) => string;
@@ -3285,6 +3472,8 @@ Run ${string} to upgrade to version ${string}`;
3285
3472
  readonly errorContext: (context: string) => string;
3286
3473
  readonly errorCause: (cause: string) => string;
3287
3474
  readonly unknownErrorOccurred: "An unknown error has occurred.";
3475
+ readonly configTimeoutErrorOccurred: (timeout: number, configSetCommand: string) => string;
3476
+ readonly genericTimeoutErrorOccurred: "This error occurred because an HTTP request timed out. Re-running the command may resolve this issue.";
3288
3477
  };
3289
3478
  readonly suppressErrors: {
3290
3479
  readonly platformVersionErrors: {
@@ -3340,7 +3529,6 @@ Run ${string} to upgrade to version ${string}`;
3340
3529
  readonly latest: (hsVersion: string) => string;
3341
3530
  readonly unableToDetermine: "Unable to determine if HubSpot CLI is up to date.";
3342
3531
  readonly unableToDetermineSecondary: (command: string, link: string) => string;
3343
- readonly unableToDetermineSecondaryLink: "npm HubSpot CLI version history";
3344
3532
  };
3345
3533
  readonly projectDependenciesChecks: {
3346
3534
  readonly missingDependencies: (dir: string) => string;
@@ -3353,9 +3541,9 @@ Run ${string} to upgrade to version ${string}`;
3353
3541
  readonly validJson: "JSON files valid";
3354
3542
  };
3355
3543
  readonly port: {
3356
- readonly inUse: (port: string) => string;
3544
+ readonly inUse: (port: number) => string;
3357
3545
  readonly inUseSecondary: (command: string) => string;
3358
- readonly available: (port: string) => string;
3546
+ readonly available: (port: number) => string;
3359
3547
  };
3360
3548
  readonly diagnosis: {
3361
3549
  readonly cli: {
@@ -3367,27 +3555,58 @@ Run ${string} to upgrade to version ${string}`;
3367
3555
  readonly defaultAccountSubHeader: (accountDetails: string) => string;
3368
3556
  readonly noConfigFile: "CLI configuration not found";
3369
3557
  readonly noConfigFileSecondary: (command: string) => string;
3558
+ readonly settings: {
3559
+ readonly httpUseLocalhost: `The setting ${string} is enabled`;
3560
+ readonly httpUseLocalhostSecondary: "This setting causes all CLI requests to route to localhost";
3561
+ };
3370
3562
  };
3371
3563
  readonly projectConfig: {
3372
3564
  readonly header: "Project configuration";
3373
3565
  readonly projectDirSubHeader: (projectDir: string) => string;
3374
3566
  readonly projectNameSubHeader: (projectName: string) => string;
3375
3567
  };
3568
+ readonly defaultAccountOverrideFile: {
3569
+ readonly header: "Default account override file path:";
3570
+ };
3376
3571
  readonly counts: {
3377
- readonly errors: (count: string) => string;
3378
- readonly warnings: (count: string) => string;
3572
+ readonly errors: (count: number) => string;
3573
+ readonly warnings: (count: number) => string;
3379
3574
  };
3380
3575
  };
3576
+ readonly defaultAccountOverrideFileChecks: {
3577
+ readonly overrideActive: (defaultAccountOverrideFile: string) => string;
3578
+ readonly overrideAccountId: (overrideAccountId: number | string) => string;
3579
+ };
3381
3580
  };
3382
3581
  readonly oauth: {
3383
3582
  readonly missingClientId: "Error building oauth URL: missing client ID.";
3384
3583
  };
3584
+ readonly validation: {
3585
+ readonly accountNotFoundInConfig: (userProvidedAccount: string) => string;
3586
+ readonly accountRequired: "An account needs to be supplied either via \"--account\" or through setting a \"defaultPortal\"";
3587
+ readonly userProvidedAccount: "Cannot specify an account when environment variables are supplied. Please unset the environment variables or do not use the \"--account\" flag.";
3588
+ readonly accountNotConfigured: (accountId: number) => string;
3589
+ readonly invalidAuthType: (authType: string, accountId: number, configPath: string, validValues: string) => string;
3590
+ readonly oauth2ConfigMissing: (accountId: number) => string;
3591
+ readonly oauth2ConfigIncorrect: (accountId: number) => string;
3592
+ readonly oauth2AccessTokenNotFound: (accountId: number) => string;
3593
+ readonly personalAccessKeyMissing: (accountId: number) => string;
3594
+ readonly personalAccessKeyTokenRetrievalFailed: (accountId: number) => string;
3595
+ readonly authConfigurationMissing: (accountId: number) => string;
3596
+ readonly availableCMSModes: (modes: string) => string;
3597
+ readonly invalidCmsPublishMode: (cmsPublishMode: string, modesMessage: string) => string;
3598
+ readonly missingCmsPublishMode: (modesMessage: string) => string;
3599
+ readonly pathNotFile: (path: string) => string;
3600
+ readonly fileNotJson: (path: string) => string;
3601
+ readonly fileInvalidJson: (path: string) => string;
3602
+ };
3385
3603
  readonly migrate: {
3386
3604
  readonly componentsToBeMigrated: (components: string) => string;
3387
3605
  readonly componentsThatWillNotBeMigrated: (components: string) => string;
3388
3606
  readonly sourceContentsMoved: (newLocation: string) => string;
3389
3607
  readonly projectMigrationWarningTitle: "Important: Migrating to platformVersion 2025.2 is irreversible";
3390
3608
  readonly projectMigrationWarning: string;
3609
+ readonly exitWithoutMigrating: "Exiting without migrating";
3391
3610
  readonly success: {
3392
3611
  readonly downloadedProject: (projectName: string, projectDest: string) => string;
3393
3612
  readonly themesMigrationSuccess: (platformVersion: string) => string;