aimeat 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/dist/.env.example +15 -0
  2. package/dist/bin/aimeat.js +0 -0
  3. package/dist/locales/en.json +291 -8
  4. package/dist/locales/fi.json +291 -8
  5. package/dist/public/css/views/admin.css +97 -0
  6. package/dist/public/css/views/agents-detail.css +563 -0
  7. package/dist/public/css/views/foundry.css +1 -0
  8. package/dist/public/css/views/marketplace.css +1 -0
  9. package/dist/public/css/views/profile.css +2 -0
  10. package/dist/public/js/services/admin.js +20 -1
  11. package/dist/public/js/services/agent-activity.js +20 -0
  12. package/dist/public/js/services/agent-capabilities.js +15 -0
  13. package/dist/public/js/services/agent-directives.js +28 -0
  14. package/dist/public/js/services/agent-messages.js +34 -0
  15. package/dist/public/js/services/agent-services.js +17 -0
  16. package/dist/public/js/services/agent-tasks.js +46 -0
  17. package/dist/public/js/services/memory.js +6 -3
  18. package/dist/public/js/services/sharing-groups.js +51 -0
  19. package/dist/public/spa.html +21 -2
  20. package/dist/public/views/admin/agent-tasks-tab.js +156 -0
  21. package/dist/public/views/admin/federation-tab.js +60 -0
  22. package/dist/public/views/admin/memory-tab.js +1 -0
  23. package/dist/public/views/admin/overview-tab.js +25 -0
  24. package/dist/public/views/admin/sharing-groups-tab.js +86 -0
  25. package/dist/public/views/admin/stats-tab.js +480 -187
  26. package/dist/public/views/admin.js +4 -0
  27. package/dist/public/views/profile/access-tab.js +511 -5
  28. package/dist/public/views/profile/agents-activity-subtab.js +242 -0
  29. package/dist/public/views/profile/agents-capabilities-subtab.js +165 -0
  30. package/dist/public/views/profile/agents-directives-subtab.js +292 -0
  31. package/dist/public/views/profile/agents-messages-subtab.js +222 -0
  32. package/dist/public/views/profile/agents-services-subtab.js +111 -0
  33. package/dist/public/views/profile/agents-tab.js +94 -47
  34. package/dist/public/views/profile/agents-tasks-subtab.js +254 -0
  35. package/dist/public/views/profile/knowledge-tab.js +5 -5
  36. package/dist/public/views/profile/memory-tab.js +90 -25
  37. package/dist/src/auth/node-keys.d.ts.map +1 -1
  38. package/dist/src/auth/node-keys.js +3 -0
  39. package/dist/src/auth/node-keys.js.map +1 -1
  40. package/dist/src/config.d.ts +18 -0
  41. package/dist/src/config.d.ts.map +1 -1
  42. package/dist/src/config.js +23 -2
  43. package/dist/src/config.js.map +1 -1
  44. package/dist/src/index.js +41 -2
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/mcp/agent-capabilities.d.ts +18 -0
  47. package/dist/src/mcp/agent-capabilities.d.ts.map +1 -0
  48. package/dist/src/mcp/agent-capabilities.js +85 -0
  49. package/dist/src/mcp/agent-capabilities.js.map +1 -0
  50. package/dist/src/mcp/agent-messages.d.ts +15 -0
  51. package/dist/src/mcp/agent-messages.d.ts.map +1 -0
  52. package/dist/src/mcp/agent-messages.js +81 -0
  53. package/dist/src/mcp/agent-messages.js.map +1 -0
  54. package/dist/src/mcp/agent-tasks.d.ts +16 -0
  55. package/dist/src/mcp/agent-tasks.d.ts.map +1 -0
  56. package/dist/src/mcp/agent-tasks.js +350 -0
  57. package/dist/src/mcp/agent-tasks.js.map +1 -0
  58. package/dist/src/mcp/core.d.ts.map +1 -1
  59. package/dist/src/mcp/core.js +8 -4
  60. package/dist/src/mcp/core.js.map +1 -1
  61. package/dist/src/mcp/extensions.js +1 -1
  62. package/dist/src/mcp/extensions.js.map +1 -1
  63. package/dist/src/mcp/index.d.ts.map +1 -1
  64. package/dist/src/mcp/index.js +8 -0
  65. package/dist/src/mcp/index.js.map +1 -1
  66. package/dist/src/mcp/memory-extended.js +1 -1
  67. package/dist/src/mcp/memory-extended.js.map +1 -1
  68. package/dist/src/mcp/sharing-groups.d.ts +16 -0
  69. package/dist/src/mcp/sharing-groups.d.ts.map +1 -0
  70. package/dist/src/mcp/sharing-groups.js +240 -0
  71. package/dist/src/mcp/sharing-groups.js.map +1 -0
  72. package/dist/src/middleware/rate-limit.d.ts.map +1 -1
  73. package/dist/src/middleware/rate-limit.js +4 -1
  74. package/dist/src/middleware/rate-limit.js.map +1 -1
  75. package/dist/src/models/agent-capabilities-schemas.d.ts +20 -0
  76. package/dist/src/models/agent-capabilities-schemas.d.ts.map +1 -0
  77. package/dist/src/models/agent-capabilities-schemas.js +16 -0
  78. package/dist/src/models/agent-capabilities-schemas.js.map +1 -0
  79. package/dist/src/models/agent-directives-schemas.d.ts +44 -0
  80. package/dist/src/models/agent-directives-schemas.d.ts.map +1 -0
  81. package/dist/src/models/agent-directives-schemas.js +41 -0
  82. package/dist/src/models/agent-directives-schemas.js.map +1 -0
  83. package/dist/src/models/agent-message-schemas.d.ts +32 -0
  84. package/dist/src/models/agent-message-schemas.d.ts.map +1 -0
  85. package/dist/src/models/agent-message-schemas.js +25 -0
  86. package/dist/src/models/agent-message-schemas.js.map +1 -0
  87. package/dist/src/models/agent-task-schemas.d.ts +133 -0
  88. package/dist/src/models/agent-task-schemas.d.ts.map +1 -0
  89. package/dist/src/models/agent-task-schemas.js +84 -0
  90. package/dist/src/models/agent-task-schemas.js.map +1 -0
  91. package/dist/src/models/schemas.d.ts +50 -0
  92. package/dist/src/models/schemas.d.ts.map +1 -1
  93. package/dist/src/models/schemas.js +42 -4
  94. package/dist/src/models/schemas.js.map +1 -1
  95. package/dist/src/models/sharing-group-schemas.d.ts +52 -0
  96. package/dist/src/models/sharing-group-schemas.d.ts.map +1 -0
  97. package/dist/src/models/sharing-group-schemas.js +46 -0
  98. package/dist/src/models/sharing-group-schemas.js.map +1 -0
  99. package/dist/src/routes/actions.d.ts.map +1 -1
  100. package/dist/src/routes/actions.js +1 -0
  101. package/dist/src/routes/actions.js.map +1 -1
  102. package/dist/src/routes/admin-agent-tasks.d.ts +12 -0
  103. package/dist/src/routes/admin-agent-tasks.d.ts.map +1 -0
  104. package/dist/src/routes/admin-agent-tasks.js +62 -0
  105. package/dist/src/routes/admin-agent-tasks.js.map +1 -0
  106. package/dist/src/routes/admin-monitoring.d.ts +2 -1
  107. package/dist/src/routes/admin-monitoring.d.ts.map +1 -1
  108. package/dist/src/routes/admin-monitoring.js +82 -2
  109. package/dist/src/routes/admin-monitoring.js.map +1 -1
  110. package/dist/src/routes/admin-sharing-groups.d.ts +12 -0
  111. package/dist/src/routes/admin-sharing-groups.d.ts.map +1 -0
  112. package/dist/src/routes/admin-sharing-groups.js +37 -0
  113. package/dist/src/routes/admin-sharing-groups.js.map +1 -0
  114. package/dist/src/routes/admin.d.ts +1 -1
  115. package/dist/src/routes/admin.d.ts.map +1 -1
  116. package/dist/src/routes/admin.js +35 -17
  117. package/dist/src/routes/admin.js.map +1 -1
  118. package/dist/src/routes/agent-activity.d.ts +17 -0
  119. package/dist/src/routes/agent-activity.d.ts.map +1 -0
  120. package/dist/src/routes/agent-activity.js +130 -0
  121. package/dist/src/routes/agent-activity.js.map +1 -0
  122. package/dist/src/routes/agent-capabilities.d.ts +17 -0
  123. package/dist/src/routes/agent-capabilities.d.ts.map +1 -0
  124. package/dist/src/routes/agent-capabilities.js +106 -0
  125. package/dist/src/routes/agent-capabilities.js.map +1 -0
  126. package/dist/src/routes/agent-directives.d.ts +17 -0
  127. package/dist/src/routes/agent-directives.d.ts.map +1 -0
  128. package/dist/src/routes/agent-directives.js +206 -0
  129. package/dist/src/routes/agent-directives.js.map +1 -0
  130. package/dist/src/routes/agent-integration.d.ts +17 -0
  131. package/dist/src/routes/agent-integration.d.ts.map +1 -0
  132. package/dist/src/routes/agent-integration.js +169 -0
  133. package/dist/src/routes/agent-integration.js.map +1 -0
  134. package/dist/src/routes/agent-messages.d.ts +17 -0
  135. package/dist/src/routes/agent-messages.d.ts.map +1 -0
  136. package/dist/src/routes/agent-messages.js +168 -0
  137. package/dist/src/routes/agent-messages.js.map +1 -0
  138. package/dist/src/routes/agent-tasks.d.ts +24 -0
  139. package/dist/src/routes/agent-tasks.d.ts.map +1 -0
  140. package/dist/src/routes/agent-tasks.js +425 -0
  141. package/dist/src/routes/agent-tasks.js.map +1 -0
  142. package/dist/src/routes/agents.js +2 -2
  143. package/dist/src/routes/agents.js.map +1 -1
  144. package/dist/src/routes/apps.d.ts.map +1 -1
  145. package/dist/src/routes/apps.js +5 -1
  146. package/dist/src/routes/apps.js.map +1 -1
  147. package/dist/src/routes/auth.d.ts.map +1 -1
  148. package/dist/src/routes/auth.js +19 -1
  149. package/dist/src/routes/auth.js.map +1 -1
  150. package/dist/src/routes/boards.js +2 -2
  151. package/dist/src/routes/boards.js.map +1 -1
  152. package/dist/src/routes/capabilities.js +4 -4
  153. package/dist/src/routes/capabilities.js.map +1 -1
  154. package/dist/src/routes/consent.d.ts.map +1 -1
  155. package/dist/src/routes/consent.js +2 -1
  156. package/dist/src/routes/consent.js.map +1 -1
  157. package/dist/src/routes/cortex.d.ts.map +1 -1
  158. package/dist/src/routes/cortex.js +1 -2
  159. package/dist/src/routes/cortex.js.map +1 -1
  160. package/dist/src/routes/disputes.js +4 -4
  161. package/dist/src/routes/disputes.js.map +1 -1
  162. package/dist/src/routes/extensions.d.ts.map +1 -1
  163. package/dist/src/routes/extensions.js +73 -23
  164. package/dist/src/routes/extensions.js.map +1 -1
  165. package/dist/src/routes/federation-auth.d.ts.map +1 -1
  166. package/dist/src/routes/federation-auth.js +2 -62
  167. package/dist/src/routes/federation-auth.js.map +1 -1
  168. package/dist/src/routes/federation-peer.d.ts.map +1 -1
  169. package/dist/src/routes/federation-peer.js +13 -1
  170. package/dist/src/routes/federation-peer.js.map +1 -1
  171. package/dist/src/routes/flags.d.ts.map +1 -1
  172. package/dist/src/routes/flags.js +2 -1
  173. package/dist/src/routes/flags.js.map +1 -1
  174. package/dist/src/routes/foundry.d.ts.map +1 -1
  175. package/dist/src/routes/foundry.js +2 -2
  176. package/dist/src/routes/foundry.js.map +1 -1
  177. package/dist/src/routes/generator.d.ts.map +1 -1
  178. package/dist/src/routes/generator.js +35 -7
  179. package/dist/src/routes/generator.js.map +1 -1
  180. package/dist/src/routes/ghii.d.ts.map +1 -1
  181. package/dist/src/routes/ghii.js +67 -31
  182. package/dist/src/routes/ghii.js.map +1 -1
  183. package/dist/src/routes/knowledge.d.ts.map +1 -1
  184. package/dist/src/routes/knowledge.js +4 -3
  185. package/dist/src/routes/knowledge.js.map +1 -1
  186. package/dist/src/routes/memory.d.ts.map +1 -1
  187. package/dist/src/routes/memory.js +10 -4
  188. package/dist/src/routes/memory.js.map +1 -1
  189. package/dist/src/routes/owners.d.ts.map +1 -1
  190. package/dist/src/routes/owners.js +104 -8
  191. package/dist/src/routes/owners.js.map +1 -1
  192. package/dist/src/routes/packages.js +1 -1
  193. package/dist/src/routes/packages.js.map +1 -1
  194. package/dist/src/routes/permissions.js +1 -1
  195. package/dist/src/routes/permissions.js.map +1 -1
  196. package/dist/src/routes/prompts.d.ts +9 -0
  197. package/dist/src/routes/prompts.d.ts.map +1 -1
  198. package/dist/src/routes/prompts.js +57 -1
  199. package/dist/src/routes/prompts.js.map +1 -1
  200. package/dist/src/routes/sharing-groups.d.ts +20 -0
  201. package/dist/src/routes/sharing-groups.d.ts.map +1 -0
  202. package/dist/src/routes/sharing-groups.js +297 -0
  203. package/dist/src/routes/sharing-groups.js.map +1 -0
  204. package/dist/src/routes/stats.d.ts +14 -0
  205. package/dist/src/routes/stats.d.ts.map +1 -1
  206. package/dist/src/routes/stats.js +79 -4
  207. package/dist/src/routes/stats.js.map +1 -1
  208. package/dist/src/routes/storage-files.d.ts.map +1 -1
  209. package/dist/src/routes/storage-files.js +8 -1
  210. package/dist/src/routes/storage-files.js.map +1 -1
  211. package/dist/src/routes/upload.js +2 -2
  212. package/dist/src/routes/upload.js.map +1 -1
  213. package/dist/src/routes/wallet.d.ts.map +1 -1
  214. package/dist/src/routes/wallet.js +2 -1
  215. package/dist/src/routes/wallet.js.map +1 -1
  216. package/dist/src/routes/work.d.ts.map +1 -1
  217. package/dist/src/routes/work.js +5 -1
  218. package/dist/src/routes/work.js.map +1 -1
  219. package/dist/src/schemas/knowledge-package.js +1 -1
  220. package/dist/src/schemas/knowledge-package.js.map +1 -1
  221. package/dist/src/server-bootstrap/routes-loader.d.ts +1 -1
  222. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  223. package/dist/src/server-bootstrap/routes-loader.js +24 -4
  224. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  225. package/dist/src/server-bootstrap/service-init.d.ts.map +1 -1
  226. package/dist/src/server-bootstrap/service-init.js +2 -0
  227. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  228. package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
  229. package/dist/src/server-bootstrap/static-files.js +10 -7
  230. package/dist/src/server-bootstrap/static-files.js.map +1 -1
  231. package/dist/src/server.d.ts.map +1 -1
  232. package/dist/src/server.js +4 -2
  233. package/dist/src/server.js.map +1 -1
  234. package/dist/src/services/activity-recorder.d.ts +16 -0
  235. package/dist/src/services/activity-recorder.d.ts.map +1 -0
  236. package/dist/src/services/activity-recorder.js +59 -0
  237. package/dist/src/services/activity-recorder.js.map +1 -0
  238. package/dist/src/services/capability-invoke.d.ts.map +1 -1
  239. package/dist/src/services/capability-invoke.js +5 -18
  240. package/dist/src/services/capability-invoke.js.map +1 -1
  241. package/dist/src/services/config-schema.d.ts.map +1 -1
  242. package/dist/src/services/config-schema.js +18 -0
  243. package/dist/src/services/config-schema.js.map +1 -1
  244. package/dist/src/services/consent.d.ts +1 -1
  245. package/dist/src/services/consent.d.ts.map +1 -1
  246. package/dist/src/services/consent.js +29 -11
  247. package/dist/src/services/consent.js.map +1 -1
  248. package/dist/src/services/core-jobs.d.ts.map +1 -1
  249. package/dist/src/services/core-jobs.js +5 -0
  250. package/dist/src/services/core-jobs.js.map +1 -1
  251. package/dist/src/services/directory.d.ts.map +1 -1
  252. package/dist/src/services/directory.js +10 -4
  253. package/dist/src/services/directory.js.map +1 -1
  254. package/dist/src/services/email.d.ts +17 -4
  255. package/dist/src/services/email.d.ts.map +1 -1
  256. package/dist/src/services/email.js +30 -12
  257. package/dist/src/services/email.js.map +1 -1
  258. package/dist/src/services/extension-runtime.d.ts.map +1 -1
  259. package/dist/src/services/extension-runtime.js +5 -0
  260. package/dist/src/services/extension-runtime.js.map +1 -1
  261. package/dist/src/services/federation.d.ts +2 -0
  262. package/dist/src/services/federation.d.ts.map +1 -1
  263. package/dist/src/services/federation.js.map +1 -1
  264. package/dist/src/services/job-seeding.d.ts.map +1 -1
  265. package/dist/src/services/job-seeding.js +2 -0
  266. package/dist/src/services/job-seeding.js.map +1 -1
  267. package/dist/src/services/mailbox-notification.d.ts +17 -0
  268. package/dist/src/services/mailbox-notification.d.ts.map +1 -1
  269. package/dist/src/services/mailbox-notification.js +25 -0
  270. package/dist/src/services/mailbox-notification.js.map +1 -1
  271. package/dist/src/services/morsel.d.ts.map +1 -1
  272. package/dist/src/services/morsel.js +10 -9
  273. package/dist/src/services/morsel.js.map +1 -1
  274. package/dist/src/services/password.d.ts +1 -6
  275. package/dist/src/services/password.d.ts.map +1 -1
  276. package/dist/src/services/password.js +19 -10
  277. package/dist/src/services/password.js.map +1 -1
  278. package/dist/src/services/push.d.ts +16 -0
  279. package/dist/src/services/push.d.ts.map +1 -1
  280. package/dist/src/services/push.js +20 -0
  281. package/dist/src/services/push.js.map +1 -1
  282. package/dist/src/services/quota.d.ts.map +1 -1
  283. package/dist/src/services/quota.js +2 -1
  284. package/dist/src/services/quota.js.map +1 -1
  285. package/dist/src/services/scheduler.d.ts.map +1 -1
  286. package/dist/src/services/scheduler.js +17 -1
  287. package/dist/src/services/scheduler.js.map +1 -1
  288. package/dist/src/services/stats.d.ts +43 -2
  289. package/dist/src/services/stats.d.ts.map +1 -1
  290. package/dist/src/services/stats.js +177 -1
  291. package/dist/src/services/stats.js.map +1 -1
  292. package/dist/src/services/task-stall-detector.d.ts +10 -0
  293. package/dist/src/services/task-stall-detector.d.ts.map +1 -0
  294. package/dist/src/services/task-stall-detector.js +38 -0
  295. package/dist/src/services/task-stall-detector.js.map +1 -0
  296. package/dist/src/services/totp.js +2 -2
  297. package/dist/src/services/work-task-bridge.d.ts +10 -0
  298. package/dist/src/services/work-task-bridge.d.ts.map +1 -0
  299. package/dist/src/services/work-task-bridge.js +53 -0
  300. package/dist/src/services/work-task-bridge.js.map +1 -0
  301. package/dist/src/storage/interface.d.ts +175 -5
  302. package/dist/src/storage/interface.d.ts.map +1 -1
  303. package/dist/src/storage/providers/mongodb/index.d.ts +105 -2
  304. package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
  305. package/dist/src/storage/providers/mongodb/index.js +738 -8
  306. package/dist/src/storage/providers/mongodb/index.js.map +1 -1
  307. package/dist/src/storage/providers/sqlite/index.d.ts +83 -1
  308. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  309. package/dist/src/storage/providers/sqlite/index.js +204 -5
  310. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  311. package/dist/src/storage/providers/sqlite/repos/agent-activity.d.ts +14 -0
  312. package/dist/src/storage/providers/sqlite/repos/agent-activity.d.ts.map +1 -0
  313. package/dist/src/storage/providers/sqlite/repos/agent-activity.js +44 -0
  314. package/dist/src/storage/providers/sqlite/repos/agent-activity.js.map +1 -0
  315. package/dist/src/storage/providers/sqlite/repos/agent-directives.d.ts +14 -0
  316. package/dist/src/storage/providers/sqlite/repos/agent-directives.d.ts.map +1 -0
  317. package/dist/src/storage/providers/sqlite/repos/agent-directives.js +65 -0
  318. package/dist/src/storage/providers/sqlite/repos/agent-directives.js.map +1 -0
  319. package/dist/src/storage/providers/sqlite/repos/agent-message.d.ts +28 -0
  320. package/dist/src/storage/providers/sqlite/repos/agent-message.d.ts.map +1 -0
  321. package/dist/src/storage/providers/sqlite/repos/agent-message.js +93 -0
  322. package/dist/src/storage/providers/sqlite/repos/agent-message.js.map +1 -0
  323. package/dist/src/storage/providers/sqlite/repos/agent-task.d.ts +45 -0
  324. package/dist/src/storage/providers/sqlite/repos/agent-task.d.ts.map +1 -0
  325. package/dist/src/storage/providers/sqlite/repos/agent-task.js +155 -0
  326. package/dist/src/storage/providers/sqlite/repos/agent-task.js.map +1 -0
  327. package/dist/src/storage/providers/sqlite/repos/consent.d.ts +1 -0
  328. package/dist/src/storage/providers/sqlite/repos/consent.d.ts.map +1 -1
  329. package/dist/src/storage/providers/sqlite/repos/consent.js +4 -0
  330. package/dist/src/storage/providers/sqlite/repos/consent.js.map +1 -1
  331. package/dist/src/storage/providers/sqlite/repos/sharing-group.d.ts +16 -0
  332. package/dist/src/storage/providers/sqlite/repos/sharing-group.d.ts.map +1 -0
  333. package/dist/src/storage/providers/sqlite/repos/sharing-group.js +68 -0
  334. package/dist/src/storage/providers/sqlite/repos/sharing-group.js.map +1 -0
  335. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  336. package/dist/src/storage/providers/sqlite/schema.js +121 -0
  337. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  338. package/dist/src/storage/repositories/agent-activity.repository.d.ts +15 -0
  339. package/dist/src/storage/repositories/agent-activity.repository.d.ts.map +1 -0
  340. package/dist/src/storage/repositories/agent-activity.repository.js +8 -0
  341. package/dist/src/storage/repositories/agent-activity.repository.js.map +1 -0
  342. package/dist/src/storage/repositories/agent-directives.repository.d.ts +15 -0
  343. package/dist/src/storage/repositories/agent-directives.repository.d.ts.map +1 -0
  344. package/dist/src/storage/repositories/agent-directives.repository.js +8 -0
  345. package/dist/src/storage/repositories/agent-directives.repository.js.map +1 -0
  346. package/dist/src/storage/repositories/agent-message.repository.d.ts +29 -0
  347. package/dist/src/storage/repositories/agent-message.repository.d.ts.map +1 -0
  348. package/dist/src/storage/repositories/agent-message.repository.js +8 -0
  349. package/dist/src/storage/repositories/agent-message.repository.js.map +1 -0
  350. package/dist/src/storage/repositories/agent-task.repository.d.ts +46 -0
  351. package/dist/src/storage/repositories/agent-task.repository.d.ts.map +1 -0
  352. package/dist/src/storage/repositories/agent-task.repository.js +8 -0
  353. package/dist/src/storage/repositories/agent-task.repository.js.map +1 -0
  354. package/dist/src/storage/repositories/consent.repository.d.ts +1 -0
  355. package/dist/src/storage/repositories/consent.repository.d.ts.map +1 -1
  356. package/dist/src/storage/repositories/device-auth.repository.d.ts +1 -0
  357. package/dist/src/storage/repositories/device-auth.repository.d.ts.map +1 -1
  358. package/dist/src/storage/repositories/extension-instance.repository.d.ts +1 -0
  359. package/dist/src/storage/repositories/extension-instance.repository.d.ts.map +1 -1
  360. package/dist/src/storage/repositories/index.d.ts +6 -0
  361. package/dist/src/storage/repositories/index.d.ts.map +1 -1
  362. package/dist/src/storage/repositories/knowledge.repository.d.ts +2 -0
  363. package/dist/src/storage/repositories/knowledge.repository.d.ts.map +1 -1
  364. package/dist/src/storage/repositories/moderation.repository.d.ts +1 -0
  365. package/dist/src/storage/repositories/moderation.repository.d.ts.map +1 -1
  366. package/dist/src/storage/repositories/sharing-group.repository.d.ts +17 -0
  367. package/dist/src/storage/repositories/sharing-group.repository.d.ts.map +1 -0
  368. package/dist/src/storage/repositories/sharing-group.repository.js +8 -0
  369. package/dist/src/storage/repositories/sharing-group.repository.js.map +1 -0
  370. package/dist/src/storage/repositories/stats.repository.d.ts +12 -0
  371. package/dist/src/storage/repositories/stats.repository.d.ts.map +1 -0
  372. package/dist/src/storage/repositories/stats.repository.js +7 -0
  373. package/dist/src/storage/repositories/stats.repository.js.map +1 -0
  374. package/dist/src/storage/storage-factory.js +1 -0
  375. package/dist/src/storage/storage-factory.js.map +1 -1
  376. package/dist/src/utils/password-validation.d.ts +8 -0
  377. package/dist/src/utils/password-validation.d.ts.map +1 -0
  378. package/dist/src/utils/password-validation.js +25 -0
  379. package/dist/src/utils/password-validation.js.map +1 -0
  380. package/dist/src/utils/service-summary.d.ts +6 -1
  381. package/dist/src/utils/service-summary.d.ts.map +1 -1
  382. package/dist/src/utils/service-summary.js +6 -1
  383. package/dist/src/utils/service-summary.js.map +1 -1
  384. package/package.json +97 -77
  385. package/prisma/schema.prisma +128 -10
