@agenticmail/enterprise 0.5.198 → 0.5.200

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 (1173) hide show
  1. package/dist/dashboard/pages/activity.js +14 -1
  2. package/dist/dashboard/pages/agent-detail/activity.js +17 -1
  3. package/dist/dashboard/pages/agent-detail/autonomy.js +17 -1
  4. package/dist/dashboard/pages/agent-detail/budget.js +25 -2
  5. package/dist/dashboard/pages/agent-detail/channels.js +10 -1
  6. package/dist/dashboard/pages/agent-detail/communication.js +10 -1
  7. package/dist/dashboard/pages/agent-detail/configuration.js +42 -1
  8. package/dist/dashboard/pages/agent-detail/deployment.js +147 -16
  9. package/dist/dashboard/pages/agent-detail/email.js +10 -1
  10. package/dist/dashboard/pages/agent-detail/guardrails.js +27 -3
  11. package/dist/dashboard/pages/agent-detail/manager.js +15 -1
  12. package/dist/dashboard/pages/agent-detail/meeting-browser.js +14 -2
  13. package/dist/dashboard/pages/agent-detail/memory.js +24 -5
  14. package/dist/dashboard/pages/agent-detail/overview.js +159 -21
  15. package/dist/dashboard/pages/agent-detail/permissions.js +28 -7
  16. package/dist/dashboard/pages/agent-detail/personal-details.js +17 -1
  17. package/dist/dashboard/pages/agent-detail/security.js +21 -5
  18. package/dist/dashboard/pages/agent-detail/skills-section.js +9 -1
  19. package/dist/dashboard/pages/agent-detail/tool-security.js +35 -8
  20. package/dist/dashboard/pages/agent-detail/tools.js +10 -1
  21. package/dist/dashboard/pages/agent-detail/whatsapp.js +11 -1
  22. package/dist/dashboard/pages/agent-detail/workforce.js +19 -4
  23. package/dist/dashboard/pages/agents.js +15 -1
  24. package/dist/dashboard/pages/approvals.js +15 -1
  25. package/dist/dashboard/pages/audit.js +23 -1
  26. package/dist/dashboard/pages/compliance.js +24 -2
  27. package/dist/dashboard/pages/dashboard.js +25 -6
  28. package/dist/dashboard/pages/dlp.js +23 -2
  29. package/dist/dashboard/pages/domain-status.js +51 -7
  30. package/dist/dashboard/pages/guardrails.js +29 -3
  31. package/dist/dashboard/pages/journal.js +24 -4
  32. package/dist/dashboard/pages/knowledge-contributions.js +69 -3
  33. package/dist/dashboard/pages/knowledge-import.js +6 -1
  34. package/dist/dashboard/pages/knowledge.js +51 -9
  35. package/dist/dashboard/pages/messages.js +28 -5
  36. package/dist/dashboard/pages/org-chart.js +18 -1
  37. package/dist/dashboard/pages/settings.js +30 -6
  38. package/dist/dashboard/pages/skill-connections.js +18 -4
  39. package/dist/dashboard/pages/skills.js +11 -1
  40. package/dist/dashboard/pages/users.js +14 -1
  41. package/dist/dashboard/pages/vault.js +22 -2
  42. package/dist/dashboard/pages/workforce.js +17 -1
  43. package/package.json +1 -1
  44. package/src/dashboard/HELP-TOOLTIPS-GUIDE.md +45 -0
  45. package/src/dashboard/pages/activity.js +14 -1
  46. package/src/dashboard/pages/agent-detail/activity.js +17 -1
  47. package/src/dashboard/pages/agent-detail/autonomy.js +17 -1
  48. package/src/dashboard/pages/agent-detail/budget.js +25 -2
  49. package/src/dashboard/pages/agent-detail/channels.js +10 -1
  50. package/src/dashboard/pages/agent-detail/communication.js +10 -1
  51. package/src/dashboard/pages/agent-detail/configuration.js +42 -1
  52. package/src/dashboard/pages/agent-detail/deployment.js +147 -16
  53. package/src/dashboard/pages/agent-detail/email.js +10 -1
  54. package/src/dashboard/pages/agent-detail/guardrails.js +27 -3
  55. package/src/dashboard/pages/agent-detail/manager.js +15 -1
  56. package/src/dashboard/pages/agent-detail/meeting-browser.js +14 -2
  57. package/src/dashboard/pages/agent-detail/memory.js +24 -5
  58. package/src/dashboard/pages/agent-detail/overview.js +159 -21
  59. package/src/dashboard/pages/agent-detail/permissions.js +28 -7
  60. package/src/dashboard/pages/agent-detail/personal-details.js +17 -1
  61. package/src/dashboard/pages/agent-detail/security.js +21 -5
  62. package/src/dashboard/pages/agent-detail/skills-section.js +9 -1
  63. package/src/dashboard/pages/agent-detail/tool-security.js +35 -8
  64. package/src/dashboard/pages/agent-detail/tools.js +10 -1
  65. package/src/dashboard/pages/agent-detail/whatsapp.js +11 -1
  66. package/src/dashboard/pages/agent-detail/workforce.js +19 -4
  67. package/src/dashboard/pages/agents.js +15 -1
  68. package/src/dashboard/pages/approvals.js +15 -1
  69. package/src/dashboard/pages/audit.js +23 -1
  70. package/src/dashboard/pages/compliance.js +24 -2
  71. package/src/dashboard/pages/dashboard.js +25 -6
  72. package/src/dashboard/pages/dlp.js +23 -2
  73. package/src/dashboard/pages/domain-status.js +51 -7
  74. package/src/dashboard/pages/guardrails.js +29 -3
  75. package/src/dashboard/pages/journal.js +24 -4
  76. package/src/dashboard/pages/knowledge-contributions.js +69 -3
  77. package/src/dashboard/pages/knowledge-import.js +6 -1
  78. package/src/dashboard/pages/knowledge.js +51 -9
  79. package/src/dashboard/pages/messages.js +28 -5
  80. package/src/dashboard/pages/org-chart.js +18 -1
  81. package/src/dashboard/pages/settings.js +30 -6
  82. package/src/dashboard/pages/skill-connections.js +18 -4
  83. package/src/dashboard/pages/skills.js +11 -1
  84. package/src/dashboard/pages/users.js +14 -1
  85. package/src/dashboard/pages/vault.js +22 -2
  86. package/src/dashboard/pages/workforce.js +17 -1
  87. package/dashboards/README.md +0 -131
  88. package/dashboards/django/app.py +0 -129
  89. package/dashboards/django/static/styles.css +0 -487
  90. package/dashboards/django/templates/activity.html +0 -130
  91. package/dashboards/django/templates/agent_detail.html +0 -501
  92. package/dashboards/django/templates/agents.html +0 -217
  93. package/dashboards/django/templates/api_keys.html +0 -41
  94. package/dashboards/django/templates/approvals.html +0 -115
  95. package/dashboards/django/templates/audit.html +0 -26
  96. package/dashboards/django/templates/community-skills.html +0 -89
  97. package/dashboards/django/templates/compliance.html +0 -33
  98. package/dashboards/django/templates/components/modal.html +0 -6
  99. package/dashboards/django/templates/components/pagination.html +0 -9
  100. package/dashboards/django/templates/components/stats.html +0 -8
  101. package/dashboards/django/templates/dashboard.html +0 -24
  102. package/dashboards/django/templates/dlp.html +0 -70
  103. package/dashboards/django/templates/domain-status.html +0 -59
  104. package/dashboards/django/templates/guardrails.html +0 -78
  105. package/dashboards/django/templates/journal.html +0 -39
  106. package/dashboards/django/templates/knowledge-contributions.html +0 -58
  107. package/dashboards/django/templates/knowledge.html +0 -104
  108. package/dashboards/django/templates/layout.html +0 -177
  109. package/dashboards/django/templates/login.html +0 -30
  110. package/dashboards/django/templates/messages.html +0 -38
  111. package/dashboards/django/templates/settings.html +0 -472
  112. package/dashboards/django/templates/skill-connections.html +0 -73
  113. package/dashboards/django/templates/skills.html +0 -66
  114. package/dashboards/django/templates/users.html +0 -34
  115. package/dashboards/django/templates/vault.html +0 -46
  116. package/dashboards/django/templates/workforce.html +0 -116
  117. package/dashboards/django/utils/__init__.py +0 -0
  118. package/dashboards/django/utils/api.py +0 -20
  119. package/dashboards/django/utils/helpers.py +0 -39
  120. package/dashboards/django/views/__init__.py +0 -52
  121. package/dashboards/django/views/agents.py +0 -343
  122. package/dashboards/django/views/api_keys.py +0 -47
  123. package/dashboards/django/views/audit.py +0 -35
  124. package/dashboards/django/views/auth.py +0 -34
  125. package/dashboards/django/views/compliance.py +0 -37
  126. package/dashboards/django/views/dashboard.py +0 -27
  127. package/dashboards/django/views/dlp.py +0 -53
  128. package/dashboards/django/views/guardrails.py +0 -61
  129. package/dashboards/django/views/journal.py +0 -41
  130. package/dashboards/django/views/messages.py +0 -65
  131. package/dashboards/django/views/new_pages.py +0 -38
  132. package/dashboards/django/views/settings_view.py +0 -335
  133. package/dashboards/django/views/skills.py +0 -50
  134. package/dashboards/django/views/users.py +0 -42
  135. package/dashboards/django/views/vault.py +0 -50
  136. package/dashboards/dotnet/AgenticMailDashboard.csproj +0 -10
  137. package/dashboards/dotnet/Program.cs +0 -89
  138. package/dashboards/dotnet/Routes/ActivityRoutes.cs +0 -35
  139. package/dashboards/dotnet/Routes/AgentRoutes.cs +0 -771
  140. package/dashboards/dotnet/Routes/ApiKeyRoutes.cs +0 -185
  141. package/dashboards/dotnet/Routes/ApprovalRoutes.cs +0 -36
  142. package/dashboards/dotnet/Routes/AuditRoutes.cs +0 -86
  143. package/dashboards/dotnet/Routes/AuthRoutes.cs +0 -50
  144. package/dashboards/dotnet/Routes/CommunitySkillRoutes.cs +0 -36
  145. package/dashboards/dotnet/Routes/ComplianceRoutes.cs +0 -143
  146. package/dashboards/dotnet/Routes/DashboardRoutes.cs +0 -81
  147. package/dashboards/dotnet/Routes/DlpRoutes.cs +0 -230
  148. package/dashboards/dotnet/Routes/DomainStatusRoutes.cs +0 -49
  149. package/dashboards/dotnet/Routes/GuardrailRoutes.cs +0 -285
  150. package/dashboards/dotnet/Routes/JournalRoutes.cs +0 -118
  151. package/dashboards/dotnet/Routes/KnowledgeContributionRoutes.cs +0 -42
  152. package/dashboards/dotnet/Routes/KnowledgeRoutes.cs +0 -40
  153. package/dashboards/dotnet/Routes/MessageRoutes.cs +0 -167
  154. package/dashboards/dotnet/Routes/SettingRoutes.cs +0 -907
  155. package/dashboards/dotnet/Routes/SkillConnectionRoutes.cs +0 -52
  156. package/dashboards/dotnet/Routes/SkillRoutes.cs +0 -198
  157. package/dashboards/dotnet/Routes/UserRoutes.cs +0 -111
  158. package/dashboards/dotnet/Routes/VaultRoutes.cs +0 -162
  159. package/dashboards/dotnet/Routes/WorkforceRoutes.cs +0 -55
  160. package/dashboards/dotnet/Services/ApiClient.cs +0 -103
  161. package/dashboards/dotnet/Services/HtmlBuilder.cs +0 -258
  162. package/dashboards/dotnet/wwwroot/styles.css +0 -546
  163. package/dashboards/express/app.js +0 -65
  164. package/dashboards/express/middleware/auth.js +0 -10
  165. package/dashboards/express/node_modules/.package-lock.json +0 -913
  166. package/dashboards/express/node_modules/accepts/HISTORY.md +0 -250
  167. package/dashboards/express/node_modules/accepts/LICENSE +0 -23
  168. package/dashboards/express/node_modules/accepts/README.md +0 -140
  169. package/dashboards/express/node_modules/accepts/index.js +0 -238
  170. package/dashboards/express/node_modules/accepts/package.json +0 -47
  171. package/dashboards/express/node_modules/body-parser/LICENSE +0 -23
  172. package/dashboards/express/node_modules/body-parser/README.md +0 -494
  173. package/dashboards/express/node_modules/body-parser/index.js +0 -71
  174. package/dashboards/express/node_modules/body-parser/lib/read.js +0 -247
  175. package/dashboards/express/node_modules/body-parser/lib/types/json.js +0 -158
  176. package/dashboards/express/node_modules/body-parser/lib/types/raw.js +0 -42
  177. package/dashboards/express/node_modules/body-parser/lib/types/text.js +0 -36
  178. package/dashboards/express/node_modules/body-parser/lib/types/urlencoded.js +0 -142
  179. package/dashboards/express/node_modules/body-parser/lib/utils.js +0 -98
  180. package/dashboards/express/node_modules/body-parser/package.json +0 -52
  181. package/dashboards/express/node_modules/bytes/History.md +0 -97
  182. package/dashboards/express/node_modules/bytes/LICENSE +0 -23
  183. package/dashboards/express/node_modules/bytes/Readme.md +0 -152
  184. package/dashboards/express/node_modules/bytes/index.js +0 -170
  185. package/dashboards/express/node_modules/bytes/package.json +0 -42
  186. package/dashboards/express/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  187. package/dashboards/express/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  188. package/dashboards/express/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  189. package/dashboards/express/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  190. package/dashboards/express/node_modules/call-bind-apply-helpers/LICENSE +0 -21
  191. package/dashboards/express/node_modules/call-bind-apply-helpers/README.md +0 -62
  192. package/dashboards/express/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  193. package/dashboards/express/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  194. package/dashboards/express/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  195. package/dashboards/express/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  196. package/dashboards/express/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  197. package/dashboards/express/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  198. package/dashboards/express/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  199. package/dashboards/express/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  200. package/dashboards/express/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  201. package/dashboards/express/node_modules/call-bind-apply-helpers/index.js +0 -15
  202. package/dashboards/express/node_modules/call-bind-apply-helpers/package.json +0 -85
  203. package/dashboards/express/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  204. package/dashboards/express/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  205. package/dashboards/express/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  206. package/dashboards/express/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  207. package/dashboards/express/node_modules/call-bound/.eslintrc +0 -13
  208. package/dashboards/express/node_modules/call-bound/.github/FUNDING.yml +0 -12
  209. package/dashboards/express/node_modules/call-bound/.nycrc +0 -9
  210. package/dashboards/express/node_modules/call-bound/CHANGELOG.md +0 -42
  211. package/dashboards/express/node_modules/call-bound/LICENSE +0 -21
  212. package/dashboards/express/node_modules/call-bound/README.md +0 -53
  213. package/dashboards/express/node_modules/call-bound/index.d.ts +0 -94
  214. package/dashboards/express/node_modules/call-bound/index.js +0 -19
  215. package/dashboards/express/node_modules/call-bound/package.json +0 -99
  216. package/dashboards/express/node_modules/call-bound/test/index.js +0 -61
  217. package/dashboards/express/node_modules/call-bound/tsconfig.json +0 -10
  218. package/dashboards/express/node_modules/content-disposition/HISTORY.md +0 -72
  219. package/dashboards/express/node_modules/content-disposition/LICENSE +0 -22
  220. package/dashboards/express/node_modules/content-disposition/README.md +0 -142
  221. package/dashboards/express/node_modules/content-disposition/index.js +0 -458
  222. package/dashboards/express/node_modules/content-disposition/package.json +0 -43
  223. package/dashboards/express/node_modules/content-type/HISTORY.md +0 -29
  224. package/dashboards/express/node_modules/content-type/LICENSE +0 -22
  225. package/dashboards/express/node_modules/content-type/README.md +0 -94
  226. package/dashboards/express/node_modules/content-type/index.js +0 -225
  227. package/dashboards/express/node_modules/content-type/package.json +0 -42
  228. package/dashboards/express/node_modules/cookie/LICENSE +0 -24
  229. package/dashboards/express/node_modules/cookie/README.md +0 -317
  230. package/dashboards/express/node_modules/cookie/SECURITY.md +0 -25
  231. package/dashboards/express/node_modules/cookie/index.js +0 -335
  232. package/dashboards/express/node_modules/cookie/package.json +0 -44
  233. package/dashboards/express/node_modules/cookie-signature/History.md +0 -70
  234. package/dashboards/express/node_modules/cookie-signature/LICENSE +0 -22
  235. package/dashboards/express/node_modules/cookie-signature/Readme.md +0 -23
  236. package/dashboards/express/node_modules/cookie-signature/index.js +0 -47
  237. package/dashboards/express/node_modules/cookie-signature/package.json +0 -24
  238. package/dashboards/express/node_modules/debug/LICENSE +0 -20
  239. package/dashboards/express/node_modules/debug/README.md +0 -481
  240. package/dashboards/express/node_modules/debug/package.json +0 -64
  241. package/dashboards/express/node_modules/debug/src/browser.js +0 -272
  242. package/dashboards/express/node_modules/debug/src/common.js +0 -292
  243. package/dashboards/express/node_modules/debug/src/index.js +0 -10
  244. package/dashboards/express/node_modules/debug/src/node.js +0 -263
  245. package/dashboards/express/node_modules/depd/History.md +0 -103
  246. package/dashboards/express/node_modules/depd/LICENSE +0 -22
  247. package/dashboards/express/node_modules/depd/Readme.md +0 -280
  248. package/dashboards/express/node_modules/depd/index.js +0 -538
  249. package/dashboards/express/node_modules/depd/lib/browser/index.js +0 -77
  250. package/dashboards/express/node_modules/depd/package.json +0 -45
  251. package/dashboards/express/node_modules/dunder-proto/.eslintrc +0 -5
  252. package/dashboards/express/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  253. package/dashboards/express/node_modules/dunder-proto/.nycrc +0 -13
  254. package/dashboards/express/node_modules/dunder-proto/CHANGELOG.md +0 -24
  255. package/dashboards/express/node_modules/dunder-proto/LICENSE +0 -21
  256. package/dashboards/express/node_modules/dunder-proto/README.md +0 -54
  257. package/dashboards/express/node_modules/dunder-proto/get.d.ts +0 -5
  258. package/dashboards/express/node_modules/dunder-proto/get.js +0 -30
  259. package/dashboards/express/node_modules/dunder-proto/package.json +0 -76
  260. package/dashboards/express/node_modules/dunder-proto/set.d.ts +0 -5
  261. package/dashboards/express/node_modules/dunder-proto/set.js +0 -35
  262. package/dashboards/express/node_modules/dunder-proto/test/get.js +0 -34
  263. package/dashboards/express/node_modules/dunder-proto/test/index.js +0 -4
  264. package/dashboards/express/node_modules/dunder-proto/test/set.js +0 -50
  265. package/dashboards/express/node_modules/dunder-proto/tsconfig.json +0 -9
  266. package/dashboards/express/node_modules/ee-first/LICENSE +0 -22
  267. package/dashboards/express/node_modules/ee-first/README.md +0 -80
  268. package/dashboards/express/node_modules/ee-first/index.js +0 -95
  269. package/dashboards/express/node_modules/ee-first/package.json +0 -29
  270. package/dashboards/express/node_modules/encodeurl/LICENSE +0 -22
  271. package/dashboards/express/node_modules/encodeurl/README.md +0 -109
  272. package/dashboards/express/node_modules/encodeurl/index.js +0 -60
  273. package/dashboards/express/node_modules/encodeurl/package.json +0 -40
  274. package/dashboards/express/node_modules/es-define-property/.eslintrc +0 -13
  275. package/dashboards/express/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  276. package/dashboards/express/node_modules/es-define-property/.nycrc +0 -9
  277. package/dashboards/express/node_modules/es-define-property/CHANGELOG.md +0 -29
  278. package/dashboards/express/node_modules/es-define-property/LICENSE +0 -21
  279. package/dashboards/express/node_modules/es-define-property/README.md +0 -49
  280. package/dashboards/express/node_modules/es-define-property/index.d.ts +0 -3
  281. package/dashboards/express/node_modules/es-define-property/index.js +0 -14
  282. package/dashboards/express/node_modules/es-define-property/package.json +0 -81
  283. package/dashboards/express/node_modules/es-define-property/test/index.js +0 -56
  284. package/dashboards/express/node_modules/es-define-property/tsconfig.json +0 -10
  285. package/dashboards/express/node_modules/es-errors/.eslintrc +0 -5
  286. package/dashboards/express/node_modules/es-errors/.github/FUNDING.yml +0 -12
  287. package/dashboards/express/node_modules/es-errors/CHANGELOG.md +0 -40
  288. package/dashboards/express/node_modules/es-errors/LICENSE +0 -21
  289. package/dashboards/express/node_modules/es-errors/README.md +0 -55
  290. package/dashboards/express/node_modules/es-errors/eval.d.ts +0 -3
  291. package/dashboards/express/node_modules/es-errors/eval.js +0 -4
  292. package/dashboards/express/node_modules/es-errors/index.d.ts +0 -3
  293. package/dashboards/express/node_modules/es-errors/index.js +0 -4
  294. package/dashboards/express/node_modules/es-errors/package.json +0 -80
  295. package/dashboards/express/node_modules/es-errors/range.d.ts +0 -3
  296. package/dashboards/express/node_modules/es-errors/range.js +0 -4
  297. package/dashboards/express/node_modules/es-errors/ref.d.ts +0 -3
  298. package/dashboards/express/node_modules/es-errors/ref.js +0 -4
  299. package/dashboards/express/node_modules/es-errors/syntax.d.ts +0 -3
  300. package/dashboards/express/node_modules/es-errors/syntax.js +0 -4
  301. package/dashboards/express/node_modules/es-errors/test/index.js +0 -19
  302. package/dashboards/express/node_modules/es-errors/tsconfig.json +0 -49
  303. package/dashboards/express/node_modules/es-errors/type.d.ts +0 -3
  304. package/dashboards/express/node_modules/es-errors/type.js +0 -4
  305. package/dashboards/express/node_modules/es-errors/uri.d.ts +0 -3
  306. package/dashboards/express/node_modules/es-errors/uri.js +0 -4
  307. package/dashboards/express/node_modules/es-object-atoms/.eslintrc +0 -16
  308. package/dashboards/express/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  309. package/dashboards/express/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  310. package/dashboards/express/node_modules/es-object-atoms/LICENSE +0 -21
  311. package/dashboards/express/node_modules/es-object-atoms/README.md +0 -63
  312. package/dashboards/express/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  313. package/dashboards/express/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  314. package/dashboards/express/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  315. package/dashboards/express/node_modules/es-object-atoms/ToObject.js +0 -10
  316. package/dashboards/express/node_modules/es-object-atoms/index.d.ts +0 -3
  317. package/dashboards/express/node_modules/es-object-atoms/index.js +0 -4
  318. package/dashboards/express/node_modules/es-object-atoms/isObject.d.ts +0 -3
  319. package/dashboards/express/node_modules/es-object-atoms/isObject.js +0 -6
  320. package/dashboards/express/node_modules/es-object-atoms/package.json +0 -80
  321. package/dashboards/express/node_modules/es-object-atoms/test/index.js +0 -38
  322. package/dashboards/express/node_modules/es-object-atoms/tsconfig.json +0 -6
  323. package/dashboards/express/node_modules/escape-html/LICENSE +0 -24
  324. package/dashboards/express/node_modules/escape-html/Readme.md +0 -43
  325. package/dashboards/express/node_modules/escape-html/index.js +0 -78
  326. package/dashboards/express/node_modules/escape-html/package.json +0 -24
  327. package/dashboards/express/node_modules/etag/HISTORY.md +0 -83
  328. package/dashboards/express/node_modules/etag/LICENSE +0 -22
  329. package/dashboards/express/node_modules/etag/README.md +0 -159
  330. package/dashboards/express/node_modules/etag/index.js +0 -131
  331. package/dashboards/express/node_modules/etag/package.json +0 -47
  332. package/dashboards/express/node_modules/express/LICENSE +0 -24
  333. package/dashboards/express/node_modules/express/Readme.md +0 -276
  334. package/dashboards/express/node_modules/express/index.js +0 -11
  335. package/dashboards/express/node_modules/express/lib/application.js +0 -631
  336. package/dashboards/express/node_modules/express/lib/express.js +0 -81
  337. package/dashboards/express/node_modules/express/lib/request.js +0 -514
  338. package/dashboards/express/node_modules/express/lib/response.js +0 -1053
  339. package/dashboards/express/node_modules/express/lib/utils.js +0 -271
  340. package/dashboards/express/node_modules/express/lib/view.js +0 -205
  341. package/dashboards/express/node_modules/express/package.json +0 -99
  342. package/dashboards/express/node_modules/express-session/LICENSE +0 -24
  343. package/dashboards/express/node_modules/express-session/README.md +0 -1061
  344. package/dashboards/express/node_modules/express-session/index.js +0 -700
  345. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/History.md +0 -42
  346. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/Readme.md +0 -42
  347. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/index.js +0 -51
  348. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/package.json +0 -18
  349. package/dashboards/express/node_modules/express-session/node_modules/debug/.coveralls.yml +0 -1
  350. package/dashboards/express/node_modules/express-session/node_modules/debug/.eslintrc +0 -11
  351. package/dashboards/express/node_modules/express-session/node_modules/debug/.travis.yml +0 -14
  352. package/dashboards/express/node_modules/express-session/node_modules/debug/CHANGELOG.md +0 -362
  353. package/dashboards/express/node_modules/express-session/node_modules/debug/LICENSE +0 -19
  354. package/dashboards/express/node_modules/express-session/node_modules/debug/Makefile +0 -50
  355. package/dashboards/express/node_modules/express-session/node_modules/debug/README.md +0 -312
  356. package/dashboards/express/node_modules/express-session/node_modules/debug/component.json +0 -19
  357. package/dashboards/express/node_modules/express-session/node_modules/debug/karma.conf.js +0 -70
  358. package/dashboards/express/node_modules/express-session/node_modules/debug/node.js +0 -1
  359. package/dashboards/express/node_modules/express-session/node_modules/debug/package.json +0 -49
  360. package/dashboards/express/node_modules/express-session/node_modules/debug/src/browser.js +0 -185
  361. package/dashboards/express/node_modules/express-session/node_modules/debug/src/debug.js +0 -202
  362. package/dashboards/express/node_modules/express-session/node_modules/debug/src/index.js +0 -10
  363. package/dashboards/express/node_modules/express-session/node_modules/debug/src/inspector-log.js +0 -15
  364. package/dashboards/express/node_modules/express-session/node_modules/debug/src/node.js +0 -248
  365. package/dashboards/express/node_modules/express-session/node_modules/ms/index.js +0 -152
  366. package/dashboards/express/node_modules/express-session/node_modules/ms/license.md +0 -21
  367. package/dashboards/express/node_modules/express-session/node_modules/ms/package.json +0 -37
  368. package/dashboards/express/node_modules/express-session/node_modules/ms/readme.md +0 -51
  369. package/dashboards/express/node_modules/express-session/package.json +0 -50
  370. package/dashboards/express/node_modules/express-session/session/cookie.js +0 -152
  371. package/dashboards/express/node_modules/express-session/session/memory.js +0 -187
  372. package/dashboards/express/node_modules/express-session/session/session.js +0 -143
  373. package/dashboards/express/node_modules/express-session/session/store.js +0 -102
  374. package/dashboards/express/node_modules/finalhandler/HISTORY.md +0 -239
  375. package/dashboards/express/node_modules/finalhandler/LICENSE +0 -22
  376. package/dashboards/express/node_modules/finalhandler/README.md +0 -150
  377. package/dashboards/express/node_modules/finalhandler/index.js +0 -293
  378. package/dashboards/express/node_modules/finalhandler/package.json +0 -47
  379. package/dashboards/express/node_modules/forwarded/HISTORY.md +0 -21
  380. package/dashboards/express/node_modules/forwarded/LICENSE +0 -22
  381. package/dashboards/express/node_modules/forwarded/README.md +0 -57
  382. package/dashboards/express/node_modules/forwarded/index.js +0 -90
  383. package/dashboards/express/node_modules/forwarded/package.json +0 -45
  384. package/dashboards/express/node_modules/fresh/HISTORY.md +0 -80
  385. package/dashboards/express/node_modules/fresh/LICENSE +0 -23
  386. package/dashboards/express/node_modules/fresh/README.md +0 -117
  387. package/dashboards/express/node_modules/fresh/index.js +0 -136
  388. package/dashboards/express/node_modules/fresh/package.json +0 -46
  389. package/dashboards/express/node_modules/function-bind/.eslintrc +0 -21
  390. package/dashboards/express/node_modules/function-bind/.github/FUNDING.yml +0 -12
  391. package/dashboards/express/node_modules/function-bind/.github/SECURITY.md +0 -3
  392. package/dashboards/express/node_modules/function-bind/.nycrc +0 -13
  393. package/dashboards/express/node_modules/function-bind/CHANGELOG.md +0 -136
  394. package/dashboards/express/node_modules/function-bind/LICENSE +0 -20
  395. package/dashboards/express/node_modules/function-bind/README.md +0 -46
  396. package/dashboards/express/node_modules/function-bind/implementation.js +0 -84
  397. package/dashboards/express/node_modules/function-bind/index.js +0 -5
  398. package/dashboards/express/node_modules/function-bind/package.json +0 -87
  399. package/dashboards/express/node_modules/function-bind/test/.eslintrc +0 -9
  400. package/dashboards/express/node_modules/function-bind/test/index.js +0 -252
  401. package/dashboards/express/node_modules/get-intrinsic/.eslintrc +0 -42
  402. package/dashboards/express/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  403. package/dashboards/express/node_modules/get-intrinsic/.nycrc +0 -9
  404. package/dashboards/express/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  405. package/dashboards/express/node_modules/get-intrinsic/LICENSE +0 -21
  406. package/dashboards/express/node_modules/get-intrinsic/README.md +0 -71
  407. package/dashboards/express/node_modules/get-intrinsic/index.js +0 -378
  408. package/dashboards/express/node_modules/get-intrinsic/package.json +0 -97
  409. package/dashboards/express/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  410. package/dashboards/express/node_modules/get-proto/.eslintrc +0 -10
  411. package/dashboards/express/node_modules/get-proto/.github/FUNDING.yml +0 -12
  412. package/dashboards/express/node_modules/get-proto/.nycrc +0 -9
  413. package/dashboards/express/node_modules/get-proto/CHANGELOG.md +0 -21
  414. package/dashboards/express/node_modules/get-proto/LICENSE +0 -21
  415. package/dashboards/express/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  416. package/dashboards/express/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  417. package/dashboards/express/node_modules/get-proto/README.md +0 -50
  418. package/dashboards/express/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  419. package/dashboards/express/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  420. package/dashboards/express/node_modules/get-proto/index.d.ts +0 -5
  421. package/dashboards/express/node_modules/get-proto/index.js +0 -27
  422. package/dashboards/express/node_modules/get-proto/package.json +0 -81
  423. package/dashboards/express/node_modules/get-proto/test/index.js +0 -68
  424. package/dashboards/express/node_modules/get-proto/tsconfig.json +0 -9
  425. package/dashboards/express/node_modules/gopd/.eslintrc +0 -16
  426. package/dashboards/express/node_modules/gopd/.github/FUNDING.yml +0 -12
  427. package/dashboards/express/node_modules/gopd/CHANGELOG.md +0 -45
  428. package/dashboards/express/node_modules/gopd/LICENSE +0 -21
  429. package/dashboards/express/node_modules/gopd/README.md +0 -40
  430. package/dashboards/express/node_modules/gopd/gOPD.d.ts +0 -1
  431. package/dashboards/express/node_modules/gopd/gOPD.js +0 -4
  432. package/dashboards/express/node_modules/gopd/index.d.ts +0 -5
  433. package/dashboards/express/node_modules/gopd/index.js +0 -15
  434. package/dashboards/express/node_modules/gopd/package.json +0 -77
  435. package/dashboards/express/node_modules/gopd/test/index.js +0 -36
  436. package/dashboards/express/node_modules/gopd/tsconfig.json +0 -9
  437. package/dashboards/express/node_modules/has-symbols/.eslintrc +0 -11
  438. package/dashboards/express/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  439. package/dashboards/express/node_modules/has-symbols/.nycrc +0 -9
  440. package/dashboards/express/node_modules/has-symbols/CHANGELOG.md +0 -91
  441. package/dashboards/express/node_modules/has-symbols/LICENSE +0 -21
  442. package/dashboards/express/node_modules/has-symbols/README.md +0 -46
  443. package/dashboards/express/node_modules/has-symbols/index.d.ts +0 -3
  444. package/dashboards/express/node_modules/has-symbols/index.js +0 -14
  445. package/dashboards/express/node_modules/has-symbols/package.json +0 -111
  446. package/dashboards/express/node_modules/has-symbols/shams.d.ts +0 -3
  447. package/dashboards/express/node_modules/has-symbols/shams.js +0 -45
  448. package/dashboards/express/node_modules/has-symbols/test/index.js +0 -22
  449. package/dashboards/express/node_modules/has-symbols/test/shams/core-js.js +0 -29
  450. package/dashboards/express/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  451. package/dashboards/express/node_modules/has-symbols/test/tests.js +0 -58
  452. package/dashboards/express/node_modules/has-symbols/tsconfig.json +0 -10
  453. package/dashboards/express/node_modules/hasown/.eslintrc +0 -5
  454. package/dashboards/express/node_modules/hasown/.github/FUNDING.yml +0 -12
  455. package/dashboards/express/node_modules/hasown/.nycrc +0 -13
  456. package/dashboards/express/node_modules/hasown/CHANGELOG.md +0 -40
  457. package/dashboards/express/node_modules/hasown/LICENSE +0 -21
  458. package/dashboards/express/node_modules/hasown/README.md +0 -40
  459. package/dashboards/express/node_modules/hasown/index.d.ts +0 -3
  460. package/dashboards/express/node_modules/hasown/index.js +0 -8
  461. package/dashboards/express/node_modules/hasown/package.json +0 -92
  462. package/dashboards/express/node_modules/hasown/tsconfig.json +0 -6
  463. package/dashboards/express/node_modules/http-errors/HISTORY.md +0 -186
  464. package/dashboards/express/node_modules/http-errors/LICENSE +0 -23
  465. package/dashboards/express/node_modules/http-errors/README.md +0 -169
  466. package/dashboards/express/node_modules/http-errors/index.js +0 -290
  467. package/dashboards/express/node_modules/http-errors/package.json +0 -54
  468. package/dashboards/express/node_modules/iconv-lite/LICENSE +0 -21
  469. package/dashboards/express/node_modules/iconv-lite/README.md +0 -138
  470. package/dashboards/express/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -532
  471. package/dashboards/express/node_modules/iconv-lite/encodings/dbcs-data.js +0 -185
  472. package/dashboards/express/node_modules/iconv-lite/encodings/index.js +0 -23
  473. package/dashboards/express/node_modules/iconv-lite/encodings/internal.js +0 -218
  474. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -75
  475. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  476. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-data.js +0 -178
  477. package/dashboards/express/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  478. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  479. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  480. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  481. package/dashboards/express/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  482. package/dashboards/express/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  483. package/dashboards/express/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
  484. package/dashboards/express/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  485. package/dashboards/express/node_modules/iconv-lite/encodings/utf16.js +0 -187
  486. package/dashboards/express/node_modules/iconv-lite/encodings/utf32.js +0 -307
  487. package/dashboards/express/node_modules/iconv-lite/encodings/utf7.js +0 -283
  488. package/dashboards/express/node_modules/iconv-lite/lib/bom-handling.js +0 -48
  489. package/dashboards/express/node_modules/iconv-lite/lib/helpers/merge-exports.js +0 -13
  490. package/dashboards/express/node_modules/iconv-lite/lib/index.d.ts +0 -129
  491. package/dashboards/express/node_modules/iconv-lite/lib/index.js +0 -182
  492. package/dashboards/express/node_modules/iconv-lite/lib/streams.js +0 -105
  493. package/dashboards/express/node_modules/iconv-lite/package.json +0 -70
  494. package/dashboards/express/node_modules/iconv-lite/types/encodings.d.ts +0 -423
  495. package/dashboards/express/node_modules/inherits/LICENSE +0 -16
  496. package/dashboards/express/node_modules/inherits/README.md +0 -42
  497. package/dashboards/express/node_modules/inherits/inherits.js +0 -9
  498. package/dashboards/express/node_modules/inherits/inherits_browser.js +0 -27
  499. package/dashboards/express/node_modules/inherits/package.json +0 -29
  500. package/dashboards/express/node_modules/ipaddr.js/LICENSE +0 -19
  501. package/dashboards/express/node_modules/ipaddr.js/README.md +0 -233
  502. package/dashboards/express/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  503. package/dashboards/express/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  504. package/dashboards/express/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  505. package/dashboards/express/node_modules/ipaddr.js/package.json +0 -35
  506. package/dashboards/express/node_modules/is-promise/LICENSE +0 -19
  507. package/dashboards/express/node_modules/is-promise/index.d.ts +0 -2
  508. package/dashboards/express/node_modules/is-promise/index.js +0 -6
  509. package/dashboards/express/node_modules/is-promise/index.mjs +0 -3
  510. package/dashboards/express/node_modules/is-promise/package.json +0 -30
  511. package/dashboards/express/node_modules/is-promise/readme.md +0 -33
  512. package/dashboards/express/node_modules/math-intrinsics/.eslintrc +0 -16
  513. package/dashboards/express/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  514. package/dashboards/express/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  515. package/dashboards/express/node_modules/math-intrinsics/LICENSE +0 -21
  516. package/dashboards/express/node_modules/math-intrinsics/README.md +0 -50
  517. package/dashboards/express/node_modules/math-intrinsics/abs.d.ts +0 -1
  518. package/dashboards/express/node_modules/math-intrinsics/abs.js +0 -4
  519. package/dashboards/express/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  520. package/dashboards/express/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  521. package/dashboards/express/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  522. package/dashboards/express/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  523. package/dashboards/express/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  524. package/dashboards/express/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  525. package/dashboards/express/node_modules/math-intrinsics/floor.d.ts +0 -1
  526. package/dashboards/express/node_modules/math-intrinsics/floor.js +0 -4
  527. package/dashboards/express/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  528. package/dashboards/express/node_modules/math-intrinsics/isFinite.js +0 -12
  529. package/dashboards/express/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  530. package/dashboards/express/node_modules/math-intrinsics/isInteger.js +0 -16
  531. package/dashboards/express/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  532. package/dashboards/express/node_modules/math-intrinsics/isNaN.js +0 -6
  533. package/dashboards/express/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  534. package/dashboards/express/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  535. package/dashboards/express/node_modules/math-intrinsics/max.d.ts +0 -1
  536. package/dashboards/express/node_modules/math-intrinsics/max.js +0 -4
  537. package/dashboards/express/node_modules/math-intrinsics/min.d.ts +0 -1
  538. package/dashboards/express/node_modules/math-intrinsics/min.js +0 -4
  539. package/dashboards/express/node_modules/math-intrinsics/mod.d.ts +0 -3
  540. package/dashboards/express/node_modules/math-intrinsics/mod.js +0 -9
  541. package/dashboards/express/node_modules/math-intrinsics/package.json +0 -86
  542. package/dashboards/express/node_modules/math-intrinsics/pow.d.ts +0 -1
  543. package/dashboards/express/node_modules/math-intrinsics/pow.js +0 -4
  544. package/dashboards/express/node_modules/math-intrinsics/round.d.ts +0 -1
  545. package/dashboards/express/node_modules/math-intrinsics/round.js +0 -4
  546. package/dashboards/express/node_modules/math-intrinsics/sign.d.ts +0 -3
  547. package/dashboards/express/node_modules/math-intrinsics/sign.js +0 -11
  548. package/dashboards/express/node_modules/math-intrinsics/test/index.js +0 -192
  549. package/dashboards/express/node_modules/math-intrinsics/tsconfig.json +0 -3
  550. package/dashboards/express/node_modules/media-typer/HISTORY.md +0 -50
  551. package/dashboards/express/node_modules/media-typer/LICENSE +0 -22
  552. package/dashboards/express/node_modules/media-typer/README.md +0 -93
  553. package/dashboards/express/node_modules/media-typer/index.js +0 -143
  554. package/dashboards/express/node_modules/media-typer/package.json +0 -33
  555. package/dashboards/express/node_modules/merge-descriptors/index.d.ts +0 -11
  556. package/dashboards/express/node_modules/merge-descriptors/index.js +0 -26
  557. package/dashboards/express/node_modules/merge-descriptors/license +0 -11
  558. package/dashboards/express/node_modules/merge-descriptors/package.json +0 -50
  559. package/dashboards/express/node_modules/merge-descriptors/readme.md +0 -55
  560. package/dashboards/express/node_modules/mime-db/HISTORY.md +0 -541
  561. package/dashboards/express/node_modules/mime-db/LICENSE +0 -23
  562. package/dashboards/express/node_modules/mime-db/README.md +0 -109
  563. package/dashboards/express/node_modules/mime-db/db.json +0 -9342
  564. package/dashboards/express/node_modules/mime-db/index.js +0 -12
  565. package/dashboards/express/node_modules/mime-db/package.json +0 -56
  566. package/dashboards/express/node_modules/mime-types/HISTORY.md +0 -428
  567. package/dashboards/express/node_modules/mime-types/LICENSE +0 -23
  568. package/dashboards/express/node_modules/mime-types/README.md +0 -126
  569. package/dashboards/express/node_modules/mime-types/index.js +0 -211
  570. package/dashboards/express/node_modules/mime-types/mimeScore.js +0 -57
  571. package/dashboards/express/node_modules/mime-types/package.json +0 -49
  572. package/dashboards/express/node_modules/ms/index.js +0 -162
  573. package/dashboards/express/node_modules/ms/license.md +0 -21
  574. package/dashboards/express/node_modules/ms/package.json +0 -38
  575. package/dashboards/express/node_modules/ms/readme.md +0 -59
  576. package/dashboards/express/node_modules/negotiator/HISTORY.md +0 -114
  577. package/dashboards/express/node_modules/negotiator/LICENSE +0 -24
  578. package/dashboards/express/node_modules/negotiator/README.md +0 -212
  579. package/dashboards/express/node_modules/negotiator/index.js +0 -83
  580. package/dashboards/express/node_modules/negotiator/lib/charset.js +0 -169
  581. package/dashboards/express/node_modules/negotiator/lib/encoding.js +0 -205
  582. package/dashboards/express/node_modules/negotiator/lib/language.js +0 -179
  583. package/dashboards/express/node_modules/negotiator/lib/mediaType.js +0 -294
  584. package/dashboards/express/node_modules/negotiator/package.json +0 -43
  585. package/dashboards/express/node_modules/object-inspect/.eslintrc +0 -53
  586. package/dashboards/express/node_modules/object-inspect/.github/FUNDING.yml +0 -12
  587. package/dashboards/express/node_modules/object-inspect/.nycrc +0 -13
  588. package/dashboards/express/node_modules/object-inspect/CHANGELOG.md +0 -424
  589. package/dashboards/express/node_modules/object-inspect/LICENSE +0 -21
  590. package/dashboards/express/node_modules/object-inspect/example/all.js +0 -23
  591. package/dashboards/express/node_modules/object-inspect/example/circular.js +0 -6
  592. package/dashboards/express/node_modules/object-inspect/example/fn.js +0 -5
  593. package/dashboards/express/node_modules/object-inspect/example/inspect.js +0 -10
  594. package/dashboards/express/node_modules/object-inspect/index.js +0 -544
  595. package/dashboards/express/node_modules/object-inspect/package-support.json +0 -20
  596. package/dashboards/express/node_modules/object-inspect/package.json +0 -105
  597. package/dashboards/express/node_modules/object-inspect/readme.markdown +0 -84
  598. package/dashboards/express/node_modules/object-inspect/test/bigint.js +0 -58
  599. package/dashboards/express/node_modules/object-inspect/test/browser/dom.js +0 -15
  600. package/dashboards/express/node_modules/object-inspect/test/circular.js +0 -16
  601. package/dashboards/express/node_modules/object-inspect/test/deep.js +0 -12
  602. package/dashboards/express/node_modules/object-inspect/test/element.js +0 -53
  603. package/dashboards/express/node_modules/object-inspect/test/err.js +0 -48
  604. package/dashboards/express/node_modules/object-inspect/test/fakes.js +0 -29
  605. package/dashboards/express/node_modules/object-inspect/test/fn.js +0 -76
  606. package/dashboards/express/node_modules/object-inspect/test/global.js +0 -17
  607. package/dashboards/express/node_modules/object-inspect/test/has.js +0 -15
  608. package/dashboards/express/node_modules/object-inspect/test/holes.js +0 -15
  609. package/dashboards/express/node_modules/object-inspect/test/indent-option.js +0 -271
  610. package/dashboards/express/node_modules/object-inspect/test/inspect.js +0 -139
  611. package/dashboards/express/node_modules/object-inspect/test/lowbyte.js +0 -12
  612. package/dashboards/express/node_modules/object-inspect/test/number.js +0 -58
  613. package/dashboards/express/node_modules/object-inspect/test/quoteStyle.js +0 -26
  614. package/dashboards/express/node_modules/object-inspect/test/toStringTag.js +0 -40
  615. package/dashboards/express/node_modules/object-inspect/test/undef.js +0 -12
  616. package/dashboards/express/node_modules/object-inspect/test/values.js +0 -261
  617. package/dashboards/express/node_modules/object-inspect/test-core-js.js +0 -26
  618. package/dashboards/express/node_modules/object-inspect/util.inspect.js +0 -1
  619. package/dashboards/express/node_modules/on-finished/HISTORY.md +0 -98
  620. package/dashboards/express/node_modules/on-finished/LICENSE +0 -23
  621. package/dashboards/express/node_modules/on-finished/README.md +0 -162
  622. package/dashboards/express/node_modules/on-finished/index.js +0 -234
  623. package/dashboards/express/node_modules/on-finished/package.json +0 -39
  624. package/dashboards/express/node_modules/on-headers/HISTORY.md +0 -26
  625. package/dashboards/express/node_modules/on-headers/LICENSE +0 -22
  626. package/dashboards/express/node_modules/on-headers/README.md +0 -81
  627. package/dashboards/express/node_modules/on-headers/index.js +0 -180
  628. package/dashboards/express/node_modules/on-headers/package.json +0 -44
  629. package/dashboards/express/node_modules/once/LICENSE +0 -15
  630. package/dashboards/express/node_modules/once/README.md +0 -79
  631. package/dashboards/express/node_modules/once/once.js +0 -42
  632. package/dashboards/express/node_modules/once/package.json +0 -33
  633. package/dashboards/express/node_modules/parseurl/HISTORY.md +0 -58
  634. package/dashboards/express/node_modules/parseurl/LICENSE +0 -24
  635. package/dashboards/express/node_modules/parseurl/README.md +0 -133
  636. package/dashboards/express/node_modules/parseurl/index.js +0 -158
  637. package/dashboards/express/node_modules/parseurl/package.json +0 -40
  638. package/dashboards/express/node_modules/path-to-regexp/LICENSE +0 -21
  639. package/dashboards/express/node_modules/path-to-regexp/Readme.md +0 -224
  640. package/dashboards/express/node_modules/path-to-regexp/dist/index.d.ts +0 -144
  641. package/dashboards/express/node_modules/path-to-regexp/dist/index.js +0 -409
  642. package/dashboards/express/node_modules/path-to-regexp/dist/index.js.map +0 -1
  643. package/dashboards/express/node_modules/path-to-regexp/package.json +0 -64
  644. package/dashboards/express/node_modules/proxy-addr/HISTORY.md +0 -161
  645. package/dashboards/express/node_modules/proxy-addr/LICENSE +0 -22
  646. package/dashboards/express/node_modules/proxy-addr/README.md +0 -139
  647. package/dashboards/express/node_modules/proxy-addr/index.js +0 -327
  648. package/dashboards/express/node_modules/proxy-addr/package.json +0 -47
  649. package/dashboards/express/node_modules/qs/.editorconfig +0 -46
  650. package/dashboards/express/node_modules/qs/.github/FUNDING.yml +0 -12
  651. package/dashboards/express/node_modules/qs/.github/SECURITY.md +0 -11
  652. package/dashboards/express/node_modules/qs/.github/THREAT_MODEL.md +0 -78
  653. package/dashboards/express/node_modules/qs/.nycrc +0 -13
  654. package/dashboards/express/node_modules/qs/CHANGELOG.md +0 -806
  655. package/dashboards/express/node_modules/qs/LICENSE.md +0 -29
  656. package/dashboards/express/node_modules/qs/README.md +0 -758
  657. package/dashboards/express/node_modules/qs/dist/qs.js +0 -141
  658. package/dashboards/express/node_modules/qs/eslint.config.mjs +0 -56
  659. package/dashboards/express/node_modules/qs/lib/formats.js +0 -23
  660. package/dashboards/express/node_modules/qs/lib/index.js +0 -11
  661. package/dashboards/express/node_modules/qs/lib/parse.js +0 -373
  662. package/dashboards/express/node_modules/qs/lib/stringify.js +0 -356
  663. package/dashboards/express/node_modules/qs/lib/utils.js +0 -342
  664. package/dashboards/express/node_modules/qs/package.json +0 -94
  665. package/dashboards/express/node_modules/qs/test/empty-keys-cases.js +0 -267
  666. package/dashboards/express/node_modules/qs/test/parse.js +0 -1568
  667. package/dashboards/express/node_modules/qs/test/stringify.js +0 -1310
  668. package/dashboards/express/node_modules/qs/test/utils.js +0 -404
  669. package/dashboards/express/node_modules/random-bytes/HISTORY.md +0 -4
  670. package/dashboards/express/node_modules/random-bytes/LICENSE +0 -21
  671. package/dashboards/express/node_modules/random-bytes/README.md +0 -77
  672. package/dashboards/express/node_modules/random-bytes/index.js +0 -101
  673. package/dashboards/express/node_modules/random-bytes/package.json +0 -36
  674. package/dashboards/express/node_modules/range-parser/HISTORY.md +0 -56
  675. package/dashboards/express/node_modules/range-parser/LICENSE +0 -23
  676. package/dashboards/express/node_modules/range-parser/README.md +0 -84
  677. package/dashboards/express/node_modules/range-parser/index.js +0 -162
  678. package/dashboards/express/node_modules/range-parser/package.json +0 -44
  679. package/dashboards/express/node_modules/raw-body/LICENSE +0 -22
  680. package/dashboards/express/node_modules/raw-body/README.md +0 -223
  681. package/dashboards/express/node_modules/raw-body/index.d.ts +0 -85
  682. package/dashboards/express/node_modules/raw-body/index.js +0 -336
  683. package/dashboards/express/node_modules/raw-body/package.json +0 -46
  684. package/dashboards/express/node_modules/router/HISTORY.md +0 -228
  685. package/dashboards/express/node_modules/router/LICENSE +0 -23
  686. package/dashboards/express/node_modules/router/README.md +0 -416
  687. package/dashboards/express/node_modules/router/index.js +0 -748
  688. package/dashboards/express/node_modules/router/lib/layer.js +0 -247
  689. package/dashboards/express/node_modules/router/lib/route.js +0 -242
  690. package/dashboards/express/node_modules/router/package.json +0 -44
  691. package/dashboards/express/node_modules/safe-buffer/LICENSE +0 -21
  692. package/dashboards/express/node_modules/safe-buffer/README.md +0 -584
  693. package/dashboards/express/node_modules/safe-buffer/index.d.ts +0 -187
  694. package/dashboards/express/node_modules/safe-buffer/index.js +0 -65
  695. package/dashboards/express/node_modules/safe-buffer/package.json +0 -51
  696. package/dashboards/express/node_modules/safer-buffer/LICENSE +0 -21
  697. package/dashboards/express/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  698. package/dashboards/express/node_modules/safer-buffer/Readme.md +0 -156
  699. package/dashboards/express/node_modules/safer-buffer/dangerous.js +0 -58
  700. package/dashboards/express/node_modules/safer-buffer/package.json +0 -34
  701. package/dashboards/express/node_modules/safer-buffer/safer.js +0 -77
  702. package/dashboards/express/node_modules/safer-buffer/tests.js +0 -406
  703. package/dashboards/express/node_modules/send/LICENSE +0 -23
  704. package/dashboards/express/node_modules/send/README.md +0 -317
  705. package/dashboards/express/node_modules/send/index.js +0 -997
  706. package/dashboards/express/node_modules/send/package.json +0 -63
  707. package/dashboards/express/node_modules/serve-static/LICENSE +0 -25
  708. package/dashboards/express/node_modules/serve-static/README.md +0 -253
  709. package/dashboards/express/node_modules/serve-static/index.js +0 -208
  710. package/dashboards/express/node_modules/serve-static/package.json +0 -44
  711. package/dashboards/express/node_modules/setprototypeof/LICENSE +0 -13
  712. package/dashboards/express/node_modules/setprototypeof/README.md +0 -31
  713. package/dashboards/express/node_modules/setprototypeof/index.d.ts +0 -2
  714. package/dashboards/express/node_modules/setprototypeof/index.js +0 -17
  715. package/dashboards/express/node_modules/setprototypeof/package.json +0 -38
  716. package/dashboards/express/node_modules/setprototypeof/test/index.js +0 -24
  717. package/dashboards/express/node_modules/side-channel/.editorconfig +0 -9
  718. package/dashboards/express/node_modules/side-channel/.eslintrc +0 -12
  719. package/dashboards/express/node_modules/side-channel/.github/FUNDING.yml +0 -12
  720. package/dashboards/express/node_modules/side-channel/.nycrc +0 -13
  721. package/dashboards/express/node_modules/side-channel/CHANGELOG.md +0 -110
  722. package/dashboards/express/node_modules/side-channel/LICENSE +0 -21
  723. package/dashboards/express/node_modules/side-channel/README.md +0 -61
  724. package/dashboards/express/node_modules/side-channel/index.d.ts +0 -14
  725. package/dashboards/express/node_modules/side-channel/index.js +0 -43
  726. package/dashboards/express/node_modules/side-channel/package.json +0 -85
  727. package/dashboards/express/node_modules/side-channel/test/index.js +0 -104
  728. package/dashboards/express/node_modules/side-channel/tsconfig.json +0 -9
  729. package/dashboards/express/node_modules/side-channel-list/.editorconfig +0 -9
  730. package/dashboards/express/node_modules/side-channel-list/.eslintrc +0 -11
  731. package/dashboards/express/node_modules/side-channel-list/.github/FUNDING.yml +0 -12
  732. package/dashboards/express/node_modules/side-channel-list/.nycrc +0 -13
  733. package/dashboards/express/node_modules/side-channel-list/CHANGELOG.md +0 -15
  734. package/dashboards/express/node_modules/side-channel-list/LICENSE +0 -21
  735. package/dashboards/express/node_modules/side-channel-list/README.md +0 -62
  736. package/dashboards/express/node_modules/side-channel-list/index.d.ts +0 -13
  737. package/dashboards/express/node_modules/side-channel-list/index.js +0 -113
  738. package/dashboards/express/node_modules/side-channel-list/list.d.ts +0 -14
  739. package/dashboards/express/node_modules/side-channel-list/package.json +0 -77
  740. package/dashboards/express/node_modules/side-channel-list/test/index.js +0 -104
  741. package/dashboards/express/node_modules/side-channel-list/tsconfig.json +0 -9
  742. package/dashboards/express/node_modules/side-channel-map/.editorconfig +0 -9
  743. package/dashboards/express/node_modules/side-channel-map/.eslintrc +0 -11
  744. package/dashboards/express/node_modules/side-channel-map/.github/FUNDING.yml +0 -12
  745. package/dashboards/express/node_modules/side-channel-map/.nycrc +0 -13
  746. package/dashboards/express/node_modules/side-channel-map/CHANGELOG.md +0 -22
  747. package/dashboards/express/node_modules/side-channel-map/LICENSE +0 -21
  748. package/dashboards/express/node_modules/side-channel-map/README.md +0 -62
  749. package/dashboards/express/node_modules/side-channel-map/index.d.ts +0 -15
  750. package/dashboards/express/node_modules/side-channel-map/index.js +0 -68
  751. package/dashboards/express/node_modules/side-channel-map/package.json +0 -80
  752. package/dashboards/express/node_modules/side-channel-map/test/index.js +0 -114
  753. package/dashboards/express/node_modules/side-channel-map/tsconfig.json +0 -9
  754. package/dashboards/express/node_modules/side-channel-weakmap/.editorconfig +0 -9
  755. package/dashboards/express/node_modules/side-channel-weakmap/.eslintrc +0 -12
  756. package/dashboards/express/node_modules/side-channel-weakmap/.github/FUNDING.yml +0 -12
  757. package/dashboards/express/node_modules/side-channel-weakmap/.nycrc +0 -13
  758. package/dashboards/express/node_modules/side-channel-weakmap/CHANGELOG.md +0 -28
  759. package/dashboards/express/node_modules/side-channel-weakmap/LICENSE +0 -21
  760. package/dashboards/express/node_modules/side-channel-weakmap/README.md +0 -62
  761. package/dashboards/express/node_modules/side-channel-weakmap/index.d.ts +0 -15
  762. package/dashboards/express/node_modules/side-channel-weakmap/index.js +0 -84
  763. package/dashboards/express/node_modules/side-channel-weakmap/package.json +0 -87
  764. package/dashboards/express/node_modules/side-channel-weakmap/test/index.js +0 -114
  765. package/dashboards/express/node_modules/side-channel-weakmap/tsconfig.json +0 -9
  766. package/dashboards/express/node_modules/statuses/HISTORY.md +0 -87
  767. package/dashboards/express/node_modules/statuses/LICENSE +0 -23
  768. package/dashboards/express/node_modules/statuses/README.md +0 -139
  769. package/dashboards/express/node_modules/statuses/codes.json +0 -65
  770. package/dashboards/express/node_modules/statuses/index.js +0 -146
  771. package/dashboards/express/node_modules/statuses/package.json +0 -49
  772. package/dashboards/express/node_modules/toidentifier/HISTORY.md +0 -9
  773. package/dashboards/express/node_modules/toidentifier/LICENSE +0 -21
  774. package/dashboards/express/node_modules/toidentifier/README.md +0 -61
  775. package/dashboards/express/node_modules/toidentifier/index.js +0 -32
  776. package/dashboards/express/node_modules/toidentifier/package.json +0 -38
  777. package/dashboards/express/node_modules/type-is/HISTORY.md +0 -292
  778. package/dashboards/express/node_modules/type-is/LICENSE +0 -23
  779. package/dashboards/express/node_modules/type-is/README.md +0 -198
  780. package/dashboards/express/node_modules/type-is/index.js +0 -250
  781. package/dashboards/express/node_modules/type-is/package.json +0 -47
  782. package/dashboards/express/node_modules/uid-safe/HISTORY.md +0 -61
  783. package/dashboards/express/node_modules/uid-safe/LICENSE +0 -22
  784. package/dashboards/express/node_modules/uid-safe/README.md +0 -77
  785. package/dashboards/express/node_modules/uid-safe/index.js +0 -107
  786. package/dashboards/express/node_modules/uid-safe/package.json +0 -46
  787. package/dashboards/express/node_modules/unpipe/HISTORY.md +0 -4
  788. package/dashboards/express/node_modules/unpipe/LICENSE +0 -22
  789. package/dashboards/express/node_modules/unpipe/README.md +0 -43
  790. package/dashboards/express/node_modules/unpipe/index.js +0 -69
  791. package/dashboards/express/node_modules/unpipe/package.json +0 -27
  792. package/dashboards/express/node_modules/vary/HISTORY.md +0 -39
  793. package/dashboards/express/node_modules/vary/LICENSE +0 -22
  794. package/dashboards/express/node_modules/vary/README.md +0 -101
  795. package/dashboards/express/node_modules/vary/index.js +0 -149
  796. package/dashboards/express/node_modules/vary/package.json +0 -43
  797. package/dashboards/express/node_modules/wrappy/LICENSE +0 -15
  798. package/dashboards/express/node_modules/wrappy/README.md +0 -36
  799. package/dashboards/express/node_modules/wrappy/package.json +0 -29
  800. package/dashboards/express/node_modules/wrappy/wrappy.js +0 -33
  801. package/dashboards/express/package-lock.json +0 -922
  802. package/dashboards/express/package.json +0 -17
  803. package/dashboards/express/public/styles.css +0 -175
  804. package/dashboards/express/routes/activity.js +0 -101
  805. package/dashboards/express/routes/agents.js +0 -771
  806. package/dashboards/express/routes/apiKeys.js +0 -107
  807. package/dashboards/express/routes/approvals.js +0 -100
  808. package/dashboards/express/routes/audit.js +0 -75
  809. package/dashboards/express/routes/auth.js +0 -38
  810. package/dashboards/express/routes/community-skills.js +0 -83
  811. package/dashboards/express/routes/compliance.js +0 -93
  812. package/dashboards/express/routes/dashboard.js +0 -65
  813. package/dashboards/express/routes/dlp.js +0 -165
  814. package/dashboards/express/routes/domain-status.js +0 -78
  815. package/dashboards/express/routes/guardrails.js +0 -195
  816. package/dashboards/express/routes/journal.js +0 -95
  817. package/dashboards/express/routes/knowledge-contributions.js +0 -85
  818. package/dashboards/express/routes/knowledge.js +0 -83
  819. package/dashboards/express/routes/messages.js +0 -97
  820. package/dashboards/express/routes/settings.js +0 -830
  821. package/dashboards/express/routes/skill-connections.js +0 -86
  822. package/dashboards/express/routes/skills.js +0 -141
  823. package/dashboards/express/routes/users.js +0 -69
  824. package/dashboards/express/routes/vault.js +0 -141
  825. package/dashboards/express/routes/workforce.js +0 -126
  826. package/dashboards/express/utils/api.js +0 -44
  827. package/dashboards/express/utils/helpers.js +0 -46
  828. package/dashboards/express/views/components/modal.js +0 -255
  829. package/dashboards/express/views/components/stats.js +0 -22
  830. package/dashboards/express/views/components/table.js +0 -31
  831. package/dashboards/express/views/layout.js +0 -94
  832. package/dashboards/express/views/login.js +0 -45
  833. package/dashboards/go/go.mod +0 -3
  834. package/dashboards/go/handlers/activity.go +0 -30
  835. package/dashboards/go/handlers/agents.go +0 -790
  836. package/dashboards/go/handlers/apikeys.go +0 -38
  837. package/dashboards/go/handlers/approvals.go +0 -31
  838. package/dashboards/go/handlers/audit.go +0 -52
  839. package/dashboards/go/handlers/auth.go +0 -39
  840. package/dashboards/go/handlers/community_skills.go +0 -32
  841. package/dashboards/go/handlers/compliance.go +0 -58
  842. package/dashboards/go/handlers/dashboard.go +0 -43
  843. package/dashboards/go/handlers/dlp.go +0 -78
  844. package/dashboards/go/handlers/domain_status.go +0 -62
  845. package/dashboards/go/handlers/guardrails.go +0 -89
  846. package/dashboards/go/handlers/journal.go +0 -60
  847. package/dashboards/go/handlers/knowledge.go +0 -35
  848. package/dashboards/go/handlers/knowledge_contributions.go +0 -37
  849. package/dashboards/go/handlers/messages.go +0 -59
  850. package/dashboards/go/handlers/settings.go +0 -951
  851. package/dashboards/go/handlers/skill_connections.go +0 -59
  852. package/dashboards/go/handlers/skills.go +0 -129
  853. package/dashboards/go/handlers/users.go +0 -54
  854. package/dashboards/go/handlers/vault.go +0 -85
  855. package/dashboards/go/handlers/workforce.go +0 -60
  856. package/dashboards/go/main.go +0 -71
  857. package/dashboards/go/middleware/auth.go +0 -17
  858. package/dashboards/go/services/api.go +0 -38
  859. package/dashboards/go/services/session.go +0 -52
  860. package/dashboards/go/static/styles.css +0 -546
  861. package/dashboards/go/templates/components.go +0 -45
  862. package/dashboards/go/templates/helpers.go +0 -35
  863. package/dashboards/go/templates/layout.go +0 -64
  864. package/dashboards/html/index.html +0 -432
  865. package/dashboards/html/package.json +0 -11
  866. package/dashboards/html/public/styles.css +0 -546
  867. package/dashboards/html/src/api.js +0 -36
  868. package/dashboards/html/src/components/badge.js +0 -13
  869. package/dashboards/html/src/components/layout.js +0 -11
  870. package/dashboards/html/src/components/modal.js +0 -9
  871. package/dashboards/html/src/components/pagination.js +0 -12
  872. package/dashboards/html/src/components/stat-card.js +0 -14
  873. package/dashboards/html/src/components/table.js +0 -6
  874. package/dashboards/html/src/main.js +0 -83
  875. package/dashboards/html/src/pages/activity.js +0 -137
  876. package/dashboards/html/src/pages/agents.js +0 -831
  877. package/dashboards/html/src/pages/api-keys.js +0 -80
  878. package/dashboards/html/src/pages/approvals.js +0 -155
  879. package/dashboards/html/src/pages/audit.js +0 -50
  880. package/dashboards/html/src/pages/community-skills.js +0 -236
  881. package/dashboards/html/src/pages/compliance.js +0 -69
  882. package/dashboards/html/src/pages/dashboard.js +0 -25
  883. package/dashboards/html/src/pages/dlp.js +0 -112
  884. package/dashboards/html/src/pages/domain-status.js +0 -182
  885. package/dashboards/html/src/pages/guardrails.js +0 -127
  886. package/dashboards/html/src/pages/journal.js +0 -54
  887. package/dashboards/html/src/pages/knowledge-contributions.js +0 -319
  888. package/dashboards/html/src/pages/knowledge.js +0 -251
  889. package/dashboards/html/src/pages/login.js +0 -84
  890. package/dashboards/html/src/pages/messages.js +0 -90
  891. package/dashboards/html/src/pages/settings.js +0 -656
  892. package/dashboards/html/src/pages/skill-connections.js +0 -293
  893. package/dashboards/html/src/pages/skills.js +0 -114
  894. package/dashboards/html/src/pages/users.js +0 -62
  895. package/dashboards/html/src/pages/vault.js +0 -105
  896. package/dashboards/html/src/pages/workforce.js +0 -418
  897. package/dashboards/html/src/router.js +0 -91
  898. package/dashboards/html/src/utils/escape.js +0 -7
  899. package/dashboards/html/src/utils/time.js +0 -16
  900. package/dashboards/html/src/utils/toast.js +0 -10
  901. package/dashboards/java/AgenticMailDashboard.java +0 -161
  902. package/dashboards/java/handlers/ActivityHandler.java +0 -42
  903. package/dashboards/java/handlers/AgentsHandler.java +0 -807
  904. package/dashboards/java/handlers/ApiKeysHandler.java +0 -201
  905. package/dashboards/java/handlers/ApprovalsHandler.java +0 -43
  906. package/dashboards/java/handlers/AuditHandler.java +0 -95
  907. package/dashboards/java/handlers/AuthHandler.java +0 -71
  908. package/dashboards/java/handlers/CommunitySkillsHandler.java +0 -45
  909. package/dashboards/java/handlers/ComplianceHandler.java +0 -192
  910. package/dashboards/java/handlers/DashboardHandler.java +0 -98
  911. package/dashboards/java/handlers/DlpHandler.java +0 -230
  912. package/dashboards/java/handlers/DomainStatusHandler.java +0 -58
  913. package/dashboards/java/handlers/GuardrailsHandler.java +0 -272
  914. package/dashboards/java/handlers/JournalHandler.java +0 -130
  915. package/dashboards/java/handlers/KnowledgeContributionsHandler.java +0 -51
  916. package/dashboards/java/handlers/KnowledgeHandler.java +0 -49
  917. package/dashboards/java/handlers/MessagesHandler.java +0 -168
  918. package/dashboards/java/handlers/SettingsHandler.java +0 -1017
  919. package/dashboards/java/handlers/SkillConnectionsHandler.java +0 -61
  920. package/dashboards/java/handlers/SkillsHandler.java +0 -198
  921. package/dashboards/java/handlers/UsersHandler.java +0 -118
  922. package/dashboards/java/handlers/VaultHandler.java +0 -168
  923. package/dashboards/java/handlers/WorkforceHandler.java +0 -64
  924. package/dashboards/java/services/ApiClient.java +0 -233
  925. package/dashboards/java/services/SessionManager.java +0 -138
  926. package/dashboards/java/static/styles.css +0 -546
  927. package/dashboards/java/templates/Components.java +0 -142
  928. package/dashboards/java/templates/Helpers.java +0 -106
  929. package/dashboards/java/templates/Layout.java +0 -106
  930. package/dashboards/laravel/controllers/ActivityController.php +0 -18
  931. package/dashboards/laravel/controllers/AgentController.php +0 -250
  932. package/dashboards/laravel/controllers/ApiKeyController.php +0 -73
  933. package/dashboards/laravel/controllers/ApprovalsController.php +0 -18
  934. package/dashboards/laravel/controllers/AuditController.php +0 -31
  935. package/dashboards/laravel/controllers/AuthController.php +0 -44
  936. package/dashboards/laravel/controllers/CommunitySkillsController.php +0 -18
  937. package/dashboards/laravel/controllers/ComplianceController.php +0 -55
  938. package/dashboards/laravel/controllers/DashboardController.php +0 -28
  939. package/dashboards/laravel/controllers/DlpController.php +0 -88
  940. package/dashboards/laravel/controllers/DomainStatusController.php +0 -18
  941. package/dashboards/laravel/controllers/GuardrailController.php +0 -110
  942. package/dashboards/laravel/controllers/JournalController.php +0 -44
  943. package/dashboards/laravel/controllers/KnowledgeContributionsController.php +0 -18
  944. package/dashboards/laravel/controllers/KnowledgeController.php +0 -18
  945. package/dashboards/laravel/controllers/MessageController.php +0 -47
  946. package/dashboards/laravel/controllers/SettingController.php +0 -258
  947. package/dashboards/laravel/controllers/SkillConnectionsController.php +0 -18
  948. package/dashboards/laravel/controllers/SkillController.php +0 -74
  949. package/dashboards/laravel/controllers/UserController.php +0 -47
  950. package/dashboards/laravel/controllers/VaultController.php +0 -94
  951. package/dashboards/laravel/controllers/WorkforceController.php +0 -18
  952. package/dashboards/laravel/index.php +0 -375
  953. package/dashboards/laravel/lib/Api.php +0 -73
  954. package/dashboards/laravel/lib/Helpers.php +0 -123
  955. package/dashboards/laravel/public/styles.css +0 -175
  956. package/dashboards/laravel/views/activity.php +0 -127
  957. package/dashboards/laravel/views/agent-detail.php +0 -534
  958. package/dashboards/laravel/views/agents.php +0 -204
  959. package/dashboards/laravel/views/api-keys.php +0 -55
  960. package/dashboards/laravel/views/approvals.php +0 -152
  961. package/dashboards/laravel/views/audit.php +0 -30
  962. package/dashboards/laravel/views/community-skills.php +0 -131
  963. package/dashboards/laravel/views/compliance.php +0 -48
  964. package/dashboards/laravel/views/components/modal.php +0 -59
  965. package/dashboards/laravel/views/components/stats.php +0 -21
  966. package/dashboards/laravel/views/components/table.php +0 -35
  967. package/dashboards/laravel/views/dashboard.php +0 -31
  968. package/dashboards/laravel/views/dlp.php +0 -87
  969. package/dashboards/laravel/views/domain-status.php +0 -167
  970. package/dashboards/laravel/views/guardrails.php +0 -95
  971. package/dashboards/laravel/views/journal.php +0 -50
  972. package/dashboards/laravel/views/knowledge-contributions.php +0 -185
  973. package/dashboards/laravel/views/knowledge.php +0 -167
  974. package/dashboards/laravel/views/layout.php +0 -95
  975. package/dashboards/laravel/views/login.php +0 -45
  976. package/dashboards/laravel/views/messages.php +0 -60
  977. package/dashboards/laravel/views/settings.php +0 -622
  978. package/dashboards/laravel/views/skill-connections.php +0 -192
  979. package/dashboards/laravel/views/skills.php +0 -74
  980. package/dashboards/laravel/views/users.php +0 -42
  981. package/dashboards/laravel/views/vault.php +0 -80
  982. package/dashboards/laravel/views/workforce.php +0 -265
  983. package/dashboards/php/components/layout.php +0 -85
  984. package/dashboards/php/components/modal.php +0 -22
  985. package/dashboards/php/components/stats.php +0 -20
  986. package/dashboards/php/components/table.php +0 -33
  987. package/dashboards/php/index.php +0 -696
  988. package/dashboards/php/lib/api.php +0 -37
  989. package/dashboards/php/lib/auth.php +0 -47
  990. package/dashboards/php/lib/helpers.php +0 -69
  991. package/dashboards/php/pages/activity.php +0 -35
  992. package/dashboards/php/pages/agent-detail.php +0 -552
  993. package/dashboards/php/pages/agents.php +0 -185
  994. package/dashboards/php/pages/api-keys.php +0 -34
  995. package/dashboards/php/pages/approvals.php +0 -36
  996. package/dashboards/php/pages/audit.php +0 -31
  997. package/dashboards/php/pages/community-skills.php +0 -39
  998. package/dashboards/php/pages/compliance.php +0 -38
  999. package/dashboards/php/pages/dashboard.php +0 -29
  1000. package/dashboards/php/pages/dlp.php +0 -65
  1001. package/dashboards/php/pages/domain-status.php +0 -87
  1002. package/dashboards/php/pages/guardrails.php +0 -70
  1003. package/dashboards/php/pages/journal.php +0 -53
  1004. package/dashboards/php/pages/knowledge-contributions.php +0 -47
  1005. package/dashboards/php/pages/knowledge.php +0 -43
  1006. package/dashboards/php/pages/login.php +0 -34
  1007. package/dashboards/php/pages/messages.php +0 -53
  1008. package/dashboards/php/pages/settings.php +0 -687
  1009. package/dashboards/php/pages/skill-connections.php +0 -94
  1010. package/dashboards/php/pages/skills.php +0 -70
  1011. package/dashboards/php/pages/users.php +0 -37
  1012. package/dashboards/php/pages/vault.php +0 -70
  1013. package/dashboards/php/pages/workforce.php +0 -89
  1014. package/dashboards/php/public/styles.css +0 -175
  1015. package/dashboards/python/app.py +0 -91
  1016. package/dashboards/python/routes/__init__.py +0 -0
  1017. package/dashboards/python/routes/activity.py +0 -11
  1018. package/dashboards/python/routes/agents.py +0 -296
  1019. package/dashboards/python/routes/api_keys.py +0 -49
  1020. package/dashboards/python/routes/approvals.py +0 -11
  1021. package/dashboards/python/routes/audit.py +0 -33
  1022. package/dashboards/python/routes/auth.py +0 -30
  1023. package/dashboards/python/routes/community_skills.py +0 -11
  1024. package/dashboards/python/routes/compliance.py +0 -50
  1025. package/dashboards/python/routes/dashboard.py +0 -32
  1026. package/dashboards/python/routes/dlp.py +0 -64
  1027. package/dashboards/python/routes/domain_status.py +0 -11
  1028. package/dashboards/python/routes/guardrails.py +0 -79
  1029. package/dashboards/python/routes/journal.py +0 -40
  1030. package/dashboards/python/routes/knowledge.py +0 -11
  1031. package/dashboards/python/routes/knowledge_contributions.py +0 -11
  1032. package/dashboards/python/routes/messages.py +0 -46
  1033. package/dashboards/python/routes/settings.py +0 -260
  1034. package/dashboards/python/routes/skill_connections.py +0 -11
  1035. package/dashboards/python/routes/skills.py +0 -59
  1036. package/dashboards/python/routes/users.py +0 -43
  1037. package/dashboards/python/routes/vault.py +0 -59
  1038. package/dashboards/python/routes/workforce.py +0 -11
  1039. package/dashboards/python/static/styles.css +0 -175
  1040. package/dashboards/python/templates/activity.html +0 -87
  1041. package/dashboards/python/templates/agent_detail.html +0 -552
  1042. package/dashboards/python/templates/agents.html +0 -246
  1043. package/dashboards/python/templates/api_keys.html +0 -64
  1044. package/dashboards/python/templates/approvals.html +0 -86
  1045. package/dashboards/python/templates/audit.html +0 -50
  1046. package/dashboards/python/templates/community-skills.html +0 -69
  1047. package/dashboards/python/templates/compliance.html +0 -74
  1048. package/dashboards/python/templates/components/modal.html +0 -43
  1049. package/dashboards/python/templates/components/stats.html +0 -26
  1050. package/dashboards/python/templates/components/table.html +0 -43
  1051. package/dashboards/python/templates/dashboard.html +0 -34
  1052. package/dashboards/python/templates/dlp.html +0 -159
  1053. package/dashboards/python/templates/domain-status.html +0 -64
  1054. package/dashboards/python/templates/guardrails.html +0 -131
  1055. package/dashboards/python/templates/journal.html +0 -66
  1056. package/dashboards/python/templates/knowledge-contributions.html +0 -71
  1057. package/dashboards/python/templates/knowledge.html +0 -69
  1058. package/dashboards/python/templates/layout.html +0 -121
  1059. package/dashboards/python/templates/login.html +0 -36
  1060. package/dashboards/python/templates/messages.html +0 -90
  1061. package/dashboards/python/templates/settings.html +0 -624
  1062. package/dashboards/python/templates/skill-connections.html +0 -72
  1063. package/dashboards/python/templates/skills.html +0 -89
  1064. package/dashboards/python/templates/users.html +0 -70
  1065. package/dashboards/python/templates/vault.html +0 -73
  1066. package/dashboards/python/templates/workforce.html +0 -112
  1067. package/dashboards/python/utils/__init__.py +0 -0
  1068. package/dashboards/python/utils/api.py +0 -35
  1069. package/dashboards/python/utils/helpers.py +0 -90
  1070. package/dashboards/rails/app.rb +0 -64
  1071. package/dashboards/rails/helpers/api.rb +0 -39
  1072. package/dashboards/rails/helpers/auth.rb +0 -11
  1073. package/dashboards/rails/helpers/view.rb +0 -95
  1074. package/dashboards/rails/public/styles.css +0 -546
  1075. package/dashboards/rails/routes/activity.rb +0 -10
  1076. package/dashboards/rails/routes/agents.rb +0 -173
  1077. package/dashboards/rails/routes/api_keys.rb +0 -30
  1078. package/dashboards/rails/routes/approvals.rb +0 -10
  1079. package/dashboards/rails/routes/audit.rb +0 -15
  1080. package/dashboards/rails/routes/auth.rb +0 -29
  1081. package/dashboards/rails/routes/community_skills.rb +0 -11
  1082. package/dashboards/rails/routes/compliance.rb +0 -25
  1083. package/dashboards/rails/routes/dashboard.rb +0 -13
  1084. package/dashboards/rails/routes/dlp.rb +0 -40
  1085. package/dashboards/rails/routes/domain_status.rb +0 -16
  1086. package/dashboards/rails/routes/guardrails.rb +0 -51
  1087. package/dashboards/rails/routes/journal.rb +0 -24
  1088. package/dashboards/rails/routes/knowledge.rb +0 -11
  1089. package/dashboards/rails/routes/knowledge_contributions.rb +0 -12
  1090. package/dashboards/rails/routes/messages.rb +0 -22
  1091. package/dashboards/rails/routes/settings.rb +0 -196
  1092. package/dashboards/rails/routes/skill_connections.rb +0 -15
  1093. package/dashboards/rails/routes/skills.rb +0 -38
  1094. package/dashboards/rails/routes/users.rb +0 -18
  1095. package/dashboards/rails/routes/vault.rb +0 -37
  1096. package/dashboards/rails/routes/workforce.rb +0 -16
  1097. package/dashboards/rails/views/activity.erb +0 -56
  1098. package/dashboards/rails/views/agent_detail.erb +0 -550
  1099. package/dashboards/rails/views/agents.erb +0 -214
  1100. package/dashboards/rails/views/api_keys.erb +0 -52
  1101. package/dashboards/rails/views/approvals.erb +0 -60
  1102. package/dashboards/rails/views/audit.erb +0 -38
  1103. package/dashboards/rails/views/community_skills.erb +0 -69
  1104. package/dashboards/rails/views/compliance.erb +0 -69
  1105. package/dashboards/rails/views/dashboard.erb +0 -46
  1106. package/dashboards/rails/views/dlp.erb +0 -104
  1107. package/dashboards/rails/views/domain_status.erb +0 -75
  1108. package/dashboards/rails/views/guardrails.erb +0 -107
  1109. package/dashboards/rails/views/journal.erb +0 -65
  1110. package/dashboards/rails/views/knowledge.erb +0 -67
  1111. package/dashboards/rails/views/knowledge_contributions.erb +0 -70
  1112. package/dashboards/rails/views/layout.erb +0 -61
  1113. package/dashboards/rails/views/login.erb +0 -47
  1114. package/dashboards/rails/views/messages.erb +0 -62
  1115. package/dashboards/rails/views/settings.erb +0 -578
  1116. package/dashboards/rails/views/skill_connections.erb +0 -109
  1117. package/dashboards/rails/views/skills.erb +0 -66
  1118. package/dashboards/rails/views/users.erb +0 -53
  1119. package/dashboards/rails/views/vault.erb +0 -66
  1120. package/dashboards/rails/views/workforce.erb +0 -124
  1121. package/dashboards/ruby/app.rb +0 -74
  1122. package/dashboards/ruby/helpers/api.rb +0 -63
  1123. package/dashboards/ruby/helpers/auth.rb +0 -20
  1124. package/dashboards/ruby/helpers/view.rb +0 -91
  1125. package/dashboards/ruby/public/styles.css +0 -546
  1126. package/dashboards/ruby/routes/activity.rb +0 -10
  1127. package/dashboards/ruby/routes/agents.rb +0 -197
  1128. package/dashboards/ruby/routes/api_keys.rb +0 -43
  1129. package/dashboards/ruby/routes/approvals.rb +0 -10
  1130. package/dashboards/ruby/routes/audit.rb +0 -15
  1131. package/dashboards/ruby/routes/auth.rb +0 -29
  1132. package/dashboards/ruby/routes/community_skills.rb +0 -11
  1133. package/dashboards/ruby/routes/compliance.rb +0 -28
  1134. package/dashboards/ruby/routes/dashboard.rb +0 -13
  1135. package/dashboards/ruby/routes/dlp.rb +0 -55
  1136. package/dashboards/ruby/routes/domain_status.rb +0 -16
  1137. package/dashboards/ruby/routes/guardrails.rb +0 -77
  1138. package/dashboards/ruby/routes/journal.rb +0 -24
  1139. package/dashboards/ruby/routes/knowledge.rb +0 -11
  1140. package/dashboards/ruby/routes/knowledge_contributions.rb +0 -12
  1141. package/dashboards/ruby/routes/messages.rb +0 -27
  1142. package/dashboards/ruby/routes/settings.rb +0 -214
  1143. package/dashboards/ruby/routes/skill_connections.rb +0 -15
  1144. package/dashboards/ruby/routes/skills.rb +0 -50
  1145. package/dashboards/ruby/routes/users.rb +0 -26
  1146. package/dashboards/ruby/routes/vault.rb +0 -49
  1147. package/dashboards/ruby/routes/workforce.rb +0 -16
  1148. package/dashboards/ruby/views/activity.erb +0 -56
  1149. package/dashboards/ruby/views/agent_detail.erb +0 -550
  1150. package/dashboards/ruby/views/agents.erb +0 -214
  1151. package/dashboards/ruby/views/api_keys.erb +0 -59
  1152. package/dashboards/ruby/views/approvals.erb +0 -60
  1153. package/dashboards/ruby/views/audit.erb +0 -38
  1154. package/dashboards/ruby/views/community_skills.erb +0 -69
  1155. package/dashboards/ruby/views/compliance.erb +0 -45
  1156. package/dashboards/ruby/views/dashboard.erb +0 -46
  1157. package/dashboards/ruby/views/dlp.erb +0 -88
  1158. package/dashboards/ruby/views/domain_status.erb +0 -75
  1159. package/dashboards/ruby/views/guardrails.erb +0 -103
  1160. package/dashboards/ruby/views/journal.erb +0 -53
  1161. package/dashboards/ruby/views/knowledge.erb +0 -67
  1162. package/dashboards/ruby/views/knowledge_contributions.erb +0 -70
  1163. package/dashboards/ruby/views/layout.erb +0 -61
  1164. package/dashboards/ruby/views/login.erb +0 -31
  1165. package/dashboards/ruby/views/messages.erb +0 -51
  1166. package/dashboards/ruby/views/settings.erb +0 -579
  1167. package/dashboards/ruby/views/skill_connections.erb +0 -109
  1168. package/dashboards/ruby/views/skills.erb +0 -66
  1169. package/dashboards/ruby/views/users.erb +0 -53
  1170. package/dashboards/ruby/views/vault.erb +0 -66
  1171. package/dashboards/ruby/views/workforce.erb +0 -124
  1172. package/dashboards/shared/styles.css +0 -546
  1173. package/dashboards/shared-styles.css +0 -546
