digital-tools 2.0.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 (452) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/CHANGELOG.md +9 -0
  3. package/README.md +1144 -0
  4. package/dist/define.d.ts +109 -0
  5. package/dist/define.d.ts.map +1 -0
  6. package/dist/define.js +268 -0
  7. package/dist/define.js.map +1 -0
  8. package/dist/entities/advertising.d.ts +79 -0
  9. package/dist/entities/advertising.d.ts.map +1 -0
  10. package/dist/entities/advertising.js +1000 -0
  11. package/dist/entities/advertising.js.map +1 -0
  12. package/dist/entities/ai.d.ts +69 -0
  13. package/dist/entities/ai.d.ts.map +1 -0
  14. package/dist/entities/ai.js +757 -0
  15. package/dist/entities/ai.js.map +1 -0
  16. package/dist/entities/analytics.d.ts +83 -0
  17. package/dist/entities/analytics.d.ts.map +1 -0
  18. package/dist/entities/analytics.js +1589 -0
  19. package/dist/entities/analytics.js.map +1 -0
  20. package/dist/entities/automation.d.ts +61 -0
  21. package/dist/entities/automation.d.ts.map +1 -0
  22. package/dist/entities/automation.js +602 -0
  23. package/dist/entities/automation.js.map +1 -0
  24. package/dist/entities/communication.d.ts +96 -0
  25. package/dist/entities/communication.d.ts.map +1 -0
  26. package/dist/entities/communication.js +1151 -0
  27. package/dist/entities/communication.js.map +1 -0
  28. package/dist/entities/crm.d.ts +91 -0
  29. package/dist/entities/crm.d.ts.map +1 -0
  30. package/dist/entities/crm.js +1387 -0
  31. package/dist/entities/crm.js.map +1 -0
  32. package/dist/entities/design.d.ts +61 -0
  33. package/dist/entities/design.d.ts.map +1 -0
  34. package/dist/entities/design.js +547 -0
  35. package/dist/entities/design.js.map +1 -0
  36. package/dist/entities/development.d.ts +145 -0
  37. package/dist/entities/development.d.ts.map +1 -0
  38. package/dist/entities/development.js +2213 -0
  39. package/dist/entities/development.js.map +1 -0
  40. package/dist/entities/document.d.ts +54 -0
  41. package/dist/entities/document.d.ts.map +1 -0
  42. package/dist/entities/document.js +875 -0
  43. package/dist/entities/document.js.map +1 -0
  44. package/dist/entities/ecommerce.d.ts +93 -0
  45. package/dist/entities/ecommerce.d.ts.map +1 -0
  46. package/dist/entities/ecommerce.js +1430 -0
  47. package/dist/entities/ecommerce.js.map +1 -0
  48. package/dist/entities/experiment.d.ts +89 -0
  49. package/dist/entities/experiment.d.ts.map +1 -0
  50. package/dist/entities/experiment.js +1040 -0
  51. package/dist/entities/experiment.js.map +1 -0
  52. package/dist/entities/finance.d.ts +272 -0
  53. package/dist/entities/finance.d.ts.map +1 -0
  54. package/dist/entities/finance.js +3479 -0
  55. package/dist/entities/finance.js.map +1 -0
  56. package/dist/entities/forms.d.ts +91 -0
  57. package/dist/entities/forms.d.ts.map +1 -0
  58. package/dist/entities/forms.js +1893 -0
  59. package/dist/entities/forms.js.map +1 -0
  60. package/dist/entities/hr.d.ts +62 -0
  61. package/dist/entities/hr.d.ts.map +1 -0
  62. package/dist/entities/hr.js +662 -0
  63. package/dist/entities/hr.js.map +1 -0
  64. package/dist/entities/identity.d.ts +90 -0
  65. package/dist/entities/identity.d.ts.map +1 -0
  66. package/dist/entities/identity.js +998 -0
  67. package/dist/entities/identity.js.map +1 -0
  68. package/dist/entities/index.d.ts +410 -0
  69. package/dist/entities/index.d.ts.map +1 -0
  70. package/dist/entities/index.js +283 -0
  71. package/dist/entities/index.js.map +1 -0
  72. package/dist/entities/infrastructure.d.ts +98 -0
  73. package/dist/entities/infrastructure.d.ts.map +1 -0
  74. package/dist/entities/infrastructure.js +1154 -0
  75. package/dist/entities/infrastructure.js.map +1 -0
  76. package/dist/entities/knowledge.d.ts +98 -0
  77. package/dist/entities/knowledge.d.ts.map +1 -0
  78. package/dist/entities/knowledge.js +1439 -0
  79. package/dist/entities/knowledge.js.map +1 -0
  80. package/dist/entities/marketing.d.ts +82 -0
  81. package/dist/entities/marketing.d.ts.map +1 -0
  82. package/dist/entities/marketing.js +1611 -0
  83. package/dist/entities/marketing.js.map +1 -0
  84. package/dist/entities/media.d.ts +83 -0
  85. package/dist/entities/media.d.ts.map +1 -0
  86. package/dist/entities/media.js +1635 -0
  87. package/dist/entities/media.js.map +1 -0
  88. package/dist/entities/notification.d.ts +76 -0
  89. package/dist/entities/notification.d.ts.map +1 -0
  90. package/dist/entities/notification.js +1200 -0
  91. package/dist/entities/notification.js.map +1 -0
  92. package/dist/entities/presentation.d.ts +61 -0
  93. package/dist/entities/presentation.d.ts.map +1 -0
  94. package/dist/entities/presentation.js +1275 -0
  95. package/dist/entities/presentation.js.map +1 -0
  96. package/dist/entities/productivity.d.ts +92 -0
  97. package/dist/entities/productivity.d.ts.map +1 -0
  98. package/dist/entities/productivity.js +1318 -0
  99. package/dist/entities/productivity.js.map +1 -0
  100. package/dist/entities/project-management.d.ts +89 -0
  101. package/dist/entities/project-management.d.ts.map +1 -0
  102. package/dist/entities/project-management.js +1137 -0
  103. package/dist/entities/project-management.js.map +1 -0
  104. package/dist/entities/recruiting.d.ts +54 -0
  105. package/dist/entities/recruiting.d.ts.map +1 -0
  106. package/dist/entities/recruiting.js +737 -0
  107. package/dist/entities/recruiting.js.map +1 -0
  108. package/dist/entities/shipping.d.ts +52 -0
  109. package/dist/entities/shipping.d.ts.map +1 -0
  110. package/dist/entities/shipping.js +510 -0
  111. package/dist/entities/shipping.js.map +1 -0
  112. package/dist/entities/signature.d.ts +83 -0
  113. package/dist/entities/signature.d.ts.map +1 -0
  114. package/dist/entities/signature.js +1103 -0
  115. package/dist/entities/signature.js.map +1 -0
  116. package/dist/entities/site.d.ts +33 -0
  117. package/dist/entities/site.d.ts.map +1 -0
  118. package/dist/entities/site.js +223 -0
  119. package/dist/entities/site.js.map +1 -0
  120. package/dist/entities/spreadsheet.d.ts +68 -0
  121. package/dist/entities/spreadsheet.d.ts.map +1 -0
  122. package/dist/entities/spreadsheet.js +1342 -0
  123. package/dist/entities/spreadsheet.js.map +1 -0
  124. package/dist/entities/storage.d.ts +74 -0
  125. package/dist/entities/storage.d.ts.map +1 -0
  126. package/dist/entities/storage.js +1199 -0
  127. package/dist/entities/storage.js.map +1 -0
  128. package/dist/entities/support.d.ts +83 -0
  129. package/dist/entities/support.d.ts.map +1 -0
  130. package/dist/entities/support.js +1167 -0
  131. package/dist/entities/support.js.map +1 -0
  132. package/dist/entities/video-conferencing.d.ts +129 -0
  133. package/dist/entities/video-conferencing.d.ts.map +1 -0
  134. package/dist/entities/video-conferencing.js +1751 -0
  135. package/dist/entities/video-conferencing.js.map +1 -0
  136. package/dist/entities/video.d.ts +76 -0
  137. package/dist/entities/video.d.ts.map +1 -0
  138. package/dist/entities/video.js +951 -0
  139. package/dist/entities/video.js.map +1 -0
  140. package/dist/entities.d.ts +147 -0
  141. package/dist/entities.d.ts.map +1 -0
  142. package/dist/entities.js +1664 -0
  143. package/dist/entities.js.map +1 -0
  144. package/dist/index.d.ts +29 -0
  145. package/dist/index.d.ts.map +1 -0
  146. package/dist/index.js +75 -0
  147. package/dist/index.js.map +1 -0
  148. package/dist/providers/analytics/index.d.ts +19 -0
  149. package/dist/providers/analytics/index.d.ts.map +1 -0
  150. package/dist/providers/analytics/index.js +18 -0
  151. package/dist/providers/analytics/index.js.map +1 -0
  152. package/dist/providers/analytics/mixpanel.d.ts +25 -0
  153. package/dist/providers/analytics/mixpanel.d.ts.map +1 -0
  154. package/dist/providers/analytics/mixpanel.js +256 -0
  155. package/dist/providers/analytics/mixpanel.js.map +1 -0
  156. package/dist/providers/calendar/cal-com.d.ts +26 -0
  157. package/dist/providers/calendar/cal-com.d.ts.map +1 -0
  158. package/dist/providers/calendar/cal-com.js +304 -0
  159. package/dist/providers/calendar/cal-com.js.map +1 -0
  160. package/dist/providers/calendar/google-calendar.d.ts +25 -0
  161. package/dist/providers/calendar/google-calendar.d.ts.map +1 -0
  162. package/dist/providers/calendar/google-calendar.js +336 -0
  163. package/dist/providers/calendar/google-calendar.js.map +1 -0
  164. package/dist/providers/calendar/index.d.ts +20 -0
  165. package/dist/providers/calendar/index.d.ts.map +1 -0
  166. package/dist/providers/calendar/index.js +21 -0
  167. package/dist/providers/calendar/index.js.map +1 -0
  168. package/dist/providers/crm/hubspot.d.ts +25 -0
  169. package/dist/providers/crm/hubspot.d.ts.map +1 -0
  170. package/dist/providers/crm/hubspot.js +567 -0
  171. package/dist/providers/crm/hubspot.js.map +1 -0
  172. package/dist/providers/crm/index.d.ts +19 -0
  173. package/dist/providers/crm/index.d.ts.map +1 -0
  174. package/dist/providers/crm/index.js +18 -0
  175. package/dist/providers/crm/index.js.map +1 -0
  176. package/dist/providers/development/github.d.ts +25 -0
  177. package/dist/providers/development/github.d.ts.map +1 -0
  178. package/dist/providers/development/github.js +473 -0
  179. package/dist/providers/development/github.js.map +1 -0
  180. package/dist/providers/development/index.d.ts +19 -0
  181. package/dist/providers/development/index.d.ts.map +1 -0
  182. package/dist/providers/development/index.js +18 -0
  183. package/dist/providers/development/index.js.map +1 -0
  184. package/dist/providers/ecommerce/index.d.ts +19 -0
  185. package/dist/providers/ecommerce/index.d.ts.map +1 -0
  186. package/dist/providers/ecommerce/index.js +18 -0
  187. package/dist/providers/ecommerce/index.js.map +1 -0
  188. package/dist/providers/ecommerce/shopify.d.ts +25 -0
  189. package/dist/providers/ecommerce/shopify.d.ts.map +1 -0
  190. package/dist/providers/ecommerce/shopify.js +379 -0
  191. package/dist/providers/ecommerce/shopify.js.map +1 -0
  192. package/dist/providers/email/index.d.ts +20 -0
  193. package/dist/providers/email/index.d.ts.map +1 -0
  194. package/dist/providers/email/index.js +21 -0
  195. package/dist/providers/email/index.js.map +1 -0
  196. package/dist/providers/email/resend.d.ts +25 -0
  197. package/dist/providers/email/resend.d.ts.map +1 -0
  198. package/dist/providers/email/resend.js +259 -0
  199. package/dist/providers/email/resend.js.map +1 -0
  200. package/dist/providers/email/sendgrid.d.ts +25 -0
  201. package/dist/providers/email/sendgrid.d.ts.map +1 -0
  202. package/dist/providers/email/sendgrid.js +162 -0
  203. package/dist/providers/email/sendgrid.js.map +1 -0
  204. package/dist/providers/finance/index.d.ts +19 -0
  205. package/dist/providers/finance/index.d.ts.map +1 -0
  206. package/dist/providers/finance/index.js +18 -0
  207. package/dist/providers/finance/index.js.map +1 -0
  208. package/dist/providers/finance/stripe.d.ts +25 -0
  209. package/dist/providers/finance/stripe.d.ts.map +1 -0
  210. package/dist/providers/finance/stripe.js +550 -0
  211. package/dist/providers/finance/stripe.js.map +1 -0
  212. package/dist/providers/forms/index.d.ts +19 -0
  213. package/dist/providers/forms/index.d.ts.map +1 -0
  214. package/dist/providers/forms/index.js +18 -0
  215. package/dist/providers/forms/index.js.map +1 -0
  216. package/dist/providers/forms/typeform.d.ts +25 -0
  217. package/dist/providers/forms/typeform.d.ts.map +1 -0
  218. package/dist/providers/forms/typeform.js +501 -0
  219. package/dist/providers/forms/typeform.js.map +1 -0
  220. package/dist/providers/index.d.ts +56 -0
  221. package/dist/providers/index.d.ts.map +1 -0
  222. package/dist/providers/index.js +124 -0
  223. package/dist/providers/index.js.map +1 -0
  224. package/dist/providers/knowledge/index.d.ts +19 -0
  225. package/dist/providers/knowledge/index.d.ts.map +1 -0
  226. package/dist/providers/knowledge/index.js +18 -0
  227. package/dist/providers/knowledge/index.js.map +1 -0
  228. package/dist/providers/knowledge/notion.d.ts +25 -0
  229. package/dist/providers/knowledge/notion.d.ts.map +1 -0
  230. package/dist/providers/knowledge/notion.js +390 -0
  231. package/dist/providers/knowledge/notion.js.map +1 -0
  232. package/dist/providers/marketing/index.d.ts +19 -0
  233. package/dist/providers/marketing/index.d.ts.map +1 -0
  234. package/dist/providers/marketing/index.js +18 -0
  235. package/dist/providers/marketing/index.js.map +1 -0
  236. package/dist/providers/marketing/mailchimp.d.ts +25 -0
  237. package/dist/providers/marketing/mailchimp.d.ts.map +1 -0
  238. package/dist/providers/marketing/mailchimp.js +444 -0
  239. package/dist/providers/marketing/mailchimp.js.map +1 -0
  240. package/dist/providers/media/cloudinary.d.ts +25 -0
  241. package/dist/providers/media/cloudinary.d.ts.map +1 -0
  242. package/dist/providers/media/cloudinary.js +319 -0
  243. package/dist/providers/media/cloudinary.js.map +1 -0
  244. package/dist/providers/media/index.d.ts +19 -0
  245. package/dist/providers/media/index.d.ts.map +1 -0
  246. package/dist/providers/media/index.js +18 -0
  247. package/dist/providers/media/index.js.map +1 -0
  248. package/dist/providers/messaging/index.d.ts +24 -0
  249. package/dist/providers/messaging/index.d.ts.map +1 -0
  250. package/dist/providers/messaging/index.js +21 -0
  251. package/dist/providers/messaging/index.js.map +1 -0
  252. package/dist/providers/messaging/slack.d.ts +25 -0
  253. package/dist/providers/messaging/slack.d.ts.map +1 -0
  254. package/dist/providers/messaging/slack.js +394 -0
  255. package/dist/providers/messaging/slack.js.map +1 -0
  256. package/dist/providers/messaging/twilio-sms.d.ts +25 -0
  257. package/dist/providers/messaging/twilio-sms.d.ts.map +1 -0
  258. package/dist/providers/messaging/twilio-sms.js +250 -0
  259. package/dist/providers/messaging/twilio-sms.js.map +1 -0
  260. package/dist/providers/project-management/index.d.ts +19 -0
  261. package/dist/providers/project-management/index.d.ts.map +1 -0
  262. package/dist/providers/project-management/index.js +18 -0
  263. package/dist/providers/project-management/index.js.map +1 -0
  264. package/dist/providers/project-management/linear.d.ts +25 -0
  265. package/dist/providers/project-management/linear.d.ts.map +1 -0
  266. package/dist/providers/project-management/linear.js +576 -0
  267. package/dist/providers/project-management/linear.js.map +1 -0
  268. package/dist/providers/registry.d.ts +41 -0
  269. package/dist/providers/registry.d.ts.map +1 -0
  270. package/dist/providers/registry.js +87 -0
  271. package/dist/providers/registry.js.map +1 -0
  272. package/dist/providers/spreadsheet/google-sheets.d.ts +25 -0
  273. package/dist/providers/spreadsheet/google-sheets.d.ts.map +1 -0
  274. package/dist/providers/spreadsheet/google-sheets.js +376 -0
  275. package/dist/providers/spreadsheet/google-sheets.js.map +1 -0
  276. package/dist/providers/spreadsheet/index.d.ts +20 -0
  277. package/dist/providers/spreadsheet/index.d.ts.map +1 -0
  278. package/dist/providers/spreadsheet/index.js +21 -0
  279. package/dist/providers/spreadsheet/index.js.map +1 -0
  280. package/dist/providers/spreadsheet/xlsx.d.ts +26 -0
  281. package/dist/providers/spreadsheet/xlsx.d.ts.map +1 -0
  282. package/dist/providers/spreadsheet/xlsx.js +424 -0
  283. package/dist/providers/spreadsheet/xlsx.js.map +1 -0
  284. package/dist/providers/storage/index.d.ts +30 -0
  285. package/dist/providers/storage/index.d.ts.map +1 -0
  286. package/dist/providers/storage/index.js +25 -0
  287. package/dist/providers/storage/index.js.map +1 -0
  288. package/dist/providers/storage/s3.d.ts +25 -0
  289. package/dist/providers/storage/s3.d.ts.map +1 -0
  290. package/dist/providers/storage/s3.js +420 -0
  291. package/dist/providers/storage/s3.js.map +1 -0
  292. package/dist/providers/support/index.d.ts +19 -0
  293. package/dist/providers/support/index.d.ts.map +1 -0
  294. package/dist/providers/support/index.js +18 -0
  295. package/dist/providers/support/index.js.map +1 -0
  296. package/dist/providers/support/zendesk.d.ts +25 -0
  297. package/dist/providers/support/zendesk.d.ts.map +1 -0
  298. package/dist/providers/support/zendesk.js +374 -0
  299. package/dist/providers/support/zendesk.js.map +1 -0
  300. package/dist/providers/tasks/index.d.ts +19 -0
  301. package/dist/providers/tasks/index.d.ts.map +1 -0
  302. package/dist/providers/tasks/index.js +18 -0
  303. package/dist/providers/tasks/index.js.map +1 -0
  304. package/dist/providers/tasks/todoist.d.ts +25 -0
  305. package/dist/providers/tasks/todoist.d.ts.map +1 -0
  306. package/dist/providers/tasks/todoist.js +287 -0
  307. package/dist/providers/tasks/todoist.js.map +1 -0
  308. package/dist/providers/types.d.ts +1753 -0
  309. package/dist/providers/types.d.ts.map +1 -0
  310. package/dist/providers/types.js +10 -0
  311. package/dist/providers/types.js.map +1 -0
  312. package/dist/providers/video-conferencing/google-meet.d.ts +26 -0
  313. package/dist/providers/video-conferencing/google-meet.d.ts.map +1 -0
  314. package/dist/providers/video-conferencing/google-meet.js +287 -0
  315. package/dist/providers/video-conferencing/google-meet.js.map +1 -0
  316. package/dist/providers/video-conferencing/index.d.ts +22 -0
  317. package/dist/providers/video-conferencing/index.d.ts.map +1 -0
  318. package/dist/providers/video-conferencing/index.js +32 -0
  319. package/dist/providers/video-conferencing/index.js.map +1 -0
  320. package/dist/providers/video-conferencing/jitsi.d.ts +26 -0
  321. package/dist/providers/video-conferencing/jitsi.d.ts.map +1 -0
  322. package/dist/providers/video-conferencing/jitsi.js +255 -0
  323. package/dist/providers/video-conferencing/jitsi.js.map +1 -0
  324. package/dist/providers/video-conferencing/teams.d.ts +26 -0
  325. package/dist/providers/video-conferencing/teams.d.ts.map +1 -0
  326. package/dist/providers/video-conferencing/teams.js +271 -0
  327. package/dist/providers/video-conferencing/teams.js.map +1 -0
  328. package/dist/providers/video-conferencing/zoom.d.ts +25 -0
  329. package/dist/providers/video-conferencing/zoom.d.ts.map +1 -0
  330. package/dist/providers/video-conferencing/zoom.js +333 -0
  331. package/dist/providers/video-conferencing/zoom.js.map +1 -0
  332. package/dist/providers/voice/vapi.d.ts +27 -0
  333. package/dist/providers/voice/vapi.d.ts.map +1 -0
  334. package/dist/providers/voice/vapi.js +440 -0
  335. package/dist/providers/voice/vapi.js.map +1 -0
  336. package/dist/registry.d.ts +38 -0
  337. package/dist/registry.d.ts.map +1 -0
  338. package/dist/registry.js +129 -0
  339. package/dist/registry.js.map +1 -0
  340. package/dist/tools/communication.d.ts +94 -0
  341. package/dist/tools/communication.d.ts.map +1 -0
  342. package/dist/tools/communication.js +185 -0
  343. package/dist/tools/communication.js.map +1 -0
  344. package/dist/tools/data.d.ts +61 -0
  345. package/dist/tools/data.d.ts.map +1 -0
  346. package/dist/tools/data.js +206 -0
  347. package/dist/tools/data.js.map +1 -0
  348. package/dist/tools/index.d.ts +12 -0
  349. package/dist/tools/index.d.ts.map +1 -0
  350. package/dist/tools/index.js +12 -0
  351. package/dist/tools/index.js.map +1 -0
  352. package/dist/tools/web.d.ts +45 -0
  353. package/dist/tools/web.d.ts.map +1 -0
  354. package/dist/tools/web.js +138 -0
  355. package/dist/tools/web.js.map +1 -0
  356. package/dist/types.d.ts +330 -0
  357. package/dist/types.d.ts.map +1 -0
  358. package/dist/types.js +11 -0
  359. package/dist/types.js.map +1 -0
  360. package/package.json +45 -0
  361. package/src/define.ts +321 -0
  362. package/src/entities/advertising.ts +1086 -0
  363. package/src/entities/ai.ts +835 -0
  364. package/src/entities/analytics.ts +1690 -0
  365. package/src/entities/automation.ts +669 -0
  366. package/src/entities/communication.ts +1255 -0
  367. package/src/entities/crm.ts +1481 -0
  368. package/src/entities/design.ts +606 -0
  369. package/src/entities/development.ts +2392 -0
  370. package/src/entities/document.ts +930 -0
  371. package/src/entities/ecommerce.ts +1539 -0
  372. package/src/entities/experiment.ts +1139 -0
  373. package/src/entities/finance.ts +3907 -0
  374. package/src/entities/forms.ts +2021 -0
  375. package/src/entities/hr.ts +725 -0
  376. package/src/entities/identity.ts +1093 -0
  377. package/src/entities/index.ts +731 -0
  378. package/src/entities/infrastructure.ts +1254 -0
  379. package/src/entities/knowledge.ts +1547 -0
  380. package/src/entities/marketing.ts +1718 -0
  381. package/src/entities/media.ts +1747 -0
  382. package/src/entities/notification.ts +1260 -0
  383. package/src/entities/presentation.ts +1360 -0
  384. package/src/entities/productivity.ts +1411 -0
  385. package/src/entities/project-management.ts +1222 -0
  386. package/src/entities/recruiting.ts +797 -0
  387. package/src/entities/shipping.ts +566 -0
  388. package/src/entities/signature.ts +1204 -0
  389. package/src/entities/site.ts +244 -0
  390. package/src/entities/spreadsheet.ts +1434 -0
  391. package/src/entities/storage.ts +1290 -0
  392. package/src/entities/support.ts +1267 -0
  393. package/src/entities/video-conferencing.ts +1874 -0
  394. package/src/entities/video.ts +1035 -0
  395. package/src/entities.ts +1795 -0
  396. package/src/index.ts +176 -0
  397. package/src/providers/analytics/index.ts +21 -0
  398. package/src/providers/analytics/mixpanel.ts +311 -0
  399. package/src/providers/calendar/cal-com.ts +435 -0
  400. package/src/providers/calendar/google-calendar.ts +412 -0
  401. package/src/providers/calendar/index.ts +24 -0
  402. package/src/providers/crm/hubspot.ts +667 -0
  403. package/src/providers/crm/index.ts +21 -0
  404. package/src/providers/development/github.ts +608 -0
  405. package/src/providers/development/index.ts +21 -0
  406. package/src/providers/ecommerce/index.ts +21 -0
  407. package/src/providers/ecommerce/shopify.ts +451 -0
  408. package/src/providers/email/index.ts +24 -0
  409. package/src/providers/email/resend.ts +301 -0
  410. package/src/providers/email/sendgrid.ts +196 -0
  411. package/src/providers/finance/index.ts +21 -0
  412. package/src/providers/finance/stripe.ts +665 -0
  413. package/src/providers/forms/index.ts +21 -0
  414. package/src/providers/forms/typeform.ts +598 -0
  415. package/src/providers/index.ts +281 -0
  416. package/src/providers/knowledge/index.ts +21 -0
  417. package/src/providers/knowledge/notion.ts +497 -0
  418. package/src/providers/marketing/index.ts +21 -0
  419. package/src/providers/marketing/mailchimp.ts +656 -0
  420. package/src/providers/media/cloudinary.ts +373 -0
  421. package/src/providers/media/index.ts +21 -0
  422. package/src/providers/messaging/index.ts +24 -0
  423. package/src/providers/messaging/slack.ts +487 -0
  424. package/src/providers/messaging/twilio-sms.ts +301 -0
  425. package/src/providers/project-management/index.ts +21 -0
  426. package/src/providers/project-management/linear.ts +693 -0
  427. package/src/providers/registry.ts +119 -0
  428. package/src/providers/spreadsheet/google-sheets.ts +464 -0
  429. package/src/providers/spreadsheet/index.ts +24 -0
  430. package/src/providers/spreadsheet/xlsx.ts +542 -0
  431. package/src/providers/storage/index.ts +35 -0
  432. package/src/providers/storage/s3.ts +513 -0
  433. package/src/providers/support/index.ts +21 -0
  434. package/src/providers/support/zendesk.ts +417 -0
  435. package/src/providers/tasks/index.ts +21 -0
  436. package/src/providers/tasks/todoist.ts +407 -0
  437. package/src/providers/types.ts +2113 -0
  438. package/src/providers/video-conferencing/google-meet.ts +412 -0
  439. package/src/providers/video-conferencing/index.ts +35 -0
  440. package/src/providers/video-conferencing/jitsi.ts +324 -0
  441. package/src/providers/video-conferencing/teams.ts +408 -0
  442. package/src/providers/video-conferencing/zoom.ts +451 -0
  443. package/src/registry.ts +172 -0
  444. package/src/tools/communication.ts +256 -0
  445. package/src/tools/data.ts +236 -0
  446. package/src/tools/index.ts +12 -0
  447. package/src/tools/web.ts +161 -0
  448. package/src/types.ts +539 -0
  449. package/test/define.test.ts +367 -0
  450. package/test/registry.test.ts +444 -0
  451. package/test/tools.test.ts +453 -0
  452. package/tsconfig.json +20 -0
