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,1254 @@
1
+ /**
2
+ * Cloud Platform Entity Types (Nouns)
3
+ *
4
+ * Entities for cloud platform services like Firebase, Vercel, AWS, etc.
5
+ * Includes serverless functions, hosting, databases, and configuration.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+
10
+ import type { Noun } from 'ai-database'
11
+
12
+ // =============================================================================
13
+ // Config (Remote Configuration / Feature Flags)
14
+ // =============================================================================
15
+
16
+ /**
17
+ * Config entity
18
+ *
19
+ * Represents remote configuration for feature flags and dynamic settings
20
+ */
21
+ export const Config: Noun = {
22
+ singular: 'config',
23
+ plural: 'configs',
24
+ description: 'Remote configuration for feature flags and dynamic settings',
25
+
26
+ properties: {
27
+ // Identity
28
+ key: {
29
+ type: 'string',
30
+ description: 'Configuration key',
31
+ },
32
+ name: {
33
+ type: 'string',
34
+ optional: true,
35
+ description: 'Human-readable name',
36
+ },
37
+ description: {
38
+ type: 'string',
39
+ optional: true,
40
+ description: 'Configuration description',
41
+ },
42
+
43
+ // Value
44
+ value: {
45
+ type: 'json',
46
+ description: 'Configuration value (string, number, boolean, JSON)',
47
+ },
48
+ valueType: {
49
+ type: 'string',
50
+ description: 'Value type: string, number, boolean, json',
51
+ examples: ['string', 'number', 'boolean', 'json'],
52
+ },
53
+ defaultValue: {
54
+ type: 'json',
55
+ optional: true,
56
+ description: 'Default value if not set',
57
+ },
58
+
59
+ // Targeting
60
+ conditions: {
61
+ type: 'json',
62
+ optional: true,
63
+ description: 'Targeting conditions for value variants',
64
+ },
65
+ percentRollout: {
66
+ type: 'number',
67
+ optional: true,
68
+ description: 'Percentage of users to receive this value',
69
+ },
70
+ userSegments: {
71
+ type: 'string',
72
+ array: true,
73
+ optional: true,
74
+ description: 'User segments this applies to',
75
+ },
76
+
77
+ // Status
78
+ enabled: {
79
+ type: 'boolean',
80
+ description: 'Whether config is enabled',
81
+ },
82
+ environment: {
83
+ type: 'string',
84
+ optional: true,
85
+ description: 'Environment: development, staging, production',
86
+ examples: ['development', 'staging', 'production'],
87
+ },
88
+
89
+ // Audit
90
+ lastUpdatedAt: {
91
+ type: 'datetime',
92
+ optional: true,
93
+ description: 'When config was last updated',
94
+ },
95
+ updatedBy: {
96
+ type: 'string',
97
+ optional: true,
98
+ description: 'Who last updated the config',
99
+ },
100
+ },
101
+
102
+ relationships: {
103
+ project: {
104
+ type: 'App',
105
+ description: 'Parent project/app',
106
+ },
107
+ history: {
108
+ type: 'ConfigVersion[]',
109
+ description: 'Version history',
110
+ },
111
+ },
112
+
113
+ actions: [
114
+ 'create',
115
+ 'update',
116
+ 'delete',
117
+ 'enable',
118
+ 'disable',
119
+ 'setConditions',
120
+ 'rollout',
121
+ 'rollback',
122
+ 'publish',
123
+ ],
124
+
125
+ events: [
126
+ 'created',
127
+ 'updated',
128
+ 'deleted',
129
+ 'enabled',
130
+ 'disabled',
131
+ 'conditionsChanged',
132
+ 'rolledOut',
133
+ 'rolledBack',
134
+ 'published',
135
+ 'fetched',
136
+ ],
137
+ }
138
+
139
+ /**
140
+ * Config version entity
141
+ */
142
+ export const ConfigVersion: Noun = {
143
+ singular: 'config version',
144
+ plural: 'config versions',
145
+ description: 'A historical version of a configuration',
146
+
147
+ properties: {
148
+ version: {
149
+ type: 'number',
150
+ description: 'Version number',
151
+ },
152
+ value: {
153
+ type: 'json',
154
+ description: 'Value at this version',
155
+ },
156
+ conditions: {
157
+ type: 'json',
158
+ optional: true,
159
+ description: 'Conditions at this version',
160
+ },
161
+ publishedAt: {
162
+ type: 'datetime',
163
+ description: 'When this version was published',
164
+ },
165
+ publishedBy: {
166
+ type: 'string',
167
+ optional: true,
168
+ description: 'Who published this version',
169
+ },
170
+ },
171
+
172
+ relationships: {
173
+ config: {
174
+ type: 'Config',
175
+ backref: 'history',
176
+ description: 'Parent config',
177
+ },
178
+ },
179
+
180
+ actions: ['view', 'restore', 'compare'],
181
+
182
+ events: ['created', 'restored'],
183
+ }
184
+
185
+ // =============================================================================
186
+ // Database (Realtime/Document Database)
187
+ // =============================================================================
188
+
189
+ /**
190
+ * Database entity
191
+ *
192
+ * Represents a cloud database instance
193
+ */
194
+ export const Database: Noun = {
195
+ singular: 'database',
196
+ plural: 'databases',
197
+ description: 'A cloud database instance',
198
+
199
+ properties: {
200
+ // Identity
201
+ name: {
202
+ type: 'string',
203
+ description: 'Database name',
204
+ },
205
+ type: {
206
+ type: 'string',
207
+ description: 'Database type: realtime, firestore, postgres, mysql, mongodb',
208
+ examples: ['realtime', 'firestore', 'postgres', 'mysql', 'mongodb', 'redis'],
209
+ },
210
+ region: {
211
+ type: 'string',
212
+ optional: true,
213
+ description: 'Database region',
214
+ },
215
+
216
+ // Configuration
217
+ url: {
218
+ type: 'url',
219
+ optional: true,
220
+ description: 'Database connection URL',
221
+ },
222
+ ssl: {
223
+ type: 'boolean',
224
+ optional: true,
225
+ description: 'Whether SSL is enabled',
226
+ },
227
+ poolSize: {
228
+ type: 'number',
229
+ optional: true,
230
+ description: 'Connection pool size',
231
+ },
232
+
233
+ // Status
234
+ status: {
235
+ type: 'string',
236
+ description: 'Database status: available, creating, updating, deleting, failed',
237
+ examples: ['available', 'creating', 'updating', 'deleting', 'failed'],
238
+ },
239
+
240
+ // Metrics
241
+ storageUsed: {
242
+ type: 'number',
243
+ optional: true,
244
+ description: 'Storage used in bytes',
245
+ },
246
+ storageLimit: {
247
+ type: 'number',
248
+ optional: true,
249
+ description: 'Storage limit in bytes',
250
+ },
251
+ connections: {
252
+ type: 'number',
253
+ optional: true,
254
+ description: 'Active connections',
255
+ },
256
+ readsPerSecond: {
257
+ type: 'number',
258
+ optional: true,
259
+ description: 'Read operations per second',
260
+ },
261
+ writesPerSecond: {
262
+ type: 'number',
263
+ optional: true,
264
+ description: 'Write operations per second',
265
+ },
266
+
267
+ // Security
268
+ publicAccess: {
269
+ type: 'boolean',
270
+ optional: true,
271
+ description: 'Whether public access is enabled',
272
+ },
273
+ ipAllowlist: {
274
+ type: 'string',
275
+ array: true,
276
+ optional: true,
277
+ description: 'IP addresses allowed to connect',
278
+ },
279
+ },
280
+
281
+ relationships: {
282
+ project: {
283
+ type: 'App',
284
+ description: 'Parent project/app',
285
+ },
286
+ collections: {
287
+ type: 'Collection[]',
288
+ description: 'Database collections/tables',
289
+ },
290
+ backups: {
291
+ type: 'Backup[]',
292
+ description: 'Database backups',
293
+ },
294
+ },
295
+
296
+ actions: [
297
+ 'create',
298
+ 'update',
299
+ 'delete',
300
+ 'backup',
301
+ 'restore',
302
+ 'scale',
303
+ 'enablePublicAccess',
304
+ 'disablePublicAccess',
305
+ 'setRules',
306
+ 'importData',
307
+ 'exportData',
308
+ ],
309
+
310
+ events: [
311
+ 'created',
312
+ 'updated',
313
+ 'deleted',
314
+ 'backedUp',
315
+ 'restored',
316
+ 'scaled',
317
+ 'accessChanged',
318
+ 'rulesUpdated',
319
+ 'imported',
320
+ 'exported',
321
+ ],
322
+ }
323
+
324
+ /**
325
+ * Collection entity
326
+ */
327
+ export const Collection: Noun = {
328
+ singular: 'collection',
329
+ plural: 'collections',
330
+ description: 'A collection or table within a database',
331
+
332
+ properties: {
333
+ name: {
334
+ type: 'string',
335
+ description: 'Collection name',
336
+ },
337
+ documentCount: {
338
+ type: 'number',
339
+ optional: true,
340
+ description: 'Number of documents',
341
+ },
342
+ storageSize: {
343
+ type: 'number',
344
+ optional: true,
345
+ description: 'Storage size in bytes',
346
+ },
347
+ indexCount: {
348
+ type: 'number',
349
+ optional: true,
350
+ description: 'Number of indexes',
351
+ },
352
+ schema: {
353
+ type: 'json',
354
+ optional: true,
355
+ description: 'Collection schema definition',
356
+ },
357
+ },
358
+
359
+ relationships: {
360
+ database: {
361
+ type: 'Database',
362
+ backref: 'collections',
363
+ description: 'Parent database',
364
+ },
365
+ indexes: {
366
+ type: 'Index[]',
367
+ description: 'Collection indexes',
368
+ },
369
+ },
370
+
371
+ actions: [
372
+ 'create',
373
+ 'delete',
374
+ 'rename',
375
+ 'createIndex',
376
+ 'dropIndex',
377
+ 'query',
378
+ 'aggregate',
379
+ 'watch',
380
+ ],
381
+
382
+ events: ['created', 'deleted', 'renamed', 'indexCreated', 'indexDropped', 'modified'],
383
+ }
384
+
385
+ /**
386
+ * Index entity
387
+ */
388
+ export const Index: Noun = {
389
+ singular: 'index',
390
+ plural: 'indexes',
391
+ description: 'A database index for query optimization',
392
+
393
+ properties: {
394
+ name: {
395
+ type: 'string',
396
+ description: 'Index name',
397
+ },
398
+ fields: {
399
+ type: 'json',
400
+ description: 'Indexed fields and their sort order',
401
+ },
402
+ unique: {
403
+ type: 'boolean',
404
+ optional: true,
405
+ description: 'Whether index enforces uniqueness',
406
+ },
407
+ sparse: {
408
+ type: 'boolean',
409
+ optional: true,
410
+ description: 'Whether index is sparse',
411
+ },
412
+ status: {
413
+ type: 'string',
414
+ description: 'Index status: building, ready, failed',
415
+ examples: ['building', 'ready', 'failed'],
416
+ },
417
+ },
418
+
419
+ relationships: {
420
+ collection: {
421
+ type: 'Collection',
422
+ backref: 'indexes',
423
+ description: 'Parent collection',
424
+ },
425
+ },
426
+
427
+ actions: ['create', 'delete', 'rebuild'],
428
+
429
+ events: ['created', 'deleted', 'built', 'failed'],
430
+ }
431
+
432
+ // =============================================================================
433
+ // Hosting
434
+ // =============================================================================
435
+
436
+ /**
437
+ * Hosting entity
438
+ *
439
+ * Represents a web hosting deployment
440
+ */
441
+ export const Hosting: Noun = {
442
+ singular: 'hosting',
443
+ plural: 'hostings',
444
+ description: 'A web hosting deployment',
445
+
446
+ properties: {
447
+ // Identity
448
+ name: {
449
+ type: 'string',
450
+ description: 'Site name',
451
+ },
452
+ domain: {
453
+ type: 'string',
454
+ optional: true,
455
+ description: 'Custom domain',
456
+ },
457
+ defaultDomain: {
458
+ type: 'string',
459
+ optional: true,
460
+ description: 'Default provider domain',
461
+ },
462
+
463
+ // Deployment
464
+ currentVersion: {
465
+ type: 'string',
466
+ optional: true,
467
+ description: 'Currently deployed version',
468
+ },
469
+ deployedAt: {
470
+ type: 'datetime',
471
+ optional: true,
472
+ description: 'Last deployment time',
473
+ },
474
+ deployedBy: {
475
+ type: 'string',
476
+ optional: true,
477
+ description: 'Who deployed',
478
+ },
479
+
480
+ // Configuration
481
+ framework: {
482
+ type: 'string',
483
+ optional: true,
484
+ description: 'Frontend framework detected',
485
+ },
486
+ buildCommand: {
487
+ type: 'string',
488
+ optional: true,
489
+ description: 'Build command',
490
+ },
491
+ outputDirectory: {
492
+ type: 'string',
493
+ optional: true,
494
+ description: 'Build output directory',
495
+ },
496
+ nodeVersion: {
497
+ type: 'string',
498
+ optional: true,
499
+ description: 'Node.js version',
500
+ },
501
+
502
+ // Features
503
+ httpsOnly: {
504
+ type: 'boolean',
505
+ optional: true,
506
+ description: 'Whether HTTPS is enforced',
507
+ },
508
+ previewsEnabled: {
509
+ type: 'boolean',
510
+ optional: true,
511
+ description: 'Whether deploy previews are enabled',
512
+ },
513
+ caching: {
514
+ type: 'json',
515
+ optional: true,
516
+ description: 'Caching configuration',
517
+ },
518
+ headers: {
519
+ type: 'json',
520
+ optional: true,
521
+ description: 'Custom headers configuration',
522
+ },
523
+ redirects: {
524
+ type: 'json',
525
+ optional: true,
526
+ description: 'Redirect rules',
527
+ },
528
+ rewrites: {
529
+ type: 'json',
530
+ optional: true,
531
+ description: 'Rewrite rules',
532
+ },
533
+
534
+ // Status
535
+ status: {
536
+ type: 'string',
537
+ description: 'Hosting status: active, building, error',
538
+ examples: ['active', 'building', 'error'],
539
+ },
540
+ },
541
+
542
+ relationships: {
543
+ project: {
544
+ type: 'App',
545
+ description: 'Parent project',
546
+ },
547
+ repository: {
548
+ type: 'Repository',
549
+ required: false,
550
+ description: 'Source repository',
551
+ },
552
+ deployments: {
553
+ type: 'Deployment[]',
554
+ description: 'Deployment history',
555
+ },
556
+ },
557
+
558
+ actions: [
559
+ 'create',
560
+ 'configure',
561
+ 'deploy',
562
+ 'rollback',
563
+ 'delete',
564
+ 'addDomain',
565
+ 'removeDomain',
566
+ 'verifySsl',
567
+ 'purgeCache',
568
+ ],
569
+
570
+ events: [
571
+ 'created',
572
+ 'configured',
573
+ 'deployed',
574
+ 'rolledBack',
575
+ 'deleted',
576
+ 'domainAdded',
577
+ 'domainRemoved',
578
+ 'sslVerified',
579
+ 'cachePurged',
580
+ ],
581
+ }
582
+
583
+ /**
584
+ * Deployment entity
585
+ */
586
+ export const Deployment: Noun = {
587
+ singular: 'deployment',
588
+ plural: 'deployments',
589
+ description: 'A hosting deployment instance',
590
+
591
+ properties: {
592
+ version: {
593
+ type: 'string',
594
+ description: 'Deployment version/ID',
595
+ },
596
+ url: {
597
+ type: 'url',
598
+ optional: true,
599
+ description: 'Deployment URL',
600
+ },
601
+ status: {
602
+ type: 'string',
603
+ description: 'Deployment status: queued, building, ready, error, cancelled',
604
+ examples: ['queued', 'building', 'ready', 'error', 'cancelled'],
605
+ },
606
+ source: {
607
+ type: 'string',
608
+ optional: true,
609
+ description: 'Deployment source: cli, git, api',
610
+ examples: ['cli', 'git', 'api'],
611
+ },
612
+ branch: {
613
+ type: 'string',
614
+ optional: true,
615
+ description: 'Git branch deployed',
616
+ },
617
+ commit: {
618
+ type: 'string',
619
+ optional: true,
620
+ description: 'Git commit SHA',
621
+ },
622
+ buildDuration: {
623
+ type: 'number',
624
+ optional: true,
625
+ description: 'Build duration in seconds',
626
+ },
627
+ size: {
628
+ type: 'number',
629
+ optional: true,
630
+ description: 'Deployment size in bytes',
631
+ },
632
+ isProduction: {
633
+ type: 'boolean',
634
+ optional: true,
635
+ description: 'Whether this is a production deployment',
636
+ },
637
+ isPreview: {
638
+ type: 'boolean',
639
+ optional: true,
640
+ description: 'Whether this is a preview deployment',
641
+ },
642
+ },
643
+
644
+ relationships: {
645
+ hosting: {
646
+ type: 'Hosting',
647
+ backref: 'deployments',
648
+ description: 'Parent hosting',
649
+ },
650
+ triggeredBy: {
651
+ type: 'Contact',
652
+ required: false,
653
+ description: 'Who triggered the deployment',
654
+ },
655
+ },
656
+
657
+ actions: ['create', 'cancel', 'promote', 'delete', 'viewLogs'],
658
+
659
+ events: ['created', 'started', 'completed', 'failed', 'cancelled', 'promoted'],
660
+ }
661
+
662
+ // =============================================================================
663
+ // Function (Serverless Functions)
664
+ // =============================================================================
665
+
666
+ /**
667
+ * Function entity
668
+ *
669
+ * Represents a serverless function
670
+ */
671
+ export const Function: Noun = {
672
+ singular: 'function',
673
+ plural: 'functions',
674
+ description: 'A serverless function',
675
+
676
+ properties: {
677
+ // Identity
678
+ name: {
679
+ type: 'string',
680
+ description: 'Function name',
681
+ },
682
+ entryPoint: {
683
+ type: 'string',
684
+ optional: true,
685
+ description: 'Entry point file/handler',
686
+ },
687
+ description: {
688
+ type: 'string',
689
+ optional: true,
690
+ description: 'Function description',
691
+ },
692
+
693
+ // Runtime
694
+ runtime: {
695
+ type: 'string',
696
+ description: 'Runtime environment: nodejs18, nodejs20, python311, etc.',
697
+ examples: ['nodejs18', 'nodejs20', 'python311', 'go121', 'ruby32'],
698
+ },
699
+ timeout: {
700
+ type: 'number',
701
+ optional: true,
702
+ description: 'Execution timeout in seconds',
703
+ },
704
+ memory: {
705
+ type: 'number',
706
+ optional: true,
707
+ description: 'Memory allocation in MB',
708
+ },
709
+
710
+ // Configuration
711
+ environmentVariables: {
712
+ type: 'json',
713
+ optional: true,
714
+ description: 'Environment variables',
715
+ },
716
+ secrets: {
717
+ type: 'string',
718
+ array: true,
719
+ optional: true,
720
+ description: 'Secret references',
721
+ },
722
+
723
+ // Trigger
724
+ trigger: {
725
+ type: 'string',
726
+ description: 'Trigger type: http, schedule, pubsub, storage, firestore',
727
+ examples: ['http', 'schedule', 'pubsub', 'storage', 'firestore', 'auth'],
728
+ },
729
+ httpPath: {
730
+ type: 'string',
731
+ optional: true,
732
+ description: 'HTTP endpoint path',
733
+ },
734
+ schedule: {
735
+ type: 'string',
736
+ optional: true,
737
+ description: 'Cron schedule expression',
738
+ },
739
+
740
+ // Status
741
+ status: {
742
+ type: 'string',
743
+ description: 'Function status: active, deploying, failed, deleted',
744
+ examples: ['active', 'deploying', 'failed', 'deleted'],
745
+ },
746
+ deployedAt: {
747
+ type: 'datetime',
748
+ optional: true,
749
+ description: 'Last deployment time',
750
+ },
751
+ version: {
752
+ type: 'string',
753
+ optional: true,
754
+ description: 'Deployed version',
755
+ },
756
+
757
+ // Metrics
758
+ invocations: {
759
+ type: 'number',
760
+ optional: true,
761
+ description: 'Total invocations',
762
+ },
763
+ errors: {
764
+ type: 'number',
765
+ optional: true,
766
+ description: 'Total errors',
767
+ },
768
+ avgDuration: {
769
+ type: 'number',
770
+ optional: true,
771
+ description: 'Average execution duration in ms',
772
+ },
773
+ },
774
+
775
+ relationships: {
776
+ project: {
777
+ type: 'App',
778
+ description: 'Parent project',
779
+ },
780
+ logs: {
781
+ type: 'FunctionLog[]',
782
+ description: 'Execution logs',
783
+ },
784
+ },
785
+
786
+ actions: [
787
+ 'create',
788
+ 'update',
789
+ 'deploy',
790
+ 'delete',
791
+ 'invoke',
792
+ 'viewLogs',
793
+ 'setEnvironment',
794
+ 'addSecret',
795
+ 'removeSecret',
796
+ ],
797
+
798
+ events: [
799
+ 'created',
800
+ 'updated',
801
+ 'deployed',
802
+ 'deleted',
803
+ 'invoked',
804
+ 'succeeded',
805
+ 'failed',
806
+ 'timedOut',
807
+ ],
808
+ }
809
+
810
+ /**
811
+ * Function log entity
812
+ */
813
+ export const FunctionLog: Noun = {
814
+ singular: 'function log',
815
+ plural: 'function logs',
816
+ description: 'A serverless function execution log',
817
+
818
+ properties: {
819
+ level: {
820
+ type: 'string',
821
+ description: 'Log level: debug, info, warn, error',
822
+ examples: ['debug', 'info', 'warn', 'error'],
823
+ },
824
+ message: {
825
+ type: 'string',
826
+ description: 'Log message',
827
+ },
828
+ executionId: {
829
+ type: 'string',
830
+ optional: true,
831
+ description: 'Execution/request ID',
832
+ },
833
+ duration: {
834
+ type: 'number',
835
+ optional: true,
836
+ description: 'Execution duration in ms',
837
+ },
838
+ memoryUsed: {
839
+ type: 'number',
840
+ optional: true,
841
+ description: 'Memory used in MB',
842
+ },
843
+ timestamp: {
844
+ type: 'datetime',
845
+ description: 'Log timestamp',
846
+ },
847
+ labels: {
848
+ type: 'json',
849
+ optional: true,
850
+ description: 'Log labels/metadata',
851
+ },
852
+ },
853
+
854
+ relationships: {
855
+ function: {
856
+ type: 'Function',
857
+ backref: 'logs',
858
+ description: 'Parent function',
859
+ },
860
+ },
861
+
862
+ actions: ['view', 'search', 'export', 'delete'],
863
+
864
+ events: ['created'],
865
+ }
866
+
867
+ // =============================================================================
868
+ // Auth (Authentication)
869
+ // =============================================================================
870
+
871
+ /**
872
+ * Identity entity
873
+ *
874
+ * Represents a user identity in an auth system
875
+ */
876
+ export const Identity: Noun = {
877
+ singular: 'identity',
878
+ plural: 'identities',
879
+ description: 'A user identity in an authentication system',
880
+
881
+ properties: {
882
+ // Identity
883
+ uid: {
884
+ type: 'string',
885
+ description: 'Unique user ID',
886
+ },
887
+ email: {
888
+ type: 'string',
889
+ optional: true,
890
+ description: 'Email address',
891
+ },
892
+ emailVerified: {
893
+ type: 'boolean',
894
+ optional: true,
895
+ description: 'Whether email is verified',
896
+ },
897
+ phone: {
898
+ type: 'string',
899
+ optional: true,
900
+ description: 'Phone number',
901
+ },
902
+ phoneVerified: {
903
+ type: 'boolean',
904
+ optional: true,
905
+ description: 'Whether phone is verified',
906
+ },
907
+
908
+ // Profile
909
+ displayName: {
910
+ type: 'string',
911
+ optional: true,
912
+ description: 'Display name',
913
+ },
914
+ photoUrl: {
915
+ type: 'url',
916
+ optional: true,
917
+ description: 'Profile photo URL',
918
+ },
919
+
920
+ // Providers
921
+ providers: {
922
+ type: 'string',
923
+ array: true,
924
+ optional: true,
925
+ description: 'Linked auth providers',
926
+ },
927
+ providerData: {
928
+ type: 'json',
929
+ optional: true,
930
+ description: 'Provider-specific data',
931
+ },
932
+
933
+ // Status
934
+ disabled: {
935
+ type: 'boolean',
936
+ optional: true,
937
+ description: 'Whether account is disabled',
938
+ },
939
+ lastSignInAt: {
940
+ type: 'datetime',
941
+ optional: true,
942
+ description: 'Last sign-in time',
943
+ },
944
+ createdAt: {
945
+ type: 'datetime',
946
+ optional: true,
947
+ description: 'Account creation time',
948
+ },
949
+
950
+ // Security
951
+ mfaEnabled: {
952
+ type: 'boolean',
953
+ optional: true,
954
+ description: 'Whether MFA is enabled',
955
+ },
956
+ mfaMethods: {
957
+ type: 'string',
958
+ array: true,
959
+ optional: true,
960
+ description: 'Enabled MFA methods',
961
+ },
962
+
963
+ // Claims
964
+ customClaims: {
965
+ type: 'json',
966
+ optional: true,
967
+ description: 'Custom claims/roles',
968
+ },
969
+ },
970
+
971
+ relationships: {
972
+ sessions: {
973
+ type: 'Session[]',
974
+ description: 'Active sessions',
975
+ },
976
+ },
977
+
978
+ actions: [
979
+ 'create',
980
+ 'update',
981
+ 'delete',
982
+ 'disable',
983
+ 'enable',
984
+ 'linkProvider',
985
+ 'unlinkProvider',
986
+ 'setCustomClaims',
987
+ 'revokeTokens',
988
+ 'sendVerification',
989
+ 'resetPassword',
990
+ 'enrollMfa',
991
+ 'unenrollMfa',
992
+ ],
993
+
994
+ events: [
995
+ 'created',
996
+ 'updated',
997
+ 'deleted',
998
+ 'disabled',
999
+ 'enabled',
1000
+ 'signedIn',
1001
+ 'signedOut',
1002
+ 'providerLinked',
1003
+ 'providerUnlinked',
1004
+ 'claimsUpdated',
1005
+ 'tokensRevoked',
1006
+ 'passwordReset',
1007
+ 'mfaEnrolled',
1008
+ ],
1009
+ }
1010
+
1011
+ // =============================================================================
1012
+ // Storage (Cloud Storage)
1013
+ // =============================================================================
1014
+
1015
+ /**
1016
+ * Bucket entity
1017
+ *
1018
+ * Represents a cloud storage bucket
1019
+ */
1020
+ export const Bucket: Noun = {
1021
+ singular: 'bucket',
1022
+ plural: 'buckets',
1023
+ description: 'A cloud storage bucket',
1024
+
1025
+ properties: {
1026
+ // Identity
1027
+ name: {
1028
+ type: 'string',
1029
+ description: 'Bucket name',
1030
+ },
1031
+ region: {
1032
+ type: 'string',
1033
+ optional: true,
1034
+ description: 'Storage region',
1035
+ },
1036
+
1037
+ // Configuration
1038
+ storageClass: {
1039
+ type: 'string',
1040
+ optional: true,
1041
+ description: 'Storage class: standard, nearline, coldline, archive',
1042
+ examples: ['standard', 'nearline', 'coldline', 'archive'],
1043
+ },
1044
+ versioning: {
1045
+ type: 'boolean',
1046
+ optional: true,
1047
+ description: 'Whether versioning is enabled',
1048
+ },
1049
+ lifecycle: {
1050
+ type: 'json',
1051
+ optional: true,
1052
+ description: 'Lifecycle rules',
1053
+ },
1054
+ cors: {
1055
+ type: 'json',
1056
+ optional: true,
1057
+ description: 'CORS configuration',
1058
+ },
1059
+
1060
+ // Access
1061
+ publicAccess: {
1062
+ type: 'string',
1063
+ optional: true,
1064
+ description: 'Public access setting: enforced, inherited',
1065
+ examples: ['enforced', 'inherited'],
1066
+ },
1067
+ defaultAcl: {
1068
+ type: 'string',
1069
+ optional: true,
1070
+ description: 'Default ACL for new objects',
1071
+ },
1072
+
1073
+ // Metrics
1074
+ objectCount: {
1075
+ type: 'number',
1076
+ optional: true,
1077
+ description: 'Number of objects',
1078
+ },
1079
+ storageUsed: {
1080
+ type: 'number',
1081
+ optional: true,
1082
+ description: 'Storage used in bytes',
1083
+ },
1084
+ },
1085
+
1086
+ relationships: {
1087
+ project: {
1088
+ type: 'App',
1089
+ description: 'Parent project',
1090
+ },
1091
+ objects: {
1092
+ type: 'StorageObject[]',
1093
+ description: 'Objects in bucket',
1094
+ },
1095
+ },
1096
+
1097
+ actions: [
1098
+ 'create',
1099
+ 'delete',
1100
+ 'setVersioning',
1101
+ 'setLifecycle',
1102
+ 'setCors',
1103
+ 'setPublicAccess',
1104
+ 'setAcl',
1105
+ 'empty',
1106
+ ],
1107
+
1108
+ events: [
1109
+ 'created',
1110
+ 'deleted',
1111
+ 'versioningChanged',
1112
+ 'lifecycleChanged',
1113
+ 'corsChanged',
1114
+ 'accessChanged',
1115
+ ],
1116
+ }
1117
+
1118
+ /**
1119
+ * Storage object entity
1120
+ */
1121
+ export const StorageObject: Noun = {
1122
+ singular: 'storage object',
1123
+ plural: 'storage objects',
1124
+ description: 'An object stored in cloud storage',
1125
+
1126
+ properties: {
1127
+ name: {
1128
+ type: 'string',
1129
+ description: 'Object name/path',
1130
+ },
1131
+ contentType: {
1132
+ type: 'string',
1133
+ optional: true,
1134
+ description: 'Content MIME type',
1135
+ },
1136
+ size: {
1137
+ type: 'number',
1138
+ description: 'Object size in bytes',
1139
+ },
1140
+ md5Hash: {
1141
+ type: 'string',
1142
+ optional: true,
1143
+ description: 'MD5 hash',
1144
+ },
1145
+ crc32c: {
1146
+ type: 'string',
1147
+ optional: true,
1148
+ description: 'CRC32C checksum',
1149
+ },
1150
+ generation: {
1151
+ type: 'string',
1152
+ optional: true,
1153
+ description: 'Object generation (for versioning)',
1154
+ },
1155
+ metadata: {
1156
+ type: 'json',
1157
+ optional: true,
1158
+ description: 'Custom metadata',
1159
+ },
1160
+ cacheControl: {
1161
+ type: 'string',
1162
+ optional: true,
1163
+ description: 'Cache-Control header',
1164
+ },
1165
+ contentDisposition: {
1166
+ type: 'string',
1167
+ optional: true,
1168
+ description: 'Content-Disposition header',
1169
+ },
1170
+ downloadUrl: {
1171
+ type: 'url',
1172
+ optional: true,
1173
+ description: 'Public download URL',
1174
+ },
1175
+ },
1176
+
1177
+ relationships: {
1178
+ bucket: {
1179
+ type: 'Bucket',
1180
+ backref: 'objects',
1181
+ description: 'Parent bucket',
1182
+ },
1183
+ },
1184
+
1185
+ actions: [
1186
+ 'upload',
1187
+ 'download',
1188
+ 'delete',
1189
+ 'copy',
1190
+ 'move',
1191
+ 'setMetadata',
1192
+ 'setAcl',
1193
+ 'makePublic',
1194
+ 'makePrivate',
1195
+ 'getSignedUrl',
1196
+ ],
1197
+
1198
+ events: [
1199
+ 'uploaded',
1200
+ 'downloaded',
1201
+ 'deleted',
1202
+ 'copied',
1203
+ 'moved',
1204
+ 'metadataUpdated',
1205
+ 'aclChanged',
1206
+ 'madePublic',
1207
+ 'madePrivate',
1208
+ ],
1209
+ }
1210
+
1211
+ // =============================================================================
1212
+ // Export all entities as a schema
1213
+ // =============================================================================
1214
+
1215
+ /**
1216
+ * All infrastructure platform entity types
1217
+ */
1218
+ export const InfrastructureEntities = {
1219
+ // Configuration
1220
+ Config,
1221
+ ConfigVersion,
1222
+
1223
+ // Database
1224
+ Database,
1225
+ Collection,
1226
+ Index,
1227
+
1228
+ // Hosting
1229
+ Hosting,
1230
+ Deployment,
1231
+
1232
+ // Functions
1233
+ Function,
1234
+ FunctionLog,
1235
+
1236
+ // Auth
1237
+ Identity,
1238
+
1239
+ // Storage
1240
+ Bucket,
1241
+ StorageObject,
1242
+ }
1243
+
1244
+ /**
1245
+ * Entity categories for organization
1246
+ */
1247
+ export const InfrastructureCategories = {
1248
+ config: ['Config', 'ConfigVersion'],
1249
+ database: ['Database', 'Collection', 'Index'],
1250
+ hosting: ['Hosting', 'Deployment'],
1251
+ functions: ['Function', 'FunctionLog'],
1252
+ auth: ['Identity'],
1253
+ storage: ['Bucket', 'StorageObject'],
1254
+ } as const