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,1137 @@
1
+ /**
2
+ * Project Management Entity Types (Nouns)
3
+ *
4
+ * Semantic type definitions for project management tools that can be used by
5
+ * both remote human workers AND AI agents. Each entity defines:
6
+ * - Properties: The data fields
7
+ * - Actions: Operations that can be performed (Verbs)
8
+ * - Events: State changes that occur
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ // =============================================================================
13
+ // Project
14
+ // =============================================================================
15
+ /**
16
+ * Project entity
17
+ *
18
+ * Represents a project with goals, deliverables, team members, and timeline.
19
+ * Used by tools like Jira, Linear, Asana, Monday, ClickUp, etc.
20
+ */
21
+ export const Project = {
22
+ singular: 'project',
23
+ plural: 'projects',
24
+ description: 'A project with defined scope, timeline, and team members',
25
+ properties: {
26
+ // Identity
27
+ name: {
28
+ type: 'string',
29
+ description: 'Project name',
30
+ },
31
+ key: {
32
+ type: 'string',
33
+ optional: true,
34
+ description: 'Unique project key/identifier (e.g., PROJ, WEB)',
35
+ },
36
+ description: {
37
+ type: 'string',
38
+ optional: true,
39
+ description: 'Detailed project description',
40
+ },
41
+ icon: {
42
+ type: 'string',
43
+ optional: true,
44
+ description: 'Project icon/emoji',
45
+ },
46
+ color: {
47
+ type: 'string',
48
+ optional: true,
49
+ description: 'Project color code',
50
+ },
51
+ // Status & Progress
52
+ status: {
53
+ type: 'string',
54
+ description: 'Project status: planning, active, on-hold, completed, cancelled',
55
+ examples: ['planning', 'active', 'on-hold', 'completed', 'cancelled'],
56
+ },
57
+ progress: {
58
+ type: 'number',
59
+ optional: true,
60
+ description: 'Overall completion percentage (0-100)',
61
+ },
62
+ health: {
63
+ type: 'string',
64
+ optional: true,
65
+ description: 'Project health: on-track, at-risk, off-track',
66
+ examples: ['on-track', 'at-risk', 'off-track'],
67
+ },
68
+ // Timeline
69
+ startDate: {
70
+ type: 'date',
71
+ optional: true,
72
+ description: 'Project start date',
73
+ },
74
+ endDate: {
75
+ type: 'date',
76
+ optional: true,
77
+ description: 'Project end date',
78
+ },
79
+ targetDate: {
80
+ type: 'date',
81
+ optional: true,
82
+ description: 'Target completion date',
83
+ },
84
+ // Organization
85
+ visibility: {
86
+ type: 'string',
87
+ description: 'Project visibility: public, private, team',
88
+ examples: ['public', 'private', 'team'],
89
+ },
90
+ archived: {
91
+ type: 'boolean',
92
+ optional: true,
93
+ description: 'Whether the project is archived',
94
+ },
95
+ // Metrics
96
+ issueCount: {
97
+ type: 'number',
98
+ optional: true,
99
+ description: 'Total number of issues',
100
+ },
101
+ openIssueCount: {
102
+ type: 'number',
103
+ optional: true,
104
+ description: 'Number of open issues',
105
+ },
106
+ memberCount: {
107
+ type: 'number',
108
+ optional: true,
109
+ description: 'Number of team members',
110
+ },
111
+ // Settings
112
+ template: {
113
+ type: 'string',
114
+ optional: true,
115
+ description: 'Project template used',
116
+ },
117
+ workflow: {
118
+ type: 'json',
119
+ optional: true,
120
+ description: 'Custom workflow configuration',
121
+ },
122
+ },
123
+ relationships: {
124
+ owner: {
125
+ type: 'Contact',
126
+ description: 'Project owner/lead',
127
+ },
128
+ team: {
129
+ type: 'Contact[]',
130
+ description: 'Team members assigned to the project',
131
+ },
132
+ issues: {
133
+ type: 'Issue[]',
134
+ backref: 'project',
135
+ description: 'Issues/tickets in this project',
136
+ },
137
+ epics: {
138
+ type: 'Epic[]',
139
+ backref: 'project',
140
+ description: 'Epics in this project',
141
+ },
142
+ sprints: {
143
+ type: 'Sprint[]',
144
+ backref: 'project',
145
+ description: 'Sprints/iterations for this project',
146
+ },
147
+ milestones: {
148
+ type: 'Milestone[]',
149
+ backref: 'project',
150
+ description: 'Project milestones',
151
+ },
152
+ boards: {
153
+ type: 'Board[]',
154
+ backref: 'project',
155
+ description: 'Kanban boards for this project',
156
+ },
157
+ },
158
+ actions: [
159
+ 'create',
160
+ 'update',
161
+ 'delete',
162
+ 'archive',
163
+ 'restore',
164
+ 'duplicate',
165
+ 'setStatus',
166
+ 'addMember',
167
+ 'removeMember',
168
+ 'setOwner',
169
+ 'setDates',
170
+ 'updateProgress',
171
+ 'export',
172
+ ],
173
+ events: [
174
+ 'created',
175
+ 'updated',
176
+ 'deleted',
177
+ 'archived',
178
+ 'restored',
179
+ 'duplicated',
180
+ 'statusChanged',
181
+ 'memberAdded',
182
+ 'memberRemoved',
183
+ 'ownerChanged',
184
+ 'datesChanged',
185
+ 'progressUpdated',
186
+ 'completed',
187
+ 'cancelled',
188
+ ],
189
+ };
190
+ // =============================================================================
191
+ // Issue
192
+ // =============================================================================
193
+ /**
194
+ * Issue/Ticket entity
195
+ *
196
+ * Represents a work item, task, bug, or feature request.
197
+ * Brand-agnostic equivalent of:
198
+ * - Jira Issue
199
+ * - Linear Issue
200
+ * - GitHub Issue
201
+ * - Asana Task
202
+ */
203
+ export const Issue = {
204
+ singular: 'issue',
205
+ plural: 'issues',
206
+ description: 'A work item, task, bug, or feature request',
207
+ properties: {
208
+ // Identity
209
+ title: {
210
+ type: 'string',
211
+ description: 'Issue title/summary',
212
+ },
213
+ identifier: {
214
+ type: 'string',
215
+ optional: true,
216
+ description: 'Issue identifier (e.g., PROJ-123, #456)',
217
+ },
218
+ description: {
219
+ type: 'markdown',
220
+ optional: true,
221
+ description: 'Detailed issue description',
222
+ },
223
+ // Type & Classification
224
+ type: {
225
+ type: 'string',
226
+ description: 'Issue type: task, bug, feature, story, epic, subtask',
227
+ examples: ['task', 'bug', 'feature', 'story', 'epic', 'subtask'],
228
+ },
229
+ priority: {
230
+ type: 'string',
231
+ description: 'Priority level: none, low, medium, high, urgent',
232
+ examples: ['none', 'low', 'medium', 'high', 'urgent'],
233
+ },
234
+ severity: {
235
+ type: 'string',
236
+ optional: true,
237
+ description: 'Bug severity: minor, major, critical, blocker',
238
+ examples: ['minor', 'major', 'critical', 'blocker'],
239
+ },
240
+ // Status & Progress
241
+ status: {
242
+ type: 'string',
243
+ description: 'Issue status: backlog, todo, in-progress, review, done, cancelled',
244
+ examples: ['backlog', 'todo', 'in-progress', 'review', 'done', 'cancelled'],
245
+ },
246
+ progress: {
247
+ type: 'number',
248
+ optional: true,
249
+ description: 'Completion percentage (0-100)',
250
+ },
251
+ resolution: {
252
+ type: 'string',
253
+ optional: true,
254
+ description: 'Resolution: fixed, wont-fix, duplicate, works-as-designed',
255
+ examples: ['fixed', 'wont-fix', 'duplicate', 'works-as-designed'],
256
+ },
257
+ // Timeline
258
+ createdAt: {
259
+ type: 'datetime',
260
+ description: 'When the issue was created',
261
+ },
262
+ updatedAt: {
263
+ type: 'datetime',
264
+ description: 'When the issue was last updated',
265
+ },
266
+ startDate: {
267
+ type: 'date',
268
+ optional: true,
269
+ description: 'Planned start date',
270
+ },
271
+ dueDate: {
272
+ type: 'date',
273
+ optional: true,
274
+ description: 'Due date',
275
+ },
276
+ completedAt: {
277
+ type: 'datetime',
278
+ optional: true,
279
+ description: 'When the issue was completed',
280
+ },
281
+ // Estimation
282
+ estimate: {
283
+ type: 'number',
284
+ optional: true,
285
+ description: 'Story points or time estimate',
286
+ },
287
+ estimateType: {
288
+ type: 'string',
289
+ optional: true,
290
+ description: 'Estimation unit: points, hours, days',
291
+ examples: ['points', 'hours', 'days'],
292
+ },
293
+ timeSpent: {
294
+ type: 'number',
295
+ optional: true,
296
+ description: 'Actual time spent in hours',
297
+ },
298
+ timeRemaining: {
299
+ type: 'number',
300
+ optional: true,
301
+ description: 'Estimated time remaining in hours',
302
+ },
303
+ // Context
304
+ storyPoints: {
305
+ type: 'number',
306
+ optional: true,
307
+ description: 'Story points for agile estimation',
308
+ },
309
+ environment: {
310
+ type: 'string',
311
+ optional: true,
312
+ description: 'Environment where issue occurs: dev, staging, production',
313
+ examples: ['dev', 'staging', 'production'],
314
+ },
315
+ // Organization
316
+ archived: {
317
+ type: 'boolean',
318
+ optional: true,
319
+ description: 'Whether the issue is archived',
320
+ },
321
+ },
322
+ relationships: {
323
+ project: {
324
+ type: 'Project',
325
+ backref: 'issues',
326
+ description: 'Project this issue belongs to',
327
+ },
328
+ epic: {
329
+ type: 'Epic',
330
+ required: false,
331
+ backref: 'issues',
332
+ description: 'Parent epic if this is part of one',
333
+ },
334
+ sprint: {
335
+ type: 'Sprint',
336
+ required: false,
337
+ backref: 'issues',
338
+ description: 'Sprint this issue is assigned to',
339
+ },
340
+ milestone: {
341
+ type: 'Milestone',
342
+ required: false,
343
+ backref: 'issues',
344
+ description: 'Milestone this issue is part of',
345
+ },
346
+ assignee: {
347
+ type: 'Contact',
348
+ required: false,
349
+ description: 'Person assigned to work on this issue',
350
+ },
351
+ reporter: {
352
+ type: 'Contact',
353
+ description: 'Person who reported/created the issue',
354
+ },
355
+ labels: {
356
+ type: 'Label[]',
357
+ description: 'Labels applied to this issue',
358
+ },
359
+ parent: {
360
+ type: 'Issue',
361
+ required: false,
362
+ description: 'Parent issue (for subtasks)',
363
+ },
364
+ subtasks: {
365
+ type: 'Issue[]',
366
+ description: 'Child issues/subtasks',
367
+ },
368
+ blockedBy: {
369
+ type: 'Issue[]',
370
+ description: 'Issues blocking this one',
371
+ },
372
+ blocks: {
373
+ type: 'Issue[]',
374
+ description: 'Issues this one blocks',
375
+ },
376
+ relatedTo: {
377
+ type: 'Issue[]',
378
+ description: 'Related issues',
379
+ },
380
+ comments: {
381
+ type: 'Comment[]',
382
+ backref: 'issue',
383
+ description: 'Comments on this issue',
384
+ },
385
+ attachments: {
386
+ type: 'Attachment[]',
387
+ description: 'Files attached to this issue',
388
+ },
389
+ column: {
390
+ type: 'Column',
391
+ required: false,
392
+ description: 'Board column this issue is in',
393
+ },
394
+ },
395
+ actions: [
396
+ 'create',
397
+ 'update',
398
+ 'delete',
399
+ 'archive',
400
+ 'restore',
401
+ 'duplicate',
402
+ 'assign',
403
+ 'unassign',
404
+ 'setStatus',
405
+ 'setPriority',
406
+ 'setType',
407
+ 'addLabel',
408
+ 'removeLabel',
409
+ 'addSubtask',
410
+ 'link',
411
+ 'unlink',
412
+ 'block',
413
+ 'unblock',
414
+ 'move',
415
+ 'comment',
416
+ 'estimate',
417
+ 'logTime',
418
+ 'watch',
419
+ 'unwatch',
420
+ ],
421
+ events: [
422
+ 'created',
423
+ 'updated',
424
+ 'deleted',
425
+ 'archived',
426
+ 'restored',
427
+ 'duplicated',
428
+ 'assigned',
429
+ 'unassigned',
430
+ 'statusChanged',
431
+ 'priorityChanged',
432
+ 'typeChanged',
433
+ 'labeled',
434
+ 'unlabeled',
435
+ 'subtaskAdded',
436
+ 'linked',
437
+ 'unlinked',
438
+ 'blocked',
439
+ 'unblocked',
440
+ 'moved',
441
+ 'commented',
442
+ 'estimated',
443
+ 'timeLogged',
444
+ 'completed',
445
+ 'reopened',
446
+ ],
447
+ };
448
+ // =============================================================================
449
+ // Sprint
450
+ // =============================================================================
451
+ /**
452
+ * Sprint/Iteration entity
453
+ *
454
+ * Represents a time-boxed iteration for agile development.
455
+ */
456
+ export const Sprint = {
457
+ singular: 'sprint',
458
+ plural: 'sprints',
459
+ description: 'A time-boxed iteration for agile development',
460
+ properties: {
461
+ // Identity
462
+ name: {
463
+ type: 'string',
464
+ description: 'Sprint name',
465
+ },
466
+ number: {
467
+ type: 'number',
468
+ optional: true,
469
+ description: 'Sprint number/sequence',
470
+ },
471
+ goal: {
472
+ type: 'string',
473
+ optional: true,
474
+ description: 'Sprint goal or objective',
475
+ },
476
+ // Status
477
+ status: {
478
+ type: 'string',
479
+ description: 'Sprint status: planning, active, completed, cancelled',
480
+ examples: ['planning', 'active', 'completed', 'cancelled'],
481
+ },
482
+ // Timeline
483
+ startDate: {
484
+ type: 'date',
485
+ description: 'Sprint start date',
486
+ },
487
+ endDate: {
488
+ type: 'date',
489
+ description: 'Sprint end date',
490
+ },
491
+ duration: {
492
+ type: 'number',
493
+ optional: true,
494
+ description: 'Sprint duration in days',
495
+ },
496
+ // Metrics
497
+ capacity: {
498
+ type: 'number',
499
+ optional: true,
500
+ description: 'Team capacity in story points or hours',
501
+ },
502
+ commitment: {
503
+ type: 'number',
504
+ optional: true,
505
+ description: 'Committed story points or hours',
506
+ },
507
+ completed: {
508
+ type: 'number',
509
+ optional: true,
510
+ description: 'Completed story points or hours',
511
+ },
512
+ velocity: {
513
+ type: 'number',
514
+ optional: true,
515
+ description: 'Actual velocity (completed work)',
516
+ },
517
+ issueCount: {
518
+ type: 'number',
519
+ optional: true,
520
+ description: 'Total number of issues',
521
+ },
522
+ completedIssueCount: {
523
+ type: 'number',
524
+ optional: true,
525
+ description: 'Number of completed issues',
526
+ },
527
+ // Settings
528
+ autoComplete: {
529
+ type: 'boolean',
530
+ optional: true,
531
+ description: 'Whether to auto-complete the sprint when end date is reached',
532
+ },
533
+ },
534
+ relationships: {
535
+ project: {
536
+ type: 'Project',
537
+ backref: 'sprints',
538
+ description: 'Project this sprint belongs to',
539
+ },
540
+ issues: {
541
+ type: 'Issue[]',
542
+ backref: 'sprint',
543
+ description: 'Issues in this sprint',
544
+ },
545
+ team: {
546
+ type: 'Contact[]',
547
+ description: 'Team members working in this sprint',
548
+ },
549
+ },
550
+ actions: [
551
+ 'create',
552
+ 'update',
553
+ 'delete',
554
+ 'start',
555
+ 'complete',
556
+ 'cancel',
557
+ 'addIssue',
558
+ 'removeIssue',
559
+ 'setGoal',
560
+ 'setCapacity',
561
+ 'extend',
562
+ ],
563
+ events: [
564
+ 'created',
565
+ 'updated',
566
+ 'deleted',
567
+ 'started',
568
+ 'completed',
569
+ 'cancelled',
570
+ 'issueAdded',
571
+ 'issueRemoved',
572
+ 'goalChanged',
573
+ 'capacityChanged',
574
+ 'extended',
575
+ ],
576
+ };
577
+ // =============================================================================
578
+ // Milestone
579
+ // =============================================================================
580
+ /**
581
+ * Milestone/Release entity
582
+ *
583
+ * Represents a significant point in project timeline, often a release or major deliverable.
584
+ */
585
+ export const Milestone = {
586
+ singular: 'milestone',
587
+ plural: 'milestones',
588
+ description: 'A significant point in project timeline or a release',
589
+ properties: {
590
+ // Identity
591
+ name: {
592
+ type: 'string',
593
+ description: 'Milestone name',
594
+ },
595
+ description: {
596
+ type: 'string',
597
+ optional: true,
598
+ description: 'Milestone description',
599
+ },
600
+ version: {
601
+ type: 'string',
602
+ optional: true,
603
+ description: 'Version number for releases (e.g., v1.2.0)',
604
+ },
605
+ // Status
606
+ status: {
607
+ type: 'string',
608
+ description: 'Milestone status: planned, active, completed, cancelled',
609
+ examples: ['planned', 'active', 'completed', 'cancelled'],
610
+ },
611
+ progress: {
612
+ type: 'number',
613
+ optional: true,
614
+ description: 'Overall completion percentage (0-100)',
615
+ },
616
+ // Timeline
617
+ startDate: {
618
+ type: 'date',
619
+ optional: true,
620
+ description: 'Milestone start date',
621
+ },
622
+ targetDate: {
623
+ type: 'date',
624
+ description: 'Target completion date',
625
+ },
626
+ completedAt: {
627
+ type: 'datetime',
628
+ optional: true,
629
+ description: 'When the milestone was completed',
630
+ },
631
+ // Metrics
632
+ issueCount: {
633
+ type: 'number',
634
+ optional: true,
635
+ description: 'Total number of issues',
636
+ },
637
+ openIssueCount: {
638
+ type: 'number',
639
+ optional: true,
640
+ description: 'Number of open issues',
641
+ },
642
+ closedIssueCount: {
643
+ type: 'number',
644
+ optional: true,
645
+ description: 'Number of closed issues',
646
+ },
647
+ // Organization
648
+ archived: {
649
+ type: 'boolean',
650
+ optional: true,
651
+ description: 'Whether the milestone is archived',
652
+ },
653
+ },
654
+ relationships: {
655
+ project: {
656
+ type: 'Project',
657
+ backref: 'milestones',
658
+ description: 'Project this milestone belongs to',
659
+ },
660
+ issues: {
661
+ type: 'Issue[]',
662
+ backref: 'milestone',
663
+ description: 'Issues associated with this milestone',
664
+ },
665
+ owner: {
666
+ type: 'Contact',
667
+ required: false,
668
+ description: 'Person responsible for this milestone',
669
+ },
670
+ },
671
+ actions: [
672
+ 'create',
673
+ 'update',
674
+ 'delete',
675
+ 'archive',
676
+ 'restore',
677
+ 'complete',
678
+ 'cancel',
679
+ 'addIssue',
680
+ 'removeIssue',
681
+ 'setTargetDate',
682
+ ],
683
+ events: [
684
+ 'created',
685
+ 'updated',
686
+ 'deleted',
687
+ 'archived',
688
+ 'restored',
689
+ 'completed',
690
+ 'cancelled',
691
+ 'issueAdded',
692
+ 'issueRemoved',
693
+ 'targetDateChanged',
694
+ 'delayed',
695
+ ],
696
+ };
697
+ // =============================================================================
698
+ // Board
699
+ // =============================================================================
700
+ /**
701
+ * Board entity
702
+ *
703
+ * Represents a Kanban board for visualizing work and workflow.
704
+ */
705
+ export const Board = {
706
+ singular: 'board',
707
+ plural: 'boards',
708
+ description: 'A Kanban board for visualizing work and workflow',
709
+ properties: {
710
+ // Identity
711
+ name: {
712
+ type: 'string',
713
+ description: 'Board name',
714
+ },
715
+ description: {
716
+ type: 'string',
717
+ optional: true,
718
+ description: 'Board description',
719
+ },
720
+ icon: {
721
+ type: 'string',
722
+ optional: true,
723
+ description: 'Board icon/emoji',
724
+ },
725
+ // Type
726
+ type: {
727
+ type: 'string',
728
+ description: 'Board type: kanban, scrum, list',
729
+ examples: ['kanban', 'scrum', 'list'],
730
+ },
731
+ // Settings
732
+ swimlanes: {
733
+ type: 'string',
734
+ optional: true,
735
+ description: 'Swimlane grouping: none, assignee, priority, epic',
736
+ examples: ['none', 'assignee', 'priority', 'epic'],
737
+ },
738
+ cardStyle: {
739
+ type: 'string',
740
+ optional: true,
741
+ description: 'Card display style: compact, detailed, custom',
742
+ examples: ['compact', 'detailed', 'custom'],
743
+ },
744
+ autoArchive: {
745
+ type: 'boolean',
746
+ optional: true,
747
+ description: 'Whether to automatically archive completed issues',
748
+ },
749
+ // Organization
750
+ visibility: {
751
+ type: 'string',
752
+ description: 'Board visibility: public, private, team',
753
+ examples: ['public', 'private', 'team'],
754
+ },
755
+ archived: {
756
+ type: 'boolean',
757
+ optional: true,
758
+ description: 'Whether the board is archived',
759
+ },
760
+ },
761
+ relationships: {
762
+ project: {
763
+ type: 'Project',
764
+ backref: 'boards',
765
+ description: 'Project this board belongs to',
766
+ },
767
+ columns: {
768
+ type: 'Column[]',
769
+ backref: 'board',
770
+ description: 'Columns in this board',
771
+ },
772
+ owner: {
773
+ type: 'Contact',
774
+ description: 'Board owner',
775
+ },
776
+ members: {
777
+ type: 'Contact[]',
778
+ description: 'Members with access to this board',
779
+ },
780
+ },
781
+ actions: [
782
+ 'create',
783
+ 'update',
784
+ 'delete',
785
+ 'archive',
786
+ 'restore',
787
+ 'duplicate',
788
+ 'addColumn',
789
+ 'removeColumn',
790
+ 'reorderColumns',
791
+ 'addMember',
792
+ 'removeMember',
793
+ 'setSwimlanes',
794
+ ],
795
+ events: [
796
+ 'created',
797
+ 'updated',
798
+ 'deleted',
799
+ 'archived',
800
+ 'restored',
801
+ 'duplicated',
802
+ 'columnAdded',
803
+ 'columnRemoved',
804
+ 'columnsReordered',
805
+ 'memberAdded',
806
+ 'memberRemoved',
807
+ 'swimlanesChanged',
808
+ ],
809
+ };
810
+ // =============================================================================
811
+ // Column
812
+ // =============================================================================
813
+ /**
814
+ * Column entity
815
+ *
816
+ * Represents a column in a Kanban board (e.g., Todo, In Progress, Done).
817
+ */
818
+ export const Column = {
819
+ singular: 'column',
820
+ plural: 'columns',
821
+ description: 'A column in a Kanban board representing a workflow state',
822
+ properties: {
823
+ // Identity
824
+ name: {
825
+ type: 'string',
826
+ description: 'Column name',
827
+ },
828
+ description: {
829
+ type: 'string',
830
+ optional: true,
831
+ description: 'Column description',
832
+ },
833
+ // Visual
834
+ color: {
835
+ type: 'string',
836
+ optional: true,
837
+ description: 'Column color code',
838
+ },
839
+ icon: {
840
+ type: 'string',
841
+ optional: true,
842
+ description: 'Column icon/emoji',
843
+ },
844
+ // Position
845
+ position: {
846
+ type: 'number',
847
+ description: 'Column position/order (0-indexed)',
848
+ },
849
+ // Constraints
850
+ wipLimit: {
851
+ type: 'number',
852
+ optional: true,
853
+ description: 'Work-in-progress limit for this column',
854
+ },
855
+ issueCount: {
856
+ type: 'number',
857
+ optional: true,
858
+ description: 'Current number of issues in this column',
859
+ },
860
+ // Status Mapping
861
+ statusCategory: {
862
+ type: 'string',
863
+ description: 'Status category: todo, in-progress, done',
864
+ examples: ['todo', 'in-progress', 'done'],
865
+ },
866
+ },
867
+ relationships: {
868
+ board: {
869
+ type: 'Board',
870
+ backref: 'columns',
871
+ description: 'Board this column belongs to',
872
+ },
873
+ issues: {
874
+ type: 'Issue[]',
875
+ description: 'Issues currently in this column',
876
+ },
877
+ },
878
+ actions: [
879
+ 'create',
880
+ 'update',
881
+ 'delete',
882
+ 'rename',
883
+ 'move',
884
+ 'setColor',
885
+ 'setWipLimit',
886
+ ],
887
+ events: [
888
+ 'created',
889
+ 'updated',
890
+ 'deleted',
891
+ 'renamed',
892
+ 'moved',
893
+ 'colorChanged',
894
+ 'wipLimitChanged',
895
+ 'wipLimitExceeded',
896
+ ],
897
+ };
898
+ // =============================================================================
899
+ // Label
900
+ // =============================================================================
901
+ /**
902
+ * Label entity
903
+ *
904
+ * Represents a label/tag for categorizing and filtering issues.
905
+ */
906
+ export const Label = {
907
+ singular: 'label',
908
+ plural: 'labels',
909
+ description: 'A label or tag for categorizing and filtering issues',
910
+ properties: {
911
+ // Identity
912
+ name: {
913
+ type: 'string',
914
+ description: 'Label name',
915
+ },
916
+ description: {
917
+ type: 'string',
918
+ optional: true,
919
+ description: 'Label description',
920
+ },
921
+ // Visual
922
+ color: {
923
+ type: 'string',
924
+ description: 'Label color code (hex)',
925
+ },
926
+ icon: {
927
+ type: 'string',
928
+ optional: true,
929
+ description: 'Label icon/emoji',
930
+ },
931
+ // Organization
932
+ category: {
933
+ type: 'string',
934
+ optional: true,
935
+ description: 'Label category or group',
936
+ },
937
+ },
938
+ relationships: {
939
+ project: {
940
+ type: 'Project',
941
+ required: false,
942
+ description: 'Project this label is scoped to (if any)',
943
+ },
944
+ issues: {
945
+ type: 'Issue[]',
946
+ description: 'Issues with this label',
947
+ },
948
+ },
949
+ actions: [
950
+ 'create',
951
+ 'update',
952
+ 'delete',
953
+ 'rename',
954
+ 'setColor',
955
+ 'merge',
956
+ ],
957
+ events: [
958
+ 'created',
959
+ 'updated',
960
+ 'deleted',
961
+ 'renamed',
962
+ 'colorChanged',
963
+ 'merged',
964
+ 'applied',
965
+ 'removed',
966
+ ],
967
+ };
968
+ // =============================================================================
969
+ // Epic
970
+ // =============================================================================
971
+ /**
972
+ * Epic entity
973
+ *
974
+ * Represents a large body of work that can be broken down into smaller issues.
975
+ */
976
+ export const Epic = {
977
+ singular: 'epic',
978
+ plural: 'epics',
979
+ description: 'A large body of work containing multiple related issues',
980
+ properties: {
981
+ // Identity
982
+ name: {
983
+ type: 'string',
984
+ description: 'Epic name/title',
985
+ },
986
+ identifier: {
987
+ type: 'string',
988
+ optional: true,
989
+ description: 'Epic identifier (e.g., PROJ-E1)',
990
+ },
991
+ description: {
992
+ type: 'markdown',
993
+ optional: true,
994
+ description: 'Detailed epic description',
995
+ },
996
+ // Visual
997
+ color: {
998
+ type: 'string',
999
+ optional: true,
1000
+ description: 'Epic color code',
1001
+ },
1002
+ icon: {
1003
+ type: 'string',
1004
+ optional: true,
1005
+ description: 'Epic icon/emoji',
1006
+ },
1007
+ // Status & Progress
1008
+ status: {
1009
+ type: 'string',
1010
+ description: 'Epic status: planned, active, completed, cancelled',
1011
+ examples: ['planned', 'active', 'completed', 'cancelled'],
1012
+ },
1013
+ progress: {
1014
+ type: 'number',
1015
+ optional: true,
1016
+ description: 'Overall completion percentage (0-100)',
1017
+ },
1018
+ // Timeline
1019
+ startDate: {
1020
+ type: 'date',
1021
+ optional: true,
1022
+ description: 'Epic start date',
1023
+ },
1024
+ targetDate: {
1025
+ type: 'date',
1026
+ optional: true,
1027
+ description: 'Target completion date',
1028
+ },
1029
+ completedAt: {
1030
+ type: 'datetime',
1031
+ optional: true,
1032
+ description: 'When the epic was completed',
1033
+ },
1034
+ // Metrics
1035
+ issueCount: {
1036
+ type: 'number',
1037
+ optional: true,
1038
+ description: 'Total number of issues in this epic',
1039
+ },
1040
+ completedIssueCount: {
1041
+ type: 'number',
1042
+ optional: true,
1043
+ description: 'Number of completed issues',
1044
+ },
1045
+ storyPoints: {
1046
+ type: 'number',
1047
+ optional: true,
1048
+ description: 'Total story points',
1049
+ },
1050
+ completedStoryPoints: {
1051
+ type: 'number',
1052
+ optional: true,
1053
+ description: 'Completed story points',
1054
+ },
1055
+ // Organization
1056
+ archived: {
1057
+ type: 'boolean',
1058
+ optional: true,
1059
+ description: 'Whether the epic is archived',
1060
+ },
1061
+ },
1062
+ relationships: {
1063
+ project: {
1064
+ type: 'Project',
1065
+ backref: 'epics',
1066
+ description: 'Project this epic belongs to',
1067
+ },
1068
+ issues: {
1069
+ type: 'Issue[]',
1070
+ backref: 'epic',
1071
+ description: 'Issues in this epic',
1072
+ },
1073
+ owner: {
1074
+ type: 'Contact',
1075
+ required: false,
1076
+ description: 'Person responsible for this epic',
1077
+ },
1078
+ labels: {
1079
+ type: 'Label[]',
1080
+ description: 'Labels applied to this epic',
1081
+ },
1082
+ },
1083
+ actions: [
1084
+ 'create',
1085
+ 'update',
1086
+ 'delete',
1087
+ 'archive',
1088
+ 'restore',
1089
+ 'setStatus',
1090
+ 'addIssue',
1091
+ 'removeIssue',
1092
+ 'setDates',
1093
+ 'addLabel',
1094
+ 'removeLabel',
1095
+ ],
1096
+ events: [
1097
+ 'created',
1098
+ 'updated',
1099
+ 'deleted',
1100
+ 'archived',
1101
+ 'restored',
1102
+ 'statusChanged',
1103
+ 'issueAdded',
1104
+ 'issueRemoved',
1105
+ 'datesChanged',
1106
+ 'labeled',
1107
+ 'unlabeled',
1108
+ 'completed',
1109
+ 'cancelled',
1110
+ ],
1111
+ };
1112
+ // =============================================================================
1113
+ // Export all entities as a schema
1114
+ // =============================================================================
1115
+ /**
1116
+ * All project management entity types
1117
+ */
1118
+ export const ProjectManagementEntities = {
1119
+ Project,
1120
+ Issue,
1121
+ Sprint,
1122
+ Milestone,
1123
+ Board,
1124
+ Column,
1125
+ Label,
1126
+ Epic,
1127
+ };
1128
+ /**
1129
+ * Entity categories for organization
1130
+ */
1131
+ export const ProjectManagementCategories = {
1132
+ core: ['Project', 'Issue', 'Epic'],
1133
+ planning: ['Sprint', 'Milestone'],
1134
+ visualization: ['Board', 'Column'],
1135
+ organization: ['Label'],
1136
+ };
1137
+ //# sourceMappingURL=project-management.js.map