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,1103 @@
1
+ /**
2
+ * E-Signature Entity Types (Nouns)
3
+ *
4
+ * Semantic type definitions for electronic signature workflows compatible with
5
+ * DocuSign, DocuSeal, and other e-signature platforms. Each entity defines:
6
+ * - Properties: The data fields
7
+ * - Actions: Operations that can be performed (Verbs)
8
+ * - Events: State changes that occur
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ // =============================================================================
13
+ // SignatureDocument
14
+ // =============================================================================
15
+ /**
16
+ * SignatureDocument entity
17
+ *
18
+ * Represents a document requiring electronic signatures from one or more signers.
19
+ * Tracks the lifecycle from draft through completion or voiding.
20
+ */
21
+ export const SignatureDocument = {
22
+ singular: 'signature document',
23
+ plural: 'signature documents',
24
+ description: 'A document requiring electronic signatures from one or more signers',
25
+ properties: {
26
+ // Identity
27
+ title: {
28
+ type: 'string',
29
+ description: 'Document title',
30
+ },
31
+ description: {
32
+ type: 'string',
33
+ optional: true,
34
+ description: 'Document description or purpose',
35
+ },
36
+ // Status
37
+ status: {
38
+ type: 'string',
39
+ description: 'Document status: draft, sent, pending, completed, declined, voided',
40
+ examples: ['draft', 'sent', 'pending', 'completed', 'declined', 'voided'],
41
+ },
42
+ // File information
43
+ fileUrl: {
44
+ type: 'url',
45
+ description: 'URL to the document file',
46
+ },
47
+ fileName: {
48
+ type: 'string',
49
+ description: 'Original file name',
50
+ },
51
+ fileType: {
52
+ type: 'string',
53
+ description: 'File MIME type',
54
+ examples: ['application/pdf', 'application/msword', 'image/png'],
55
+ },
56
+ fileSize: {
57
+ type: 'number',
58
+ description: 'File size in bytes',
59
+ },
60
+ // Dates
61
+ createdAt: {
62
+ type: 'datetime',
63
+ description: 'When the document was created',
64
+ },
65
+ sentAt: {
66
+ type: 'datetime',
67
+ optional: true,
68
+ description: 'When the document was sent to signers',
69
+ },
70
+ completedAt: {
71
+ type: 'datetime',
72
+ optional: true,
73
+ description: 'When all signatures were completed',
74
+ },
75
+ expiresAt: {
76
+ type: 'datetime',
77
+ optional: true,
78
+ description: 'When the signature request expires',
79
+ },
80
+ // Email communication
81
+ subject: {
82
+ type: 'string',
83
+ optional: true,
84
+ description: 'Email subject line for signature requests',
85
+ },
86
+ message: {
87
+ type: 'string',
88
+ optional: true,
89
+ description: 'Email message or instructions for signers',
90
+ },
91
+ // Settings
92
+ requireAllSigners: {
93
+ type: 'boolean',
94
+ optional: true,
95
+ description: 'Whether all signers must complete or just one',
96
+ },
97
+ allowDecline: {
98
+ type: 'boolean',
99
+ optional: true,
100
+ description: 'Whether signers can decline to sign',
101
+ },
102
+ allowReassign: {
103
+ type: 'boolean',
104
+ optional: true,
105
+ description: 'Whether signers can reassign to someone else',
106
+ },
107
+ enableReminders: {
108
+ type: 'boolean',
109
+ optional: true,
110
+ description: 'Whether to send automatic reminders',
111
+ },
112
+ reminderFrequency: {
113
+ type: 'number',
114
+ optional: true,
115
+ description: 'Reminder frequency in days',
116
+ },
117
+ // Security
118
+ requireAuthentication: {
119
+ type: 'boolean',
120
+ optional: true,
121
+ description: 'Whether signers must authenticate',
122
+ },
123
+ requireAccessCode: {
124
+ type: 'boolean',
125
+ optional: true,
126
+ description: 'Whether an access code is required',
127
+ },
128
+ accessCode: {
129
+ type: 'string',
130
+ optional: true,
131
+ description: 'Access code for viewing/signing',
132
+ },
133
+ // Completion
134
+ completedFileUrl: {
135
+ type: 'url',
136
+ optional: true,
137
+ description: 'URL to the signed/completed document',
138
+ },
139
+ certificateUrl: {
140
+ type: 'url',
141
+ optional: true,
142
+ description: 'URL to completion certificate',
143
+ },
144
+ // Metadata
145
+ tags: {
146
+ type: 'string',
147
+ array: true,
148
+ optional: true,
149
+ description: 'Tags for categorizing the document',
150
+ },
151
+ folder: {
152
+ type: 'string',
153
+ optional: true,
154
+ description: 'Folder or workspace the document belongs to',
155
+ },
156
+ metadata: {
157
+ type: 'json',
158
+ optional: true,
159
+ description: 'Additional document metadata',
160
+ },
161
+ },
162
+ relationships: {
163
+ requests: {
164
+ type: 'SignatureRequest[]',
165
+ backref: 'document',
166
+ description: 'Signature requests for this document',
167
+ },
168
+ fields: {
169
+ type: 'SignatureField[]',
170
+ backref: 'document',
171
+ description: 'Signature and input fields in the document',
172
+ },
173
+ auditTrail: {
174
+ type: 'AuditTrail[]',
175
+ backref: 'document',
176
+ description: 'Audit log entries for this document',
177
+ },
178
+ owner: {
179
+ type: 'Contact',
180
+ description: 'Owner who created the document',
181
+ },
182
+ template: {
183
+ type: 'SignatureTemplate',
184
+ required: false,
185
+ description: 'Template used to create this document',
186
+ },
187
+ },
188
+ actions: [
189
+ 'create',
190
+ 'edit',
191
+ 'delete',
192
+ 'send',
193
+ 'resend',
194
+ 'void',
195
+ 'download',
196
+ 'downloadCertificate',
197
+ 'addSigner',
198
+ 'removeSigner',
199
+ 'addField',
200
+ 'removeField',
201
+ 'duplicate',
202
+ 'preview',
203
+ 'remind',
204
+ 'archive',
205
+ ],
206
+ events: [
207
+ 'created',
208
+ 'edited',
209
+ 'deleted',
210
+ 'sent',
211
+ 'resent',
212
+ 'voided',
213
+ 'downloaded',
214
+ 'signerAdded',
215
+ 'signerRemoved',
216
+ 'fieldAdded',
217
+ 'fieldRemoved',
218
+ 'viewed',
219
+ 'completed',
220
+ 'declined',
221
+ 'expired',
222
+ 'reminderSent',
223
+ 'archived',
224
+ ],
225
+ };
226
+ // =============================================================================
227
+ // SignatureRequest
228
+ // =============================================================================
229
+ /**
230
+ * SignatureRequest entity
231
+ *
232
+ * Represents a request for a specific person to sign a document.
233
+ * Tracks individual signer status and actions.
234
+ */
235
+ export const SignatureRequest = {
236
+ singular: 'signature request',
237
+ plural: 'signature requests',
238
+ description: 'A request for a specific person to sign a document',
239
+ properties: {
240
+ // Status
241
+ status: {
242
+ type: 'string',
243
+ description: 'Request status: pending, viewed, signed, declined',
244
+ examples: ['pending', 'viewed', 'signed', 'declined'],
245
+ },
246
+ // Signing order
247
+ order: {
248
+ type: 'number',
249
+ optional: true,
250
+ description: 'Signing order (1-based, null for parallel signing)',
251
+ },
252
+ // Dates
253
+ sentAt: {
254
+ type: 'datetime',
255
+ description: 'When the request was sent',
256
+ },
257
+ viewedAt: {
258
+ type: 'datetime',
259
+ optional: true,
260
+ description: 'When the signer first viewed the document',
261
+ },
262
+ signedAt: {
263
+ type: 'datetime',
264
+ optional: true,
265
+ description: 'When the signer completed signing',
266
+ },
267
+ declinedAt: {
268
+ type: 'datetime',
269
+ optional: true,
270
+ description: 'When the signer declined',
271
+ },
272
+ // Communication
273
+ message: {
274
+ type: 'string',
275
+ optional: true,
276
+ description: 'Custom message for this specific signer',
277
+ },
278
+ // Decline
279
+ declineReason: {
280
+ type: 'string',
281
+ optional: true,
282
+ description: 'Reason provided for declining',
283
+ },
284
+ // Reassignment
285
+ reassignedTo: {
286
+ type: 'string',
287
+ optional: true,
288
+ description: 'Email address if reassigned to another person',
289
+ },
290
+ reassignedAt: {
291
+ type: 'datetime',
292
+ optional: true,
293
+ description: 'When the request was reassigned',
294
+ },
295
+ reassignReason: {
296
+ type: 'string',
297
+ optional: true,
298
+ description: 'Reason for reassignment',
299
+ },
300
+ // Reminders
301
+ reminderCount: {
302
+ type: 'number',
303
+ optional: true,
304
+ description: 'Number of reminders sent',
305
+ },
306
+ lastReminderAt: {
307
+ type: 'datetime',
308
+ optional: true,
309
+ description: 'When the last reminder was sent',
310
+ },
311
+ // Access
312
+ accessCode: {
313
+ type: 'string',
314
+ optional: true,
315
+ description: 'Access code for this specific signer',
316
+ },
317
+ viewToken: {
318
+ type: 'string',
319
+ optional: true,
320
+ description: 'Unique token for viewing the document',
321
+ },
322
+ // Metadata
323
+ metadata: {
324
+ type: 'json',
325
+ optional: true,
326
+ description: 'Additional request metadata',
327
+ },
328
+ },
329
+ relationships: {
330
+ document: {
331
+ type: 'SignatureDocument',
332
+ backref: 'requests',
333
+ description: 'Document being signed',
334
+ },
335
+ signer: {
336
+ type: 'Signer',
337
+ description: 'Person who needs to sign',
338
+ },
339
+ signatures: {
340
+ type: 'Signature[]',
341
+ backref: 'request',
342
+ description: 'Signatures created by this signer',
343
+ },
344
+ },
345
+ actions: [
346
+ 'send',
347
+ 'resend',
348
+ 'remind',
349
+ 'view',
350
+ 'sign',
351
+ 'decline',
352
+ 'reassign',
353
+ 'cancel',
354
+ 'withdraw',
355
+ ],
356
+ events: [
357
+ 'sent',
358
+ 'resent',
359
+ 'reminded',
360
+ 'viewed',
361
+ 'signed',
362
+ 'declined',
363
+ 'reassigned',
364
+ 'cancelled',
365
+ 'withdrawn',
366
+ ],
367
+ };
368
+ // =============================================================================
369
+ // Signer
370
+ // =============================================================================
371
+ /**
372
+ * Signer entity
373
+ *
374
+ * Represents a person who needs to sign, view, or approve a document.
375
+ * Can have different roles and authentication requirements.
376
+ */
377
+ export const Signer = {
378
+ singular: 'signer',
379
+ plural: 'signers',
380
+ description: 'A person who needs to sign, view, or approve a document',
381
+ properties: {
382
+ // Identity
383
+ name: {
384
+ type: 'string',
385
+ description: 'Full name of the signer',
386
+ },
387
+ email: {
388
+ type: 'string',
389
+ description: 'Email address',
390
+ },
391
+ phone: {
392
+ type: 'string',
393
+ optional: true,
394
+ description: 'Phone number for SMS authentication',
395
+ },
396
+ // Role
397
+ role: {
398
+ type: 'string',
399
+ description: 'Signer role: signer, viewer, approver, editor',
400
+ examples: ['signer', 'viewer', 'approver', 'editor'],
401
+ },
402
+ roleName: {
403
+ type: 'string',
404
+ optional: true,
405
+ description: 'Custom role name (e.g., "Buyer", "Seller", "Witness")',
406
+ },
407
+ // Authentication
408
+ authMethod: {
409
+ type: 'string',
410
+ description: 'Authentication method: email, sms, none, oauth',
411
+ examples: ['email', 'sms', 'none', 'oauth'],
412
+ },
413
+ requireIdVerification: {
414
+ type: 'boolean',
415
+ optional: true,
416
+ description: 'Whether ID verification is required',
417
+ },
418
+ // Status
419
+ status: {
420
+ type: 'string',
421
+ description: 'Signer status: pending, active, completed, declined',
422
+ examples: ['pending', 'active', 'completed', 'declined'],
423
+ },
424
+ // Notifications
425
+ receiveEmailNotifications: {
426
+ type: 'boolean',
427
+ optional: true,
428
+ description: 'Whether to receive email notifications',
429
+ },
430
+ receiveSmsNotifications: {
431
+ type: 'boolean',
432
+ optional: true,
433
+ description: 'Whether to receive SMS notifications',
434
+ },
435
+ // Company
436
+ company: {
437
+ type: 'string',
438
+ optional: true,
439
+ description: 'Company or organization name',
440
+ },
441
+ title: {
442
+ type: 'string',
443
+ optional: true,
444
+ description: 'Job title',
445
+ },
446
+ // Metadata
447
+ metadata: {
448
+ type: 'json',
449
+ optional: true,
450
+ description: 'Additional signer metadata',
451
+ },
452
+ },
453
+ relationships: {
454
+ requests: {
455
+ type: 'SignatureRequest[]',
456
+ backref: 'signer',
457
+ description: 'Signature requests for this signer',
458
+ },
459
+ contact: {
460
+ type: 'Contact',
461
+ required: false,
462
+ description: 'Associated contact record',
463
+ },
464
+ },
465
+ actions: [
466
+ 'create',
467
+ 'edit',
468
+ 'delete',
469
+ 'sendInvitation',
470
+ 'resendInvitation',
471
+ 'verify',
472
+ 'updateRole',
473
+ 'updateAuthMethod',
474
+ ],
475
+ events: [
476
+ 'created',
477
+ 'edited',
478
+ 'deleted',
479
+ 'invitationSent',
480
+ 'invitationResent',
481
+ 'verified',
482
+ 'roleUpdated',
483
+ 'authMethodUpdated',
484
+ ],
485
+ };
486
+ // =============================================================================
487
+ // SignatureField
488
+ // =============================================================================
489
+ /**
490
+ * SignatureField entity
491
+ *
492
+ * Represents a field in the document where a signer must provide input.
493
+ * Includes signatures, initials, dates, text, checkboxes, and more.
494
+ */
495
+ export const SignatureField = {
496
+ singular: 'signature field',
497
+ plural: 'signature fields',
498
+ description: 'A field in the document where a signer must provide input',
499
+ properties: {
500
+ // Type
501
+ type: {
502
+ type: 'string',
503
+ description: 'Field type: signature, initials, date, text, checkbox, radio, dropdown, image',
504
+ examples: [
505
+ 'signature',
506
+ 'initials',
507
+ 'date',
508
+ 'text',
509
+ 'textarea',
510
+ 'checkbox',
511
+ 'radio',
512
+ 'dropdown',
513
+ 'image',
514
+ 'email',
515
+ 'phone',
516
+ 'number',
517
+ ],
518
+ },
519
+ // Position
520
+ page: {
521
+ type: 'number',
522
+ description: 'Page number (0-based)',
523
+ },
524
+ x: {
525
+ type: 'number',
526
+ description: 'X coordinate on the page',
527
+ },
528
+ y: {
529
+ type: 'number',
530
+ description: 'Y coordinate on the page',
531
+ },
532
+ width: {
533
+ type: 'number',
534
+ description: 'Field width',
535
+ },
536
+ height: {
537
+ type: 'number',
538
+ description: 'Field height',
539
+ },
540
+ // Validation
541
+ required: {
542
+ type: 'boolean',
543
+ optional: true,
544
+ description: 'Whether the field must be filled',
545
+ },
546
+ // Labels and help
547
+ label: {
548
+ type: 'string',
549
+ optional: true,
550
+ description: 'Field label',
551
+ },
552
+ placeholder: {
553
+ type: 'string',
554
+ optional: true,
555
+ description: 'Placeholder text',
556
+ },
557
+ tooltip: {
558
+ type: 'string',
559
+ optional: true,
560
+ description: 'Tooltip or help text',
561
+ },
562
+ // Options (for dropdown, radio)
563
+ options: {
564
+ type: 'string',
565
+ array: true,
566
+ optional: true,
567
+ description: 'Options for dropdown or radio fields',
568
+ },
569
+ // Default value
570
+ defaultValue: {
571
+ type: 'string',
572
+ optional: true,
573
+ description: 'Default or pre-filled value',
574
+ },
575
+ // Validation rules
576
+ validation: {
577
+ type: 'json',
578
+ optional: true,
579
+ description: 'Validation rules (regex, min/max length, format)',
580
+ },
581
+ minLength: {
582
+ type: 'number',
583
+ optional: true,
584
+ description: 'Minimum text length',
585
+ },
586
+ maxLength: {
587
+ type: 'number',
588
+ optional: true,
589
+ description: 'Maximum text length',
590
+ },
591
+ // Conditional logic
592
+ conditionalLogic: {
593
+ type: 'json',
594
+ optional: true,
595
+ description: 'Conditions for showing/hiding this field',
596
+ },
597
+ // Read-only
598
+ readOnly: {
599
+ type: 'boolean',
600
+ optional: true,
601
+ description: 'Whether the field is read-only',
602
+ },
603
+ // Group
604
+ group: {
605
+ type: 'string',
606
+ optional: true,
607
+ description: 'Field group for related fields',
608
+ },
609
+ // Value
610
+ value: {
611
+ type: 'string',
612
+ optional: true,
613
+ description: 'Current field value',
614
+ },
615
+ completedAt: {
616
+ type: 'datetime',
617
+ optional: true,
618
+ description: 'When the field was completed',
619
+ },
620
+ // Metadata
621
+ metadata: {
622
+ type: 'json',
623
+ optional: true,
624
+ description: 'Additional field metadata',
625
+ },
626
+ },
627
+ relationships: {
628
+ document: {
629
+ type: 'SignatureDocument',
630
+ backref: 'fields',
631
+ description: 'Document this field belongs to',
632
+ },
633
+ signer: {
634
+ type: 'Signer',
635
+ required: false,
636
+ description: 'Signer assigned to this field (null for shared fields)',
637
+ },
638
+ signature: {
639
+ type: 'Signature',
640
+ required: false,
641
+ backref: 'field',
642
+ description: 'Signature data for this field',
643
+ },
644
+ },
645
+ actions: [
646
+ 'create',
647
+ 'edit',
648
+ 'delete',
649
+ 'move',
650
+ 'resize',
651
+ 'duplicate',
652
+ 'setValue',
653
+ 'clearValue',
654
+ 'validate',
655
+ ],
656
+ events: [
657
+ 'created',
658
+ 'edited',
659
+ 'deleted',
660
+ 'moved',
661
+ 'resized',
662
+ 'duplicated',
663
+ 'valueSet',
664
+ 'valueCleared',
665
+ 'completed',
666
+ 'validated',
667
+ ],
668
+ };
669
+ // =============================================================================
670
+ // Signature
671
+ // =============================================================================
672
+ /**
673
+ * Signature entity
674
+ *
675
+ * Represents an actual signature or input provided by a signer.
676
+ * Captures the signature image/data and metadata for audit trail.
677
+ */
678
+ export const Signature = {
679
+ singular: 'signature',
680
+ plural: 'signatures',
681
+ description: 'An actual signature or input provided by a signer',
682
+ properties: {
683
+ // Type
684
+ type: {
685
+ type: 'string',
686
+ description: 'Signature type: drawn, typed, uploaded, stamp, mobile',
687
+ examples: ['drawn', 'typed', 'uploaded', 'stamp', 'mobile'],
688
+ },
689
+ // Data
690
+ imageUrl: {
691
+ type: 'url',
692
+ optional: true,
693
+ description: 'URL to the signature image',
694
+ },
695
+ imageData: {
696
+ type: 'string',
697
+ optional: true,
698
+ description: 'Base64-encoded signature image data',
699
+ },
700
+ textValue: {
701
+ type: 'string',
702
+ optional: true,
703
+ description: 'Text value for typed signatures or text fields',
704
+ },
705
+ // Timestamp
706
+ signedAt: {
707
+ type: 'datetime',
708
+ description: 'When the signature was created',
709
+ },
710
+ // Security and audit
711
+ ipAddress: {
712
+ type: 'string',
713
+ optional: true,
714
+ description: 'IP address where signature was created',
715
+ },
716
+ userAgent: {
717
+ type: 'string',
718
+ optional: true,
719
+ description: 'Browser user agent',
720
+ },
721
+ device: {
722
+ type: 'string',
723
+ optional: true,
724
+ description: 'Device type: desktop, mobile, tablet',
725
+ examples: ['desktop', 'mobile', 'tablet'],
726
+ },
727
+ location: {
728
+ type: 'json',
729
+ optional: true,
730
+ description: 'Geographic location data',
731
+ },
732
+ // Biometric data (for advanced security)
733
+ biometricData: {
734
+ type: 'json',
735
+ optional: true,
736
+ description: 'Biometric signature data (pressure, speed, etc.)',
737
+ },
738
+ // Font (for typed signatures)
739
+ fontFamily: {
740
+ type: 'string',
741
+ optional: true,
742
+ description: 'Font family for typed signatures',
743
+ },
744
+ fontSize: {
745
+ type: 'number',
746
+ optional: true,
747
+ description: 'Font size for typed signatures',
748
+ },
749
+ // Validation
750
+ validated: {
751
+ type: 'boolean',
752
+ optional: true,
753
+ description: 'Whether the signature has been validated',
754
+ },
755
+ validatedAt: {
756
+ type: 'datetime',
757
+ optional: true,
758
+ description: 'When the signature was validated',
759
+ },
760
+ // Metadata
761
+ metadata: {
762
+ type: 'json',
763
+ optional: true,
764
+ description: 'Additional signature metadata',
765
+ },
766
+ },
767
+ relationships: {
768
+ field: {
769
+ type: 'SignatureField',
770
+ backref: 'signature',
771
+ description: 'Field this signature belongs to',
772
+ },
773
+ signer: {
774
+ type: 'Signer',
775
+ description: 'Person who created the signature',
776
+ },
777
+ request: {
778
+ type: 'SignatureRequest',
779
+ backref: 'signatures',
780
+ description: 'Signature request this belongs to',
781
+ },
782
+ },
783
+ actions: [
784
+ 'create',
785
+ 'validate',
786
+ 'verify',
787
+ 'export',
788
+ 'delete',
789
+ ],
790
+ events: [
791
+ 'created',
792
+ 'validated',
793
+ 'verified',
794
+ 'exported',
795
+ 'deleted',
796
+ ],
797
+ };
798
+ // =============================================================================
799
+ // SignatureTemplate
800
+ // =============================================================================
801
+ /**
802
+ * SignatureTemplate entity
803
+ *
804
+ * Represents a reusable template for signature documents.
805
+ * Defines document structure, fields, and signer roles.
806
+ */
807
+ export const SignatureTemplate = {
808
+ singular: 'signature template',
809
+ plural: 'signature templates',
810
+ description: 'A reusable template for signature documents',
811
+ properties: {
812
+ // Identity
813
+ name: {
814
+ type: 'string',
815
+ description: 'Template name',
816
+ },
817
+ description: {
818
+ type: 'string',
819
+ optional: true,
820
+ description: 'Template description',
821
+ },
822
+ // Document
823
+ documentUrl: {
824
+ type: 'url',
825
+ optional: true,
826
+ description: 'URL to the template document',
827
+ },
828
+ documentFileName: {
829
+ type: 'string',
830
+ optional: true,
831
+ description: 'Template document file name',
832
+ },
833
+ // Fields configuration
834
+ fields: {
835
+ type: 'json',
836
+ description: 'Field definitions with positions and properties',
837
+ },
838
+ // Roles
839
+ roles: {
840
+ type: 'json',
841
+ description: 'Signer role definitions',
842
+ },
843
+ // Settings
844
+ settings: {
845
+ type: 'json',
846
+ optional: true,
847
+ description: 'Default template settings (reminders, expiration, etc.)',
848
+ },
849
+ // Usage
850
+ useCount: {
851
+ type: 'number',
852
+ optional: true,
853
+ description: 'Number of times template has been used',
854
+ },
855
+ lastUsedAt: {
856
+ type: 'datetime',
857
+ optional: true,
858
+ description: 'When the template was last used',
859
+ },
860
+ // Organization
861
+ category: {
862
+ type: 'string',
863
+ optional: true,
864
+ description: 'Template category',
865
+ },
866
+ tags: {
867
+ type: 'string',
868
+ array: true,
869
+ optional: true,
870
+ description: 'Tags for categorizing the template',
871
+ },
872
+ folder: {
873
+ type: 'string',
874
+ optional: true,
875
+ description: 'Folder or workspace',
876
+ },
877
+ // Sharing
878
+ shared: {
879
+ type: 'boolean',
880
+ optional: true,
881
+ description: 'Whether template is shared with organization',
882
+ },
883
+ public: {
884
+ type: 'boolean',
885
+ optional: true,
886
+ description: 'Whether template is publicly available',
887
+ },
888
+ // Version
889
+ version: {
890
+ type: 'number',
891
+ optional: true,
892
+ description: 'Template version number',
893
+ },
894
+ versionNotes: {
895
+ type: 'string',
896
+ optional: true,
897
+ description: 'Notes about this version',
898
+ },
899
+ // Metadata
900
+ metadata: {
901
+ type: 'json',
902
+ optional: true,
903
+ description: 'Additional template metadata',
904
+ },
905
+ },
906
+ relationships: {
907
+ documents: {
908
+ type: 'SignatureDocument[]',
909
+ backref: 'template',
910
+ description: 'Documents created from this template',
911
+ },
912
+ owner: {
913
+ type: 'Contact',
914
+ description: 'Template owner',
915
+ },
916
+ collaborators: {
917
+ type: 'Contact[]',
918
+ description: 'People with edit access to the template',
919
+ },
920
+ },
921
+ actions: [
922
+ 'create',
923
+ 'edit',
924
+ 'delete',
925
+ 'duplicate',
926
+ 'use',
927
+ 'share',
928
+ 'unshare',
929
+ 'publish',
930
+ 'unpublish',
931
+ 'archive',
932
+ 'export',
933
+ 'import',
934
+ 'createVersion',
935
+ ],
936
+ events: [
937
+ 'created',
938
+ 'edited',
939
+ 'deleted',
940
+ 'duplicated',
941
+ 'used',
942
+ 'shared',
943
+ 'unshared',
944
+ 'published',
945
+ 'unpublished',
946
+ 'archived',
947
+ 'exported',
948
+ 'imported',
949
+ 'versionCreated',
950
+ ],
951
+ };
952
+ // =============================================================================
953
+ // AuditTrail
954
+ // =============================================================================
955
+ /**
956
+ * AuditTrail entity
957
+ *
958
+ * Represents an audit log entry for compliance and tracking.
959
+ * Records all actions taken on signature documents.
960
+ */
961
+ export const AuditTrail = {
962
+ singular: 'audit trail entry',
963
+ plural: 'audit trail entries',
964
+ description: 'An audit log entry for tracking document actions and compliance',
965
+ properties: {
966
+ // Action
967
+ action: {
968
+ type: 'string',
969
+ description: 'Action performed',
970
+ examples: [
971
+ 'created',
972
+ 'sent',
973
+ 'viewed',
974
+ 'signed',
975
+ 'declined',
976
+ 'completed',
977
+ 'voided',
978
+ 'downloaded',
979
+ 'email_sent',
980
+ 'reminder_sent',
981
+ 'signer_added',
982
+ 'signer_removed',
983
+ 'field_added',
984
+ 'field_modified',
985
+ 'reassigned',
986
+ ],
987
+ },
988
+ // Actor
989
+ actor: {
990
+ type: 'string',
991
+ description: 'Who performed the action (name or email)',
992
+ },
993
+ actorRole: {
994
+ type: 'string',
995
+ optional: true,
996
+ description: 'Role of the actor: owner, signer, viewer, system',
997
+ examples: ['owner', 'signer', 'viewer', 'approver', 'system'],
998
+ },
999
+ // Timestamp
1000
+ timestamp: {
1001
+ type: 'datetime',
1002
+ description: 'When the action occurred',
1003
+ },
1004
+ // Location and device
1005
+ ipAddress: {
1006
+ type: 'string',
1007
+ optional: true,
1008
+ description: 'IP address where action was performed',
1009
+ },
1010
+ userAgent: {
1011
+ type: 'string',
1012
+ optional: true,
1013
+ description: 'Browser user agent',
1014
+ },
1015
+ device: {
1016
+ type: 'string',
1017
+ optional: true,
1018
+ description: 'Device type: desktop, mobile, tablet',
1019
+ examples: ['desktop', 'mobile', 'tablet'],
1020
+ },
1021
+ location: {
1022
+ type: 'json',
1023
+ optional: true,
1024
+ description: 'Geographic location data',
1025
+ },
1026
+ // Details
1027
+ details: {
1028
+ type: 'json',
1029
+ optional: true,
1030
+ description: 'Additional action details and metadata',
1031
+ },
1032
+ description: {
1033
+ type: 'string',
1034
+ optional: true,
1035
+ description: 'Human-readable action description',
1036
+ },
1037
+ // Related entities
1038
+ entityType: {
1039
+ type: 'string',
1040
+ optional: true,
1041
+ description: 'Type of entity affected: document, request, field, signature',
1042
+ examples: ['document', 'request', 'field', 'signature', 'template'],
1043
+ },
1044
+ entityId: {
1045
+ type: 'string',
1046
+ optional: true,
1047
+ description: 'ID of the affected entity',
1048
+ },
1049
+ // Security
1050
+ verified: {
1051
+ type: 'boolean',
1052
+ optional: true,
1053
+ description: 'Whether the action has been verified/validated',
1054
+ },
1055
+ hash: {
1056
+ type: 'string',
1057
+ optional: true,
1058
+ description: 'Cryptographic hash of the audit entry for tamper detection',
1059
+ },
1060
+ },
1061
+ relationships: {
1062
+ document: {
1063
+ type: 'SignatureDocument',
1064
+ backref: 'auditTrail',
1065
+ description: 'Document this audit entry relates to',
1066
+ },
1067
+ },
1068
+ actions: [
1069
+ 'view',
1070
+ 'export',
1071
+ 'verify',
1072
+ ],
1073
+ events: [
1074
+ 'created',
1075
+ 'exported',
1076
+ 'verified',
1077
+ ],
1078
+ };
1079
+ // =============================================================================
1080
+ // Export all entities as a schema
1081
+ // =============================================================================
1082
+ /**
1083
+ * All signature entity types
1084
+ */
1085
+ export const SignatureEntities = {
1086
+ SignatureDocument,
1087
+ SignatureRequest,
1088
+ Signer,
1089
+ SignatureField,
1090
+ Signature,
1091
+ SignatureTemplate,
1092
+ AuditTrail,
1093
+ };
1094
+ /**
1095
+ * Entity categories for organization
1096
+ */
1097
+ export const SignatureCategories = {
1098
+ documents: ['SignatureDocument', 'SignatureTemplate'],
1099
+ workflow: ['SignatureRequest', 'Signer'],
1100
+ fields: ['SignatureField', 'Signature'],
1101
+ compliance: ['AuditTrail'],
1102
+ };
1103
+ //# sourceMappingURL=signature.js.map