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,138 @@
1
+ /**
2
+ * Web Tools - HTTP, scraping, browser automation
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ import { defineTool } from '../define.js';
7
+ /**
8
+ * Fetch content from a URL
9
+ */
10
+ export const fetchUrl = defineTool({
11
+ id: 'web.fetch',
12
+ name: 'Fetch URL',
13
+ description: 'Fetch content from a URL using HTTP',
14
+ category: 'web',
15
+ subcategory: 'fetch',
16
+ input: {
17
+ type: 'object',
18
+ properties: {
19
+ url: { type: 'string', description: 'URL to fetch' },
20
+ method: { type: 'string', description: 'HTTP method (default: GET)', enum: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'] },
21
+ headers: { type: 'object', description: 'Request headers' },
22
+ body: { type: 'string', description: 'Request body (for POST/PUT/PATCH)' },
23
+ },
24
+ required: ['url'],
25
+ },
26
+ handler: async (input) => {
27
+ const response = await fetch(input.url, {
28
+ method: input.method || 'GET',
29
+ headers: input.headers,
30
+ body: input.body,
31
+ });
32
+ const headers = {};
33
+ response.headers.forEach((value, key) => {
34
+ headers[key] = value;
35
+ });
36
+ return {
37
+ status: response.status,
38
+ headers,
39
+ body: await response.text(),
40
+ };
41
+ },
42
+ options: {
43
+ audience: 'both',
44
+ tags: ['http', 'network', 'api'],
45
+ },
46
+ });
47
+ /**
48
+ * Parse HTML and extract content
49
+ */
50
+ export const parseHtml = defineTool({
51
+ id: 'web.parse-html',
52
+ name: 'Parse HTML',
53
+ description: 'Parse HTML content and extract text, links, and images',
54
+ category: 'web',
55
+ subcategory: 'scrape',
56
+ input: {
57
+ type: 'object',
58
+ properties: {
59
+ html: { type: 'string', description: 'HTML content to parse' },
60
+ selector: { type: 'string', description: 'CSS selector to filter content (optional)' },
61
+ },
62
+ required: ['html'],
63
+ },
64
+ handler: async (input) => {
65
+ // Basic HTML parsing without DOM (would use cheerio or jsdom in production)
66
+ const text = input.html.replace(/<[^>]*>/g, ' ').replace(/\s+/g, ' ').trim();
67
+ // Extract links
68
+ const linkRegex = /href="([^"]+)"/g;
69
+ const links = [];
70
+ let match;
71
+ while ((match = linkRegex.exec(input.html)) !== null) {
72
+ links.push(match[1]);
73
+ }
74
+ // Extract images
75
+ const imgRegex = /src="([^"]+)"/g;
76
+ const images = [];
77
+ while ((match = imgRegex.exec(input.html)) !== null) {
78
+ if (match[1].match(/\.(jpg|jpeg|png|gif|webp|svg)/i)) {
79
+ images.push(match[1]);
80
+ }
81
+ }
82
+ return { text, links, images };
83
+ },
84
+ options: {
85
+ audience: 'both',
86
+ tags: ['html', 'parse', 'extract'],
87
+ },
88
+ });
89
+ /**
90
+ * Read content from a URL (combines fetch + parse)
91
+ */
92
+ export const readUrl = defineTool({
93
+ id: 'web.read',
94
+ name: 'Read URL',
95
+ description: 'Read and extract content from a webpage',
96
+ category: 'web',
97
+ subcategory: 'scrape',
98
+ input: {
99
+ type: 'object',
100
+ properties: {
101
+ url: { type: 'string', description: 'URL to read' },
102
+ },
103
+ required: ['url'],
104
+ },
105
+ handler: async (input) => {
106
+ const response = await fetch(input.url);
107
+ const html = await response.text();
108
+ // Extract title
109
+ const titleMatch = html.match(/<title[^>]*>([^<]+)<\/title>/i);
110
+ const title = titleMatch ? titleMatch[1].trim() : '';
111
+ // Extract body text
112
+ const bodyMatch = html.match(/<body[^>]*>([\s\S]*)<\/body>/i);
113
+ const body = bodyMatch ? bodyMatch[1] : html;
114
+ const text = body.replace(/<script[\s\S]*?<\/script>/gi, '')
115
+ .replace(/<style[\s\S]*?<\/style>/gi, '')
116
+ .replace(/<[^>]*>/g, ' ')
117
+ .replace(/\s+/g, ' ')
118
+ .trim();
119
+ // Extract links
120
+ const linkRegex = /href="(https?:\/\/[^"]+)"/g;
121
+ const links = [];
122
+ let match;
123
+ while ((match = linkRegex.exec(html)) !== null) {
124
+ links.push(match[1]);
125
+ }
126
+ return { title, text: text.slice(0, 10000), links: [...new Set(links)] };
127
+ },
128
+ options: {
129
+ audience: 'both',
130
+ tags: ['read', 'scrape', 'extract'],
131
+ idempotent: true,
132
+ },
133
+ });
134
+ /**
135
+ * All web tools
136
+ */
137
+ export const webTools = [fetchUrl, parseHtml, readUrl];
138
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/tools/web.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * Types for digital-tools
3
+ *
4
+ * Core types for tools that can be used by both humans and AI agents.
5
+ * This package provides the foundational tool primitives used across
6
+ * autonomous-agents, human-in-the-loop, and services-as-software.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import type { JSONSchema } from 'ai-functions';
11
+ import type { z } from 'zod';
12
+ /**
13
+ * High-level tool categories - the primary classification
14
+ */
15
+ export type ToolCategory = 'communication' | 'data' | 'development' | 'documents' | 'finance' | 'integration' | 'knowledge' | 'media' | 'productivity' | 'security' | 'system' | 'web';
16
+ /**
17
+ * Communication subcategories
18
+ */
19
+ export type CommunicationSubcategory = 'email' | 'sms' | 'channel' | 'workspace' | 'direct-message' | 'chat' | 'notification' | 'voice' | 'video-call' | 'slack' | 'discord' | 'teams';
20
+ /**
21
+ * Data subcategories
22
+ */
23
+ export type DataSubcategory = 'database' | 'cache' | 'queue' | 'stream' | 'vector-store' | 'object-storage' | 'transform' | 'validate';
24
+ /**
25
+ * Development subcategories
26
+ */
27
+ export type DevelopmentSubcategory = 'code-edit' | 'code-execute' | 'git' | 'ci-cd' | 'deploy' | 'test' | 'debug' | 'lint' | 'format' | 'docs';
28
+ /**
29
+ * Documents subcategories
30
+ */
31
+ export type DocumentsSubcategory = 'pdf' | 'spreadsheet' | 'presentation' | 'word-processor' | 'markdown' | 'diagram' | 'convert';
32
+ /**
33
+ * Finance subcategories
34
+ */
35
+ export type FinanceSubcategory = 'payment' | 'invoice' | 'accounting' | 'expense' | 'payroll' | 'tax' | 'subscription';
36
+ /**
37
+ * Integration subcategories
38
+ */
39
+ export type IntegrationSubcategory = 'api' | 'webhook' | 'oauth' | 'graphql' | 'grpc' | 'soap' | 'rpc';
40
+ /**
41
+ * Knowledge subcategories
42
+ */
43
+ export type KnowledgeSubcategory = 'search' | 'rag' | 'embedding' | 'knowledge-graph' | 'wiki' | 'faq' | 'semantic-search';
44
+ /**
45
+ * Media subcategories
46
+ */
47
+ export type MediaSubcategory = 'image-generate' | 'image-edit' | 'video-generate' | 'video-edit' | 'audio-generate' | 'audio-transcribe' | 'ocr' | 'screenshot';
48
+ /**
49
+ * Productivity subcategories
50
+ */
51
+ export type ProductivitySubcategory = 'calendar' | 'task' | 'note' | 'reminder' | 'time-tracking' | 'project-management' | 'crm';
52
+ /**
53
+ * Security subcategories
54
+ */
55
+ export type SecuritySubcategory = 'auth' | 'encrypt' | 'hash' | 'sign' | 'access-control' | 'secrets' | 'audit';
56
+ /**
57
+ * System subcategories
58
+ */
59
+ export type SystemSubcategory = 'shell' | 'filesystem' | 'process' | 'network' | 'environment' | 'cron' | 'monitor';
60
+ /**
61
+ * Web subcategories
62
+ */
63
+ export type WebSubcategory = 'fetch' | 'scrape' | 'browser' | 'dom' | 'screenshot' | 'pdf-capture' | 'api-client';
64
+ /**
65
+ * Combined subcategory type
66
+ */
67
+ export type ToolSubcategory = CommunicationSubcategory | DataSubcategory | DevelopmentSubcategory | DocumentsSubcategory | FinanceSubcategory | IntegrationSubcategory | KnowledgeSubcategory | MediaSubcategory | ProductivitySubcategory | SecuritySubcategory | SystemSubcategory | WebSubcategory;
68
+ /**
69
+ * Who can use this tool
70
+ */
71
+ export type ToolAudience = 'agent' | 'human' | 'both';
72
+ /**
73
+ * Permission required to use this tool
74
+ */
75
+ export interface ToolPermission {
76
+ /** Permission type */
77
+ type: 'read' | 'write' | 'execute' | 'admin' | 'custom';
78
+ /** Resource the permission applies to */
79
+ resource?: string;
80
+ /** Custom permission name */
81
+ name?: string;
82
+ /** Permission scope */
83
+ scope?: string;
84
+ }
85
+ /**
86
+ * Security classification for the tool
87
+ */
88
+ export type SecurityLevel = 'public' | 'internal' | 'confidential' | 'restricted';
89
+ /**
90
+ * Rate limiting configuration
91
+ */
92
+ export interface RateLimit {
93
+ /** Maximum calls per period */
94
+ maxCalls: number;
95
+ /** Time period in seconds */
96
+ periodSeconds: number;
97
+ /** Per-user or global */
98
+ scope?: 'user' | 'global' | 'organization';
99
+ }
100
+ /**
101
+ * Schema definition - supports both JSON Schema and Zod
102
+ */
103
+ export type Schema = JSONSchema | z.ZodType;
104
+ /**
105
+ * Tool parameter definition
106
+ */
107
+ export interface ToolParameter {
108
+ /** Parameter name */
109
+ name: string;
110
+ /** Human-readable description */
111
+ description: string;
112
+ /** Parameter type schema */
113
+ schema: Schema;
114
+ /** Whether parameter is required */
115
+ required?: boolean;
116
+ /** Default value */
117
+ default?: unknown;
118
+ /** Example values */
119
+ examples?: unknown[];
120
+ }
121
+ /**
122
+ * Tool output definition
123
+ */
124
+ export interface ToolOutput {
125
+ /** Output description */
126
+ description: string;
127
+ /** Output schema */
128
+ schema: Schema;
129
+ /** Whether the tool streams output */
130
+ streaming?: boolean;
131
+ }
132
+ /**
133
+ * Core Tool definition - the foundational type
134
+ *
135
+ * Tools can be used by both humans and AI agents. They provide
136
+ * a standardized interface for performing actions.
137
+ */
138
+ export interface Tool<TInput = unknown, TOutput = unknown> {
139
+ /** Unique tool identifier (e.g., 'communication.email.send') */
140
+ id: string;
141
+ /** Human-readable name */
142
+ name: string;
143
+ /** Detailed description of what the tool does */
144
+ description: string;
145
+ /** Tool version (semver) */
146
+ version?: string;
147
+ /** Primary category */
148
+ category: ToolCategory;
149
+ /** Subcategory for more specific classification */
150
+ subcategory?: ToolSubcategory;
151
+ /** Tags for additional classification */
152
+ tags?: string[];
153
+ /** Who can use this tool */
154
+ audience?: ToolAudience;
155
+ /** Required permissions */
156
+ permissions?: ToolPermission[];
157
+ /** Security classification */
158
+ securityLevel?: SecurityLevel;
159
+ /** Rate limiting */
160
+ rateLimit?: RateLimit;
161
+ /** Input parameters */
162
+ parameters: ToolParameter[];
163
+ /** Output definition */
164
+ output?: ToolOutput;
165
+ /** The tool implementation */
166
+ handler: (input: TInput) => TOutput | Promise<TOutput>;
167
+ /** Tool author/owner */
168
+ author?: string;
169
+ /** Documentation URL */
170
+ docsUrl?: string;
171
+ /** Whether this tool requires human confirmation */
172
+ requiresConfirmation?: boolean;
173
+ /** Whether this tool is idempotent */
174
+ idempotent?: boolean;
175
+ /** Estimated execution time in ms */
176
+ estimatedDuration?: number;
177
+ /** Cost per execution (for billing) */
178
+ costPerExecution?: number;
179
+ }
180
+ /**
181
+ * Any tool type - used for arrays and collections of tools
182
+ * with different input/output types
183
+ */
184
+ export type AnyTool = Tool<any, any>;
185
+ /**
186
+ * Options for defining a tool
187
+ */
188
+ export interface DefineToolOptions<TInput, TOutput> {
189
+ /** Tool ID */
190
+ id: string;
191
+ /** Tool name */
192
+ name: string;
193
+ /** Tool description */
194
+ description: string;
195
+ /** Primary category */
196
+ category: ToolCategory;
197
+ /** Subcategory */
198
+ subcategory?: ToolSubcategory;
199
+ /** Input schema (Zod or JSON Schema) */
200
+ input: Schema;
201
+ /** Output schema (optional) */
202
+ output?: Schema;
203
+ /** The handler function */
204
+ handler: (input: TInput) => TOutput | Promise<TOutput>;
205
+ /** Additional options */
206
+ options?: Partial<Omit<Tool<TInput, TOutput>, 'id' | 'name' | 'description' | 'category' | 'parameters' | 'handler'>>;
207
+ }
208
+ /**
209
+ * Tool execution context
210
+ */
211
+ export interface ToolContext {
212
+ /** Who is executing the tool */
213
+ executor: {
214
+ type: 'agent' | 'human';
215
+ id: string;
216
+ name?: string;
217
+ };
218
+ /** Request ID for tracing */
219
+ requestId?: string;
220
+ /** Organization ID */
221
+ organizationId?: string;
222
+ /** User ID (if human or on behalf of) */
223
+ userId?: string;
224
+ /** Environment */
225
+ environment?: 'development' | 'staging' | 'production';
226
+ /** Additional metadata */
227
+ metadata?: Record<string, unknown>;
228
+ }
229
+ /**
230
+ * Tool execution result
231
+ */
232
+ export interface ToolResult<TOutput = unknown> {
233
+ /** Whether execution succeeded */
234
+ success: boolean;
235
+ /** Output data */
236
+ data?: TOutput;
237
+ /** Error if failed */
238
+ error?: {
239
+ code: string;
240
+ message: string;
241
+ details?: unknown;
242
+ };
243
+ /** Execution metadata */
244
+ metadata?: {
245
+ /** Duration in ms */
246
+ duration: number;
247
+ /** Tokens used (if AI tool) */
248
+ tokensUsed?: number;
249
+ /** Cost incurred */
250
+ cost?: number;
251
+ /** Request ID */
252
+ requestId?: string;
253
+ };
254
+ }
255
+ /**
256
+ * Options for querying tools
257
+ */
258
+ export interface ToolQuery {
259
+ /** Filter by category */
260
+ category?: ToolCategory;
261
+ /** Filter by subcategory */
262
+ subcategory?: ToolSubcategory;
263
+ /** Filter by tags */
264
+ tags?: string[];
265
+ /** Filter by audience */
266
+ audience?: ToolAudience;
267
+ /** Text search */
268
+ search?: string;
269
+ /** Maximum results */
270
+ limit?: number;
271
+ /** Offset for pagination */
272
+ offset?: number;
273
+ }
274
+ /**
275
+ * Tool registry interface
276
+ */
277
+ export interface ToolRegistry {
278
+ /** Register a tool */
279
+ register(tool: AnyTool): void;
280
+ /** Unregister a tool */
281
+ unregister(id: string): boolean;
282
+ /** Get a tool by ID */
283
+ get(id: string): AnyTool | undefined;
284
+ /** Check if a tool exists */
285
+ has(id: string): boolean;
286
+ /** List all tool IDs */
287
+ list(): string[];
288
+ /** Query tools */
289
+ query(options: ToolQuery): AnyTool[];
290
+ /** Get tools by category */
291
+ byCategory(category: ToolCategory): AnyTool[];
292
+ /** Clear all tools */
293
+ clear(): void;
294
+ }
295
+ /**
296
+ * MCP-compatible tool definition
297
+ * Model Context Protocol standard format
298
+ */
299
+ export interface MCPTool {
300
+ /** Tool name */
301
+ name: string;
302
+ /** Tool description */
303
+ description: string;
304
+ /** Input schema as JSON Schema */
305
+ inputSchema: JSONSchema;
306
+ }
307
+ /**
308
+ * MCP tool call request
309
+ */
310
+ export interface MCPToolCall {
311
+ /** Tool name */
312
+ name: string;
313
+ /** Arguments */
314
+ arguments: Record<string, unknown>;
315
+ }
316
+ /**
317
+ * MCP tool call result
318
+ */
319
+ export interface MCPToolResult {
320
+ /** Result content */
321
+ content: Array<{
322
+ type: 'text' | 'image' | 'resource';
323
+ text?: string;
324
+ data?: string;
325
+ mimeType?: string;
326
+ }>;
327
+ /** Whether this is an error */
328
+ isError?: boolean;
329
+ }
330
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Types for digital-tools
3
+ *
4
+ * Core types for tools that can be used by both humans and AI agents.
5
+ * This package provides the foundational tool primitives used across
6
+ * autonomous-agents, human-in-the-loop, and services-as-software.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "digital-tools",
3
+ "version": "2.0.1",
4
+ "description": "Tools that can be used by both humans and AI agents",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ },
13
+ "./types": {
14
+ "import": "./dist/providers/types.js",
15
+ "types": "./dist/providers/types.d.ts"
16
+ },
17
+ "./registry": {
18
+ "import": "./dist/registry.js",
19
+ "types": "./dist/registry.d.ts"
20
+ }
21
+ },
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "dev": "tsc --watch",
25
+ "test": "vitest",
26
+ "typecheck": "tsc --noEmit",
27
+ "lint": "eslint .",
28
+ "clean": "rm -rf dist"
29
+ },
30
+ "dependencies": {
31
+ "ai-database": "workspace:*",
32
+ "ai-functions": "workspace:*",
33
+ "rpc.do": "^0.1.0",
34
+ "zod": "^3.23.0"
35
+ },
36
+ "keywords": [
37
+ "ai",
38
+ "tools",
39
+ "agents",
40
+ "humans",
41
+ "primitives",
42
+ "mcp"
43
+ ],
44
+ "license": "MIT"
45
+ }