@hubspot/cli 8.2.0-beta.0 → 8.2.0-experimental.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (700) hide show
  1. package/api/migrate.js +8 -4
  2. package/api/releases.d.ts +36 -0
  3. package/api/releases.js +41 -0
  4. package/bin/cli.js +12 -6
  5. package/commands/account/auth.d.ts +3 -1
  6. package/commands/account/auth.js +23 -7
  7. package/commands/account/clean.js +7 -6
  8. package/commands/account/createOverride.js +10 -7
  9. package/commands/account/info.js +36 -17
  10. package/commands/account/link.d.ts +4 -0
  11. package/commands/account/link.js +87 -0
  12. package/commands/account/list.js +32 -76
  13. package/commands/account/remove.js +4 -3
  14. package/commands/account/removeOverride.js +11 -10
  15. package/commands/account/rename.js +5 -6
  16. package/commands/account/unlink.d.ts +4 -0
  17. package/commands/account/unlink.js +68 -0
  18. package/commands/account/use.js +75 -6
  19. package/commands/account.js +4 -0
  20. package/commands/api.d.ts +10 -0
  21. package/commands/api.js +164 -0
  22. package/commands/app/logDetails.d.ts +9 -0
  23. package/commands/app/logDetails.js +86 -0
  24. package/commands/app/logs.d.ts +13 -0
  25. package/commands/app/logs.js +122 -0
  26. package/commands/app/migrate.js +13 -13
  27. package/commands/app/secret/add.js +6 -7
  28. package/commands/app/secret/delete.js +9 -10
  29. package/commands/app/secret/list.js +6 -7
  30. package/commands/app/secret/update.js +8 -9
  31. package/commands/app.js +8 -1
  32. package/commands/auth.js +20 -16
  33. package/commands/cms/app/create.js +9 -5
  34. package/commands/cms/convertFields.js +8 -8
  35. package/commands/cms/delete.js +2 -3
  36. package/commands/cms/fetch.js +7 -7
  37. package/commands/cms/function/create.js +9 -5
  38. package/commands/cms/function/deploy.js +2 -3
  39. package/commands/cms/function/list.js +11 -7
  40. package/commands/cms/function/logs.js +17 -23
  41. package/commands/cms/function/server.js +2 -3
  42. package/commands/cms/getReactModule.js +7 -8
  43. package/commands/cms/lighthouseScore.js +25 -24
  44. package/commands/cms/lint.js +4 -5
  45. package/commands/cms/list.js +5 -6
  46. package/commands/cms/module/create.js +15 -5
  47. package/commands/cms/module/marketplace-validate.js +7 -8
  48. package/commands/cms/mv.js +2 -3
  49. package/commands/cms/template/create.js +10 -6
  50. package/commands/cms/theme/create.js +5 -5
  51. package/commands/cms/theme/generate-selectors.js +5 -4
  52. package/commands/cms/theme/marketplace-validate.js +8 -9
  53. package/commands/cms/theme/preview.js +16 -8
  54. package/commands/cms/upload.js +15 -12
  55. package/commands/cms/watch.js +5 -5
  56. package/commands/cms/webpack/create.js +5 -5
  57. package/commands/completion.js +3 -5
  58. package/commands/config/migrate.js +6 -7
  59. package/commands/config/set.js +5 -6
  60. package/commands/customObject/create.js +4 -5
  61. package/commands/customObject/createSchema.js +4 -5
  62. package/commands/customObject/deleteSchema.js +4 -5
  63. package/commands/customObject/fetchAllSchemas.js +2 -3
  64. package/commands/customObject/fetchSchema.js +2 -3
  65. package/commands/customObject/listSchemas.js +2 -3
  66. package/commands/customObject/updateSchema.js +4 -5
  67. package/commands/doctor.js +8 -8
  68. package/commands/feedback.js +6 -4
  69. package/commands/filemanager/fetch.js +5 -6
  70. package/commands/filemanager/upload.js +5 -5
  71. package/commands/getStarted.js +17 -19
  72. package/commands/hubdb/clear.js +6 -3
  73. package/commands/hubdb/create.js +4 -5
  74. package/commands/hubdb/delete.js +9 -6
  75. package/commands/hubdb/fetch.js +6 -3
  76. package/commands/hubdb/list.js +16 -14
  77. package/commands/init.js +16 -15
  78. package/commands/mcp/setup.js +5 -6
  79. package/commands/mcp/start.js +2 -3
  80. package/commands/open.js +4 -5
  81. package/commands/project/add.js +13 -8
  82. package/commands/project/appInstallStatus.d.ts +4 -0
  83. package/commands/project/appInstallStatus.js +133 -0
  84. package/commands/project/create.js +28 -17
  85. package/commands/project/delete.d.ts +7 -0
  86. package/commands/project/delete.js +74 -0
  87. package/commands/project/deploy.js +39 -36
  88. package/commands/project/dev/deprecatedFlow.js +62 -17
  89. package/commands/project/dev/index.d.ts +3 -3
  90. package/commands/project/dev/index.js +59 -48
  91. package/commands/project/dev/unifiedFlow.js +70 -21
  92. package/commands/project/download.js +12 -9
  93. package/commands/project/info.d.ts +4 -0
  94. package/commands/project/info.js +68 -0
  95. package/commands/project/installDeps.js +9 -6
  96. package/commands/project/lint.js +43 -12
  97. package/commands/project/list.d.ts +2 -2
  98. package/commands/project/list.js +15 -14
  99. package/commands/project/listBuilds.js +8 -6
  100. package/commands/project/logs.js +5 -6
  101. package/commands/project/migrate.js +18 -18
  102. package/commands/project/open.js +5 -6
  103. package/commands/project/profile/add.js +12 -8
  104. package/commands/project/profile/delete.js +15 -11
  105. package/commands/project/release/create.d.ts +7 -0
  106. package/commands/project/release/create.js +159 -0
  107. package/commands/project/release/info.d.ts +6 -0
  108. package/commands/project/release/info.js +147 -0
  109. package/commands/project/release/list.d.ts +6 -0
  110. package/commands/project/release/list.js +111 -0
  111. package/commands/project/release.d.ts +3 -0
  112. package/commands/project/release.js +20 -0
  113. package/commands/project/updateDeps.js +9 -6
  114. package/commands/project/upload.d.ts +3 -0
  115. package/commands/project/upload.js +107 -25
  116. package/commands/project/validate.js +12 -12
  117. package/commands/project/watch.js +22 -22
  118. package/commands/project.js +14 -3
  119. package/commands/sandbox/create.js +18 -45
  120. package/commands/sandbox/delete.js +13 -14
  121. package/commands/secret/addSecret.js +6 -7
  122. package/commands/secret/deleteSecret.js +5 -6
  123. package/commands/secret/listSecret.js +2 -3
  124. package/commands/secret/updateSecret.js +4 -5
  125. package/commands/testAccount/create.d.ts +1 -1
  126. package/commands/testAccount/create.js +25 -17
  127. package/commands/testAccount/createConfig.js +7 -8
  128. package/commands/testAccount/delete.js +27 -18
  129. package/commands/testAccount/importData.js +6 -7
  130. package/commands/upgrade.js +9 -10
  131. package/lang/en.d.ts +441 -9
  132. package/lang/en.js +456 -22
  133. package/lib/CLIWebSocketServer.d.ts +5 -3
  134. package/lib/CLIWebSocketServer.js +31 -4
  135. package/lib/accountAuth.d.ts +3 -1
  136. package/lib/accountAuth.js +47 -17
  137. package/lib/api/usageTracking.d.ts +30 -0
  138. package/lib/api/usageTracking.js +11 -0
  139. package/lib/app/logs.d.ts +38 -0
  140. package/lib/app/logs.js +225 -0
  141. package/lib/app/migrate.js +18 -5
  142. package/lib/app/urls.d.ts +2 -0
  143. package/lib/app/urls.js +7 -0
  144. package/lib/auth/awaitPersonalAccessKeyOverWebsocket.d.ts +4 -0
  145. package/lib/auth/awaitPersonalAccessKeyOverWebsocket.js +145 -0
  146. package/lib/buildAccount.d.ts +1 -6
  147. package/lib/buildAccount.js +10 -43
  148. package/lib/commonOpts.js +0 -1
  149. package/lib/constants.d.ts +10 -3
  150. package/lib/constants.js +12 -3
  151. package/lib/doctor/Diagnosis.js +5 -5
  152. package/lib/doctor/Doctor.js +7 -7
  153. package/lib/errorHandlers/index.js +4 -3
  154. package/lib/errorHandlers/suppressError.js +4 -0
  155. package/lib/errors/PromptExitError.d.ts +6 -0
  156. package/lib/errors/PromptExitError.js +11 -0
  157. package/lib/getStartedV2Actions.js +3 -3
  158. package/lib/hasFeature.js +1 -2
  159. package/lib/link/accountTableUtils.d.ts +10 -0
  160. package/lib/link/accountTableUtils.js +39 -0
  161. package/lib/link/index.d.ts +18 -0
  162. package/lib/link/index.js +185 -0
  163. package/lib/link/linkUtils.d.ts +5 -0
  164. package/lib/link/linkUtils.js +49 -0
  165. package/lib/link/prompts.d.ts +7 -0
  166. package/lib/link/prompts.js +126 -0
  167. package/lib/link/renderLinkedAccountsTable.d.ts +2 -0
  168. package/lib/link/renderLinkedAccountsTable.js +14 -0
  169. package/lib/link/warnIfLinkedDirectory.d.ts +1 -0
  170. package/lib/link/warnIfLinkedDirectory.js +9 -0
  171. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  172. package/lib/middleware/commandTargetingUtils.js +1 -0
  173. package/lib/process.d.ts +1 -1
  174. package/lib/process.js +10 -3
  175. package/lib/projects/ProjectLogsManager.js +6 -3
  176. package/lib/projects/components.js +15 -4
  177. package/lib/projects/create/index.js +2 -2
  178. package/lib/projects/create/legacy.js +2 -2
  179. package/lib/projects/create/v2.js +4 -5
  180. package/lib/projects/delete.d.ts +13 -0
  181. package/lib/projects/delete.js +193 -0
  182. package/lib/projects/deploy.d.ts +1 -1
  183. package/lib/projects/deploy.js +2 -2
  184. package/lib/projects/localDev/AppDevModeInterface.js +13 -9
  185. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +4 -1
  186. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +3 -3
  187. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  188. package/lib/projects/localDev/DevSessionManager.js +31 -19
  189. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +5 -0
  190. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +21 -10
  191. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  192. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  193. package/lib/projects/localDev/LocalDevState.js +3 -1
  194. package/lib/projects/localDev/LocalDevWebsocketServer.js +1 -1
  195. package/lib/projects/localDev/UIExtensionsDevModeInterface.js +2 -0
  196. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  197. package/lib/projects/localDev/helpers/account.js +21 -30
  198. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  199. package/lib/projects/localDev/helpers/process.js +4 -10
  200. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  201. package/lib/projects/localDev/helpers/project.js +32 -16
  202. package/lib/projects/npmAuditOnUpload.d.ts +10 -0
  203. package/lib/projects/npmAuditOnUpload.js +73 -0
  204. package/lib/projects/pollProjectBuildAndDeploy.d.ts +5 -1
  205. package/lib/projects/pollProjectBuildAndDeploy.js +3 -2
  206. package/lib/projects/preview.d.ts +7 -0
  207. package/lib/projects/preview.js +48 -0
  208. package/lib/projects/projectInfo.d.ts +5 -0
  209. package/lib/projects/projectInfo.js +82 -0
  210. package/lib/projects/projectProfiles.d.ts +1 -2
  211. package/lib/projects/projectProfiles.js +5 -17
  212. package/lib/projects/uieLinting.d.ts +21 -3
  213. package/lib/projects/uieLinting.js +132 -28
  214. package/lib/projects/upload.d.ts +3 -1
  215. package/lib/projects/upload.js +46 -7
  216. package/lib/projects/validateLintConfigOnUpload.d.ts +9 -0
  217. package/lib/projects/validateLintConfigOnUpload.js +45 -0
  218. package/lib/projects/workspaces.d.ts +60 -0
  219. package/lib/projects/workspaces.js +411 -0
  220. package/lib/prompts/createApiSamplePrompt.js +4 -0
  221. package/lib/prompts/downloadProjectPrompt.js +11 -10
  222. package/lib/prompts/installAppPrompt.js +3 -2
  223. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -5
  224. package/lib/prompts/personalAccessKeyPrompt.js +10 -7
  225. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
  226. package/lib/prompts/projectDevTargetAccountPrompt.js +23 -16
  227. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  228. package/lib/prompts/projectProfilePrompt.js +46 -0
  229. package/lib/prompts/projectsLogsPrompt.js +3 -0
  230. package/lib/prompts/promptUtils.js +4 -2
  231. package/lib/prompts/selectAppPrompt.js +1 -0
  232. package/lib/prompts/selectHubDBTablePrompt.js +8 -4
  233. package/lib/prompts/selectPublicAppForMigrationPrompt.js +12 -6
  234. package/lib/prompts/setAsDefaultAccountPrompt.js +2 -1
  235. package/lib/sandboxes.d.ts +1 -9
  236. package/lib/sandboxes.js +0 -21
  237. package/lib/serverlessLogs.js +2 -2
  238. package/lib/theme/cmsDevServerProcess.d.ts +2 -0
  239. package/lib/theme/cmsDevServerProcess.js +8 -7
  240. package/lib/theme/migrate.d.ts +1 -1
  241. package/lib/theme/migrate.js +1 -5
  242. package/lib/ui/SpinniesManager.d.ts +1 -0
  243. package/lib/ui/SpinniesManager.js +22 -6
  244. package/lib/ui/accountTable.d.ts +8 -0
  245. package/lib/ui/accountTable.js +67 -0
  246. package/lib/ui/appLogs.d.ts +32 -0
  247. package/lib/ui/appLogs.js +175 -0
  248. package/lib/ui/spinniesUtils.d.ts +0 -1
  249. package/lib/ui/spinniesUtils.js +6 -16
  250. package/lib/usageTracking.d.ts +9 -20
  251. package/lib/usageTracking.js +68 -30
  252. package/lib/yargs/makeWrappedYargsHandler.d.ts +3 -0
  253. package/lib/yargs/makeWrappedYargsHandler.js +121 -0
  254. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  255. package/lib/yargs/makeYargsBuilder.js +33 -0
  256. package/lib/yargs/parseYargsOrExit.d.ts +4 -0
  257. package/lib/yargs/parseYargsOrExit.js +25 -0
  258. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  259. package/lib/yargs/strictEnforceBoolean.js +13 -0
  260. package/lib/yargsUtils.d.ts +3 -16
  261. package/lib/yargsUtils.js +3 -48
  262. package/mcp-server/Tool.d.ts +15 -0
  263. package/mcp-server/Tool.js +53 -0
  264. package/mcp-server/server.js +43 -3
  265. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
  266. package/mcp-server/tools/cms/HsCreateFunctionTool.js +10 -8
  267. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
  268. package/mcp-server/tools/cms/HsCreateModuleTool.js +12 -11
  269. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +4 -2
  270. package/mcp-server/tools/cms/HsCreateTemplateTool.js +10 -8
  271. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
  272. package/mcp-server/tools/cms/HsFunctionLogsTool.js +10 -9
  273. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
  274. package/mcp-server/tools/cms/HsListFunctionsTool.js +10 -9
  275. package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
  276. package/mcp-server/tools/cms/HsListTool.js +10 -8
  277. package/mcp-server/tools/index.d.ts +3 -2
  278. package/mcp-server/tools/index.js +24 -22
  279. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +6 -3
  280. package/mcp-server/tools/project/AddFeatureToProjectTool.js +9 -7
  281. package/mcp-server/tools/project/CreateProjectTool.d.ts +6 -3
  282. package/mcp-server/tools/project/CreateProjectTool.js +10 -7
  283. package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
  284. package/mcp-server/tools/project/CreateTestAccountTool.js +21 -9
  285. package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
  286. package/mcp-server/tools/project/DeployProjectTool.js +5 -7
  287. package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
  288. package/mcp-server/tools/project/DocFetchTool.js +8 -6
  289. package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
  290. package/mcp-server/tools/project/DocsSearchTool.js +32 -9
  291. package/mcp-server/tools/project/FindProjectsTool.d.ts +15 -0
  292. package/mcp-server/tools/project/FindProjectsTool.js +60 -0
  293. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
  294. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +8 -6
  295. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
  296. package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
  297. package/mcp-server/tools/project/GetBuildLogsTool.d.ts +4 -2
  298. package/mcp-server/tools/project/GetBuildLogsTool.js +9 -7
  299. package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
  300. package/mcp-server/tools/project/GetBuildStatusTool.js +9 -7
  301. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
  302. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
  303. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +4 -2
  304. package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
  305. package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
  306. package/mcp-server/tools/project/UploadProjectTools.js +10 -8
  307. package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
  308. package/mcp-server/tools/project/ValidateProjectTool.js +9 -7
  309. package/mcp-server/tools/project/constants.d.ts +2 -1
  310. package/mcp-server/tools/project/constants.js +2 -1
  311. package/mcp-server/types.d.ts +0 -7
  312. package/mcp-server/types.js +1 -13
  313. package/mcp-server/utils/command.js +3 -1
  314. package/mcp-server/utils/config.js +1 -0
  315. package/mcp-server/utils/logger.d.ts +10 -0
  316. package/mcp-server/utils/logger.js +29 -0
  317. package/mcp-server/utils/toolUsageTracking.js +10 -8
  318. package/package.json +16 -11
  319. package/types/Link.d.ts +32 -0
  320. package/types/Link.js +5 -0
  321. package/types/LocalDev.d.ts +5 -0
  322. package/types/PackageJson.d.ts +1 -0
  323. package/types/Projects.d.ts +19 -0
  324. package/types/Prompts.d.ts +1 -0
  325. package/types/Yargs.d.ts +19 -1
  326. package/ui/components/ActionSection.d.ts +1 -1
  327. package/ui/components/InputField.d.ts +1 -1
  328. package/ui/components/SelectInput.d.ts +1 -1
  329. package/ui/components/StatusIcon.d.ts +1 -1
  330. package/ui/components/Table.d.ts +5 -5
  331. package/ui/components/getStarted/GetStartedFlow.d.ts +1 -1
  332. package/ui/components/getStarted/screens/InstallationScreen.d.ts +1 -1
  333. package/ui/components/getStarted/screens/ProjectSetupScreen.d.ts +1 -1
  334. package/ui/components/getStarted/screens/UploadScreen.d.ts +1 -1
  335. package/api/__tests__/migrate.test.d.ts +0 -1
  336. package/api/__tests__/migrate.test.js +0 -199
  337. package/commands/__tests__/account.test.d.ts +0 -1
  338. package/commands/__tests__/account.test.js +0 -69
  339. package/commands/__tests__/auth.test.d.ts +0 -1
  340. package/commands/__tests__/auth.test.js +0 -43
  341. package/commands/__tests__/cms.test.d.ts +0 -1
  342. package/commands/__tests__/cms.test.js +0 -87
  343. package/commands/__tests__/config.test.d.ts +0 -1
  344. package/commands/__tests__/config.test.js +0 -44
  345. package/commands/__tests__/customObject.test.d.ts +0 -1
  346. package/commands/__tests__/customObject.test.js +0 -68
  347. package/commands/__tests__/doctor.test.d.ts +0 -1
  348. package/commands/__tests__/doctor.test.js +0 -132
  349. package/commands/__tests__/feedback.test.d.ts +0 -1
  350. package/commands/__tests__/feedback.test.js +0 -24
  351. package/commands/__tests__/filemanager.test.d.ts +0 -1
  352. package/commands/__tests__/filemanager.test.js +0 -45
  353. package/commands/__tests__/getStarted.test.d.ts +0 -1
  354. package/commands/__tests__/getStarted.test.js +0 -173
  355. package/commands/__tests__/hubdb.test.d.ts +0 -1
  356. package/commands/__tests__/hubdb.test.js +0 -50
  357. package/commands/__tests__/init.test.d.ts +0 -1
  358. package/commands/__tests__/init.test.js +0 -42
  359. package/commands/__tests__/mcp.test.d.ts +0 -1
  360. package/commands/__tests__/mcp.test.js +0 -46
  361. package/commands/__tests__/open.test.d.ts +0 -1
  362. package/commands/__tests__/open.test.js +0 -58
  363. package/commands/__tests__/project.test.d.ts +0 -1
  364. package/commands/__tests__/project.test.js +0 -125
  365. package/commands/__tests__/sandbox.test.d.ts +0 -1
  366. package/commands/__tests__/sandbox.test.js +0 -44
  367. package/commands/__tests__/secret.test.d.ts +0 -1
  368. package/commands/__tests__/secret.test.js +0 -49
  369. package/commands/__tests__/testAccount.test.d.ts +0 -1
  370. package/commands/__tests__/testAccount.test.js +0 -57
  371. package/commands/__tests__/upgrade.test.d.ts +0 -1
  372. package/commands/__tests__/upgrade.test.js +0 -309
  373. package/commands/account/__tests__/auth.test.d.ts +0 -1
  374. package/commands/account/__tests__/auth.test.js +0 -206
  375. package/commands/account/__tests__/clean.test.d.ts +0 -1
  376. package/commands/account/__tests__/clean.test.js +0 -28
  377. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  378. package/commands/account/__tests__/createOverride.test.js +0 -32
  379. package/commands/account/__tests__/info.test.d.ts +0 -1
  380. package/commands/account/__tests__/info.test.js +0 -28
  381. package/commands/account/__tests__/list.test.d.ts +0 -1
  382. package/commands/account/__tests__/list.test.js +0 -153
  383. package/commands/account/__tests__/remove.test.d.ts +0 -1
  384. package/commands/account/__tests__/remove.test.js +0 -36
  385. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  386. package/commands/account/__tests__/removeOverride.js +0 -25
  387. package/commands/account/__tests__/rename.test.d.ts +0 -1
  388. package/commands/account/__tests__/rename.test.js +0 -82
  389. package/commands/account/__tests__/use.test.d.ts +0 -1
  390. package/commands/account/__tests__/use.test.js +0 -170
  391. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  392. package/commands/app/__tests__/migrate.test.js +0 -111
  393. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  394. package/commands/app/secret/__tests__/add.test.js +0 -140
  395. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  396. package/commands/app/secret/__tests__/delete.test.js +0 -28
  397. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  398. package/commands/app/secret/__tests__/list.test.js +0 -25
  399. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  400. package/commands/app/secret/__tests__/update.test.js +0 -28
  401. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  402. package/commands/cms/__tests__/delete.test.js +0 -39
  403. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  404. package/commands/cms/__tests__/fetch.test.js +0 -156
  405. package/commands/cms/__tests__/function.test.d.ts +0 -1
  406. package/commands/cms/__tests__/function.test.js +0 -50
  407. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  408. package/commands/cms/__tests__/lint.test.js +0 -33
  409. package/commands/cms/__tests__/list.test.d.ts +0 -1
  410. package/commands/cms/__tests__/list.test.js +0 -42
  411. package/commands/cms/__tests__/module.test.d.ts +0 -1
  412. package/commands/cms/__tests__/module.test.js +0 -45
  413. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  414. package/commands/cms/__tests__/mv.test.js +0 -46
  415. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  416. package/commands/cms/__tests__/theme.test.js +0 -54
  417. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  418. package/commands/cms/__tests__/upload.test.js +0 -308
  419. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  420. package/commands/cms/__tests__/watch.test.js +0 -204
  421. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  422. package/commands/cms/function/__tests__/logs.test.js +0 -70
  423. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  424. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  425. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  426. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  427. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  428. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  429. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  430. package/commands/customObject/__tests__/create.test.js +0 -40
  431. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  432. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  433. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  434. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  435. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  436. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  437. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  438. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  439. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  440. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  441. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  442. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  443. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  444. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  445. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  446. package/commands/filemanager/__tests__/upload.test.js +0 -191
  447. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  448. package/commands/hubdb/__tests__/clear.test.js +0 -28
  449. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  450. package/commands/hubdb/__tests__/create.test.js +0 -28
  451. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  452. package/commands/hubdb/__tests__/delete.test.js +0 -28
  453. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  454. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  455. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  456. package/commands/hubdb/__tests__/list.test.js +0 -88
  457. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  458. package/commands/mcp/__tests__/setup.test.js +0 -26
  459. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  460. package/commands/mcp/__tests__/start.test.js +0 -144
  461. package/commands/project/__tests__/add.test.d.ts +0 -1
  462. package/commands/project/__tests__/add.test.js +0 -107
  463. package/commands/project/__tests__/create.test.d.ts +0 -1
  464. package/commands/project/__tests__/create.test.js +0 -97
  465. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  466. package/commands/project/__tests__/deploy.test.js +0 -307
  467. package/commands/project/__tests__/dev.test.d.ts +0 -1
  468. package/commands/project/__tests__/dev.test.js +0 -273
  469. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  470. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  471. package/commands/project/__tests__/download.test.d.ts +0 -1
  472. package/commands/project/__tests__/download.test.js +0 -39
  473. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  474. package/commands/project/__tests__/installDeps.test.js +0 -140
  475. package/commands/project/__tests__/lint.test.d.ts +0 -1
  476. package/commands/project/__tests__/lint.test.js +0 -704
  477. package/commands/project/__tests__/list.test.d.ts +0 -1
  478. package/commands/project/__tests__/list.test.js +0 -31
  479. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  480. package/commands/project/__tests__/listBuilds.test.js +0 -38
  481. package/commands/project/__tests__/logs.test.d.ts +0 -1
  482. package/commands/project/__tests__/logs.test.js +0 -202
  483. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  484. package/commands/project/__tests__/migrate.test.js +0 -106
  485. package/commands/project/__tests__/open.test.d.ts +0 -1
  486. package/commands/project/__tests__/open.test.js +0 -39
  487. package/commands/project/__tests__/profile.test.d.ts +0 -1
  488. package/commands/project/__tests__/profile.test.js +0 -42
  489. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  490. package/commands/project/__tests__/updateDeps.test.js +0 -140
  491. package/commands/project/__tests__/upload.test.d.ts +0 -1
  492. package/commands/project/__tests__/upload.test.js +0 -234
  493. package/commands/project/__tests__/validate.test.d.ts +0 -1
  494. package/commands/project/__tests__/validate.test.js +0 -381
  495. package/commands/project/__tests__/watch.test.d.ts +0 -1
  496. package/commands/project/__tests__/watch.test.js +0 -35
  497. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  498. package/commands/sandbox/__tests__/create.test.js +0 -245
  499. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  500. package/commands/sandbox/__tests__/delete.test.js +0 -31
  501. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  502. package/commands/secret/__tests__/addSecret.test.js +0 -162
  503. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  504. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  505. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  506. package/commands/secret/__tests__/listSecret.test.js +0 -29
  507. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  508. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  509. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  510. package/commands/testAccount/__tests__/create.test.js +0 -106
  511. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  512. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  513. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  514. package/commands/testAccount/__tests__/delete.test.js +0 -29
  515. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  516. package/commands/testAccount/__tests__/importData.test.js +0 -92
  517. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  518. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  519. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  520. package/lib/__tests__/accountAuth.test.js +0 -258
  521. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  522. package/lib/__tests__/accountTypes.test.js +0 -98
  523. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  524. package/lib/__tests__/buildAccount.test.js +0 -262
  525. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  526. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  527. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  528. package/lib/__tests__/commandSuggestion.test.js +0 -121
  529. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  530. package/lib/__tests__/commonOpts.test.js +0 -80
  531. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  532. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  533. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  534. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  535. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  536. package/lib/__tests__/hasFeature.test.js +0 -167
  537. package/lib/__tests__/http.test.d.ts +0 -1
  538. package/lib/__tests__/http.test.js +0 -40
  539. package/lib/__tests__/importData.test.d.ts +0 -1
  540. package/lib/__tests__/importData.test.js +0 -98
  541. package/lib/__tests__/npmCli.test.d.ts +0 -1
  542. package/lib/__tests__/npmCli.test.js +0 -84
  543. package/lib/__tests__/oauth.test.d.ts +0 -1
  544. package/lib/__tests__/oauth.test.js +0 -109
  545. package/lib/__tests__/parsing.test.d.ts +0 -1
  546. package/lib/__tests__/parsing.test.js +0 -34
  547. package/lib/__tests__/polling.test.d.ts +0 -1
  548. package/lib/__tests__/polling.test.js +0 -76
  549. package/lib/__tests__/process.test.d.ts +0 -1
  550. package/lib/__tests__/process.test.js +0 -89
  551. package/lib/__tests__/sandboxSync.test.d.ts +0 -1
  552. package/lib/__tests__/sandboxSync.test.js +0 -147
  553. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  554. package/lib/__tests__/sandboxes.test.js +0 -156
  555. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  556. package/lib/__tests__/serverlessLogs.test.js +0 -163
  557. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  558. package/lib/__tests__/usageTracking.test.js +0 -197
  559. package/lib/__tests__/validation.test.d.ts +0 -1
  560. package/lib/__tests__/validation.test.js +0 -143
  561. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  562. package/lib/__tests__/yargsUtils.test.js +0 -124
  563. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  564. package/lib/app/__tests__/migrate.test.js +0 -638
  565. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  566. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  567. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  568. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  569. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  570. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  571. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  572. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  573. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  574. package/lib/mcp/__tests__/setup.test.js +0 -523
  575. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  576. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  577. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  578. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  579. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  580. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  581. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  582. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  583. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  584. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  585. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  586. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  587. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  588. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  589. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  590. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  591. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  592. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  593. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  594. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  595. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  596. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  597. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  598. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  599. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  600. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  601. package/lib/projects/__tests__/components.test.d.ts +0 -1
  602. package/lib/projects/__tests__/components.test.js +0 -426
  603. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  604. package/lib/projects/__tests__/deploy.test.js +0 -231
  605. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  606. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  607. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  608. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  609. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  610. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  611. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  612. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  613. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  614. package/lib/projects/__tests__/projects.test.js +0 -58
  615. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  616. package/lib/projects/__tests__/structure.test.js +0 -210
  617. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  618. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  619. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  620. package/lib/projects/__tests__/upload.test.js +0 -183
  621. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  622. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  623. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  624. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  625. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  626. package/lib/projects/create/__tests__/legacy.test.js +0 -72
  627. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  628. package/lib/projects/create/__tests__/v2.test.js +0 -257
  629. package/lib/projects/platformVersion.d.ts +0 -9
  630. package/lib/projects/platformVersion.js +0 -39
  631. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  632. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  633. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  634. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  635. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  636. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  637. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  638. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  639. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  640. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  641. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  642. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  643. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  644. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  645. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  646. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  647. package/lib/sandboxSync.d.ts +0 -4
  648. package/lib/sandboxSync.js +0 -102
  649. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  650. package/lib/theme/__tests__/migrate.test.js +0 -256
  651. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  652. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  653. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  654. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  655. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  656. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
  657. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  658. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
  659. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  660. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
  661. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  662. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
  663. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  664. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
  665. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  666. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
  667. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  668. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
  669. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  670. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -132
  671. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  672. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
  673. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  674. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
  675. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  676. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  677. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  678. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  679. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  680. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
  681. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  682. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  683. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  684. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  685. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  686. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  687. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  688. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  689. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  690. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  691. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  692. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
  693. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  694. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  695. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  696. package/mcp-server/utils/__tests__/command.test.js +0 -275
  697. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  698. package/mcp-server/utils/__tests__/content.test.js +0 -164
  699. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  700. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
