@agenticmail/enterprise 0.3.2 → 0.4.0

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 (1106) 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/CLAUDE.md +40 -0
  6. package/CONTRIBUTING.md +254 -0
  7. package/DEPLOYMENT.md +1031 -0
  8. package/README.md +355 -174
  9. package/community-skills/_template/README.md +31 -0
  10. package/community-skills/_template/agenticmail-skill.json +48 -0
  11. package/community-skills/activecampaign/README.md +21 -0
  12. package/community-skills/activecampaign/agenticmail-skill.json +56 -0
  13. package/community-skills/adobe-sign/README.md +21 -0
  14. package/community-skills/adobe-sign/agenticmail-skill.json +72 -0
  15. package/community-skills/adp/README.md +21 -0
  16. package/community-skills/adp/agenticmail-skill.json +65 -0
  17. package/community-skills/airtable-bases/README.md +29 -0
  18. package/community-skills/airtable-bases/agenticmail-skill.json +69 -0
  19. package/community-skills/apollo-io/README.md +21 -0
  20. package/community-skills/apollo-io/agenticmail-skill.json +50 -0
  21. package/community-skills/asana-tasks/README.md +30 -0
  22. package/community-skills/asana-tasks/agenticmail-skill.json +70 -0
  23. package/community-skills/auth0/README.md +21 -0
  24. package/community-skills/auth0/agenticmail-skill.json +56 -0
  25. package/community-skills/aws-services/README.md +38 -0
  26. package/community-skills/aws-services/agenticmail-skill.json +70 -0
  27. package/community-skills/azure-devops/README.md +21 -0
  28. package/community-skills/azure-devops/agenticmail-skill.json +57 -0
  29. package/community-skills/bamboohr/README.md +21 -0
  30. package/community-skills/bamboohr/agenticmail-skill.json +56 -0
  31. package/community-skills/basecamp/README.md +21 -0
  32. package/community-skills/basecamp/agenticmail-skill.json +56 -0
  33. package/community-skills/bigcommerce/README.md +21 -0
  34. package/community-skills/bigcommerce/agenticmail-skill.json +55 -0
  35. package/community-skills/bitbucket-repos/README.md +29 -0
  36. package/community-skills/bitbucket-repos/agenticmail-skill.json +70 -0
  37. package/community-skills/box/README.md +21 -0
  38. package/community-skills/box/agenticmail-skill.json +48 -0
  39. package/community-skills/brex/README.md +21 -0
  40. package/community-skills/brex/agenticmail-skill.json +48 -0
  41. package/community-skills/buffer/README.md +21 -0
  42. package/community-skills/buffer/agenticmail-skill.json +50 -0
  43. package/community-skills/calendly/README.md +20 -0
  44. package/community-skills/calendly/agenticmail-skill.json +43 -0
  45. package/community-skills/canva-design/README.md +33 -0
  46. package/community-skills/canva-design/agenticmail-skill.json +60 -0
  47. package/community-skills/chargebee/README.md +21 -0
  48. package/community-skills/chargebee/agenticmail-skill.json +55 -0
  49. package/community-skills/circleci-pipelines/README.md +28 -0
  50. package/community-skills/circleci-pipelines/agenticmail-skill.json +66 -0
  51. package/community-skills/clickup/README.md +21 -0
  52. package/community-skills/clickup/agenticmail-skill.json +48 -0
  53. package/community-skills/close-crm/README.md +21 -0
  54. package/community-skills/close-crm/agenticmail-skill.json +49 -0
  55. package/community-skills/cloudflare-cdn/README.md +37 -0
  56. package/community-skills/cloudflare-cdn/agenticmail-skill.json +67 -0
  57. package/community-skills/confluence-wiki/README.md +31 -0
  58. package/community-skills/confluence-wiki/agenticmail-skill.json +74 -0
  59. package/community-skills/contentful/README.md +21 -0
  60. package/community-skills/contentful/agenticmail-skill.json +62 -0
  61. package/community-skills/copper-crm/README.md +21 -0
  62. package/community-skills/copper-crm/agenticmail-skill.json +56 -0
  63. package/community-skills/crisp/README.md +21 -0
  64. package/community-skills/crisp/agenticmail-skill.json +56 -0
  65. package/community-skills/crowdstrike/README.md +21 -0
  66. package/community-skills/crowdstrike/agenticmail-skill.json +69 -0
  67. package/community-skills/datadog-monitoring/README.md +37 -0
  68. package/community-skills/datadog-monitoring/agenticmail-skill.json +73 -0
  69. package/community-skills/digitalocean/README.md +21 -0
  70. package/community-skills/digitalocean/agenticmail-skill.json +48 -0
  71. package/community-skills/discord/README.md +45 -0
  72. package/community-skills/discord/agenticmail-skill.json +65 -0
  73. package/community-skills/docker-containers/README.md +38 -0
  74. package/community-skills/docker-containers/agenticmail-skill.json +70 -0
  75. package/community-skills/docusign-esign/README.md +35 -0
  76. package/community-skills/docusign-esign/agenticmail-skill.json +66 -0
  77. package/community-skills/drift/README.md +21 -0
  78. package/community-skills/drift/agenticmail-skill.json +50 -0
  79. package/community-skills/dropbox-storage/README.md +36 -0
  80. package/community-skills/dropbox-storage/agenticmail-skill.json +67 -0
  81. package/community-skills/figma-design/README.md +36 -0
  82. package/community-skills/figma-design/agenticmail-skill.json +66 -0
  83. package/community-skills/firebase/README.md +21 -0
  84. package/community-skills/firebase/agenticmail-skill.json +56 -0
  85. package/community-skills/flyio/README.md +21 -0
  86. package/community-skills/flyio/agenticmail-skill.json +56 -0
  87. package/community-skills/freshbooks/README.md +21 -0
  88. package/community-skills/freshbooks/agenticmail-skill.json +55 -0
  89. package/community-skills/freshdesk/README.md +21 -0
  90. package/community-skills/freshdesk/agenticmail-skill.json +57 -0
  91. package/community-skills/freshsales/README.md +21 -0
  92. package/community-skills/freshsales/agenticmail-skill.json +55 -0
  93. package/community-skills/freshservice/README.md +21 -0
  94. package/community-skills/freshservice/agenticmail-skill.json +56 -0
  95. package/community-skills/front/README.md +21 -0
  96. package/community-skills/front/agenticmail-skill.json +48 -0
  97. package/community-skills/github/README.md +49 -0
  98. package/community-skills/github/agenticmail-skill.json +73 -0
  99. package/community-skills/github-actions/README.md +29 -0
  100. package/community-skills/github-actions/agenticmail-skill.json +72 -0
  101. package/community-skills/gitlab-ci/README.md +51 -0
  102. package/community-skills/gitlab-ci/agenticmail-skill.json +66 -0
  103. package/community-skills/gong/README.md +21 -0
  104. package/community-skills/gong/agenticmail-skill.json +50 -0
  105. package/community-skills/google-ads/README.md +36 -0
  106. package/community-skills/google-ads/agenticmail-skill.json +58 -0
  107. package/community-skills/google-analytics/README.md +28 -0
  108. package/community-skills/google-analytics/agenticmail-skill.json +69 -0
  109. package/community-skills/google-cloud/README.md +33 -0
  110. package/community-skills/google-cloud/agenticmail-skill.json +59 -0
  111. package/community-skills/google-drive/README.md +36 -0
  112. package/community-skills/google-drive/agenticmail-skill.json +65 -0
  113. package/community-skills/gotomeeting/README.md +20 -0
  114. package/community-skills/gotomeeting/agenticmail-skill.json +45 -0
  115. package/community-skills/grafana/README.md +21 -0
  116. package/community-skills/grafana/agenticmail-skill.json +56 -0
  117. package/community-skills/greenhouse/README.md +21 -0
  118. package/community-skills/greenhouse/agenticmail-skill.json +49 -0
  119. package/community-skills/gusto/README.md +21 -0
  120. package/community-skills/gusto/agenticmail-skill.json +49 -0
  121. package/community-skills/hashicorp-vault/README.md +21 -0
  122. package/community-skills/hashicorp-vault/agenticmail-skill.json +58 -0
  123. package/community-skills/heroku/README.md +21 -0
  124. package/community-skills/heroku/agenticmail-skill.json +48 -0
  125. package/community-skills/hibob/README.md +21 -0
  126. package/community-skills/hibob/agenticmail-skill.json +48 -0
  127. package/community-skills/hootsuite/README.md +21 -0
  128. package/community-skills/hootsuite/agenticmail-skill.json +48 -0
  129. package/community-skills/hubspot-crm/README.md +36 -0
  130. package/community-skills/hubspot-crm/agenticmail-skill.json +70 -0
  131. package/community-skills/huggingface/README.md +21 -0
  132. package/community-skills/huggingface/agenticmail-skill.json +48 -0
  133. package/community-skills/index.json +1320 -0
  134. package/community-skills/intercom-support/README.md +36 -0
  135. package/community-skills/intercom-support/agenticmail-skill.json +64 -0
  136. package/community-skills/jira/README.md +53 -0
  137. package/community-skills/jira/agenticmail-skill.json +72 -0
  138. package/community-skills/klaviyo/README.md +21 -0
  139. package/community-skills/klaviyo/agenticmail-skill.json +48 -0
  140. package/community-skills/kubernetes-cluster/README.md +36 -0
  141. package/community-skills/kubernetes-cluster/agenticmail-skill.json +72 -0
  142. package/community-skills/lattice/README.md +21 -0
  143. package/community-skills/lattice/agenticmail-skill.json +49 -0
  144. package/community-skills/launchdarkly/README.md +21 -0
  145. package/community-skills/launchdarkly/agenticmail-skill.json +48 -0
  146. package/community-skills/lever/README.md +21 -0
  147. package/community-skills/lever/agenticmail-skill.json +49 -0
  148. package/community-skills/linear/README.md +29 -0
  149. package/community-skills/linear/agenticmail-skill.json +81 -0
  150. package/community-skills/linkedin/README.md +21 -0
  151. package/community-skills/linkedin/agenticmail-skill.json +48 -0
  152. package/community-skills/livechat/README.md +20 -0
  153. package/community-skills/livechat/agenticmail-skill.json +43 -0
  154. package/community-skills/loom-video/README.md +20 -0
  155. package/community-skills/loom-video/agenticmail-skill.json +44 -0
  156. package/community-skills/mailchimp-campaigns/README.md +37 -0
  157. package/community-skills/mailchimp-campaigns/agenticmail-skill.json +69 -0
  158. package/community-skills/mailgun/README.md +21 -0
  159. package/community-skills/mailgun/agenticmail-skill.json +71 -0
  160. package/community-skills/microsoft-teams/README.md +51 -0
  161. package/community-skills/microsoft-teams/agenticmail-skill.json +66 -0
  162. package/community-skills/miro-boards/README.md +20 -0
  163. package/community-skills/miro-boards/agenticmail-skill.json +44 -0
  164. package/community-skills/mixpanel-analytics/README.md +34 -0
  165. package/community-skills/mixpanel-analytics/agenticmail-skill.json +64 -0
  166. package/community-skills/monday-boards/README.md +28 -0
  167. package/community-skills/monday-boards/agenticmail-skill.json +68 -0
  168. package/community-skills/mongodb-atlas/README.md +21 -0
  169. package/community-skills/mongodb-atlas/agenticmail-skill.json +58 -0
  170. package/community-skills/neon/README.md +21 -0
  171. package/community-skills/neon/agenticmail-skill.json +50 -0
  172. package/community-skills/netlify/README.md +21 -0
  173. package/community-skills/netlify/agenticmail-skill.json +48 -0
  174. package/community-skills/netsuite/README.md +21 -0
  175. package/community-skills/netsuite/agenticmail-skill.json +57 -0
  176. package/community-skills/newrelic/README.md +21 -0
  177. package/community-skills/newrelic/agenticmail-skill.json +58 -0
  178. package/community-skills/notion/README.md +49 -0
  179. package/community-skills/notion/agenticmail-skill.json +72 -0
  180. package/community-skills/okta/README.md +21 -0
  181. package/community-skills/okta/agenticmail-skill.json +57 -0
  182. package/community-skills/openai/README.md +21 -0
  183. package/community-skills/openai/agenticmail-skill.json +48 -0
  184. package/community-skills/opsgenie/README.md +21 -0
  185. package/community-skills/opsgenie/agenticmail-skill.json +48 -0
  186. package/community-skills/outreach/README.md +21 -0
  187. package/community-skills/outreach/agenticmail-skill.json +50 -0
  188. package/community-skills/paddle/README.md +21 -0
  189. package/community-skills/paddle/agenticmail-skill.json +55 -0
  190. package/community-skills/pagerduty/README.md +21 -0
  191. package/community-skills/pagerduty/agenticmail-skill.json +48 -0
  192. package/community-skills/pandadoc/README.md +21 -0
  193. package/community-skills/pandadoc/agenticmail-skill.json +48 -0
  194. package/community-skills/paypal/README.md +21 -0
  195. package/community-skills/paypal/agenticmail-skill.json +55 -0
  196. package/community-skills/personio/README.md +21 -0
  197. package/community-skills/personio/agenticmail-skill.json +48 -0
  198. package/community-skills/pinecone/README.md +21 -0
  199. package/community-skills/pinecone/agenticmail-skill.json +48 -0
  200. package/community-skills/pipedrive-deals/README.md +33 -0
  201. package/community-skills/pipedrive-deals/agenticmail-skill.json +60 -0
  202. package/community-skills/plaid/README.md +21 -0
  203. package/community-skills/plaid/agenticmail-skill.json +65 -0
  204. package/community-skills/postmark/README.md +21 -0
  205. package/community-skills/postmark/agenticmail-skill.json +48 -0
  206. package/community-skills/power-automate/README.md +21 -0
  207. package/community-skills/power-automate/agenticmail-skill.json +59 -0
  208. package/community-skills/quickbooks-accounting/README.md +38 -0
  209. package/community-skills/quickbooks-accounting/agenticmail-skill.json +70 -0
  210. package/community-skills/recurly/README.md +21 -0
  211. package/community-skills/recurly/agenticmail-skill.json +48 -0
  212. package/community-skills/reddit/README.md +21 -0
  213. package/community-skills/reddit/agenticmail-skill.json +48 -0
  214. package/community-skills/render/README.md +21 -0
  215. package/community-skills/render/agenticmail-skill.json +48 -0
  216. package/community-skills/ringcentral/README.md +20 -0
  217. package/community-skills/ringcentral/agenticmail-skill.json +43 -0
  218. package/community-skills/rippling/README.md +21 -0
  219. package/community-skills/rippling/agenticmail-skill.json +48 -0
  220. package/community-skills/salesforce/README.md +53 -0
  221. package/community-skills/salesforce/agenticmail-skill.json +73 -0
  222. package/community-skills/salesloft/README.md +21 -0
  223. package/community-skills/salesloft/agenticmail-skill.json +48 -0
  224. package/community-skills/sanity/README.md +21 -0
  225. package/community-skills/sanity/agenticmail-skill.json +62 -0
  226. package/community-skills/sap/README.md +21 -0
  227. package/community-skills/sap/agenticmail-skill.json +63 -0
  228. package/community-skills/segment-cdp/README.md +37 -0
  229. package/community-skills/segment-cdp/agenticmail-skill.json +66 -0
  230. package/community-skills/sendgrid-email/README.md +51 -0
  231. package/community-skills/sendgrid-email/agenticmail-skill.json +71 -0
  232. package/community-skills/sentry/README.md +21 -0
  233. package/community-skills/sentry/agenticmail-skill.json +58 -0
  234. package/community-skills/servicenow/README.md +21 -0
  235. package/community-skills/servicenow/agenticmail-skill.json +56 -0
  236. package/community-skills/shopify/README.md +21 -0
  237. package/community-skills/shopify/agenticmail-skill.json +56 -0
  238. package/community-skills/shortcut/README.md +21 -0
  239. package/community-skills/shortcut/agenticmail-skill.json +48 -0
  240. package/community-skills/slack/README.md +45 -0
  241. package/community-skills/slack/agenticmail-skill.json +73 -0
  242. package/community-skills/smartsheet/README.md +21 -0
  243. package/community-skills/smartsheet/agenticmail-skill.json +48 -0
  244. package/community-skills/snowflake-warehouse/README.md +37 -0
  245. package/community-skills/snowflake-warehouse/agenticmail-skill.json +71 -0
  246. package/community-skills/snyk/README.md +21 -0
  247. package/community-skills/snyk/agenticmail-skill.json +48 -0
  248. package/community-skills/splunk/README.md +21 -0
  249. package/community-skills/splunk/agenticmail-skill.json +56 -0
  250. package/community-skills/square/README.md +21 -0
  251. package/community-skills/square/agenticmail-skill.json +55 -0
  252. package/community-skills/statuspage/README.md +21 -0
  253. package/community-skills/statuspage/agenticmail-skill.json +56 -0
  254. package/community-skills/stripe/README.md +45 -0
  255. package/community-skills/stripe/agenticmail-skill.json +66 -0
  256. package/community-skills/supabase/README.md +21 -0
  257. package/community-skills/supabase/agenticmail-skill.json +56 -0
  258. package/community-skills/teamwork/README.md +21 -0
  259. package/community-skills/teamwork/agenticmail-skill.json +56 -0
  260. package/community-skills/telegram-bot/README.md +20 -0
  261. package/community-skills/telegram-bot/agenticmail-skill.json +52 -0
  262. package/community-skills/terraform-iac/README.md +34 -0
  263. package/community-skills/terraform-iac/agenticmail-skill.json +66 -0
  264. package/community-skills/todoist-tasks/README.md +29 -0
  265. package/community-skills/todoist-tasks/agenticmail-skill.json +72 -0
  266. package/community-skills/trello-cards/README.md +30 -0
  267. package/community-skills/trello-cards/agenticmail-skill.json +72 -0
  268. package/community-skills/twilio-sms/README.md +47 -0
  269. package/community-skills/twilio-sms/agenticmail-skill.json +63 -0
  270. package/community-skills/twitter/README.md +21 -0
  271. package/community-skills/twitter/agenticmail-skill.json +48 -0
  272. package/community-skills/vercel-deployments/README.md +29 -0
  273. package/community-skills/vercel-deployments/agenticmail-skill.json +70 -0
  274. package/community-skills/weaviate/README.md +21 -0
  275. package/community-skills/weaviate/agenticmail-skill.json +56 -0
  276. package/community-skills/webex/README.md +20 -0
  277. package/community-skills/webex/agenticmail-skill.json +43 -0
  278. package/community-skills/webflow/README.md +21 -0
  279. package/community-skills/webflow/agenticmail-skill.json +48 -0
  280. package/community-skills/whatsapp-business/README.md +20 -0
  281. package/community-skills/whatsapp-business/agenticmail-skill.json +52 -0
  282. package/community-skills/whereby/README.md +20 -0
  283. package/community-skills/whereby/agenticmail-skill.json +43 -0
  284. package/community-skills/woocommerce/README.md +21 -0
  285. package/community-skills/woocommerce/agenticmail-skill.json +55 -0
  286. package/community-skills/wordpress/README.md +21 -0
  287. package/community-skills/wordpress/agenticmail-skill.json +56 -0
  288. package/community-skills/workday/README.md +21 -0
  289. package/community-skills/workday/agenticmail-skill.json +56 -0
  290. package/community-skills/wrike/README.md +21 -0
  291. package/community-skills/wrike/agenticmail-skill.json +48 -0
  292. package/community-skills/xero/README.md +21 -0
  293. package/community-skills/xero/agenticmail-skill.json +56 -0
  294. package/community-skills/youtube/README.md +21 -0
  295. package/community-skills/youtube/agenticmail-skill.json +52 -0
  296. package/community-skills/zendesk-tickets/README.md +37 -0
  297. package/community-skills/zendesk-tickets/agenticmail-skill.json +65 -0
  298. package/community-skills/zoho-crm/README.md +21 -0
  299. package/community-skills/zoho-crm/agenticmail-skill.json +74 -0
  300. package/community-skills/zoom-meetings/README.md +51 -0
  301. package/community-skills/zoom-meetings/agenticmail-skill.json +66 -0
  302. package/community-skills/zuora/README.md +21 -0
  303. package/community-skills/zuora/agenticmail-skill.json +55 -0
  304. package/dashboards/README.md +81 -70
  305. package/dashboards/django/app.py +117 -0
  306. package/dashboards/django/static/styles.css +284 -0
  307. package/dashboards/django/templates/agent_detail.html +501 -0
  308. package/dashboards/django/templates/agents.html +217 -0
  309. package/dashboards/django/templates/api_keys.html +41 -0
  310. package/dashboards/django/templates/audit.html +26 -0
  311. package/dashboards/django/templates/compliance.html +33 -0
  312. package/dashboards/django/templates/components/modal.html +6 -0
  313. package/dashboards/django/templates/components/pagination.html +9 -0
  314. package/dashboards/django/templates/components/stats.html +8 -0
  315. package/dashboards/django/templates/dashboard.html +24 -0
  316. package/dashboards/django/templates/dlp.html +70 -0
  317. package/dashboards/django/templates/guardrails.html +78 -0
  318. package/dashboards/django/templates/journal.html +39 -0
  319. package/dashboards/django/templates/layout.html +52 -0
  320. package/dashboards/django/templates/login.html +30 -0
  321. package/dashboards/django/templates/messages.html +38 -0
  322. package/dashboards/django/templates/settings.html +472 -0
  323. package/dashboards/django/templates/skills.html +66 -0
  324. package/dashboards/django/templates/users.html +34 -0
  325. package/dashboards/django/templates/vault.html +46 -0
  326. package/dashboards/django/utils/__init__.py +0 -0
  327. package/dashboards/django/utils/api.py +20 -0
  328. package/dashboards/django/utils/helpers.py +39 -0
  329. package/dashboards/django/views/__init__.py +38 -0
  330. package/dashboards/django/views/agents.py +343 -0
  331. package/dashboards/django/views/api_keys.py +47 -0
  332. package/dashboards/django/views/audit.py +35 -0
  333. package/dashboards/django/views/auth.py +34 -0
  334. package/dashboards/django/views/compliance.py +37 -0
  335. package/dashboards/django/views/dashboard.py +27 -0
  336. package/dashboards/django/views/dlp.py +53 -0
  337. package/dashboards/django/views/guardrails.py +61 -0
  338. package/dashboards/django/views/journal.py +41 -0
  339. package/dashboards/django/views/messages.py +65 -0
  340. package/dashboards/django/views/settings_view.py +335 -0
  341. package/dashboards/django/views/skills.py +50 -0
  342. package/dashboards/django/views/users.py +42 -0
  343. package/dashboards/django/views/vault.py +50 -0
  344. package/dashboards/dotnet/AgenticMailDashboard.csproj +10 -0
  345. package/dashboards/dotnet/Program.cs +53 -233
  346. package/dashboards/dotnet/Routes/AgentRoutes.cs +771 -0
  347. package/dashboards/dotnet/Routes/ApiKeyRoutes.cs +185 -0
  348. package/dashboards/dotnet/Routes/AuditRoutes.cs +86 -0
  349. package/dashboards/dotnet/Routes/AuthRoutes.cs +50 -0
  350. package/dashboards/dotnet/Routes/ComplianceRoutes.cs +143 -0
  351. package/dashboards/dotnet/Routes/DashboardRoutes.cs +81 -0
  352. package/dashboards/dotnet/Routes/DlpRoutes.cs +230 -0
  353. package/dashboards/dotnet/Routes/GuardrailRoutes.cs +285 -0
  354. package/dashboards/dotnet/Routes/JournalRoutes.cs +118 -0
  355. package/dashboards/dotnet/Routes/MessageRoutes.cs +167 -0
  356. package/dashboards/dotnet/Routes/SettingRoutes.cs +907 -0
  357. package/dashboards/dotnet/Routes/SkillRoutes.cs +198 -0
  358. package/dashboards/dotnet/Routes/UserRoutes.cs +111 -0
  359. package/dashboards/dotnet/Routes/VaultRoutes.cs +162 -0
  360. package/dashboards/dotnet/Services/ApiClient.cs +103 -0
  361. package/dashboards/dotnet/Services/HtmlBuilder.cs +249 -0
  362. package/dashboards/dotnet/wwwroot/styles.css +284 -0
  363. package/dashboards/express/app.js +37 -126
  364. package/dashboards/express/middleware/auth.js +10 -0
  365. package/dashboards/express/package-lock.json +922 -0
  366. package/dashboards/express/package.json +17 -0
  367. package/dashboards/express/public/styles.css +284 -0
  368. package/dashboards/express/routes/agents.js +771 -0
  369. package/dashboards/express/routes/apiKeys.js +107 -0
  370. package/dashboards/express/routes/audit.js +75 -0
  371. package/dashboards/express/routes/auth.js +38 -0
  372. package/dashboards/express/routes/compliance.js +93 -0
  373. package/dashboards/express/routes/dashboard.js +65 -0
  374. package/dashboards/express/routes/dlp.js +165 -0
  375. package/dashboards/express/routes/guardrails.js +195 -0
  376. package/dashboards/express/routes/journal.js +95 -0
  377. package/dashboards/express/routes/messages.js +97 -0
  378. package/dashboards/express/routes/settings.js +830 -0
  379. package/dashboards/express/routes/skills.js +141 -0
  380. package/dashboards/express/routes/users.js +69 -0
  381. package/dashboards/express/routes/vault.js +141 -0
  382. package/dashboards/express/utils/api.js +44 -0
  383. package/dashboards/express/utils/helpers.js +46 -0
  384. package/dashboards/express/views/components/modal.js +255 -0
  385. package/dashboards/express/views/components/stats.js +22 -0
  386. package/dashboards/express/views/components/table.js +31 -0
  387. package/dashboards/express/views/layout.js +73 -0
  388. package/dashboards/express/views/login.js +45 -0
  389. package/dashboards/go/go.mod +3 -0
  390. package/dashboards/go/handlers/agents.go +790 -0
  391. package/dashboards/go/handlers/apikeys.go +38 -0
  392. package/dashboards/go/handlers/audit.go +52 -0
  393. package/dashboards/go/handlers/auth.go +39 -0
  394. package/dashboards/go/handlers/compliance.go +58 -0
  395. package/dashboards/go/handlers/dashboard.go +43 -0
  396. package/dashboards/go/handlers/dlp.go +78 -0
  397. package/dashboards/go/handlers/guardrails.go +89 -0
  398. package/dashboards/go/handlers/journal.go +60 -0
  399. package/dashboards/go/handlers/messages.go +59 -0
  400. package/dashboards/go/handlers/settings.go +951 -0
  401. package/dashboards/go/handlers/skills.go +129 -0
  402. package/dashboards/go/handlers/users.go +54 -0
  403. package/dashboards/go/handlers/vault.go +85 -0
  404. package/dashboards/go/main.go +35 -485
  405. package/dashboards/go/middleware/auth.go +17 -0
  406. package/dashboards/go/services/api.go +38 -0
  407. package/dashboards/go/services/session.go +52 -0
  408. package/dashboards/go/static/styles.css +284 -0
  409. package/dashboards/go/templates/components.go +45 -0
  410. package/dashboards/go/templates/helpers.go +35 -0
  411. package/dashboards/go/templates/layout.go +59 -0
  412. package/dashboards/html/index.html +203 -450
  413. package/dashboards/html/package.json +11 -0
  414. package/dashboards/html/public/styles.css +149 -0
  415. package/dashboards/html/src/api.js +36 -0
  416. package/dashboards/html/src/components/badge.js +13 -0
  417. package/dashboards/html/src/components/layout.js +11 -0
  418. package/dashboards/html/src/components/modal.js +9 -0
  419. package/dashboards/html/src/components/pagination.js +12 -0
  420. package/dashboards/html/src/components/stat-card.js +14 -0
  421. package/dashboards/html/src/components/table.js +6 -0
  422. package/dashboards/html/src/main.js +83 -0
  423. package/dashboards/html/src/pages/agents.js +831 -0
  424. package/dashboards/html/src/pages/api-keys.js +80 -0
  425. package/dashboards/html/src/pages/audit.js +50 -0
  426. package/dashboards/html/src/pages/compliance.js +69 -0
  427. package/dashboards/html/src/pages/dashboard.js +25 -0
  428. package/dashboards/html/src/pages/dlp.js +112 -0
  429. package/dashboards/html/src/pages/guardrails.js +127 -0
  430. package/dashboards/html/src/pages/journal.js +54 -0
  431. package/dashboards/html/src/pages/login.js +84 -0
  432. package/dashboards/html/src/pages/messages.js +90 -0
  433. package/dashboards/html/src/pages/settings.js +656 -0
  434. package/dashboards/html/src/pages/skills.js +114 -0
  435. package/dashboards/html/src/pages/users.js +62 -0
  436. package/dashboards/html/src/pages/vault.js +105 -0
  437. package/dashboards/html/src/router.js +40 -0
  438. package/dashboards/html/src/utils/escape.js +7 -0
  439. package/dashboards/html/src/utils/time.js +16 -0
  440. package/dashboards/html/src/utils/toast.js +10 -0
  441. package/dashboards/java/AgenticMailDashboard.java +123 -346
  442. package/dashboards/java/handlers/AgentsHandler.java +807 -0
  443. package/dashboards/java/handlers/ApiKeysHandler.java +201 -0
  444. package/dashboards/java/handlers/AuditHandler.java +95 -0
  445. package/dashboards/java/handlers/AuthHandler.java +71 -0
  446. package/dashboards/java/handlers/ComplianceHandler.java +192 -0
  447. package/dashboards/java/handlers/DashboardHandler.java +98 -0
  448. package/dashboards/java/handlers/DlpHandler.java +230 -0
  449. package/dashboards/java/handlers/GuardrailsHandler.java +272 -0
  450. package/dashboards/java/handlers/JournalHandler.java +130 -0
  451. package/dashboards/java/handlers/MessagesHandler.java +168 -0
  452. package/dashboards/java/handlers/SettingsHandler.java +1017 -0
  453. package/dashboards/java/handlers/SkillsHandler.java +198 -0
  454. package/dashboards/java/handlers/UsersHandler.java +118 -0
  455. package/dashboards/java/handlers/VaultHandler.java +168 -0
  456. package/dashboards/java/services/ApiClient.java +233 -0
  457. package/dashboards/java/services/SessionManager.java +138 -0
  458. package/dashboards/java/static/styles.css +288 -0
  459. package/dashboards/java/templates/Components.java +142 -0
  460. package/dashboards/java/templates/Helpers.java +106 -0
  461. package/dashboards/java/templates/Layout.java +98 -0
  462. package/dashboards/laravel/controllers/AgentController.php +250 -0
  463. package/dashboards/laravel/controllers/ApiKeyController.php +73 -0
  464. package/dashboards/laravel/controllers/AuditController.php +31 -0
  465. package/dashboards/laravel/controllers/AuthController.php +44 -0
  466. package/dashboards/laravel/controllers/ComplianceController.php +55 -0
  467. package/dashboards/laravel/controllers/DashboardController.php +28 -0
  468. package/dashboards/laravel/controllers/DlpController.php +88 -0
  469. package/dashboards/laravel/controllers/GuardrailController.php +110 -0
  470. package/dashboards/laravel/controllers/JournalController.php +44 -0
  471. package/dashboards/laravel/controllers/MessageController.php +47 -0
  472. package/dashboards/laravel/controllers/SettingController.php +258 -0
  473. package/dashboards/laravel/controllers/SkillController.php +74 -0
  474. package/dashboards/laravel/controllers/UserController.php +47 -0
  475. package/dashboards/laravel/controllers/VaultController.php +94 -0
  476. package/dashboards/laravel/index.php +319 -0
  477. package/dashboards/laravel/lib/Api.php +73 -0
  478. package/dashboards/laravel/lib/Helpers.php +123 -0
  479. package/dashboards/laravel/public/styles.css +291 -0
  480. package/dashboards/laravel/views/agent-detail.php +534 -0
  481. package/dashboards/laravel/views/agents.php +204 -0
  482. package/dashboards/laravel/views/api-keys.php +55 -0
  483. package/dashboards/laravel/views/audit.php +30 -0
  484. package/dashboards/laravel/views/compliance.php +48 -0
  485. package/dashboards/laravel/views/components/modal.php +59 -0
  486. package/dashboards/laravel/views/components/stats.php +21 -0
  487. package/dashboards/laravel/views/components/table.php +35 -0
  488. package/dashboards/laravel/views/dashboard.php +31 -0
  489. package/dashboards/laravel/views/dlp.php +87 -0
  490. package/dashboards/laravel/views/guardrails.php +95 -0
  491. package/dashboards/laravel/views/journal.php +50 -0
  492. package/dashboards/laravel/views/layout.php +82 -0
  493. package/dashboards/laravel/views/login.php +45 -0
  494. package/dashboards/laravel/views/messages.php +60 -0
  495. package/dashboards/laravel/views/settings.php +622 -0
  496. package/dashboards/laravel/views/skills.php +74 -0
  497. package/dashboards/laravel/views/users.php +42 -0
  498. package/dashboards/laravel/views/vault.php +80 -0
  499. package/dashboards/php/components/layout.php +80 -0
  500. package/dashboards/php/components/modal.php +22 -0
  501. package/dashboards/php/components/stats.php +20 -0
  502. package/dashboards/php/components/table.php +33 -0
  503. package/dashboards/php/index.php +663 -381
  504. package/dashboards/php/lib/api.php +37 -0
  505. package/dashboards/php/lib/auth.php +47 -0
  506. package/dashboards/php/lib/helpers.php +69 -0
  507. package/dashboards/php/pages/agent-detail.php +552 -0
  508. package/dashboards/php/pages/agents.php +185 -0
  509. package/dashboards/php/pages/api-keys.php +34 -0
  510. package/dashboards/php/pages/audit.php +31 -0
  511. package/dashboards/php/pages/compliance.php +38 -0
  512. package/dashboards/php/pages/dashboard.php +29 -0
  513. package/dashboards/php/pages/dlp.php +65 -0
  514. package/dashboards/php/pages/guardrails.php +70 -0
  515. package/dashboards/php/pages/journal.php +53 -0
  516. package/dashboards/php/pages/login.php +34 -0
  517. package/dashboards/php/pages/messages.php +53 -0
  518. package/dashboards/php/pages/settings.php +687 -0
  519. package/dashboards/php/pages/skills.php +70 -0
  520. package/dashboards/php/pages/users.php +37 -0
  521. package/dashboards/php/pages/vault.php +70 -0
  522. package/dashboards/php/public/styles.css +81 -0
  523. package/dashboards/python/app.py +61 -259
  524. package/dashboards/python/routes/__init__.py +0 -0
  525. package/dashboards/python/routes/agents.py +296 -0
  526. package/dashboards/python/routes/api_keys.py +49 -0
  527. package/dashboards/python/routes/audit.py +33 -0
  528. package/dashboards/python/routes/auth.py +30 -0
  529. package/dashboards/python/routes/compliance.py +50 -0
  530. package/dashboards/python/routes/dashboard.py +32 -0
  531. package/dashboards/python/routes/dlp.py +64 -0
  532. package/dashboards/python/routes/guardrails.py +79 -0
  533. package/dashboards/python/routes/journal.py +40 -0
  534. package/dashboards/python/routes/messages.py +46 -0
  535. package/dashboards/python/routes/settings.py +260 -0
  536. package/dashboards/python/routes/skills.py +59 -0
  537. package/dashboards/python/routes/users.py +43 -0
  538. package/dashboards/python/routes/vault.py +59 -0
  539. package/dashboards/python/static/styles.css +288 -0
  540. package/dashboards/python/templates/agent_detail.html +552 -0
  541. package/dashboards/python/templates/agents.html +246 -0
  542. package/dashboards/python/templates/api_keys.html +64 -0
  543. package/dashboards/python/templates/audit.html +50 -0
  544. package/dashboards/python/templates/compliance.html +74 -0
  545. package/dashboards/python/templates/components/modal.html +43 -0
  546. package/dashboards/python/templates/components/stats.html +26 -0
  547. package/dashboards/python/templates/components/table.html +43 -0
  548. package/dashboards/python/templates/dashboard.html +34 -0
  549. package/dashboards/python/templates/dlp.html +159 -0
  550. package/dashboards/python/templates/guardrails.html +131 -0
  551. package/dashboards/python/templates/journal.html +66 -0
  552. package/dashboards/python/templates/layout.html +86 -0
  553. package/dashboards/python/templates/login.html +36 -0
  554. package/dashboards/python/templates/messages.html +90 -0
  555. package/dashboards/python/templates/settings.html +624 -0
  556. package/dashboards/python/templates/skills.html +89 -0
  557. package/dashboards/python/templates/users.html +70 -0
  558. package/dashboards/python/templates/vault.html +73 -0
  559. package/dashboards/python/utils/__init__.py +0 -0
  560. package/dashboards/python/utils/api.py +35 -0
  561. package/dashboards/python/utils/helpers.py +90 -0
  562. package/dashboards/rails/app.rb +56 -0
  563. package/dashboards/rails/helpers/api.rb +39 -0
  564. package/dashboards/rails/helpers/auth.rb +11 -0
  565. package/dashboards/rails/helpers/view.rb +95 -0
  566. package/dashboards/rails/public/styles.css +299 -0
  567. package/dashboards/rails/routes/agents.rb +173 -0
  568. package/dashboards/rails/routes/api_keys.rb +30 -0
  569. package/dashboards/rails/routes/audit.rb +15 -0
  570. package/dashboards/rails/routes/auth.rb +29 -0
  571. package/dashboards/rails/routes/compliance.rb +25 -0
  572. package/dashboards/rails/routes/dashboard.rb +13 -0
  573. package/dashboards/rails/routes/dlp.rb +40 -0
  574. package/dashboards/rails/routes/guardrails.rb +51 -0
  575. package/dashboards/rails/routes/journal.rb +24 -0
  576. package/dashboards/rails/routes/messages.rb +22 -0
  577. package/dashboards/rails/routes/settings.rb +196 -0
  578. package/dashboards/rails/routes/skills.rb +38 -0
  579. package/dashboards/rails/routes/users.rb +18 -0
  580. package/dashboards/rails/routes/vault.rb +37 -0
  581. package/dashboards/rails/views/agent_detail.erb +550 -0
  582. package/dashboards/rails/views/agents.erb +214 -0
  583. package/dashboards/rails/views/api_keys.erb +52 -0
  584. package/dashboards/rails/views/audit.erb +38 -0
  585. package/dashboards/rails/views/compliance.erb +69 -0
  586. package/dashboards/rails/views/dashboard.erb +46 -0
  587. package/dashboards/rails/views/dlp.erb +104 -0
  588. package/dashboards/rails/views/guardrails.erb +107 -0
  589. package/dashboards/rails/views/journal.erb +65 -0
  590. package/dashboards/rails/views/layout.erb +53 -0
  591. package/dashboards/rails/views/login.erb +47 -0
  592. package/dashboards/rails/views/messages.erb +62 -0
  593. package/dashboards/rails/views/settings.erb +578 -0
  594. package/dashboards/rails/views/skills.erb +66 -0
  595. package/dashboards/rails/views/users.erb +53 -0
  596. package/dashboards/rails/views/vault.erb +66 -0
  597. package/dashboards/ruby/app.rb +53 -182
  598. package/dashboards/ruby/helpers/api.rb +63 -0
  599. package/dashboards/ruby/helpers/auth.rb +20 -0
  600. package/dashboards/ruby/helpers/view.rb +91 -0
  601. package/dashboards/ruby/public/styles.css +294 -0
  602. package/dashboards/ruby/routes/agents.rb +197 -0
  603. package/dashboards/ruby/routes/api_keys.rb +43 -0
  604. package/dashboards/ruby/routes/audit.rb +15 -0
  605. package/dashboards/ruby/routes/auth.rb +29 -0
  606. package/dashboards/ruby/routes/compliance.rb +28 -0
  607. package/dashboards/ruby/routes/dashboard.rb +13 -0
  608. package/dashboards/ruby/routes/dlp.rb +55 -0
  609. package/dashboards/ruby/routes/guardrails.rb +77 -0
  610. package/dashboards/ruby/routes/journal.rb +24 -0
  611. package/dashboards/ruby/routes/messages.rb +27 -0
  612. package/dashboards/ruby/routes/settings.rb +214 -0
  613. package/dashboards/ruby/routes/skills.rb +50 -0
  614. package/dashboards/ruby/routes/users.rb +26 -0
  615. package/dashboards/ruby/routes/vault.rb +49 -0
  616. package/dashboards/ruby/views/agent_detail.erb +550 -0
  617. package/dashboards/ruby/views/agents.erb +214 -0
  618. package/dashboards/ruby/views/api_keys.erb +59 -0
  619. package/dashboards/ruby/views/audit.erb +38 -0
  620. package/dashboards/ruby/views/compliance.erb +45 -0
  621. package/dashboards/ruby/views/dashboard.erb +46 -0
  622. package/dashboards/ruby/views/dlp.erb +88 -0
  623. package/dashboards/ruby/views/guardrails.erb +103 -0
  624. package/dashboards/ruby/views/journal.erb +53 -0
  625. package/dashboards/ruby/views/layout.erb +52 -0
  626. package/dashboards/ruby/views/login.erb +31 -0
  627. package/dashboards/ruby/views/messages.erb +51 -0
  628. package/dashboards/ruby/views/settings.erb +579 -0
  629. package/dashboards/ruby/views/skills.erb +66 -0
  630. package/dashboards/ruby/views/users.erb +53 -0
  631. package/dashboards/ruby/views/vault.erb +66 -0
  632. package/dashboards/shared/styles.css +322 -0
  633. package/dist/{chunk-TVF23PUW.js → chunk-7FVRYOP4.js} +22 -7
  634. package/dist/chunk-DRXMYYKN.js +79 -0
  635. package/dist/chunk-E23VJ3QX.js +9427 -0
  636. package/dist/chunk-EOBN6RCA.js +12652 -0
  637. package/dist/chunk-FLRYMSKY.js +23 -0
  638. package/dist/chunk-HAUHDCUB.js +764 -0
  639. package/dist/chunk-HSF6OJ5Z.js +154 -0
  640. package/dist/{chunk-PNKVD2UK.js → chunk-KFQGP6VL.js} +7 -0
  641. package/dist/chunk-LKAFZ343.js +591 -0
  642. package/dist/{chunk-GXIEEA2T.js → chunk-NTVN3JHS.js} +10 -10
  643. package/dist/chunk-RO537U6H.js +70 -0
  644. package/dist/chunk-SGBTJHEF.js +2287 -0
  645. package/dist/chunk-SMUXH6FM.js +1943 -0
  646. package/dist/chunk-TY7NVD4U.js +275 -0
  647. package/dist/chunk-X6UVWFHW.js +3455 -0
  648. package/dist/{chunk-7RGCCHIT.js → chunk-XMDE2NGH.js} +2 -1
  649. package/dist/chunk-ZNR5DDTA.js +239 -0
  650. package/dist/cidr-LISVZSM2.js +17 -0
  651. package/dist/cli-build-skill-XOYECCLE.js +235 -0
  652. package/dist/cli-recover-SSGGSKZJ.js +97 -0
  653. package/dist/cli-submit-skill-RSBLF5XN.js +162 -0
  654. package/dist/cli-validate-WJBUOEGW.js +148 -0
  655. package/dist/cli-verify-V3GPFMWU.js +98 -0
  656. package/dist/cli.js +50 -376
  657. package/dist/config-store-CRMKWBON.js +58 -0
  658. package/dist/dashboard/app.js +246 -0
  659. package/dist/dashboard/assets/logo.png +0 -0
  660. package/dist/dashboard/components/error-boundary.js +21 -0
  661. package/dist/dashboard/components/help-button.js +34 -0
  662. package/dist/dashboard/components/icons.js +53 -0
  663. package/dist/dashboard/components/modal.js +124 -0
  664. package/dist/dashboard/components/persona-fields.js +271 -0
  665. package/dist/dashboard/components/settings-help.js +191 -0
  666. package/dist/dashboard/components/tag-input.js +96 -0
  667. package/dist/dashboard/components/utils.js +148 -0
  668. package/dist/dashboard/index.html +407 -874
  669. package/dist/dashboard/pages/activity.js +62 -0
  670. package/dist/dashboard/pages/agent-detail.js +3577 -0
  671. package/dist/dashboard/pages/agents.js +1072 -0
  672. package/dist/dashboard/pages/approvals.js +81 -0
  673. package/dist/dashboard/pages/audit.js +133 -0
  674. package/dist/dashboard/pages/community-skills.js +665 -0
  675. package/dist/dashboard/pages/compliance.js +81 -0
  676. package/dist/dashboard/pages/dashboard.js +150 -0
  677. package/dist/dashboard/pages/dlp.js +107 -0
  678. package/dist/dashboard/pages/domain-status.js +123 -0
  679. package/dist/dashboard/pages/guardrails.js +995 -0
  680. package/dist/dashboard/pages/journal.js +51 -0
  681. package/dist/dashboard/pages/knowledge-contributions.js +763 -0
  682. package/dist/dashboard/pages/knowledge.js +46 -0
  683. package/dist/dashboard/pages/login.js +491 -0
  684. package/dist/dashboard/pages/messages.js +274 -0
  685. package/dist/dashboard/pages/settings.js +1554 -0
  686. package/dist/dashboard/pages/skill-connections.js +452 -0
  687. package/dist/dashboard/pages/skills.js +433 -0
  688. package/dist/dashboard/pages/users.js +49 -0
  689. package/dist/dashboard/pages/vault.js +538 -0
  690. package/dist/dashboard/pages/workforce.js +569 -0
  691. package/dist/dashboard/vendor/react-dom.production.min.js +267 -0
  692. package/dist/dashboard/vendor/react.production.min.js +31 -0
  693. package/dist/db-adapter-5PWMLY67.js +7 -0
  694. package/dist/domain-lock-URIFILHB.js +7 -0
  695. package/dist/{dynamodb-CCGL2E77.js → dynamodb-CD3LREWD.js} +4 -4
  696. package/dist/{factory-HINWFYZ3.js → factory-FVJH5RRY.js} +2 -2
  697. package/dist/firewall-AHIRE6UB.js +10 -0
  698. package/dist/index.js +133 -448
  699. package/dist/{managed-RZITNPXG.js → managed-QVTONZ7E.js} +4 -2
  700. package/dist/{mongodb-ODTXIVPV.js → mongodb-73MGW7LD.js} +4 -4
  701. package/dist/{mysql-RM3S2FV5.js → mysql-A2RYNBQG.js} +59 -6
  702. package/dist/{postgres-LN7A6MGQ.js → postgres-OE23X46P.js} +63 -6
  703. package/dist/registry/cli.js +411 -0
  704. package/dist/routes-NJK5OI5N.js +5673 -0
  705. package/dist/runtime-SMA6JUMP.js +46 -0
  706. package/dist/server-ZT5NWHT4.js +11 -0
  707. package/dist/setup-RCYNX5NA.js +20 -0
  708. package/dist/skills-QNR3CCHA.js +14 -0
  709. package/dist/soul-templates.json +1525 -0
  710. package/dist/{sqlite-VLKVAJA4.js → sqlite-SFVNZPHX.js} +56 -8
  711. package/dist/{turso-LDWODSDI.js → turso-L6WQAY7U.js} +59 -6
  712. package/live-test.mjs +1 -1
  713. package/package.json +11 -10
  714. package/schemas/agenticmail-skill.v1.schema.json +180 -0
  715. package/serve.mjs +12 -2
  716. package/src/admin/routes.ts +536 -5
  717. package/src/agent-tools/common.ts +232 -0
  718. package/src/agent-tools/index.ts +246 -0
  719. package/src/agent-tools/merge.ts +62 -0
  720. package/src/agent-tools/middleware.ts +436 -0
  721. package/src/agent-tools/security.ts +352 -0
  722. package/src/agent-tools/tools/bash.ts +154 -0
  723. package/src/agent-tools/tools/browser.ts +236 -0
  724. package/src/agent-tools/tools/edit.ts +100 -0
  725. package/src/agent-tools/tools/enterprise-calendar.ts +561 -0
  726. package/src/agent-tools/tools/enterprise-code-sandbox.ts +395 -0
  727. package/src/agent-tools/tools/enterprise-database.ts +377 -0
  728. package/src/agent-tools/tools/enterprise-diff.ts +580 -0
  729. package/src/agent-tools/tools/enterprise-documents.ts +896 -0
  730. package/src/agent-tools/tools/enterprise-finance.ts +484 -0
  731. package/src/agent-tools/tools/enterprise-http.ts +477 -0
  732. package/src/agent-tools/tools/enterprise-knowledge-search.ts +369 -0
  733. package/src/agent-tools/tools/enterprise-logs.ts +479 -0
  734. package/src/agent-tools/tools/enterprise-notifications.ts +532 -0
  735. package/src/agent-tools/tools/enterprise-security-scan.ts +528 -0
  736. package/src/agent-tools/tools/enterprise-spreadsheet.ts +825 -0
  737. package/src/agent-tools/tools/enterprise-translation.ts +530 -0
  738. package/src/agent-tools/tools/enterprise-vision.ts +348 -0
  739. package/src/agent-tools/tools/enterprise-web-research.ts +422 -0
  740. package/src/agent-tools/tools/enterprise-workflow.ts +308 -0
  741. package/src/agent-tools/tools/glob.ts +129 -0
  742. package/src/agent-tools/tools/grep.ts +178 -0
  743. package/src/agent-tools/tools/memory.ts +194 -0
  744. package/src/agent-tools/tools/read.ts +160 -0
  745. package/src/agent-tools/tools/web-fetch-utils.ts +202 -0
  746. package/src/agent-tools/tools/web-fetch.ts +456 -0
  747. package/src/agent-tools/tools/web-search.ts +480 -0
  748. package/src/agent-tools/tools/web-shared.ts +232 -0
  749. package/src/agent-tools/tools/write.ts +68 -0
  750. package/src/agent-tools/types.ts +193 -0
  751. package/src/auth/routes.ts +916 -51
  752. package/src/cli.ts +74 -14
  753. package/src/dashboard/app.js +246 -0
  754. package/src/dashboard/assets/logo.png +0 -0
  755. package/src/dashboard/components/error-boundary.js +21 -0
  756. package/src/dashboard/components/help-button.js +34 -0
  757. package/src/dashboard/components/icons.js +53 -0
  758. package/src/dashboard/components/modal.js +124 -0
  759. package/src/dashboard/components/persona-fields.js +271 -0
  760. package/src/dashboard/components/settings-help.js +191 -0
  761. package/src/dashboard/components/tag-input.js +96 -0
  762. package/src/dashboard/components/utils.js +148 -0
  763. package/src/dashboard/index.html +407 -874
  764. package/src/dashboard/pages/activity.js +62 -0
  765. package/src/dashboard/pages/agent-detail.js +3577 -0
  766. package/src/dashboard/pages/agents.js +1072 -0
  767. package/src/dashboard/pages/approvals.js +81 -0
  768. package/src/dashboard/pages/audit.js +133 -0
  769. package/src/dashboard/pages/community-skills.js +665 -0
  770. package/src/dashboard/pages/compliance.js +81 -0
  771. package/src/dashboard/pages/dashboard.js +150 -0
  772. package/src/dashboard/pages/dlp.js +107 -0
  773. package/src/dashboard/pages/domain-status.js +123 -0
  774. package/src/dashboard/pages/guardrails.js +995 -0
  775. package/src/dashboard/pages/journal.js +51 -0
  776. package/src/dashboard/pages/knowledge-contributions.js +763 -0
  777. package/src/dashboard/pages/knowledge.js +46 -0
  778. package/src/dashboard/pages/login.js +491 -0
  779. package/src/dashboard/pages/messages.js +274 -0
  780. package/src/dashboard/pages/settings.js +1554 -0
  781. package/src/dashboard/pages/skill-connections.js +452 -0
  782. package/src/dashboard/pages/skills.js +433 -0
  783. package/src/dashboard/pages/users.js +49 -0
  784. package/src/dashboard/pages/vault.js +538 -0
  785. package/src/dashboard/pages/workforce.js +569 -0
  786. package/src/dashboard/vendor/react-dom.production.min.js +267 -0
  787. package/src/dashboard/vendor/react.production.min.js +31 -0
  788. package/src/db/adapter.ts +134 -1
  789. package/src/db/dynamodb.ts +2 -2
  790. package/src/db/mongodb.ts +2 -2
  791. package/src/db/mysql.ts +55 -1
  792. package/src/db/postgres.ts +59 -1
  793. package/src/db/proxy.ts +39 -0
  794. package/src/db/sql-schema.ts +2 -1
  795. package/src/db/sqlite.ts +51 -3
  796. package/src/db/turso.ts +55 -1
  797. package/src/deploy/fly.ts +2 -2
  798. package/src/deploy/managed.ts +32 -11
  799. package/src/domain-lock/cli-recover.ts +124 -0
  800. package/src/domain-lock/cli-verify.ts +122 -0
  801. package/src/domain-lock/index.ts +220 -0
  802. package/src/engine/activity-routes.ts +116 -0
  803. package/src/engine/activity.ts +62 -2
  804. package/src/engine/agent-config.ts +190 -24
  805. package/src/engine/agent-memory.ts +1062 -0
  806. package/src/engine/agent-routes.ts +379 -0
  807. package/src/engine/approvals.ts +309 -2
  808. package/src/engine/catalog-routes.ts +155 -0
  809. package/src/engine/cli-build-skill.ts +285 -0
  810. package/src/engine/cli-submit-skill.ts +200 -0
  811. package/src/engine/cli-validate.ts +188 -0
  812. package/src/engine/communication-routes.ts +139 -0
  813. package/src/engine/communication.ts +759 -0
  814. package/src/engine/community-registry.ts +1509 -0
  815. package/src/engine/community-routes.ts +233 -0
  816. package/src/engine/compliance-routes.ts +93 -0
  817. package/src/engine/compliance.ts +325 -0
  818. package/src/engine/db-adapter.ts +349 -1
  819. package/src/engine/db-schema.ts +971 -23
  820. package/src/engine/deploy-schema-routes.ts +176 -0
  821. package/src/engine/deployer.ts +6 -6
  822. package/src/engine/dlp-routes.ts +59 -0
  823. package/src/engine/dlp.ts +231 -0
  824. package/src/engine/guardrail-routes.ts +125 -0
  825. package/src/engine/guardrails.ts +403 -0
  826. package/src/engine/index.ts +131 -10
  827. package/src/engine/journal-routes.ts +56 -0
  828. package/src/engine/journal.ts +249 -0
  829. package/src/engine/knowledge-contribution-routes.ts +385 -0
  830. package/src/engine/knowledge-contribution.ts +1319 -0
  831. package/src/engine/knowledge-routes.ts +68 -0
  832. package/src/engine/knowledge.ts +73 -1
  833. package/src/engine/lifecycle.ts +487 -31
  834. package/src/engine/memory-routes.ts +142 -0
  835. package/src/engine/oauth-connect-routes.ts +366 -0
  836. package/src/engine/oauth-connect.ts +304 -0
  837. package/src/engine/onboarding-routes.ts +140 -0
  838. package/src/engine/onboarding.ts +574 -0
  839. package/src/engine/org-approval-routes.ts +146 -0
  840. package/src/engine/org-policies.ts +497 -0
  841. package/src/engine/policy-import-routes.ts +125 -0
  842. package/src/engine/policy-import.ts +1186 -0
  843. package/src/engine/policy-routes.ts +163 -0
  844. package/src/engine/routes.ts +239 -482
  845. package/src/engine/skill-updater-routes.ts +132 -0
  846. package/src/engine/skill-updater.ts +480 -0
  847. package/src/engine/skill-validator.ts +331 -0
  848. package/src/engine/skills/enterprise-calendar.ts +142 -0
  849. package/src/engine/skills/enterprise-code-sandbox.ts +112 -0
  850. package/src/engine/skills/enterprise-database.ts +122 -0
  851. package/src/engine/skills/enterprise-diff.ts +94 -0
  852. package/src/engine/skills/enterprise-documents.ts +161 -0
  853. package/src/engine/skills/enterprise-finance.ts +109 -0
  854. package/src/engine/skills/enterprise-http.ts +98 -0
  855. package/src/engine/skills/enterprise-knowledge-search.ts +106 -0
  856. package/src/engine/skills/enterprise-logs.ts +115 -0
  857. package/src/engine/skills/enterprise-notifications.ts +119 -0
  858. package/src/engine/skills/enterprise-security-scan.ts +124 -0
  859. package/src/engine/skills/enterprise-spreadsheet.ts +170 -0
  860. package/src/engine/skills/enterprise-translation.ts +111 -0
  861. package/src/engine/skills/enterprise-vision.ts +107 -0
  862. package/src/engine/skills/enterprise-web-research.ts +114 -0
  863. package/src/engine/skills/enterprise-workflow.ts +109 -0
  864. package/src/engine/skills/gws-admin.ts +17 -0
  865. package/src/engine/skills/gws-calendar.ts +19 -0
  866. package/src/engine/skills/gws-chat.ts +16 -0
  867. package/src/engine/skills/gws-docs.ts +17 -0
  868. package/src/engine/skills/gws-drive.ts +20 -0
  869. package/src/engine/skills/gws-forms.ts +16 -0
  870. package/src/engine/skills/gws-gmail.ts +20 -0
  871. package/src/engine/skills/gws-groups.ts +16 -0
  872. package/src/engine/skills/gws-keep.ts +16 -0
  873. package/src/engine/skills/gws-meet.ts +16 -0
  874. package/src/engine/skills/gws-sheets.ts +18 -0
  875. package/src/engine/skills/gws-sites.ts +15 -0
  876. package/src/engine/skills/gws-slides.ts +16 -0
  877. package/src/engine/skills/gws-vault.ts +16 -0
  878. package/src/engine/skills/index.ts +121 -0
  879. package/src/engine/skills/m365-admin.ts +17 -0
  880. package/src/engine/skills/m365-bookings.ts +16 -0
  881. package/src/engine/skills/m365-copilot.ts +16 -0
  882. package/src/engine/skills/m365-excel.ts +59 -0
  883. package/src/engine/skills/m365-forms.ts +16 -0
  884. package/src/engine/skills/m365-onedrive.ts +59 -0
  885. package/src/engine/skills/m365-onenote.ts +16 -0
  886. package/src/engine/skills/m365-outlook.ts +26 -0
  887. package/src/engine/skills/m365-planner.ts +17 -0
  888. package/src/engine/skills/m365-power-automate.ts +17 -0
  889. package/src/engine/skills/m365-power-bi.ts +18 -0
  890. package/src/engine/skills/m365-powerpoint.ts +32 -0
  891. package/src/engine/skills/m365-sharepoint.ts +19 -0
  892. package/src/engine/skills/m365-teams.ts +20 -0
  893. package/src/engine/skills/m365-todo.ts +16 -0
  894. package/src/engine/skills/m365-whiteboard.ts +15 -0
  895. package/src/engine/skills/m365-word.ts +41 -0
  896. package/src/engine/skills.ts +353 -17
  897. package/src/engine/soul-library.ts +142 -0
  898. package/src/engine/soul-templates.json +1525 -0
  899. package/src/engine/storage-manager.ts +252 -0
  900. package/src/engine/storage-routes.ts +113 -0
  901. package/src/engine/storage.ts +528 -0
  902. package/src/engine/tenant.ts +69 -5
  903. package/src/engine/tool-catalog.ts +177 -13
  904. package/src/engine/vault-routes.ts +130 -0
  905. package/src/engine/vault.ts +544 -0
  906. package/src/engine/workforce-routes.ts +282 -0
  907. package/src/engine/workforce.ts +957 -0
  908. package/src/index.ts +9 -1
  909. package/src/lib/cidr.ts +122 -0
  910. package/src/lib/config-store.ts +86 -0
  911. package/src/mcp/adapters/activecampaign.adapter.ts +391 -0
  912. package/src/mcp/adapters/adobe-sign.adapter.ts +469 -0
  913. package/src/mcp/adapters/adp.adapter.ts +358 -0
  914. package/src/mcp/adapters/airtable.adapter.ts +273 -0
  915. package/src/mcp/adapters/apollo.adapter.ts +420 -0
  916. package/src/mcp/adapters/asana.adapter.ts +315 -0
  917. package/src/mcp/adapters/auth0.adapter.ts +386 -0
  918. package/src/mcp/adapters/aws.adapter.ts +345 -0
  919. package/src/mcp/adapters/azure-devops.adapter.ts +389 -0
  920. package/src/mcp/adapters/bamboohr.adapter.ts +376 -0
  921. package/src/mcp/adapters/basecamp.adapter.ts +366 -0
  922. package/src/mcp/adapters/bigcommerce.adapter.ts +429 -0
  923. package/src/mcp/adapters/bitbucket.adapter.ts +260 -0
  924. package/src/mcp/adapters/box.adapter.ts +350 -0
  925. package/src/mcp/adapters/brex.adapter.ts +367 -0
  926. package/src/mcp/adapters/buffer.adapter.ts +303 -0
  927. package/src/mcp/adapters/calendly.adapter.ts +262 -0
  928. package/src/mcp/adapters/canva.adapter.ts +256 -0
  929. package/src/mcp/adapters/chargebee.adapter.ts +448 -0
  930. package/src/mcp/adapters/circleci.adapter.ts +216 -0
  931. package/src/mcp/adapters/clickup.adapter.ts +335 -0
  932. package/src/mcp/adapters/close.adapter.ts +390 -0
  933. package/src/mcp/adapters/cloudflare.adapter.ts +377 -0
  934. package/src/mcp/adapters/confluence.adapter.ts +301 -0
  935. package/src/mcp/adapters/contentful.adapter.ts +355 -0
  936. package/src/mcp/adapters/copper.adapter.ts +468 -0
  937. package/src/mcp/adapters/crisp.adapter.ts +415 -0
  938. package/src/mcp/adapters/crowdstrike.adapter.ts +413 -0
  939. package/src/mcp/adapters/datadog.adapter.ts +373 -0
  940. package/src/mcp/adapters/digitalocean.adapter.ts +336 -0
  941. package/src/mcp/adapters/discord.adapter.ts +248 -0
  942. package/src/mcp/adapters/docker.adapter.ts +238 -0
  943. package/src/mcp/adapters/docusign.adapter.ts +431 -0
  944. package/src/mcp/adapters/drift.adapter.ts +386 -0
  945. package/src/mcp/adapters/dropbox.adapter.ts +315 -0
  946. package/src/mcp/adapters/figma.adapter.ts +302 -0
  947. package/src/mcp/adapters/firebase.adapter.ts +446 -0
  948. package/src/mcp/adapters/flyio.adapter.ts +302 -0
  949. package/src/mcp/adapters/freshbooks.adapter.ts +474 -0
  950. package/src/mcp/adapters/freshdesk.adapter.ts +441 -0
  951. package/src/mcp/adapters/freshsales.adapter.ts +457 -0
  952. package/src/mcp/adapters/freshservice.adapter.ts +481 -0
  953. package/src/mcp/adapters/front.adapter.ts +357 -0
  954. package/src/mcp/adapters/github-actions.adapter.ts +329 -0
  955. package/src/mcp/adapters/github.adapter.ts +387 -0
  956. package/src/mcp/adapters/gitlab.adapter.ts +368 -0
  957. package/src/mcp/adapters/gong.adapter.ts +386 -0
  958. package/src/mcp/adapters/google-ads.adapter.ts +363 -0
  959. package/src/mcp/adapters/google-analytics.adapter.ts +316 -0
  960. package/src/mcp/adapters/google-cloud.adapter.ts +312 -0
  961. package/src/mcp/adapters/google-drive.adapter.ts +387 -0
  962. package/src/mcp/adapters/gotomeeting.adapter.ts +255 -0
  963. package/src/mcp/adapters/grafana.adapter.ts +361 -0
  964. package/src/mcp/adapters/greenhouse.adapter.ts +354 -0
  965. package/src/mcp/adapters/gusto.adapter.ts +329 -0
  966. package/src/mcp/adapters/hashicorp-vault.adapter.ts +355 -0
  967. package/src/mcp/adapters/heroku.adapter.ts +291 -0
  968. package/src/mcp/adapters/hibob.adapter.ts +334 -0
  969. package/src/mcp/adapters/hootsuite.adapter.ts +322 -0
  970. package/src/mcp/adapters/hubspot.adapter.ts +400 -0
  971. package/src/mcp/adapters/huggingface.adapter.ts +349 -0
  972. package/src/mcp/adapters/index.ts +530 -0
  973. package/src/mcp/adapters/intercom.adapter.ts +269 -0
  974. package/src/mcp/adapters/jira.adapter.ts +482 -0
  975. package/src/mcp/adapters/klaviyo.adapter.ts +353 -0
  976. package/src/mcp/adapters/kubernetes.adapter.ts +431 -0
  977. package/src/mcp/adapters/lattice.adapter.ts +339 -0
  978. package/src/mcp/adapters/launchdarkly.adapter.ts +368 -0
  979. package/src/mcp/adapters/lever.adapter.ts +347 -0
  980. package/src/mcp/adapters/linear.adapter.ts +300 -0
  981. package/src/mcp/adapters/linkedin.adapter.ts +331 -0
  982. package/src/mcp/adapters/livechat.adapter.ts +259 -0
  983. package/src/mcp/adapters/loom.adapter.ts +230 -0
  984. package/src/mcp/adapters/mailchimp.adapter.ts +394 -0
  985. package/src/mcp/adapters/mailgun.adapter.ts +425 -0
  986. package/src/mcp/adapters/microsoft-teams.adapter.ts +251 -0
  987. package/src/mcp/adapters/miro.adapter.ts +274 -0
  988. package/src/mcp/adapters/mixpanel.adapter.ts +324 -0
  989. package/src/mcp/adapters/monday.adapter.ts +308 -0
  990. package/src/mcp/adapters/mongodb-atlas.adapter.ts +345 -0
  991. package/src/mcp/adapters/neon.adapter.ts +312 -0
  992. package/src/mcp/adapters/netlify.adapter.ts +324 -0
  993. package/src/mcp/adapters/netsuite.adapter.ts +411 -0
  994. package/src/mcp/adapters/newrelic.adapter.ts +339 -0
  995. package/src/mcp/adapters/notion.adapter.ts +338 -0
  996. package/src/mcp/adapters/okta.adapter.ts +394 -0
  997. package/src/mcp/adapters/openai.adapter.ts +315 -0
  998. package/src/mcp/adapters/opsgenie.adapter.ts +375 -0
  999. package/src/mcp/adapters/outreach.adapter.ts +372 -0
  1000. package/src/mcp/adapters/paddle.adapter.ts +467 -0
  1001. package/src/mcp/adapters/pagerduty.adapter.ts +412 -0
  1002. package/src/mcp/adapters/pandadoc.adapter.ts +389 -0
  1003. package/src/mcp/adapters/paypal.adapter.ts +465 -0
  1004. package/src/mcp/adapters/personio.adapter.ts +401 -0
  1005. package/src/mcp/adapters/pinecone.adapter.ts +340 -0
  1006. package/src/mcp/adapters/pipedrive.adapter.ts +324 -0
  1007. package/src/mcp/adapters/plaid.adapter.ts +444 -0
  1008. package/src/mcp/adapters/postmark.adapter.ts +387 -0
  1009. package/src/mcp/adapters/power-automate.adapter.ts +388 -0
  1010. package/src/mcp/adapters/quickbooks.adapter.ts +431 -0
  1011. package/src/mcp/adapters/recurly.adapter.ts +433 -0
  1012. package/src/mcp/adapters/reddit.adapter.ts +371 -0
  1013. package/src/mcp/adapters/render.adapter.ts +332 -0
  1014. package/src/mcp/adapters/ringcentral.adapter.ts +281 -0
  1015. package/src/mcp/adapters/rippling.adapter.ts +287 -0
  1016. package/src/mcp/adapters/salesforce.adapter.ts +321 -0
  1017. package/src/mcp/adapters/salesloft.adapter.ts +413 -0
  1018. package/src/mcp/adapters/sanity.adapter.ts +363 -0
  1019. package/src/mcp/adapters/sap.adapter.ts +483 -0
  1020. package/src/mcp/adapters/segment.adapter.ts +260 -0
  1021. package/src/mcp/adapters/sendgrid.adapter.ts +265 -0
  1022. package/src/mcp/adapters/sentry.adapter.ts +331 -0
  1023. package/src/mcp/adapters/servicenow.adapter.ts +468 -0
  1024. package/src/mcp/adapters/shopify.adapter.ts +451 -0
  1025. package/src/mcp/adapters/shortcut.adapter.ts +290 -0
  1026. package/src/mcp/adapters/slack.adapter.ts +380 -0
  1027. package/src/mcp/adapters/smartsheet.adapter.ts +326 -0
  1028. package/src/mcp/adapters/snowflake.adapter.ts +347 -0
  1029. package/src/mcp/adapters/snyk.adapter.ts +394 -0
  1030. package/src/mcp/adapters/splunk.adapter.ts +403 -0
  1031. package/src/mcp/adapters/square.adapter.ts +467 -0
  1032. package/src/mcp/adapters/statuspage.adapter.ts +401 -0
  1033. package/src/mcp/adapters/stripe.adapter.ts +380 -0
  1034. package/src/mcp/adapters/supabase.adapter.ts +334 -0
  1035. package/src/mcp/adapters/teamwork.adapter.ts +404 -0
  1036. package/src/mcp/adapters/telegram.adapter.ts +299 -0
  1037. package/src/mcp/adapters/terraform.adapter.ts +300 -0
  1038. package/src/mcp/adapters/todoist.adapter.ts +239 -0
  1039. package/src/mcp/adapters/trello.adapter.ts +316 -0
  1040. package/src/mcp/adapters/twilio.adapter.ts +233 -0
  1041. package/src/mcp/adapters/twitter.adapter.ts +348 -0
  1042. package/src/mcp/adapters/vercel.adapter.ts +219 -0
  1043. package/src/mcp/adapters/weaviate.adapter.ts +371 -0
  1044. package/src/mcp/adapters/webex.adapter.ts +237 -0
  1045. package/src/mcp/adapters/webflow.adapter.ts +287 -0
  1046. package/src/mcp/adapters/whatsapp.adapter.ts +273 -0
  1047. package/src/mcp/adapters/whereby.adapter.ts +240 -0
  1048. package/src/mcp/adapters/woocommerce.adapter.ts +454 -0
  1049. package/src/mcp/adapters/wordpress.adapter.ts +455 -0
  1050. package/src/mcp/adapters/workday.adapter.ts +354 -0
  1051. package/src/mcp/adapters/wrike.adapter.ts +349 -0
  1052. package/src/mcp/adapters/xero.adapter.ts +472 -0
  1053. package/src/mcp/adapters/youtube.adapter.ts +401 -0
  1054. package/src/mcp/adapters/zendesk.adapter.ts +399 -0
  1055. package/src/mcp/adapters/zoho-crm.adapter.ts +410 -0
  1056. package/src/mcp/adapters/zoom.adapter.ts +241 -0
  1057. package/src/mcp/adapters/zuora.adapter.ts +476 -0
  1058. package/src/mcp/framework/api-executor.ts +192 -0
  1059. package/src/mcp/framework/aws-sigv4.ts +216 -0
  1060. package/src/mcp/framework/credential-resolver.ts +128 -0
  1061. package/src/mcp/framework/skill-mcp-framework.ts +226 -0
  1062. package/src/mcp/framework/types.ts +130 -0
  1063. package/src/mcp/index.ts +124 -0
  1064. package/src/middleware/egress-filter.ts +81 -0
  1065. package/src/middleware/firewall.ts +121 -0
  1066. package/src/middleware/index.ts +33 -0
  1067. package/src/registry/cli.ts +63 -0
  1068. package/src/registry/server.ts +504 -0
  1069. package/src/runtime/agent-loop.ts +504 -0
  1070. package/src/runtime/email-channel.ts +120 -0
  1071. package/src/runtime/followup.ts +211 -0
  1072. package/src/runtime/gateway.ts +260 -0
  1073. package/src/runtime/hooks.ts +472 -0
  1074. package/src/runtime/index.ts +679 -0
  1075. package/src/runtime/llm-client.ts +1019 -0
  1076. package/src/runtime/providers.ts +231 -0
  1077. package/src/runtime/session-manager.ts +340 -0
  1078. package/src/runtime/subagent.ts +154 -0
  1079. package/src/runtime/tool-executor.ts +202 -0
  1080. package/src/runtime/types.ts +215 -0
  1081. package/src/server.ts +157 -45
  1082. package/src/setup/company.ts +127 -8
  1083. package/src/setup/database.ts +2 -1
  1084. package/src/setup/domain.ts +33 -4
  1085. package/src/setup/index.ts +19 -7
  1086. package/src/setup/provision.ts +128 -8
  1087. package/src/setup/registration.ts +227 -0
  1088. package/src/types/hono-env.ts +14 -0
  1089. package/src/types/optional-deps.d.ts +10 -0
  1090. package/start-live.mjs +12 -3
  1091. package/test-integration.mjs +628 -257
  1092. package/dist/chunk-77IDQJL3.js +0 -7
  1093. package/dist/chunk-BE7MXVLA.js +0 -757
  1094. package/dist/chunk-BS2WCSHO.js +0 -48
  1095. package/dist/chunk-FL3VQBGL.js +0 -757
  1096. package/dist/chunk-IQWA44WT.js +0 -970
  1097. package/dist/chunk-N2JVTNNJ.js +0 -2553
  1098. package/dist/chunk-YFDSE4BW.js +0 -1355
  1099. package/dist/db-adapter-DEWEFNIV.js +0 -7
  1100. package/dist/factory-V37IG5AT.js +0 -9
  1101. package/dist/routes-2JEPIIKC.js +0 -441
  1102. package/dist/server-32YYCI3A.js +0 -8
  1103. package/dist/server-H3C6WUOS.js +0 -8
  1104. package/dist/sqlite-3K5YOZ4K.js +0 -439
  1105. package/src/engine/agenticmail-bridge.ts +0 -296
  1106. package/src/engine/openclaw-hook.ts +0 -371
