@hubspot/cli 8.0.11-experimental.0 → 8.0.11-experimental.2

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 (595) hide show
  1. package/api/migrate.js +3 -3
  2. package/bin/cli.js +5 -0
  3. package/commands/account/auth.js +12 -22
  4. package/commands/account/clean.js +5 -6
  5. package/commands/account/createOverride.js +7 -7
  6. package/commands/account/info.js +2 -1
  7. package/commands/account/list.js +3 -5
  8. package/commands/account/remove.js +2 -3
  9. package/commands/account/removeOverride.js +8 -10
  10. package/commands/account/rename.js +5 -6
  11. package/commands/account/use.js +8 -19
  12. package/commands/api.d.ts +10 -0
  13. package/commands/api.js +164 -0
  14. package/commands/app/migrate.js +12 -12
  15. package/commands/app/secret/add.js +6 -7
  16. package/commands/app/secret/delete.js +9 -10
  17. package/commands/app/secret/list.js +6 -7
  18. package/commands/app/secret/update.js +8 -9
  19. package/commands/auth.js +12 -12
  20. package/commands/cms/app/create.js +9 -5
  21. package/commands/cms/convertFields.js +8 -8
  22. package/commands/cms/delete.js +2 -3
  23. package/commands/cms/fetch.js +7 -7
  24. package/commands/cms/function/create.js +9 -5
  25. package/commands/cms/function/deploy.js +2 -3
  26. package/commands/cms/function/list.js +11 -7
  27. package/commands/cms/function/logs.js +17 -23
  28. package/commands/cms/function/server.js +2 -3
  29. package/commands/cms/getReactModule.js +7 -8
  30. package/commands/cms/lighthouseScore.js +25 -24
  31. package/commands/cms/lint.js +4 -5
  32. package/commands/cms/list.js +5 -6
  33. package/commands/cms/module/create.js +9 -5
  34. package/commands/cms/module/marketplace-validate.js +7 -8
  35. package/commands/cms/mv.js +2 -3
  36. package/commands/cms/template/create.js +10 -6
  37. package/commands/cms/theme/create.js +5 -5
  38. package/commands/cms/theme/generate-selectors.js +5 -4
  39. package/commands/cms/theme/marketplace-validate.js +8 -9
  40. package/commands/cms/theme/preview.js +16 -8
  41. package/commands/cms/upload.js +15 -12
  42. package/commands/cms/watch.js +5 -5
  43. package/commands/cms/webpack/create.js +5 -5
  44. package/commands/completion.js +3 -5
  45. package/commands/config/migrate.js +6 -7
  46. package/commands/config/set.js +5 -6
  47. package/commands/customObject/create.js +4 -5
  48. package/commands/customObject/createSchema.js +4 -5
  49. package/commands/customObject/deleteSchema.js +4 -5
  50. package/commands/customObject/fetchAllSchemas.js +2 -3
  51. package/commands/customObject/fetchSchema.js +2 -3
  52. package/commands/customObject/listSchemas.js +2 -3
  53. package/commands/customObject/updateSchema.js +4 -5
  54. package/commands/doctor.js +8 -8
  55. package/commands/feedback.js +6 -4
  56. package/commands/filemanager/fetch.js +5 -6
  57. package/commands/filemanager/upload.js +5 -5
  58. package/commands/getStarted.js +16 -18
  59. package/commands/hubdb/clear.js +5 -6
  60. package/commands/hubdb/create.js +4 -5
  61. package/commands/hubdb/delete.js +8 -9
  62. package/commands/hubdb/fetch.js +5 -6
  63. package/commands/hubdb/list.js +16 -14
  64. package/commands/init.js +14 -17
  65. package/commands/mcp/setup.js +5 -6
  66. package/commands/mcp/start.js +2 -3
  67. package/commands/open.js +4 -5
  68. package/commands/project/add.js +13 -8
  69. package/commands/project/create.js +20 -17
  70. package/commands/project/delete.d.ts +7 -0
  71. package/commands/project/delete.js +74 -0
  72. package/commands/project/deploy.js +39 -36
  73. package/commands/project/dev/deprecatedFlow.js +42 -15
  74. package/commands/project/dev/index.d.ts +3 -3
  75. package/commands/project/dev/index.js +29 -34
  76. package/commands/project/dev/unifiedFlow.js +37 -14
  77. package/commands/project/download.js +10 -11
  78. package/commands/project/info.js +19 -19
  79. package/commands/project/installDeps.js +9 -6
  80. package/commands/project/lint.js +11 -8
  81. package/commands/project/list.js +14 -14
  82. package/commands/project/listBuilds.js +8 -6
  83. package/commands/project/logs.js +5 -6
  84. package/commands/project/migrate.js +13 -13
  85. package/commands/project/open.js +5 -6
  86. package/commands/project/profile/add.js +12 -8
  87. package/commands/project/profile/delete.js +15 -11
  88. package/commands/project/updateDeps.js +9 -6
  89. package/commands/project/upload.js +33 -19
  90. package/commands/project/validate.js +12 -12
  91. package/commands/project/watch.js +22 -22
  92. package/commands/project.js +8 -3
  93. package/commands/sandbox/create.js +15 -15
  94. package/commands/sandbox/delete.js +13 -14
  95. package/commands/secret/addSecret.js +6 -7
  96. package/commands/secret/deleteSecret.js +5 -6
  97. package/commands/secret/listSecret.js +2 -3
  98. package/commands/secret/updateSecret.js +4 -5
  99. package/commands/testAccount/create.d.ts +1 -1
  100. package/commands/testAccount/create.js +24 -20
  101. package/commands/testAccount/createConfig.js +7 -8
  102. package/commands/testAccount/delete.js +27 -18
  103. package/commands/testAccount/importData.js +6 -7
  104. package/commands/upgrade.js +9 -10
  105. package/lang/en.d.ts +95 -7
  106. package/lang/en.js +98 -13
  107. package/lib/accountAuth.js +2 -2
  108. package/lib/app/migrate.js +7 -0
  109. package/lib/buildAccount.js +3 -3
  110. package/lib/constants.d.ts +0 -1
  111. package/lib/constants.js +0 -1
  112. package/lib/doctor/Diagnosis.js +5 -5
  113. package/lib/doctor/Doctor.js +2 -2
  114. package/lib/errorHandlers/index.js +4 -3
  115. package/lib/errorHandlers/suppressError.js +4 -0
  116. package/lib/errors/PromptExitError.d.ts +4 -2
  117. package/lib/errors/PromptExitError.js +3 -0
  118. package/lib/getStartedV2Actions.js +2 -2
  119. package/lib/hasFeature.js +1 -2
  120. package/lib/middleware/autoUpdateMiddleware.js +6 -3
  121. package/lib/process.d.ts +1 -1
  122. package/lib/process.js +10 -3
  123. package/lib/projects/ProjectLogsManager.js +2 -2
  124. package/lib/projects/create/index.js +2 -2
  125. package/lib/projects/create/legacy.js +2 -2
  126. package/lib/projects/create/v2.js +3 -4
  127. package/lib/projects/delete.d.ts +13 -0
  128. package/lib/projects/delete.js +193 -0
  129. package/lib/projects/deploy.d.ts +1 -1
  130. package/lib/projects/deploy.js +2 -2
  131. package/lib/projects/localDev/AppDevModeInterface.js +11 -11
  132. package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +3 -1
  133. package/lib/projects/localDev/DevServerManager_DEPRECATED.js +2 -2
  134. package/lib/projects/localDev/DevSessionManager.d.ts +6 -3
  135. package/lib/projects/localDev/DevSessionManager.js +31 -19
  136. package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +3 -0
  137. package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +16 -12
  138. package/lib/projects/localDev/LocalDevProcess.js +6 -5
  139. package/lib/projects/localDev/LocalDevState.d.ts +3 -2
  140. package/lib/projects/localDev/LocalDevState.js +3 -1
  141. package/lib/projects/localDev/helpers/account.d.ts +4 -3
  142. package/lib/projects/localDev/helpers/account.js +16 -19
  143. package/lib/projects/localDev/helpers/process.d.ts +1 -1
  144. package/lib/projects/localDev/helpers/process.js +4 -10
  145. package/lib/projects/localDev/helpers/project.d.ts +4 -3
  146. package/lib/projects/localDev/helpers/project.js +31 -15
  147. package/lib/projects/projectInfo.d.ts +3 -20
  148. package/lib/projects/projectInfo.js +32 -54
  149. package/lib/projects/projectProfiles.d.ts +1 -2
  150. package/lib/projects/projectProfiles.js +5 -17
  151. package/lib/projects/upload.js +22 -3
  152. package/lib/projects/workspaces.d.ts +42 -0
  153. package/lib/projects/workspaces.js +350 -0
  154. package/lib/prompts/createApiSamplePrompt.js +4 -0
  155. package/lib/prompts/projectProfilePrompt.d.ts +2 -0
  156. package/lib/prompts/projectProfilePrompt.js +46 -0
  157. package/lib/prompts/promptUtils.js +3 -2
  158. package/lib/prompts/selectHubDBTablePrompt.js +2 -2
  159. package/lib/prompts/selectPublicAppForMigrationPrompt.js +2 -2
  160. package/lib/theme/cmsDevServerProcess.d.ts +2 -0
  161. package/lib/theme/cmsDevServerProcess.js +8 -7
  162. package/lib/ui/SpinniesManager.d.ts +1 -0
  163. package/lib/ui/SpinniesManager.js +20 -6
  164. package/lib/ui/spinniesUtils.d.ts +0 -1
  165. package/lib/ui/spinniesUtils.js +6 -16
  166. package/lib/usageTracking.d.ts +3 -4
  167. package/lib/yargs/makeYargsBuilder.d.ts +13 -0
  168. package/lib/yargs/makeYargsBuilder.js +33 -0
  169. package/lib/yargs/makeYargsHandlerWithUsageTracking.d.ts +3 -0
  170. package/lib/yargs/makeYargsHandlerWithUsageTracking.js +95 -0
  171. package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
  172. package/lib/yargs/strictEnforceBoolean.js +13 -0
  173. package/lib/yargsUtils.d.ts +3 -16
  174. package/lib/yargsUtils.js +3 -48
  175. package/mcp-server/Tool.d.ts +15 -0
  176. package/mcp-server/Tool.js +53 -0
  177. package/mcp-server/server.js +5 -3
  178. package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +4 -2
  179. package/mcp-server/tools/cms/HsCreateFunctionTool.js +8 -6
  180. package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +4 -2
  181. package/mcp-server/tools/cms/HsCreateModuleTool.js +8 -6
  182. package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +5 -3
  183. package/mcp-server/tools/cms/HsCreateTemplateTool.js +8 -6
  184. package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +4 -2
  185. package/mcp-server/tools/cms/HsFunctionLogsTool.js +8 -6
  186. package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +4 -2
  187. package/mcp-server/tools/cms/HsListFunctionsTool.js +8 -6
  188. package/mcp-server/tools/cms/HsListTool.d.ts +4 -2
  189. package/mcp-server/tools/cms/HsListTool.js +8 -6
  190. package/mcp-server/tools/index.d.ts +3 -2
  191. package/mcp-server/tools/index.js +22 -22
  192. package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +6 -4
  193. package/mcp-server/tools/project/AddFeatureToProjectTool.js +8 -6
  194. package/mcp-server/tools/project/CreateProjectTool.d.ts +6 -4
  195. package/mcp-server/tools/project/CreateProjectTool.js +9 -7
  196. package/mcp-server/tools/project/CreateTestAccountTool.d.ts +4 -2
  197. package/mcp-server/tools/project/CreateTestAccountTool.js +20 -8
  198. package/mcp-server/tools/project/DeployProjectTool.d.ts +4 -2
  199. package/mcp-server/tools/project/DeployProjectTool.js +4 -6
  200. package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
  201. package/mcp-server/tools/project/DocFetchTool.js +8 -6
  202. package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
  203. package/mcp-server/tools/project/DocsSearchTool.js +32 -9
  204. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +4 -2
  205. package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +8 -6
  206. package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +4 -2
  207. package/mcp-server/tools/project/GetApplicationInfoTool.js +8 -6
  208. package/mcp-server/tools/project/GetBuildLogsTool.d.ts +4 -2
  209. package/mcp-server/tools/project/GetBuildLogsTool.js +8 -6
  210. package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
  211. package/mcp-server/tools/project/GetBuildStatusTool.js +8 -6
  212. package/mcp-server/tools/project/GetConfigValuesTool.d.ts +4 -2
  213. package/mcp-server/tools/project/GetConfigValuesTool.js +12 -7
  214. package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +4 -2
  215. package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
  216. package/mcp-server/tools/project/UploadProjectTools.d.ts +4 -2
  217. package/mcp-server/tools/project/UploadProjectTools.js +9 -7
  218. package/mcp-server/tools/project/ValidateProjectTool.d.ts +4 -2
  219. package/mcp-server/tools/project/ValidateProjectTool.js +8 -6
  220. package/mcp-server/tools/project/constants.d.ts +2 -2
  221. package/mcp-server/types.d.ts +0 -7
  222. package/mcp-server/types.js +1 -13
  223. package/mcp-server/utils/logger.d.ts +10 -0
  224. package/mcp-server/utils/logger.js +29 -0
  225. package/mcp-server/utils/toolUsageTracking.js +0 -2
  226. package/package.json +12 -7
  227. package/types/LocalDev.d.ts +5 -0
  228. package/types/Projects.d.ts +19 -0
  229. package/types/Yargs.d.ts +18 -1
  230. package/api/__tests__/migrate.test.d.ts +0 -1
  231. package/api/__tests__/migrate.test.js +0 -199
  232. package/commands/__tests__/account.test.d.ts +0 -1
  233. package/commands/__tests__/account.test.js +0 -69
  234. package/commands/__tests__/auth.test.d.ts +0 -1
  235. package/commands/__tests__/auth.test.js +0 -43
  236. package/commands/__tests__/cms.test.d.ts +0 -1
  237. package/commands/__tests__/cms.test.js +0 -87
  238. package/commands/__tests__/config.test.d.ts +0 -1
  239. package/commands/__tests__/config.test.js +0 -44
  240. package/commands/__tests__/customObject.test.d.ts +0 -1
  241. package/commands/__tests__/customObject.test.js +0 -68
  242. package/commands/__tests__/doctor.test.d.ts +0 -1
  243. package/commands/__tests__/doctor.test.js +0 -132
  244. package/commands/__tests__/feedback.test.d.ts +0 -1
  245. package/commands/__tests__/feedback.test.js +0 -24
  246. package/commands/__tests__/filemanager.test.d.ts +0 -1
  247. package/commands/__tests__/filemanager.test.js +0 -45
  248. package/commands/__tests__/getStarted.test.d.ts +0 -1
  249. package/commands/__tests__/getStarted.test.js +0 -173
  250. package/commands/__tests__/hubdb.test.d.ts +0 -1
  251. package/commands/__tests__/hubdb.test.js +0 -50
  252. package/commands/__tests__/init.test.d.ts +0 -1
  253. package/commands/__tests__/init.test.js +0 -42
  254. package/commands/__tests__/mcp.test.d.ts +0 -1
  255. package/commands/__tests__/mcp.test.js +0 -46
  256. package/commands/__tests__/open.test.d.ts +0 -1
  257. package/commands/__tests__/open.test.js +0 -58
  258. package/commands/__tests__/project.test.d.ts +0 -1
  259. package/commands/__tests__/project.test.js +0 -125
  260. package/commands/__tests__/sandbox.test.d.ts +0 -1
  261. package/commands/__tests__/sandbox.test.js +0 -44
  262. package/commands/__tests__/secret.test.d.ts +0 -1
  263. package/commands/__tests__/secret.test.js +0 -49
  264. package/commands/__tests__/testAccount.test.d.ts +0 -1
  265. package/commands/__tests__/testAccount.test.js +0 -57
  266. package/commands/__tests__/upgrade.test.d.ts +0 -1
  267. package/commands/__tests__/upgrade.test.js +0 -309
  268. package/commands/account/__tests__/auth.test.d.ts +0 -1
  269. package/commands/account/__tests__/auth.test.js +0 -206
  270. package/commands/account/__tests__/clean.test.d.ts +0 -1
  271. package/commands/account/__tests__/clean.test.js +0 -28
  272. package/commands/account/__tests__/createOverride.test.d.ts +0 -1
  273. package/commands/account/__tests__/createOverride.test.js +0 -32
  274. package/commands/account/__tests__/info.test.d.ts +0 -1
  275. package/commands/account/__tests__/info.test.js +0 -28
  276. package/commands/account/__tests__/list.test.d.ts +0 -1
  277. package/commands/account/__tests__/list.test.js +0 -153
  278. package/commands/account/__tests__/remove.test.d.ts +0 -1
  279. package/commands/account/__tests__/remove.test.js +0 -36
  280. package/commands/account/__tests__/removeOverride.d.ts +0 -1
  281. package/commands/account/__tests__/removeOverride.js +0 -25
  282. package/commands/account/__tests__/rename.test.d.ts +0 -1
  283. package/commands/account/__tests__/rename.test.js +0 -82
  284. package/commands/account/__tests__/use.test.d.ts +0 -1
  285. package/commands/account/__tests__/use.test.js +0 -170
  286. package/commands/app/__tests__/migrate.test.d.ts +0 -1
  287. package/commands/app/__tests__/migrate.test.js +0 -111
  288. package/commands/app/secret/__tests__/add.test.d.ts +0 -1
  289. package/commands/app/secret/__tests__/add.test.js +0 -140
  290. package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
  291. package/commands/app/secret/__tests__/delete.test.js +0 -28
  292. package/commands/app/secret/__tests__/list.test.d.ts +0 -1
  293. package/commands/app/secret/__tests__/list.test.js +0 -25
  294. package/commands/app/secret/__tests__/update.test.d.ts +0 -1
  295. package/commands/app/secret/__tests__/update.test.js +0 -28
  296. package/commands/cms/__tests__/delete.test.d.ts +0 -1
  297. package/commands/cms/__tests__/delete.test.js +0 -39
  298. package/commands/cms/__tests__/fetch.test.d.ts +0 -1
  299. package/commands/cms/__tests__/fetch.test.js +0 -156
  300. package/commands/cms/__tests__/function.test.d.ts +0 -1
  301. package/commands/cms/__tests__/function.test.js +0 -50
  302. package/commands/cms/__tests__/lint.test.d.ts +0 -1
  303. package/commands/cms/__tests__/lint.test.js +0 -33
  304. package/commands/cms/__tests__/list.test.d.ts +0 -1
  305. package/commands/cms/__tests__/list.test.js +0 -42
  306. package/commands/cms/__tests__/module.test.d.ts +0 -1
  307. package/commands/cms/__tests__/module.test.js +0 -45
  308. package/commands/cms/__tests__/mv.test.d.ts +0 -1
  309. package/commands/cms/__tests__/mv.test.js +0 -46
  310. package/commands/cms/__tests__/theme.test.d.ts +0 -1
  311. package/commands/cms/__tests__/theme.test.js +0 -54
  312. package/commands/cms/__tests__/upload.test.d.ts +0 -1
  313. package/commands/cms/__tests__/upload.test.js +0 -312
  314. package/commands/cms/__tests__/watch.test.d.ts +0 -1
  315. package/commands/cms/__tests__/watch.test.js +0 -204
  316. package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
  317. package/commands/cms/function/__tests__/logs.test.js +0 -70
  318. package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
  319. package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
  320. package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
  321. package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
  322. package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
  323. package/commands/cms/theme/__tests__/preview.test.js +0 -54
  324. package/commands/customObject/__tests__/create.test.d.ts +0 -1
  325. package/commands/customObject/__tests__/create.test.js +0 -40
  326. package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
  327. package/commands/customObject/__tests__/createSchema.test.js +0 -28
  328. package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
  329. package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
  330. package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
  331. package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
  332. package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
  333. package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
  334. package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
  335. package/commands/customObject/__tests__/listSchemas.test.js +0 -29
  336. package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
  337. package/commands/customObject/__tests__/updateSchema.test.js +0 -40
  338. package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
  339. package/commands/filemanager/__tests__/fetch.test.js +0 -32
  340. package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
  341. package/commands/filemanager/__tests__/upload.test.js +0 -191
  342. package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
  343. package/commands/hubdb/__tests__/clear.test.js +0 -28
  344. package/commands/hubdb/__tests__/create.test.d.ts +0 -1
  345. package/commands/hubdb/__tests__/create.test.js +0 -28
  346. package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
  347. package/commands/hubdb/__tests__/delete.test.js +0 -28
  348. package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
  349. package/commands/hubdb/__tests__/fetch.test.js +0 -28
  350. package/commands/hubdb/__tests__/list.test.d.ts +0 -1
  351. package/commands/hubdb/__tests__/list.test.js +0 -88
  352. package/commands/mcp/__tests__/setup.test.d.ts +0 -1
  353. package/commands/mcp/__tests__/setup.test.js +0 -26
  354. package/commands/mcp/__tests__/start.test.d.ts +0 -1
  355. package/commands/mcp/__tests__/start.test.js +0 -144
  356. package/commands/project/__tests__/add.test.d.ts +0 -1
  357. package/commands/project/__tests__/add.test.js +0 -107
  358. package/commands/project/__tests__/create.test.d.ts +0 -1
  359. package/commands/project/__tests__/create.test.js +0 -97
  360. package/commands/project/__tests__/deploy.test.d.ts +0 -1
  361. package/commands/project/__tests__/deploy.test.js +0 -307
  362. package/commands/project/__tests__/dev.test.d.ts +0 -1
  363. package/commands/project/__tests__/dev.test.js +0 -273
  364. package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
  365. package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
  366. package/commands/project/__tests__/download.test.d.ts +0 -1
  367. package/commands/project/__tests__/download.test.js +0 -39
  368. package/commands/project/__tests__/info.test.d.ts +0 -1
  369. package/commands/project/__tests__/info.test.js +0 -145
  370. package/commands/project/__tests__/installDeps.test.d.ts +0 -1
  371. package/commands/project/__tests__/installDeps.test.js +0 -140
  372. package/commands/project/__tests__/lint.test.d.ts +0 -1
  373. package/commands/project/__tests__/lint.test.js +0 -704
  374. package/commands/project/__tests__/list.test.d.ts +0 -1
  375. package/commands/project/__tests__/list.test.js +0 -31
  376. package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
  377. package/commands/project/__tests__/listBuilds.test.js +0 -38
  378. package/commands/project/__tests__/logs.test.d.ts +0 -1
  379. package/commands/project/__tests__/logs.test.js +0 -202
  380. package/commands/project/__tests__/migrate.test.d.ts +0 -1
  381. package/commands/project/__tests__/migrate.test.js +0 -106
  382. package/commands/project/__tests__/open.test.d.ts +0 -1
  383. package/commands/project/__tests__/open.test.js +0 -39
  384. package/commands/project/__tests__/profile.test.d.ts +0 -1
  385. package/commands/project/__tests__/profile.test.js +0 -42
  386. package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
  387. package/commands/project/__tests__/updateDeps.test.js +0 -140
  388. package/commands/project/__tests__/upload.test.d.ts +0 -1
  389. package/commands/project/__tests__/upload.test.js +0 -234
  390. package/commands/project/__tests__/validate.test.d.ts +0 -1
  391. package/commands/project/__tests__/validate.test.js +0 -381
  392. package/commands/project/__tests__/watch.test.d.ts +0 -1
  393. package/commands/project/__tests__/watch.test.js +0 -35
  394. package/commands/sandbox/__tests__/create.test.d.ts +0 -1
  395. package/commands/sandbox/__tests__/create.test.js +0 -198
  396. package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
  397. package/commands/sandbox/__tests__/delete.test.js +0 -31
  398. package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
  399. package/commands/secret/__tests__/addSecret.test.js +0 -162
  400. package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
  401. package/commands/secret/__tests__/deleteSecret.test.js +0 -41
  402. package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
  403. package/commands/secret/__tests__/listSecret.test.js +0 -29
  404. package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
  405. package/commands/secret/__tests__/updateSecret.test.js +0 -29
  406. package/commands/testAccount/__tests__/create.test.d.ts +0 -1
  407. package/commands/testAccount/__tests__/create.test.js +0 -106
  408. package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
  409. package/commands/testAccount/__tests__/createConfig.test.js +0 -32
  410. package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
  411. package/commands/testAccount/__tests__/delete.test.js +0 -29
  412. package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
  413. package/commands/testAccount/__tests__/importData.test.js +0 -92
  414. package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
  415. package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
  416. package/lib/__tests__/accountAuth.test.d.ts +0 -1
  417. package/lib/__tests__/accountAuth.test.js +0 -258
  418. package/lib/__tests__/accountTypes.test.d.ts +0 -1
  419. package/lib/__tests__/accountTypes.test.js +0 -98
  420. package/lib/__tests__/buildAccount.test.d.ts +0 -1
  421. package/lib/__tests__/buildAccount.test.js +0 -211
  422. package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
  423. package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
  424. package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
  425. package/lib/__tests__/commandSuggestion.test.js +0 -121
  426. package/lib/__tests__/commonOpts.test.d.ts +0 -1
  427. package/lib/__tests__/commonOpts.test.js +0 -80
  428. package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
  429. package/lib/__tests__/dependencyManagement.test.js +0 -1067
  430. package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
  431. package/lib/__tests__/developerTestAccounts.test.js +0 -156
  432. package/lib/__tests__/hasFeature.test.d.ts +0 -1
  433. package/lib/__tests__/hasFeature.test.js +0 -167
  434. package/lib/__tests__/http.test.d.ts +0 -1
  435. package/lib/__tests__/http.test.js +0 -40
  436. package/lib/__tests__/importData.test.d.ts +0 -1
  437. package/lib/__tests__/importData.test.js +0 -98
  438. package/lib/__tests__/npmCli.test.d.ts +0 -1
  439. package/lib/__tests__/npmCli.test.js +0 -84
  440. package/lib/__tests__/oauth.test.d.ts +0 -1
  441. package/lib/__tests__/oauth.test.js +0 -109
  442. package/lib/__tests__/parsing.test.d.ts +0 -1
  443. package/lib/__tests__/parsing.test.js +0 -34
  444. package/lib/__tests__/polling.test.d.ts +0 -1
  445. package/lib/__tests__/polling.test.js +0 -76
  446. package/lib/__tests__/process.test.d.ts +0 -1
  447. package/lib/__tests__/process.test.js +0 -89
  448. package/lib/__tests__/sandboxes.test.d.ts +0 -1
  449. package/lib/__tests__/sandboxes.test.js +0 -128
  450. package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
  451. package/lib/__tests__/serverlessLogs.test.js +0 -163
  452. package/lib/__tests__/usageTracking.test.d.ts +0 -1
  453. package/lib/__tests__/usageTracking.test.js +0 -197
  454. package/lib/__tests__/validation.test.d.ts +0 -1
  455. package/lib/__tests__/validation.test.js +0 -143
  456. package/lib/__tests__/yargsUtils.test.d.ts +0 -1
  457. package/lib/__tests__/yargsUtils.test.js +0 -124
  458. package/lib/app/__tests__/migrate.test.d.ts +0 -1
  459. package/lib/app/__tests__/migrate.test.js +0 -638
  460. package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
  461. package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
  462. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
  463. package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
  464. package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
  465. package/lib/doctor/__tests__/Doctor.test.js +0 -560
  466. package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
  467. package/lib/errorHandlers/__tests__/index.test.js +0 -278
  468. package/lib/mcp/__tests__/setup.test.d.ts +0 -1
  469. package/lib/mcp/__tests__/setup.test.js +0 -523
  470. package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
  471. package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
  472. package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
  473. package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
  474. package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
  475. package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
  476. package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
  477. package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
  478. package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
  479. package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
  480. package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
  481. package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
  482. package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
  483. package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
  484. package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
  485. package/lib/projects/__tests__/DevServerManager.test.js +0 -185
  486. package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
  487. package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
  488. package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
  489. package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
  490. package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
  491. package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
  492. package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
  493. package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
  494. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
  495. package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
  496. package/lib/projects/__tests__/components.test.d.ts +0 -1
  497. package/lib/projects/__tests__/components.test.js +0 -440
  498. package/lib/projects/__tests__/deploy.test.d.ts +0 -1
  499. package/lib/projects/__tests__/deploy.test.js +0 -231
  500. package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
  501. package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
  502. package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
  503. package/lib/projects/__tests__/platformVersion.test.js +0 -63
  504. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
  505. package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
  506. package/lib/projects/__tests__/projectInfo.test.d.ts +0 -1
  507. package/lib/projects/__tests__/projectInfo.test.js +0 -114
  508. package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
  509. package/lib/projects/__tests__/projectProfiles.test.js +0 -441
  510. package/lib/projects/__tests__/projects.test.d.ts +0 -1
  511. package/lib/projects/__tests__/projects.test.js +0 -58
  512. package/lib/projects/__tests__/structure.test.d.ts +0 -1
  513. package/lib/projects/__tests__/structure.test.js +0 -210
  514. package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
  515. package/lib/projects/__tests__/uieLinting.test.js +0 -631
  516. package/lib/projects/__tests__/upload.test.d.ts +0 -1
  517. package/lib/projects/__tests__/upload.test.js +0 -183
  518. package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
  519. package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
  520. package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
  521. package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
  522. package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
  523. package/lib/projects/create/__tests__/legacy.test.js +0 -72
  524. package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
  525. package/lib/projects/create/__tests__/v2.test.js +0 -257
  526. package/lib/projects/platformVersion.d.ts +0 -9
  527. package/lib/projects/platformVersion.js +0 -39
  528. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
  529. package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
  530. package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
  531. package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
  532. package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
  533. package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
  534. package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
  535. package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
  536. package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
  537. package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
  538. package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
  539. package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
  540. package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
  541. package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
  542. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
  543. package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
  544. package/lib/theme/__tests__/migrate.test.d.ts +0 -1
  545. package/lib/theme/__tests__/migrate.test.js +0 -247
  546. package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
  547. package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
  548. package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
  549. package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
  550. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
  551. package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
  552. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
  553. package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
  554. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
  555. package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
  556. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
  557. package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
  558. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
  559. package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
  560. package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
  561. package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
  562. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
  563. package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
  564. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
  565. package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -131
  566. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
  567. package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
  568. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
  569. package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
  570. package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
  571. package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
  572. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
  573. package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
  574. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
  575. package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
  576. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
  577. package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
  578. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
  579. package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
  580. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
  581. package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
  582. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
  583. package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
  584. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
  585. package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
  586. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
  587. package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
  588. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
  589. package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
  590. package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
  591. package/mcp-server/utils/__tests__/command.test.js +0 -275
  592. package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
  593. package/mcp-server/utils/__tests__/content.test.js +0 -164
  594. package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
  595. package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
