@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,6 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- import { TextContentResponse, Tool } from '../../types.js';
3
+ import { McpLogger } from '../../utils/logger.js';
4
+ import { TextContentResponse } from '../../types.js';
5
+ import { Tool } from '../../Tool.js';
4
6
  declare const createTestAccountInputSchema: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
6
8
  configPath: z.ZodOptional<z.ZodString>;
@@ -44,7 +46,7 @@ declare const createTestAccountInputSchema: z.ZodObject<{
44
46
  }, z.core.$strip>;
45
47
  export type CreateTestAccountInputSchema = z.infer<typeof createTestAccountInputSchema>;
46
48
  export declare class CreateTestAccountTool extends Tool<CreateTestAccountInputSchema> {
47
- constructor(mcpServer: McpServer);
49
+ constructor(mcpServer: McpServer, logger: McpLogger);
48
50
  handler({ absoluteCurrentWorkingDirectory, name, description, marketingLevel, opsLevel, serviceLevel, salesLevel, contentLevel, commerceLevel, configPath, }: CreateTestAccountInputSchema): Promise<TextContentResponse>;
49
51
  register(): RegisteredTool;
50
52
  }
@@ -1,11 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import fs from 'fs';
3
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
4
3
  import { formatTextContents, formatTextContent } from '../../utils/content.js';
5
4
  import { addFlag } from '../../utils/command.js';
6
5
  import { runCommandInDir } from '../../utils/command.js';
7
6
  import { ACCOUNT_LEVELS, ACCOUNT_LEVEL_CHOICES, } from '../../../lib/constants.js';
8
- import { Tool } from '../../types.js';
7
+ import { Tool } from '../../Tool.js';
9
8
  import { absoluteCurrentWorkingDirectory } from './constants.js';
10
9
  import { getConfigAccountByName } from '@hubspot/local-dev-lib/config';
11
10
  import { setupHubSpotConfig } from '../../utils/config.js';
@@ -68,12 +67,11 @@ const inputSchema = {
68
67
  const createTestAccountInputSchema = z.object({ ...inputSchema });
69
68
  const toolName = 'create-test-account';
70
69
  export class CreateTestAccountTool extends Tool {
71
- constructor(mcpServer) {
72
- super(mcpServer);
70
+ constructor(mcpServer, logger) {
71
+ super(mcpServer, logger, toolName);
73
72
  }
74
73
  async handler({ absoluteCurrentWorkingDirectory, name, description, marketingLevel, opsLevel, serviceLevel, salesLevel, contentLevel, commerceLevel, configPath, }) {
75
74
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
76
- await trackToolUsage(toolName);
77
75
  let command = 'hs test-account create';
78
76
  const content = [];
79
77
  // Use config file if provided (LLM should check for config first)
@@ -84,6 +82,10 @@ export class CreateTestAccountTool extends Tool {
84
82
  configJson = JSON.parse(config);
85
83
  }
86
84
  catch (error) {
85
+ this.logger.debug(toolName, {
86
+ message: 'Handler caught error reading config file',
87
+ error: error instanceof Error ? error.message : String(error),
88
+ });
87
89
  return {
88
90
  content: [
89
91
  formatTextContent(`Failed to read or parse config file at "${configPath}": ${getErrorMessage(error)}. Please ensure the file exists and contains valid JSON.`),
@@ -97,7 +99,10 @@ export class CreateTestAccountTool extends Tool {
97
99
  }
98
100
  }
99
101
  catch (error) {
100
- // nothing to do here
102
+ this.logger.debug(toolName, {
103
+ message: 'Handler caught error checking account by config name',
104
+ error: error instanceof Error ? error.message : String(error),
105
+ });
101
106
  }
102
107
  }
103
108
  command = addFlag(command, 'config-path', configPath);
@@ -110,7 +115,10 @@ export class CreateTestAccountTool extends Tool {
110
115
  }
111
116
  }
112
117
  catch (e) {
113
- // nothing to do here
118
+ this.logger.debug(toolName, {
119
+ message: 'Handler caught error checking account by name',
120
+ error: e instanceof Error ? e.message : String(e),
121
+ });
114
122
  }
115
123
  command = addFlag(command, 'name', name);
116
124
  command = addFlag(command, 'description', description || name);
@@ -135,6 +143,10 @@ export class CreateTestAccountTool extends Tool {
135
143
  return formatTextContents(absoluteCurrentWorkingDirectory, stdout, stderr);
136
144
  }
137
145
  catch (error) {
146
+ this.logger.debug(toolName, {
147
+ message: 'Handler caught error',
148
+ error: error instanceof Error ? error.message : String(error),
149
+ });
138
150
  return formatTextContents(absoluteCurrentWorkingDirectory, getErrorMessage(error));
139
151
  }
140
152
  }
@@ -165,6 +177,6 @@ export class CreateTestAccountTool extends Tool {
165
177
  idempotentHint: false,
166
178
  openWorldHint: true,
167
179
  },
168
- }, this.handler);
180
+ }, input => this.wrappedHandler(input));
169
181
  }
