@agenticmail/enterprise 0.5.197 → 0.5.199

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 (1090) hide show
  1. package/dist/dashboard/pages/domain-status.js +47 -0
  2. package/package.json +1 -1
  3. package/src/dashboard/pages/domain-status.js +47 -0
  4. package/dashboards/README.md +0 -131
  5. package/dashboards/django/app.py +0 -129
  6. package/dashboards/django/static/styles.css +0 -487
  7. package/dashboards/django/templates/activity.html +0 -130
  8. package/dashboards/django/templates/agent_detail.html +0 -501
  9. package/dashboards/django/templates/agents.html +0 -217
  10. package/dashboards/django/templates/api_keys.html +0 -41
  11. package/dashboards/django/templates/approvals.html +0 -115
  12. package/dashboards/django/templates/audit.html +0 -26
  13. package/dashboards/django/templates/community-skills.html +0 -89
  14. package/dashboards/django/templates/compliance.html +0 -33
  15. package/dashboards/django/templates/components/modal.html +0 -6
  16. package/dashboards/django/templates/components/pagination.html +0 -9
  17. package/dashboards/django/templates/components/stats.html +0 -8
  18. package/dashboards/django/templates/dashboard.html +0 -24
  19. package/dashboards/django/templates/dlp.html +0 -70
  20. package/dashboards/django/templates/domain-status.html +0 -59
  21. package/dashboards/django/templates/guardrails.html +0 -78
  22. package/dashboards/django/templates/journal.html +0 -39
  23. package/dashboards/django/templates/knowledge-contributions.html +0 -58
  24. package/dashboards/django/templates/knowledge.html +0 -104
  25. package/dashboards/django/templates/layout.html +0 -177
  26. package/dashboards/django/templates/login.html +0 -30
  27. package/dashboards/django/templates/messages.html +0 -38
  28. package/dashboards/django/templates/settings.html +0 -472
  29. package/dashboards/django/templates/skill-connections.html +0 -73
  30. package/dashboards/django/templates/skills.html +0 -66
  31. package/dashboards/django/templates/users.html +0 -34
  32. package/dashboards/django/templates/vault.html +0 -46
  33. package/dashboards/django/templates/workforce.html +0 -116
  34. package/dashboards/django/utils/__init__.py +0 -0
  35. package/dashboards/django/utils/api.py +0 -20
  36. package/dashboards/django/utils/helpers.py +0 -39
  37. package/dashboards/django/views/__init__.py +0 -52
  38. package/dashboards/django/views/agents.py +0 -343
  39. package/dashboards/django/views/api_keys.py +0 -47
  40. package/dashboards/django/views/audit.py +0 -35
  41. package/dashboards/django/views/auth.py +0 -34
  42. package/dashboards/django/views/compliance.py +0 -37
  43. package/dashboards/django/views/dashboard.py +0 -27
  44. package/dashboards/django/views/dlp.py +0 -53
  45. package/dashboards/django/views/guardrails.py +0 -61
  46. package/dashboards/django/views/journal.py +0 -41
  47. package/dashboards/django/views/messages.py +0 -65
  48. package/dashboards/django/views/new_pages.py +0 -38
  49. package/dashboards/django/views/settings_view.py +0 -335
  50. package/dashboards/django/views/skills.py +0 -50
  51. package/dashboards/django/views/users.py +0 -42
  52. package/dashboards/django/views/vault.py +0 -50
  53. package/dashboards/dotnet/AgenticMailDashboard.csproj +0 -10
  54. package/dashboards/dotnet/Program.cs +0 -89
  55. package/dashboards/dotnet/Routes/ActivityRoutes.cs +0 -35
  56. package/dashboards/dotnet/Routes/AgentRoutes.cs +0 -771
  57. package/dashboards/dotnet/Routes/ApiKeyRoutes.cs +0 -185
  58. package/dashboards/dotnet/Routes/ApprovalRoutes.cs +0 -36
  59. package/dashboards/dotnet/Routes/AuditRoutes.cs +0 -86
  60. package/dashboards/dotnet/Routes/AuthRoutes.cs +0 -50
  61. package/dashboards/dotnet/Routes/CommunitySkillRoutes.cs +0 -36
  62. package/dashboards/dotnet/Routes/ComplianceRoutes.cs +0 -143
  63. package/dashboards/dotnet/Routes/DashboardRoutes.cs +0 -81
  64. package/dashboards/dotnet/Routes/DlpRoutes.cs +0 -230
  65. package/dashboards/dotnet/Routes/DomainStatusRoutes.cs +0 -49
  66. package/dashboards/dotnet/Routes/GuardrailRoutes.cs +0 -285
  67. package/dashboards/dotnet/Routes/JournalRoutes.cs +0 -118
  68. package/dashboards/dotnet/Routes/KnowledgeContributionRoutes.cs +0 -42
  69. package/dashboards/dotnet/Routes/KnowledgeRoutes.cs +0 -40
  70. package/dashboards/dotnet/Routes/MessageRoutes.cs +0 -167
  71. package/dashboards/dotnet/Routes/SettingRoutes.cs +0 -907
  72. package/dashboards/dotnet/Routes/SkillConnectionRoutes.cs +0 -52
  73. package/dashboards/dotnet/Routes/SkillRoutes.cs +0 -198
  74. package/dashboards/dotnet/Routes/UserRoutes.cs +0 -111
  75. package/dashboards/dotnet/Routes/VaultRoutes.cs +0 -162
  76. package/dashboards/dotnet/Routes/WorkforceRoutes.cs +0 -55
  77. package/dashboards/dotnet/Services/ApiClient.cs +0 -103
  78. package/dashboards/dotnet/Services/HtmlBuilder.cs +0 -258
  79. package/dashboards/dotnet/wwwroot/styles.css +0 -546
  80. package/dashboards/express/app.js +0 -65
  81. package/dashboards/express/middleware/auth.js +0 -10
  82. package/dashboards/express/node_modules/.package-lock.json +0 -913
  83. package/dashboards/express/node_modules/accepts/HISTORY.md +0 -250
  84. package/dashboards/express/node_modules/accepts/LICENSE +0 -23
  85. package/dashboards/express/node_modules/accepts/README.md +0 -140
  86. package/dashboards/express/node_modules/accepts/index.js +0 -238
  87. package/dashboards/express/node_modules/accepts/package.json +0 -47
  88. package/dashboards/express/node_modules/body-parser/LICENSE +0 -23
  89. package/dashboards/express/node_modules/body-parser/README.md +0 -494
  90. package/dashboards/express/node_modules/body-parser/index.js +0 -71
  91. package/dashboards/express/node_modules/body-parser/lib/read.js +0 -247
  92. package/dashboards/express/node_modules/body-parser/lib/types/json.js +0 -158
  93. package/dashboards/express/node_modules/body-parser/lib/types/raw.js +0 -42
  94. package/dashboards/express/node_modules/body-parser/lib/types/text.js +0 -36
  95. package/dashboards/express/node_modules/body-parser/lib/types/urlencoded.js +0 -142
  96. package/dashboards/express/node_modules/body-parser/lib/utils.js +0 -98
  97. package/dashboards/express/node_modules/body-parser/package.json +0 -52
  98. package/dashboards/express/node_modules/bytes/History.md +0 -97
  99. package/dashboards/express/node_modules/bytes/LICENSE +0 -23
  100. package/dashboards/express/node_modules/bytes/Readme.md +0 -152
  101. package/dashboards/express/node_modules/bytes/index.js +0 -170
  102. package/dashboards/express/node_modules/bytes/package.json +0 -42
  103. package/dashboards/express/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  104. package/dashboards/express/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  105. package/dashboards/express/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  106. package/dashboards/express/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  107. package/dashboards/express/node_modules/call-bind-apply-helpers/LICENSE +0 -21
  108. package/dashboards/express/node_modules/call-bind-apply-helpers/README.md +0 -62
  109. package/dashboards/express/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  110. package/dashboards/express/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  111. package/dashboards/express/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  112. package/dashboards/express/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  113. package/dashboards/express/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  114. package/dashboards/express/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  115. package/dashboards/express/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  116. package/dashboards/express/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  117. package/dashboards/express/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  118. package/dashboards/express/node_modules/call-bind-apply-helpers/index.js +0 -15
  119. package/dashboards/express/node_modules/call-bind-apply-helpers/package.json +0 -85
  120. package/dashboards/express/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  121. package/dashboards/express/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  122. package/dashboards/express/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  123. package/dashboards/express/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  124. package/dashboards/express/node_modules/call-bound/.eslintrc +0 -13
  125. package/dashboards/express/node_modules/call-bound/.github/FUNDING.yml +0 -12
  126. package/dashboards/express/node_modules/call-bound/.nycrc +0 -9
  127. package/dashboards/express/node_modules/call-bound/CHANGELOG.md +0 -42
  128. package/dashboards/express/node_modules/call-bound/LICENSE +0 -21
  129. package/dashboards/express/node_modules/call-bound/README.md +0 -53
  130. package/dashboards/express/node_modules/call-bound/index.d.ts +0 -94
  131. package/dashboards/express/node_modules/call-bound/index.js +0 -19
  132. package/dashboards/express/node_modules/call-bound/package.json +0 -99
  133. package/dashboards/express/node_modules/call-bound/test/index.js +0 -61
  134. package/dashboards/express/node_modules/call-bound/tsconfig.json +0 -10
  135. package/dashboards/express/node_modules/content-disposition/HISTORY.md +0 -72
  136. package/dashboards/express/node_modules/content-disposition/LICENSE +0 -22
  137. package/dashboards/express/node_modules/content-disposition/README.md +0 -142
  138. package/dashboards/express/node_modules/content-disposition/index.js +0 -458
  139. package/dashboards/express/node_modules/content-disposition/package.json +0 -43
  140. package/dashboards/express/node_modules/content-type/HISTORY.md +0 -29
  141. package/dashboards/express/node_modules/content-type/LICENSE +0 -22
  142. package/dashboards/express/node_modules/content-type/README.md +0 -94
  143. package/dashboards/express/node_modules/content-type/index.js +0 -225
  144. package/dashboards/express/node_modules/content-type/package.json +0 -42
  145. package/dashboards/express/node_modules/cookie/LICENSE +0 -24
  146. package/dashboards/express/node_modules/cookie/README.md +0 -317
  147. package/dashboards/express/node_modules/cookie/SECURITY.md +0 -25
  148. package/dashboards/express/node_modules/cookie/index.js +0 -335
  149. package/dashboards/express/node_modules/cookie/package.json +0 -44
  150. package/dashboards/express/node_modules/cookie-signature/History.md +0 -70
  151. package/dashboards/express/node_modules/cookie-signature/LICENSE +0 -22
  152. package/dashboards/express/node_modules/cookie-signature/Readme.md +0 -23
  153. package/dashboards/express/node_modules/cookie-signature/index.js +0 -47
  154. package/dashboards/express/node_modules/cookie-signature/package.json +0 -24
  155. package/dashboards/express/node_modules/debug/LICENSE +0 -20
  156. package/dashboards/express/node_modules/debug/README.md +0 -481
  157. package/dashboards/express/node_modules/debug/package.json +0 -64
  158. package/dashboards/express/node_modules/debug/src/browser.js +0 -272
  159. package/dashboards/express/node_modules/debug/src/common.js +0 -292
  160. package/dashboards/express/node_modules/debug/src/index.js +0 -10
  161. package/dashboards/express/node_modules/debug/src/node.js +0 -263
  162. package/dashboards/express/node_modules/depd/History.md +0 -103
  163. package/dashboards/express/node_modules/depd/LICENSE +0 -22
  164. package/dashboards/express/node_modules/depd/Readme.md +0 -280
  165. package/dashboards/express/node_modules/depd/index.js +0 -538
  166. package/dashboards/express/node_modules/depd/lib/browser/index.js +0 -77
  167. package/dashboards/express/node_modules/depd/package.json +0 -45
  168. package/dashboards/express/node_modules/dunder-proto/.eslintrc +0 -5
  169. package/dashboards/express/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  170. package/dashboards/express/node_modules/dunder-proto/.nycrc +0 -13
  171. package/dashboards/express/node_modules/dunder-proto/CHANGELOG.md +0 -24
  172. package/dashboards/express/node_modules/dunder-proto/LICENSE +0 -21
  173. package/dashboards/express/node_modules/dunder-proto/README.md +0 -54
  174. package/dashboards/express/node_modules/dunder-proto/get.d.ts +0 -5
  175. package/dashboards/express/node_modules/dunder-proto/get.js +0 -30
  176. package/dashboards/express/node_modules/dunder-proto/package.json +0 -76
  177. package/dashboards/express/node_modules/dunder-proto/set.d.ts +0 -5
  178. package/dashboards/express/node_modules/dunder-proto/set.js +0 -35
  179. package/dashboards/express/node_modules/dunder-proto/test/get.js +0 -34
  180. package/dashboards/express/node_modules/dunder-proto/test/index.js +0 -4
  181. package/dashboards/express/node_modules/dunder-proto/test/set.js +0 -50
  182. package/dashboards/express/node_modules/dunder-proto/tsconfig.json +0 -9
  183. package/dashboards/express/node_modules/ee-first/LICENSE +0 -22
  184. package/dashboards/express/node_modules/ee-first/README.md +0 -80
  185. package/dashboards/express/node_modules/ee-first/index.js +0 -95
  186. package/dashboards/express/node_modules/ee-first/package.json +0 -29
  187. package/dashboards/express/node_modules/encodeurl/LICENSE +0 -22
  188. package/dashboards/express/node_modules/encodeurl/README.md +0 -109
  189. package/dashboards/express/node_modules/encodeurl/index.js +0 -60
  190. package/dashboards/express/node_modules/encodeurl/package.json +0 -40
  191. package/dashboards/express/node_modules/es-define-property/.eslintrc +0 -13
  192. package/dashboards/express/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  193. package/dashboards/express/node_modules/es-define-property/.nycrc +0 -9
  194. package/dashboards/express/node_modules/es-define-property/CHANGELOG.md +0 -29
  195. package/dashboards/express/node_modules/es-define-property/LICENSE +0 -21
  196. package/dashboards/express/node_modules/es-define-property/README.md +0 -49
  197. package/dashboards/express/node_modules/es-define-property/index.d.ts +0 -3
  198. package/dashboards/express/node_modules/es-define-property/index.js +0 -14
  199. package/dashboards/express/node_modules/es-define-property/package.json +0 -81
  200. package/dashboards/express/node_modules/es-define-property/test/index.js +0 -56
  201. package/dashboards/express/node_modules/es-define-property/tsconfig.json +0 -10
  202. package/dashboards/express/node_modules/es-errors/.eslintrc +0 -5
  203. package/dashboards/express/node_modules/es-errors/.github/FUNDING.yml +0 -12
  204. package/dashboards/express/node_modules/es-errors/CHANGELOG.md +0 -40
  205. package/dashboards/express/node_modules/es-errors/LICENSE +0 -21
  206. package/dashboards/express/node_modules/es-errors/README.md +0 -55
  207. package/dashboards/express/node_modules/es-errors/eval.d.ts +0 -3
  208. package/dashboards/express/node_modules/es-errors/eval.js +0 -4
  209. package/dashboards/express/node_modules/es-errors/index.d.ts +0 -3
  210. package/dashboards/express/node_modules/es-errors/index.js +0 -4
  211. package/dashboards/express/node_modules/es-errors/package.json +0 -80
  212. package/dashboards/express/node_modules/es-errors/range.d.ts +0 -3
  213. package/dashboards/express/node_modules/es-errors/range.js +0 -4
  214. package/dashboards/express/node_modules/es-errors/ref.d.ts +0 -3
  215. package/dashboards/express/node_modules/es-errors/ref.js +0 -4
  216. package/dashboards/express/node_modules/es-errors/syntax.d.ts +0 -3
  217. package/dashboards/express/node_modules/es-errors/syntax.js +0 -4
  218. package/dashboards/express/node_modules/es-errors/test/index.js +0 -19
  219. package/dashboards/express/node_modules/es-errors/tsconfig.json +0 -49
  220. package/dashboards/express/node_modules/es-errors/type.d.ts +0 -3
  221. package/dashboards/express/node_modules/es-errors/type.js +0 -4
  222. package/dashboards/express/node_modules/es-errors/uri.d.ts +0 -3
  223. package/dashboards/express/node_modules/es-errors/uri.js +0 -4
  224. package/dashboards/express/node_modules/es-object-atoms/.eslintrc +0 -16
  225. package/dashboards/express/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  226. package/dashboards/express/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  227. package/dashboards/express/node_modules/es-object-atoms/LICENSE +0 -21
  228. package/dashboards/express/node_modules/es-object-atoms/README.md +0 -63
  229. package/dashboards/express/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  230. package/dashboards/express/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  231. package/dashboards/express/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  232. package/dashboards/express/node_modules/es-object-atoms/ToObject.js +0 -10
  233. package/dashboards/express/node_modules/es-object-atoms/index.d.ts +0 -3
  234. package/dashboards/express/node_modules/es-object-atoms/index.js +0 -4
  235. package/dashboards/express/node_modules/es-object-atoms/isObject.d.ts +0 -3
  236. package/dashboards/express/node_modules/es-object-atoms/isObject.js +0 -6
  237. package/dashboards/express/node_modules/es-object-atoms/package.json +0 -80
  238. package/dashboards/express/node_modules/es-object-atoms/test/index.js +0 -38
  239. package/dashboards/express/node_modules/es-object-atoms/tsconfig.json +0 -6
  240. package/dashboards/express/node_modules/escape-html/LICENSE +0 -24
  241. package/dashboards/express/node_modules/escape-html/Readme.md +0 -43
  242. package/dashboards/express/node_modules/escape-html/index.js +0 -78
  243. package/dashboards/express/node_modules/escape-html/package.json +0 -24
  244. package/dashboards/express/node_modules/etag/HISTORY.md +0 -83
  245. package/dashboards/express/node_modules/etag/LICENSE +0 -22
  246. package/dashboards/express/node_modules/etag/README.md +0 -159
  247. package/dashboards/express/node_modules/etag/index.js +0 -131
  248. package/dashboards/express/node_modules/etag/package.json +0 -47
  249. package/dashboards/express/node_modules/express/LICENSE +0 -24
  250. package/dashboards/express/node_modules/express/Readme.md +0 -276
  251. package/dashboards/express/node_modules/express/index.js +0 -11
  252. package/dashboards/express/node_modules/express/lib/application.js +0 -631
  253. package/dashboards/express/node_modules/express/lib/express.js +0 -81
  254. package/dashboards/express/node_modules/express/lib/request.js +0 -514
  255. package/dashboards/express/node_modules/express/lib/response.js +0 -1053
  256. package/dashboards/express/node_modules/express/lib/utils.js +0 -271
  257. package/dashboards/express/node_modules/express/lib/view.js +0 -205
  258. package/dashboards/express/node_modules/express/package.json +0 -99
  259. package/dashboards/express/node_modules/express-session/LICENSE +0 -24
  260. package/dashboards/express/node_modules/express-session/README.md +0 -1061
  261. package/dashboards/express/node_modules/express-session/index.js +0 -700
  262. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/History.md +0 -42
  263. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/Readme.md +0 -42
  264. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/index.js +0 -51
  265. package/dashboards/express/node_modules/express-session/node_modules/cookie-signature/package.json +0 -18
  266. package/dashboards/express/node_modules/express-session/node_modules/debug/.coveralls.yml +0 -1
  267. package/dashboards/express/node_modules/express-session/node_modules/debug/.eslintrc +0 -11
  268. package/dashboards/express/node_modules/express-session/node_modules/debug/.travis.yml +0 -14
  269. package/dashboards/express/node_modules/express-session/node_modules/debug/CHANGELOG.md +0 -362
  270. package/dashboards/express/node_modules/express-session/node_modules/debug/LICENSE +0 -19
  271. package/dashboards/express/node_modules/express-session/node_modules/debug/Makefile +0 -50
  272. package/dashboards/express/node_modules/express-session/node_modules/debug/README.md +0 -312
  273. package/dashboards/express/node_modules/express-session/node_modules/debug/component.json +0 -19
  274. package/dashboards/express/node_modules/express-session/node_modules/debug/karma.conf.js +0 -70
  275. package/dashboards/express/node_modules/express-session/node_modules/debug/node.js +0 -1
  276. package/dashboards/express/node_modules/express-session/node_modules/debug/package.json +0 -49
  277. package/dashboards/express/node_modules/express-session/node_modules/debug/src/browser.js +0 -185
  278. package/dashboards/express/node_modules/express-session/node_modules/debug/src/debug.js +0 -202
  279. package/dashboards/express/node_modules/express-session/node_modules/debug/src/index.js +0 -10
  280. package/dashboards/express/node_modules/express-session/node_modules/debug/src/inspector-log.js +0 -15
  281. package/dashboards/express/node_modules/express-session/node_modules/debug/src/node.js +0 -248
  282. package/dashboards/express/node_modules/express-session/node_modules/ms/index.js +0 -152
  283. package/dashboards/express/node_modules/express-session/node_modules/ms/license.md +0 -21
  284. package/dashboards/express/node_modules/express-session/node_modules/ms/package.json +0 -37
  285. package/dashboards/express/node_modules/express-session/node_modules/ms/readme.md +0 -51
  286. package/dashboards/express/node_modules/express-session/package.json +0 -50
  287. package/dashboards/express/node_modules/express-session/session/cookie.js +0 -152
  288. package/dashboards/express/node_modules/express-session/session/memory.js +0 -187
  289. package/dashboards/express/node_modules/express-session/session/session.js +0 -143
  290. package/dashboards/express/node_modules/express-session/session/store.js +0 -102
  291. package/dashboards/express/node_modules/finalhandler/HISTORY.md +0 -239
  292. package/dashboards/express/node_modules/finalhandler/LICENSE +0 -22
  293. package/dashboards/express/node_modules/finalhandler/README.md +0 -150
  294. package/dashboards/express/node_modules/finalhandler/index.js +0 -293
  295. package/dashboards/express/node_modules/finalhandler/package.json +0 -47
  296. package/dashboards/express/node_modules/forwarded/HISTORY.md +0 -21
  297. package/dashboards/express/node_modules/forwarded/LICENSE +0 -22
  298. package/dashboards/express/node_modules/forwarded/README.md +0 -57
  299. package/dashboards/express/node_modules/forwarded/index.js +0 -90
  300. package/dashboards/express/node_modules/forwarded/package.json +0 -45
  301. package/dashboards/express/node_modules/fresh/HISTORY.md +0 -80
  302. package/dashboards/express/node_modules/fresh/LICENSE +0 -23
  303. package/dashboards/express/node_modules/fresh/README.md +0 -117
  304. package/dashboards/express/node_modules/fresh/index.js +0 -136
  305. package/dashboards/express/node_modules/fresh/package.json +0 -46
  306. package/dashboards/express/node_modules/function-bind/.eslintrc +0 -21
  307. package/dashboards/express/node_modules/function-bind/.github/FUNDING.yml +0 -12
  308. package/dashboards/express/node_modules/function-bind/.github/SECURITY.md +0 -3
  309. package/dashboards/express/node_modules/function-bind/.nycrc +0 -13
  310. package/dashboards/express/node_modules/function-bind/CHANGELOG.md +0 -136
  311. package/dashboards/express/node_modules/function-bind/LICENSE +0 -20
  312. package/dashboards/express/node_modules/function-bind/README.md +0 -46
  313. package/dashboards/express/node_modules/function-bind/implementation.js +0 -84
  314. package/dashboards/express/node_modules/function-bind/index.js +0 -5
  315. package/dashboards/express/node_modules/function-bind/package.json +0 -87
  316. package/dashboards/express/node_modules/function-bind/test/.eslintrc +0 -9
  317. package/dashboards/express/node_modules/function-bind/test/index.js +0 -252
  318. package/dashboards/express/node_modules/get-intrinsic/.eslintrc +0 -42
  319. package/dashboards/express/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  320. package/dashboards/express/node_modules/get-intrinsic/.nycrc +0 -9
  321. package/dashboards/express/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  322. package/dashboards/express/node_modules/get-intrinsic/LICENSE +0 -21
  323. package/dashboards/express/node_modules/get-intrinsic/README.md +0 -71
  324. package/dashboards/express/node_modules/get-intrinsic/index.js +0 -378
  325. package/dashboards/express/node_modules/get-intrinsic/package.json +0 -97
  326. package/dashboards/express/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  327. package/dashboards/express/node_modules/get-proto/.eslintrc +0 -10
  328. package/dashboards/express/node_modules/get-proto/.github/FUNDING.yml +0 -12
  329. package/dashboards/express/node_modules/get-proto/.nycrc +0 -9
  330. package/dashboards/express/node_modules/get-proto/CHANGELOG.md +0 -21
  331. package/dashboards/express/node_modules/get-proto/LICENSE +0 -21
  332. package/dashboards/express/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  333. package/dashboards/express/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  334. package/dashboards/express/node_modules/get-proto/README.md +0 -50
  335. package/dashboards/express/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  336. package/dashboards/express/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  337. package/dashboards/express/node_modules/get-proto/index.d.ts +0 -5
  338. package/dashboards/express/node_modules/get-proto/index.js +0 -27
  339. package/dashboards/express/node_modules/get-proto/package.json +0 -81
  340. package/dashboards/express/node_modules/get-proto/test/index.js +0 -68
  341. package/dashboards/express/node_modules/get-proto/tsconfig.json +0 -9
  342. package/dashboards/express/node_modules/gopd/.eslintrc +0 -16
  343. package/dashboards/express/node_modules/gopd/.github/FUNDING.yml +0 -12
  344. package/dashboards/express/node_modules/gopd/CHANGELOG.md +0 -45
  345. package/dashboards/express/node_modules/gopd/LICENSE +0 -21
  346. package/dashboards/express/node_modules/gopd/README.md +0 -40
  347. package/dashboards/express/node_modules/gopd/gOPD.d.ts +0 -1
  348. package/dashboards/express/node_modules/gopd/gOPD.js +0 -4
  349. package/dashboards/express/node_modules/gopd/index.d.ts +0 -5
  350. package/dashboards/express/node_modules/gopd/index.js +0 -15
  351. package/dashboards/express/node_modules/gopd/package.json +0 -77
  352. package/dashboards/express/node_modules/gopd/test/index.js +0 -36
  353. package/dashboards/express/node_modules/gopd/tsconfig.json +0 -9
  354. package/dashboards/express/node_modules/has-symbols/.eslintrc +0 -11
  355. package/dashboards/express/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  356. package/dashboards/express/node_modules/has-symbols/.nycrc +0 -9
  357. package/dashboards/express/node_modules/has-symbols/CHANGELOG.md +0 -91
  358. package/dashboards/express/node_modules/has-symbols/LICENSE +0 -21
  359. package/dashboards/express/node_modules/has-symbols/README.md +0 -46
  360. package/dashboards/express/node_modules/has-symbols/index.d.ts +0 -3
  361. package/dashboards/express/node_modules/has-symbols/index.js +0 -14
  362. package/dashboards/express/node_modules/has-symbols/package.json +0 -111
  363. package/dashboards/express/node_modules/has-symbols/shams.d.ts +0 -3
  364. package/dashboards/express/node_modules/has-symbols/shams.js +0 -45
  365. package/dashboards/express/node_modules/has-symbols/test/index.js +0 -22
  366. package/dashboards/express/node_modules/has-symbols/test/shams/core-js.js +0 -29
  367. package/dashboards/express/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  368. package/dashboards/express/node_modules/has-symbols/test/tests.js +0 -58
  369. package/dashboards/express/node_modules/has-symbols/tsconfig.json +0 -10
  370. package/dashboards/express/node_modules/hasown/.eslintrc +0 -5
  371. package/dashboards/express/node_modules/hasown/.github/FUNDING.yml +0 -12
  372. package/dashboards/express/node_modules/hasown/.nycrc +0 -13
  373. package/dashboards/express/node_modules/hasown/CHANGELOG.md +0 -40
  374. package/dashboards/express/node_modules/hasown/LICENSE +0 -21
  375. package/dashboards/express/node_modules/hasown/README.md +0 -40
  376. package/dashboards/express/node_modules/hasown/index.d.ts +0 -3
  377. package/dashboards/express/node_modules/hasown/index.js +0 -8
  378. package/dashboards/express/node_modules/hasown/package.json +0 -92
  379. package/dashboards/express/node_modules/hasown/tsconfig.json +0 -6
  380. package/dashboards/express/node_modules/http-errors/HISTORY.md +0 -186
  381. package/dashboards/express/node_modules/http-errors/LICENSE +0 -23
  382. package/dashboards/express/node_modules/http-errors/README.md +0 -169
  383. package/dashboards/express/node_modules/http-errors/index.js +0 -290
  384. package/dashboards/express/node_modules/http-errors/package.json +0 -54
  385. package/dashboards/express/node_modules/iconv-lite/LICENSE +0 -21
  386. package/dashboards/express/node_modules/iconv-lite/README.md +0 -138
  387. package/dashboards/express/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -532
  388. package/dashboards/express/node_modules/iconv-lite/encodings/dbcs-data.js +0 -185
  389. package/dashboards/express/node_modules/iconv-lite/encodings/index.js +0 -23
  390. package/dashboards/express/node_modules/iconv-lite/encodings/internal.js +0 -218
  391. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -75
  392. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  393. package/dashboards/express/node_modules/iconv-lite/encodings/sbcs-data.js +0 -178
  394. package/dashboards/express/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  395. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  396. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  397. package/dashboards/express/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  398. package/dashboards/express/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  399. package/dashboards/express/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  400. package/dashboards/express/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
  401. package/dashboards/express/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  402. package/dashboards/express/node_modules/iconv-lite/encodings/utf16.js +0 -187
  403. package/dashboards/express/node_modules/iconv-lite/encodings/utf32.js +0 -307
  404. package/dashboards/express/node_modules/iconv-lite/encodings/utf7.js +0 -283
  405. package/dashboards/express/node_modules/iconv-lite/lib/bom-handling.js +0 -48
  406. package/dashboards/express/node_modules/iconv-lite/lib/helpers/merge-exports.js +0 -13
  407. package/dashboards/express/node_modules/iconv-lite/lib/index.d.ts +0 -129
  408. package/dashboards/express/node_modules/iconv-lite/lib/index.js +0 -182
  409. package/dashboards/express/node_modules/iconv-lite/lib/streams.js +0 -105
  410. package/dashboards/express/node_modules/iconv-lite/package.json +0 -70
  411. package/dashboards/express/node_modules/iconv-lite/types/encodings.d.ts +0 -423
  412. package/dashboards/express/node_modules/inherits/LICENSE +0 -16
  413. package/dashboards/express/node_modules/inherits/README.md +0 -42
  414. package/dashboards/express/node_modules/inherits/inherits.js +0 -9
  415. package/dashboards/express/node_modules/inherits/inherits_browser.js +0 -27
  416. package/dashboards/express/node_modules/inherits/package.json +0 -29
  417. package/dashboards/express/node_modules/ipaddr.js/LICENSE +0 -19
  418. package/dashboards/express/node_modules/ipaddr.js/README.md +0 -233
  419. package/dashboards/express/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  420. package/dashboards/express/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  421. package/dashboards/express/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  422. package/dashboards/express/node_modules/ipaddr.js/package.json +0 -35
  423. package/dashboards/express/node_modules/is-promise/LICENSE +0 -19
  424. package/dashboards/express/node_modules/is-promise/index.d.ts +0 -2
  425. package/dashboards/express/node_modules/is-promise/index.js +0 -6
  426. package/dashboards/express/node_modules/is-promise/index.mjs +0 -3
  427. package/dashboards/express/node_modules/is-promise/package.json +0 -30
  428. package/dashboards/express/node_modules/is-promise/readme.md +0 -33
  429. package/dashboards/express/node_modules/math-intrinsics/.eslintrc +0 -16
  430. package/dashboards/express/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  431. package/dashboards/express/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  432. package/dashboards/express/node_modules/math-intrinsics/LICENSE +0 -21
  433. package/dashboards/express/node_modules/math-intrinsics/README.md +0 -50
  434. package/dashboards/express/node_modules/math-intrinsics/abs.d.ts +0 -1
  435. package/dashboards/express/node_modules/math-intrinsics/abs.js +0 -4
  436. package/dashboards/express/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  437. package/dashboards/express/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  438. package/dashboards/express/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  439. package/dashboards/express/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  440. package/dashboards/express/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  441. package/dashboards/express/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  442. package/dashboards/express/node_modules/math-intrinsics/floor.d.ts +0 -1
  443. package/dashboards/express/node_modules/math-intrinsics/floor.js +0 -4
  444. package/dashboards/express/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  445. package/dashboards/express/node_modules/math-intrinsics/isFinite.js +0 -12
  446. package/dashboards/express/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  447. package/dashboards/express/node_modules/math-intrinsics/isInteger.js +0 -16
  448. package/dashboards/express/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  449. package/dashboards/express/node_modules/math-intrinsics/isNaN.js +0 -6
  450. package/dashboards/express/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  451. package/dashboards/express/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  452. package/dashboards/express/node_modules/math-intrinsics/max.d.ts +0 -1
  453. package/dashboards/express/node_modules/math-intrinsics/max.js +0 -4
  454. package/dashboards/express/node_modules/math-intrinsics/min.d.ts +0 -1
  455. package/dashboards/express/node_modules/math-intrinsics/min.js +0 -4
  456. package/dashboards/express/node_modules/math-intrinsics/mod.d.ts +0 -3
  457. package/dashboards/express/node_modules/math-intrinsics/mod.js +0 -9
  458. package/dashboards/express/node_modules/math-intrinsics/package.json +0 -86
  459. package/dashboards/express/node_modules/math-intrinsics/pow.d.ts +0 -1
  460. package/dashboards/express/node_modules/math-intrinsics/pow.js +0 -4
  461. package/dashboards/express/node_modules/math-intrinsics/round.d.ts +0 -1
  462. package/dashboards/express/node_modules/math-intrinsics/round.js +0 -4
  463. package/dashboards/express/node_modules/math-intrinsics/sign.d.ts +0 -3
  464. package/dashboards/express/node_modules/math-intrinsics/sign.js +0 -11
  465. package/dashboards/express/node_modules/math-intrinsics/test/index.js +0 -192
  466. package/dashboards/express/node_modules/math-intrinsics/tsconfig.json +0 -3
  467. package/dashboards/express/node_modules/media-typer/HISTORY.md +0 -50
  468. package/dashboards/express/node_modules/media-typer/LICENSE +0 -22
  469. package/dashboards/express/node_modules/media-typer/README.md +0 -93
  470. package/dashboards/express/node_modules/media-typer/index.js +0 -143
  471. package/dashboards/express/node_modules/media-typer/package.json +0 -33
  472. package/dashboards/express/node_modules/merge-descriptors/index.d.ts +0 -11
  473. package/dashboards/express/node_modules/merge-descriptors/index.js +0 -26
  474. package/dashboards/express/node_modules/merge-descriptors/license +0 -11
  475. package/dashboards/express/node_modules/merge-descriptors/package.json +0 -50
  476. package/dashboards/express/node_modules/merge-descriptors/readme.md +0 -55
  477. package/dashboards/express/node_modules/mime-db/HISTORY.md +0 -541
  478. package/dashboards/express/node_modules/mime-db/LICENSE +0 -23
  479. package/dashboards/express/node_modules/mime-db/README.md +0 -109
  480. package/dashboards/express/node_modules/mime-db/db.json +0 -9342
  481. package/dashboards/express/node_modules/mime-db/index.js +0 -12
  482. package/dashboards/express/node_modules/mime-db/package.json +0 -56
  483. package/dashboards/express/node_modules/mime-types/HISTORY.md +0 -428
  484. package/dashboards/express/node_modules/mime-types/LICENSE +0 -23
  485. package/dashboards/express/node_modules/mime-types/README.md +0 -126
  486. package/dashboards/express/node_modules/mime-types/index.js +0 -211
  487. package/dashboards/express/node_modules/mime-types/mimeScore.js +0 -57
  488. package/dashboards/express/node_modules/mime-types/package.json +0 -49
  489. package/dashboards/express/node_modules/ms/index.js +0 -162
  490. package/dashboards/express/node_modules/ms/license.md +0 -21
  491. package/dashboards/express/node_modules/ms/package.json +0 -38
  492. package/dashboards/express/node_modules/ms/readme.md +0 -59
  493. package/dashboards/express/node_modules/negotiator/HISTORY.md +0 -114
  494. package/dashboards/express/node_modules/negotiator/LICENSE +0 -24
  495. package/dashboards/express/node_modules/negotiator/README.md +0 -212
  496. package/dashboards/express/node_modules/negotiator/index.js +0 -83
  497. package/dashboards/express/node_modules/negotiator/lib/charset.js +0 -169
  498. package/dashboards/express/node_modules/negotiator/lib/encoding.js +0 -205
  499. package/dashboards/express/node_modules/negotiator/lib/language.js +0 -179
  500. package/dashboards/express/node_modules/negotiator/lib/mediaType.js +0 -294
  501. package/dashboards/express/node_modules/negotiator/package.json +0 -43
  502. package/dashboards/express/node_modules/object-inspect/.eslintrc +0 -53
  503. package/dashboards/express/node_modules/object-inspect/.github/FUNDING.yml +0 -12
  504. package/dashboards/express/node_modules/object-inspect/.nycrc +0 -13
  505. package/dashboards/express/node_modules/object-inspect/CHANGELOG.md +0 -424
  506. package/dashboards/express/node_modules/object-inspect/LICENSE +0 -21
  507. package/dashboards/express/node_modules/object-inspect/example/all.js +0 -23
  508. package/dashboards/express/node_modules/object-inspect/example/circular.js +0 -6
  509. package/dashboards/express/node_modules/object-inspect/example/fn.js +0 -5
  510. package/dashboards/express/node_modules/object-inspect/example/inspect.js +0 -10
  511. package/dashboards/express/node_modules/object-inspect/index.js +0 -544
  512. package/dashboards/express/node_modules/object-inspect/package-support.json +0 -20
  513. package/dashboards/express/node_modules/object-inspect/package.json +0 -105
  514. package/dashboards/express/node_modules/object-inspect/readme.markdown +0 -84
  515. package/dashboards/express/node_modules/object-inspect/test/bigint.js +0 -58
  516. package/dashboards/express/node_modules/object-inspect/test/browser/dom.js +0 -15
  517. package/dashboards/express/node_modules/object-inspect/test/circular.js +0 -16
  518. package/dashboards/express/node_modules/object-inspect/test/deep.js +0 -12
  519. package/dashboards/express/node_modules/object-inspect/test/element.js +0 -53
  520. package/dashboards/express/node_modules/object-inspect/test/err.js +0 -48
  521. package/dashboards/express/node_modules/object-inspect/test/fakes.js +0 -29
  522. package/dashboards/express/node_modules/object-inspect/test/fn.js +0 -76
  523. package/dashboards/express/node_modules/object-inspect/test/global.js +0 -17
  524. package/dashboards/express/node_modules/object-inspect/test/has.js +0 -15
  525. package/dashboards/express/node_modules/object-inspect/test/holes.js +0 -15
  526. package/dashboards/express/node_modules/object-inspect/test/indent-option.js +0 -271
  527. package/dashboards/express/node_modules/object-inspect/test/inspect.js +0 -139
  528. package/dashboards/express/node_modules/object-inspect/test/lowbyte.js +0 -12
  529. package/dashboards/express/node_modules/object-inspect/test/number.js +0 -58
  530. package/dashboards/express/node_modules/object-inspect/test/quoteStyle.js +0 -26
  531. package/dashboards/express/node_modules/object-inspect/test/toStringTag.js +0 -40
  532. package/dashboards/express/node_modules/object-inspect/test/undef.js +0 -12
  533. package/dashboards/express/node_modules/object-inspect/test/values.js +0 -261
  534. package/dashboards/express/node_modules/object-inspect/test-core-js.js +0 -26
  535. package/dashboards/express/node_modules/object-inspect/util.inspect.js +0 -1
  536. package/dashboards/express/node_modules/on-finished/HISTORY.md +0 -98
  537. package/dashboards/express/node_modules/on-finished/LICENSE +0 -23
  538. package/dashboards/express/node_modules/on-finished/README.md +0 -162
  539. package/dashboards/express/node_modules/on-finished/index.js +0 -234
  540. package/dashboards/express/node_modules/on-finished/package.json +0 -39
  541. package/dashboards/express/node_modules/on-headers/HISTORY.md +0 -26
  542. package/dashboards/express/node_modules/on-headers/LICENSE +0 -22
  543. package/dashboards/express/node_modules/on-headers/README.md +0 -81
  544. package/dashboards/express/node_modules/on-headers/index.js +0 -180
  545. package/dashboards/express/node_modules/on-headers/package.json +0 -44
  546. package/dashboards/express/node_modules/once/LICENSE +0 -15
  547. package/dashboards/express/node_modules/once/README.md +0 -79
  548. package/dashboards/express/node_modules/once/once.js +0 -42
  549. package/dashboards/express/node_modules/once/package.json +0 -33
  550. package/dashboards/express/node_modules/parseurl/HISTORY.md +0 -58
  551. package/dashboards/express/node_modules/parseurl/LICENSE +0 -24
  552. package/dashboards/express/node_modules/parseurl/README.md +0 -133
  553. package/dashboards/express/node_modules/parseurl/index.js +0 -158
  554. package/dashboards/express/node_modules/parseurl/package.json +0 -40
  555. package/dashboards/express/node_modules/path-to-regexp/LICENSE +0 -21
  556. package/dashboards/express/node_modules/path-to-regexp/Readme.md +0 -224
  557. package/dashboards/express/node_modules/path-to-regexp/dist/index.d.ts +0 -144
  558. package/dashboards/express/node_modules/path-to-regexp/dist/index.js +0 -409
  559. package/dashboards/express/node_modules/path-to-regexp/dist/index.js.map +0 -1
  560. package/dashboards/express/node_modules/path-to-regexp/package.json +0 -64
  561. package/dashboards/express/node_modules/proxy-addr/HISTORY.md +0 -161
  562. package/dashboards/express/node_modules/proxy-addr/LICENSE +0 -22
  563. package/dashboards/express/node_modules/proxy-addr/README.md +0 -139
  564. package/dashboards/express/node_modules/proxy-addr/index.js +0 -327
  565. package/dashboards/express/node_modules/proxy-addr/package.json +0 -47
  566. package/dashboards/express/node_modules/qs/.editorconfig +0 -46
  567. package/dashboards/express/node_modules/qs/.github/FUNDING.yml +0 -12
  568. package/dashboards/express/node_modules/qs/.github/SECURITY.md +0 -11
  569. package/dashboards/express/node_modules/qs/.github/THREAT_MODEL.md +0 -78
  570. package/dashboards/express/node_modules/qs/.nycrc +0 -13
  571. package/dashboards/express/node_modules/qs/CHANGELOG.md +0 -806
  572. package/dashboards/express/node_modules/qs/LICENSE.md +0 -29
  573. package/dashboards/express/node_modules/qs/README.md +0 -758
  574. package/dashboards/express/node_modules/qs/dist/qs.js +0 -141
  575. package/dashboards/express/node_modules/qs/eslint.config.mjs +0 -56
  576. package/dashboards/express/node_modules/qs/lib/formats.js +0 -23
  577. package/dashboards/express/node_modules/qs/lib/index.js +0 -11
  578. package/dashboards/express/node_modules/qs/lib/parse.js +0 -373
  579. package/dashboards/express/node_modules/qs/lib/stringify.js +0 -356
  580. package/dashboards/express/node_modules/qs/lib/utils.js +0 -342
  581. package/dashboards/express/node_modules/qs/package.json +0 -94
  582. package/dashboards/express/node_modules/qs/test/empty-keys-cases.js +0 -267
  583. package/dashboards/express/node_modules/qs/test/parse.js +0 -1568
  584. package/dashboards/express/node_modules/qs/test/stringify.js +0 -1310
  585. package/dashboards/express/node_modules/qs/test/utils.js +0 -404
  586. package/dashboards/express/node_modules/random-bytes/HISTORY.md +0 -4
  587. package/dashboards/express/node_modules/random-bytes/LICENSE +0 -21
  588. package/dashboards/express/node_modules/random-bytes/README.md +0 -77
  589. package/dashboards/express/node_modules/random-bytes/index.js +0 -101
  590. package/dashboards/express/node_modules/random-bytes/package.json +0 -36
  591. package/dashboards/express/node_modules/range-parser/HISTORY.md +0 -56
  592. package/dashboards/express/node_modules/range-parser/LICENSE +0 -23
  593. package/dashboards/express/node_modules/range-parser/README.md +0 -84
  594. package/dashboards/express/node_modules/range-parser/index.js +0 -162
  595. package/dashboards/express/node_modules/range-parser/package.json +0 -44
  596. package/dashboards/express/node_modules/raw-body/LICENSE +0 -22
  597. package/dashboards/express/node_modules/raw-body/README.md +0 -223
  598. package/dashboards/express/node_modules/raw-body/index.d.ts +0 -85
  599. package/dashboards/express/node_modules/raw-body/index.js +0 -336
  600. package/dashboards/express/node_modules/raw-body/package.json +0 -46
  601. package/dashboards/express/node_modules/router/HISTORY.md +0 -228
  602. package/dashboards/express/node_modules/router/LICENSE +0 -23
  603. package/dashboards/express/node_modules/router/README.md +0 -416
  604. package/dashboards/express/node_modules/router/index.js +0 -748
  605. package/dashboards/express/node_modules/router/lib/layer.js +0 -247
  606. package/dashboards/express/node_modules/router/lib/route.js +0 -242
  607. package/dashboards/express/node_modules/router/package.json +0 -44
  608. package/dashboards/express/node_modules/safe-buffer/LICENSE +0 -21
  609. package/dashboards/express/node_modules/safe-buffer/README.md +0 -584
  610. package/dashboards/express/node_modules/safe-buffer/index.d.ts +0 -187
  611. package/dashboards/express/node_modules/safe-buffer/index.js +0 -65
  612. package/dashboards/express/node_modules/safe-buffer/package.json +0 -51
  613. package/dashboards/express/node_modules/safer-buffer/LICENSE +0 -21
  614. package/dashboards/express/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  615. package/dashboards/express/node_modules/safer-buffer/Readme.md +0 -156
  616. package/dashboards/express/node_modules/safer-buffer/dangerous.js +0 -58
  617. package/dashboards/express/node_modules/safer-buffer/package.json +0 -34
  618. package/dashboards/express/node_modules/safer-buffer/safer.js +0 -77
  619. package/dashboards/express/node_modules/safer-buffer/tests.js +0 -406
  620. package/dashboards/express/node_modules/send/LICENSE +0 -23
  621. package/dashboards/express/node_modules/send/README.md +0 -317
  622. package/dashboards/express/node_modules/send/index.js +0 -997
  623. package/dashboards/express/node_modules/send/package.json +0 -63
  624. package/dashboards/express/node_modules/serve-static/LICENSE +0 -25
  625. package/dashboards/express/node_modules/serve-static/README.md +0 -253
  626. package/dashboards/express/node_modules/serve-static/index.js +0 -208
  627. package/dashboards/express/node_modules/serve-static/package.json +0 -44
  628. package/dashboards/express/node_modules/setprototypeof/LICENSE +0 -13
  629. package/dashboards/express/node_modules/setprototypeof/README.md +0 -31
  630. package/dashboards/express/node_modules/setprototypeof/index.d.ts +0 -2
  631. package/dashboards/express/node_modules/setprototypeof/index.js +0 -17
  632. package/dashboards/express/node_modules/setprototypeof/package.json +0 -38
  633. package/dashboards/express/node_modules/setprototypeof/test/index.js +0 -24
  634. package/dashboards/express/node_modules/side-channel/.editorconfig +0 -9
  635. package/dashboards/express/node_modules/side-channel/.eslintrc +0 -12
  636. package/dashboards/express/node_modules/side-channel/.github/FUNDING.yml +0 -12
  637. package/dashboards/express/node_modules/side-channel/.nycrc +0 -13
  638. package/dashboards/express/node_modules/side-channel/CHANGELOG.md +0 -110
  639. package/dashboards/express/node_modules/side-channel/LICENSE +0 -21
  640. package/dashboards/express/node_modules/side-channel/README.md +0 -61
  641. package/dashboards/express/node_modules/side-channel/index.d.ts +0 -14
  642. package/dashboards/express/node_modules/side-channel/index.js +0 -43
  643. package/dashboards/express/node_modules/side-channel/package.json +0 -85
  644. package/dashboards/express/node_modules/side-channel/test/index.js +0 -104
  645. package/dashboards/express/node_modules/side-channel/tsconfig.json +0 -9
  646. package/dashboards/express/node_modules/side-channel-list/.editorconfig +0 -9
  647. package/dashboards/express/node_modules/side-channel-list/.eslintrc +0 -11
  648. package/dashboards/express/node_modules/side-channel-list/.github/FUNDING.yml +0 -12
  649. package/dashboards/express/node_modules/side-channel-list/.nycrc +0 -13
  650. package/dashboards/express/node_modules/side-channel-list/CHANGELOG.md +0 -15
  651. package/dashboards/express/node_modules/side-channel-list/LICENSE +0 -21
  652. package/dashboards/express/node_modules/side-channel-list/README.md +0 -62
  653. package/dashboards/express/node_modules/side-channel-list/index.d.ts +0 -13
  654. package/dashboards/express/node_modules/side-channel-list/index.js +0 -113
  655. package/dashboards/express/node_modules/side-channel-list/list.d.ts +0 -14
  656. package/dashboards/express/node_modules/side-channel-list/package.json +0 -77
  657. package/dashboards/express/node_modules/side-channel-list/test/index.js +0 -104
  658. package/dashboards/express/node_modules/side-channel-list/tsconfig.json +0 -9
  659. package/dashboards/express/node_modules/side-channel-map/.editorconfig +0 -9
  660. package/dashboards/express/node_modules/side-channel-map/.eslintrc +0 -11
  661. package/dashboards/express/node_modules/side-channel-map/.github/FUNDING.yml +0 -12
  662. package/dashboards/express/node_modules/side-channel-map/.nycrc +0 -13
  663. package/dashboards/express/node_modules/side-channel-map/CHANGELOG.md +0 -22
  664. package/dashboards/express/node_modules/side-channel-map/LICENSE +0 -21
  665. package/dashboards/express/node_modules/side-channel-map/README.md +0 -62
  666. package/dashboards/express/node_modules/side-channel-map/index.d.ts +0 -15
  667. package/dashboards/express/node_modules/side-channel-map/index.js +0 -68
  668. package/dashboards/express/node_modules/side-channel-map/package.json +0 -80
  669. package/dashboards/express/node_modules/side-channel-map/test/index.js +0 -114
  670. package/dashboards/express/node_modules/side-channel-map/tsconfig.json +0 -9
  671. package/dashboards/express/node_modules/side-channel-weakmap/.editorconfig +0 -9
  672. package/dashboards/express/node_modules/side-channel-weakmap/.eslintrc +0 -12
  673. package/dashboards/express/node_modules/side-channel-weakmap/.github/FUNDING.yml +0 -12
  674. package/dashboards/express/node_modules/side-channel-weakmap/.nycrc +0 -13
  675. package/dashboards/express/node_modules/side-channel-weakmap/CHANGELOG.md +0 -28
  676. package/dashboards/express/node_modules/side-channel-weakmap/LICENSE +0 -21
  677. package/dashboards/express/node_modules/side-channel-weakmap/README.md +0 -62
  678. package/dashboards/express/node_modules/side-channel-weakmap/index.d.ts +0 -15
  679. package/dashboards/express/node_modules/side-channel-weakmap/index.js +0 -84
  680. package/dashboards/express/node_modules/side-channel-weakmap/package.json +0 -87
  681. package/dashboards/express/node_modules/side-channel-weakmap/test/index.js +0 -114
  682. package/dashboards/express/node_modules/side-channel-weakmap/tsconfig.json +0 -9
  683. package/dashboards/express/node_modules/statuses/HISTORY.md +0 -87
  684. package/dashboards/express/node_modules/statuses/LICENSE +0 -23
  685. package/dashboards/express/node_modules/statuses/README.md +0 -139
  686. package/dashboards/express/node_modules/statuses/codes.json +0 -65
  687. package/dashboards/express/node_modules/statuses/index.js +0 -146
  688. package/dashboards/express/node_modules/statuses/package.json +0 -49
  689. package/dashboards/express/node_modules/toidentifier/HISTORY.md +0 -9
  690. package/dashboards/express/node_modules/toidentifier/LICENSE +0 -21
  691. package/dashboards/express/node_modules/toidentifier/README.md +0 -61
  692. package/dashboards/express/node_modules/toidentifier/index.js +0 -32
  693. package/dashboards/express/node_modules/toidentifier/package.json +0 -38
  694. package/dashboards/express/node_modules/type-is/HISTORY.md +0 -292
  695. package/dashboards/express/node_modules/type-is/LICENSE +0 -23
  696. package/dashboards/express/node_modules/type-is/README.md +0 -198
  697. package/dashboards/express/node_modules/type-is/index.js +0 -250
  698. package/dashboards/express/node_modules/type-is/package.json +0 -47
  699. package/dashboards/express/node_modules/uid-safe/HISTORY.md +0 -61
  700. package/dashboards/express/node_modules/uid-safe/LICENSE +0 -22
  701. package/dashboards/express/node_modules/uid-safe/README.md +0 -77
  702. package/dashboards/express/node_modules/uid-safe/index.js +0 -107
  703. package/dashboards/express/node_modules/uid-safe/package.json +0 -46
  704. package/dashboards/express/node_modules/unpipe/HISTORY.md +0 -4
  705. package/dashboards/express/node_modules/unpipe/LICENSE +0 -22
  706. package/dashboards/express/node_modules/unpipe/README.md +0 -43
  707. package/dashboards/express/node_modules/unpipe/index.js +0 -69
  708. package/dashboards/express/node_modules/unpipe/package.json +0 -27
  709. package/dashboards/express/node_modules/vary/HISTORY.md +0 -39
  710. package/dashboards/express/node_modules/vary/LICENSE +0 -22
  711. package/dashboards/express/node_modules/vary/README.md +0 -101
  712. package/dashboards/express/node_modules/vary/index.js +0 -149
  713. package/dashboards/express/node_modules/vary/package.json +0 -43
  714. package/dashboards/express/node_modules/wrappy/LICENSE +0 -15
  715. package/dashboards/express/node_modules/wrappy/README.md +0 -36
  716. package/dashboards/express/node_modules/wrappy/package.json +0 -29
  717. package/dashboards/express/node_modules/wrappy/wrappy.js +0 -33
  718. package/dashboards/express/package-lock.json +0 -922
  719. package/dashboards/express/package.json +0 -17
  720. package/dashboards/express/public/styles.css +0 -175
  721. package/dashboards/express/routes/activity.js +0 -101
  722. package/dashboards/express/routes/agents.js +0 -771
  723. package/dashboards/express/routes/apiKeys.js +0 -107
  724. package/dashboards/express/routes/approvals.js +0 -100
  725. package/dashboards/express/routes/audit.js +0 -75
  726. package/dashboards/express/routes/auth.js +0 -38
  727. package/dashboards/express/routes/community-skills.js +0 -83
  728. package/dashboards/express/routes/compliance.js +0 -93
  729. package/dashboards/express/routes/dashboard.js +0 -65
  730. package/dashboards/express/routes/dlp.js +0 -165
  731. package/dashboards/express/routes/domain-status.js +0 -78
  732. package/dashboards/express/routes/guardrails.js +0 -195
  733. package/dashboards/express/routes/journal.js +0 -95
  734. package/dashboards/express/routes/knowledge-contributions.js +0 -85
  735. package/dashboards/express/routes/knowledge.js +0 -83
  736. package/dashboards/express/routes/messages.js +0 -97
  737. package/dashboards/express/routes/settings.js +0 -830
  738. package/dashboards/express/routes/skill-connections.js +0 -86
  739. package/dashboards/express/routes/skills.js +0 -141
  740. package/dashboards/express/routes/users.js +0 -69
  741. package/dashboards/express/routes/vault.js +0 -141
  742. package/dashboards/express/routes/workforce.js +0 -126
  743. package/dashboards/express/utils/api.js +0 -44
  744. package/dashboards/express/utils/helpers.js +0 -46
  745. package/dashboards/express/views/components/modal.js +0 -255
  746. package/dashboards/express/views/components/stats.js +0 -22
  747. package/dashboards/express/views/components/table.js +0 -31
  748. package/dashboards/express/views/layout.js +0 -94
  749. package/dashboards/express/views/login.js +0 -45
  750. package/dashboards/go/go.mod +0 -3
  751. package/dashboards/go/handlers/activity.go +0 -30
  752. package/dashboards/go/handlers/agents.go +0 -790
  753. package/dashboards/go/handlers/apikeys.go +0 -38
  754. package/dashboards/go/handlers/approvals.go +0 -31
  755. package/dashboards/go/handlers/audit.go +0 -52
  756. package/dashboards/go/handlers/auth.go +0 -39
  757. package/dashboards/go/handlers/community_skills.go +0 -32
  758. package/dashboards/go/handlers/compliance.go +0 -58
  759. package/dashboards/go/handlers/dashboard.go +0 -43
  760. package/dashboards/go/handlers/dlp.go +0 -78
  761. package/dashboards/go/handlers/domain_status.go +0 -62
  762. package/dashboards/go/handlers/guardrails.go +0 -89
  763. package/dashboards/go/handlers/journal.go +0 -60
  764. package/dashboards/go/handlers/knowledge.go +0 -35
  765. package/dashboards/go/handlers/knowledge_contributions.go +0 -37
  766. package/dashboards/go/handlers/messages.go +0 -59
  767. package/dashboards/go/handlers/settings.go +0 -951
  768. package/dashboards/go/handlers/skill_connections.go +0 -59
  769. package/dashboards/go/handlers/skills.go +0 -129
  770. package/dashboards/go/handlers/users.go +0 -54
  771. package/dashboards/go/handlers/vault.go +0 -85
  772. package/dashboards/go/handlers/workforce.go +0 -60
  773. package/dashboards/go/main.go +0 -71
  774. package/dashboards/go/middleware/auth.go +0 -17
  775. package/dashboards/go/services/api.go +0 -38
  776. package/dashboards/go/services/session.go +0 -52
  777. package/dashboards/go/static/styles.css +0 -546
  778. package/dashboards/go/templates/components.go +0 -45
  779. package/dashboards/go/templates/helpers.go +0 -35
  780. package/dashboards/go/templates/layout.go +0 -64
  781. package/dashboards/html/index.html +0 -432
  782. package/dashboards/html/package.json +0 -11
  783. package/dashboards/html/public/styles.css +0 -546
  784. package/dashboards/html/src/api.js +0 -36
  785. package/dashboards/html/src/components/badge.js +0 -13
  786. package/dashboards/html/src/components/layout.js +0 -11
  787. package/dashboards/html/src/components/modal.js +0 -9
  788. package/dashboards/html/src/components/pagination.js +0 -12
  789. package/dashboards/html/src/components/stat-card.js +0 -14
  790. package/dashboards/html/src/components/table.js +0 -6
  791. package/dashboards/html/src/main.js +0 -83
  792. package/dashboards/html/src/pages/activity.js +0 -137
  793. package/dashboards/html/src/pages/agents.js +0 -831
  794. package/dashboards/html/src/pages/api-keys.js +0 -80
  795. package/dashboards/html/src/pages/approvals.js +0 -155
  796. package/dashboards/html/src/pages/audit.js +0 -50
  797. package/dashboards/html/src/pages/community-skills.js +0 -236
  798. package/dashboards/html/src/pages/compliance.js +0 -69
  799. package/dashboards/html/src/pages/dashboard.js +0 -25
  800. package/dashboards/html/src/pages/dlp.js +0 -112
  801. package/dashboards/html/src/pages/domain-status.js +0 -182
  802. package/dashboards/html/src/pages/guardrails.js +0 -127
  803. package/dashboards/html/src/pages/journal.js +0 -54
  804. package/dashboards/html/src/pages/knowledge-contributions.js +0 -319
  805. package/dashboards/html/src/pages/knowledge.js +0 -251
  806. package/dashboards/html/src/pages/login.js +0 -84
  807. package/dashboards/html/src/pages/messages.js +0 -90
  808. package/dashboards/html/src/pages/settings.js +0 -656
  809. package/dashboards/html/src/pages/skill-connections.js +0 -293
  810. package/dashboards/html/src/pages/skills.js +0 -114
  811. package/dashboards/html/src/pages/users.js +0 -62
  812. package/dashboards/html/src/pages/vault.js +0 -105
  813. package/dashboards/html/src/pages/workforce.js +0 -418
  814. package/dashboards/html/src/router.js +0 -91
  815. package/dashboards/html/src/utils/escape.js +0 -7
  816. package/dashboards/html/src/utils/time.js +0 -16
  817. package/dashboards/html/src/utils/toast.js +0 -10
  818. package/dashboards/java/AgenticMailDashboard.java +0 -161
  819. package/dashboards/java/handlers/ActivityHandler.java +0 -42
  820. package/dashboards/java/handlers/AgentsHandler.java +0 -807
  821. package/dashboards/java/handlers/ApiKeysHandler.java +0 -201
  822. package/dashboards/java/handlers/ApprovalsHandler.java +0 -43
  823. package/dashboards/java/handlers/AuditHandler.java +0 -95
  824. package/dashboards/java/handlers/AuthHandler.java +0 -71
  825. package/dashboards/java/handlers/CommunitySkillsHandler.java +0 -45
  826. package/dashboards/java/handlers/ComplianceHandler.java +0 -192
  827. package/dashboards/java/handlers/DashboardHandler.java +0 -98
  828. package/dashboards/java/handlers/DlpHandler.java +0 -230
  829. package/dashboards/java/handlers/DomainStatusHandler.java +0 -58
  830. package/dashboards/java/handlers/GuardrailsHandler.java +0 -272
  831. package/dashboards/java/handlers/JournalHandler.java +0 -130
  832. package/dashboards/java/handlers/KnowledgeContributionsHandler.java +0 -51
  833. package/dashboards/java/handlers/KnowledgeHandler.java +0 -49
  834. package/dashboards/java/handlers/MessagesHandler.java +0 -168
  835. package/dashboards/java/handlers/SettingsHandler.java +0 -1017
  836. package/dashboards/java/handlers/SkillConnectionsHandler.java +0 -61
  837. package/dashboards/java/handlers/SkillsHandler.java +0 -198
  838. package/dashboards/java/handlers/UsersHandler.java +0 -118
  839. package/dashboards/java/handlers/VaultHandler.java +0 -168
  840. package/dashboards/java/handlers/WorkforceHandler.java +0 -64
  841. package/dashboards/java/services/ApiClient.java +0 -233
  842. package/dashboards/java/services/SessionManager.java +0 -138
  843. package/dashboards/java/static/styles.css +0 -546
  844. package/dashboards/java/templates/Components.java +0 -142
  845. package/dashboards/java/templates/Helpers.java +0 -106
  846. package/dashboards/java/templates/Layout.java +0 -106
  847. package/dashboards/laravel/controllers/ActivityController.php +0 -18
  848. package/dashboards/laravel/controllers/AgentController.php +0 -250
  849. package/dashboards/laravel/controllers/ApiKeyController.php +0 -73
  850. package/dashboards/laravel/controllers/ApprovalsController.php +0 -18
  851. package/dashboards/laravel/controllers/AuditController.php +0 -31
  852. package/dashboards/laravel/controllers/AuthController.php +0 -44
  853. package/dashboards/laravel/controllers/CommunitySkillsController.php +0 -18
  854. package/dashboards/laravel/controllers/ComplianceController.php +0 -55
  855. package/dashboards/laravel/controllers/DashboardController.php +0 -28
  856. package/dashboards/laravel/controllers/DlpController.php +0 -88
  857. package/dashboards/laravel/controllers/DomainStatusController.php +0 -18
  858. package/dashboards/laravel/controllers/GuardrailController.php +0 -110
  859. package/dashboards/laravel/controllers/JournalController.php +0 -44
  860. package/dashboards/laravel/controllers/KnowledgeContributionsController.php +0 -18
  861. package/dashboards/laravel/controllers/KnowledgeController.php +0 -18
  862. package/dashboards/laravel/controllers/MessageController.php +0 -47
  863. package/dashboards/laravel/controllers/SettingController.php +0 -258
  864. package/dashboards/laravel/controllers/SkillConnectionsController.php +0 -18
  865. package/dashboards/laravel/controllers/SkillController.php +0 -74
  866. package/dashboards/laravel/controllers/UserController.php +0 -47
  867. package/dashboards/laravel/controllers/VaultController.php +0 -94
  868. package/dashboards/laravel/controllers/WorkforceController.php +0 -18
  869. package/dashboards/laravel/index.php +0 -375
  870. package/dashboards/laravel/lib/Api.php +0 -73
  871. package/dashboards/laravel/lib/Helpers.php +0 -123
  872. package/dashboards/laravel/public/styles.css +0 -175
  873. package/dashboards/laravel/views/activity.php +0 -127
  874. package/dashboards/laravel/views/agent-detail.php +0 -534
  875. package/dashboards/laravel/views/agents.php +0 -204
  876. package/dashboards/laravel/views/api-keys.php +0 -55
  877. package/dashboards/laravel/views/approvals.php +0 -152
  878. package/dashboards/laravel/views/audit.php +0 -30
  879. package/dashboards/laravel/views/community-skills.php +0 -131
  880. package/dashboards/laravel/views/compliance.php +0 -48
  881. package/dashboards/laravel/views/components/modal.php +0 -59
  882. package/dashboards/laravel/views/components/stats.php +0 -21
  883. package/dashboards/laravel/views/components/table.php +0 -35
  884. package/dashboards/laravel/views/dashboard.php +0 -31
  885. package/dashboards/laravel/views/dlp.php +0 -87
  886. package/dashboards/laravel/views/domain-status.php +0 -167
  887. package/dashboards/laravel/views/guardrails.php +0 -95
  888. package/dashboards/laravel/views/journal.php +0 -50
  889. package/dashboards/laravel/views/knowledge-contributions.php +0 -185
  890. package/dashboards/laravel/views/knowledge.php +0 -167
  891. package/dashboards/laravel/views/layout.php +0 -95
  892. package/dashboards/laravel/views/login.php +0 -45
  893. package/dashboards/laravel/views/messages.php +0 -60
  894. package/dashboards/laravel/views/settings.php +0 -622
  895. package/dashboards/laravel/views/skill-connections.php +0 -192
  896. package/dashboards/laravel/views/skills.php +0 -74
  897. package/dashboards/laravel/views/users.php +0 -42
  898. package/dashboards/laravel/views/vault.php +0 -80
  899. package/dashboards/laravel/views/workforce.php +0 -265
  900. package/dashboards/php/components/layout.php +0 -85
  901. package/dashboards/php/components/modal.php +0 -22
  902. package/dashboards/php/components/stats.php +0 -20
  903. package/dashboards/php/components/table.php +0 -33
  904. package/dashboards/php/index.php +0 -696
  905. package/dashboards/php/lib/api.php +0 -37
  906. package/dashboards/php/lib/auth.php +0 -47
  907. package/dashboards/php/lib/helpers.php +0 -69
  908. package/dashboards/php/pages/activity.php +0 -35
  909. package/dashboards/php/pages/agent-detail.php +0 -552
  910. package/dashboards/php/pages/agents.php +0 -185
  911. package/dashboards/php/pages/api-keys.php +0 -34
  912. package/dashboards/php/pages/approvals.php +0 -36
  913. package/dashboards/php/pages/audit.php +0 -31
  914. package/dashboards/php/pages/community-skills.php +0 -39
  915. package/dashboards/php/pages/compliance.php +0 -38
  916. package/dashboards/php/pages/dashboard.php +0 -29
  917. package/dashboards/php/pages/dlp.php +0 -65
  918. package/dashboards/php/pages/domain-status.php +0 -87
  919. package/dashboards/php/pages/guardrails.php +0 -70
  920. package/dashboards/php/pages/journal.php +0 -53
  921. package/dashboards/php/pages/knowledge-contributions.php +0 -47
  922. package/dashboards/php/pages/knowledge.php +0 -43
  923. package/dashboards/php/pages/login.php +0 -34
  924. package/dashboards/php/pages/messages.php +0 -53
  925. package/dashboards/php/pages/settings.php +0 -687
  926. package/dashboards/php/pages/skill-connections.php +0 -94
  927. package/dashboards/php/pages/skills.php +0 -70
  928. package/dashboards/php/pages/users.php +0 -37
  929. package/dashboards/php/pages/vault.php +0 -70
  930. package/dashboards/php/pages/workforce.php +0 -89
  931. package/dashboards/php/public/styles.css +0 -175
  932. package/dashboards/python/app.py +0 -91
  933. package/dashboards/python/routes/__init__.py +0 -0
  934. package/dashboards/python/routes/activity.py +0 -11
  935. package/dashboards/python/routes/agents.py +0 -296
  936. package/dashboards/python/routes/api_keys.py +0 -49
  937. package/dashboards/python/routes/approvals.py +0 -11
  938. package/dashboards/python/routes/audit.py +0 -33
  939. package/dashboards/python/routes/auth.py +0 -30
  940. package/dashboards/python/routes/community_skills.py +0 -11
  941. package/dashboards/python/routes/compliance.py +0 -50
  942. package/dashboards/python/routes/dashboard.py +0 -32
  943. package/dashboards/python/routes/dlp.py +0 -64
  944. package/dashboards/python/routes/domain_status.py +0 -11
  945. package/dashboards/python/routes/guardrails.py +0 -79
  946. package/dashboards/python/routes/journal.py +0 -40
  947. package/dashboards/python/routes/knowledge.py +0 -11
  948. package/dashboards/python/routes/knowledge_contributions.py +0 -11
  949. package/dashboards/python/routes/messages.py +0 -46
  950. package/dashboards/python/routes/settings.py +0 -260
  951. package/dashboards/python/routes/skill_connections.py +0 -11
  952. package/dashboards/python/routes/skills.py +0 -59
  953. package/dashboards/python/routes/users.py +0 -43
  954. package/dashboards/python/routes/vault.py +0 -59
  955. package/dashboards/python/routes/workforce.py +0 -11
  956. package/dashboards/python/static/styles.css +0 -175
  957. package/dashboards/python/templates/activity.html +0 -87
  958. package/dashboards/python/templates/agent_detail.html +0 -552
  959. package/dashboards/python/templates/agents.html +0 -246
  960. package/dashboards/python/templates/api_keys.html +0 -64
  961. package/dashboards/python/templates/approvals.html +0 -86
  962. package/dashboards/python/templates/audit.html +0 -50
  963. package/dashboards/python/templates/community-skills.html +0 -69
  964. package/dashboards/python/templates/compliance.html +0 -74
  965. package/dashboards/python/templates/components/modal.html +0 -43
  966. package/dashboards/python/templates/components/stats.html +0 -26
  967. package/dashboards/python/templates/components/table.html +0 -43
  968. package/dashboards/python/templates/dashboard.html +0 -34
  969. package/dashboards/python/templates/dlp.html +0 -159
  970. package/dashboards/python/templates/domain-status.html +0 -64
  971. package/dashboards/python/templates/guardrails.html +0 -131
  972. package/dashboards/python/templates/journal.html +0 -66
  973. package/dashboards/python/templates/knowledge-contributions.html +0 -71
  974. package/dashboards/python/templates/knowledge.html +0 -69
  975. package/dashboards/python/templates/layout.html +0 -121
  976. package/dashboards/python/templates/login.html +0 -36
  977. package/dashboards/python/templates/messages.html +0 -90
  978. package/dashboards/python/templates/settings.html +0 -624
  979. package/dashboards/python/templates/skill-connections.html +0 -72
  980. package/dashboards/python/templates/skills.html +0 -89
  981. package/dashboards/python/templates/users.html +0 -70
  982. package/dashboards/python/templates/vault.html +0 -73
  983. package/dashboards/python/templates/workforce.html +0 -112
  984. package/dashboards/python/utils/__init__.py +0 -0
  985. package/dashboards/python/utils/api.py +0 -35
  986. package/dashboards/python/utils/helpers.py +0 -90
  987. package/dashboards/rails/app.rb +0 -64
  988. package/dashboards/rails/helpers/api.rb +0 -39
  989. package/dashboards/rails/helpers/auth.rb +0 -11
  990. package/dashboards/rails/helpers/view.rb +0 -95
  991. package/dashboards/rails/public/styles.css +0 -546
  992. package/dashboards/rails/routes/activity.rb +0 -10
  993. package/dashboards/rails/routes/agents.rb +0 -173
  994. package/dashboards/rails/routes/api_keys.rb +0 -30
  995. package/dashboards/rails/routes/approvals.rb +0 -10
  996. package/dashboards/rails/routes/audit.rb +0 -15
  997. package/dashboards/rails/routes/auth.rb +0 -29
  998. package/dashboards/rails/routes/community_skills.rb +0 -11
  999. package/dashboards/rails/routes/compliance.rb +0 -25
  1000. package/dashboards/rails/routes/dashboard.rb +0 -13
  1001. package/dashboards/rails/routes/dlp.rb +0 -40
  1002. package/dashboards/rails/routes/domain_status.rb +0 -16
  1003. package/dashboards/rails/routes/guardrails.rb +0 -51
  1004. package/dashboards/rails/routes/journal.rb +0 -24
  1005. package/dashboards/rails/routes/knowledge.rb +0 -11
  1006. package/dashboards/rails/routes/knowledge_contributions.rb +0 -12
  1007. package/dashboards/rails/routes/messages.rb +0 -22
  1008. package/dashboards/rails/routes/settings.rb +0 -196
  1009. package/dashboards/rails/routes/skill_connections.rb +0 -15
  1010. package/dashboards/rails/routes/skills.rb +0 -38
  1011. package/dashboards/rails/routes/users.rb +0 -18
  1012. package/dashboards/rails/routes/vault.rb +0 -37
  1013. package/dashboards/rails/routes/workforce.rb +0 -16
  1014. package/dashboards/rails/views/activity.erb +0 -56
  1015. package/dashboards/rails/views/agent_detail.erb +0 -550
  1016. package/dashboards/rails/views/agents.erb +0 -214
  1017. package/dashboards/rails/views/api_keys.erb +0 -52
  1018. package/dashboards/rails/views/approvals.erb +0 -60
  1019. package/dashboards/rails/views/audit.erb +0 -38
  1020. package/dashboards/rails/views/community_skills.erb +0 -69
  1021. package/dashboards/rails/views/compliance.erb +0 -69
  1022. package/dashboards/rails/views/dashboard.erb +0 -46
  1023. package/dashboards/rails/views/dlp.erb +0 -104
  1024. package/dashboards/rails/views/domain_status.erb +0 -75
  1025. package/dashboards/rails/views/guardrails.erb +0 -107
  1026. package/dashboards/rails/views/journal.erb +0 -65
  1027. package/dashboards/rails/views/knowledge.erb +0 -67
  1028. package/dashboards/rails/views/knowledge_contributions.erb +0 -70
  1029. package/dashboards/rails/views/layout.erb +0 -61
  1030. package/dashboards/rails/views/login.erb +0 -47
  1031. package/dashboards/rails/views/messages.erb +0 -62
  1032. package/dashboards/rails/views/settings.erb +0 -578
  1033. package/dashboards/rails/views/skill_connections.erb +0 -109
  1034. package/dashboards/rails/views/skills.erb +0 -66
  1035. package/dashboards/rails/views/users.erb +0 -53
  1036. package/dashboards/rails/views/vault.erb +0 -66
  1037. package/dashboards/rails/views/workforce.erb +0 -124
  1038. package/dashboards/ruby/app.rb +0 -74
  1039. package/dashboards/ruby/helpers/api.rb +0 -63
  1040. package/dashboards/ruby/helpers/auth.rb +0 -20
  1041. package/dashboards/ruby/helpers/view.rb +0 -91
  1042. package/dashboards/ruby/public/styles.css +0 -546
  1043. package/dashboards/ruby/routes/activity.rb +0 -10
  1044. package/dashboards/ruby/routes/agents.rb +0 -197
  1045. package/dashboards/ruby/routes/api_keys.rb +0 -43
  1046. package/dashboards/ruby/routes/approvals.rb +0 -10
  1047. package/dashboards/ruby/routes/audit.rb +0 -15
  1048. package/dashboards/ruby/routes/auth.rb +0 -29
  1049. package/dashboards/ruby/routes/community_skills.rb +0 -11
  1050. package/dashboards/ruby/routes/compliance.rb +0 -28
  1051. package/dashboards/ruby/routes/dashboard.rb +0 -13
  1052. package/dashboards/ruby/routes/dlp.rb +0 -55
  1053. package/dashboards/ruby/routes/domain_status.rb +0 -16
  1054. package/dashboards/ruby/routes/guardrails.rb +0 -77
  1055. package/dashboards/ruby/routes/journal.rb +0 -24
  1056. package/dashboards/ruby/routes/knowledge.rb +0 -11
  1057. package/dashboards/ruby/routes/knowledge_contributions.rb +0 -12
  1058. package/dashboards/ruby/routes/messages.rb +0 -27
  1059. package/dashboards/ruby/routes/settings.rb +0 -214
  1060. package/dashboards/ruby/routes/skill_connections.rb +0 -15
  1061. package/dashboards/ruby/routes/skills.rb +0 -50
  1062. package/dashboards/ruby/routes/users.rb +0 -26
  1063. package/dashboards/ruby/routes/vault.rb +0 -49
  1064. package/dashboards/ruby/routes/workforce.rb +0 -16
  1065. package/dashboards/ruby/views/activity.erb +0 -56
  1066. package/dashboards/ruby/views/agent_detail.erb +0 -550
  1067. package/dashboards/ruby/views/agents.erb +0 -214
  1068. package/dashboards/ruby/views/api_keys.erb +0 -59
  1069. package/dashboards/ruby/views/approvals.erb +0 -60
  1070. package/dashboards/ruby/views/audit.erb +0 -38
  1071. package/dashboards/ruby/views/community_skills.erb +0 -69
  1072. package/dashboards/ruby/views/compliance.erb +0 -45
  1073. package/dashboards/ruby/views/dashboard.erb +0 -46
  1074. package/dashboards/ruby/views/dlp.erb +0 -88
  1075. package/dashboards/ruby/views/domain_status.erb +0 -75
  1076. package/dashboards/ruby/views/guardrails.erb +0 -103
  1077. package/dashboards/ruby/views/journal.erb +0 -53
  1078. package/dashboards/ruby/views/knowledge.erb +0 -67
  1079. package/dashboards/ruby/views/knowledge_contributions.erb +0 -70
  1080. package/dashboards/ruby/views/layout.erb +0 -61
  1081. package/dashboards/ruby/views/login.erb +0 -31
  1082. package/dashboards/ruby/views/messages.erb +0 -51
  1083. package/dashboards/ruby/views/settings.erb +0 -579
  1084. package/dashboards/ruby/views/skill_connections.erb +0 -109
  1085. package/dashboards/ruby/views/skills.erb +0 -66
  1086. package/dashboards/ruby/views/users.erb +0 -53
  1087. package/dashboards/ruby/views/vault.erb +0 -66
  1088. package/dashboards/ruby/views/workforce.erb +0 -124
  1089. package/dashboards/shared/styles.css +0 -546
  1090. package/dashboards/shared-styles.css +0 -546
