attio-mcp 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/CHANGELOG.md +102 -3
  2. package/README.md +77 -1
  3. package/dist/api/attio-client.d.ts +25 -5
  4. package/dist/api/attio-client.d.ts.map +1 -1
  5. package/dist/api/attio-client.js +119 -125
  6. package/dist/api/attio-client.js.map +1 -1
  7. package/dist/api/client-cache.d.ts +43 -0
  8. package/dist/api/client-cache.d.ts.map +1 -0
  9. package/dist/api/client-cache.js +71 -0
  10. package/dist/api/client-cache.js.map +1 -0
  11. package/dist/api/client-config.d.ts +53 -0
  12. package/dist/api/client-config.d.ts.map +1 -0
  13. package/dist/api/client-config.js +101 -0
  14. package/dist/api/client-config.js.map +1 -0
  15. package/dist/api/client-context.js +1 -1
  16. package/dist/api/client-context.js.map +1 -1
  17. package/dist/api/client-strategies.d.ts +76 -0
  18. package/dist/api/client-strategies.d.ts.map +1 -0
  19. package/dist/api/client-strategies.js +218 -0
  20. package/dist/api/client-strategies.js.map +1 -0
  21. package/dist/api/lazy-client.d.ts +4 -3
  22. package/dist/api/lazy-client.d.ts.map +1 -1
  23. package/dist/api/lazy-client.js +20 -8
  24. package/dist/api/lazy-client.js.map +1 -1
  25. package/dist/api/operations/notes.d.ts +3 -2
  26. package/dist/api/operations/notes.d.ts.map +1 -1
  27. package/dist/api/operations/notes.js +4 -3
  28. package/dist/api/operations/notes.js.map +1 -1
  29. package/dist/api/operations/query-parser.d.ts +27 -0
  30. package/dist/api/operations/query-parser.d.ts.map +1 -0
  31. package/dist/api/operations/query-parser.js +123 -0
  32. package/dist/api/operations/query-parser.js.map +1 -0
  33. package/dist/api/operations/search.d.ts +2 -2
  34. package/dist/api/operations/search.d.ts.map +1 -1
  35. package/dist/api/operations/search.js +77 -22
  36. package/dist/api/operations/search.js.map +1 -1
  37. package/dist/api/operations/tasks.js +9 -15
  38. package/dist/api/operations/tasks.js.map +1 -1
  39. package/dist/api/operations/workspace-members.js +9 -15
  40. package/dist/api/operations/workspace-members.js.map +1 -1
  41. package/dist/cli.js +6 -0
  42. package/dist/cli.js.map +1 -1
  43. package/dist/config/tool-aliases.d.ts +21 -0
  44. package/dist/config/tool-aliases.d.ts.map +1 -0
  45. package/dist/config/tool-aliases.js +98 -0
  46. package/dist/config/tool-aliases.js.map +1 -0
  47. package/dist/config/tool-mode.d.ts.map +1 -1
  48. package/dist/config/tool-mode.js +1 -6
  49. package/dist/config/tool-mode.js.map +1 -1
  50. package/dist/errors/enhanced-api-errors.d.ts +21 -7
  51. package/dist/errors/enhanced-api-errors.d.ts.map +1 -1
  52. package/dist/errors/enhanced-api-errors.js +18 -1
  53. package/dist/errors/enhanced-api-errors.js.map +1 -1
  54. package/dist/handlers/tool-configs/lists.d.ts +48 -0
  55. package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
  56. package/dist/handlers/tool-configs/lists.js +126 -22
  57. package/dist/handlers/tool-configs/lists.js.map +1 -1
  58. package/dist/handlers/tool-configs/openai/index.d.ts +1 -1
  59. package/dist/handlers/tool-configs/openai/index.d.ts.map +1 -1
  60. package/dist/handlers/tool-configs/openai/index.js +1 -1
  61. package/dist/handlers/tool-configs/openai/index.js.map +1 -1
  62. package/dist/handlers/tool-configs/people/crud.d.ts +5 -0
  63. package/dist/handlers/tool-configs/people/crud.d.ts.map +1 -1
  64. package/dist/handlers/tool-configs/people/crud.js +7 -2
  65. package/dist/handlers/tool-configs/people/crud.js.map +1 -1
  66. package/dist/handlers/tool-configs/people/index.d.ts +5 -0
  67. package/dist/handlers/tool-configs/people/index.d.ts.map +1 -1
  68. package/dist/handlers/tool-configs/universal/batch-search.d.ts +10 -0
  69. package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
  70. package/dist/handlers/tool-configs/universal/batch-search.js +18 -5
  71. package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
  72. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts.map +1 -1
  73. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js +39 -1
  74. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js.map +1 -1
  75. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts +22 -0
  76. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
  77. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts +4 -0
  78. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts.map +1 -1
  79. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +10 -4
  80. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
  81. package/dist/handlers/tool-configs/universal/core/index.d.ts +61 -11
  82. package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
  83. package/dist/handlers/tool-configs/universal/core/index.js +10 -10
  84. package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
  85. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +8 -0
  86. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
  87. package/dist/handlers/tool-configs/universal/core/metadata-operations.js +19 -8
  88. package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
  89. package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts +10 -4
  90. package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts.map +1 -1
  91. package/dist/handlers/tool-configs/universal/core/notes-operations.js +69 -51
  92. package/dist/handlers/tool-configs/universal/core/notes-operations.js.map +1 -1
  93. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts +5 -0
  94. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts.map +1 -1
  95. package/dist/handlers/tool-configs/universal/core/record-details-operations.js +10 -4
  96. package/dist/handlers/tool-configs/universal/core/record-details-operations.js.map +1 -1
  97. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts +5 -0
  98. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
  99. package/dist/handlers/tool-configs/universal/core/search-operations.js +10 -4
  100. package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
  101. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts +14 -0
  102. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts.map +1 -0
  103. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js +92 -0
  104. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js.map +1 -0
  105. package/dist/handlers/tool-configs/universal/index.d.ts +120 -114
  106. package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
  107. package/dist/handlers/tool-configs/universal/index.js +61 -77
  108. package/dist/handlers/tool-configs/universal/index.js.map +1 -1
  109. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
  110. package/dist/handlers/tool-configs/universal/operations/advanced-search.js +3 -3
  111. package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
  112. package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
  113. package/dist/handlers/tool-configs/universal/operations/batch-operations.js.map +1 -1
  114. package/dist/handlers/tool-configs/universal/operations/content-search.js +3 -3
  115. package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
  116. package/dist/handlers/tool-configs/universal/operations/index.d.ts +49 -10
  117. package/dist/handlers/tool-configs/universal/operations/index.d.ts.map +1 -1
  118. package/dist/handlers/tool-configs/universal/operations/index.js +47 -20
  119. package/dist/handlers/tool-configs/universal/operations/index.js.map +1 -1
  120. package/dist/handlers/tool-configs/universal/operations/operations-array.d.ts.map +1 -1
  121. package/dist/handlers/tool-configs/universal/operations/operations-array.js +3 -1
  122. package/dist/handlers/tool-configs/universal/operations/operations-array.js.map +1 -1
  123. package/dist/handlers/tool-configs/universal/operations/relationship-search.js +4 -4
  124. package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
  125. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +3 -3
  126. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
  127. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts +43 -0
  128. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts.map +1 -1
  129. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js +55 -0
  130. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js.map +1 -1
  131. package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts +32 -0
  132. package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts.map +1 -1
  133. package/dist/handlers/tool-configs/universal/schemas/core-schemas.js +40 -0
  134. package/dist/handlers/tool-configs/universal/schemas/core-schemas.js.map +1 -1
  135. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts +8 -2
  136. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
  137. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +9 -2
  138. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js.map +1 -1
  139. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts +8 -0
  140. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts.map +1 -1
  141. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js +12 -0
  142. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
  143. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
  144. package/dist/handlers/tool-configs/universal/validators/schema-validator.js +38 -3
  145. package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
  146. package/dist/handlers/tool-configs/workspace-members.d.ts +25 -0
  147. package/dist/handlers/tool-configs/workspace-members.d.ts.map +1 -1
  148. package/dist/handlers/tool-configs/workspace-members.js +73 -40
  149. package/dist/handlers/tool-configs/workspace-members.js.map +1 -1
  150. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
  151. package/dist/handlers/tools/dispatcher/core.js +24 -31
  152. package/dist/handlers/tools/dispatcher/core.js.map +1 -1
  153. package/dist/handlers/tools/dispatcher/logging.d.ts +2 -10
  154. package/dist/handlers/tools/dispatcher/logging.d.ts.map +1 -1
  155. package/dist/handlers/tools/dispatcher/logging.js +3 -2
  156. package/dist/handlers/tools/dispatcher/logging.js.map +1 -1
  157. package/dist/handlers/tools/index.d.ts.map +1 -1
  158. package/dist/handlers/tools/index.js +35 -39
  159. package/dist/handlers/tools/index.js.map +1 -1
  160. package/dist/handlers/tools/registry.d.ts +270 -65
  161. package/dist/handlers/tools/registry.d.ts.map +1 -1
  162. package/dist/handlers/tools/registry.js +21 -13
  163. package/dist/handlers/tools/registry.js.map +1 -1
  164. package/dist/handlers/tools/standards/index.d.ts +17 -0
  165. package/dist/handlers/tools/standards/index.d.ts.map +1 -0
  166. package/dist/handlers/tools/standards/index.js +32 -0
  167. package/dist/handlers/tools/standards/index.js.map +1 -0
  168. package/dist/middleware/performance-enhanced.d.ts +4 -0
  169. package/dist/middleware/performance-enhanced.d.ts.map +1 -1
  170. package/dist/middleware/performance-enhanced.js +63 -3
  171. package/dist/middleware/performance-enhanced.js.map +1 -1
  172. package/dist/objects/batch-companies.d.ts.map +1 -1
  173. package/dist/objects/batch-companies.js +6 -2
  174. package/dist/objects/batch-companies.js.map +1 -1
  175. package/dist/objects/companies/search.d.ts.map +1 -1
  176. package/dist/objects/companies/search.js +6 -1
  177. package/dist/objects/companies/search.js.map +1 -1
  178. package/dist/objects/notes.d.ts.map +1 -1
  179. package/dist/objects/notes.js +21 -7
  180. package/dist/objects/notes.js.map +1 -1
  181. package/dist/prompts/error-handler.d.ts +8 -2
  182. package/dist/prompts/error-handler.d.ts.map +1 -1
  183. package/dist/prompts/error-handler.js +63 -4
  184. package/dist/prompts/error-handler.js.map +1 -1
  185. package/dist/prompts/handlers.d.ts +3 -0
  186. package/dist/prompts/handlers.d.ts.map +1 -1
  187. package/dist/prompts/handlers.js +144 -47
  188. package/dist/prompts/handlers.js.map +1 -1
  189. package/dist/prompts/v1/add-to-list.v1.d.ts +38 -0
  190. package/dist/prompts/v1/add-to-list.v1.d.ts.map +1 -0
  191. package/dist/prompts/v1/add-to-list.v1.js +91 -0
  192. package/dist/prompts/v1/add-to-list.v1.js.map +1 -0
  193. package/dist/prompts/v1/advance-deal.v1.d.ts +41 -0
  194. package/dist/prompts/v1/advance-deal.v1.d.ts.map +1 -0
  195. package/dist/prompts/v1/advance-deal.v1.js +100 -0
  196. package/dist/prompts/v1/advance-deal.v1.js.map +1 -0
  197. package/dist/prompts/v1/company-search.v1.d.ts +44 -0
  198. package/dist/prompts/v1/company-search.v1.d.ts.map +1 -0
  199. package/dist/prompts/v1/company-search.v1.js +114 -0
  200. package/dist/prompts/v1/company-search.v1.js.map +1 -0
  201. package/dist/prompts/v1/constants.d.ts +112 -0
  202. package/dist/prompts/v1/constants.d.ts.map +1 -0
  203. package/dist/prompts/v1/constants.js +119 -0
  204. package/dist/prompts/v1/constants.js.map +1 -0
  205. package/dist/prompts/v1/create-task.v1.d.ts +50 -0
  206. package/dist/prompts/v1/create-task.v1.d.ts.map +1 -0
  207. package/dist/prompts/v1/create-task.v1.js +136 -0
  208. package/dist/prompts/v1/create-task.v1.js.map +1 -0
  209. package/dist/prompts/v1/deal-search.v1.d.ts +44 -0
  210. package/dist/prompts/v1/deal-search.v1.d.ts.map +1 -0
  211. package/dist/prompts/v1/deal-search.v1.js +114 -0
  212. package/dist/prompts/v1/deal-search.v1.js.map +1 -0
  213. package/dist/prompts/v1/index.d.ts +56 -0
  214. package/dist/prompts/v1/index.d.ts.map +1 -0
  215. package/dist/prompts/v1/index.js +81 -0
  216. package/dist/prompts/v1/index.js.map +1 -0
  217. package/dist/prompts/v1/log-activity.v1.d.ts +48 -0
  218. package/dist/prompts/v1/log-activity.v1.d.ts.map +1 -0
  219. package/dist/prompts/v1/log-activity.v1.js +124 -0
  220. package/dist/prompts/v1/log-activity.v1.js.map +1 -0
  221. package/dist/prompts/v1/meeting-prep.v1.d.ts +42 -0
  222. package/dist/prompts/v1/meeting-prep.v1.d.ts.map +1 -0
  223. package/dist/prompts/v1/meeting-prep.v1.js +105 -0
  224. package/dist/prompts/v1/meeting-prep.v1.js.map +1 -0
  225. package/dist/prompts/v1/people-search.v1.d.ts +45 -0
  226. package/dist/prompts/v1/people-search.v1.d.ts.map +1 -0
  227. package/dist/prompts/v1/people-search.v1.js +115 -0
  228. package/dist/prompts/v1/people-search.v1.js.map +1 -0
  229. package/dist/prompts/v1/pipeline-health.v1.d.ts +48 -0
  230. package/dist/prompts/v1/pipeline-health.v1.d.ts.map +1 -0
  231. package/dist/prompts/v1/pipeline-health.v1.js +131 -0
  232. package/dist/prompts/v1/pipeline-health.v1.js.map +1 -0
  233. package/dist/prompts/v1/qualify-lead.v1.d.ts +51 -0
  234. package/dist/prompts/v1/qualify-lead.v1.d.ts.map +1 -0
  235. package/dist/prompts/v1/qualify-lead.v1.js +157 -0
  236. package/dist/prompts/v1/qualify-lead.v1.js.map +1 -0
  237. package/dist/prompts/v1/types.d.ts +134 -0
  238. package/dist/prompts/v1/types.d.ts.map +1 -0
  239. package/dist/prompts/v1/types.js +36 -0
  240. package/dist/prompts/v1/types.js.map +1 -0
  241. package/dist/prompts/v1/utils/telemetry.d.ts +64 -0
  242. package/dist/prompts/v1/utils/telemetry.d.ts.map +1 -0
  243. package/dist/prompts/v1/utils/telemetry.js +88 -0
  244. package/dist/prompts/v1/utils/telemetry.js.map +1 -0
  245. package/dist/prompts/v1/utils/token-metadata.d.ts +43 -0
  246. package/dist/prompts/v1/utils/token-metadata.d.ts.map +1 -0
  247. package/dist/prompts/v1/utils/token-metadata.js +90 -0
  248. package/dist/prompts/v1/utils/token-metadata.js.map +1 -0
  249. package/dist/prompts/v1/utils/validation.d.ts +69 -0
  250. package/dist/prompts/v1/utils/validation.d.ts.map +1 -0
  251. package/dist/prompts/v1/utils/validation.js +140 -0
  252. package/dist/prompts/v1/utils/validation.js.map +1 -0
  253. package/dist/server/createServer.js +1 -1
  254. package/dist/services/ErrorService.d.ts +27 -0
  255. package/dist/services/ErrorService.d.ts.map +1 -1
  256. package/dist/services/ErrorService.js +92 -1
  257. package/dist/services/ErrorService.js.map +1 -1
  258. package/dist/services/UniversalUpdateService.d.ts.map +1 -1
  259. package/dist/services/UniversalUpdateService.js +32 -2
  260. package/dist/services/UniversalUpdateService.js.map +1 -1
  261. package/dist/services/create/data-normalizers.d.ts.map +1 -1
  262. package/dist/services/create/data-normalizers.js +18 -1
  263. package/dist/services/create/data-normalizers.js.map +1 -1
  264. package/dist/services/metadata/MetadataDiscoveryService.d.ts +4 -2
  265. package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
  266. package/dist/services/metadata/MetadataDiscoveryService.js +69 -157
  267. package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
  268. package/dist/services/metadata/discovery-runner.d.ts +25 -0
  269. package/dist/services/metadata/discovery-runner.d.ts.map +1 -0
  270. package/dist/services/metadata/discovery-runner.js +66 -0
  271. package/dist/services/metadata/discovery-runner.js.map +1 -0
  272. package/dist/services/metadata/task-metadata.d.ts +13 -0
  273. package/dist/services/metadata/task-metadata.d.ts.map +1 -0
  274. package/dist/services/metadata/task-metadata.js +84 -0
  275. package/dist/services/metadata/task-metadata.js.map +1 -0
  276. package/dist/services/normalizers/AttributeAwareNormalizer.d.ts.map +1 -1
  277. package/dist/services/normalizers/AttributeAwareNormalizer.js +99 -5
  278. package/dist/services/normalizers/AttributeAwareNormalizer.js.map +1 -1
  279. package/dist/services/normalizers/PhoneNormalizer.d.ts +2 -2
  280. package/dist/services/normalizers/PhoneNormalizer.d.ts.map +1 -1
  281. package/dist/services/normalizers/PhoneNormalizer.js +1 -7
  282. package/dist/services/normalizers/PhoneNormalizer.js.map +1 -1
  283. package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
  284. package/dist/services/search-strategies/CompanySearchStrategy.js +10 -4
  285. package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
  286. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
  287. package/dist/services/search-strategies/PeopleSearchStrategy.js +21 -15
  288. package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
  289. package/dist/services/search-strategies/query-filter-builder.d.ts +5 -0
  290. package/dist/services/search-strategies/query-filter-builder.d.ts.map +1 -0
  291. package/dist/services/search-strategies/query-filter-builder.js +129 -0
  292. package/dist/services/search-strategies/query-filter-builder.js.map +1 -0
  293. package/dist/services/utils/attribute-metadata.d.ts +7 -0
  294. package/dist/services/utils/attribute-metadata.d.ts.map +1 -0
  295. package/dist/services/utils/attribute-metadata.js +84 -0
  296. package/dist/services/utils/attribute-metadata.js.map +1 -0
  297. package/dist/smithery.d.ts +3 -0
  298. package/dist/smithery.d.ts.map +1 -1
  299. package/dist/smithery.js +18 -0
  300. package/dist/smithery.js.map +1 -1
  301. package/dist/types/attio.d.ts +32 -11
  302. package/dist/types/attio.d.ts.map +1 -1
  303. package/dist/types/attio.js.map +1 -1
  304. package/dist/types/list-types.d.ts +2 -0
  305. package/dist/types/list-types.d.ts.map +1 -1
  306. package/dist/types/list-types.js.map +1 -1
  307. package/dist/utils/attribute-format-helpers.d.ts.map +1 -1
  308. package/dist/utils/attribute-format-helpers.js +22 -0
  309. package/dist/utils/attribute-format-helpers.js.map +1 -1
  310. package/dist/utils/axios-error-mapper.d.ts +1 -0
  311. package/dist/utils/axios-error-mapper.d.ts.map +1 -1
  312. package/dist/utils/axios-error-mapper.js.map +1 -1
  313. package/dist/utils/client-resolver.d.ts +3 -3
  314. package/dist/utils/client-resolver.d.ts.map +1 -1
  315. package/dist/utils/client-resolver.js +28 -21
  316. package/dist/utils/client-resolver.js.map +1 -1
  317. package/dist/utils/error-handler.js +2 -2
  318. package/dist/utils/error-handler.js.map +1 -1
  319. package/dist/utils/error-sanitizer.d.ts.map +1 -1
  320. package/dist/utils/error-sanitizer.js +52 -3
  321. package/dist/utils/error-sanitizer.js.map +1 -1
  322. package/dist/utils/json-serializer.d.ts.map +1 -1
  323. package/dist/utils/json-serializer.js +55 -6
  324. package/dist/utils/json-serializer.js.map +1 -1
  325. package/dist/utils/log-sanitizer.d.ts +14 -0
  326. package/dist/utils/log-sanitizer.d.ts.map +1 -0
  327. package/dist/utils/log-sanitizer.js +248 -0
  328. package/dist/utils/log-sanitizer.js.map +1 -0
  329. package/dist/utils/logger.d.ts +15 -9
  330. package/dist/utils/logger.d.ts.map +1 -1
  331. package/dist/utils/logger.js +74 -42
  332. package/dist/utils/logger.js.map +1 -1
  333. package/dist/utils/mcp-discovery.d.ts +16 -0
  334. package/dist/utils/mcp-discovery.d.ts.map +1 -0
  335. package/dist/utils/mcp-discovery.js +36 -0
  336. package/dist/utils/mcp-discovery.js.map +1 -0
  337. package/dist/utils/secure-error-handler.d.ts +16 -1
  338. package/dist/utils/secure-error-handler.d.ts.map +1 -1
  339. package/dist/utils/secure-error-handler.js +91 -12
  340. package/dist/utils/secure-error-handler.js.map +1 -1
  341. package/dist/utils/token-count.d.ts +5 -0
  342. package/dist/utils/token-count.d.ts.map +1 -0
  343. package/dist/utils/token-count.js +97 -0
  344. package/dist/utils/token-count.js.map +1 -0
  345. package/dist/utils/token-footprint-analyzer.d.ts +46 -0
  346. package/dist/utils/token-footprint-analyzer.d.ts.map +1 -0
  347. package/dist/utils/token-footprint-analyzer.js +221 -0
  348. package/dist/utils/token-footprint-analyzer.js.map +1 -0
  349. package/dist/utils/validation/phone-validation.d.ts +25 -0
  350. package/dist/utils/validation/phone-validation.d.ts.map +1 -0
  351. package/dist/utils/validation/phone-validation.js +132 -0
  352. package/dist/utils/validation/phone-validation.js.map +1 -0
  353. package/dist/utils/validation/uuid-validation.d.ts.map +1 -1
  354. package/dist/utils/validation/uuid-validation.js +1 -0
  355. package/dist/utils/validation/uuid-validation.js.map +1 -1
  356. package/package.json +20 -2