@@ -1,13 +1,15 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
3
  import { registerProjectTools, registerCmsTools } from './tools/index.js';
4
+ import { McpLogger } from './utils/logger.js';
4
5
  const server = new McpServer({
5
6
  name: 'HubSpot CLI MCP Server',
6
7
  version: '0.0.1',
7
8
  description: 'Helps perform tasks for local development of HubSpot projects.',
8
- });
9
- registerProjectTools(server);
10
- registerCmsTools(server);
9
+ }, { capabilities: { logging: {} } });
10
+ const logger = new McpLogger(server);
11
+ registerProjectTools(server, logger);
12
+ registerCmsTools(server, logger);
11
13
  // Start receiving messages on stdin and sending messages on stdout
12
14
  const transport = new StdioServerTransport();
13
15
  server.connect(transport);
@@ -1,5 +1,7 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
@@ -17,7 +19,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
17
19
  }, z.core.$strip>;
18
20
  export type HsCreateFunctionInputSchema = z.infer<typeof inputSchemaZodObject>;
19
21
  export declare class HsCreateFunctionTool extends Tool<HsCreateFunctionInputSchema> {
20
- constructor(mcpServer: McpServer);
22
+ constructor(mcpServer: McpServer, logger: McpLogger);
21
23
  handler({ dest, functionsFolder, filename, endpointMethod, endpointPath, absoluteCurrentWorkingDirectory, }: HsCreateFunctionInputSchema): Promise<TextContentResponse>;
22
24
  register(): RegisteredTool;
23
25
  }
