@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,807 +0,0 @@
1
- /**
2
- * AgentsHandler — List agents, create agent, archive agent, agent detail.
3
- * Routes: GET /agents, GET /agents/{id}, POST /agents, POST /agents/{id}/archive,
4
- * POST /agents/{id}/deploy, POST /agents/{id}/stop, POST /agents/{id}/restart
5
- */
6
-
7
- import com.sun.net.httpserver.*;
8
- import java.io.*;
9
- import java.util.*;
10
-
11
- public class AgentsHandler implements HttpHandler {
12
-
13
- @Override
14
- public void handle(HttpExchange ex) throws IOException {
15
- try {
16
- if (!SessionManager.isAuthenticated(ex)) {
17
- SessionManager.redirect(ex, "/login");
18
- return;
19
- }
20
-
21
- String path = ex.getRequestURI().getPath();
22
- String method = ex.getRequestMethod();
23
-
24
- // POST /agents/{id}/archive
25
- if ("POST".equals(method) && path.matches("/agents/[^/]+/archive")) {
26
- handleArchive(ex, path);
27
- return;
28
- }
29
-
30
- // POST /agents/{id}/deploy|stop|restart
31
- if ("POST".equals(method) && path.matches("/agents/[^/]+/(deploy|stop|restart)")) {
32
- handleEngineAction(ex, path);
33
- return;
34
- }
35
-
36
- // POST /agents (create)
37
- if ("POST".equals(method)) {
38
- handleCreate(ex);
39
- return;
40
- }
41
-
42
- // GET /agents/{id} (detail) — must come before list
43
- if ("GET".equals(method) && path.matches("/agents/[^/]+") && !path.equals("/agents")) {
44
- handleDetail(ex, path);
45
- return;
46
- }
47
-
48
- // GET /agents (list)
49
- handleList(ex);
50
-
51
- } catch (Exception e) {
52
- SessionManager.respond(ex, 500, "Error: " + Helpers.esc(e.getMessage()));
53
- }
54
- }
55
-
56
- // ─── Name / Email / Model Resolution ─────────────────
57
-
58
- @SuppressWarnings("unchecked")
59
- private String resolveAgentName(Map<String, Object> a) {
60
- Map<String, Object> identity = Helpers.mapVal(a, "identity");
61
- if (!identity.isEmpty()) {
62
- String v = Helpers.strVal(identity, "name");
63
- if (!v.isEmpty()) return v;
64
- }
65
- Map<String, Object> config = Helpers.mapVal(a, "config");
66
- if (!config.isEmpty()) {
67
- String v = Helpers.strVal(config, "name");
68
- if (!v.isEmpty()) return v;
69
- v = Helpers.strVal(config, "displayName");
70
- if (!v.isEmpty()) return v;
71
- }
72
- String v = Helpers.strVal(a, "name");
73
- return v.isEmpty() ? "Unnamed Agent" : v;
74
- }
75
-
76
- @SuppressWarnings("unchecked")
77
- private String resolveAgentEmail(Map<String, Object> a) {
78
- Map<String, Object> identity = Helpers.mapVal(a, "identity");
79
- if (!identity.isEmpty()) {
80
- String v = Helpers.strVal(identity, "email");
81
- if (!v.isEmpty() && v.contains("@")) return v;
82
- }
83
- Map<String, Object> config = Helpers.mapVal(a, "config");
84
- if (!config.isEmpty()) {
85
- String v = Helpers.strVal(config, "email");
86
- if (!v.isEmpty() && v.contains("@")) return v;
87
- }
88
- String v = Helpers.strVal(a, "email");
89
- return (!v.isEmpty() && v.contains("@")) ? v : "";
90
- }
91
-
92
- @SuppressWarnings("unchecked")
93
- private String resolveModel(Map<String, Object> a) {
94
- Map<String, Object> config = Helpers.mapVal(a, "config");
95
- if (!config.isEmpty()) {
96
- Object modelObj = config.get("model");
97
- if (modelObj instanceof String) return (String) modelObj;
98
- if (modelObj instanceof Map) {
99
- Map<String, Object> modelMap = (Map<String, Object>) modelObj;
100
- String v = Helpers.strVal(modelMap, "modelId");
101
- if (!v.isEmpty()) return v;
102
- v = Helpers.strVal(modelMap, "provider");
103
- if (!v.isEmpty()) return v;
104
- }
105
- }
106
- return Helpers.strVal(a, "model");
107
- }
108
-
109
- // ─── Handlers ────────────────────────────────────────
110
-
111
- private void handleCreate(HttpExchange ex) throws IOException {
112
- String token = SessionManager.getToken(ex);
113
- Map<String, String> form = SessionManager.parseForm(ex);
114
-
115
- String provider = form.getOrDefault("provider", "anthropic");
116
- if (provider.isEmpty()) provider = "anthropic";
117
-
118
- Map<String, Object> body = new LinkedHashMap<>();
119
- body.put("name", form.getOrDefault("name", ""));
120
- body.put("model", form.getOrDefault("model", "gpt-4o"));
121
- body.put("provider", provider);
122
- body.put("description", form.getOrDefault("description", ""));
123
-
124
- String soulId = form.getOrDefault("soulId", "");
125
- if (!soulId.isEmpty()) {
126
- body.put("soulId", soulId);
127
- }
128
-
129
- Map<String, Object> persona = new LinkedHashMap<>();
130
- persona.put("gender", form.getOrDefault("gender", ""));
131
- persona.put("dateOfBirth", form.getOrDefault("date_of_birth", ""));
132
- persona.put("maritalStatus", form.getOrDefault("marital_status", ""));
133
- persona.put("culturalBackground", form.getOrDefault("cultural_background", ""));
134
- persona.put("language", form.getOrDefault("language", ""));
135
- Map<String, String> traits = new LinkedHashMap<>();
136
- traits.put("communication", form.getOrDefault("trait_communication", "direct"));
137
- traits.put("detail", form.getOrDefault("trait_detail", "detail-oriented"));
138
- traits.put("energy", form.getOrDefault("trait_energy", "calm"));
139
- traits.put("humor", form.getOrDefault("humor", "warm"));
140
- traits.put("formality", form.getOrDefault("formality", "adaptive"));
141
- traits.put("empathy", form.getOrDefault("empathy", "moderate"));
142
- traits.put("patience", form.getOrDefault("patience", "patient"));
143
- traits.put("creativity", form.getOrDefault("creativity", "creative"));
144
- persona.put("traits", traits);
145
- body.put("persona", persona);
146
-
147
- var result = ApiClient.post("/api/agents", token, ApiClient.toJsonMixed(body));
148
- int status = Helpers.intVal(result, "_status");
149
-
150
- if (status > 0 && status < 300) {
151
- SessionManager.setFlash(ex, "Agent created successfully", "success");
152
- } else {
153
- String err = Helpers.strVal(result, "error");
154
- if (err.isEmpty()) err = "Failed to create agent";
155
- SessionManager.setFlash(ex, err, "danger");
156
- }
157
-
158
- SessionManager.redirect(ex, "/agents");
159
- }
160
-
161
- private void handleArchive(HttpExchange ex, String path) throws IOException {
162
- String token = SessionManager.getToken(ex);
163
- // Consume POST body even if we don't use it
164
- SessionManager.parseForm(ex);
165
-
166
- // Extract ID from /agents/{id}/archive
167
- String[] parts = path.split("/");
168
- String id = parts.length >= 3 ? parts[2] : "";
169
-
170
- Map<String, Object> body = new LinkedHashMap<>();
171
- body.put("status", "archived");
172
-
173
- var result = ApiClient.patch("/api/agents/" + id, token, ApiClient.toJsonMixed(body));
174
- int status = Helpers.intVal(result, "_status");
175
-
176
- if (status > 0 && status < 300) {
177
- SessionManager.setFlash(ex, "Agent archived", "success");
178
- } else {
179
- String err = Helpers.strVal(result, "error");
180
- if (err.isEmpty()) err = "Failed to archive agent";
181
- SessionManager.setFlash(ex, err, "danger");
182
- }
183
-
184
- SessionManager.redirect(ex, "/agents");
185
- }
186
-
187
- private void handleEngineAction(HttpExchange ex, String path) throws IOException {
188
- String token = SessionManager.getToken(ex);
189
- SessionManager.parseForm(ex);
190
-
191
- String[] parts = path.split("/");
192
- String id = parts.length >= 3 ? parts[2] : "";
193
- String action = parts.length >= 4 ? parts[3] : "";
194
-
195
- ApiClient.post("/engine/agents/" + id + "/" + action, token, "{}");
196
-
197
- String referer = ex.getRequestHeaders().getFirst("Referer");
198
- SessionManager.redirect(ex, referer != null ? referer : "/agents/" + id);
199
- }
200
-
201
- private void handleList(HttpExchange ex) throws IOException {
202
- String token = SessionManager.getToken(ex);
203
- var data = ApiClient.get("/api/agents", token);
204
-
205
- List<Map<String, Object>> agents = Helpers.listVal(data, "agents");
206
- if (agents.isEmpty()) {
207
- // Try top-level array
208
- agents = Helpers.listVal(data, "_raw");
209
- }
210
-
211
- StringBuilder html = new StringBuilder();
212
- html.append(Components.pageHeader("Agents", "Manage AI agents in your organization"));
213
-
214
- // Create form
215
- html.append(Components.cardStart("Create Agent"));
216
- html.append("<form method='POST' action='/agents'>");
217
- html.append("<div class='form-row'>");
218
- html.append("<div class='form-group'><label>Name</label>");
219
- html.append("<input type='text' name='name' required placeholder='e.g. Support Agent'></div>");
220
- html.append("<div class='form-group'><label>Model</label>");
221
- html.append("<select name='model' id='agent-model'><option value=''>Loading models...</option></select></div>");
222
- html.append("</div>");
223
- html.append("<div class='form-group'><label>Provider</label>");
224
- html.append("<select 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>");
225
- html.append("<div class='form-group'><label>Description</label>");
226
- html.append("<input type='text' name='description' placeholder='What does this agent do?'></div>");
227
- html.append("<div class='form-group'><label>Role Template</label>");
228
- html.append("<select name='soulId'>");
229
- html.append("<option value=''>Custom (no template)</option>");
230
- html.append("<optgroup label='Support'>");
231
- html.append("<option value='customer-support-lead'>Customer Support Lead</option>");
232
- html.append("<option value='technical-support-engineer'>Technical Support Engineer</option>");
233
- html.append("<option value='customer-success-manager'>Customer Success Manager</option>");
234
- html.append("</optgroup>");
235
- html.append("<optgroup label='Sales'>");
236
- html.append("<option value='sales-development-rep'>Sales Development Rep</option>");
237
- html.append("<option value='account-executive'>Account Executive</option>");
238
- html.append("</optgroup>");
239
- html.append("<optgroup label='Engineering'>");
240
- html.append("<option value='senior-software-engineer'>Senior Software Engineer</option>");
241
- html.append("<option value='devops-engineer'>DevOps Engineer</option>");
242
- html.append("<option value='qa-engineer'>QA Engineer</option>");
243
- html.append("</optgroup>");
244
- html.append("<optgroup label='Operations'>");
245
- html.append("<option value='executive-assistant'>Executive Assistant</option>");
246
- html.append("<option value='project-coordinator'>Project Coordinator</option>");
247
- html.append("</optgroup>");
248
- html.append("<optgroup label='Marketing'>");
249
- html.append("<option value='content-writer'>Content Writer</option>");
250
- html.append("<option value='social-media-manager'>Social Media Manager</option>");
251
- html.append("</optgroup>");
252
- html.append("<optgroup label='Finance'>");
253
- html.append("<option value='financial-controller'>Financial Controller</option>");
254
- html.append("<option value='expense-auditor'>Expense Auditor</option>");
255
- html.append("</optgroup>");
256
- html.append("<optgroup label='Legal'>");
257
- html.append("<option value='legal-compliance-officer'>Legal Compliance Officer</option>");
258
- html.append("<option value='contract-reviewer'>Contract Reviewer</option>");
259
- html.append("</optgroup>");
260
- html.append("<optgroup label='Security'>");
261
- html.append("<option value='security-analyst'>Security Analyst</option>");
262
- html.append("<option value='compliance-auditor'>Compliance Auditor</option>");
263
- html.append("</optgroup>");
264
- html.append("</select></div>");
265
- html.append("<fieldset class='persona-fieldset'><legend>Persona (optional)</legend>");
266
- html.append("<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>");
267
- html.append("<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>");
268
- html.append("<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>");
269
- html.append("<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>");
270
- html.append("<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>");
271
- html.append("<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>");
272
- html.append("<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>");
273
- html.append("<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>");
274
- html.append("<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>");
275
- html.append("<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>");
276
- html.append("</fieldset>");
277
- html.append("<button class='btn btn-primary' type='submit'>Create Agent</button>");
278
- html.append("</form>");
279
- html.append("<script>");
280
- html.append("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>'})}");
281
- html.append("var provSel=document.getElementById('agent-provider');if(provSel){provSel.addEventListener('change',function(){loadModels(this.value)});loadModels(provSel.value||'anthropic')}");
282
- html.append("</script>");
283
- html.append(Components.cardEnd());
284
-
285
- // Agent list
286
- html.append(Components.cardStart("All Agents (" + agents.size() + ")"));
287
- if (agents.isEmpty()) {
288
- html.append(Components.empty("&#129302;", "No agents yet. Create one above."));
289
- } else {
290
- html.append(Components.tableStart("Name", "Model", "Status", "Created", "Actions"));
291
- for (var a : agents) {
292
- String displayName = resolveAgentName(a);
293
- String model = resolveModel(a);
294
- if (model.isEmpty()) model = Helpers.strVal(a, "role");
295
- if (model.isEmpty()) model = "-";
296
- String agentStatus = Helpers.strVal(a, "status");
297
- if (agentStatus.isEmpty()) agentStatus = "active";
298
- String created = Helpers.strVal(a, "created_at");
299
- String id = Helpers.strVal(a, "id");
300
-
301
- html.append("<tr>");
302
- html.append("<td><a href='/agents/").append(Helpers.esc(id))
303
- .append("' style='color:var(--accent);text-decoration:none;font-weight:600'>")
304
- .append(Helpers.esc(displayName)).append("</a></td>");
305
- html.append("<td><code>").append(Helpers.esc(model)).append("</code></td>");
306
- html.append("<td>").append(Components.statusBadge(agentStatus)).append("</td>");
307
- html.append("<td style='color:var(--text-muted)'>").append(Helpers.timeAgo(created)).append("</td>");
308
- html.append("<td>");
309
- if (!"archived".equalsIgnoreCase(agentStatus)) {
310
- html.append(Components.confirmForm("/agents/" + Helpers.esc(id) + "/archive", "Archive", "Archive this agent?"));
311
- }
312
- html.append("</td>");
313
- html.append("</tr>");
314
- }
315
- html.append(Components.tableEnd());
316
- }
317
- html.append(Components.cardEnd());
318
-
319
- String flash = SessionManager.consumeFlash(ex);
320
- SessionManager.respond(ex, 200, Layout.layout("/agents", SessionManager.getUser(ex), flash, html.toString()));
321
- }
322
-
323
- // ─── Agent Detail ────────────────────────────────────
324
-
325
- @SuppressWarnings("unchecked")
326
- private void handleDetail(HttpExchange ex, String path) throws IOException {
327
- String token = SessionManager.getToken(ex);
328
- String[] parts = path.split("/");
329
- String id = parts.length >= 3 ? parts[2] : "";
330
-
331
- var data = ApiClient.get("/api/agents/" + id, token);
332
- if (data == null || data.containsKey("error")) {
333
- SessionManager.redirect(ex, "/agents");
334
- return;
335
- }
336
-
337
- // The API may return the agent at top level or nested under "agent"
338
- Map<String, Object> a = data;
339
- Map<String, Object> nested = Helpers.mapVal(data, "agent");
340
- if (!nested.isEmpty()) a = nested;
341
-
342
- String displayName = resolveAgentName(a);
343
- String email = resolveAgentEmail(a);
344
- String status = Helpers.strVal(a, "status");
345
- if (status.isEmpty()) status = "active";
346
- String role = Helpers.strVal(a, "role");
347
- if (role.isEmpty()) role = "agent";
348
- String model = resolveModel(a);
349
- if (model.isEmpty()) model = "-";
350
- String created = Helpers.strVal(a, "created_at");
351
- String description = Helpers.strVal(a, "description");
352
-
353
- // Avatar initial
354
- String initial = displayName.isEmpty() ? "?" : displayName.substring(0, 1).toUpperCase();
355
-
356
- Map<String, Object> persona = Helpers.mapVal(a, "persona");
357
- Map<String, Object> config = Helpers.mapVal(a, "config");
358
-
359
- StringBuilder html = new StringBuilder();
360
-
361
- // Back link
362
- html.append("<div style='margin-bottom:24px'><a href='/agents' style='color:var(--accent);text-decoration:none;font-size:13px'>&larr; Back to Agents</a></div>");
363
-
364
- // Header: avatar + name + badges + email
365
- html.append("<div style='display:flex;align-items:center;gap:16px;margin-bottom:24px'>");
366
- html.append("<div style='width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700'>")
367
- .append(Helpers.esc(initial)).append("</div>");
368
- html.append("<div>");
369
- html.append("<h1 style='font-size:22px;font-weight:700;margin-bottom:4px'>").append(Helpers.esc(displayName)).append("</h1>");
370
- html.append("<div style='display:flex;gap:8px;align-items:center;flex-wrap:wrap'>");
371
- html.append(Components.statusBadge(status)).append(" ").append(Components.roleBadge(role));
372
- if (!email.isEmpty()) {
373
- html.append(" <span style='color:var(--text-secondary);font-size:13px'>").append(Helpers.esc(email)).append("</span>");
374
- }
375
- html.append("</div></div></div>");
376
-
377
- // Summary card
378
- html.append(Components.cardStart("Summary"));
379
- html.append("<div style='display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px'>");
380
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Status</div><div style='margin-top:4px'>").append(Components.statusBadge(status)).append("</div></div>");
381
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Role</div><div style='margin-top:4px'>").append(Components.roleBadge(role)).append("</div></div>");
382
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Model</div><div style='margin-top:4px'><code>").append(Helpers.esc(model)).append("</code></div></div>");
383
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Created</div><div style='margin-top:4px;font-size:13px;color:var(--text-secondary)'>").append(Helpers.esc(created)).append("</div></div>");
384
- html.append("</div>");
385
- html.append(Components.cardEnd());
386
-
387
- // Description
388
- if (!description.isEmpty()) {
389
- html.append(Components.cardStart("Description"));
390
- html.append("<p style='font-size:14px;color:var(--text-secondary);line-height:1.6'>").append(Helpers.esc(description)).append("</p>");
391
- html.append(Components.cardEnd());
392
- }
393
-
394
- // Personality traits
395
- Map<String, Object> traits = Helpers.mapVal(persona, "traits");
396
- if (traits.isEmpty()) traits = Helpers.mapVal(config, "traits");
397
- if (!traits.isEmpty()) {
398
- html.append(Components.cardStart("Personality Traits"));
399
- html.append("<div style='display:flex;flex-wrap:wrap;gap:4px'>");
400
- for (var entry : traits.entrySet()) {
401
- String val = entry.getValue() != null ? entry.getValue().toString() : "";
402
- if (!val.isEmpty()) {
403
- html.append("<span style='display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;background:var(--bg-secondary,#f0f0f0);color:var(--text-primary,#333);margin:3px'>")
404
- .append(Helpers.esc(entry.getKey())).append(": ").append(Helpers.esc(val)).append("</span>");
405
- }
406
- }
407
- html.append("</div>");
408
- html.append(Components.cardEnd());
409
- }
410
-
411
- // Actions
412
- html.append(Components.cardStart("Actions"));
413
- html.append("<div style='display:flex;gap:8px;flex-wrap:wrap'>");
414
- html.append("<form method='POST' action='/agents/").append(Helpers.esc(id)).append("/deploy' style='display:inline'><button class='btn btn-primary btn-sm' type='submit'>Deploy</button></form>");
415
- html.append("<form method='POST' action='/agents/").append(Helpers.esc(id)).append("/stop' style='display:inline'><button class='btn btn-sm btn-warning' type='submit'>Stop</button></form>");
416
- html.append("<form method='POST' action='/agents/").append(Helpers.esc(id)).append("/restart' style='display:inline'><button class='btn btn-sm' type='submit'>Restart</button></form>");
417
- html.append("</div>");
418
- html.append(Components.cardEnd());
419
-
420
- // Personal details
421
- String gender = Helpers.strVal(persona, "gender");
422
- String dob = Helpers.strVal(persona, "dateOfBirth");
423
- String marital = Helpers.strVal(persona, "maritalStatus");
424
- String cultural = Helpers.strVal(persona, "culturalBackground");
425
- String language = Helpers.strVal(persona, "language");
426
- boolean hasPersonal = !gender.isEmpty() || !dob.isEmpty() || !marital.isEmpty() || !cultural.isEmpty() || !language.isEmpty();
427
-
428
- if (hasPersonal) {
429
- html.append(Components.cardStart("Personal Details"));
430
- html.append("<div style='display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px'>");
431
- if (!gender.isEmpty()) {
432
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Gender</div><div style='margin-top:4px;font-size:14px'>").append(Helpers.esc(gender)).append("</div></div>");
433
- }
434
- if (!dob.isEmpty()) {
435
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Date of Birth</div><div style='margin-top:4px;font-size:14px'>").append(Helpers.esc(dob)).append("</div></div>");
436
- }
437
- if (!marital.isEmpty()) {
438
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Marital Status</div><div style='margin-top:4px;font-size:14px'>").append(Helpers.esc(marital)).append("</div></div>");
439
- }
440
- if (!cultural.isEmpty()) {
441
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Cultural Background</div><div style='margin-top:4px;font-size:14px'>").append(Helpers.esc(cultural)).append("</div></div>");
442
- }
443
- if (!language.isEmpty()) {
444
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Language</div><div style='margin-top:4px;font-size:14px'>").append(Helpers.esc(language)).append("</div></div>");
445
- }
446
- html.append("</div>");
447
- html.append(Components.cardEnd());
448
- }
449
-
450
- // Permission profile
451
- Map<String, Object> permissions = Helpers.mapVal(a, "permissions");
452
- if (permissions.isEmpty()) permissions = Helpers.mapVal(config, "permissions");
453
- if (!permissions.isEmpty()) {
454
- // Profile Name
455
- String profileName = Helpers.strVal(permissions, "name");
456
- if (profileName.isEmpty()) profileName = Helpers.strVal(permissions, "preset");
457
- if (profileName.isEmpty()) profileName = "Custom";
458
-
459
- // Max Risk Level
460
- String maxRisk = Helpers.strVal(permissions, "maxRiskLevel");
461
- if (maxRisk.isEmpty()) maxRisk = Helpers.strVal(permissions, "max_risk_level");
462
- String riskColor;
463
- switch (maxRisk.toLowerCase()) {
464
- case "low": riskColor = "#10b981"; break;
465
- case "medium": riskColor = "#f59e0b"; break;
466
- case "high": case "critical": riskColor = "#ef4444"; break;
467
- default: riskColor = "#64748b"; break;
468
- }
469
- String riskBadge = maxRisk.isEmpty()
470
- ? "<span style='color:var(--text-secondary)'>-</span>"
471
- : "<span style='display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:" + riskColor + "20;color:" + riskColor + "'>" + Helpers.esc(maxRisk) + "</span>";
472
-
473
- // Sandbox Mode
474
- String sandboxMode = "Disabled";
475
- Object sbVal = permissions.get("sandboxMode");
476
- if (sbVal == null) sbVal = permissions.get("sandbox_mode");
477
- if (Boolean.TRUE.equals(sbVal)) sandboxMode = "Enabled";
478
-
479
- // Rate Limits
480
- Map<String, Object> rl = Helpers.mapVal(permissions, "rateLimits");
481
- if (rl.isEmpty()) rl = Helpers.mapVal(permissions, "rate_limits");
482
- String cpm = Helpers.strVal(rl, "toolCallsPerMinute");
483
- if (cpm.isEmpty()) cpm = Helpers.strVal(rl, "calls_per_minute");
484
- String cph = Helpers.strVal(rl, "toolCallsPerHour");
485
- if (cph.isEmpty()) cph = Helpers.strVal(rl, "calls_per_hour");
486
- String rateLimits;
487
- if (!cpm.isEmpty() || !cph.isEmpty()) {
488
- StringBuilder rlBuf = new StringBuilder();
489
- if (!cpm.isEmpty()) rlBuf.append(Helpers.esc(cpm)).append("/min");
490
- if (!cph.isEmpty()) {
491
- if (rlBuf.length() > 0) rlBuf.append(", ");
492
- rlBuf.append(Helpers.esc(cph)).append("/hr");
493
- }
494
- rateLimits = rlBuf.toString();
495
- } else {
496
- rateLimits = "None set";
497
- }
498
-
499
- // Blocked Side Effects
500
- StringBuilder blockedBuf = new StringBuilder();
501
- Object bseObj = permissions.get("blockedSideEffects");
502
- if (bseObj == null) bseObj = permissions.get("blocked_side_effects");
503
- if (bseObj instanceof List) {
504
- for (Object effect : (List<?>) bseObj) {
505
- blockedBuf.append("<span style='display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#ef4444;color:#fff;margin:2px'>")
506
- .append(Helpers.esc(effect)).append("</span>");
507
- }
508
- }
509
- String blockedHTML = blockedBuf.length() > 0
510
- ? blockedBuf.toString()
511
- : "<span style='color:var(--text-secondary)'>None</span>";
512
-
513
- html.append(Components.cardStart("Permission Profile"));
514
- html.append("<div style='display:grid;grid-template-columns:1fr 1fr;gap:16px'>");
515
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Profile Name</div><div style='margin-top:4px;font-size:14px'>").append(Helpers.esc(profileName)).append("</div></div>");
516
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Max Risk Level</div><div style='margin-top:4px'>").append(riskBadge).append("</div></div>");
517
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Sandbox Mode</div><div style='margin-top:4px;font-size:14px'>").append(Helpers.esc(sandboxMode)).append("</div></div>");
518
- html.append("<div><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em'>Rate Limits</div><div style='margin-top:4px;font-size:14px'>").append(rateLimits).append("</div></div>");
519
- html.append("</div>");
520
- html.append("<div style='margin-top:16px'><div style='font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px'>Blocked Side Effects</div><div style='display:flex;flex-wrap:wrap;gap:4px'>").append(blockedHTML).append("</div></div>");
521
- html.append(Components.cardEnd());
522
- }
523
-
524
- // ── Tool Security Section ────────────────────────────
525
- Map<String, Object> tsData = new HashMap<>();
526
- try { tsData = ApiClient.get("/engine/agents/" + id + "/tool-security", token); } catch (Exception ignored) {}
527
- if (tsData != null && !tsData.isEmpty()) {
528
- Map<String, Object> toolSec = Helpers.mapVal(tsData, "toolSecurity");
529
- Map<String, Object> orgDefaults = Helpers.mapVal(tsData, "orgDefaults");
530
-
531
- Map<String, Object> securityMap = Helpers.mapVal(toolSec, "security");
532
- if (securityMap.isEmpty()) securityMap = Helpers.mapVal(orgDefaults, "security");
533
- Map<String, Object> mwMap = Helpers.mapVal(toolSec, "middleware");
534
- if (mwMap.isEmpty()) mwMap = Helpers.mapVal(orgDefaults, "middleware");
535
-
536
- Map<String, Object> pathSandbox = Helpers.mapVal(securityMap, "pathSandbox");
537
- Map<String, Object> ssrfMap = Helpers.mapVal(securityMap, "ssrf");
538
- Map<String, Object> cmdSanitizer = Helpers.mapVal(securityMap, "commandSanitizer");
539
- Map<String, Object> auditMap = Helpers.mapVal(mwMap, "audit");
540
- Map<String, Object> rateLimitMap = Helpers.mapVal(mwMap, "rateLimit");
541
- Map<String, Object> cbMap = Helpers.mapVal(mwMap, "circuitBreaker");
542
- Map<String, Object> telMap = Helpers.mapVal(mwMap, "telemetry");
543
-
544
- String cmdMode = Helpers.strVal(cmdSanitizer, "mode");
545
- if (cmdMode.isEmpty()) cmdMode = "blocklist";
546
-
547
- html.append(Components.cardStart("Tool Security"));
548
- html.append("<div style='display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px'>");
549
-
550
- html.append("<div style='padding:12px;background:var(--bg-secondary,#f8f9fa);border-radius:8px;border:1px solid var(--border)'>");
551
- html.append("<div style='display:flex;justify-content:space-between;align-items:center;margin-bottom:8px'><strong style='font-size:13px'>Path Sandbox</strong>").append(enabledBadge(pathSandbox)).append("</div>");
552
- html.append("<div style='font-size:12px;color:var(--text-muted)'>Restricts file system access</div>");
553
- html.append("</div>");
554
-
555
- html.append("<div style='padding:12px;background:var(--bg-secondary,#f8f9fa);border-radius:8px;border:1px solid var(--border)'>");
556
- html.append("<div style='display:flex;justify-content:space-between;align-items:center;margin-bottom:8px'><strong style='font-size:13px'>SSRF Protection</strong>").append(enabledBadge(ssrfMap)).append("</div>");
557
- html.append("<div style='font-size:12px;color:var(--text-muted)'>Prevents server-side request forgery</div>");
558
- html.append("</div>");
559
-
560
- html.append("<div style='padding:12px;background:var(--bg-secondary,#f8f9fa);border-radius:8px;border:1px solid var(--border)'>");
561
- html.append("<div style='display:flex;justify-content:space-between;align-items:center;margin-bottom:8px'><strong style='font-size:13px'>Command Sanitizer</strong>").append(enabledBadge(cmdSanitizer)).append("</div>");
562
- html.append("<div style='font-size:12px;color:var(--text-muted)'>Mode: ").append(Helpers.esc(cmdMode)).append("</div>");
563
- html.append("</div>");
564
-
565
- html.append("</div>");
566
-
567
- html.append("<div style='display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px'>");
568
-
569
- html.append("<div style='padding:12px;background:var(--bg-secondary,#f8f9fa);border-radius:8px;border:1px solid var(--border)'>");
570
- html.append("<div style='display:flex;justify-content:space-between;align-items:center'><strong style='font-size:13px'>Audit</strong>").append(enabledBadge(auditMap)).append("</div>");
571
- html.append("</div>");
572
-
573
- html.append("<div style='padding:12px;background:var(--bg-secondary,#f8f9fa);border-radius:8px;border:1px solid var(--border)'>");
574
- html.append("<div style='display:flex;justify-content:space-between;align-items:center'><strong style='font-size:13px'>Rate Limit</strong>").append(enabledBadge(rateLimitMap)).append("</div>");
575
- html.append("</div>");
576
-
577
- html.append("<div style='padding:12px;background:var(--bg-secondary,#f8f9fa);border-radius:8px;border:1px solid var(--border)'>");
578
- html.append("<div style='display:flex;justify-content:space-between;align-items:center'><strong style='font-size:13px'>Circuit Breaker</strong>").append(enabledBadge(cbMap)).append("</div>");
579
- html.append("</div>");
580
-
581
- html.append("<div style='padding:12px;background:var(--bg-secondary,#f8f9fa);border-radius:8px;border:1px solid var(--border)'>");
582
- html.append("<div style='display:flex;justify-content:space-between;align-items:center'><strong style='font-size:13px'>Telemetry</strong>").append(enabledBadge(telMap)).append("</div>");
583
- html.append("</div>");
584
-
585
- html.append("</div>");
586
- html.append(Components.cardEnd());
587
- }
588
-
589
- // ── Activity Section ─────────────────────────────────
590
- // Fetch events, tool calls, and journal entries (failures are non-fatal)
591
- Map<String, Object> eventsData = new HashMap<>();
592
- Map<String, Object> toolCallsData = new HashMap<>();
593
- Map<String, Object> journalData = new HashMap<>();
594
- try { eventsData = ApiClient.get("/engine/activity/events?agentId=" + id + "&limit=50", token); } catch (Exception ignored) {}
595
- try { toolCallsData = ApiClient.get("/engine/activity/tool-calls?agentId=" + id + "&limit=50", token); } catch (Exception ignored) {}
596
- try { journalData = ApiClient.get("/engine/journal?agentId=" + id + "&orgId=default&limit=50", token); } catch (Exception ignored) {}
597
-
598
- // Events rows
599
- StringBuilder eventsRows = new StringBuilder();
600
- List<Map<String, Object>> eventsList = Helpers.listVal(eventsData, "events");
601
- if (eventsList.isEmpty()) eventsList = Helpers.listVal(eventsData, "items");
602
- for (var evt : eventsList) {
603
- String evJson = escapeJsonForAttr(evt);
604
- String evTime = Helpers.strVal(evt, "timestamp");
605
- if (evTime.isEmpty()) evTime = Helpers.strVal(evt, "createdAt");
606
- if (evTime.isEmpty()) evTime = Helpers.strVal(evt, "created_at");
607
- String evType = Helpers.strVal(evt, "type");
608
- if (evType.isEmpty()) evType = Helpers.strVal(evt, "eventType");
609
- String evDetails = Helpers.strVal(evt, "description");
610
- if (evDetails.isEmpty()) evDetails = Helpers.strVal(evt, "message");
611
- if (evDetails.isEmpty()) evDetails = Helpers.strVal(evt, "details");
612
- eventsRows.append("<tr style='cursor:pointer' onclick=\"showActivityDetail('")
613
- .append(evJson).append("','Event Detail')\">");
614
- eventsRows.append("<td style='white-space:nowrap;font-size:12px;color:var(--text-secondary)'>").append(Helpers.esc(evTime)).append("</td>");
615
- eventsRows.append("<td>").append(Components.statusBadge(evType)).append("</td>");
616
- eventsRows.append("<td style='font-size:13px;color:var(--text-secondary)'>").append(Helpers.esc(evDetails)).append("</td>");
617
- eventsRows.append("</tr>");
618
- }
619
- if (eventsRows.length() == 0) {
620
- eventsRows.append("<tr><td colspan='3' style='text-align:center;padding:24px;color:var(--text-secondary)'>No events for this agent</td></tr>");
621
- }
622
-
623
- // Tool calls rows
624
- StringBuilder toolCallsRows = new StringBuilder();
625
- List<Map<String, Object>> toolsList = Helpers.listVal(toolCallsData, "toolCalls");
626
- if (toolsList.isEmpty()) toolsList = Helpers.listVal(toolCallsData, "tool_calls");
627
- if (toolsList.isEmpty()) toolsList = Helpers.listVal(toolCallsData, "items");
628
- for (var tc : toolsList) {
629
- String tcJson = escapeJsonForAttr(tc);
630
- String tcTime = Helpers.strVal(tc, "timestamp");
631
- if (tcTime.isEmpty()) tcTime = Helpers.strVal(tc, "createdAt");
632
- if (tcTime.isEmpty()) tcTime = Helpers.strVal(tc, "created_at");
633
- String tcTool = Helpers.strVal(tc, "tool");
634
- if (tcTool.isEmpty()) tcTool = Helpers.strVal(tc, "toolName");
635
- if (tcTool.isEmpty()) tcTool = Helpers.strVal(tc, "tool_name");
636
- String tcDuration = Helpers.strVal(tc, "duration");
637
- if (tcDuration.isEmpty()) tcDuration = Helpers.strVal(tc, "durationMs");
638
- if (!tcDuration.isEmpty()) tcDuration += "ms"; else tcDuration = "-";
639
- String tcStatus = Helpers.strVal(tc, "status");
640
- if (tcStatus.isEmpty()) tcStatus = Helpers.strVal(tc, "result");
641
- if (tcStatus.isEmpty()) tcStatus = "unknown";
642
- toolCallsRows.append("<tr style='cursor:pointer' onclick=\"showActivityDetail('")
643
- .append(tcJson).append("','Tool Call Detail')\">");
644
- toolCallsRows.append("<td style='white-space:nowrap;font-size:12px;color:var(--text-secondary)'>").append(Helpers.esc(tcTime)).append("</td>");
645
- toolCallsRows.append("<td><code style='font-size:12px'>").append(Helpers.esc(tcTool)).append("</code></td>");
646
- toolCallsRows.append("<td style='font-size:13px;color:var(--text-secondary)'>").append(Helpers.esc(tcDuration)).append("</td>");
647
- toolCallsRows.append("<td>").append(Components.statusBadge(tcStatus)).append("</td>");
648
- toolCallsRows.append("</tr>");
649
- }
650
- if (toolCallsRows.length() == 0) {
651
- toolCallsRows.append("<tr><td colspan='4' style='text-align:center;padding:24px;color:var(--text-secondary)'>No tool calls for this agent</td></tr>");
652
- }
653
-
654
- // Journal rows
655
- StringBuilder journalRows = new StringBuilder();
656
- List<Map<String, Object>> journalList = Helpers.listVal(journalData, "entries");
657
- if (journalList.isEmpty()) journalList = Helpers.listVal(journalData, "journal");
658
- if (journalList.isEmpty()) journalList = Helpers.listVal(journalData, "items");
659
- for (var j : journalList) {
660
- String jJson = escapeJsonForAttr(j);
661
- String jTime = Helpers.strVal(j, "timestamp");
662
- if (jTime.isEmpty()) jTime = Helpers.strVal(j, "createdAt");
663
- if (jTime.isEmpty()) jTime = Helpers.strVal(j, "created_at");
664
- String jTool = Helpers.strVal(j, "tool");
665
- if (jTool.isEmpty()) jTool = Helpers.strVal(j, "toolName");
666
- if (jTool.isEmpty()) jTool = Helpers.strVal(j, "tool_name");
667
- String jAction = Helpers.strVal(j, "action");
668
- if (jAction.isEmpty()) jAction = Helpers.strVal(j, "actionType");
669
- if (jAction.isEmpty()) jAction = Helpers.strVal(j, "action_type");
670
- boolean jReversible = Boolean.TRUE.equals(j.get("reversible"));
671
- boolean jReversed = Boolean.TRUE.equals(j.get("reversed"));
672
- String reversibleBadge = jReversible
673
- ? "<span class='badge' style='background:#10b981;color:#fff;font-size:11px'>Yes</span>"
674
- : "<span class='badge' style='background:#64748b;color:#fff;font-size:11px'>No</span>";
675
- String jStatus = Helpers.strVal(j, "status");
676
- if (jStatus.isEmpty()) jStatus = "completed";
677
- String jId = Helpers.strVal(j, "id");
678
- String actionsCol = "";
679
- if (jReversible && !jReversed) {
680
- actionsCol = "<button class='btn btn-sm' style='font-size:11px' onclick=\"event.stopPropagation();rollbackJournal('" + Helpers.esc(jId) + "')\">&#8617; Rollback</button>";
681
- }
682
- journalRows.append("<tr style='cursor:pointer' onclick=\"showActivityDetail('")
683
- .append(jJson).append("','Journal Detail')\">");
684
- journalRows.append("<td style='white-space:nowrap;font-size:12px;color:var(--text-secondary)'>").append(Helpers.esc(jTime)).append("</td>");
685
- journalRows.append("<td><code style='font-size:12px'>").append(Helpers.esc(jTool)).append("</code></td>");
686
- journalRows.append("<td style='font-size:13px'>").append(Helpers.esc(jAction)).append("</td>");
687
- journalRows.append("<td>").append(reversibleBadge).append("</td>");
688
- journalRows.append("<td>").append(Components.statusBadge(jStatus)).append("</td>");
689
- journalRows.append("<td>").append(actionsCol).append("</td>");
690
- journalRows.append("</tr>");
691
- }
692
- if (journalRows.length() == 0) {
693
- journalRows.append("<tr><td colspan='6' style='text-align:center;padding:24px;color:var(--text-secondary)'>No journal entries for this agent</td></tr>");
694
- }
695
-
696
- // Build activity card
697
- html.append(Components.cardStart("Activity"));
698
- html.append("<div style='border-bottom:1px solid var(--border)'>");
699
- html.append("<div class='tabs' style='padding:0 16px'>");
700
- html.append("<div class='tab active' data-activity-tab='events' onclick=\"switchActivityTab('events')\">Events</div>");
701
- html.append("<div class='tab' data-activity-tab='tools' onclick=\"switchActivityTab('tools')\">Tool Calls</div>");
702
- html.append("<div class='tab' data-activity-tab='journal' onclick=\"switchActivityTab('journal')\">Journal</div>");
703
- html.append("</div></div>");
704
-
705
- html.append("<div id='panel-events' class='activity-panel'>");
706
- html.append("<table><thead><tr><th>Time</th><th>Type</th><th>Details</th></tr></thead><tbody>");
707
- html.append(eventsRows);
708
- html.append("</tbody></table></div>");
709
-
710
- html.append("<div id='panel-tools' class='activity-panel' style='display:none'>");
711
- html.append("<table><thead><tr><th>Time</th><th>Tool</th><th>Duration</th><th>Status</th></tr></thead><tbody>");
712
- html.append(toolCallsRows);
713
- html.append("</tbody></table></div>");
714
-
715
- html.append("<div id='panel-journal' class='activity-panel' style='display:none'>");
716
- html.append("<table><thead><tr><th>Time</th><th>Tool</th><th>Action</th><th>Reversible</th><th>Status</th><th>Actions</th></tr></thead><tbody>");
717
- html.append(journalRows);
718
- html.append("</tbody></table></div>");
719
- html.append(Components.cardEnd());
720
-
721
- // Detail modal
722
- html.append("<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()'>");
723
- html.append("<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)'>");
724
- html.append("<div style='display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)'>");
725
- html.append("<h2 id='activity-modal-title' style='margin:0;font-size:16px'>Detail</h2>");
726
- html.append("<button class='btn btn-sm' onclick='closeActivityModal()' style='border:none;font-size:18px;cursor:pointer'>&times;</button>");
727
- html.append("</div>");
728
- html.append("<div style='padding:20px'>");
729
- html.append("<div id='activity-modal-badge' style='margin-bottom:12px'></div>");
730
- html.append("<div id='activity-modal-body' style='display:grid;grid-template-columns:140px 1fr;gap:12px 16px;align-items:start'></div>");
731
- html.append("</div></div></div>");
732
-
733
- // Activity JavaScript
734
- html.append("<script>");
735
- html.append("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')}");
736
- html.append("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(--text-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'}");
737
- html.append("function closeActivityModal(){document.getElementById('activity-detail-modal').style.display='none'}");
738
- html.append("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)})}");
739
- html.append("</script>");
740
-
741
- String flash = SessionManager.consumeFlash(ex);
742
- SessionManager.respond(ex, 200, Layout.layout("/agents", SessionManager.getUser(ex), flash, html.toString()));
743
- }
744
-
745
- // ─── Tool Security Helpers ─────────────────────────────
746
-
747
- private String enabledBadge(Map<String, Object> m) {
748
- Object v = m.get("enabled");
749
- if (Boolean.TRUE.equals(v)) {
750
- return "<span style='display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#10b98120;color:#10b981'>Enabled</span>";
751
- }
752
- return "<span style='display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#64748b20;color:#64748b'>Disabled</span>";
753
- }
754
-
755
- // ─── JSON escaping for HTML attributes ───────────────
756
-
757
- @SuppressWarnings("unchecked")
758
- private String escapeJsonForAttr(Map<String, Object> map) {
759
- StringBuilder sb = new StringBuilder("{");
760
- boolean first = true;
761
- for (var entry : map.entrySet()) {
762
- if (!first) sb.append(",");
763
- first = false;
764
- sb.append("\"").append(escJsonKey(entry.getKey())).append("\":");
765
- appendJsonValue(sb, entry.getValue());
766
- }
767
- sb.append("}");
768
- return Helpers.esc(sb.toString());
769
- }
770
-
771
- @SuppressWarnings("unchecked")
772
- private void appendJsonValue(StringBuilder sb, Object v) {
773
- if (v == null) {
774
- sb.append("null");
775
- } else if (v instanceof Number) {
776
- sb.append(v);
777
- } else if (v instanceof Boolean) {
778
- sb.append(v);
779
- } else if (v instanceof Map) {
780
- sb.append("{");
781
- boolean f = true;
782
- for (var e : ((Map<String, Object>) v).entrySet()) {
783
- if (!f) sb.append(",");
784
- f = false;
785
- sb.append("\"").append(escJsonKey(e.getKey())).append("\":");
786
- appendJsonValue(sb, e.getValue());
787
- }
788
- sb.append("}");
789
- } else if (v instanceof List) {
790
- sb.append("[");
791
- boolean f = true;
792
- for (Object item : (List<?>) v) {
793
- if (!f) sb.append(",");
794
- f = false;
795
- appendJsonValue(sb, item);
796
- }
797
- sb.append("]");
798
- } else {
799
- sb.append("\"").append(escJsonKey(v.toString())).append("\"");
800
- }
801
- }
802
-
803
- private String escJsonKey(String s) {
804
- if (s == null) return "";
805
- return s.replace("\\", "\\\\").replace("\"", "\\\"").replace("\n", "\\n").replace("\r", "\\r").replace("\t", "\\t");
806
- }
807
- }