attio-mcp 1.0.0 → 1.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 (359) 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 +7 -1
  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 +118 -98
  106. package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
  107. package/dist/handlers/tool-configs/universal/index.js +43 -73
  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 +269 -57
  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 +4 -1
  186. package/dist/prompts/handlers.d.ts.map +1 -1
  187. package/dist/prompts/handlers.js +146 -48
  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.d.ts +2 -2
  254. package/dist/server/createServer.d.ts.map +1 -1
  255. package/dist/server/createServer.js +2 -2
  256. package/dist/server/createServer.js.map +1 -1
  257. package/dist/services/ErrorService.d.ts +27 -0
  258. package/dist/services/ErrorService.d.ts.map +1 -1
  259. package/dist/services/ErrorService.js +92 -1
  260. package/dist/services/ErrorService.js.map +1 -1
  261. package/dist/services/UniversalUpdateService.d.ts.map +1 -1
  262. package/dist/services/UniversalUpdateService.js +32 -2
  263. package/dist/services/UniversalUpdateService.js.map +1 -1
  264. package/dist/services/create/data-normalizers.d.ts.map +1 -1
  265. package/dist/services/create/data-normalizers.js +18 -1
  266. package/dist/services/create/data-normalizers.js.map +1 -1
  267. package/dist/services/metadata/MetadataDiscoveryService.d.ts +4 -2
  268. package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
  269. package/dist/services/metadata/MetadataDiscoveryService.js +69 -157
  270. package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
  271. package/dist/services/metadata/discovery-runner.d.ts +25 -0
  272. package/dist/services/metadata/discovery-runner.d.ts.map +1 -0
  273. package/dist/services/metadata/discovery-runner.js +66 -0
  274. package/dist/services/metadata/discovery-runner.js.map +1 -0
  275. package/dist/services/metadata/task-metadata.d.ts +13 -0
  276. package/dist/services/metadata/task-metadata.d.ts.map +1 -0
  277. package/dist/services/metadata/task-metadata.js +84 -0
  278. package/dist/services/metadata/task-metadata.js.map +1 -0
  279. package/dist/services/normalizers/AttributeAwareNormalizer.d.ts.map +1 -1
  280. package/dist/services/normalizers/AttributeAwareNormalizer.js +99 -5
  281. package/dist/services/normalizers/AttributeAwareNormalizer.js.map +1 -1
  282. package/dist/services/normalizers/PhoneNormalizer.d.ts +2 -2
  283. package/dist/services/normalizers/PhoneNormalizer.d.ts.map +1 -1
  284. package/dist/services/normalizers/PhoneNormalizer.js +1 -7
  285. package/dist/services/normalizers/PhoneNormalizer.js.map +1 -1
  286. package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
  287. package/dist/services/search-strategies/CompanySearchStrategy.js +10 -4
  288. package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
  289. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
  290. package/dist/services/search-strategies/PeopleSearchStrategy.js +21 -15
  291. package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
  292. package/dist/services/search-strategies/query-filter-builder.d.ts +5 -0
  293. package/dist/services/search-strategies/query-filter-builder.d.ts.map +1 -0
  294. package/dist/services/search-strategies/query-filter-builder.js +129 -0
  295. package/dist/services/search-strategies/query-filter-builder.js.map +1 -0
  296. package/dist/services/utils/attribute-metadata.d.ts +7 -0
  297. package/dist/services/utils/attribute-metadata.d.ts.map +1 -0
  298. package/dist/services/utils/attribute-metadata.js +84 -0
  299. package/dist/services/utils/attribute-metadata.js.map +1 -0
  300. package/dist/smithery.d.ts +2 -2
  301. package/dist/smithery.d.ts.map +1 -1
  302. package/dist/smithery.js +4 -2
  303. package/dist/smithery.js.map +1 -1
  304. package/dist/types/attio.d.ts +32 -11
  305. package/dist/types/attio.d.ts.map +1 -1
  306. package/dist/types/attio.js.map +1 -1
  307. package/dist/types/list-types.d.ts +2 -0
  308. package/dist/types/list-types.d.ts.map +1 -1
  309. package/dist/types/list-types.js.map +1 -1
  310. package/dist/utils/attribute-format-helpers.d.ts.map +1 -1
  311. package/dist/utils/attribute-format-helpers.js +22 -0
  312. package/dist/utils/attribute-format-helpers.js.map +1 -1
  313. package/dist/utils/axios-error-mapper.d.ts +1 -0
  314. package/dist/utils/axios-error-mapper.d.ts.map +1 -1
  315. package/dist/utils/axios-error-mapper.js.map +1 -1
  316. package/dist/utils/client-resolver.d.ts +3 -3
  317. package/dist/utils/client-resolver.d.ts.map +1 -1
  318. package/dist/utils/client-resolver.js +28 -21
  319. package/dist/utils/client-resolver.js.map +1 -1
  320. package/dist/utils/error-handler.js +2 -2
  321. package/dist/utils/error-handler.js.map +1 -1
  322. package/dist/utils/error-sanitizer.d.ts.map +1 -1
  323. package/dist/utils/error-sanitizer.js +52 -3
  324. package/dist/utils/error-sanitizer.js.map +1 -1
  325. package/dist/utils/json-serializer.d.ts.map +1 -1
  326. package/dist/utils/json-serializer.js +55 -6
  327. package/dist/utils/json-serializer.js.map +1 -1
  328. package/dist/utils/log-sanitizer.d.ts +14 -0
  329. package/dist/utils/log-sanitizer.d.ts.map +1 -0
  330. package/dist/utils/log-sanitizer.js +248 -0
  331. package/dist/utils/log-sanitizer.js.map +1 -0
  332. package/dist/utils/logger.d.ts +15 -9
  333. package/dist/utils/logger.d.ts.map +1 -1
  334. package/dist/utils/logger.js +74 -42
  335. package/dist/utils/logger.js.map +1 -1
  336. package/dist/utils/mcp-discovery.d.ts +16 -0
  337. package/dist/utils/mcp-discovery.d.ts.map +1 -0
  338. package/dist/utils/mcp-discovery.js +36 -0
  339. package/dist/utils/mcp-discovery.js.map +1 -0
  340. package/dist/utils/secure-error-handler.d.ts +16 -1
  341. package/dist/utils/secure-error-handler.d.ts.map +1 -1
  342. package/dist/utils/secure-error-handler.js +91 -12
  343. package/dist/utils/secure-error-handler.js.map +1 -1
  344. package/dist/utils/token-count.d.ts +5 -0
  345. package/dist/utils/token-count.d.ts.map +1 -0
  346. package/dist/utils/token-count.js +57 -0
  347. package/dist/utils/token-count.js.map +1 -0
  348. package/dist/utils/token-footprint-analyzer.d.ts +46 -0
  349. package/dist/utils/token-footprint-analyzer.d.ts.map +1 -0
  350. package/dist/utils/token-footprint-analyzer.js +221 -0
  351. package/dist/utils/token-footprint-analyzer.js.map +1 -0
  352. package/dist/utils/validation/phone-validation.d.ts +25 -0
  353. package/dist/utils/validation/phone-validation.d.ts.map +1 -0
  354. package/dist/utils/validation/phone-validation.js +133 -0
  355. package/dist/utils/validation/phone-validation.js.map +1 -0
  356. package/dist/utils/validation/uuid-validation.d.ts.map +1 -1
  357. package/dist/utils/validation/uuid-validation.js +1 -0
  358. package/dist/utils/validation/uuid-validation.js.map +1 -1
  359. package/package.json +19 -1