package/dist/.env.example CHANGED
@@ -34,6 +34,21 @@ AIMEAT_PORT=40050
34
34
  # CORS: comma-separated list of allowed origins, or * for all (default: *)
35
35
  # AIMEAT_CORS_ALLOWED_ORIGINS=*
36
36
  # AIMEAT_CORS_ALLOWED_ORIGINS=https://portal.aimeat.fi,https://my-app.example.com
37
+ # ── Security Limits ────────────────────────────────────────────
38
+ # AIMEAT_LOGIN_RATE_LIMIT_MAX=15 # Max login attempts per window (default: 15)
39
+ # AIMEAT_LOGIN_RATE_LIMIT_WINDOW_MS=60000 # Login rate limit window in ms (default: 60s)
40
+ # AIMEAT_REGISTRATION_RATE_LIMIT_MAX=5 # Max registrations per window (default: 5)
41
+ # AIMEAT_REGISTRATION_RATE_LIMIT_WINDOW_MS=60000
42
+ # AIMEAT_ADMIN_AUTH_RATE_LIMIT_MAX=5 # Max admin auth attempts per window (default: 5)
43
+ # AIMEAT_ADMIN_AUTH_RATE_LIMIT_WINDOW_MS=60000
44
+ # AIMEAT_PASSWORD_LOCKOUT_ATTEMPTS=5 # Failed attempts before lockout (default: 5)
45
+ # AIMEAT_PASSWORD_LOCKOUT_MINUTES=15 # Lockout duration in minutes (default: 15)
46
+ # AIMEAT_JSON_BODY_LIMIT_MB=5 # Default JSON body limit (default: 5MB)
47
+ # AIMEAT_JSON_BODY_LIMIT_LARGE_MB=15 # Large body limit for apps/extensions (default: 15MB)
48
+ # AIMEAT_EXT_MAX_DEBIT=100 # Max morsels per extension wallet.consume() call
49
+ # AIMEAT_FEDERATION_AUTH_POLICY=disabled # disabled | all_peers | specific_peers
50
+ # AIMEAT_FEDERATION_DEFAULT_SCOPES=memory:read,catalogue:read
51
+
37
52
  # ── Auth & Tokens ──────────────────────────────────────────────