@@ -1,560 +0,0 @@
1
- import { Doctor } from '../Doctor.js';
2
- import { hasMissingPackages as _hasMissingPackages } from '../../dependencyManagement.js';
3
- import { isPortManagerPortAvailable as _isPortManagerPortAvailable } from '@hubspot/local-dev-lib/portManager';
4
- import { accessTokenForPersonalAccessKey as _accessTokenForPersonalAccessKey, scopesOnAccessToken as _scopesOnAccessToken, } from '@hubspot/local-dev-lib/personalAccessKey';
5
- import { fetchScopeAuthorizationData as _fetchScopeAuthorizationData } from '@hubspot/local-dev-lib/api/localDevAuth';
6
- import { HubSpotHttpError } from '@hubspot/local-dev-lib/models/HubSpotHttpError';
7
- import { AxiosError, AxiosHeaders } from 'axios';
8
- import { isSpecifiedError as _isSpecifiedError } from '@hubspot/local-dev-lib/errors/index';
9
- import { promisify as _promisify } from 'util';
10
- import { getConfigDefaultAccount as _getConfigDefaultAccount, getConfigDefaultAccountIfExists as _getConfigDefaultAccountIfExists, } from '@hubspot/local-dev-lib/config';
11
- import { validateProjectConfig as _validateProjectConfig } from '../../projects/config.js';
12
- import { isV2Project as _isV2Project } from '../../projects/platformVersion.js';
13
- import { validateSourceDirectory as _validateSourceDirectory, handleTranslate as _handleTranslate, } from '../../projects/upload.js';
14
- import { validateProjectForProfile as _validateProjectForProfile } from '../../projects/projectProfiles.js';
15
- import { getAllHsProfiles as _getAllHsProfiles } from '@hubspot/project-parsing-lib/profiles';
16
- import { getLatestCliVersion as _getLatestCliVersion } from '../../cliUpgradeUtils.js';
17
- vi.mock('../Diagnosis');
18
- vi.mock('../../ui/SpinniesManager');
19
- vi.mock('../DiagnosticInfoBuilder');
20
- vi.mock('../../dependencyManagement');
21
- vi.mock('../../npm/npmCli');
22
- vi.mock('@hubspot/local-dev-lib/portManager');
23
- vi.mock('@hubspot/local-dev-lib/personalAccessKey');
24
- vi.mock('@hubspot/local-dev-lib/api/localDevAuth');
25
- vi.mock('@hubspot/local-dev-lib/errors/index');
26
- vi.mock('@hubspot/local-dev-lib/config');
27
- vi.mock('util');
28
- vi.mock('../../projects/config.js');
29
- vi.mock('../../projects/platformVersion.js');
30
- vi.mock('../../projects/upload.js');
31
- vi.mock('../../projects/projectProfiles.js');
32
- vi.mock('@hubspot/project-parsing-lib/profiles');
33
- vi.mock('@hubspot/project-parsing-lib/constants');
34
- vi.mock('../../cliUpgradeUtils.js');
35
- const hasMissingPackages = vi.mocked(_hasMissingPackages);
36
- const isPortManagerPortAvailable = vi.mocked(_isPortManagerPortAvailable);
37
- const utilPromisify = vi.mocked(_promisify);
38
- const accessTokenForPersonalAccessKey = vi.mocked(_accessTokenForPersonalAccessKey);
39
- const fetchScopeAuthorizationData = vi.mocked(_fetchScopeAuthorizationData);
40
- const scopesOnAccessToken = vi.mocked(_scopesOnAccessToken);
41
- const isSpecifiedError = vi.mocked(_isSpecifiedError);
42
- const getConfigDefaultAccount = vi.mocked(_getConfigDefaultAccount);
43
- const getConfigDefaultAccountIfExists = vi.mocked(_getConfigDefaultAccountIfExists);
44
- const validateProjectConfig = vi.mocked(_validateProjectConfig);
45
- const isV2Project = vi.mocked(_isV2Project);
46
- const validateSourceDirectory = vi.mocked(_validateSourceDirectory);
47
- const handleTranslate = vi.mocked(_handleTranslate);
48
- const validateProjectForProfile = vi.mocked(_validateProjectForProfile);
49
- const getAllHsProfiles = vi.mocked(_getAllHsProfiles);
50
- const getLatestCliVersion = vi.mocked(_getLatestCliVersion);
51
- function createMockScopeAuthorizationResponse(results) {
52
- return {
53
- data: { results },
54
- status: 200,
55
- statusText: 'OK',
56
- headers: {},
57
- config: { headers: new AxiosHeaders() },
58
- };
59
- }
60
- describe('lib/doctor/Doctor', () => {
61
- let doctor;
62
- // @ts-ignore
63
- const diagnosticInfo = {
64
- account: {},
65
- arch: 'x64',
66
- config: 'path/to/config',
67
- configSettings: { httpUseLocalhost: false },
68
- configFiles: ['src/serverless.json'],
69
- diagnosis: '',
70
- envFiles: [],
71
- files: [],
72
- jsonFiles: ['src/serverless.json', 'src/extension.json'],
73
- packageFiles: ['src/package.json'],
74
- packageLockFiles: ['src/package-lock.json'],
75
- path: '',
76
- platform: 'darwin',
77
- project: {
78
- config: {
79
- projectDir: '/path/to/project',
80
- projectConfig: {
81
- name: 'my-project',
82
- srcDir: '/path/to/project',
83
- platformVersion: 'test',
84
- },
85
- },
86
- },
87
- versions: {
88
- node: '20.1.2',
89
- '@hubspot/cli': '6.0.0',
90
- npm: '6.14.13',
91
- },
92
- };
93
- beforeEach(() => {
94
- // Mock config functions
95
- const mockAccount = {
96
- accountId: 123456,
97
- accountType: 'STANDARD',
98
- name: 'Test Account',
99
- authType: 'personalaccesskey',
100
- personalAccessKey: 'test-key',
101
- };
102
- getConfigDefaultAccount.mockReturnValue(mockAccount);
103
- getConfigDefaultAccountIfExists.mockReturnValue(mockAccount);
104
- // Mock getLatestCliVersion to return valid versions by default
105
- getLatestCliVersion.mockResolvedValue({
106
- latest: '7.12.0',
107
- next: '7.12.0-beta.1',
108
- });
109
- doctor = new Doctor({
110
- generateDiagnosticInfo: vi.fn().mockResolvedValue({
111
- ...diagnosticInfo,
112
- }),
113
- });
114
- utilPromisify.mockReturnValue(vi.fn().mockImplementation((filename) => {
115
- if (filename.includes('invalid')) {
116
- return 'not-valid-json';
117
- }
118
- return JSON.stringify({ valid: true });
119
- }));
120
- });
121
- describe('CLI Checks', () => {
122
- describe('node version', () => {
123
- it('should add success section if node version is valid', async () => {
124
- await doctor.diagnose();
125
- // @ts-expect-error Testing private method
126
- expect(doctor.diagnosis.addCliSection).toHaveBeenCalledWith({
127
- type: 'success',
128
- message: `node v${diagnosticInfo.versions.node} is installed`,
129
- });
130
- });
131
- it('should add error section if node version is not available', async () => {
132
- doctor = new Doctor({
133
- generateDiagnosticInfo: vi.fn().mockResolvedValue({
134
- ...diagnosticInfo,
135
- versions: {},
136
- }),
137
- });
138
- await doctor.diagnose();
139
- // @ts-expect-error Testing private method
140
- expect(doctor.diagnosis.addCliSection).toHaveBeenCalledWith({
141
- type: 'error',
142
- message: 'Unable to determine what version of node is installed',
143
- });
144
- });
145
- it('should add error section if minimum node version is not met', async () => {
146
- doctor = new Doctor({
147
- generateDiagnosticInfo: vi.fn().mockResolvedValue({
148
- ...diagnosticInfo,
149
- versions: { node: '1.0.0' },
150
- }),
151
- });
152
- await doctor.diagnose();
153
- // @ts-expect-error Testing private method
154
- expect(doctor.diagnosis.addCliSection).toHaveBeenCalledWith({
155
- type: 'warning',
156
- message: expect.stringMatching(/Minimum Node version is not met/),
157
- });
158
- });
159
- });
160
- describe('npm version', () => {
161
- it('should add success section if npm is installed', async () => {
162
- await doctor.diagnose();
163
- // @ts-expect-error Testing private method
164
- expect(doctor.diagnosis.addCliSection).toHaveBeenCalledWith({
165
- type: 'success',
166
- message: `npm v${diagnosticInfo.versions.npm} is installed`,
167
- });
168
- });
169
- it('should add error section if npm is not installed', async () => {
170
- doctor = new Doctor({
171
- generateDiagnosticInfo: vi.fn().mockResolvedValue({
172
- ...diagnosticInfo,
173
- versions: {},
174
- }),
175
- });
176
- await doctor.diagnose();
177
- // @ts-expect-error Testing private method
178
- expect(doctor.diagnosis.addCliSection).toHaveBeenCalledWith({
179
- type: 'error',
180
- message: expect.any(String),
181
- });
182
- });
183
- });
184
- });
185
- describe('CLI Config Checks', () => {
186
- describe('Personal Access Key', () => {
187
- it('should add success sections if the access token is valid', async () => {
188
- scopesOnAccessToken.mockResolvedValueOnce(['scope1']);
189
- fetchScopeAuthorizationData.mockResolvedValueOnce(createMockScopeAuthorizationResponse([
190
- {
191
- scopeGroup: {
192
- name: 'scope1',
193
- shortDescription: 'scope1',
194
- longDescription: 'scope1',
195
- },
196
- portalAuthorized: true,
197
- userAuthorized: true,
198
- },
199
- ]));
200
- await doctor.diagnose();
201
- // @ts-expect-error Testing private method
202
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
203
- type: 'success',
204
- message: 'Default account active',
205
- });
206
- // @ts-expect-error Testing private method
207
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
208
- type: 'success',
209
- message: expect.stringMatching(/Personal Access Key is valid./),
210
- });
211
- });
212
- it('should add an error section if it is unable to determine if the portal is active', async () => {
213
- accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Invalid token', { cause: new AxiosError() }));
214
- await doctor.diagnose();
215
- // @ts-expect-error Testing private method
216
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
217
- type: 'error',
218
- message: 'Unable to determine if the portal is active',
219
- });
220
- });
221
- it('should add an error section if the portal is inactive', async () => {
222
- accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Invalid token'));
223
- isSpecifiedError.mockImplementation((err, fields) => {
224
- return (fields.statusCode === 401 &&
225
- fields.category === 'INVALID_AUTHENTICATION' &&
226
- fields?.subCategory === 'LocalDevAuthErrorType.PORTAL_NOT_ACTIVE');
227
- });
228
- await doctor.diagnose();
229
- // @ts-expect-error Testing private method
230
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
231
- type: 'error',
232
- message: "Default account isn't active",
233
- secondaryMessaging: expect.stringMatching(/to remove inactive accounts from your CLI config/),
234
- });
235
- });
236
- it('should add an error section if the portal is not found', async () => {
237
- accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Not found'));
238
- isSpecifiedError.mockImplementation((err, fields) => {
239
- return (fields.statusCode === 404 &&
240
- fields.category === 'INVALID_AUTHENTICATION' &&
241
- fields?.subCategory === 'LocalDevAuthErrorType.INVALID_PORTAL_ID');
242
- });
243
- await doctor.diagnose();
244
- // @ts-expect-error Testing private method
245
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
246
- type: 'error',
247
- message: "Default account isn't active",
248
- secondaryMessaging: expect.stringMatching(/to remove inactive accounts from your CLI config/),
249
- });
250
- });
251
- it('should add multiple sections if token is invalid but the portal is active', async () => {
252
- accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Not found'));
253
- isSpecifiedError.mockImplementation((err, fields) => {
254
- return (fields.statusCode === 401 &&
255
- fields.category === 'INVALID_AUTHENTICATION' &&
256
- fields?.subCategory ===
257
- 'LocalDevAuthErrorType.FAILED_TO_SIGN_REFRESH_TOKEN_DECODE');
258
- });
259
- await doctor.diagnose();
260
- // @ts-expect-error Testing private method
261
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
262
- type: 'success',
263
- message: 'Default account active',
264
- });
265
- // @ts-expect-error Testing private method
266
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
267
- type: 'error',
268
- message: 'Personal access key is invalid',
269
- secondaryMessaging: expect.stringMatching(/To get a new key, run/),
270
- });
271
- });
272
- it('should add an error section if we are unable to determine if the portal is active', async () => {
273
- accessTokenForPersonalAccessKey.mockRejectedValueOnce(new HubSpotHttpError('Not found'));
274
- isSpecifiedError.mockReturnValue(false);
275
- await doctor.diagnose();
276
- // @ts-expect-error Testing private method
277
- expect(doctor.diagnosis.addCLIConfigSection).toHaveBeenCalledWith({
278
- type: 'error',
279
- message: 'Unable to determine if the portal is active',
280
- });
281
- });
282
- // @TODO Restore test once PAK scope check functionality is restored
283
- // it('should warn when there are missing authorized scopes', async () => {
284
- // scopesOnAccessToken.mockResolvedValueOnce(['scope1', 'scope2']);
285
- // fetchScopeAuthorizationData.mockResolvedValueOnce(
286
- // createMockScopeAuthorizationResponse([
287
- // {
288
- // scopeGroup: {
289
- // name: 'scope1',
290
- // shortDescription: 'scope1',
291
- // longDescription: 'scope1',
292
- // },
293
- // portalAuthorized: true,
294
- // userAuthorized: true,
295
- // },
296
- // {
297
- // scopeGroup: {
298
- // name: 'scope2',
299
- // shortDescription: 'scope2',
300
- // longDescription: 'scope2',
301
- // },
302
- // portalAuthorized: true,
303
- // userAuthorized: true,
304
- // },
305
- // {
306
- // scopeGroup: {
307
- // name: 'scope3',
308
- // shortDescription: 'scope3',
309
- // longDescription: 'scope3',
310
- // },
311
- // portalAuthorized: true,
312
- // userAuthorized: true,
313
- // },
314
- // ])
315
- // );
316
- // await doctor.diagnose();
317
- // expect(doctor['diagnosis']?.addCLIConfigSection).toHaveBeenCalledWith({
318
- // type: 'warning',
319
- // message:
320
- // 'Personal access key is valid, but there are more scopes available to your user that are not included in your key.',
321
- // secondaryMessaging: expect.any(String),
322
- // });
323
- // });
324
- it('should not warn when the missing scope is not authorized', async () => {
325
- scopesOnAccessToken.mockResolvedValueOnce(['scope1']);
326
- fetchScopeAuthorizationData.mockResolvedValueOnce(createMockScopeAuthorizationResponse([
327
- {
328
- scopeGroup: {
329
- name: 'scope1',
330
- shortDescription: 'scope1',
331
- longDescription: 'scope1',
332
- },
333
- portalAuthorized: true,
334
- userAuthorized: true,
335
- },
336
- {
337
- scopeGroup: {
338
- name: 'scope2',
339
- shortDescription: 'scope2',
340
- longDescription: 'scope2',
341
- },
342
- portalAuthorized: true,
343
- userAuthorized: false,
344
- },
345
- ]));
346
- await doctor.diagnose();
347
- expect(doctor['diagnosis']?.addCLIConfigSection).toHaveBeenCalledWith({
348
- type: 'success',
349
- message: expect.stringMatching(/Personal Access Key is valid./),
350
- });
351
- });
352
- });
353
- });
354
- describe('Project Checks', () => {
355
- describe('Dependencies', () => {
356
- it('should add warning section if dependencies are missing', async () => {
357
- hasMissingPackages.mockResolvedValue(true);
358
- await doctor.diagnose();
359
- // @ts-expect-error Testing private method
360
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
361
- type: 'warning',
362
- message: expect.stringMatching(/missing dependencies in/),
363
- secondaryMessaging: expect.stringMatching(/to install all project dependencies locally/),
364
- });
365
- });
366
- it('should add success section if no dependencies are missing', async () => {
367
- hasMissingPackages.mockResolvedValue(false);
368
- await doctor.diagnose();
369
- // @ts-expect-error Testing private method
370
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
371
- type: 'success',
372
- message: 'App dependencies are installed and up to date',
373
- });
374
- });
375
- it('should add error section if the package.json file is invalid JSON', async () => {
376
- hasMissingPackages.mockImplementationOnce(() => {
377
- throw new Error('Uh oh');
378
- });
379
- utilPromisify.mockReturnValueOnce(vi.fn().mockImplementation((filename) => {
380
- if (filename.endsWith('package.json')) {
381
- return 'not-valid-json';
382
- }
383
- return JSON.stringify({ valid: true });
384
- }));
385
- await doctor.diagnose();
386
- // @ts-expect-error Testing private method
387
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
388
- type: 'error',
389
- message: expect.stringMatching(/Invalid JSON in/),
390
- });
391
- });
392
- it('should add error section if it is unable to determine if dependencies need installed', async () => {
393
- hasMissingPackages.mockImplementationOnce(() => {
394
- throw new Error('Uh oh');
395
- });
396
- await doctor.diagnose();
397
- // @ts-expect-error Testing private method
398
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
399
- type: 'error',
400
- message: expect.stringMatching(/Unable to determine if dependencies are installed/),
401
- });
402
- });
403
- });
404
- describe('Port', () => {
405
- it('should add warning section if port is in use', async () => {
406
- isPortManagerPortAvailable.mockResolvedValue(false);
407
- await doctor.diagnose();
408
- // @ts-expect-error Testing private method
409
- expect(doctor.diagnosis?.addProjectSection).toHaveBeenCalledWith({
410
- type: 'warning',
411
- message: 'Port 8080 is in use',
412
- secondaryMessaging: expect.stringMatching(/Make sure it is available before running/),
413
- });
414
- });
415
- it('should add success section if port is available', async () => {
416
- isPortManagerPortAvailable.mockResolvedValue(true);
417
- await doctor.diagnose();
418
- // @ts-expect-error Testing private method
419
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
420
- type: 'success',
421
- message: 'Port 8080 available for local development',
422
- });
423
- });
424
- });
425
- describe('JSON Files', () => {
426
- it('should add success section if project json files are valid', async () => {
427
- utilPromisify.mockReturnValueOnce(vi.fn().mockResolvedValue(JSON.stringify({ valid: true })));
428
- await doctor.diagnose();
429
- // @ts-expect-error Testing private method
430
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
431
- type: 'success',
432
- message: 'JSON files valid',
433
- });
434
- });
435
- it('should add error section if project json files are invalid', async () => {
436
- utilPromisify.mockReturnValueOnce(vi.fn().mockResolvedValue('not-valid-json'));
437
- await doctor.diagnose();
438
- // @ts-expect-error Testing private method
439
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
440
- type: 'error',
441
- message: expect.stringMatching(/Invalid JSON in/),
442
- });
443
- });
444
- });
445
- });
446
- describe('Networking Checks', () => {
447
- it('should perform network connectivity check during diagnosis', async () => {
448
- await doctor.diagnose();
449
- // @ts-expect-error Testing private method
450
- expect(doctor.diagnosis.addNetworkingSection).toHaveBeenCalled();
451
- });
452
- });
453
- describe('Project Validation', () => {
454
- it('should skip validation if no project config exists', async () => {
455
- doctor = new Doctor({
456
- generateDiagnosticInfo: vi.fn().mockResolvedValue({
457
- ...diagnosticInfo,
458
- project: { config: null },
459
- }),
460
- });
461
- await doctor.diagnose();
462
- // @ts-expect-error Testing private method
463
- const projectSections = doctor.diagnosis.project?.sections || [];
464
- const validationSections = projectSections.filter((s) => s.message?.includes('validation'));
465
- expect(validationSections.length).toBe(0);
466
- });
467
- it('should validate V1 projects successfully', async () => {
468
- validateProjectConfig.mockReturnValue(undefined);
469
- isV2Project.mockReturnValue(false);
470
- await doctor.diagnose();
471
- // @ts-expect-error Testing private method
472
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
473
- type: 'success',
474
- message: 'Project configuration and structure is valid',
475
- });
476
- });
477
- it('should handle invalid project config', async () => {
478
- validateProjectConfig.mockImplementation(() => {
479
- throw new Error('Invalid config');
480
- });
481
- await doctor.diagnose();
482
- // @ts-expect-error Testing private method
483
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
484
- type: 'error',
485
- message: 'Project configuration is invalid',
486
- secondaryMessaging: 'Invalid config',
487
- });
488
- });
489
- it('should validate V2 projects with profiles', async () => {
490
- validateProjectConfig.mockReturnValue(undefined);
491
- isV2Project.mockReturnValue(true);
492
- validateSourceDirectory.mockResolvedValue(undefined);
493
- getAllHsProfiles.mockResolvedValue(['dev', 'prod']);
494
- validateProjectForProfile.mockResolvedValue([]);
495
- await doctor.diagnose();
496
- expect(validateProjectForProfile).toHaveBeenCalledTimes(2);
497
- // @ts-expect-error Testing private method
498
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
499
- type: 'success',
500
- message: 'Project configuration and structure is valid',
501
- });
502
- });
503
- it('should report profile validation errors', async () => {
504
- validateProjectConfig.mockReturnValue(undefined);
505
- isV2Project.mockReturnValue(true);
506
- validateSourceDirectory.mockResolvedValue(undefined);
507
- getAllHsProfiles.mockResolvedValue(['dev']);
508
- validateProjectForProfile.mockResolvedValue([
509
- new Error('Validation error'),
510
- ]);
511
- await doctor.diagnose();
512
- // @ts-expect-error Testing private method
513
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
514
- type: 'error',
515
- message: "Project validation failed with profile 'dev' applied",
516
- secondaryMessaging: expect.any(String),
517
- });
518
- });
519
- it('should validate V2 projects without profiles', async () => {
520
- validateProjectConfig.mockReturnValue(undefined);
521
- isV2Project.mockReturnValue(true);
522
- validateSourceDirectory.mockResolvedValue(undefined);
523
- getAllHsProfiles.mockResolvedValue([]);
524
- handleTranslate.mockResolvedValue(undefined);
525
- await doctor.diagnose();
526
- expect(handleTranslate).toHaveBeenCalled();
527
- // @ts-expect-error Testing private method
528
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
529
- type: 'success',
530
- message: 'Project configuration and structure is valid',
531
- });
532
- });
533
- it('should handle translation failures', async () => {
534
- validateProjectConfig.mockReturnValue(undefined);
535
- isV2Project.mockReturnValue(true);
536
- validateSourceDirectory.mockResolvedValue(undefined);
537
- getAllHsProfiles.mockResolvedValue([]);
538
- handleTranslate.mockRejectedValue(new Error('Translation failed'));
539
- await doctor.diagnose();
540
- // @ts-expect-error Testing private method
541
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
542
- type: 'warning',
543
- message: 'Project validation failed',
544
- secondaryMessaging: expect.any(String),
545
- });
546
- });
547
- it('should handle source directory validation errors', async () => {
548
- validateProjectConfig.mockReturnValue(undefined);
549
- isV2Project.mockReturnValue(true);
550
- validateSourceDirectory.mockRejectedValue(new Error('Source directory invalid'));
551
- await doctor.diagnose();
552
- // @ts-expect-error Testing private method
553
- expect(doctor.diagnosis.addProjectSection).toHaveBeenCalledWith({
554
- type: 'error',
555
- message: 'Project source directory validation failed',
556
- secondaryMessaging: 'Source directory invalid',
557
- });
558
- });
559
- });
560
- });
@@ -1 +0,0 @@
1
- export {};