@@ -1,9 +1,8 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { absoluteCurrentWorkingDirectory } from '../project/constants.js';
4
4
  import { runCommandInDir } from '../../utils/command.js';
5
5
  import { formatTextContents, formatTextContent } from '../../utils/content.js';
6
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
7
6
  import { addFlag } from '../../utils/command.js';
8
7
  import { HTTP_METHODS } from '../../../types/Cms.js';
9
8
  import { setupHubSpotConfig } from '../../utils/config.js';
@@ -35,12 +34,11 @@ const inputSchema = {
35
34
  const inputSchemaZodObject = z.object({ ...inputSchema });
36
35
  const toolName = 'create-cms-function';
37
36
  export class HsCreateFunctionTool extends Tool {
38
- constructor(mcpServer) {
39
- super(mcpServer);
37
+ constructor(mcpServer, logger) {
38
+ super(mcpServer, logger, toolName);
40
39
  }
41
40
  async handler({ dest, functionsFolder, filename, endpointMethod, endpointPath, absoluteCurrentWorkingDirectory, }) {
42
41
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
43
- await trackToolUsage(toolName);
44
42
  const content = [];
45
43
  // Require functions folder
46
44
  if (!functionsFolder) {
@@ -86,6 +84,10 @@ export class HsCreateFunctionTool extends Tool {
86
84
  return formatTextContents(stdout, stderr);
87
85
  }
88
86
  catch (error) {
87
+ this.logger.debug(toolName, {
88
+ message: 'Handler caught error',
89
+ error: error instanceof Error ? error.message : String(error),
90
+ });
89
91
  return formatTextContents(getErrorMessage(error));
90
92
  }
91
93
  }
@@ -100,6 +102,6 @@ export class HsCreateFunctionTool extends Tool {
100
102
  idempotentHint: false,
101
103
  openWorldHint: false,
102
104
  },
103
- }, this.handler);
105
+ }, input => this.wrappedHandler(input));
104
106
  }