38
53
  # AIMEAT_JWT_TTL=3600 # JWT lifetime in seconds (default: 1h)
39
54
  # AIMEAT_OTK_TTL_MS=300000 # OTK expiry in ms (default: 5min)
File without changes
@@ -16,7 +16,8 @@
16
16
  "profile": "Profile",
17
17
  "logout": "Log Out",
18
18
  "loggedInAs": "logged in as",
19
- "help": "Help"
19
+ "help": "Help",
20
+ "admin": "Admin"
20
21
  },
21
22
  "hero": {
22
23
  "title": "Your data is yours. Your AI works for you.",
@@ -256,6 +257,8 @@
256
257
  "connect": "Connect an Automation Agent",
257
258
  "connectDesc": "If you have OpenClaw or any other AI automation agent, give it this prompt to register an agent under your account:",
258
259
  "copyPrompt": "Copy Prompt",
260
+ "downloadInstructions": "Download Instructions",
261
+ "copyFullInstructions": "Copy Full Instructions",
259
262
  "copied": "Copied!",
260
263
  "copyGaii": "Copy GAII",
261
264
  "noAgent": "Don’t have an automation agent yet?",
@@ -352,6 +355,96 @@
352
355
  "credentials_warning": "Store the private key securely — it cannot be retrieved again.",
353
356
  "polling_note": "If your agent is polling automatically, it will receive these credentials within a few seconds.",
354
357
  "token_expiry_note": "The token expires in 24 hours. Your agent uses the private key to obtain a new token automatically."
358
+ },
359
+ "subtabs": {
360
+ "tasks": "Tasks",
361
+ "directives": "Directives",
362
+ "capabilities": "Capabilities",
363
+ "activity": "Activity",
364
+ "services": "Services",
365
+ "messages": "Messages"
366
+ },
367
+ "tasks": {
368
+ "title": "Task Queue",
369
+ "empty": "No tasks yet",
370
+ "newTask": "New Task",
371
+ "createTask": "Create Task",
372
+ "cancel": "Cancel",
373
+ "titleLabel": "Title",
374
+ "descLabel": "Description",
375
+ "statusLabel": "Status",
376
+ "draft": "Draft",
377
+ "queued": "Queued",
378
+ "active": "Active",
379
+ "done": "Done",
380
+ "failed": "Failed",
381
+ "stalled": "Stalled",
382
+ "events": "Events",
383
+ "noEvents": "No events",
384
+ "todoProgress": "TODO Progress",
385
+ "created": "Created",
386
+ "lastEvent": "Last Event",
387
+ "delete": "Delete",
388
+ "deleteConfirm": "Delete this task?"
389
+ },
390
+ "directives": {
391
+ "title": "Directives",
392
+ "purpose": "Purpose",
393
+ "rules": "Rules",
394
+ "memoryAreas": "Memory Areas",
395
+ "resources": "Resources",
396
+ "edit": "Edit",
397
+ "save": "Save",
398
+ "cancel": "Cancel",
399
+ "reset": "Reset to Defaults",
400
+ "resetConfirm": "Reset agent directives to defaults?",
401
+ "empty": "No directives configured",
402
+ "addRule": "Add Rule",
403
+ "system": "System",
404
+ "owner": "Owner",
405
+ "agent": "Agent"
406
+ },
407
+ "capabilities": {
408
+ "technical": "Technical Skills",
409
+ "domain": "Domain Knowledge",
410
+ "actionQueue": "Action Queue Support",
411
+ "verified": "verified",
412
+ "selfReported": "self-reported",
413
+ "empty": "No capabilities reported yet",
414
+ "canAccept": "Can accept work",
415
+ "canDeliver": "Can deliver work",
416
+ "languages": "Languages"
417
+ },
418
+ "activity": {
419
+ "tasksCompleted": "Tasks Completed",
420
+ "tokensUsed": "Tokens Used (30d)",
421
+ "successRate": "Success Rate",
422
+ "scheduledJobs": "Scheduled Jobs",
423
+ "recentLog": "Recent Log",
424
+ "viewFullLog": "View full log",
425
+ "noActivity": "No activity recorded yet",
426
+ "aimeatJob": "AIMEAT (system)",
427
+ "agentJob": "Agent environment"
428
+ },
429
+ "services": {
430
+ "title": "Published Services",
431
+ "empty": "No services published",
432
+ "info": "Other agents can call these services via the work exchange",
433
+ "calls": "calls",
434
+ "unpublish": "Unpublish"
435
+ },
436
+ "messages": {
437
+ "title": "Messages",
438
+ "empty": "No messages yet. Send a message to start a conversation.",
439
+ "send": "Send",
440
+ "placeholder": "Type a message...",
441
+ "online": "online",
442
+ "offline": "offline",
443
+ "threads": "Conversations",
444
+ "proposedTask": "Proposed task",
445
+ "createTask": "Create this task",
446
+ "adjustTask": "Let me adjust",
447
+ "tokensUsed": "tokens"
355
448
  }
