attio-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/LICENSE +236 -0
  3. package/README.md +105 -0
  4. package/dist/api/attio-client.d.ts +25 -0
  5. package/dist/api/attio-client.d.ts.map +1 -0
  6. package/dist/api/attio-client.js +64 -0
  7. package/dist/api/attio-client.js.map +1 -0
  8. package/dist/api/attribute-types.d.ts +119 -0
  9. package/dist/api/attribute-types.d.ts.map +1 -0
  10. package/dist/api/attribute-types.js +320 -0
  11. package/dist/api/attribute-types.js.map +1 -0
  12. package/dist/api/client.d.ts +3 -0
  13. package/dist/api/client.d.ts.map +1 -0
  14. package/dist/api/client.js +61 -0
  15. package/dist/api/client.js.map +1 -0
  16. package/dist/api/operations/batch.d.ts +55 -0
  17. package/dist/api/operations/batch.d.ts.map +1 -0
  18. package/dist/api/operations/batch.js +176 -0
  19. package/dist/api/operations/batch.js.map +1 -0
  20. package/dist/api/operations/crud.d.ts +61 -0
  21. package/dist/api/operations/crud.d.ts.map +1 -0
  22. package/dist/api/operations/crud.js +192 -0
  23. package/dist/api/operations/crud.js.map +1 -0
  24. package/dist/api/operations/index.d.ts +14 -0
  25. package/dist/api/operations/index.d.ts.map +1 -0
  26. package/dist/api/operations/index.js +18 -0
  27. package/dist/api/operations/index.js.map +1 -0
  28. package/dist/api/operations/lists.d.ts +66 -0
  29. package/dist/api/operations/lists.d.ts.map +1 -0
  30. package/dist/api/operations/lists.js +300 -0
  31. package/dist/api/operations/lists.js.map +1 -0
  32. package/dist/api/operations/notes.d.ts +29 -0
  33. package/dist/api/operations/notes.d.ts.map +1 -0
  34. package/dist/api/operations/notes.js +63 -0
  35. package/dist/api/operations/notes.js.map +1 -0
  36. package/dist/api/operations/retry.d.ts +48 -0
  37. package/dist/api/operations/retry.d.ts.map +1 -0
  38. package/dist/api/operations/retry.js +98 -0
  39. package/dist/api/operations/retry.js.map +1 -0
  40. package/dist/api/operations/search.d.ts +37 -0
  41. package/dist/api/operations/search.d.ts.map +1 -0
  42. package/dist/api/operations/search.js +186 -0
  43. package/dist/api/operations/search.js.map +1 -0
  44. package/dist/api/operations/tasks.d.ts +20 -0
  45. package/dist/api/operations/tasks.d.ts.map +1 -0
  46. package/dist/api/operations/tasks.js +87 -0
  47. package/dist/api/operations/tasks.js.map +1 -0
  48. package/dist/api/operations/types.d.ts +61 -0
  49. package/dist/api/operations/types.d.ts.map +1 -0
  50. package/dist/api/operations/types.js +10 -0
  51. package/dist/api/operations/types.js.map +1 -0
  52. package/dist/cli/commands/attributes.d.ts +34 -0
  53. package/dist/cli/commands/attributes.d.ts.map +1 -0
  54. package/dist/cli/commands/attributes.js +171 -0
  55. package/dist/cli/commands/attributes.js.map +1 -0
  56. package/dist/cli/discover.d.ts +3 -0
  57. package/dist/cli/discover.d.ts.map +1 -0
  58. package/dist/cli/discover.js +72 -0
  59. package/dist/cli/discover.js.map +1 -0
  60. package/dist/errors/api-errors.d.ts +191 -0
  61. package/dist/errors/api-errors.d.ts.map +1 -0
  62. package/dist/errors/api-errors.js +305 -0
  63. package/dist/errors/api-errors.js.map +1 -0
  64. package/dist/errors/company-errors.d.ts +40 -0
  65. package/dist/errors/company-errors.d.ts.map +1 -0
  66. package/dist/errors/company-errors.js +62 -0
  67. package/dist/errors/company-errors.js.map +1 -0
  68. package/dist/errors/value-match-error.d.ts +15 -0
  69. package/dist/errors/value-match-error.d.ts.map +1 -0
  70. package/dist/errors/value-match-error.js +40 -0
  71. package/dist/errors/value-match-error.js.map +1 -0
  72. package/dist/handlers/error-interceptor.d.ts +6 -0
  73. package/dist/handlers/error-interceptor.d.ts.map +1 -0
  74. package/dist/handlers/error-interceptor.js +17 -0
  75. package/dist/handlers/error-interceptor.js.map +1 -0
  76. package/dist/handlers/rate-limited-handler.d.ts +17 -0
  77. package/dist/handlers/rate-limited-handler.d.ts.map +1 -0
  78. package/dist/handlers/rate-limited-handler.js +126 -0
  79. package/dist/handlers/rate-limited-handler.js.map +1 -0
  80. package/dist/handlers/resources.d.ts +11 -0
  81. package/dist/handlers/resources.d.ts.map +1 -0
  82. package/dist/handlers/resources.js +109 -0
  83. package/dist/handlers/resources.js.map +1 -0
  84. package/dist/handlers/tool-configs/companies/attributes.d.ts +85 -0
  85. package/dist/handlers/tool-configs/companies/attributes.d.ts.map +1 -0
  86. package/dist/handlers/tool-configs/companies/attributes.js +203 -0
  87. package/dist/handlers/tool-configs/companies/attributes.js.map +1 -0
  88. package/dist/handlers/tool-configs/companies/batch.d.ts +145 -0
  89. package/dist/handlers/tool-configs/companies/batch.d.ts.map +1 -0
  90. package/dist/handlers/tool-configs/companies/batch.js +249 -0
  91. package/dist/handlers/tool-configs/companies/batch.js.map +1 -0
  92. package/dist/handlers/tool-configs/companies/crud.d.ts +103 -0
  93. package/dist/handlers/tool-configs/companies/crud.d.ts.map +1 -0
  94. package/dist/handlers/tool-configs/companies/crud.js +157 -0
  95. package/dist/handlers/tool-configs/companies/crud.js.map +1 -0
  96. package/dist/handlers/tool-configs/companies/definitions.d.ts +5 -0
  97. package/dist/handlers/tool-configs/companies/definitions.d.ts.map +1 -0
  98. package/dist/handlers/tool-configs/companies/definitions.js +9 -0
  99. package/dist/handlers/tool-configs/companies/definitions.js.map +1 -0
  100. package/dist/handlers/tool-configs/companies/formatters.d.ts +42 -0
  101. package/dist/handlers/tool-configs/companies/formatters.d.ts.map +1 -0
  102. package/dist/handlers/tool-configs/companies/formatters.js +324 -0
  103. package/dist/handlers/tool-configs/companies/formatters.js.map +1 -0
  104. package/dist/handlers/tool-configs/companies/index.d.ts +642 -0
  105. package/dist/handlers/tool-configs/companies/index.d.ts.map +1 -0
  106. package/dist/handlers/tool-configs/companies/index.js +86 -0
  107. package/dist/handlers/tool-configs/companies/index.js.map +1 -0
  108. package/dist/handlers/tool-configs/companies/notes.d.ts +61 -0
  109. package/dist/handlers/tool-configs/companies/notes.d.ts.map +1 -0
  110. package/dist/handlers/tool-configs/companies/notes.js +109 -0
  111. package/dist/handlers/tool-configs/companies/notes.js.map +1 -0
  112. package/dist/handlers/tool-configs/companies/relationships.d.ts +137 -0
  113. package/dist/handlers/tool-configs/companies/relationships.d.ts.map +1 -0
  114. package/dist/handlers/tool-configs/companies/relationships.js +163 -0
  115. package/dist/handlers/tool-configs/companies/relationships.js.map +1 -0
  116. package/dist/handlers/tool-configs/companies/search.d.ts +101 -0
  117. package/dist/handlers/tool-configs/companies/search.d.ts.map +1 -0
  118. package/dist/handlers/tool-configs/companies/search.js +163 -0
  119. package/dist/handlers/tool-configs/companies/search.js.map +1 -0
  120. package/dist/handlers/tool-configs/companies/types.d.ts +6 -0
  121. package/dist/handlers/tool-configs/companies/types.d.ts.map +1 -0
  122. package/dist/handlers/tool-configs/companies/types.js +2 -0
  123. package/dist/handlers/tool-configs/companies/types.js.map +1 -0
  124. package/dist/handlers/tool-configs/index.d.ts +12 -0
  125. package/dist/handlers/tool-configs/index.d.ts.map +1 -0
  126. package/dist/handlers/tool-configs/index.js +12 -0
  127. package/dist/handlers/tool-configs/index.js.map +1 -0
  128. package/dist/handlers/tool-configs/lists.d.ts +459 -0
  129. package/dist/handlers/tool-configs/lists.d.ts.map +1 -0
  130. package/dist/handlers/tool-configs/lists.js +597 -0
  131. package/dist/handlers/tool-configs/lists.js.map +1 -0
  132. package/dist/handlers/tool-configs/paginated-people.d.ts +197 -0
  133. package/dist/handlers/tool-configs/paginated-people.d.ts.map +1 -0
  134. package/dist/handlers/tool-configs/paginated-people.js +256 -0
  135. package/dist/handlers/tool-configs/paginated-people.js.map +1 -0
  136. package/dist/handlers/tool-configs/people/activity-search.d.ts +98 -0
  137. package/dist/handlers/tool-configs/people/activity-search.d.ts.map +1 -0
  138. package/dist/handlers/tool-configs/people/activity-search.js +113 -0
  139. package/dist/handlers/tool-configs/people/activity-search.js.map +1 -0
  140. package/dist/handlers/tool-configs/people/advanced-search.d.ts +62 -0
  141. package/dist/handlers/tool-configs/people/advanced-search.d.ts.map +1 -0
  142. package/dist/handlers/tool-configs/people/advanced-search.js +74 -0
  143. package/dist/handlers/tool-configs/people/advanced-search.js.map +1 -0
  144. package/dist/handlers/tool-configs/people/crud.d.ts +63 -0
  145. package/dist/handlers/tool-configs/people/crud.d.ts.map +1 -0
  146. package/dist/handlers/tool-configs/people/crud.js +71 -0
  147. package/dist/handlers/tool-configs/people/crud.js.map +1 -0
  148. package/dist/handlers/tool-configs/people/date-search.d.ts +42 -0
  149. package/dist/handlers/tool-configs/people/date-search.d.ts.map +1 -0
  150. package/dist/handlers/tool-configs/people/date-search.js +93 -0
  151. package/dist/handlers/tool-configs/people/date-search.js.map +1 -0
  152. package/dist/handlers/tool-configs/people/formatters.d.ts +19 -0
  153. package/dist/handlers/tool-configs/people/formatters.d.ts.map +1 -0
  154. package/dist/handlers/tool-configs/people/formatters.js +98 -0
  155. package/dist/handlers/tool-configs/people/formatters.js.map +1 -0
  156. package/dist/handlers/tool-configs/people/index.d.ts +407 -0
  157. package/dist/handlers/tool-configs/people/index.d.ts.map +1 -0
  158. package/dist/handlers/tool-configs/people/index.js +30 -0
  159. package/dist/handlers/tool-configs/people/index.js.map +1 -0
  160. package/dist/handlers/tool-configs/people/notes.d.ts +38 -0
  161. package/dist/handlers/tool-configs/people/notes.d.ts.map +1 -0
  162. package/dist/handlers/tool-configs/people/notes.js +57 -0
  163. package/dist/handlers/tool-configs/people/notes.js.map +1 -0
  164. package/dist/handlers/tool-configs/people/relationships.d.ts +112 -0
  165. package/dist/handlers/tool-configs/people/relationships.d.ts.map +1 -0
  166. package/dist/handlers/tool-configs/people/relationships.js +173 -0
  167. package/dist/handlers/tool-configs/people/relationships.js.map +1 -0
  168. package/dist/handlers/tool-configs/people/search.d.ts +53 -0
  169. package/dist/handlers/tool-configs/people/search.d.ts.map +1 -0
  170. package/dist/handlers/tool-configs/people/search.js +61 -0
  171. package/dist/handlers/tool-configs/people/search.js.map +1 -0
  172. package/dist/handlers/tool-configs/people-fix-complete.d.ts +6 -0
  173. package/dist/handlers/tool-configs/people-fix-complete.d.ts.map +1 -0
  174. package/dist/handlers/tool-configs/people-fix-complete.js +76 -0
  175. package/dist/handlers/tool-configs/people-fix-complete.js.map +1 -0
  176. package/dist/handlers/tool-configs/people-fixed.d.ts +12 -0
  177. package/dist/handlers/tool-configs/people-fixed.d.ts.map +1 -0
  178. package/dist/handlers/tool-configs/people-fixed.js +58 -0
  179. package/dist/handlers/tool-configs/people-fixed.js.map +1 -0
  180. package/dist/handlers/tool-configs/people-types.d.ts +32 -0
  181. package/dist/handlers/tool-configs/people-types.d.ts.map +1 -0
  182. package/dist/handlers/tool-configs/people-types.js +5 -0
  183. package/dist/handlers/tool-configs/people-types.js.map +1 -0
  184. package/dist/handlers/tool-configs/people.d.ts +599 -0
  185. package/dist/handlers/tool-configs/people.d.ts.map +1 -0
  186. package/dist/handlers/tool-configs/people.js +817 -0
  187. package/dist/handlers/tool-configs/people.js.map +1 -0
  188. package/dist/handlers/tool-configs/prompts.d.ts +69 -0
  189. package/dist/handlers/tool-configs/prompts.d.ts.map +1 -0
  190. package/dist/handlers/tool-configs/prompts.js +90 -0
  191. package/dist/handlers/tool-configs/prompts.js.map +1 -0
  192. package/dist/handlers/tool-configs/rate-limited-people.d.ts +203 -0
  193. package/dist/handlers/tool-configs/rate-limited-people.d.ts.map +1 -0
  194. package/dist/handlers/tool-configs/rate-limited-people.js +44 -0
  195. package/dist/handlers/tool-configs/rate-limited-people.js.map +1 -0
  196. package/dist/handlers/tool-configs/records/index.d.ts +282 -0
  197. package/dist/handlers/tool-configs/records/index.d.ts.map +1 -0
  198. package/dist/handlers/tool-configs/records/index.js +277 -0
  199. package/dist/handlers/tool-configs/records/index.js.map +1 -0
  200. package/dist/handlers/tool-configs/records.d.ts +282 -0
  201. package/dist/handlers/tool-configs/records.d.ts.map +1 -0
  202. package/dist/handlers/tool-configs/records.js +277 -0
  203. package/dist/handlers/tool-configs/records.js.map +1 -0
  204. package/dist/handlers/tool-configs/resource-specific-tools.d.ts +15 -0
  205. package/dist/handlers/tool-configs/resource-specific-tools.d.ts.map +1 -0
  206. package/dist/handlers/tool-configs/resource-specific-tools.js +33 -0
  207. package/dist/handlers/tool-configs/resource-specific-tools.js.map +1 -0
  208. package/dist/handlers/tool-configs/tasks.d.ts +127 -0
  209. package/dist/handlers/tool-configs/tasks.d.ts.map +1 -0
  210. package/dist/handlers/tool-configs/tasks.js +95 -0
  211. package/dist/handlers/tool-configs/tasks.js.map +1 -0
  212. package/dist/handlers/tool-types.d.ts +47 -0
  213. package/dist/handlers/tool-types.d.ts.map +1 -0
  214. package/dist/handlers/tool-types.js +2 -0
  215. package/dist/handlers/tool-types.js.map +1 -0
  216. package/dist/handlers/tools/config-verifier.d.ts +27 -0
  217. package/dist/handlers/tools/config-verifier.d.ts.map +1 -0
  218. package/dist/handlers/tools/config-verifier.js +108 -0
  219. package/dist/handlers/tools/config-verifier.js.map +1 -0
  220. package/dist/handlers/tools/dispatcher/core.d.ts +12 -0
  221. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -0
  222. package/dist/handlers/tools/dispatcher/core.js +276 -0
  223. package/dist/handlers/tools/dispatcher/core.js.map +1 -0
  224. package/dist/handlers/tools/dispatcher/formatting.d.ts +17 -0
  225. package/dist/handlers/tools/dispatcher/formatting.d.ts.map +1 -0
  226. package/dist/handlers/tools/dispatcher/formatting.js +25 -0
  227. package/dist/handlers/tools/dispatcher/formatting.js.map +1 -0
  228. package/dist/handlers/tools/dispatcher/logging.d.ts +63 -0
  229. package/dist/handlers/tools/dispatcher/logging.d.ts.map +1 -0
  230. package/dist/handlers/tools/dispatcher/logging.js +108 -0
  231. package/dist/handlers/tools/dispatcher/logging.js.map +1 -0
  232. package/dist/handlers/tools/dispatcher/operations/batch.d.ts +29 -0
  233. package/dist/handlers/tools/dispatcher/operations/batch.d.ts.map +1 -0
  234. package/dist/handlers/tools/dispatcher/operations/batch.js +137 -0
  235. package/dist/handlers/tools/dispatcher/operations/batch.js.map +1 -0
  236. package/dist/handlers/tools/dispatcher/operations/crud.d.ts +25 -0
  237. package/dist/handlers/tools/dispatcher/operations/crud.d.ts.map +1 -0
  238. package/dist/handlers/tools/dispatcher/operations/crud.js +110 -0
  239. package/dist/handlers/tools/dispatcher/operations/crud.js.map +1 -0
  240. package/dist/handlers/tools/dispatcher/operations/details.d.ts +13 -0
  241. package/dist/handlers/tools/dispatcher/operations/details.d.ts.map +1 -0
  242. package/dist/handlers/tools/dispatcher/operations/details.js +52 -0
  243. package/dist/handlers/tools/dispatcher/operations/details.js.map +1 -0
  244. package/dist/handlers/tools/dispatcher/operations/info.d.ts +25 -0
  245. package/dist/handlers/tools/dispatcher/operations/info.d.ts.map +1 -0
  246. package/dist/handlers/tools/dispatcher/operations/info.js +82 -0
  247. package/dist/handlers/tools/dispatcher/operations/info.js.map +1 -0
  248. package/dist/handlers/tools/dispatcher/operations/lists.d.ts +62 -0
  249. package/dist/handlers/tools/dispatcher/operations/lists.d.ts.map +1 -0
  250. package/dist/handlers/tools/dispatcher/operations/lists.js +283 -0
  251. package/dist/handlers/tools/dispatcher/operations/lists.js.map +1 -0
  252. package/dist/handlers/tools/dispatcher/operations/notes.d.ts +17 -0
  253. package/dist/handlers/tools/dispatcher/operations/notes.d.ts.map +1 -0
  254. package/dist/handlers/tools/dispatcher/operations/notes.js +102 -0
  255. package/dist/handlers/tools/dispatcher/operations/notes.js.map +1 -0
  256. package/dist/handlers/tools/dispatcher/operations/search.d.ts +43 -0
  257. package/dist/handlers/tools/dispatcher/operations/search.d.ts.map +1 -0
  258. package/dist/handlers/tools/dispatcher/operations/search.js +190 -0
  259. package/dist/handlers/tools/dispatcher/operations/search.js.map +1 -0
  260. package/dist/handlers/tools/dispatcher/validation.d.ts +27 -0
  261. package/dist/handlers/tools/dispatcher/validation.d.ts.map +1 -0
  262. package/dist/handlers/tools/dispatcher/validation.js +47 -0
  263. package/dist/handlers/tools/dispatcher/validation.js.map +1 -0
  264. package/dist/handlers/tools/dispatcher.d.ts +11 -0
  265. package/dist/handlers/tools/dispatcher.d.ts.map +1 -0
  266. package/dist/handlers/tools/dispatcher.js +15 -0
  267. package/dist/handlers/tools/dispatcher.js.map +1 -0
  268. package/dist/handlers/tools/error-types.d.ts +33 -0
  269. package/dist/handlers/tools/error-types.d.ts.map +1 -0
  270. package/dist/handlers/tools/error-types.js +21 -0
  271. package/dist/handlers/tools/error-types.js.map +1 -0
  272. package/dist/handlers/tools/formatters.d.ts +43 -0
  273. package/dist/handlers/tools/formatters.d.ts.map +1 -0
  274. package/dist/handlers/tools/formatters.js +170 -0
  275. package/dist/handlers/tools/formatters.js.map +1 -0
  276. package/dist/handlers/tools/index.d.ts +15 -0
  277. package/dist/handlers/tools/index.d.ts.map +1 -0
  278. package/dist/handlers/tools/index.js +34 -0
  279. package/dist/handlers/tools/index.js.map +1 -0
  280. package/dist/handlers/tools/registry.d.ts +1874 -0
  281. package/dist/handlers/tools/registry.d.ts.map +1 -0
  282. package/dist/handlers/tools/registry.js +103 -0
  283. package/dist/handlers/tools/registry.js.map +1 -0
  284. package/dist/health/http-server.d.ts +24 -0
  285. package/dist/health/http-server.d.ts.map +1 -0
  286. package/dist/health/http-server.js +106 -0
  287. package/dist/health/http-server.js.map +1 -0
  288. package/dist/index.d.ts +3 -0
  289. package/dist/index.d.ts.map +1 -0
  290. package/dist/index.js +238 -0
  291. package/dist/index.js.map +1 -0
  292. package/dist/objects/base-operations.d.ts +41 -0
  293. package/dist/objects/base-operations.d.ts.map +1 -0
  294. package/dist/objects/base-operations.js +116 -0
  295. package/dist/objects/base-operations.js.map +1 -0
  296. package/dist/objects/batch-companies.d.ts +112 -0
  297. package/dist/objects/batch-companies.d.ts.map +1 -0
  298. package/dist/objects/batch-companies.js +347 -0
  299. package/dist/objects/batch-companies.js.map +1 -0
  300. package/dist/objects/companies/attributes.d.ts +83 -0
  301. package/dist/objects/companies/attributes.d.ts.map +1 -0
  302. package/dist/objects/companies/attributes.js +426 -0
  303. package/dist/objects/companies/attributes.js.map +1 -0
  304. package/dist/objects/companies/basic.d.ts +117 -0
  305. package/dist/objects/companies/basic.d.ts.map +1 -0
  306. package/dist/objects/companies/basic.js +367 -0
  307. package/dist/objects/companies/basic.js.map +1 -0
  308. package/dist/objects/companies/batch.d.ts +6 -0
  309. package/dist/objects/companies/batch.d.ts.map +1 -0
  310. package/dist/objects/companies/batch.js +6 -0
  311. package/dist/objects/companies/batch.js.map +1 -0
  312. package/dist/objects/companies/index.d.ts +13 -0
  313. package/dist/objects/companies/index.d.ts.map +1 -0
  314. package/dist/objects/companies/index.js +17 -0
  315. package/dist/objects/companies/index.js.map +1 -0
  316. package/dist/objects/companies/notes.d.ts +26 -0
  317. package/dist/objects/companies/notes.d.ts.map +1 -0
  318. package/dist/objects/companies/notes.js +199 -0
  319. package/dist/objects/companies/notes.js.map +1 -0
  320. package/dist/objects/companies/relationships.d.ts +41 -0
  321. package/dist/objects/companies/relationships.d.ts.map +1 -0
  322. package/dist/objects/companies/relationships.js +142 -0
  323. package/dist/objects/companies/relationships.js.map +1 -0
  324. package/dist/objects/companies/search.d.ts +158 -0
  325. package/dist/objects/companies/search.d.ts.map +1 -0
  326. package/dist/objects/companies/search.js +463 -0
  327. package/dist/objects/companies/search.js.map +1 -0
  328. package/dist/objects/companies/types.d.ts +27 -0
  329. package/dist/objects/companies/types.d.ts.map +1 -0
  330. package/dist/objects/companies/types.js +3 -0
  331. package/dist/objects/companies/types.js.map +1 -0
  332. package/dist/objects/lists.d.ts +148 -0
  333. package/dist/objects/lists.d.ts.map +1 -0
  334. package/dist/objects/lists.js +586 -0
  335. package/dist/objects/lists.js.map +1 -0
  336. package/dist/objects/paginated-people.d.ts +50 -0
  337. package/dist/objects/paginated-people.d.ts.map +1 -0
  338. package/dist/objects/paginated-people.js +171 -0
  339. package/dist/objects/paginated-people.js.map +1 -0
  340. package/dist/objects/people/basic.d.ts +90 -0
  341. package/dist/objects/people/basic.d.ts.map +1 -0
  342. package/dist/objects/people/basic.js +157 -0
  343. package/dist/objects/people/basic.js.map +1 -0
  344. package/dist/objects/people/batch.d.ts +24 -0
  345. package/dist/objects/people/batch.d.ts.map +1 -0
  346. package/dist/objects/people/batch.js +145 -0
  347. package/dist/objects/people/batch.js.map +1 -0
  348. package/dist/objects/people/index.d.ts +11 -0
  349. package/dist/objects/people/index.d.ts.map +1 -0
  350. package/dist/objects/people/index.js +17 -0
  351. package/dist/objects/people/index.js.map +1 -0
  352. package/dist/objects/people/notes.d.ts +20 -0
  353. package/dist/objects/people/notes.d.ts.map +1 -0
  354. package/dist/objects/people/notes.js +60 -0
  355. package/dist/objects/people/notes.js.map +1 -0
  356. package/dist/objects/people/relationships.d.ts +23 -0
  357. package/dist/objects/people/relationships.d.ts.map +1 -0
  358. package/dist/objects/people/relationships.js +116 -0
  359. package/dist/objects/people/relationships.js.map +1 -0
  360. package/dist/objects/people/search.d.ts +83 -0
  361. package/dist/objects/people/search.d.ts.map +1 -0
  362. package/dist/objects/people/search.js +286 -0
  363. package/dist/objects/people/search.js.map +1 -0
  364. package/dist/objects/people/types.d.ts +37 -0
  365. package/dist/objects/people/types.d.ts.map +1 -0
  366. package/dist/objects/people/types.js +71 -0
  367. package/dist/objects/people/types.js.map +1 -0
  368. package/dist/objects/people-write.d.ts +71 -0
  369. package/dist/objects/people-write.d.ts.map +1 -0
  370. package/dist/objects/people-write.js +261 -0
  371. package/dist/objects/people-write.js.map +1 -0
  372. package/dist/objects/records/formatters.d.ts +20 -0
  373. package/dist/objects/records/formatters.d.ts.map +1 -0
  374. package/dist/objects/records/formatters.js +47 -0
  375. package/dist/objects/records/formatters.js.map +1 -0
  376. package/dist/objects/records/index.d.ts +74 -0
  377. package/dist/objects/records/index.d.ts.map +1 -0
  378. package/dist/objects/records/index.js +374 -0
  379. package/dist/objects/records/index.js.map +1 -0
  380. package/dist/objects/records.d.ts +88 -0
  381. package/dist/objects/records.d.ts.map +1 -0
  382. package/dist/objects/records.js +432 -0
  383. package/dist/objects/records.js.map +1 -0
  384. package/dist/objects/tasks.d.ts +19 -0
  385. package/dist/objects/tasks.d.ts.map +1 -0
  386. package/dist/objects/tasks.js +23 -0
  387. package/dist/objects/tasks.js.map +1 -0
  388. package/dist/prompts/error-handler.d.ts +28 -0
  389. package/dist/prompts/error-handler.d.ts.map +1 -0
  390. package/dist/prompts/error-handler.js +47 -0
  391. package/dist/prompts/error-handler.js.map +1 -0
  392. package/dist/prompts/handlers.d.ts +49 -0
  393. package/dist/prompts/handlers.d.ts.map +1 -0
  394. package/dist/prompts/handlers.js +353 -0
  395. package/dist/prompts/handlers.js.map +1 -0
  396. package/dist/prompts/index.d.ts +11 -0
  397. package/dist/prompts/index.d.ts.map +1 -0
  398. package/dist/prompts/index.js +15 -0
  399. package/dist/prompts/index.js.map +1 -0
  400. package/dist/prompts/templates/companies.d.ts +10 -0
  401. package/dist/prompts/templates/companies.d.ts.map +1 -0
  402. package/dist/prompts/templates/companies.js +128 -0
  403. package/dist/prompts/templates/companies.js.map +1 -0
  404. package/dist/prompts/templates/index.d.ts +42 -0
  405. package/dist/prompts/templates/index.d.ts.map +1 -0
  406. package/dist/prompts/templates/index.js +58 -0
  407. package/dist/prompts/templates/index.js.map +1 -0
  408. package/dist/prompts/templates/lists.d.ts +10 -0
  409. package/dist/prompts/templates/lists.d.ts.map +1 -0
  410. package/dist/prompts/templates/lists.js +127 -0
  411. package/dist/prompts/templates/lists.js.map +1 -0
  412. package/dist/prompts/templates/notes.d.ts +10 -0
  413. package/dist/prompts/templates/notes.d.ts.map +1 -0
  414. package/dist/prompts/templates/notes.js +119 -0
  415. package/dist/prompts/templates/notes.js.map +1 -0
  416. package/dist/prompts/templates/people.d.ts +10 -0
  417. package/dist/prompts/templates/people.d.ts.map +1 -0
  418. package/dist/prompts/templates/people.js +127 -0
  419. package/dist/prompts/templates/people.js.map +1 -0
  420. package/dist/prompts/types.d.ts +52 -0
  421. package/dist/prompts/types.d.ts.map +1 -0
  422. package/dist/prompts/types.js +5 -0
  423. package/dist/prompts/types.js.map +1 -0
  424. package/dist/types/attio.d.ts +424 -0
  425. package/dist/types/attio.d.ts.map +1 -0
  426. package/dist/types/attio.js +116 -0
  427. package/dist/types/attio.js.map +1 -0
  428. package/dist/types/company-types.d.ts +52 -0
  429. package/dist/types/company-types.d.ts.map +1 -0
  430. package/dist/types/company-types.js +5 -0
  431. package/dist/types/company-types.js.map +1 -0
  432. package/dist/types/tool-types.d.ts +262 -0
  433. package/dist/types/tool-types.d.ts.map +1 -0
  434. package/dist/types/tool-types.js +6 -0
  435. package/dist/types/tool-types.js.map +1 -0
  436. package/dist/utils/api-fallback.d.ts +39 -0
  437. package/dist/utils/api-fallback.d.ts.map +1 -0
  438. package/dist/utils/api-fallback.js +94 -0
  439. package/dist/utils/api-fallback.js.map +1 -0
  440. package/dist/utils/attribute-mapping/attribute-mappers.d.ts +39 -0
  441. package/dist/utils/attribute-mapping/attribute-mappers.d.ts.map +1 -0
  442. package/dist/utils/attribute-mapping/attribute-mappers.js +394 -0
  443. package/dist/utils/attribute-mapping/attribute-mappers.js.map +1 -0
  444. package/dist/utils/attribute-mapping/filter-translator.d.ts +9 -0
  445. package/dist/utils/attribute-mapping/filter-translator.d.ts.map +1 -0
  446. package/dist/utils/attribute-mapping/filter-translator.js +104 -0
  447. package/dist/utils/attribute-mapping/filter-translator.js.map +1 -0
  448. package/dist/utils/attribute-mapping/index.d.ts +10 -0
  449. package/dist/utils/attribute-mapping/index.d.ts.map +1 -0
  450. package/dist/utils/attribute-mapping/index.js +12 -0
  451. package/dist/utils/attribute-mapping/index.js.map +1 -0
  452. package/dist/utils/attribute-mapping/legacy-maps.d.ts +11 -0
  453. package/dist/utils/attribute-mapping/legacy-maps.d.ts.map +1 -0
  454. package/dist/utils/attribute-mapping/legacy-maps.js +54 -0
  455. package/dist/utils/attribute-mapping/legacy-maps.js.map +1 -0
  456. package/dist/utils/attribute-mapping/mapping-utils.d.ts +90 -0
  457. package/dist/utils/attribute-mapping/mapping-utils.d.ts.map +1 -0
  458. package/dist/utils/attribute-mapping/mapping-utils.js +145 -0
  459. package/dist/utils/attribute-mapping/mapping-utils.js.map +1 -0
  460. package/dist/utils/auto-discovery.d.ts +22 -0
  461. package/dist/utils/auto-discovery.d.ts.map +1 -0
  462. package/dist/utils/auto-discovery.js +143 -0
  463. package/dist/utils/auto-discovery.js.map +1 -0
  464. package/dist/utils/cli-colors.d.ts +36 -0
  465. package/dist/utils/cli-colors.d.ts.map +1 -0
  466. package/dist/utils/cli-colors.js +35 -0
  467. package/dist/utils/cli-colors.js.map +1 -0
  468. package/dist/utils/config-loader.d.ts +41 -0
  469. package/dist/utils/config-loader.d.ts.map +1 -0
  470. package/dist/utils/config-loader.js +167 -0
  471. package/dist/utils/config-loader.js.map +1 -0
  472. package/dist/utils/config-migration.d.ts +140 -0
  473. package/dist/utils/config-migration.d.ts.map +1 -0
  474. package/dist/utils/config-migration.js +310 -0
  475. package/dist/utils/config-migration.js.map +1 -0
  476. package/dist/utils/date-utils.d.ts +63 -0
  477. package/dist/utils/date-utils.d.ts.map +1 -0
  478. package/dist/utils/date-utils.js +329 -0
  479. package/dist/utils/date-utils.js.map +1 -0
  480. package/dist/utils/debug-b2b-segment.d.ts +2 -0
  481. package/dist/utils/debug-b2b-segment.d.ts.map +1 -0
  482. package/dist/utils/debug-b2b-segment.js +67 -0
  483. package/dist/utils/debug-b2b-segment.js.map +1 -0
  484. package/dist/utils/domain-utils.d.ts +46 -0
  485. package/dist/utils/domain-utils.d.ts.map +1 -0
  486. package/dist/utils/domain-utils.js +143 -0
  487. package/dist/utils/domain-utils.js.map +1 -0
  488. package/dist/utils/dynamic-import.d.ts +33 -0
  489. package/dist/utils/dynamic-import.d.ts.map +1 -0
  490. package/dist/utils/dynamic-import.js +41 -0
  491. package/dist/utils/dynamic-import.js.map +1 -0
  492. package/dist/utils/error-enhancer.d.ts +23 -0
  493. package/dist/utils/error-enhancer.d.ts.map +1 -0
  494. package/dist/utils/error-enhancer.js +188 -0
  495. package/dist/utils/error-enhancer.js.map +1 -0
  496. package/dist/utils/error-handler.d.ts +89 -0
  497. package/dist/utils/error-handler.d.ts.map +1 -0
  498. package/dist/utils/error-handler.js +336 -0
  499. package/dist/utils/error-handler.js.map +1 -0
  500. package/dist/utils/filters/builders/activity.d.ts +13 -0
  501. package/dist/utils/filters/builders/activity.d.ts.map +1 -0
  502. package/dist/utils/filters/builders/activity.js +65 -0
  503. package/dist/utils/filters/builders/activity.js.map +1 -0
  504. package/dist/utils/filters/builders/basic.d.ts +13 -0
  505. package/dist/utils/filters/builders/basic.d.ts.map +1 -0
  506. package/dist/utils/filters/builders/basic.js +36 -0
  507. package/dist/utils/filters/builders/basic.js.map +1 -0
  508. package/dist/utils/filters/builders/complex.d.ts +31 -0
  509. package/dist/utils/filters/builders/complex.d.ts.map +1 -0
  510. package/dist/utils/filters/builders/complex.js +92 -0
  511. package/dist/utils/filters/builders/complex.js.map +1 -0
  512. package/dist/utils/filters/builders/date.d.ts +17 -0
  513. package/dist/utils/filters/builders/date.d.ts.map +1 -0
  514. package/dist/utils/filters/builders/date.js +51 -0
  515. package/dist/utils/filters/builders/date.js.map +1 -0
  516. package/dist/utils/filters/builders/index.d.ts +8 -0
  517. package/dist/utils/filters/builders/index.d.ts.map +1 -0
  518. package/dist/utils/filters/builders/index.js +8 -0
  519. package/dist/utils/filters/builders/index.js.map +1 -0
  520. package/dist/utils/filters/builders/numeric.d.ts +17 -0
  521. package/dist/utils/filters/builders/numeric.d.ts.map +1 -0
  522. package/dist/utils/filters/builders/numeric.js +61 -0
  523. package/dist/utils/filters/builders/numeric.js.map +1 -0
  524. package/dist/utils/filters/builders/text.d.ts +17 -0
  525. package/dist/utils/filters/builders/text.d.ts.map +1 -0
  526. package/dist/utils/filters/builders/text.js +47 -0
  527. package/dist/utils/filters/builders/text.js.map +1 -0
  528. package/dist/utils/filters/builders/types.d.ts +2 -0
  529. package/dist/utils/filters/builders/types.d.ts.map +1 -0
  530. package/dist/utils/filters/builders/types.js +2 -0
  531. package/dist/utils/filters/builders/types.js.map +1 -0
  532. package/dist/utils/filters/builders.d.ts +2 -0
  533. package/dist/utils/filters/builders.d.ts.map +1 -0
  534. package/dist/utils/filters/builders.js +2 -0
  535. package/dist/utils/filters/builders.js.map +1 -0
  536. package/dist/utils/filters/cache.d.ts +80 -0
  537. package/dist/utils/filters/cache.d.ts.map +1 -0
  538. package/dist/utils/filters/cache.js +212 -0
  539. package/dist/utils/filters/cache.js.map +1 -0
  540. package/dist/utils/filters/index.d.ts +51 -0
  541. package/dist/utils/filters/index.d.ts.map +1 -0
  542. package/dist/utils/filters/index.js +67 -0
  543. package/dist/utils/filters/index.js.map +1 -0
  544. package/dist/utils/filters/operators.d.ts +65 -0
  545. package/dist/utils/filters/operators.d.ts.map +1 -0
  546. package/dist/utils/filters/operators.js +214 -0
  547. package/dist/utils/filters/operators.js.map +1 -0
  548. package/dist/utils/filters/relationship.d.ts +81 -0
  549. package/dist/utils/filters/relationship.d.ts.map +1 -0
  550. package/dist/utils/filters/relationship.js +393 -0
  551. package/dist/utils/filters/relationship.js.map +1 -0
  552. package/dist/utils/filters/translators.d.ts +120 -0
  553. package/dist/utils/filters/translators.d.ts.map +1 -0
  554. package/dist/utils/filters/translators.js +397 -0
  555. package/dist/utils/filters/translators.js.map +1 -0
  556. package/dist/utils/filters/types.d.ts +77 -0
  557. package/dist/utils/filters/types.d.ts.map +1 -0
  558. package/dist/utils/filters/types.js +85 -0
  559. package/dist/utils/filters/types.js.map +1 -0
  560. package/dist/utils/filters/utils.d.ts +86 -0
  561. package/dist/utils/filters/utils.d.ts.map +1 -0
  562. package/dist/utils/filters/utils.js +142 -0
  563. package/dist/utils/filters/utils.js.map +1 -0
  564. package/dist/utils/filters/validation-utils.d.ts +123 -0
  565. package/dist/utils/filters/validation-utils.d.ts.map +1 -0
  566. package/dist/utils/filters/validation-utils.js +282 -0
  567. package/dist/utils/filters/validation-utils.js.map +1 -0
  568. package/dist/utils/filters/validators.d.ts +73 -0
  569. package/dist/utils/filters/validators.d.ts.map +1 -0
  570. package/dist/utils/filters/validators.js +311 -0
  571. package/dist/utils/filters/validators.js.map +1 -0
  572. package/dist/utils/json-serializer.d.ts +68 -0
  573. package/dist/utils/json-serializer.d.ts.map +1 -0
  574. package/dist/utils/json-serializer.js +235 -0
  575. package/dist/utils/json-serializer.js.map +1 -0
  576. package/dist/utils/logger.d.ts +226 -0
  577. package/dist/utils/logger.d.ts.map +1 -0
  578. package/dist/utils/logger.js +323 -0
  579. package/dist/utils/logger.js.map +1 -0
  580. package/dist/utils/numeric-utils.d.ts +27 -0
  581. package/dist/utils/numeric-utils.d.ts.map +1 -0
  582. package/dist/utils/numeric-utils.js +83 -0
  583. package/dist/utils/numeric-utils.js.map +1 -0
  584. package/dist/utils/pagination.d.ts +85 -0
  585. package/dist/utils/pagination.d.ts.map +1 -0
  586. package/dist/utils/pagination.js +169 -0
  587. package/dist/utils/pagination.js.map +1 -0
  588. package/dist/utils/person-lookup.d.ts +35 -0
  589. package/dist/utils/person-lookup.d.ts.map +1 -0
  590. package/dist/utils/person-lookup.js +67 -0
  591. package/dist/utils/person-lookup.js.map +1 -0
  592. package/dist/utils/rate-limiter.d.ts +82 -0
  593. package/dist/utils/rate-limiter.d.ts.map +1 -0
  594. package/dist/utils/rate-limiter.js +159 -0
  595. package/dist/utils/rate-limiter.js.map +1 -0
  596. package/dist/utils/record-utils.d.ts +74 -0
  597. package/dist/utils/record-utils.d.ts.map +1 -0
  598. package/dist/utils/record-utils.js +312 -0
  599. package/dist/utils/record-utils.js.map +1 -0
  600. package/dist/utils/relationship-utils.d.ts +61 -0
  601. package/dist/utils/relationship-utils.d.ts.map +1 -0
  602. package/dist/utils/relationship-utils.js +242 -0
  603. package/dist/utils/relationship-utils.js.map +1 -0
  604. package/dist/utils/response-formatter.d.ts +121 -0
  605. package/dist/utils/response-formatter.d.ts.map +1 -0
  606. package/dist/utils/response-formatter.js +188 -0
  607. package/dist/utils/response-formatter.js.map +1 -0
  608. package/dist/utils/uri-parser.d.ts +18 -0
  609. package/dist/utils/uri-parser.d.ts.map +1 -0
  610. package/dist/utils/uri-parser.js +31 -0
  611. package/dist/utils/uri-parser.js.map +1 -0
  612. package/dist/utils/validation.d.ts +59 -0
  613. package/dist/utils/validation.d.ts.map +1 -0
  614. package/dist/utils/validation.js +264 -0
  615. package/dist/utils/validation.js.map +1 -0
  616. package/dist/utils/value-matcher.d.ts +58 -0
  617. package/dist/utils/value-matcher.d.ts.map +1 -0
  618. package/dist/utils/value-matcher.js +131 -0
  619. package/dist/utils/value-matcher.js.map +1 -0
  620. package/dist/validators/attribute-validator.d.ts +59 -0
  621. package/dist/validators/attribute-validator.d.ts.map +1 -0
  622. package/dist/validators/attribute-validator.js +531 -0
  623. package/dist/validators/attribute-validator.js.map +1 -0
  624. package/dist/validators/company/field_detector.d.ts +5 -0
  625. package/dist/validators/company/field_detector.d.ts.map +1 -0
  626. package/dist/validators/company/field_detector.js +95 -0
  627. package/dist/validators/company/field_detector.js.map +1 -0
  628. package/dist/validators/company/index.d.ts +26 -0
  629. package/dist/validators/company/index.d.ts.map +1 -0
  630. package/dist/validators/company/index.js +433 -0
  631. package/dist/validators/company/index.js.map +1 -0
  632. package/dist/validators/company/type_cache.d.ts +14 -0
  633. package/dist/validators/company/type_cache.d.ts.map +1 -0
  634. package/dist/validators/company/type_cache.js +28 -0
  635. package/dist/validators/company/type_cache.js.map +1 -0
  636. package/dist/validators/company/types.d.ts +8 -0
  637. package/dist/validators/company/types.d.ts.map +1 -0
  638. package/dist/validators/company/types.js +2 -0
  639. package/dist/validators/company/types.js.map +1 -0
  640. package/dist/validators/company-validator.d.ts +2 -0
  641. package/dist/validators/company-validator.d.ts.map +1 -0
  642. package/dist/validators/company-validator.js +2 -0
  643. package/dist/validators/company-validator.js.map +1 -0
  644. package/package.json +167 -0
