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
package/src/index.ts ADDED
@@ -0,0 +1,176 @@
1
+ /**
2
+ * digital-tools - Tools that can be used by both humans and AI agents
3
+ *
4
+ * This package provides:
5
+ * - Core Tool interface and types
6
+ * - Tool ontology/categories for organization
7
+ * - Tool registry for registration and discovery
8
+ * - Tool definition helpers with type safety
9
+ * - Common pre-built tool implementations
10
+ * - MCP (Model Context Protocol) compatibility
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+
15
+ // Export all types
16
+ export type * from './types.js'
17
+
18
+ // Re-export AnyTool as a convenience value export
19
+ export type { AnyTool, Tool, ToolCategory, ToolSubcategory, ToolRegistry } from './types.js'
20
+
21
+ // Export entity type definitions (Nouns for digital tools)
22
+ export {
23
+ // Email
24
+ Email,
25
+ EmailThread,
26
+
27
+ // Spreadsheet
28
+ Spreadsheet,
29
+ Sheet,
30
+ Cell,
31
+
32
+ // Document
33
+ Document,
34
+
35
+ // Presentation
36
+ Presentation,
37
+ Slide,
38
+
39
+ // Phone
40
+ PhoneCall,
41
+ Voicemail,
42
+
43
+ // Team Messaging (Slack/Teams/Discord equivalent)
44
+ Workspace,
45
+ Channel,
46
+ Message,
47
+ Thread,
48
+ DirectMessage,
49
+ Member,
50
+ Reaction,
51
+
52
+ // Supporting
53
+ Attachment,
54
+ Contact,
55
+ Comment,
56
+ Revision,
57
+
58
+ // Collections
59
+ DigitalToolEntities,
60
+ DigitalToolCategories,
61
+ } from './entities.js'
62
+
63
+ // Export registry
64
+ export {
65
+ registry,
66
+ createRegistry,
67
+ registerTool,
68
+ getTool,
69
+ executeTool,
70
+ toMCP,
71
+ listMCPTools,
72
+ } from './registry.js'
73
+
74
+ // Export tool definition helpers
75
+ export {
76
+ defineTool,
77
+ defineAndRegister,
78
+ createToolExecutor,
79
+ toolBuilder,
80
+ } from './define.js'
81
+
82
+ // Export pre-built tools
83
+ export {
84
+ // Web tools
85
+ fetchUrl,
86
+ parseHtml,
87
+ readUrl,
88
+ webTools,
89
+
90
+ // Data tools
91
+ parseJson,
92
+ stringifyJson,
93
+ parseCsv,
94
+ transformData,
95
+ filterData,
96
+ dataTools,
97
+
98
+ // Communication tools
99
+ sendEmail,
100
+ sendSlackMessage,
101
+ sendNotification,
102
+ sendSms,
103
+ communicationTools,
104
+ } from './tools/index.js'
105
+
106
+ // Export providers (concrete implementations using third-party APIs)
107
+ export {
108
+ // Provider types and registry
109
+ type EmailProvider,
110
+ type MessagingProvider,
111
+ type SmsProvider,
112
+ type SpreadsheetProvider,
113
+ type DocumentProvider,
114
+ type PresentationProvider,
115
+ type PhoneProvider,
116
+ type ProviderConfig,
117
+ type ProviderInfo,
118
+ type ProviderCategory,
119
+ type BaseProvider,
120
+
121
+ // Provider registry
122
+ providerRegistry,
123
+ createProviderRegistry,
124
+ registerProvider,
125
+ getProvider,
126
+ createProvider,
127
+ listProviders,
128
+ defineProvider,
129
+
130
+ // Email providers
131
+ sendgridProvider,
132
+ resendProvider,
133
+ createSendGridProvider,
134
+ createResendProvider,
135
+
136
+ // Messaging providers
137
+ slackProvider,
138
+ twilioSmsProvider,
139
+ createSlackProvider,
140
+ createTwilioSmsProvider,
141
+
142
+ // Spreadsheet providers
143
+ xlsxProvider,
144
+ googleSheetsProvider,
145
+ createXlsxProvider,
146
+ createGoogleSheetsProvider,
147
+
148
+ // Registration helpers
149
+ registerAllProviders,
150
+ registerEmailProviders,
151
+ registerMessagingProviders,
152
+ registerSpreadsheetProviders,
153
+ allProviders,
154
+ } from './providers/index.js'
155
+
156
+ // Convenience function to register all built-in tools
157
+ import { registry } from './registry.js'
158
+ import { webTools } from './tools/web.js'
159
+ import { dataTools } from './tools/data.js'
160
+ import { communicationTools } from './tools/communication.js'
161
+
162
+ /**
163
+ * Register all built-in tools in the global registry
164
+ */
165
+ export function registerBuiltinTools(): void {
166
+ for (const tool of [...webTools, ...dataTools, ...communicationTools]) {
167
+ registry.register(tool)
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Get all built-in tools
173
+ */
174
+ export function getBuiltinTools() {
175
+ return [...webTools, ...dataTools, ...communicationTools]
176
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Analytics Providers
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+
7
+ export { mixpanelInfo, mixpanelProvider, createMixpanelProvider } from './mixpanel.js'
8
+
9
+ import { mixpanelProvider } from './mixpanel.js'
10
+
11
+ /**
12
+ * Register all analytics providers
13
+ */
14
+ export function registerAnalyticsProviders(): void {
15
+ mixpanelProvider.register()
16
+ }
17
+
18
+ /**
19
+ * All analytics providers
20
+ */
21
+ export const analyticsProviders = [mixpanelProvider]
@@ -0,0 +1,311 @@
1
+ /**
2
+ * Mixpanel Analytics Provider
3
+ *
4
+ * Concrete implementation of AnalyticsProvider using Mixpanel API.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+
9
+ import type {
10
+ AnalyticsProvider,
11
+ ProviderConfig,
12
+ ProviderHealth,
13
+ ProviderInfo,
14
+ TrackEventOptions,
15
+ AnalyticsQueryOptions,
16
+ AnalyticsQueryResult,
17
+ AnalyticsReportData,
18
+ } from '../types.js'
19
+ import { defineProvider } from '../registry.js'
20
+
21
+ const MIXPANEL_TRACK_URL = 'https://api.mixpanel.com/track'
22
+ const MIXPANEL_ENGAGE_URL = 'https://api.mixpanel.com/engage'
23
+ const MIXPANEL_QUERY_URL = 'https://mixpanel.com/api/2.0'
24
+
25
+ /**
26
+ * Mixpanel provider info
27
+ */
28
+ export const mixpanelInfo: ProviderInfo = {
29
+ id: 'analytics.mixpanel',
30
+ name: 'Mixpanel',
31
+ description: 'Mixpanel product analytics and user engagement platform',
32
+ category: 'analytics',
33
+ website: 'https://mixpanel.com',
34
+ docsUrl: 'https://developer.mixpanel.com/docs',
35
+ requiredConfig: ['projectToken'],
36
+ optionalConfig: ['apiSecret'],
37
+ }
38
+
39
+ /**
40
+ * Create Mixpanel analytics provider
41
+ */
42
+ export function createMixpanelProvider(config: ProviderConfig): AnalyticsProvider {
43
+ let projectToken: string
44
+ let apiSecret: string | undefined
45
+
46
+ return {
47
+ info: mixpanelInfo,
48
+
49
+ async initialize(cfg: ProviderConfig): Promise<void> {
50
+ projectToken = cfg.projectToken as string
51
+ apiSecret = cfg.apiSecret as string | undefined
52
+
53
+ if (!projectToken) {
54
+ throw new Error('Mixpanel project token is required')
55
+ }
56
+ },
57
+
58
+ async healthCheck(): Promise<ProviderHealth> {
59
+ const start = Date.now()
60
+ try {
61
+ // Try to track a test event to verify connectivity
62
+ const testEvent = {
63
+ event: 'health_check',
64
+ properties: {
65
+ token: projectToken,
66
+ time: Math.floor(Date.now() / 1000),
67
+ $insert_id: `health_check_${Date.now()}`,
68
+ },
69
+ }
70
+
71
+ const response = await fetch(MIXPANEL_TRACK_URL, {
72
+ method: 'POST',
73
+ headers: {
74
+ 'Content-Type': 'application/json',
75
+ },
76
+ body: JSON.stringify([testEvent]),
77
+ })
78
+
79
+ const result = await response.json() as { status: number }
80
+
81
+ return {
82
+ healthy: response.ok && result.status === 1,
83
+ latencyMs: Date.now() - start,
84
+ message: response.ok ? 'Connected' : `HTTP ${response.status}`,
85
+ checkedAt: new Date(),
86
+ }
87
+ } catch (error) {
88
+ return {
89
+ healthy: false,
90
+ latencyMs: Date.now() - start,
91
+ message: error instanceof Error ? error.message : 'Unknown error',
92
+ checkedAt: new Date(),
93
+ }
94
+ }
95
+ },
96
+
97
+ async dispose(): Promise<void> {
98
+ // No cleanup needed
99
+ },
100
+
101
+ async track(event: TrackEventOptions): Promise<boolean> {
102
+ try {
103
+ const eventData = {
104
+ event: event.event,
105
+ properties: {
106
+ token: projectToken,
107
+ distinct_id: event.userId || event.anonymousId || 'unknown',
108
+ time: event.timestamp ? Math.floor(event.timestamp.getTime() / 1000) : Math.floor(Date.now() / 1000),
109
+ $insert_id: `${event.event}_${Date.now()}_${Math.random().toString(36).substring(7)}`,
110
+ ...event.properties,
111
+ },
112
+ }
113
+
114
+ const response = await fetch(MIXPANEL_TRACK_URL, {
115
+ method: 'POST',
116
+ headers: {
117
+ 'Content-Type': 'application/json',
118
+ },
119
+ body: JSON.stringify([eventData]),
120
+ })
121
+
122
+ const result = await response.json() as { status: number }
123
+ return response.ok && result.status === 1
124
+ } catch (error) {
125
+ console.error('Mixpanel track error:', error)
126
+ return false
127
+ }
128
+ },
129
+
130
+ async identify(userId: string, traits?: Record<string, unknown>): Promise<boolean> {
131
+ try {
132
+ const engageData = {
133
+ $token: projectToken,
134
+ $distinct_id: userId,
135
+ $set: traits || {},
136
+ }
137
+
138
+ const response = await fetch(MIXPANEL_ENGAGE_URL, {
139
+ method: 'POST',
140
+ headers: {
141
+ 'Content-Type': 'application/json',
142
+ },
143
+ body: JSON.stringify([engageData]),
144
+ })
145
+
146
+ const result = await response.json() as { status: number }
147
+ return response.ok && result.status === 1
148
+ } catch (error) {
149
+ console.error('Mixpanel identify error:', error)
150
+ return false
151
+ }
152
+ },
153
+
154
+ async page(name: string, properties?: Record<string, unknown>): Promise<boolean> {
155
+ return this.track({
156
+ event: 'Page Viewed',
157
+ properties: {
158
+ page_name: name,
159
+ ...properties,
160
+ },
161
+ })
162
+ },
163
+
164
+ async alias(userId: string, previousId: string): Promise<boolean> {
165
+ try {
166
+ const aliasEvent = {
167
+ event: '$create_alias',
168
+ properties: {
169
+ token: projectToken,
170
+ distinct_id: previousId,
171
+ alias: userId,
172
+ },
173
+ }
174
+
175
+ const response = await fetch(MIXPANEL_TRACK_URL, {
176
+ method: 'POST',
177
+ headers: {
178
+ 'Content-Type': 'application/json',
179
+ },
180
+ body: JSON.stringify([aliasEvent]),
181
+ })
182
+
183
+ const result = await response.json() as { status: number }
184
+ return response.ok && result.status === 1
185
+ } catch (error) {
186
+ console.error('Mixpanel alias error:', error)
187
+ return false
188
+ }
189
+ },
190
+
191
+ async getReport(reportId: string): Promise<AnalyticsReportData | null> {
192
+ if (!apiSecret) {
193
+ throw new Error('Mixpanel API secret is required for querying reports')
194
+ }
195
+
196
+ try {
197
+ const auth = Buffer.from(`${apiSecret}:`).toString('base64')
198
+ const response = await fetch(`${MIXPANEL_QUERY_URL}/reports/${reportId}`, {
199
+ headers: {
200
+ Authorization: `Basic ${auth}`,
201
+ },
202
+ })
203
+
204
+ if (!response.ok) {
205
+ return null
206
+ }
207
+
208
+ const data = await response.json() as {
209
+ name?: string
210
+ description?: string
211
+ query?: AnalyticsQueryOptions
212
+ result?: AnalyticsQueryResult
213
+ created?: string
214
+ updated?: string
215
+ }
216
+ return {
217
+ id: reportId,
218
+ name: data.name || reportId,
219
+ description: data.description,
220
+ query: data.query || { metrics: [], dateRange: { start: new Date(), end: new Date() } },
221
+ result: data.result,
222
+ createdAt: data.created ? new Date(data.created) : new Date(),
223
+ updatedAt: data.updated ? new Date(data.updated) : new Date(),
224
+ }
225
+ } catch (error) {
226
+ console.error('Mixpanel getReport error:', error)
227
+ return null
228
+ }
229
+ },
230
+
231
+ async runQuery(query: AnalyticsQueryOptions): Promise<AnalyticsQueryResult> {
232
+ if (!apiSecret) {
233
+ throw new Error('Mixpanel API secret is required for running queries')
234
+ }
235
+
236
+ try {
237
+ const auth = Buffer.from(`${apiSecret}:`).toString('base64')
238
+
239
+ // Construct query parameters
240
+ const params = new URLSearchParams({
241
+ from_date: query.dateRange.start.toISOString().split('T')[0],
242
+ to_date: query.dateRange.end.toISOString().split('T')[0],
243
+ })
244
+
245
+ if (query.metrics.length > 0) {
246
+ params.append('event', query.metrics.join(','))
247
+ }
248
+
249
+ if (query.limit) {
250
+ params.append('limit', query.limit.toString())
251
+ }
252
+
253
+ // Use the segmentation endpoint for queries
254
+ const endpoint = query.dimensions && query.dimensions.length > 0
255
+ ? 'segmentation'
256
+ : 'events'
257
+
258
+ const response = await fetch(`${MIXPANEL_QUERY_URL}/${endpoint}?${params.toString()}`, {
259
+ headers: {
260
+ Authorization: `Basic ${auth}`,
261
+ },
262
+ })
263
+
264
+ if (!response.ok) {
265
+ throw new Error(`Query failed: ${response.statusText}`)
266
+ }
267
+
268
+ const data = await response.json() as {
269
+ data?: Record<string, Record<string, number>>
270
+ }
271
+
272
+ // Transform Mixpanel response to our format
273
+ const rows: Array<Record<string, unknown>> = []
274
+ const totals: Record<string, number> = {}
275
+
276
+ if (data.data) {
277
+ Object.entries(data.data).forEach(([key, values]) => {
278
+ const row: Record<string, unknown> = { metric: key }
279
+
280
+ if (typeof values === 'object' && values !== null) {
281
+ Object.entries(values).forEach(([date, value]) => {
282
+ row[date] = value
283
+ if (typeof value === 'number') {
284
+ totals[key] = (totals[key] || 0) + value
285
+ }
286
+ })
287
+ }
288
+
289
+ rows.push(row)
290
+ })
291
+ }
292
+
293
+ return {
294
+ rows,
295
+ totals,
296
+ rowCount: rows.length,
297
+ }
298
+ } catch (error) {
299
+ console.error('Mixpanel runQuery error:', error)
300
+ throw error
301
+ }
302
+ },
303
+ }
304
+ }
305
+
306
+ /**
307
+ * Mixpanel provider definition
308
+ */
309
+ export const mixpanelProvider = defineProvider(mixpanelInfo, async (config) =>
310
+ createMixpanelProvider(config)
311
+ )