356
449
  },
357
450
  "scopes": {
@@ -549,7 +642,9 @@
549
642
  "shareToFederation": "Share",
550
643
  "stopSharing": "Unshare",
551
644
  "shareSuccess": "Shared to federation",
552
- "unshareSuccess": "Removed from federation"
645
+ "unshareSuccess": "Removed from federation",
646
+ "selectGroup": "Select group",
647
+ "noGroups": "No sharing groups. Create one in the Access tab."
553
648
  },
554
649
  "files": {
555
650
  "title": "Stored Files",
@@ -770,7 +865,92 @@
770
865
  "fedNoConsents": "No federation login access granted.",
771
866
  "fedRemove": "Remove",
772
867
  "fedGranted": "Auth access granted",
773
- "fedRevoked": "Auth access revoked"
868
+ "fedRevoked": "Auth access revoked",
869
+ "sharingGroups": {
870
+ "title": "Sharing Groups",
871
+ "desc": "Create groups to share memory and files with specific users and agents",
872
+ "empty": "No sharing groups yet",
873
+ "newGroup": "New Group",
874
+ "create": "Create Group",
875
+ "cancel": "Cancel",
876
+ "name": "Group Name",
877
+ "description": "Description",
878
+ "members": "Members",
879
+ "entries": "Shared Entries",
880
+ "delete": "Delete Group",
881
+ "deleteConfirm": "Delete this sharing group?",
882
+ "addMember": "Add Member",
883
+ "removeMember": "Remove",
884
+ "identifier": "Identifier (GAII or GHII)",
885
+ "identifierType": "Type"
886
+ },
887
+ "agentDefaults": {
888
+ "title": "Agent Defaults",
889
+ "desc": "Default rules and settings applied to all your agents",
890
+ "rules": "Default Rules",
891
+ "tokenBudget": "Default Token Budget",
892
+ "empty": "No defaults configured",
893
+ "edit": "Edit",
894
+ "save": "Save",
895
+ "cancel": "Cancel"
896
+ },
897
+ "sgTitle": "Sharing Groups",
898
+ "sgDesc": "Define groups of identities to share memory entries with. Assign a sharing group to memory keys to control who can read or write.",
899
+ "sgEmpty": "No sharing groups yet.",
900
+ "sgLoading": "Loading...",
901
+ "sgCreate": "New Group",
902
+ "sgCreateTitle": "Create Sharing Group",
903
+ "sgCreateBtn": "Create",
904
+ "sgGroupName": "Group name",
905
+ "sgNamePlaceholder": "e.g. Team Alpha",
906
+ "sgDescription": "Description (optional)",
907
+ "sgDescPlaceholder": "What is this group for?",
908
+ "sgNameRequired": "Group name is required",
909
+ "sgCreated": "Sharing group created",
910
+ "sgCreateError": "Failed to create group",
911
+ "sgUpdated": "Group updated",
912
+ "sgUpdateError": "Failed to update group",
913
+ "sgConfirmDelete": "Delete group \"{name}\"? This cannot be undone.",
914
+ "sgDeleted": "Sharing group deleted",
915
+ "sgDeleteError": "Failed to delete group",
916
+ "sgEdit": "Edit",
917
+ "sgDelete": "Delete",
918
+ "sgSave": "Save",
919
+ "sgCancel": "Cancel",
920
+ "sgMembers": "members",
921
+ "sgMemberList": "Members",
922
+ "sgNoMembers": "No members yet",
923
+ "sgAddMember": "Add Member",
924
+ "sgMemberIdentifier": "Identifier (GHII or GAII)",
925
+ "sgMemberType": "Type",
926
+ "sgMemberRequired": "Identifier is required",
927
+ "sgMemberAdded": "Member added",
928
+ "sgMemberAddError": "Failed to add member",
929
+ "sgConfirmRemoveMember": "Remove \"{name}\" from this group?",
930
+ "sgMemberRemoved": "Member removed",
931
+ "sgMemberRemoveError": "Failed to remove member",
932
+ "sgDefaultPerms": "Default permissions",
933
+ "sgCreatedAt": "Created",
934
+ "sgRead": "Read",
935
+ "sgWrite": "Write",
936
+ "sgRemove": "Remove",
937
+ "adTitle": "Agent Defaults",
938
+ "adDesc": "Owner-level defaults that apply to all your agents unless overridden by per-agent directives.",
939
+ "adRules": "Default Rules",
940
+ "adEdit": "Edit",
941
+ "adEditTitle": "Edit Agent Defaults",
942
+ "adNoRules": "No default rules set.",
943
+ "adTokenBudget": "Token Budget",
944
+ "adUnlimited": "Unlimited",
945
+ "adBudgetPlaceholder": "Leave empty for unlimited",
946
+ "adRulePlaceholder": "Add a rule...",
947
+ "adAddRule": "Add",
948
+ "adRemoveRule": "Remove",
949
+ "adSave": "Save",
950
+ "adCancel": "Cancel",
951
+ "adInvalidBudget": "Token budget must be a non-negative number",
952
+ "adSaved": "Agent defaults saved",
953
+ "adSaveError": "Failed to save defaults"
774
954
  },