105
107
  }
@@ -1,5 +1,7 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
@@ -13,7 +15,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
13
15
  }, z.core.$strip>;
14
16
  export type HsCreateModuleInputSchema = z.infer<typeof inputSchemaZodObject>;
15
17
  export declare class HsCreateModuleTool extends Tool<HsCreateModuleInputSchema> {
16
- constructor(mcpServer: McpServer);
18
+ constructor(mcpServer: McpServer, logger: McpLogger);
17
19
  handler({ userSuppliedName, dest, moduleLabel, reactType, contentTypes, global, availableForNewContent, absoluteCurrentWorkingDirectory, }: HsCreateModuleInputSchema): Promise<TextContentResponse>;
18
20
  register(): RegisteredTool;
19
21
  }
@@ -1,9 +1,8 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { absoluteCurrentWorkingDirectory } from '../project/constants.js';
4
4
  import { runCommandInDir } from '../../utils/command.js';
5
5
  import { formatTextContents, formatTextContent } from '../../utils/content.js';
6
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
7
6
  import { addFlag } from '../../utils/command.js';
8
7
  import { CONTENT_TYPES } from '../../../types/Cms.js';
9
8
  import { setupHubSpotConfig } from '../../utils/config.js';
@@ -51,12 +50,11 @@ const inputSchema = {
51
50
  const inputSchemaZodObject = z.object({ ...inputSchema });
52
51
  const toolName = 'create-cms-module';
53
52
  export class HsCreateModuleTool extends Tool {
54
- constructor(mcpServer) {
55
- super(mcpServer);
53
+ constructor(mcpServer, logger) {
54
+ super(mcpServer, logger, toolName);
56
55
  }
57
56
  async handler({ userSuppliedName, dest, moduleLabel, reactType, contentTypes, global, availableForNewContent, absoluteCurrentWorkingDirectory, }) {
58
57
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
59
- await trackToolUsage(toolName);
60
58
  const content = [];
61
59
  // Always require a name
62
60
  if (!userSuppliedName) {
@@ -108,6 +106,10 @@ export class HsCreateModuleTool extends Tool {
108
106
  return formatTextContents(stdout, stderr);
109
107
  }
110
108
  catch (error) {
109
+ this.logger.debug(toolName, {
110
+ message: 'Handler caught error',
111
+ error: error instanceof Error ? error.message : String(error),
112
+ });
111
113
  return formatTextContents(getErrorMessage(error));
112
114
  }
113
115
  }
@@ -122,6 +124,6 @@ export class HsCreateModuleTool extends Tool {
122
124
  idempotentHint: false,
123
125
  openWorldHint: false,
124
126
  },
125
- }, this.handler);
127
+ }, input => this.wrappedHandler(input));
126
128
  }
