@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,790 +0,0 @@
1
- package handlers
2
-
3
- import (
4
- "agenticmail-dashboard/services"
5
- "agenticmail-dashboard/templates"
6
- "encoding/json"
7
- "fmt"
8
- "html"
9
- "net/http"
10
- "strings"
11
- )
12
-
13
- // resolveAgentName returns the display name using the priority:
14
- // identity.name > config.name > config.displayName > agent.name
15
- func resolveAgentName(a map[string]interface{}) string {
16
- if identity, ok := a["identity"].(map[string]interface{}); ok {
17
- if v := templates.StrVal(identity, "name"); v != "" {
18
- return v
19
- }
20
- }
21
- if config, ok := a["config"].(map[string]interface{}); ok {
22
- if v := templates.StrVal(config, "name"); v != "" {
23
- return v
24
- }
25
- if v := templates.StrVal(config, "displayName"); v != "" {
26
- return v
27
- }
28
- }
29
- return templates.StrVal(a, "name")
30
- }
31
-
32
- // resolveAgentEmail returns the email using the priority:
33
- // identity.email > config.email > agent.email, skipping UUIDs.
34
- func resolveAgentEmail(a map[string]interface{}) string {
35
- if identity, ok := a["identity"].(map[string]interface{}); ok {
36
- if v := templates.StrVal(identity, "email"); v != "" && strings.Contains(v, "@") {
37
- return v
38
- }
39
- }
40
- if config, ok := a["config"].(map[string]interface{}); ok {
41
- if v := templates.StrVal(config, "email"); v != "" && strings.Contains(v, "@") {
42
- return v
43
- }
44
- }
45
- if v := templates.StrVal(a, "email"); v != "" && strings.Contains(v, "@") {
46
- return v
47
- }
48
- return ""
49
- }
50
-
51
- // resolveModel extracts a display-friendly model string. If config.model is a map,
52
- // use its modelId or provider field instead of rendering the raw map.
53
- func resolveModel(a map[string]interface{}) string {
54
- if config, ok := a["config"].(map[string]interface{}); ok {
55
- switch m := config["model"].(type) {
56
- case string:
57
- return m
58
- case map[string]interface{}:
59
- if v := templates.StrVal(m, "modelId"); v != "" {
60
- return v
61
- }
62
- if v := templates.StrVal(m, "provider"); v != "" {
63
- return v
64
- }
65
- }
66
- }
67
- return templates.StrVal(a, "model")
68
- }
69
-
70
- // HandleAgents handles the agents list page (GET), agent creation (POST),
71
- // and agent archiving (POST to /agents/{id}/archive).
72
- func HandleAgents(w http.ResponseWriter, r *http.Request) {
73
- s := services.GetSession(r)
74
-
75
- // Handle archive
76
- if strings.Contains(r.URL.Path, "/archive") {
77
- parts := strings.Split(r.URL.Path, "/")
78
- if len(parts) >= 3 {
79
- services.APICall("/api/agents/"+parts[2]+"/archive", "POST", s.Token, nil)
80
- }
81
- http.Redirect(w, r, "/agents", http.StatusFound)
82
- return
83
- }
84
-
85
- // Handle engine actions: deploy, stop, restart
86
- if strings.HasSuffix(r.URL.Path, "/deploy") || strings.HasSuffix(r.URL.Path, "/stop") || strings.HasSuffix(r.URL.Path, "/restart") {
87
- parts := strings.Split(r.URL.Path, "/")
88
- if len(parts) >= 3 {
89
- action := parts[len(parts)-1]
90
- services.APICall("/engine/agents/"+parts[2]+"/"+action, "POST", s.Token, nil)
91
- }
92
- http.Redirect(w, r, r.Header.Get("Referer"), http.StatusFound)
93
- return
94
- }
95
-
96
- // Agent detail page: GET /agents/{id} (no trailing segments)
97
- pathParts := strings.Split(strings.Trim(r.URL.Path, "/"), "/")
98
- if len(pathParts) == 2 && pathParts[0] == "agents" && pathParts[1] != "" {
99
- handleAgentDetail(w, r, s, pathParts[1])
100
- return
101
- }
102
-
103
- // Handle create
104
- if r.Method == "POST" {
105
- r.ParseForm()
106
- provider := r.FormValue("provider")
107
- if provider == "" {
108
- provider = "anthropic"
109
- }
110
- model := r.FormValue("model")
111
- body := map[string]interface{}{
112
- "name": r.FormValue("name"),
113
- "role": r.FormValue("role"),
114
- "provider": provider,
115
- "model": model,
116
- "persona": map[string]interface{}{
117
- "gender": r.FormValue("gender"),
118
- "dateOfBirth": r.FormValue("date_of_birth"),
119
- "maritalStatus": r.FormValue("marital_status"),
120
- "culturalBackground": r.FormValue("cultural_background"),
121
- "language": r.FormValue("language"),
122
- "traits": map[string]string{
123
- "communication": r.FormValue("trait_communication"),
124
- "detail": r.FormValue("trait_detail"),
125
- "energy": r.FormValue("trait_energy"),
126
- "humor": r.FormValue("humor"),
127
- "formality": r.FormValue("formality"),
128
- "empathy": r.FormValue("empathy"),
129
- "patience": r.FormValue("patience"),
130
- "creativity": r.FormValue("creativity"),
131
- },
132
- },
133
- }
134
- if email := r.FormValue("email"); email != "" {
135
- body["email"] = email
136
- }
137
- if soulID := r.FormValue("soul_id"); soulID != "" {
138
- body["soul_id"] = soulID
139
- }
140
- services.APICall("/api/agents", "POST", s.Token, body)
141
- http.Redirect(w, r, "/agents", http.StatusFound)
142
- return
143
- }
144
-
145
- data, _ := services.APICall("/api/agents", "GET", s.Token, nil)
146
- var tableHTML string
147
- if agents, ok := data["agents"].([]interface{}); ok && len(agents) > 0 {
148
- rows := ""
149
- for _, ag := range agents {
150
- a := ag.(map[string]interface{})
151
- archiveBtn := ""
152
- if templates.StrVal(a, "status") == "active" {
153
- archiveBtn = fmt.Sprintf(`<a class="btn btn-sm btn-d" href="/agents/%s/archive">Archive</a>`, templates.Esc(a["id"]))
154
- }
155
- displayName := resolveAgentName(a)
156
- displayEmail := resolveAgentEmail(a)
157
- rows += fmt.Sprintf(`<tr><td style="font-weight:600"><a href="/agents/%s" style="color:var(--primary);text-decoration:none">%s</a></td><td style="color:var(--dim)">%s</td><td>%s</td><td>%s</td><td>%s</td></tr>`,
158
- templates.Esc(a["id"]), templates.Esc(displayName), templates.Esc(displayEmail), templates.Esc(a["role"]), templates.Badge(templates.StrVal(a, "status")), archiveBtn)
159
- }
160
- tableHTML = `<table><thead><tr><th>Name</th><th>Email</th><th>Role</th><th>Status</th><th></th></tr></thead><tbody>` + rows + `</tbody></table>`
161
- } else {
162
- tableHTML = `<div class="empty"><div class="empty-i">🤖</div>No agents yet</div>`
163
- }
164
-
165
- content := fmt.Sprintf(`<h2 class="t">Agents</h2><p class="desc">Manage AI agent identities</p>
166
- <div class="card" style="margin-bottom:16px"><div class="ct">Create Agent</div>
167
- <form method="POST" action="/agents" style="display:flex;gap:10px;align-items:end;flex-wrap:wrap">
168
- <div class="fg" style="flex:1;min-width:160px;margin:0"><label class="fl">Name</label><input class="input" name="name" required placeholder="e.g. researcher"></div>
169
- <div class="fg" style="margin:0"><label class="fl">Provider</label><select class="input" name="provider" id="agent-provider"><option value="anthropic">Anthropic</option><option value="openai">OpenAI</option><option value="google">Google</option><option value="deepseek">DeepSeek</option><option value="xai">xAI (Grok)</option><option value="mistral">Mistral</option><option value="groq">Groq</option><option value="together">Together</option><option value="fireworks">Fireworks</option><option value="moonshot">Moonshot (Kimi)</option><option value="cerebras">Cerebras</option><option value="openrouter">OpenRouter</option><option value="ollama">Ollama (Local)</option><option value="vllm">vLLM (Local)</option><option value="lmstudio">LM Studio (Local)</option><option value="litellm">LiteLLM (Local)</option></select></div>
170
- <div class="fg" style="margin:0"><label class="fl">Model</label><select class="input" name="model" id="agent-model"><option value="">Loading models...</option></select></div>
171
- <div class="fg" style="margin:0"><label class="fl">Role</label><select class="input" name="role"><option>assistant</option><option>researcher</option><option>writer</option><option>secretary</option></select></div>
172
- <div class="fg" style="margin:0"><label class="fl">Role Template</label><select class="input" name="soul_id">
173
- <option value="">Custom (no template)</option>
174
- <optgroup label="Support">
175
- <option value="customer-support-lead">Customer Support Lead</option>
176
- <option value="technical-support-engineer">Technical Support Engineer</option>
177
- <option value="customer-success-manager">Customer Success Manager</option>
178
- </optgroup>
179
- <optgroup label="Sales">
180
- <option value="sales-development-rep">Sales Development Rep</option>
181
- <option value="account-executive">Account Executive</option>
182
- </optgroup>
183
- <optgroup label="Engineering">
184
- <option value="senior-software-engineer">Senior Software Engineer</option>
185
- <option value="devops-engineer">DevOps Engineer</option>
186
- <option value="qa-engineer">QA Engineer</option>
187
- </optgroup>
188
- <optgroup label="Operations">
189
- <option value="executive-assistant">Executive Assistant</option>
190
- <option value="project-coordinator">Project Coordinator</option>
191
- </optgroup>
192
- <optgroup label="Marketing">
193
- <option value="content-writer">Content Writer</option>
194
- <option value="social-media-manager">Social Media Manager</option>
195
- </optgroup>
196
- <optgroup label="Finance">
197
- <option value="financial-controller">Financial Controller</option>
198
- <option value="expense-auditor">Expense Auditor</option>
199
- </optgroup>
200
- <optgroup label="Legal">
201
- <option value="legal-compliance-officer">Legal Compliance Officer</option>
202
- <option value="contract-reviewer">Contract Reviewer</option>
203
- </optgroup>
204
- <optgroup label="Security">
205
- <option value="security-analyst">Security Analyst</option>
206
- <option value="compliance-auditor">Compliance Auditor</option>
207
- </optgroup>
208
- </select></div>
209
- <fieldset class="persona-fieldset"><legend>Persona (optional)</legend>
210
- <div class='form-row'><div class='form-group'><label>Date of Birth</label><input type='date' name='date_of_birth' id='date_of_birth'></div></div>
211
- <div class="form-row"><div class="form-group"><label>Gender</label><select name="gender"><option value="">Not specified</option><option value="male">Male</option><option value="female">Female</option><option value="non-binary">Non-binary</option></select></div></div>
212
- <div class="form-row"><div class="form-group"><label>Marital Status</label><select name="marital_status"><option value="">Not specified</option><option value="single">Single</option><option value="married">Married</option><option value="divorced">Divorced</option></select></div><div class="form-group"><label>Cultural Background</label><select name="cultural_background"><option value="">Not specified</option><option value="north-american">North American</option><option value="british-european">British / European</option><option value="latin-american">Latin American</option><option value="middle-eastern">Middle Eastern</option><option value="east-asian">East Asian</option><option value="south-asian">South Asian</option><option value="southeast-asian">Southeast Asian</option><option value="african">African</option><option value="caribbean">Caribbean</option><option value="australian-pacific">Australian / Pacific</option></select></div></div>
213
- <div class="form-row"><div class="form-group"><label>Language</label><select name="language"><option value="en-us">English (American)</option><option value="en-gb">English (British)</option><option value="en-au">English (Australian)</option><option value="es">Spanish</option><option value="pt">Portuguese</option><option value="fr">French</option><option value="de">German</option><option value="ja">Japanese</option><option value="ko">Korean</option><option value="zh">Mandarin</option><option value="hi">Hindi</option><option value="ar">Arabic</option><option value='yo'>Yoruba</option><option value='ig'>Igbo</option><option value='sw'>Swahili</option><option value='it'>Italian</option><option value='nl'>Dutch</option><option value='ru'>Russian</option><option value='tr'>Turkish</option><option value='pl'>Polish</option><option value='th'>Thai</option><option value='vi'>Vietnamese</option><option value='id'>Indonesian</option><option value='ms'>Malay</option><option value='tl'>Filipino (Tagalog)</option></select></div><div class="form-group"><label>Communication Style</label><select name="trait_communication"><option value="direct">Direct</option><option value="diplomatic">Diplomatic</option></select></div></div>
214
- <div class="form-row"><div class="form-group"><label>Detail Level</label><select name="trait_detail"><option value="detail-oriented">Detail-oriented</option><option value="big-picture">Big-picture</option></select></div><div class="form-group"><label>Energy</label><select name="trait_energy"><option value="calm">Calm &amp; measured</option><option value="enthusiastic">Enthusiastic</option></select></div></div>
215
- <div class='form-group'><label>Humor</label><select name='humor' id='humor'><option value='witty'>Witty</option><option value='dry'>Dry</option><option value='warm' selected>Warm</option><option value='none'>None</option></select></div>
216
- <div class='form-group'><label>Formality</label><select name='formality' id='formality'><option value='formal'>Formal</option><option value='casual'>Casual</option><option value='adaptive' selected>Adaptive</option></select></div>
217
- <div class='form-group'><label>Empathy</label><select name='empathy' id='empathy'><option value='high'>High</option><option value='moderate' selected>Moderate</option><option value='reserved'>Reserved</option></select></div>
218
- <div class='form-group'><label>Patience</label><select name='patience' id='patience'><option value='patient' selected>Patient</option><option value='efficient'>Efficient</option></select></div>
219
- <div class='form-group'><label>Creativity</label><select name='creativity' id='creativity'><option value='creative' selected>Creative</option><option value='conventional'>Conventional</option></select></div>
220
- </fieldset>
221
- <button class="btn btn-p" type="submit">Create</button></form></div>
222
- <script>
223
- function loadModels(provider){var sel=document.getElementById('agent-model');if(!sel)return;fetch('/api/providers/'+provider+'/models').then(function(r){return r.json()}).then(function(d){sel.innerHTML='';(d.models||[]).forEach(function(m){var o=document.createElement('option');o.value=m.id;o.textContent=m.name||m.id;sel.appendChild(o)});var c=document.createElement('option');c.value='custom';c.textContent='Custom (enter manually)';sel.appendChild(c)}).catch(function(){sel.innerHTML='<option value="">Type model ID</option>'})}
224
- var provSel=document.getElementById('agent-provider');if(provSel){provSel.addEventListener('change',function(){loadModels(this.value)});loadModels(provSel.value||'anthropic')}
225
- </script>
226
- <div class="card">%s</div>`, tableHTML)
227
-
228
- w.Header().Set("Content-Type", "text/html")
229
- fmt.Fprint(w, templates.Layout("agents", s.User, content))
230
- }
231
-
232
- // handleAgentDetail renders the agent detail page for GET /agents/{id}.
233
- func handleAgentDetail(w http.ResponseWriter, r *http.Request, s *services.Session, id string) {
234
- data, _ := services.APICall("/api/agents/"+id, "GET", s.Token, nil)
235
- if data == nil {
236
- http.Redirect(w, r, "/agents", http.StatusFound)
237
- return
238
- }
239
-
240
- // The API may return the agent at top level or nested under "agent"
241
- a := data
242
- if agent, ok := data["agent"].(map[string]interface{}); ok {
243
- a = agent
244
- }
245
-
246
- displayName := resolveAgentName(a)
247
- if displayName == "" {
248
- displayName = "Unnamed Agent"
249
- }
250
- email := resolveAgentEmail(a)
251
- status := templates.StrVal(a, "status")
252
- if status == "" {
253
- status = "active"
254
- }
255
- role := templates.StrVal(a, "role")
256
- if role == "" {
257
- role = "agent"
258
- }
259
- model := resolveModel(a)
260
- if model == "" {
261
- model = "-"
262
- }
263
- created := templates.StrVal(a, "created_at")
264
- description := templates.StrVal(a, "description")
265
-
266
- // Avatar initial
267
- initial := strings.ToUpper(string([]rune(displayName)[0]))
268
-
269
- // Persona / config
270
- persona := map[string]interface{}{}
271
- if p, ok := a["persona"].(map[string]interface{}); ok {
272
- persona = p
273
- }
274
- config := map[string]interface{}{}
275
- if c, ok := a["config"].(map[string]interface{}); ok {
276
- config = c
277
- }
278
-
279
- // Build header
280
- content := fmt.Sprintf(`<div style="margin-bottom:24px"><a href="/agents" style="color:var(--primary);text-decoration:none;font-size:13px">&larr; Back to Agents</a></div>
281
- <div style="display:flex;align-items:center;gap:16px;margin-bottom:24px">
282
- <div style="width:56px;height:56px;border-radius:50%%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700">%s</div>
283
- <div><h2 class="t" style="margin-bottom:4px">%s</h2>
284
- <div style="display:flex;gap:8px;align-items:center;flex-wrap:wrap">%s %s`,
285
- templates.Esc(initial), templates.Esc(displayName), templates.Badge(status), templates.Badge(role))
286
-
287
- if email != "" {
288
- content += fmt.Sprintf(` <span style="color:var(--dim);font-size:13px">%s</span>`, templates.Esc(email))
289
- }
290
- content += `</div></div></div>`
291
-
292
- // Summary card
293
- content += fmt.Sprintf(`<div class="card" style="margin-bottom:16px"><div class="ct">Summary</div>
294
- <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px">
295
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Status</div><div style="margin-top:4px">%s</div></div>
296
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Role</div><div style="margin-top:4px">%s</div></div>
297
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Model</div><div style="margin-top:4px"><code>%s</code></div></div>
298
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Created</div><div style="margin-top:4px;font-size:13px;color:var(--dim)">%s</div></div>
299
- </div></div>`,
300
- templates.Badge(status), templates.Badge(role), templates.Esc(model), templates.Esc(created))
301
-
302
- // Description
303
- if description != "" {
304
- content += fmt.Sprintf(`<div class="card" style="margin-bottom:16px"><div class="ct">Description</div><p style="font-size:14px;color:var(--dim);line-height:1.6">%s</p></div>`, templates.Esc(description))
305
- }
306
-
307
- // Personality traits
308
- traits := map[string]interface{}{}
309
- if t, ok := persona["traits"].(map[string]interface{}); ok {
310
- traits = t
311
- } else if t, ok := config["traits"].(map[string]interface{}); ok {
312
- traits = t
313
- }
314
- if len(traits) > 0 {
315
- chips := ""
316
- for k, v := range traits {
317
- val := fmt.Sprintf("%v", v)
318
- if val != "" {
319
- chips += fmt.Sprintf(`<span style="display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;background:var(--border);color:var(--text);margin:3px">%s: %s</span>`, templates.Esc(k), templates.Esc(val))
320
- }
321
- }
322
- if chips != "" {
323
- content += fmt.Sprintf(`<div class="card" style="margin-bottom:16px"><div class="ct">Personality Traits</div><div style="display:flex;flex-wrap:wrap;gap:4px">%s</div></div>`, chips)
324
- }
325
- }
326
-
327
- // Actions
328
- agentID := templates.StrVal(a, "id")
329
- content += fmt.Sprintf(`<div class="card" style="margin-bottom:16px"><div class="ct">Actions</div>
330
- <div style="display:flex;gap:8px;flex-wrap:wrap">
331
- <form method="POST" action="/agents/%s/deploy" style="display:inline"><button class="btn btn-p btn-sm" type="submit">Deploy</button></form>
332
- <form method="POST" action="/agents/%s/stop" style="display:inline"><button class="btn btn-sm" type="submit" style="border-color:var(--warning);color:var(--warning)">Stop</button></form>
333
- <form method="POST" action="/agents/%s/restart" style="display:inline"><button class="btn btn-sm" type="submit">Restart</button></form>
334
- </div></div>`, templates.Esc(agentID), templates.Esc(agentID), templates.Esc(agentID))
335
-
336
- // Personal details
337
- gender := templates.StrVal(persona, "gender")
338
- dob := templates.StrVal(persona, "dateOfBirth")
339
- marital := templates.StrVal(persona, "maritalStatus")
340
- cultural := templates.StrVal(persona, "culturalBackground")
341
- language := templates.StrVal(persona, "language")
342
- hasPersonal := gender != "" || dob != "" || marital != "" || cultural != "" || language != ""
343
- if hasPersonal {
344
- content += `<div class="card" style="margin-bottom:16px"><div class="ct">Personal Details</div>
345
- <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px">`
346
- if gender != "" {
347
- content += fmt.Sprintf(`<div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Gender</div><div style="margin-top:4px;font-size:14px">%s</div></div>`, templates.Esc(gender))
348
- }
349
- if dob != "" {
350
- content += fmt.Sprintf(`<div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Date of Birth</div><div style="margin-top:4px;font-size:14px">%s</div></div>`, templates.Esc(dob))
351
- }
352
- if marital != "" {
353
- content += fmt.Sprintf(`<div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Marital Status</div><div style="margin-top:4px;font-size:14px">%s</div></div>`, templates.Esc(marital))
354
- }
355
- if cultural != "" {
356
- content += fmt.Sprintf(`<div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Cultural Background</div><div style="margin-top:4px;font-size:14px">%s</div></div>`, templates.Esc(cultural))
357
- }
358
- if language != "" {
359
- content += fmt.Sprintf(`<div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Language</div><div style="margin-top:4px;font-size:14px">%s</div></div>`, templates.Esc(language))
360
- }
361
- content += `</div></div>`
362
- }
363
-
364
- // Permission profile
365
- permissions := map[string]interface{}{}
366
- if p, ok := a["permissions"].(map[string]interface{}); ok {
367
- permissions = p
368
- } else if p, ok := config["permissions"].(map[string]interface{}); ok {
369
- permissions = p
370
- }
371
- if len(permissions) > 0 {
372
- // Profile Name
373
- profileName := templates.StrVal(permissions, "name")
374
- if profileName == "" {
375
- profileName = templates.StrVal(permissions, "preset")
376
- }
377
- if profileName == "" {
378
- profileName = "Custom"
379
- }
380
-
381
- // Max Risk Level
382
- maxRisk := templates.StrVal(permissions, "maxRiskLevel")
383
- if maxRisk == "" {
384
- maxRisk = templates.StrVal(permissions, "max_risk_level")
385
- }
386
- riskColor := "#64748b"
387
- switch maxRisk {
388
- case "low":
389
- riskColor = "#10b981"
390
- case "medium":
391
- riskColor = "#f59e0b"
392
- case "high", "critical":
393
- riskColor = "#ef4444"
394
- }
395
- riskBadge := ""
396
- if maxRisk != "" {
397
- riskBadge = fmt.Sprintf(`<span style="display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:%s20;color:%s">%s</span>`, riskColor, riskColor, templates.Esc(maxRisk))
398
- } else {
399
- riskBadge = `<span style="color:var(--dim)">-</span>`
400
- }
401
-
402
- // Sandbox Mode
403
- sandboxMode := "Disabled"
404
- if sb, ok := permissions["sandboxMode"]; ok {
405
- if sb == true {
406
- sandboxMode = "Enabled"
407
- }
408
- } else if sb, ok := permissions["sandbox_mode"]; ok {
409
- if sb == true {
410
- sandboxMode = "Enabled"
411
- }
412
- }
413
-
414
- // Rate Limits
415
- rateLimits := ""
416
- rl := map[string]interface{}{}
417
- if r, ok := permissions["rateLimits"].(map[string]interface{}); ok {
418
- rl = r
419
- } else if r, ok := permissions["rate_limits"].(map[string]interface{}); ok {
420
- rl = r
421
- }
422
- cpm := templates.StrVal(rl, "toolCallsPerMinute")
423
- if cpm == "" {
424
- cpm = templates.StrVal(rl, "calls_per_minute")
425
- }
426
- cph := templates.StrVal(rl, "toolCallsPerHour")
427
- if cph == "" {
428
- cph = templates.StrVal(rl, "calls_per_hour")
429
- }
430
- if cpm != "" || cph != "" {
431
- if cpm != "" {
432
- rateLimits += fmt.Sprintf(`%s/min`, templates.Esc(cpm))
433
- }
434
- if cph != "" {
435
- if rateLimits != "" {
436
- rateLimits += ", "
437
- }
438
- rateLimits += fmt.Sprintf(`%s/hr`, templates.Esc(cph))
439
- }
440
- } else {
441
- rateLimits = "None set"
442
- }
443
-
444
- // Blocked Side Effects
445
- blockedHTML := ""
446
- if bse, ok := permissions["blockedSideEffects"].([]interface{}); ok && len(bse) > 0 {
447
- for _, effect := range bse {
448
- blockedHTML += fmt.Sprintf(`<span style="display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#ef4444;color:#fff;margin:2px">%s</span>`, templates.Esc(effect))
449
- }
450
- } else if bse, ok := permissions["blocked_side_effects"].([]interface{}); ok && len(bse) > 0 {
451
- for _, effect := range bse {
452
- blockedHTML += fmt.Sprintf(`<span style="display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#ef4444;color:#fff;margin:2px">%s</span>`, templates.Esc(effect))
453
- }
454
- }
455
- if blockedHTML == "" {
456
- blockedHTML = `<span style="color:var(--dim)">None</span>`
457
- }
458
-
459
- content += fmt.Sprintf(`<div class="card" style="margin-bottom:16px"><div class="ct">Permission Profile</div>
460
- <div style="display:grid;grid-template-columns:1fr 1fr;gap:16px">
461
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Profile Name</div><div style="margin-top:4px;font-size:14px">%s</div></div>
462
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Max Risk Level</div><div style="margin-top:4px">%s</div></div>
463
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Sandbox Mode</div><div style="margin-top:4px;font-size:14px">%s</div></div>
464
- <div><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em">Rate Limits</div><div style="margin-top:4px;font-size:14px">%s</div></div>
465
- </div>
466
- <div style="margin-top:16px"><div style="font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px">Blocked Side Effects</div><div style="display:flex;flex-wrap:wrap;gap:4px">%s</div></div>
467
- </div>`, templates.Esc(profileName), riskBadge, templates.Esc(sandboxMode), rateLimits, blockedHTML)
468
- }
469
-
470
- // ── Tool Security Section ────────────────────────────
471
- tsData, _ := services.APICall("/engine/agents/"+id+"/tool-security", "GET", s.Token, nil)
472
- if tsData != nil {
473
- toolSec := map[string]interface{}{}
474
- if ts, ok := tsData["toolSecurity"].(map[string]interface{}); ok {
475
- toolSec = ts
476
- }
477
- orgDefaults := map[string]interface{}{}
478
- if od, ok := tsData["orgDefaults"].(map[string]interface{}); ok {
479
- orgDefaults = od
480
- }
481
-
482
- security := map[string]interface{}{}
483
- if sec, ok := toolSec["security"].(map[string]interface{}); ok {
484
- security = sec
485
- } else if sec, ok := orgDefaults["security"].(map[string]interface{}); ok {
486
- security = sec
487
- }
488
- mw := map[string]interface{}{}
489
- if m, ok := toolSec["middleware"].(map[string]interface{}); ok {
490
- mw = m
491
- } else if m, ok := orgDefaults["middleware"].(map[string]interface{}); ok {
492
- mw = m
493
- }
494
-
495
- enabledBadge := func(m map[string]interface{}, key string) string {
496
- if v, ok := m[key].(bool); ok && v {
497
- return `<span style="display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#10b98120;color:#10b981">Enabled</span>`
498
- }
499
- return `<span style="display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#64748b20;color:#64748b">Disabled</span>`
500
- }
501
-
502
- pathSandbox := map[string]interface{}{}
503
- if ps, ok := security["pathSandbox"].(map[string]interface{}); ok {
504
- pathSandbox = ps
505
- }
506
- ssrf := map[string]interface{}{}
507
- if s, ok := security["ssrf"].(map[string]interface{}); ok {
508
- ssrf = s
509
- }
510
- cmdSanitizer := map[string]interface{}{}
511
- if cs, ok := security["commandSanitizer"].(map[string]interface{}); ok {
512
- cmdSanitizer = cs
513
- }
514
- auditMw := map[string]interface{}{}
515
- if a, ok := mw["audit"].(map[string]interface{}); ok {
516
- auditMw = a
517
- }
518
- rateLimitMw := map[string]interface{}{}
519
- if rl, ok := mw["rateLimit"].(map[string]interface{}); ok {
520
- rateLimitMw = rl
521
- }
522
- cbMw := map[string]interface{}{}
523
- if cb, ok := mw["circuitBreaker"].(map[string]interface{}); ok {
524
- cbMw = cb
525
- }
526
- telMw := map[string]interface{}{}
527
- if t, ok := mw["telemetry"].(map[string]interface{}); ok {
528
- telMw = t
529
- }
530
-
531
- cmdMode := templates.StrVal(cmdSanitizer, "mode")
532
- if cmdMode == "" {
533
- cmdMode = "blocklist"
534
- }
535
-
536
- content += fmt.Sprintf(`<div class="card" style="margin-bottom:16px"><div class="ct">Tool Security</div>
537
- <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px">
538
- <div style="padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
539
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:8px"><strong style="font-size:13px">Path Sandbox</strong>%s</div>
540
- <div style="font-size:12px;color:var(--dim)">Restricts file system access</div>
541
- </div>
542
- <div style="padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
543
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:8px"><strong style="font-size:13px">SSRF Protection</strong>%s</div>
544
- <div style="font-size:12px;color:var(--dim)">Prevents server-side request forgery</div>
545
- </div>
546
- <div style="padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
547
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:8px"><strong style="font-size:13px">Command Sanitizer</strong>%s</div>
548
- <div style="font-size:12px;color:var(--dim)">Mode: %s</div>
549
- </div>
550
- </div>
551
- <div style="display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px">
552
- <div style="padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
553
- <div style="display:flex;justify-content:space-between;align-items:center"><strong style="font-size:13px">Audit</strong>%s</div>
554
- </div>
555
- <div style="padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
556
- <div style="display:flex;justify-content:space-between;align-items:center"><strong style="font-size:13px">Rate Limit</strong>%s</div>
557
- </div>
558
- <div style="padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
559
- <div style="display:flex;justify-content:space-between;align-items:center"><strong style="font-size:13px">Circuit Breaker</strong>%s</div>
560
- </div>
561
- <div style="padding:12px;background:var(--bg);border-radius:8px;border:1px solid var(--border)">
562
- <div style="display:flex;justify-content:space-between;align-items:center"><strong style="font-size:13px">Telemetry</strong>%s</div>
563
- </div>
564
- </div>
565
- </div>`,
566
- enabledBadge(pathSandbox, "enabled"),
567
- enabledBadge(ssrf, "enabled"),
568
- enabledBadge(cmdSanitizer, "enabled"),
569
- templates.Esc(cmdMode),
570
- enabledBadge(auditMw, "enabled"),
571
- enabledBadge(rateLimitMw, "enabled"),
572
- enabledBadge(cbMw, "enabled"),
573
- enabledBadge(telMw, "enabled"),
574
- )
575
- }
576
-
577
- // ── Activity Section ─────────────────────────────────
578
- // Fetch events, tool calls, and journal entries (failures are non-fatal)
579
- eventsData, _ := services.APICall("/engine/activity/events?agentId="+id+"&limit=50", "GET", s.Token, nil)
580
- toolCallsData, _ := services.APICall("/engine/activity/tool-calls?agentId="+id+"&limit=50", "GET", s.Token, nil)
581
- journalData, _ := services.APICall("/engine/journal?agentId="+id+"&orgId=default&limit=50", "GET", s.Token, nil)
582
-
583
- // Events rows
584
- eventsRows := ""
585
- if eventsData != nil {
586
- var eventsList []interface{}
587
- if ev, ok := eventsData["events"].([]interface{}); ok {
588
- eventsList = ev
589
- } else if ev, ok := eventsData["items"].([]interface{}); ok {
590
- eventsList = ev
591
- }
592
- if len(eventsList) > 0 {
593
- for _, item := range eventsList {
594
- if e, ok := item.(map[string]interface{}); ok {
595
- jsonBytes, _ := json.Marshal(e)
596
- jsonStr := html.EscapeString(string(jsonBytes))
597
- evTime := templates.StrVal(e, "timestamp")
598
- if evTime == "" {
599
- evTime = templates.StrVal(e, "createdAt")
600
- }
601
- if evTime == "" {
602
- evTime = templates.StrVal(e, "created_at")
603
- }
604
- evType := templates.StrVal(e, "type")
605
- if evType == "" {
606
- evType = templates.StrVal(e, "eventType")
607
- }
608
- evDetails := templates.StrVal(e, "description")
609
- if evDetails == "" {
610
- evDetails = templates.StrVal(e, "message")
611
- }
612
- if evDetails == "" {
613
- evDetails = templates.StrVal(e, "details")
614
- }
615
- eventsRows += fmt.Sprintf(`<tr style="cursor:pointer" onclick="showActivityDetail('%s','Event Detail')"><td style="white-space:nowrap;font-size:12px;color:var(--dim)">%s</td><td>%s</td><td style="font-size:13px;color:var(--dim)">%s</td></tr>`,
616
- jsonStr, templates.Esc(evTime), templates.Badge(evType), templates.Esc(evDetails))
617
- }
618
- }
619
- }
620
- }
621
- if eventsRows == "" {
622
- eventsRows = `<tr><td colspan="3" style="text-align:center;padding:24px;color:var(--dim)">No events for this agent</td></tr>`
623
- }
624
-
625
- // Tool calls rows
626
- toolCallsRows := ""
627
- if toolCallsData != nil {
628
- var toolsList []interface{}
629
- if tc, ok := toolCallsData["toolCalls"].([]interface{}); ok {
630
- toolsList = tc
631
- } else if tc, ok := toolCallsData["tool_calls"].([]interface{}); ok {
632
- toolsList = tc
633
- } else if tc, ok := toolCallsData["items"].([]interface{}); ok {
634
- toolsList = tc
635
- }
636
- if len(toolsList) > 0 {
637
- for _, item := range toolsList {
638
- if t, ok := item.(map[string]interface{}); ok {
639
- jsonBytes, _ := json.Marshal(t)
640
- jsonStr := html.EscapeString(string(jsonBytes))
641
- tcTime := templates.StrVal(t, "timestamp")
642
- if tcTime == "" {
643
- tcTime = templates.StrVal(t, "createdAt")
644
- }
645
- if tcTime == "" {
646
- tcTime = templates.StrVal(t, "created_at")
647
- }
648
- tcTool := templates.StrVal(t, "tool")
649
- if tcTool == "" {
650
- tcTool = templates.StrVal(t, "toolName")
651
- }
652
- if tcTool == "" {
653
- tcTool = templates.StrVal(t, "tool_name")
654
- }
655
- tcDuration := templates.StrVal(t, "duration")
656
- if tcDuration == "" {
657
- tcDuration = templates.StrVal(t, "durationMs")
658
- }
659
- if tcDuration != "" {
660
- tcDuration += "ms"
661
- } else {
662
- tcDuration = "-"
663
- }
664
- tcStatus := templates.StrVal(t, "status")
665
- if tcStatus == "" {
666
- tcStatus = templates.StrVal(t, "result")
667
- }
668
- if tcStatus == "" {
669
- tcStatus = "unknown"
670
- }
671
- toolCallsRows += fmt.Sprintf(`<tr style="cursor:pointer" onclick="showActivityDetail('%s','Tool Call Detail')"><td style="white-space:nowrap;font-size:12px;color:var(--dim)">%s</td><td><code style="font-size:12px">%s</code></td><td style="font-size:13px;color:var(--dim)">%s</td><td>%s</td></tr>`,
672
- jsonStr, templates.Esc(tcTime), templates.Esc(tcTool), templates.Esc(tcDuration), templates.Badge(tcStatus))
673
- }
674
- }
675
- }
676
- }
677
- if toolCallsRows == "" {
678
- toolCallsRows = `<tr><td colspan="4" style="text-align:center;padding:24px;color:var(--dim)">No tool calls for this agent</td></tr>`
679
- }
680
-
681
- // Journal rows
682
- journalRows := ""
683
- if journalData != nil {
684
- var journalList []interface{}
685
- if j, ok := journalData["entries"].([]interface{}); ok {
686
- journalList = j
687
- } else if j, ok := journalData["journal"].([]interface{}); ok {
688
- journalList = j
689
- } else if j, ok := journalData["items"].([]interface{}); ok {
690
- journalList = j
691
- }
692
- if len(journalList) > 0 {
693
- for _, item := range journalList {
694
- if j, ok := item.(map[string]interface{}); ok {
695
- jsonBytes, _ := json.Marshal(j)
696
- jsonStr := html.EscapeString(string(jsonBytes))
697
- jTime := templates.StrVal(j, "timestamp")
698
- if jTime == "" {
699
- jTime = templates.StrVal(j, "createdAt")
700
- }
701
- if jTime == "" {
702
- jTime = templates.StrVal(j, "created_at")
703
- }
704
- jTool := templates.StrVal(j, "tool")
705
- if jTool == "" {
706
- jTool = templates.StrVal(j, "toolName")
707
- }
708
- if jTool == "" {
709
- jTool = templates.StrVal(j, "tool_name")
710
- }
711
- jAction := templates.StrVal(j, "action")
712
- if jAction == "" {
713
- jAction = templates.StrVal(j, "actionType")
714
- }
715
- if jAction == "" {
716
- jAction = templates.StrVal(j, "action_type")
717
- }
718
- jReversible := j["reversible"] == true
719
- jReversed := j["reversed"] == true
720
- reversibleBadge := `<span class="badge" style="background:var(--dim);color:#fff;font-size:11px">No</span>`
721
- if jReversible {
722
- reversibleBadge = `<span class="badge" style="background:#10b981;color:#fff;font-size:11px">Yes</span>`
723
- }
724
- jStatus := templates.StrVal(j, "status")
725
- if jStatus == "" {
726
- jStatus = "completed"
727
- }
728
- jID := templates.StrVal(j, "id")
729
- actionsCol := ""
730
- if jReversible && !jReversed {
731
- actionsCol = fmt.Sprintf(`<button class="btn btn-sm" style="font-size:11px" onclick="event.stopPropagation();rollbackJournal('%s')">&#8617; Rollback</button>`, templates.Esc(jID))
732
- }
733
- journalRows += fmt.Sprintf(`<tr style="cursor:pointer" onclick="showActivityDetail('%s','Journal Detail')"><td style="white-space:nowrap;font-size:12px;color:var(--dim)">%s</td><td><code style="font-size:12px">%s</code></td><td style="font-size:13px">%s</td><td>%s</td><td>%s</td><td>%s</td></tr>`,
734
- jsonStr, templates.Esc(jTime), templates.Esc(jTool), templates.Esc(jAction), reversibleBadge, templates.Badge(jStatus), actionsCol)
735
- }
736
- }
737
- }
738
- }
739
- if journalRows == "" {
740
- journalRows = `<tr><td colspan="6" style="text-align:center;padding:24px;color:var(--dim)">No journal entries for this agent</td></tr>`
741
- }
742
-
743
- // Build the activity card
744
- content += fmt.Sprintf(`<div class="card" style="margin-bottom:16px">
745
- <div class="ct">Activity</div>
746
- <div style="border-bottom:1px solid var(--border)">
747
- <div class="tabs" style="padding:0 16px">
748
- <div class="tab active" data-activity-tab="events" onclick="switchActivityTab('events')">Events</div>
749
- <div class="tab" data-activity-tab="tools" onclick="switchActivityTab('tools')">Tool Calls</div>
750
- <div class="tab" data-activity-tab="journal" onclick="switchActivityTab('journal')">Journal</div>
751
- </div>
752
- </div>
753
- <div>
754
- <div id="panel-events" class="activity-panel">
755
- <table><thead><tr><th>Time</th><th>Type</th><th>Details</th></tr></thead><tbody>%s</tbody></table>
756
- </div>
757
- <div id="panel-tools" class="activity-panel" style="display:none">
758
- <table><thead><tr><th>Time</th><th>Tool</th><th>Duration</th><th>Status</th></tr></thead><tbody>%s</tbody></table>
759
- </div>
760
- <div id="panel-journal" class="activity-panel" style="display:none">
761
- <table><thead><tr><th>Time</th><th>Tool</th><th>Action</th><th>Reversible</th><th>Status</th><th>Actions</th></tr></thead><tbody>%s</tbody></table>
762
- </div>
763
- </div>
764
- </div>`, eventsRows, toolCallsRows, journalRows)
765
-
766
- // Detail modal
767
- content += `<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" onclick="if(event.target===this)closeActivityModal()">
768
- <div style="background:var(--card-bg,#fff);border-radius:12px;width:560px;max-height:80vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,0.3)">
769
- <div style="display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)">
770
- <h2 id="activity-modal-title" style="margin:0;font-size:16px">Detail</h2>
771
- <button class="btn btn-sm" onclick="closeActivityModal()" style="border:none;font-size:18px;cursor:pointer">&times;</button>
772
- </div>
773
- <div style="padding:20px">
774
- <div id="activity-modal-badge" style="margin-bottom:12px"></div>
775
- <div id="activity-modal-body" style="display:grid;grid-template-columns:140px 1fr;gap:12px 16px;align-items:start"></div>
776
- </div>
777
- </div>
778
- </div>`
779
-
780
- // Activity JavaScript
781
- content += `<script>
782
- function switchActivityTab(tab){document.querySelectorAll('.activity-panel').forEach(function(p){p.style.display='none'});document.querySelectorAll('[data-activity-tab]').forEach(function(t){t.classList.remove('active')});document.getElementById('panel-'+tab).style.display='block';document.querySelector('[data-activity-tab="'+tab+'"]').classList.add('active')}
783
- function showActivityDetail(jsonStr,title){var data=JSON.parse(jsonStr);var m=document.getElementById('activity-detail-modal');document.getElementById('activity-modal-title').textContent=title;var typeLabel=data.type||data.eventType||data.tool||data.toolName||data.actionType||'Detail';var typeColor=typeLabel==='error'?'var(--danger)':typeLabel==='deployed'||typeLabel==='started'?'var(--success)':typeLabel==='stopped'?'var(--warning)':'var(--accent)';document.getElementById('activity-modal-badge').innerHTML='<span class="badge" style="background:'+typeColor+';color:#fff;font-size:11px">'+typeLabel+'</span>';var html='';for(var key in data){if(key==='agentId')continue;var label=key.replace(/([a-z])([A-Z])/g,'$1 $2').replace(/_/g,' ');label=label.charAt(0).toUpperCase()+label.slice(1);var val=data[key];if(val===null||val===undefined||val==='')val='\u2014';else if(typeof val==='object')val='<pre style="margin:0;font-size:11px;background:var(--bg-secondary);padding:6px;border-radius:4px;white-space:pre-wrap;max-height:150px;overflow:auto">'+JSON.stringify(val,null,2)+'</pre>';else if(typeof val==='boolean')val='<span class="badge" style="background:'+(val?'#10b981':'#64748b')+';color:#fff;font-size:11px">'+(val?'Yes':'No')+'</span>';else if((key.toLowerCase().includes('at')||key.toLowerCase().includes('time')||key.toLowerCase().includes('date'))&&!isNaN(Date.parse(String(val))))val=new Date(val).toLocaleString();html+='<div style="font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em">'+label+'</div><div style="font-size:13px;word-break:break-word">'+val+'</div>'}document.getElementById('activity-modal-body').innerHTML=html;m.style.display='flex'}
784
- function closeActivityModal(){document.getElementById('activity-detail-modal').style.display='none'}
785
- function rollbackJournal(id){if(!confirm('Rollback this journal entry?'))return;fetch('/api/engine/journal/'+id+'/rollback',{method:'POST',headers:{'Content-Type':'application/json'},body:'{}'}).then(function(r){return r.json()}).then(function(d){if(d.success)location.reload();else alert('Failed: '+(d.error||'Unknown'))}).catch(function(e){alert(e.message)})}
786
- </script>`
787
-
788
- w.Header().Set("Content-Type", "text/html")
789
- fmt.Fprint(w, templates.Layout("agents", s.User, content))
790
- }