@hubspot/cli 7.8.0-experimental.0 → 7.8.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 (357) hide show
  1. package/bin/cli.js +31 -27
  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 +2 -3
  7. package/commands/account/auth.js +1 -0
  8. package/commands/account/clean.js +18 -27
  9. package/commands/account/createOverride.js +13 -31
  10. package/commands/account/info.js +20 -31
  11. package/commands/account/list.js +16 -22
  12. package/commands/account/remove.js +12 -20
  13. package/commands/account/removeOverride.js +11 -21
  14. package/commands/account/rename.js +6 -9
  15. package/commands/account/use.js +12 -26
  16. package/commands/account.js +2 -2
  17. package/commands/app/__tests__/migrate.test.js +5 -6
  18. package/commands/app/migrate.js +13 -19
  19. package/commands/app/secret/add.js +2 -1
  20. package/commands/app/secret/delete.js +2 -1
  21. package/commands/app/secret/list.js +2 -1
  22. package/commands/app/secret/update.js +2 -1
  23. package/commands/app/secret.js +2 -1
  24. package/commands/app.js +2 -2
  25. package/commands/auth.d.ts +1 -0
  26. package/commands/auth.js +17 -7
  27. package/commands/cms/convertFields.js +7 -9
  28. package/commands/cms/getReactModule.js +9 -14
  29. package/commands/cms/lighthouseScore.js +33 -36
  30. package/commands/cms.js +2 -2
  31. package/commands/completion.js +3 -3
  32. package/commands/config/set.d.ts +1 -1
  33. package/commands/config/set.js +64 -37
  34. package/commands/config.js +2 -2
  35. package/commands/create.js +2 -2
  36. package/commands/customObject/create.js +10 -12
  37. package/commands/customObject/schema/create.js +9 -11
  38. package/commands/customObject/schema/delete.js +16 -16
  39. package/commands/customObject/schema/fetch-all.js +12 -11
  40. package/commands/customObject/schema/fetch.js +15 -15
  41. package/commands/customObject/schema/list.js +4 -4
  42. package/commands/customObject/schema/update.js +13 -13
  43. package/commands/customObject/schema.js +2 -2
  44. package/commands/customObject.js +6 -7
  45. package/commands/doctor.js +8 -11
  46. package/commands/feedback.js +8 -13
  47. package/commands/fetch.js +8 -8
  48. package/commands/filemanager/fetch.js +7 -7
  49. package/commands/filemanager/upload.js +15 -34
  50. package/commands/filemanager.js +2 -2
  51. package/commands/function/deploy.js +11 -29
  52. package/commands/function/list.js +8 -8
  53. package/commands/function/server.js +9 -11
  54. package/commands/function.d.ts +1 -1
  55. package/commands/function.js +2 -2
  56. package/commands/getStarted.d.ts +1 -3
  57. package/commands/getStarted.js +68 -20
  58. package/commands/hubdb/clear.js +7 -15
  59. package/commands/hubdb/create.js +9 -15
  60. package/commands/hubdb/delete.js +8 -15
  61. package/commands/hubdb/fetch.js +6 -9
  62. package/commands/hubdb.d.ts +1 -1
  63. package/commands/hubdb.js +2 -2
  64. package/commands/init.js +2 -3
  65. package/commands/lint.js +16 -16
  66. package/commands/list.js +8 -14
  67. package/commands/logs.js +14 -20
  68. package/commands/mcp/__tests__/setup.test.js +2 -2
  69. package/commands/mcp/setup.js +11 -2
  70. package/commands/mcp.js +3 -3
  71. package/commands/mv.js +6 -17
  72. package/commands/open.js +5 -5
  73. package/commands/project/__tests__/add.test.js +15 -13
  74. package/commands/project/__tests__/create.test.js +6 -6
  75. package/commands/project/__tests__/deploy.test.js +3 -7
  76. package/commands/project/__tests__/devUnifiedFlow.test.js +2 -4
  77. package/commands/project/__tests__/installDeps.test.js +8 -8
  78. package/commands/project/__tests__/list.test.js +31 -0
  79. package/commands/project/__tests__/logs.test.js +1 -4
  80. package/commands/project/__tests__/migrate.test.js +7 -7
  81. package/commands/project/__tests__/migrateApp.test.js +3 -7
  82. package/commands/project/__tests__/profile.test.js +1 -1
  83. package/commands/project/__tests__/validate.test.js +98 -0
  84. package/commands/project/add.d.ts +2 -2
  85. package/commands/project/add.js +7 -10
  86. package/commands/project/cloneApp.js +14 -19
  87. package/commands/project/create.js +4 -11
  88. package/commands/project/deploy.js +5 -5
  89. package/commands/project/dev/deprecatedFlow.js +9 -18
  90. package/commands/project/dev/index.js +21 -18
  91. package/commands/project/dev/unifiedFlow.js +15 -8
  92. package/commands/project/download.js +15 -16
  93. package/commands/project/installDeps.d.ts +2 -2
  94. package/commands/project/installDeps.js +9 -9
  95. package/commands/project/list.d.ts +4 -0
  96. package/commands/project/list.js +62 -0
  97. package/commands/project/listBuilds.js +12 -21
  98. package/commands/project/logs.js +21 -24
  99. package/commands/project/migrate.js +33 -12
  100. package/commands/project/migrateApp.js +10 -17
  101. package/commands/project/open.js +6 -14
  102. package/commands/project/profile/add.js +3 -3
  103. package/commands/project/profile/delete.js +1 -2
  104. package/commands/project/profile.js +2 -3
  105. package/commands/project/upload.js +16 -25
  106. package/commands/project/validate.js +7 -7
  107. package/commands/project/watch.js +13 -22
  108. package/commands/project.js +4 -3
  109. package/commands/sandbox/__tests__/create.test.js +5 -5
  110. package/commands/sandbox/create.js +22 -32
  111. package/commands/sandbox/delete.js +39 -64
  112. package/commands/sandbox.js +2 -2
  113. package/commands/secret/addSecret.js +7 -17
  114. package/commands/secret/deleteSecret.js +10 -20
  115. package/commands/secret/listSecret.js +8 -10
  116. package/commands/secret/updateSecret.js +9 -17
  117. package/commands/secret.js +2 -2
  118. package/commands/testAccount/__tests__/delete.test.js +2 -4
  119. package/commands/testAccount/create.js +2 -2
  120. package/commands/testAccount/delete.d.ts +4 -3
  121. package/commands/testAccount/delete.js +155 -14
  122. package/commands/testAccount/importData.d.ts +1 -1
  123. package/commands/testAccount/importData.js +1 -1
  124. package/commands/testAccount.js +1 -1
  125. package/commands/theme/preview.js +1 -4
  126. package/lang/en.d.ts +365 -111
  127. package/lang/en.js +409 -158
  128. package/lang/en.lyaml +4 -4
  129. package/lib/__tests__/buildAccount.test.js +4 -3
  130. package/lib/__tests__/commonOpts.test.js +1 -1
  131. package/lib/__tests__/dependencyManagement.test.js +1 -1
  132. package/lib/__tests__/developerTestAccounts.test.js +3 -3
  133. package/lib/__tests__/hasFeature.test.js +145 -7
  134. package/lib/__tests__/npm.test.js +1 -1
  135. package/lib/__tests__/oauth.test.js +4 -4
  136. package/lib/__tests__/process.test.js +10 -5
  137. package/lib/__tests__/sandboxSync.test.js +8 -8
  138. package/lib/__tests__/sandboxes.test.js +8 -8
  139. package/lib/__tests__/serverlessLogs.test.js +1 -1
  140. package/lib/__tests__/usageTracking.test.js +5 -5
  141. package/lib/__tests__/validation.test.js +2 -1
  142. package/lib/__tests__/yargsUtils.test.js +83 -9
  143. package/lib/app/__tests__/migrate.test.js +19 -56
  144. package/lib/app/__tests__/migrate_legacy.test.js +1 -1
  145. package/lib/app/migrate.d.ts +2 -8
  146. package/lib/app/migrate.js +6 -81
  147. package/lib/app/migrate_legacy.js +20 -24
  148. package/lib/buildAccount.d.ts +2 -2
  149. package/lib/buildAccount.js +32 -64
  150. package/lib/commonOpts.d.ts +1 -1
  151. package/lib/commonOpts.js +25 -22
  152. package/lib/configMigrate.js +88 -9
  153. package/lib/configOptions.js +7 -0
  154. package/lib/constants.d.ts +22 -1
  155. package/lib/constants.js +26 -1
  156. package/lib/dependencyManagement.d.ts +0 -5
  157. package/lib/dependencyManagement.js +9 -36
  158. package/lib/developerTestAccounts.js +9 -23
  159. package/lib/doctor/Diagnosis.js +11 -23
  160. package/lib/doctor/DiagnosticInfoBuilder.js +12 -11
  161. package/lib/doctor/Doctor.js +42 -90
  162. package/lib/doctor/__tests__/Doctor.test.js +4 -4
  163. package/lib/errorHandlers/index.js +12 -20
  164. package/lib/errorHandlers/suppressError.js +11 -18
  165. package/lib/hasFeature.js +6 -0
  166. package/lib/lang.js +6 -5
  167. package/lib/links.d.ts +1 -0
  168. package/lib/links.js +14 -7
  169. package/lib/mcp/setup.js +1 -1
  170. package/lib/middleware/__test__/commandTargetingUtils.test.js +99 -0
  171. package/lib/middleware/__test__/configMiddleware.test.js +11 -11
  172. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +6 -8
  173. package/lib/middleware/commandTargetingUtils.d.ts +8 -0
  174. package/lib/middleware/commandTargetingUtils.js +74 -0
  175. package/lib/middleware/configMiddleware.d.ts +1 -1
  176. package/lib/middleware/configMiddleware.js +21 -81
  177. package/lib/middleware/fireAlarmMiddleware.js +15 -5
  178. package/lib/middleware/gitMiddleware.js +5 -1
  179. package/lib/middleware/notificationsMiddleware.js +5 -11
  180. package/lib/middleware/yargsChecksMiddleware.js +6 -9
  181. package/lib/npm.js +2 -2
  182. package/lib/oauth.js +5 -5
  183. package/lib/process.js +5 -4
  184. package/lib/projects/__tests__/AppDevModeInterface.test.js +87 -90
  185. package/lib/projects/__tests__/LocalDevProcess.test.js +231 -19
  186. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +89 -63
  187. package/lib/projects/__tests__/deploy.test.js +73 -8
  188. package/lib/projects/__tests__/localDevProjectHelpers.test.js +6 -2
  189. package/lib/projects/__tests__/platformVersion.test.js +8 -8
  190. package/lib/projects/__tests__/projects.test.js +12 -12
  191. package/lib/projects/__tests__/structure.test.js +3 -3
  192. package/lib/projects/__tests__/upload.test.d.ts +1 -0
  193. package/lib/projects/__tests__/upload.test.js +82 -0
  194. package/lib/projects/add/__tests__/legacyAddComponent.test.js +6 -6
  195. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +1 -0
  196. package/lib/projects/add/__tests__/{v3AddComponent.test.js → v2AddComponent.test.js} +39 -39
  197. package/lib/projects/add/{v3AddComponent.d.ts → v2AddComponent.d.ts} +1 -1
  198. package/lib/projects/add/{v3AddComponent.js → v2AddComponent.js} +5 -5
  199. package/lib/projects/create/__tests__/legacy.test.js +5 -5
  200. package/lib/projects/create/__tests__/v2.test.d.ts +1 -0
  201. package/lib/projects/create/__tests__/{v3.test.js → v2.test.js} +82 -7
  202. package/lib/projects/create/index.js +4 -4
  203. package/lib/projects/create/legacy.js +2 -2
  204. package/lib/projects/create/{v3.d.ts → v2.d.ts} +3 -3
  205. package/lib/projects/create/{v3.js → v2.js} +16 -13
  206. package/lib/projects/deploy.d.ts +1 -1
  207. package/lib/projects/deploy.js +2 -2
  208. package/lib/projects/localDev/AppDevModeInterface.d.ts +10 -1
  209. package/lib/projects/localDev/AppDevModeInterface.js +118 -89
  210. package/lib/projects/localDev/DevServerManager.d.ts +11 -29
  211. package/lib/projects/localDev/DevServerManager.js +19 -61
  212. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +40 -0
  213. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +120 -0
  214. package/lib/projects/localDev/LocalDevLogger.d.ts +4 -0
  215. package/lib/projects/localDev/LocalDevLogger.js +27 -6
  216. package/lib/projects/localDev/{LocalDevManager.js → LocalDevManager_DEPRECATED.js} +10 -11
  217. package/lib/projects/localDev/LocalDevProcess.d.ts +7 -5
  218. package/lib/projects/localDev/LocalDevProcess.js +93 -21
  219. package/lib/projects/localDev/LocalDevState.d.ts +12 -8
  220. package/lib/projects/localDev/LocalDevState.js +27 -17
  221. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +6 -1
  222. package/lib/projects/localDev/LocalDevWebsocketServer.js +94 -33
  223. package/lib/projects/localDev/helpers/account.d.ts +1 -1
  224. package/lib/projects/localDev/helpers/account.js +2 -2
  225. package/lib/projects/localDev/helpers/project.d.ts +3 -2
  226. package/lib/projects/localDev/helpers/project.js +49 -10
  227. package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +7 -0
  228. package/lib/projects/localDev/localDevWebsocketServerUtils.js +19 -0
  229. package/lib/projects/platformVersion.d.ts +1 -1
  230. package/lib/projects/platformVersion.js +1 -1
  231. package/lib/projects/pollProjectBuildAndDeploy.js +4 -4
  232. package/lib/projects/structure.js +6 -6
  233. package/lib/projects/upload.d.ts +1 -1
  234. package/lib/projects/upload.js +17 -8
  235. package/lib/projects/urls.d.ts +0 -1
  236. package/lib/projects/urls.js +0 -3
  237. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +1 -0
  238. package/lib/prompts/__tests__/projectAddPrompt.test.js +10 -10
  239. package/lib/prompts/accountNamePrompt.js +14 -19
  240. package/lib/prompts/accountsPrompt.js +2 -2
  241. package/lib/prompts/cmsFieldPrompt.js +2 -2
  242. package/lib/prompts/createApiSamplePrompt.js +5 -5
  243. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +10 -1
  244. package/lib/prompts/createFunctionPrompt.js +14 -14
  245. package/lib/prompts/createModulePrompt.js +9 -9
  246. package/lib/prompts/createTemplatePrompt.js +2 -2
  247. package/lib/prompts/downloadProjectPrompt.js +5 -8
  248. package/lib/prompts/installAppPrompt.d.ts +1 -6
  249. package/lib/prompts/installAppPrompt.js +1 -6
  250. package/lib/prompts/personalAccessKeyPrompt.js +3 -3
  251. package/lib/prompts/previewPrompt.js +6 -6
  252. package/lib/prompts/projectAddPrompt.d.ts +2 -2
  253. package/lib/prompts/projectAddPrompt.js +9 -2
  254. package/lib/prompts/projectDevTargetAccountPrompt.js +20 -32
  255. package/lib/prompts/projectNamePrompt.js +4 -8
  256. package/lib/prompts/projectsLogsPrompt.js +2 -4
  257. package/lib/prompts/promptUtils.js +30 -9
  258. package/lib/prompts/sandboxesPrompt.js +7 -7
  259. package/lib/prompts/secretPrompt.js +3 -3
  260. package/lib/prompts/selectAppPrompt.js +3 -3
  261. package/lib/prompts/selectHubDBTablePrompt.js +9 -13
  262. package/lib/prompts/selectProjectTemplatePrompt.js +2 -0
  263. package/lib/prompts/selectPublicAppForMigrationPrompt.js +15 -19
  264. package/lib/prompts/setAsDefaultAccountPrompt.js +4 -8
  265. package/lib/prompts/uploadPrompt.js +5 -5
  266. package/lib/sandboxSync.js +24 -41
  267. package/lib/sandboxes.js +19 -47
  268. package/lib/schema.js +3 -3
  269. package/lib/serverlessLogs.js +11 -13
  270. package/lib/theme/__tests__/migrate.test.d.ts +1 -0
  271. package/lib/theme/__tests__/migrate.test.js +233 -0
  272. package/lib/theme/migrate.d.ts +13 -0
  273. package/lib/theme/migrate.js +90 -0
  274. package/lib/ui/SpinniesManager.d.ts +2 -0
  275. package/lib/ui/SpinniesManager.js +112 -8
  276. package/lib/ui/boxen.js +1 -2
  277. package/lib/ui/git.js +13 -10
  278. package/lib/ui/index.d.ts +4 -0
  279. package/lib/ui/index.js +47 -38
  280. package/lib/ui/serverlessFunctionLogs.js +9 -7
  281. package/lib/ui/uiMessages.d.ts +72 -0
  282. package/lib/ui/uiMessages.js +75 -0
  283. package/lib/usageTracking.js +8 -8
  284. package/lib/validation.js +20 -23
  285. package/lib/yargsUtils.d.ts +1 -1
  286. package/lib/yargsUtils.js +12 -5
  287. package/mcp-server/tools/cms/HsCreateFunctionTool.js +1 -1
  288. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +2 -2
  289. package/mcp-server/tools/cms/HsCreateModuleTool.js +1 -1
  290. package/mcp-server/tools/cms/HsCreateTemplateTool.js +1 -1
  291. package/mcp-server/tools/cms/HsFunctionLogsTool.js +2 -2
  292. package/mcp-server/tools/cms/HsListFunctionsTool.js +1 -1
  293. package/mcp-server/tools/cms/HsListTool.js +1 -1
  294. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +1 -1
  295. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +1 -1
  296. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +1 -1
  297. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +2 -2
  298. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +1 -1
  299. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +1 -1
  300. package/mcp-server/tools/index.js +4 -0
  301. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +3 -3
  302. package/mcp-server/tools/project/AddFeatureToProjectTool.js +3 -3
  303. package/mcp-server/tools/project/CreateProjectTool.d.ts +3 -3
  304. package/mcp-server/tools/project/CreateProjectTool.js +5 -5
  305. package/mcp-server/tools/project/DeployProjectTool.js +1 -1
  306. package/mcp-server/tools/project/DocFetchTool.js +2 -2
  307. package/mcp-server/tools/project/DocsSearchTool.d.ts +4 -1
  308. package/mcp-server/tools/project/DocsSearchTool.js +7 -7
  309. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +23 -0
  310. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +68 -0
  311. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +11 -0
  312. package/mcp-server/tools/project/GetApplicationInfoTool.js +49 -0
  313. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -1
  314. package/mcp-server/tools/project/GetConfigValuesTool.js +13 -7
  315. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +2 -2
  316. package/mcp-server/tools/project/GuidedWalkthroughTool.js +1 -1
  317. package/mcp-server/tools/project/UploadProjectTools.js +2 -2
  318. package/mcp-server/tools/project/ValidateProjectTool.js +1 -1
  319. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +1 -1
  320. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +2 -2
  321. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +1 -1
  322. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +2 -2
  323. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +14 -12
  324. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +1 -0
  325. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +169 -0
  326. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +1 -0
  327. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +115 -0
  328. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +9 -8
  329. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +1 -1
  330. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +1 -1
  331. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +1 -1
  332. package/mcp-server/tools/project/constants.d.ts +1 -1
  333. package/mcp-server/tools/project/constants.js +9 -3
  334. package/mcp-server/utils/__tests__/cliConfig.test.d.ts +1 -0
  335. package/mcp-server/utils/__tests__/cliConfig.test.js +110 -0
  336. package/mcp-server/utils/cliConfig.d.ts +1 -0
  337. package/mcp-server/utils/cliConfig.js +12 -0
  338. package/mcp-server/utils/toolUsageTracking.js +2 -2
  339. package/package.json +8 -12
  340. package/types/LocalDev.d.ts +19 -3
  341. package/ui/components/HorizontalSelectPrompt.js +1 -1
  342. package/ui/index.js +1 -1
  343. package/commands/getStartedV2.d.ts +0 -9
  344. package/commands/getStartedV2.js +0 -39
  345. package/lib/middleware/__test__/utils.test.js +0 -51
  346. package/lib/middleware/utils.d.ts +0 -8
  347. package/lib/middleware/utils.js +0 -14
  348. package/lib/projects/localDev/DevServerManagerV2.d.ts +0 -22
  349. package/lib/projects/localDev/DevServerManagerV2.js +0 -81
  350. package/ui/components/Ascii.d.ts +0 -10
  351. package/ui/components/Ascii.js +0 -11
  352. package/ui/views/GetStarted.d.ts +0 -7
  353. package/ui/views/GetStarted.js +0 -157
  354. /package/{lib/middleware/__test__/utils.test.d.ts → commands/project/__tests__/list.test.d.ts} +0 -0
  355. /package/{lib/projects/add/__tests__/v3AddComponent.test.d.ts → commands/project/__tests__/validate.test.d.ts} +0 -0
  356. /package/lib/{projects/create/__tests__/v3.test.d.ts → middleware/__test__/commandTargetingUtils.test.d.ts} +0 -0
  357. /package/lib/projects/localDev/{LocalDevManager.d.ts → LocalDevManager_DEPRECATED.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: {
@@ -797,7 +864,7 @@ Global configuration replaces hubspot.config.yml, and you will be prompted to mi
797
864
  readonly configFileUpdated: (authType: string, account: string | number) => string;
798
865
  };
799
866
  readonly logs: {
800
- readonly updateConfig: "To update an existing config file, use the \"hs auth\" command.";
867
+ readonly updateConfig: `To update an existing config file, use the ${string} command.`;
801
868
  };
802
869
  readonly errors: {
803
870
  readonly invalidAccountIdProvided: "--account must be a number.";
@@ -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,10 +1078,10 @@ 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
- readonly learnMoreMessageV3: `Learn more about ${string} | ${string}`;
1084
+ readonly learnMoreMessageV2: `Learn more about ${string} | ${string}`;
1015
1085
  readonly learnMoreMessageLegacy: string;
1016
1086
  readonly profileProjectAccountExplanation: (accountId: number, profileName: string) => string;
1017
1087
  readonly defaultProjectAccountExplanation: (accountId: number) => string;
@@ -1023,21 +1093,22 @@ 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: `
1030
1100
  Local development of unified apps is currently only compatible with accounts that are opted into the unified apps beta. Make sure that this account is opted in or switch accounts using ${string}.`;
1031
1101
  readonly unsupportedAccountFlagLegacy: "The --project-account and --testing-account flags are not supported for projects with platform versions earlier than 2025.2.";
1032
- readonly unsupportedAccountFlagV3: "The --account flag is is not supported supported for projects with platform versions 2025.2 and newer. Use --testing-account and --project-account flags to specify accounts to use for local dev";
1102
+ readonly unsupportedAccountFlagV2: "The --account flag is is not supported supported for projects with platform versions 2025.2 and newer. Use --testing-account and --project-account flags to specify accounts to use for local dev";
1033
1103
  };
1034
1104
  readonly examples: {
1035
1105
  readonly default: "Start local dev for the current project";
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 v2ApiError: (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";
@@ -1442,6 +1529,17 @@ ${string}`;
1442
1529
  };
1443
1530
  };
1444
1531
  };
1532
+ readonly list: {
1533
+ readonly describe: "List uploaded projects that exist in the current target account";
1534
+ readonly projects: `${string}:`;
1535
+ readonly labels: {
1536
+ readonly name: "Name";
1537
+ readonly platformVersion: "Platform Version";
1538
+ };
1539
+ readonly errors: {
1540
+ readonly noProjectsFound: (accountId: number) => string;
1541
+ };
1542
+ };
1445
1543
  };
1446
1544
  readonly remove: {
1447
1545
  readonly describe: "Delete a file or folder from the HubSpot CMS.";
@@ -1457,6 +1555,30 @@ ${string}`;
1457
1555
  readonly describe: "Commands for managing sandboxes.";
1458
1556
  readonly subcommands: {
1459
1557
  readonly create: {
1558
+ readonly describe: "Create a sandbox account.";
1559
+ readonly failure: {
1560
+ readonly noAccountConfig: (accountId: number) => string;
1561
+ readonly invalidAccountType: (accountType: string, accountName: string) => string;
1562
+ readonly noSandboxAccountConfig: (accountId: number) => string;
1563
+ readonly optionMissing: {
1564
+ readonly type: "Type is required when using --force. Use --type=developer or --type=standard.";
1565
+ readonly name: "Name is required when using --force. Use --name=YourSandboxName.";
1566
+ };
1567
+ };
1568
+ readonly options: {
1569
+ readonly force: {
1570
+ readonly describe: "Skips all prompts and uses provided options.";
1571
+ };
1572
+ readonly name: {
1573
+ readonly describe: "Name of the sandbox account to create";
1574
+ };
1575
+ readonly type: {
1576
+ readonly describe: "Type of sandbox to create (developer or standard)";
1577
+ };
1578
+ };
1579
+ readonly examples: {
1580
+ readonly default: "Creates a standard sandbox named MySandboxAccount.";
1581
+ };
1460
1582
  readonly developer: {
1461
1583
  readonly loading: {
1462
1584
  readonly add: (accountName: string) => string;
@@ -1499,28 +1621,28 @@ ${string}`;
1499
1621
  readonly delete: {
1500
1622
  readonly describe: "Delete a sandbox account.";
1501
1623
  readonly debug: {
1502
- readonly deleting: (account: string) => string;
1624
+ readonly deleting: (account: number) => string;
1503
1625
  readonly error: "Error deleting sandbox account:";
1504
1626
  };
1505
1627
  readonly examples: {
1506
1628
  readonly default: "Deletes the sandbox account named MySandboxAccount.";
1507
1629
  };
1508
- readonly confirm: (account: string) => string;
1509
- readonly defaultAccountWarning: (account: string) => string;
1630
+ readonly confirm: (account: number) => string;
1631
+ readonly defaultAccountWarning: (account: number) => string;
1510
1632
  readonly success: {
1511
- readonly delete: (account: string, sandboxHubId: string) => string;
1512
- readonly deleteDefault: (account: string, sandboxHubId: string) => string;
1633
+ readonly delete: (account: string, sandboxHubId: number) => string;
1634
+ readonly deleteDefault: (account: string, sandboxHubId: number) => string;
1513
1635
  readonly configFileUpdated: (account: string, configFilename: string) => string;
1514
1636
  };
1515
1637
  readonly failure: {
1516
- readonly invalidUser: (accountName: string, parentAccountName: string) => string;
1638
+ readonly invalidUser: (account: number, parentAccount: number) => string;
1517
1639
  readonly noAccount: "No account specified. Specify an account by using the --account flag.";
1518
- readonly noSandboxAccounts: (authCommand: string) => string;
1640
+ readonly noSandboxAccounts: `There are no sandboxes connected to the CLI. To add a sandbox, run ${string}.`;
1519
1641
  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;
1642
+ 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.`;
1643
+ readonly objectNotFound: (account: number) => string;
1522
1644
  readonly noParentPortalAvailable: (command: string, url: string) => string;
1523
- readonly invalidKey: (account: string, authCommand: string) => string;
1645
+ readonly invalidKey: (account: number | null | undefined) => string;
1524
1646
  };
1525
1647
  readonly options: {
1526
1648
  readonly force: {
@@ -1548,6 +1670,12 @@ ${string}`;
1548
1670
  readonly instructions: (accountName: string, url: string) => string;
1549
1671
  };
1550
1672
  };
1673
+ readonly confirm: {
1674
+ readonly syncContactRecords: {
1675
+ 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.";
1676
+ 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.";
1677
+ };
1678
+ };
1551
1679
  };
1552
1680
  };
1553
1681
  readonly app: {
@@ -1625,7 +1753,7 @@ ${string}`;
1625
1753
  readonly describe: "Create a new secret.";
1626
1754
  readonly errors: {
1627
1755
  readonly add: (secretName: string) => string;
1628
- readonly alreadyExists: (secretName: string, command: string) => string;
1756
+ readonly alreadyExists: (secretName: string) => string;
1629
1757
  };
1630
1758
  readonly positionals: {
1631
1759
  readonly name: {
@@ -1633,7 +1761,7 @@ ${string}`;
1633
1761
  };
1634
1762
  };
1635
1763
  readonly success: {
1636
- readonly add: (secretName: string, accountIdentifier: string) => string;
1764
+ readonly add: (secretName: string, accountId: number) => string;
1637
1765
  };
1638
1766
  };
1639
1767
  readonly delete: {
@@ -1651,7 +1779,7 @@ ${string}`;
1651
1779
  };
1652
1780
  };
1653
1781
  readonly success: {
1654
- readonly delete: (secretName: string, accountIdentifier: string) => string;
1782
+ readonly delete: (secretName: string, accountId: number) => string;
1655
1783
  };
1656
1784
  };
1657
1785
  readonly list: {
@@ -1674,7 +1802,7 @@ ${string}`;
1674
1802
  };
1675
1803
  };
1676
1804
  readonly success: {
1677
- readonly update: (secretName: string, accountIdentifier: string) => string;
1805
+ readonly update: (secretName: string, accountId: number) => string;
1678
1806
  readonly updateExplanation: "Existing serverless functions will start using this new value within 10 seconds.";
1679
1807
  };
1680
1808
  };
@@ -1903,18 +2031,41 @@ ${string}`;
1903
2031
  readonly example: (name: string) => string;
1904
2032
  };
1905
2033
  readonly delete: {
1906
- readonly describe: "Delete a test account config file.";
2034
+ readonly describe: "Delete a test account from your HubSpot account and CLI config";
1907
2035
  readonly pathPrompt: "[--path] What is the path to the test account config?";
2036
+ readonly info: {
2037
+ readonly deletionCanceled: "Deletion canceled by user";
2038
+ readonly accountNotFoundWithId: (id: number) => string;
2039
+ readonly replaceDefaultAccount: (testAccountId: number, parentAccountName: string) => string;
2040
+ };
2041
+ readonly prompts: {
2042
+ readonly selectTestAccounts: "Select test account(s) to delete";
2043
+ 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?";
2044
+ };
1908
2045
  readonly errors: {
1909
- readonly failedToDelete: "Failed to delete test account";
2046
+ readonly failedToDelete: (testAccountToDelete: number) => string;
2047
+ readonly failedToSelectAccount: "Failed to select a test account to delete";
2048
+ readonly noAccountsToDelete: (accountId: number) => string;
2049
+ readonly failedToDeleteFromConfig: (testAccountToDelete: number) => string;
2050
+ readonly failedToFetchTestAccounts: "Failed to fetch developer test accounts";
2051
+ readonly testAccountNotFound: (nameOrId: string | number | null) => string;
2052
+ readonly parentAccountNotFound: (testAccountId: number) => string;
1910
2053
  };
1911
2054
  readonly success: {
1912
- readonly testAccountDeleted: (testAccountId: number) => string;
2055
+ readonly testAccountDeletedFromHubSpot: (testAccountToDelete: number) => string;
2056
+ readonly testAccountDeletedFromConfig: (accountId: number) => string;
2057
+ };
2058
+ readonly options: {
2059
+ readonly name: "The name of the test account (in your CLI config) to delete";
2060
+ readonly id: "The id of the test account";
1913
2061
  };
1914
- readonly positionals: {
1915
- readonly testAccountId: "The id of the test account";
2062
+ readonly examples: {
2063
+ readonly withPositionalID: (testAccountToDelete: number) => string;
2064
+ readonly withPositionalName: (testAccountToDelete: string) => string;
2065
+ readonly withID: (testAccountToDelete: number) => string;
2066
+ readonly withName: (testAccountToDelete: string) => string;
2067
+ readonly withoutId: "Delete a test account via a prompt";
1916
2068
  };
1917
- readonly example: (testAccountId: number) => string;
1918
2069
  };
1919
2070
  };
1920
2071
  readonly secrets: {
@@ -2561,10 +2712,14 @@ export declare const lib: {
2561
2712
  };
2562
2713
  };
2563
2714
  readonly AppDevModeInterface: {
2715
+ readonly autoInstallStaticAuthApp: {
2716
+ readonly installing: (appName: string, targetTestAccountId: number) => string;
2717
+ readonly success: (appName: string, targetTestAccountId: number) => string;
2718
+ readonly error: (appName: string, targetTestAccountId: number) => string;
2719
+ };
2564
2720
  readonly defaultMarketplaceAppWarning: (installCount: number) => string;
2565
2721
  readonly autoInstallDeclined: "You must install your app on your target test account to proceed with local development.";
2566
2722
  readonly autoInstallSuccess: (appName: string, targetTestAccountId: number) => string;
2567
- readonly autoInstallError: (appName: string, targetTestAccountId: number) => string;
2568
2723
  readonly fetchAppData: {
2569
2724
  readonly checking: (appName: string) => string;
2570
2725
  readonly success: (appName: string, accountId: number) => string;
@@ -2574,6 +2729,12 @@ export declare const lib: {
2574
2729
  };
2575
2730
  readonly distributionChanged: `Your app's distribution type has been changed from private to marketplace. Once uploaded, this change cannot be reversed. Before uploading your project, confirm that you want to ${string} change your app's distribution type. This will uninstall your app from all accounts.`;
2576
2731
  readonly authTypeChanged: `Your app's auth type has been changed from static to oauth. Once uploaded, this change cannot be reversed. Before uploading your project, confirm that you want to ${string} change your app's auth type. This will uninstall your app from all accounts.`;
2732
+ readonly installationFailed: "An error occured while installing your app. Your app must be installed in your target test account to proceed with local development.";
2733
+ readonly waitUntilAppIsInstalled: {
2734
+ readonly link: (installUrl: string) => string;
2735
+ readonly waiting: "Waiting for your app to be installed...";
2736
+ readonly success: (appName: string, accountId: number) => string;
2737
+ };
2577
2738
  };
2578
2739
  readonly LocalDevWebsocketServer: {
2579
2740
  readonly errors: {
@@ -2591,8 +2752,13 @@ export declare const lib: {
2591
2752
  readonly LocalDevProcess: {
2592
2753
  readonly projectConfigMismatch: `Unable to upload project. The project config has been modified since starting ${string}.`;
2593
2754
  readonly uploadInitiated: "Project upload initiated from Local Dev UI.";
2755
+ readonly deployInitiated: "Project deploy initiated from Local Dev UI.";
2594
2756
  readonly uploadFailed: "Project upload failed. To proceed with local development, fix any necessary errors, then re-upload your project.";
2757
+ readonly deployFailed: "Project deploy failed. To proceed with local development, fix any necessary errors, then re-deploy your project.";
2595
2758
  readonly uploadSuccess: "Project upload completed successfully. Resuming local dev...";
2759
+ readonly uploadSuccessAutoDeployDisabled: "Project upload completed successfully, but auto-deploy is disabled for this project. Deploy your latest build to proceed with local development.";
2760
+ readonly deploySuccess: "Project deploy completed successfully. Resuming local dev...";
2761
+ readonly noBuildToDeploy: "Error deploying project. No build was found to deploy.";
2596
2762
  };
2597
2763
  readonly localDevHelpers: {
2598
2764
  readonly project: {
@@ -2601,7 +2767,7 @@ export declare const lib: {
2601
2767
  readonly checking: "Checking if your deployed build is up to date...";
2602
2768
  readonly upToDate: "Deployed build is up to date.";
2603
2769
  readonly notUpToDate: "Your project contains undeployed local changes.";
2604
- readonly notUpToDateExplanation: `Run ${string} to upload these changes to HubSpot, then re-run ${string} to continue local development.`;
2770
+ readonly notUpToDateExplanation: (profile?: string) => string;
2605
2771
  };
2606
2772
  readonly createNewProjectForLocalDev: {
2607
2773
  readonly projectMustExistExplanation: (projectName: string, accountId: number) => string;
@@ -2617,6 +2783,11 @@ export declare const lib: {
2617
2783
  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
2784
  readonly genericError: `An error occurred while creating the initial build for this project. Run ${string} to try again.`;
2619
2785
  };
2786
+ readonly checkAndInstallDependencies: {
2787
+ readonly checkingDependencies: "Checking for missing or updated dependencies...";
2788
+ readonly dependenciesUpToDate: "All dependencies are up to date";
2789
+ readonly dependenciesFailure: "Failed to check or install dependencies";
2790
+ };
2620
2791
  };
2621
2792
  readonly account: {
2622
2793
  readonly checkIfDefaultAccountIsSupported: {
@@ -2633,7 +2804,7 @@ export declare const lib: {
2633
2804
  readonly notAuthedError: (parentAccountId: number | string, accountIdentifier: string) => string;
2634
2805
  };
2635
2806
  readonly selectAccountTypePrompt: {
2636
- readonly message: "[--testing-account] Choose the type of account to test on";
2807
+ readonly message: "Choose the type of account to test on";
2637
2808
  readonly developerTestAccountOption: "Test on a developer test account (recommended)";
2638
2809
  readonly sandboxAccountOption: "Test on a sandbox account";
2639
2810
  readonly sandboxAccountOptionDisabled: "Disabled - requires access to sandbox accounts";
@@ -2761,6 +2932,7 @@ Run ${string} to upgrade to version ${string}`;
2761
2932
  readonly compressed: (byteCount: number) => string;
2762
2933
  readonly compressing: (path: string) => string;
2763
2934
  readonly fileFiltered: (filename: string) => string;
2935
+ readonly legacyFileDetected: (filename: string, platformVersion: string) => string;
2764
2936
  };
2765
2937
  };
2766
2938
  readonly boxen: {
@@ -2777,13 +2949,15 @@ Run ${string} to upgrade to version ${string}`;
2777
2949
  readonly viewImportLink: (baseUrl: string, accountId: number, importId: string) => string;
2778
2950
  };
2779
2951
  readonly ui: {
2780
- readonly betaTag: string;
2952
+ readonly betaTag: "[BETA]";
2953
+ readonly betaTagWithStyle: string;
2781
2954
  readonly betaWarning: {
2782
2955
  readonly header: string;
2783
2956
  readonly footer: string;
2784
2957
  };
2785
2958
  readonly infoTag: string;
2786
- readonly deprecatedTag: string;
2959
+ readonly deprecatedTag: "[DEPRECATED]";
2960
+ readonly deprecatedTagWithStyle: string;
2787
2961
  readonly errorTag: string;
2788
2962
  readonly deprecatedMessage: (command: string, url: string) => string;
2789
2963
  readonly deprecatedDescription: (message: string, command: string, url: string) => string;
@@ -2802,7 +2976,7 @@ Run ${string} to upgrade to version ${string}`;
2802
2976
  readonly message: (command: string) => string;
2803
2977
  };
2804
2978
  readonly accountsUseCommand: {
2805
- readonly command: "hs accounts use";
2979
+ readonly command: "hs account use";
2806
2980
  readonly message: (command: string) => string;
2807
2981
  };
2808
2982
  readonly authCommand: {
@@ -2841,6 +3015,9 @@ Run ${string} to upgrade to version ${string}`;
2841
3015
  readonly command: "hs project install-deps";
2842
3016
  readonly message: (command: string) => string;
2843
3017
  };
3018
+ readonly projectCommandTip: {
3019
+ readonly message: "Tip: All project commands must be run from within a project directory";
3020
+ };
2844
3021
  readonly sampleProjects: {
2845
3022
  readonly linkText: "HubSpot's sample projects";
2846
3023
  readonly url: "https://developers.hubspot.com/docs/platform/sample-projects?utm_source=cli&utm_content=project_create_whats_next";
@@ -2864,7 +3041,7 @@ Run ${string} to upgrade to version ${string}`;
2864
3041
  };
2865
3042
  };
2866
3043
  readonly buildAccount: {
2867
- readonly createDeveloperTestAccountV3: {
3044
+ readonly createDeveloperTestAccountV2: {
2868
3045
  readonly syncFailure: "Failed to sync developer test account";
2869
3046
  readonly pakFailure: "Failed to generate personal access key for developer test account";
2870
3047
  };
@@ -2893,11 +3070,12 @@ Run ${string} to upgrade to version ${string}`;
2893
3070
  readonly setHttpTimeout: {
2894
3071
  readonly promptMessage: "Enter http timeout duration";
2895
3072
  readonly success: (timeout: string) => string;
3073
+ readonly error: (timeout: string) => string;
2896
3074
  };
2897
3075
  readonly setAutoOpenBrowser: {
2898
3076
  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";
3077
+ readonly enabled: `Successfully updated ${string} to ${string}`;
3078
+ readonly disabled: `Successfully updated ${string} to ${string}`;
2901
3079
  };
2902
3080
  };
2903
3081
  readonly commonOpts: {
@@ -2927,6 +3105,21 @@ Run ${string} to upgrade to version ${string}`;
2927
3105
  readonly mergeConflictMessage: (count: number, propertyList: string) => string;
2928
3106
  readonly mergeConfigConflictPrompt: (property: string, newValue: string, oldValue: string) => string;
2929
3107
  };
3108
+ readonly handleAccountNameConflicts: {
3109
+ readonly warnings: {
3110
+ readonly accountNameConflictMessage: (count: number) => string;
3111
+ readonly forceFlagDetected: (count: number, renameDetails: string) => string;
3112
+ };
3113
+ readonly prompts: {
3114
+ readonly renameOrOmitAccountPrompt: (accountName: string, accountId: number) => string;
3115
+ readonly newAccountNamePrompt: (accountName: string, portalId: number) => string;
3116
+ };
3117
+ readonly errors: {
3118
+ readonly nameRequired: "The name may not be blank. Please add a name for the config.";
3119
+ readonly sameName: "The new account name must be different from the current name.";
3120
+ readonly nameAlreadyInConfig: (name: string) => string;
3121
+ };
3122
+ };
2930
3123
  readonly handleMerge: {
2931
3124
  readonly description: (archivedConfigName: string) => string;
2932
3125
  readonly confirmPrompt: "Merge the deprecated config into your global config?";
@@ -2935,6 +3128,11 @@ Run ${string} to upgrade to version ${string}`;
2935
3128
  };
2936
3129
  };
2937
3130
  readonly prompts: {
3131
+ readonly promptUtils: {
3132
+ readonly errors: {
3133
+ readonly noSelectableChoices: "Exiting prompt because no selectable choices are available";
3134
+ };
3135
+ };
2938
3136
  readonly importDataFilePathPrompt: {
2939
3137
  readonly promptContext: `To view the JSON schema for data imports, visit ${string}`;
2940
3138
  readonly promptMessage: "[--file-path] Select the JSON file that will be used to import your data.";
@@ -2951,11 +3149,11 @@ Run ${string} to upgrade to version ${string}`;
2951
3149
  readonly projectDevTargetAccountPrompt: {
2952
3150
  readonly createNewSandboxOption: "<Test on a new development sandbox>";
2953
3151
  readonly createNewDeveloperTestAccountOption: "<Test on a new developer test account>";
2954
- readonly chooseDefaultAccountOption: () => string;
3152
+ readonly chooseDefaultAccountOption: `<${string} Test on this production account ${string}>`;
2955
3153
  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;
3154
+ readonly sandboxLimit: (limit: number) => string;
3155
+ readonly sandboxLimitWithSuggestion: (limit: number) => string;
3156
+ readonly developerTestAccountLimit: (limit: number) => string;
2959
3157
  readonly confirmDefaultAccount: (accountName: string, accountType: string) => string;
2960
3158
  readonly confirmUseExistingDeveloperTestAccount: (accountName: string) => string;
2961
3159
  readonly noAccountId: "No account ID found for the selected account. Please try again.";
@@ -2966,7 +3164,7 @@ Run ${string} to upgrade to version ${string}`;
2966
3164
  readonly setAsDefaultAccountPrompt: {
2967
3165
  readonly setAsDefaultAccountMessage: "Set this account as the default?";
2968
3166
  readonly setAsDefaultAccount: (accountName: string) => string;
2969
- readonly keepingCurrentDefault: (accountName: string) => string;
3167
+ readonly keepingCurrentDefault: (accountName: string | number) => string;
2970
3168
  };
2971
3169
  readonly createDeveloperTestAccountConfigPrompt: {
2972
3170
  readonly namePrompt: (withFlag?: boolean) => string;
@@ -2996,7 +3194,7 @@ Run ${string} to upgrade to version ${string}`;
2996
3194
  readonly enterStandardSandboxName: "Name your standard sandbox:";
2997
3195
  readonly enterDevelopmentSandboxName: "Name your development sandbox:";
2998
3196
  readonly sandboxDefaultName: (sandboxType: string) => string;
2999
- readonly developerTestAccountDefaultName: (count: string) => string;
3197
+ readonly developerTestAccountDefaultName: (count: number) => string;
3000
3198
  readonly errors: {
3001
3199
  readonly invalidName: "You entered an invalid name. Please try again.";
3002
3200
  readonly nameRequired: "The name may not be blank. Please try again.";
@@ -3094,8 +3292,8 @@ Run ${string} to upgrade to version ${string}`;
3094
3292
  readonly selectAppIdClone: (accountName: string) => string;
3095
3293
  readonly errors: {
3096
3294
  readonly noAccountId: "An account ID is required to select an app.";
3097
- readonly noAppsMigration: () => string;
3098
- readonly noAppsClone: () => string;
3295
+ readonly noAppsMigration: string;
3296
+ readonly noAppsClone: string;
3099
3297
  readonly noAppsMigrationMessage: (accountName: string) => string;
3100
3298
  readonly noAppsCloneMessage: (accountName: string) => string;
3101
3299
  readonly errorFetchingApps: "There was an error fetching public apps.";
@@ -3105,16 +3303,18 @@ Run ${string} to upgrade to version ${string}`;
3105
3303
  readonly downloadProjectPrompt: {
3106
3304
  readonly selectProject: "Select a project to download:";
3107
3305
  readonly errors: {
3108
- readonly projectNotFound: (projectName: string, accountId: string) => string;
3306
+ readonly projectNotFound: (projectName: string, accountId: number) => string;
3109
3307
  readonly accountIdRequired: "An account ID is required to download a project.";
3110
3308
  };
3111
3309
  };
3112
3310
  readonly projectAddPrompt: {
3113
3311
  readonly selectType: "[--type] Select an app feature to add: ";
3312
+ readonly selectFeatures: "[--features] Select an app feature to add: ";
3114
3313
  readonly enterName: "[--name] Give your component a name: ";
3115
3314
  readonly errors: {
3116
3315
  readonly nameRequired: "A component name is required";
3117
3316
  readonly componentRequired: "Must select a feature to add";
3317
+ readonly noSelectableChoices: "There are no available features that can be added to this project";
3118
3318
  readonly invalidType: (type: string) => string;
3119
3319
  readonly cannotAddFeature: (feature: string, reasons: string | boolean) => string;
3120
3320
  };
@@ -3150,7 +3350,7 @@ Run ${string} to upgrade to version ${string}`;
3150
3350
  readonly enterName: "[--project] Enter project name:";
3151
3351
  readonly errors: {
3152
3352
  readonly invalidName: "You entered an invalid name. Please try again.";
3153
- readonly projectDoesNotExist: (projectName: string, accountIdentifier: string) => string;
3353
+ readonly projectDoesNotExist: (projectName: string, accountId: number) => string;
3154
3354
  };
3155
3355
  };
3156
3356
  readonly previewPrompt: {
@@ -3165,7 +3365,6 @@ Run ${string} to upgrade to version ${string}`;
3165
3365
  readonly installAppPrompt: {
3166
3366
  readonly explanation: "Local development requires this app to be installed in the target test account.";
3167
3367
  readonly reinstallExplanation: "This app's required scopes have been updated since it was last installed on the target test account. To avoid issues with local development, we recommend reinstalling the app with the updated scopes.";
3168
- readonly staticAuthExplanation: (projectAccountId: number, testingAccountId: number, projectName: string, appUid: string) => string;
3169
3368
  readonly prompt: "Open HubSpot to install this app?";
3170
3369
  readonly autoPrompt: "Install this app in your target test account?";
3171
3370
  readonly reinstallPrompt: "Open HubSpot to reinstall this app?";
@@ -3210,8 +3409,8 @@ Run ${string} to upgrade to version ${string}`;
3210
3409
  };
3211
3410
  readonly failure: {
3212
3411
  readonly invalidUser: (accountName: string, parentAccountName: string) => string;
3213
- readonly limit: (accountName: string, limit: string) => string;
3214
- readonly alreadyInConfig: (accountName: string, limit: string) => string;
3412
+ readonly limit: (accountName: string | number, limit: number) => string;
3413
+ readonly alreadyInConfig: (accountName: string | number, limit: number) => string;
3215
3414
  readonly scopes: {
3216
3415
  readonly message: "The personal access key you provided doesn't include developer test account permissions.";
3217
3416
  readonly instructions: (accountName: string | number, url: string) => string;
@@ -3231,14 +3430,13 @@ Run ${string} to upgrade to version ${string}`;
3231
3430
  readonly configFileUpdated: (accountName: string, authType: string) => string;
3232
3431
  };
3233
3432
  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;
3433
+ readonly limit: (accountId: number, limit: number, link: string) => string;
3434
+ readonly alreadyInConfig: (accountId: number, limit: number) => string;
3435
+ readonly generic: "An error occurred while creating a developer sandbox";
3237
3436
  readonly scopes: {
3238
3437
  readonly message: "The personal access key you provided doesn't include developer sandbox permissions.";
3239
- readonly instructions: (accountName: string | number, url: string) => string;
3438
+ readonly instructions: (account: string | number, url: string) => string;
3240
3439
  };
3241
- readonly generic: "An error occurred while creating a developer sandbox";
3242
3440
  };
3243
3441
  };
3244
3442
  readonly standard: {
@@ -3251,27 +3449,51 @@ Run ${string} to upgrade to version ${string}`;
3251
3449
  readonly configFileUpdated: (accountName: string, authType: string) => string;
3252
3450
  };
3253
3451
  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;
3452
+ readonly limit: (accountId: number, limit: number, link: string) => string;
3453
+ readonly alreadyInConfig: (accountId: number, limit: number) => string;
3257
3454
  readonly scopes: {
3258
3455
  readonly message: "The personal access key you provided doesn't include standard sandbox permissions.";
3259
- readonly instructions: (accountName: string, url: string) => string;
3456
+ readonly instructions: (account: string | number, url: string) => string;
3260
3457
  };
3261
3458
  };
3262
3459
  };
3460
+ readonly failure: {
3461
+ readonly usageLimitsFetch: "Unable to fetch sandbox usage limits. Please try again.";
3462
+ readonly scopes: {
3463
+ readonly message: "The personal access key you provided doesn't include sandbox permissions.";
3464
+ readonly instructions: (account: string | number, url: string) => string;
3465
+ };
3466
+ readonly invalidUser: (accountName: string, parentAccountId: number) => string;
3467
+ readonly '403Gating': (accountName: string, parentAccountId: number) => string;
3468
+ };
3263
3469
  };
3264
3470
  readonly sync: {
3471
+ readonly info: {
3472
+ readonly syncMessage: (url: string) => string;
3473
+ readonly syncMessageDevSb: (url: string) => string;
3474
+ };
3475
+ readonly confirm: {
3476
+ readonly syncContactRecords: {
3477
+ readonly standard: "Do you want to sync contact records from your production account?";
3478
+ };
3479
+ };
3265
3480
  readonly loading: {
3266
3481
  readonly add: (accountName: string) => string;
3267
- readonly fail: (accountName: string) => string;
3268
- readonly succeed: (accountName: string) => string;
3482
+ readonly fail: (accountId: number) => string;
3483
+ readonly succeed: (accountId: number) => string;
3484
+ readonly startSync: "Initiating sync...";
3485
+ readonly succeedDevSb: (accountId: number) => string;
3486
+ readonly successDevSbInfo: (accountId: number, url: string) => string;
3269
3487
  };
3270
3488
  readonly success: {
3271
3489
  readonly configFileUpdated: (accountName: string, authType: string) => string;
3272
3490
  };
3273
3491
  readonly failure: {
3492
+ readonly syncTypeFetch: "Unable to fetch available sandbox sync types. Please try again.";
3274
3493
  readonly invalidUser: (accountName: string, parentAccountName: string) => string;
3494
+ readonly syncInProgress: (url: string) => string;
3495
+ readonly notSuperAdmin: (accountId: number) => string;
3496
+ readonly objectNotFound: (accountId: number) => string;
3275
3497
  readonly scopes: {
3276
3498
  readonly message: "The personal access key you provided doesn't include sandbox sync permissions.";
3277
3499
  readonly instructions: (accountName: string, url: string) => string;
@@ -3285,6 +3507,8 @@ Run ${string} to upgrade to version ${string}`;
3285
3507
  readonly errorContext: (context: string) => string;
3286
3508
  readonly errorCause: (cause: string) => string;
3287
3509
  readonly unknownErrorOccurred: "An unknown error has occurred.";
3510
+ readonly configTimeoutErrorOccurred: (timeout: number, configSetCommand: string) => string;
3511
+ readonly genericTimeoutErrorOccurred: "This error occurred because an HTTP request timed out. Re-running the command may resolve this issue.";
3288
3512
  };
3289
3513
  readonly suppressErrors: {
3290
3514
  readonly platformVersionErrors: {
@@ -3296,7 +3520,7 @@ Run ${string} to upgrade to version ${string}`;
3296
3520
  readonly docsLink: "Projects platform versioning (BETA)";
3297
3521
  readonly betaLink: (docsLink: string) => string;
3298
3522
  };
3299
- readonly missingScopeError: (request: string, accountName: string, authCommand: string) => string;
3523
+ readonly missingScopeError: (request: string, accountName: string) => string;
3300
3524
  };
3301
3525
  };
3302
3526
  readonly serverless: {
@@ -3304,7 +3528,7 @@ Run ${string} to upgrade to version ${string}`;
3304
3528
  readonly fetchScopeDataError: (scopeGroup: string) => string;
3305
3529
  readonly portalMissingScope: "Your account does not have access to this action. Talk to an account admin to request it.";
3306
3530
  readonly userMissingScope: "You don't have access to this action. Ask an account admin to change your permissions in Users & Teams settings.";
3307
- readonly genericMissingScope: "Your access key does not allow this action. Please generate a new access key by running `hs auth personalaccesskey`.";
3531
+ readonly genericMissingScope: `Your access key does not allow this action. Please generate a new access key by running ${string}.`;
3308
3532
  };
3309
3533
  };
3310
3534
  readonly doctor: {
@@ -3317,9 +3541,9 @@ Run ${string} to upgrade to version ${string}`;
3317
3541
  readonly unableToDetermine: "Unable to determine if the portal is active";
3318
3542
  readonly pak: {
3319
3543
  readonly incomplete: "Personal access key is valid, but there are more scopes available to your user that are not included in your key.";
3320
- readonly incompleteSecondary: (command: string, link: string) => string;
3544
+ readonly incompleteSecondary: (link: string) => string;
3321
3545
  readonly invalid: "Personal access key is invalid";
3322
- readonly invalidSecondary: (command: string) => string;
3546
+ readonly invalidSecondary: `To get a new key, run ${string}, deactivate your access key, and generate a new one. Then use that new key to authenticate your account.`;
3323
3547
  readonly valid: (link: string) => string;
3324
3548
  readonly viewScopes: "View selected scopes";
3325
3549
  };
@@ -3340,7 +3564,6 @@ Run ${string} to upgrade to version ${string}`;
3340
3564
  readonly latest: (hsVersion: string) => string;
3341
3565
  readonly unableToDetermine: "Unable to determine if HubSpot CLI is up to date.";
3342
3566
  readonly unableToDetermineSecondary: (command: string, link: string) => string;
3343
- readonly unableToDetermineSecondaryLink: "npm HubSpot CLI version history";
3344
3567
  };
3345
3568
  readonly projectDependenciesChecks: {
3346
3569
  readonly missingDependencies: (dir: string) => string;
@@ -3353,9 +3576,9 @@ Run ${string} to upgrade to version ${string}`;
3353
3576
  readonly validJson: "JSON files valid";
3354
3577
  };
3355
3578
  readonly port: {
3356
- readonly inUse: (port: string) => string;
3579
+ readonly inUse: (port: number) => string;
3357
3580
  readonly inUseSecondary: (command: string) => string;
3358
- readonly available: (port: string) => string;
3581
+ readonly available: (port: number) => string;
3359
3582
  };
3360
3583
  readonly diagnosis: {
3361
3584
  readonly cli: {
@@ -3367,27 +3590,58 @@ Run ${string} to upgrade to version ${string}`;
3367
3590
  readonly defaultAccountSubHeader: (accountDetails: string) => string;
3368
3591
  readonly noConfigFile: "CLI configuration not found";
3369
3592
  readonly noConfigFileSecondary: (command: string) => string;
3593
+ readonly settings: {
3594
+ readonly httpUseLocalhost: `The setting ${string} is enabled`;
3595
+ readonly httpUseLocalhostSecondary: "This setting causes all CLI requests to route to localhost";
3596
+ };
3370
3597
  };
3371
3598
  readonly projectConfig: {
3372
3599
  readonly header: "Project configuration";
3373
3600
  readonly projectDirSubHeader: (projectDir: string) => string;
3374
3601
  readonly projectNameSubHeader: (projectName: string) => string;
3375
3602
  };
3603
+ readonly defaultAccountOverrideFile: {
3604
+ readonly header: "Default account override file path:";
3605
+ };
3376
3606
  readonly counts: {
3377
- readonly errors: (count: string) => string;
3378
- readonly warnings: (count: string) => string;
3607
+ readonly errors: (count: number) => string;
3608
+ readonly warnings: (count: number) => string;
3379
3609
  };
3380
3610
  };
3611
+ readonly defaultAccountOverrideFileChecks: {
3612
+ readonly overrideActive: (defaultAccountOverrideFile: string) => string;
3613
+ readonly overrideAccountId: (overrideAccountId: number | string) => string;
3614
+ };
3381
3615
  };
3382
3616
  readonly oauth: {
3383
3617
  readonly missingClientId: "Error building oauth URL: missing client ID.";
3384
3618
  };
3619
+ readonly validation: {
3620
+ readonly accountNotFoundInConfig: (userProvidedAccount: string) => string;
3621
+ readonly accountRequired: "An account needs to be supplied either via \"--account\" or through setting a \"defaultPortal\"";
3622
+ readonly userProvidedAccount: "Cannot specify an account when environment variables are supplied. Please unset the environment variables or do not use the \"--account\" flag.";
3623
+ readonly accountNotConfigured: (accountId: number) => string;
3624
+ readonly invalidAuthType: (authType: string, accountId: number, configPath: string, validValues: string) => string;
3625
+ readonly oauth2ConfigMissing: (accountId: number) => string;
3626
+ readonly oauth2ConfigIncorrect: (accountId: number) => string;
3627
+ readonly oauth2AccessTokenNotFound: (accountId: number) => string;
3628
+ readonly personalAccessKeyMissing: (accountId: number) => string;
3629
+ readonly personalAccessKeyTokenRetrievalFailed: (accountId: number) => string;
3630
+ readonly authConfigurationMissing: (accountId: number) => string;
3631
+ readonly availableCMSModes: (modes: string) => string;
3632
+ readonly invalidCmsPublishMode: (cmsPublishMode: string, modesMessage: string) => string;
3633
+ readonly missingCmsPublishMode: (modesMessage: string) => string;
3634
+ readonly pathNotFile: (path: string) => string;
3635
+ readonly fileNotJson: (path: string) => string;
3636
+ readonly fileInvalidJson: (path: string) => string;
3637
+ };
3385
3638
  readonly migrate: {
3386
3639
  readonly componentsToBeMigrated: (components: string) => string;
3387
3640
  readonly componentsThatWillNotBeMigrated: (components: string) => string;
3388
3641
  readonly sourceContentsMoved: (newLocation: string) => string;
3389
3642
  readonly projectMigrationWarningTitle: "Important: Migrating to platformVersion 2025.2 is irreversible";
3390
3643
  readonly projectMigrationWarning: string;
3644
+ readonly exitWithoutMigrating: "Exiting without migrating";
3391
3645
  readonly success: {
3392
3646
  readonly downloadedProject: (projectName: string, projectDest: string) => string;
3393
3647
  readonly themesMigrationSuccess: (platformVersion: string) => string;
@@ -3414,7 +3668,7 @@ Run ${string} to upgrade to version ${string}`;
3414
3668
  };
3415
3669
  readonly noAppsEligible: (accountId: string, reasons: string[]) => string;
3416
3670
  readonly invalidAccountTypeTitle: string;
3417
- readonly invalidAccountTypeDescription: (useCommand: string, authCommand: string) => string;
3671
+ readonly invalidAccountTypeDescription: (useCommand: string) => string;
3418
3672
  readonly appWithAppIdNotFound: (appId: number) => string;
3419
3673
  readonly noAppsForProject: (projectName: string) => string;
3420
3674
  readonly migrationFailed: "Migration Failed";