package/DEPLOYMENT.md ADDED
@@ -0,0 +1,1031 @@
1
+ # AgenticMail Enterprise — Deployment Guide
2
+
3
+ Complete step-by-step guide for deploying AgenticMail Enterprise at your organization.
4
+
5
+ ---
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Prerequisites](#1-prerequisites)
10
+ 2. [Installation](#2-installation)
11
+ 3. [Interactive Setup Wizard](#3-interactive-setup-wizard)
12
+ - [Step 1: Company Info](#step-1-company-info)
13
+ - [Step 2: Database](#step-2-database)
14
+ - [Step 3: Deployment Target](#step-3-deployment-target)
15
+ - [Step 4: Custom Domain](#step-4-custom-domain)
16
+ - [Step 5: Domain Registration](#step-5-domain-registration--protection)
17
+ 4. [Provisioning](#4-provisioning)
18
+ 5. [DNS Setup & Domain Verification](#5-dns-setup--domain-verification)
19
+ - [How DNS Works](#how-dns-works-quick-primer)
20
+ - [Record 1: Traffic Routing](#record-1-traffic-routing)
21
+ - [Adding DNS Records: Step-by-Step](#adding-dns-records-step-by-step) (Cloudflare, Namecheap, Route 53, GoDaddy)
22
+ - [Reverse Proxy Setup](#reverse-proxy-setup-docker--self-hosted) (Caddy, Nginx, Traefik)
23
+ - [Record 2: Domain Verification](#record-2-domain-ownership-verification-txt)
24
+ - [DNS Propagation](#dns-propagation)
25
+ 6. [Accessing Your Dashboard](#6-accessing-your-dashboard)
26
+ 7. [Firewall & Air-Gapped Deployment](#7-firewall--air-gapped-deployment)
27
+ 8. [Domain Recovery](#8-domain-recovery)
28
+ 9. [Deployment Targets Reference](#9-deployment-targets-reference)
29
+ 10. [Database Backends Reference](#10-database-backends-reference)
30
+ 11. [CLI Reference](#11-cli-reference)
31
+ 12. [Troubleshooting](#12-troubleshooting)
32
+
33
+ ---
34
+
35
+ ## 1. Prerequisites
36
+
37
+ Before you begin, make sure you have:
38
+
39
+ - **Node.js 18+** installed on your machine
40
+ - **npm** (comes with Node.js) or **yarn** / **pnpm**
41
+ - A **database** ready (see [Database Backends](#10-database-backends-reference) for options)
42
+ - Access to your **DNS provider** (if using a custom domain)
43
+ - A **terminal / command line** — the setup is fully interactive
44
+
45
+ Optional:
46
+ - Docker (if deploying via Docker)
47
+ - Fly.io or Railway CLI (if deploying to those platforms)
48
+
49
+ ---
50
+
51
+ ## 2. Installation
52
+
53
+ Open your terminal and run:
54
+
55
+ ```bash
56
+ npx @agenticmail/enterprise
57
+ ```
58
+
59
+ This downloads the package and immediately launches the interactive setup wizard.
60
+
61
+ Alternatively, install globally:
62
+
63
+ ```bash
64
+ npm install -g @agenticmail/enterprise
65
+ agenticmail-enterprise
66
+ ```
67
+
68
+ Or add to an existing project:
69
+
70
+ ```bash
71
+ npm install @agenticmail/enterprise
72
+ npx agenticmail-enterprise
73
+ ```
74
+
75
+ ---
76
+
77
+ ## 3. Interactive Setup Wizard
78
+
79
+ The setup wizard walks you through 5 steps. Each step is interactive — you'll be prompted with questions and can make selections with your keyboard.
80
+
81
+ ### Step 1: Company Info
82
+
83
+ You'll be asked for three things:
84
+
85
+ | Prompt | Description | Example |
86
+ |--------|-------------|---------|
87
+ | **Company name** | Your organization's name (max 100 chars) | `AgenticMail Inc` |
88
+ | **Admin email** | The email for the first admin account | `admin@agenticmail.io` |
89
+ | **Admin password** | Password for the admin account (min 8 chars, must include an uppercase letter or number) | `SecurePass123` |
90
+
91
+ After entering your details, you'll be asked to pick a **subdomain**. This is used for your dashboard URL (e.g., `agenticmail-inc.agenticmail.io`) and internal routing.
92
+
93
+ The wizard generates suggestions based on your company name, but you have full control:
94
+
95
+ - **Pick a suggestion** — the recommended option plus several alternatives
96
+ - **Enter your own** — type any valid subdomain (lowercase, letters/numbers/hyphens)
97
+ - **Generate more** — get a fresh batch of random suggestions if none fit
98
+
99
+ ```
100
+ Step 1 of 5: Company Info
101
+ Tell us about your organization.
102
+
103
+ ? Company name: AgenticMail Inc
104
+ ? Admin email: admin@agenticmail.io
105
+ ? Admin password: ********
106
+
107
+ Subdomain
108
+ Used for your dashboard URL and internal routing.
109
+
110
+ ? Choose a subdomain:
111
+ ❯ agenticmail-inc (recommended)
112
+ ai
113
+ agenticmail
114
+ team-agenticmail-inc
115
+ app-agenticmail-inc
116
+ agenticmail-hq
117
+ ──────────────
118
+ Enter my own...
119
+ Generate more suggestions
120
+ ```
121
+
122
+ ### Step 2: Database
123
+
124
+ Choose where your data will be stored. **All your company data stays in your own database** — AgenticMail Enterprise never has access to it.
125
+
126
+ You'll see a list of 10 supported backends:
127
+
128
+ | Backend | Group | Connection Format |
129
+ |---------|-------|-------------------|
130
+ | **SQLite** | Local | File path (e.g., `./agenticmail-enterprise.db`) |
131
+ | **PostgreSQL** | Self-hosted | `postgresql://user:pass@host:5432/dbname` |
132
+ | **MySQL** | Self-hosted | `mysql://user:pass@host:3306/dbname` |
133
+ | **MongoDB** | Self-hosted | `mongodb+srv://user:pass@cluster/dbname` |
134
+ | **Supabase** | Managed | `postgresql://postgres:pass@db.xxx.supabase.co:5432/postgres` |
135
+ | **Neon** | Managed | `postgresql://user:pass@ep-xxx.neon.tech/dbname?sslmode=require` |
136
+ | **PlanetScale** | Managed | `mysql://user:pass@aws.connect.psdb.cloud/dbname` |
137
+ | **CockroachDB** | Managed | `postgresql://user:pass@cluster.cockroachlabs.cloud:26257/dbname` |
138
+ | **Turso** | Managed | `libsql://db-org.turso.io` + auth token |
139
+ | **DynamoDB** | AWS | Region + Access Key ID + Secret Access Key |
140
+
141
+ **For quick testing**, pick **SQLite** — it creates a local file with zero setup:
142
+
143
+ ```
144
+ Step 2 of 5: Database
145
+ Where should your data live?
146
+
147
+ ? Database backend: SQLite (Local)
148
+ ? Database file path: ./agenticmail-enterprise.db
149
+ ```
150
+
151
+ **For production**, we recommend PostgreSQL, Supabase, Neon, or Turso.
152
+
153
+ ### Step 3: Deployment Target
154
+
155
+ Choose where the AgenticMail Enterprise server will run:
156
+
157
+ | Target | Best For |
158
+ |--------|----------|
159
+ | **AgenticMail Cloud** | Fastest — instant URL, managed hosting |
160
+ | **Fly.io** | Your own Fly.io account, global edge deployment |
161
+ | **Railway** | Your own Railway account, simple PaaS |
162
+ | **Docker** | Self-hosted, generates `docker-compose.yml` + `.env` |
163
+ | **Local** | Development/testing — starts a server on `localhost:3000` |
164
+
165
+ ```
166
+ Step 3 of 5: Deployment
167
+ Where should your dashboard run?
168
+
169
+ ? Deploy to: Local (dev/testing, runs here)
170
+ ```
171
+
172
+ ### Step 4: Custom Domain
173
+
174
+ > Skipped automatically for Local deployments.
175
+
176
+ If you chose a cloud or self-hosted deployment, you can point your own domain at the dashboard. The wizard explains what's needed based on your deployment target:
177
+
178
+ ```
179
+ Step 4 of 5: Custom Domain
180
+ Point your own domain at this deployment.
181
+
182
+ Your dashboard will be accessible at this domain instead of the
183
+ default .agenticmail.io URL.
184
+
185
+ ? Add a custom domain? Yes
186
+ ? Custom domain: agents.agenticmail.io
187
+
188
+ After setup, you will need two DNS records for this domain:
189
+
190
+ 1. CNAME or A record — routes traffic to your server
191
+ (instructions shown after deployment)
192
+ 2. TXT record — proves domain ownership (next step)
193
+ ```
194
+
195
+ **Two DNS records are needed** for a custom domain — they serve different purposes:
196
+
197
+ | Record | Purpose | When to Add |
198
+ |--------|---------|-------------|
199
+ | **CNAME or A** | Routes browser traffic from `agents.agenticmail.io` to your actual server | After deployment (Step 4 shows you the target) |
200
+ | **TXT** | Proves you own the domain to the AgenticMail registry (prevents impersonation) | During or after setup (Step 5) |
201
+
202
+ The setup wizard shows you exactly what DNS records to create, tailored to your deployment target. For example:
203
+
204
+ - **AgenticMail Cloud**: `CNAME agents.agenticmail.io → agenticmail-inc.agenticmail.io`
205
+ - **Fly.io**: `CNAME agents.agenticmail.io → am-agenticmail-inc.fly.dev` + run `fly certs add`
206
+ - **Railway**: Add the domain in Railway's dashboard, then create the CNAME it tells you
207
+ - **Docker**: Point an A record to your server IP, configure a reverse proxy (nginx, Caddy, etc.)
208
+
209
+ ### Step 5: Domain Registration & Protection
210
+
211
+ > Skipped automatically if no custom domain was configured.
212
+
213
+ This is the most important step for production deployments. Domain Registration ensures:
214
+
215
+ - **No one else** can deploy AgenticMail Enterprise on your domain
216
+ - Your deployment is **cryptographically protected** with a 256-bit key
217
+ - Domain ownership is **proven via DNS** (industry standard)
218
+ - After verification, your system runs **100% offline** — no phone-home, ever
219
+
220
+ #### How it works:
221
+
222
+ 1. **You confirm** you want to register your domain
223
+ 2. A **256-bit deployment key** is generated (64-character hex string)
224
+ 3. The domain + key hash is sent to the AgenticMail registry (one-time HTTPS call)
225
+ 4. The registry returns a **DNS challenge** (a TXT record value)
226
+ 5. You **save your deployment key** (shown once, never stored anywhere)
227
+ 6. You add the **DNS TXT record** to prove domain ownership
228
+
229
+ ```
230
+ Step 5 of 5: Domain Registration
231
+ Protect your deployment from unauthorized duplication.
232
+
233
+ ? Register agents.agenticmail.io with AgenticMail? Yes
234
+
235
+ ✔ Deployment key generated
236
+ ✔ Domain registered
237
+
238
+ ╔══════════════════════════════════════════════════════════════════════╗
239
+ ║ DEPLOYMENT KEY — SAVE THIS NOW ║
240
+ ║ ║
241
+ ║ a1b2c3d4e5f6... (64 hex characters) ║
242
+ ║ ║
243
+ ║ This key is shown ONCE. Store it securely (password manager, ║
244
+ ║ vault, printed backup). You need it to recover this domain. ║
245
+ ╚══════════════════════════════════════════════════════════════════════╝
246
+
247
+ Add this DNS TXT record to prove domain ownership:
248
+
249
+ Host: _agenticmail-verify.agents.agenticmail.io
250
+ Type: TXT
251
+ Value: am-verify=a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6
252
+
253
+ DNS changes can take up to 48 hours to propagate.
254
+
255
+ ? I have saved my deployment key: Yes
256
+ ? Check DNS verification now? No
257
+ ```
258
+
259
+ **CRITICAL: Save your deployment key immediately.** Store it in:
260
+ - A password manager (1Password, Bitwarden, etc.)
261
+ - A secure vault (HashiCorp Vault, AWS Secrets Manager)
262
+ - A printed backup in a secure location
263
+
264
+ You will need this key if you ever need to recover your deployment on a new machine.
265
+
266
+ ---
267
+
268
+ ## 4. Provisioning
269
+
270
+ After all 5 steps, the wizard automatically provisions your deployment:
271
+
272
+ ```
273
+ ─────────────────────────────────────────
274
+
275
+ ⠋ Connecting to database...
276
+ ✔ Database ready
277
+ ✔ Engine ready (7 migrations applied)
278
+ ✔ Company created
279
+ ✔ Domain registration saved
280
+ ✔ Admin account created
281
+ ✔ Server running
282
+
283
+ AgenticMail Enterprise is running!
284
+
285
+ Dashboard: http://localhost:3000
286
+ API: http://localhost:3000/api
287
+ Admin: admin@agenticmail.io
288
+
289
+ Press Ctrl+C to stop
290
+ ```
291
+
292
+ What happens during provisioning:
293
+ 1. **Database** — connects and runs all migrations (creates tables, indexes)
294
+ 2. **Engine** — initializes the AI agent engine (skills, permissions, knowledge bases)
295
+ 3. **Company** — stores your company name, subdomain, and domain settings
296
+ 4. **Domain Registration** — saves the key hash, DNS challenge, and registration ID
297
+ 5. **Admin Account** — creates the first admin user with your email/password
298
+ 6. **Deployment** — starts the server or generates deployment files
299
+
300
+ ---
301
+
302
+ ## 5. DNS Setup & Domain Verification
303
+
304
+ > Skip this section entirely if you didn't set a custom domain in Step 4.
305
+
306
+ This section explains how to make your custom domain (like `agents.agenticmail.io`) actually load your AgenticMail dashboard in a browser. It covers two things:
307
+
308
+ 1. **Traffic routing** — making `agents.agenticmail.io` point to your server so people can visit it
309
+ 2. **Ownership verification** — proving to the AgenticMail registry that you own this domain
310
+
311
+ ### How DNS Works (Quick Primer)
312
+
313
+ When someone types `agents.agenticmail.io` in their browser, here's what happens:
314
+
315
+ ```
316
+ Browser DNS Provider Your Server
317
+ │ (Cloudflare/ (where AgenticMail
318
+ │ Namecheap) is running)
319
+ │ │ │
320
+ │ "Where is │ │
321
+ │ agents.agenticmail.io?" │ │
322
+ │ ─────────────────────────► │ │
323
+ │ │ │
324
+ │ "It's at 143.198.50.100" │ │
325
+ │ ◄───────────────────────── │ │
326
+ │ │ │
327
+ │ Connect to 143.198.50.100 │ │
328
+ │ ───────────────────────────┼─────────────────────────► │
329
+ │ │ │
330
+ │ Dashboard HTML │ │
331
+ │ ◄──────────────────────────┼────────────────────────── │
332
+ ```
333
+
334
+ Your **DNS provider** (Cloudflare, Namecheap, etc.) is the phone book. You add **records** that tell browsers where to find your server. Without these records, the browser has no idea where `agents.agenticmail.io` lives.
335
+
336
+ There are two types of records you'll need:
337
+
338
+ | Record Type | What It Does | Analogy |
339
+ |-------------|-------------|---------|
340
+ | **A record** | Points a domain directly to an IP address (e.g., `143.198.50.100`) | "The restaurant is at 123 Main St" |
341
+ | **CNAME record** | Points a domain to another domain (e.g., `agenticmail-inc.fly.dev`) | "The restaurant is wherever Joe's Diner is" |
342
+ | **TXT record** | Stores text data (doesn't route traffic — used for verification) | "Here's a note proving I own this address" |
343
+
344
+ ### Record 1: Traffic Routing
345
+
346
+ This is the record that makes your dashboard load when someone visits your domain.
347
+
348
+ **What to add depends on your deployment target:**
349
+
350
+ #### If you deployed to AgenticMail Cloud
351
+
352
+ | Field | Value |
353
+ |-------|-------|
354
+ | **Type** | `CNAME` |
355
+ | **Name / Host** | `agents` (the subdomain part of `agents.agenticmail.io`) |
356
+ | **Value / Target** | `agenticmail-inc.agenticmail.io` (shown in setup output) |
357
+
358
+ #### If you deployed to Fly.io
359
+
360
+ | Field | Value |
361
+ |-------|-------|
362
+ | **Type** | `CNAME` |
363
+ | **Name / Host** | `agents` |
364
+ | **Value / Target** | `am-agenticmail-inc.fly.dev` (shown in setup output) |
365
+
366
+ Also run: `fly certs add agents.agenticmail.io` — Fly will auto-provision an SSL certificate.
367
+
368
+ #### If you deployed to Railway
369
+
370
+ Railway gives you the CNAME target in their dashboard:
371
+ 1. Open your Railway project
372
+ 2. Go to **Settings** > **Domains** > **Add Custom Domain**
373
+ 3. Railway shows you a target like `your-app-production-xxxx.up.railway.app`
374
+ 4. Add that as a CNAME in your DNS provider
375
+
376
+ #### If you deployed to Docker / VPS / your own server
377
+
378
+ You need the **IP address** of the server where Docker is running.
379
+
380
+ | Field | Value |
381
+ |-------|-------|
382
+ | **Type** | `A` |
383
+ | **Name / Host** | `agents` |
384
+ | **Value / Target** | Your server's IP (e.g., `143.198.50.100`) |
385
+
386
+ You also need a **reverse proxy** on your server to forward traffic from port 80/443 to the AgenticMail container on port 3000. See [Reverse Proxy Setup](#reverse-proxy-setup-docker--self-hosted) below.
387
+
388
+ ---
389
+
390
+ ### Adding DNS Records: Step-by-Step
391
+
392
+ #### Cloudflare
393
+
394
+ 1. Log in to [dash.cloudflare.com](https://dash.cloudflare.com)
395
+ 2. Select your domain (`agenticmail.io`)
396
+ 3. Click **DNS** in the left sidebar
397
+ 4. Click **Add Record**
398
+
399
+ **For the traffic routing CNAME (using Cloud deployment as example):**
400
+
401
+ ```
402
+ Type: CNAME
403
+ Name: agents
404
+ Target: agenticmail-inc.agenticmail.io
405
+ Proxy: DNS only (click the orange cloud to make it gray)
406
+ TTL: Auto
407
+ ```
408
+
409
+ > **Important:** Set the proxy toggle to **DNS only** (gray cloud) initially. Cloudflare's proxy can interfere with WebSocket connections. You can enable it later once you confirm the dashboard loads.
410
+
411
+ **For the verification TXT record:**
412
+
413
+ ```
414
+ Type: TXT
415
+ Name: _agenticmail-verify.agents
416
+ Content: am-verify=a1b2c3d4e5f6... (the value from Step 5)
417
+ TTL: Auto
418
+ ```
419
+
420
+ Click **Save** for each record.
421
+
422
+ #### Namecheap
423
+
424
+ 1. Log in to [namecheap.com](https://www.namecheap.com) > **Domain List**
425
+ 2. Click **Manage** next to your domain (`agenticmail.io`)
426
+ 3. Go to the **Advanced DNS** tab
427
+ 4. Click **Add New Record**
428
+
429
+ **For the traffic routing CNAME:**
430
+
431
+ ```
432
+ Type: CNAME Record
433
+ Host: agents
434
+ Value: agenticmail-inc.agenticmail.io.
435
+ TTL: Automatic
436
+ ```
437
+
438
+ > **Note:** Namecheap sometimes requires a trailing dot (`.`) on CNAME values. If it doesn't work without it, add one: `agenticmail-inc.agenticmail.io.`
439
+
440
+ **For the verification TXT record:**
441
+
442
+ ```
443
+ Type: TXT Record
444
+ Host: _agenticmail-verify.agents
445
+ Value: am-verify=a1b2c3d4e5f6... (the value from Step 5)
446
+ TTL: Automatic
447
+ ```
448
+
449
+ Click the green checkmark to save each record.
450
+
451
+ #### AWS Route 53
452
+
453
+ 1. Go to **Route 53** > **Hosted Zones** > select your domain
454
+ 2. Click **Create Record**
455
+
456
+ **For CNAME:**
457
+ - Record name: `agents`
458
+ - Record type: `CNAME`
459
+ - Value: `agenticmail-inc.agenticmail.io`
460
+ - TTL: `300`
461
+
462
+ **For TXT:**
463
+ - Record name: `_agenticmail-verify.agents`
464
+ - Record type: `TXT`
465
+ - Value: `"am-verify=a1b2c3d4e5f6..."` (wrap in double quotes for Route 53)
466
+ - TTL: `300`
467
+
468
+ #### GoDaddy
469
+
470
+ 1. Go to **My Products** > **DNS** next to your domain
471
+ 2. Click **Add** under DNS Records
472
+
473
+ **For CNAME:**
474
+ - Type: `CNAME`
475
+ - Name: `agents`
476
+ - Value: `agenticmail-inc.agenticmail.io`
477
+ - TTL: `1 Hour`
478
+
479
+ **For TXT:**
480
+ - Type: `TXT`
481
+ - Name: `_agenticmail-verify.agents`
482
+ - Value: `am-verify=a1b2c3d4e5f6...`
483
+ - TTL: `1 Hour`
484
+
485
+ #### Other Providers
486
+
487
+ The fields are the same everywhere — only the UI differs. Look for "DNS Management", "DNS Records", or "Zone Editor" in your provider's dashboard. You need:
488
+
489
+ 1. A **CNAME** (or **A** for self-hosted) record for `agents` pointing to your server
490
+ 2. A **TXT** record for `_agenticmail-verify.agents` with the verification value
491
+
492
+ ---
493
+
494
+ ### Reverse Proxy Setup (Docker / Self-Hosted)
495
+
496
+ If you're running AgenticMail on your own server (Docker, bare metal, VM), you need a reverse proxy to:
497
+ - Forward traffic from port 80/443 to port 3000 (where AgenticMail runs)
498
+ - Handle SSL/TLS certificates (HTTPS)
499
+
500
+ #### Option A: Caddy (Recommended — automatic HTTPS)
501
+
502
+ Install [Caddy](https://caddyserver.com), then create a `Caddyfile`:
503
+
504
+ ```
505
+ agents.agenticmail.io {
506
+ reverse_proxy localhost:3000
507
+ }
508
+ ```
509
+
510
+ Run: `caddy run`
511
+
512
+ Caddy automatically obtains and renews SSL certificates from Let's Encrypt.
513
+
514
+ #### Option B: Nginx + Let's Encrypt
515
+
516
+ Install nginx and certbot, then create `/etc/nginx/sites-available/agenticmail`:
517
+
518
+ ```nginx
519
+ server {
520
+ listen 80;
521
+ server_name agents.agenticmail.io;
522
+ return 301 https://$host$request_uri;
523
+ }
524
+
525
+ server {
526
+ listen 443 ssl;
527
+ server_name agents.agenticmail.io;
528
+
529
+ ssl_certificate /etc/letsencrypt/live/agents.agenticmail.io/fullchain.pem;
530
+ ssl_certificate_key /etc/letsencrypt/live/agents.agenticmail.io/privkey.pem;
531
+
532
+ location / {
533
+ proxy_pass http://localhost:3000;
534
+ proxy_set_header Host $host;
535
+ proxy_set_header X-Real-IP $remote_addr;
536
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
537
+ proxy_set_header X-Forwarded-Proto $scheme;
538
+ }
539
+ }
540
+ ```
541
+
542
+ Then:
543
+ ```bash
544
+ sudo ln -s /etc/nginx/sites-available/agenticmail /etc/nginx/sites-enabled/
545
+ sudo certbot --nginx -d agents.agenticmail.io
546
+ sudo nginx -t && sudo systemctl reload nginx
547
+ ```
548
+
549
+ #### Option C: Docker Compose with Traefik
550
+
551
+ Add Traefik to your `docker-compose.yml`:
552
+
553
+ ```yaml
554
+ services:
555
+ traefik:
556
+ image: traefik:v3.0
557
+ command:
558
+ - "--providers.docker=true"
559
+ - "--entrypoints.web.address=:80"
560
+ - "--entrypoints.websecure.address=:443"
561
+ - "--certificatesresolvers.letsencrypt.acme.email=admin@agenticmail.io"
562
+ - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
563
+ - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
564
+ ports:
565
+ - "80:80"
566
+ - "443:443"
567
+ volumes:
568
+ - /var/run/docker.sock:/var/run/docker.sock
569
+ - letsencrypt:/letsencrypt
570
+
571
+ agenticmail:
572
+ image: node:20
573
+ working_dir: /app
574
+ command: node dist/cli.js
575
+ labels:
576
+ - "traefik.http.routers.agenticmail.rule=Host(`agents.agenticmail.io`)"
577
+ - "traefik.http.routers.agenticmail.tls.certresolver=letsencrypt"
578
+ - "traefik.http.services.agenticmail.loadbalancer.server.port=3000"
579
+ env_file: .env
580
+
581
+ volumes:
582
+ letsencrypt:
583
+ ```
584
+
585
+ ---
586
+
587
+ ### Record 2: Domain Ownership Verification (TXT)
588
+
589
+ This is a **separate concern** from traffic routing. The TXT record doesn't affect whether your dashboard loads — it proves to the AgenticMail registry that you own this domain, which protects your deployment from unauthorized duplication.
590
+
591
+ You already added this record in the provider-specific steps above. To confirm:
592
+
593
+ | Field | Value |
594
+ |-------|-------|
595
+ | **Type** | `TXT` |
596
+ | **Name / Host** | `_agenticmail-verify.agents` (if your domain is `agents.agenticmail.io`) |
597
+ | **Value** | The `am-verify=...` string from Step 5 |
598
+ | **TTL** | Default / Auto |
599
+
600
+ > **Host field gotcha:** Each DNS provider handles the host field differently:
601
+ > - **Cloudflare**: Enter `_agenticmail-verify.agents` (auto-appends your domain)
602
+ > - **Namecheap**: Enter `_agenticmail-verify.agents` (auto-appends your domain)
603
+ > - **Route 53**: Enter `_agenticmail-verify.agents` (auto-appends your domain)
604
+ > - **GoDaddy**: Enter `_agenticmail-verify.agents` (auto-appends your domain)
605
+ > - **If in doubt**: Try `_agenticmail-verify.agents.agenticmail.io` as the full name. Some providers want the full hostname, others just the subdomain part.
606
+
607
+ ### Checking Verification Status
608
+
609
+ After adding both DNS records, verify ownership with the CLI:
610
+
611
+ ```bash
612
+ agenticmail-enterprise verify-domain
613
+ ```
614
+
615
+ Or specify the domain explicitly:
616
+
617
+ ```bash
618
+ agenticmail-enterprise verify-domain --domain agents.agenticmail.io
619
+ ```
620
+
621
+ If you stored your data in a specific database file:
622
+
623
+ ```bash
624
+ agenticmail-enterprise verify-domain --db ./agenticmail-enterprise.db
625
+ ```
626
+
627
+ The command will:
628
+ 1. Read your domain from the local database (or ask you)
629
+ 2. Contact the AgenticMail registry to check the DNS TXT record
630
+ 3. Update your local database status to `verified` on success
631
+
632
+ ```
633
+ AgenticMail Enterprise — Domain Verification
634
+
635
+ ✔ Domain verified!
636
+
637
+ agents.agenticmail.io is verified and protected.
638
+ Your deployment domain is locked. No other instance can claim it.
639
+ ```
640
+
641
+ ### DNS Propagation
642
+
643
+ DNS changes are **not instant**. After adding records:
644
+
645
+ | Provider | Typical Propagation Time |
646
+ |----------|-------------------------|
647
+ | Cloudflare | 1–5 minutes |
648
+ | Namecheap | 5–30 minutes |
649
+ | Route 53 | 60 seconds (TTL-dependent) |
650
+ | GoDaddy | 30 minutes – 24 hours |
651
+
652
+ If verification fails, just wait and try again. Your AgenticMail dashboard works normally while verification is pending — nothing is blocked.
653
+
654
+ You can check if your DNS records have propagated using online tools:
655
+ - [dnschecker.org](https://dnschecker.org) — check any record type globally
656
+ - `dig _agenticmail-verify.agents.agenticmail.io TXT` — check from your terminal
657
+ - `nslookup -type=TXT _agenticmail-verify.agents.agenticmail.io` — Windows alternative
658
+
659
+ ---
660
+
661
+ ## 6. Accessing Your Dashboard
662
+
663
+ Once the server is running, open the dashboard URL in your browser:
664
+
665
+ - **Local**: `http://localhost:3000`
666
+ - **Cloud**: The URL shown after setup (e.g., `https://agenticmail-inc.agenticmail.io`)
667
+ - **Docker**: `http://localhost:3000` (or your mapped port)
668
+
669
+ Log in with the **admin email** and **password** you set during Step 1.
670
+
671
+ The dashboard gives you access to:
672
+ - **Agents** — Create, configure, and manage AI agents
673
+ - **Skills** — Browse 217+ built-in skills and community skills
674
+ - **Knowledge Bases** — Upload documents for agent reference
675
+ - **Approvals** — Review agent actions that need human approval
676
+ - **Messages** — Agent-to-agent and agent-to-human communication
677
+ - **Guardrails** — Pause, resume, and monitor agent behavior
678
+ - **Journal** — Full audit trail of every agent action
679
+ - **DLP** — Data loss prevention rules and scanning
680
+ - **Compliance** — SOC2, GDPR, and audit reporting
681
+ - **Domain Status** — View domain verification status and DNS instructions
682
+ - **Users** — Manage team members and roles
683
+ - **Settings** — Company config, SMTP, branding
684
+
685
+ ---
686
+
687
+ ## 7. Firewall & Air-Gapped Deployment
688
+
689
+ AgenticMail Enterprise is designed to run entirely behind your corporate firewall.
690
+
691
+ ### What Requires Internet Access
692
+
693
+ | Action | When | Direction |
694
+ |--------|------|-----------|
695
+ | Domain Registration | Once, during setup | Outbound HTTPS to `registry.agenticmail.com` |
696
+ | DNS Verification | Once, after adding DNS record | Outbound HTTPS to `registry.agenticmail.com` |
697
+ | Domain Recovery | Only if migrating to a new machine | Outbound HTTPS to `registry.agenticmail.com` |
698
+
699
+ ### What Runs 100% Offline
700
+
701
+ After domain verification completes, **everything else** runs without any internet access:
702
+
703
+ - Dashboard and admin UI
704
+ - All API endpoints
705
+ - Agent creation, management, and execution
706
+ - Skills engine and permission system
707
+ - Knowledge base management
708
+ - Audit logging and compliance reporting
709
+ - DLP scanning and guardrails
710
+ - Agent-to-agent communication
711
+ - All database operations
712
+
713
+ ### Air-Gapped Setup
714
+
715
+ For fully air-gapped environments (no internet at all):
716
+
717
+ 1. **Pre-register** your domain on a machine with internet access:
718
+ ```bash
719
+ npx @agenticmail/enterprise
720
+ # Complete Step 5, save your deployment key and DNS challenge
721
+ ```
722
+
723
+ 2. **Add the DNS TXT record** from a machine with DNS access
724
+
725
+ 3. **Verify** from the internet-connected machine:
726
+ ```bash
727
+ agenticmail-enterprise verify-domain --domain agents.agenticmail.io
728
+ ```
729
+
730
+ 4. **Transfer** the deployment to the air-gapped machine:
731
+ - Copy the database file (SQLite) or ensure the air-gapped machine can reach your database server
732
+ - Install the npm package on the air-gapped machine
733
+ - Start the server — it will read the verified status from the local database and run without any outbound calls
734
+
735
+ 5. **Skip registration** if needed — the system runs fine without domain registration. It's a protection mechanism, not a requirement.
736
+
737
+ ---
738
+
739
+ ## 8. Domain Recovery
740
+
741
+ If you lose access to your deployment (server crash, machine failure, etc.) and need to deploy on a new machine:
742
+
743
+ ### Prerequisites
744
+
745
+ You need:
746
+ - Your **domain name** (e.g., `agents.agenticmail.io`)
747
+ - Your **deployment key** (the 64-character hex string from Step 5)
748
+
749
+ ### Recovery Steps
750
+
751
+ 1. **Run the recovery command:**
752
+
753
+ ```bash
754
+ agenticmail-enterprise recover --domain agents.agenticmail.io --key YOUR_64_CHAR_HEX_KEY
755
+ ```
756
+
757
+ Or interactively:
758
+
759
+ ```bash
760
+ agenticmail-enterprise recover
761
+ ```
762
+
763
+ ```
764
+ AgenticMail Enterprise — Domain Recovery
765
+ Recover your domain registration on a new machine.
766
+
767
+ ? Domain to recover: agents.agenticmail.io
768
+ ? Deployment key: ********
769
+
770
+ ✔ Domain recovery initiated
771
+ ```
772
+
773
+ 2. **A new DNS challenge is issued.** Update your DNS TXT record:
774
+
775
+ ```
776
+ Update your DNS TXT record:
777
+
778
+ Host: _agenticmail-verify.agents.agenticmail.io
779
+ Type: TXT
780
+ Value: am-verify=NEW_CHALLENGE_VALUE
781
+
782
+ Then run: agenticmail-enterprise verify-domain
783
+ ```
784
+
785
+ 3. **Update the DNS record** at your DNS provider with the new value
786
+
787
+ 4. **Verify** the updated record:
788
+
789
+ ```bash
790
+ agenticmail-enterprise verify-domain --domain agents.agenticmail.io
791
+ ```
792
+
793
+ 5. **Re-run setup** or start the server manually to continue operations
794
+
795
+ ### Recovery with Database
796
+
797
+ If you also want to write recovery data directly to your local database:
798
+
799
+ ```bash
800
+ agenticmail-enterprise recover \
801
+ --domain agents.agenticmail.io \
802
+ --key YOUR_64_CHAR_HEX_KEY \
803
+ --db ./agenticmail-enterprise.db \
804
+ --db-type sqlite
805
+ ```
806
+
807
+ ### What Happens During Recovery
808
+
809
+ 1. Your deployment key is sent to the AgenticMail registry (HTTPS)
810
+ 2. The registry verifies it against the stored bcrypt hash
811
+ 3. If the key matches, a **new DNS challenge** is issued
812
+ 4. The old DNS challenge is invalidated
813
+ 5. You must re-verify DNS with the new challenge
814
+ 6. Once verified, the system runs offline again
815
+
816
+ ---
817
+
818
+ ## 9. Deployment Targets Reference
819
+
820
+ ### Local (Development)
821
+
822
+ ```bash
823
+ agenticmail-enterprise
824
+ # Select "Local" in Step 3
825
+ ```
826
+
827
+ Starts a server on `http://localhost:3000`. Press `Ctrl+C` to stop.
828
+
829
+ ### Docker (Self-Hosted)
830
+
831
+ ```bash
832
+ agenticmail-enterprise
833
+ # Select "Docker" in Step 3
834
+ ```
835
+
836
+ Generates:
837
+ - `docker-compose.yml` — container configuration
838
+ - `.env` — secrets (database URL, JWT secret)
839
+
840
+ Then run:
841
+
842
+ ```bash
843
+ docker compose up -d
844
+ ```
845
+
846
+ Dashboard at `http://localhost:3000`.
847
+
848
+ ### Fly.io
849
+
850
+ ```bash
851
+ agenticmail-enterprise
852
+ # Select "Fly.io" in Step 3
853
+ ```
854
+
855
+ Generates `fly.toml`. Then:
856
+
857
+ ```bash
858
+ fly launch --copy-config
859
+ fly secrets set DATABASE_URL="your_connection_string" JWT_SECRET="your_jwt_secret"
860
+ fly deploy
861
+ ```
862
+
863
+ ### Railway
864
+
865
+ ```bash
866
+ agenticmail-enterprise
867
+ # Select "Railway" in Step 3
868
+ ```
869
+
870
+ Generates `railway.toml`. Then:
871
+
872
+ ```bash
873
+ railway init
874
+ railway link
875
+ railway up
876
+ ```
877
+
878
+ ### AgenticMail Cloud
879
+
880
+ ```bash
881
+ agenticmail-enterprise
882
+ # Select "AgenticMail Cloud" in Step 3
883
+ ```
884
+
885
+ Deploys instantly. You'll get a URL like `https://agenticmail-inc.agenticmail.io`.
886
+
887
+ ---
888
+
889
+ ## 10. Database Backends Reference
890
+
891
+ | Backend | Best For | Setup Complexity |
892
+ |---------|----------|-----------------|
893
+ | **SQLite** | Development, small teams, air-gapped | None — just a file path |
894
+ | **PostgreSQL** | Production, teams of any size | Moderate — need a running Postgres server |
895
+ | **MySQL** | Production, existing MySQL infrastructure | Moderate — need a running MySQL server |
896
+ | **MongoDB** | Teams using MongoDB already | Moderate — need a running MongoDB instance |
897
+ | **Supabase** | Quick managed Postgres | Low — sign up at supabase.com, get connection string |
898
+ | **Neon** | Serverless Postgres | Low — sign up at neon.tech, get connection string |
899
+ | **PlanetScale** | Serverless MySQL | Low — sign up at planetscale.com, get connection string |
900
+ | **CockroachDB** | Distributed SQL, high availability | Moderate — sign up at cockroachlabs.com |
901
+ | **Turso** | Edge-replicated SQLite (libSQL) | Low — sign up at turso.tech, get URL + token |
902
+ | **DynamoDB** | AWS-native, serverless | Moderate — need AWS credentials and region |
903
+
904
+ ---
905
+
906
+ ## 11. CLI Reference
907
+
908
+ ```
909
+ AgenticMail Enterprise CLI
910
+
911
+ Commands:
912
+ setup Interactive setup wizard (default)
913
+ validate <path> Validate a community skill manifest
914
+ --all Validate all skills in community-skills/
915
+ --json Machine-readable output
916
+ build-skill AI-assisted skill scaffolding
917
+ submit-skill <path> Submit a skill as a PR
918
+ recover Recover a domain registration on a new machine
919
+ verify-domain Check DNS verification for your domain
920
+
921
+ Domain Registration:
922
+ agenticmail-enterprise recover --domain agents.agenticmail.io --key <hex>
923
+ agenticmail-enterprise verify-domain
924
+ agenticmail-enterprise verify-domain --domain agents.agenticmail.io
925
+
926
+ Skill Development:
927
+ agenticmail-enterprise validate ./community-skills/github-issues/
928
+ agenticmail-enterprise validate --all
929
+ agenticmail-enterprise build-skill
930
+ agenticmail-enterprise submit-skill ./community-skills/my-skill/
931
+ ```
932
+
933
+ ### Registry Server (for AgenticMail operators)
934
+
935
+ If you're self-hosting the domain registry:
936
+
937
+ ```bash
938
+ node dist/registry/cli.js --port 8080 --db ./registry.db
939
+ ```
940
+
941
+ Set `AGENTICMAIL_REGISTRY_URL` to point your deployments at your own registry:
942
+
943
+ ```bash
944
+ export AGENTICMAIL_REGISTRY_URL=https://your-registry.example.com/v1
945
+ ```
946
+
947
+ ---
948
+
949
+ ## 12. Troubleshooting
950
+
951
+ ### "Domain already registered" (409 error)
952
+
953
+ This means someone has already registered and verified this domain. If it's yours:
954
+
955
+ ```bash
956
+ agenticmail-enterprise recover --domain your.domain.com
957
+ ```
958
+
959
+ If the domain was registered but never verified (pending DNS), re-registration is allowed automatically.
960
+
961
+ ### "Registry unavailable" during setup
962
+
963
+ The AgenticMail registry couldn't be reached. This is non-blocking — select "Continue setup without registration" and register later:
964
+
965
+ ```bash
966
+ agenticmail-enterprise verify-domain
967
+ ```
968
+
969
+ ### DNS record not found
970
+
971
+ - **Wait** — DNS propagation can take up to 48 hours
972
+ - **Check the record** — ensure host is `_agenticmail-verify.yourdomain.com` (not `_agenticmail-verify.yourdomain.com.yourdomain.com`)
973
+ - **Check the value** — must be the exact `am-verify=...` string, including the `am-verify=` prefix
974
+ - **Check TTL** — lower TTL values propagate faster
975
+
976
+ ### Lost deployment key
977
+
978
+ If you've lost your deployment key, there is **no recovery path**. The key is never stored in plaintext anywhere — not on the registry, not on your machine. You would need to:
979
+
980
+ 1. Contact AgenticMail support to deregister the domain (requires proof of domain ownership)
981
+ 2. Re-register with a new key
982
+
983
+ This is by design — it prevents anyone (including AgenticMail) from taking over your deployment.
984
+
985
+ ### Database connection fails
986
+
987
+ - Check your connection string format matches the examples in [Database Backends](#10-database-backends-reference)
988
+ - Ensure the database server is running and accessible from your machine
989
+ - For SQLite, ensure the directory exists and is writable
990
+ - For managed databases (Supabase, Neon, etc.), check that SSL/TLS settings are correct
991
+
992
+ ### Server won't start
993
+
994
+ ```bash
995
+ # Check if port 3000 is in use
996
+ lsof -i :3000
997
+
998
+ # Try a different port by setting PORT environment variable
999
+ PORT=3001 npx @agenticmail/enterprise
1000
+ ```
1001
+
1002
+ ---
1003
+
1004
+ ## Quick Start Summary
1005
+
1006
+ For the impatient — here's the fastest path from zero to running:
1007
+
1008
+ ```bash
1009
+ # 1. Run the setup wizard
1010
+ npx @agenticmail/enterprise
1011
+
1012
+ # 2. Follow the prompts:
1013
+ # - Enter company name, email, password
1014
+ # - Pick SQLite (easiest)
1015
+ # - Pick Local (for testing) or Docker (for production)
1016
+ # - Add custom domain (optional but recommended)
1017
+ # - Register domain and SAVE YOUR DEPLOYMENT KEY
1018
+
1019
+ # 3. Add DNS TXT record (if you registered a domain)
1020
+ # Host: _agenticmail-verify.yourdomain.com
1021
+ # Type: TXT
1022
+ # Value: am-verify=... (from setup output)
1023
+
1024
+ # 4. Verify DNS (when ready)
1025
+ agenticmail-enterprise verify-domain
1026
+
1027
+ # 5. Open dashboard
1028
+ open http://localhost:3000
1029
+ ```
1030
+
1031
+ That's it. Your AI agents are ready to deploy behind your firewall.