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,412 @@
1
+ /**
2
+ * Google Meet Video Conferencing Provider
3
+ *
4
+ * Concrete implementation of VideoConferencingProvider using Google Calendar API v3
5
+ * to create and manage Google Meet video conferences.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+
10
+ import type {
11
+ VideoConferencingProvider,
12
+ ProviderConfig,
13
+ ProviderHealth,
14
+ ProviderInfo,
15
+ CreateMeetingOptions,
16
+ MeetingData,
17
+ MeetingListOptions,
18
+ PaginatedResult,
19
+ ParticipantData,
20
+ MeetingRecordingData,
21
+ } from '../types.js'
22
+ import { defineProvider } from '../registry.js'
23
+
24
+ const CALENDAR_API_URL = 'https://www.googleapis.com/calendar/v3'
25
+
26
+ /**
27
+ * Google Meet provider info
28
+ */
29
+ export const googleMeetInfo: ProviderInfo = {
30
+ id: 'meeting.google-meet',
31
+ name: 'Google Meet',
32
+ description: 'Google Meet video conferencing via Google Calendar API',
33
+ category: 'video-conferencing',
34
+ website: 'https://meet.google.com',
35
+ docsUrl: 'https://developers.google.com/calendar/api',
36
+ requiredConfig: ['accessToken'],
37
+ optionalConfig: ['clientId', 'clientSecret', 'refreshToken'],
38
+ }
39
+
40
+ /**
41
+ * Google Calendar API response types
42
+ */
43
+ interface GoogleCalendarEvent {
44
+ id: string
45
+ summary: string
46
+ description?: string
47
+ location?: string
48
+ start: {
49
+ dateTime: string
50
+ timeZone?: string
51
+ }
52
+ end: {
53
+ dateTime: string
54
+ timeZone?: string
55
+ }
56
+ hangoutLink?: string
57
+ conferenceData?: {
58
+ conferenceId: string
59
+ conferenceSolution: {
60
+ name: string
61
+ iconUri?: string
62
+ }
63
+ entryPoints: Array<{
64
+ entryPointType: string
65
+ uri: string
66
+ label?: string
67
+ }>
68
+ }
69
+ status: string
70
+ created: string
71
+ creator?: {
72
+ id?: string
73
+ email?: string
74
+ }
75
+ }
76
+
77
+ interface GoogleCalendarEventList {
78
+ items: GoogleCalendarEvent[]
79
+ nextPageToken?: string
80
+ nextSyncToken?: string
81
+ }
82
+
83
+ interface GoogleTokenResponse {
84
+ access_token: string
85
+ expires_in: number
86
+ token_type: string
87
+ refresh_token?: string
88
+ }
89
+
90
+ /**
91
+ * Create Google Meet provider
92
+ */
93
+ export function createGoogleMeetProvider(config: ProviderConfig): VideoConferencingProvider {
94
+ let accessToken: string
95
+ let clientId: string | undefined
96
+ let clientSecret: string | undefined
97
+ let refreshToken: string | undefined
98
+ let tokenExpiresAt: number = 0
99
+ let calendarId = 'primary'
100
+
101
+ /**
102
+ * Refresh OAuth access token
103
+ */
104
+ async function refreshAccessToken(): Promise<string> {
105
+ if (!clientId || !clientSecret || !refreshToken) {
106
+ throw new Error('clientId, clientSecret, and refreshToken required for token refresh')
107
+ }
108
+
109
+ const response = await fetch('https://oauth2.googleapis.com/token', {
110
+ method: 'POST',
111
+ headers: {
112
+ 'Content-Type': 'application/x-www-form-urlencoded',
113
+ },
114
+ body: new URLSearchParams({
115
+ client_id: clientId,
116
+ client_secret: clientSecret,
117
+ refresh_token: refreshToken,
118
+ grant_type: 'refresh_token',
119
+ }),
120
+ })
121
+
122
+ if (!response.ok) {
123
+ throw new Error(`Failed to refresh access token: HTTP ${response.status}`)
124
+ }
125
+
126
+ const data = (await response.json()) as GoogleTokenResponse
127
+ accessToken = data.access_token
128
+ tokenExpiresAt = Date.now() + data.expires_in * 1000
129
+
130
+ return accessToken
131
+ }
132
+
133
+ /**
134
+ * Get valid access token
135
+ */
136
+ async function getAccessToken(): Promise<string> {
137
+ // Return cached token if still valid (with 5-minute buffer)
138
+ if (accessToken && Date.now() < tokenExpiresAt - 300000) {
139
+ return accessToken
140
+ }
141
+
142
+ // Try to refresh if we have refresh token
143
+ if (refreshToken) {
144
+ return refreshAccessToken()
145
+ }
146
+
147
+ // Otherwise use the provided token
148
+ return accessToken
149
+ }
150
+
151
+ /**
152
+ * Make authenticated API request
153
+ */
154
+ async function apiRequest<T>(
155
+ endpoint: string,
156
+ options: RequestInit = {}
157
+ ): Promise<T> {
158
+ const token = await getAccessToken()
159
+ const url = `${CALENDAR_API_URL}${endpoint}`
160
+
161
+ const response = await fetch(url, {
162
+ ...options,
163
+ headers: {
164
+ Authorization: `Bearer ${token}`,
165
+ 'Content-Type': 'application/json',
166
+ ...options.headers,
167
+ },
168
+ })
169
+
170
+ if (!response.ok) {
171
+ const errorData = await response.json().catch(() => ({}))
172
+ throw new Error(
173
+ `Google Calendar API error: ${response.status} - ${(errorData as any)?.error?.message || response.statusText}`
174
+ )
175
+ }
176
+
177
+ return response.json() as Promise<T>
178
+ }
179
+
180
+ /**
181
+ * Convert Google Calendar event to MeetingData
182
+ */
183
+ function convertEvent(event: GoogleCalendarEvent): MeetingData {
184
+ const startTime = new Date(event.start.dateTime)
185
+ const endTime = new Date(event.end.dateTime)
186
+ const duration = Math.round((endTime.getTime() - startTime.getTime()) / 60000) // minutes
187
+
188
+ return {
189
+ id: event.id,
190
+ topic: event.summary,
191
+ startTime,
192
+ duration,
193
+ timezone: event.start.timeZone,
194
+ agenda: event.description,
195
+ joinUrl: event.hangoutLink || event.conferenceData?.entryPoints?.[0]?.uri || '',
196
+ hostId: event.creator?.id || event.creator?.email || '',
197
+ status: event.status === 'confirmed' ? 'waiting' : 'finished',
198
+ createdAt: new Date(event.created),
199
+ }
200
+ }
201
+
202
+ return {
203
+ info: googleMeetInfo,
204
+
205
+ async initialize(cfg: ProviderConfig): Promise<void> {
206
+ accessToken = cfg.accessToken as string
207
+ clientId = cfg.clientId as string | undefined
208
+ clientSecret = cfg.clientSecret as string | undefined
209
+ refreshToken = cfg.refreshToken as string | undefined
210
+
211
+ if (!accessToken) {
212
+ throw new Error('Google Meet requires accessToken')
213
+ }
214
+
215
+ // Override calendar ID if provided
216
+ if (cfg.calendarId) {
217
+ calendarId = cfg.calendarId as string
218
+ }
219
+ },
220
+
221
+ async healthCheck(): Promise<ProviderHealth> {
222
+ const start = Date.now()
223
+ try {
224
+ // Get calendar to verify API access
225
+ await apiRequest(`/calendars/${calendarId}`)
226
+
227
+ return {
228
+ healthy: true,
229
+ latencyMs: Date.now() - start,
230
+ message: 'Connected',
231
+ checkedAt: new Date(),
232
+ }
233
+ } catch (error) {
234
+ return {
235
+ healthy: false,
236
+ latencyMs: Date.now() - start,
237
+ message: error instanceof Error ? error.message : 'Unknown error',
238
+ checkedAt: new Date(),
239
+ }
240
+ }
241
+ },
242
+
243
+ async dispose(): Promise<void> {
244
+ // Clear cached token
245
+ accessToken = ''
246
+ tokenExpiresAt = 0
247
+ },
248
+
249
+ async createMeeting(meeting: CreateMeetingOptions): Promise<MeetingData> {
250
+ const endTime = meeting.startTime
251
+ ? new Date(meeting.startTime.getTime() + (meeting.duration || 60) * 60000)
252
+ : new Date(Date.now() + (meeting.duration || 60) * 60000)
253
+
254
+ const body = {
255
+ summary: meeting.topic,
256
+ description: meeting.agenda,
257
+ start: {
258
+ dateTime: (meeting.startTime || new Date()).toISOString(),
259
+ timeZone: meeting.timezone || 'UTC',
260
+ },
261
+ end: {
262
+ dateTime: endTime.toISOString(),
263
+ timeZone: meeting.timezone || 'UTC',
264
+ },
265
+ conferenceData: {
266
+ createRequest: {
267
+ requestId: `meet-${Date.now()}`,
268
+ conferenceSolutionKey: {
269
+ type: 'hangoutsMeet',
270
+ },
271
+ },
272
+ },
273
+ }
274
+
275
+ const response = await apiRequest<GoogleCalendarEvent>(
276
+ `/calendars/${calendarId}/events?conferenceDataVersion=1`,
277
+ {
278
+ method: 'POST',
279
+ body: JSON.stringify(body),
280
+ }
281
+ )
282
+
283
+ return convertEvent(response)
284
+ },
285
+
286
+ async getMeeting(meetingId: string): Promise<MeetingData | null> {
287
+ try {
288
+ const response = await apiRequest<GoogleCalendarEvent>(
289
+ `/calendars/${calendarId}/events/${meetingId}`
290
+ )
291
+ return convertEvent(response)
292
+ } catch (error) {
293
+ if (error instanceof Error && error.message.includes('404')) {
294
+ return null
295
+ }
296
+ throw error
297
+ }
298
+ },
299
+
300
+ async updateMeeting(
301
+ meetingId: string,
302
+ updates: Partial<CreateMeetingOptions>
303
+ ): Promise<MeetingData> {
304
+ // First get the current event
305
+ const current = await this.getMeeting(meetingId)
306
+ if (!current) {
307
+ throw new Error(`Meeting ${meetingId} not found`)
308
+ }
309
+
310
+ const body: Record<string, unknown> = {}
311
+
312
+ if (updates.topic) body.summary = updates.topic
313
+ if (updates.agenda !== undefined) body.description = updates.agenda
314
+
315
+ if (updates.startTime) {
316
+ const endTime = new Date(
317
+ updates.startTime.getTime() + (updates.duration || current.duration || 60) * 60000
318
+ )
319
+ body.start = {
320
+ dateTime: updates.startTime.toISOString(),
321
+ timeZone: updates.timezone || current.timezone || 'UTC',
322
+ }
323
+ body.end = {
324
+ dateTime: endTime.toISOString(),
325
+ timeZone: updates.timezone || current.timezone || 'UTC',
326
+ }
327
+ }
328
+
329
+ const response = await apiRequest<GoogleCalendarEvent>(
330
+ `/calendars/${calendarId}/events/${meetingId}`,
331
+ {
332
+ method: 'PATCH',
333
+ body: JSON.stringify(body),
334
+ }
335
+ )
336
+
337
+ return convertEvent(response)
338
+ },
339
+
340
+ async deleteMeeting(meetingId: string): Promise<boolean> {
341
+ try {
342
+ await apiRequest(`/calendars/${calendarId}/events/${meetingId}`, {
343
+ method: 'DELETE',
344
+ })
345
+ return true
346
+ } catch (error) {
347
+ if (error instanceof Error && error.message.includes('404')) {
348
+ return false
349
+ }
350
+ throw error
351
+ }
352
+ },
353
+
354
+ async listMeetings(options: MeetingListOptions = {}): Promise<PaginatedResult<MeetingData>> {
355
+ const params = new URLSearchParams()
356
+
357
+ // Set time range based on type
358
+ const now = new Date()
359
+ if (options.type === 'upcoming' || options.type === 'scheduled') {
360
+ params.append('timeMin', now.toISOString())
361
+ } else if (options.type === 'previous') {
362
+ params.append('timeMax', now.toISOString())
363
+ }
364
+
365
+ params.append('singleEvents', 'true')
366
+ params.append('orderBy', 'startTime')
367
+
368
+ if (options.limit) params.append('maxResults', options.limit.toString())
369
+ if (options.cursor) params.append('pageToken', options.cursor)
370
+
371
+ const response = await apiRequest<GoogleCalendarEventList>(
372
+ `/calendars/${calendarId}/events?${params.toString()}`
373
+ )
374
+
375
+ // Filter to only events with Meet links
376
+ const meetEvents = response.items.filter(
377
+ (event) => event.hangoutLink || event.conferenceData
378
+ )
379
+
380
+ return {
381
+ items: meetEvents.map(convertEvent),
382
+ hasMore: !!response.nextPageToken,
383
+ nextCursor: response.nextPageToken,
384
+ }
385
+ },
386
+
387
+ endMeeting: async function(meetingId: string): Promise<boolean> {
388
+ // Google Meet doesn't support programmatically ending meetings
389
+ // We can delete the calendar event instead
390
+ return await this.deleteMeeting!(meetingId)
391
+ },
392
+
393
+ async getParticipants(meetingId: string): Promise<ParticipantData[]> {
394
+ // Google Calendar API doesn't provide participant data for past meetings
395
+ // This would require Google Meet API access which is more restricted
396
+ return []
397
+ },
398
+
399
+ async getRecordings(meetingId: string): Promise<MeetingRecordingData[]> {
400
+ // Google Meet recordings are stored in Google Drive
401
+ // This would require Google Drive API access
402
+ return []
403
+ },
404
+ }
405
+ }
406
+
407
+ /**
408
+ * Google Meet provider definition
409
+ */
410
+ export const googleMeetProvider = defineProvider(googleMeetInfo, async (config) =>
411
+ createGoogleMeetProvider(config)
412
+ )
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Video Conferencing Providers
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+
7
+ export { zoomInfo, zoomProvider, createZoomProvider } from './zoom.js'
8
+ export { googleMeetInfo, googleMeetProvider, createGoogleMeetProvider } from './google-meet.js'
9
+ export { teamsInfo, teamsProvider, createTeamsProvider } from './teams.js'
10
+ export { jitsiInfo, jitsiProvider, createJitsiProvider } from './jitsi.js'
11
+
12
+ import { zoomProvider } from './zoom.js'
13
+ import { googleMeetProvider } from './google-meet.js'
14
+ import { teamsProvider } from './teams.js'
15
+ import { jitsiProvider } from './jitsi.js'
16
+
17
+ /**
18
+ * Register all video conferencing providers
19
+ */
20
+ export function registerVideoConferencingProviders(): void {
21
+ zoomProvider.register()
22
+ googleMeetProvider.register()
23
+ teamsProvider.register()
24
+ jitsiProvider.register()
25
+ }
26
+
27
+ /**
28
+ * All video conferencing providers
29
+ */
30
+ export const videoConferencingProviders = [
31
+ zoomProvider,
32
+ googleMeetProvider,
33
+ teamsProvider,
34
+ jitsiProvider,
35
+ ]