170
182
  }
@@ -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;
@@ -8,7 +10,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
8
10
  }, z.core.$strip>;
9
11
  type InputSchemaType = z.infer<typeof inputSchemaZodObject>;
10
12
  export declare class DeployProjectTool extends Tool<InputSchemaType> {
11
- constructor(mcpServer: McpServer);
13
+ constructor(mcpServer: McpServer, logger: McpLogger);
12
14
  handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, buildNumber, }: InputSchemaType): 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, absoluteProjectPath, } from './constants.js';
5
5
  import { runCommandInDir } from '../../utils/command.js';
6
6
  import { formatTextContents, formatTextContent } from '../../utils/content.js';
7
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
8
7
  import { setupHubSpotConfig } from '../../utils/config.js';
9
8
  const inputSchema = {
10
9
  absoluteProjectPath,
@@ -19,12 +18,11 @@ const inputSchemaZodObject = z.object({
19
18
  });
20
19
  const toolName = 'deploy-project';
21
20
  export class DeployProjectTool extends Tool {
22
- constructor(mcpServer) {
23
- super(mcpServer);
21
+ constructor(mcpServer, logger) {
22
+ super(mcpServer, logger, toolName);
24
23
  }
25
24
  async handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, buildNumber, }) {
26
25
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
27
- await trackToolUsage(toolName);
28
26
  let command = `hs project deploy`;
29
27
  const content = [];
30
28
  if (!buildNumber) {
@@ -53,6 +51,6 @@ export class DeployProjectTool extends Tool {
53
51
  idempotentHint: true,
54
52
  openWorldHint: true,
55
53
  },
56
- }, this.handler);
54
+ }, input => this.wrappedHandler(input));
57
55
  }
58
56
  }
@@ -1,13 +1,15 @@
1
1
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { McpLogger } from '../../utils/logger.js';
2
3
  import z from 'zod';
3
- import { TextContentResponse, Tool } from '../../types.js';
4
+ import { TextContentResponse } from '../../types.js';
5
+ import { Tool } from '../../Tool.js';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  docUrl: z.ZodString;
6
8
  absoluteCurrentWorkingDirectory: z.ZodString;
7
9
  }, z.z.core.$strip>;
8
10
  type InputSchemaType = z.infer<typeof inputSchemaZodObject>;
9
11
  export declare class DocFetchTool extends Tool<InputSchemaType> {
10
- constructor(mcpServer: McpServer);
12
+ constructor(mcpServer: McpServer, logger: McpLogger);
11
13
  handler({ docUrl, absoluteCurrentWorkingDirectory, }: InputSchemaType): Promise<TextContentResponse>;
12
14
  register(): RegisteredTool;
13
15
  }
@@ -1,7 +1,6 @@
1
1
  import z from 'zod';
2
- import { Tool } from '../../types.js';
2
+ import { Tool } from '../../Tool.js';
3
3
  import { formatTextContents } from '../../utils/content.js';
4
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
5
4
  import { absoluteCurrentWorkingDirectory, docUrl } from './constants.js';
6
5
  import { http } from '@hubspot/local-dev-lib/http/unauthed';