127
129
  }
@@ -1,12 +1,13 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
6
8
  userSuppliedName: z.ZodOptional<z.ZodString>;
7
9
  dest: z.ZodOptional<z.ZodString>;
8
10
  templateType: z.ZodOptional<z.ZodEnum<{
9
- section: "section";
10
11
  "page-template": "page-template";
11
12
  "email-template": "email-template";
12
13
  partial: "partial";
@@ -14,11 +15,12 @@ declare const inputSchemaZodObject: z.ZodObject<{
14
15
  "blog-listing-template": "blog-listing-template";
15
16
  "blog-post-template": "blog-post-template";
16
17
  "search-template": "search-template";
18
+ section: "section";
17
19
  }>>;
18
20
  }, z.core.$strip>;
19
21
  export type HsCreateTemplateInputSchema = z.infer<typeof inputSchemaZodObject>;
20
22
  export declare class HsCreateTemplateTool extends Tool<HsCreateTemplateInputSchema> {
21
- constructor(mcpServer: McpServer);
23
+ constructor(mcpServer: McpServer, logger: McpLogger);
22
24
  handler({ userSuppliedName, dest, templateType, absoluteCurrentWorkingDirectory, }: HsCreateTemplateInputSchema): Promise<TextContentResponse>;
23
25
  register(): RegisteredTool;
24
26
  }
