@hubspot/cli 7.7.20-experimental.0 → 7.7.21-experimental.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 (563) hide show
  1. package/api/__tests__/migrate.test.js +27 -29
  2. package/api/migrate.js +14 -22
  3. package/bin/cli.js +92 -97
  4. package/bin/hs +2 -2
  5. package/bin/hscms +2 -2
  6. package/bin/silenceErrors.js +1 -2
  7. package/commands/__tests__/account.test.js +29 -34
  8. package/commands/__tests__/auth.test.js +11 -16
  9. package/commands/__tests__/cms.test.js +15 -20
  10. package/commands/__tests__/config.test.js +14 -19
  11. package/commands/__tests__/create.test.js +10 -15
  12. package/commands/__tests__/customObject.test.js +14 -19
  13. package/commands/__tests__/doctor.test.js +43 -48
  14. package/commands/__tests__/feedback.test.js +7 -45
  15. package/commands/__tests__/fetch.test.js +29 -28
  16. package/commands/__tests__/filemanager.test.js +14 -19
  17. package/commands/__tests__/function.test.js +16 -21
  18. package/commands/__tests__/getStarted.test.js +48 -53
  19. package/commands/__tests__/hubdb.test.js +17 -22
  20. package/commands/__tests__/init.test.js +12 -17
  21. package/commands/__tests__/lint.test.js +13 -18
  22. package/commands/__tests__/list.test.js +18 -23
  23. package/commands/__tests__/logs.test.js +28 -27
  24. package/commands/__tests__/mcp.test.js +14 -19
  25. package/commands/__tests__/mv.test.js +14 -52
  26. package/commands/__tests__/open.test.js +13 -51
  27. package/commands/__tests__/project.test.js +44 -49
  28. package/commands/__tests__/remove.test.js +13 -51
  29. package/commands/__tests__/sandbox.test.js +14 -19
  30. package/commands/__tests__/secret.test.js +16 -21
  31. package/commands/__tests__/testAccount.test.js +16 -21
  32. package/commands/__tests__/theme.test.js +15 -20
  33. package/commands/account/__tests__/auth.test.js +11 -16
  34. package/commands/account/__tests__/clean.test.js +12 -17
  35. package/commands/account/__tests__/createOverride.test.js +10 -15
  36. package/commands/account/__tests__/info.test.js +11 -16
  37. package/commands/account/__tests__/list.test.js +11 -16
  38. package/commands/account/__tests__/remove.test.js +13 -18
  39. package/commands/account/__tests__/removeOverride.js +8 -13
  40. package/commands/account/__tests__/rename.test.js +15 -20
  41. package/commands/account/__tests__/use.test.js +10 -15
  42. package/commands/account/auth.d.ts +1 -1
  43. package/commands/account/auth.js +65 -67
  44. package/commands/account/clean.d.ts +1 -1
  45. package/commands/account/clean.js +55 -60
  46. package/commands/account/createOverride.d.ts +1 -1
  47. package/commands/account/createOverride.js +52 -57
  48. package/commands/account/info.d.ts +1 -1
  49. package/commands/account/info.js +33 -35
  50. package/commands/account/list.d.ts +1 -1
  51. package/commands/account/list.js +43 -45
  52. package/commands/account/remove.d.ts +1 -1
  53. package/commands/account/remove.js +37 -42
  54. package/commands/account/removeOverride.d.ts +1 -1
  55. package/commands/account/removeOverride.js +38 -43
  56. package/commands/account/rename.d.ts +1 -1
  57. package/commands/account/rename.js +18 -20
  58. package/commands/account/use.d.ts +1 -1
  59. package/commands/account/use.js +29 -31
  60. package/commands/account.d.ts +1 -1
  61. package/commands/account.js +23 -28
  62. package/commands/app/__tests__/migrate.test.js +29 -34
  63. package/commands/app/migrate.d.ts +2 -2
  64. package/commands/app/migrate.js +40 -43
  65. package/commands/app/secret/__tests__/add.test.js +6 -11
  66. package/commands/app/secret/__tests__/delete.test.js +6 -11
  67. package/commands/app/secret/__tests__/list.test.js +6 -11
  68. package/commands/app/secret/__tests__/update.test.js +6 -11
  69. package/commands/app/secret/add.d.ts +1 -1
  70. package/commands/app/secret/add.js +28 -30
  71. package/commands/app/secret/delete.d.ts +1 -1
  72. package/commands/app/secret/delete.js +34 -36
  73. package/commands/app/secret/list.d.ts +1 -1
  74. package/commands/app/secret/list.js +25 -27
  75. package/commands/app/secret/update.d.ts +1 -1
  76. package/commands/app/secret/update.js +32 -34
  77. package/commands/app/secret.d.ts +1 -1
  78. package/commands/app/secret.js +12 -17
  79. package/commands/app.d.ts +1 -1
  80. package/commands/app.js +6 -11
  81. package/commands/auth.d.ts +1 -1
  82. package/commands/auth.js +70 -72
  83. package/commands/cms/convertFields.d.ts +1 -1
  84. package/commands/cms/convertFields.js +34 -39
  85. package/commands/cms/getReactModule.d.ts +1 -1
  86. package/commands/cms/getReactModule.js +32 -37
  87. package/commands/cms/lighthouseScore.d.ts +1 -1
  88. package/commands/cms/lighthouseScore.js +67 -72
  89. package/commands/cms.d.ts +1 -1
  90. package/commands/cms.js +11 -16
  91. package/commands/completion.d.ts +1 -1
  92. package/commands/completion.js +10 -15
  93. package/commands/config/migrate.d.ts +1 -1
  94. package/commands/config/migrate.js +27 -32
  95. package/commands/config/set.d.ts +1 -1
  96. package/commands/config/set.js +23 -25
  97. package/commands/config.d.ts +1 -1
  98. package/commands/config.js +8 -13
  99. package/commands/create/api-sample.d.ts +1 -1
  100. package/commands/create/api-sample.js +28 -33
  101. package/commands/create/app.d.ts +1 -1
  102. package/commands/create/app.js +3 -5
  103. package/commands/create/function.d.ts +1 -1
  104. package/commands/create/function.js +9 -11
  105. package/commands/create/index.d.ts +1 -1
  106. package/commands/create/index.js +19 -24
  107. package/commands/create/module.d.ts +1 -1
  108. package/commands/create/module.js +12 -14
  109. package/commands/create/react-app.d.ts +1 -1
  110. package/commands/create/react-app.js +3 -5
  111. package/commands/create/template.d.ts +1 -1
  112. package/commands/create/template.js +12 -14
  113. package/commands/create/vue-app.d.ts +1 -1
  114. package/commands/create/vue-app.js +3 -5
  115. package/commands/create/webpack-serverless.d.ts +1 -1
  116. package/commands/create/webpack-serverless.js +3 -5
  117. package/commands/create/website-theme.d.ts +1 -1
  118. package/commands/create/website-theme.js +5 -7
  119. package/commands/create.d.ts +2 -2
  120. package/commands/create.js +30 -35
  121. package/commands/customObject/__tests__/create.test.js +13 -18
  122. package/commands/customObject/__tests__/schema.test.js +18 -23
  123. package/commands/customObject/create.d.ts +1 -1
  124. package/commands/customObject/create.js +28 -30
  125. package/commands/customObject/schema/__tests__/create.test.js +13 -18
  126. package/commands/customObject/schema/__tests__/delete.test.js +13 -18
  127. package/commands/customObject/schema/__tests__/fetch-all.test.js +13 -18
  128. package/commands/customObject/schema/__tests__/fetch.test.js +13 -18
  129. package/commands/customObject/schema/__tests__/list.test.js +13 -18
  130. package/commands/customObject/schema/__tests__/update.test.js +13 -18
  131. package/commands/customObject/schema/create.d.ts +1 -1
  132. package/commands/customObject/schema/create.js +28 -30
  133. package/commands/customObject/schema/delete.d.ts +1 -1
  134. package/commands/customObject/schema/delete.js +24 -26
  135. package/commands/customObject/schema/fetch-all.d.ts +1 -1
  136. package/commands/customObject/schema/fetch-all.js +22 -24
  137. package/commands/customObject/schema/fetch.d.ts +1 -1
  138. package/commands/customObject/schema/fetch.js +24 -26
  139. package/commands/customObject/schema/list.d.ts +1 -1
  140. package/commands/customObject/schema/list.js +13 -15
  141. package/commands/customObject/schema/update.d.ts +1 -1
  142. package/commands/customObject/schema/update.js +32 -34
  143. package/commands/customObject/schema.d.ts +1 -1
  144. package/commands/customObject/schema.js +17 -22
  145. package/commands/customObject.d.ts +1 -1
  146. package/commands/customObject.js +13 -18
  147. package/commands/doctor.d.ts +1 -1
  148. package/commands/doctor.js +28 -33
  149. package/commands/feedback.d.ts +1 -1
  150. package/commands/feedback.js +19 -24
  151. package/commands/fetch.d.ts +1 -1
  152. package/commands/fetch.js +28 -30
  153. package/commands/filemanager/__tests__/fetch.test.js +17 -22
  154. package/commands/filemanager/__tests__/upload.test.js +15 -20
  155. package/commands/filemanager/fetch.d.ts +1 -1
  156. package/commands/filemanager/fetch.js +23 -25
  157. package/commands/filemanager/upload.d.ts +1 -1
  158. package/commands/filemanager/upload.js +39 -44
  159. package/commands/filemanager.d.ts +1 -1
  160. package/commands/filemanager.js +8 -13
  161. package/commands/function/deploy.d.ts +1 -1
  162. package/commands/function/deploy.js +35 -40
  163. package/commands/function/list.d.ts +1 -1
  164. package/commands/function/list.js +24 -29
  165. package/commands/function/server.d.ts +1 -1
  166. package/commands/function/server.js +15 -17
  167. package/commands/function.d.ts +1 -1
  168. package/commands/function.js +12 -18
  169. package/commands/getStarted.d.ts +1 -1
  170. package/commands/getStarted.js +124 -130
  171. package/commands/hubdb/__tests__/clear.test.js +13 -18
  172. package/commands/hubdb/__tests__/create.test.js +13 -18
  173. package/commands/hubdb/__tests__/delete.test.js +13 -18
  174. package/commands/hubdb/__tests__/fetch.test.js +13 -18
  175. package/commands/hubdb/__tests__/list.test.js +23 -28
  176. package/commands/hubdb/clear.d.ts +1 -1
  177. package/commands/hubdb/clear.js +20 -22
  178. package/commands/hubdb/create.d.ts +1 -1
  179. package/commands/hubdb/create.js +30 -35
  180. package/commands/hubdb/delete.d.ts +1 -1
  181. package/commands/hubdb/delete.js +24 -26
  182. package/commands/hubdb/fetch.d.ts +1 -1
  183. package/commands/hubdb/fetch.js +17 -19
  184. package/commands/hubdb/list.d.ts +1 -1
  185. package/commands/hubdb/list.js +33 -35
  186. package/commands/hubdb.d.ts +1 -1
  187. package/commands/hubdb.js +18 -24
  188. package/commands/init.d.ts +1 -1
  189. package/commands/init.js +83 -88
  190. package/commands/lint.d.ts +1 -1
  191. package/commands/lint.js +24 -26
  192. package/commands/list.d.ts +1 -1
  193. package/commands/list.js +32 -37
  194. package/commands/logs.d.ts +1 -1
  195. package/commands/logs.js +35 -37
  196. package/commands/mcp/__tests__/setup.test.js +7 -12
  197. package/commands/mcp/__tests__/start.test.js +7 -12
  198. package/commands/mcp/setup.d.ts +1 -1
  199. package/commands/mcp/setup.js +17 -19
  200. package/commands/mcp/start.d.ts +1 -1
  201. package/commands/mcp/start.js +29 -34
  202. package/commands/mcp.d.ts +1 -1
  203. package/commands/mcp.js +7 -12
  204. package/commands/module/marketplace-validate.d.ts +1 -1
  205. package/commands/module/marketplace-validate.js +21 -26
  206. package/commands/module.d.ts +1 -1
  207. package/commands/module.js +7 -13
  208. package/commands/mv.d.ts +1 -1
  209. package/commands/mv.js +20 -22
  210. package/commands/open.d.ts +1 -1
  211. package/commands/open.js +19 -21
  212. package/commands/project/__tests__/add.test.js +10 -15
  213. package/commands/project/__tests__/create.test.js +14 -19
  214. package/commands/project/__tests__/deploy.test.js +93 -131
  215. package/commands/project/__tests__/devUnifiedFlow.test.js +135 -140
  216. package/commands/project/__tests__/download.test.js +14 -19
  217. package/commands/project/__tests__/installDeps.test.js +32 -70
  218. package/commands/project/__tests__/listBuilds.test.js +14 -19
  219. package/commands/project/__tests__/logs.test.js +56 -94
  220. package/commands/project/__tests__/migrate.test.js +25 -30
  221. package/commands/project/__tests__/migrateApp.test.js +17 -22
  222. package/commands/project/__tests__/open.test.js +16 -21
  223. package/commands/project/__tests__/profile.test.js +14 -19
  224. package/commands/project/__tests__/upload.test.js +18 -23
  225. package/commands/project/__tests__/watch.test.js +14 -19
  226. package/commands/project/add.d.ts +1 -1
  227. package/commands/project/add.js +34 -36
  228. package/commands/project/cloneApp.d.ts +1 -1
  229. package/commands/project/cloneApp.js +67 -72
  230. package/commands/project/create.d.ts +2 -2
  231. package/commands/project/create.js +62 -67
  232. package/commands/project/deploy.d.ts +1 -1
  233. package/commands/project/deploy.js +72 -77
  234. package/commands/project/dev/deprecatedFlow.d.ts +2 -2
  235. package/commands/project/dev/deprecatedFlow.js +52 -58
  236. package/commands/project/dev/index.d.ts +1 -1
  237. package/commands/project/dev/index.js +44 -47
  238. package/commands/project/dev/unifiedFlow.d.ts +3 -3
  239. package/commands/project/dev/unifiedFlow.js +62 -68
  240. package/commands/project/download.d.ts +1 -1
  241. package/commands/project/download.js +35 -40
  242. package/commands/project/installDeps.d.ts +1 -1
  243. package/commands/project/installDeps.js +29 -34
  244. package/commands/project/listBuilds.d.ts +1 -1
  245. package/commands/project/listBuilds.js +40 -45
  246. package/commands/project/logs.d.ts +1 -1
  247. package/commands/project/logs.js +52 -54
  248. package/commands/project/migrate.d.ts +1 -1
  249. package/commands/project/migrate.js +24 -26
  250. package/commands/project/migrateApp.d.ts +2 -2
  251. package/commands/project/migrateApp.js +18 -20
  252. package/commands/project/open.d.ts +1 -1
  253. package/commands/project/open.js +25 -30
  254. package/commands/project/profile/add.d.ts +1 -1
  255. package/commands/project/profile/add.js +68 -73
  256. package/commands/project/profile/delete.d.ts +1 -1
  257. package/commands/project/profile/delete.js +51 -56
  258. package/commands/project/profile.d.ts +1 -1
  259. package/commands/project/profile.js +9 -14
  260. package/commands/project/upload.d.ts +1 -1
  261. package/commands/project/upload.js +50 -55
  262. package/commands/project/validate.d.ts +1 -1
  263. package/commands/project/validate.js +35 -40
  264. package/commands/project/watch.d.ts +1 -1
  265. package/commands/project/watch.js +59 -61
  266. package/commands/project.d.ts +1 -1
  267. package/commands/project.js +38 -43
  268. package/commands/remove.d.ts +1 -1
  269. package/commands/remove.js +15 -17
  270. package/commands/sandbox/__tests__/create.test.js +15 -20
  271. package/commands/sandbox/__tests__/delete.test.js +15 -20
  272. package/commands/sandbox/create.d.ts +1 -1
  273. package/commands/sandbox/create.js +67 -69
  274. package/commands/sandbox/delete.d.ts +1 -1
  275. package/commands/sandbox/delete.js +94 -96
  276. package/commands/sandbox.d.ts +1 -1
  277. package/commands/sandbox.js +9 -14
  278. package/commands/secret/__tests__/addSecret.test.js +13 -18
  279. package/commands/secret/__tests__/deleteSecret.test.js +13 -18
  280. package/commands/secret/__tests__/listSecret.test.js +13 -18
  281. package/commands/secret/__tests__/updateSecret.test.js +13 -18
  282. package/commands/secret/addSecret.d.ts +1 -1
  283. package/commands/secret/addSecret.js +26 -28
  284. package/commands/secret/deleteSecret.d.ts +1 -1
  285. package/commands/secret/deleteSecret.js +27 -29
  286. package/commands/secret/listSecret.d.ts +1 -1
  287. package/commands/secret/listSecret.js +19 -21
  288. package/commands/secret/updateSecret.d.ts +1 -1
  289. package/commands/secret/updateSecret.js +25 -27
  290. package/commands/secret.d.ts +1 -1
  291. package/commands/secret.js +13 -18
  292. package/commands/testAccount/__tests__/create.test.js +17 -22
  293. package/commands/testAccount/__tests__/createConfig.test.js +6 -11
  294. package/commands/testAccount/__tests__/delete.test.js +15 -20
  295. package/commands/testAccount/create.d.ts +1 -1
  296. package/commands/testAccount/create.js +50 -55
  297. package/commands/testAccount/createConfig.d.ts +2 -2
  298. package/commands/testAccount/createConfig.js +36 -41
  299. package/commands/testAccount/delete.d.ts +1 -1
  300. package/commands/testAccount/delete.js +17 -19
  301. package/commands/testAccount.d.ts +1 -1
  302. package/commands/testAccount.js +10 -15
  303. package/commands/theme/__tests__/generate-selectors.test.js +7 -12
  304. package/commands/theme/__tests__/marketplace-validate.test.js +14 -19
  305. package/commands/theme/__tests__/preview.test.js +12 -17
  306. package/commands/theme/generate-selectors.d.ts +1 -1
  307. package/commands/theme/generate-selectors.js +23 -28
  308. package/commands/theme/marketplace-validate.d.ts +1 -1
  309. package/commands/theme/marketplace-validate.js +19 -24
  310. package/commands/theme/preview.d.ts +1 -1
  311. package/commands/theme/preview.js +60 -65
  312. package/commands/theme.d.ts +1 -1
  313. package/commands/theme.js +11 -16
  314. package/commands/upload.d.ts +1 -1
  315. package/commands/upload.js +77 -82
  316. package/commands/watch.d.ts +1 -1
  317. package/commands/watch.js +45 -51
  318. package/lang/en.d.ts +0 -1
  319. package/lang/en.js +369 -376
  320. package/lib/__tests__/accountTypes.test.js +20 -22
  321. package/lib/__tests__/buildAccount.test.js +26 -61
  322. package/lib/__tests__/commonOpts.test.js +20 -22
  323. package/lib/__tests__/dependencyManagement.test.js +46 -51
  324. package/lib/__tests__/developerTestAccounts.test.js +27 -62
  325. package/lib/__tests__/hasFeature.test.js +6 -8
  326. package/lib/__tests__/npm.test.js +15 -20
  327. package/lib/__tests__/oauth.test.js +23 -28
  328. package/lib/__tests__/parsing.test.js +18 -20
  329. package/lib/__tests__/polling.test.js +24 -26
  330. package/lib/__tests__/process.test.js +14 -19
  331. package/lib/__tests__/projectProfiles.test.js +34 -39
  332. package/lib/__tests__/sandboxSync.test.js +30 -35
  333. package/lib/__tests__/sandboxes.test.js +29 -31
  334. package/lib/__tests__/serverlessLogs.test.js +8 -13
  335. package/lib/__tests__/usageTracking.test.js +33 -34
  336. package/lib/__tests__/validation.test.js +18 -20
  337. package/lib/__tests__/yargsUtils.test.js +6 -41
  338. package/lib/accountTypes.js +24 -34
  339. package/lib/app/__tests__/migrate.test.js +94 -99
  340. package/lib/app/__tests__/migrate_legacy.test.js +29 -31
  341. package/lib/app/migrate.d.ts +3 -3
  342. package/lib/app/migrate.js +127 -145
  343. package/lib/app/migrate_legacy.d.ts +1 -1
  344. package/lib/app/migrate_legacy.js +72 -78
  345. package/lib/app/urls.js +5 -9
  346. package/lib/buildAccount.d.ts +1 -1
  347. package/lib/buildAccount.js +59 -67
  348. package/lib/commonOpts.d.ts +1 -1
  349. package/lib/commonOpts.js +42 -59
  350. package/lib/configMigrate.js +34 -38
  351. package/lib/configOptions.js +34 -40
  352. package/lib/constants.js +31 -34
  353. package/lib/customObject.js +2 -6
  354. package/lib/dependencyManagement.js +37 -45
  355. package/lib/developerTestAccounts.d.ts +1 -1
  356. package/lib/developerTestAccounts.js +34 -39
  357. package/lib/doctor/Diagnosis.d.ts +1 -1
  358. package/lib/doctor/Diagnosis.js +25 -29
  359. package/lib/doctor/DiagnosticInfoBuilder.d.ts +1 -1
  360. package/lib/doctor/DiagnosticInfoBuilder.js +30 -37
  361. package/lib/doctor/Doctor.d.ts +1 -1
  362. package/lib/doctor/Doctor.js +94 -101
  363. package/lib/doctor/__tests__/Diagnosis.test.js +9 -14
  364. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +29 -34
  365. package/lib/doctor/__tests__/Doctor.test.js +24 -26
  366. package/lib/enums/exitCodes.js +1 -4
  367. package/lib/errorHandlers/index.js +32 -41
  368. package/lib/errorHandlers/suppressError.d.ts +1 -1
  369. package/lib/errorHandlers/suppressError.js +28 -31
  370. package/lib/filesystem.js +8 -15
  371. package/lib/generateSelectors.js +18 -29
  372. package/lib/hasFeature.d.ts +1 -1
  373. package/lib/hasFeature.js +3 -6
  374. package/lib/interpolation.js +11 -18
  375. package/lib/lang.d.ts +1 -1
  376. package/lib/lang.js +22 -27
  377. package/lib/links.js +16 -24
  378. package/lib/marketplaceValidate.js +29 -39
  379. package/lib/mcp/setup.js +69 -97
  380. package/lib/middleware/__test__/configMiddleware.test.js +20 -55
  381. package/lib/middleware/__test__/gitMiddleware.test.js +7 -42
  382. package/lib/middleware/__test__/notificationsMiddleware.test.js +2 -4
  383. package/lib/middleware/__test__/requestMiddleware.test.js +6 -11
  384. package/lib/middleware/__test__/utils.test.js +9 -11
  385. package/lib/middleware/__test__/yargsChecksMiddleware.test.js +9 -44
  386. package/lib/middleware/autoUpdateMiddleware.js +33 -40
  387. package/lib/middleware/configMiddleware.js +36 -42
  388. package/lib/middleware/fireAlarmMiddleware.js +12 -18
  389. package/lib/middleware/gitMiddleware.js +5 -8
  390. package/lib/middleware/notificationsMiddleware.js +16 -23
  391. package/lib/middleware/requestMiddleware.js +4 -10
  392. package/lib/middleware/utils.js +1 -4
  393. package/lib/middleware/yargsChecksMiddleware.js +10 -13
  394. package/lib/npm.js +14 -23
  395. package/lib/oauth.js +29 -35
  396. package/lib/parsing.js +3 -6
  397. package/lib/polling.js +11 -15
  398. package/lib/process.js +11 -19
  399. package/lib/projectProfiles.d.ts +2 -2
  400. package/lib/projectProfiles.js +32 -42
  401. package/lib/projects/ProjectLogsManager.js +18 -21
  402. package/lib/projects/__tests__/AppDevModeInterface.test.js +140 -145
  403. package/lib/projects/__tests__/LocalDevProcess.test.js +68 -73
  404. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +32 -37
  405. package/lib/projects/__tests__/ProjectLogsManager.test.js +56 -58
  406. package/lib/projects/__tests__/buildAndDeploy.test.js +7 -9
  407. package/lib/projects/__tests__/components.test.js +9 -14
  408. package/lib/projects/__tests__/projects.test.js +35 -40
  409. package/lib/projects/__tests__/structure.test.js +43 -81
  410. package/lib/projects/add/__tests__/legacyAddComponent.test.js +26 -28
  411. package/lib/projects/add/__tests__/v3AddComponent.test.js +25 -30
  412. package/lib/projects/add/legacyAddComponent.d.ts +1 -1
  413. package/lib/projects/add/legacyAddComponent.js +23 -29
  414. package/lib/projects/add/v3AddComponent.d.ts +1 -1
  415. package/lib/projects/add/v3AddComponent.js +35 -41
  416. package/lib/projects/buildAndDeploy.d.ts +1 -1
  417. package/lib/projects/buildAndDeploy.js +88 -97
  418. package/lib/projects/components.js +19 -25
  419. package/lib/projects/config.d.ts +1 -1
  420. package/lib/projects/config.js +32 -41
  421. package/lib/projects/create/__tests__/legacy.test.js +22 -57
  422. package/lib/projects/create/__tests__/v3.test.js +5 -7
  423. package/lib/projects/create/index.d.ts +3 -3
  424. package/lib/projects/create/index.js +19 -22
  425. package/lib/projects/create/legacy.d.ts +1 -1
  426. package/lib/projects/create/legacy.js +25 -31
  427. package/lib/projects/create/v3.d.ts +3 -3
  428. package/lib/projects/create/v3.js +49 -59
  429. package/lib/projects/ensureProjectExists.js +31 -37
  430. package/lib/projects/localDev/AppDevModeInterface.d.ts +3 -3
  431. package/lib/projects/localDev/AppDevModeInterface.js +58 -60
  432. package/lib/projects/localDev/DevServerManager.d.ts +1 -1
  433. package/lib/projects/localDev/DevServerManager.js +24 -26
  434. package/lib/projects/localDev/DevServerManagerV2.d.ts +2 -2
  435. package/lib/projects/localDev/DevServerManagerV2.js +17 -22
  436. package/lib/projects/localDev/LocalDevLogger.d.ts +1 -1
  437. package/lib/projects/localDev/LocalDevLogger.js +59 -64
  438. package/lib/projects/localDev/LocalDevManager.d.ts +1 -1
  439. package/lib/projects/localDev/LocalDevManager.js +106 -111
  440. package/lib/projects/localDev/LocalDevProcess.d.ts +4 -4
  441. package/lib/projects/localDev/LocalDevProcess.js +25 -30
  442. package/lib/projects/localDev/LocalDevState.d.ts +3 -3
  443. package/lib/projects/localDev/LocalDevState.js +3 -5
  444. package/lib/projects/localDev/LocalDevWatcher.d.ts +1 -1
  445. package/lib/projects/localDev/LocalDevWatcher.js +6 -11
  446. package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -1
  447. package/lib/projects/localDev/LocalDevWebsocketServer.js +25 -27
  448. package/lib/projects/localDev/helpers.d.ts +3 -3
  449. package/lib/projects/localDev/helpers.js +156 -174
  450. package/lib/projects/structure.d.ts +3 -3
  451. package/lib/projects/structure.js +32 -78
  452. package/lib/projects/ui.js +10 -13
  453. package/lib/projects/upload.d.ts +1 -1
  454. package/lib/projects/upload.js +55 -64
  455. package/lib/projects/urls.js +14 -24
  456. package/lib/projects/watch.d.ts +1 -1
  457. package/lib/projects/watch.js +48 -54
  458. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +9 -11
  459. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +11 -16
  460. package/lib/prompts/accountNamePrompt.d.ts +1 -1
  461. package/lib/prompts/accountNamePrompt.js +26 -31
  462. package/lib/prompts/accountsPrompt.js +12 -15
  463. package/lib/prompts/cmsFieldPrompt.js +13 -19
  464. package/lib/prompts/createApiSamplePrompt.d.ts +1 -1
  465. package/lib/prompts/createApiSamplePrompt.js +9 -12
  466. package/lib/prompts/createDeveloperTestAccountConfigPrompt.d.ts +1 -1
  467. package/lib/prompts/createDeveloperTestAccountConfigPrompt.js +16 -19
  468. package/lib/prompts/createFunctionPrompt.js +17 -20
  469. package/lib/prompts/createModulePrompt.js +12 -15
  470. package/lib/prompts/createTemplatePrompt.js +5 -8
  471. package/lib/prompts/downloadProjectPrompt.js +17 -20
  472. package/lib/prompts/installAppPrompt.js +19 -26
  473. package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -2
  474. package/lib/prompts/personalAccessKeyPrompt.js +40 -47
  475. package/lib/prompts/previewPrompt.js +15 -22
  476. package/lib/prompts/projectAddPrompt.d.ts +1 -1
  477. package/lib/prompts/projectAddPrompt.js +14 -18
  478. package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -1
  479. package/lib/prompts/projectDevTargetAccountPrompt.js +48 -54
  480. package/lib/prompts/projectNameAndDestPrompt.d.ts +1 -1
  481. package/lib/prompts/projectNameAndDestPrompt.js +22 -29
  482. package/lib/prompts/projectNamePrompt.js +11 -14
  483. package/lib/prompts/projectsLogsPrompt.js +5 -8
  484. package/lib/prompts/promptUtils.d.ts +1 -1
  485. package/lib/prompts/promptUtils.js +15 -22
  486. package/lib/prompts/sandboxesPrompt.d.ts +1 -1
  487. package/lib/prompts/sandboxesPrompt.js +26 -30
  488. package/lib/prompts/secretPrompt.js +10 -15
  489. package/lib/prompts/selectAppPrompt.js +11 -14
  490. package/lib/prompts/selectHubDBTablePrompt.js +24 -30
  491. package/lib/prompts/selectProjectTemplatePrompt.d.ts +1 -1
  492. package/lib/prompts/selectProjectTemplatePrompt.js +10 -13
  493. package/lib/prompts/selectPublicAppForMigrationPrompt.js +22 -25
  494. package/lib/prompts/setAsDefaultAccountPrompt.js +13 -16
  495. package/lib/prompts/uploadPrompt.js +11 -17
  496. package/lib/sandboxSync.d.ts +1 -1
  497. package/lib/sandboxSync.js +58 -65
  498. package/lib/sandboxes.d.ts +1 -1
  499. package/lib/sandboxes.js +68 -76
  500. package/lib/schema.js +12 -23
  501. package/lib/serverlessLogs.js +45 -52
  502. package/lib/testUtils.js +4 -8
  503. package/lib/ui/SpinniesManager.d.ts +1 -1
  504. package/lib/ui/SpinniesManager.js +29 -34
  505. package/lib/ui/boxen.js +11 -14
  506. package/lib/ui/git.js +14 -20
  507. package/lib/ui/index.js +55 -73
  508. package/lib/ui/logger.js +10 -13
  509. package/lib/ui/serverlessFunctionLogs.js +14 -20
  510. package/lib/ui/spinniesUtils.js +24 -39
  511. package/lib/ui/supportHyperlinks.js +3 -6
  512. package/lib/ui/supportsColor.js +11 -17
  513. package/lib/ui/table.js +6 -13
  514. package/lib/upload.js +15 -21
  515. package/lib/usageTracking.js +44 -50
  516. package/lib/utils/hasFlag.js +2 -8
  517. package/lib/validation.js +48 -87
  518. package/lib/yargsUtils.d.ts +1 -1
  519. package/lib/yargsUtils.js +13 -16
  520. package/mcp-server/server.js +6 -8
  521. package/mcp-server/tools/index.js +13 -16
  522. package/mcp-server/tools/project/AddFeatureToProject.d.ts +1 -1
  523. package/mcp-server/tools/project/AddFeatureToProject.js +33 -37
  524. package/mcp-server/tools/project/CreateProjectTool.d.ts +1 -1
  525. package/mcp-server/tools/project/CreateProjectTool.js +44 -48
  526. package/mcp-server/tools/project/DeployProject.d.ts +1 -1
  527. package/mcp-server/tools/project/DeployProject.js +16 -20
  528. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +1 -1
  529. package/mcp-server/tools/project/GuidedWalkthroughTool.js +19 -23
  530. package/mcp-server/tools/project/UploadProjectTools.d.ts +1 -1
  531. package/mcp-server/tools/project/UploadProjectTools.js +10 -17
  532. package/mcp-server/tools/project/ValidateProjectTool.d.ts +1 -1
  533. package/mcp-server/tools/project/ValidateProjectTool.js +11 -15
  534. package/mcp-server/tools/project/__tests__/AddFeatureToProject.test.js +12 -14
  535. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +13 -15
  536. package/mcp-server/tools/project/__tests__/DeployProject.test.js +6 -8
  537. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +4 -6
  538. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +4 -6
  539. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +4 -6
  540. package/mcp-server/tools/project/constants.js +3 -9
  541. package/mcp-server/types.js +1 -5
  542. package/mcp-server/utils/__tests__/command.test.js +9 -11
  543. package/mcp-server/utils/__tests__/project.test.js +12 -17
  544. package/mcp-server/utils/command.d.ts +1 -1
  545. package/mcp-server/utils/command.js +4 -11
  546. package/mcp-server/utils/content.d.ts +1 -1
  547. package/mcp-server/utils/content.js +2 -6
  548. package/mcp-server/utils/project.js +8 -14
  549. package/package.json +15 -11
  550. package/types/LocalDev.d.ts +4 -4
  551. package/types/LocalDev.js +1 -2
  552. package/types/ProjectComponents.d.ts +2 -2
  553. package/types/ProjectComponents.js +1 -2
  554. package/types/Projects.d.ts +1 -1
  555. package/types/Projects.js +2 -5
  556. package/types/Prompts.js +1 -2
  557. package/types/Yargs.js +1 -2
  558. package/types/{Cms.d.ts → cms.d.ts} +1 -1
  559. package/types/cms.js +1 -0
  560. package/types/sandboxes.js +1 -0
  561. package/types/Cms.js +0 -2
  562. package/types/Sandboxes.js +0 -2
  563. /package/types/{Sandboxes.d.ts → sandboxes.d.ts} +0 -0