7
6
  import { isHubSpotHttpError } from '@hubspot/local-dev-lib/errors/index';
@@ -17,12 +16,11 @@ const inputSchemaZodObject = z.object({
17
16
  });
18
17
  const toolName = 'fetch-doc';
19
18
  export class DocFetchTool extends Tool {
20
- constructor(mcpServer) {
21
- super(mcpServer);
19
+ constructor(mcpServer, logger) {
20
+ super(mcpServer, logger, toolName);
22
21
  }
23
22
  async handler({ docUrl, absoluteCurrentWorkingDirectory, }) {
24
23
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
25
- await trackToolUsage(toolName);
26
24
  try {
27
25
  // Append .md extension to the URL
28
26
  const markdownUrl = `${docUrl}.md`;
@@ -36,6 +34,10 @@ export class DocFetchTool extends Tool {
36
34
  return formatTextContents(content);
37
35
  }
38
36
  catch (error) {
37
+ this.logger.debug(toolName, {
38
+ message: 'Handler caught error',
39
+ error: error instanceof Error ? error.message : String(error),
40
+ });
39
41
  if (isHubSpotHttpError(error)) {
40
42
  return formatTextContents(error.toString());
41
43
  }
@@ -52,6 +54,6 @@ export class DocFetchTool extends Tool {
52
54
  readOnlyHint: true,
53
55
  openWorldHint: true,
54
56
  },
55
- }, this.handler);
57
+ }, input => this.wrappedHandler(input));
56
58
  }
57
59
  }
@@ -1,9 +1,12 @@
1
1
  import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { McpLogger } from '../../utils/logger.js';
2
3
  import z from 'zod';
3
- import { TextContentResponse, Tool } from '../../types.js';
4
+ import { TextContentResponse } from '../../types.js';
5
+ import { Tool } from '../../Tool.js';
4
6
  declare const inputSchemaZodObject: z.ZodObject<{
5
7
  absoluteCurrentWorkingDirectory: z.ZodString;
6
8
  docsSearchQuery: z.ZodString;
9
+ docsSearchLimit: z.ZodDefault<z.ZodNumber>;
7
10
  }, z.z.core.$strip>;