@@ -1,9 +1,8 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { absoluteCurrentWorkingDirectory } from '../project/constants.js';
4
4
  import { runCommandInDir } from '../../utils/command.js';
5
5
  import { formatTextContents, formatTextContent } from '../../utils/content.js';
6
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
7
6
  import { addFlag } from '../../utils/command.js';
8
7
  import { TEMPLATE_TYPES } from '../../../types/Cms.js';
9
8
  import { setupHubSpotConfig } from '../../utils/config.js';
@@ -27,12 +26,11 @@ const inputSchema = {
27
26
  const inputSchemaZodObject = z.object({ ...inputSchema });
28
27
  const toolName = 'create-cms-template';
29
28
  export class HsCreateTemplateTool extends Tool {
30
- constructor(mcpServer) {
31
- super(mcpServer);
29
+ constructor(mcpServer, logger) {
30
+ super(mcpServer, logger, toolName);
32
31
  }
33
32
  async handler({ userSuppliedName, dest, templateType, absoluteCurrentWorkingDirectory, }) {
34
33
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
35
- await trackToolUsage(toolName);
36
34
  const content = [];
37
35
  // Always require a name
38
36
  if (!userSuppliedName) {
@@ -65,6 +63,10 @@ export class HsCreateTemplateTool extends Tool {
65
63
  return formatTextContents(stdout, stderr);
66
64
  }
67
65
  catch (error) {
66
+ this.logger.debug(toolName, {
67
+ message: 'Handler caught error',
68
+ error: error instanceof Error ? error.message : String(error),
69
+ });
68
70
  return formatTextContents(getErrorMessage(error));
69
71
  }
70
72
  }
@@ -79,6 +81,6 @@ export class HsCreateTemplateTool extends Tool {
79
81
  idempotentHint: false,
80
82
  openWorldHint: false,
81
83
  },
82
- }, this.handler);
84
+ }, input => this.wrappedHandler(input));
83
85
  }
84
86
  }
@@ -1,5 +1,7 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
@@ -11,7 +13,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
11
13
  }, z.core.$strip>;
12
14
  export type HsFunctionLogsInputSchema = z.infer<typeof inputSchemaZodObject>;
13
15
  export declare class HsFunctionLogsTool extends Tool<HsFunctionLogsInputSchema> {
14
- constructor(mcpServer: McpServer);
16
+ constructor(mcpServer: McpServer, logger: McpLogger);
15
17
  handler({ endpoint, account, latest, compact, limit, absoluteCurrentWorkingDirectory, }: HsFunctionLogsInputSchema): Promise<TextContentResponse>;
16
18
  register(): RegisteredTool;
17
19
  }
@@ -1,10 +1,9 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { addFlag } from '../../utils/command.js';
4
4
  import { absoluteCurrentWorkingDirectory } from '../project/constants.js';
5
5
  import { runCommandInDir } from '../../utils/command.js';
6
6
  import { formatTextContents } from '../../utils/content.js';
7
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
8
7
  import { setupHubSpotConfig } from '../../utils/config.js';
9
8
  import { getErrorMessage } from '../../../lib/errorHandlers/index.js';
10
9
  const inputSchema = {
@@ -30,12 +29,11 @@ const inputSchema = {
30
29
  const inputSchemaZodObject = z.object({ ...inputSchema });
31
30
  const toolName = 'get-cms-serverless-function-logs';
32
31
  export class HsFunctionLogsTool extends Tool {
33
- constructor(mcpServer) {
34
- super(mcpServer);
32
+ constructor(mcpServer, logger) {
33
+ super(mcpServer, logger, toolName);
35
34
  }
36
35
  async handler({ endpoint, account, latest, compact, limit, absoluteCurrentWorkingDirectory, }) {
37
36
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
38
- await trackToolUsage(toolName);
39
37
  // Ensure endpoint doesn't start with '/'
40
38
  const normalizedEndpoint = endpoint.startsWith('/')
41
39
  ? endpoint.slice(1)
@@ -58,6 +56,10 @@ export class HsFunctionLogsTool extends Tool {
58
56
  return formatTextContents(stdout, stderr);
59
57
  }
60
58
  catch (error) {
59
+ this.logger.debug(toolName, {
60
+ message: 'Handler caught error',
61
+ error: error instanceof Error ? error.message : String(error),
62
+ });
61
63
  return formatTextContents(`Error executing hs logs command: ${getErrorMessage(error)}`);
62
64
  }
63
65
  }
@@ -70,6 +72,6 @@ export class HsFunctionLogsTool extends Tool {
70
72
  readOnlyHint: true,
71
73
  openWorldHint: true,
72
74
  },
73
- }, this.handler);
75
+ }, input => this.wrappedHandler(input));
74
76
  }
75
77
  }
@@ -1,5 +1,7 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
@@ -8,7 +10,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
8
10
  }, z.core.$strip>;
9
11
  export type HsListFunctionsInputSchema = z.infer<typeof inputSchemaZodObject>;
10
12
  export declare class HsListFunctionsTool extends Tool<HsListFunctionsInputSchema> {
11
- constructor(mcpServer: McpServer);
13
+ constructor(mcpServer: McpServer, logger: McpLogger);
12
14
  handler({ account, json, absoluteCurrentWorkingDirectory, }: HsListFunctionsInputSchema): Promise<TextContentResponse>;
13
15
  register(): RegisteredTool;
14
16
  }
@@ -1,10 +1,9 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { addFlag } from '../../utils/command.js';
4
4
  import { absoluteCurrentWorkingDirectory } from '../project/constants.js';
5
5
  import { runCommandInDir } from '../../utils/command.js';
6
6
  import { formatTextContents } from '../../utils/content.js';
7
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
8
7
  import { setupHubSpotConfig } from '../../utils/config.js';
9
8
  import { getErrorMessage } from '../../../lib/errorHandlers/index.js';