775
955
  "nodes": {
776
956
  "title": "Personal Nodes",
@@ -1694,7 +1874,8 @@
1694
1874
  "public": "Public",
1695
1875
  "private": "Private",
1696
1876
  "owner": "My Agents",
1697
- "protected": "Protected"
1877
+ "protected": "Protected",
1878
+ "group": "Group"
1698
1879
  },
1699
1880
  "knowledge": {
1700
1881
  "parseError": "Could not parse the pasted content as JSON",
@@ -2229,7 +2410,8 @@
2229
2410
  "errUserShort": "Username must be at least 3 characters",
2230
2411
  "errPassShort": "Password must be at least 4 characters",
2231
2412
  "errWrongPass": "Wrong password for that username.",
2232
- "errFederatedLogin": "Federated login is not yet supported. This node is {localNode}, but the identity belongs to {remoteNode}.",
2413
+ "connectingHome": "Connecting to home node...",
2414
+ "errFederatedLogin": "Could not reach home node {remoteNode} for federated login.",
2233
2415
  "loggedIn": "logged in",
2234
2416
  "logoutBtn": "Logout",
2235
2417
  "usernameLabel": "Username",
@@ -2795,7 +2977,7 @@
2795
2977
  "dailyActivity": "Daily Activity (30 days)",
2796
2978
  "weeklyComparison": "Weekly Comparison",
2797
2979
  "monthlyTrend": "Monthly Trend",
2798
- "statsExplain": "Lightweight usage counters. Resets on server restart.",
2980
+ "statsExplain": "Usage counters persisted to database. Uptime and live gauges reset on restart.",
2799
2981
  "writes": "Writes",
2800
2982
  "reads": "Reads",
2801
2983
  "grants": "Grants",
@@ -2993,6 +3175,63 @@
2993
3175
  "pushUnsubscribeBtn": "Unsubscribe",
2994
3176
  "pushNoBrowserSupport": "This browser does not support push notifications",
2995
3177
 
3178
+ "blocked": "Blocked",
3179
+ "blockedCooldown": "Cooldown",
3180
+ "blockedDisabled": "Disabled",
3181
+ "blockedQuietHours": "Quiet Hours",
3182
+ "breakdownFailed": "Failed",
3183
+ "breakdownRetried": "Retried",
3184
+ "breakdownSent": "Sent",
3185
+ "breakdownType": "Type",
3186
+ "channelEmail": "Email",
3187
+ "channelPush": "Push",
3188
+ "channels": "Channels",
3189
+ "emailDelivery": "Email Delivery",
3190
+ "emailType": {
3191
+ "group_send": "Group Send",
3192
+ "magic_link": "Magic Link",
3193
+ "match_suggestion": "Match Suggestion",
3194
+ "notification": "Notification",
3195
+ "verification": "Verification"
3196
+ },
3197
+ "emailsFailed": "Emails Failed",
3198
+ "emailsRetried": "Emails Retried",
3199
+ "emailsSent": "Emails Sent",
3200
+ "expiredSubs": "Expired Subs",
3201
+ "live": "live",
3202
+ "mailboxNotifBlocked": "Mailbox Blocked",
3203
+ "mailboxNotifFailed": "Mailbox Failed",
3204
+ "mailboxNotifSent": "Mailbox Sent",
3205
+ "mailboxNotifications": "Mailbox Notifications",
3206
+ "period30Days": "30 Days",
3207
+ "period7Days": "7 Days",
3208
+ "periodAll": "All",
3209
+ "periodApply": "Apply",
3210
+ "periodCustom": "Custom",
3211
+ "periodFrom": "From",
3212
+ "periodLabel": "Period",
3213
+ "periodThisWeek": "This Week",
3214
+ "periodTo": "To",
3215
+ "periodToday": "Today",
3216
+ "weekMon": "Mon",
3217
+ "weekTue": "Tue",
3218
+ "weekWed": "Wed",
3219
+ "weekThu": "Thu",
3220
+ "weekFri": "Fri",
3221
+ "weekSat": "Sat",
3222
+ "weekSun": "Sun",
3223
+ "pushDelivery": "Push Notifications",
3224
+ "pushFailed": "Push Failed",
3225
+ "pushSent": "Push Sent",
3226
+ "pushType": {
3227
+ "board": "Board",
3228
+ "federation": "Federation",
3229
+ "general": "General",
3230
+ "organism": "Organism",
3231
+ "test": "Test",
3232
+ "work": "Work"
3233
+ },
3234
+
2996
3235
  "totalEntries": "Total Entries",
2997
3236
  "cities": "Cities",
2998
3237
  "categories": "Categories",
@@ -3211,6 +3450,13 @@
3211
3450
  "fedShareCatalogue": "Share Catalogue",
3212
3451
  "fedReplicateMemory": "Replicate Memory",
3213
3452
  "fedAllowRouting": "Allow Routing",
3453
+ "fedAllowAuth": "Allow Federated Login",
3454
+ "fedAuthPolicyTitle": "Federation Auth Policy",
3455
+ "fedAuthPolicyDesc": "Control whether users from other nodes can log in here and what they can do.",
3456
+ "fedAuthDisabled": "Disabled (no federated logins)",
3457
+ "fedAuthAllPeers": "All peers (any active peer's users can log in)",
3458
+ "fedAuthSpecificPeers": "Specific peers (per-peer control)",
3459
+ "fedDefaultScopes": "Default scopes for federated users:",
3214
3460
  "fedPeerMode": "Peer Mode",
3215
3461
  "fedPeerModeFederation": "Federation",
3216
3462
  "fedPeerModePrivate": "Private P2P",
@@ -3257,6 +3503,17 @@
3257
3503
  "cfgGroup_totp": "TOTP",
3258
3504
  "cfgGroup_matching": "Matching",
3259
3505
  "cfgGroup_extensions": "Extensions",
3506
+ "cfgGroup_security": "Security",
3507
+ "cfg_security_login_rate_limit_max": "Login rate limit (max per window)",
3508
+ "cfg_security_login_rate_limit_window_ms": "Login rate limit window (ms)",
3509
+ "cfg_security_registration_rate_limit_max": "Registration rate limit (max per window)",
3510
+ "cfg_security_registration_rate_limit_window_ms": "Registration rate limit window (ms)",
3511
+ "cfg_security_admin_auth_rate_limit_max": "Admin auth rate limit (max per window)",
3512
+ "cfg_security_admin_auth_rate_limit_window_ms": "Admin auth rate limit window (ms)",
3513
+ "cfg_security_password_lockout_attempts": "Password lockout after N failures",
3514
+ "cfg_security_password_lockout_minutes": "Password lockout duration (minutes)",
3515
+ "cfg_security_json_body_limit_mb": "JSON body size limit (MB)",
3516
+ "cfg_security_json_body_limit_large_mb": "Large body size limit for apps/extensions (MB)",
3260
3517
  "cfgGroup_marketplace": "Marketplace",
3261
3518
  "cfgGroup_push": "Push",
3262
3519
  "cfgGroup_eudiw": "EUDIW",
@@ -3498,7 +3755,32 @@
3498
3755
  "memoryFilterPrefix": "Filter by key prefix",
3499
3756
  "memoryNoResults": "No memory keys found",
3500
3757
  "memoryDeleteConfirm": "Delete this memory key?",
3501
- "memoryDeleted": "Memory key deleted"
3758
+ "memoryDeleted": "Memory key deleted",
3759
+ "agentTasksTab": "Agent Tasks",
3760
+ "agentTasksDesc": "Overview of all agent tasks across the node",
3761
+ "agentTasksTotal": "Total Tasks",
3762
+ "agentTasksEmpty": "No agent tasks found",
3763
+ "agentTasksAgent": "Agent",
3764
+ "agentTasksTitle": "Title",
3765
+ "agentTasksStatus": "Status",
3766
+ "agentTasksTodoProgress": "TODO Progress",
3767
+ "agentTasksCreated": "Created",
3768
+ "agentTasksLastEvent": "Last Event",
3769
+ "agentTasksActiveTasks": "Active Agent Tasks",
3770
+ "agentTasksFilterStatus": "Filter by status",
3771
+ "agentTasksAllStatuses": "All statuses",
3772
+ "sharingGroupsTab": "Sharing Groups",
3773
+ "sharingGroupsDesc": "Overview of all sharing groups on the node",
3774
+ "sharingGroupsTotal": "Total Groups",
3775
+ "sharingGroupsEmpty": "No sharing groups found",
3776
+ "sharingGroupsName": "Name",
3777
+ "sharingGroupsOwner": "Owner",
3778
+ "sharingGroupsMembers": "Members",
3779
+ "sharingGroupsEntries": "Entries",
3780
+ "sharingGroupsCreated": "Created",
3781
+ "sharingGroupsTotalCount": "Sharing Groups",
3782
+ "overviewActiveTasks": "Active Tasks",
3783
+ "overviewSharingGroups": "Sharing Groups"
3502
3784
  },
3503
3785
  "launcher": {
3504
3786
  "title": "My Apps",
@@ -3887,7 +4169,8 @@
3887
4169
  "errUserShort": "Username must be at least 3 characters",
3888
4170
  "errPassShort": "Password must be at least 4 characters",
3889
4171
  "errWrongPass": "Wrong password for that username.",
3890
- "errFederatedLogin": "Federated login is not yet supported. This node is {localNode}, but the identity belongs to {remoteNode}.",
4172
+ "connectingHome": "Connecting to home node...",
4173
+ "errFederatedLogin": "Could not reach home node {remoteNode} for federated login.",
3891
4174
  "loggedIn": "logged in",
3892
4175
  "logoutBtn": "Logout",
3893
4176
  "whyTitle": "✨ What do you get?",