@agenticmail/enterprise 0.3.2 → 0.4.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 (1741) hide show
  1. package/.github/CODEOWNERS +23 -0
  2. package/.github/workflows/publish-community-skills.yml +121 -0
  3. package/.github/workflows/validate-community-skills.yml +172 -0
  4. package/ARCHITECTURE.md +184 -167
  5. package/CONTRIBUTING.md +254 -0
  6. package/DEPLOYMENT.md +1031 -0
  7. package/README.md +355 -174
  8. package/community-skills/_template/README.md +31 -0
  9. package/community-skills/_template/agenticmail-skill.json +48 -0
  10. package/community-skills/activecampaign/README.md +21 -0
  11. package/community-skills/activecampaign/agenticmail-skill.json +56 -0
  12. package/community-skills/adobe-sign/README.md +21 -0
  13. package/community-skills/adobe-sign/agenticmail-skill.json +72 -0
  14. package/community-skills/adp/README.md +21 -0
  15. package/community-skills/adp/agenticmail-skill.json +65 -0
  16. package/community-skills/airtable-bases/README.md +29 -0
  17. package/community-skills/airtable-bases/agenticmail-skill.json +69 -0
  18. package/community-skills/apollo-io/README.md +21 -0
  19. package/community-skills/apollo-io/agenticmail-skill.json +50 -0
  20. package/community-skills/asana-tasks/README.md +30 -0
  21. package/community-skills/asana-tasks/agenticmail-skill.json +70 -0
  22. package/community-skills/auth0/README.md +21 -0
  23. package/community-skills/auth0/agenticmail-skill.json +56 -0
  24. package/community-skills/aws-services/README.md +38 -0
  25. package/community-skills/aws-services/agenticmail-skill.json +70 -0
  26. package/community-skills/azure-devops/README.md +21 -0
  27. package/community-skills/azure-devops/agenticmail-skill.json +57 -0
  28. package/community-skills/bamboohr/README.md +21 -0
  29. package/community-skills/bamboohr/agenticmail-skill.json +56 -0
  30. package/community-skills/basecamp/README.md +21 -0
  31. package/community-skills/basecamp/agenticmail-skill.json +56 -0
  32. package/community-skills/bigcommerce/README.md +21 -0
  33. package/community-skills/bigcommerce/agenticmail-skill.json +55 -0
  34. package/community-skills/bitbucket-repos/README.md +29 -0
  35. package/community-skills/bitbucket-repos/agenticmail-skill.json +70 -0
  36. package/community-skills/box/README.md +21 -0
  37. package/community-skills/box/agenticmail-skill.json +48 -0
  38. package/community-skills/brex/README.md +21 -0
  39. package/community-skills/brex/agenticmail-skill.json +48 -0
  40. package/community-skills/buffer/README.md +21 -0
  41. package/community-skills/buffer/agenticmail-skill.json +50 -0
  42. package/community-skills/calendly/README.md +20 -0
  43. package/community-skills/calendly/agenticmail-skill.json +43 -0
  44. package/community-skills/canva-design/README.md +33 -0
  45. package/community-skills/canva-design/agenticmail-skill.json +60 -0
  46. package/community-skills/chargebee/README.md +21 -0
  47. package/community-skills/chargebee/agenticmail-skill.json +55 -0
  48. package/community-skills/circleci-pipelines/README.md +28 -0
  49. package/community-skills/circleci-pipelines/agenticmail-skill.json +66 -0
  50. package/community-skills/clickup/README.md +21 -0
  51. package/community-skills/clickup/agenticmail-skill.json +48 -0
  52. package/community-skills/close-crm/README.md +21 -0
  53. package/community-skills/close-crm/agenticmail-skill.json +49 -0
  54. package/community-skills/cloudflare-cdn/README.md +37 -0
  55. package/community-skills/cloudflare-cdn/agenticmail-skill.json +67 -0
  56. package/community-skills/confluence-wiki/README.md +31 -0
  57. package/community-skills/confluence-wiki/agenticmail-skill.json +74 -0
  58. package/community-skills/contentful/README.md +21 -0
  59. package/community-skills/contentful/agenticmail-skill.json +62 -0
  60. package/community-skills/copper-crm/README.md +21 -0
  61. package/community-skills/copper-crm/agenticmail-skill.json +56 -0
  62. package/community-skills/crisp/README.md +21 -0
  63. package/community-skills/crisp/agenticmail-skill.json +56 -0
  64. package/community-skills/crowdstrike/README.md +21 -0
  65. package/community-skills/crowdstrike/agenticmail-skill.json +69 -0
  66. package/community-skills/datadog-monitoring/README.md +37 -0
  67. package/community-skills/datadog-monitoring/agenticmail-skill.json +73 -0
  68. package/community-skills/digitalocean/README.md +21 -0
  69. package/community-skills/digitalocean/agenticmail-skill.json +48 -0
  70. package/community-skills/discord/README.md +45 -0
  71. package/community-skills/discord/agenticmail-skill.json +65 -0
  72. package/community-skills/docker-containers/README.md +38 -0
  73. package/community-skills/docker-containers/agenticmail-skill.json +70 -0
  74. package/community-skills/docusign-esign/README.md +35 -0
  75. package/community-skills/docusign-esign/agenticmail-skill.json +66 -0
  76. package/community-skills/drift/README.md +21 -0
  77. package/community-skills/drift/agenticmail-skill.json +50 -0
  78. package/community-skills/dropbox-storage/README.md +36 -0
  79. package/community-skills/dropbox-storage/agenticmail-skill.json +67 -0
  80. package/community-skills/figma-design/README.md +36 -0
  81. package/community-skills/figma-design/agenticmail-skill.json +66 -0
  82. package/community-skills/firebase/README.md +21 -0
  83. package/community-skills/firebase/agenticmail-skill.json +56 -0
  84. package/community-skills/flyio/README.md +21 -0
  85. package/community-skills/flyio/agenticmail-skill.json +56 -0
  86. package/community-skills/freshbooks/README.md +21 -0
  87. package/community-skills/freshbooks/agenticmail-skill.json +55 -0
  88. package/community-skills/freshdesk/README.md +21 -0
  89. package/community-skills/freshdesk/agenticmail-skill.json +57 -0
  90. package/community-skills/freshsales/README.md +21 -0
  91. package/community-skills/freshsales/agenticmail-skill.json +55 -0
  92. package/community-skills/freshservice/README.md +21 -0
  93. package/community-skills/freshservice/agenticmail-skill.json +56 -0
  94. package/community-skills/front/README.md +21 -0
  95. package/community-skills/front/agenticmail-skill.json +48 -0
  96. package/community-skills/github/README.md +49 -0
  97. package/community-skills/github/agenticmail-skill.json +73 -0
  98. package/community-skills/github-actions/README.md +29 -0
  99. package/community-skills/github-actions/agenticmail-skill.json +72 -0
  100. package/community-skills/gitlab-ci/README.md +51 -0
  101. package/community-skills/gitlab-ci/agenticmail-skill.json +66 -0
  102. package/community-skills/gong/README.md +21 -0
  103. package/community-skills/gong/agenticmail-skill.json +50 -0
  104. package/community-skills/google-ads/README.md +36 -0
  105. package/community-skills/google-ads/agenticmail-skill.json +58 -0
  106. package/community-skills/google-analytics/README.md +28 -0
  107. package/community-skills/google-analytics/agenticmail-skill.json +69 -0
  108. package/community-skills/google-cloud/README.md +33 -0
  109. package/community-skills/google-cloud/agenticmail-skill.json +59 -0
  110. package/community-skills/google-drive/README.md +36 -0
  111. package/community-skills/google-drive/agenticmail-skill.json +65 -0
  112. package/community-skills/gotomeeting/README.md +20 -0
  113. package/community-skills/gotomeeting/agenticmail-skill.json +45 -0
  114. package/community-skills/grafana/README.md +21 -0
  115. package/community-skills/grafana/agenticmail-skill.json +56 -0
  116. package/community-skills/greenhouse/README.md +21 -0
  117. package/community-skills/greenhouse/agenticmail-skill.json +49 -0
  118. package/community-skills/gusto/README.md +21 -0
  119. package/community-skills/gusto/agenticmail-skill.json +49 -0
  120. package/community-skills/hashicorp-vault/README.md +21 -0
  121. package/community-skills/hashicorp-vault/agenticmail-skill.json +58 -0
  122. package/community-skills/heroku/README.md +21 -0
  123. package/community-skills/heroku/agenticmail-skill.json +48 -0
  124. package/community-skills/hibob/README.md +21 -0
  125. package/community-skills/hibob/agenticmail-skill.json +48 -0
  126. package/community-skills/hootsuite/README.md +21 -0
  127. package/community-skills/hootsuite/agenticmail-skill.json +48 -0
  128. package/community-skills/hubspot-crm/README.md +36 -0
  129. package/community-skills/hubspot-crm/agenticmail-skill.json +70 -0
  130. package/community-skills/huggingface/README.md +21 -0
  131. package/community-skills/huggingface/agenticmail-skill.json +48 -0
  132. package/community-skills/index.json +1320 -0
  133. package/community-skills/intercom-support/README.md +36 -0
  134. package/community-skills/intercom-support/agenticmail-skill.json +64 -0
  135. package/community-skills/jira/README.md +53 -0
  136. package/community-skills/jira/agenticmail-skill.json +72 -0
  137. package/community-skills/klaviyo/README.md +21 -0
  138. package/community-skills/klaviyo/agenticmail-skill.json +48 -0
  139. package/community-skills/kubernetes-cluster/README.md +36 -0
  140. package/community-skills/kubernetes-cluster/agenticmail-skill.json +72 -0
  141. package/community-skills/lattice/README.md +21 -0
  142. package/community-skills/lattice/agenticmail-skill.json +49 -0
  143. package/community-skills/launchdarkly/README.md +21 -0
  144. package/community-skills/launchdarkly/agenticmail-skill.json +48 -0
  145. package/community-skills/lever/README.md +21 -0
  146. package/community-skills/lever/agenticmail-skill.json +49 -0
  147. package/community-skills/linear/README.md +29 -0
  148. package/community-skills/linear/agenticmail-skill.json +81 -0
  149. package/community-skills/linkedin/README.md +21 -0
  150. package/community-skills/linkedin/agenticmail-skill.json +48 -0
  151. package/community-skills/livechat/README.md +20 -0
  152. package/community-skills/livechat/agenticmail-skill.json +43 -0
  153. package/community-skills/loom-video/README.md +20 -0
  154. package/community-skills/loom-video/agenticmail-skill.json +44 -0
  155. package/community-skills/mailchimp-campaigns/README.md +37 -0
  156. package/community-skills/mailchimp-campaigns/agenticmail-skill.json +69 -0
  157. package/community-skills/mailgun/README.md +21 -0
  158. package/community-skills/mailgun/agenticmail-skill.json +71 -0
  159. package/community-skills/microsoft-teams/README.md +51 -0
  160. package/community-skills/microsoft-teams/agenticmail-skill.json +66 -0
  161. package/community-skills/miro-boards/README.md +20 -0
  162. package/community-skills/miro-boards/agenticmail-skill.json +44 -0
  163. package/community-skills/mixpanel-analytics/README.md +34 -0
  164. package/community-skills/mixpanel-analytics/agenticmail-skill.json +64 -0
  165. package/community-skills/monday-boards/README.md +28 -0
  166. package/community-skills/monday-boards/agenticmail-skill.json +68 -0
  167. package/community-skills/mongodb-atlas/README.md +21 -0
  168. package/community-skills/mongodb-atlas/agenticmail-skill.json +58 -0
  169. package/community-skills/neon/README.md +21 -0
  170. package/community-skills/neon/agenticmail-skill.json +50 -0
  171. package/community-skills/netlify/README.md +21 -0
  172. package/community-skills/netlify/agenticmail-skill.json +48 -0
  173. package/community-skills/netsuite/README.md +21 -0
  174. package/community-skills/netsuite/agenticmail-skill.json +57 -0
  175. package/community-skills/newrelic/README.md +21 -0
  176. package/community-skills/newrelic/agenticmail-skill.json +58 -0
  177. package/community-skills/notion/README.md +49 -0
  178. package/community-skills/notion/agenticmail-skill.json +72 -0
  179. package/community-skills/okta/README.md +21 -0
  180. package/community-skills/okta/agenticmail-skill.json +57 -0
  181. package/community-skills/openai/README.md +21 -0
  182. package/community-skills/openai/agenticmail-skill.json +48 -0
  183. package/community-skills/opsgenie/README.md +21 -0
  184. package/community-skills/opsgenie/agenticmail-skill.json +48 -0
  185. package/community-skills/outreach/README.md +21 -0
  186. package/community-skills/outreach/agenticmail-skill.json +50 -0
  187. package/community-skills/paddle/README.md +21 -0
  188. package/community-skills/paddle/agenticmail-skill.json +55 -0
  189. package/community-skills/pagerduty/README.md +21 -0
  190. package/community-skills/pagerduty/agenticmail-skill.json +48 -0
  191. package/community-skills/pandadoc/README.md +21 -0
  192. package/community-skills/pandadoc/agenticmail-skill.json +48 -0
  193. package/community-skills/paypal/README.md +21 -0
  194. package/community-skills/paypal/agenticmail-skill.json +55 -0
  195. package/community-skills/personio/README.md +21 -0
  196. package/community-skills/personio/agenticmail-skill.json +48 -0
  197. package/community-skills/pinecone/README.md +21 -0
  198. package/community-skills/pinecone/agenticmail-skill.json +48 -0
  199. package/community-skills/pipedrive-deals/README.md +33 -0
  200. package/community-skills/pipedrive-deals/agenticmail-skill.json +60 -0
  201. package/community-skills/plaid/README.md +21 -0
  202. package/community-skills/plaid/agenticmail-skill.json +65 -0
  203. package/community-skills/postmark/README.md +21 -0
  204. package/community-skills/postmark/agenticmail-skill.json +48 -0
  205. package/community-skills/power-automate/README.md +21 -0
  206. package/community-skills/power-automate/agenticmail-skill.json +59 -0
  207. package/community-skills/quickbooks-accounting/README.md +38 -0
  208. package/community-skills/quickbooks-accounting/agenticmail-skill.json +70 -0
  209. package/community-skills/recurly/README.md +21 -0
  210. package/community-skills/recurly/agenticmail-skill.json +48 -0
  211. package/community-skills/reddit/README.md +21 -0
  212. package/community-skills/reddit/agenticmail-skill.json +48 -0
  213. package/community-skills/render/README.md +21 -0
  214. package/community-skills/render/agenticmail-skill.json +48 -0
  215. package/community-skills/ringcentral/README.md +20 -0
  216. package/community-skills/ringcentral/agenticmail-skill.json +43 -0
  217. package/community-skills/rippling/README.md +21 -0
  218. package/community-skills/rippling/agenticmail-skill.json +48 -0
  219. package/community-skills/salesforce/README.md +53 -0
  220. package/community-skills/salesforce/agenticmail-skill.json +73 -0
  221. package/community-skills/salesloft/README.md +21 -0
  222. package/community-skills/salesloft/agenticmail-skill.json +48 -0
  223. package/community-skills/sanity/README.md +21 -0
  224. package/community-skills/sanity/agenticmail-skill.json +62 -0
  225. package/community-skills/sap/README.md +21 -0
  226. package/community-skills/sap/agenticmail-skill.json +63 -0
  227. package/community-skills/segment-cdp/README.md +37 -0
  228. package/community-skills/segment-cdp/agenticmail-skill.json +66 -0
  229. package/community-skills/sendgrid-email/README.md +51 -0
  230. package/community-skills/sendgrid-email/agenticmail-skill.json +71 -0
  231. package/community-skills/sentry/README.md +21 -0
  232. package/community-skills/sentry/agenticmail-skill.json +58 -0
  233. package/community-skills/servicenow/README.md +21 -0
  234. package/community-skills/servicenow/agenticmail-skill.json +56 -0
  235. package/community-skills/shopify/README.md +21 -0
  236. package/community-skills/shopify/agenticmail-skill.json +56 -0
  237. package/community-skills/shortcut/README.md +21 -0
  238. package/community-skills/shortcut/agenticmail-skill.json +48 -0
  239. package/community-skills/slack/README.md +45 -0
  240. package/community-skills/slack/agenticmail-skill.json +73 -0
  241. package/community-skills/smartsheet/README.md +21 -0
  242. package/community-skills/smartsheet/agenticmail-skill.json +48 -0
  243. package/community-skills/snowflake-warehouse/README.md +37 -0
  244. package/community-skills/snowflake-warehouse/agenticmail-skill.json +71 -0
  245. package/community-skills/snyk/README.md +21 -0
  246. package/community-skills/snyk/agenticmail-skill.json +48 -0
  247. package/community-skills/splunk/README.md +21 -0
  248. package/community-skills/splunk/agenticmail-skill.json +56 -0
  249. package/community-skills/square/README.md +21 -0
  250. package/community-skills/square/agenticmail-skill.json +55 -0
  251. package/community-skills/statuspage/README.md +21 -0
  252. package/community-skills/statuspage/agenticmail-skill.json +56 -0
  253. package/community-skills/stripe/README.md +45 -0
  254. package/community-skills/stripe/agenticmail-skill.json +66 -0
  255. package/community-skills/supabase/README.md +21 -0
  256. package/community-skills/supabase/agenticmail-skill.json +56 -0
  257. package/community-skills/teamwork/README.md +21 -0
  258. package/community-skills/teamwork/agenticmail-skill.json +56 -0
  259. package/community-skills/telegram-bot/README.md +20 -0
  260. package/community-skills/telegram-bot/agenticmail-skill.json +52 -0
  261. package/community-skills/terraform-iac/README.md +34 -0
  262. package/community-skills/terraform-iac/agenticmail-skill.json +66 -0
  263. package/community-skills/todoist-tasks/README.md +29 -0
  264. package/community-skills/todoist-tasks/agenticmail-skill.json +72 -0
  265. package/community-skills/trello-cards/README.md +30 -0
  266. package/community-skills/trello-cards/agenticmail-skill.json +72 -0
  267. package/community-skills/twilio-sms/README.md +47 -0
  268. package/community-skills/twilio-sms/agenticmail-skill.json +63 -0
  269. package/community-skills/twitter/README.md +21 -0
  270. package/community-skills/twitter/agenticmail-skill.json +48 -0
  271. package/community-skills/vercel-deployments/README.md +29 -0
  272. package/community-skills/vercel-deployments/agenticmail-skill.json +70 -0
  273. package/community-skills/weaviate/README.md +21 -0
  274. package/community-skills/weaviate/agenticmail-skill.json +56 -0
  275. package/community-skills/webex/README.md +20 -0
  276. package/community-skills/webex/agenticmail-skill.json +43 -0
  277. package/community-skills/webflow/README.md +21 -0
  278. package/community-skills/webflow/agenticmail-skill.json +48 -0
  279. package/community-skills/whatsapp-business/README.md +20 -0
  280. package/community-skills/whatsapp-business/agenticmail-skill.json +52 -0
  281. package/community-skills/whereby/README.md +20 -0
  282. package/community-skills/whereby/agenticmail-skill.json +43 -0
  283. package/community-skills/woocommerce/README.md +21 -0
  284. package/community-skills/woocommerce/agenticmail-skill.json +55 -0
  285. package/community-skills/wordpress/README.md +21 -0
  286. package/community-skills/wordpress/agenticmail-skill.json +56 -0
  287. package/community-skills/workday/README.md +21 -0
  288. package/community-skills/workday/agenticmail-skill.json +56 -0
  289. package/community-skills/wrike/README.md +21 -0
  290. package/community-skills/wrike/agenticmail-skill.json +48 -0
  291. package/community-skills/xero/README.md +21 -0
  292. package/community-skills/xero/agenticmail-skill.json +56 -0
  293. package/community-skills/youtube/README.md +21 -0
  294. package/community-skills/youtube/agenticmail-skill.json +52 -0
  295. package/community-skills/zendesk-tickets/README.md +37 -0
  296. package/community-skills/zendesk-tickets/agenticmail-skill.json +65 -0
  297. package/community-skills/zoho-crm/README.md +21 -0
  298. package/community-skills/zoho-crm/agenticmail-skill.json +74 -0
  299. package/community-skills/zoom-meetings/README.md +51 -0
  300. package/community-skills/zoom-meetings/agenticmail-skill.json +66 -0
  301. package/community-skills/zuora/README.md +21 -0
  302. package/community-skills/zuora/agenticmail-skill.json +55 -0
  303. package/dashboards/README.md +81 -70
  304. package/dashboards/django/app.py +117 -0
  305. package/dashboards/django/static/styles.css +284 -0
  306. package/dashboards/django/templates/agent_detail.html +501 -0
  307. package/dashboards/django/templates/agents.html +217 -0
  308. package/dashboards/django/templates/api_keys.html +41 -0
  309. package/dashboards/django/templates/audit.html +26 -0
  310. package/dashboards/django/templates/compliance.html +33 -0
  311. package/dashboards/django/templates/components/modal.html +6 -0
  312. package/dashboards/django/templates/components/pagination.html +9 -0
  313. package/dashboards/django/templates/components/stats.html +8 -0
  314. package/dashboards/django/templates/dashboard.html +24 -0
  315. package/dashboards/django/templates/dlp.html +70 -0
  316. package/dashboards/django/templates/guardrails.html +78 -0
  317. package/dashboards/django/templates/journal.html +39 -0
  318. package/dashboards/django/templates/layout.html +52 -0
  319. package/dashboards/django/templates/login.html +30 -0
  320. package/dashboards/django/templates/messages.html +38 -0
  321. package/dashboards/django/templates/settings.html +472 -0
  322. package/dashboards/django/templates/skills.html +66 -0
  323. package/dashboards/django/templates/users.html +34 -0
  324. package/dashboards/django/templates/vault.html +46 -0
  325. package/dashboards/django/utils/__init__.py +0 -0
  326. package/dashboards/django/utils/api.py +20 -0
  327. package/dashboards/django/utils/helpers.py +39 -0
  328. package/dashboards/django/views/__init__.py +38 -0
  329. package/dashboards/django/views/agents.py +343 -0
  330. package/dashboards/django/views/api_keys.py +47 -0
  331. package/dashboards/django/views/audit.py +35 -0
  332. package/dashboards/django/views/auth.py +34 -0
  333. package/dashboards/django/views/compliance.py +37 -0
  334. package/dashboards/django/views/dashboard.py +27 -0
  335. package/dashboards/django/views/dlp.py +53 -0
  336. package/dashboards/django/views/guardrails.py +61 -0
  337. package/dashboards/django/views/journal.py +41 -0
  338. package/dashboards/django/views/messages.py +65 -0
  339. package/dashboards/django/views/settings_view.py +335 -0
  340. package/dashboards/django/views/skills.py +50 -0
  341. package/dashboards/django/views/users.py +42 -0
  342. package/dashboards/django/views/vault.py +50 -0
  343. package/dashboards/dotnet/AgenticMailDashboard.csproj +10 -0
  344. package/dashboards/dotnet/Program.cs +53 -233
  345. package/dashboards/dotnet/Routes/AgentRoutes.cs +771 -0
  346. package/dashboards/dotnet/Routes/ApiKeyRoutes.cs +185 -0
  347. package/dashboards/dotnet/Routes/AuditRoutes.cs +86 -0
  348. package/dashboards/dotnet/Routes/AuthRoutes.cs +50 -0
  349. package/dashboards/dotnet/Routes/ComplianceRoutes.cs +143 -0
  350. package/dashboards/dotnet/Routes/DashboardRoutes.cs +81 -0
  351. package/dashboards/dotnet/Routes/DlpRoutes.cs +230 -0
  352. package/dashboards/dotnet/Routes/GuardrailRoutes.cs +285 -0
  353. package/dashboards/dotnet/Routes/JournalRoutes.cs +118 -0
  354. package/dashboards/dotnet/Routes/MessageRoutes.cs +167 -0
  355. package/dashboards/dotnet/Routes/SettingRoutes.cs +907 -0
  356. package/dashboards/dotnet/Routes/SkillRoutes.cs +198 -0
  357. package/dashboards/dotnet/Routes/UserRoutes.cs +111 -0
  358. package/dashboards/dotnet/Routes/VaultRoutes.cs +162 -0
  359. package/dashboards/dotnet/Services/ApiClient.cs +103 -0
  360. package/dashboards/dotnet/Services/HtmlBuilder.cs +249 -0
  361. package/dashboards/dotnet/wwwroot/styles.css +284 -0
  362. package/dashboards/express/app.js +37 -126
  363. package/dashboards/express/middleware/auth.js +10 -0
  364. package/dashboards/express/node_modules/.package-lock.json +913 -0
  365. package/dashboards/express/node_modules/accepts/HISTORY.md +250 -0
  366. package/dashboards/express/node_modules/accepts/LICENSE +23 -0
  367. package/dashboards/express/node_modules/accepts/README.md +140 -0
  368. package/dashboards/express/node_modules/accepts/index.js +238 -0
  369. package/dashboards/express/node_modules/accepts/package.json +47 -0
  370. package/dashboards/express/node_modules/body-parser/LICENSE +23 -0
  371. package/dashboards/express/node_modules/body-parser/README.md +494 -0
  372. package/dashboards/express/node_modules/body-parser/index.js +71 -0
  373. package/dashboards/express/node_modules/body-parser/lib/read.js +247 -0
  374. package/dashboards/express/node_modules/body-parser/lib/types/json.js +158 -0
  375. package/dashboards/express/node_modules/body-parser/lib/types/raw.js +42 -0
  376. package/dashboards/express/node_modules/body-parser/lib/types/text.js +36 -0
  377. package/dashboards/express/node_modules/body-parser/lib/types/urlencoded.js +142 -0
  378. package/dashboards/express/node_modules/body-parser/lib/utils.js +98 -0
  379. package/dashboards/express/node_modules/body-parser/package.json +52 -0
  380. package/dashboards/express/node_modules/bytes/History.md +97 -0
  381. package/dashboards/express/node_modules/bytes/LICENSE +23 -0
  382. package/dashboards/express/node_modules/bytes/Readme.md +152 -0
  383. package/dashboards/express/node_modules/bytes/index.js +170 -0
  384. package/dashboards/express/node_modules/bytes/package.json +42 -0
  385. package/dashboards/express/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  386. package/dashboards/express/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  387. package/dashboards/express/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  388. package/dashboards/express/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  389. package/dashboards/express/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  390. package/dashboards/express/node_modules/call-bind-apply-helpers/README.md +62 -0
  391. package/dashboards/express/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  392. package/dashboards/express/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  393. package/dashboards/express/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  394. package/dashboards/express/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  395. package/dashboards/express/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  396. package/dashboards/express/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  397. package/dashboards/express/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  398. package/dashboards/express/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  399. package/dashboards/express/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  400. package/dashboards/express/node_modules/call-bind-apply-helpers/index.js +15 -0
  401. package/dashboards/express/node_modules/call-bind-apply-helpers/package.json +85 -0
  402. package/dashboards/express/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  403. package/dashboards/express/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  404. package/dashboards/express/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  405. package/dashboards/express/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  406. package/dashboards/express/node_modules/call-bound/.eslintrc +13 -0
  407. package/dashboards/express/node_modules/call-bound/.github/FUNDING.yml +12 -0
  408. package/dashboards/express/node_modules/call-bound/.nycrc +9 -0
  409. package/dashboards/express/node_modules/call-bound/CHANGELOG.md +42 -0
  410. package/dashboards/express/node_modules/call-bound/LICENSE +21 -0
  411. package/dashboards/express/node_modules/call-bound/README.md +53 -0
  412. package/dashboards/express/node_modules/call-bound/index.d.ts +94 -0
  413. package/dashboards/express/node_modules/call-bound/index.js +19 -0
  414. package/dashboards/express/node_modules/call-bound/package.json +99 -0
  415. package/dashboards/express/node_modules/call-bound/test/index.js +61 -0
  416. package/dashboards/express/node_modules/call-bound/tsconfig.json +10 -0
  417. package/dashboards/express/node_modules/content-disposition/HISTORY.md +72 -0
  418. package/dashboards/express/node_modules/content-disposition/LICENSE +22 -0
  419. package/dashboards/express/node_modules/content-disposition/README.md +142 -0
  420. package/dashboards/express/node_modules/content-disposition/index.js +458 -0
  421. package/dashboards/express/node_modules/content-disposition/package.json +43 -0
  422. package/dashboards/express/node_modules/content-type/HISTORY.md +29 -0
  423. package/dashboards/express/node_modules/content-type/LICENSE +22 -0
  424. package/dashboards/express/node_modules/content-type/README.md +94 -0
  425. package/dashboards/express/node_modules/content-type/index.js +225 -0
  426. package/dashboards/express/node_modules/content-type/package.json +42 -0
  427. package/dashboards/express/node_modules/cookie/LICENSE +24 -0
  428. package/dashboards/express/node_modules/cookie/README.md +317 -0
  429. package/dashboards/express/node_modules/cookie/SECURITY.md +25 -0
  430. package/dashboards/express/node_modules/cookie/index.js +335 -0
  431. package/dashboards/express/node_modules/cookie/package.json +44 -0
  432. package/dashboards/express/node_modules/cookie-signature/History.md +70 -0
  433. package/dashboards/express/node_modules/cookie-signature/LICENSE +22 -0
  434. package/dashboards/express/node_modules/cookie-signature/Readme.md +23 -0
  435. package/dashboards/express/node_modules/cookie-signature/index.js +47 -0
  436. package/dashboards/express/node_modules/cookie-signature/package.json +24 -0
  437. package/dashboards/express/node_modules/debug/LICENSE +20 -0
  438. package/dashboards/express/node_modules/debug/README.md +481 -0
  439. package/dashboards/express/node_modules/debug/package.json +64 -0
  440. package/dashboards/express/node_modules/debug/src/browser.js +272 -0
  441. package/dashboards/express/node_modules/debug/src/common.js +292 -0
  442. package/dashboards/express/node_modules/debug/src/index.js +10 -0
  443. package/dashboards/express/node_modules/debug/src/node.js +263 -0
  444. package/dashboards/express/node_modules/depd/History.md +103 -0
  445. package/dashboards/express/node_modules/depd/LICENSE +22 -0
  446. package/dashboards/express/node_modules/depd/Readme.md +280 -0
  447. package/dashboards/express/node_modules/depd/index.js +538 -0
  448. package/dashboards/express/node_modules/depd/lib/browser/index.js +77 -0
  449. package/dashboards/express/node_modules/depd/package.json +45 -0
  450. package/dashboards/express/node_modules/dunder-proto/.eslintrc +5 -0
  451. package/dashboards/express/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  452. package/dashboards/express/node_modules/dunder-proto/.nycrc +13 -0
  453. package/dashboards/express/node_modules/dunder-proto/CHANGELOG.md +24 -0
  454. package/dashboards/express/node_modules/dunder-proto/LICENSE +21 -0
  455. package/dashboards/express/node_modules/dunder-proto/README.md +54 -0
  456. package/dashboards/express/node_modules/dunder-proto/get.d.ts +5 -0
  457. package/dashboards/express/node_modules/dunder-proto/get.js +30 -0
  458. package/dashboards/express/node_modules/dunder-proto/package.json +76 -0
  459. package/dashboards/express/node_modules/dunder-proto/set.d.ts +5 -0
  460. package/dashboards/express/node_modules/dunder-proto/set.js +35 -0
  461. package/dashboards/express/node_modules/dunder-proto/test/get.js +34 -0
  462. package/dashboards/express/node_modules/dunder-proto/test/index.js +4 -0
  463. package/dashboards/express/node_modules/dunder-proto/test/set.js +50 -0
  464. package/dashboards/express/node_modules/dunder-proto/tsconfig.json +9 -0
  465. package/dashboards/express/node_modules/ee-first/LICENSE +22 -0
  466. package/dashboards/express/node_modules/ee-first/README.md +80 -0
  467. package/dashboards/express/node_modules/ee-first/index.js +95 -0
  468. package/dashboards/express/node_modules/ee-first/package.json +29 -0
  469. package/dashboards/express/node_modules/encodeurl/LICENSE +22 -0
  470. package/dashboards/express/node_modules/encodeurl/README.md +109 -0
  471. package/dashboards/express/node_modules/encodeurl/index.js +60 -0
  472. package/dashboards/express/node_modules/encodeurl/package.json +40 -0
  473. package/dashboards/express/node_modules/es-define-property/.eslintrc +13 -0
  474. package/dashboards/express/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  475. package/dashboards/express/node_modules/es-define-property/.nycrc +9 -0
  476. package/dashboards/express/node_modules/es-define-property/CHANGELOG.md +29 -0
  477. package/dashboards/express/node_modules/es-define-property/LICENSE +21 -0
  478. package/dashboards/express/node_modules/es-define-property/README.md +49 -0
  479. package/dashboards/express/node_modules/es-define-property/index.d.ts +3 -0
  480. package/dashboards/express/node_modules/es-define-property/index.js +14 -0
  481. package/dashboards/express/node_modules/es-define-property/package.json +81 -0
  482. package/dashboards/express/node_modules/es-define-property/test/index.js +56 -0
  483. package/dashboards/express/node_modules/es-define-property/tsconfig.json +10 -0
  484. package/dashboards/express/node_modules/es-errors/.eslintrc +5 -0
  485. package/dashboards/express/node_modules/es-errors/.github/FUNDING.yml +12 -0
  486. package/dashboards/express/node_modules/es-errors/CHANGELOG.md +40 -0
  487. package/dashboards/express/node_modules/es-errors/LICENSE +21 -0
  488. package/dashboards/express/node_modules/es-errors/README.md +55 -0
  489. package/dashboards/express/node_modules/es-errors/eval.d.ts +3 -0
  490. package/dashboards/express/node_modules/es-errors/eval.js +4 -0
  491. package/dashboards/express/node_modules/es-errors/index.d.ts +3 -0
  492. package/dashboards/express/node_modules/es-errors/index.js +4 -0
  493. package/dashboards/express/node_modules/es-errors/package.json +80 -0
  494. package/dashboards/express/node_modules/es-errors/range.d.ts +3 -0
  495. package/dashboards/express/node_modules/es-errors/range.js +4 -0
  496. package/dashboards/express/node_modules/es-errors/ref.d.ts +3 -0
  497. package/dashboards/express/node_modules/es-errors/ref.js +4 -0
  498. package/dashboards/express/node_modules/es-errors/syntax.d.ts +3 -0
  499. package/dashboards/express/node_modules/es-errors/syntax.js +4 -0
  500. package/dashboards/express/node_modules/es-errors/test/index.js +19 -0
  501. package/dashboards/express/node_modules/es-errors/tsconfig.json +49 -0
  502. package/dashboards/express/node_modules/es-errors/type.d.ts +3 -0
  503. package/dashboards/express/node_modules/es-errors/type.js +4 -0
  504. package/dashboards/express/node_modules/es-errors/uri.d.ts +3 -0
  505. package/dashboards/express/node_modules/es-errors/uri.js +4 -0
  506. package/dashboards/express/node_modules/es-object-atoms/.eslintrc +16 -0
  507. package/dashboards/express/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  508. package/dashboards/express/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  509. package/dashboards/express/node_modules/es-object-atoms/LICENSE +21 -0
  510. package/dashboards/express/node_modules/es-object-atoms/README.md +63 -0
  511. package/dashboards/express/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  512. package/dashboards/express/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  513. package/dashboards/express/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  514. package/dashboards/express/node_modules/es-object-atoms/ToObject.js +10 -0
  515. package/dashboards/express/node_modules/es-object-atoms/index.d.ts +3 -0
  516. package/dashboards/express/node_modules/es-object-atoms/index.js +4 -0
  517. package/dashboards/express/node_modules/es-object-atoms/isObject.d.ts +3 -0
  518. package/dashboards/express/node_modules/es-object-atoms/isObject.js +6 -0
  519. package/dashboards/express/node_modules/es-object-atoms/package.json +80 -0
  520. package/dashboards/express/node_modules/es-object-atoms/test/index.js +38 -0
  521. package/dashboards/express/node_modules/es-object-atoms/tsconfig.json +6 -0
  522. package/dashboards/express/node_modules/escape-html/LICENSE +24 -0
  523. package/dashboards/express/node_modules/escape-html/Readme.md +43 -0
  524. package/dashboards/express/node_modules/escape-html/index.js +78 -0
  525. package/dashboards/express/node_modules/escape-html/package.json +24 -0
  526. package/dashboards/express/node_modules/etag/HISTORY.md +83 -0
  527. package/dashboards/express/node_modules/etag/LICENSE +22 -0
  528. package/dashboards/express/node_modules/etag/README.md +159 -0
  529. package/dashboards/express/node_modules/etag/index.js +131 -0
  530. package/dashboards/express/node_modules/etag/package.json +47 -0
  531. package/dashboards/express/node_modules/express/LICENSE +24 -0
  532. package/dashboards/express/node_modules/express/Readme.md +276 -0
  533. package/dashboards/express/node_modules/express/index.js +11 -0
  534. package/dashboards/express/node_modules/express/lib/application.js +631 -0
  535. package/dashboards/express/node_modules/express/lib/express.js +81 -0
  536. package/dashboards/express/node_modules/express/lib/request.js +514 -0
  537. package/dashboards/express/node_modules/express/lib/response.js +1053 -0
  538. package/dashboards/express/node_modules/express/lib/utils.js +271 -0
  539. package/dashboards/express/node_modules/express/lib/view.js +205 -0
  540. package/dashboards/express/node_modules/express/package.json +99 -0
  541. package/dashboards/express/node_modules/express-session/LICENSE +24 -0
  542. package/dashboards/express/node_modules/express-session/README.md +1061 -0
  543. package/dashboards/express/node_modules/express-session/index.js +700 -0
  544. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/History.md +42 -0
  545. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/Readme.md +42 -0
  546. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/index.js +51 -0
  547. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/package.json +18 -0
  548. package/dashboards/express/node_modules/express-session/node_modules/debug/.coveralls.yml +1 -0
  549. package/dashboards/express/node_modules/express-session/node_modules/debug/.eslintrc +11 -0
  550. package/dashboards/express/node_modules/express-session/node_modules/debug/.travis.yml +14 -0
  551. package/dashboards/express/node_modules/express-session/node_modules/debug/CHANGELOG.md +362 -0
  552. package/dashboards/express/node_modules/express-session/node_modules/debug/LICENSE +19 -0
  553. package/dashboards/express/node_modules/express-session/node_modules/debug/Makefile +50 -0
  554. package/dashboards/express/node_modules/express-session/node_modules/debug/README.md +312 -0
  555. package/dashboards/express/node_modules/express-session/node_modules/debug/component.json +19 -0
  556. package/dashboards/express/node_modules/express-session/node_modules/debug/karma.conf.js +70 -0
  557. package/dashboards/express/node_modules/express-session/node_modules/debug/node.js +1 -0
  558. package/dashboards/express/node_modules/express-session/node_modules/debug/package.json +49 -0
  559. package/dashboards/express/node_modules/express-session/node_modules/debug/src/browser.js +185 -0
  560. package/dashboards/express/node_modules/express-session/node_modules/debug/src/debug.js +202 -0
  561. package/dashboards/express/node_modules/express-session/node_modules/debug/src/index.js +10 -0
  562. package/dashboards/express/node_modules/express-session/node_modules/debug/src/inspector-log.js +15 -0
  563. package/dashboards/express/node_modules/express-session/node_modules/debug/src/node.js +248 -0
  564. package/dashboards/express/node_modules/express-session/node_modules/ms/index.js +152 -0
  565. package/dashboards/express/node_modules/express-session/node_modules/ms/license.md +21 -0
  566. package/dashboards/express/node_modules/express-session/node_modules/ms/package.json +37 -0
  567. package/dashboards/express/node_modules/express-session/node_modules/ms/readme.md +51 -0
  568. package/dashboards/express/node_modules/express-session/package.json +50 -0
  569. package/dashboards/express/node_modules/express-session/session/cookie.js +152 -0
  570. package/dashboards/express/node_modules/express-session/session/memory.js +187 -0
  571. package/dashboards/express/node_modules/express-session/session/session.js +143 -0
  572. package/dashboards/express/node_modules/express-session/session/store.js +102 -0
  573. package/dashboards/express/node_modules/finalhandler/HISTORY.md +239 -0
  574. package/dashboards/express/node_modules/finalhandler/LICENSE +22 -0
  575. package/dashboards/express/node_modules/finalhandler/README.md +150 -0
  576. package/dashboards/express/node_modules/finalhandler/index.js +293 -0
  577. package/dashboards/express/node_modules/finalhandler/package.json +47 -0
  578. package/dashboards/express/node_modules/forwarded/HISTORY.md +21 -0
  579. package/dashboards/express/node_modules/forwarded/LICENSE +22 -0
  580. package/dashboards/express/node_modules/forwarded/README.md +57 -0
  581. package/dashboards/express/node_modules/forwarded/index.js +90 -0
  582. package/dashboards/express/node_modules/forwarded/package.json +45 -0
  583. package/dashboards/express/node_modules/fresh/HISTORY.md +80 -0
  584. package/dashboards/express/node_modules/fresh/LICENSE +23 -0
  585. package/dashboards/express/node_modules/fresh/README.md +117 -0
  586. package/dashboards/express/node_modules/fresh/index.js +136 -0
  587. package/dashboards/express/node_modules/fresh/package.json +46 -0
  588. package/dashboards/express/node_modules/function-bind/.eslintrc +21 -0
  589. package/dashboards/express/node_modules/function-bind/.github/FUNDING.yml +12 -0
  590. package/dashboards/express/node_modules/function-bind/.github/SECURITY.md +3 -0
  591. package/dashboards/express/node_modules/function-bind/.nycrc +13 -0
  592. package/dashboards/express/node_modules/function-bind/CHANGELOG.md +136 -0
  593. package/dashboards/express/node_modules/function-bind/LICENSE +20 -0
  594. package/dashboards/express/node_modules/function-bind/README.md +46 -0
  595. package/dashboards/express/node_modules/function-bind/implementation.js +84 -0
  596. package/dashboards/express/node_modules/function-bind/index.js +5 -0
  597. package/dashboards/express/node_modules/function-bind/package.json +87 -0
  598. package/dashboards/express/node_modules/function-bind/test/.eslintrc +9 -0
  599. package/dashboards/express/node_modules/function-bind/test/index.js +252 -0
  600. package/dashboards/express/node_modules/get-intrinsic/.eslintrc +42 -0
  601. package/dashboards/express/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  602. package/dashboards/express/node_modules/get-intrinsic/.nycrc +9 -0
  603. package/dashboards/express/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  604. package/dashboards/express/node_modules/get-intrinsic/LICENSE +21 -0
  605. package/dashboards/express/node_modules/get-intrinsic/README.md +71 -0
  606. package/dashboards/express/node_modules/get-intrinsic/index.js +378 -0
  607. package/dashboards/express/node_modules/get-intrinsic/package.json +97 -0
  608. package/dashboards/express/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  609. package/dashboards/express/node_modules/get-proto/.eslintrc +10 -0
  610. package/dashboards/express/node_modules/get-proto/.github/FUNDING.yml +12 -0
  611. package/dashboards/express/node_modules/get-proto/.nycrc +9 -0
  612. package/dashboards/express/node_modules/get-proto/CHANGELOG.md +21 -0
  613. package/dashboards/express/node_modules/get-proto/LICENSE +21 -0
  614. package/dashboards/express/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  615. package/dashboards/express/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  616. package/dashboards/express/node_modules/get-proto/README.md +50 -0
  617. package/dashboards/express/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  618. package/dashboards/express/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  619. package/dashboards/express/node_modules/get-proto/index.d.ts +5 -0
  620. package/dashboards/express/node_modules/get-proto/index.js +27 -0
  621. package/dashboards/express/node_modules/get-proto/package.json +81 -0
  622. package/dashboards/express/node_modules/get-proto/test/index.js +68 -0
  623. package/dashboards/express/node_modules/get-proto/tsconfig.json +9 -0
  624. package/dashboards/express/node_modules/gopd/.eslintrc +16 -0
  625. package/dashboards/express/node_modules/gopd/.github/FUNDING.yml +12 -0
  626. package/dashboards/express/node_modules/gopd/CHANGELOG.md +45 -0
  627. package/dashboards/express/node_modules/gopd/LICENSE +21 -0
  628. package/dashboards/express/node_modules/gopd/README.md +40 -0
  629. package/dashboards/express/node_modules/gopd/gOPD.d.ts +1 -0
  630. package/dashboards/express/node_modules/gopd/gOPD.js +4 -0
  631. package/dashboards/express/node_modules/gopd/index.d.ts +5 -0
  632. package/dashboards/express/node_modules/gopd/index.js +15 -0
  633. package/dashboards/express/node_modules/gopd/package.json +77 -0
  634. package/dashboards/express/node_modules/gopd/test/index.js +36 -0
  635. package/dashboards/express/node_modules/gopd/tsconfig.json +9 -0
  636. package/dashboards/express/node_modules/has-symbols/.eslintrc +11 -0
  637. package/dashboards/express/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  638. package/dashboards/express/node_modules/has-symbols/.nycrc +9 -0
  639. package/dashboards/express/node_modules/has-symbols/CHANGELOG.md +91 -0
  640. package/dashboards/express/node_modules/has-symbols/LICENSE +21 -0
  641. package/dashboards/express/node_modules/has-symbols/README.md +46 -0
  642. package/dashboards/express/node_modules/has-symbols/index.d.ts +3 -0
  643. package/dashboards/express/node_modules/has-symbols/index.js +14 -0
  644. package/dashboards/express/node_modules/has-symbols/package.json +111 -0
  645. package/dashboards/express/node_modules/has-symbols/shams.d.ts +3 -0
  646. package/dashboards/express/node_modules/has-symbols/shams.js +45 -0
  647. package/dashboards/express/node_modules/has-symbols/test/index.js +22 -0
  648. package/dashboards/express/node_modules/has-symbols/test/shams/core-js.js +29 -0
  649. package/dashboards/express/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  650. package/dashboards/express/node_modules/has-symbols/test/tests.js +58 -0
  651. package/dashboards/express/node_modules/has-symbols/tsconfig.json +10 -0
  652. package/dashboards/express/node_modules/hasown/.eslintrc +5 -0
  653. package/dashboards/express/node_modules/hasown/.github/FUNDING.yml +12 -0
  654. package/dashboards/express/node_modules/hasown/.nycrc +13 -0
  655. package/dashboards/express/node_modules/hasown/CHANGELOG.md +40 -0
  656. package/dashboards/express/node_modules/hasown/LICENSE +21 -0
  657. package/dashboards/express/node_modules/hasown/README.md +40 -0
  658. package/dashboards/express/node_modules/hasown/index.d.ts +3 -0
  659. package/dashboards/express/node_modules/hasown/index.js +8 -0
  660. package/dashboards/express/node_modules/hasown/package.json +92 -0
  661. package/dashboards/express/node_modules/hasown/tsconfig.json +6 -0
  662. package/dashboards/express/node_modules/http-errors/HISTORY.md +186 -0
  663. package/dashboards/express/node_modules/http-errors/LICENSE +23 -0
  664. package/dashboards/express/node_modules/http-errors/README.md +169 -0
  665. package/dashboards/express/node_modules/http-errors/index.js +290 -0
  666. package/dashboards/express/node_modules/http-errors/package.json +54 -0
  667. package/dashboards/express/node_modules/iconv-lite/LICENSE +21 -0
  668. package/dashboards/express/node_modules/iconv-lite/README.md +138 -0
  669. package/dashboards/express/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  670. package/dashboards/express/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  671. package/dashboards/express/node_modules/iconv-lite/encodings/index.js +23 -0
  672. package/dashboards/express/node_modules/iconv-lite/encodings/internal.js +218 -0
  673. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  674. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  675. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  676. package/dashboards/express/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  677. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  678. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  679. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  680. package/dashboards/express/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  681. package/dashboards/express/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  682. package/dashboards/express/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  683. package/dashboards/express/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  684. package/dashboards/express/node_modules/iconv-lite/encodings/utf16.js +187 -0
  685. package/dashboards/express/node_modules/iconv-lite/encodings/utf32.js +307 -0
  686. package/dashboards/express/node_modules/iconv-lite/encodings/utf7.js +283 -0
  687. package/dashboards/express/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  688. package/dashboards/express/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  689. package/dashboards/express/node_modules/iconv-lite/lib/index.d.ts +129 -0
  690. package/dashboards/express/node_modules/iconv-lite/lib/index.js +182 -0
  691. package/dashboards/express/node_modules/iconv-lite/lib/streams.js +105 -0
  692. package/dashboards/express/node_modules/iconv-lite/package.json +70 -0
  693. package/dashboards/express/node_modules/iconv-lite/types/encodings.d.ts +423 -0
  694. package/dashboards/express/node_modules/inherits/LICENSE +16 -0
  695. package/dashboards/express/node_modules/inherits/README.md +42 -0
  696. package/dashboards/express/node_modules/inherits/inherits.js +9 -0
  697. package/dashboards/express/node_modules/inherits/inherits_browser.js +27 -0
  698. package/dashboards/express/node_modules/inherits/package.json +29 -0
  699. package/dashboards/express/node_modules/ipaddr.js/LICENSE +19 -0
  700. package/dashboards/express/node_modules/ipaddr.js/README.md +233 -0
  701. package/dashboards/express/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  702. package/dashboards/express/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  703. package/dashboards/express/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  704. package/dashboards/express/node_modules/ipaddr.js/package.json +35 -0
  705. package/dashboards/express/node_modules/is-promise/LICENSE +19 -0
  706. package/dashboards/express/node_modules/is-promise/index.d.ts +2 -0
  707. package/dashboards/express/node_modules/is-promise/index.js +6 -0
  708. package/dashboards/express/node_modules/is-promise/index.mjs +3 -0
  709. package/dashboards/express/node_modules/is-promise/package.json +30 -0
  710. package/dashboards/express/node_modules/is-promise/readme.md +33 -0
  711. package/dashboards/express/node_modules/math-intrinsics/.eslintrc +16 -0
  712. package/dashboards/express/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  713. package/dashboards/express/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  714. package/dashboards/express/node_modules/math-intrinsics/LICENSE +21 -0
  715. package/dashboards/express/node_modules/math-intrinsics/README.md +50 -0
  716. package/dashboards/express/node_modules/math-intrinsics/abs.d.ts +1 -0
  717. package/dashboards/express/node_modules/math-intrinsics/abs.js +4 -0
  718. package/dashboards/express/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  719. package/dashboards/express/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  720. package/dashboards/express/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  721. package/dashboards/express/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  722. package/dashboards/express/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  723. package/dashboards/express/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  724. package/dashboards/express/node_modules/math-intrinsics/floor.d.ts +1 -0
  725. package/dashboards/express/node_modules/math-intrinsics/floor.js +4 -0
  726. package/dashboards/express/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  727. package/dashboards/express/node_modules/math-intrinsics/isFinite.js +12 -0
  728. package/dashboards/express/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  729. package/dashboards/express/node_modules/math-intrinsics/isInteger.js +16 -0
  730. package/dashboards/express/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  731. package/dashboards/express/node_modules/math-intrinsics/isNaN.js +6 -0
  732. package/dashboards/express/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  733. package/dashboards/express/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  734. package/dashboards/express/node_modules/math-intrinsics/max.d.ts +1 -0
  735. package/dashboards/express/node_modules/math-intrinsics/max.js +4 -0
  736. package/dashboards/express/node_modules/math-intrinsics/min.d.ts +1 -0
  737. package/dashboards/express/node_modules/math-intrinsics/min.js +4 -0
  738. package/dashboards/express/node_modules/math-intrinsics/mod.d.ts +3 -0
  739. package/dashboards/express/node_modules/math-intrinsics/mod.js +9 -0
  740. package/dashboards/express/node_modules/math-intrinsics/package.json +86 -0
  741. package/dashboards/express/node_modules/math-intrinsics/pow.d.ts +1 -0
  742. package/dashboards/express/node_modules/math-intrinsics/pow.js +4 -0
  743. package/dashboards/express/node_modules/math-intrinsics/round.d.ts +1 -0
  744. package/dashboards/express/node_modules/math-intrinsics/round.js +4 -0
  745. package/dashboards/express/node_modules/math-intrinsics/sign.d.ts +3 -0
  746. package/dashboards/express/node_modules/math-intrinsics/sign.js +11 -0
  747. package/dashboards/express/node_modules/math-intrinsics/test/index.js +192 -0
  748. package/dashboards/express/node_modules/math-intrinsics/tsconfig.json +3 -0
  749. package/dashboards/express/node_modules/media-typer/HISTORY.md +50 -0
  750. package/dashboards/express/node_modules/media-typer/LICENSE +22 -0
  751. package/dashboards/express/node_modules/media-typer/README.md +93 -0
  752. package/dashboards/express/node_modules/media-typer/index.js +143 -0
  753. package/dashboards/express/node_modules/media-typer/package.json +33 -0
  754. package/dashboards/express/node_modules/merge-descriptors/index.d.ts +11 -0
  755. package/dashboards/express/node_modules/merge-descriptors/index.js +26 -0
  756. package/dashboards/express/node_modules/merge-descriptors/license +11 -0
  757. package/dashboards/express/node_modules/merge-descriptors/package.json +50 -0
  758. package/dashboards/express/node_modules/merge-descriptors/readme.md +55 -0
  759. package/dashboards/express/node_modules/mime-db/HISTORY.md +541 -0
  760. package/dashboards/express/node_modules/mime-db/LICENSE +23 -0
  761. package/dashboards/express/node_modules/mime-db/README.md +109 -0
  762. package/dashboards/express/node_modules/mime-db/db.json +9342 -0
  763. package/dashboards/express/node_modules/mime-db/index.js +12 -0
  764. package/dashboards/express/node_modules/mime-db/package.json +56 -0
  765. package/dashboards/express/node_modules/mime-types/HISTORY.md +428 -0
  766. package/dashboards/express/node_modules/mime-types/LICENSE +23 -0
  767. package/dashboards/express/node_modules/mime-types/README.md +126 -0
  768. package/dashboards/express/node_modules/mime-types/index.js +211 -0
  769. package/dashboards/express/node_modules/mime-types/mimeScore.js +57 -0
  770. package/dashboards/express/node_modules/mime-types/package.json +49 -0
  771. package/dashboards/express/node_modules/ms/index.js +162 -0
  772. package/dashboards/express/node_modules/ms/license.md +21 -0
  773. package/dashboards/express/node_modules/ms/package.json +38 -0
  774. package/dashboards/express/node_modules/ms/readme.md +59 -0
  775. package/dashboards/express/node_modules/negotiator/HISTORY.md +114 -0
  776. package/dashboards/express/node_modules/negotiator/LICENSE +24 -0
  777. package/dashboards/express/node_modules/negotiator/README.md +212 -0
  778. package/dashboards/express/node_modules/negotiator/index.js +83 -0
  779. package/dashboards/express/node_modules/negotiator/lib/charset.js +169 -0
  780. package/dashboards/express/node_modules/negotiator/lib/encoding.js +205 -0
  781. package/dashboards/express/node_modules/negotiator/lib/language.js +179 -0
  782. package/dashboards/express/node_modules/negotiator/lib/mediaType.js +294 -0
  783. package/dashboards/express/node_modules/negotiator/package.json +43 -0
  784. package/dashboards/express/node_modules/object-inspect/.eslintrc +53 -0
  785. package/dashboards/express/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  786. package/dashboards/express/node_modules/object-inspect/.nycrc +13 -0
  787. package/dashboards/express/node_modules/object-inspect/CHANGELOG.md +424 -0
  788. package/dashboards/express/node_modules/object-inspect/LICENSE +21 -0
  789. package/dashboards/express/node_modules/object-inspect/example/all.js +23 -0
  790. package/dashboards/express/node_modules/object-inspect/example/circular.js +6 -0
  791. package/dashboards/express/node_modules/object-inspect/example/fn.js +5 -0
  792. package/dashboards/express/node_modules/object-inspect/example/inspect.js +10 -0
  793. package/dashboards/express/node_modules/object-inspect/index.js +544 -0
  794. package/dashboards/express/node_modules/object-inspect/package-support.json +20 -0
  795. package/dashboards/express/node_modules/object-inspect/package.json +105 -0
  796. package/dashboards/express/node_modules/object-inspect/readme.markdown +84 -0
  797. package/dashboards/express/node_modules/object-inspect/test/bigint.js +58 -0
  798. package/dashboards/express/node_modules/object-inspect/test/browser/dom.js +15 -0
  799. package/dashboards/express/node_modules/object-inspect/test/circular.js +16 -0
  800. package/dashboards/express/node_modules/object-inspect/test/deep.js +12 -0
  801. package/dashboards/express/node_modules/object-inspect/test/element.js +53 -0
  802. package/dashboards/express/node_modules/object-inspect/test/err.js +48 -0
  803. package/dashboards/express/node_modules/object-inspect/test/fakes.js +29 -0
  804. package/dashboards/express/node_modules/object-inspect/test/fn.js +76 -0
  805. package/dashboards/express/node_modules/object-inspect/test/global.js +17 -0
  806. package/dashboards/express/node_modules/object-inspect/test/has.js +15 -0
  807. package/dashboards/express/node_modules/object-inspect/test/holes.js +15 -0
  808. package/dashboards/express/node_modules/object-inspect/test/indent-option.js +271 -0
  809. package/dashboards/express/node_modules/object-inspect/test/inspect.js +139 -0
  810. package/dashboards/express/node_modules/object-inspect/test/lowbyte.js +12 -0
  811. package/dashboards/express/node_modules/object-inspect/test/number.js +58 -0
  812. package/dashboards/express/node_modules/object-inspect/test/quoteStyle.js +26 -0
  813. package/dashboards/express/node_modules/object-inspect/test/toStringTag.js +40 -0
  814. package/dashboards/express/node_modules/object-inspect/test/undef.js +12 -0
  815. package/dashboards/express/node_modules/object-inspect/test/values.js +261 -0
  816. package/dashboards/express/node_modules/object-inspect/test-core-js.js +26 -0
  817. package/dashboards/express/node_modules/object-inspect/util.inspect.js +1 -0
  818. package/dashboards/express/node_modules/on-finished/HISTORY.md +98 -0
  819. package/dashboards/express/node_modules/on-finished/LICENSE +23 -0
  820. package/dashboards/express/node_modules/on-finished/README.md +162 -0
  821. package/dashboards/express/node_modules/on-finished/index.js +234 -0
  822. package/dashboards/express/node_modules/on-finished/package.json +39 -0
  823. package/dashboards/express/node_modules/on-headers/HISTORY.md +26 -0
  824. package/dashboards/express/node_modules/on-headers/LICENSE +22 -0
  825. package/dashboards/express/node_modules/on-headers/README.md +81 -0
  826. package/dashboards/express/node_modules/on-headers/index.js +180 -0
  827. package/dashboards/express/node_modules/on-headers/package.json +44 -0
  828. package/dashboards/express/node_modules/once/LICENSE +15 -0
  829. package/dashboards/express/node_modules/once/README.md +79 -0
  830. package/dashboards/express/node_modules/once/once.js +42 -0
  831. package/dashboards/express/node_modules/once/package.json +33 -0
  832. package/dashboards/express/node_modules/parseurl/HISTORY.md +58 -0
  833. package/dashboards/express/node_modules/parseurl/LICENSE +24 -0
  834. package/dashboards/express/node_modules/parseurl/README.md +133 -0
  835. package/dashboards/express/node_modules/parseurl/index.js +158 -0
  836. package/dashboards/express/node_modules/parseurl/package.json +40 -0
  837. package/dashboards/express/node_modules/path-to-regexp/LICENSE +21 -0
  838. package/dashboards/express/node_modules/path-to-regexp/Readme.md +224 -0
  839. package/dashboards/express/node_modules/path-to-regexp/dist/index.d.ts +144 -0
  840. package/dashboards/express/node_modules/path-to-regexp/dist/index.js +409 -0
  841. package/dashboards/express/node_modules/path-to-regexp/dist/index.js.map +1 -0
  842. package/dashboards/express/node_modules/path-to-regexp/package.json +64 -0
  843. package/dashboards/express/node_modules/proxy-addr/HISTORY.md +161 -0
  844. package/dashboards/express/node_modules/proxy-addr/LICENSE +22 -0
  845. package/dashboards/express/node_modules/proxy-addr/README.md +139 -0
  846. package/dashboards/express/node_modules/proxy-addr/index.js +327 -0
  847. package/dashboards/express/node_modules/proxy-addr/package.json +47 -0
  848. package/dashboards/express/node_modules/qs/.editorconfig +46 -0
  849. package/dashboards/express/node_modules/qs/.github/FUNDING.yml +12 -0
  850. package/dashboards/express/node_modules/qs/.github/SECURITY.md +11 -0
  851. package/dashboards/express/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  852. package/dashboards/express/node_modules/qs/.nycrc +13 -0
  853. package/dashboards/express/node_modules/qs/CHANGELOG.md +806 -0
  854. package/dashboards/express/node_modules/qs/LICENSE.md +29 -0
  855. package/dashboards/express/node_modules/qs/README.md +758 -0
  856. package/dashboards/express/node_modules/qs/dist/qs.js +141 -0
  857. package/dashboards/express/node_modules/qs/eslint.config.mjs +56 -0
  858. package/dashboards/express/node_modules/qs/lib/formats.js +23 -0
  859. package/dashboards/express/node_modules/qs/lib/index.js +11 -0
  860. package/dashboards/express/node_modules/qs/lib/parse.js +373 -0
  861. package/dashboards/express/node_modules/qs/lib/stringify.js +356 -0
  862. package/dashboards/express/node_modules/qs/lib/utils.js +342 -0
  863. package/dashboards/express/node_modules/qs/package.json +94 -0
  864. package/dashboards/express/node_modules/qs/test/empty-keys-cases.js +267 -0
  865. package/dashboards/express/node_modules/qs/test/parse.js +1568 -0
  866. package/dashboards/express/node_modules/qs/test/stringify.js +1310 -0
  867. package/dashboards/express/node_modules/qs/test/utils.js +404 -0
  868. package/dashboards/express/node_modules/random-bytes/HISTORY.md +4 -0
  869. package/dashboards/express/node_modules/random-bytes/LICENSE +21 -0
  870. package/dashboards/express/node_modules/random-bytes/README.md +77 -0
  871. package/dashboards/express/node_modules/random-bytes/index.js +101 -0
  872. package/dashboards/express/node_modules/random-bytes/package.json +36 -0
  873. package/dashboards/express/node_modules/range-parser/HISTORY.md +56 -0
  874. package/dashboards/express/node_modules/range-parser/LICENSE +23 -0
  875. package/dashboards/express/node_modules/range-parser/README.md +84 -0
  876. package/dashboards/express/node_modules/range-parser/index.js +162 -0
  877. package/dashboards/express/node_modules/range-parser/package.json +44 -0
  878. package/dashboards/express/node_modules/raw-body/LICENSE +22 -0
  879. package/dashboards/express/node_modules/raw-body/README.md +223 -0
  880. package/dashboards/express/node_modules/raw-body/index.d.ts +85 -0
  881. package/dashboards/express/node_modules/raw-body/index.js +336 -0
  882. package/dashboards/express/node_modules/raw-body/package.json +46 -0
  883. package/dashboards/express/node_modules/router/HISTORY.md +228 -0
  884. package/dashboards/express/node_modules/router/LICENSE +23 -0
  885. package/dashboards/express/node_modules/router/README.md +416 -0
  886. package/dashboards/express/node_modules/router/index.js +748 -0
  887. package/dashboards/express/node_modules/router/lib/layer.js +247 -0
  888. package/dashboards/express/node_modules/router/lib/route.js +242 -0
  889. package/dashboards/express/node_modules/router/package.json +44 -0
  890. package/dashboards/express/node_modules/safe-buffer/LICENSE +21 -0
  891. package/dashboards/express/node_modules/safe-buffer/README.md +584 -0
  892. package/dashboards/express/node_modules/safe-buffer/index.d.ts +187 -0
  893. package/dashboards/express/node_modules/safe-buffer/index.js +65 -0
  894. package/dashboards/express/node_modules/safe-buffer/package.json +51 -0
  895. package/dashboards/express/node_modules/safer-buffer/LICENSE +21 -0
  896. package/dashboards/express/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  897. package/dashboards/express/node_modules/safer-buffer/Readme.md +156 -0
  898. package/dashboards/express/node_modules/safer-buffer/dangerous.js +58 -0
  899. package/dashboards/express/node_modules/safer-buffer/package.json +34 -0
  900. package/dashboards/express/node_modules/safer-buffer/safer.js +77 -0
  901. package/dashboards/express/node_modules/safer-buffer/tests.js +406 -0
  902. package/dashboards/express/node_modules/send/LICENSE +23 -0
  903. package/dashboards/express/node_modules/send/README.md +317 -0
  904. package/dashboards/express/node_modules/send/index.js +997 -0
  905. package/dashboards/express/node_modules/send/package.json +63 -0
  906. package/dashboards/express/node_modules/serve-static/LICENSE +25 -0
  907. package/dashboards/express/node_modules/serve-static/README.md +253 -0
  908. package/dashboards/express/node_modules/serve-static/index.js +208 -0
  909. package/dashboards/express/node_modules/serve-static/package.json +44 -0
  910. package/dashboards/express/node_modules/setprototypeof/LICENSE +13 -0
  911. package/dashboards/express/node_modules/setprototypeof/README.md +31 -0
  912. package/dashboards/express/node_modules/setprototypeof/index.d.ts +2 -0
  913. package/dashboards/express/node_modules/setprototypeof/index.js +17 -0
  914. package/dashboards/express/node_modules/setprototypeof/package.json +38 -0
  915. package/dashboards/express/node_modules/setprototypeof/test/index.js +24 -0
  916. package/dashboards/express/node_modules/side-channel/.editorconfig +9 -0
  917. package/dashboards/express/node_modules/side-channel/.eslintrc +12 -0
  918. package/dashboards/express/node_modules/side-channel/.github/FUNDING.yml +12 -0
  919. package/dashboards/express/node_modules/side-channel/.nycrc +13 -0
  920. package/dashboards/express/node_modules/side-channel/CHANGELOG.md +110 -0
  921. package/dashboards/express/node_modules/side-channel/LICENSE +21 -0
  922. package/dashboards/express/node_modules/side-channel/README.md +61 -0
  923. package/dashboards/express/node_modules/side-channel/index.d.ts +14 -0
  924. package/dashboards/express/node_modules/side-channel/index.js +43 -0
  925. package/dashboards/express/node_modules/side-channel/package.json +85 -0
  926. package/dashboards/express/node_modules/side-channel/test/index.js +104 -0
  927. package/dashboards/express/node_modules/side-channel/tsconfig.json +9 -0
  928. package/dashboards/express/node_modules/side-channel-list/.editorconfig +9 -0
  929. package/dashboards/express/node_modules/side-channel-list/.eslintrc +11 -0
  930. package/dashboards/express/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  931. package/dashboards/express/node_modules/side-channel-list/.nycrc +13 -0
  932. package/dashboards/express/node_modules/side-channel-list/CHANGELOG.md +15 -0
  933. package/dashboards/express/node_modules/side-channel-list/LICENSE +21 -0
  934. package/dashboards/express/node_modules/side-channel-list/README.md +62 -0
  935. package/dashboards/express/node_modules/side-channel-list/index.d.ts +13 -0
  936. package/dashboards/express/node_modules/side-channel-list/index.js +113 -0
  937. package/dashboards/express/node_modules/side-channel-list/list.d.ts +14 -0
  938. package/dashboards/express/node_modules/side-channel-list/package.json +77 -0
  939. package/dashboards/express/node_modules/side-channel-list/test/index.js +104 -0
  940. package/dashboards/express/node_modules/side-channel-list/tsconfig.json +9 -0
  941. package/dashboards/express/node_modules/side-channel-map/.editorconfig +9 -0
  942. package/dashboards/express/node_modules/side-channel-map/.eslintrc +11 -0
  943. package/dashboards/express/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  944. package/dashboards/express/node_modules/side-channel-map/.nycrc +13 -0
  945. package/dashboards/express/node_modules/side-channel-map/CHANGELOG.md +22 -0
  946. package/dashboards/express/node_modules/side-channel-map/LICENSE +21 -0
  947. package/dashboards/express/node_modules/side-channel-map/README.md +62 -0
  948. package/dashboards/express/node_modules/side-channel-map/index.d.ts +15 -0
  949. package/dashboards/express/node_modules/side-channel-map/index.js +68 -0
  950. package/dashboards/express/node_modules/side-channel-map/package.json +80 -0
  951. package/dashboards/express/node_modules/side-channel-map/test/index.js +114 -0
  952. package/dashboards/express/node_modules/side-channel-map/tsconfig.json +9 -0
  953. package/dashboards/express/node_modules/side-channel-weakmap/.editorconfig +9 -0
  954. package/dashboards/express/node_modules/side-channel-weakmap/.eslintrc +12 -0
  955. package/dashboards/express/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  956. package/dashboards/express/node_modules/side-channel-weakmap/.nycrc +13 -0
  957. package/dashboards/express/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  958. package/dashboards/express/node_modules/side-channel-weakmap/LICENSE +21 -0
  959. package/dashboards/express/node_modules/side-channel-weakmap/README.md +62 -0
  960. package/dashboards/express/node_modules/side-channel-weakmap/index.d.ts +15 -0
  961. package/dashboards/express/node_modules/side-channel-weakmap/index.js +84 -0
  962. package/dashboards/express/node_modules/side-channel-weakmap/package.json +87 -0
  963. package/dashboards/express/node_modules/side-channel-weakmap/test/index.js +114 -0
  964. package/dashboards/express/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  965. package/dashboards/express/node_modules/statuses/HISTORY.md +87 -0
  966. package/dashboards/express/node_modules/statuses/LICENSE +23 -0
  967. package/dashboards/express/node_modules/statuses/README.md +139 -0
  968. package/dashboards/express/node_modules/statuses/codes.json +65 -0
  969. package/dashboards/express/node_modules/statuses/index.js +146 -0
  970. package/dashboards/express/node_modules/statuses/package.json +49 -0
  971. package/dashboards/express/node_modules/toidentifier/HISTORY.md +9 -0
  972. package/dashboards/express/node_modules/toidentifier/LICENSE +21 -0
  973. package/dashboards/express/node_modules/toidentifier/README.md +61 -0
  974. package/dashboards/express/node_modules/toidentifier/index.js +32 -0
  975. package/dashboards/express/node_modules/toidentifier/package.json +38 -0
  976. package/dashboards/express/node_modules/type-is/HISTORY.md +292 -0
  977. package/dashboards/express/node_modules/type-is/LICENSE +23 -0
  978. package/dashboards/express/node_modules/type-is/README.md +198 -0
  979. package/dashboards/express/node_modules/type-is/index.js +250 -0
  980. package/dashboards/express/node_modules/type-is/package.json +47 -0
  981. package/dashboards/express/node_modules/uid-safe/HISTORY.md +61 -0
  982. package/dashboards/express/node_modules/uid-safe/LICENSE +22 -0
  983. package/dashboards/express/node_modules/uid-safe/README.md +77 -0
  984. package/dashboards/express/node_modules/uid-safe/index.js +107 -0
  985. package/dashboards/express/node_modules/uid-safe/package.json +46 -0
  986. package/dashboards/express/node_modules/unpipe/HISTORY.md +4 -0
  987. package/dashboards/express/node_modules/unpipe/LICENSE +22 -0
  988. package/dashboards/express/node_modules/unpipe/README.md +43 -0
  989. package/dashboards/express/node_modules/unpipe/index.js +69 -0
  990. package/dashboards/express/node_modules/unpipe/package.json +27 -0
  991. package/dashboards/express/node_modules/vary/HISTORY.md +39 -0
  992. package/dashboards/express/node_modules/vary/LICENSE +22 -0
  993. package/dashboards/express/node_modules/vary/README.md +101 -0
  994. package/dashboards/express/node_modules/vary/index.js +149 -0
  995. package/dashboards/express/node_modules/vary/package.json +43 -0
  996. package/dashboards/express/node_modules/wrappy/LICENSE +15 -0
  997. package/dashboards/express/node_modules/wrappy/README.md +36 -0
  998. package/dashboards/express/node_modules/wrappy/package.json +29 -0
  999. package/dashboards/express/node_modules/wrappy/wrappy.js +33 -0
  1000. package/dashboards/express/package-lock.json +922 -0
  1001. package/dashboards/express/package.json +17 -0
  1002. package/dashboards/express/public/styles.css +284 -0
  1003. package/dashboards/express/routes/agents.js +771 -0
  1004. package/dashboards/express/routes/apiKeys.js +107 -0
  1005. package/dashboards/express/routes/audit.js +75 -0
  1006. package/dashboards/express/routes/auth.js +38 -0
  1007. package/dashboards/express/routes/compliance.js +93 -0
  1008. package/dashboards/express/routes/dashboard.js +65 -0
  1009. package/dashboards/express/routes/dlp.js +165 -0
  1010. package/dashboards/express/routes/guardrails.js +195 -0
  1011. package/dashboards/express/routes/journal.js +95 -0
  1012. package/dashboards/express/routes/messages.js +97 -0
  1013. package/dashboards/express/routes/settings.js +830 -0
  1014. package/dashboards/express/routes/skills.js +141 -0
  1015. package/dashboards/express/routes/users.js +69 -0
  1016. package/dashboards/express/routes/vault.js +141 -0
  1017. package/dashboards/express/utils/api.js +44 -0
  1018. package/dashboards/express/utils/helpers.js +46 -0
  1019. package/dashboards/express/views/components/modal.js +255 -0
  1020. package/dashboards/express/views/components/stats.js +22 -0
  1021. package/dashboards/express/views/components/table.js +31 -0
  1022. package/dashboards/express/views/layout.js +73 -0
  1023. package/dashboards/express/views/login.js +45 -0
  1024. package/dashboards/go/go.mod +3 -0
  1025. package/dashboards/go/handlers/agents.go +790 -0
  1026. package/dashboards/go/handlers/apikeys.go +38 -0
  1027. package/dashboards/go/handlers/audit.go +52 -0
  1028. package/dashboards/go/handlers/auth.go +39 -0
  1029. package/dashboards/go/handlers/compliance.go +58 -0
  1030. package/dashboards/go/handlers/dashboard.go +43 -0
  1031. package/dashboards/go/handlers/dlp.go +78 -0
  1032. package/dashboards/go/handlers/guardrails.go +89 -0
  1033. package/dashboards/go/handlers/journal.go +60 -0
  1034. package/dashboards/go/handlers/messages.go +59 -0
  1035. package/dashboards/go/handlers/settings.go +951 -0
  1036. package/dashboards/go/handlers/skills.go +129 -0
  1037. package/dashboards/go/handlers/users.go +54 -0
  1038. package/dashboards/go/handlers/vault.go +85 -0
  1039. package/dashboards/go/main.go +35 -485
  1040. package/dashboards/go/middleware/auth.go +17 -0
  1041. package/dashboards/go/services/api.go +38 -0
  1042. package/dashboards/go/services/session.go +52 -0
  1043. package/dashboards/go/static/styles.css +284 -0
  1044. package/dashboards/go/templates/components.go +45 -0
  1045. package/dashboards/go/templates/helpers.go +35 -0
  1046. package/dashboards/go/templates/layout.go +59 -0
  1047. package/dashboards/html/index.html +203 -450
  1048. package/dashboards/html/package.json +11 -0
  1049. package/dashboards/html/public/styles.css +149 -0
  1050. package/dashboards/html/src/api.js +36 -0
  1051. package/dashboards/html/src/components/badge.js +13 -0
  1052. package/dashboards/html/src/components/layout.js +11 -0
  1053. package/dashboards/html/src/components/modal.js +9 -0
  1054. package/dashboards/html/src/components/pagination.js +12 -0
  1055. package/dashboards/html/src/components/stat-card.js +14 -0
  1056. package/dashboards/html/src/components/table.js +6 -0
  1057. package/dashboards/html/src/main.js +83 -0
  1058. package/dashboards/html/src/pages/agents.js +831 -0
  1059. package/dashboards/html/src/pages/api-keys.js +80 -0
  1060. package/dashboards/html/src/pages/audit.js +50 -0
  1061. package/dashboards/html/src/pages/compliance.js +69 -0
  1062. package/dashboards/html/src/pages/dashboard.js +25 -0
  1063. package/dashboards/html/src/pages/dlp.js +112 -0
  1064. package/dashboards/html/src/pages/guardrails.js +127 -0
  1065. package/dashboards/html/src/pages/journal.js +54 -0
  1066. package/dashboards/html/src/pages/login.js +84 -0
  1067. package/dashboards/html/src/pages/messages.js +90 -0
  1068. package/dashboards/html/src/pages/settings.js +656 -0
  1069. package/dashboards/html/src/pages/skills.js +114 -0
  1070. package/dashboards/html/src/pages/users.js +62 -0
  1071. package/dashboards/html/src/pages/vault.js +105 -0
  1072. package/dashboards/html/src/router.js +40 -0
  1073. package/dashboards/html/src/utils/escape.js +7 -0
  1074. package/dashboards/html/src/utils/time.js +16 -0
  1075. package/dashboards/html/src/utils/toast.js +10 -0
  1076. package/dashboards/java/AgenticMailDashboard.java +123 -346
  1077. package/dashboards/java/handlers/AgentsHandler.java +807 -0
  1078. package/dashboards/java/handlers/ApiKeysHandler.java +201 -0
  1079. package/dashboards/java/handlers/AuditHandler.java +95 -0
  1080. package/dashboards/java/handlers/AuthHandler.java +71 -0
  1081. package/dashboards/java/handlers/ComplianceHandler.java +192 -0
  1082. package/dashboards/java/handlers/DashboardHandler.java +98 -0
  1083. package/dashboards/java/handlers/DlpHandler.java +230 -0
  1084. package/dashboards/java/handlers/GuardrailsHandler.java +272 -0
  1085. package/dashboards/java/handlers/JournalHandler.java +130 -0
  1086. package/dashboards/java/handlers/MessagesHandler.java +168 -0
  1087. package/dashboards/java/handlers/SettingsHandler.java +1017 -0
  1088. package/dashboards/java/handlers/SkillsHandler.java +198 -0
  1089. package/dashboards/java/handlers/UsersHandler.java +118 -0
  1090. package/dashboards/java/handlers/VaultHandler.java +168 -0
  1091. package/dashboards/java/services/ApiClient.java +233 -0
  1092. package/dashboards/java/services/SessionManager.java +138 -0
  1093. package/dashboards/java/static/styles.css +288 -0
  1094. package/dashboards/java/templates/Components.java +142 -0
  1095. package/dashboards/java/templates/Helpers.java +106 -0
  1096. package/dashboards/java/templates/Layout.java +98 -0
  1097. package/dashboards/laravel/controllers/AgentController.php +250 -0
  1098. package/dashboards/laravel/controllers/ApiKeyController.php +73 -0
  1099. package/dashboards/laravel/controllers/AuditController.php +31 -0
  1100. package/dashboards/laravel/controllers/AuthController.php +44 -0
  1101. package/dashboards/laravel/controllers/ComplianceController.php +55 -0
  1102. package/dashboards/laravel/controllers/DashboardController.php +28 -0
  1103. package/dashboards/laravel/controllers/DlpController.php +88 -0
  1104. package/dashboards/laravel/controllers/GuardrailController.php +110 -0
  1105. package/dashboards/laravel/controllers/JournalController.php +44 -0
  1106. package/dashboards/laravel/controllers/MessageController.php +47 -0
  1107. package/dashboards/laravel/controllers/SettingController.php +258 -0
  1108. package/dashboards/laravel/controllers/SkillController.php +74 -0
  1109. package/dashboards/laravel/controllers/UserController.php +47 -0
  1110. package/dashboards/laravel/controllers/VaultController.php +94 -0
  1111. package/dashboards/laravel/index.php +319 -0
  1112. package/dashboards/laravel/lib/Api.php +73 -0
  1113. package/dashboards/laravel/lib/Helpers.php +123 -0
  1114. package/dashboards/laravel/public/styles.css +291 -0
  1115. package/dashboards/laravel/views/agent-detail.php +534 -0
  1116. package/dashboards/laravel/views/agents.php +204 -0
  1117. package/dashboards/laravel/views/api-keys.php +55 -0
  1118. package/dashboards/laravel/views/audit.php +30 -0
  1119. package/dashboards/laravel/views/compliance.php +48 -0
  1120. package/dashboards/laravel/views/components/modal.php +59 -0
  1121. package/dashboards/laravel/views/components/stats.php +21 -0
  1122. package/dashboards/laravel/views/components/table.php +35 -0
  1123. package/dashboards/laravel/views/dashboard.php +31 -0
  1124. package/dashboards/laravel/views/dlp.php +87 -0
  1125. package/dashboards/laravel/views/guardrails.php +95 -0
  1126. package/dashboards/laravel/views/journal.php +50 -0
  1127. package/dashboards/laravel/views/layout.php +82 -0
  1128. package/dashboards/laravel/views/login.php +45 -0
  1129. package/dashboards/laravel/views/messages.php +60 -0
  1130. package/dashboards/laravel/views/settings.php +622 -0
  1131. package/dashboards/laravel/views/skills.php +74 -0
  1132. package/dashboards/laravel/views/users.php +42 -0
  1133. package/dashboards/laravel/views/vault.php +80 -0
  1134. package/dashboards/php/components/layout.php +80 -0
  1135. package/dashboards/php/components/modal.php +22 -0
  1136. package/dashboards/php/components/stats.php +20 -0
  1137. package/dashboards/php/components/table.php +33 -0
  1138. package/dashboards/php/index.php +663 -381
  1139. package/dashboards/php/lib/api.php +37 -0
  1140. package/dashboards/php/lib/auth.php +47 -0
  1141. package/dashboards/php/lib/helpers.php +69 -0
  1142. package/dashboards/php/pages/agent-detail.php +552 -0
  1143. package/dashboards/php/pages/agents.php +185 -0
  1144. package/dashboards/php/pages/api-keys.php +34 -0
  1145. package/dashboards/php/pages/audit.php +31 -0
  1146. package/dashboards/php/pages/compliance.php +38 -0
  1147. package/dashboards/php/pages/dashboard.php +29 -0
  1148. package/dashboards/php/pages/dlp.php +65 -0
  1149. package/dashboards/php/pages/guardrails.php +70 -0
  1150. package/dashboards/php/pages/journal.php +53 -0
  1151. package/dashboards/php/pages/login.php +34 -0
  1152. package/dashboards/php/pages/messages.php +53 -0
  1153. package/dashboards/php/pages/settings.php +687 -0
  1154. package/dashboards/php/pages/skills.php +70 -0
  1155. package/dashboards/php/pages/users.php +37 -0
  1156. package/dashboards/php/pages/vault.php +70 -0
  1157. package/dashboards/php/public/styles.css +81 -0
  1158. package/dashboards/python/app.py +61 -259
  1159. package/dashboards/python/routes/__init__.py +0 -0
  1160. package/dashboards/python/routes/agents.py +296 -0
  1161. package/dashboards/python/routes/api_keys.py +49 -0
  1162. package/dashboards/python/routes/audit.py +33 -0
  1163. package/dashboards/python/routes/auth.py +30 -0
  1164. package/dashboards/python/routes/compliance.py +50 -0
  1165. package/dashboards/python/routes/dashboard.py +32 -0
  1166. package/dashboards/python/routes/dlp.py +64 -0
  1167. package/dashboards/python/routes/guardrails.py +79 -0
  1168. package/dashboards/python/routes/journal.py +40 -0
  1169. package/dashboards/python/routes/messages.py +46 -0
  1170. package/dashboards/python/routes/settings.py +260 -0
  1171. package/dashboards/python/routes/skills.py +59 -0
  1172. package/dashboards/python/routes/users.py +43 -0
  1173. package/dashboards/python/routes/vault.py +59 -0
  1174. package/dashboards/python/static/styles.css +288 -0
  1175. package/dashboards/python/templates/agent_detail.html +552 -0
  1176. package/dashboards/python/templates/agents.html +246 -0
  1177. package/dashboards/python/templates/api_keys.html +64 -0
  1178. package/dashboards/python/templates/audit.html +50 -0
  1179. package/dashboards/python/templates/compliance.html +74 -0
  1180. package/dashboards/python/templates/components/modal.html +43 -0
  1181. package/dashboards/python/templates/components/stats.html +26 -0
  1182. package/dashboards/python/templates/components/table.html +43 -0
  1183. package/dashboards/python/templates/dashboard.html +34 -0
  1184. package/dashboards/python/templates/dlp.html +159 -0
  1185. package/dashboards/python/templates/guardrails.html +131 -0
  1186. package/dashboards/python/templates/journal.html +66 -0
  1187. package/dashboards/python/templates/layout.html +86 -0
  1188. package/dashboards/python/templates/login.html +36 -0
  1189. package/dashboards/python/templates/messages.html +90 -0
  1190. package/dashboards/python/templates/settings.html +624 -0
  1191. package/dashboards/python/templates/skills.html +89 -0
  1192. package/dashboards/python/templates/users.html +70 -0
  1193. package/dashboards/python/templates/vault.html +73 -0
  1194. package/dashboards/python/utils/__init__.py +0 -0
  1195. package/dashboards/python/utils/api.py +35 -0
  1196. package/dashboards/python/utils/helpers.py +90 -0
  1197. package/dashboards/rails/app.rb +56 -0
  1198. package/dashboards/rails/helpers/api.rb +39 -0
  1199. package/dashboards/rails/helpers/auth.rb +11 -0
  1200. package/dashboards/rails/helpers/view.rb +95 -0
  1201. package/dashboards/rails/public/styles.css +299 -0
  1202. package/dashboards/rails/routes/agents.rb +173 -0
  1203. package/dashboards/rails/routes/api_keys.rb +30 -0
  1204. package/dashboards/rails/routes/audit.rb +15 -0
  1205. package/dashboards/rails/routes/auth.rb +29 -0
  1206. package/dashboards/rails/routes/compliance.rb +25 -0
  1207. package/dashboards/rails/routes/dashboard.rb +13 -0
  1208. package/dashboards/rails/routes/dlp.rb +40 -0
  1209. package/dashboards/rails/routes/guardrails.rb +51 -0
  1210. package/dashboards/rails/routes/journal.rb +24 -0
  1211. package/dashboards/rails/routes/messages.rb +22 -0
  1212. package/dashboards/rails/routes/settings.rb +196 -0
  1213. package/dashboards/rails/routes/skills.rb +38 -0
  1214. package/dashboards/rails/routes/users.rb +18 -0
  1215. package/dashboards/rails/routes/vault.rb +37 -0
  1216. package/dashboards/rails/views/agent_detail.erb +550 -0
  1217. package/dashboards/rails/views/agents.erb +214 -0
  1218. package/dashboards/rails/views/api_keys.erb +52 -0
  1219. package/dashboards/rails/views/audit.erb +38 -0
  1220. package/dashboards/rails/views/compliance.erb +69 -0
  1221. package/dashboards/rails/views/dashboard.erb +46 -0
  1222. package/dashboards/rails/views/dlp.erb +104 -0
  1223. package/dashboards/rails/views/guardrails.erb +107 -0
  1224. package/dashboards/rails/views/journal.erb +65 -0
  1225. package/dashboards/rails/views/layout.erb +53 -0
  1226. package/dashboards/rails/views/login.erb +47 -0
  1227. package/dashboards/rails/views/messages.erb +62 -0
  1228. package/dashboards/rails/views/settings.erb +578 -0
  1229. package/dashboards/rails/views/skills.erb +66 -0
  1230. package/dashboards/rails/views/users.erb +53 -0
  1231. package/dashboards/rails/views/vault.erb +66 -0
  1232. package/dashboards/ruby/app.rb +53 -182
  1233. package/dashboards/ruby/helpers/api.rb +63 -0
  1234. package/dashboards/ruby/helpers/auth.rb +20 -0
  1235. package/dashboards/ruby/helpers/view.rb +91 -0
  1236. package/dashboards/ruby/public/styles.css +294 -0
  1237. package/dashboards/ruby/routes/agents.rb +197 -0
  1238. package/dashboards/ruby/routes/api_keys.rb +43 -0
  1239. package/dashboards/ruby/routes/audit.rb +15 -0
  1240. package/dashboards/ruby/routes/auth.rb +29 -0
  1241. package/dashboards/ruby/routes/compliance.rb +28 -0
  1242. package/dashboards/ruby/routes/dashboard.rb +13 -0
  1243. package/dashboards/ruby/routes/dlp.rb +55 -0
  1244. package/dashboards/ruby/routes/guardrails.rb +77 -0
  1245. package/dashboards/ruby/routes/journal.rb +24 -0
  1246. package/dashboards/ruby/routes/messages.rb +27 -0
  1247. package/dashboards/ruby/routes/settings.rb +214 -0
  1248. package/dashboards/ruby/routes/skills.rb +50 -0
  1249. package/dashboards/ruby/routes/users.rb +26 -0
  1250. package/dashboards/ruby/routes/vault.rb +49 -0
  1251. package/dashboards/ruby/views/agent_detail.erb +550 -0
  1252. package/dashboards/ruby/views/agents.erb +214 -0
  1253. package/dashboards/ruby/views/api_keys.erb +59 -0
  1254. package/dashboards/ruby/views/audit.erb +38 -0
  1255. package/dashboards/ruby/views/compliance.erb +45 -0
  1256. package/dashboards/ruby/views/dashboard.erb +46 -0
  1257. package/dashboards/ruby/views/dlp.erb +88 -0
  1258. package/dashboards/ruby/views/guardrails.erb +103 -0
  1259. package/dashboards/ruby/views/journal.erb +53 -0
  1260. package/dashboards/ruby/views/layout.erb +52 -0
  1261. package/dashboards/ruby/views/login.erb +31 -0
  1262. package/dashboards/ruby/views/messages.erb +51 -0
  1263. package/dashboards/ruby/views/settings.erb +579 -0
  1264. package/dashboards/ruby/views/skills.erb +66 -0
  1265. package/dashboards/ruby/views/users.erb +53 -0
  1266. package/dashboards/ruby/views/vault.erb +66 -0
  1267. package/dashboards/shared/styles.css +322 -0
  1268. package/dist/{chunk-TVF23PUW.js → chunk-7FVRYOP4.js} +22 -7
  1269. package/dist/chunk-DRXMYYKN.js +79 -0
  1270. package/dist/chunk-E23VJ3QX.js +9427 -0
  1271. package/dist/chunk-EOBN6RCA.js +12652 -0
  1272. package/dist/chunk-FLRYMSKY.js +23 -0
  1273. package/dist/chunk-HAUHDCUB.js +764 -0
  1274. package/dist/chunk-HSF6OJ5Z.js +154 -0
  1275. package/dist/{chunk-PNKVD2UK.js → chunk-KFQGP6VL.js} +7 -0
  1276. package/dist/chunk-LKAFZ343.js +591 -0
  1277. package/dist/{chunk-GXIEEA2T.js → chunk-NTVN3JHS.js} +10 -10
  1278. package/dist/chunk-RO537U6H.js +70 -0
  1279. package/dist/chunk-SGBTJHEF.js +2287 -0
  1280. package/dist/chunk-SMUXH6FM.js +1943 -0
  1281. package/dist/chunk-TY7NVD4U.js +275 -0
  1282. package/dist/chunk-X6UVWFHW.js +3455 -0
  1283. package/dist/{chunk-7RGCCHIT.js → chunk-XMDE2NGH.js} +2 -1
  1284. package/dist/chunk-ZNR5DDTA.js +239 -0
  1285. package/dist/cidr-LISVZSM2.js +17 -0
  1286. package/dist/cli-build-skill-XOYECCLE.js +235 -0
  1287. package/dist/cli-recover-SSGGSKZJ.js +97 -0
  1288. package/dist/cli-submit-skill-RSBLF5XN.js +162 -0
  1289. package/dist/cli-validate-WJBUOEGW.js +148 -0
  1290. package/dist/cli-verify-V3GPFMWU.js +98 -0
  1291. package/dist/cli.js +50 -376
  1292. package/dist/config-store-CRMKWBON.js +58 -0
  1293. package/dist/dashboard/app.js +246 -0
  1294. package/dist/dashboard/assets/logo.png +0 -0
  1295. package/dist/dashboard/components/error-boundary.js +21 -0
  1296. package/dist/dashboard/components/help-button.js +34 -0
  1297. package/dist/dashboard/components/icons.js +53 -0
  1298. package/dist/dashboard/components/modal.js +124 -0
  1299. package/dist/dashboard/components/persona-fields.js +271 -0
  1300. package/dist/dashboard/components/settings-help.js +191 -0
  1301. package/dist/dashboard/components/tag-input.js +96 -0
  1302. package/dist/dashboard/components/utils.js +148 -0
  1303. package/dist/dashboard/index.html +407 -874
  1304. package/dist/dashboard/pages/activity.js +62 -0
  1305. package/dist/dashboard/pages/agent-detail.js +3577 -0
  1306. package/dist/dashboard/pages/agents.js +1072 -0
  1307. package/dist/dashboard/pages/approvals.js +81 -0
  1308. package/dist/dashboard/pages/audit.js +133 -0
  1309. package/dist/dashboard/pages/community-skills.js +665 -0
  1310. package/dist/dashboard/pages/compliance.js +81 -0
  1311. package/dist/dashboard/pages/dashboard.js +150 -0
  1312. package/dist/dashboard/pages/dlp.js +107 -0
  1313. package/dist/dashboard/pages/domain-status.js +123 -0
  1314. package/dist/dashboard/pages/guardrails.js +995 -0
  1315. package/dist/dashboard/pages/journal.js +51 -0
  1316. package/dist/dashboard/pages/knowledge-contributions.js +763 -0
  1317. package/dist/dashboard/pages/knowledge.js +46 -0
  1318. package/dist/dashboard/pages/login.js +491 -0
  1319. package/dist/dashboard/pages/messages.js +274 -0
  1320. package/dist/dashboard/pages/settings.js +1554 -0
  1321. package/dist/dashboard/pages/skill-connections.js +452 -0
  1322. package/dist/dashboard/pages/skills.js +433 -0
  1323. package/dist/dashboard/pages/users.js +49 -0
  1324. package/dist/dashboard/pages/vault.js +538 -0
  1325. package/dist/dashboard/pages/workforce.js +569 -0
  1326. package/dist/dashboard/vendor/react-dom.production.min.js +267 -0
  1327. package/dist/dashboard/vendor/react.production.min.js +31 -0
  1328. package/dist/db-adapter-5PWMLY67.js +7 -0
  1329. package/dist/domain-lock-URIFILHB.js +7 -0
  1330. package/dist/{dynamodb-CCGL2E77.js → dynamodb-CD3LREWD.js} +4 -4
  1331. package/dist/{factory-HINWFYZ3.js → factory-FVJH5RRY.js} +2 -2
  1332. package/dist/firewall-AHIRE6UB.js +10 -0
  1333. package/dist/index.js +133 -448
  1334. package/dist/{managed-RZITNPXG.js → managed-QVTONZ7E.js} +4 -2
  1335. package/dist/{mongodb-ODTXIVPV.js → mongodb-73MGW7LD.js} +4 -4
  1336. package/dist/{mysql-RM3S2FV5.js → mysql-A2RYNBQG.js} +59 -6
  1337. package/dist/{postgres-LN7A6MGQ.js → postgres-OE23X46P.js} +63 -6
  1338. package/dist/registry/cli.js +411 -0
  1339. package/dist/routes-NJK5OI5N.js +5673 -0
  1340. package/dist/runtime-SMA6JUMP.js +46 -0
  1341. package/dist/server-ZT5NWHT4.js +11 -0
  1342. package/dist/setup-RCYNX5NA.js +20 -0
  1343. package/dist/skills-QNR3CCHA.js +14 -0
  1344. package/dist/soul-templates.json +1525 -0
  1345. package/dist/{sqlite-VLKVAJA4.js → sqlite-SFVNZPHX.js} +56 -8
  1346. package/dist/{turso-LDWODSDI.js → turso-L6WQAY7U.js} +59 -6
  1347. package/package.json +11 -10
  1348. package/schemas/agenticmail-skill.v1.schema.json +180 -0
  1349. package/src/admin/routes.ts +536 -5
  1350. package/src/agent-tools/common.ts +232 -0
  1351. package/src/agent-tools/index.ts +246 -0
  1352. package/src/agent-tools/merge.ts +62 -0
  1353. package/src/agent-tools/middleware.ts +436 -0
  1354. package/src/agent-tools/security.ts +352 -0
  1355. package/src/agent-tools/tools/bash.ts +154 -0
  1356. package/src/agent-tools/tools/browser.ts +236 -0
  1357. package/src/agent-tools/tools/edit.ts +100 -0
  1358. package/src/agent-tools/tools/enterprise-calendar.ts +561 -0
  1359. package/src/agent-tools/tools/enterprise-code-sandbox.ts +395 -0
  1360. package/src/agent-tools/tools/enterprise-database.ts +377 -0
  1361. package/src/agent-tools/tools/enterprise-diff.ts +580 -0
  1362. package/src/agent-tools/tools/enterprise-documents.ts +896 -0
  1363. package/src/agent-tools/tools/enterprise-finance.ts +484 -0
  1364. package/src/agent-tools/tools/enterprise-http.ts +477 -0
  1365. package/src/agent-tools/tools/enterprise-knowledge-search.ts +369 -0
  1366. package/src/agent-tools/tools/enterprise-logs.ts +479 -0
  1367. package/src/agent-tools/tools/enterprise-notifications.ts +532 -0
  1368. package/src/agent-tools/tools/enterprise-security-scan.ts +528 -0
  1369. package/src/agent-tools/tools/enterprise-spreadsheet.ts +825 -0
  1370. package/src/agent-tools/tools/enterprise-translation.ts +530 -0
  1371. package/src/agent-tools/tools/enterprise-vision.ts +348 -0
  1372. package/src/agent-tools/tools/enterprise-web-research.ts +422 -0
  1373. package/src/agent-tools/tools/enterprise-workflow.ts +308 -0
  1374. package/src/agent-tools/tools/glob.ts +129 -0
  1375. package/src/agent-tools/tools/grep.ts +178 -0
  1376. package/src/agent-tools/tools/memory.ts +194 -0
  1377. package/src/agent-tools/tools/read.ts +160 -0
  1378. package/src/agent-tools/tools/web-fetch-utils.ts +202 -0
  1379. package/src/agent-tools/tools/web-fetch.ts +456 -0
  1380. package/src/agent-tools/tools/web-search.ts +480 -0
  1381. package/src/agent-tools/tools/web-shared.ts +232 -0
  1382. package/src/agent-tools/tools/write.ts +68 -0
  1383. package/src/agent-tools/types.ts +193 -0
  1384. package/src/auth/routes.ts +916 -51
  1385. package/src/cli.ts +74 -14
  1386. package/src/dashboard/app.js +246 -0
  1387. package/src/dashboard/assets/logo.png +0 -0
  1388. package/src/dashboard/components/error-boundary.js +21 -0
  1389. package/src/dashboard/components/help-button.js +34 -0
  1390. package/src/dashboard/components/icons.js +53 -0
  1391. package/src/dashboard/components/modal.js +124 -0
  1392. package/src/dashboard/components/persona-fields.js +271 -0
  1393. package/src/dashboard/components/settings-help.js +191 -0
  1394. package/src/dashboard/components/tag-input.js +96 -0
  1395. package/src/dashboard/components/utils.js +148 -0
  1396. package/src/dashboard/index.html +407 -874
  1397. package/src/dashboard/pages/activity.js +62 -0
  1398. package/src/dashboard/pages/agent-detail.js +3577 -0
  1399. package/src/dashboard/pages/agents.js +1072 -0
  1400. package/src/dashboard/pages/approvals.js +81 -0
  1401. package/src/dashboard/pages/audit.js +133 -0
  1402. package/src/dashboard/pages/community-skills.js +665 -0
  1403. package/src/dashboard/pages/compliance.js +81 -0
  1404. package/src/dashboard/pages/dashboard.js +150 -0
  1405. package/src/dashboard/pages/dlp.js +107 -0
  1406. package/src/dashboard/pages/domain-status.js +123 -0
  1407. package/src/dashboard/pages/guardrails.js +995 -0
  1408. package/src/dashboard/pages/journal.js +51 -0
  1409. package/src/dashboard/pages/knowledge-contributions.js +763 -0
  1410. package/src/dashboard/pages/knowledge.js +46 -0
  1411. package/src/dashboard/pages/login.js +491 -0
  1412. package/src/dashboard/pages/messages.js +274 -0
  1413. package/src/dashboard/pages/settings.js +1554 -0
  1414. package/src/dashboard/pages/skill-connections.js +452 -0
  1415. package/src/dashboard/pages/skills.js +433 -0
  1416. package/src/dashboard/pages/users.js +49 -0
  1417. package/src/dashboard/pages/vault.js +538 -0
  1418. package/src/dashboard/pages/workforce.js +569 -0
  1419. package/src/dashboard/vendor/react-dom.production.min.js +267 -0
  1420. package/src/dashboard/vendor/react.production.min.js +31 -0
  1421. package/src/db/adapter.ts +134 -1
  1422. package/src/db/dynamodb.ts +2 -2
  1423. package/src/db/mongodb.ts +2 -2
  1424. package/src/db/mysql.ts +55 -1
  1425. package/src/db/postgres.ts +59 -1
  1426. package/src/db/proxy.ts +39 -0
  1427. package/src/db/sql-schema.ts +2 -1
  1428. package/src/db/sqlite.ts +51 -3
  1429. package/src/db/turso.ts +55 -1
  1430. package/src/deploy/fly.ts +2 -2
  1431. package/src/deploy/managed.ts +32 -11
  1432. package/src/domain-lock/cli-recover.ts +124 -0
  1433. package/src/domain-lock/cli-verify.ts +122 -0
  1434. package/src/domain-lock/index.ts +220 -0
  1435. package/src/engine/activity-routes.ts +116 -0
  1436. package/src/engine/activity.ts +62 -2
  1437. package/src/engine/agent-config.ts +190 -24
  1438. package/src/engine/agent-memory.ts +1062 -0
  1439. package/src/engine/agent-routes.ts +379 -0
  1440. package/src/engine/approvals.ts +309 -2
  1441. package/src/engine/catalog-routes.ts +155 -0
  1442. package/src/engine/cli-build-skill.ts +285 -0
  1443. package/src/engine/cli-submit-skill.ts +200 -0
  1444. package/src/engine/cli-validate.ts +188 -0
  1445. package/src/engine/communication-routes.ts +139 -0
  1446. package/src/engine/communication.ts +759 -0
  1447. package/src/engine/community-registry.ts +1509 -0
  1448. package/src/engine/community-routes.ts +233 -0
  1449. package/src/engine/compliance-routes.ts +93 -0
  1450. package/src/engine/compliance.ts +325 -0
  1451. package/src/engine/db-adapter.ts +349 -1
  1452. package/src/engine/db-schema.ts +971 -23
  1453. package/src/engine/deploy-schema-routes.ts +176 -0
  1454. package/src/engine/deployer.ts +6 -6
  1455. package/src/engine/dlp-routes.ts +59 -0
  1456. package/src/engine/dlp.ts +231 -0
  1457. package/src/engine/guardrail-routes.ts +125 -0
  1458. package/src/engine/guardrails.ts +403 -0
  1459. package/src/engine/index.ts +131 -10
  1460. package/src/engine/journal-routes.ts +56 -0
  1461. package/src/engine/journal.ts +249 -0
  1462. package/src/engine/knowledge-contribution-routes.ts +385 -0
  1463. package/src/engine/knowledge-contribution.ts +1319 -0
  1464. package/src/engine/knowledge-routes.ts +68 -0
  1465. package/src/engine/knowledge.ts +73 -1
  1466. package/src/engine/lifecycle.ts +487 -31
  1467. package/src/engine/memory-routes.ts +142 -0
  1468. package/src/engine/oauth-connect-routes.ts +366 -0
  1469. package/src/engine/oauth-connect.ts +304 -0
  1470. package/src/engine/onboarding-routes.ts +140 -0
  1471. package/src/engine/onboarding.ts +574 -0
  1472. package/src/engine/org-approval-routes.ts +146 -0
  1473. package/src/engine/org-policies.ts +497 -0
  1474. package/src/engine/policy-import-routes.ts +125 -0
  1475. package/src/engine/policy-import.ts +1186 -0
  1476. package/src/engine/policy-routes.ts +163 -0
  1477. package/src/engine/routes.ts +239 -482
  1478. package/src/engine/skill-updater-routes.ts +132 -0
  1479. package/src/engine/skill-updater.ts +480 -0
  1480. package/src/engine/skill-validator.ts +331 -0
  1481. package/src/engine/skills/enterprise-calendar.ts +142 -0
  1482. package/src/engine/skills/enterprise-code-sandbox.ts +112 -0
  1483. package/src/engine/skills/enterprise-database.ts +122 -0
  1484. package/src/engine/skills/enterprise-diff.ts +94 -0
  1485. package/src/engine/skills/enterprise-documents.ts +161 -0
  1486. package/src/engine/skills/enterprise-finance.ts +109 -0
  1487. package/src/engine/skills/enterprise-http.ts +98 -0
  1488. package/src/engine/skills/enterprise-knowledge-search.ts +106 -0
  1489. package/src/engine/skills/enterprise-logs.ts +115 -0
  1490. package/src/engine/skills/enterprise-notifications.ts +119 -0
  1491. package/src/engine/skills/enterprise-security-scan.ts +124 -0
  1492. package/src/engine/skills/enterprise-spreadsheet.ts +170 -0
  1493. package/src/engine/skills/enterprise-translation.ts +111 -0
  1494. package/src/engine/skills/enterprise-vision.ts +107 -0
  1495. package/src/engine/skills/enterprise-web-research.ts +114 -0
  1496. package/src/engine/skills/enterprise-workflow.ts +109 -0
  1497. package/src/engine/skills/gws-admin.ts +17 -0
  1498. package/src/engine/skills/gws-calendar.ts +19 -0
  1499. package/src/engine/skills/gws-chat.ts +16 -0
  1500. package/src/engine/skills/gws-docs.ts +17 -0
  1501. package/src/engine/skills/gws-drive.ts +20 -0
  1502. package/src/engine/skills/gws-forms.ts +16 -0
  1503. package/src/engine/skills/gws-gmail.ts +20 -0
  1504. package/src/engine/skills/gws-groups.ts +16 -0
  1505. package/src/engine/skills/gws-keep.ts +16 -0
  1506. package/src/engine/skills/gws-meet.ts +16 -0
  1507. package/src/engine/skills/gws-sheets.ts +18 -0
  1508. package/src/engine/skills/gws-sites.ts +15 -0
  1509. package/src/engine/skills/gws-slides.ts +16 -0
  1510. package/src/engine/skills/gws-vault.ts +16 -0
  1511. package/src/engine/skills/index.ts +121 -0
  1512. package/src/engine/skills/m365-admin.ts +17 -0
  1513. package/src/engine/skills/m365-bookings.ts +16 -0
  1514. package/src/engine/skills/m365-copilot.ts +16 -0
  1515. package/src/engine/skills/m365-excel.ts +59 -0
  1516. package/src/engine/skills/m365-forms.ts +16 -0
  1517. package/src/engine/skills/m365-onedrive.ts +59 -0
  1518. package/src/engine/skills/m365-onenote.ts +16 -0
  1519. package/src/engine/skills/m365-outlook.ts +26 -0
  1520. package/src/engine/skills/m365-planner.ts +17 -0
  1521. package/src/engine/skills/m365-power-automate.ts +17 -0
  1522. package/src/engine/skills/m365-power-bi.ts +18 -0
  1523. package/src/engine/skills/m365-powerpoint.ts +32 -0
  1524. package/src/engine/skills/m365-sharepoint.ts +19 -0
  1525. package/src/engine/skills/m365-teams.ts +20 -0
  1526. package/src/engine/skills/m365-todo.ts +16 -0
  1527. package/src/engine/skills/m365-whiteboard.ts +15 -0
  1528. package/src/engine/skills/m365-word.ts +41 -0
  1529. package/src/engine/skills.ts +353 -17
  1530. package/src/engine/soul-library.ts +142 -0
  1531. package/src/engine/soul-templates.json +1525 -0
  1532. package/src/engine/storage-manager.ts +252 -0
  1533. package/src/engine/storage-routes.ts +113 -0
  1534. package/src/engine/storage.ts +528 -0
  1535. package/src/engine/tenant.ts +69 -5
  1536. package/src/engine/tool-catalog.ts +177 -13
  1537. package/src/engine/vault-routes.ts +130 -0
  1538. package/src/engine/vault.ts +544 -0
  1539. package/src/engine/workforce-routes.ts +282 -0
  1540. package/src/engine/workforce.ts +957 -0
  1541. package/src/index.ts +9 -1
  1542. package/src/lib/cidr.ts +122 -0
  1543. package/src/lib/config-store.ts +86 -0
  1544. package/src/mcp/adapters/activecampaign.adapter.ts +391 -0
  1545. package/src/mcp/adapters/adobe-sign.adapter.ts +469 -0
  1546. package/src/mcp/adapters/adp.adapter.ts +358 -0
  1547. package/src/mcp/adapters/airtable.adapter.ts +273 -0
  1548. package/src/mcp/adapters/apollo.adapter.ts +420 -0
  1549. package/src/mcp/adapters/asana.adapter.ts +315 -0
  1550. package/src/mcp/adapters/auth0.adapter.ts +386 -0
  1551. package/src/mcp/adapters/aws.adapter.ts +345 -0
  1552. package/src/mcp/adapters/azure-devops.adapter.ts +389 -0
  1553. package/src/mcp/adapters/bamboohr.adapter.ts +376 -0
  1554. package/src/mcp/adapters/basecamp.adapter.ts +366 -0
  1555. package/src/mcp/adapters/bigcommerce.adapter.ts +429 -0
  1556. package/src/mcp/adapters/bitbucket.adapter.ts +260 -0
  1557. package/src/mcp/adapters/box.adapter.ts +350 -0
  1558. package/src/mcp/adapters/brex.adapter.ts +367 -0
  1559. package/src/mcp/adapters/buffer.adapter.ts +303 -0
  1560. package/src/mcp/adapters/calendly.adapter.ts +262 -0
  1561. package/src/mcp/adapters/canva.adapter.ts +256 -0
  1562. package/src/mcp/adapters/chargebee.adapter.ts +448 -0
  1563. package/src/mcp/adapters/circleci.adapter.ts +216 -0
  1564. package/src/mcp/adapters/clickup.adapter.ts +335 -0
  1565. package/src/mcp/adapters/close.adapter.ts +390 -0
  1566. package/src/mcp/adapters/cloudflare.adapter.ts +377 -0
  1567. package/src/mcp/adapters/confluence.adapter.ts +301 -0
  1568. package/src/mcp/adapters/contentful.adapter.ts +355 -0
  1569. package/src/mcp/adapters/copper.adapter.ts +468 -0
  1570. package/src/mcp/adapters/crisp.adapter.ts +415 -0
  1571. package/src/mcp/adapters/crowdstrike.adapter.ts +413 -0
  1572. package/src/mcp/adapters/datadog.adapter.ts +373 -0
  1573. package/src/mcp/adapters/digitalocean.adapter.ts +336 -0
  1574. package/src/mcp/adapters/discord.adapter.ts +248 -0
  1575. package/src/mcp/adapters/docker.adapter.ts +238 -0
  1576. package/src/mcp/adapters/docusign.adapter.ts +431 -0
  1577. package/src/mcp/adapters/drift.adapter.ts +386 -0
  1578. package/src/mcp/adapters/dropbox.adapter.ts +315 -0
  1579. package/src/mcp/adapters/figma.adapter.ts +302 -0
  1580. package/src/mcp/adapters/firebase.adapter.ts +446 -0
  1581. package/src/mcp/adapters/flyio.adapter.ts +302 -0
  1582. package/src/mcp/adapters/freshbooks.adapter.ts +474 -0
  1583. package/src/mcp/adapters/freshdesk.adapter.ts +441 -0
  1584. package/src/mcp/adapters/freshsales.adapter.ts +457 -0
  1585. package/src/mcp/adapters/freshservice.adapter.ts +481 -0
  1586. package/src/mcp/adapters/front.adapter.ts +357 -0
  1587. package/src/mcp/adapters/github-actions.adapter.ts +329 -0
  1588. package/src/mcp/adapters/github.adapter.ts +387 -0
  1589. package/src/mcp/adapters/gitlab.adapter.ts +368 -0
  1590. package/src/mcp/adapters/gong.adapter.ts +386 -0
  1591. package/src/mcp/adapters/google-ads.adapter.ts +363 -0
  1592. package/src/mcp/adapters/google-analytics.adapter.ts +316 -0
  1593. package/src/mcp/adapters/google-cloud.adapter.ts +312 -0
  1594. package/src/mcp/adapters/google-drive.adapter.ts +387 -0
  1595. package/src/mcp/adapters/gotomeeting.adapter.ts +255 -0
  1596. package/src/mcp/adapters/grafana.adapter.ts +361 -0
  1597. package/src/mcp/adapters/greenhouse.adapter.ts +354 -0
  1598. package/src/mcp/adapters/gusto.adapter.ts +329 -0
  1599. package/src/mcp/adapters/hashicorp-vault.adapter.ts +355 -0
  1600. package/src/mcp/adapters/heroku.adapter.ts +291 -0
  1601. package/src/mcp/adapters/hibob.adapter.ts +334 -0
  1602. package/src/mcp/adapters/hootsuite.adapter.ts +322 -0
  1603. package/src/mcp/adapters/hubspot.adapter.ts +400 -0
  1604. package/src/mcp/adapters/huggingface.adapter.ts +349 -0
  1605. package/src/mcp/adapters/index.ts +530 -0
  1606. package/src/mcp/adapters/intercom.adapter.ts +269 -0
  1607. package/src/mcp/adapters/jira.adapter.ts +482 -0
  1608. package/src/mcp/adapters/klaviyo.adapter.ts +353 -0
  1609. package/src/mcp/adapters/kubernetes.adapter.ts +431 -0
  1610. package/src/mcp/adapters/lattice.adapter.ts +339 -0
  1611. package/src/mcp/adapters/launchdarkly.adapter.ts +368 -0
  1612. package/src/mcp/adapters/lever.adapter.ts +347 -0
  1613. package/src/mcp/adapters/linear.adapter.ts +300 -0
  1614. package/src/mcp/adapters/linkedin.adapter.ts +331 -0
  1615. package/src/mcp/adapters/livechat.adapter.ts +259 -0
  1616. package/src/mcp/adapters/loom.adapter.ts +230 -0
  1617. package/src/mcp/adapters/mailchimp.adapter.ts +394 -0
  1618. package/src/mcp/adapters/mailgun.adapter.ts +425 -0
  1619. package/src/mcp/adapters/microsoft-teams.adapter.ts +251 -0
  1620. package/src/mcp/adapters/miro.adapter.ts +274 -0
  1621. package/src/mcp/adapters/mixpanel.adapter.ts +324 -0
  1622. package/src/mcp/adapters/monday.adapter.ts +308 -0
  1623. package/src/mcp/adapters/mongodb-atlas.adapter.ts +345 -0
  1624. package/src/mcp/adapters/neon.adapter.ts +312 -0
  1625. package/src/mcp/adapters/netlify.adapter.ts +324 -0
  1626. package/src/mcp/adapters/netsuite.adapter.ts +411 -0
  1627. package/src/mcp/adapters/newrelic.adapter.ts +339 -0
  1628. package/src/mcp/adapters/notion.adapter.ts +338 -0
  1629. package/src/mcp/adapters/okta.adapter.ts +394 -0
  1630. package/src/mcp/adapters/openai.adapter.ts +315 -0
  1631. package/src/mcp/adapters/opsgenie.adapter.ts +375 -0
  1632. package/src/mcp/adapters/outreach.adapter.ts +372 -0
  1633. package/src/mcp/adapters/paddle.adapter.ts +467 -0
  1634. package/src/mcp/adapters/pagerduty.adapter.ts +412 -0
  1635. package/src/mcp/adapters/pandadoc.adapter.ts +389 -0
  1636. package/src/mcp/adapters/paypal.adapter.ts +465 -0
  1637. package/src/mcp/adapters/personio.adapter.ts +401 -0
  1638. package/src/mcp/adapters/pinecone.adapter.ts +340 -0
  1639. package/src/mcp/adapters/pipedrive.adapter.ts +324 -0
  1640. package/src/mcp/adapters/plaid.adapter.ts +444 -0
  1641. package/src/mcp/adapters/postmark.adapter.ts +387 -0
  1642. package/src/mcp/adapters/power-automate.adapter.ts +388 -0
  1643. package/src/mcp/adapters/quickbooks.adapter.ts +431 -0
  1644. package/src/mcp/adapters/recurly.adapter.ts +433 -0
  1645. package/src/mcp/adapters/reddit.adapter.ts +371 -0
  1646. package/src/mcp/adapters/render.adapter.ts +332 -0
  1647. package/src/mcp/adapters/ringcentral.adapter.ts +281 -0
  1648. package/src/mcp/adapters/rippling.adapter.ts +287 -0
  1649. package/src/mcp/adapters/salesforce.adapter.ts +321 -0
  1650. package/src/mcp/adapters/salesloft.adapter.ts +413 -0
  1651. package/src/mcp/adapters/sanity.adapter.ts +363 -0
  1652. package/src/mcp/adapters/sap.adapter.ts +483 -0
  1653. package/src/mcp/adapters/segment.adapter.ts +260 -0
  1654. package/src/mcp/adapters/sendgrid.adapter.ts +265 -0
  1655. package/src/mcp/adapters/sentry.adapter.ts +331 -0
  1656. package/src/mcp/adapters/servicenow.adapter.ts +468 -0
  1657. package/src/mcp/adapters/shopify.adapter.ts +451 -0
  1658. package/src/mcp/adapters/shortcut.adapter.ts +290 -0
  1659. package/src/mcp/adapters/slack.adapter.ts +380 -0
  1660. package/src/mcp/adapters/smartsheet.adapter.ts +326 -0
  1661. package/src/mcp/adapters/snowflake.adapter.ts +347 -0
  1662. package/src/mcp/adapters/snyk.adapter.ts +394 -0
  1663. package/src/mcp/adapters/splunk.adapter.ts +403 -0
  1664. package/src/mcp/adapters/square.adapter.ts +467 -0
  1665. package/src/mcp/adapters/statuspage.adapter.ts +401 -0
  1666. package/src/mcp/adapters/stripe.adapter.ts +380 -0
  1667. package/src/mcp/adapters/supabase.adapter.ts +334 -0
  1668. package/src/mcp/adapters/teamwork.adapter.ts +404 -0
  1669. package/src/mcp/adapters/telegram.adapter.ts +299 -0
  1670. package/src/mcp/adapters/terraform.adapter.ts +300 -0
  1671. package/src/mcp/adapters/todoist.adapter.ts +239 -0
  1672. package/src/mcp/adapters/trello.adapter.ts +316 -0
  1673. package/src/mcp/adapters/twilio.adapter.ts +233 -0
  1674. package/src/mcp/adapters/twitter.adapter.ts +348 -0
  1675. package/src/mcp/adapters/vercel.adapter.ts +219 -0
  1676. package/src/mcp/adapters/weaviate.adapter.ts +371 -0
  1677. package/src/mcp/adapters/webex.adapter.ts +237 -0
  1678. package/src/mcp/adapters/webflow.adapter.ts +287 -0
  1679. package/src/mcp/adapters/whatsapp.adapter.ts +273 -0
  1680. package/src/mcp/adapters/whereby.adapter.ts +240 -0
  1681. package/src/mcp/adapters/woocommerce.adapter.ts +454 -0
  1682. package/src/mcp/adapters/wordpress.adapter.ts +455 -0
  1683. package/src/mcp/adapters/workday.adapter.ts +354 -0
  1684. package/src/mcp/adapters/wrike.adapter.ts +349 -0
  1685. package/src/mcp/adapters/xero.adapter.ts +472 -0
  1686. package/src/mcp/adapters/youtube.adapter.ts +401 -0
  1687. package/src/mcp/adapters/zendesk.adapter.ts +399 -0
  1688. package/src/mcp/adapters/zoho-crm.adapter.ts +410 -0
  1689. package/src/mcp/adapters/zoom.adapter.ts +241 -0
  1690. package/src/mcp/adapters/zuora.adapter.ts +476 -0
  1691. package/src/mcp/framework/api-executor.ts +192 -0
  1692. package/src/mcp/framework/aws-sigv4.ts +216 -0
  1693. package/src/mcp/framework/credential-resolver.ts +128 -0
  1694. package/src/mcp/framework/skill-mcp-framework.ts +226 -0
  1695. package/src/mcp/framework/types.ts +130 -0
  1696. package/src/mcp/index.ts +124 -0
  1697. package/src/middleware/egress-filter.ts +81 -0
  1698. package/src/middleware/firewall.ts +121 -0
  1699. package/src/middleware/index.ts +33 -0
  1700. package/src/registry/cli.ts +63 -0
  1701. package/src/registry/server.ts +504 -0
  1702. package/src/runtime/agent-loop.ts +504 -0
  1703. package/src/runtime/email-channel.ts +120 -0
  1704. package/src/runtime/followup.ts +211 -0
  1705. package/src/runtime/gateway.ts +260 -0
  1706. package/src/runtime/hooks.ts +472 -0
  1707. package/src/runtime/index.ts +679 -0
  1708. package/src/runtime/llm-client.ts +1019 -0
  1709. package/src/runtime/providers.ts +231 -0
  1710. package/src/runtime/session-manager.ts +340 -0
  1711. package/src/runtime/subagent.ts +154 -0
  1712. package/src/runtime/tool-executor.ts +202 -0
  1713. package/src/runtime/types.ts +215 -0
  1714. package/src/server.ts +157 -45
  1715. package/src/setup/company.ts +127 -8
  1716. package/src/setup/database.ts +2 -1
  1717. package/src/setup/domain.ts +33 -4
  1718. package/src/setup/index.ts +19 -7
  1719. package/src/setup/provision.ts +128 -8
  1720. package/src/setup/registration.ts +227 -0
  1721. package/src/types/hono-env.ts +14 -0
  1722. package/src/types/optional-deps.d.ts +10 -0
  1723. package/dist/chunk-77IDQJL3.js +0 -7
  1724. package/dist/chunk-BE7MXVLA.js +0 -757
  1725. package/dist/chunk-BS2WCSHO.js +0 -48
  1726. package/dist/chunk-FL3VQBGL.js +0 -757
  1727. package/dist/chunk-IQWA44WT.js +0 -970
  1728. package/dist/chunk-N2JVTNNJ.js +0 -2553
  1729. package/dist/chunk-YFDSE4BW.js +0 -1355
  1730. package/dist/db-adapter-DEWEFNIV.js +0 -7
  1731. package/dist/factory-V37IG5AT.js +0 -9
  1732. package/dist/routes-2JEPIIKC.js +0 -441
  1733. package/dist/server-32YYCI3A.js +0 -8
  1734. package/dist/server-H3C6WUOS.js +0 -8
  1735. package/dist/sqlite-3K5YOZ4K.js +0 -439
  1736. package/live-test.mjs +0 -165
  1737. package/serve.mjs +0 -19
  1738. package/src/engine/agenticmail-bridge.ts +0 -296
  1739. package/src/engine/openclaw-hook.ts +0 -371
  1740. package/start-live.mjs +0 -39
  1741. package/test-integration.mjs +0 -383