@@ -0,0 +1,353 @@
1
+ import { ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
2
+ import { getAllPrompts, getPromptById, getPromptsByCategory, getAllCategories, } from './templates/index.js';
3
+ import { createErrorResult } from './error-handler.js';
4
+ // Import Handlebars using ES module import
5
+ // This avoids the "require is not defined in ES module scope" error
6
+ import Handlebars from 'handlebars';
7
+ /**
8
+ * Template cache implementation for storing compiled Handlebars templates
9
+ * Provides caching with size limits to prevent memory leaks
10
+ */
11
+ class TemplateCache {
12
+ cache = new Map();
13
+ options;
14
+ /**
15
+ * Create a new template cache
16
+ *
17
+ * @param options - Cache configuration options
18
+ */
19
+ constructor(options = {}) {
20
+ this.options = {
21
+ maxSize: 100, // Default max cache size
22
+ ...options,
23
+ };
24
+ }
25
+ /**
26
+ * Get a compiled template from the cache
27
+ *
28
+ * @param key - Template key
29
+ * @returns The compiled template or undefined if not found
30
+ */
31
+ get(key) {
32
+ return this.cache.get(key);
33
+ }
34
+ /**
35
+ * Store a compiled template in the cache
36
+ *
37
+ * @param key - Template key
38
+ * @param template - Compiled template to store
39
+ */
40
+ set(key, template) {
41
+ // Check if we need to evict entries (simple LRU implementation)
42
+ if (this.cache.size >= this.options.maxSize && !this.cache.has(key)) {
43
+ // Delete the first entry (oldest)
44
+ const firstKeyValue = this.cache.keys().next();
45
+ if (!firstKeyValue.done && firstKeyValue.value) {
46
+ this.cache.delete(firstKeyValue.value);
47
+ }
48
+ }
49
+ this.cache.set(key, template);
50
+ }
51
+ /**
52
+ * Check if a template exists in the cache
53
+ *
54
+ * @param key - Template key
55
+ * @returns True if the template exists in the cache
56
+ */
57
+ has(key) {
58
+ return this.cache.has(key);
59
+ }
60
+ /**
61
+ * Clear all templates from the cache
62
+ */
63
+ clear() {
64
+ this.cache.clear();
65
+ }
66
+ /**
67
+ * Get the current size of the cache
68
+ *
69
+ * @returns Number of templates in the cache
70
+ */
71
+ size() {
72
+ return this.cache.size;
73
+ }
74
+ }
75
+ // Create the template cache instance
76
+ const templateCache = new TemplateCache({ maxSize: 100 });
77
+ // Register Handlebars helpers
78
+ Handlebars.registerHelper('if', function (conditional, options) {
79
+ if (conditional) {
80
+ return options.fn(this);
81
+ }
82
+ else {
83
+ return options.inverse(this);
84
+ }
85
+ });
86
+ /**
87
+ * List all available prompts
88
+ *
89
+ * @param req - Express request object
90
+ * @param res - Express response object
91
+ */
92
+ export async function listPrompts(req, res) {
93
+ try {
94
+ const category = req.query.category;
95
+ const prompts = category ? getPromptsByCategory(category) : getAllPrompts();
96
+ res.json({
97
+ success: true,
98
+ data: prompts,
99
+ });
100
+ }
101
+ catch (error) {
102
+ const errorObj = new Error('Failed to list prompts');
103
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
104
+ res.status(Number(errorResult.error.code)).json(errorResult);
105
+ }
106
+ }
107
+ /**
108
+ * List all available prompt categories
109
+ *
110
+ * @param req - Express request object
111
+ * @param res - Express response object
112
+ */
113
+ export async function listPromptCategories(req, res) {
114
+ try {
115
+ const categories = getAllCategories();
116
+ res.json({
117
+ success: true,
118
+ data: categories,
119
+ });
120
+ }
121
+ catch (error) {
122
+ const errorObj = new Error('Failed to list prompt categories');
123
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
124
+ res.status(Number(errorResult.error.code)).json(errorResult);
125
+ }
126
+ }
127
+ /**
128
+ * Get details for a specific prompt
129
+ *
130
+ * @param req - Express request object
131
+ * @param res - Express response object
132
+ */
133
+ export async function getPromptDetails(req, res) {
134
+ try {
135
+ const promptId = req.params.id;
136
+ const prompt = getPromptById(promptId);
137
+ if (!prompt) {
138
+ const errorObj = new Error('Prompt not found');
139
+ const errorResult = createErrorResult(errorObj, `No prompt found with ID: ${promptId}`, 404);
140
+ res.status(Number(errorResult.error.code)).json(errorResult);
141
+ return;
142
+ }
143
+ res.json({
144
+ success: true,
145
+ data: prompt,
146
+ });
147
+ }
148
+ catch (error) {
149
+ const errorObj = new Error('Failed to get prompt details');
150
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
151
+ res.status(Number(errorResult.error.code)).json(errorResult);
152
+ }
153
+ }
154
+ /**
155
+ * Validate parameters against prompt definition
156
+ *
157
+ * @param prompt - Prompt template to validate against
158
+ * @param parameters - Parameters to validate
159
+ * @returns Object with validation result and any error messages
160
+ */
161
+ function validateParameters(prompt, parameters) {
162
+ const errors = [];
163
+ // Check for required parameters
164
+ prompt.parameters.forEach((param) => {
165
+ if (param.required &&
166
+ (parameters[param.name] === undefined || parameters[param.name] === null)) {
167
+ errors.push(`Missing required parameter: ${param.name}`);
168
+ }
169
+ });
170
+ // Check enum values
171
+ prompt.parameters.forEach((param) => {
172
+ if (param.enum &&
173
+ parameters[param.name] !== undefined &&
174
+ typeof parameters[param.name] === 'string' &&
175
+ !param.enum.includes(parameters[param.name])) {
176
+ errors.push(`Invalid value for parameter ${param.name}. ` +
177
+ `Expected one of: ${param.enum.join(', ')}`);
178
+ }
179
+ });
180
+ // Check parameter types
181
+ prompt.parameters.forEach((param) => {
182
+ if (parameters[param.name] !== undefined) {
183
+ const paramValue = parameters[param.name];
184
+ let typeError = false;
185
+ switch (param.type) {
186
+ case 'string':
187
+ typeError = typeof paramValue !== 'string';
188
+ break;
189
+ case 'number':
190
+ typeError = typeof paramValue !== 'number';
191
+ break;
192
+ case 'boolean':
193
+ typeError = typeof paramValue !== 'boolean';
194
+ break;
195
+ case 'array':
196
+ typeError = !Array.isArray(paramValue);
197
+ break;
198
+ case 'object':
199
+ typeError =
200
+ typeof paramValue !== 'object' ||
201
+ Array.isArray(paramValue) ||
202
+ paramValue === null;
203
+ break;
204
+ }
205
+ if (typeError) {
206
+ errors.push(`Invalid type for parameter ${param.name}. Expected ${param.type}.`);
207
+ }
208
+ }
209
+ });
210
+ return {
211
+ valid: errors.length === 0,
212
+ errors,
213
+ };
214
+ }
215
+ /**
216
+ * Apply default values to missing parameters
217
+ *
218
+ * @param prompt - Prompt template with parameter definitions
219
+ * @param parameters - User-provided parameters
220
+ * @returns Parameters with defaults applied
221
+ */
222
+ function applyDefaultValues(prompt, parameters) {
223
+ const result = { ...parameters };
224
+ prompt.parameters.forEach((param) => {
225
+ if ((result[param.name] === undefined || result[param.name] === null) &&
226
+ param.default !== undefined) {
227
+ result[param.name] = param.default;
228
+ }
229
+ });
230
+ return result;
231
+ }
232
+ /**
233
+ * Execute a prompt with provided parameters
234
+ *
235
+ * @param req - Express request object
236
+ * @param res - Express response object
237
+ */
238
+ export async function executePrompt(req, res) {
239
+ try {
240
+ const promptId = req.params.id;
241
+ const prompt = getPromptById(promptId);
242
+ if (!prompt) {
243
+ const errorObj = new Error('Prompt not found');
244
+ const errorResult = createErrorResult(errorObj, `No prompt found with ID: ${promptId}`, 404);
245
+ res.status(Number(errorResult.error.code)).json(errorResult);
246
+ return;
247
+ }
248
+ const executionRequest = req.body;
249
+ // Validate parameters
250
+ const validation = validateParameters(prompt, executionRequest.parameters);
251
+ if (!validation.valid) {
252
+ const errorObj = new Error('Invalid parameters');
253
+ const errorResult = createErrorResult(errorObj, validation.errors.join(', '), 400);
254
+ res.status(Number(errorResult.error.code)).json(errorResult);
255
+ return;
256
+ }
257
+ // Apply default values
258
+ const parameters = applyDefaultValues(prompt, executionRequest.parameters);
259
+ // Get or compile template with caching
260
+ let template = templateCache.get(promptId);
261
+ if (!template) {
262
+ try {
263
+ template = Handlebars.compile(prompt.template);
264
+ templateCache.set(promptId, template);
265
+ }
266
+ catch (compileError) {
267
+ const errorObj = new Error('Failed to compile template');
268
+ const errorResult = createErrorResult(errorObj, `Template compilation error for prompt ${promptId}: ${compileError instanceof Error
269
+ ? compileError.message
270
+ : 'Unknown error'}`, 500);
271
+ res.status(Number(errorResult.error.code)).json(errorResult);
272
+ return;
273
+ }
274
+ }
275
+ // Execute the template with error handling
276
+ let result;
277
+ try {
278
+ result = template(parameters);
279
+ }
280
+ catch (renderError) {
281
+ const errorObj = new Error('Failed to render template');
282
+ const errorResult = createErrorResult(errorObj, `Template rendering error for prompt ${promptId}: ${renderError instanceof Error ? renderError.message : 'Unknown error'}`, 500);
283
+ res.status(Number(errorResult.error.code)).json(errorResult);
284
+ return;
285
+ }
286
+ res.json({
287
+ success: true,
288
+ data: {
289
+ prompt: prompt.id,
290
+ result,
291
+ },
292
+ });
293
+ }
294
+ catch (error) {
295
+ const errorObj = new Error('Failed to execute prompt');
296
+ const errorResult = createErrorResult(errorObj, error instanceof Error ? error.message : 'Unknown error', 500);
297
+ res.status(Number(errorResult.error.code)).json(errorResult);
298
+ }
299
+ }
300
+ /**
301
+ * Register MCP prompt handlers with the server
302
+ *
303
+ * This function registers handlers for the MCP prompts/list and prompts/get endpoints
304
+ * required by the Model Context Protocol specification. These endpoints enable
305
+ * Claude Desktop to discover and retrieve prompt templates from the server.
306
+ *
307
+ * @param server - MCP server instance
308
+ * @example
309
+ * ```typescript
310
+ * const server = new Server();
311
+ * registerPromptHandlers(server);
312
+ * ```
313
+ */
314
+ export function registerPromptHandlers(server) {
315
+ // Register handler for prompts/list endpoint
316
+ server.setRequestHandler(ListPromptsRequestSchema, async () => {
317
+ const prompts = getAllPrompts();
318
+ return {
319
+ prompts: prompts.map((prompt) => ({
320
+ id: prompt.id,
321
+ name: prompt.title, // Map title to name as required by MCP
322
+ description: prompt.description,
323
+ category: prompt.category,
324
+ })),
325
+ };
326
+ });
327
+ // Register handler for prompts/get endpoint
328
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
329
+ const promptId = request.params.promptId;
330
+ const prompt = getPromptById(promptId);
331
+ if (!prompt) {
332
+ throw new Error(`Prompt not found: ${promptId}`);
333
+ }
334
+ return {
335
+ prompt: {
336
+ id: prompt.id,
337
+ name: prompt.title, // Map title to name as required by MCP
338
+ description: prompt.description,
339
+ category: prompt.category,
340
+ parameters: prompt.parameters.map((param) => ({
341
+ name: param.name,
342
+ type: param.type,
343
+ description: param.description,
344
+ required: param.required,
345
+ default: param.default,
346
+ enum: param.enum,
347
+ })),
348
+ template: prompt.template,
349
+ },
350
+ };
351
+ });
352
+ }
353
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/prompts/handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * MCP Prompts module
3
+ *
4
+ * This module implements the MCP Prompts feature for the Attio MCP server,
5
+ * providing pre-defined templates for common Attio operations.
6
+ */
7
+ export * from './types.js';
8
+ export { getAllPrompts, getPromptsByCategory, getPromptById, getAllCategories, } from './templates/index.js';
9
+ export { listPrompts, listPromptCategories, getPromptDetails, executePrompt, } from './handlers.js';
10
+ export { allPrompts } from './templates/index.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * MCP Prompts module
3
+ *
4
+ * This module implements the MCP Prompts feature for the Attio MCP server,
5
+ * providing pre-defined templates for common Attio operations.
6
+ */
7
+ // Export types
8
+ export * from './types.js';
9
+ // Export template utilities
10
+ export { getAllPrompts, getPromptsByCategory, getPromptById, getAllCategories, } from './templates/index.js';
11
+ // Export handlers
12
+ export { listPrompts, listPromptCategories, getPromptDetails, executePrompt, } from './handlers.js';
13
+ // Export all templates
14
+ export { allPrompts } from './templates/index.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,cAAc,YAAY,CAAC;AAE3B,4BAA4B;AAC5B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Companies-related prompt templates
3
+ */
4
+ import { PromptTemplate } from '../types.js';
5
+ /**
6
+ * Prompt templates for company operations
7
+ */
8
+ export declare const companiesPrompts: PromptTemplate[];
9
+ export default companiesPrompts;
10
+ //# sourceMappingURL=companies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../../src/prompts/templates/companies.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA+H5C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Prompt templates for company operations
3
+ */
4
+ export const companiesPrompts = [
5
+ {
6
+ id: 'create-company',
7
+ title: 'Create a new company',
8
+ description: 'Create a new company record in Attio with the provided details',
9
+ category: 'companies',
10
+ parameters: [
11
+ {
12
+ name: 'name',
13
+ type: 'string',
14
+ description: 'Name of the company',
15
+ required: true,
16
+ },
17
+ {
18
+ name: 'website',
19
+ type: 'string',
20
+ description: 'Website URL of the company',
21
+ required: false,
22
+ },
23
+ {
24
+ name: 'industry',
25
+ type: 'string',
26
+ description: 'Industry the company operates in',
27
+ required: false,
28
+ },
29
+ {
30
+ name: 'size',
31
+ type: 'string',
32
+ description: 'Size of the company (e.g., "1-10", "11-50", "51-200", "201-500", "501-1000", "1001+")',
33
+ required: false,
34
+ enum: ['1-10', '11-50', '51-200', '201-500', '501-1000', '1001+'],
35
+ },
36
+ {
37
+ name: 'description',
38
+ type: 'string',
39
+ description: 'Brief description of the company',
40
+ required: false,
41
+ },
42
+ ],
43
+ template: 'Create a new company named {{name}}{{#if website}} with website {{website}}{{/if}}{{#if industry}} in the {{industry}} industry{{/if}}{{#if size}} with {{size}} employees{{/if}}{{#if description}}. Description: {{description}}{{/if}}.',
44
+ },
45
+ {
46
+ id: 'find-company-by-name',
47
+ title: 'Find a company by name',
48
+ description: 'Search for a company in Attio using its name',
49
+ category: 'companies',
50
+ parameters: [
51
+ {
52
+ name: 'name',
53
+ type: 'string',
54
+ description: 'Company name to search for',
55
+ required: true,
56
+ },
57
+ ],
58
+ template: 'Find a company with the name {{name}}.',
59
+ },
60
+ {
61
+ id: 'update-company',
62
+ title: 'Update company details',
63
+ description: 'Update an existing company record in Attio',
64
+ category: 'companies',
65
+ parameters: [
66
+ {
67
+ name: 'companyId',
68
+ type: 'string',
69
+ description: 'ID of the company to update',
70
+ required: true,
71
+ },
72
+ {
73
+ name: 'name',
74
+ type: 'string',
75
+ description: 'New name for the company',
76
+ required: false,
77
+ },
78
+ {
79
+ name: 'website',
80
+ type: 'string',
81
+ description: 'New website URL for the company',
82
+ required: false,
83
+ },
84
+ {
85
+ name: 'industry',
86
+ type: 'string',
87
+ description: 'New industry for the company',
88
+ required: false,
89
+ },
90
+ {
91
+ name: 'description',
92
+ type: 'string',
93
+ description: 'New description for the company',
94
+ required: false,
95
+ },
96
+ ],
97
+ template: 'Update the company with ID {{companyId}}{{#if name}} to change its name to {{name}}{{/if}}{{#if website}}, update its website to {{website}}{{/if}}{{#if industry}}, update its industry to {{industry}}{{/if}}{{#if description}}, and update its description to "{{description}}"{{/if}}.',
98
+ },
99
+ {
100
+ id: 'add-note-to-company',
101
+ title: 'Add a note to a company',
102
+ description: 'Add a note to an existing company record in Attio',
103
+ category: 'companies',
104
+ parameters: [
105
+ {
106
+ name: 'companyId',
107
+ type: 'string',
108
+ description: 'ID of the company to add a note to',
109
+ required: true,
110
+ },
111
+ {
112
+ name: 'title',
113
+ type: 'string',
114
+ description: 'Title of the note',
115
+ required: true,
116
+ },
117
+ {
118
+ name: 'content',
119
+ type: 'string',
120
+ description: 'Content of the note',
121
+ required: true,
122
+ },
123
+ ],
124
+ template: 'Add a note titled "{{title}}" with content "{{content}}" to the company with ID {{companyId}}.',
125
+ },
126
+ ];
127
+ export default companiesPrompts;
128
+ //# sourceMappingURL=companies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../../src/prompts/templates/companies.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,gEAAgE;QAClE,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;gBAC/C,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,uFAAuF;gBACzF,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;aAClE;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;gBAC/C,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,QAAQ,EACN,4OAA4O;KAC/O;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,IAAI;aACf;SACF;QACD,QAAQ,EAAE,wCAAwC;KACnD;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;gBAC1C,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0BAA0B;gBACvC,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;gBAC9C,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;gBAC3C,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;gBAC9C,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,QAAQ,EACN,6RAA6R;KAChS;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,mDAAmD;QAChE,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oCAAoC;gBACjD,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;gBAChC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE,IAAI;aACf;SACF;QACD,QAAQ,EACN,gGAAgG;KACnG;CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Export all prompt templates
3
+ */
4
+ import { PromptTemplate } from '../types.js';
5
+ /**
6
+ * All available prompt templates
7
+ */
8
+ export declare const allPrompts: PromptTemplate[];
9
+ /**
10
+ * Get all prompts
11
+ *
12
+ * @returns Array of all prompt templates
13
+ */
14
+ export declare function getAllPrompts(): PromptTemplate[];
15
+ /**
16
+ * Get prompts by category
17
+ *
18
+ * @param category - Category to filter by
19
+ * @returns Array of prompt templates in the specified category
20
+ */
21
+ export declare function getPromptsByCategory(category: string): PromptTemplate[];
22
+ /**
23
+ * Get prompt by ID
24
+ *
25
+ * @param id - ID of the prompt to retrieve
26
+ * @returns Prompt template with the specified ID, or undefined if not found
27
+ */
28
+ export declare function getPromptById(id: string): PromptTemplate | undefined;
29
+ /**
30
+ * Get all available prompt categories
31
+ *
32
+ * @returns Array of unique category names
33
+ */
34
+ export declare function getAllCategories(): string[];
35
+ declare const _default: {
36
+ getAllPrompts: typeof getAllPrompts;
37
+ getPromptsByCategory: typeof getPromptsByCategory;
38
+ getPromptById: typeof getPromptById;
39
+ getAllCategories: typeof getAllCategories;
40
+ };
41
+ export default _default;
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAAc,EAKtC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAQ3C;;;;;;;AAED,wBAKE"}
@@ -0,0 +1,58 @@
1
+ import peoplePrompts from './people.js';
2
+ import companiesPrompts from './companies.js';
3
+ import listsPrompts from './lists.js';
4
+ import notesPrompts from './notes.js';
5
+ /**
6
+ * All available prompt templates
7
+ */
8
+ export const allPrompts = [
9
+ ...peoplePrompts,
10
+ ...companiesPrompts,
11
+ ...listsPrompts,
12
+ ...notesPrompts,
13
+ ];
14
+ /**
15
+ * Get all prompts
16
+ *
17
+ * @returns Array of all prompt templates
18
+ */
19
+ export function getAllPrompts() {
20
+ return allPrompts;
21
+ }
22
+ /**
23
+ * Get prompts by category
24
+ *
25
+ * @param category - Category to filter by
26
+ * @returns Array of prompt templates in the specified category
27
+ */
28
+ export function getPromptsByCategory(category) {
29
+ return allPrompts.filter((prompt) => prompt.category === category);
30
+ }
31
+ /**
32
+ * Get prompt by ID
33
+ *
34
+ * @param id - ID of the prompt to retrieve
35
+ * @returns Prompt template with the specified ID, or undefined if not found
36
+ */
37
+ export function getPromptById(id) {
38
+ return allPrompts.find((prompt) => prompt.id === id);
39
+ }
40
+ /**
41
+ * Get all available prompt categories
42
+ *
43
+ * @returns Array of unique category names
44
+ */
45
+ export function getAllCategories() {
46
+ const categories = new Set();
47
+ allPrompts.forEach((prompt) => {
48
+ categories.add(prompt.category);
49
+ });
50
+ return Array.from(categories);
51
+ }
52
+ export default {
53
+ getAllPrompts,
54
+ getPromptsByCategory,
55
+ getPromptById,
56
+ getAllCategories,
57
+ };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/templates/index.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,aAAa,CAAC;AACxC,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,YAAY,MAAM,YAAY,CAAC;AACtC,OAAO,YAAY,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C,GAAG,aAAa;IAChB,GAAG,gBAAgB;IACnB,GAAG,YAAY;IACf,GAAG,YAAY;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5B,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED,eAAe;IACb,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,gBAAgB;CACjB,CAAC"}