@@ -1,951 +0,0 @@
1
- package handlers
2
-
3
- import (
4
- "agenticmail-dashboard/services"
5
- "agenticmail-dashboard/templates"
6
- "fmt"
7
- "net/http"
8
- "strconv"
9
- "strings"
10
- )
11
-
12
- // HandleSettings handles the settings page (GET) and settings update (POST).
13
- func HandleSettings(w http.ResponseWriter, r *http.Request) {
14
- s := services.GetSession(r)
15
-
16
- if r.Method == "POST" {
17
- r.ParseForm()
18
-
19
- // Check if this is a tool security save
20
- if r.FormValue("_form") == "tool-security" {
21
- saveToolSecurity(w, r, s)
22
- return
23
- }
24
-
25
- // Check if this is a firewall save
26
- if r.FormValue("_form") == "firewall" {
27
- saveFirewall(w, r, s)
28
- return
29
- }
30
-
31
- // Check if this is a model pricing save
32
- if r.FormValue("_form") == "model-pricing" {
33
- saveModelPricing(w, r, s)
34
- return
35
- }
36
-
37
- services.APICall("/api/settings", "PATCH", s.Token, map[string]string{
38
- "name": r.FormValue("name"),
39
- "domain": r.FormValue("domain"),
40
- "primaryColor": r.FormValue("primaryColor"),
41
- })
42
- http.Redirect(w, r, "/settings", http.StatusFound)
43
- return
44
- }
45
-
46
- settings, _ := services.APICall("/api/settings", "GET", s.Token, nil)
47
- retention, _ := services.APICall("/api/retention", "GET", s.Token, nil)
48
- if settings == nil {
49
- settings = map[string]interface{}{}
50
- }
51
- if retention == nil {
52
- retention = map[string]interface{}{}
53
- }
54
-
55
- retEnabled := "Disabled"
56
- retColor := "var(--muted)"
57
- if enabled, ok := retention["enabled"].(bool); ok && enabled {
58
- retEnabled = "Enabled"
59
- retColor = "var(--success)"
60
- }
61
- retDays := templates.IntVal(retention, "retainDays")
62
- if retDays == 0 {
63
- retDays = 365
64
- }
65
-
66
- content := fmt.Sprintf(`<style>
67
- .settings-help-btn{background:none;border:1px solid var(--border);border-radius:50%%;width:22px;height:22px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;flex-shrink:0}
68
- .settings-help-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
69
- .settings-help-panel{display:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:16px;font-size:13px;line-height:1.6;color:var(--dim)}
70
- .settings-help-panel.open{display:block}
71
- .settings-help-panel h4{margin:12px 0 4px;font-size:13px;font-weight:600;color:var(--text,#333)}
72
- .settings-help-panel ul{margin:4px 0 8px 18px;padding:0}
73
- .settings-help-panel li{margin-bottom:4px}
74
- </style>
75
- <h2 class="t">Settings</h2><p class="desc">Configure your organization</p>
76
- <div style="border-bottom:1px solid var(--border);margin-bottom:20px">
77
- <div class="tabs" style="padding:0">
78
- <div class="tab active" data-settings-tab="general" onclick="switchSettingsTab('general')">General</div>
79
- <div class="tab" data-settings-tab="tool-security" onclick="switchSettingsTab('tool-security')">Tool Security</div>
80
- <div class="tab" data-settings-tab="firewall" onclick="switchSettingsTab('firewall')">Network &amp; Firewall</div>
81
- <div class="tab" data-settings-tab="model-pricing" onclick="switchSettingsTab('model-pricing')">Model Pricing</div>
82
- </div></div>
83
- <div id="settings-panel-general">
84
- <div class="card"><div style="display:flex;align-items:center;gap:0"><div class="ct">General</div><button class="settings-help-btn" onclick="toggleSettingsHelp('general')" title="Learn more">?</button></div>
85
- <div id="help-general" class="settings-help-panel">
86
- <p>The General section configures your organization's identity and email delivery.</p>
87
- <h4>Organization</h4>
88
- <ul>
89
- <li><strong>Company Name</strong> — Appears throughout the dashboard and in emails sent by agents.</li>
90
- <li><strong>Domain</strong> — Your company's primary domain, used for agent email addresses.</li>
91
- <li><strong>Subdomain</strong> — Your unique ID on the AgenticMail cloud (subdomain.agenticmail.io).</li>
92
- <li><strong>Logo URL</strong> — Link to your company logo, shown in dashboard and emails.</li>
93
- <li><strong>Primary Color</strong> — Customizes the dashboard accent color to match your brand.</li>
94
- </ul>
95
- <h4>SMTP Configuration</h4>
96
- <p>Controls outgoing email delivery. Leave blank to use the default AgenticMail relay. Configure custom SMTP to send from your own mail infrastructure.</p>
97
- </div>
98
- <form method="POST" action="/settings" style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
99
- <div class="fg"><label class="fl">Organization Name</label><input class="input" name="name" value="%s"></div>
100
- <div class="fg"><label class="fl">Domain</label><input class="input" name="domain" value="%s" placeholder="agents.agenticmail.io"></div>
101
- <div class="fg"><label class="fl">Primary Color</label><input class="input" type="color" name="primaryColor" value="%s" style="height:38px;padding:4px"></div>
102
- <div></div><div><button class="btn btn-p" type="submit">Save Settings</button></div></form></div>
103
- <div class="card"><div class="ct">Plan</div>%s <span style="font-size:13px;color:var(--dim);margin-left:12px">Subdomain: %s.agenticmail.io</span></div>
104
- <div class="card"><div class="ct">Data Retention</div><div style="font-size:13px">Status: <span style="color:%s">%s</span><br><span style="color:var(--dim)">Retain emails for %d days</span></div></div>
105
- </div>`,
106
- templates.Esc(settings["name"]), templates.Esc(settings["domain"]),
107
- templates.Esc(settings["primaryColor"]),
108
- templates.Badge(strings.ToUpper(templates.StrVal(settings, "plan"))),
109
- templates.Esc(settings["subdomain"]),
110
- retColor, retEnabled, retDays)
111
-
112
- // Tool Security panel
113
- content += renderToolSecurityPanel(s)
114
-
115
- // Firewall panel
116
- content += renderFirewallPanel(s)
117
-
118
- // Model Pricing panel
119
- content += renderModelPricingPanel(s)
120
-
121
- // Tab switching JavaScript + help toggle
122
- content += `<script>
123
- function switchSettingsTab(tab){document.querySelectorAll('[id^="settings-panel-"]').forEach(function(p){p.style.display='none'});document.querySelectorAll('[data-settings-tab]').forEach(function(t){t.classList.remove('active')});document.getElementById('settings-panel-'+tab).style.display='block';document.querySelector('[data-settings-tab="'+tab+'"]').classList.add('active')}
124
- function toggleSettingsHelp(id){var p=document.getElementById('help-'+id);if(p)p.classList.toggle('open')}
125
- </script>`
126
-
127
- w.Header().Set("Content-Type", "text/html")
128
- fmt.Fprint(w, templates.Layout("settings", s.User, content))
129
- }
130
-
131
- // renderToolSecurityPanel fetches and renders the tool security settings panel.
132
- func renderToolSecurityPanel(s *services.Session) string {
133
- tsData, _ := services.APICall("/api/settings/tool-security", "GET", s.Token, nil)
134
- if tsData == nil {
135
- tsData = map[string]interface{}{}
136
- }
137
-
138
- // Unwrap toolSecurityConfig if present
139
- cfg := tsData
140
- if tsc, ok := tsData["toolSecurityConfig"].(map[string]interface{}); ok {
141
- cfg = tsc
142
- }
143
-
144
- security := map[string]interface{}{}
145
- if sec, ok := cfg["security"].(map[string]interface{}); ok {
146
- security = sec
147
- }
148
- middleware := map[string]interface{}{}
149
- if mw, ok := cfg["middleware"].(map[string]interface{}); ok {
150
- middleware = mw
151
- }
152
-
153
- // Security sub-objects
154
- pathSandbox := map[string]interface{}{}
155
- if ps, ok := security["pathSandbox"].(map[string]interface{}); ok {
156
- pathSandbox = ps
157
- }
158
- ssrf := map[string]interface{}{}
159
- if s, ok := security["ssrf"].(map[string]interface{}); ok {
160
- ssrf = s
161
- }
162
- cmdSanitizer := map[string]interface{}{}
163
- if cs, ok := security["commandSanitizer"].(map[string]interface{}); ok {
164
- cmdSanitizer = cs
165
- }
166
-
167
- // Middleware sub-objects
168
- audit := map[string]interface{}{}
169
- if a, ok := middleware["audit"].(map[string]interface{}); ok {
170
- audit = a
171
- }
172
- rateLimit := map[string]interface{}{}
173
- if rl, ok := middleware["rateLimit"].(map[string]interface{}); ok {
174
- rateLimit = rl
175
- }
176
- circuitBreaker := map[string]interface{}{}
177
- if cb, ok := middleware["circuitBreaker"].(map[string]interface{}); ok {
178
- circuitBreaker = cb
179
- }
180
- telemetry := map[string]interface{}{}
181
- if t, ok := middleware["telemetry"].(map[string]interface{}); ok {
182
- telemetry = t
183
- }
184
-
185
- checked := func(m map[string]interface{}, key string) string {
186
- if v, ok := m[key].(bool); ok && v {
187
- return " checked"
188
- }
189
- return ""
190
- }
191
-
192
- joinArray := func(m map[string]interface{}, key string) string {
193
- if arr, ok := m[key].([]interface{}); ok {
194
- parts := make([]string, 0, len(arr))
195
- for _, v := range arr {
196
- parts = append(parts, fmt.Sprintf("%v", v))
197
- }
198
- return strings.Join(parts, ", ")
199
- }
200
- return ""
201
- }
202
-
203
- cmdMode := templates.StrVal(cmdSanitizer, "mode")
204
- if cmdMode == "" {
205
- cmdMode = "blocklist"
206
- }
207
- blocklistSel := ""
208
- allowlistSel := ""
209
- if cmdMode == "allowlist" {
210
- allowlistSel = " selected"
211
- } else {
212
- blocklistSel = " selected"
213
- }
214
-
215
- html := fmt.Sprintf(`<div id="settings-panel-tool-security" style="display:none">
216
- <form method="POST" action="/settings">
217
- <input type="hidden" name="_form" value="tool-security">
218
-
219
- <div style="display:flex;align-items:center;gap:0;margin-bottom:16px"><h3 style="margin:0;font-size:18px;font-weight:600">Agent Tool Security</h3><button class="settings-help-btn" onclick="toggleSettingsHelp('tool-security')" title="Learn more">?</button></div>
220
- <div id="help-tool-security" class="settings-help-panel">
221
- <p>Tool Security controls what AI agents are allowed to do at the system level — safety guardrails that prevent agents from accessing sensitive resources.</p>
222
- <h4>Security Sandboxes</h4>
223
- <ul>
224
- <li><strong>Path Sandbox</strong> — Restricts which folders agents can read/write. Prevents access to sensitive files.</li>
225
- <li><strong>SSRF Protection</strong> — Blocks agents from reaching internal networks, cloud metadata, or private IPs.</li>
226
- <li><strong>Command Sanitizer</strong> — Controls which shell commands agents can execute. Blocklist blocks dangerous patterns; Allowlist only permits specified commands.</li>
227
- </ul>
228
- <h4>Middleware &amp; Observability</h4>
229
- <ul>
230
- <li><strong>Audit Logging</strong> — Records every tool action: what, when, success/failure, duration. Sensitive fields are auto-redacted.</li>
231
- <li><strong>Rate Limiting</strong> — Limits tool calls per minute per agent. Prevents system overload.</li>
232
- <li><strong>Circuit Breaker</strong> — Auto-pauses tools that keep failing (5 consecutive errors). Waits 30s before retry.</li>
233
- <li><strong>Telemetry</strong> — Collects performance metrics: call duration, success rates, output sizes.</li>
234
- </ul>
235
- </div>
236
-
237
- <div class="card" style="margin-bottom:16px"><div class="ct">Security Policies</div>
238
- <div style="display:grid;gap:20px">
239
-
240
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
241
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
242
- <div><strong style="font-size:14px">Path Sandbox</strong><div style="font-size:12px;color:var(--dim)">Restrict file system access to allowed directories</div></div>
243
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="ps_enabled" value="1"%s> Enabled</label>
244
- </div>
245
- <div class="fg"><label class="fl">Allowed Directories (comma-separated)</label><input class="input" name="ps_allowedDirs" value="%s" placeholder="/tmp, /var/data"></div>
246
- <div class="fg"><label class="fl">Blocked Patterns (comma-separated)</label><input class="input" name="ps_blockedPatterns" value="%s" placeholder="*.exe, /etc/shadow"></div>
247
- </div>
248
-
249
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
250
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
251
- <div><strong style="font-size:14px">SSRF Protection</strong><div style="font-size:12px;color:var(--dim)">Prevent server-side request forgery attacks</div></div>
252
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="ssrf_enabled" value="1"%s> Enabled</label>
253
- </div>
254
- <div class="fg"><label class="fl">Allowed Hosts (comma-separated)</label><input class="input" name="ssrf_allowedHosts" value="%s" placeholder="api.example.com, cdn.example.com"></div>
255
- <div class="fg"><label class="fl">Blocked CIDRs (comma-separated)</label><input class="input" name="ssrf_blockedCidrs" value="%s" placeholder="10.0.0.0/8, 172.16.0.0/12"></div>
256
- </div>
257
-
258
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
259
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
260
- <div><strong style="font-size:14px">Command Sanitizer</strong><div style="font-size:12px;color:var(--dim)">Control which shell commands agents can execute</div></div>
261
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="cmd_enabled" value="1"%s> Enabled</label>
262
- </div>
263
- <div class="fg"><label class="fl">Mode</label><select class="input" name="cmd_mode"><option value="blocklist"%s>Blocklist</option><option value="allowlist"%s>Allowlist</option></select></div>
264
- <div class="fg"><label class="fl">Allowed Commands (comma-separated)</label><input class="input" name="cmd_allowedCommands" value="%s" placeholder="ls, cat, grep"></div>
265
- <div class="fg"><label class="fl">Blocked Patterns (comma-separated)</label><input class="input" name="cmd_blockedPatterns" value="%s" placeholder="rm -rf, sudo, chmod"></div>
266
- </div>
267
- </div></div>
268
-
269
- <div class="card" style="margin-bottom:16px"><div class="ct">Middleware</div>
270
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:16px">
271
-
272
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
273
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
274
- <div><strong style="font-size:14px">Audit Logging</strong><div style="font-size:12px;color:var(--dim)">Log all tool invocations</div></div>
275
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="audit_enabled" value="1"%s> Enabled</label>
276
- </div>
277
- <div class="fg"><label class="fl">Redact Keys (comma-separated)</label><input class="input" name="audit_redactKeys" value="%s" placeholder="password, secret, token"></div>
278
- </div>
279
-
280
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
281
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
282
- <div><strong style="font-size:14px">Rate Limiting</strong><div style="font-size:12px;color:var(--dim)">Throttle tool calls</div></div>
283
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="rl_enabled" value="1"%s> Enabled</label>
284
- </div>
285
- </div>
286
-
287
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
288
- <div style="display:flex;justify-content:space-between;align-items:center">
289
- <div><strong style="font-size:14px">Circuit Breaker</strong><div style="font-size:12px;color:var(--dim)">Halt tools after repeated failures</div></div>
290
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="cb_enabled" value="1"%s> Enabled</label>
291
- </div>
292
- </div>
293
-
294
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
295
- <div style="display:flex;justify-content:space-between;align-items:center">
296
- <div><strong style="font-size:14px">Telemetry</strong><div style="font-size:12px;color:var(--dim)">Collect tool usage metrics</div></div>
297
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="tel_enabled" value="1"%s> Enabled</label>
298
- </div>
299
- </div>
300
-
301
- </div></div>
302
-
303
- <div><button class="btn btn-p" type="submit">Save Tool Security</button></div>
304
- </form>
305
- </div>`,
306
- checked(pathSandbox, "enabled"),
307
- templates.Esc(joinArray(pathSandbox, "allowedDirs")),
308
- templates.Esc(joinArray(pathSandbox, "blockedPatterns")),
309
- checked(ssrf, "enabled"),
310
- templates.Esc(joinArray(ssrf, "allowedHosts")),
311
- templates.Esc(joinArray(ssrf, "blockedCidrs")),
312
- checked(cmdSanitizer, "enabled"),
313
- blocklistSel, allowlistSel,
314
- templates.Esc(joinArray(cmdSanitizer, "allowedCommands")),
315
- templates.Esc(joinArray(cmdSanitizer, "blockedPatterns")),
316
- checked(audit, "enabled"),
317
- templates.Esc(joinArray(audit, "redactKeys")),
318
- checked(rateLimit, "enabled"),
319
- checked(circuitBreaker, "enabled"),
320
- checked(telemetry, "enabled"),
321
- )
322
-
323
- return html
324
- }
325
-
326
- // renderFirewallPanel fetches and renders the network & firewall settings panel.
327
- func renderFirewallPanel(s *services.Session) string {
328
- fwData, _ := services.APICall("/api/settings/firewall", "GET", s.Token, nil)
329
- if fwData == nil {
330
- fwData = map[string]interface{}{}
331
- }
332
-
333
- // Unwrap firewallConfig if present
334
- cfg := fwData
335
- if fc, ok := fwData["firewallConfig"].(map[string]interface{}); ok {
336
- cfg = fc
337
- }
338
-
339
- ipAccess := map[string]interface{}{}
340
- if ia, ok := cfg["ipAccess"].(map[string]interface{}); ok {
341
- ipAccess = ia
342
- }
343
- egress := map[string]interface{}{}
344
- if eg, ok := cfg["egress"].(map[string]interface{}); ok {
345
- egress = eg
346
- }
347
- proxy := map[string]interface{}{}
348
- if px, ok := cfg["proxy"].(map[string]interface{}); ok {
349
- proxy = px
350
- }
351
- trustedProxies := map[string]interface{}{}
352
- if tp, ok := cfg["trustedProxies"].(map[string]interface{}); ok {
353
- trustedProxies = tp
354
- }
355
- network := map[string]interface{}{}
356
- if nw, ok := cfg["network"].(map[string]interface{}); ok {
357
- network = nw
358
- }
359
- netRateLimit := map[string]interface{}{}
360
- if rl, ok := network["rateLimit"].(map[string]interface{}); ok {
361
- netRateLimit = rl
362
- }
363
- httpsEnforcement := map[string]interface{}{}
364
- if he, ok := network["httpsEnforcement"].(map[string]interface{}); ok {
365
- httpsEnforcement = he
366
- }
367
- secHeaders := map[string]interface{}{}
368
- if sh, ok := network["securityHeaders"].(map[string]interface{}); ok {
369
- secHeaders = sh
370
- }
371
-
372
- checked := func(m map[string]interface{}, key string) string {
373
- if v, ok := m[key].(bool); ok && v {
374
- return " checked"
375
- }
376
- return ""
377
- }
378
-
379
- joinArray := func(m map[string]interface{}, key string) string {
380
- if arr, ok := m[key].([]interface{}); ok {
381
- parts := make([]string, 0, len(arr))
382
- for _, v := range arr {
383
- parts = append(parts, fmt.Sprintf("%v", v))
384
- }
385
- return strings.Join(parts, ", ")
386
- }
387
- return ""
388
- }
389
-
390
- ipMode := templates.StrVal(ipAccess, "mode")
391
- if ipMode == "" {
392
- ipMode = "allowlist"
393
- }
394
- ipAllowlistSel := ""
395
- ipBlocklistSel := ""
396
- if ipMode == "blocklist" {
397
- ipBlocklistSel = " selected"
398
- } else {
399
- ipAllowlistSel = " selected"
400
- }
401
-
402
- egressMode := templates.StrVal(egress, "mode")
403
- if egressMode == "" {
404
- egressMode = "blocklist"
405
- }
406
- egAllowlistSel := ""
407
- egBlocklistSel := ""
408
- if egressMode == "allowlist" {
409
- egAllowlistSel = " selected"
410
- } else {
411
- egBlocklistSel = " selected"
412
- }
413
-
414
- rpm := templates.IntVal(netRateLimit, "requestsPerMinute")
415
- if rpm == 0 {
416
- rpm = 120
417
- }
418
-
419
- hstsMaxAge := templates.IntVal(secHeaders, "hstsMaxAge")
420
- if hstsMaxAge == 0 {
421
- hstsMaxAge = 31536000
422
- }
423
-
424
- xFrameOptions := templates.StrVal(secHeaders, "xFrameOptions")
425
- if xFrameOptions == "" {
426
- xFrameOptions = "DENY"
427
- }
428
- xfoDeny := ""
429
- xfoSameorigin := ""
430
- if xFrameOptions == "SAMEORIGIN" {
431
- xfoSameorigin = " selected"
432
- } else {
433
- xfoDeny = " selected"
434
- }
435
-
436
- referrerPolicy := templates.StrVal(secHeaders, "referrerPolicy")
437
- if referrerPolicy == "" {
438
- referrerPolicy = "strict-origin-when-cross-origin"
439
- }
440
-
441
- permissionsPolicy := templates.StrVal(secHeaders, "permissionsPolicy")
442
- if permissionsPolicy == "" {
443
- permissionsPolicy = "camera=(), microphone=(), geolocation=()"
444
- }
445
-
446
- html := fmt.Sprintf(`<div id="settings-panel-firewall" style="display:none">
447
- <form method="POST" action="/settings">
448
- <input type="hidden" name="_form" value="firewall">
449
-
450
- <div style="display:flex;align-items:center;gap:0;margin-bottom:16px"><h3 style="margin:0;font-size:18px;font-weight:600">Network &amp; Firewall</h3><button class="settings-help-btn" onclick="toggleSettingsHelp('network-firewall')" title="Learn more">?</button></div>
451
- <div id="help-network-firewall" class="settings-help-panel">
452
- <p>Controls who can access your AgenticMail instance and what agents can reach on the internet.</p>
453
- <h4>IP Access Control</h4>
454
- <p>Restricts which IPs can reach the dashboard and APIs. Allowlist = only listed IPs connect. Blocklist = all except blocked IPs.</p>
455
- <h4>Outbound Egress</h4>
456
- <p>Controls which external hosts/ports agents can reach. Allowlist = only approved hosts. Blocklist = everything except blocked hosts.</p>
457
- <h4>Proxy &amp; Trusted Proxies</h4>
458
- <ul>
459
- <li><strong>Proxy Config</strong> — HTTP/HTTPS proxy URLs for outbound access. "No-Proxy" bypasses the proxy.</li>
460
- <li><strong>Trusted Proxies</strong> — IPs of your load balancers/reverse proxies, so IP access control sees real client IPs.</li>
461
- </ul>
462
- <h4>Network Settings</h4>
463
- <ul>
464
- <li><strong>CORS Origins</strong> — Which websites can make API calls to AgenticMail. Empty = allow all.</li>
465
- <li><strong>Rate Limiting</strong> — Limits API requests per IP per minute. Protects against abuse.</li>
466
- <li><strong>HTTPS Enforcement</strong> — Forces encrypted connections. Recommended for production.</li>
467
- <li><strong>Security Headers</strong> — Browser security: HSTS, X-Frame-Options, Content-Type-Options.</li>
468
- </ul>
469
- </div>
470
-
471
- <div class="card" style="margin-bottom:16px"><div class="ct">IP Access Control</div>
472
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
473
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
474
- <div><strong style="font-size:14px">IP Access Control</strong><div style="font-size:12px;color:var(--dim)">Restrict access by IP address</div></div>
475
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="ip_enabled" value="1"%s> Enabled</label>
476
- </div>
477
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
478
- <div class="fg"><label class="fl">Mode</label><select class="input" name="ip_mode"><option value="allowlist"%s>Allowlist</option><option value="blocklist"%s>Blocklist</option></select></div>
479
- <div></div>
480
- <div class="fg"><label class="fl">Allowlist IPs (comma-separated)</label><input class="input" name="ip_allowlist" value="%s" placeholder="192.168.1.0/24, 10.0.0.1"></div>
481
- <div class="fg"><label class="fl">Blocklist IPs (comma-separated)</label><input class="input" name="ip_blocklist" value="%s" placeholder="203.0.113.0/24"></div>
482
- <div class="fg" style="grid-column:1/-1"><label class="fl">Bypass Paths (comma-separated)</label><input class="input" name="ip_bypassPaths" value="%s" placeholder="/health, /ready"></div>
483
- </div></div></div>
484
-
485
- <div class="card" style="margin-bottom:16px"><div class="ct">Outbound Egress</div>
486
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
487
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
488
- <div><strong style="font-size:14px">Egress Filtering</strong><div style="font-size:12px;color:var(--dim)">Control outbound network connections</div></div>
489
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="eg_enabled" value="1"%s> Enabled</label>
490
- </div>
491
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
492
- <div class="fg"><label class="fl">Mode</label><select class="input" name="eg_mode"><option value="blocklist"%s>Blocklist</option><option value="allowlist"%s>Allowlist</option></select></div>
493
- <div></div>
494
- <div class="fg"><label class="fl">Allowed Hosts (comma-separated)</label><input class="input" name="eg_allowedHosts" value="%s" placeholder="api.example.com"></div>
495
- <div class="fg"><label class="fl">Blocked Hosts (comma-separated)</label><input class="input" name="eg_blockedHosts" value="%s" placeholder="evil.com"></div>
496
- <div class="fg"><label class="fl">Allowed Ports (comma-separated)</label><input class="input" name="eg_allowedPorts" value="%s" placeholder="443, 80"></div>
497
- <div class="fg"><label class="fl">Blocked Ports (comma-separated)</label><input class="input" name="eg_blockedPorts" value="%s" placeholder="25, 445"></div>
498
- </div></div></div>
499
-
500
- <div class="card" style="margin-bottom:16px"><div class="ct">Proxy Configuration</div>
501
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
502
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
503
- <div class="fg"><label class="fl">HTTP Proxy</label><input class="input" name="proxy_http" value="%s" placeholder="http://proxy:8080"></div>
504
- <div class="fg"><label class="fl">HTTPS Proxy</label><input class="input" name="proxy_https" value="%s" placeholder="http://proxy:8443"></div>
505
- <div class="fg" style="grid-column:1/-1"><label class="fl">No-Proxy Hosts (comma-separated)</label><input class="input" name="proxy_noProxy" value="%s" placeholder="localhost, 127.0.0.1"></div>
506
- </div></div></div>
507
-
508
- <div class="card" style="margin-bottom:16px"><div class="ct">Trusted Proxies</div>
509
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
510
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
511
- <div><strong style="font-size:14px">Trusted Proxies</strong><div style="font-size:12px;color:var(--dim)">Configure trusted reverse proxy IPs/CIDRs</div></div>
512
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="tp_enabled" value="1"%s> Enabled</label>
513
- </div>
514
- <div class="fg"><label class="fl">IPs/CIDRs (comma-separated)</label><input class="input" name="tp_ips" value="%s" placeholder="10.0.0.0/8, 172.16.0.0/12"></div>
515
- </div></div>
516
-
517
- <div class="card" style="margin-bottom:16px"><div class="ct">Network Settings</div>
518
- <div style="display:grid;gap:20px">
519
-
520
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
521
- <strong style="font-size:14px">CORS</strong><div style="font-size:12px;color:var(--dim);margin-bottom:12px">Allowed origins for cross-origin requests</div>
522
- <div class="fg"><label class="fl">CORS Origins (comma-separated)</label><input class="input" name="net_corsOrigins" value="%s" placeholder="https://app.example.com"></div>
523
- </div>
524
-
525
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
526
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
527
- <div><strong style="font-size:14px">Rate Limiting</strong><div style="font-size:12px;color:var(--dim)">Throttle incoming requests</div></div>
528
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="net_rl_enabled" value="1"%s> Enabled</label>
529
- </div>
530
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
531
- <div class="fg"><label class="fl">Requests Per Minute</label><input class="input" type="number" name="net_rl_rpm" value="%d" placeholder="120"></div>
532
- <div class="fg"><label class="fl">Skip Paths (comma-separated)</label><input class="input" name="net_rl_skipPaths" value="%s" placeholder="/health, /ready"></div>
533
- </div></div>
534
-
535
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
536
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
537
- <div><strong style="font-size:14px">HTTPS Enforcement</strong><div style="font-size:12px;color:var(--dim)">Redirect HTTP to HTTPS</div></div>
538
- <label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="net_https_enabled" value="1"%s> Enabled</label>
539
- </div>
540
- <div class="fg"><label class="fl">Exclude Paths (comma-separated)</label><input class="input" name="net_https_excludePaths" value="%s" placeholder="/health, /ready"></div>
541
- </div>
542
-
543
- <div style="padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
544
- <strong style="font-size:14px">Security Headers</strong><div style="font-size:12px;color:var(--dim);margin-bottom:12px">HTTP security response headers</div>
545
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
546
- <div class="fg"><label class="fl"><label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="net_hsts" value="1"%s> HSTS</label></label></div>
547
- <div class="fg"><label class="fl">HSTS Max-Age (seconds)</label><input class="input" type="number" name="net_hstsMaxAge" value="%d"></div>
548
- <div class="fg"><label class="fl">X-Frame-Options</label><select class="input" name="net_xFrameOptions"><option value="DENY"%s>DENY</option><option value="SAMEORIGIN"%s>SAMEORIGIN</option></select></div>
549
- <div class="fg"><label class="fl"><label style="display:flex;align-items:center;gap:6px;cursor:pointer"><input type="checkbox" name="net_xContentTypeOptions" value="1"%s> X-Content-Type-Options: nosniff</label></label></div>
550
- <div class="fg"><label class="fl">Referrer Policy</label><input class="input" name="net_referrerPolicy" value="%s"></div>
551
- <div class="fg"><label class="fl">Permissions Policy</label><input class="input" name="net_permissionsPolicy" value="%s"></div>
552
- </div></div>
553
-
554
- </div></div>
555
-
556
- <div><button class="btn btn-p" type="submit">Save Network &amp; Firewall</button></div>
557
- </form>
558
- </div>`,
559
- checked(ipAccess, "enabled"),
560
- ipAllowlistSel, ipBlocklistSel,
561
- templates.Esc(joinArray(ipAccess, "allowlist")),
562
- templates.Esc(joinArray(ipAccess, "blocklist")),
563
- templates.Esc(joinArray(ipAccess, "bypassPaths")),
564
- checked(egress, "enabled"),
565
- egBlocklistSel, egAllowlistSel,
566
- templates.Esc(joinArray(egress, "allowedHosts")),
567
- templates.Esc(joinArray(egress, "blockedHosts")),
568
- templates.Esc(joinArray(egress, "allowedPorts")),
569
- templates.Esc(joinArray(egress, "blockedPorts")),
570
- templates.Esc(proxy["httpProxy"]),
571
- templates.Esc(proxy["httpsProxy"]),
572
- templates.Esc(joinArray(proxy, "noProxy")),
573
- checked(trustedProxies, "enabled"),
574
- templates.Esc(joinArray(trustedProxies, "ips")),
575
- templates.Esc(joinArray(network, "corsOrigins")),
576
- checked(netRateLimit, "enabled"),
577
- rpm,
578
- templates.Esc(joinArray(netRateLimit, "skipPaths")),
579
- checked(httpsEnforcement, "enabled"),
580
- templates.Esc(joinArray(httpsEnforcement, "excludePaths")),
581
- checked(secHeaders, "hsts"),
582
- hstsMaxAge,
583
- xfoDeny, xfoSameorigin,
584
- checked(secHeaders, "xContentTypeOptions"),
585
- templates.Esc(secHeaders["referrerPolicy"]),
586
- templates.Esc(secHeaders["permissionsPolicy"]),
587
- )
588
-
589
- return html
590
- }
591
-
592
- // saveFirewall handles the POST for network & firewall settings.
593
- func saveFirewall(w http.ResponseWriter, r *http.Request, s *services.Session) {
594
- splitTrim := func(val string) []string {
595
- if val == "" {
596
- return []string{}
597
- }
598
- parts := strings.Split(val, ",")
599
- result := []string{}
600
- for _, p := range parts {
601
- p = strings.TrimSpace(p)
602
- if p != "" {
603
- result = append(result, p)
604
- }
605
- }
606
- return result
607
- }
608
-
609
- splitTrimInt := func(val string) []int {
610
- if val == "" {
611
- return []int{}
612
- }
613
- parts := strings.Split(val, ",")
614
- result := []int{}
615
- for _, p := range parts {
616
- p = strings.TrimSpace(p)
617
- if p != "" {
618
- n := 0
619
- fmt.Sscanf(p, "%d", &n)
620
- if n > 0 {
621
- result = append(result, n)
622
- }
623
- }
624
- }
625
- return result
626
- }
627
-
628
- rpmStr := r.FormValue("net_rl_rpm")
629
- rpm := 120
630
- if rpmStr != "" {
631
- fmt.Sscanf(rpmStr, "%d", &rpm)
632
- }
633
-
634
- hstsMaxAgeStr := r.FormValue("net_hstsMaxAge")
635
- hstsMaxAge := 31536000
636
- if hstsMaxAgeStr != "" {
637
- fmt.Sscanf(hstsMaxAgeStr, "%d", &hstsMaxAge)
638
- }
639
-
640
- payload := map[string]interface{}{
641
- "ipAccess": map[string]interface{}{
642
- "enabled": r.FormValue("ip_enabled") == "1",
643
- "mode": r.FormValue("ip_mode"),
644
- "allowlist": splitTrim(r.FormValue("ip_allowlist")),
645
- "blocklist": splitTrim(r.FormValue("ip_blocklist")),
646
- "bypassPaths": splitTrim(r.FormValue("ip_bypassPaths")),
647
- },
648
- "egress": map[string]interface{}{
649
- "enabled": r.FormValue("eg_enabled") == "1",
650
- "mode": r.FormValue("eg_mode"),
651
- "allowedHosts": splitTrim(r.FormValue("eg_allowedHosts")),
652
- "blockedHosts": splitTrim(r.FormValue("eg_blockedHosts")),
653
- "allowedPorts": splitTrimInt(r.FormValue("eg_allowedPorts")),
654
- "blockedPorts": splitTrimInt(r.FormValue("eg_blockedPorts")),
655
- },
656
- "proxy": map[string]interface{}{
657
- "httpProxy": r.FormValue("proxy_http"),
658
- "httpsProxy": r.FormValue("proxy_https"),
659
- "noProxy": splitTrim(r.FormValue("proxy_noProxy")),
660
- },
661
- "trustedProxies": map[string]interface{}{
662
- "enabled": r.FormValue("tp_enabled") == "1",
663
- "ips": splitTrim(r.FormValue("tp_ips")),
664
- },
665
- "network": map[string]interface{}{
666
- "corsOrigins": splitTrim(r.FormValue("net_corsOrigins")),
667
- "rateLimit": map[string]interface{}{
668
- "enabled": r.FormValue("net_rl_enabled") == "1",
669
- "requestsPerMinute": rpm,
670
- "skipPaths": splitTrim(r.FormValue("net_rl_skipPaths")),
671
- },
672
- "httpsEnforcement": map[string]interface{}{
673
- "enabled": r.FormValue("net_https_enabled") == "1",
674
- "excludePaths": splitTrim(r.FormValue("net_https_excludePaths")),
675
- },
676
- "securityHeaders": map[string]interface{}{
677
- "hsts": r.FormValue("net_hsts") == "1",
678
- "hstsMaxAge": hstsMaxAge,
679
- "xFrameOptions": r.FormValue("net_xFrameOptions"),
680
- "xContentTypeOptions": r.FormValue("net_xContentTypeOptions") == "1",
681
- "referrerPolicy": r.FormValue("net_referrerPolicy"),
682
- "permissionsPolicy": r.FormValue("net_permissionsPolicy"),
683
- },
684
- },
685
- }
686
-
687
- services.APICall("/api/settings/firewall", "PUT", s.Token, payload)
688
- http.Redirect(w, r, "/settings", http.StatusFound)
689
- }
690
-
691
- // renderModelPricingPanel fetches and renders the model pricing settings panel.
692
- func renderModelPricingPanel(s *services.Session) string {
693
- mpData, _ := services.APICall("/api/settings/model-pricing", "GET", s.Token, nil)
694
- if mpData == nil {
695
- mpData = map[string]interface{}{}
696
- }
697
-
698
- // Unwrap modelPricingConfig if present
699
- cfg := mpData
700
- if mpc, ok := mpData["modelPricingConfig"].(map[string]interface{}); ok {
701
- cfg = mpc
702
- }
703
-
704
- currency := "USD"
705
- if c, ok := cfg["currency"].(string); ok && c != "" {
706
- currency = c
707
- }
708
-
709
- models := []interface{}{}
710
- if m, ok := cfg["models"].([]interface{}); ok {
711
- models = m
712
- }
713
-
714
- // Provider display name mapping
715
- providerLabels := map[string]string{
716
- "anthropic": "Anthropic", "openai": "OpenAI", "google": "Google",
717
- "deepseek": "DeepSeek", "xai": "xAI (Grok)", "mistral": "Mistral",
718
- "groq": "Groq", "together": "Together", "fireworks": "Fireworks",
719
- "moonshot": "Moonshot (Kimi)", "cerebras": "Cerebras", "openrouter": "OpenRouter",
720
- "ollama": "Ollama (Local)", "vllm": "vLLM (Local)", "lmstudio": "LM Studio (Local)",
721
- "litellm": "LiteLLM (Local)",
722
- }
723
-
724
- // Group models by provider
725
- providerOrder := []string{}
726
- providerModels := map[string][]map[string]interface{}{}
727
- for _, item := range models {
728
- m, ok := item.(map[string]interface{})
729
- if !ok {
730
- continue
731
- }
732
- provider := ""
733
- if p, ok := m["provider"].(string); ok {
734
- provider = p
735
- }
736
- if _, exists := providerModels[provider]; !exists {
737
- providerOrder = append(providerOrder, provider)
738
- }
739
- providerModels[provider] = append(providerModels[provider], m)
740
- }
741
-
742
- floatStr := func(m map[string]interface{}, key string) string {
743
- if v, ok := m[key]; ok {
744
- return fmt.Sprintf("%v", v)
745
- }
746
- return "0"
747
- }
748
-
749
- intStr := func(m map[string]interface{}, key string) string {
750
- if v, ok := m[key]; ok {
751
- return fmt.Sprintf("%v", v)
752
- }
753
- return "0"
754
- }
755
-
756
- html := `<div id="settings-panel-model-pricing" style="display:none">
757
- <form method="POST" action="/settings">
758
- <input type="hidden" name="_form" value="model-pricing">
759
-
760
- <div style="display:flex;align-items:center;gap:0;margin-bottom:16px"><h3 style="margin:0;font-size:18px;font-weight:600">Model Pricing</h3><button class="settings-help-btn" onclick="toggleSettingsHelp('model-pricing')" title="Learn more">?</button></div>
761
- <div id="help-model-pricing" class="settings-help-panel">
762
- <p>Configure per-model pricing for cost estimation and budget tracking. Costs are per million tokens.</p>
763
- <h4>How It Works</h4>
764
- <ul>
765
- <li><strong>Input Cost</strong> — Cost per million input (prompt) tokens sent to the model.</li>
766
- <li><strong>Output Cost</strong> — Cost per million output (completion) tokens generated by the model.</li>
767
- <li><strong>Context Window</strong> — Maximum number of tokens the model supports in a single request.</li>
768
- </ul>
769
- </div>
770
-
771
- <div class="card" style="margin-bottom:16px"><div class="ct">Current Models</div>
772
- <div style="font-size:13px;color:var(--dim);margin-bottom:12px">Currency: ` + templates.Esc(currency) + `</div>`
773
-
774
- if len(models) == 0 {
775
- html += `<p style="color:var(--dim);font-size:13px">No models configured yet. Add one below.</p>`
776
- } else {
777
- for _, provider := range providerOrder {
778
- pModels := providerModels[provider]
779
- providerLabel := providerLabels[provider]
780
- if providerLabel == "" {
781
- if provider == "" {
782
- providerLabel = "Unknown"
783
- } else {
784
- providerLabel = provider
785
- }
786
- }
787
- html += fmt.Sprintf(`<div style="margin-bottom:16px"><strong style="font-size:14px">%s</strong>`, templates.Esc(providerLabel))
788
- html += `<div class="table-wrap" style="margin-top:8px"><table><thead><tr><th>Model ID</th><th>Display Name</th><th>Input Cost/M</th><th>Output Cost/M</th><th>Context Window</th><th></th></tr></thead><tbody>`
789
- for i, m := range pModels {
790
- modelId := templates.StrVal(m, "modelId")
791
- displayName := templates.StrVal(m, "displayName")
792
- prefix := fmt.Sprintf("model_%s_%d_", provider, i)
793
- html += fmt.Sprintf(`<tr>
794
- <td><input class="input" name="%smodelId" value="%s" style="min-width:140px"></td>
795
- <td><input class="input" name="%sdisplayName" value="%s" style="min-width:120px"></td>
796
- <td><input class="input" type="number" step="0.01" name="%sinputCost" value="%s" style="width:100px"></td>
797
- <td><input class="input" type="number" step="0.01" name="%soutputCost" value="%s" style="width:100px"></td>
798
- <td><input class="input" type="number" name="%scontextWindow" value="%s" style="width:110px"></td>
799
- <td><input type="hidden" name="%sprovider" value="%s"><button type="button" class="btn" style="padding:4px 10px;font-size:12px;color:var(--danger,#e53e3e)" onclick="this.closest('tr').remove()">Remove</button></td>
800
- </tr>`,
801
- prefix, templates.Esc(modelId),
802
- prefix, templates.Esc(displayName),
803
- prefix, floatStr(m, "inputCostPerMillion"),
804
- prefix, floatStr(m, "outputCostPerMillion"),
805
- prefix, intStr(m, "contextWindow"),
806
- prefix, templates.Esc(provider))
807
- }
808
- html += `</tbody></table></div></div>`
809
- }
810
- }
811
-
812
- html += `</div>
813
-
814
- <div class="card" style="margin-bottom:16px"><div class="ct">Add Model</div>
815
- <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px">
816
- <div class="fg"><label class="fl">Provider</label><select class="input" name="new_provider"><option value="anthropic">Anthropic</option><option value="openai">OpenAI</option><option value="google">Google</option><option value="deepseek">DeepSeek</option><option value="xai">xAI (Grok)</option><option value="mistral">Mistral</option><option value="groq">Groq</option><option value="together">Together</option><option value="fireworks">Fireworks</option><option value="moonshot">Moonshot (Kimi)</option><option value="cerebras">Cerebras</option><option value="openrouter">OpenRouter</option><option value="ollama">Ollama (Local)</option><option value="vllm">vLLM (Local)</option><option value="lmstudio">LM Studio (Local)</option><option value="litellm">LiteLLM (Local)</option></select></div>
817
- <div class="fg"><label class="fl">Model ID</label><input class="input" name="new_modelId" placeholder="gpt-4o"></div>
818
- <div class="fg"><label class="fl">Display Name</label><input class="input" name="new_displayName" placeholder="GPT-4o"></div>
819
- <div class="fg"><label class="fl">Input Cost / Million Tokens</label><input class="input" type="number" step="0.01" name="new_inputCost" placeholder="2.50"></div>
820
- <div class="fg"><label class="fl">Output Cost / Million Tokens</label><input class="input" type="number" step="0.01" name="new_outputCost" placeholder="10.00"></div>
821
- <div class="fg"><label class="fl">Context Window</label><input class="input" type="number" name="new_contextWindow" placeholder="128000"></div>
822
- </div></div>
823
-
824
- <div><button class="btn btn-p" type="submit">Save Model Pricing</button></div>
825
- </form>
826
- </div>`
827
-
828
- return html
829
- }
830
-
831
- // saveModelPricing handles the POST for model pricing settings.
832
- func saveModelPricing(w http.ResponseWriter, r *http.Request, s *services.Session) {
833
- // Collect existing models from form fields (model_{provider}_{index}_*)
834
- modelsMap := map[string]map[string]interface{}{} // keyed by prefix
835
- prefixes := []string{}
836
-
837
- for key := range r.Form {
838
- if strings.HasPrefix(key, "model_") && strings.HasSuffix(key, "provider") {
839
- prefix := key[:len(key)-len("provider")]
840
- if _, exists := modelsMap[prefix]; !exists {
841
- prefixes = append(prefixes, prefix)
842
- modelsMap[prefix] = map[string]interface{}{}
843
- }
844
- }
845
- }
846
-
847
- models := []interface{}{}
848
- for _, prefix := range prefixes {
849
- modelId := r.FormValue(prefix + "modelId")
850
- if modelId == "" {
851
- continue
852
- }
853
- inputCost, _ := strconv.ParseFloat(r.FormValue(prefix+"inputCost"), 64)
854
- outputCost, _ := strconv.ParseFloat(r.FormValue(prefix+"outputCost"), 64)
855
- contextWindow := 0
856
- fmt.Sscanf(r.FormValue(prefix+"contextWindow"), "%d", &contextWindow)
857
-
858
- models = append(models, map[string]interface{}{
859
- "provider": r.FormValue(prefix + "provider"),
860
- "modelId": modelId,
861
- "displayName": r.FormValue(prefix + "displayName"),
862
- "inputCostPerMillion": inputCost,
863
- "outputCostPerMillion": outputCost,
864
- "contextWindow": contextWindow,
865
- })
866
- }
867
-
868
- // Add new model if provided
869
- newModelId := r.FormValue("new_modelId")
870
- if newModelId != "" {
871
- newInputCost, _ := strconv.ParseFloat(r.FormValue("new_inputCost"), 64)
872
- newOutputCost, _ := strconv.ParseFloat(r.FormValue("new_outputCost"), 64)
873
- newContextWindow := 0
874
- fmt.Sscanf(r.FormValue("new_contextWindow"), "%d", &newContextWindow)
875
-
876
- models = append(models, map[string]interface{}{
877
- "provider": r.FormValue("new_provider"),
878
- "modelId": newModelId,
879
- "displayName": r.FormValue("new_displayName"),
880
- "inputCostPerMillion": newInputCost,
881
- "outputCostPerMillion": newOutputCost,
882
- "contextWindow": newContextWindow,
883
- })
884
- }
885
-
886
- payload := map[string]interface{}{
887
- "models": models,
888
- "currency": "USD",
889
- }
890
-
891
- services.APICall("/api/settings/model-pricing", "PUT", s.Token, payload)
892
- http.Redirect(w, r, "/settings", http.StatusFound)
893
- }
894
-
895
- // saveToolSecurity handles the POST for tool security settings.
896
- func saveToolSecurity(w http.ResponseWriter, r *http.Request, s *services.Session) {
897
- splitTrim := func(val string) []string {
898
- if val == "" {
899
- return []string{}
900
- }
901
- parts := strings.Split(val, ",")
902
- result := []string{}
903
- for _, p := range parts {
904
- p = strings.TrimSpace(p)
905
- if p != "" {
906
- result = append(result, p)
907
- }
908
- }
909
- return result
910
- }
911
-
912
- payload := map[string]interface{}{
913
- "security": map[string]interface{}{
914
- "pathSandbox": map[string]interface{}{
915
- "enabled": r.FormValue("ps_enabled") == "1",
916
- "allowedDirs": splitTrim(r.FormValue("ps_allowedDirs")),
917
- "blockedPatterns": splitTrim(r.FormValue("ps_blockedPatterns")),
918
- },
919
- "ssrf": map[string]interface{}{
920
- "enabled": r.FormValue("ssrf_enabled") == "1",
921
- "allowedHosts": splitTrim(r.FormValue("ssrf_allowedHosts")),
922
- "blockedCidrs": splitTrim(r.FormValue("ssrf_blockedCidrs")),
923
- },
924
- "commandSanitizer": map[string]interface{}{
925
- "enabled": r.FormValue("cmd_enabled") == "1",
926
- "mode": r.FormValue("cmd_mode"),
927
- "allowedCommands": splitTrim(r.FormValue("cmd_allowedCommands")),
928
- "blockedPatterns": splitTrim(r.FormValue("cmd_blockedPatterns")),
929
- },
930
- },
931
- "middleware": map[string]interface{}{
932
- "audit": map[string]interface{}{
933
- "enabled": r.FormValue("audit_enabled") == "1",
934
- "redactKeys": splitTrim(r.FormValue("audit_redactKeys")),
935
- },
936
- "rateLimit": map[string]interface{}{
937
- "enabled": r.FormValue("rl_enabled") == "1",
938
- "overrides": map[string]interface{}{},
939
- },
940
- "circuitBreaker": map[string]interface{}{
941
- "enabled": r.FormValue("cb_enabled") == "1",
942
- },
943
- "telemetry": map[string]interface{}{
944
- "enabled": r.FormValue("tel_enabled") == "1",
945
- },
946
- },
947
- }
948
-
949
- services.APICall("/api/settings/tool-security", "PUT", s.Token, payload)
950
- http.Redirect(w, r, "/settings", http.StatusFound)
951
- }