10
9
  const inputSchema = {
@@ -22,12 +21,11 @@ const inputSchema = {
22
21
  const inputSchemaZodObject = z.object({ ...inputSchema });
23
22
  const toolName = 'list-cms-serverless-functions';
24
23
  export class HsListFunctionsTool extends Tool {
25
- constructor(mcpServer) {
26
- super(mcpServer);
24
+ constructor(mcpServer, logger) {
25
+ super(mcpServer, logger, toolName);
27
26
  }
28
27
  async handler({ account, json, absoluteCurrentWorkingDirectory, }) {
29
28
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
30
- await trackToolUsage(toolName);
31
29
  let command = 'hs function list';
32
30
  if (json) {
33
31
  command += ' --json';
@@ -40,6 +38,10 @@ export class HsListFunctionsTool extends Tool {
40
38
  return formatTextContents(stdout, stderr);
41
39
  }
42
40
  catch (error) {
41
+ this.logger.debug(toolName, {
42
+ message: 'Handler caught error',
43
+ error: error instanceof Error ? error.message : String(error),
44
+ });
43
45
  return {
44
46
  content: [
45
47
  {
@@ -59,6 +61,6 @@ export class HsListFunctionsTool extends Tool {
59
61
  readOnlyHint: true,
60
62
  openWorldHint: true,
61
63
  },
62
- }, this.handler);
64
+ }, input => this.wrappedHandler(input));
63
65
  }
64
66
  }
@@ -1,5 +1,7 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
@@ -8,7 +10,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
8
10
  }, z.core.$strip>;
9
11
  export type HsListInputSchema = z.infer<typeof inputSchemaZodObject>;
10
12
  export declare class HsListTool extends Tool<HsListInputSchema> {
11
- constructor(mcpServer: McpServer);
13
+ constructor(mcpServer: McpServer, logger: McpLogger);
12
14
  handler({ path, account, absoluteCurrentWorkingDirectory, }: HsListInputSchema): Promise<TextContentResponse>;
13
15
  register(): RegisteredTool;
14
16
  }
@@ -1,10 +1,9 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { addFlag } from '../../utils/command.js';
4
4
  import { absoluteCurrentWorkingDirectory } from '../project/constants.js';
5
5
  import { runCommandInDir } from '../../utils/command.js';
6
6
  import { formatTextContents } from '../../utils/content.js';
7
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
8
7
  import { setupHubSpotConfig } from '../../utils/config.js';
9
8
  import { getErrorMessage } from '../../../lib/errorHandlers/index.js';
10
9
  const inputSchema = {
@@ -22,12 +21,11 @@ const inputSchema = {
22
21
  const inputSchemaZodObject = z.object({ ...inputSchema });
23
22
  const toolName = 'list-cms-remote-contents';
24
23
  export class HsListTool extends Tool {
25
- constructor(mcpServer) {
26
- super(mcpServer);
24
+ constructor(mcpServer, logger) {
25
+ super(mcpServer, logger, toolName);
27
26
  }
28
27
  async handler({ path, account, absoluteCurrentWorkingDirectory, }) {
29
28
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
30
- await trackToolUsage(toolName);
31
29
  let command = 'hs list';
32
30
  if (path) {
33
31
  command += ` ${path}`;
@@ -40,6 +38,10 @@ export class HsListTool extends Tool {
40
38
  return formatTextContents(stdout, stderr);
41
39
  }
42
40
  catch (error) {
41
+ this.logger.debug(toolName, {
42
+ message: 'Handler caught error',
43
+ error: error instanceof Error ? error.message : String(error),
44
+ });
43
45
  return {
44
46
  content: [
45
47
  {
@@ -59,6 +61,6 @@ export class HsListTool extends Tool {
59
61
  readOnlyHint: true,
60
62
  openWorldHint: true,
61
63
  },
62
- }, this.handler);
64
+ }, input => this.wrappedHandler(input));
63
65
  }
64
66
  }
@@ -1,3 +1,4 @@
1
1
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function registerProjectTools(mcpServer: McpServer): RegisteredTool[];
3
- export declare function registerCmsTools(mcpServer: McpServer): RegisteredTool[];
2
+ import { McpLogger } from '../utils/logger.js';
3
+ export declare function registerProjectTools(mcpServer: McpServer, logger: McpLogger): RegisteredTool[];
4
+ export declare function registerCmsTools(mcpServer: McpServer, logger: McpLogger): RegisteredTool[];
@@ -18,31 +18,31 @@ import { HsCreateFunctionTool } from './cms/HsCreateFunctionTool.js';
18
18
  import { HsListFunctionsTool } from './cms/HsListFunctionsTool.js';
19
19
  import { HsFunctionLogsTool } from './cms/HsFunctionLogsTool.js';
20
20
  import { CreateTestAccountTool } from './project/CreateTestAccountTool.js';
21
- export function registerProjectTools(mcpServer) {
21
+ export function registerProjectTools(mcpServer, logger) {
22
22
  return [
23
- new UploadProjectTools(mcpServer).register(),
24
- new CreateProjectTool(mcpServer).register(),
25
- new GuidedWalkthroughTool(mcpServer).register(),
26
- new CreateTestAccountTool(mcpServer).register(),
27
- new DeployProjectTool(mcpServer).register(),
28
- new AddFeatureToProjectTool(mcpServer).register(),
29
- new ValidateProjectTool(mcpServer).register(),
30
- new GetConfigValuesTool(mcpServer).register(),
31
- new DocsSearchTool(mcpServer).register(),
32
- new DocFetchTool(mcpServer).register(),
33
- new GetApiUsagePatternsByAppIdTool(mcpServer).register(),
34
- new GetApplicationInfoTool(mcpServer).register(),
35
- new GetBuildLogsTool(mcpServer).register(),
36
- new GetBuildStatusTool(mcpServer).register(),
23
+ new UploadProjectTools(mcpServer, logger).register(),
24
+ new CreateProjectTool(mcpServer, logger).register(),
25
+ new GuidedWalkthroughTool(mcpServer, logger).register(),
26
+ new CreateTestAccountTool(mcpServer, logger).register(),
27
+ new DeployProjectTool(mcpServer, logger).register(),
28
+ new AddFeatureToProjectTool(mcpServer, logger).register(),
29
+ new ValidateProjectTool(mcpServer, logger).register(),
30
+ new GetConfigValuesTool(mcpServer, logger).register(),
31
+ new DocsSearchTool(mcpServer, logger).register(),
32
+ new DocFetchTool(mcpServer, logger).register(),
33
+ new GetApiUsagePatternsByAppIdTool(mcpServer, logger).register(),
34
+ new GetApplicationInfoTool(mcpServer, logger).register(),
35
+ new GetBuildLogsTool(mcpServer, logger).register(),
36
+ new GetBuildStatusTool(mcpServer, logger).register(),
37
37
  ];
38
38
  }
39
- export function registerCmsTools(mcpServer) {
39
+ export function registerCmsTools(mcpServer, logger) {
40
40
  return [
41
- new HsListTool(mcpServer).register(),
42
- new HsCreateModuleTool(mcpServer).register(),
43
- new HsCreateTemplateTool(mcpServer).register(),
44
- new HsCreateFunctionTool(mcpServer).register(),
45
- new HsListFunctionsTool(mcpServer).register(),
46
- new HsFunctionLogsTool(mcpServer).register(),
41
+ new HsListTool(mcpServer, logger).register(),
42
+ new HsCreateModuleTool(mcpServer, logger).register(),
43
+ new HsCreateTemplateTool(mcpServer, logger).register(),
44
+ new HsCreateFunctionTool(mcpServer, logger).register(),
45
+ new HsListFunctionsTool(mcpServer, logger).register(),
46
+ new HsFunctionLogsTool(mcpServer, logger).register(),
47
47
  ];
48
48
  }
@@ -1,5 +1,7 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteProjectPath: z.ZodString;
@@ -20,16 +22,16 @@ declare const inputSchemaZodObject: z.ZodObject<{
20
22
  "workflow-action-tool": "workflow-action-tool";
21
23
  page: "page";
22
24
  webhooks: "webhooks";
23
- "workflow-action": "workflow-action";
24
25
  "app-function": "app-function";
25
- "app-function-endpoint": "app-function-endpoint";
26
26
  "app-object": "app-object";
27
27
  scim: "scim";
28
+ "workflow-action": "workflow-action";
29
+ "app-function-endpoint": "app-function-endpoint";
28
30
  }>>>;
29
31
  }, z.core.$strip>;
30
32
  export type AddFeatureInputSchema = z.infer<typeof inputSchemaZodObject>;
31
33
  export declare class AddFeatureToProjectTool extends Tool<AddFeatureInputSchema> {
32
- constructor(mcpServer: McpServer);
34
+ constructor(mcpServer: McpServer, logger: McpLogger);
33
35
  handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, distribution, auth, features, addApp, }: AddFeatureInputSchema): Promise<TextContentResponse>;
34
36
  register(): RegisteredTool;
35
37
  }
@@ -1,11 +1,10 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { APP_AUTH_TYPES, APP_DISTRIBUTION_TYPES, } from '../../../lib/constants.js';
4
4
  import { addFlag } from '../../utils/command.js';
5
5
  import { absoluteCurrentWorkingDirectory, absoluteProjectPath, features, } from './constants.js';
6
6
  import { runCommandInDir } from '../../utils/command.js';
7
7
  import { formatTextContents, formatTextContent } from '../../utils/content.js';
8
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
9
8
  import { setupHubSpotConfig } from '../../utils/config.js';
10
9
  import { getErrorMessage } from '../../../lib/errorHandlers/index.js';
11
10
  const inputSchema = {
@@ -30,13 +29,12 @@ const inputSchemaZodObject = z.object({
30
29
  });
31
30
  const toolName = 'add-feature-to-project';
32
31
  export class AddFeatureToProjectTool extends Tool {
33
- constructor(mcpServer) {
34
- super(mcpServer);
32
+ constructor(mcpServer, logger) {
33
+ super(mcpServer, logger, toolName);
35
34
  }
36
35
  async handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, distribution, auth, features, addApp, }) {
37
36
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
38
37
  try {
39
- await trackToolUsage(toolName);
40
38
  let command = `hs project add`;
41
39
  const content = [];
42
40
  if (distribution) {
@@ -62,6 +60,10 @@ export class AddFeatureToProjectTool extends Tool {
62
60
  return formatTextContents(stdout, stderr);
63
61
  }
64
62
  catch (error) {
63
+ this.logger.debug(toolName, {
64
+ message: 'Handler caught error',
65
+ error: error instanceof Error ? error.message : String(error),
66
+ });
65
67
  return formatTextContents(getErrorMessage(error));
66
68
  }
67
69
  }
@@ -77,6 +79,6 @@ export class AddFeatureToProjectTool extends Tool {
77
79
  idempotentHint: false,
78
80
  openWorldHint: false,
79
81
  },
80
- }, this.handler);
82
+ }, input => this.wrappedHandler(input));
81
83
  }
82
84
  }
@@ -1,5 +1,7 @@
1
- import { TextContentResponse, Tool } from '../../types.js';
1
+ import { TextContentResponse } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
2
3
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { McpLogger } from '../../utils/logger.js';
3
5
  import { z } from 'zod';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
@@ -24,16 +26,16 @@ declare const inputSchemaZodObject: z.ZodObject<{
24
26
  "workflow-action-tool": "workflow-action-tool";
25
27
  page: "page";
26
28
  webhooks: "webhooks";
27
- "workflow-action": "workflow-action";
28
29
  "app-function": "app-function";
29
- "app-function-endpoint": "app-function-endpoint";
30
30
  "app-object": "app-object";
31
31
  scim: "scim";
32
+ "workflow-action": "workflow-action";
33
+ "app-function-endpoint": "app-function-endpoint";
32
34
  }>>>;
33
35
  }, z.core.$strip>;
34
36
  export type CreateProjectInputSchema = z.infer<typeof inputSchemaZodObject>;
35
37
  export declare class CreateProjectTool extends Tool<CreateProjectInputSchema> {
36
- constructor(mcpServer: McpServer);
38
+ constructor(mcpServer: McpServer, logger: McpLogger);
37
39
  handler({ name, destination, projectBase, distribution, auth, features, absoluteCurrentWorkingDirectory, }: CreateProjectInputSchema): Promise<TextContentResponse>;
38
40
  register(): RegisteredTool;
39
41
  }
@@ -1,14 +1,13 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { APP_AUTH_TYPES, APP_DISTRIBUTION_TYPES, EMPTY_PROJECT, PROJECT_WITH_APP, } from '../../../lib/constants.js';
4
4
  import { addFlag } from '../../utils/command.js';
5
5
  import { absoluteCurrentWorkingDirectory, features } from './constants.js';
6
6
  import { runCommandInDir } from '../../utils/command.js';
7
7
  import { formatTextContents, formatTextContent } from '../../utils/content.js';
8
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
9
8
  import { setupHubSpotConfig } from '../../utils/config.js';
10
9
  import { getErrorMessage } from '../../../lib/errorHandlers/index.js';
11
- import { PLATFORM_VERSIONS } from '@hubspot/local-dev-lib/constants/projects';
10
+ import { PLATFORM_VERSIONS } from '@hubspot/project-parsing-lib/constants';
12
11
  const inputSchema = {
13
12
  absoluteCurrentWorkingDirectory,
14
13
  name: z
@@ -35,12 +34,11 @@ const inputSchema = {
35
34
  const inputSchemaZodObject = z.object({ ...inputSchema });
36
35
  const toolName = 'create-project';
37
36
  export class CreateProjectTool extends Tool {
38
- constructor(mcpServer) {
39
- super(mcpServer);
37
+ constructor(mcpServer, logger) {
38
+ super(mcpServer, logger, toolName);
40
39
  }
41
40
  async handler({ name, destination, projectBase, distribution, auth, features, absoluteCurrentWorkingDirectory, }) {
42
41
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
43
- await trackToolUsage(toolName);
44
42
  let command = addFlag('hs project create', 'platform-version', PLATFORM_VERSIONS.v2026_03);
45
43
  const content = [];
46
44
  if (name) {
@@ -79,6 +77,10 @@ export class CreateProjectTool extends Tool {
79
77
  return formatTextContents(stdout, stderr);
80
78
  }
81
79
  catch (error) {
80
+ this.logger.debug(toolName, {
81
+ message: 'Handler caught error',
82
+ error: error instanceof Error ? error.message : String(error),
83
+ });
82
84
  return formatTextContents(getErrorMessage(error));
83
85
  }
84
86
  }
@@ -93,6 +95,6 @@ export class CreateProjectTool extends Tool {
93
95
  idempotentHint: false,
94
96
  openWorldHint: false,
95
97
  },
96
- }, this.handler);
98
+ }, input => this.wrappedHandler(input));
97
99
  }
98
100
  }