@@ -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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Advance Deal v1 Prompt
3
+ *
4
+ * Move a deal to a target stage with optional next action + task creation.
5
+ */
6
+ import { z } from 'zod';
7
+ import { PromptV1Definition, PromptMessage, PromptArgument } from './types.js';
8
+ /**
9
+ * Argument schema for advance_deal.v1
10
+ */
11
+ export declare const AdvanceDealArgs: z.ZodObject<{
12
+ deal: z.ZodString;
13
+ target_stage: z.ZodString;
14
+ create_task: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15
+ dry_run: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ deal: string;
18
+ dry_run: boolean;
19
+ target_stage: string;
20
+ create_task: boolean;
21
+ }, {
22
+ deal: string;
23
+ target_stage: string;
24
+ dry_run?: boolean | undefined;
25
+ create_task?: boolean | undefined;
26
+ }>;
27
+ export type AdvanceDealArgsType = z.infer<typeof AdvanceDealArgs>;
28
+ /**
29
+ * Argument definitions for registration
30
+ */
31
+ export declare const advanceDealArguments: PromptArgument[];
32
+ /**
33
+ * Build prompt messages for advancing deal
34
+ */
35
+ export declare function buildAdvanceDealMessages(args: Record<string, unknown>): PromptMessage[];
36
+ /**
37
+ * Complete prompt definition
38
+ */
39
+ export declare const advanceDealPrompt: PromptV1Definition;
40
+ export default advanceDealPrompt;
41
+ //# sourceMappingURL=advance-deal.v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-deal.v1.d.ts","sourceRoot":"","sources":["../../../src/prompts/v1/advance-deal.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,eAAe;;;;;;;;;;;;;;;EAY1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,EA2BhD,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,aAAa,EAAE,CA2BjB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAY/B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Advance Deal v1 Prompt
3
+ *
4
+ * Move a deal to a target stage with optional next action + task creation.
5
+ */
6
+ import { z } from 'zod';
7
+ import { DryRunArg } from './types.js';
8
+ /**
9
+ * Argument schema for advance_deal.v1
10
+ */
11
+ export const AdvanceDealArgs = z.object({
12
+ deal: z.string().min(3).describe('Deal URL, ID, or "search:<query>"'),
13
+ target_stage: z
14
+ .string()
15
+ .min(2)
16
+ .describe('Target stage name (e.g., "Qualified", "Proposal Sent")'),
17
+ create_task: z
18
+ .boolean()
19
+ .optional()
20
+ .default(false)
21
+ .describe('Create a next-action task after advancing'),
22
+ dry_run: DryRunArg,
23
+ });
24
+ /**
25
+ * Argument definitions for registration
26
+ */
27
+ export const advanceDealArguments = [
28
+ {
29
+ name: 'deal',
30
+ description: 'Deal URL, ID, or "search:<query>"',
31
+ required: true,
32
+ schema: z.string().min(3),
33
+ },
34
+ {
35
+ name: 'target_stage',
36
+ description: 'Target stage name',
37
+ required: true,
38
+ schema: z.string().min(2),
39
+ },
40
+ {
41
+ name: 'create_task',
42
+ description: 'Create next-action task (default false)',
43
+ required: false,
44
+ schema: z.boolean(),
45
+ default: false,
46
+ },
47
+ {
48
+ name: 'dry_run',
49
+ description: "Only propose, don't execute (default false)",
50
+ required: false,
51
+ schema: z.boolean(),
52
+ default: false,
53
+ },
54
+ ];
55
+ /**
56
+ * Build prompt messages for advancing deal
57
+ */
58
+ export function buildAdvanceDealMessages(args) {
59
+ const validated = AdvanceDealArgs.parse(args);
60
+ const instructions = `You are a CRM assistant. Advance deal "${validated.deal}" to stage "${validated.target_stage}".
61
+
62
+ Steps:
63
+ 1. Resolve deal: If starts with "search:", call \`records_query\` to find one deal. If multiple matches, disambiguate.
64
+
65
+ 2. Call \`deals.update\` (or \`records.update\` for object='deals') with:
66
+ - Record ID from step 1
67
+ - stage: "${validated.target_stage}"
68
+
69
+ 3. ${validated.create_task ? 'Suggest a concrete next-action task based on the new stage and, only on approval, call `tasks.create`.' : 'No follow-up task needed.'}
70
+
71
+ ${validated.dry_run ? 'DRY RUN MODE: Output proposed tool calls as JSON only. Do NOT execute writes.' : 'Execute the stage change after showing proposed action.'}
72
+
73
+ Confirm completion or show proposed changes.`;
74
+ return [
75
+ {
76
+ role: 'user',
77
+ content: {
78
+ type: 'text',
79
+ text: instructions,
80
+ },
81
+ },
82
+ ];
83
+ }
84
+ /**
85
+ * Complete prompt definition
86
+ */
87
+ export const advanceDealPrompt = {
88
+ metadata: {
89
+ name: 'advance_deal.v1',
90
+ title: 'Advance a deal stage',
91
+ description: 'Move a deal to a target stage with optional next action + task creation.',
92
+ category: 'workflow',
93
+ version: 'v1',
94
+ },
95
+ arguments: advanceDealArguments,
96
+ buildMessages: buildAdvanceDealMessages,
97
+ tokenBudget: 350, // Per spec
98
+ };
99
+ export default advanceDealPrompt;
100
+ //# sourceMappingURL=advance-deal.v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advance-deal.v1.js","sourceRoot":"","sources":["../../../src/prompts/v1/advance-deal.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,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACrE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,wDAAwD,CAAC;IACrE,WAAW,EAAE,CAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,2CAA2C,CAAC;IACxD,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,yCAAyC;QACtD,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,OAAO,EAAE,KAAK;KACf;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,wBAAwB,CACtC,IAA6B;IAE7B,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,0CAA0C,SAAS,CAAC,IAAI,eAAe,SAAS,CAAC,YAAY;;;;;;;eAOrG,SAAS,CAAC,YAAY;;KAEhC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,wGAAwG,CAAC,CAAC,CAAC,2BAA2B;;EAEjK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,+EAA+E,CAAC,CAAC,CAAC,yDAAyD;;6CAEpH,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,iBAAiB,GAAuB;IACnD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,0EAA0E;QAC5E,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,IAAI;KACd;IACD,SAAS,EAAE,oBAAoB;IAC/B,aAAa,EAAE,wBAAwB;IACvC,WAAW,EAAE,GAAG,EAAE,WAAW;CAC9B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Company Search v1 Prompt
3
+ *
4
+ * Query companies by domain, plan, segment with slim fields for decisioning.
5
+ */
6
+ import { z } from 'zod';
7
+ import { PromptV1Definition, PromptMessage, PromptArgument } from './types.js';
8
+ /**
9
+ * Argument schema for company_search.v1
10
+ */
11
+ export declare const CompanySearchArgs: z.ZodObject<{
12
+ format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["table", "json", "ids"]>>>;
13
+ fields_preset: z.ZodDefault<z.ZodOptional<z.ZodEnum<["sales_short", "full"]>>>;
14
+ verbosity: z.ZodDefault<z.ZodOptional<z.ZodEnum<["brief", "normal"]>>>;
15
+ query: z.ZodString;
16
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ limit: number;
19
+ format: "json" | "ids" | "table";
20
+ query: string;
21
+ fields_preset: "sales_short" | "full";
22
+ verbosity: "brief" | "normal";
23
+ }, {
24
+ query: string;
25
+ limit?: number | undefined;
26
+ format?: "json" | "ids" | "table" | undefined;
27
+ fields_preset?: "sales_short" | "full" | undefined;
28
+ verbosity?: "brief" | "normal" | undefined;
29
+ }>;
30
+ export type CompanySearchArgsType = z.infer<typeof CompanySearchArgs>;
31
+ /**
32
+ * Argument definitions for registration
33
+ */
34
+ export declare const companySearchArguments: PromptArgument[];
35
+ /**
36
+ * Build prompt messages for company search
37
+ */
38
+ export declare function buildCompanySearchMessages(args: Record<string, unknown>): PromptMessage[];
39
+ /**
40
+ * Complete prompt definition
41
+ */
42
+ export declare const companySearchPrompt: PromptV1Definition;
43
+ export default companySearchPrompt;
44
+ //# sourceMappingURL=company-search.v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-search.v1.d.ts","sourceRoot":"","sources":["../../../src/prompts/v1/company-search.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;AAI/E;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAkB5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAmClD,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,aAAa,EAAE,CA8BjB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,kBAYjC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Company Search v1 Prompt
3
+ *
4
+ * Query companies by domain, plan, segment with slim fields for decisioning.
5
+ */
6
+ import { z } from 'zod';
7
+ import { UniversalReadArgs } from './types.js';
8
+ import { SEARCH_DEFAULTS, PAGINATION } from './constants.js';
9
+ /**
10
+ * Argument schema for company_search.v1
11
+ */
12
+ export const CompanySearchArgs = z.object({
13
+ query: z
14
+ .string()
15
+ .min(3)
16
+ .describe("Search query (e.g., 'fintech companies in SF with >100 employees')"),
17
+ limit: z
18
+ .number()
19
+ .int()
20
+ .min(1)
21
+ .max(SEARCH_DEFAULTS.maxLimit)
22
+ .optional()
23
+ .default(SEARCH_DEFAULTS.limit)
24
+ .describe(`Maximum results to return (default ${SEARCH_DEFAULTS.limit}, max ${SEARCH_DEFAULTS.maxLimit})`),
25
+ ...UniversalReadArgs,
26
+ });
27
+ /**
28
+ * Argument definitions for registration
29
+ */
30
+ export const companySearchArguments = [
31
+ {
32
+ name: 'query',
33
+ description: "E.g., 'fintech companies in SF'",
34
+ required: true,
35
+ schema: z.string().min(3),
36
+ },
37
+ {
38
+ name: 'limit',
39
+ description: `Default ${SEARCH_DEFAULTS.limit} (max ${SEARCH_DEFAULTS.maxLimit})`,
40
+ required: false,
41
+ schema: z.number().int().min(1).max(SEARCH_DEFAULTS.maxLimit),
42
+ default: SEARCH_DEFAULTS.limit,
43
+ },
44
+ {
45
+ name: 'format',
46
+ description: 'table | json | ids (default table)',
47
+ required: false,
48
+ schema: z.enum(['table', 'json', 'ids']),
49
+ default: 'table',
50
+ },
51
+ {
52
+ name: 'fields_preset',
53
+ description: 'sales_short | full (default sales_short)',
54
+ required: false,
55
+ schema: z.enum(['sales_short', 'full']),
56
+ default: 'sales_short',
57
+ },
58
+ {
59
+ name: 'verbosity',
60
+ description: 'brief | normal (default brief)',
61
+ required: false,
62
+ schema: z.enum(['brief', 'normal']),
63
+ default: 'brief',
64
+ },
65
+ ];
66
+ /**
67
+ * Build prompt messages for company search
68
+ */
69
+ export function buildCompanySearchMessages(args) {
70
+ const validated = CompanySearchArgs.parse(args);
71
+ const instructions = `Call \`records_query\` for object='companies' with filters derived from "${validated.query}".
72
+
73
+ Output format=${validated.format}:
74
+ - If table: Markdown table with columns: id, name, domain, industry, employee_count, region, owner (max ${validated.limit} rows)
75
+ - If json: Structured array with same fields
76
+ - If ids: Comma-separated list of record IDs only
77
+
78
+ Fields preset=${validated.fields_preset}:
79
+ - sales_short: Only id, name, domain, industry, employee_count, region, owner (token-efficient)
80
+ - full: Include all available fields
81
+
82
+ Verbosity=${validated.verbosity}:
83
+ - brief: No preamble, just the data
84
+ - normal: Brief context + data
85
+
86
+ Include a "Next actions" section with inline tools for analysis/outreach.
87
+ Append "${PAGINATION.moreAvailableText}" when results exceed ${validated.limit}.`;
88
+ return [
89
+ {
90
+ role: 'user',
91
+ content: {
92
+ type: 'text',
93
+ text: instructions,
94
+ },
95
+ },
96
+ ];
97
+ }
98
+ /**
99
+ * Complete prompt definition
100
+ */
101
+ export const companySearchPrompt = {
102
+ metadata: {
103
+ name: 'company_search.v1',
104
+ title: 'Find companies',
105
+ description: 'Query companies by domain, plan, segment with slim fields. Returns compact table with id, name, domain, industry, employee_count.',
106
+ category: 'search',
107
+ version: 'v1',
108
+ },
109
+ arguments: companySearchArguments,
110
+ buildMessages: buildCompanySearchMessages,
111
+ tokenBudget: 500, // Per spec
112
+ };
113
+ export default companySearchPrompt;
114
+ //# sourceMappingURL=company-search.v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-search.v1.js","sourceRoot":"","sources":["../../../src/prompts/v1/company-search.v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Shared constants for v1 MCP prompts
3
+ *
4
+ * Defines defaults, limits, and configuration values
5
+ * per the specifications in issue #774.
6
+ */
7
+ /**
8
+ * Prompt version identifier
9
+ */
10
+ export declare const PROMPT_VERSION: "v1";
11
+ /**
12
+ * Universal argument defaults for read prompts
13
+ */
14
+ export declare const UNIVERSAL_DEFAULTS: {
15
+ readonly format: "table";
16
+ readonly fields_preset: "sales_short";
17
+ readonly verbosity: "brief";
18
+ };
19
+ /**
20
+ * Default values for search/query prompts
21
+ */
22
+ export declare const SEARCH_DEFAULTS: {
23
+ readonly limit: 25;
24
+ readonly maxLimit: 100;
25
+ readonly ownerDefault: "@me";
26
+ readonly timeframeDefault: "30d";
27
+ };
28
+ /**
29
+ * Token budget limits (configurable via environment)
30
+ */
31
+ export declare const TOKEN_LIMITS: {
32
+ /** Default maximum tokens per prompt (env: MAX_PROMPT_TOKENS) */
33
+ readonly maxPromptTokens: number;
34
+ /** Specific budgets for prompts that need stricter limits */
35
+ readonly budgets: {
36
+ readonly 'people_search.v1': 500;
37
+ readonly 'company_search.v1': 500;
38
+ readonly 'deal_search.v1': 500;
39
+ readonly 'qualify_lead.v1': 400;
40
+ readonly 'log_activity.v1': 300;
41
+ readonly 'create_task.v1': 300;
42
+ readonly 'advance_deal.v1': 350;
43
+ readonly 'add_to_list.v1': 300;
44
+ readonly 'meeting_prep.v1': 600;
45
+ readonly 'pipeline_health.v1': 700;
46
+ };
47
+ };
48
+ /**
49
+ * Description length limits per MCP spec
50
+ */
51
+ export declare const DESCRIPTION_LIMITS: {
52
+ /** Maximum prompt description length */
53
+ readonly promptDescription: 140;
54
+ /** Maximum argument description length */
55
+ readonly argumentDescription: 80;
56
+ };
57
+ /**
58
+ * Message construction limits
59
+ */
60
+ export declare const MESSAGE_LIMITS: {
61
+ /** Maximum messages per prompt (per spec: ≤2) */
62
+ readonly maxMessagesPerPrompt: 2;
63
+ /** Maximum characters per message (per spec: ≤800) */
64
+ readonly maxCharsPerMessage: 800;
65
+ };
66
+ /**
67
+ * Web research limits for qualify_lead prompt
68
+ */
69
+ export declare const WEB_RESEARCH_LIMITS: {
70
+ /** Default number of web pages to fetch */
71
+ readonly defaultLimitWeb: 3;
72
+ /** Maximum number of web pages to fetch */
73
+ readonly maxLimitWeb: 4;
74
+ /** Maximum words per web page to process */
75
+ readonly maxWordsPerPage: 1200;
76
+ /** Maximum evidence items in output */
77
+ readonly maxEvidence: 2;
78
+ };
79
+ /**
80
+ * Pagination constants
81
+ */
82
+ export declare const PAGINATION: {
83
+ /** Text to append when results exceed limit */
84
+ readonly moreAvailableText: "MORE_AVAILABLE: true";
85
+ };
86
+ /**
87
+ * Environment variable names
88
+ */
89
+ export declare const ENV_VARS: {
90
+ /** Maximum tokens per prompt */
91
+ readonly maxPromptTokens: "MAX_PROMPT_TOKENS";
92
+ /** Enable dev metadata in prompts/get */
93
+ readonly devMeta: "MCP_DEV_META";
94
+ /** Enable prompt telemetry logging */
95
+ readonly telemetryEnabled: "PROMPT_TELEMETRY_ENABLED";
96
+ };
97
+ /**
98
+ * Check if dev metadata should be included
99
+ */
100
+ export declare function isDevMetaEnabled(): boolean;
101
+ /**
102
+ * Check if telemetry logging is enabled
103
+ */
104
+ export declare function isTelemetryEnabled(): boolean;
105
+ /**
106
+ * Get the token budget for a specific prompt
107
+ *
108
+ * @param promptName - Name of the prompt (e.g., "people_search.v1")
109
+ * @returns Token budget limit for the prompt
110
+ */
111
+ export declare function getPromptTokenBudget(promptName: string): number;
112
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/prompts/v1/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAG,IAAa,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,iEAAiE;;IAGjE,6DAA6D;;;;;;;;;;;;;CAarD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,wCAAwC;;IAExC,0CAA0C;;CAElC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,iDAAiD;;IAEjD,sDAAsD;;CAE9C,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,2CAA2C;;IAE3C,2CAA2C;;IAE3C,4CAA4C;;IAE5C,uCAAuC;;CAE/B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB,+CAA+C;;CAEvC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,gCAAgC;;IAEhC,yCAAyC;;IAEzC,sCAAsC;;CAE9B,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK/D"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Shared constants for v1 MCP prompts
3
+ *
4
+ * Defines defaults, limits, and configuration values
5
+ * per the specifications in issue #774.
6
+ */
7
+ /**
8
+ * Prompt version identifier
9
+ */
10
+ export const PROMPT_VERSION = 'v1';
11
+ /**
12
+ * Universal argument defaults for read prompts
13
+ */
14
+ export const UNIVERSAL_DEFAULTS = {
15
+ format: 'table',
16
+ fields_preset: 'sales_short',
17
+ verbosity: 'brief',
18
+ };
19
+ /**
20
+ * Default values for search/query prompts
21
+ */
22
+ export const SEARCH_DEFAULTS = {
23
+ limit: 25,
24
+ maxLimit: 100,
25
+ ownerDefault: '@me',
26
+ timeframeDefault: '30d',
27
+ };
28
+ /**
29
+ * Token budget limits (configurable via environment)
30
+ */
31
+ export const TOKEN_LIMITS = {
32
+ /** Default maximum tokens per prompt (env: MAX_PROMPT_TOKENS) */
33
+ maxPromptTokens: parseInt(process.env.MAX_PROMPT_TOKENS || '1200', 10),
34
+ /** Specific budgets for prompts that need stricter limits */
35
+ budgets: {
36
+ 'people_search.v1': 500,
37
+ 'company_search.v1': 500,
38
+ 'deal_search.v1': 500,
39
+ 'qualify_lead.v1': 400,
40
+ 'log_activity.v1': 300,
41
+ 'create_task.v1': 300,
42
+ 'advance_deal.v1': 350,
43
+ 'add_to_list.v1': 300,
44
+ 'meeting_prep.v1': 600,
45
+ 'pipeline_health.v1': 700,
46
+ },
47
+ };
48
+ /**
49
+ * Description length limits per MCP spec
50
+ */
51
+ export const DESCRIPTION_LIMITS = {
52
+ /** Maximum prompt description length */
53
+ promptDescription: 140,
54
+ /** Maximum argument description length */
55
+ argumentDescription: 80,
56
+ };
57
+ /**
58
+ * Message construction limits
59
+ */
60
+ export const MESSAGE_LIMITS = {
61
+ /** Maximum messages per prompt (per spec: ≤2) */
62
+ maxMessagesPerPrompt: 2,
63
+ /** Maximum characters per message (per spec: ≤800) */
64
+ maxCharsPerMessage: 800,
65
+ };
66
+ /**
67
+ * Web research limits for qualify_lead prompt
68
+ */
69
+ export const WEB_RESEARCH_LIMITS = {
70
+ /** Default number of web pages to fetch */
71
+ defaultLimitWeb: 3,
72
+ /** Maximum number of web pages to fetch */
73
+ maxLimitWeb: 4,
74
+ /** Maximum words per web page to process */
75
+ maxWordsPerPage: 1200,
76
+ /** Maximum evidence items in output */
77
+ maxEvidence: 2,
78
+ };
79
+ /**
80
+ * Pagination constants
81
+ */
82
+ export const PAGINATION = {
83
+ /** Text to append when results exceed limit */
84
+ moreAvailableText: 'MORE_AVAILABLE: true',
85
+ };
86
+ /**
87
+ * Environment variable names
88
+ */
89
+ export const ENV_VARS = {
90
+ /** Maximum tokens per prompt */
91
+ maxPromptTokens: 'MAX_PROMPT_TOKENS',
92
+ /** Enable dev metadata in prompts/get */
93
+ devMeta: 'MCP_DEV_META',
94
+ /** Enable prompt telemetry logging */
95
+ telemetryEnabled: 'PROMPT_TELEMETRY_ENABLED',
96
+ };
97
+ /**
98
+ * Check if dev metadata should be included
99
+ */
100
+ export function isDevMetaEnabled() {
101
+ return process.env[ENV_VARS.devMeta] === 'true';
102
+ }
103
+ /**
104
+ * Check if telemetry logging is enabled
105
+ */
106
+ export function isTelemetryEnabled() {
107
+ return process.env[ENV_VARS.telemetryEnabled] === 'true';
108
+ }
109
+ /**
110
+ * Get the token budget for a specific prompt
111
+ *
112
+ * @param promptName - Name of the prompt (e.g., "people_search.v1")
113
+ * @returns Token budget limit for the prompt
114
+ */
115
+ export function getPromptTokenBudget(promptName) {
116
+ return (TOKEN_LIMITS.budgets[promptName] ||
117
+ TOKEN_LIMITS.maxPromptTokens);
118
+ }
119
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/prompts/v1/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,OAAgB;IACxB,aAAa,EAAE,aAAsB;IACrC,SAAS,EAAE,OAAgB;CACnB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,KAAK;IACnB,gBAAgB,EAAE,KAAK;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iEAAiE;IACjE,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,EAAE,EAAE,CAAC;IAEtE,6DAA6D;IAC7D,OAAO,EAAE;QACP,kBAAkB,EAAE,GAAG;QACvB,mBAAmB,EAAE,GAAG;QACxB,gBAAgB,EAAE,GAAG;QACrB,iBAAiB,EAAE,GAAG;QACtB,iBAAiB,EAAE,GAAG;QACtB,gBAAgB,EAAE,GAAG;QACrB,iBAAiB,EAAE,GAAG;QACtB,gBAAgB,EAAE,GAAG;QACrB,iBAAiB,EAAE,GAAG;QACtB,oBAAoB,EAAE,GAAG;KAC1B;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,wCAAwC;IACxC,iBAAiB,EAAE,GAAG;IACtB,0CAA0C;IAC1C,mBAAmB,EAAE,EAAE;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,iDAAiD;IACjD,oBAAoB,EAAE,CAAC;IACvB,sDAAsD;IACtD,kBAAkB,EAAE,GAAG;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,2CAA2C;IAC3C,eAAe,EAAE,CAAC;IAClB,2CAA2C;IAC3C,WAAW,EAAE,CAAC;IACd,4CAA4C;IAC5C,eAAe,EAAE,IAAI;IACrB,uCAAuC;IACvC,WAAW,EAAE,CAAC;CACN,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,+CAA+C;IAC/C,iBAAiB,EAAE,sBAAsB;CACjC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,gCAAgC;IAChC,eAAe,EAAE,mBAAmB;IACpC,yCAAyC;IACzC,OAAO,EAAE,cAAc;IACvB,sCAAsC;IACtC,gBAAgB,EAAE,0BAA0B;CACpC,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,OAAO,CACL,YAAY,CAAC,OAAO,CAAC,UAA+C,CAAC;QACrE,YAAY,CAAC,eAAe,CAC7B,CAAC;AACJ,CAAC"}