@@ -2,9 +2,15 @@
2
2
  * Error handling utilities for the prompts module
3
3
  */
4
4
  import { ErrorType } from '../utils/error-handler.js';
5
+ export interface PromptErrorOptions {
6
+ toolName?: string;
7
+ userId?: string;
8
+ requestId?: string;
9
+ context?: Record<string, unknown>;
10
+ }
5
11
  interface PromptErrorResponse {
6
12
  error: {
7
- code: string | number;
13
+ code: number;
8
14
  message: string;
9
15
  type: ErrorType;
10
16
  details?: Record<string, unknown> | null;
@@ -23,6 +29,6 @@ interface PromptErrorResponse {
23
29
  * @param statusCode - HTTP status code
24
30
  * @returns Formatted error result
25
31
  */
26
- export declare function createErrorResult(error: Error, message: string, statusCode: number): PromptErrorResponse;
32
+ export declare function createErrorResult(error: Error, message: string, statusCode: number, options?: PromptErrorOptions): PromptErrorResponse;
27
33
  export {};
28
34
  //# sourceMappingURL=error-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/prompts/error-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAG3E,UAAU,mBAAmB;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,SAAS,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC1C,CAAC;IACF,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,mBAAmB,CAsCrB"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/prompts/error-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAuB,MAAM,0BAA0B,CAAC;AA6C1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAGD,UAAU,mBAAmB;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,SAAS,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC1C,CAAC;IACF,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,kBAAuB,GAC/B,mBAAmB,CA8ErB"}
@@ -2,6 +2,40 @@
2
2
  * Error handling utilities for the prompts module
3
3
  */
4
4
  import { ErrorType, formatErrorResponse } from '../utils/error-handler.js';
5
+ import sanitizeHtml from 'sanitize-html';
6
+ import { createScopedLogger, OperationType } from '../utils/logger.js';
7
+ import { sanitizeErrorMessage } from '../utils/error-sanitizer.js';
8
+ const promptErrorLogger = createScopedLogger('prompts.error-handler', 'createErrorResult', OperationType.TOOL_EXECUTION);
9
+ const SAFE_ERROR_MESSAGES = {
10
+ 400: 'Invalid prompt request. Please review the provided parameters.',
11
+ 401: 'Authentication is required to access prompts.',
12
+ 403: 'Access to this prompt is denied.',
13
+ 404: 'The requested prompt could not be found.',
14
+ 429: 'Too many prompt requests were made. Please try again later.',
15
+ 500: 'An internal error occurred while processing the prompt.',
16
+ };
17
+ const DEFAULT_ERROR_MESSAGE = 'Unable to process the prompt request.';
18
+ function stripDangerousContent(value) {
19
+ // Use sanitize-html to robustly remove all scripts and event handlers
20
+ const sanitized = sanitizeHtml(value, {
21
+ allowedTags: false, // Remove all HTML tags, or set to [] to allow plain text only
22
+ allowedAttributes: false, // Remove all attributes
23
+ disallowedTagsMode: 'discard',
24
+ });
25
+ // Remove dangerous URL schemes (javascript:, data:, vbscript:, file:, etc.)
26
+ return sanitized
27
+ .replace(/\b(javascript|data|vbscript|file):/gi, '[URL_REMOVED]:')
28
+ .replace(/\son[a-z]+\s*=\s*/gi, ' ');
29
+ }
30
+ function encodeHtmlEntities(value) {
31
+ return value
32
+ .replace(/&/g, '&amp;')
33
+ .replace(/</g, '&lt;')
34
+ .replace(/>/g, '&gt;')
35
+ .replace(/"/g, '&quot;')
36
+ .replace(/'/g, '&#39;')
37
+ .replace(/`/g, '&#96;');
38
+ }
5
39
  /**
6
40
  * Creates a standardized error response for prompt-related errors
7
41
  *
@@ -10,7 +44,7 @@ import { ErrorType, formatErrorResponse } from '../utils/error-handler.js';
10
44
  * @param statusCode - HTTP status code
11
45
  * @returns Formatted error result
12
46
  */
13
- export function createErrorResult(error, message, statusCode) {
47
+ export function createErrorResult(error, message, statusCode, options = {}) {
14
48
  let errorType = ErrorType.UNKNOWN_ERROR;
15
49
  // Determine error type based on status code
16
50
  if (statusCode === 400) {
@@ -28,19 +62,44 @@ export function createErrorResult(error, message, statusCode) {
28
62
  else if (statusCode >= 500) {
29
63
  errorType = ErrorType.SERVER_ERROR;
30
64
  }
65
+ const safeClientMessage = encodeHtmlEntities(SAFE_ERROR_MESSAGES[statusCode] ?? DEFAULT_ERROR_MESSAGE);
66
+ const sanitizedDetail = encodeHtmlEntities(stripDangerousContent(sanitizeErrorMessage(message, {
67
+ includeContext: false,
68
+ logOriginal: false,
69
+ module: 'prompts.error-handler',
70
+ operation: 'createErrorResult',
71
+ safeMetadata: {
72
+ statusCode,
73
+ toolName: options.toolName,
74
+ },
75
+ })));
76
+ promptErrorLogger.error(`Prompt handler failure [${options.toolName ?? 'prompts.unknown'}]`, error, {
77
+ toolName: options.toolName ?? 'prompts.unknown',
78
+ userId: options.userId ?? 'unknown',
79
+ requestId: options.requestId ?? 'unknown',
80
+ statusCode,
81
+ errorType,
82
+ ...(options.context ? { context: options.context } : {}),
83
+ sanitizedDetail,
84
+ });
31
85
  const errorDetails = {
32
86
  statusCode,
33
- message,
87
+ message: safeClientMessage,
88
+ sanitizedDetail,
34
89
  };
35
90
  // Get the base response from the utility function
36
91
  const baseResponse = formatErrorResponse(error, errorType, errorDetails);
37
- // Create a new response object with our extended type
92
+ // Create a new response object with sanitized content
38
93
  const response = {
39
94
  ...baseResponse,
40
95
  error: {
41
96
  ...baseResponse.error,
42
- code: String(statusCode), // Convert to string for Express
97
+ code: statusCode, // Keep as number for Express res.status()
98
+ message: safeClientMessage,
43
99
  },
100
+ content: baseResponse.content.map((entry) => entry.type === 'text'
101
+ ? { ...entry, text: encodeHtmlEntities(entry.text) }
102
+ : entry),
44
103
  };
45
104
  return response;
46
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/prompts/error-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAc3E;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAY,EACZ,OAAe,EACf,UAAkB;IAElB,IAAI,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC;IAExC,4CAA4C;IAC5C,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACzC,CAAC;SAAM,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACpD,SAAS,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAC7C,CAAC;SAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC9B,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC;IACxC,CAAC;SAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC9B,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACzC,CAAC;SAAM,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QAC7B,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;IACrC,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,UAAU;QACV,OAAO;KACR,CAAC;IAEF,kDAAkD;IAClD,MAAM,YAAY,GAAG,mBAAmB,CACtC,KAAK,EACL,SAAS,EACT,YAAY,CACU,CAAC;IAEzB,sDAAsD;IACtD,MAAM,QAAQ,GAAwB;QACpC,GAAG,YAAY;QACf,KAAK,EAAE;YACL,GAAG,YAAY,CAAC,KAAK;YACrB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,gCAAgC;SAC3D;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/prompts/error-handler.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,10 @@ export declare function executePrompt(req: Request, res: Response): Promise<void
39
39
  * required by the Model Context Protocol specification. These endpoints enable
40
40
  * Claude Desktop to discover and retrieve prompt templates from the server.
41
41
  *
42
+ * Supports both legacy Handlebars prompts and new v1 MCP-compliant prompts.
43
+ *
42
44
  * @param server - MCP server instance
45
+ * @param context - Optional server context
43
46
  * @example
44
47
  * ```typescript
45
48
  * const server = new Server();
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/prompts/handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AA8H1D;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB5E;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CA6Bf;AA0GD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAyFf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,IAAI,CA6CN"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/prompts/handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA4IzD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB5E;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAsCf;AA0GD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAsHf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,IAAI,CAsGN"}
@@ -1,7 +1,13 @@
1
1
  import { ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
2
2
  import { setGlobalContext } from '../api/lazy-client.js';
3
- import { getAllPrompts, getPromptById, getPromptsByCategory, getAllCategories, } from './templates/index.js';
4
- import { createErrorResult } from './error-handler.js';
3
+ import { getAllPrompts, getPromptById, getPromptsByCategory, getAllCategories, } from '../prompts/templates/index.js';
4
+ import { createErrorResult } from '../prompts/error-handler.js';
5
+ import { getPromptsListPayload } from '../utils/mcp-discovery.js';
6
+ import { getAllPromptsV1, getPromptV1ByName, isV1Prompt } from './v1/index.js';
7
+ import { validateArguments, checkTokenBudget, createValidationError, createBudgetExceededError, } from './v1/utils/validation.js';
8
+ import { calculatePromptTokens } from './v1/utils/token-metadata.js';
9
+ import { logPromptTelemetry, createTelemetryEvent, } from './v1/utils/telemetry.js';
10
+ import { isDevMetaEnabled } from './v1/constants.js';
5
11
  // Import Handlebars using ES module import
6
12
  // This avoids the "require is not defined in ES module scope" error
7
13
  import Handlebars from 'handlebars';
@@ -19,7 +25,7 @@ class TemplateCache {
19
25
  */
20
26
  constructor(options = {}) {
21
27
  this.options = {
22
- maxSize: 100, // Default max cache size
28
+ maxSize: 100, // Sized for typical production load (50-100 unique prompts with parameter variations)
23
29
  ...options,
24
30
  };
25
31
  }
@@ -101,8 +107,13 @@ export async function listPrompts(req, res) {
101
107
  }
102
108
  catch (error) {
103
109
  const errorObj = new Error('Failed to list prompts');
104
- const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
105
- res.status(Number(errorResult.error.code)).json(errorResult);
110
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500, {
111
+ ...getRequestMetadata(req, 'prompts.list'),
112
+ context: {
113
+ category: req.query.category,
114
+ },
115
+ });
116
+ res.status(errorResult.error.code).json(errorResult);
106
117
  }
107
118
  }
108
119
  /**
@@ -121,8 +132,11 @@ export async function listPromptCategories(req, res) {
121
132
  }
122
133
  catch (error) {
123
134
  const errorObj = new Error('Failed to list prompt categories');
124
- const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
125
- res.status(Number(errorResult.error.code)).json(errorResult);
135
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500, {
136
+ ...getRequestMetadata(req, 'prompts.categories'),
137
+ context: {},
138
+ });
139
+ res.status(errorResult.error.code).json(errorResult);
126
140
  }
127
141
  }
128
142
  /**
@@ -132,13 +146,16 @@ export async function listPromptCategories(req, res) {
132
146
  * @param res - Express response object
133
147
  */
134
148
  export async function getPromptDetails(req, res) {
149
+ const promptId = req.params.id;
135
150
  try {
136
- const promptId = req.params.id;
137
151
  const prompt = getPromptById(promptId);
138
152
  if (!prompt) {
139
153
  const errorObj = new Error('Prompt not found');
140
- const errorResult = createErrorResult(errorObj, `No prompt found with ID: ${promptId}`, 404);
141
- res.status(Number(errorResult.error.code)).json(errorResult);
154
+ const errorResult = createErrorResult(errorObj, `No prompt found with ID: ${promptId}`, 404, {
155
+ ...getRequestMetadata(req, 'prompts.get'),
156
+ context: { promptId },
157
+ });
158
+ res.status(errorResult.error.code).json(errorResult);
142
159
  return;
143
160
  }
144
161
  res.json({
@@ -148,8 +165,11 @@ export async function getPromptDetails(req, res) {
148
165
  }
149
166
  catch (error) {
150
167
  const errorObj = new Error('Failed to get prompt details');
151
- const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
152
- res.status(Number(errorResult.error.code)).json(errorResult);
168
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500, {
169
+ ...getRequestMetadata(req, 'prompts.get'),
170
+ context: { promptId },
171
+ });
172
+ res.status(errorResult.error.code).json(errorResult);
153
173
  }
154
174
  }
155
175
  /**
@@ -237,13 +257,13 @@ function applyDefaultValues(prompt, parameters) {
237
257
  * @param res - Express response object
238
258
  */
239
259
  export async function executePrompt(req, res) {
260
+ const promptId = req.params.id;
240
261
  try {
241
- const promptId = req.params.id;
242
262
  const prompt = getPromptById(promptId);
243
263
  if (!prompt) {
244
264
  const errorObj = new Error('Prompt not found');
245
265
  const errorResult = createErrorResult(errorObj, `No prompt found with ID: ${promptId}`, 404);
246
- res.status(Number(errorResult.error.code)).json(errorResult);
266
+ res.status(errorResult.error.code).json(errorResult);
247
267
  return;
248
268
  }
249
269
  const executionRequest = req.body;
@@ -251,8 +271,14 @@ export async function executePrompt(req, res) {
251
271
  const validation = validateParameters(prompt, executionRequest.parameters);
252
272
  if (!validation.valid) {
253
273
  const errorObj = new Error('Invalid parameters');
254
- const errorResult = createErrorResult(errorObj, validation.errors.join(', '), 400);
255
- res.status(Number(errorResult.error.code)).json(errorResult);
274
+ const errorResult = createErrorResult(errorObj, validation.errors.join(', '), 400, {
275
+ ...getRequestMetadata(req, 'prompts.execute'),
276
+ context: {
277
+ promptId,
278
+ validationErrors: validation.errors,
279
+ },
280
+ });
281
+ res.status(errorResult.error.code).json(errorResult);
256
282
  return;
257
283
  }
258
284
  // Apply default values
@@ -268,8 +294,14 @@ export async function executePrompt(req, res) {
268
294
  const errorObj = new Error('Failed to compile template');
269
295
  const errorResult = createErrorResult(errorObj, `Template compilation error for prompt ${promptId}: ${compileError instanceof Error
270
296
  ? compileError.message
271
- : 'Unknown error'}`, 500);
272
- res.status(Number(errorResult.error.code)).json(errorResult);
297
+ : 'Unknown error'}`, 500, {
298
+ ...getRequestMetadata(req, 'prompts.execute'),
299
+ context: {
300
+ promptId,
301
+ stage: 'compile',
302
+ },
303
+ });
304
+ res.status(errorResult.error.code).json(errorResult);
273
305
  return;
274
306
  }
275
307
  }
@@ -280,8 +312,14 @@ export async function executePrompt(req, res) {
280
312
  }
281
313
  catch (renderError) {
282
314
  const errorObj = new Error('Failed to render template');
283
- const errorResult = createErrorResult(errorObj, `Template rendering error for prompt ${promptId}: ${renderError instanceof Error ? renderError.message : 'Unknown error'}`, 500);
284
- res.status(Number(errorResult.error.code)).json(errorResult);
315
+ const errorResult = createErrorResult(errorObj, `Template rendering error for prompt ${promptId}: ${renderError instanceof Error ? renderError.message : 'Unknown error'}`, 500, {
316
+ ...getRequestMetadata(req, 'prompts.execute'),
317
+ context: {
318
+ promptId,
319
+ stage: 'render',
320
+ },
321
+ });
322
+ res.status(errorResult.error.code).json(errorResult);
285
323
  return;
286
324
  }
287
325
  res.json({
@@ -294,8 +332,14 @@ export async function executePrompt(req, res) {
294
332
  }
295
333
  catch (error) {
296
334
  const errorObj = new Error('Failed to execute prompt');
297
- const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
298
- res.status(Number(errorResult.error.code)).json(errorResult);
335
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500, {
336
+ ...getRequestMetadata(req, 'prompts.execute'),
337
+ context: {
338
+ promptId,
339
+ stage: 'unhandled',
340
+ },
341
+ });
342
+ res.status(errorResult.error.code).json(errorResult);
299
343
  }
300
344
  }
301
345
  /**
@@ -305,7 +349,10 @@ export async function executePrompt(req, res) {
305
349
  * required by the Model Context Protocol specification. These endpoints enable
306
350
  * Claude Desktop to discover and retrieve prompt templates from the server.
307
351
  *
352
+ * Supports both legacy Handlebars prompts and new v1 MCP-compliant prompts.
353
+ *
308
354
  * @param server - MCP server instance
355
+ * @param context - Optional server context
309
356
  * @example
310
357
  * ```typescript
311
358
  * const server = new Server();
@@ -319,40 +366,90 @@ export function registerPromptHandlers(server, context) {
319
366
  }
320
367
  // Register handler for prompts/list endpoint
321
368
  server.setRequestHandler(ListPromptsRequestSchema, async () => {
322
- const prompts = getAllPrompts();
323
- return {
324
- prompts: prompts.map((prompt) => ({
325
- id: prompt.id,
326
- name: prompt.title, // Map title to name as required by MCP
327
- description: prompt.description,
328
- category: prompt.category,
369
+ const legacyPrompts = getPromptsListPayload().prompts;
370
+ const v1Prompts = getAllPromptsV1().map((p) => ({
371
+ name: p.metadata.name,
372
+ description: p.metadata.description,
373
+ arguments: p.arguments.map((arg) => ({
374
+ name: arg.name,
375
+ description: arg.description,
376
+ required: arg.required,
329
377
  })),
378
+ }));
379
+ return {
380
+ prompts: [...legacyPrompts, ...v1Prompts],
330
381
  };
331
382
  });
332
383
  // Register handler for prompts/get endpoint
333
384
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
334
- const promptId = request.params.promptId;
335
- const prompt = getPromptById(promptId);
385
+ const promptName = request.params.name;
386
+ const args = (request.params.arguments || {});
387
+ const startTime = Date.now();
388
+ // Check if this is a v1 prompt
389
+ if (isV1Prompt(promptName)) {
390
+ const promptDef = getPromptV1ByName(promptName);
391
+ if (!promptDef) {
392
+ throw new Error(`Prompt not found: ${promptName}`);
393
+ }
394
+ // Validate arguments
395
+ const validation = validateArguments(args, promptDef.arguments);
396
+ if (!validation.success) {
397
+ const error = createValidationError(validation.errors);
398
+ throw new Error(error.message);
399
+ }
400
+ // Build messages
401
+ const messages = promptDef.buildMessages(validation.data);
402
+ // Check token budget
403
+ const budgetCheck = await checkTokenBudget(promptName, messages);
404
+ if (!budgetCheck.withinBudget) {
405
+ const error = createBudgetExceededError(budgetCheck);
406
+ throw new Error(error.message);
407
+ }
408
+ // Calculate token metadata
409
+ const tokenMetadata = await calculatePromptTokens(messages);
410
+ // Log telemetry
411
+ const telemetryEvent = createTelemetryEvent(promptName, tokenMetadata, messages.length, startTime, false // budget not exceeded (already checked above)
412
+ );
413
+ logPromptTelemetry(telemetryEvent);
414
+ // Build response
415
+ const response = {
416
+ description: promptDef.metadata.description,
417
+ messages: messages,
418
+ };
419
+ // Add dev metadata if enabled
420
+ if (isDevMetaEnabled()) {
421
+ response._meta = tokenMetadata;
422
+ }
423
+ return response;
424
+ }
425
+ // Handle legacy Handlebars prompts
426
+ const prompt = getPromptById(promptName);
336
427
  if (!prompt) {
337
- throw new Error(`Prompt not found: ${promptId}`);
428
+ throw new Error(`Prompt not found: ${promptName}`);
338
429
  }
339
430
  return {
340
- prompt: {
341
- id: prompt.id,
342
- name: prompt.title, // Map title to name as required by MCP
343
- description: prompt.description,
344
- category: prompt.category,
345
- parameters: prompt.parameters.map((param) => ({
346
- name: param.name,
347
- type: param.type,
348
- description: param.description,
349
- required: param.required,
350
- default: param.default,
351
- enum: param.enum,
352
- })),
353
- template: prompt.template,
354
- },
431
+ description: prompt.description,
432
+ messages: [
433
+ {
434
+ role: 'user',
435
+ content: {
436
+ type: 'text',
437
+ text: prompt.template,
438
+ },
439
+ },
440
+ ],
355
441
  };
356
442
  });
357
443
  }
444
+ function getRequestMetadata(req, toolName) {
445
+ const requestId = req.header('x-request-id') ||
446
+ req.header('x-correlation-id') ||
447
+ req.header('x-amzn-trace-id');
448
+ const userId = req.header('x-attio-user-id') || req.header('x-user-id');
449
+ return {
450
+ toolName,
451
+ requestId: requestId ?? 'unknown',
452
+ userId: userId ?? 'unknown',
453
+ };
454
+ }
358
455
  //# sourceMappingURL=handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/prompts/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/prompts/handlers.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,2CAA2C;AAC3C,oEAAoE;AACpE,OAAO,UAAU,MAAM,YAAY,CAAC;AAepC;;;GAGG;AACH,MAAM,aAAa;IACT,KAAK,GAAG,IAAI,GAAG,EAAsC,CAAC;IACtD,OAAO,CAAuB;IAEtC;;;;OAIG;IACH,YAAY,UAAyC,EAAE;QACrD,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,GAAG,EAAE,sFAAsF;YACpG,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW,EAAE,QAAoC;QACnD,gEAAgE;QAChE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,kCAAkC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAED,qCAAqC;AACrC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAE1D,8BAA8B;AAC9B,UAAU,CAAC,cAAc,CACvB,IAAI,EACJ,UAEE,WAAoB,EACpB,OAGC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAY,EAAE,GAAa;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAA8B,CAAC;QAE1D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAE5E,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,GAAG,EACH;YACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC;YAC1C,OAAO,EAAE;gBACP,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ;aAC7B;SACF,CACF,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAY,EACZ,GAAa;IAEb,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QAEtC,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,GAAG,EACH;YACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,CAAC;YAChD,OAAO,EAAE,EAAE;SACZ,CACF,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAY,EACZ,GAAa;IAEb,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,4BAA4B,QAAQ,EAAE,EACtC,GAAG,EACH;gBACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC;gBACzC,OAAO,EAAE,EAAE,QAAQ,EAAE;aACtB,CACF,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,GAAG,EACH;YACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC;YACzC,OAAO,EAAE,EAAE,QAAQ,EAAE;SACtB,CACF,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,MAAsB,EACtB,UAAmC;IAEnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,gCAAgC;IAChC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,IACE,KAAK,CAAC,QAAQ;YACd,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EACzE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,IACE,KAAK,CAAC,IAAI;YACV,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;YACpC,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ;YAC1C,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC,EACtD,CAAC;YACD,MAAM,CAAC,IAAI,CACT,+BAA+B,KAAK,CAAC,IAAI,IAAI;gBAC3C,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,QAAQ,KAAK,CAAC,IAAc,EAAE,CAAC;gBAC7B,KAAK,QAAQ;oBACX,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC;oBAC3C,MAAM;gBACR,KAAK,QAAQ;oBACX,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC;oBAC3C,MAAM;gBACR,KAAK,SAAS;oBACZ,SAAS,GAAG,OAAO,UAAU,KAAK,SAAS,CAAC;oBAC5C,MAAM;gBACR,KAAK,OAAO;oBACV,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,QAAQ;oBACX,SAAS;wBACP,OAAO,UAAU,KAAK,QAAQ;4BAC9B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;4BACzB,UAAU,KAAK,IAAI,CAAC;oBACtB,MAAM;YACV,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CACT,8BAA8B,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,GAAG,CACpE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,MAAsB,EACtB,UAAmC;IAEnC,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;IAEjC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,IACE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;YACjE,KAAK,CAAC,OAAO,KAAK,SAAS,EAC3B,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAY,EACZ,GAAa;IAEb,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,4BAA4B,QAAQ,EAAE,EACtC,GAAG,CACJ,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAA8B,CAAC;QAE5D,sBAAsB;QACtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,GAAG,EACH;gBACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC;gBAC7C,OAAO,EAAE;oBACP,QAAQ;oBACR,gBAAgB,EAAE,UAAU,CAAC,MAAM;iBACpC;aACF,CACF,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAE3E,uCAAuC;QACvC,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,YAAqB,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,yCAAyC,QAAQ,KAC/C,YAAY,YAAY,KAAK;oBAC3B,CAAC,CAAC,YAAY,CAAC,OAAO;oBACtB,CAAC,CAAC,eACN,EAAE,EACF,GAAG,EACH;oBACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC;oBAC7C,OAAO,EAAE;wBACP,QAAQ;wBACR,KAAK,EAAE,SAAS;qBACjB;iBACF,CACF,CAAC;gBACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,WAAoB,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,uCAAuC,QAAQ,KAC7C,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,eACvD,EAAE,EACF,GAAG,EACH;gBACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC;gBAC7C,OAAO,EAAE;oBACP,QAAQ;oBACR,KAAK,EAAE,QAAQ;iBAChB;aACF,CACF,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,MAAM;aACP;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,iBAAiB,CACnC,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,GAAG,EACH;YACE,GAAG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC;YAC7C,OAAO,EAAE;gBACP,QAAQ;gBACR,KAAK,EAAE,WAAW;aACnB;SACF,CACF,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,OAAuB;IAEvB,6DAA6D;IAC7D,IAAI,OAAO,EAAE,CAAC;QACZ,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC,OAAO,CAAC;QACtD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;YACnC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,OAAO,EAAE,CAAC,GAAG,aAAa,EAAE,GAAG,SAAS,CAAC;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAc,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,+BAA+B;QAC/B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEhD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,qBAAqB;YACrB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YAED,iBAAiB;YACjB,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE1D,qBAAqB;YACrB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YAED,2BAA2B;YAC3B,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE5D,gBAAgB;YAChB,MAAM,cAAc,GAAG,oBAAoB,CACzC,UAAU,EACV,aAAa,EACb,QAAQ,CAAC,MAAM,EACf,SAAS,EACT,KAAK,CAAC,8CAA8C;aACrD,CAAC;YACF,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAEnC,iBAAiB;YACjB,MAAM,QAAQ,GAA4B;gBACxC,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,WAAW;gBAC3C,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,8BAA8B;YAC9B,IAAI,gBAAgB,EAAE,EAAE,CAAC;gBACvB,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC;YACjC,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ;qBACtB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,kBAAkB,CAAC,GAAY,EAAE,QAAgB;IACxD,MAAM,SAAS,GACb,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;QAC1B,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAC9B,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAExE,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,MAAM,EAAE,MAAM,IAAI,SAAS;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Add to List v1 Prompt
3
+ *
4
+ * Add person/company/deal(s) to a chosen List by exact name or ID.
5
+ */
6
+ import { z } from 'zod';
7
+ import { PromptV1Definition, PromptMessage, PromptArgument } from './types.js';
8
+ /**
9
+ * Argument schema for add_to_list.v1
10
+ */
11
+ export declare const AddToListArgs: z.ZodObject<{
12
+ records: z.ZodString;
13
+ list: z.ZodString;
14
+ dry_run: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ records: string;
17
+ list: string;
18
+ dry_run: boolean;
19
+ }, {
20
+ records: string;
21
+ list: string;
22
+ dry_run?: boolean | undefined;
23
+ }>;
24
+ export type AddToListArgsType = z.infer<typeof AddToListArgs>;
25
+ /**
26
+ * Argument definitions for registration
27
+ */
28
+ export declare const addToListArguments: PromptArgument[];
29
+ /**
30
+ * Build prompt messages for adding to list
31
+ */
32
+ export declare function buildAddToListMessages(args: Record<string, unknown>): PromptMessage[];
33
+ /**
34
+ * Complete prompt definition
35
+ */
36
+ export declare const addToListPrompt: PromptV1Definition;
37
+ export default addToListPrompt;
38
+ //# sourceMappingURL=add-to-list.v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-to-list.v1.d.ts","sourceRoot":"","sources":["../../../src/prompts/v1/add-to-list.v1.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG/E;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAOxB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAoB9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,aAAa,EAAE,CA8BjB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,kBAY7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Add to List v1 Prompt
3
+ *
4
+ * Add person/company/deal(s) to a chosen List by exact name or ID.
5
+ */
6
+ import { z } from 'zod';
7
+ import { DryRunArg } from './types.js';
8
+ /**
9
+ * Argument schema for add_to_list.v1
10
+ */
11
+ export const AddToListArgs = z.object({
12
+ records: z
13
+ .string()
14
+ .min(3)
15
+ .describe('Comma-separated record URLs, IDs, or "search:<query>"'),
16
+ list: z.string().min(2).describe('List name or ID to add records to'),
17
+ dry_run: DryRunArg,
18
+ });
19
+ /**
20
+ * Argument definitions for registration
21
+ */
22
+ export const addToListArguments = [
23
+ {
24
+ name: 'records',
25
+ description: 'Comma-separated records or "search:<query>"',
26
+ required: true,
27
+ schema: z.string().min(3),
28
+ },
29
+ {
30
+ name: 'list',
31
+ description: 'List name or ID',
32
+ required: true,
33
+ schema: z.string().min(2),
34
+ },
35
+ {
36
+ name: 'dry_run',
37
+ description: "Only propose, don't execute (default false)",
38
+ required: false,
39
+ schema: z.boolean(),
40
+ default: false,
41
+ },
42
+ ];
43
+ /**
44
+ * Build prompt messages for adding to list
45
+ */
46
+ export function buildAddToListMessages(args) {
47
+ const validated = AddToListArgs.parse(args);
48
+ const instructions = `You are a CRM assistant. Add records to list "${validated.list}".
49
+
50
+ Steps:
51
+ 1. Resolve records: Parse "${validated.records}" (comma-separated). For each:
52
+ - If URL or ID: use directly
53
+ - If starts with "search:": call \`records_query\` to resolve
54
+ If ambiguous, disambiguate with user.
55
+
56
+ 2. Resolve list: If "${validated.list}" is not a UUID, call \`lists.list\` to find list by name (exact match).
57
+
58
+ 3. Call \`lists.add_entries\` (or \`entries.create\`) with:
59
+ - List ID from step 2
60
+ - Record IDs from step 1 (array)
61
+
62
+ ${validated.dry_run ? 'DRY RUN MODE: Output proposed tool call as JSON only. Do NOT execute write.' : 'Execute the list addition after showing proposed action.'}
63
+
64
+ Confirm completion or show proposed changes.`;
65
+ return [
66
+ {
67
+ role: 'user',
68
+ content: {
69
+ type: 'text',
70
+ text: instructions,
71
+ },
72
+ },
73
+ ];
74
+ }
75
+ /**
76
+ * Complete prompt definition
77
+ */
78
+ export const addToListPrompt = {
79
+ metadata: {
80
+ name: 'add_to_list.v1',
81
+ title: 'Add records to list',
82
+ description: 'Add person/company/deal(s) to a chosen List by exact name or ID.',
83
+ category: 'workflow',
84
+ version: 'v1',
85
+ },
86
+ arguments: addToListArguments,
87
+ buildMessages: buildAddToListMessages,
88
+ tokenBudget: 300, // Per spec
89
+ };
90
+ export default addToListPrompt;
91
+ //# sourceMappingURL=add-to-list.v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-to-list.v1.js","sourceRoot":"","sources":["../../../src/prompts/v1/add-to-list.v1.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,uDAAuD,CAAC;IACpE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACrE,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAqB;IAClD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1B;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1B;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAA6B;IAE7B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,YAAY,GAAG,iDAAiD,SAAS,CAAC,IAAI;;;6BAGzD,SAAS,CAAC,OAAO;;;;;uBAKvB,SAAS,CAAC,IAAI;;;;;;EAMnC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,6EAA6E,CAAC,CAAC,CAAC,0DAA0D;;6CAEnH,CAAC;IAE5C,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;aACnB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,kEAAkE;QACpE,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,IAAI;KACd;IACD,SAAS,EAAE,kBAAkB;IAC7B,aAAa,EAAE,sBAAsB;IACrC,WAAW,EAAE,GAAG,EAAE,WAAW;CAC9B,CAAC;AAEF,eAAe,eAAe,CAAC"}