@@ -1,771 +0,0 @@
1
- /**
2
- * AgenticMail Enterprise Dashboard — Agents Routes
3
- * GET /agents, GET /agents/:id, POST /agents, POST /agents/:id/archive
4
- * POST /agents/:id/deploy, POST /agents/:id/stop, POST /agents/:id/restart
5
- */
6
-
7
- const { Router } = require('express');
8
- const { requireAuth } = require('../middleware/auth');
9
- const { apiGet, apiPost, apiPatch } = require('../utils/api');
10
- const { layout } = require('../views/layout');
11
- const { buildTable } = require('../views/components/table');
12
- const { agentCreateForm } = require('../views/components/modal');
13
- const { esc, badge, statusBadge, timeAgo } = require('../utils/helpers');
14
-
15
- const router = Router();
16
-
17
- router.get('/agents', requireAuth, async (req, res) => {
18
- const flash = req.session.flash;
19
- delete req.session.flash;
20
-
21
- const result = await apiGet('/api/agents', req.session.token);
22
- const agents = result.status === 200
23
- ? (Array.isArray(result.body.agents) ? result.body.agents : (Array.isArray(result.body) ? result.body : []))
24
- : [];
25
-
26
- const rows = agents.map(a => {
27
- const archiveBtn = (a.status || '').toLowerCase() !== 'archived'
28
- ? `<form method="post" action="/agents/${esc(a.id)}/archive" style="display:inline" onsubmit="return confirm('Archive this agent?')">
29
- <button class="btn btn-sm btn-danger" type="submit">Archive</button>
30
- </form>`
31
- : '';
32
- return [
33
- `<a href="/agents/${esc(a.id)}" style="font-weight:600;color:var(--primary)">${esc(a.name || '-')}</a>`,
34
- `<code>${esc(a.model || '-')}</code>`,
35
- statusBadge(a.status || 'active'),
36
- `<span style="color:var(--text-muted)">${timeAgo(a.created_at)}</span>`,
37
- archiveBtn,
38
- ];
39
- });
40
-
41
- const table = buildTable(
42
- ['Name', 'Model', 'Status', 'Created', 'Actions'],
43
- rows,
44
- '&#129302;',
45
- 'No agents yet. Create one above.'
46
- );
47
-
48
- const content = `
49
- <div class="page-header">
50
- <h1>Agents</h1>
51
- <p>Manage AI agents in your organization</p>
52
- </div>
53
- ${agentCreateForm()}
54
- <div class="card">
55
- <h3>All Agents (${agents.length})</h3>
56
- ${table}
57
- </div>`;
58
-
59
- res.send(layout('agents', req.session.user, content, flash));
60
- });
61
-
62
- // ─── Agent Detail Page ──────────────────────────────────────
63
-
64
- router.get('/agents/:id', requireAuth, async (req, res) => {
65
- const flash = req.session.flash;
66
- delete req.session.flash;
67
- const agentId = req.params.id;
68
-
69
- const [fullRes, adminRes, eventsRes, toolCallsRes, journalRes, toolSecRes] = await Promise.all([
70
- apiGet(`/engine/bridge/agents/${agentId}/full`, req.session.token),
71
- apiGet(`/api/agents/${agentId}`, req.session.token),
72
- apiGet(`/api/engine/activity/events?agentId=${agentId}&limit=50`, req.session.token),
73
- apiGet(`/api/engine/activity/tool-calls?agentId=${agentId}&limit=50`, req.session.token),
74
- apiGet(`/api/engine/journal?agentId=${agentId}&orgId=default&limit=50`, req.session.token),
75
- apiGet(`/engine/agents/${agentId}/tool-security`, req.session.token),
76
- ]);
77
-
78
- const fullData = fullRes.status === 200 ? fullRes.body : null;
79
- const adminData = adminRes.status === 200 ? adminRes.body : null;
80
-
81
- if (!fullData && !adminData) {
82
- req.session.flash = { message: 'Agent not found', type: 'danger' };
83
- return res.redirect('/agents');
84
- }
85
-
86
- const engineAgent = fullData ? (fullData.agent || fullData) : {};
87
- const agent = adminData || {};
88
- const config = engineAgent.config || {};
89
- const identity = config.identity || {};
90
- const profile = fullData ? (fullData.permissions || null) : null;
91
-
92
- // Resolve display values (following critical data rules)
93
- const displayName = identity.name || config.name || config.displayName || agent.name || 'Unnamed Agent';
94
- const displayEmail = identity.email || config.email || agent.email || '';
95
- const avatarInitial = (displayName || '?').charAt(0).toUpperCase();
96
- const agentRole = identity.role || config.role || agent.role || 'agent';
97
- const rawModel = config.model;
98
- const agentModel = typeof rawModel === 'string'
99
- ? rawModel
100
- : (rawModel ? (rawModel.modelId || rawModel.provider || 'unknown') : (agent.model || 'unknown'));
101
- const agentDesc = identity.description || config.description || agent.description || '';
102
- const createdAt = engineAgent.createdAt || engineAgent.created_at || agent.createdAt || agent.created_at || '';
103
- const agentState = engineAgent.state || engineAgent.status || agent.status || 'unknown';
104
-
105
- // State badge color
106
- const stateVariant = { running: 'success', active: 'success', deploying: 'warning', starting: 'warning', ready: 'primary', degraded: 'warning', error: 'danger', stopped: 'danger', draft: 'default', archived: 'danger' }[agentState] || 'default';
107
-
108
- // Personality traits
109
- const rawTraits = identity.personality_traits || identity.traits || config.personality_traits || {};
110
- let traitsHtml = '';
111
- if (rawTraits && typeof rawTraits === 'object' && !Array.isArray(rawTraits) && Object.keys(rawTraits).length > 0) {
112
- traitsHtml = Object.entries(rawTraits).map(([key, val]) =>
113
- `<span style="display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:var(--bg);border:1px solid var(--border);font-size:12px;margin:3px">
114
- <span style="color:var(--text-muted);text-transform:capitalize">${esc(key)}:</span>
115
- <span style="font-weight:600;text-transform:capitalize">${esc(String(val))}</span>
116
- </span>`
117
- ).join('');
118
- } else if (Array.isArray(rawTraits) && rawTraits.length > 0) {
119
- traitsHtml = rawTraits.map(t =>
120
- `<span style="display:inline-block;padding:4px 10px;border-radius:6px;background:var(--bg);border:1px solid var(--border);font-size:12px;font-weight:600;text-transform:capitalize;margin:3px">${esc(String(t))}</span>`
121
- ).join('');
122
- }
123
-
124
- // Personal details
125
- const gender = identity.gender || '';
126
- const dob = identity.dateOfBirth || '';
127
- const maritalStatus = identity.maritalStatus || '';
128
- const culturalBackground = identity.culturalBackground || '';
129
- const language = identity.language || '';
130
-
131
- // Permission profile summary
132
- let permissionHtml = '';
133
- if (profile) {
134
- const profileName = profile.name || profile.preset || 'Custom';
135
- const maxRisk = profile.maxRiskLevel || profile.max_risk_level || 'medium';
136
- const sandboxMode = profile.sandboxMode || profile.sandbox_mode || false;
137
- const rateLimits = profile.rateLimits || profile.rate_limits || {};
138
- const callsPerMin = rateLimits.toolCallsPerMinute || rateLimits.callsPerMinute || rateLimits.calls_per_minute || 0;
139
- const callsPerHr = rateLimits.toolCallsPerHour || rateLimits.callsPerHour || rateLimits.calls_per_hour || 0;
140
- const blockedSideEffects = profile.blockedSideEffects || profile.blocked_side_effects || [];
141
-
142
- permissionHtml = `
143
- <div class="card">
144
- <h3>Permission Profile</h3>
145
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:12px">
146
- <div>
147
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px">Profile</div>
148
- <div style="font-size:14px;font-weight:600">${esc(profileName)}</div>
149
- </div>
150
- <div>
151
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px">Max Risk Level</div>
152
- <div>${badge(maxRisk, maxRisk === 'low' ? 'success' : maxRisk === 'high' || maxRisk === 'critical' ? 'danger' : 'warning')}</div>
153
- </div>
154
- <div>
155
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px">Sandbox Mode</div>
156
- <div style="font-size:14px;font-weight:600">${sandboxMode ? 'Enabled' : 'Disabled'}</div>
157
- </div>
158
- <div>
159
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px">Rate Limits</div>
160
- <div style="font-size:13px">${callsPerMin ? callsPerMin + '/min' : ''}${callsPerMin && callsPerHr ? ', ' : ''}${callsPerHr ? callsPerHr + '/hr' : ''}${!callsPerMin && !callsPerHr ? 'None set' : ''}</div>
161
- </div>
162
- </div>
163
- ${blockedSideEffects.length > 0 ? `
164
- <div style="margin-top:12px;padding-top:12px;border-top:1px solid var(--border)">
165
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px">Blocked Side Effects</div>
166
- <div>${blockedSideEffects.map(s => `<span class="badge badge-danger" style="margin:2px">${esc(s)}</span>`).join('')}</div>
167
- </div>` : ''}
168
- </div>`;
169
- }
170
-
171
- // Build field helper
172
- const field = (label, value) => `
173
- <div style="margin-bottom:12px">
174
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px">${label}</div>
175
- <div style="font-size:14px;color:var(--text)">${value || '<span style="color:var(--text-muted)">&mdash;</span>'}</div>
176
- </div>`;
177
-
178
- // Email display: don't show raw UUIDs
179
- const isUUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
180
- const emailDisplay = displayEmail && !isUUID.test(displayEmail) ? displayEmail : '';
181
-
182
- const content = `
183
- <div class="page-header" style="margin-bottom:20px">
184
- <a href="/agents" style="font-size:13px;color:var(--primary);display:inline-flex;align-items:center;gap:4px;margin-bottom:12px">&larr; Back to Agents</a>
185
- </div>
186
-
187
- <!-- Agent Header -->
188
- <div style="display:flex;align-items:center;gap:16px;margin-bottom:24px">
189
- <div style="width:52px;height:52px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;flex-shrink:0">${esc(avatarInitial)}</div>
190
- <div style="flex:1;min-width:0">
191
- <div style="display:flex;align-items:center;gap:8px;flex-wrap:wrap">
192
- <h1 style="font-size:22px;font-weight:700;margin:0">${esc(displayName)}</h1>
193
- ${badge(agentState, stateVariant)}
194
- ${badge(agentRole, 'primary')}
195
- </div>
196
- ${emailDisplay ? `<div style="margin-top:4px;font-family:monospace;font-size:13px;color:var(--text-muted)">${esc(emailDisplay)}</div>` : ''}
197
- </div>
198
- <div style="display:flex;gap:6px;flex-shrink:0">
199
- <form method="post" action="/agents/${esc(agentId)}/deploy" style="display:inline"><button class="btn btn-primary btn-sm" type="submit">Deploy</button></form>
200
- <form method="post" action="/agents/${esc(agentId)}/stop" style="display:inline"><button class="btn btn-danger btn-sm" type="submit">Stop</button></form>
201
- <form method="post" action="/agents/${esc(agentId)}/restart" style="display:inline"><button class="btn btn-sm" type="submit">Restart</button></form>
202
- </div>
203
- </div>
204
-
205
- <!-- Summary Card -->
206
- <div class="card" style="margin-bottom:20px">
207
- <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px">
208
- <div>
209
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;font-weight:600">Status</div>
210
- ${badge(agentState, stateVariant)}
211
- </div>
212
- <div>
213
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;font-weight:600">Role</div>
214
- <span style="font-size:13px;font-weight:500;text-transform:capitalize">${esc(agentRole)}</span>
215
- </div>
216
- <div>
217
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;font-weight:600">Model</div>
218
- <code style="font-size:13px">${esc(agentModel)}</code>
219
- </div>
220
- <div>
221
- <div style="font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;font-weight:600">Created</div>
222
- <span style="font-size:13px;font-weight:500">${createdAt ? new Date(createdAt).toLocaleDateString() : '&mdash;'}</span>
223
- </div>
224
- </div>
225
- ${agentDesc ? `<div style="margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:13px;color:var(--text-dim);line-height:1.6">${esc(agentDesc)}</div>` : ''}
226
- ${traitsHtml ? `<div style="margin-top:12px;display:flex;flex-wrap:wrap;gap:4px">${traitsHtml}</div>` : ''}
227
- </div>
228
-
229
- <!-- Personal Details -->
230
- ${(gender || dob || maritalStatus || culturalBackground || language) ? `
231
- <div class="card" style="margin-bottom:20px">
232
- <h3>Personal Details</h3>
233
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:0 24px">
234
- ${field('Gender', esc(gender))}
235
- ${field('Date of Birth', esc(dob))}
236
- ${field('Marital Status', esc(maritalStatus))}
237
- ${field('Cultural Background', esc(culturalBackground))}
238
- ${field('Language', esc(language))}
239
- </div>
240
- </div>` : ''}
241
-
242
- <!-- Permission Profile -->
243
- ${permissionHtml}
244
-
245
- <!-- Tool Security -->
246
- ${(() => {
247
- const tsData = toolSecRes.status === 200 ? toolSecRes.body : {};
248
- const tsMerged = tsData.toolSecurity || {};
249
- const tsOrgDefaults = tsData.orgDefaults || {};
250
- const tsOverrides = tsData.agentOverrides || {};
251
- const tsSec = tsMerged.security || {};
252
- const tsMw = tsMerged.middleware || {};
253
- const tsPs = tsSec.pathSandbox || {};
254
- const tsSsrf = tsSec.ssrf || {};
255
- const tsCs = tsSec.commandSanitizer || {};
256
- const tsAudit = tsMw.audit || {};
257
- const tsRl = tsMw.rateLimit || {};
258
- const tsCb = tsMw.circuitBreaker || {};
259
- const tsTel = tsMw.telemetry || {};
260
- const hasOverrides = Object.keys(tsOverrides).length > 0;
261
-
262
- return `
263
- <div class="card" style="margin-bottom:20px">
264
- <div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:16px">
265
- <div>
266
- <h3 style="margin:0">Tool Security</h3>
267
- <p style="margin:4px 0 0;font-size:13px;color:var(--text-muted)">Per-agent overrides. Unmodified settings inherit from org defaults.</p>
268
- </div>
269
- ${hasOverrides ? `<form method="post" action="/agents/${esc(agentId)}/tool-security/reset" style="display:inline" onsubmit="return confirm('Reset all tool security overrides to org defaults?')">
270
- <button class="btn btn-sm" type="submit">Reset to Org Defaults</button>
271
- </form>` : ''}
272
- </div>
273
- <form method="post" action="/agents/${esc(agentId)}/tool-security">
274
-
275
- <h4 style="font-size:13px;font-weight:600;color:var(--text-muted);margin:12px 0 10px;text-transform:uppercase;letter-spacing:0.05em">Security Sandboxes</h4>
276
-
277
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px">
278
- <div style="border:1px solid var(--border);border-radius:8px;padding:14px">
279
- <div style="font-size:14px;font-weight:600;margin-bottom:4px">Path Sandbox</div>
280
- <div class="form-group" style="margin-bottom:6px">
281
- <label style="display:flex;align-items:center;gap:8px;cursor:pointer">
282
- <input type="checkbox" name="ps_enabled" ${tsPs.enabled !== false ? 'checked' : ''}>
283
- <span style="font-size:13px">Enable</span>
284
- </label>
285
- </div>
286
- <div class="form-group" style="margin-bottom:6px">
287
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Allowed Dirs (comma-separated)</label>
288
- <input type="text" name="ps_allowedDirs" value="${esc((tsPs.allowedDirs || []).join(', '))}" placeholder="/path/to/allow" style="font-family:monospace;font-size:12px">
289
- </div>
290
- <div class="form-group">
291
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Blocked Patterns (comma-separated)</label>
292
- <input type="text" name="ps_blockedPatterns" value="${esc((tsPs.blockedPatterns || []).join(', '))}" placeholder="\\.env$" style="font-family:monospace;font-size:12px">
293
- </div>
294
- </div>
295
-
296
- <div style="border:1px solid var(--border);border-radius:8px;padding:14px">
297
- <div style="font-size:14px;font-weight:600;margin-bottom:4px">SSRF Protection</div>
298
- <div class="form-group" style="margin-bottom:6px">
299
- <label style="display:flex;align-items:center;gap:8px;cursor:pointer">
300
- <input type="checkbox" name="ssrf_enabled" ${tsSsrf.enabled !== false ? 'checked' : ''}>
301
- <span style="font-size:13px">Enable</span>
302
- </label>
303
- </div>
304
- <div class="form-group" style="margin-bottom:6px">
305
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Allowed Hosts (comma-separated)</label>
306
- <input type="text" name="ssrf_allowedHosts" value="${esc((tsSsrf.allowedHosts || []).join(', '))}" placeholder="api.example.com" style="font-family:monospace;font-size:12px">
307
- </div>
308
- <div class="form-group">
309
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Blocked CIDRs (comma-separated)</label>
310
- <input type="text" name="ssrf_blockedCidrs" value="${esc((tsSsrf.blockedCidrs || []).join(', '))}" placeholder="10.0.0.0/8" style="font-family:monospace;font-size:12px">
311
- </div>
312
- </div>
313
- </div>
314
-
315
- <div style="border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:14px">
316
- <div style="font-size:14px;font-weight:600;margin-bottom:4px">Command Sanitizer</div>
317
- <div class="form-group" style="margin-bottom:6px">
318
- <label style="display:flex;align-items:center;gap:8px;cursor:pointer">
319
- <input type="checkbox" name="cs_enabled" ${tsCs.enabled !== false ? 'checked' : ''}>
320
- <span style="font-size:13px">Enable</span>
321
- </label>
322
- </div>
323
- <div class="form-group" style="margin-bottom:6px">
324
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Mode</label>
325
- <select name="cs_mode" style="width:250px">
326
- <option value="blocklist" ${(tsCs.mode || 'blocklist') === 'blocklist' ? 'selected' : ''}>Blocklist</option>
327
- <option value="allowlist" ${tsCs.mode === 'allowlist' ? 'selected' : ''}>Allowlist</option>
328
- </select>
329
- </div>
330
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px">
331
- <div class="form-group">
332
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Allowed Commands (comma-separated)</label>
333
- <input type="text" name="cs_allowedCommands" value="${esc((tsCs.allowedCommands || []).join(', '))}" placeholder="git, npm, node" style="font-family:monospace;font-size:12px">
334
- </div>
335
- <div class="form-group">
336
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Blocked Patterns (comma-separated)</label>
337
- <input type="text" name="cs_blockedPatterns" value="${esc((tsCs.blockedPatterns || []).join(', '))}" placeholder="curl.*\\|.*sh" style="font-family:monospace;font-size:12px">
338
- </div>
339
- </div>
340
- </div>
341
-
342
- <h4 style="font-size:13px;font-weight:600;color:var(--text-muted);margin:12px 0 10px;text-transform:uppercase;letter-spacing:0.05em">Middleware &amp; Observability</h4>
343
-
344
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px">
345
- <div style="border:1px solid var(--border);border-radius:8px;padding:14px">
346
- <div style="font-size:14px;font-weight:600;margin-bottom:4px">Audit Logging</div>
347
- <div class="form-group" style="margin-bottom:6px">
348
- <label style="display:flex;align-items:center;gap:8px;cursor:pointer">
349
- <input type="checkbox" name="audit_enabled" ${tsAudit.enabled !== false ? 'checked' : ''}>
350
- <span style="font-size:13px">Enable</span>
351
- </label>
352
- </div>
353
- <div class="form-group">
354
- <label style="font-size:11px;font-weight:600;color:var(--text-muted)">Keys to Redact (comma-separated)</label>
355
- <input type="text" name="audit_redactKeys" value="${esc((tsAudit.redactKeys || []).join(', '))}" placeholder="custom_secret" style="font-family:monospace;font-size:12px">
356
- </div>
357
- </div>
358
-
359
- <div style="border:1px solid var(--border);border-radius:8px;padding:14px">
360
- <div style="font-size:14px;font-weight:600;margin-bottom:4px">Rate Limiting</div>
361
- <div class="form-group">
362
- <label style="display:flex;align-items:center;gap:8px;cursor:pointer">
363
- <input type="checkbox" name="rl_enabled" ${tsRl.enabled !== false ? 'checked' : ''}>
364
- <span style="font-size:13px">Enable</span>
365
- </label>
366
- </div>
367
- </div>
368
-
369
- <div style="border:1px solid var(--border);border-radius:8px;padding:14px">
370
- <div style="font-size:14px;font-weight:600;margin-bottom:4px">Circuit Breaker</div>
371
- <div class="form-group">
372
- <label style="display:flex;align-items:center;gap:8px;cursor:pointer">
373
- <input type="checkbox" name="cb_enabled" ${tsCb.enabled !== false ? 'checked' : ''}>
374
- <span style="font-size:13px">Enable</span>
375
- </label>
376
- </div>
377
- </div>
378
-
379
- <div style="border:1px solid var(--border);border-radius:8px;padding:14px">
380
- <div style="font-size:14px;font-weight:600;margin-bottom:4px">Telemetry</div>
381
- <div class="form-group">
382
- <label style="display:flex;align-items:center;gap:8px;cursor:pointer">
383
- <input type="checkbox" name="tel_enabled" ${tsTel.enabled !== false ? 'checked' : ''}>
384
- <span style="font-size:13px">Enable</span>
385
- </label>
386
- </div>
387
- </div>
388
- </div>
389
-
390
- <button class="btn btn-primary" type="submit">Save Tool Security Overrides</button>
391
- </form>
392
- </div>`;
393
- })()}
394
-
395
- <!-- Activity Section -->
396
- ${(() => {
397
- const events = eventsRes.status === 200 && eventsRes.body ? (eventsRes.body.events || []) : [];
398
- const toolCalls = toolCallsRes.status === 200 && toolCallsRes.body ? (toolCallsRes.body.toolCalls || []) : [];
399
- const journalEntries = journalRes.status === 200 && journalRes.body ? (journalRes.body.entries || []) : [];
400
-
401
- // Build Events table rows
402
- const eventsRows = events.map((ev, i) => {
403
- const details = typeof ev.data === 'object' ? JSON.stringify(ev.data) : (ev.details || ev.data || '-');
404
- const detailsStr = typeof details === 'string' ? details : JSON.stringify(details);
405
- return `<tr style="cursor:pointer" data-activity-item='${esc(JSON.stringify(ev)).replace(/'/g, '&#39;')}'>
406
- <td style="font-size:12px;color:var(--text-muted);white-space:nowrap">${ev.timestamp || ev.createdAt ? new Date(ev.timestamp || ev.createdAt).toLocaleString() : '-'}</td>
407
- <td><span class="badge badge-info">${esc(ev.type || ev.eventType || '-')}</span></td>
408
- <td style="font-family:monospace;font-size:12px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)">${esc(detailsStr.substring(0, 200))}</td>
409
- </tr>`;
410
- }).join('');
411
-
412
- const eventsTable = events.length === 0
413
- ? '<div style="padding:40px;text-align:center;color:var(--text-muted)">No events recorded for this agent</div>'
414
- : `<table class="data-table"><thead><tr><th>Time</th><th>Type</th><th>Details</th></tr></thead><tbody>${eventsRows}</tbody></table>`;
415
-
416
- // Build Tool Calls table rows
417
- const toolCallsRows = toolCalls.map((tc, i) => {
418
- const statusClass = tc.success === true ? 'badge badge-success' : tc.success === false ? 'badge badge-danger' : 'badge badge-default';
419
- const statusLabel = tc.success === true ? 'OK' : tc.success === false ? 'Failed' : (tc.status || 'Pending');
420
- return `<tr style="cursor:pointer" data-activity-item='${esc(JSON.stringify(tc)).replace(/'/g, '&#39;')}'>
421
- <td style="font-size:12px;color:var(--text-muted);white-space:nowrap">${tc.timestamp || tc.createdAt ? new Date(tc.timestamp || tc.createdAt).toLocaleString() : '-'}</td>
422
- <td><span style="font-family:monospace;font-size:12px">${esc(tc.tool || tc.toolName || '-')}</span></td>
423
- <td>${tc.durationMs ? esc(String(tc.durationMs)) + 'ms' : '-'}</td>
424
- <td><span class="${statusClass}">${esc(statusLabel)}</span></td>
425
- </tr>`;
426
- }).join('');
427
-
428
- const toolCallsTable = toolCalls.length === 0
429
- ? '<div style="padding:40px;text-align:center;color:var(--text-muted)">No tool calls recorded for this agent</div>'
430
- : `<table class="data-table"><thead><tr><th>Time</th><th>Tool</th><th>Duration</th><th>Status</th></tr></thead><tbody>${toolCallsRows}</tbody></table>`;
431
-
432
- // Build Journal table rows
433
- const journalRows = journalEntries.map((e) => {
434
- const rollbackBtn = e.reversible && !e.reversed
435
- ? `<form method="post" action="/agents/${esc(agentId)}/journal/${esc(e.id)}/rollback" style="display:inline" onsubmit="return confirm('Rollback this journal entry?')"><button class="btn btn-ghost btn-sm" type="submit">&#8630; Rollback</button></form>`
436
- : '';
437
- return `<tr style="cursor:pointer" data-activity-item='${esc(JSON.stringify(e)).replace(/'/g, '&#39;')}' data-has-rollback="${e.reversible && !e.reversed ? '1' : '0'}">
438
- <td style="font-size:12px;color:var(--text-muted);white-space:nowrap">${e.createdAt ? new Date(e.createdAt).toLocaleString() : '-'}</td>
439
- <td>${esc(e.toolName || e.toolId || '-')}</td>
440
- <td><span class="badge badge-default">${esc(e.actionType || '-')}</span></td>
441
- <td>${e.reversible ? '&#9989;' : '&#10060;'}</td>
442
- <td>${e.reversed
443
- ? '<span class="badge badge-warning">Rolled Back</span>'
444
- : '<span class="badge badge-success">Active</span>'}</td>
445
- <td onclick="event.stopPropagation()">${rollbackBtn}</td>
446
- </tr>`;
447
- }).join('');
448
-
449
- const journalTable = journalEntries.length === 0
450
- ? '<div style="padding:40px;text-align:center;color:var(--text-muted)">No journal entries for this agent</div>'
451
- : `<table class="data-table"><thead><tr><th>Time</th><th>Tool</th><th>Action Type</th><th>Reversible</th><th>Status</th><th>Actions</th></tr></thead><tbody>${journalRows}</tbody></table>`;
452
-
453
- return `
454
- <div class="card" style="margin-top:20px">
455
- <div style="display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)">
456
- <h3 style="margin:0;font-size:15px;font-weight:600">Activity</h3>
457
- </div>
458
- <div style="border-bottom:1px solid var(--border)">
459
- <div class="tabs" style="padding:0 16px">
460
- <div class="tab active" data-activity-tab="events" onclick="switchActivityTab('events')">Events</div>
461
- <div class="tab" data-activity-tab="tools" onclick="switchActivityTab('tools')">Tool Calls</div>
462
- <div class="tab" data-activity-tab="journal" onclick="switchActivityTab('journal')">Journal</div>
463
- </div>
464
- </div>
465
- <div>
466
- <div id="activity-tab-events">${eventsTable}</div>
467
- <div id="activity-tab-tools" style="display:none">${toolCallsTable}</div>
468
- <div id="activity-tab-journal" style="display:none">${journalTable}</div>
469
- </div>
470
- </div>
471
-
472
- <!-- Activity Detail Modal -->
473
- <div id="activity-detail-modal" style="display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:1000;align-items:center;justify-content:center">
474
- <div style="background:var(--card-bg,#fff);border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.3)">
475
- <div style="display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)">
476
- <h2 style="margin:0;font-size:16px;font-weight:600" id="activity-modal-title">Detail</h2>
477
- <button class="btn btn-ghost btn-sm" onclick="closeActivityModal()" style="font-size:18px;line-height:1;padding:4px 8px">&times;</button>
478
- </div>
479
- <div style="padding:20px" id="activity-modal-body"></div>
480
- </div>
481
- </div>
482
-
483
- <script>
484
- function switchActivityTab(tab) {
485
- var tabs = ['events', 'tools', 'journal'];
486
- tabs.forEach(function(t) {
487
- var panel = document.getElementById('activity-tab-' + t);
488
- var tabEl = document.querySelector('[data-activity-tab="' + t + '"]');
489
- if (t === tab) {
490
- panel.style.display = '';
491
- tabEl.classList.add('active');
492
- } else {
493
- panel.style.display = 'none';
494
- tabEl.classList.remove('active');
495
- }
496
- });
497
- }
498
-
499
- function humanizeKey(key) {
500
- return key.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/_/g, ' ').replace(/\\b\\w/g, function(c) { return c.toUpperCase(); });
501
- }
502
-
503
- function escHtml(s) {
504
- var d = document.createElement('div');
505
- d.textContent = String(s);
506
- return d.innerHTML;
507
- }
508
-
509
- function formatValue(key, value) {
510
- if (value == null || value === '') return '<span style="color:var(--text-muted);font-size:12px">&mdash;</span>';
511
- if (typeof value === 'boolean') {
512
- return '<span class="badge badge-' + (value ? 'success' : 'default') + '" style="font-size:11px">' + (value ? 'Yes' : 'No') + '</span>';
513
- }
514
- var lk = key.toLowerCase();
515
- if (typeof value === 'string' && (lk.indexOf('at') !== -1 || lk.indexOf('time') !== -1 || lk.indexOf('date') !== -1) && !isNaN(Date.parse(value))) {
516
- return '<span style="font-size:13px">' + new Date(value).toLocaleString() + '</span>';
517
- }
518
- if (Array.isArray(value)) {
519
- if (value.length === 0) return '<span style="color:var(--text-muted);font-size:12px">None</span>';
520
- if (value.every(function(v) { return typeof v === 'string' || typeof v === 'number'; })) {
521
- return value.map(function(v) { return '<span class="badge badge-default" style="font-size:11px;margin:2px">' + escHtml(v) + '</span>'; }).join(' ');
522
- }
523
- return '<pre style="font-size:11px;font-family:monospace;background:var(--bg-secondary,#f5f5f5);padding:8px 10px;border-radius:6px;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto;margin:0">' + escHtml(JSON.stringify(value, null, 2)) + '</pre>';
524
- }
525
- if (typeof value === 'object') {
526
- var entries = Object.entries(value);
527
- if (entries.length === 0) return '<span style="color:var(--text-muted);font-size:12px">{}</span>';
528
- if (entries.length <= 4 && entries.every(function(e) { return typeof e[1] !== 'object' || e[1] === null; })) {
529
- return entries.map(function(e) { return '<span style="font-size:12px;font-family:monospace;background:var(--bg-secondary,#f5f5f5);padding:2px 6px;border-radius:4px;margin:2px">' + escHtml(e[0]) + ': ' + escHtml(String(e[1] == null ? '\\u2014' : e[1])) + '</span>'; }).join(' ');
530
- }
531
- return '<pre style="font-size:11px;font-family:monospace;background:var(--bg-secondary,#f5f5f5);padding:8px 10px;border-radius:6px;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto;margin:0">' + escHtml(JSON.stringify(value, null, 2)) + '</pre>';
532
- }
533
- if (typeof value === 'string' && /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value)) {
534
- return '<span style="font-size:12px;font-family:monospace;background:var(--bg-secondary,#f5f5f5);padding:2px 6px;border-radius:4px">' + escHtml(value) + '</span>';
535
- }
536
- if (typeof value === 'string' && value.length > 120) {
537
- return '<pre style="font-size:11px;font-family:monospace;background:var(--bg-secondary,#f5f5f5);padding:8px 10px;border-radius:6px;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto;margin:0">' + escHtml(value) + '</pre>';
538
- }
539
- return '<span style="font-size:13px">' + escHtml(String(value)) + '</span>';
540
- }
541
-
542
- function showActivityDetail(item, title) {
543
- var modal = document.getElementById('activity-detail-modal');
544
- var modalTitle = document.getElementById('activity-modal-title');
545
- var modalBody = document.getElementById('activity-modal-body');
546
- modalTitle.textContent = title || 'Detail';
547
- var exclude = ['agentId'];
548
- var entries = Object.entries(item).filter(function(e) { return exclude.indexOf(e[0]) === -1; });
549
- if (entries.length === 0) {
550
- modalBody.innerHTML = '<div style="text-align:center;padding:20px;color:var(--text-muted)">No data</div>';
551
- } else {
552
- var typeLabel = item.type || item.eventType || item.tool || item.toolName || item.actionType || 'Detail';
553
- var badgeHtml = '<div style="margin-bottom:16px"><span class="badge badge-info" style="font-size:11px">' + escHtml(typeLabel) + '</span></div>';
554
- var gridHtml = '<div style="display:grid;grid-template-columns:140px 1fr;gap:12px 16px;align-items:start">';
555
- entries.forEach(function(e) {
556
- gridHtml += '<div style="font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em">' + escHtml(humanizeKey(e[0])) + '</div>';
557
- gridHtml += '<div>' + formatValue(e[0], e[1]) + '</div>';
558
- });
559
- gridHtml += '</div>';
560
- modalBody.innerHTML = badgeHtml + gridHtml;
561
- }
562
- modal.style.display = 'flex';
563
- }
564
-
565
- function closeActivityModal() {
566
- document.getElementById('activity-detail-modal').style.display = 'none';
567
- }
568
-
569
- // Close modal on overlay click
570
- document.getElementById('activity-detail-modal').addEventListener('click', function(e) {
571
- if (e.target === this) closeActivityModal();
572
- });
573
-
574
- // Close modal on Escape key
575
- document.addEventListener('keydown', function(e) {
576
- if (e.key === 'Escape') closeActivityModal();
577
- });
578
-
579
- // Bind clickable rows
580
- document.querySelectorAll('[data-activity-item]').forEach(function(row) {
581
- row.addEventListener('click', function(e) {
582
- if (e.target.closest('form') || e.target.closest('button')) return;
583
- try {
584
- var item = JSON.parse(row.getAttribute('data-activity-item'));
585
- var activeTab = document.querySelector('[data-activity-tab].active');
586
- var tabName = activeTab ? activeTab.getAttribute('data-activity-tab') : 'events';
587
- var title = tabName === 'events' ? 'Event Detail' : tabName === 'tools' ? 'Tool Call Detail' : 'Journal Entry Detail';
588
- showActivityDetail(item, title);
589
- } catch(err) { console.error('Failed to parse activity item', err); }
590
- });
591
- });
592
- </script>`;
593
- })()}
594
- `;
595
-
596
- res.send(layout('agents', req.session.user, content, flash));
597
- });
598
-
599
- // ─── Agent Actions (Deploy, Stop, Restart) ──────────────────
600
-
601
- router.post('/agents/:id/deploy', requireAuth, async (req, res) => {
602
- const result = await apiPost(`/engine/agents/${req.params.id}/deploy`, req.session.token, { by: 'dashboard' });
603
- if (result.status < 300) {
604
- req.session.flash = { message: 'Deploy initiated', type: 'success' };
605
- } else {
606
- req.session.flash = { message: (result.body && result.body.error) || 'Failed to deploy agent', type: 'danger' };
607
- }
608
- res.redirect(`/agents/${req.params.id}`);
609
- });
610
-
611
- router.post('/agents/:id/stop', requireAuth, async (req, res) => {
612
- const result = await apiPost(`/engine/agents/${req.params.id}/stop`, req.session.token, { by: 'dashboard' });
613
- if (result.status < 300) {
614
- req.session.flash = { message: 'Stop initiated', type: 'success' };
615
- } else {
616
- req.session.flash = { message: (result.body && result.body.error) || 'Failed to stop agent', type: 'danger' };
617
- }
618
- res.redirect(`/agents/${req.params.id}`);
619
- });
620
-
621
- router.post('/agents/:id/restart', requireAuth, async (req, res) => {
622
- const result = await apiPost(`/engine/agents/${req.params.id}/restart`, req.session.token, { by: 'dashboard' });
623
- if (result.status < 300) {
624
- req.session.flash = { message: 'Restart initiated', type: 'success' };
625
- } else {
626
- req.session.flash = { message: (result.body && result.body.error) || 'Failed to restart agent', type: 'danger' };
627
- }
628
- res.redirect(`/agents/${req.params.id}`);
629
- });
630
-
631
- // ─── Agent Tool Security ──────────────────────────────────
632
-
633
- function splitComma(val) {
634
- if (!val || !val.trim()) return [];
635
- return val.split(',').map(s => s.trim()).filter(Boolean);
636
- }
637
-
638
- router.post('/agents/:id/tool-security', requireAuth, async (req, res) => {
639
- const agentId = req.params.id;
640
- const payload = {
641
- toolSecurity: {
642
- security: {
643
- pathSandbox: {
644
- enabled: req.body.ps_enabled === 'on',
645
- allowedDirs: splitComma(req.body.ps_allowedDirs),
646
- blockedPatterns: splitComma(req.body.ps_blockedPatterns),
647
- },
648
- ssrf: {
649
- enabled: req.body.ssrf_enabled === 'on',
650
- allowedHosts: splitComma(req.body.ssrf_allowedHosts),
651
- blockedCidrs: splitComma(req.body.ssrf_blockedCidrs),
652
- },
653
- commandSanitizer: {
654
- enabled: req.body.cs_enabled === 'on',
655
- mode: req.body.cs_mode || 'blocklist',
656
- allowedCommands: splitComma(req.body.cs_allowedCommands),
657
- blockedPatterns: splitComma(req.body.cs_blockedPatterns),
658
- },
659
- },
660
- middleware: {
661
- audit: {
662
- enabled: req.body.audit_enabled === 'on',
663
- redactKeys: splitComma(req.body.audit_redactKeys),
664
- },
665
- rateLimit: {
666
- enabled: req.body.rl_enabled === 'on',
667
- overrides: {},
668
- },
669
- circuitBreaker: {
670
- enabled: req.body.cb_enabled === 'on',
671
- },
672
- telemetry: {
673
- enabled: req.body.tel_enabled === 'on',
674
- },
675
- },
676
- },
677
- updatedBy: 'dashboard',
678
- };
679
-
680
- const result = await apiPatch(`/engine/agents/${agentId}/tool-security`, req.session.token, payload);
681
-
682
- if (result.status < 300) {
683
- req.session.flash = { message: 'Agent tool security saved', type: 'success' };
684
- } else {
685
- req.session.flash = { message: (result.body && result.body.error) || 'Failed to save tool security', type: 'danger' };
686
- }
687
- res.redirect(`/agents/${agentId}`);
688
- });
689
-
690
- router.post('/agents/:id/tool-security/reset', requireAuth, async (req, res) => {
691
- const agentId = req.params.id;
692
- const result = await apiPatch(`/engine/agents/${agentId}/tool-security`, req.session.token, {
693
- toolSecurity: {},
694
- updatedBy: 'dashboard',
695
- });
696
-
697
- if (result.status < 300) {
698
- req.session.flash = { message: 'Tool security reset to org defaults', type: 'success' };
699
- } else {
700
- req.session.flash = { message: (result.body && result.body.error) || 'Failed to reset tool security', type: 'danger' };
701
- }
702
- res.redirect(`/agents/${agentId}`);
703
- });
704
-
705
- router.post('/agents/:id/journal/:journalId/rollback', requireAuth, async (req, res) => {
706
- const result = await apiPost(`/api/engine/journal/${req.params.journalId}/rollback`, req.session.token, {});
707
- if (result.status < 300 && result.body && result.body.success) {
708
- req.session.flash = { message: 'Action rolled back', type: 'success' };
709
- } else {
710
- req.session.flash = { message: (result.body && result.body.error) || 'Rollback failed', type: 'danger' };
711
- }
712
- res.redirect(`/agents/${req.params.id}`);
713
- });
714
-
715
- // ─── Provider Models API Proxy ──────────────────────────────
716
- router.get('/api/providers/:providerId/models', requireAuth, async (req, res) => {
717
- const result = await apiGet(`/api/providers/${req.params.providerId}/models`, req.session.token);
718
- res.json(result.body || { models: [] });
719
- });
720
-
721
- router.post('/agents', requireAuth, async (req, res) => {
722
- const agentBody = {
723
- name: req.body.name,
724
- description: req.body.description,
725
- model: req.body.model,
726
- provider: req.body.provider || 'anthropic',
727
- persona: {
728
- gender: req.body.gender || undefined,
729
- dateOfBirth: req.body.date_of_birth || undefined,
730
- maritalStatus: req.body.marital_status || undefined,
731
- culturalBackground: req.body.cultural_background || undefined,
732
- language: req.body.language || undefined,
733
- traits: {
734
- communication: req.body.trait_communication || 'direct',
735
- detail: req.body.trait_detail || 'detail-oriented',
736
- energy: req.body.trait_energy || 'calm',
737
- humor: req.body.humor || 'warm',
738
- formality: req.body.formality || 'adaptive',
739
- empathy: req.body.empathy || 'moderate',
740
- patience: req.body.patience || 'patient',
741
- creativity: req.body.creativity || 'creative',
742
- },
743
- },
744
- };
745
- if (req.body.soulId) {
746
- agentBody.soulId = req.body.soulId;
747
- }
748
- const result = await apiPost('/api/agents', req.session.token, agentBody);
749
-
750
- if (result.status < 300) {
751
- req.session.flash = { message: 'Agent created', type: 'success' };
752
- } else {
753
- req.session.flash = { message: (result.body && result.body.error) || 'Failed to create agent', type: 'danger' };
754
- }
755
- res.redirect('/agents');
756
- });
757
-
758
- router.post('/agents/:id/archive', requireAuth, async (req, res) => {
759
- const result = await apiPatch(`/api/agents/${req.params.id}`, req.session.token, {
760
- status: 'archived',
761
- });
762
-
763
- if (result.status < 300) {
764
- req.session.flash = { message: 'Agent archived', type: 'success' };
765
- } else {
766
- req.session.flash = { message: (result.body && result.body.error) || 'Failed to archive agent', type: 'danger' };
767
- }
768
- res.redirect('/agents');
769
- });
770
-
771
- module.exports = router;