8
11
  export interface DocsSearchResponse {
9
12
  results: {
@@ -16,8 +19,11 @@ export interface DocsSearchResponse {
16
19
  }
17
20
  type InputSchemaType = z.infer<typeof inputSchemaZodObject>;
18
21
  export declare class DocsSearchTool extends Tool<InputSchemaType> {
19
- constructor(mcpServer: McpServer);
20
- handler({ docsSearchQuery, absoluteCurrentWorkingDirectory, }: InputSchemaType): Promise<TextContentResponse>;
22
+ constructor(mcpServer: McpServer, logger: McpLogger);
23
+ protected getTrackingMeta({ docsSearchQuery, }: InputSchemaType): {
24
+ [key: string]: string;
25
+ } | undefined;
26
+ handler({ docsSearchQuery, docsSearchLimit, absoluteCurrentWorkingDirectory, }: InputSchemaType): Promise<TextContentResponse>;
21
27
  register(): RegisteredTool;
22
28
  }
23
29
  export {};
@@ -1,16 +1,23 @@
1
1
  import { http } from '@hubspot/local-dev-lib/http';
2
2
  import z from 'zod';
3
- import { Tool } from '../../types.js';
3
+ import { Tool } from '../../Tool.js';
4
4
  import { formatTextContents } from '../../utils/content.js';
5
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
6
5
  import { absoluteCurrentWorkingDirectory, docsSearchQuery, } from './constants.js';
7
6
  import { isHubSpotHttpError } from '@hubspot/local-dev-lib/errors/index';
8
7
  import { getConfigDefaultAccountIfExists } from '@hubspot/local-dev-lib/config';
9
8
  import { setupHubSpotConfig } from '../../utils/config.js';
10
9
  import { getErrorMessage } from '../../../lib/errorHandlers/index.js';
10
+ const docsSearchLimit = z
11
+ .number()
12
+ .int()
13
+ .min(1)
14
+ .max(20)
15
+ .default(5)
16
+ .describe('Maximum number of results to return.');
11
17
  const inputSchema = {
12
18
  absoluteCurrentWorkingDirectory,
13
19
  docsSearchQuery,
20
+ docsSearchLimit,
14
21
  };
15
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
23
  const inputSchemaZodObject = z.object({
@@ -18,12 +25,14 @@ const inputSchemaZodObject = z.object({
18
25
  });
19
26
  const toolName = 'search-docs';
20
27
  export class DocsSearchTool extends Tool {
21
- constructor(mcpServer) {
22
- super(mcpServer);
28
+ constructor(mcpServer, logger) {
29
+ super(mcpServer, logger, toolName);
23
30
  }
24
- async handler({ docsSearchQuery, absoluteCurrentWorkingDirectory, }) {
31
+ getTrackingMeta({ docsSearchQuery, }) {
32
+ return { mode: docsSearchQuery };
33
+ }
34
+ async handler({ docsSearchQuery, docsSearchLimit, absoluteCurrentWorkingDirectory, }) {
25
35
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
26
- await trackToolUsage(toolName, { mode: docsSearchQuery });
27
36
  const accountId = getConfigDefaultAccountIfExists()?.accountId;
28
37
  if (!accountId) {
29
38
  const authErrorMessage = `No account ID found. Please run \`hs account auth\` to configure an account, or set a default account with \`hs account use <account>\``;
@@ -40,13 +49,27 @@ export class DocsSearchTool extends Tool {
40
49
  if (!results || results.length === 0) {
41
50
  return formatTextContents('No documentation found for your query.');
42
51
  }
43
- const formattedResults = results
52
+ // The docs-search API returns duplicate URLs; dedupe to avoid wasting the result limit on repeats
53
+ const seen = new Set();
54
+ const dedupedResults = results.filter(result => {
55
+ if (seen.has(result.url)) {
56
+ return false;
57
+ }
58
+ seen.add(result.url);
59
+ return true;
60
+ });
61
+ const limitedResults = dedupedResults.slice(0, docsSearchLimit);
62
+ const formattedResults = limitedResults
44
63
  .map(result => `**${result.title}**\n${result.description}\nURL: ${result.url}\nScore: ${result.score}\n\n${result.content}\n---\n`)
45
64
  .join('\n');
46
- const successMessage = `Found ${results.length} documentation results:\n\n${formattedResults}`;
65
+ const successMessage = `Found ${dedupedResults.length} results, showing top ${limitedResults.length}:\n\n${formattedResults}`;
47
66
  return formatTextContents(successMessage);
48
67
  }
49
68
  catch (error) {
69
+ this.logger.debug(toolName, {
70
+ message: 'Handler caught error',
71
+ error: error instanceof Error ? error.message : String(error),
72
+ });
50
73
  if (isHubSpotHttpError(error)) {
51
74
  // Handle different status codes
52
75
  return formatTextContents(error.toString());
@@ -64,6 +87,6 @@ export class DocsSearchTool extends Tool {
64
87
  readOnlyHint: true,
65
88
  openWorldHint: true,
66
89
  },
67
- }, this.handler);
90
+ }, input => this.wrappedHandler(input));
68
91
  }
69
92
  }
@@ -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;
@@ -9,7 +11,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
9
11
  }, z.core.$strip>;
10
12
  export type GetApiUsagePatternsByAppIdInputSchema = z.infer<typeof inputSchemaZodObject>;
11
13
  export declare class GetApiUsagePatternsByAppIdTool extends Tool<GetApiUsagePatternsByAppIdInputSchema> {
12
- constructor(mcpServer: McpServer);
14
+ constructor(mcpServer: McpServer, logger: McpLogger);
13
15
  handler({ appId, startDate, endDate, absoluteCurrentWorkingDirectory, }: GetApiUsagePatternsByAppIdInputSchema): Promise<TextContentResponse>;
14
16
  register(): RegisteredTool;
15
17
  }
@@ -1,6 +1,5 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
4
3
  import { http } from '@hubspot/local-dev-lib/http';
5
4
  import { formatTextContents } from '../../utils/content.js';
6
5
  import { isHubSpotHttpError } from '@hubspot/local-dev-lib/errors/index';
@@ -26,12 +25,11 @@ const inputSchema = {
26
25
  const inputSchemaZodObject = z.object({ ...inputSchema });
27
26
  const toolName = 'get-api-usage-patterns-by-app-id';
28
27
  export class GetApiUsagePatternsByAppIdTool extends Tool {
29
- constructor(mcpServer) {
30
- super(mcpServer);
28
+ constructor(mcpServer, logger) {
29
+ super(mcpServer, logger, toolName);
31
30
  }
32
31
  async handler({ appId, startDate, endDate, absoluteCurrentWorkingDirectory, }) {
33
32
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
34
- await trackToolUsage(toolName);
35
33
  try {
36
34
  // Get account ID from CLI config
37
35
  const accountId = getConfigDefaultAccountIfExists()?.accountId;
@@ -52,6 +50,10 @@ export class GetApiUsagePatternsByAppIdTool extends Tool {
52
50
  return formatTextContents(formattedResult);
53
51
  }
54
52
  catch (error) {
53
+ this.logger.debug(toolName, {
54
+ message: 'Handler caught error',
55
+ error: error instanceof Error ? error.message : String(error),
56
+ });
55
57
  if (isHubSpotHttpError(error)) {
56
58
  // Handle HubSpot-specific HTTP errors
57
59
  return formatTextContents(error.toString());
@@ -68,6 +70,6 @@ export class GetApiUsagePatternsByAppIdTool extends Tool {
68
70
  readOnlyHint: true,
69
71
  openWorldHint: true,
70
72
  },
71
- }, this.handler);
73
+ }, input => this.wrappedHandler(input));
72
74
  }
73
75
  }
@@ -1,12 +1,14 @@
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
  }, z.core.$strip>;
7
9
  export type GetApplicationInfoInputSchema = z.infer<typeof inputSchemaZodObject>;
8
10
  export declare class GetApplicationInfoTool extends Tool<GetApplicationInfoInputSchema> {
9
- constructor(mcpServer: McpServer);
11
+ constructor(mcpServer: McpServer, logger: McpLogger);
10
12
  handler({ absoluteCurrentWorkingDirectory, }: GetApplicationInfoInputSchema): Promise<TextContentResponse>;
11
13
  register(): RegisteredTool;
12
14
  }
@@ -1,6 +1,5 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
4
3
  import { http } from '@hubspot/local-dev-lib/http';
5
4
  import { formatTextContents } from '../../utils/content.js';
6
5
  import { isHubSpotHttpError } from '@hubspot/local-dev-lib/errors/index';
@@ -13,12 +12,11 @@ const inputSchema = { absoluteCurrentWorkingDirectory };
13
12
  const inputSchemaZodObject = z.object({ ...inputSchema });
14
13
  const toolName = 'get-apps-info';
15
14
  export class GetApplicationInfoTool extends Tool {
16
- constructor(mcpServer) {
17
- super(mcpServer);
15
+ constructor(mcpServer, logger) {
16
+ super(mcpServer, logger, toolName);
18
17
  }
19
18
  async handler({ absoluteCurrentWorkingDirectory, }) {
20
19
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
21
- await trackToolUsage(toolName);
22
20
  try {
23
21
  // Get account ID from CLI config
24
22
  const accountId = getConfigDefaultAccountIfExists()?.accountId;
@@ -35,6 +33,10 @@ export class GetApplicationInfoTool extends Tool {
35
33
  return formatTextContents(formattedResult);
36
34
  }
37
35
  catch (error) {
36
+ this.logger.debug(toolName, {
37
+ message: 'Handler caught error',
38
+ error: error instanceof Error ? error.message : String(error),
39
+ });
38
40
  if (isHubSpotHttpError(error)) {
39
41
  // Handle HubSpot-specific HTTP errors
40
42
  return formatTextContents(error.toString());
@@ -51,6 +53,6 @@ export class GetApplicationInfoTool extends Tool {
51
53
  readOnlyHint: true,
52
54
  openWorldHint: true,
53
55
  },
54
- }, this.handler);
56
+ }, input => this.wrappedHandler(input));
55
57
  }
56
58
  }
@@ -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;
@@ -14,7 +16,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
14
16
  }, z.core.$strip>;
15
17
  export type GetBuildLogsInputSchema = z.infer<typeof inputSchemaZodObject>;
16
18
  export declare class GetBuildLogsTool extends Tool<GetBuildLogsInputSchema> {
17
- constructor(mcpServer: McpServer);
19
+ constructor(mcpServer: McpServer, logger: McpLogger);
18
20
  handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, buildId, logLevel, }: GetBuildLogsInputSchema): Promise<TextContentResponse>;
19
21
  register(): RegisteredTool;
20
22
  }
@@ -1,6 +1,5 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
4
3
  import { formatTextContents } from '../../utils/content.js';
5
4
  import { isHubSpotHttpError } from '@hubspot/local-dev-lib/errors/index';
6
5
  import { http } from '@hubspot/local-dev-lib/http';
@@ -59,12 +58,11 @@ function formatLogs(logs) {
59
58
  .join('\n');
60
59
  }
61
60
  export class GetBuildLogsTool extends Tool {
62
- constructor(mcpServer) {
63
- super(mcpServer);
61
+ constructor(mcpServer, logger) {
62
+ super(mcpServer, logger, TOOL_NAME);
64
63
  }
65
64
  async handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, buildId, logLevel, }) {
66
65
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
67
- await trackToolUsage(TOOL_NAME);
68
66
  try {
69
67
  const accountId = getConfigDefaultAccountIfExists()?.accountId;
70
68
  if (!accountId) {
@@ -96,6 +94,10 @@ export class GetBuildLogsTool extends Tool {
96
94
  return formatTextContents(absoluteCurrentWorkingDirectory, output);
97
95
  }
98
96
  catch (error) {
97
+ this.logger.debug(TOOL_NAME, {
98
+ message: 'Handler caught error',
99
+ error: error instanceof Error ? error.message : String(error),
100
+ });
99
101
  let errorMessage;
100
102
  if (isHubSpotHttpError(error)) {
101
103
  errorMessage = error.toString();
@@ -119,6 +121,6 @@ export class GetBuildLogsTool extends Tool {
119
121
  openWorldHint: true,
120
122
  idempotentHint: true,
121
123
  },
122
- }, this.handler);
124
+ }, input => this.wrappedHandler(input));
123
125
  }
124
126
  }