@@ -0,0 +1,1509 @@
1
+ /**
2
+ * Community Skill Registry — Marketplace for Community-Contributed Skills
3
+ *
4
+ * Full DB-backed registry that replaces the in-memory stub from skills.ts.
5
+ * Handles publishing, installing, reviewing, and importing community skills.
6
+ *
7
+ * Skills are described by an `agenticmail-skill.json` manifest and can be
8
+ * imported from any public GitHub repo containing that file.
9
+ */
10
+
11
+ import type { EngineDatabase } from './db-adapter.js';
12
+ import type { PermissionEngine, SkillDefinition } from './skills.js';
13
+ import { validateSkillManifest, collectCommunityToolIds, VALID_CATEGORIES, type ManifestValidationResult as _MVR } from './skill-validator.js';
14
+
15
+ // ─── Types ──────────────────────────────────────────────
16
+
17
+ export interface CommunitySkillManifest {
18
+ id: string;
19
+ name: string;
20
+ description: string;
21
+ version: string;
22
+ author: string;
23
+ repository: string;
24
+ license: string;
25
+ category?: string;
26
+ risk?: 'low' | 'medium' | 'high' | 'critical';
27
+ icon?: string;
28
+ tags?: string[];
29
+ tools: Array<{
30
+ id: string;
31
+ name: string;
32
+ description: string;
33
+ parameters?: Record<string, any>;
34
+ riskLevel?: string;
35
+ }>;
36
+ configSchema?: Record<string, any>;
37
+ minEngineVersion?: string;
38
+ homepage?: string;
39
+ }
40
+
41
+ export interface IndexedCommunitySkill extends CommunitySkillManifest {
42
+ downloads: number;
43
+ rating: number;
44
+ ratingCount: number;
45
+ verified: boolean;
46
+ featured: boolean;
47
+ createdAt: string;
48
+ updatedAt: string;
49
+ }
50
+
51
+ export interface InstalledCommunitySkill {
52
+ id: string;
53
+ orgId: string;
54
+ skillId: string;
55
+ version: string;
56
+ enabled: boolean;
57
+ config: Record<string, any>;
58
+ installedBy: string;
59
+ installedAt: string;
60
+ updatedAt: string;
61
+ }
62
+
63
+ export interface CommunitySkillReview {
64
+ id: string;
65
+ skillId: string;
66
+ userId: string;
67
+ userName?: string;
68
+ rating: number;
69
+ reviewText?: string;
70
+ createdAt: string;
71
+ }
72
+
73
+ export type { ManifestValidationResult } from './skill-validator.js';
74
+
75
+ // ─── Helpers ─────────────────────────────────────────────
76
+
77
+ function uid(): string {
78
+ return Date.now().toString(36) + Math.random().toString(36).slice(2, 10);
79
+ }
80
+
81
+ import type { ManifestValidationResult } from './skill-validator.js';
82
+
83
+ // ─── Community Skill Registry ─────────────────────────────
84
+
85
+ // ─── Remote Registry Config ──────────────────────────────
86
+
87
+ const DEFAULT_REGISTRY_REPO = 'agenticmail/enterprise';
88
+ const DEFAULT_REGISTRY_BRANCH = 'main';
89
+ const DEFAULT_SYNC_INTERVAL_MS = 6 * 60 * 60 * 1000; // 6 hours
90
+
91
+ export class CommunitySkillRegistry {
92
+ private engineDb?: EngineDatabase;
93
+ private permissions: PermissionEngine;
94
+ private index = new Map<string, IndexedCommunitySkill>();
95
+ private installed = new Map<string, InstalledCommunitySkill>();
96
+ private syncTimer?: ReturnType<typeof setInterval>;
97
+ private registryRepo: string;
98
+ private registryBranch: string;
99
+ private lastSyncAt?: string;
100
+
101
+ constructor(opts: { permissions: PermissionEngine; registryRepo?: string; registryBranch?: string }) {
102
+ this.permissions = opts.permissions;
103
+ this.registryRepo = opts.registryRepo || DEFAULT_REGISTRY_REPO;
104
+ this.registryBranch = opts.registryBranch || DEFAULT_REGISTRY_BRANCH;
105
+ }
106
+
107
+ // ── DB Wiring ─────────────────────────────────────────
108
+
109
+ async setDb(db: EngineDatabase): Promise<void> {
110
+ this.engineDb = db;
111
+ await this.loadFromDb();
112
+ }
113
+
114
+ private async loadFromDb(): Promise<void> {
115
+ if (!this.engineDb) return;
116
+
117
+ // Load global index
118
+ const { skills } = await this.engineDb.getAllCommunitySkills({ limit: 10000 });
119
+ this.index.clear();
120
+ for (const s of skills) this.index.set(s.id, s);
121
+
122
+ // Seed example skills (upserts — safe to run repeatedly, ensures icons/metadata stay current)
123
+ await this.seedIndex();
124
+
125
+ // Load all installed skills and re-register enabled ones
126
+ // For simplicity, load installed for all orgs
127
+ // (in production this would be per-org on request)
128
+ try {
129
+ const rows = await this.engineDb.getInstalledSkillsByOrg('*').catch(() => [] as any[]);
130
+ // Actually load per-org when requested; for startup, just clear
131
+ this.installed.clear();
132
+ } catch {
133
+ // noop — table may not exist yet during first run
134
+ }
135
+ }
136
+
137
+ // ── Publishing ────────────────────────────────────────
138
+
139
+ async publish(manifest: CommunitySkillManifest): Promise<IndexedCommunitySkill> {
140
+ const validation = this.validateManifest(manifest);
141
+ if (!validation.valid) throw new Error('Invalid manifest: ' + validation.errors.join(', '));
142
+
143
+ const existing = this.index.get(manifest.id);
144
+ const skill: IndexedCommunitySkill = {
145
+ ...manifest,
146
+ downloads: existing?.downloads || 0,
147
+ rating: existing?.rating || 0,
148
+ ratingCount: existing?.ratingCount || 0,
149
+ verified: existing?.verified || false,
150
+ featured: existing?.featured || false,
151
+ createdAt: existing?.createdAt || new Date().toISOString(),
152
+ updatedAt: new Date().toISOString(),
153
+ };
154
+
155
+ this.index.set(skill.id, skill);
156
+ if (this.engineDb) await this.engineDb.upsertCommunitySkill(skill);
157
+ return skill;
158
+ }
159
+
160
+ async unpublish(skillId: string): Promise<void> {
161
+ this.index.delete(skillId);
162
+ if (this.engineDb) await this.engineDb.deleteCommunitySkill(skillId);
163
+ }
164
+
165
+ async setVerified(skillId: string, verified: boolean): Promise<void> {
166
+ const skill = this.index.get(skillId);
167
+ if (!skill) throw new Error('Skill not found: ' + skillId);
168
+ skill.verified = verified;
169
+ skill.updatedAt = new Date().toISOString();
170
+ if (this.engineDb) await this.engineDb.upsertCommunitySkill(skill);
171
+ }
172
+
173
+ async setFeatured(skillId: string, featured: boolean): Promise<void> {
174
+ const skill = this.index.get(skillId);
175
+ if (!skill) throw new Error('Skill not found: ' + skillId);
176
+ skill.featured = featured;
177
+ skill.updatedAt = new Date().toISOString();
178
+ if (this.engineDb) await this.engineDb.upsertCommunitySkill(skill);
179
+ }
180
+
181
+ // ── Install / Uninstall ───────────────────────────────
182
+
183
+ async install(orgId: string, skillId: string, installedBy: string, config?: Record<string, any>): Promise<InstalledCommunitySkill> {
184
+ const skill = this.index.get(skillId);
185
+ if (!skill) throw new Error('Skill not found: ' + skillId);
186
+
187
+ const id = `${orgId}:${skillId}`;
188
+ const inst: InstalledCommunitySkill = {
189
+ id,
190
+ orgId,
191
+ skillId,
192
+ version: skill.version,
193
+ enabled: true,
194
+ config: config || {},
195
+ installedBy,
196
+ installedAt: new Date().toISOString(),
197
+ updatedAt: new Date().toISOString(),
198
+ };
199
+
200
+ this.installed.set(id, inst);
201
+ if (this.engineDb) {
202
+ await this.engineDb.upsertInstalledSkill(inst);
203
+ await this.engineDb.incrementDownloads(skillId);
204
+ }
205
+ skill.downloads = (skill.downloads || 0) + 1;
206
+
207
+ // Register skill tools with PermissionEngine
208
+ this.registerWithPermissions(skill);
209
+
210
+ return inst;
211
+ }
212
+
213
+ async uninstall(orgId: string, skillId: string): Promise<void> {
214
+ const id = `${orgId}:${skillId}`;
215
+ this.installed.delete(id);
216
+ if (this.engineDb) await this.engineDb.deleteInstalledSkill(orgId, skillId);
217
+ }
218
+
219
+ async enable(orgId: string, skillId: string): Promise<void> {
220
+ const id = `${orgId}:${skillId}`;
221
+ const inst = this.installed.get(id);
222
+ if (!inst) throw new Error('Skill not installed');
223
+ inst.enabled = true;
224
+ inst.updatedAt = new Date().toISOString();
225
+ if (this.engineDb) await this.engineDb.upsertInstalledSkill(inst);
226
+
227
+ const skill = this.index.get(skillId);
228
+ if (skill) this.registerWithPermissions(skill);
229
+ }
230
+
231
+ async disable(orgId: string, skillId: string): Promise<void> {
232
+ const id = `${orgId}:${skillId}`;
233
+ const inst = this.installed.get(id);
234
+ if (!inst) throw new Error('Skill not installed');
235
+ inst.enabled = false;
236
+ inst.updatedAt = new Date().toISOString();
237
+ if (this.engineDb) await this.engineDb.upsertInstalledSkill(inst);
238
+ }
239
+
240
+ async updateConfig(orgId: string, skillId: string, config: Record<string, any>): Promise<void> {
241
+ const id = `${orgId}:${skillId}`;
242
+ const inst = this.installed.get(id);
243
+ if (!inst) throw new Error('Skill not installed');
244
+ inst.config = { ...inst.config, ...config };
245
+ inst.updatedAt = new Date().toISOString();
246
+ if (this.engineDb) await this.engineDb.upsertInstalledSkill(inst);
247
+ }
248
+
249
+ async upgrade(orgId: string, skillId: string): Promise<InstalledCommunitySkill> {
250
+ const id = `${orgId}:${skillId}`;
251
+ const inst = this.installed.get(id);
252
+ if (!inst) throw new Error('Skill not installed');
253
+
254
+ const skill = this.index.get(skillId);
255
+ if (!skill) throw new Error('Skill not found in index');
256
+
257
+ inst.version = skill.version;
258
+ inst.updatedAt = new Date().toISOString();
259
+ if (this.engineDb) await this.engineDb.upsertInstalledSkill(inst);
260
+ return inst;
261
+ }
262
+
263
+ // ── Queries ───────────────────────────────────────────
264
+
265
+ async search(opts?: {
266
+ query?: string; category?: string; risk?: string; tag?: string;
267
+ verified?: boolean; featured?: boolean;
268
+ sortBy?: string; order?: string;
269
+ limit?: number; offset?: number;
270
+ }): Promise<{ skills: IndexedCommunitySkill[]; total: number }> {
271
+ if (this.engineDb) {
272
+ return this.engineDb.getAllCommunitySkills({
273
+ search: opts?.query,
274
+ category: opts?.category,
275
+ risk: opts?.risk,
276
+ tag: opts?.tag,
277
+ verified: opts?.verified,
278
+ featured: opts?.featured,
279
+ sortBy: opts?.sortBy,
280
+ order: opts?.order,
281
+ limit: opts?.limit || 50,
282
+ offset: opts?.offset || 0,
283
+ });
284
+ }
285
+
286
+ // Fallback to in-memory
287
+ let results = Array.from(this.index.values());
288
+ if (opts?.query) {
289
+ const q = opts.query.toLowerCase();
290
+ results = results.filter(s => s.name.toLowerCase().includes(q) || s.description.toLowerCase().includes(q));
291
+ }
292
+ if (opts?.category) results = results.filter(s => s.category === opts.category);
293
+ if (opts?.risk) results = results.filter(s => s.risk === opts.risk);
294
+ if (opts?.verified !== undefined) results = results.filter(s => s.verified === opts.verified);
295
+ if (opts?.featured !== undefined) results = results.filter(s => s.featured === opts.featured);
296
+
297
+ const total = results.length;
298
+ const offset = opts?.offset || 0;
299
+ const limit = opts?.limit || 50;
300
+ return { skills: results.slice(offset, offset + limit), total };
301
+ }
302
+
303
+ getIndex(): IndexedCommunitySkill[] {
304
+ return Array.from(this.index.values());
305
+ }
306
+
307
+ getSkill(skillId: string): IndexedCommunitySkill | undefined {
308
+ return this.index.get(skillId);
309
+ }
310
+
311
+ async getFeatured(): Promise<IndexedCommunitySkill[]> {
312
+ if (this.engineDb) {
313
+ const { skills } = await this.engineDb.getAllCommunitySkills({ featured: true, limit: 20 });
314
+ return skills;
315
+ }
316
+ return Array.from(this.index.values()).filter(s => s.featured);
317
+ }
318
+
319
+ async getPopular(limit: number = 10): Promise<IndexedCommunitySkill[]> {
320
+ if (this.engineDb) {
321
+ const { skills } = await this.engineDb.getAllCommunitySkills({ sortBy: 'popular', limit });
322
+ return skills;
323
+ }
324
+ return Array.from(this.index.values())
325
+ .sort((a, b) => b.downloads - a.downloads)
326
+ .slice(0, limit);
327
+ }
328
+
329
+ getCategories(): readonly string[] {
330
+ return VALID_CATEGORIES;
331
+ }
332
+
333
+ async getInstalled(orgId: string): Promise<InstalledCommunitySkill[]> {
334
+ if (this.engineDb) {
335
+ return this.engineDb.getInstalledSkillsByOrg(orgId);
336
+ }
337
+ return Array.from(this.installed.values()).filter(s => s.orgId === orgId);
338
+ }
339
+
340
+ async getInstalledWithDetails(orgId: string): Promise<Array<InstalledCommunitySkill & { skill?: IndexedCommunitySkill }>> {
341
+ const installs = await this.getInstalled(orgId);
342
+ return installs.map(inst => ({
343
+ ...inst,
344
+ skill: this.index.get(inst.skillId),
345
+ }));
346
+ }
347
+
348
+ // ── Reviews ───────────────────────────────────────────
349
+
350
+ async submitReview(review: { skillId: string; userId: string; userName?: string; rating: number; reviewText?: string }): Promise<CommunitySkillReview> {
351
+ if (review.rating < 1 || review.rating > 5) throw new Error('Rating must be 1-5');
352
+
353
+ const entry: CommunitySkillReview = {
354
+ id: uid(),
355
+ skillId: review.skillId,
356
+ userId: review.userId,
357
+ userName: review.userName,
358
+ rating: review.rating,
359
+ reviewText: review.reviewText,
360
+ createdAt: new Date().toISOString(),
361
+ };
362
+
363
+ if (this.engineDb) {
364
+ await this.engineDb.insertReview(entry);
365
+ // Update aggregate rating on the skill
366
+ const { avg, count } = await this.engineDb.getAverageRating(review.skillId);
367
+ const skill = this.index.get(review.skillId);
368
+ if (skill) {
369
+ skill.rating = Math.round(avg * 10) / 10;
370
+ skill.ratingCount = count;
371
+ await this.engineDb.upsertCommunitySkill(skill);
372
+ }
373
+ }
374
+
375
+ return entry;
376
+ }
377
+
378
+ async getReviews(skillId: string, limit: number = 50): Promise<CommunitySkillReview[]> {
379
+ if (this.engineDb) return this.engineDb.getReviews(skillId, limit);
380
+ return [];
381
+ }
382
+
383
+ // ── Validation ────────────────────────────────────────
384
+
385
+ validateManifest(manifest: Partial<CommunitySkillManifest>): ManifestValidationResult {
386
+ return validateSkillManifest(manifest);
387
+ }
388
+
389
+ // ── Load from Directory (git-repo-as-marketplace) ────
390
+
391
+ async loadFromDirectory(dirPath: string): Promise<{
392
+ loaded: number;
393
+ errors: Array<{ skillId: string; errors: string[] }>;
394
+ }> {
395
+ const fs = await import('fs/promises');
396
+ const path = await import('path');
397
+
398
+ let entries: import('fs').Dirent[];
399
+ try {
400
+ entries = await fs.readdir(dirPath, { withFileTypes: true });
401
+ } catch {
402
+ return { loaded: 0, errors: [] };
403
+ }
404
+
405
+ let loaded = 0;
406
+ const loadErrors: Array<{ skillId: string; errors: string[] }> = [];
407
+
408
+ for (const entry of entries) {
409
+ if (!entry.isDirectory() || entry.name.startsWith('_') || entry.name.startsWith('.')) continue;
410
+
411
+ const manifestPath = path.join(dirPath, entry.name, 'agenticmail-skill.json');
412
+ try {
413
+ const raw = await fs.readFile(manifestPath, 'utf-8');
414
+ const manifest = JSON.parse(raw) as CommunitySkillManifest;
415
+
416
+ const validation = validateSkillManifest(manifest);
417
+ if (!validation.valid) {
418
+ loadErrors.push({ skillId: entry.name, errors: validation.errors });
419
+ continue;
420
+ }
421
+
422
+ await this.publish(manifest);
423
+ loaded++;
424
+ } catch (err: any) {
425
+ if (err.code !== 'ENOENT') {
426
+ loadErrors.push({ skillId: entry.name, errors: [err.message] });
427
+ }
428
+ }
429
+ }
430
+
431
+ return { loaded, errors: loadErrors };
432
+ }
433
+
434
+ // ── GitHub Import ─────────────────────────────────────
435
+
436
+ async importFromGitHub(repoUrl: string): Promise<IndexedCommunitySkill> {
437
+ // Parse GitHub URL: https://github.com/user/repo or user/repo
438
+ const match = repoUrl.match(/(?:github\.com\/)?([^/]+\/[^/]+)/);
439
+ if (!match) throw new Error('Invalid GitHub URL or slug');
440
+
441
+ const slug = match[1].replace(/\.git$/, '');
442
+ const rawUrl = `https://raw.githubusercontent.com/${slug}/main/agenticmail-skill.json`;
443
+
444
+ let manifest: CommunitySkillManifest;
445
+ try {
446
+ const res = await fetch(rawUrl);
447
+ if (!res.ok) {
448
+ // Try master branch
449
+ const res2 = await fetch(rawUrl.replace('/main/', '/master/'));
450
+ if (!res2.ok) throw new Error(`Could not fetch manifest from ${slug} (tried main and master branches)`);
451
+ manifest = await res2.json() as CommunitySkillManifest;
452
+ } else {
453
+ manifest = await res.json() as CommunitySkillManifest;
454
+ }
455
+ } catch (err: any) {
456
+ throw new Error(`Failed to fetch manifest: ${err.message}`);
457
+ }
458
+
459
+ // Ensure repository is set
460
+ manifest.repository = manifest.repository || `https://github.com/${slug}`;
461
+
462
+ return this.publish(manifest);
463
+ }
464
+
465
+ // ── Remote Registry Sync ─────────────────────────────
466
+
467
+ /**
468
+ * Sync skills from the central GitHub repo (agenticmail/enterprise).
469
+ * Fetches community-skills/index.json which lists all available skills,
470
+ * then fetches each skill's manifest and publishes it locally.
471
+ *
472
+ * This is how deployed instances get new community skills without
473
+ * needing an npm update or server restart.
474
+ */
475
+ async syncFromRemote(): Promise<{
476
+ synced: number;
477
+ errors: Array<{ skillId: string; error: string }>;
478
+ }> {
479
+ const baseUrl = `https://raw.githubusercontent.com/${this.registryRepo}/${this.registryBranch}`;
480
+ const indexUrl = `${baseUrl}/community-skills/index.json`;
481
+
482
+ let skillIds: string[];
483
+ try {
484
+ const res = await fetch(indexUrl, { signal: AbortSignal.timeout(10000) });
485
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
486
+ const data = await res.json() as { skills: Array<{ id: string; version: string }> };
487
+ skillIds = (data.skills || []).map((s: any) => s.id);
488
+ } catch (err: any) {
489
+ // If no index.json exists yet, nothing to sync
490
+ return { synced: 0, errors: [{ skillId: '_index', error: `Cannot fetch index: ${err.message}` }] };
491
+ }
492
+
493
+ let synced = 0;
494
+ const errors: Array<{ skillId: string; error: string }> = [];
495
+
496
+ for (const skillId of skillIds) {
497
+ try {
498
+ // Check if we already have this skill at the same or newer version
499
+ const existing = this.index.get(skillId);
500
+ const manifestUrl = `${baseUrl}/community-skills/${skillId}/agenticmail-skill.json`;
501
+
502
+ const res = await fetch(manifestUrl, { signal: AbortSignal.timeout(10000) });
503
+ if (!res.ok) {
504
+ errors.push({ skillId, error: `HTTP ${res.status}` });
505
+ continue;
506
+ }
507
+
508
+ const manifest = await res.json() as CommunitySkillManifest;
509
+
510
+ // Skip if we already have the same version
511
+ if (existing && existing.version === manifest.version) continue;
512
+
513
+ const validation = validateSkillManifest(manifest);
514
+ if (!validation.valid) {
515
+ errors.push({ skillId, error: validation.errors.join('; ') });
516
+ continue;
517
+ }
518
+
519
+ await this.publish(manifest);
520
+ synced++;
521
+ } catch (err: any) {
522
+ errors.push({ skillId, error: err.message });
523
+ }
524
+ }
525
+
526
+ this.lastSyncAt = new Date().toISOString();
527
+ return { synced, errors };
528
+ }
529
+
530
+ /**
531
+ * Start periodic background sync from the remote registry.
532
+ * Default: every 6 hours.
533
+ */
534
+ startPeriodicSync(intervalMs: number = DEFAULT_SYNC_INTERVAL_MS): void {
535
+ this.stopPeriodicSync();
536
+ // Do an initial sync after a short delay (let the server finish booting)
537
+ setTimeout(() => {
538
+ this.syncFromRemote().then(({ synced, errors }) => {
539
+ if (synced > 0) console.log(`[community] Remote sync: ${synced} new skills`);
540
+ if (errors.length > 0 && errors[0]?.skillId !== '_index') {
541
+ console.warn(`[community] Remote sync: ${errors.length} errors`);
542
+ }
543
+ }).catch(() => {});
544
+ }, 15000);
545
+
546
+ this.syncTimer = setInterval(() => {
547
+ this.syncFromRemote().then(({ synced }) => {
548
+ if (synced > 0) console.log(`[community] Periodic sync: ${synced} new skills`);
549
+ }).catch(() => {});
550
+ }, intervalMs);
551
+
552
+ // Don't block process exit
553
+ if (this.syncTimer && typeof this.syncTimer === 'object' && 'unref' in this.syncTimer) {
554
+ this.syncTimer.unref();
555
+ }
556
+ }
557
+
558
+ stopPeriodicSync(): void {
559
+ if (this.syncTimer) {
560
+ clearInterval(this.syncTimer);
561
+ this.syncTimer = undefined;
562
+ }
563
+ }
564
+
565
+ getLastSyncAt(): string | undefined {
566
+ return this.lastSyncAt;
567
+ }
568
+
569
+ // ── Stats ─────────────────────────────────────────────
570
+
571
+ getStats(): { totalSkills: number; verified: number; featured: number; categories: number; totalDownloads: number; lastSyncAt?: string; registryRepo: string } {
572
+ const all = Array.from(this.index.values());
573
+ const categories = new Set(all.map(s => s.category).filter(Boolean));
574
+ return {
575
+ totalSkills: all.length,
576
+ verified: all.filter(s => s.verified).length,
577
+ featured: all.filter(s => s.featured).length,
578
+ categories: categories.size,
579
+ totalDownloads: all.reduce((sum, s) => sum + (s.downloads || 0), 0),
580
+ lastSyncAt: this.lastSyncAt,
581
+ registryRepo: this.registryRepo,
582
+ };
583
+ }
584
+
585
+ // ── Permission Engine Integration ─────────────────────
586
+
587
+ private registerWithPermissions(skill: IndexedCommunitySkill): void {
588
+ const def: SkillDefinition = {
589
+ id: `community:${skill.id}`,
590
+ name: skill.name,
591
+ description: skill.description,
592
+ category: (skill.category || 'custom') as any,
593
+ risk: (skill.risk || 'medium') as any,
594
+ tools: skill.tools.map(t => ({
595
+ id: t.id,
596
+ name: t.name,
597
+ description: t.description,
598
+ category: (skill.category || 'custom') as any,
599
+ risk: (t.riskLevel || skill.risk || 'medium') as any,
600
+ skillId: `community:${skill.id}`,
601
+ parameters: t.parameters || {},
602
+ sideEffects: [],
603
+ })),
604
+ configSchema: {},
605
+ };
606
+ this.permissions.registerSkill(def);
607
+ }
608
+
609
+ // ── Seed Data ─────────────────────────────────────────
610
+
611
+ private async seedIndex(): Promise<void> {
612
+ const seeds: CommunitySkillManifest[] = [
613
+ {
614
+ id: 'github-issues',
615
+ name: 'GitHub Issues Manager',
616
+ description: 'Create, update, close, and triage GitHub issues. Supports labels, milestones, and assignees.',
617
+ version: '1.2.0',
618
+ author: 'agenticmail',
619
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/github-issues',
620
+ license: 'MIT',
621
+ category: 'development',
622
+ risk: 'medium',
623
+ icon: 'https://cdn.simpleicons.org/github/white',
624
+ tags: ['github', 'issues', 'project-management'],
625
+ tools: [
626
+ { id: 'github_create_issue', name: 'Create Issue', description: 'Create a new GitHub issue' },
627
+ { id: 'github_update_issue', name: 'Update Issue', description: 'Update an existing issue' },
628
+ { id: 'github_close_issue', name: 'Close Issue', description: 'Close a GitHub issue' },
629
+ { id: 'github_list_issues', name: 'List Issues', description: 'List issues with filters' },
630
+ ],
631
+ },
632
+ {
633
+ id: 'slack-notifications',
634
+ name: 'Slack Notifications',
635
+ description: 'Send messages, create channels, and manage notifications in Slack workspaces.',
636
+ version: '2.0.1',
637
+ author: 'agenticmail',
638
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/slack',
639
+ license: 'MIT',
640
+ category: 'communication',
641
+ risk: 'medium',
642
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%234A154B'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3ES%3C/text%3E%3C/svg%3E",
643
+ tags: ['slack', 'notifications', 'messaging'],
644
+ tools: [
645
+ { id: 'slack_send_message', name: 'Send Message', description: 'Send a message to a Slack channel' },
646
+ { id: 'slack_create_channel', name: 'Create Channel', description: 'Create a new Slack channel' },
647
+ { id: 'slack_list_channels', name: 'List Channels', description: 'List available channels' },
648
+ ],
649
+ },
650
+ {
651
+ id: 'jira-integration',
652
+ name: 'Jira Integration',
653
+ description: 'Full Jira integration for creating tickets, managing sprints, and tracking progress.',
654
+ version: '1.5.0',
655
+ author: 'agenticmail',
656
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/jira',
657
+ license: 'MIT',
658
+ category: 'productivity',
659
+ risk: 'medium',
660
+ icon: 'https://cdn.simpleicons.org/jira/0052CC',
661
+ tags: ['jira', 'project-management', 'agile'],
662
+ tools: [
663
+ { id: 'jira_create_ticket', name: 'Create Ticket', description: 'Create a Jira ticket' },
664
+ { id: 'jira_update_ticket', name: 'Update Ticket', description: 'Update an existing ticket' },
665
+ { id: 'jira_transition', name: 'Transition Issue', description: 'Move issue to new status' },
666
+ { id: 'jira_search', name: 'Search Issues', description: 'Search Jira issues with JQL' },
667
+ ],
668
+ },
669
+ {
670
+ id: 'stripe-billing',
671
+ name: 'Stripe Billing',
672
+ description: 'Manage Stripe customers, subscriptions, invoices, and payment methods.',
673
+ version: '1.0.0',
674
+ author: 'community',
675
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/stripe',
676
+ license: 'MIT',
677
+ category: 'finance',
678
+ risk: 'high',
679
+ icon: 'https://cdn.simpleicons.org/stripe/635BFF',
680
+ tags: ['stripe', 'billing', 'payments'],
681
+ tools: [
682
+ { id: 'stripe_create_customer', name: 'Create Customer', description: 'Create a Stripe customer' },
683
+ { id: 'stripe_create_invoice', name: 'Create Invoice', description: 'Generate an invoice' },
684
+ { id: 'stripe_list_subscriptions', name: 'List Subscriptions', description: 'List active subscriptions' },
685
+ ],
686
+ },
687
+ {
688
+ id: 'notion-sync',
689
+ name: 'Notion Sync',
690
+ description: 'Read, create, and update Notion pages and databases. Supports rich content blocks.',
691
+ version: '1.1.0',
692
+ author: 'community',
693
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/notion',
694
+ license: 'Apache-2.0',
695
+ category: 'productivity',
696
+ risk: 'low',
697
+ icon: 'https://cdn.simpleicons.org/notion/white',
698
+ tags: ['notion', 'wiki', 'documentation'],
699
+ tools: [
700
+ { id: 'notion_read_page', name: 'Read Page', description: 'Read a Notion page' },
701
+ { id: 'notion_create_page', name: 'Create Page', description: 'Create a new page' },
702
+ { id: 'notion_update_page', name: 'Update Page', description: 'Update page content' },
703
+ { id: 'notion_query_database', name: 'Query Database', description: 'Query a Notion database' },
704
+ ],
705
+ },
706
+ {
707
+ id: 'salesforce-crm',
708
+ name: 'Salesforce CRM',
709
+ description: 'Manage Salesforce records, opportunities, contacts, and run SOQL queries.',
710
+ version: '1.3.0',
711
+ author: 'community',
712
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/salesforce',
713
+ license: 'MIT',
714
+ category: 'sales',
715
+ risk: 'high',
716
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2300A1E0'/%3E%3Ctext x='16' y='21' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='12'%3ESF%3C/text%3E%3C/svg%3E",
717
+ tags: ['salesforce', 'crm', 'sales'],
718
+ tools: [
719
+ { id: 'sf_create_record', name: 'Create Record', description: 'Create a Salesforce record' },
720
+ { id: 'sf_update_record', name: 'Update Record', description: 'Update a Salesforce record' },
721
+ { id: 'sf_query', name: 'SOQL Query', description: 'Run a SOQL query' },
722
+ { id: 'sf_list_opportunities', name: 'List Opportunities', description: 'List open opportunities' },
723
+ ],
724
+ },
725
+
726
+ // ── Communication ─────────────────────────────────────
727
+ {
728
+ id: 'microsoft-teams',
729
+ name: 'Microsoft Teams',
730
+ description: 'Send messages, manage channels, and schedule meetings in Microsoft Teams.',
731
+ version: '1.1.0',
732
+ author: 'agenticmail',
733
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/microsoft-teams',
734
+ license: 'MIT',
735
+ category: 'communication',
736
+ risk: 'medium',
737
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%236264A7'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3ET%3C/text%3E%3C/svg%3E",
738
+ tags: ['teams', 'microsoft', 'messaging', 'meetings'],
739
+ tools: [
740
+ { id: 'teams_send_message', name: 'Send Message', description: 'Send a message to a Teams channel or chat' },
741
+ { id: 'teams_create_channel', name: 'Create Channel', description: 'Create a new channel in a team' },
742
+ { id: 'teams_schedule_meeting', name: 'Schedule Meeting', description: 'Schedule a Teams meeting with attendees' },
743
+ { id: 'teams_list_channels', name: 'List Channels', description: 'List channels in a team' },
744
+ ],
745
+ },
746
+ {
747
+ id: 'discord-bot',
748
+ name: 'Discord Bot',
749
+ description: 'Send messages, manage servers, and moderate channels in Discord.',
750
+ version: '1.0.0',
751
+ author: 'community',
752
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/discord',
753
+ license: 'MIT',
754
+ category: 'communication',
755
+ risk: 'medium',
756
+ icon: 'https://cdn.simpleicons.org/discord/5865F2',
757
+ tags: ['discord', 'chat', 'community', 'moderation'],
758
+ tools: [
759
+ { id: 'discord_send_message', name: 'Send Message', description: 'Send a message to a Discord channel' },
760
+ { id: 'discord_create_channel', name: 'Create Channel', description: 'Create a new channel in a server' },
761
+ { id: 'discord_manage_roles', name: 'Manage Roles', description: 'Assign or remove roles from members' },
762
+ ],
763
+ },
764
+ {
765
+ id: 'zoom-meetings',
766
+ name: 'Zoom Meetings',
767
+ description: 'Create, update, and manage Zoom meetings and webinars. Retrieve recordings and participant lists.',
768
+ version: '1.2.0',
769
+ author: 'agenticmail',
770
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/zoom',
771
+ license: 'MIT',
772
+ category: 'communication',
773
+ risk: 'low',
774
+ icon: 'https://cdn.simpleicons.org/zoom/0B5CFF',
775
+ tags: ['zoom', 'meetings', 'video', 'webinar'],
776
+ tools: [
777
+ { id: 'zoom_create_meeting', name: 'Create Meeting', description: 'Create a new Zoom meeting' },
778
+ { id: 'zoom_list_meetings', name: 'List Meetings', description: 'List upcoming meetings' },
779
+ { id: 'zoom_get_recording', name: 'Get Recording', description: 'Retrieve a meeting recording' },
780
+ { id: 'zoom_list_participants', name: 'List Participants', description: 'List participants of a meeting' },
781
+ ],
782
+ },
783
+ {
784
+ id: 'twilio-sms',
785
+ name: 'Twilio SMS & Voice',
786
+ description: 'Send SMS messages, make voice calls, and manage phone numbers with Twilio.',
787
+ version: '1.0.0',
788
+ author: 'agenticmail',
789
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/twilio',
790
+ license: 'MIT',
791
+ category: 'communication',
792
+ risk: 'high',
793
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%23F22F46'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3ET%3C/text%3E%3C/svg%3E",
794
+ tags: ['twilio', 'sms', 'voice', 'phone'],
795
+ tools: [
796
+ { id: 'twilio_send_sms', name: 'Send SMS', description: 'Send an SMS message to a phone number' },
797
+ { id: 'twilio_make_call', name: 'Make Call', description: 'Initiate an outbound voice call' },
798
+ { id: 'twilio_list_messages', name: 'List Messages', description: 'List recent SMS messages' },
799
+ ],
800
+ },
801
+ {
802
+ id: 'sendgrid-email',
803
+ name: 'SendGrid Email',
804
+ description: 'Send transactional and marketing emails via SendGrid. Manage contacts and templates.',
805
+ version: '1.1.0',
806
+ author: 'community',
807
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/sendgrid',
808
+ license: 'MIT',
809
+ category: 'communication',
810
+ risk: 'medium',
811
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%231A82E2'/%3E%3Ctext x='16' y='21' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='12'%3ESG%3C/text%3E%3C/svg%3E",
812
+ tags: ['sendgrid', 'email', 'transactional', 'marketing'],
813
+ tools: [
814
+ { id: 'sendgrid_send_email', name: 'Send Email', description: 'Send an email via SendGrid' },
815
+ { id: 'sendgrid_create_template', name: 'Create Template', description: 'Create a dynamic email template' },
816
+ { id: 'sendgrid_add_contact', name: 'Add Contact', description: 'Add a contact to a mailing list' },
817
+ { id: 'sendgrid_get_stats', name: 'Get Stats', description: 'Retrieve email delivery statistics' },
818
+ ],
819
+ },
820
+
821
+ // ── Development ───────────────────────────────────────
822
+ {
823
+ id: 'gitlab-ci',
824
+ name: 'GitLab CI/CD',
825
+ description: 'Manage GitLab merge requests, pipelines, and issues. Trigger CI/CD jobs and view logs.',
826
+ version: '1.3.0',
827
+ author: 'agenticmail',
828
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/gitlab',
829
+ license: 'MIT',
830
+ category: 'development',
831
+ risk: 'medium',
832
+ icon: 'https://cdn.simpleicons.org/gitlab/FC6D26',
833
+ tags: ['gitlab', 'ci-cd', 'merge-requests', 'pipelines'],
834
+ tools: [
835
+ { id: 'gitlab_create_mr', name: 'Create Merge Request', description: 'Create a new merge request' },
836
+ { id: 'gitlab_trigger_pipeline', name: 'Trigger Pipeline', description: 'Trigger a CI/CD pipeline' },
837
+ { id: 'gitlab_list_issues', name: 'List Issues', description: 'List project issues with filters' },
838
+ { id: 'gitlab_get_pipeline_status', name: 'Pipeline Status', description: 'Get status of a pipeline run' },
839
+ ],
840
+ },
841
+ {
842
+ id: 'bitbucket-repos',
843
+ name: 'Bitbucket Repos',
844
+ description: 'Manage Bitbucket repositories, pull requests, and branch permissions.',
845
+ version: '1.0.0',
846
+ author: 'community',
847
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/bitbucket',
848
+ license: 'Apache-2.0',
849
+ category: 'development',
850
+ risk: 'medium',
851
+ icon: 'https://cdn.simpleicons.org/bitbucket/0052CC',
852
+ tags: ['bitbucket', 'git', 'pull-requests', 'code-review'],
853
+ tools: [
854
+ { id: 'bitbucket_create_pr', name: 'Create Pull Request', description: 'Create a new pull request' },
855
+ { id: 'bitbucket_list_repos', name: 'List Repositories', description: 'List repositories in a workspace' },
856
+ { id: 'bitbucket_merge_pr', name: 'Merge Pull Request', description: 'Merge an approved pull request' },
857
+ ],
858
+ },
859
+ {
860
+ id: 'linear-tracker',
861
+ name: 'Linear Issue Tracker',
862
+ description: 'Create and manage Linear issues, projects, and cycles. Streamline engineering workflows.',
863
+ version: '1.1.0',
864
+ author: 'agenticmail',
865
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/linear',
866
+ license: 'MIT',
867
+ category: 'development',
868
+ risk: 'low',
869
+ icon: 'https://cdn.simpleicons.org/linear/5E6AD2',
870
+ tags: ['linear', 'issues', 'project-management', 'engineering'],
871
+ tools: [
872
+ { id: 'linear_create_issue', name: 'Create Issue', description: 'Create a new Linear issue' },
873
+ { id: 'linear_update_issue', name: 'Update Issue', description: 'Update issue status, assignee, or priority' },
874
+ { id: 'linear_list_projects', name: 'List Projects', description: 'List all projects in a team' },
875
+ { id: 'linear_search_issues', name: 'Search Issues', description: 'Search issues with filters' },
876
+ ],
877
+ },
878
+ {
879
+ id: 'circleci-pipelines',
880
+ name: 'CircleCI Pipelines',
881
+ description: 'Trigger builds, view pipeline status, and manage CircleCI workflows.',
882
+ version: '1.0.0',
883
+ author: 'community',
884
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/circleci',
885
+ license: 'MIT',
886
+ category: 'development',
887
+ risk: 'medium',
888
+ icon: 'https://cdn.simpleicons.org/circleci/343434',
889
+ tags: ['circleci', 'ci-cd', 'builds', 'automation'],
890
+ tools: [
891
+ { id: 'circleci_trigger_pipeline', name: 'Trigger Pipeline', description: 'Trigger a new pipeline run' },
892
+ { id: 'circleci_get_status', name: 'Get Pipeline Status', description: 'Check status of a pipeline' },
893
+ { id: 'circleci_list_artifacts', name: 'List Artifacts', description: 'List build artifacts' },
894
+ ],
895
+ },
896
+ {
897
+ id: 'vercel-deployments',
898
+ name: 'Vercel Deployments',
899
+ description: 'Deploy projects, manage domains, and monitor deployments on Vercel.',
900
+ version: '1.2.0',
901
+ author: 'agenticmail',
902
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/vercel',
903
+ license: 'MIT',
904
+ category: 'development',
905
+ risk: 'high',
906
+ icon: 'https://cdn.simpleicons.org/vercel/white',
907
+ tags: ['vercel', 'deployments', 'hosting', 'serverless'],
908
+ tools: [
909
+ { id: 'vercel_create_deployment', name: 'Create Deployment', description: 'Deploy a project to Vercel' },
910
+ { id: 'vercel_list_deployments', name: 'List Deployments', description: 'List recent deployments' },
911
+ { id: 'vercel_manage_domains', name: 'Manage Domains', description: 'Add or remove custom domains' },
912
+ { id: 'vercel_get_logs', name: 'Get Logs', description: 'Retrieve deployment and function logs' },
913
+ ],
914
+ },
915
+ {
916
+ id: 'github-actions',
917
+ name: 'GitHub Actions',
918
+ description: 'Trigger workflows, view run status, and manage GitHub Actions across repositories.',
919
+ version: '1.0.0',
920
+ author: 'agenticmail',
921
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/github-actions',
922
+ license: 'MIT',
923
+ category: 'development',
924
+ risk: 'medium',
925
+ icon: 'https://cdn.simpleicons.org/githubactions/2088FF',
926
+ tags: ['github', 'actions', 'ci-cd', 'workflows'],
927
+ tools: [
928
+ { id: 'gha_trigger_workflow', name: 'Trigger Workflow', description: 'Trigger a GitHub Actions workflow' },
929
+ { id: 'gha_list_runs', name: 'List Runs', description: 'List recent workflow runs' },
930
+ { id: 'gha_get_run_status', name: 'Get Run Status', description: 'Get status of a specific run' },
931
+ { id: 'gha_download_artifacts', name: 'Download Artifacts', description: 'Download artifacts from a run' },
932
+ ],
933
+ },
934
+
935
+ // ── Productivity ──────────────────────────────────────
936
+ {
937
+ id: 'asana-tasks',
938
+ name: 'Asana Tasks',
939
+ description: 'Create, assign, and track tasks in Asana. Manage projects, sections, and due dates.',
940
+ version: '1.4.0',
941
+ author: 'agenticmail',
942
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/asana',
943
+ license: 'MIT',
944
+ category: 'productivity',
945
+ risk: 'low',
946
+ icon: 'https://cdn.simpleicons.org/asana/F06A6A',
947
+ tags: ['asana', 'tasks', 'project-management', 'collaboration'],
948
+ tools: [
949
+ { id: 'asana_create_task', name: 'Create Task', description: 'Create a new task in a project' },
950
+ { id: 'asana_update_task', name: 'Update Task', description: 'Update task details, assignee, or due date' },
951
+ { id: 'asana_list_tasks', name: 'List Tasks', description: 'List tasks in a project or section' },
952
+ { id: 'asana_complete_task', name: 'Complete Task', description: 'Mark a task as completed' },
953
+ ],
954
+ },
955
+ {
956
+ id: 'monday-boards',
957
+ name: 'Monday.com Boards',
958
+ description: 'Manage boards, items, and columns in Monday.com. Automate status updates and notifications.',
959
+ version: '1.0.0',
960
+ author: 'community',
961
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/monday',
962
+ license: 'MIT',
963
+ category: 'productivity',
964
+ risk: 'low',
965
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%236C5CE7'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3EM%3C/text%3E%3C/svg%3E",
966
+ tags: ['monday', 'boards', 'project-management', 'workflow'],
967
+ tools: [
968
+ { id: 'monday_create_item', name: 'Create Item', description: 'Create a new item on a board' },
969
+ { id: 'monday_update_item', name: 'Update Item', description: 'Update column values of an item' },
970
+ { id: 'monday_list_boards', name: 'List Boards', description: 'List all boards in the workspace' },
971
+ ],
972
+ },
973
+ {
974
+ id: 'trello-cards',
975
+ name: 'Trello Cards',
976
+ description: 'Create and manage Trello cards, lists, and boards. Move cards across lists and add labels.',
977
+ version: '1.2.0',
978
+ author: 'agenticmail',
979
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/trello',
980
+ license: 'MIT',
981
+ category: 'productivity',
982
+ risk: 'low',
983
+ icon: 'https://cdn.simpleicons.org/trello/0052CC',
984
+ tags: ['trello', 'kanban', 'cards', 'project-management'],
985
+ tools: [
986
+ { id: 'trello_create_card', name: 'Create Card', description: 'Create a new card on a list' },
987
+ { id: 'trello_move_card', name: 'Move Card', description: 'Move a card to another list' },
988
+ { id: 'trello_add_label', name: 'Add Label', description: 'Add a label to a card' },
989
+ { id: 'trello_list_boards', name: 'List Boards', description: 'List all boards for a member' },
990
+ ],
991
+ },
992
+ {
993
+ id: 'confluence-wiki',
994
+ name: 'Confluence Wiki',
995
+ description: 'Create, edit, and search Confluence pages and spaces. Manage documentation and knowledge bases.',
996
+ version: '1.1.0',
997
+ author: 'agenticmail',
998
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/confluence',
999
+ license: 'MIT',
1000
+ category: 'productivity',
1001
+ risk: 'low',
1002
+ icon: 'https://cdn.simpleicons.org/confluence/172B4D',
1003
+ tags: ['confluence', 'wiki', 'documentation', 'knowledge-base'],
1004
+ tools: [
1005
+ { id: 'confluence_create_page', name: 'Create Page', description: 'Create a new Confluence page' },
1006
+ { id: 'confluence_update_page', name: 'Update Page', description: 'Update an existing page' },
1007
+ { id: 'confluence_search', name: 'Search Pages', description: 'Search pages using CQL' },
1008
+ { id: 'confluence_list_spaces', name: 'List Spaces', description: 'List all Confluence spaces' },
1009
+ ],
1010
+ },
1011
+ {
1012
+ id: 'airtable-bases',
1013
+ name: 'Airtable Bases',
1014
+ description: 'Read, create, and update records in Airtable bases. Query views and manage field configurations.',
1015
+ version: '1.0.0',
1016
+ author: 'community',
1017
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/airtable',
1018
+ license: 'MIT',
1019
+ category: 'productivity',
1020
+ risk: 'low',
1021
+ icon: 'https://cdn.simpleicons.org/airtable/18BFFF',
1022
+ tags: ['airtable', 'database', 'spreadsheet', 'no-code'],
1023
+ tools: [
1024
+ { id: 'airtable_list_records', name: 'List Records', description: 'List records from a table with optional filters' },
1025
+ { id: 'airtable_create_record', name: 'Create Record', description: 'Create a new record in a table' },
1026
+ { id: 'airtable_update_record', name: 'Update Record', description: 'Update fields on an existing record' },
1027
+ ],
1028
+ },
1029
+ {
1030
+ id: 'todoist-tasks',
1031
+ name: 'Todoist Tasks',
1032
+ description: 'Create, complete, and organize tasks in Todoist. Manage projects, labels, and due dates.',
1033
+ version: '1.0.0',
1034
+ author: 'community',
1035
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/todoist',
1036
+ license: 'MIT',
1037
+ category: 'productivity',
1038
+ risk: 'low',
1039
+ icon: 'https://cdn.simpleicons.org/todoist/E44332',
1040
+ tags: ['todoist', 'tasks', 'to-do', 'personal-productivity'],
1041
+ tools: [
1042
+ { id: 'todoist_create_task', name: 'Create Task', description: 'Create a new task in Todoist' },
1043
+ { id: 'todoist_complete_task', name: 'Complete Task', description: 'Mark a task as completed' },
1044
+ { id: 'todoist_list_tasks', name: 'List Tasks', description: 'List tasks with filters' },
1045
+ { id: 'todoist_list_projects', name: 'List Projects', description: 'List all projects' },
1046
+ ],
1047
+ },
1048
+
1049
+ // ── Analytics & Data ──────────────────────────────────
1050
+ {
1051
+ id: 'google-analytics',
1052
+ name: 'Google Analytics',
1053
+ description: 'Retrieve website analytics data from Google Analytics 4. Query reports, metrics, and dimensions.',
1054
+ version: '1.1.0',
1055
+ author: 'agenticmail',
1056
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/google-analytics',
1057
+ license: 'MIT',
1058
+ category: 'analytics',
1059
+ risk: 'low',
1060
+ icon: 'https://cdn.simpleicons.org/googleanalytics/E37400',
1061
+ tags: ['google', 'analytics', 'web-analytics', 'reporting'],
1062
+ tools: [
1063
+ { id: 'ga_run_report', name: 'Run Report', description: 'Run an analytics report with metrics and dimensions' },
1064
+ { id: 'ga_get_realtime', name: 'Get Realtime Data', description: 'Get real-time active users and events' },
1065
+ { id: 'ga_list_properties', name: 'List Properties', description: 'List all GA4 properties' },
1066
+ ],
1067
+ },
1068
+ {
1069
+ id: 'mixpanel-analytics',
1070
+ name: 'Mixpanel Analytics',
1071
+ description: 'Query Mixpanel events, funnels, and user cohorts. Track product analytics and retention.',
1072
+ version: '1.0.0',
1073
+ author: 'community',
1074
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/mixpanel',
1075
+ license: 'MIT',
1076
+ category: 'analytics',
1077
+ risk: 'low',
1078
+ icon: 'https://cdn.simpleicons.org/mixpanel/7856FF',
1079
+ tags: ['mixpanel', 'analytics', 'product-analytics', 'events'],
1080
+ tools: [
1081
+ { id: 'mixpanel_query_events', name: 'Query Events', description: 'Query event data with filters and breakdowns' },
1082
+ { id: 'mixpanel_get_funnel', name: 'Get Funnel', description: 'Retrieve funnel conversion data' },
1083
+ { id: 'mixpanel_get_retention', name: 'Get Retention', description: 'Get user retention cohort data' },
1084
+ ],
1085
+ },
1086
+ {
1087
+ id: 'segment-cdp',
1088
+ name: 'Segment CDP',
1089
+ description: 'Manage Segment sources, destinations, and tracking plans. Send events and manage user profiles.',
1090
+ version: '1.0.0',
1091
+ author: 'agenticmail',
1092
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/segment',
1093
+ license: 'MIT',
1094
+ category: 'data',
1095
+ risk: 'medium',
1096
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2352BD94'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3ES%3C/text%3E%3C/svg%3E",
1097
+ tags: ['segment', 'cdp', 'data-pipeline', 'tracking'],
1098
+ tools: [
1099
+ { id: 'segment_track_event', name: 'Track Event', description: 'Send a track event to Segment' },
1100
+ { id: 'segment_identify_user', name: 'Identify User', description: 'Identify a user with traits' },
1101
+ { id: 'segment_list_sources', name: 'List Sources', description: 'List all configured sources' },
1102
+ { id: 'segment_list_destinations', name: 'List Destinations', description: 'List all configured destinations' },
1103
+ ],
1104
+ },
1105
+ {
1106
+ id: 'datadog-monitoring',
1107
+ name: 'Datadog Monitoring',
1108
+ description: 'Query metrics, create monitors, and manage alerts in Datadog. Search logs and APM traces.',
1109
+ version: '1.2.0',
1110
+ author: 'agenticmail',
1111
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/datadog',
1112
+ license: 'MIT',
1113
+ category: 'analytics',
1114
+ risk: 'medium',
1115
+ icon: 'https://cdn.simpleicons.org/datadog/632CA6',
1116
+ tags: ['datadog', 'monitoring', 'observability', 'alerts'],
1117
+ tools: [
1118
+ { id: 'datadog_get_metrics', name: 'Get Metrics', description: 'Query time-series metrics data' },
1119
+ { id: 'datadog_create_monitor', name: 'Create Monitor', description: 'Create a new alerting monitor' },
1120
+ { id: 'datadog_list_alerts', name: 'List Alerts', description: 'List currently triggered alerts' },
1121
+ { id: 'datadog_search_logs', name: 'Search Logs', description: 'Search logs with query filters' },
1122
+ ],
1123
+ },
1124
+ {
1125
+ id: 'snowflake-warehouse',
1126
+ name: 'Snowflake Data Warehouse',
1127
+ description: 'Run SQL queries, manage warehouses, and list databases in Snowflake.',
1128
+ version: '1.0.0',
1129
+ author: 'community',
1130
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/snowflake',
1131
+ license: 'Apache-2.0',
1132
+ category: 'data',
1133
+ risk: 'high',
1134
+ icon: 'https://cdn.simpleicons.org/snowflake/29B5E8',
1135
+ tags: ['snowflake', 'data-warehouse', 'sql', 'analytics'],
1136
+ tools: [
1137
+ { id: 'snowflake_run_query', name: 'Run Query', description: 'Execute a SQL query on Snowflake' },
1138
+ { id: 'snowflake_list_databases', name: 'List Databases', description: 'List available databases and schemas' },
1139
+ { id: 'snowflake_get_query_history', name: 'Query History', description: 'View recent query execution history' },
1140
+ ],
1141
+ },
1142
+
1143
+ // ── Cloud & Infrastructure ────────────────────────────
1144
+ {
1145
+ id: 'aws-services',
1146
+ name: 'AWS Services',
1147
+ description: 'Manage AWS resources including S3 buckets, Lambda functions, and EC2 instances.',
1148
+ version: '1.3.0',
1149
+ author: 'agenticmail',
1150
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/aws',
1151
+ license: 'Apache-2.0',
1152
+ category: 'cloud',
1153
+ risk: 'critical',
1154
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%23FF9900'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3EA%3C/text%3E%3C/svg%3E",
1155
+ tags: ['aws', 'cloud', 's3', 'lambda'],
1156
+ tools: [
1157
+ { id: 'aws_list_s3_buckets', name: 'List S3 Buckets', description: 'List all S3 buckets in the account' },
1158
+ { id: 'aws_invoke_lambda', name: 'Invoke Lambda', description: 'Invoke a Lambda function' },
1159
+ { id: 'aws_list_ec2', name: 'List EC2 Instances', description: 'List running EC2 instances' },
1160
+ { id: 'aws_get_cloudwatch_metrics', name: 'CloudWatch Metrics', description: 'Retrieve CloudWatch metrics' },
1161
+ ],
1162
+ },
1163
+ {
1164
+ id: 'google-cloud',
1165
+ name: 'Google Cloud Platform',
1166
+ description: 'Manage GCP resources including Cloud Storage, Compute Engine, and BigQuery.',
1167
+ version: '1.1.0',
1168
+ author: 'agenticmail',
1169
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/gcp',
1170
+ license: 'Apache-2.0',
1171
+ category: 'cloud',
1172
+ risk: 'critical',
1173
+ icon: 'https://cdn.simpleicons.org/googlecloud/4285F4',
1174
+ tags: ['gcp', 'cloud', 'bigquery', 'compute'],
1175
+ tools: [
1176
+ { id: 'gcp_list_buckets', name: 'List Buckets', description: 'List Cloud Storage buckets' },
1177
+ { id: 'gcp_run_bigquery', name: 'Run BigQuery', description: 'Execute a BigQuery SQL query' },
1178
+ { id: 'gcp_list_instances', name: 'List Instances', description: 'List Compute Engine instances' },
1179
+ ],
1180
+ },
1181
+ {
1182
+ id: 'cloudflare-cdn',
1183
+ name: 'Cloudflare',
1184
+ description: 'Manage Cloudflare DNS records, firewall rules, and Workers. Purge cache and view analytics.',
1185
+ version: '1.0.0',
1186
+ author: 'community',
1187
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/cloudflare',
1188
+ license: 'MIT',
1189
+ category: 'cloud',
1190
+ risk: 'high',
1191
+ icon: 'https://cdn.simpleicons.org/cloudflare/F38020',
1192
+ tags: ['cloudflare', 'cdn', 'dns', 'workers'],
1193
+ tools: [
1194
+ { id: 'cf_list_dns_records', name: 'List DNS Records', description: 'List DNS records for a zone' },
1195
+ { id: 'cf_create_dns_record', name: 'Create DNS Record', description: 'Create a new DNS record' },
1196
+ { id: 'cf_purge_cache', name: 'Purge Cache', description: 'Purge cached content for a zone' },
1197
+ { id: 'cf_list_workers', name: 'List Workers', description: 'List deployed Cloudflare Workers' },
1198
+ ],
1199
+ },
1200
+ {
1201
+ id: 'docker-containers',
1202
+ name: 'Docker Containers',
1203
+ description: 'Manage Docker containers, images, and volumes. Start, stop, and inspect running containers.',
1204
+ version: '1.0.0',
1205
+ author: 'community',
1206
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/docker',
1207
+ license: 'Apache-2.0',
1208
+ category: 'cloud',
1209
+ risk: 'high',
1210
+ icon: 'https://cdn.simpleicons.org/docker/2496ED',
1211
+ tags: ['docker', 'containers', 'devops', 'images'],
1212
+ tools: [
1213
+ { id: 'docker_list_containers', name: 'List Containers', description: 'List running and stopped containers' },
1214
+ { id: 'docker_start_container', name: 'Start Container', description: 'Start a stopped container' },
1215
+ { id: 'docker_stop_container', name: 'Stop Container', description: 'Stop a running container' },
1216
+ { id: 'docker_inspect', name: 'Inspect Container', description: 'Get detailed container information' },
1217
+ ],
1218
+ },
1219
+ {
1220
+ id: 'kubernetes-cluster',
1221
+ name: 'Kubernetes Cluster',
1222
+ description: 'Manage Kubernetes pods, deployments, and services. Scale workloads and view cluster status.',
1223
+ version: '1.1.0',
1224
+ author: 'agenticmail',
1225
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/kubernetes',
1226
+ license: 'Apache-2.0',
1227
+ category: 'cloud',
1228
+ risk: 'critical',
1229
+ icon: 'https://cdn.simpleicons.org/kubernetes/326CE5',
1230
+ tags: ['kubernetes', 'k8s', 'orchestration', 'containers'],
1231
+ tools: [
1232
+ { id: 'k8s_list_pods', name: 'List Pods', description: 'List pods in a namespace' },
1233
+ { id: 'k8s_scale_deployment', name: 'Scale Deployment', description: 'Scale a deployment up or down' },
1234
+ { id: 'k8s_get_logs', name: 'Get Pod Logs', description: 'Retrieve logs from a pod' },
1235
+ { id: 'k8s_list_services', name: 'List Services', description: 'List services in a namespace' },
1236
+ ],
1237
+ },
1238
+ {
1239
+ id: 'terraform-iac',
1240
+ name: 'Terraform IaC',
1241
+ description: 'Plan, apply, and manage Terraform infrastructure. View state and manage workspaces.',
1242
+ version: '1.0.0',
1243
+ author: 'community',
1244
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/terraform',
1245
+ license: 'Apache-2.0',
1246
+ category: 'cloud',
1247
+ risk: 'critical',
1248
+ icon: 'https://cdn.simpleicons.org/terraform/844FBA',
1249
+ tags: ['terraform', 'iac', 'infrastructure', 'devops'],
1250
+ tools: [
1251
+ { id: 'tf_plan', name: 'Terraform Plan', description: 'Generate and show an execution plan' },
1252
+ { id: 'tf_apply', name: 'Terraform Apply', description: 'Apply the planned changes to infrastructure' },
1253
+ { id: 'tf_list_state', name: 'List State', description: 'List resources in the current state' },
1254
+ ],
1255
+ },
1256
+
1257
+ // ── CRM & Sales ───────────────────────────────────────
1258
+ {
1259
+ id: 'hubspot-crm',
1260
+ name: 'HubSpot CRM',
1261
+ description: 'Manage HubSpot contacts, deals, companies, and tickets. Automate sales and marketing workflows.',
1262
+ version: '1.2.0',
1263
+ author: 'agenticmail',
1264
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/hubspot',
1265
+ license: 'MIT',
1266
+ category: 'sales',
1267
+ risk: 'medium',
1268
+ icon: 'https://cdn.simpleicons.org/hubspot/FF7A59',
1269
+ tags: ['hubspot', 'crm', 'sales', 'marketing'],
1270
+ tools: [
1271
+ { id: 'hubspot_create_contact', name: 'Create Contact', description: 'Create a new contact in HubSpot' },
1272
+ { id: 'hubspot_update_deal', name: 'Update Deal', description: 'Update a deal stage or properties' },
1273
+ { id: 'hubspot_list_companies', name: 'List Companies', description: 'List companies with filters' },
1274
+ { id: 'hubspot_search_contacts', name: 'Search Contacts', description: 'Search contacts by name, email, or properties' },
1275
+ ],
1276
+ },
1277
+ {
1278
+ id: 'pipedrive-deals',
1279
+ name: 'Pipedrive Deals',
1280
+ description: 'Manage Pipedrive deals, contacts, and organizations. Track sales pipeline and activities.',
1281
+ version: '1.0.0',
1282
+ author: 'community',
1283
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/pipedrive',
1284
+ license: 'MIT',
1285
+ category: 'sales',
1286
+ risk: 'medium',
1287
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%23017737'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3EP%3C/text%3E%3C/svg%3E",
1288
+ tags: ['pipedrive', 'crm', 'sales', 'pipeline'],
1289
+ tools: [
1290
+ { id: 'pipedrive_create_deal', name: 'Create Deal', description: 'Create a new deal in Pipedrive' },
1291
+ { id: 'pipedrive_update_deal', name: 'Update Deal', description: 'Update deal stage or value' },
1292
+ { id: 'pipedrive_list_activities', name: 'List Activities', description: 'List scheduled and completed activities' },
1293
+ ],
1294
+ },
1295
+ {
1296
+ id: 'intercom-support',
1297
+ name: 'Intercom Messenger',
1298
+ description: 'Manage Intercom conversations, contacts, and articles. Automate customer communication.',
1299
+ version: '1.1.0',
1300
+ author: 'agenticmail',
1301
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/intercom',
1302
+ license: 'MIT',
1303
+ category: 'customer-support',
1304
+ risk: 'medium',
1305
+ icon: 'https://cdn.simpleicons.org/intercom/6AFDEF',
1306
+ tags: ['intercom', 'support', 'messaging', 'customer-success'],
1307
+ tools: [
1308
+ { id: 'intercom_reply_conversation', name: 'Reply to Conversation', description: 'Send a reply in an Intercom conversation' },
1309
+ { id: 'intercom_create_contact', name: 'Create Contact', description: 'Create a new lead or user contact' },
1310
+ { id: 'intercom_search_articles', name: 'Search Articles', description: 'Search help center articles' },
1311
+ { id: 'intercom_list_conversations', name: 'List Conversations', description: 'List open conversations' },
1312
+ ],
1313
+ },
1314
+ {
1315
+ id: 'zendesk-tickets',
1316
+ name: 'Zendesk Tickets',
1317
+ description: 'Create, update, and resolve Zendesk support tickets. Manage users, organizations, and macros.',
1318
+ version: '1.3.0',
1319
+ author: 'agenticmail',
1320
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/zendesk',
1321
+ license: 'MIT',
1322
+ category: 'customer-support',
1323
+ risk: 'medium',
1324
+ icon: 'https://cdn.simpleicons.org/zendesk/03363D',
1325
+ tags: ['zendesk', 'support', 'tickets', 'helpdesk'],
1326
+ tools: [
1327
+ { id: 'zendesk_create_ticket', name: 'Create Ticket', description: 'Create a new support ticket' },
1328
+ { id: 'zendesk_update_ticket', name: 'Update Ticket', description: 'Update ticket status, priority, or assignee' },
1329
+ { id: 'zendesk_search_tickets', name: 'Search Tickets', description: 'Search tickets with filters' },
1330
+ { id: 'zendesk_list_users', name: 'List Users', description: 'List end users and agents' },
1331
+ ],
1332
+ },
1333
+
1334
+ // ── Marketing ─────────────────────────────────────────
1335
+ {
1336
+ id: 'mailchimp-campaigns',
1337
+ name: 'Mailchimp Campaigns',
1338
+ description: 'Create and send Mailchimp email campaigns. Manage audiences, segments, and templates.',
1339
+ version: '1.0.0',
1340
+ author: 'community',
1341
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/mailchimp',
1342
+ license: 'MIT',
1343
+ category: 'marketing',
1344
+ risk: 'medium',
1345
+ icon: 'https://cdn.simpleicons.org/mailchimp/FFE01B',
1346
+ tags: ['mailchimp', 'email-marketing', 'campaigns', 'newsletters'],
1347
+ tools: [
1348
+ { id: 'mailchimp_create_campaign', name: 'Create Campaign', description: 'Create a new email campaign' },
1349
+ { id: 'mailchimp_send_campaign', name: 'Send Campaign', description: 'Send a campaign to an audience' },
1350
+ { id: 'mailchimp_add_subscriber', name: 'Add Subscriber', description: 'Add a subscriber to an audience' },
1351
+ { id: 'mailchimp_get_report', name: 'Get Report', description: 'Get campaign performance report' },
1352
+ ],
1353
+ },
1354
+ {
1355
+ id: 'google-ads',
1356
+ name: 'Google Ads',
1357
+ description: 'Manage Google Ads campaigns, ad groups, and keywords. Retrieve performance reports and metrics.',
1358
+ version: '1.0.0',
1359
+ author: 'agenticmail',
1360
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/google-ads',
1361
+ license: 'MIT',
1362
+ category: 'marketing',
1363
+ risk: 'high',
1364
+ icon: 'https://cdn.simpleicons.org/googleads/4285F4',
1365
+ tags: ['google-ads', 'advertising', 'ppc', 'sem'],
1366
+ tools: [
1367
+ { id: 'gads_list_campaigns', name: 'List Campaigns', description: 'List all campaigns in the account' },
1368
+ { id: 'gads_get_performance', name: 'Get Performance', description: 'Get campaign performance metrics' },
1369
+ { id: 'gads_update_budget', name: 'Update Budget', description: 'Update a campaign budget' },
1370
+ ],
1371
+ },
1372
+
1373
+ // ── Finance ───────────────────────────────────────────
1374
+ {
1375
+ id: 'quickbooks-accounting',
1376
+ name: 'QuickBooks Accounting',
1377
+ description: 'Manage QuickBooks invoices, expenses, and customers. Generate financial reports and summaries.',
1378
+ version: '1.0.0',
1379
+ author: 'community',
1380
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/quickbooks',
1381
+ license: 'MIT',
1382
+ category: 'finance',
1383
+ risk: 'high',
1384
+ icon: 'https://cdn.simpleicons.org/quickbooks/2CA01C',
1385
+ tags: ['quickbooks', 'accounting', 'invoices', 'finance'],
1386
+ tools: [
1387
+ { id: 'qb_create_invoice', name: 'Create Invoice', description: 'Create a new invoice for a customer' },
1388
+ { id: 'qb_list_expenses', name: 'List Expenses', description: 'List recent expenses and purchases' },
1389
+ { id: 'qb_get_report', name: 'Get Report', description: 'Generate a financial report (P&L, balance sheet)' },
1390
+ { id: 'qb_list_customers', name: 'List Customers', description: 'List all customers' },
1391
+ ],
1392
+ },
1393
+
1394
+ // ── Design ────────────────────────────────────────────
1395
+ {
1396
+ id: 'figma-design',
1397
+ name: 'Figma Design',
1398
+ description: 'Export assets, list files, and retrieve comments from Figma projects. Manage design components.',
1399
+ version: '1.1.0',
1400
+ author: 'agenticmail',
1401
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/figma',
1402
+ license: 'MIT',
1403
+ category: 'design',
1404
+ risk: 'low',
1405
+ icon: 'https://cdn.simpleicons.org/figma/F24E1E',
1406
+ tags: ['figma', 'design', 'assets', 'components'],
1407
+ tools: [
1408
+ { id: 'figma_export_assets', name: 'Export Assets', description: 'Export images and assets from a Figma file' },
1409
+ { id: 'figma_list_files', name: 'List Files', description: 'List files in a Figma project' },
1410
+ { id: 'figma_get_comments', name: 'Get Comments', description: 'Retrieve comments on a Figma file' },
1411
+ { id: 'figma_create_component', name: 'Create Component', description: 'Create a reusable design component' },
1412
+ ],
1413
+ },
1414
+ {
1415
+ id: 'canva-design',
1416
+ name: 'Canva Design',
1417
+ description: 'Create designs, manage templates, and export assets from Canva. Automate social media graphics.',
1418
+ version: '1.0.0',
1419
+ author: 'community',
1420
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/canva',
1421
+ license: 'MIT',
1422
+ category: 'design',
1423
+ risk: 'low',
1424
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2300C4CC'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3EC%3C/text%3E%3C/svg%3E",
1425
+ tags: ['canva', 'design', 'graphics', 'templates'],
1426
+ tools: [
1427
+ { id: 'canva_create_design', name: 'Create Design', description: 'Create a new design from a template' },
1428
+ { id: 'canva_export_design', name: 'Export Design', description: 'Export a design as PNG, PDF, or SVG' },
1429
+ { id: 'canva_list_templates', name: 'List Templates', description: 'List available design templates' },
1430
+ ],
1431
+ },
1432
+
1433
+ // ── Storage & Docs ────────────────────────────────────
1434
+ {
1435
+ id: 'dropbox-storage',
1436
+ name: 'Dropbox Storage',
1437
+ description: 'Upload, download, and manage files in Dropbox. Share folders and create file requests.',
1438
+ version: '1.0.0',
1439
+ author: 'community',
1440
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/dropbox',
1441
+ license: 'MIT',
1442
+ category: 'productivity',
1443
+ risk: 'medium',
1444
+ icon: 'https://cdn.simpleicons.org/dropbox/0061FF',
1445
+ tags: ['dropbox', 'storage', 'files', 'sharing'],
1446
+ tools: [
1447
+ { id: 'dropbox_upload_file', name: 'Upload File', description: 'Upload a file to Dropbox' },
1448
+ { id: 'dropbox_download_file', name: 'Download File', description: 'Download a file from Dropbox' },
1449
+ { id: 'dropbox_list_files', name: 'List Files', description: 'List files in a folder' },
1450
+ { id: 'dropbox_share_folder', name: 'Share Folder', description: 'Share a folder with collaborators' },
1451
+ ],
1452
+ },
1453
+ {
1454
+ id: 'google-drive',
1455
+ name: 'Google Drive',
1456
+ description: 'Upload, download, and organize files in Google Drive. Manage sharing permissions and folders.',
1457
+ version: '1.2.0',
1458
+ author: 'agenticmail',
1459
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/google-drive',
1460
+ license: 'MIT',
1461
+ category: 'productivity',
1462
+ risk: 'medium',
1463
+ icon: 'https://cdn.simpleicons.org/googledrive/4285F4',
1464
+ tags: ['google-drive', 'storage', 'files', 'collaboration'],
1465
+ tools: [
1466
+ { id: 'gdrive_upload_file', name: 'Upload File', description: 'Upload a file to Google Drive' },
1467
+ { id: 'gdrive_list_files', name: 'List Files', description: 'List files and folders' },
1468
+ { id: 'gdrive_share_file', name: 'Share File', description: 'Share a file or folder with users' },
1469
+ { id: 'gdrive_search_files', name: 'Search Files', description: 'Search files by name or content' },
1470
+ ],
1471
+ },
1472
+ {
1473
+ id: 'docusign-esign',
1474
+ name: 'DocuSign eSignature',
1475
+ description: 'Send documents for electronic signature, track envelope status, and manage templates.',
1476
+ version: '1.0.0',
1477
+ author: 'agenticmail',
1478
+ repository: 'https://github.com/agenticmail/enterprise/tree/main/community-skills/docusign',
1479
+ license: 'MIT',
1480
+ category: 'legal',
1481
+ risk: 'high',
1482
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%23FFCD00'/%3E%3Ctext x='16' y='22' text-anchor='middle' fill='white' font-family='system-ui,sans-serif' font-weight='700' font-size='16'%3ED%3C/text%3E%3C/svg%3E",
1483
+ tags: ['docusign', 'esignature', 'contracts', 'legal'],
1484
+ tools: [
1485
+ { id: 'docusign_send_envelope', name: 'Send Envelope', description: 'Send a document for electronic signature' },
1486
+ { id: 'docusign_get_status', name: 'Get Envelope Status', description: 'Check the status of a sent envelope' },
1487
+ { id: 'docusign_list_templates', name: 'List Templates', description: 'List available signing templates' },
1488
+ ],
1489
+ },
1490
+ ];
1491
+
1492
+ for (const seed of seeds) {
1493
+ const existing = this.index.get(seed.id);
1494
+ const skill: IndexedCommunitySkill = {
1495
+ ...(existing || {}),
1496
+ ...seed,
1497
+ downloads: existing?.downloads ?? (Math.floor(Math.random() * 500) + 50),
1498
+ rating: existing?.rating ?? (Math.round((3.5 + Math.random() * 1.5) * 10) / 10),
1499
+ ratingCount: existing?.ratingCount ?? (Math.floor(Math.random() * 30) + 5),
1500
+ verified: seed.author === 'agenticmail',
1501
+ featured: ['github-issues', 'slack-notifications', 'hubspot-crm', 'datadog-monitoring', 'asana-tasks'].includes(seed.id),
1502
+ createdAt: existing?.createdAt || new Date().toISOString(),
1503
+ updatedAt: new Date().toISOString(),
1504
+ };
1505
+ this.index.set(skill.id, skill);
1506
+ if (this.engineDb) await this.engineDb.upsertCommunitySkill(skill);
1507
+ }
1508
+ }
1509
+ }