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,1275 @@
1
+ /**
2
+ * Presentation Entity Types (Nouns)
3
+ *
4
+ * Semantic type definitions for presentations that support
5
+ * Google Slides, Microsoft PowerPoint/PPTX, and Reveal.js/MDX formats.
6
+ * Each entity defines:
7
+ * - Properties: The data fields
8
+ * - Actions: Operations that can be performed (Verbs)
9
+ * - Events: State changes that occur
10
+ *
11
+ * @packageDocumentation
12
+ */
13
+ // =============================================================================
14
+ // Presentation
15
+ // =============================================================================
16
+ /**
17
+ * Presentation entity
18
+ *
19
+ * Represents a slide presentation for creating and delivering visual content.
20
+ * Supports Google Slides, PowerPoint/PPTX, and Reveal.js/MDX formats.
21
+ */
22
+ export const Presentation = {
23
+ singular: 'presentation',
24
+ plural: 'presentations',
25
+ description: 'A slide presentation for creating and delivering visual content',
26
+ properties: {
27
+ // Identity
28
+ title: {
29
+ type: 'string',
30
+ description: 'Presentation title',
31
+ },
32
+ slug: {
33
+ type: 'string',
34
+ optional: true,
35
+ description: 'URL-friendly identifier',
36
+ },
37
+ description: {
38
+ type: 'string',
39
+ optional: true,
40
+ description: 'Presentation description or summary',
41
+ },
42
+ subtitle: {
43
+ type: 'string',
44
+ optional: true,
45
+ description: 'Presentation subtitle',
46
+ },
47
+ // Format
48
+ format: {
49
+ type: 'string',
50
+ description: 'Presentation format: pptx, gslides, revealjs, mdx, pdf',
51
+ examples: ['pptx', 'gslides', 'revealjs', 'mdx', 'pdf', 'keynote'],
52
+ },
53
+ aspectRatio: {
54
+ type: 'string',
55
+ optional: true,
56
+ description: 'Slide aspect ratio: 16:9, 4:3, 16:10',
57
+ examples: ['16:9', '4:3', '16:10'],
58
+ },
59
+ slideSize: {
60
+ type: 'json',
61
+ optional: true,
62
+ description: 'Custom slide dimensions',
63
+ },
64
+ // Status
65
+ status: {
66
+ type: 'string',
67
+ description: 'Presentation status: draft, in-review, ready, presented, archived',
68
+ examples: ['draft', 'in-review', 'ready', 'presented', 'archived'],
69
+ },
70
+ visibility: {
71
+ type: 'string',
72
+ description: 'Visibility: private, internal, public',
73
+ examples: ['private', 'internal', 'public'],
74
+ },
75
+ // Structure
76
+ slideCount: {
77
+ type: 'number',
78
+ optional: true,
79
+ description: 'Total number of slides',
80
+ },
81
+ duration: {
82
+ type: 'number',
83
+ optional: true,
84
+ description: 'Estimated presentation duration in minutes',
85
+ },
86
+ // Theme and styling
87
+ theme: {
88
+ type: 'string',
89
+ optional: true,
90
+ description: 'Presentation theme name',
91
+ },
92
+ themeConfig: {
93
+ type: 'json',
94
+ optional: true,
95
+ description: 'Theme configuration and customization',
96
+ },
97
+ masterSlides: {
98
+ type: 'json',
99
+ optional: true,
100
+ description: 'Master slide layouts',
101
+ },
102
+ colorScheme: {
103
+ type: 'json',
104
+ optional: true,
105
+ description: 'Color scheme configuration',
106
+ },
107
+ fontScheme: {
108
+ type: 'json',
109
+ optional: true,
110
+ description: 'Font scheme configuration',
111
+ },
112
+ // Transitions and animations
113
+ defaultTransition: {
114
+ type: 'string',
115
+ optional: true,
116
+ description: 'Default slide transition effect',
117
+ examples: ['none', 'fade', 'slide', 'zoom', 'flip', 'cube', 'wipe'],
118
+ },
119
+ transitionSpeed: {
120
+ type: 'string',
121
+ optional: true,
122
+ description: 'Transition speed: slow, default, fast',
123
+ examples: ['slow', 'default', 'fast'],
124
+ },
125
+ // Presenter features
126
+ hasNotes: {
127
+ type: 'boolean',
128
+ optional: true,
129
+ description: 'Whether presentation includes speaker notes',
130
+ },
131
+ hasTimings: {
132
+ type: 'boolean',
133
+ optional: true,
134
+ description: 'Whether slides have timing information',
135
+ },
136
+ autoAdvance: {
137
+ type: 'boolean',
138
+ optional: true,
139
+ description: 'Whether slides auto-advance',
140
+ },
141
+ autoAdvanceDelay: {
142
+ type: 'number',
143
+ optional: true,
144
+ description: 'Auto-advance delay in seconds',
145
+ },
146
+ loop: {
147
+ type: 'boolean',
148
+ optional: true,
149
+ description: 'Whether presentation loops',
150
+ },
151
+ // Collaboration
152
+ allowComments: {
153
+ type: 'boolean',
154
+ optional: true,
155
+ description: 'Whether comments are enabled',
156
+ },
157
+ shareMode: {
158
+ type: 'string',
159
+ optional: true,
160
+ description: 'Sharing mode: view, comment, edit, present',
161
+ examples: ['view', 'comment', 'edit', 'present'],
162
+ },
163
+ allowDownload: {
164
+ type: 'boolean',
165
+ optional: true,
166
+ description: 'Whether download is allowed',
167
+ },
168
+ // Templates
169
+ isTemplate: {
170
+ type: 'boolean',
171
+ optional: true,
172
+ description: 'Whether this is a template',
173
+ },
174
+ templateId: {
175
+ type: 'string',
176
+ optional: true,
177
+ description: 'ID of template this was created from',
178
+ },
179
+ templateCategory: {
180
+ type: 'string',
181
+ optional: true,
182
+ description: 'Template category',
183
+ examples: ['business', 'education', 'pitch-deck', 'report', 'training'],
184
+ },
185
+ // Publishing
186
+ published: {
187
+ type: 'boolean',
188
+ optional: true,
189
+ description: 'Whether presentation is published',
190
+ },
191
+ publishedUrl: {
192
+ type: 'url',
193
+ optional: true,
194
+ description: 'Published presentation URL',
195
+ },
196
+ publishedAt: {
197
+ type: 'datetime',
198
+ optional: true,
199
+ description: 'Publication timestamp',
200
+ },
201
+ embedCode: {
202
+ type: 'string',
203
+ optional: true,
204
+ description: 'HTML embed code',
205
+ },
206
+ // Presentation sessions
207
+ lastPresentedAt: {
208
+ type: 'datetime',
209
+ optional: true,
210
+ description: 'Last presentation timestamp',
211
+ },
212
+ presentationCount: {
213
+ type: 'number',
214
+ optional: true,
215
+ description: 'Number of times presented',
216
+ },
217
+ // Integration
218
+ externalId: {
219
+ type: 'string',
220
+ optional: true,
221
+ description: 'External system ID (Google Slides ID, OneDrive ID, etc.)',
222
+ },
223
+ externalUrl: {
224
+ type: 'url',
225
+ optional: true,
226
+ description: 'URL in external system',
227
+ },
228
+ syncEnabled: {
229
+ type: 'boolean',
230
+ optional: true,
231
+ description: 'Whether sync is enabled',
232
+ },
233
+ lastSyncedAt: {
234
+ type: 'datetime',
235
+ optional: true,
236
+ description: 'Last sync timestamp',
237
+ },
238
+ // Metadata
239
+ language: {
240
+ type: 'string',
241
+ optional: true,
242
+ description: 'Presentation language code',
243
+ },
244
+ author: {
245
+ type: 'string',
246
+ optional: true,
247
+ description: 'Presentation author name',
248
+ },
249
+ company: {
250
+ type: 'string',
251
+ optional: true,
252
+ description: 'Company or organization',
253
+ },
254
+ tags: {
255
+ type: 'string',
256
+ array: true,
257
+ optional: true,
258
+ description: 'Tags for categorization',
259
+ },
260
+ category: {
261
+ type: 'string',
262
+ optional: true,
263
+ description: 'Presentation category',
264
+ },
265
+ folder: {
266
+ type: 'string',
267
+ optional: true,
268
+ description: 'Folder or workspace path',
269
+ },
270
+ customMetadata: {
271
+ type: 'json',
272
+ optional: true,
273
+ description: 'Custom metadata fields',
274
+ },
275
+ // Analytics
276
+ viewCount: {
277
+ type: 'number',
278
+ optional: true,
279
+ description: 'Number of views',
280
+ },
281
+ downloadCount: {
282
+ type: 'number',
283
+ optional: true,
284
+ description: 'Number of downloads',
285
+ },
286
+ lastViewedAt: {
287
+ type: 'datetime',
288
+ optional: true,
289
+ description: 'Last view timestamp',
290
+ },
291
+ lastEditedAt: {
292
+ type: 'datetime',
293
+ optional: true,
294
+ description: 'Last edit timestamp',
295
+ },
296
+ },
297
+ relationships: {
298
+ owner: {
299
+ type: 'Contact',
300
+ description: 'Presentation owner',
301
+ },
302
+ creator: {
303
+ type: 'Contact',
304
+ description: 'User who created the presentation',
305
+ },
306
+ lastEditor: {
307
+ type: 'Contact',
308
+ required: false,
309
+ description: 'User who last edited',
310
+ },
311
+ slides: {
312
+ type: 'Slide[]',
313
+ backref: 'presentation',
314
+ description: 'Slides in this presentation',
315
+ },
316
+ collaborators: {
317
+ type: 'Contact[]',
318
+ description: 'Users with access',
319
+ },
320
+ },
321
+ actions: [
322
+ 'create',
323
+ 'open',
324
+ 'edit',
325
+ 'save',
326
+ 'saveAs',
327
+ 'duplicate',
328
+ 'rename',
329
+ 'delete',
330
+ 'restore',
331
+ 'export',
332
+ 'download',
333
+ 'print',
334
+ 'share',
335
+ 'unshare',
336
+ 'publish',
337
+ 'unpublish',
338
+ 'archive',
339
+ 'unarchive',
340
+ 'move',
341
+ 'copy',
342
+ 'present',
343
+ 'startPresentation',
344
+ 'endPresentation',
345
+ 'addSlide',
346
+ 'removeSlide',
347
+ 'reorderSlides',
348
+ 'duplicateSlide',
349
+ 'makeTemplate',
350
+ 'createFromTemplate',
351
+ 'applyTheme',
352
+ 'changeAspectRatio',
353
+ 'setTransitions',
354
+ 'addAnimation',
355
+ 'recordPresentation',
356
+ 'embedPresentation',
357
+ ],
358
+ events: [
359
+ 'created',
360
+ 'opened',
361
+ 'edited',
362
+ 'saved',
363
+ 'renamed',
364
+ 'deleted',
365
+ 'restored',
366
+ 'exported',
367
+ 'downloaded',
368
+ 'printed',
369
+ 'shared',
370
+ 'unshared',
371
+ 'published',
372
+ 'unpublished',
373
+ 'archived',
374
+ 'unarchived',
375
+ 'moved',
376
+ 'copied',
377
+ 'presented',
378
+ 'presentationStarted',
379
+ 'presentationEnded',
380
+ 'slideAdded',
381
+ 'slideRemoved',
382
+ 'slidesReordered',
383
+ 'slideDuplicated',
384
+ 'themeApplied',
385
+ 'aspectRatioChanged',
386
+ 'transitionsSet',
387
+ 'animationAdded',
388
+ 'recorded',
389
+ 'embedded',
390
+ 'collaboratorAdded',
391
+ 'collaboratorRemoved',
392
+ 'permissionChanged',
393
+ 'synced',
394
+ 'viewed',
395
+ ],
396
+ };
397
+ // =============================================================================
398
+ // Slide
399
+ // =============================================================================
400
+ /**
401
+ * Slide entity
402
+ *
403
+ * Represents a single slide within a presentation.
404
+ */
405
+ export const Slide = {
406
+ singular: 'slide',
407
+ plural: 'slides',
408
+ description: 'A single slide within a presentation',
409
+ properties: {
410
+ // Identity
411
+ title: {
412
+ type: 'string',
413
+ optional: true,
414
+ description: 'Slide title',
415
+ },
416
+ index: {
417
+ type: 'number',
418
+ description: 'Slide position in presentation (0-based)',
419
+ },
420
+ slideId: {
421
+ type: 'string',
422
+ optional: true,
423
+ description: 'Internal slide identifier',
424
+ },
425
+ // Layout
426
+ layout: {
427
+ type: 'string',
428
+ optional: true,
429
+ description: 'Slide layout type',
430
+ examples: [
431
+ 'title',
432
+ 'title-content',
433
+ 'section-header',
434
+ 'two-column',
435
+ 'comparison',
436
+ 'blank',
437
+ 'content',
438
+ 'title-only',
439
+ 'picture',
440
+ ],
441
+ },
442
+ masterSlideId: {
443
+ type: 'string',
444
+ optional: true,
445
+ description: 'Master slide/layout reference',
446
+ },
447
+ // Background
448
+ backgroundColor: {
449
+ type: 'string',
450
+ optional: true,
451
+ description: 'Background color (hex)',
452
+ },
453
+ backgroundImage: {
454
+ type: 'url',
455
+ optional: true,
456
+ description: 'Background image URL',
457
+ },
458
+ backgroundType: {
459
+ type: 'string',
460
+ optional: true,
461
+ description: 'Background type: solid, gradient, image, video',
462
+ examples: ['solid', 'gradient', 'image', 'video'],
463
+ },
464
+ backgroundGradient: {
465
+ type: 'json',
466
+ optional: true,
467
+ description: 'Gradient configuration',
468
+ },
469
+ // Transition
470
+ transition: {
471
+ type: 'string',
472
+ optional: true,
473
+ description: 'Slide transition effect',
474
+ examples: ['none', 'fade', 'slide', 'zoom', 'flip', 'cube', 'wipe', 'dissolve'],
475
+ },
476
+ transitionDuration: {
477
+ type: 'number',
478
+ optional: true,
479
+ description: 'Transition duration in milliseconds',
480
+ },
481
+ transitionDirection: {
482
+ type: 'string',
483
+ optional: true,
484
+ description: 'Transition direction',
485
+ examples: ['left', 'right', 'up', 'down'],
486
+ },
487
+ // Timing
488
+ duration: {
489
+ type: 'number',
490
+ optional: true,
491
+ description: 'Slide display duration in seconds',
492
+ },
493
+ autoAdvance: {
494
+ type: 'boolean',
495
+ optional: true,
496
+ description: 'Whether slide auto-advances',
497
+ },
498
+ advanceAfter: {
499
+ type: 'number',
500
+ optional: true,
501
+ description: 'Seconds before auto-advance',
502
+ },
503
+ // Content
504
+ hasContent: {
505
+ type: 'boolean',
506
+ optional: true,
507
+ description: 'Whether slide has content elements',
508
+ },
509
+ elementCount: {
510
+ type: 'number',
511
+ optional: true,
512
+ description: 'Number of elements on slide',
513
+ },
514
+ // Notes
515
+ notes: {
516
+ type: 'string',
517
+ optional: true,
518
+ description: 'Speaker notes for this slide',
519
+ },
520
+ hasNotes: {
521
+ type: 'boolean',
522
+ optional: true,
523
+ description: 'Whether slide has speaker notes',
524
+ },
525
+ // Visibility
526
+ hidden: {
527
+ type: 'boolean',
528
+ optional: true,
529
+ description: 'Whether slide is hidden',
530
+ },
531
+ // Section
532
+ sectionTitle: {
533
+ type: 'string',
534
+ optional: true,
535
+ description: 'Section this slide belongs to',
536
+ },
537
+ isSection: {
538
+ type: 'boolean',
539
+ optional: true,
540
+ description: 'Whether this is a section divider',
541
+ },
542
+ // Animations
543
+ hasAnimations: {
544
+ type: 'boolean',
545
+ optional: true,
546
+ description: 'Whether slide has animations',
547
+ },
548
+ animationCount: {
549
+ type: 'number',
550
+ optional: true,
551
+ description: 'Number of animations',
552
+ },
553
+ // Thumbnail
554
+ thumbnail: {
555
+ type: 'url',
556
+ optional: true,
557
+ description: 'Slide thumbnail URL',
558
+ },
559
+ // Metadata
560
+ metadata: {
561
+ type: 'json',
562
+ optional: true,
563
+ description: 'Custom metadata',
564
+ },
565
+ },
566
+ relationships: {
567
+ presentation: {
568
+ type: 'Presentation',
569
+ backref: 'slides',
570
+ description: 'Parent presentation',
571
+ },
572
+ elements: {
573
+ type: 'SlideElement[]',
574
+ backref: 'slide',
575
+ description: 'Elements on this slide',
576
+ },
577
+ speakerNotes: {
578
+ type: 'SpeakerNotes',
579
+ required: false,
580
+ description: 'Detailed speaker notes',
581
+ },
582
+ animations: {
583
+ type: 'Animation[]',
584
+ backref: 'slide',
585
+ description: 'Animations on this slide',
586
+ },
587
+ },
588
+ actions: [
589
+ 'create',
590
+ 'edit',
591
+ 'delete',
592
+ 'duplicate',
593
+ 'move',
594
+ 'hide',
595
+ 'unhide',
596
+ 'setLayout',
597
+ 'setBackground',
598
+ 'setTransition',
599
+ 'addElement',
600
+ 'removeElement',
601
+ 'reorderElements',
602
+ 'addNotes',
603
+ 'editNotes',
604
+ 'addAnimation',
605
+ 'preview',
606
+ 'present',
607
+ 'export',
608
+ 'generateThumbnail',
609
+ 'createSection',
610
+ ],
611
+ events: [
612
+ 'created',
613
+ 'edited',
614
+ 'deleted',
615
+ 'duplicated',
616
+ 'moved',
617
+ 'hidden',
618
+ 'unhidden',
619
+ 'layoutSet',
620
+ 'backgroundSet',
621
+ 'transitionSet',
622
+ 'elementAdded',
623
+ 'elementRemoved',
624
+ 'elementsReordered',
625
+ 'notesAdded',
626
+ 'notesEdited',
627
+ 'animationAdded',
628
+ 'presented',
629
+ 'exported',
630
+ 'thumbnailGenerated',
631
+ 'sectionCreated',
632
+ ],
633
+ };
634
+ // =============================================================================
635
+ // SlideElement
636
+ // =============================================================================
637
+ /**
638
+ * SlideElement entity
639
+ *
640
+ * Represents a content element on a slide (text, image, shape, chart, etc.).
641
+ */
642
+ export const SlideElement = {
643
+ singular: 'slide element',
644
+ plural: 'slide elements',
645
+ description: 'A content element on a slide (text, image, shape, chart, video, etc.)',
646
+ properties: {
647
+ // Identity
648
+ elementId: {
649
+ type: 'string',
650
+ optional: true,
651
+ description: 'Unique element identifier',
652
+ },
653
+ name: {
654
+ type: 'string',
655
+ optional: true,
656
+ description: 'Element name or label',
657
+ },
658
+ // Type
659
+ type: {
660
+ type: 'string',
661
+ description: 'Element type',
662
+ examples: [
663
+ 'text',
664
+ 'textbox',
665
+ 'image',
666
+ 'shape',
667
+ 'chart',
668
+ 'table',
669
+ 'video',
670
+ 'audio',
671
+ 'embed',
672
+ 'line',
673
+ 'arrow',
674
+ 'group',
675
+ 'smartart',
676
+ ],
677
+ },
678
+ subtype: {
679
+ type: 'string',
680
+ optional: true,
681
+ description: 'Element subtype (shape type, chart type, etc.)',
682
+ },
683
+ // Position and size
684
+ x: {
685
+ type: 'number',
686
+ description: 'X position in slide coordinates',
687
+ },
688
+ y: {
689
+ type: 'number',
690
+ description: 'Y position in slide coordinates',
691
+ },
692
+ width: {
693
+ type: 'number',
694
+ description: 'Element width',
695
+ },
696
+ height: {
697
+ type: 'number',
698
+ description: 'Element height',
699
+ },
700
+ rotation: {
701
+ type: 'number',
702
+ optional: true,
703
+ description: 'Rotation angle in degrees',
704
+ },
705
+ zIndex: {
706
+ type: 'number',
707
+ optional: true,
708
+ description: 'Z-index for layering',
709
+ },
710
+ // Content (varies by type)
711
+ content: {
712
+ type: 'string',
713
+ optional: true,
714
+ description: 'Element content (text, URL, etc.)',
715
+ },
716
+ richContent: {
717
+ type: 'json',
718
+ optional: true,
719
+ description: 'Rich formatted content',
720
+ },
721
+ // Text-specific
722
+ text: {
723
+ type: 'string',
724
+ optional: true,
725
+ description: 'Text content',
726
+ },
727
+ fontFamily: {
728
+ type: 'string',
729
+ optional: true,
730
+ description: 'Font family',
731
+ },
732
+ fontSize: {
733
+ type: 'number',
734
+ optional: true,
735
+ description: 'Font size in points',
736
+ },
737
+ fontWeight: {
738
+ type: 'string',
739
+ optional: true,
740
+ description: 'Font weight: normal, bold',
741
+ examples: ['normal', 'bold'],
742
+ },
743
+ fontStyle: {
744
+ type: 'string',
745
+ optional: true,
746
+ description: 'Font style: normal, italic',
747
+ examples: ['normal', 'italic'],
748
+ },
749
+ textAlign: {
750
+ type: 'string',
751
+ optional: true,
752
+ description: 'Text alignment: left, center, right, justify',
753
+ examples: ['left', 'center', 'right', 'justify'],
754
+ },
755
+ textColor: {
756
+ type: 'string',
757
+ optional: true,
758
+ description: 'Text color (hex)',
759
+ },
760
+ lineHeight: {
761
+ type: 'number',
762
+ optional: true,
763
+ description: 'Line height multiplier',
764
+ },
765
+ bulletStyle: {
766
+ type: 'string',
767
+ optional: true,
768
+ description: 'Bullet list style',
769
+ },
770
+ // Image-specific
771
+ imageUrl: {
772
+ type: 'url',
773
+ optional: true,
774
+ description: 'Image URL',
775
+ },
776
+ imageSource: {
777
+ type: 'string',
778
+ optional: true,
779
+ description: 'Image source or attribution',
780
+ },
781
+ imageAlt: {
782
+ type: 'string',
783
+ optional: true,
784
+ description: 'Image alt text',
785
+ },
786
+ // Video-specific
787
+ videoUrl: {
788
+ type: 'url',
789
+ optional: true,
790
+ description: 'Video URL',
791
+ },
792
+ videoProvider: {
793
+ type: 'string',
794
+ optional: true,
795
+ description: 'Video provider: youtube, vimeo, etc.',
796
+ examples: ['youtube', 'vimeo', 'local'],
797
+ },
798
+ autoplay: {
799
+ type: 'boolean',
800
+ optional: true,
801
+ description: 'Whether video autoplays',
802
+ },
803
+ loop: {
804
+ type: 'boolean',
805
+ optional: true,
806
+ description: 'Whether video loops',
807
+ },
808
+ // Shape-specific
809
+ shapeType: {
810
+ type: 'string',
811
+ optional: true,
812
+ description: 'Shape type',
813
+ examples: ['rectangle', 'circle', 'triangle', 'star', 'arrow', 'callout'],
814
+ },
815
+ fillColor: {
816
+ type: 'string',
817
+ optional: true,
818
+ description: 'Fill color (hex)',
819
+ },
820
+ strokeColor: {
821
+ type: 'string',
822
+ optional: true,
823
+ description: 'Stroke/border color (hex)',
824
+ },
825
+ strokeWidth: {
826
+ type: 'number',
827
+ optional: true,
828
+ description: 'Stroke width in points',
829
+ },
830
+ // Chart-specific
831
+ chartType: {
832
+ type: 'string',
833
+ optional: true,
834
+ description: 'Chart type',
835
+ examples: ['line', 'bar', 'pie', 'scatter', 'area'],
836
+ },
837
+ chartData: {
838
+ type: 'json',
839
+ optional: true,
840
+ description: 'Chart data and configuration',
841
+ },
842
+ // Table-specific
843
+ tableData: {
844
+ type: 'json',
845
+ optional: true,
846
+ description: 'Table data as 2D array',
847
+ },
848
+ tableRows: {
849
+ type: 'number',
850
+ optional: true,
851
+ description: 'Number of table rows',
852
+ },
853
+ tableColumns: {
854
+ type: 'number',
855
+ optional: true,
856
+ description: 'Number of table columns',
857
+ },
858
+ // Styling
859
+ backgroundColor: {
860
+ type: 'string',
861
+ optional: true,
862
+ description: 'Background color (hex)',
863
+ },
864
+ opacity: {
865
+ type: 'number',
866
+ optional: true,
867
+ description: 'Opacity (0-1)',
868
+ },
869
+ shadow: {
870
+ type: 'json',
871
+ optional: true,
872
+ description: 'Shadow configuration',
873
+ },
874
+ border: {
875
+ type: 'json',
876
+ optional: true,
877
+ description: 'Border configuration',
878
+ },
879
+ // Interactions
880
+ link: {
881
+ type: 'url',
882
+ optional: true,
883
+ description: 'Hyperlink URL',
884
+ },
885
+ linkType: {
886
+ type: 'string',
887
+ optional: true,
888
+ description: 'Link type: url, slide, file',
889
+ examples: ['url', 'slide', 'file', 'email'],
890
+ },
891
+ linkedSlideIndex: {
892
+ type: 'number',
893
+ optional: true,
894
+ description: 'Linked slide index for navigation',
895
+ },
896
+ // Animation
897
+ hasAnimation: {
898
+ type: 'boolean',
899
+ optional: true,
900
+ description: 'Whether element has animation',
901
+ },
902
+ // Grouping
903
+ isGrouped: {
904
+ type: 'boolean',
905
+ optional: true,
906
+ description: 'Whether element is part of a group',
907
+ },
908
+ groupId: {
909
+ type: 'string',
910
+ optional: true,
911
+ description: 'Group identifier',
912
+ },
913
+ // Visibility
914
+ hidden: {
915
+ type: 'boolean',
916
+ optional: true,
917
+ description: 'Whether element is hidden',
918
+ },
919
+ locked: {
920
+ type: 'boolean',
921
+ optional: true,
922
+ description: 'Whether element is locked from editing',
923
+ },
924
+ // Metadata
925
+ metadata: {
926
+ type: 'json',
927
+ optional: true,
928
+ description: 'Custom metadata',
929
+ },
930
+ },
931
+ relationships: {
932
+ slide: {
933
+ type: 'Slide',
934
+ backref: 'elements',
935
+ description: 'Parent slide',
936
+ },
937
+ animations: {
938
+ type: 'Animation[]',
939
+ backref: 'element',
940
+ description: 'Animations applied to this element',
941
+ },
942
+ },
943
+ actions: [
944
+ 'create',
945
+ 'edit',
946
+ 'delete',
947
+ 'duplicate',
948
+ 'move',
949
+ 'resize',
950
+ 'rotate',
951
+ 'bringToFront',
952
+ 'sendToBack',
953
+ 'bringForward',
954
+ 'sendBackward',
955
+ 'align',
956
+ 'distribute',
957
+ 'group',
958
+ 'ungroup',
959
+ 'lock',
960
+ 'unlock',
961
+ 'hide',
962
+ 'unhide',
963
+ 'setStyle',
964
+ 'addLink',
965
+ 'removeLink',
966
+ 'addAnimation',
967
+ 'copy',
968
+ 'paste',
969
+ 'cut',
970
+ ],
971
+ events: [
972
+ 'created',
973
+ 'edited',
974
+ 'deleted',
975
+ 'duplicated',
976
+ 'moved',
977
+ 'resized',
978
+ 'rotated',
979
+ 'reordered',
980
+ 'aligned',
981
+ 'distributed',
982
+ 'grouped',
983
+ 'ungrouped',
984
+ 'locked',
985
+ 'unlocked',
986
+ 'hidden',
987
+ 'unhidden',
988
+ 'styled',
989
+ 'linkAdded',
990
+ 'linkRemoved',
991
+ 'animationAdded',
992
+ 'copied',
993
+ 'pasted',
994
+ ],
995
+ };
996
+ // =============================================================================
997
+ // SpeakerNotes
998
+ // =============================================================================
999
+ /**
1000
+ * SpeakerNotes entity
1001
+ *
1002
+ * Represents detailed speaker notes for a slide.
1003
+ */
1004
+ export const SpeakerNotes = {
1005
+ singular: 'speaker notes',
1006
+ plural: 'speaker notes',
1007
+ description: 'Detailed speaker notes for a presentation slide',
1008
+ properties: {
1009
+ // Content
1010
+ text: {
1011
+ type: 'string',
1012
+ description: 'Notes text content',
1013
+ },
1014
+ richText: {
1015
+ type: 'json',
1016
+ optional: true,
1017
+ description: 'Rich formatted notes',
1018
+ },
1019
+ // Formatting
1020
+ fontSize: {
1021
+ type: 'number',
1022
+ optional: true,
1023
+ description: 'Font size for display',
1024
+ },
1025
+ // Timing
1026
+ estimatedTime: {
1027
+ type: 'number',
1028
+ optional: true,
1029
+ description: 'Estimated time for this slide in seconds',
1030
+ },
1031
+ actualTime: {
1032
+ type: 'number',
1033
+ optional: true,
1034
+ description: 'Actual time spent on slide during presentation',
1035
+ },
1036
+ // Cues
1037
+ cuePoints: {
1038
+ type: 'json',
1039
+ optional: true,
1040
+ description: 'Timing cues or reminders',
1041
+ },
1042
+ // Structure
1043
+ keyPoints: {
1044
+ type: 'string',
1045
+ array: true,
1046
+ optional: true,
1047
+ description: 'Key points to cover',
1048
+ },
1049
+ questions: {
1050
+ type: 'string',
1051
+ array: true,
1052
+ optional: true,
1053
+ description: 'Questions to ask audience',
1054
+ },
1055
+ // Visibility
1056
+ visibleToAudience: {
1057
+ type: 'boolean',
1058
+ optional: true,
1059
+ description: 'Whether notes are visible to audience',
1060
+ },
1061
+ // Metadata
1062
+ metadata: {
1063
+ type: 'json',
1064
+ optional: true,
1065
+ description: 'Custom metadata',
1066
+ },
1067
+ },
1068
+ relationships: {
1069
+ slide: {
1070
+ type: 'Slide',
1071
+ description: 'Associated slide',
1072
+ },
1073
+ },
1074
+ actions: [
1075
+ 'create',
1076
+ 'edit',
1077
+ 'delete',
1078
+ 'clear',
1079
+ 'format',
1080
+ 'addCue',
1081
+ 'removeCue',
1082
+ 'setTiming',
1083
+ 'addKeyPoint',
1084
+ 'addQuestion',
1085
+ 'print',
1086
+ 'export',
1087
+ ],
1088
+ events: [
1089
+ 'created',
1090
+ 'edited',
1091
+ 'deleted',
1092
+ 'cleared',
1093
+ 'formatted',
1094
+ 'cueAdded',
1095
+ 'cueRemoved',
1096
+ 'timingSet',
1097
+ 'keyPointAdded',
1098
+ 'questionAdded',
1099
+ 'printed',
1100
+ 'exported',
1101
+ ],
1102
+ };
1103
+ // =============================================================================
1104
+ // Animation
1105
+ // =============================================================================
1106
+ /**
1107
+ * Animation entity
1108
+ *
1109
+ * Represents an animation effect applied to a slide or element.
1110
+ */
1111
+ export const Animation = {
1112
+ singular: 'animation',
1113
+ plural: 'animations',
1114
+ description: 'An animation effect applied to a slide or element',
1115
+ properties: {
1116
+ // Type
1117
+ type: {
1118
+ type: 'string',
1119
+ description: 'Animation type: entrance, emphasis, exit, motion',
1120
+ examples: ['entrance', 'emphasis', 'exit', 'motion'],
1121
+ },
1122
+ effect: {
1123
+ type: 'string',
1124
+ description: 'Animation effect name',
1125
+ examples: [
1126
+ 'fade',
1127
+ 'fly',
1128
+ 'wipe',
1129
+ 'split',
1130
+ 'shape',
1131
+ 'wheel',
1132
+ 'zoom',
1133
+ 'bounce',
1134
+ 'spin',
1135
+ 'grow',
1136
+ 'shrink',
1137
+ 'pulse',
1138
+ ],
1139
+ },
1140
+ variant: {
1141
+ type: 'string',
1142
+ optional: true,
1143
+ description: 'Effect variant or direction',
1144
+ examples: ['left', 'right', 'up', 'down', 'in', 'out'],
1145
+ },
1146
+ // Timing
1147
+ trigger: {
1148
+ type: 'string',
1149
+ description: 'Animation trigger: on-click, with-previous, after-previous, auto',
1150
+ examples: ['on-click', 'with-previous', 'after-previous', 'auto'],
1151
+ },
1152
+ order: {
1153
+ type: 'number',
1154
+ description: 'Animation sequence order',
1155
+ },
1156
+ delay: {
1157
+ type: 'number',
1158
+ optional: true,
1159
+ description: 'Delay before animation starts in milliseconds',
1160
+ },
1161
+ duration: {
1162
+ type: 'number',
1163
+ optional: true,
1164
+ description: 'Animation duration in milliseconds',
1165
+ },
1166
+ // Easing
1167
+ easing: {
1168
+ type: 'string',
1169
+ optional: true,
1170
+ description: 'Easing function',
1171
+ examples: ['linear', 'ease', 'ease-in', 'ease-out', 'ease-in-out', 'bounce', 'elastic'],
1172
+ },
1173
+ // Motion path (for motion animations)
1174
+ motionPath: {
1175
+ type: 'json',
1176
+ optional: true,
1177
+ description: 'Motion path configuration',
1178
+ },
1179
+ // Options
1180
+ reverse: {
1181
+ type: 'boolean',
1182
+ optional: true,
1183
+ description: 'Whether animation plays in reverse',
1184
+ },
1185
+ rewind: {
1186
+ type: 'boolean',
1187
+ optional: true,
1188
+ description: 'Whether element rewinds after animation',
1189
+ },
1190
+ loop: {
1191
+ type: 'boolean',
1192
+ optional: true,
1193
+ description: 'Whether animation loops',
1194
+ },
1195
+ loopCount: {
1196
+ type: 'number',
1197
+ optional: true,
1198
+ description: 'Number of times to loop',
1199
+ },
1200
+ // Sound
1201
+ soundEffect: {
1202
+ type: 'url',
1203
+ optional: true,
1204
+ description: 'Sound effect URL',
1205
+ },
1206
+ // Metadata
1207
+ metadata: {
1208
+ type: 'json',
1209
+ optional: true,
1210
+ description: 'Custom metadata',
1211
+ },
1212
+ },
1213
+ relationships: {
1214
+ slide: {
1215
+ type: 'Slide',
1216
+ backref: 'animations',
1217
+ description: 'Parent slide',
1218
+ },
1219
+ element: {
1220
+ type: 'SlideElement',
1221
+ backref: 'animations',
1222
+ required: false,
1223
+ description: 'Element being animated',
1224
+ },
1225
+ },
1226
+ actions: [
1227
+ 'create',
1228
+ 'edit',
1229
+ 'delete',
1230
+ 'duplicate',
1231
+ 'reorder',
1232
+ 'play',
1233
+ 'pause',
1234
+ 'stop',
1235
+ 'reset',
1236
+ 'preview',
1237
+ 'setTiming',
1238
+ 'setEffect',
1239
+ 'setTrigger',
1240
+ ],
1241
+ events: [
1242
+ 'created',
1243
+ 'edited',
1244
+ 'deleted',
1245
+ 'duplicated',
1246
+ 'reordered',
1247
+ 'played',
1248
+ 'paused',
1249
+ 'stopped',
1250
+ 'reset',
1251
+ 'timingSet',
1252
+ 'effectSet',
1253
+ 'triggerSet',
1254
+ ],
1255
+ };
1256
+ // =============================================================================
1257
+ // Export all entities as a schema
1258
+ // =============================================================================
1259
+ /**
1260
+ * All presentation entity types
1261
+ */
1262
+ export const PresentationEntities = {
1263
+ Presentation,
1264
+ Slide,
1265
+ SlideElement,
1266
+ SpeakerNotes,
1267
+ Animation,
1268
+ };
1269
+ /**
1270
+ * Entity categories for organization
1271
+ */
1272
+ export const PresentationCategories = {
1273
+ presentations: ['Presentation', 'Slide', 'SlideElement', 'SpeakerNotes', 'Animation'],
1274
+ };
1275
+ //# sourceMappingURL=presentation.js.map