@@ -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;
@@ -9,7 +11,7 @@ declare const inputSchemaZodObject: z.ZodObject<{
9
11
  }, z.core.$strip>;
10
12
  export type GetBuildStatusInputSchema = z.infer<typeof inputSchemaZodObject>;
11
13
  export declare class GetBuildStatusTool extends Tool<GetBuildStatusInputSchema> {
12
- constructor(mcpServer: McpServer);
14
+ constructor(mcpServer: McpServer, logger: McpLogger);
13
15
  handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, buildId, limit, }: GetBuildStatusInputSchema): Promise<TextContentResponse>;
14
16
  register(): RegisteredTool;
15
17
  }
@@ -1,6 +1,5 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
- import { trackToolUsage } from '../../utils/toolUsageTracking.js';
4
3
  import { formatTextContents } from '../../utils/content.js';
5
4
  import { isHubSpotHttpError } from '@hubspot/local-dev-lib/errors/index';
6
5
  import { fetchProjectBuilds, getBuildStatus, } from '@hubspot/local-dev-lib/api/projects';
@@ -104,12 +103,11 @@ function formatBuildDetails(build) {
104
103
  return lines.join('\n');
105
104
  }
106
105
  export class GetBuildStatusTool extends Tool {
107
- constructor(mcpServer) {
108
- super(mcpServer);
106
+ constructor(mcpServer, logger) {
107
+ super(mcpServer, logger, TOOL_NAME);
109
108
  }
110
109
  async handler({ absoluteProjectPath, absoluteCurrentWorkingDirectory, buildId, limit, }) {
111
110
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
112
- await trackToolUsage(TOOL_NAME);
113
111
  try {
114
112
  const accountId = getConfigDefaultAccountIfExists()?.accountId;
115
113
  if (!accountId) {
@@ -137,6 +135,10 @@ export class GetBuildStatusTool extends Tool {
137
135
  return formatTextContents(absoluteCurrentWorkingDirectory, output);
138
136
  }
139
137
  catch (error) {
138
+ this.logger.debug(TOOL_NAME, {
139
+ message: 'Handler caught error',
140
+ error: error instanceof Error ? error.message : String(error),
141
+ });
140
142
  let errorMessage;
141
143
  if (isHubSpotHttpError(error)) {
142
144
  errorMessage = error.toString();
@@ -160,6 +162,6 @@ export class GetBuildStatusTool extends Tool {
160
162
  openWorldHint: true,
161
163
  idempotentHint: true,
162
164
  },
163
- }, this.handler);
165
+ }, input => this.wrappedHandler(input));
164
166
  }
165
167
  }
@@ -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
  type InputSchemaType = z.infer<typeof inputSchemaZodObject>;
10
12
  export declare class GetConfigValuesTool extends Tool<InputSchemaType> {
11
- constructor(mcpServer: McpServer);
13
+ constructor(mcpServer: McpServer, logger: McpLogger);
12
14
  handler({ platformVersion, featureType, absoluteCurrentWorkingDirectory, }: InputSchemaType): Promise<TextContentResponse>;
13
15
  register(): RegisteredTool;
14
16
  }
@@ -1,10 +1,10 @@
1
- import { Tool } from '../../types.js';
1
+ import { Tool } from '../../Tool.js';
2
2
  import { z } from 'zod';
3
3
  import { formatTextContents } from '../../utils/content.js';
4
4
  import { absoluteCurrentWorkingDirectory } from './constants.js';
5
5
  import { getIntermediateRepresentationSchema } from '@hubspot/project-parsing-lib/schema';
6
6
  import { mapToInternalType } from '@hubspot/project-parsing-lib/transform';
7
- import { isV2Project } from '../../../lib/projects/platformVersion.js';
7
+ import { isLegacyProject } from '@hubspot/project-parsing-lib/projects';
8
8
  import { getConfigDefaultAccountIfExists } from '@hubspot/local-dev-lib/config';
9
9
  import { setupHubSpotConfig } from '../../utils/config.js';
10
10
  const inputSchema = {
@@ -22,13 +22,13 @@ const inputSchemaZodObject = z.object({
22
22
  });
23
23
  const toolName = 'get-feature-config-schema';
24
24
  export class GetConfigValuesTool extends Tool {
25
- constructor(mcpServer) {
26
- super(mcpServer);
25
+ constructor(mcpServer, logger) {
26
+ super(mcpServer, logger, toolName);
27
27
  }
28
28
  async handler({ platformVersion, featureType, absoluteCurrentWorkingDirectory, }) {
29
29
  setupHubSpotConfig(absoluteCurrentWorkingDirectory);
30
30
  try {
31
- if (!isV2Project(platformVersion)) {
31
+ if (isLegacyProject(platformVersion)) {
32
32
  return formatTextContents(`Can only be used on projects with a minimum platformVersion of 2025.2`);
33
33
  }
34
34
  const accountId = getConfigDefaultAccountIfExists()?.accountId;
@@ -46,7 +46,12 @@ export class GetConfigValuesTool extends Tool {
46
46
  return formatTextContents(JSON.stringify({ config: schema[internalComponentType] }));
47
47
  }
48
48
  }
49
- catch (error) { }
49
+ catch (error) {
50
+ this.logger.debug(toolName, {
51
+ message: 'Handler caught error',
52
+ error: error instanceof Error ? error.message : String(error),
53
+ });
54
+ }
50
55
  return formatTextContents(`Unable to locate JSON schema for type ${featureType}`);
51
56
  }
52
57
  register() {
@@ -60,6 +65,6 @@ export class GetConfigValuesTool extends Tool {
60
65
  readOnlyHint: true,
61
66
  openWorldHint: false,
62
67
  },
63
- }, this.handler);
68
+ }, input => this.wrappedHandler(input));
64
69
  }
65
70
  }