@@ -1,23 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeployProject = void 0;
4
- const types_1 = require("../../types");
5
- const zod_1 = require("zod");
6
- const command_1 = require("../../utils/command");
7
- const constants_1 = require("./constants");
8
- const project_1 = require("../../utils/project");
9
- const content_1 = require("../../utils/content");
1
+ import { Tool } from '../../types.js';
2
+ import { z } from 'zod';
3
+ import { addFlag } from '../../utils/command.js';
4
+ import { absoluteProjectPath } from './constants.js';
5
+ import { runCommandInDir } from '../../utils/project.js';
6
+ import { formatTextContents, formatTextContent } from '../../utils/content.js';
10
7
  const inputSchema = {
11
- absoluteProjectPath: constants_1.absoluteProjectPath,
12
- buildNumber: zod_1.z
13
- .optional(zod_1.z.number())
8
+ absoluteProjectPath,
9
+ buildNumber: z
10
+ .optional(z.number())
14
11
  .describe('The build number to be deployed. This can be found in the project details page using `hs project open`. If no build number is specified, the most recent build is deployed'),
15
12
  };
16
13
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
- const inputSchemaZodObject = zod_1.z.object({
14
+ const inputSchemaZodObject = z.object({
18
15
  ...inputSchema,
19
16
  });
20
- class DeployProject extends types_1.Tool {
17
+ export class DeployProject extends Tool {
21
18
  constructor(mcpServer) {
22
19
  super(mcpServer);
23
20
  }
@@ -25,19 +22,19 @@ class DeployProject extends types_1.Tool {
25
22
  let command = `hs project deploy`;
26
23
  const content = [];
27
24
  if (!buildNumber) {
28
- const { stdout } = await (0, project_1.runCommandInDir)(absoluteProjectPath, `hs project list-builds --limit 100`);
29
- content.push((0, content_1.formatTextContent)(`Ask the user which build number they would like to deploy? Build information: ${stdout}`));
25
+ const { stdout } = await runCommandInDir(absoluteProjectPath, `hs project list-builds --limit 100`);
26
+ content.push(formatTextContent(`Ask the user which build number they would like to deploy? Build information: ${stdout}`));
30
27
  }
31
28
  else {
32
- command = (0, command_1.addFlag)(command, 'build', buildNumber);
29
+ command = addFlag(command, 'build', buildNumber);
33
30
  }
34
31
  if (content.length) {
35
32
  return {
36
33
  content,
37
34
  };
38
35
  }
39
- const { stdout, stderr } = await (0, project_1.runCommandInDir)(absoluteProjectPath, command);
40
- return (0, content_1.formatTextContents)(stdout, stderr);
36
+ const { stdout, stderr } = await runCommandInDir(absoluteProjectPath, command);
37
+ return formatTextContents(stdout, stderr);
41
38
  }
42
39
  register() {
43
40
  return this.mcpServer.registerTool('deploy-hubspot-project', {
@@ -47,4 +44,3 @@ class DeployProject extends types_1.Tool {
47
44
  }, this.handler);
48
45
  }
49
46
  }
50
- exports.DeployProject = DeployProject;
@@ -1,4 +1,4 @@
1
- import { TextContentResponse, Tool } from '../../types';
1
+ import { TextContentResponse, Tool } from '../../types.js';
2
2
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { z } from 'zod';
4
4
  declare const inputSchemaZodObject: z.ZodObject<{
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GuidedWalkthroughTool = void 0;
4
- const types_1 = require("../../types");
5
- const zod_1 = require("zod");
6
- const command_1 = require("../../utils/command");
7
- const content_1 = require("../../utils/content");
1
+ import { Tool } from '../../types.js';
2
+ import { z } from 'zod';
3
+ import { execAsync } from '../../utils/command.js';
4
+ import { formatTextContents } from '../../utils/content.js';
8
5
  const nextCommands = {
9
6
  'hs init': 'hs auth',
10
7
  'hs auth': 'hs project create',
@@ -12,42 +9,42 @@ const nextCommands = {
12
9
  'hs project upload': 'hs project dev',
13
10
  };
14
11
  const inputSchema = {
15
- command: zod_1.z
12
+ command: z
16
13
  .union([
17
- zod_1.z.literal('hs init'),
18
- zod_1.z.literal('hs auth'),
19
- zod_1.z.literal('hs project create'),
20
- zod_1.z.literal('hs project upload'),
14
+ z.literal('hs init'),
15
+ z.literal('hs auth'),
16
+ z.literal('hs project create'),
17
+ z.literal('hs project upload'),
21
18
  ])
22
19
  .describe('The command to learn more about. Start with `hs init`')
23
20
  .optional(),
24
21
  };
25
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
- const inputSchemaZodObject = zod_1.z.object({
23
+ const inputSchemaZodObject = z.object({
27
24
  ...inputSchema,
28
25
  });
29
- class GuidedWalkthroughTool extends types_1.Tool {
26
+ export class GuidedWalkthroughTool extends Tool {
30
27
  constructor(mcpServer) {
31
28
  super(mcpServer);
32
29
  }
33
30
  async handler({ command }) {
34
31
  if (command) {
35
- const { stdout } = await (0, command_1.execAsync)(`${command} --help`);
36
- return (0, content_1.formatTextContents)(`Display this help output for the user amd wait for them to acknowledge: ${stdout}. ${nextCommands[command] ? `Once they are ready, A good command to look at next is ${nextCommands[command]}` : ''}`);
32
+ const { stdout } = await execAsync(`${command} --help`);
33
+ return formatTextContents(`Display this help output for the user amd wait for them to acknowledge: ${stdout}. ${nextCommands[command] ? `Once they are ready, A good command to look at next is ${nextCommands[command]}` : ''}`);
37
34
  }
38
- return (0, content_1.formatTextContents)('Is there another command you would like to learn more about?');
35
+ return formatTextContents('Is there another command you would like to learn more about?');
39
36
  }
40
37
  register() {
41
38
  return this.mcpServer.registerTool('guided-walkthrough-hubspot-cli', {
42
39
  title: 'Guided walkthrough of the CLI',
43
40
  description: 'Give the user a guided walkthrough of the HubSpot CLI.',
44
41
  inputSchema: {
45
- command: zod_1.z
42
+ command: z
46
43
  .union([
47
- zod_1.z.literal('hs init'),
48
- zod_1.z.literal('hs auth'),
49
- zod_1.z.literal('hs project create'),
50
- zod_1.z.literal('hs project upload'),
44
+ z.literal('hs init'),
45
+ z.literal('hs auth'),
46
+ z.literal('hs project create'),
47
+ z.literal('hs project upload'),
51
48
  ])
52
49
  .describe('The command to learn more about. Start with `hs init`')
53
50
  .optional(),
@@ -55,4 +52,3 @@ class GuidedWalkthroughTool extends types_1.Tool {
55
52
  }, this.handler);
56
53
  }
57
54
  }
58
- exports.GuidedWalkthroughTool = GuidedWalkthroughTool;
@@ -1,4 +1,4 @@
1
- import { TextContentResponse, Tool } from '../../types';
1
+ import { TextContentResponse, Tool } from '../../types.js';
2
2
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import z from 'zod';
4
4
  declare const inputSchemaZodObject: z.ZodObject<{
@@ -1,28 +1,22 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UploadProjectTools = void 0;
7
- const types_1 = require("../../types");
8
- const project_1 = require("../../utils/project");
9
- const constants_1 = require("./constants");
10
- const zod_1 = __importDefault(require("zod"));
11
- const content_1 = require("../../utils/content");
1
+ import { Tool } from '../../types.js';
2
+ import { runCommandInDir } from '../../utils/project.js';
3
+ import { absoluteProjectPath } from './constants.js';
4
+ import z from 'zod';
5
+ import { formatTextContents } from '../../utils/content.js';
12
6
  const inputSchema = {
13
- absoluteProjectPath: constants_1.absoluteProjectPath,
7
+ absoluteProjectPath,
14
8
  };
15
9
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- const inputSchemaZodObject = zod_1.default.object({
10
+ const inputSchemaZodObject = z.object({
17
11
  ...inputSchema,
18
12
  });
19
- class UploadProjectTools extends types_1.Tool {
13
+ export class UploadProjectTools extends Tool {
20
14
  constructor(mcpServer) {
21
15
  super(mcpServer);
22
16
  }
23
17
  async handler({ absoluteProjectPath, }) {
24
- const { stdout, stderr } = await (0, project_1.runCommandInDir)(absoluteProjectPath, `hs project upload --force-create`);
25
- return (0, content_1.formatTextContents)(stdout, stderr);
18
+ const { stdout, stderr } = await runCommandInDir(absoluteProjectPath, `hs project upload --force-create`);
19
+ return formatTextContents(stdout, stderr);
26
20
  }
27
21
  register() {
28
22
  return this.mcpServer.registerTool('upload-hubspot-project', {
@@ -32,4 +26,3 @@ class UploadProjectTools extends types_1.Tool {
32
26
  }, this.handler);
33
27
  }
34
28
  }
35
- exports.UploadProjectTools = UploadProjectTools;
@@ -1,4 +1,4 @@
1
- import { TextContentResponse, Tool } from '../../types';
1
+ import { TextContentResponse, Tool } from '../../types.js';
2
2
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { z } from 'zod';
4
4
  declare const inputSchemaZodObject: z.ZodObject<{
@@ -1,27 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValidateProjectTool = void 0;
4
- const types_1 = require("../../types");
5
- const zod_1 = require("zod");
6
- const constants_1 = require("./constants");
7
- const project_1 = require("../../utils/project");
8
- const content_1 = require("../../utils/content");
1
+ import { Tool } from '../../types.js';
2
+ import { z } from 'zod';
3
+ import { absoluteProjectPath } from './constants.js';
4
+ import { runCommandInDir } from '../../utils/project.js';
5
+ import { formatTextContents } from '../../utils/content.js';
9
6
  const inputSchema = {
10
- absoluteProjectPath: constants_1.absoluteProjectPath,
7
+ absoluteProjectPath,
11
8
  };
12
9
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
- const inputSchemaZodObject = zod_1.z.object({ ...inputSchema });
14
- class ValidateProjectTool extends types_1.Tool {
10
+ const inputSchemaZodObject = z.object({ ...inputSchema });
11
+ export class ValidateProjectTool extends Tool {
15
12
  constructor(mcpServer) {
16
13
  super(mcpServer);
17
14
  }
18
15
  async handler({ absoluteProjectPath, }) {
19
16
  try {
20
- const { stdout, stderr } = await (0, project_1.runCommandInDir)(absoluteProjectPath, 'hs project validate');
21
- return (0, content_1.formatTextContents)(stdout, stderr);
17
+ const { stdout, stderr } = await runCommandInDir(absoluteProjectPath, 'hs project validate');
18
+ return formatTextContents(stdout, stderr);
22
19
  }
23
20
  catch (error) {
24
- return (0, content_1.formatTextContents)(error instanceof Error ? error.message : `${error}`);
21
+ return formatTextContents(error instanceof Error ? error.message : `${error}`);
25
22
  }
26
23
  }
27
24
  register() {
@@ -32,4 +29,3 @@ class ValidateProjectTool extends types_1.Tool {
32
29
  }, this.handler);
33
30
  }
34
31
  }
35
- exports.ValidateProjectTool = ValidateProjectTool;
@@ -1,15 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const AddFeatureToProject_1 = require("../AddFeatureToProject");
4
- const project_1 = require("../../../utils/project");
5
- const command_1 = require("../../../utils/command");
6
- const constants_1 = require("../../../../lib/constants");
1
+ import { AddFeatureToProject, } from '../AddFeatureToProject.js';
2
+ import { runCommandInDir } from '../../../utils/project.js';
3
+ import { addFlag } from '../../../utils/command.js';
4
+ import { APP_AUTH_TYPES, APP_DISTRIBUTION_TYPES, } from '../../../../lib/constants.js';
7
5
  vi.mock('@modelcontextprotocol/sdk/server/mcp.js');
8
6
  vi.mock('../../../utils/project');
9
7
  vi.mock('../../../utils/command');
10
8
  vi.mock('../../../../lib/constants');
11
- const mockRunCommandInDir = project_1.runCommandInDir;
12
- const mockAddFlag = command_1.addFlag;
9
+ const mockRunCommandInDir = runCommandInDir;
10
+ const mockAddFlag = addFlag;
13
11
  describe('mcp-server/tools/project/AddFeatureToProject', () => {
14
12
  let mockMcpServer;
15
13
  let tool;
@@ -22,7 +20,7 @@ describe('mcp-server/tools/project/AddFeatureToProject', () => {
22
20
  };
23
21
  mockRegisteredTool = {};
24
22
  mockMcpServer.registerTool.mockReturnValue(mockRegisteredTool);
25
- tool = new AddFeatureToProject_1.AddFeatureToProject(mockMcpServer);
23
+ tool = new AddFeatureToProject(mockMcpServer);
26
24
  // Mock addFlag to simulate command building
27
25
  mockAddFlag.mockImplementation((command, flag, value) => `${command} --${flag} "${value}"`);
28
26
  });
@@ -93,7 +91,7 @@ describe('mcp-server/tools/project/AddFeatureToProject', () => {
93
91
  const input = {
94
92
  ...baseInput,
95
93
  addApp: true,
96
- distribution: constants_1.APP_DISTRIBUTION_TYPES.PRIVATE,
94
+ distribution: APP_DISTRIBUTION_TYPES.PRIVATE,
97
95
  };
98
96
  const result = await tool.handler(input);
99
97
  expect(result.content).toEqual([
@@ -111,13 +109,13 @@ describe('mcp-server/tools/project/AddFeatureToProject', () => {
111
109
  const input = {
112
110
  ...baseInput,
113
111
  addApp: true,
114
- distribution: constants_1.APP_DISTRIBUTION_TYPES.MARKETPLACE,
115
- auth: constants_1.APP_AUTH_TYPES.OAUTH,
112
+ distribution: APP_DISTRIBUTION_TYPES.MARKETPLACE,
113
+ auth: APP_AUTH_TYPES.OAUTH,
116
114
  features: ['webhooks'],
117
115
  };
118
116
  await tool.handler(input);
119
- expect(mockAddFlag).toHaveBeenCalledWith('hs project add', 'distribution', constants_1.APP_DISTRIBUTION_TYPES.MARKETPLACE);
120
- expect(mockAddFlag).toHaveBeenCalledWith(expect.any(String), 'auth', constants_1.APP_AUTH_TYPES.OAUTH);
117
+ expect(mockAddFlag).toHaveBeenCalledWith('hs project add', 'distribution', APP_DISTRIBUTION_TYPES.MARKETPLACE);
118
+ expect(mockAddFlag).toHaveBeenCalledWith(expect.any(String), 'auth', APP_AUTH_TYPES.OAUTH);
121
119
  expect(mockAddFlag).toHaveBeenCalledWith(expect.any(String), 'features', [
122
120
  'webhooks',
123
121
  ]);
@@ -1,17 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const CreateProjectTool_1 = require("../CreateProjectTool");
4
- const project_1 = require("../../../utils/project");
5
- const command_1 = require("../../../utils/command");
6
- const constants_1 = require("../../../../lib/constants");
7
- const v3_1 = require("../../../../lib/projects/create/v3");
1
+ import { CreateProjectTool, } from '../CreateProjectTool.js';
2
+ import { runCommandInDir } from '../../../utils/project.js';
3
+ import { addFlag } from '../../../utils/command.js';
4
+ import { APP_DISTRIBUTION_TYPES } from '../../../../lib/constants.js';
5
+ import { EMPTY_PROJECT, PROJECT_WITH_APP, } from '../../../../lib/projects/create/v3.js';
8
6
  vi.mock('@modelcontextprotocol/sdk/server/mcp.js');
9
7
  vi.mock('../../../utils/project');
10
8
  vi.mock('../../../utils/command');
11
9
  vi.mock('../../../../lib/constants');
12
10
  vi.mock('../../../../lib/projects/create/v3');
13
- const mockRunCommandInDir = project_1.runCommandInDir;
14
- const mockAddFlag = command_1.addFlag;
11
+ const mockRunCommandInDir = runCommandInDir;
12
+ const mockAddFlag = addFlag;
15
13
  describe('mcp-server/tools/project/CreateProjectTool', () => {
16
14
  let mockMcpServer;
17
15
  let tool;
@@ -24,7 +22,7 @@ describe('mcp-server/tools/project/CreateProjectTool', () => {
24
22
  };
25
23
  mockRegisteredTool = {};
26
24
  mockMcpServer.registerTool.mockReturnValue(mockRegisteredTool);
27
- tool = new CreateProjectTool_1.CreateProjectTool(mockMcpServer);
25
+ tool = new CreateProjectTool(mockMcpServer);
28
26
  // Mock addFlag to simulate command building
29
27
  mockAddFlag.mockImplementation((command, flag, value) => `${command} --${flag} "${value}"`);
30
28
  });
@@ -44,7 +42,7 @@ describe('mcp-server/tools/project/CreateProjectTool', () => {
44
42
  absoluteCurrentWorkingDirectory: '/test/workspace',
45
43
  name: 'test-project',
46
44
  destination: './test-dest',
47
- projectBase: v3_1.EMPTY_PROJECT,
45
+ projectBase: EMPTY_PROJECT,
48
46
  };
49
47
  it('should handle successful command execution', async () => {
50
48
  mockRunCommandInDir.mockResolvedValue({
@@ -55,7 +53,7 @@ describe('mcp-server/tools/project/CreateProjectTool', () => {
55
53
  expect(mockAddFlag).toHaveBeenCalledWith('hs project create', 'platform-version', '2025.2');
56
54
  expect(mockAddFlag).toHaveBeenCalledWith(expect.any(String), 'name', 'test-project');
57
55
  expect(mockAddFlag).toHaveBeenCalledWith(expect.any(String), 'dest', './test-dest');
58
- expect(mockAddFlag).toHaveBeenCalledWith(expect.any(String), 'project-base', v3_1.EMPTY_PROJECT);
56
+ expect(mockAddFlag).toHaveBeenCalledWith(expect.any(String), 'project-base', EMPTY_PROJECT);
59
57
  expect(mockRunCommandInDir).toHaveBeenCalledWith('/test/workspace', expect.any(String));
60
58
  expect(result).toEqual({
61
59
  content: [
@@ -75,7 +73,7 @@ describe('mcp-server/tools/project/CreateProjectTool', () => {
75
73
  it('should prompt for distribution and auth when creating app project without both', async () => {
76
74
  const input = {
77
75
  ...baseInput,
78
- projectBase: v3_1.PROJECT_WITH_APP,
76
+ projectBase: PROJECT_WITH_APP,
79
77
  };
80
78
  const result = await tool.handler(input);
81
79
  expect(result.content).toEqual([
@@ -92,8 +90,8 @@ describe('mcp-server/tools/project/CreateProjectTool', () => {
92
90
  it('should prompt for auth when creating app project without auth', async () => {
93
91
  const input = {
94
92
  ...baseInput,
95
- projectBase: v3_1.PROJECT_WITH_APP,
96
- distribution: constants_1.APP_DISTRIBUTION_TYPES.PRIVATE,
93
+ projectBase: PROJECT_WITH_APP,
94
+ distribution: APP_DISTRIBUTION_TYPES.PRIVATE,
97
95
  };
98
96
  const result = await tool.handler(input);
99
97
  expect(result.content).toEqual([
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const DeployProject_1 = require("../DeployProject");
4
- const project_1 = require("../../../utils/project");
5
- const command_1 = require("../../../utils/command");
1
+ import { DeployProject } from '../DeployProject.js';
2
+ import { runCommandInDir } from '../../../utils/project.js';
3
+ import { addFlag } from '../../../utils/command.js';
6
4
  vi.mock('@modelcontextprotocol/sdk/server/mcp.js');
7
5
  vi.mock('../../../utils/project');
8
6
  vi.mock('../../../utils/command');
9
- const mockRunCommandInDir = project_1.runCommandInDir;
10
- const mockAddFlag = command_1.addFlag;
7
+ const mockRunCommandInDir = runCommandInDir;
8
+ const mockAddFlag = addFlag;
11
9
  describe('mcp-server/tools/project/DeployProject', () => {
12
10
  let mockMcpServer;
13
11
  let tool;
@@ -20,7 +18,7 @@ describe('mcp-server/tools/project/DeployProject', () => {
20
18
  };
21
19
  mockRegisteredTool = {};
22
20
  mockMcpServer.registerTool.mockReturnValue(mockRegisteredTool);
23
- tool = new DeployProject_1.DeployProject(mockMcpServer);
21
+ tool = new DeployProject(mockMcpServer);
24
22
  // Mock addFlag to simulate command building
25
23
  mockAddFlag.mockImplementation((command, flag, value) => `${command} --${flag} "${value}"`);
26
24
  });
@@ -1,10 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const GuidedWalkthroughTool_1 = require("../GuidedWalkthroughTool");
4
- const command_1 = require("../../../utils/command");
1
+ import { GuidedWalkthroughTool } from '../GuidedWalkthroughTool.js';
2
+ import { execAsync } from '../../../utils/command.js';
5
3
  vi.mock('@modelcontextprotocol/sdk/server/mcp.js');
6
4
  vi.mock('../../../utils/command');
7
- const mockExecAsync = command_1.execAsync;
5
+ const mockExecAsync = execAsync;
8
6
  describe('mcp-server/tools/project/GuidedWalkthroughTool', () => {
9
7
  let mockMcpServer;
10
8
  let tool;
@@ -17,7 +15,7 @@ describe('mcp-server/tools/project/GuidedWalkthroughTool', () => {
17
15
  };
18
16
  mockRegisteredTool = {};
19
17
  mockMcpServer.registerTool.mockReturnValue(mockRegisteredTool);
20
- tool = new GuidedWalkthroughTool_1.GuidedWalkthroughTool(mockMcpServer);
18
+ tool = new GuidedWalkthroughTool(mockMcpServer);
21
19
  });
22
20
  describe('register', () => {
23
21
  it('should register tool with correct parameters', () => {
@@ -1,10 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const UploadProjectTools_1 = require("../UploadProjectTools");
4
- const project_1 = require("../../../utils/project");
1
+ import { UploadProjectTools } from '../UploadProjectTools.js';
2
+ import { runCommandInDir } from '../../../utils/project.js';
5
3
  vi.mock('@modelcontextprotocol/sdk/server/mcp.js');
6
4
  vi.mock('../../../utils/project');
7
- const mockRunCommandInDir = project_1.runCommandInDir;
5
+ const mockRunCommandInDir = runCommandInDir;
8
6
  describe('mcp-server/tools/project/UploadProjectTools', () => {
9
7
  let mockMcpServer;
10
8
  let tool;
@@ -17,7 +15,7 @@ describe('mcp-server/tools/project/UploadProjectTools', () => {
17
15
  };
18
16
  mockRegisteredTool = {};
19
17
  mockMcpServer.registerTool.mockReturnValue(mockRegisteredTool);
20
- tool = new UploadProjectTools_1.UploadProjectTools(mockMcpServer);
18
+ tool = new UploadProjectTools(mockMcpServer);
21
19
  });
22
20
  describe('register', () => {
23
21
  it('should register tool with correct parameters', () => {
@@ -1,10 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const ValidateProjectTool_1 = require("../ValidateProjectTool");
4
- const project_1 = require("../../../utils/project");
1
+ import { ValidateProjectTool, } from '../ValidateProjectTool.js';
2
+ import { runCommandInDir } from '../../../utils/project.js';
5
3
  vi.mock('@modelcontextprotocol/sdk/server/mcp.js');
6
4
  vi.mock('../../../utils/project');
7
- const mockRunCommandInDir = project_1.runCommandInDir;
5
+ const mockRunCommandInDir = runCommandInDir;
8
6
  describe('mcp-server/tools/project/ValidateProjectTool', () => {
9
7
  let mockMcpServer;
10
8
  let tool;
@@ -17,7 +15,7 @@ describe('mcp-server/tools/project/ValidateProjectTool', () => {
17
15
  };
18
16
  mockRegisteredTool = {};
19
17
  mockMcpServer.registerTool.mockReturnValue(mockRegisteredTool);
20
- tool = new ValidateProjectTool_1.ValidateProjectTool(mockMcpServer);
18
+ tool = new ValidateProjectTool(mockMcpServer);
21
19
  });
22
20
  describe('register', () => {
23
21
  it('should register tool with correct parameters', () => {
@@ -1,13 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.absoluteCurrentWorkingDirectory = exports.absoluteProjectPath = void 0;
7
- const zod_1 = __importDefault(require("zod"));
8
- exports.absoluteProjectPath = zod_1.default
1
+ import z from 'zod';
2
+ export const absoluteProjectPath = z
9
3
  .string()
10
4
  .describe('The absolute path to the project directory.');
11
- exports.absoluteCurrentWorkingDirectory = zod_1.default
5
+ export const absoluteCurrentWorkingDirectory = z
12
6
  .string()
13
7
  .describe('The absolute path to the current working directory.');
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Tool = void 0;
4
- class Tool {
1
+ export class Tool {
5
2
  mcpServer;
6
3
  constructor(mcpServer) {
7
4
  this.mcpServer = mcpServer;
@@ -14,4 +11,3 @@ class Tool {
14
11
  throw new Error('Must implement handler');
15
12
  }
16
13
  }
17
- exports.Tool = Tool;
@@ -1,43 +1,41 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const command_1 = require("../command");
1
+ import { addFlag } from '../command.js';
4
2
  vi.mock('child_process');
5
3
  vi.mock('util');
6
4
  describe('mcp-server/utils/command', () => {
7
5
  describe('addFlag', () => {
8
6
  it('should add string flag to command', () => {
9
- const result = (0, command_1.addFlag)('hs project create', 'name', 'test-project');
7
+ const result = addFlag('hs project create', 'name', 'test-project');
10
8
  expect(result).toBe('hs project create --name "test-project"');
11
9
  });
12
10
  it('should add number flag to command', () => {
13
- const result = (0, command_1.addFlag)('hs project deploy', 'build', 123);
11
+ const result = addFlag('hs project deploy', 'build', 123);
14
12
  expect(result).toBe('hs project deploy --build "123"');
15
13
  });
16
14
  it('should add boolean flag to command', () => {
17
- const result = (0, command_1.addFlag)('hs project upload', 'watch', true);
15
+ const result = addFlag('hs project upload', 'watch', true);
18
16
  expect(result).toBe('hs project upload --watch "true"');
19
17
  });
20
18
  it('should add array flag to command', () => {
21
- const result = (0, command_1.addFlag)('hs project create', 'features', [
19
+ const result = addFlag('hs project create', 'features', [
22
20
  'card',
23
21
  'settings',
24
22
  ]);
25
23
  expect(result).toBe('hs project create --features "card" "settings"');
26
24
  });
27
25
  it('should handle empty array', () => {
28
- const result = (0, command_1.addFlag)('hs project create', 'features', []);
26
+ const result = addFlag('hs project create', 'features', []);
29
27
  expect(result).toBe('hs project create --features ');
30
28
  });
31
29
  it('should handle array with one item', () => {
32
- const result = (0, command_1.addFlag)('hs project create', 'features', ['card']);
30
+ const result = addFlag('hs project create', 'features', ['card']);
33
31
  expect(result).toBe('hs project create --features "card"');
34
32
  });
35
33
  it('should handle special characters in string values', () => {
36
- const result = (0, command_1.addFlag)('hs project create', 'name', 'my-project with spaces');
34
+ const result = addFlag('hs project create', 'name', 'my-project with spaces');
37
35
  expect(result).toBe('hs project create --name "my-project with spaces"');
38
36
  });
39
37
  it('should handle special characters in array values', () => {
40
- const result = (0, command_1.addFlag)('hs project create', 'features', [
38
+ const result = addFlag('hs project create', 'features', [
41
39
  'card with spaces',
42
40
  'settings',
43
41
  ]);
@@ -1,19 +1,14 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const project_1 = require("../project");
7
- const command_1 = require("../command");
8
- const fs_1 = __importDefault(require("fs"));
9
- const path_1 = __importDefault(require("path"));
1
+ import { runCommandInDir } from '../project.js';
2
+ import { execAsync } from '../command.js';
3
+ import fs from 'fs';
4
+ import path from 'path';
10
5
  vi.mock('../command');
11
6
  vi.mock('fs');
12
7
  vi.mock('path');
13
- const mockExecAsync = command_1.execAsync;
14
- const mockExistsSync = fs_1.default.existsSync;
15
- const mockMkdirSync = fs_1.default.mkdirSync;
16
- const mockResolve = path_1.default.resolve;
8
+ const mockExecAsync = execAsync;
9
+ const mockExistsSync = fs.existsSync;
10
+ const mockMkdirSync = fs.mkdirSync;
11
+ const mockResolve = path.resolve;
17
12
  describe('mcp-server/utils/project', () => {
18
13
  beforeEach(() => {
19
14
  vi.clearAllMocks();
@@ -32,7 +27,7 @@ describe('mcp-server/utils/project', () => {
32
27
  };
33
28
  mockExistsSync.mockReturnValue(true);
34
29
  mockExecAsync.mockResolvedValue(expectedResult);
35
- const result = await (0, project_1.runCommandInDir)(mockDirectory, mockCommand);
30
+ const result = await runCommandInDir(mockDirectory, mockCommand);
36
31
  expect(mockExistsSync).toHaveBeenCalledWith(mockDirectory);
37
32
  expect(mockMkdirSync).not.toHaveBeenCalled();
38
33
  expect(mockResolve).toHaveBeenCalledWith(mockDirectory);
@@ -48,7 +43,7 @@ describe('mcp-server/utils/project', () => {
48
43
  };
49
44
  mockExistsSync.mockReturnValue(false);
50
45
  mockExecAsync.mockResolvedValue(expectedResult);
51
- const result = await (0, project_1.runCommandInDir)(mockDirectory, mockCommand);
46
+ const result = await runCommandInDir(mockDirectory, mockCommand);
52
47
  expect(mockExistsSync).toHaveBeenCalledWith(mockDirectory);
53
48
  expect(mockMkdirSync).toHaveBeenCalledWith(mockDirectory);
54
49
  expect(mockResolve).toHaveBeenCalledWith(mockDirectory);
@@ -61,7 +56,7 @@ describe('mcp-server/utils/project', () => {
61
56
  const error = new Error('Command failed');
62
57
  mockExistsSync.mockReturnValue(true);
63
58
  mockExecAsync.mockRejectedValue(error);
64
- await expect((0, project_1.runCommandInDir)(mockDirectory, mockCommand)).rejects.toThrow('Command failed');
59
+ await expect(runCommandInDir(mockDirectory, mockCommand)).rejects.toThrow('Command failed');
65
60
  expect(mockExecAsync).toHaveBeenCalledWith(mockCommand, {
66
61
  cwd: mockResolvedPath,
67
62
  });
@@ -73,7 +68,7 @@ describe('mcp-server/utils/project', () => {
73
68
  };
74
69
  mockExistsSync.mockReturnValue(true);
75
70
  mockExecAsync.mockResolvedValue(expectedResult);
76
- const result = await (0, project_1.runCommandInDir)(mockDirectory, mockCommand);
71
+ const result = await runCommandInDir(mockDirectory, mockCommand);
77
72
  expect(result.stdout).toBe('some output');
78
73
  expect(result.stderr).toBe('warning message');
79
74
  });