@@ -0,0 +1,440 @@
1
+ /**
2
+ * Vapi Voice AI Provider
3
+ *
4
+ * Concrete implementation of VoiceProvider using Vapi REST API.
5
+ * Supports voice AI for phone calls, web calls, and chat interactions.
6
+ *
7
+ * @see https://docs.vapi.ai/
8
+ * @packageDocumentation
9
+ */
10
+ import { defineProvider } from '../registry.js';
11
+ const VAPI_API_URL = 'https://api.vapi.ai';
12
+ /**
13
+ * Vapi provider info
14
+ */
15
+ export const vapiInfo = {
16
+ id: 'voice.vapi',
17
+ name: 'Vapi',
18
+ description: 'Voice AI platform for building voice agents and phone systems',
19
+ category: 'voice',
20
+ website: 'https://vapi.ai',
21
+ docsUrl: 'https://docs.vapi.ai',
22
+ requiredConfig: ['apiKey'],
23
+ optionalConfig: ['defaultAssistantId', 'defaultPhoneNumberId'],
24
+ };
25
+ /**
26
+ * Create Vapi voice provider
27
+ */
28
+ export function createVapiProvider(config) {
29
+ let apiKey;
30
+ let defaultAssistantId;
31
+ let defaultPhoneNumberId;
32
+ /**
33
+ * Make authenticated request to Vapi API
34
+ */
35
+ async function vapiRequest(endpoint, options = {}) {
36
+ const response = await fetch(`${VAPI_API_URL}${endpoint}`, {
37
+ ...options,
38
+ headers: {
39
+ 'Content-Type': 'application/json',
40
+ 'Authorization': `Bearer ${apiKey}`,
41
+ ...options.headers,
42
+ },
43
+ });
44
+ if (!response.ok) {
45
+ const errorText = await response.text();
46
+ throw new Error(`Vapi API error (${response.status}): ${errorText}`);
47
+ }
48
+ if (response.status === 204) {
49
+ return undefined;
50
+ }
51
+ return response.json();
52
+ }
53
+ /**
54
+ * Convert Vapi call to CallData
55
+ */
56
+ function toCallData(call) {
57
+ return {
58
+ id: call.id,
59
+ type: call.type,
60
+ status: call.status,
61
+ assistantId: call.assistantId,
62
+ phoneNumberId: call.phoneNumberId,
63
+ customerNumber: call.customer?.number,
64
+ customerName: call.customer?.name,
65
+ startedAt: call.startedAt ? new Date(call.startedAt) : undefined,
66
+ endedAt: call.endedAt ? new Date(call.endedAt) : undefined,
67
+ durationSeconds: call.durationSeconds,
68
+ cost: call.cost,
69
+ transcript: call.transcript,
70
+ recordingUrl: call.recordingUrl,
71
+ summary: call.summary,
72
+ analysis: call.analysis,
73
+ messages: call.messages,
74
+ createdAt: new Date(call.createdAt),
75
+ updatedAt: new Date(call.updatedAt),
76
+ };
77
+ }
78
+ /**
79
+ * Convert Vapi assistant to AssistantData
80
+ */
81
+ function toAssistantData(assistant) {
82
+ return {
83
+ id: assistant.id,
84
+ name: assistant.name,
85
+ model: assistant.model,
86
+ voice: assistant.voice,
87
+ firstMessage: assistant.firstMessage,
88
+ transcriber: assistant.transcriber,
89
+ serverUrl: assistant.serverUrl,
90
+ silenceTimeoutSeconds: assistant.silenceTimeoutSeconds,
91
+ maxDurationSeconds: assistant.maxDurationSeconds,
92
+ recordingEnabled: assistant.recordingEnabled,
93
+ createdAt: new Date(assistant.createdAt),
94
+ updatedAt: new Date(assistant.updatedAt),
95
+ };
96
+ }
97
+ /**
98
+ * Convert Vapi phone number to PhoneNumberData
99
+ */
100
+ function toPhoneNumberData(phoneNumber) {
101
+ return {
102
+ id: phoneNumber.id,
103
+ provider: phoneNumber.provider,
104
+ number: phoneNumber.number,
105
+ name: phoneNumber.name,
106
+ assistantId: phoneNumber.assistantId,
107
+ status: phoneNumber.status,
108
+ createdAt: new Date(phoneNumber.createdAt),
109
+ updatedAt: new Date(phoneNumber.updatedAt),
110
+ };
111
+ }
112
+ /**
113
+ * Convert Vapi chat to ChatData
114
+ */
115
+ function toChatData(chat) {
116
+ return {
117
+ id: chat.id,
118
+ assistantId: chat.assistantId,
119
+ status: chat.status,
120
+ messages: chat.messages?.map((m) => ({
121
+ role: m.role,
122
+ content: m.content,
123
+ createdAt: m.createdAt ? new Date(m.createdAt) : undefined,
124
+ })),
125
+ createdAt: new Date(chat.createdAt),
126
+ updatedAt: new Date(chat.updatedAt),
127
+ };
128
+ }
129
+ return {
130
+ info: vapiInfo,
131
+ async initialize(cfg) {
132
+ apiKey = cfg.apiKey;
133
+ defaultAssistantId = cfg.defaultAssistantId;
134
+ defaultPhoneNumberId = cfg.defaultPhoneNumberId;
135
+ if (!apiKey) {
136
+ throw new Error('Vapi API key is required');
137
+ }
138
+ },
139
+ async healthCheck() {
140
+ const start = Date.now();
141
+ try {
142
+ // Try to list calls to verify connectivity
143
+ await vapiRequest('/call?limit=1');
144
+ return {
145
+ healthy: true,
146
+ latencyMs: Date.now() - start,
147
+ message: 'Connected',
148
+ checkedAt: new Date(),
149
+ };
150
+ }
151
+ catch (error) {
152
+ return {
153
+ healthy: false,
154
+ latencyMs: Date.now() - start,
155
+ message: error instanceof Error ? error.message : 'Unknown error',
156
+ checkedAt: new Date(),
157
+ };
158
+ }
159
+ },
160
+ async dispose() {
161
+ // No cleanup needed
162
+ },
163
+ // ==========================================================================
164
+ // Call Operations
165
+ // ==========================================================================
166
+ async createCall(options) {
167
+ const body = {
168
+ assistantId: options.assistantId || defaultAssistantId,
169
+ };
170
+ if (options.type === 'outboundPhoneCall') {
171
+ body.phoneNumberId = options.phoneNumberId || defaultPhoneNumberId;
172
+ body.customer = {
173
+ number: options.customerNumber,
174
+ name: options.customerName,
175
+ };
176
+ }
177
+ if (options.squadId) {
178
+ body.squadId = options.squadId;
179
+ delete body.assistantId;
180
+ }
181
+ if (options.metadata) {
182
+ body.metadata = options.metadata;
183
+ }
184
+ const call = await vapiRequest('/call', {
185
+ method: 'POST',
186
+ body: JSON.stringify(body),
187
+ });
188
+ return toCallData(call);
189
+ },
190
+ async getCall(callId) {
191
+ try {
192
+ const call = await vapiRequest(`/call/${callId}`);
193
+ return toCallData(call);
194
+ }
195
+ catch (error) {
196
+ if (error instanceof Error && error.message.includes('404')) {
197
+ return null;
198
+ }
199
+ throw error;
200
+ }
201
+ },
202
+ async listCalls(options) {
203
+ const params = new URLSearchParams();
204
+ if (options?.assistantId) {
205
+ params.append('assistantId', options.assistantId);
206
+ }
207
+ if (options?.phoneNumberId) {
208
+ params.append('phoneNumberId', options.phoneNumberId);
209
+ }
210
+ if (options?.status) {
211
+ params.append('status', options.status);
212
+ }
213
+ if (options?.limit) {
214
+ params.append('limit', options.limit.toString());
215
+ }
216
+ if (options?.cursor) {
217
+ params.append('cursor', options.cursor);
218
+ }
219
+ const queryString = params.toString();
220
+ const endpoint = `/call${queryString ? `?${queryString}` : ''}`;
221
+ const response = await vapiRequest(endpoint);
222
+ return {
223
+ items: response.results.map(toCallData),
224
+ hasMore: !!response.cursor,
225
+ nextCursor: response.cursor,
226
+ };
227
+ },
228
+ async endCall(callId) {
229
+ try {
230
+ await vapiRequest(`/call/${callId}`, {
231
+ method: 'DELETE',
232
+ });
233
+ return true;
234
+ }
235
+ catch (error) {
236
+ return false;
237
+ }
238
+ },
239
+ // ==========================================================================
240
+ // Assistant Operations
241
+ // ==========================================================================
242
+ async createAssistant(options) {
243
+ const body = {
244
+ name: options.name,
245
+ model: options.model,
246
+ };
247
+ if (options.voice) {
248
+ body.voice = options.voice;
249
+ }
250
+ if (options.firstMessage) {
251
+ body.firstMessage = options.firstMessage;
252
+ }
253
+ if (options.transcriber) {
254
+ body.transcriber = options.transcriber;
255
+ }
256
+ if (options.serverUrl) {
257
+ body.serverUrl = options.serverUrl;
258
+ }
259
+ if (options.silenceTimeoutSeconds !== undefined) {
260
+ body.silenceTimeoutSeconds = options.silenceTimeoutSeconds;
261
+ }
262
+ if (options.maxDurationSeconds !== undefined) {
263
+ body.maxDurationSeconds = options.maxDurationSeconds;
264
+ }
265
+ if (options.recordingEnabled !== undefined) {
266
+ body.recordingEnabled = options.recordingEnabled;
267
+ }
268
+ const assistant = await vapiRequest('/assistant', {
269
+ method: 'POST',
270
+ body: JSON.stringify(body),
271
+ });
272
+ return toAssistantData(assistant);
273
+ },
274
+ async getAssistant(assistantId) {
275
+ try {
276
+ const assistant = await vapiRequest(`/assistant/${assistantId}`);
277
+ return toAssistantData(assistant);
278
+ }
279
+ catch (error) {
280
+ if (error instanceof Error && error.message.includes('404')) {
281
+ return null;
282
+ }
283
+ throw error;
284
+ }
285
+ },
286
+ async updateAssistant(assistantId, updates) {
287
+ const assistant = await vapiRequest(`/assistant/${assistantId}`, {
288
+ method: 'PATCH',
289
+ body: JSON.stringify(updates),
290
+ });
291
+ return toAssistantData(assistant);
292
+ },
293
+ async deleteAssistant(assistantId) {
294
+ try {
295
+ await vapiRequest(`/assistant/${assistantId}`, {
296
+ method: 'DELETE',
297
+ });
298
+ return true;
299
+ }
300
+ catch (error) {
301
+ return false;
302
+ }
303
+ },
304
+ async listAssistants(options) {
305
+ const params = new URLSearchParams();
306
+ if (options?.limit) {
307
+ params.append('limit', options.limit.toString());
308
+ }
309
+ if (options?.cursor) {
310
+ params.append('cursor', options.cursor);
311
+ }
312
+ const queryString = params.toString();
313
+ const endpoint = `/assistant${queryString ? `?${queryString}` : ''}`;
314
+ const response = await vapiRequest(endpoint);
315
+ return {
316
+ items: response.results.map(toAssistantData),
317
+ hasMore: !!response.cursor,
318
+ nextCursor: response.cursor,
319
+ };
320
+ },
321
+ // ==========================================================================
322
+ // Phone Number Operations
323
+ // ==========================================================================
324
+ async listPhoneNumbers(options) {
325
+ const params = new URLSearchParams();
326
+ if (options?.limit) {
327
+ params.append('limit', options.limit.toString());
328
+ }
329
+ if (options?.cursor) {
330
+ params.append('cursor', options.cursor);
331
+ }
332
+ const queryString = params.toString();
333
+ const endpoint = `/phone-number${queryString ? `?${queryString}` : ''}`;
334
+ const response = await vapiRequest(endpoint);
335
+ return {
336
+ items: response.results.map(toPhoneNumberData),
337
+ hasMore: !!response.cursor,
338
+ nextCursor: response.cursor,
339
+ };
340
+ },
341
+ async getPhoneNumber(phoneNumberId) {
342
+ try {
343
+ const phoneNumber = await vapiRequest(`/phone-number/${phoneNumberId}`);
344
+ return toPhoneNumberData(phoneNumber);
345
+ }
346
+ catch (error) {
347
+ if (error instanceof Error && error.message.includes('404')) {
348
+ return null;
349
+ }
350
+ throw error;
351
+ }
352
+ },
353
+ async updatePhoneNumber(phoneNumberId, updates) {
354
+ const phoneNumber = await vapiRequest(`/phone-number/${phoneNumberId}`, {
355
+ method: 'PATCH',
356
+ body: JSON.stringify(updates),
357
+ });
358
+ return toPhoneNumberData(phoneNumber);
359
+ },
360
+ // ==========================================================================
361
+ // Chat Operations
362
+ // ==========================================================================
363
+ async createChat(options) {
364
+ const body = {
365
+ assistantId: options.assistantId || defaultAssistantId,
366
+ };
367
+ if (options.systemPrompt) {
368
+ body.systemPrompt = options.systemPrompt;
369
+ }
370
+ if (options.metadata) {
371
+ body.metadata = options.metadata;
372
+ }
373
+ const chat = await vapiRequest('/chat', {
374
+ method: 'POST',
375
+ body: JSON.stringify(body),
376
+ });
377
+ return toChatData(chat);
378
+ },
379
+ async getChat(chatId) {
380
+ try {
381
+ const chat = await vapiRequest(`/chat/${chatId}`);
382
+ return toChatData(chat);
383
+ }
384
+ catch (error) {
385
+ if (error instanceof Error && error.message.includes('404')) {
386
+ return null;
387
+ }
388
+ throw error;
389
+ }
390
+ },
391
+ async sendMessage(chatId, message) {
392
+ const response = await vapiRequest(`/chat/${chatId}/completions`, {
393
+ method: 'POST',
394
+ body: JSON.stringify({
395
+ messages: [{ role: 'user', content: message }],
396
+ }),
397
+ });
398
+ return response;
399
+ },
400
+ async endChat(chatId) {
401
+ try {
402
+ await vapiRequest(`/chat/${chatId}`, {
403
+ method: 'DELETE',
404
+ });
405
+ return true;
406
+ }
407
+ catch (error) {
408
+ return false;
409
+ }
410
+ },
411
+ async listChats(options) {
412
+ const params = new URLSearchParams();
413
+ if (options?.assistantId) {
414
+ params.append('assistantId', options.assistantId);
415
+ }
416
+ if (options?.status) {
417
+ params.append('status', options.status);
418
+ }
419
+ if (options?.limit) {
420
+ params.append('limit', options.limit.toString());
421
+ }
422
+ if (options?.cursor) {
423
+ params.append('cursor', options.cursor);
424
+ }
425
+ const queryString = params.toString();
426
+ const endpoint = `/chat${queryString ? `?${queryString}` : ''}`;
427
+ const response = await vapiRequest(endpoint);
428
+ return {
429
+ items: response.results.map(toChatData),
430
+ hasMore: !!response.cursor,
431
+ nextCursor: response.cursor,
432
+ };
433
+ },
434
+ };
435
+ }
436
+ /**
437
+ * Vapi provider definition
438
+ */
439
+ export const vapiProvider = defineProvider(vapiInfo, async (config) => createVapiProvider(config));
440
+ //# sourceMappingURL=vapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vapi.js","sourceRoot":"","sources":["../../../src/providers/voice/vapi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Tool Registry - Registration and discovery for tools
3
+ *
4
+ * Provides a central registry for tools that can be used by
5
+ * both humans and AI agents.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { AnyTool, ToolRegistry, MCPTool } from './types.js';
10
+ /**
11
+ * Global tool registry instance
12
+ */
13
+ export declare const registry: ToolRegistry;
14
+ /**
15
+ * Create a new registry instance (for isolated testing or namespacing)
16
+ */
17
+ export declare function createRegistry(): ToolRegistry;
18
+ /**
19
+ * Convert a Tool to MCP format
20
+ */
21
+ export declare function toMCP(tool: AnyTool): MCPTool;
22
+ /**
23
+ * Convert all registered tools to MCP format
24
+ */
25
+ export declare function listMCPTools(reg?: ToolRegistry): MCPTool[];
26
+ /**
27
+ * Register a tool in the global registry
28
+ */
29
+ export declare function registerTool(tool: AnyTool): void;
30
+ /**
31
+ * Get a tool from the global registry
32
+ */
33
+ export declare function getTool(id: string): AnyTool | undefined;
34
+ /**
35
+ * Execute a tool by ID
36
+ */
37
+ export declare function executeTool<TInput, TOutput>(id: string, input: TInput): Promise<TOutput>;
38
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,OAAO,EAGP,YAAY,EACZ,OAAO,EACR,MAAM,YAAY,CAAA;AAyFnB;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAyC,CAAA;AAEhE;;GAEG;AACH,wBAAgB,cAAc,IAAI,YAAY,CAE7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAiB5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,YAAuB,GAAG,OAAO,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEvD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,OAAO,EAC/C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAMlB"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Tool Registry - Registration and discovery for tools
3
+ *
4
+ * Provides a central registry for tools that can be used by
5
+ * both humans and AI agents.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /**
10
+ * In-memory tool registry implementation
11
+ */
12
+ class InMemoryToolRegistry {
13
+ tools = new Map();
14
+ register(tool) {
15
+ if (this.tools.has(tool.id)) {
16
+ console.warn(`Tool "${tool.id}" already registered, overwriting`);
17
+ }
18
+ this.tools.set(tool.id, tool);
19
+ }
20
+ unregister(id) {
21
+ return this.tools.delete(id);
22
+ }
23
+ get(id) {
24
+ return this.tools.get(id);
25
+ }
26
+ has(id) {
27
+ return this.tools.has(id);
28
+ }
29
+ list() {
30
+ return Array.from(this.tools.keys());
31
+ }
32
+ query(options) {
33
+ let results = Array.from(this.tools.values());
34
+ // Filter by category
35
+ if (options.category) {
36
+ results = results.filter((t) => t.category === options.category);
37
+ }
38
+ // Filter by subcategory
39
+ if (options.subcategory) {
40
+ results = results.filter((t) => t.subcategory === options.subcategory);
41
+ }
42
+ // Filter by tags
43
+ if (options.tags && options.tags.length > 0) {
44
+ results = results.filter((t) => t.tags && options.tags.some((tag) => t.tags.includes(tag)));
45
+ }
46
+ // Filter by audience
47
+ if (options.audience) {
48
+ results = results.filter((t) => t.audience === options.audience ||
49
+ t.audience === 'both' ||
50
+ !t.audience);
51
+ }
52
+ // Text search
53
+ if (options.search) {
54
+ const search = options.search.toLowerCase();
55
+ results = results.filter((t) => t.name.toLowerCase().includes(search) ||
56
+ t.description.toLowerCase().includes(search) ||
57
+ t.id.toLowerCase().includes(search));
58
+ }
59
+ // Pagination
60
+ const offset = options.offset ?? 0;
61
+ const limit = options.limit ?? results.length;
62
+ results = results.slice(offset, offset + limit);
63
+ return results;
64
+ }
65
+ byCategory(category) {
66
+ return this.query({ category });
67
+ }
68
+ clear() {
69
+ this.tools.clear();
70
+ }
71
+ }
72
+ /**
73
+ * Global tool registry instance
74
+ */
75
+ export const registry = new InMemoryToolRegistry();
76
+ /**
77
+ * Create a new registry instance (for isolated testing or namespacing)
78
+ */
79
+ export function createRegistry() {
80
+ return new InMemoryToolRegistry();
81
+ }
82
+ /**
83
+ * Convert a Tool to MCP format
84
+ */
85
+ export function toMCP(tool) {
86
+ return {
87
+ name: tool.id,
88
+ description: tool.description,
89
+ inputSchema: {
90
+ type: 'object',
91
+ properties: Object.fromEntries(tool.parameters.map((p) => [
92
+ p.name,
93
+ typeof p.schema === 'object' && 'type' in p.schema
94
+ ? { ...p.schema, description: p.description }
95
+ : { description: p.description },
96
+ ])),
97
+ required: tool.parameters.filter((p) => p.required).map((p) => p.name),
98
+ },
99
+ };
100
+ }
101
+ /**
102
+ * Convert all registered tools to MCP format
103
+ */
104
+ export function listMCPTools(reg = registry) {
105
+ return reg.list().map((id) => toMCP(reg.get(id)));
106
+ }
107
+ /**
108
+ * Register a tool in the global registry
109
+ */
110
+ export function registerTool(tool) {
111
+ registry.register(tool);
112
+ }
113
+ /**
114
+ * Get a tool from the global registry
115
+ */
116
+ export function getTool(id) {
117
+ return registry.get(id);
118
+ }
119
+ /**
120
+ * Execute a tool by ID
121
+ */
122
+ export async function executeTool(id, input) {
123
+ const tool = registry.get(id);
124
+ if (!tool) {
125
+ throw new Error(`Tool "${id}" not found`);
126
+ }
127
+ return tool.handler(input);
128
+ }
129
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}