attio-mcp 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/CHANGELOG.md +102 -3
  2. package/README.md +77 -1
  3. package/dist/api/attio-client.d.ts +25 -5
  4. package/dist/api/attio-client.d.ts.map +1 -1
  5. package/dist/api/attio-client.js +119 -125
  6. package/dist/api/attio-client.js.map +1 -1
  7. package/dist/api/client-cache.d.ts +43 -0
  8. package/dist/api/client-cache.d.ts.map +1 -0
  9. package/dist/api/client-cache.js +71 -0
  10. package/dist/api/client-cache.js.map +1 -0
  11. package/dist/api/client-config.d.ts +53 -0
  12. package/dist/api/client-config.d.ts.map +1 -0
  13. package/dist/api/client-config.js +101 -0
  14. package/dist/api/client-config.js.map +1 -0
  15. package/dist/api/client-context.js +1 -1
  16. package/dist/api/client-context.js.map +1 -1
  17. package/dist/api/client-strategies.d.ts +76 -0
  18. package/dist/api/client-strategies.d.ts.map +1 -0
  19. package/dist/api/client-strategies.js +218 -0
  20. package/dist/api/client-strategies.js.map +1 -0
  21. package/dist/api/lazy-client.d.ts +4 -3
  22. package/dist/api/lazy-client.d.ts.map +1 -1
  23. package/dist/api/lazy-client.js +20 -8
  24. package/dist/api/lazy-client.js.map +1 -1
  25. package/dist/api/operations/notes.d.ts +3 -2
  26. package/dist/api/operations/notes.d.ts.map +1 -1
  27. package/dist/api/operations/notes.js +4 -3
  28. package/dist/api/operations/notes.js.map +1 -1
  29. package/dist/api/operations/query-parser.d.ts +27 -0
  30. package/dist/api/operations/query-parser.d.ts.map +1 -0
  31. package/dist/api/operations/query-parser.js +123 -0
  32. package/dist/api/operations/query-parser.js.map +1 -0
  33. package/dist/api/operations/search.d.ts +2 -2
  34. package/dist/api/operations/search.d.ts.map +1 -1
  35. package/dist/api/operations/search.js +77 -22
  36. package/dist/api/operations/search.js.map +1 -1
  37. package/dist/api/operations/tasks.js +9 -15
  38. package/dist/api/operations/tasks.js.map +1 -1
  39. package/dist/api/operations/workspace-members.js +9 -15
  40. package/dist/api/operations/workspace-members.js.map +1 -1
  41. package/dist/cli.js +6 -0
  42. package/dist/cli.js.map +1 -1
  43. package/dist/config/tool-aliases.d.ts +21 -0
  44. package/dist/config/tool-aliases.d.ts.map +1 -0
  45. package/dist/config/tool-aliases.js +98 -0
  46. package/dist/config/tool-aliases.js.map +1 -0
  47. package/dist/config/tool-mode.d.ts.map +1 -1
  48. package/dist/config/tool-mode.js +1 -6
  49. package/dist/config/tool-mode.js.map +1 -1
  50. package/dist/errors/enhanced-api-errors.d.ts +21 -7
  51. package/dist/errors/enhanced-api-errors.d.ts.map +1 -1
  52. package/dist/errors/enhanced-api-errors.js +18 -1
  53. package/dist/errors/enhanced-api-errors.js.map +1 -1
  54. package/dist/handlers/tool-configs/lists.d.ts +48 -0
  55. package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
  56. package/dist/handlers/tool-configs/lists.js +126 -22
  57. package/dist/handlers/tool-configs/lists.js.map +1 -1
  58. package/dist/handlers/tool-configs/openai/index.d.ts +1 -1
  59. package/dist/handlers/tool-configs/openai/index.d.ts.map +1 -1
  60. package/dist/handlers/tool-configs/openai/index.js +1 -1
  61. package/dist/handlers/tool-configs/openai/index.js.map +1 -1
  62. package/dist/handlers/tool-configs/people/crud.d.ts +5 -0
  63. package/dist/handlers/tool-configs/people/crud.d.ts.map +1 -1
  64. package/dist/handlers/tool-configs/people/crud.js +7 -2
  65. package/dist/handlers/tool-configs/people/crud.js.map +1 -1
  66. package/dist/handlers/tool-configs/people/index.d.ts +5 -0
  67. package/dist/handlers/tool-configs/people/index.d.ts.map +1 -1
  68. package/dist/handlers/tool-configs/universal/batch-search.d.ts +10 -0
  69. package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
  70. package/dist/handlers/tool-configs/universal/batch-search.js +18 -5
  71. package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
  72. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts.map +1 -1
  73. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js +39 -1
  74. package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js.map +1 -1
  75. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts +22 -0
  76. package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
  77. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts +4 -0
  78. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts.map +1 -1
  79. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +10 -4
  80. package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
  81. package/dist/handlers/tool-configs/universal/core/index.d.ts +61 -11
  82. package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
  83. package/dist/handlers/tool-configs/universal/core/index.js +10 -10
  84. package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
  85. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +8 -0
  86. package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
  87. package/dist/handlers/tool-configs/universal/core/metadata-operations.js +19 -8
  88. package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
  89. package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts +10 -4
  90. package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts.map +1 -1
  91. package/dist/handlers/tool-configs/universal/core/notes-operations.js +69 -51
  92. package/dist/handlers/tool-configs/universal/core/notes-operations.js.map +1 -1
  93. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts +5 -0
  94. package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts.map +1 -1
  95. package/dist/handlers/tool-configs/universal/core/record-details-operations.js +10 -4
  96. package/dist/handlers/tool-configs/universal/core/record-details-operations.js.map +1 -1
  97. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts +5 -0
  98. package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
  99. package/dist/handlers/tool-configs/universal/core/search-operations.js +10 -4
  100. package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
  101. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts +14 -0
  102. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts.map +1 -0
  103. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js +92 -0
  104. package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js.map +1 -0
  105. package/dist/handlers/tool-configs/universal/index.d.ts +120 -114
  106. package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
  107. package/dist/handlers/tool-configs/universal/index.js +61 -77
  108. package/dist/handlers/tool-configs/universal/index.js.map +1 -1
  109. package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
  110. package/dist/handlers/tool-configs/universal/operations/advanced-search.js +3 -3
  111. package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
  112. package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
  113. package/dist/handlers/tool-configs/universal/operations/batch-operations.js.map +1 -1
  114. package/dist/handlers/tool-configs/universal/operations/content-search.js +3 -3
  115. package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
  116. package/dist/handlers/tool-configs/universal/operations/index.d.ts +49 -10
  117. package/dist/handlers/tool-configs/universal/operations/index.d.ts.map +1 -1
  118. package/dist/handlers/tool-configs/universal/operations/index.js +47 -20
  119. package/dist/handlers/tool-configs/universal/operations/index.js.map +1 -1
  120. package/dist/handlers/tool-configs/universal/operations/operations-array.d.ts.map +1 -1
  121. package/dist/handlers/tool-configs/universal/operations/operations-array.js +3 -1
  122. package/dist/handlers/tool-configs/universal/operations/operations-array.js.map +1 -1
  123. package/dist/handlers/tool-configs/universal/operations/relationship-search.js +4 -4
  124. package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
  125. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +3 -3
  126. package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
  127. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts +43 -0
  128. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts.map +1 -1
  129. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js +55 -0
  130. package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js.map +1 -1
  131. package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts +32 -0
  132. package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts.map +1 -1
  133. package/dist/handlers/tool-configs/universal/schemas/core-schemas.js +40 -0
  134. package/dist/handlers/tool-configs/universal/schemas/core-schemas.js.map +1 -1
  135. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts +8 -2
  136. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
  137. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +9 -2
  138. package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js.map +1 -1
  139. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts +8 -0
  140. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts.map +1 -1
  141. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js +12 -0
  142. package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
  143. package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
  144. package/dist/handlers/tool-configs/universal/validators/schema-validator.js +38 -3
  145. package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
  146. package/dist/handlers/tool-configs/workspace-members.d.ts +25 -0
  147. package/dist/handlers/tool-configs/workspace-members.d.ts.map +1 -1
  148. package/dist/handlers/tool-configs/workspace-members.js +73 -40
  149. package/dist/handlers/tool-configs/workspace-members.js.map +1 -1
  150. package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
  151. package/dist/handlers/tools/dispatcher/core.js +24 -31
  152. package/dist/handlers/tools/dispatcher/core.js.map +1 -1
  153. package/dist/handlers/tools/dispatcher/logging.d.ts +2 -10
  154. package/dist/handlers/tools/dispatcher/logging.d.ts.map +1 -1
  155. package/dist/handlers/tools/dispatcher/logging.js +3 -2
  156. package/dist/handlers/tools/dispatcher/logging.js.map +1 -1
  157. package/dist/handlers/tools/index.d.ts.map +1 -1
  158. package/dist/handlers/tools/index.js +35 -39
  159. package/dist/handlers/tools/index.js.map +1 -1
  160. package/dist/handlers/tools/registry.d.ts +270 -65
  161. package/dist/handlers/tools/registry.d.ts.map +1 -1
  162. package/dist/handlers/tools/registry.js +21 -13
  163. package/dist/handlers/tools/registry.js.map +1 -1
  164. package/dist/handlers/tools/standards/index.d.ts +17 -0
  165. package/dist/handlers/tools/standards/index.d.ts.map +1 -0
  166. package/dist/handlers/tools/standards/index.js +32 -0
  167. package/dist/handlers/tools/standards/index.js.map +1 -0
  168. package/dist/middleware/performance-enhanced.d.ts +4 -0
  169. package/dist/middleware/performance-enhanced.d.ts.map +1 -1
  170. package/dist/middleware/performance-enhanced.js +63 -3
  171. package/dist/middleware/performance-enhanced.js.map +1 -1
  172. package/dist/objects/batch-companies.d.ts.map +1 -1
  173. package/dist/objects/batch-companies.js +6 -2
  174. package/dist/objects/batch-companies.js.map +1 -1
  175. package/dist/objects/companies/search.d.ts.map +1 -1
  176. package/dist/objects/companies/search.js +6 -1
  177. package/dist/objects/companies/search.js.map +1 -1
  178. package/dist/objects/notes.d.ts.map +1 -1
  179. package/dist/objects/notes.js +21 -7
  180. package/dist/objects/notes.js.map +1 -1
  181. package/dist/prompts/error-handler.d.ts +8 -2
  182. package/dist/prompts/error-handler.d.ts.map +1 -1
  183. package/dist/prompts/error-handler.js +63 -4
  184. package/dist/prompts/error-handler.js.map +1 -1
  185. package/dist/prompts/handlers.d.ts +3 -0
  186. package/dist/prompts/handlers.d.ts.map +1 -1
  187. package/dist/prompts/handlers.js +144 -47
  188. package/dist/prompts/handlers.js.map +1 -1
  189. package/dist/prompts/v1/add-to-list.v1.d.ts +38 -0
  190. package/dist/prompts/v1/add-to-list.v1.d.ts.map +1 -0
  191. package/dist/prompts/v1/add-to-list.v1.js +91 -0
  192. package/dist/prompts/v1/add-to-list.v1.js.map +1 -0
  193. package/dist/prompts/v1/advance-deal.v1.d.ts +41 -0
  194. package/dist/prompts/v1/advance-deal.v1.d.ts.map +1 -0
  195. package/dist/prompts/v1/advance-deal.v1.js +100 -0
  196. package/dist/prompts/v1/advance-deal.v1.js.map +1 -0
  197. package/dist/prompts/v1/company-search.v1.d.ts +44 -0
  198. package/dist/prompts/v1/company-search.v1.d.ts.map +1 -0
  199. package/dist/prompts/v1/company-search.v1.js +114 -0
  200. package/dist/prompts/v1/company-search.v1.js.map +1 -0
  201. package/dist/prompts/v1/constants.d.ts +112 -0
  202. package/dist/prompts/v1/constants.d.ts.map +1 -0
  203. package/dist/prompts/v1/constants.js +119 -0
  204. package/dist/prompts/v1/constants.js.map +1 -0
  205. package/dist/prompts/v1/create-task.v1.d.ts +50 -0
  206. package/dist/prompts/v1/create-task.v1.d.ts.map +1 -0
  207. package/dist/prompts/v1/create-task.v1.js +136 -0
  208. package/dist/prompts/v1/create-task.v1.js.map +1 -0
  209. package/dist/prompts/v1/deal-search.v1.d.ts +44 -0
  210. package/dist/prompts/v1/deal-search.v1.d.ts.map +1 -0
  211. package/dist/prompts/v1/deal-search.v1.js +114 -0
  212. package/dist/prompts/v1/deal-search.v1.js.map +1 -0
  213. package/dist/prompts/v1/index.d.ts +56 -0
  214. package/dist/prompts/v1/index.d.ts.map +1 -0
  215. package/dist/prompts/v1/index.js +81 -0
  216. package/dist/prompts/v1/index.js.map +1 -0
  217. package/dist/prompts/v1/log-activity.v1.d.ts +48 -0
  218. package/dist/prompts/v1/log-activity.v1.d.ts.map +1 -0
  219. package/dist/prompts/v1/log-activity.v1.js +124 -0
  220. package/dist/prompts/v1/log-activity.v1.js.map +1 -0
  221. package/dist/prompts/v1/meeting-prep.v1.d.ts +42 -0
  222. package/dist/prompts/v1/meeting-prep.v1.d.ts.map +1 -0
  223. package/dist/prompts/v1/meeting-prep.v1.js +105 -0
  224. package/dist/prompts/v1/meeting-prep.v1.js.map +1 -0
  225. package/dist/prompts/v1/people-search.v1.d.ts +45 -0
  226. package/dist/prompts/v1/people-search.v1.d.ts.map +1 -0
  227. package/dist/prompts/v1/people-search.v1.js +115 -0
  228. package/dist/prompts/v1/people-search.v1.js.map +1 -0
  229. package/dist/prompts/v1/pipeline-health.v1.d.ts +48 -0
  230. package/dist/prompts/v1/pipeline-health.v1.d.ts.map +1 -0
  231. package/dist/prompts/v1/pipeline-health.v1.js +131 -0
  232. package/dist/prompts/v1/pipeline-health.v1.js.map +1 -0
  233. package/dist/prompts/v1/qualify-lead.v1.d.ts +51 -0
  234. package/dist/prompts/v1/qualify-lead.v1.d.ts.map +1 -0
  235. package/dist/prompts/v1/qualify-lead.v1.js +157 -0
  236. package/dist/prompts/v1/qualify-lead.v1.js.map +1 -0
  237. package/dist/prompts/v1/types.d.ts +134 -0
  238. package/dist/prompts/v1/types.d.ts.map +1 -0
  239. package/dist/prompts/v1/types.js +36 -0
  240. package/dist/prompts/v1/types.js.map +1 -0
  241. package/dist/prompts/v1/utils/telemetry.d.ts +64 -0
  242. package/dist/prompts/v1/utils/telemetry.d.ts.map +1 -0
  243. package/dist/prompts/v1/utils/telemetry.js +88 -0
  244. package/dist/prompts/v1/utils/telemetry.js.map +1 -0
  245. package/dist/prompts/v1/utils/token-metadata.d.ts +43 -0
  246. package/dist/prompts/v1/utils/token-metadata.d.ts.map +1 -0
  247. package/dist/prompts/v1/utils/token-metadata.js +90 -0
  248. package/dist/prompts/v1/utils/token-metadata.js.map +1 -0
  249. package/dist/prompts/v1/utils/validation.d.ts +69 -0
  250. package/dist/prompts/v1/utils/validation.d.ts.map +1 -0
  251. package/dist/prompts/v1/utils/validation.js +140 -0
  252. package/dist/prompts/v1/utils/validation.js.map +1 -0
  253. package/dist/server/createServer.js +1 -1
  254. package/dist/services/ErrorService.d.ts +27 -0
  255. package/dist/services/ErrorService.d.ts.map +1 -1
  256. package/dist/services/ErrorService.js +92 -1
  257. package/dist/services/ErrorService.js.map +1 -1
  258. package/dist/services/UniversalUpdateService.d.ts.map +1 -1
  259. package/dist/services/UniversalUpdateService.js +32 -2
  260. package/dist/services/UniversalUpdateService.js.map +1 -1
  261. package/dist/services/create/data-normalizers.d.ts.map +1 -1
  262. package/dist/services/create/data-normalizers.js +18 -1
  263. package/dist/services/create/data-normalizers.js.map +1 -1
  264. package/dist/services/metadata/MetadataDiscoveryService.d.ts +4 -2
  265. package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
  266. package/dist/services/metadata/MetadataDiscoveryService.js +69 -157
  267. package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
  268. package/dist/services/metadata/discovery-runner.d.ts +25 -0
  269. package/dist/services/metadata/discovery-runner.d.ts.map +1 -0
  270. package/dist/services/metadata/discovery-runner.js +66 -0
  271. package/dist/services/metadata/discovery-runner.js.map +1 -0
  272. package/dist/services/metadata/task-metadata.d.ts +13 -0
  273. package/dist/services/metadata/task-metadata.d.ts.map +1 -0
  274. package/dist/services/metadata/task-metadata.js +84 -0
  275. package/dist/services/metadata/task-metadata.js.map +1 -0
  276. package/dist/services/normalizers/AttributeAwareNormalizer.d.ts.map +1 -1
  277. package/dist/services/normalizers/AttributeAwareNormalizer.js +99 -5
  278. package/dist/services/normalizers/AttributeAwareNormalizer.js.map +1 -1
  279. package/dist/services/normalizers/PhoneNormalizer.d.ts +2 -2
  280. package/dist/services/normalizers/PhoneNormalizer.d.ts.map +1 -1
  281. package/dist/services/normalizers/PhoneNormalizer.js +1 -7
  282. package/dist/services/normalizers/PhoneNormalizer.js.map +1 -1
  283. package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
  284. package/dist/services/search-strategies/CompanySearchStrategy.js +10 -4
  285. package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
  286. package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
  287. package/dist/services/search-strategies/PeopleSearchStrategy.js +21 -15
  288. package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
  289. package/dist/services/search-strategies/query-filter-builder.d.ts +5 -0
  290. package/dist/services/search-strategies/query-filter-builder.d.ts.map +1 -0
  291. package/dist/services/search-strategies/query-filter-builder.js +129 -0
  292. package/dist/services/search-strategies/query-filter-builder.js.map +1 -0
  293. package/dist/services/utils/attribute-metadata.d.ts +7 -0
  294. package/dist/services/utils/attribute-metadata.d.ts.map +1 -0
  295. package/dist/services/utils/attribute-metadata.js +84 -0
  296. package/dist/services/utils/attribute-metadata.js.map +1 -0
  297. package/dist/smithery.d.ts +3 -0
  298. package/dist/smithery.d.ts.map +1 -1
  299. package/dist/smithery.js +18 -0
  300. package/dist/smithery.js.map +1 -1
  301. package/dist/types/attio.d.ts +32 -11
  302. package/dist/types/attio.d.ts.map +1 -1
  303. package/dist/types/attio.js.map +1 -1
  304. package/dist/types/list-types.d.ts +2 -0
  305. package/dist/types/list-types.d.ts.map +1 -1
  306. package/dist/types/list-types.js.map +1 -1
  307. package/dist/utils/attribute-format-helpers.d.ts.map +1 -1
  308. package/dist/utils/attribute-format-helpers.js +22 -0
  309. package/dist/utils/attribute-format-helpers.js.map +1 -1
  310. package/dist/utils/axios-error-mapper.d.ts +1 -0
  311. package/dist/utils/axios-error-mapper.d.ts.map +1 -1
  312. package/dist/utils/axios-error-mapper.js.map +1 -1
  313. package/dist/utils/client-resolver.d.ts +3 -3
  314. package/dist/utils/client-resolver.d.ts.map +1 -1
  315. package/dist/utils/client-resolver.js +28 -21
  316. package/dist/utils/client-resolver.js.map +1 -1
  317. package/dist/utils/error-handler.js +2 -2
  318. package/dist/utils/error-handler.js.map +1 -1
  319. package/dist/utils/error-sanitizer.d.ts.map +1 -1
  320. package/dist/utils/error-sanitizer.js +52 -3
  321. package/dist/utils/error-sanitizer.js.map +1 -1
  322. package/dist/utils/json-serializer.d.ts.map +1 -1
  323. package/dist/utils/json-serializer.js +55 -6
  324. package/dist/utils/json-serializer.js.map +1 -1
  325. package/dist/utils/log-sanitizer.d.ts +14 -0
  326. package/dist/utils/log-sanitizer.d.ts.map +1 -0
  327. package/dist/utils/log-sanitizer.js +248 -0
  328. package/dist/utils/log-sanitizer.js.map +1 -0
  329. package/dist/utils/logger.d.ts +15 -9
  330. package/dist/utils/logger.d.ts.map +1 -1
  331. package/dist/utils/logger.js +74 -42
  332. package/dist/utils/logger.js.map +1 -1
  333. package/dist/utils/mcp-discovery.d.ts +16 -0
  334. package/dist/utils/mcp-discovery.d.ts.map +1 -0
  335. package/dist/utils/mcp-discovery.js +36 -0
  336. package/dist/utils/mcp-discovery.js.map +1 -0
  337. package/dist/utils/secure-error-handler.d.ts +16 -1
  338. package/dist/utils/secure-error-handler.d.ts.map +1 -1
  339. package/dist/utils/secure-error-handler.js +91 -12
  340. package/dist/utils/secure-error-handler.js.map +1 -1
  341. package/dist/utils/token-count.d.ts +5 -0
  342. package/dist/utils/token-count.d.ts.map +1 -0
  343. package/dist/utils/token-count.js +97 -0
  344. package/dist/utils/token-count.js.map +1 -0
  345. package/dist/utils/token-footprint-analyzer.d.ts +46 -0
  346. package/dist/utils/token-footprint-analyzer.d.ts.map +1 -0
  347. package/dist/utils/token-footprint-analyzer.js +221 -0
  348. package/dist/utils/token-footprint-analyzer.js.map +1 -0
  349. package/dist/utils/validation/phone-validation.d.ts +25 -0
  350. package/dist/utils/validation/phone-validation.d.ts.map +1 -0
  351. package/dist/utils/validation/phone-validation.js +132 -0
  352. package/dist/utils/validation/phone-validation.js.map +1 -0
  353. package/dist/utils/validation/uuid-validation.d.ts.map +1 -1
  354. package/dist/utils/validation/uuid-validation.js +1 -0
  355. package/dist/utils/validation/uuid-validation.js.map +1 -1
  356. package/package.json +20 -2
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Create Task v1 Prompt
3
+ *
4
+ * Create a task linked to record(s); natural-language due date; priority/owner.
5
+ */
6
+ import { z } from 'zod';
7
+ import { DryRunArg } from './types.js';
8
+ /**
9
+ * Argument schema for create_task.v1
10
+ */
11
+ export const CreateTaskArgs = z.object({
12
+ title: z.string().min(3).describe('Task title/subject'),
13
+ content: z.string().min(5).describe('Task description/details'),
14
+ target: z
15
+ .string()
16
+ .optional()
17
+ .describe('Optional: Attio URL, record ID, or "search:<query>" to link task to'),
18
+ due_date: z
19
+ .string()
20
+ .optional()
21
+ .describe('Natural language due date (e.g., "tomorrow", "next Friday")'),
22
+ priority: z
23
+ .enum(['low', 'medium', 'high'])
24
+ .optional()
25
+ .default('medium')
26
+ .describe('Task priority'),
27
+ owner: z
28
+ .string()
29
+ .optional()
30
+ .default('@me')
31
+ .describe('Task assignee (default @me)'),
32
+ dry_run: DryRunArg,
33
+ });
34
+ /**
35
+ * Argument definitions for registration
36
+ */
37
+ export const createTaskArguments = [
38
+ {
39
+ name: 'title',
40
+ description: 'Task title/subject',
41
+ required: true,
42
+ schema: z.string().min(3),
43
+ },
44
+ {
45
+ name: 'content',
46
+ description: 'Task description/details',
47
+ required: true,
48
+ schema: z.string().min(5),
49
+ },
50
+ {
51
+ name: 'target',
52
+ description: 'Optional: Record to link task to',
53
+ required: false,
54
+ schema: z.string(),
55
+ },
56
+ {
57
+ name: 'due_date',
58
+ description: 'Natural language due date',
59
+ required: false,
60
+ schema: z.string(),
61
+ },
62
+ {
63
+ name: 'priority',
64
+ description: 'low | medium | high (default medium)',
65
+ required: false,
66
+ schema: z.enum(['low', 'medium', 'high']),
67
+ default: 'medium',
68
+ },
69
+ {
70
+ name: 'owner',
71
+ description: 'Task assignee (default @me)',
72
+ required: false,
73
+ schema: z.string(),
74
+ default: '@me',
75
+ },
76
+ {
77
+ name: 'dry_run',
78
+ description: "Only propose, don't execute (default false)",
79
+ required: false,
80
+ schema: z.boolean(),
81
+ default: false,
82
+ },
83
+ ];
84
+ /**
85
+ * Build prompt messages for creating task
86
+ */
87
+ export function buildCreateTaskMessages(args) {
88
+ const validated = CreateTaskArgs.parse(args);
89
+ const targetResolution = validated.target
90
+ ? `\n1. Resolve target: If target="${validated.target}" starts with "search:", call \`records_query\` to find one record. If multiple matches, disambiguate.`
91
+ : '';
92
+ const dueDateParsing = validated.due_date
93
+ ? `\n- Parse due_date="${validated.due_date}" into ISO date format`
94
+ : '';
95
+ const instructions = `You are a CRM assistant. Create a task with:
96
+ - Title: "${validated.title}"
97
+ - Content: "${validated.content}"
98
+ - Priority: ${validated.priority}
99
+ - Owner: ${validated.owner}${dueDateParsing}${targetResolution}
100
+
101
+ ${targetResolution ? '2' : '1'}. Call \`tasks.create\` with:
102
+ - title, content (required)
103
+ - assignees: [owner]
104
+ - deadline: parsed due_date (if provided)
105
+ - linked_records: [resolved target] (if provided)
106
+
107
+ ${validated.dry_run ? 'DRY RUN MODE: Output proposed tool call as JSON only. Do NOT execute write.' : 'Execute the task creation after showing proposed action.'}
108
+
109
+ Confirm completion or show proposed task.`;
110
+ return [
111
+ {
112
+ role: 'user',
113
+ content: {
114
+ type: 'text',
115
+ text: instructions,
116
+ },
117
+ },
118
+ ];
119
+ }
120
+ /**
121
+ * Complete prompt definition
122
+ */
123
+ export const createTaskPrompt = {
124
+ metadata: {
125
+ name: 'create_task.v1',
126
+ title: 'Create follow-up task',
127
+ description: 'Create a task linked to record(s); natural-language due date; priority/owner.',
128
+ category: 'activity',
129
+ version: 'v1',
130
+ },
131
+ arguments: createTaskArguments,
132
+ buildMessages: buildCreateTaskMessages,
133
+ tokenBudget: 300, // Per spec
134
+ };
135
+ export default createTaskPrompt;
136
+ //# sourceMappingURL=create-task.v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-task.v1.js","sourceRoot":"","sources":["../../../src/prompts/v1/create-task.v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Deal Search v1 Prompt
3
+ *
4
+ * Filter deals by owner, stage, value, close date window; output summary table.
5
+ */
6
+ import { z } from 'zod';
7
+ import { PromptV1Definition, PromptMessage, PromptArgument } from './types.js';
8
+ /**
9
+ * Argument schema for deal_search.v1
10
+ */
11
+ export declare const DealSearchArgs: 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 DealSearchArgsType = z.infer<typeof DealSearchArgs>;
31
+ /**
32
+ * Argument definitions for registration
33
+ */
34
+ export declare const dealSearchArguments: PromptArgument[];
35
+ /**
36
+ * Build prompt messages for deal search
37
+ */
38
+ export declare function buildDealSearchMessages(args: Record<string, unknown>): PromptMessage[];
39
+ /**
40
+ * Complete prompt definition
41
+ */
42
+ export declare const dealSearchPrompt: PromptV1Definition;
43
+ export default dealSearchPrompt;
44
+ //# sourceMappingURL=deal-search.v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deal-search.v1.d.ts","sourceRoot":"","sources":["../../../src/prompts/v1/deal-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,cAAc;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAmC/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,aAAa,EAAE,CA8BjB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBAY9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Deal Search v1 Prompt
3
+ *
4
+ * Filter deals by owner, stage, value, close date window; output summary table.
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 deal_search.v1
11
+ */
12
+ export const DealSearchArgs = z.object({
13
+ query: z
14
+ .string()
15
+ .min(3)
16
+ .describe("Search query (e.g., 'deals > $50k closing this quarter')"),
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 dealSearchArguments = [
31
+ {
32
+ name: 'query',
33
+ description: "E.g., 'deals > $50k closing this quarter'",
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 deal search
68
+ */
69
+ export function buildDealSearchMessages(args) {
70
+ const validated = DealSearchArgs.parse(args);
71
+ const instructions = `Call \`records_query\` for object='deals' with filters derived from "${validated.query}".
72
+
73
+ Output format=${validated.format}:
74
+ - If table: Markdown table with columns: id, name, stage, value, close_date, owner, company (max ${validated.limit} rows)
75
+ - If json: Structured array with same fields
76
+ - If ids: Comma-separated list of deal IDs only
77
+
78
+ Fields preset=${validated.fields_preset}:
79
+ - sales_short: Only id, name, stage, value, close_date, owner, company (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 advancing/updating deals.
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 dealSearchPrompt = {
102
+ metadata: {
103
+ name: 'deal_search.v1',
104
+ title: 'Find deals',
105
+ description: 'Filter deals by owner, stage, value, close date window. Returns summary table with key deal metrics.',
106
+ category: 'search',
107
+ version: 'v1',
108
+ },
109
+ arguments: dealSearchArguments,
110
+ buildMessages: buildDealSearchMessages,
111
+ tokenBudget: 500, // Per spec
112
+ };
113
+ export default dealSearchPrompt;
114
+ //# sourceMappingURL=deal-search.v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deal-search.v1.js","sourceRoot":"","sources":["../../../src/prompts/v1/deal-search.v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * V1 Prompts Registry
3
+ *
4
+ * Central registry for all v1 MCP prompts. Exports the catalog and
5
+ * provides lookup functions for handlers.
6
+ */
7
+ import { PromptV1Definition } from './types.js';
8
+ import peopleSearchPrompt from './people-search.v1.js';
9
+ import companySearchPrompt from './company-search.v1.js';
10
+ import dealSearchPrompt from './deal-search.v1.js';
11
+ import meetingPrepPrompt from './meeting-prep.v1.js';
12
+ import pipelineHealthPrompt from './pipeline-health.v1.js';
13
+ import logActivityPrompt from './log-activity.v1.js';
14
+ import createTaskPrompt from './create-task.v1.js';
15
+ import advanceDealPrompt from './advance-deal.v1.js';
16
+ import addToListPrompt from './add-to-list.v1.js';
17
+ import qualifyLeadPrompt from './qualify-lead.v1.js';
18
+ /**
19
+ * Complete v1 prompts catalog (10 prompts)
20
+ */
21
+ export declare const v1PromptsCatalog: PromptV1Definition[];
22
+ /**
23
+ * Get a v1 prompt by name
24
+ *
25
+ * @param name - Prompt name (e.g., "people_search.v1")
26
+ * @returns Prompt definition or undefined if not found
27
+ */
28
+ export declare function getPromptV1ByName(name: string): PromptV1Definition | undefined;
29
+ /**
30
+ * Get all v1 prompts
31
+ *
32
+ * @returns Array of all v1 prompt definitions
33
+ */
34
+ export declare function getAllPromptsV1(): PromptV1Definition[];
35
+ /**
36
+ * Get v1 prompts by category
37
+ *
38
+ * @param category - Category to filter by
39
+ * @returns Array of prompts in the category
40
+ */
41
+ export declare function getPromptsV1ByCategory(category: string): PromptV1Definition[];
42
+ /**
43
+ * Get all v1 prompt names
44
+ *
45
+ * @returns Array of prompt names
46
+ */
47
+ export declare function getV1PromptNames(): string[];
48
+ /**
49
+ * Check if a prompt name is a v1 prompt
50
+ *
51
+ * @param name - Prompt name to check
52
+ * @returns True if this is a v1 prompt
53
+ */
54
+ export declare function isV1Prompt(name: string): boolean;
55
+ export { peopleSearchPrompt, companySearchPrompt, dealSearchPrompt, meetingPrepPrompt, pipelineHealthPrompt, logActivityPrompt, createTaskPrompt, advanceDealPrompt, addToListPrompt, qualifyLeadPrompt, };
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/v1/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AACzD,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,EAgBhD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX,kBAAkB,GAAG,SAAS,CAEhC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,kBAAkB,EAAE,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAGD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * V1 Prompts Registry
3
+ *
4
+ * Central registry for all v1 MCP prompts. Exports the catalog and
5
+ * provides lookup functions for handlers.
6
+ */
7
+ // Import all v1 prompts
8
+ import peopleSearchPrompt from './people-search.v1.js';
9
+ import companySearchPrompt from './company-search.v1.js';
10
+ import dealSearchPrompt from './deal-search.v1.js';
11
+ import meetingPrepPrompt from './meeting-prep.v1.js';
12
+ import pipelineHealthPrompt from './pipeline-health.v1.js';
13
+ import logActivityPrompt from './log-activity.v1.js';
14
+ import createTaskPrompt from './create-task.v1.js';
15
+ import advanceDealPrompt from './advance-deal.v1.js';
16
+ import addToListPrompt from './add-to-list.v1.js';
17
+ import qualifyLeadPrompt from './qualify-lead.v1.js';
18
+ /**
19
+ * Complete v1 prompts catalog (10 prompts)
20
+ */
21
+ export const v1PromptsCatalog = [
22
+ // Search prompts (Phase 2)
23
+ peopleSearchPrompt,
24
+ companySearchPrompt,
25
+ dealSearchPrompt,
26
+ meetingPrepPrompt,
27
+ pipelineHealthPrompt,
28
+ // Activity/Write prompts (Phase 3)
29
+ logActivityPrompt,
30
+ createTaskPrompt,
31
+ advanceDealPrompt,
32
+ addToListPrompt,
33
+ // Complex analysis prompt (Phase 4)
34
+ qualifyLeadPrompt,
35
+ ];
36
+ /**
37
+ * Get a v1 prompt by name
38
+ *
39
+ * @param name - Prompt name (e.g., "people_search.v1")
40
+ * @returns Prompt definition or undefined if not found
41
+ */
42
+ export function getPromptV1ByName(name) {
43
+ return v1PromptsCatalog.find((p) => p.metadata.name === name);
44
+ }
45
+ /**
46
+ * Get all v1 prompts
47
+ *
48
+ * @returns Array of all v1 prompt definitions
49
+ */
50
+ export function getAllPromptsV1() {
51
+ return v1PromptsCatalog;
52
+ }
53
+ /**
54
+ * Get v1 prompts by category
55
+ *
56
+ * @param category - Category to filter by
57
+ * @returns Array of prompts in the category
58
+ */
59
+ export function getPromptsV1ByCategory(category) {
60
+ return v1PromptsCatalog.filter((p) => p.metadata.category === category);
61
+ }
62
+ /**
63
+ * Get all v1 prompt names
64
+ *
65
+ * @returns Array of prompt names
66
+ */
67
+ export function getV1PromptNames() {
68
+ return v1PromptsCatalog.map((p) => p.metadata.name);
69
+ }
70
+ /**
71
+ * Check if a prompt name is a v1 prompt
72
+ *
73
+ * @param name - Prompt name to check
74
+ * @returns True if this is a v1 prompt
75
+ */
76
+ export function isV1Prompt(name) {
77
+ return name.endsWith('.v1');
78
+ }
79
+ // Export all prompts individually for direct imports if needed
80
+ export { peopleSearchPrompt, companySearchPrompt, dealSearchPrompt, meetingPrepPrompt, pipelineHealthPrompt, logActivityPrompt, createTaskPrompt, advanceDealPrompt, addToListPrompt, qualifyLeadPrompt, };
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/v1/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAwB;AACxB,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AACzD,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAyB;IACpD,2BAA2B;IAC3B,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IAEpB,mCAAmC;IACnC,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IAEf,oCAAoC;IACpC,iBAAiB;CAClB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY;IAEZ,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,+DAA+D;AAC/D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Log Activity v1 Prompt
3
+ *
4
+ * Append a call/meeting note/email summary to a Person, Company, or Deal
5
+ * by URL/ID or quick search.
6
+ */
7
+ import { z } from 'zod';
8
+ import { PromptV1Definition, PromptMessage, PromptArgument } from './types.js';
9
+ /**
10
+ * Argument schema for log_activity.v1
11
+ */
12
+ export declare const LogActivityArgs: z.ZodObject<{
13
+ target: z.ZodString;
14
+ type: z.ZodEnum<["call", "meeting", "email", "note"]>;
15
+ summary: z.ZodString;
16
+ visibility: z.ZodDefault<z.ZodOptional<z.ZodEnum<["internal", "shared"]>>>;
17
+ create_follow_up: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
18
+ dry_run: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ type: "email" | "note" | "meeting" | "call";
21
+ target: string;
22
+ visibility: "internal" | "shared";
23
+ summary: string;
24
+ create_follow_up: boolean;
25
+ dry_run: boolean;
26
+ }, {
27
+ type: "email" | "note" | "meeting" | "call";
28
+ target: string;
29
+ summary: string;
30
+ visibility?: "internal" | "shared" | undefined;
31
+ create_follow_up?: boolean | undefined;
32
+ dry_run?: boolean | undefined;
33
+ }>;
34
+ export type LogActivityArgsType = z.infer<typeof LogActivityArgs>;
35
+ /**
36
+ * Argument definitions for registration
37
+ */
38
+ export declare const logActivityArguments: PromptArgument[];
39
+ /**
40
+ * Build prompt messages for logging activity
41
+ */
42
+ export declare function buildLogActivityMessages(args: Record<string, unknown>): PromptMessage[];
43
+ /**
44
+ * Complete prompt definition
45
+ */
46
+ export declare const logActivityPrompt: PromptV1Definition;
47
+ export default logActivityPrompt;
48
+ //# sourceMappingURL=log-activity.v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-activity.v1.d.ts","sourceRoot":"","sources":["../../../src/prompts/v1/log-activity.v1.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;;;;;;;;;;;;;;;;;;;;;EAoB1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAwChD,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,aAAa,EAAE,CA6BjB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAY/B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Log Activity v1 Prompt
3
+ *
4
+ * Append a call/meeting note/email summary to a Person, Company, or Deal
5
+ * by URL/ID or quick search.
6
+ */
7
+ import { z } from 'zod';
8
+ import { DryRunArg } from './types.js';
9
+ /**
10
+ * Argument schema for log_activity.v1
11
+ */
12
+ export const LogActivityArgs = z.object({
13
+ target: z
14
+ .string()
15
+ .min(3)
16
+ .describe('Attio URL, record ID, or "search:<query>"'),
17
+ type: z
18
+ .enum(['call', 'meeting', 'email', 'note'])
19
+ .describe('Type of activity to log'),
20
+ summary: z.string().min(5).describe('Plain-text synopsis of the activity'),
21
+ visibility: z
22
+ .enum(['internal', 'shared'])
23
+ .optional()
24
+ .default('internal')
25
+ .describe('Visibility setting'),
26
+ create_follow_up: z
27
+ .boolean()
28
+ .optional()
29
+ .default(false)
30
+ .describe('If true, prompt will suggest a follow-up task'),
31
+ dry_run: DryRunArg,
32
+ });
33
+ /**
34
+ * Argument definitions for registration
35
+ */
36
+ export const logActivityArguments = [
37
+ {
38
+ name: 'target',
39
+ description: 'Attio URL, ID, or "search:<query>"',
40
+ required: true,
41
+ schema: z.string().min(3),
42
+ },
43
+ {
44
+ name: 'type',
45
+ description: 'call | meeting | email | note',
46
+ required: true,
47
+ schema: z.enum(['call', 'meeting', 'email', 'note']),
48
+ },
49
+ {
50
+ name: 'summary',
51
+ description: 'Plain-text activity synopsis',
52
+ required: true,
53
+ schema: z.string().min(5),
54
+ },
55
+ {
56
+ name: 'visibility',
57
+ description: 'internal | shared (default internal)',
58
+ required: false,
59
+ schema: z.enum(['internal', 'shared']),
60
+ default: 'internal',
61
+ },
62
+ {
63
+ name: 'create_follow_up',
64
+ description: 'Suggest follow-up task (default false)',
65
+ required: false,
66
+ schema: z.boolean(),
67
+ default: false,
68
+ },
69
+ {
70
+ name: 'dry_run',
71
+ description: "Only propose, don't execute (default false)",
72
+ required: false,
73
+ schema: z.boolean(),
74
+ default: false,
75
+ },
76
+ ];
77
+ /**
78
+ * Build prompt messages for logging activity
79
+ */
80
+ export function buildLogActivityMessages(args) {
81
+ const validated = LogActivityArgs.parse(args);
82
+ const instructions = `You are a CRM assistant. Log a ${validated.type} activity to "${validated.target}".
83
+
84
+ Steps:
85
+ 1. Resolve target: If starts with "search:", call \`records_query\` to find one record (prefer exact domain/email or name match). If multiple matches, list up to 5 for disambiguation and STOP.
86
+
87
+ 2. Create activity note: Call \`notes.create\` (or appropriate write tool) with:
88
+ - Type: ${validated.type}
89
+ - Summary: "${validated.summary}"
90
+ - Visibility: ${validated.visibility}
91
+ - Link to resolved record
92
+
93
+ 3. ${validated.create_follow_up ? 'Suggest a concrete follow-up task and, only on approval, call `tasks.create`.' : 'No follow-up task needed.'}
94
+
95
+ ${validated.dry_run ? 'DRY RUN MODE: Output proposed tool calls as JSON only. Do NOT execute writes.' : 'Execute the writes after showing proposed actions.'}
96
+
97
+ Keep response concise. Confirm completion or show proposed changes.`;
98
+ return [
99
+ {
100
+ role: 'user',
101
+ content: {
102
+ type: 'text',
103
+ text: instructions,
104
+ },
105
+ },
106
+ ];
107
+ }
108
+ /**
109
+ * Complete prompt definition
110
+ */
111
+ export const logActivityPrompt = {
112
+ metadata: {
113
+ name: 'log_activity.v1',
114
+ title: 'Log a call or note',
115
+ description: 'Append a call/meeting note/email summary to a Person, Company, or Deal. Asks for confirmation before write.',
116
+ category: 'activity',
117
+ version: 'v1',
118
+ },
119
+ arguments: logActivityArguments,
120
+ buildMessages: buildLogActivityMessages,
121
+ tokenBudget: 300, // Per spec
122
+ };
123
+ export default logActivityPrompt;
124
+ //# sourceMappingURL=log-activity.v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-activity.v1.js","sourceRoot":"","sources":["../../../src/prompts/v1/log-activity.v1.ts"],"names":[],"mappings":"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"}