aimeat 1.16.2 → 1.18.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 (281) hide show
  1. package/dist/.env.example +6 -1
  2. package/dist/locales/en.json +166 -4
  3. package/dist/locales/fi.json +166 -4
  4. package/dist/public/components/Card.js +17 -3
  5. package/dist/public/components/Collapsible.js +39 -0
  6. package/dist/public/components/CopyButton.js +55 -24
  7. package/dist/public/components/DataTable.js +57 -0
  8. package/dist/public/components/EmptyState.js +28 -0
  9. package/dist/public/components/KeyValueRow.js +37 -0
  10. package/dist/public/components/Modal.js +22 -5
  11. package/dist/public/components/Pagination.js +70 -0
  12. package/dist/public/components/SearchBar.js +44 -0
  13. package/dist/public/components/StatusDot.js +29 -0
  14. package/dist/public/components/TagList.js +53 -0
  15. package/dist/public/components/ToggleSwitch.js +28 -0
  16. package/dist/public/components/index.js +41 -1
  17. package/dist/public/css/components/tags.css +24 -0
  18. package/dist/public/css/style-testbed.css +135 -0
  19. package/dist/public/css/theme.css +556 -34
  20. package/dist/public/css/views/admin-agent-integration.css +2 -33
  21. package/dist/public/css/views/admin.css +730 -686
  22. package/dist/public/css/views/agents-detail.css +402 -14
  23. package/dist/public/css/views/help.css +2 -1
  24. package/dist/public/css/views/hobbies.css +53 -33
  25. package/dist/public/css/views/marketplace.css +73 -60
  26. package/dist/public/css/views/openclaw.css +12 -6
  27. package/dist/public/css/views/portal-classic.css +34 -26
  28. package/dist/public/css/views/portal-dev.css +41 -32
  29. package/dist/public/css/views/portal.css +14 -18
  30. package/dist/public/css/views/profile.css +252 -164
  31. package/dist/public/css/views/public-knowledge-viewer.css +18 -6
  32. package/dist/public/css/views/scheduler.css +100 -0
  33. package/dist/public/js/format.js +41 -0
  34. package/dist/public/js/services/agent-tasks.js +14 -1
  35. package/dist/public/js/services/generator-spec-validate.js +5 -1
  36. package/dist/public/js/services/schedules.js +53 -0
  37. package/dist/public/js/style-testbed.js +170 -0
  38. package/dist/public/js/theme.js +114 -0
  39. package/dist/public/spa.html +74 -16
  40. package/dist/public/style-testbed.html +420 -0
  41. package/dist/public/views/admin/agent-integration-tab.js +23 -38
  42. package/dist/public/views/admin/agent-tasks-tab.js +14 -21
  43. package/dist/public/views/admin/chat-instances-tab.js +1 -1
  44. package/dist/public/views/admin/config-tab.js +7 -2
  45. package/dist/public/views/admin/cortex-tab.js +20 -14
  46. package/dist/public/views/admin/csm-tab.js +22 -18
  47. package/dist/public/views/admin/directory-tab.js +3 -3
  48. package/dist/public/views/admin/email-tab.js +23 -28
  49. package/dist/public/views/admin/federation-tab.js +15 -5
  50. package/dist/public/views/admin/generator-debug-tab.js +10 -8
  51. package/dist/public/views/admin/genesis-tab.js +4 -4
  52. package/dist/public/views/admin/ghii-tab.js +3 -3
  53. package/dist/public/views/admin/knowledge-tab.js +15 -5
  54. package/dist/public/views/admin/matching-tab.js +3 -3
  55. package/dist/public/views/admin/memory-tab.js +16 -20
  56. package/dist/public/views/admin/msm-tab.js +30 -17
  57. package/dist/public/views/admin/overview-tab.js +7 -7
  58. package/dist/public/views/admin/packages-tab.js +10 -9
  59. package/dist/public/views/admin/portal-tab.js +14 -4
  60. package/dist/public/views/admin/prompts-tab.js +5 -5
  61. package/dist/public/views/admin/push-tab.js +15 -4
  62. package/dist/public/views/admin/realtime-tab.js +3 -3
  63. package/dist/public/views/admin/services-tab.js +18 -27
  64. package/dist/public/views/admin/shared.js +48 -58
  65. package/dist/public/views/admin/sharing-groups-tab.js +5 -10
  66. package/dist/public/views/admin/stats-tab.js +3 -3
  67. package/dist/public/views/guides.js +9 -13
  68. package/dist/public/views/help.js +3 -24
  69. package/dist/public/views/hobbies.js +47 -41
  70. package/dist/public/views/marketplace.js +42 -34
  71. package/dist/public/views/openclaw.js +0 -1
  72. package/dist/public/views/portal-classic.js +4 -15
  73. package/dist/public/views/portal-dev.js +28 -30
  74. package/dist/public/views/portal.js +16 -21
  75. package/dist/public/views/portfolio.js +11 -12
  76. package/dist/public/views/profile/access-tab.js +250 -1
  77. package/dist/public/views/profile/agents/agent-card.js +75 -4
  78. package/dist/public/views/profile/agents/tab-activity.js +15 -13
  79. package/dist/public/views/profile/agents/tab-agent-config.js +60 -6
  80. package/dist/public/views/profile/agents/tab-integration.js +37 -60
  81. package/dist/public/views/profile/agents/tab-messages.js +10 -1
  82. package/dist/public/views/profile/agents/tab-quality.js +25 -19
  83. package/dist/public/views/profile/agents/tab-schedules.js +110 -0
  84. package/dist/public/views/profile/agents-activity-subtab.js +4 -4
  85. package/dist/public/views/profile/agents-services-subtab.js +5 -4
  86. package/dist/public/views/profile/agents-tab.js +141 -37
  87. package/dist/public/views/profile/agents-tasks-subtab.js +221 -26
  88. package/dist/public/views/profile/calibrator-batch.js +5 -11
  89. package/dist/public/views/profile/calibrator-tab.js +4 -9
  90. package/dist/public/views/profile/chat-sessions-tab.js +9 -5
  91. package/dist/public/views/profile/email-tab.js +2 -2
  92. package/dist/public/views/profile/extensions-tab.js +27 -22
  93. package/dist/public/views/profile/federation-tab.js +4 -1
  94. package/dist/public/views/profile/foundry-detail.js +22 -23
  95. package/dist/public/views/profile/foundry-tab.js +12 -13
  96. package/dist/public/views/profile/generator-dashboard/DebugPanel.js +4 -7
  97. package/dist/public/views/profile/generator-dashboard/use-dashboard-core.js +4 -1
  98. package/dist/public/views/profile/generator-dashboard/use-edit-mode.js +3 -2
  99. package/dist/public/views/profile/generator-detail.js +26 -30
  100. package/dist/public/views/profile/generator-tab.js +5 -5
  101. package/dist/public/views/profile/knowledge-tab.js +12 -12
  102. package/dist/public/views/profile/landing-page.js +100 -149
  103. package/dist/public/views/profile/memory-tab.js +15 -11
  104. package/dist/public/views/profile/node-stats-tab.js +3 -3
  105. package/dist/public/views/profile/nodes-tab.js +10 -3
  106. package/dist/public/views/profile/notifications-tab.js +3 -3
  107. package/dist/public/views/profile/packages-tab.js +14 -14
  108. package/dist/public/views/profile/scheduler-tab.js +340 -0
  109. package/dist/public/views/profile/services-tab.js +1 -1
  110. package/dist/public/views/profile/shared.js +16 -12
  111. package/dist/public/views/profile/wallet-tab.js +27 -50
  112. package/dist/public/views/profile/work-tab.js +29 -31
  113. package/dist/public/views/profile.js +24 -0
  114. package/dist/public/views/public-knowledge-viewer.js +9 -18
  115. package/dist/src/auth/middleware.d.ts +3 -2
  116. package/dist/src/auth/middleware.d.ts.map +1 -1
  117. package/dist/src/auth/middleware.js +78 -3
  118. package/dist/src/auth/middleware.js.map +1 -1
  119. package/dist/src/cli/init-wizard.d.ts.map +1 -1
  120. package/dist/src/cli/init-wizard.js +13 -1
  121. package/dist/src/cli/init-wizard.js.map +1 -1
  122. package/dist/src/config.d.ts +6 -0
  123. package/dist/src/config.d.ts.map +1 -1
  124. package/dist/src/config.js +12 -1
  125. package/dist/src/config.js.map +1 -1
  126. package/dist/src/generated/api-types.d.ts +708 -8
  127. package/dist/src/generated/api-types.d.ts.map +1 -1
  128. package/dist/src/mcp/agent-schedules.d.ts +23 -0
  129. package/dist/src/mcp/agent-schedules.d.ts.map +1 -0
  130. package/dist/src/mcp/agent-schedules.js +175 -0
  131. package/dist/src/mcp/agent-schedules.js.map +1 -0
  132. package/dist/src/mcp/annotations.d.ts.map +1 -1
  133. package/dist/src/mcp/annotations.js +6 -0
  134. package/dist/src/mcp/annotations.js.map +1 -1
  135. package/dist/src/mcp/catalog/definitions.d.ts.map +1 -1
  136. package/dist/src/mcp/catalog/definitions.js +55 -0
  137. package/dist/src/mcp/catalog/definitions.js.map +1 -1
  138. package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
  139. package/dist/src/mcp/catalog/scopes.js +12 -0
  140. package/dist/src/mcp/catalog/scopes.js.map +1 -1
  141. package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
  142. package/dist/src/mcp/catalog/surfaces.js +2 -0
  143. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  144. package/dist/src/mcp/index.d.ts.map +1 -1
  145. package/dist/src/mcp/index.js +2 -0
  146. package/dist/src/mcp/index.js.map +1 -1
  147. package/dist/src/models/agent-task-schemas.d.ts +6 -0
  148. package/dist/src/models/agent-task-schemas.d.ts.map +1 -1
  149. package/dist/src/models/agent-task-schemas.js +6 -0
  150. package/dist/src/models/agent-task-schemas.js.map +1 -1
  151. package/dist/src/models/schemas.d.ts +1 -0
  152. package/dist/src/models/schemas.d.ts.map +1 -1
  153. package/dist/src/models/schemas.js +4 -0
  154. package/dist/src/models/schemas.js.map +1 -1
  155. package/dist/src/routes/access-tokens.d.ts +17 -0
  156. package/dist/src/routes/access-tokens.d.ts.map +1 -0
  157. package/dist/src/routes/access-tokens.js +164 -0
  158. package/dist/src/routes/access-tokens.js.map +1 -0
  159. package/dist/src/routes/agent-tasks.d.ts +2 -0
  160. package/dist/src/routes/agent-tasks.d.ts.map +1 -1
  161. package/dist/src/routes/agent-tasks.js +118 -23
  162. package/dist/src/routes/agent-tasks.js.map +1 -1
  163. package/dist/src/routes/agents.d.ts.map +1 -1
  164. package/dist/src/routes/agents.js +46 -0
  165. package/dist/src/routes/agents.js.map +1 -1
  166. package/dist/src/routes/ai.d.ts +6 -9
  167. package/dist/src/routes/ai.d.ts.map +1 -1
  168. package/dist/src/routes/ai.js +26 -175
  169. package/dist/src/routes/ai.js.map +1 -1
  170. package/dist/src/routes/apps.d.ts.map +1 -1
  171. package/dist/src/routes/apps.js +104 -34
  172. package/dist/src/routes/apps.js.map +1 -1
  173. package/dist/src/routes/auth.d.ts.map +1 -1
  174. package/dist/src/routes/auth.js +77 -4
  175. package/dist/src/routes/auth.js.map +1 -1
  176. package/dist/src/routes/cortex.d.ts +2 -1
  177. package/dist/src/routes/cortex.d.ts.map +1 -1
  178. package/dist/src/routes/cortex.js +13 -8
  179. package/dist/src/routes/cortex.js.map +1 -1
  180. package/dist/src/routes/extensions.d.ts.map +1 -1
  181. package/dist/src/routes/extensions.js +85 -51
  182. package/dist/src/routes/extensions.js.map +1 -1
  183. package/dist/src/routes/generator.d.ts.map +1 -1
  184. package/dist/src/routes/generator.js +109 -43
  185. package/dist/src/routes/generator.js.map +1 -1
  186. package/dist/src/routes/ghii.d.ts.map +1 -1
  187. package/dist/src/routes/ghii.js +34 -13
  188. package/dist/src/routes/ghii.js.map +1 -1
  189. package/dist/src/routes/libs.d.ts +15 -0
  190. package/dist/src/routes/libs.d.ts.map +1 -1
  191. package/dist/src/routes/libs.js +178 -55
  192. package/dist/src/routes/libs.js.map +1 -1
  193. package/dist/src/routes/portal.d.ts.map +1 -1
  194. package/dist/src/routes/portal.js +1 -0
  195. package/dist/src/routes/portal.js.map +1 -1
  196. package/dist/src/routes/schedules.d.ts +33 -0
  197. package/dist/src/routes/schedules.d.ts.map +1 -0
  198. package/dist/src/routes/schedules.js +380 -0
  199. package/dist/src/routes/schedules.js.map +1 -0
  200. package/dist/src/server-bootstrap/config-init.js +2 -2
  201. package/dist/src/server-bootstrap/config-init.js.map +1 -1
  202. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  203. package/dist/src/server-bootstrap/routes-loader.js +7 -0
  204. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  205. package/dist/src/server-bootstrap/service-init.d.ts.map +1 -1
  206. package/dist/src/server-bootstrap/service-init.js +2 -1
  207. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  208. package/dist/src/services/access-token.d.ts +28 -0
  209. package/dist/src/services/access-token.d.ts.map +1 -0
  210. package/dist/src/services/access-token.js +37 -0
  211. package/dist/src/services/access-token.js.map +1 -0
  212. package/dist/src/services/ai-completion.d.ts +83 -0
  213. package/dist/src/services/ai-completion.d.ts.map +1 -0
  214. package/dist/src/services/ai-completion.js +187 -0
  215. package/dist/src/services/ai-completion.js.map +1 -0
  216. package/dist/src/services/config-schema.d.ts.map +1 -1
  217. package/dist/src/services/config-schema.js +3 -0
  218. package/dist/src/services/config-schema.js.map +1 -1
  219. package/dist/src/services/generator-prompt-seeds.d.ts.map +1 -1
  220. package/dist/src/services/generator-prompt-seeds.js +6 -3
  221. package/dist/src/services/generator-prompt-seeds.js.map +1 -1
  222. package/dist/src/services/generator-prompts/spec-validate.d.ts.map +1 -1
  223. package/dist/src/services/generator-prompts/spec-validate.js +6 -2
  224. package/dist/src/services/generator-prompts/spec-validate.js.map +1 -1
  225. package/dist/src/services/generator-registration.d.ts +12 -4
  226. package/dist/src/services/generator-registration.d.ts.map +1 -1
  227. package/dist/src/services/generator-registration.js +71 -0
  228. package/dist/src/services/generator-registration.js.map +1 -1
  229. package/dist/src/services/generator-validate.d.ts +10 -0
  230. package/dist/src/services/generator-validate.d.ts.map +1 -1
  231. package/dist/src/services/generator-validate.js +180 -36
  232. package/dist/src/services/generator-validate.js.map +1 -1
  233. package/dist/src/services/owner-session.d.ts +43 -0
  234. package/dist/src/services/owner-session.d.ts.map +1 -0
  235. package/dist/src/services/owner-session.js +175 -0
  236. package/dist/src/services/owner-session.js.map +1 -0
  237. package/dist/src/services/schedule-constraints.d.ts +65 -0
  238. package/dist/src/services/schedule-constraints.d.ts.map +1 -0
  239. package/dist/src/services/schedule-constraints.js +106 -0
  240. package/dist/src/services/schedule-constraints.js.map +1 -0
  241. package/dist/src/services/scheduler.d.ts +34 -0
  242. package/dist/src/services/scheduler.d.ts.map +1 -1
  243. package/dist/src/services/scheduler.js +266 -22
  244. package/dist/src/services/scheduler.js.map +1 -1
  245. package/dist/src/services/skill-bundle/generator.js +19 -0
  246. package/dist/src/services/skill-bundle/generator.js.map +1 -1
  247. package/dist/src/storage/interface.d.ts +48 -4
  248. package/dist/src/storage/interface.d.ts.map +1 -1
  249. package/dist/src/storage/interface.js.map +1 -1
  250. package/dist/src/storage/providers/mongodb/index.d.ts +31 -0
  251. package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
  252. package/dist/src/storage/providers/mongodb/index.js +187 -9
  253. package/dist/src/storage/providers/mongodb/index.js.map +1 -1
  254. package/dist/src/storage/providers/sqlite/index.d.ts +31 -0
  255. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  256. package/dist/src/storage/providers/sqlite/index.js +131 -8
  257. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  258. package/dist/src/storage/providers/sqlite/repos/agent-task.d.ts.map +1 -1
  259. package/dist/src/storage/providers/sqlite/repos/agent-task.js +6 -4
  260. package/dist/src/storage/providers/sqlite/repos/agent-task.js.map +1 -1
  261. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  262. package/dist/src/storage/providers/sqlite/schema.js +79 -8
  263. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  264. package/dist/src/storage/repositories/pat.repository.d.ts +40 -0
  265. package/dist/src/storage/repositories/pat.repository.d.ts.map +1 -0
  266. package/dist/src/storage/repositories/pat.repository.js +14 -0
  267. package/dist/src/storage/repositories/pat.repository.js.map +1 -0
  268. package/dist/src/storage/repositories/scheduler.repository.d.ts +2 -0
  269. package/dist/src/storage/repositories/scheduler.repository.d.ts.map +1 -1
  270. package/dist/src/storage/repositories/session.repository.d.ts +51 -0
  271. package/dist/src/storage/repositories/session.repository.d.ts.map +1 -1
  272. package/dist/src/storage/repositories/session.repository.js +12 -0
  273. package/dist/src/storage/repositories/session.repository.js.map +1 -1
  274. package/dist/src/utils/env-config.d.ts.map +1 -1
  275. package/dist/src/utils/env-config.js +25 -1
  276. package/dist/src/utils/env-config.js.map +1 -1
  277. package/dist/src/utils/env-validator.d.ts.map +1 -1
  278. package/dist/src/utils/env-validator.js +4 -0
  279. package/dist/src/utils/env-validator.js.map +1 -1
  280. package/package.json +1 -1
  281. package/prisma/schema.prisma +48 -0
@@ -4,6 +4,21 @@
4
4
  * @structure libsRouter route registration; aimeatAuthLib browser auth/session helper; individual library imports delegated to lib-* modules.
5
5
  * @usage app.use(libsRouter(config, storage)) from the server setup.
6
6
  * @version-history
7
+ * v1.15.0 - 2026-06-03 - aimeat-auth.js boot restores a session from the httpOnly refresh
8
+ * cookie alone (no localStorage) so a browser an agent authenticated with an owner access
9
+ * token shows as logged in. (Agent access tokens, Phase 3b.)
10
+ * v1.14.0 - 2026-06-03 - mountLoginButton: add hook classes (aimeat-auth-pill/-dot/
11
+ * -label/-ghii/-logout) so the logged-in pill can go compact on mobile (theme.css
12
+ * hides label+ghii, keeping the dot + Logout). Pill markup/styles otherwise unchanged.
13
+ * v1.13.0 - 2026-06-03 - aimeat-auth.js owner sessions now refresh via the httpOnly
14
+ * refresh cookie (POST /v1/auth/refresh) instead of owner-key signing: single-flight
15
+ * refresh, refresh-on-boot, logout revokes server-side. Cross-device login no longer
16
+ * breaks other sessions. Agent/federated paths unchanged. (Phase 3 of refresh-tokens.)
17
+ * v1.12.0 - 2026-06-03 - Session resilience: aimeat-auth.js now refreshes the
18
+ * JWT on tab focus/visibilitychange (timers don't fire while the machine sleeps
19
+ * or the tab is frozen, so the proactive setTimeout was unreliable). loginWithPassword
20
+ * sends request_owner_key only when this device holds no key, so password login
21
+ * no longer rotates the owner key and breaks other devices' refresh.
7
22
  * v1.11.0 - 2026-05-31 - Add aimeat-agents.js — apps commission & observe the
8
23
  * owner's agents (list, createTask/run, watch via SSE, deliverables,
9
24
  * option-prompt answer loop). Registered as a route + in the /v1/libs catalogue.
@@ -427,6 +442,54 @@ async function authApi(path, jwt, opts = {}) {
427
442
 
428
443
  let currentSession = null;
429
444
  let refreshTimer = null;
445
+ let ownerRefreshInFlight = null; // shared promise so concurrent owner refreshes don't each rotate
446
+
447
+ // Persist non-secret session metadata (+ short-lived access token) to localStorage.
448
+ // The long-lived refresh token is an httpOnly cookie and is never readable here.
449
+ function persistSession(session) {
450
+ save('session', {
451
+ owner: session.owner, gaii: session.gaii, ghii: session.ghii,
452
+ jwt: session.jwt, publicKey: session.publicKey, roles: session.roles,
453
+ displayName: session.displayName || '',
454
+ federated: session.federated || false,
455
+ homeNode: session.homeNode || '',
456
+ homeUrl: session.homeUrl || '',
457
+ });
458
+ }
459
+
460
+ // Restore a session purely from the httpOnly refresh cookie, with NO local metadata. Makes
461
+ // the app boot "logged in" when a cookie exists but localStorage is empty — e.g. a browser
462
+ // an agent authenticated with an owner Personal Access Token (the server set the cookie to
463
+ // the token). Returns null when there is no usable cookie.
464
+ async function restoreSessionFromCookie() {
465
+ try {
466
+ const data = await api('/v1/auth/refresh', {
467
+ method: 'POST',
468
+ credentials: 'include',
469
+ headers: { 'X-AIMEAT-Refresh': '1' },
470
+ });
471
+ const token = data && data.data && data.data.token;
472
+ if (!token) return null;
473
+ const payload = parseJwt(token) || {};
474
+ const ownerName = payload.owner || payload.sub;
475
+ if (!ownerName) return null;
476
+ const session = createSession({
477
+ owner: ownerName,
478
+ ghii: String(ownerName).indexOf('@') >= 0 ? ownerName : (ownerName + '@' + NODE_ID),
479
+ gaii: null,
480
+ jwt: token,
481
+ roles: payload.roles || [],
482
+ displayName: '',
483
+ });
484
+ persistSession(session);
485
+ currentSession = session;
486
+ scheduleAutoRefresh(session);
487
+ emit('login', session);
488
+ return session;
489
+ } catch (_) {
490
+ return null;
491
+ }
492
+ }
430
493
 
431
494
  function scheduleAutoRefresh(session) {
432
495
  if (refreshTimer) clearTimeout(refreshTimer);
@@ -482,52 +545,54 @@ function createSession(data) {
482
545
  return resp.json();
483
546
  },
484
547
 
485
- // Re-authenticate using CryptoKey from IndexedDB
548
+ // Get a fresh access token. Owner sessions use the httpOnly refresh cookie
549
+ // (POST /v1/auth/refresh, rotation + reuse-detection server-side); agent sessions
550
+ // still re-sign with their IndexedDB key. Concurrent owner refreshes share one
551
+ // in-flight request so they don't each rotate the cookie.
486
552
  async refresh() {
487
- // Federated sessions cannot be refreshed via key signing -- user must re-login
553
+ // Federated sessions can't self-refresh yet — user must re-login.
488
554
  if (session.federated) {
489
555
  throw new Error('Federated session expired. Please log in again.');
490
556
  }
491
557
 
492
- // Load CryptoKey from IndexedDB (or use in-memory ref)
493
- let key = session._cryptoKey;
494
- let body;
495
-
496
558
  if (session.gaii) {
497
- // Agent session refresh (for future agent-mode sessions)
498
- if (!key) key = await loadKey('agent_key');
559
+ // Agent session — legacy key-signing refresh.
560
+ const key = session._cryptoKey || await loadKey('agent_key');
499
561
  if (!key) throw new Error('Cannot refresh — no signing key found in IndexedDB');
500
562
  const timestamp = new Date().toISOString();
501
- const message = session.gaii + timestamp;
502
- const signature = await sign(key, message);
503
- body = { gaii: session.gaii, timestamp, signature };
504
- } else {
505
- // Owner session refresh (human user)
506
- if (!key) key = await loadKey('owner_key');
507
- if (!key) throw new Error('Cannot refresh — no signing key found in IndexedDB');
508
- const timestamp = new Date().toISOString();
509
- const message = session.owner + NODE_ID + timestamp;
510
- const signature = await sign(key, message);
511
- body = { owner: session.owner, timestamp, signature };
563
+ const signature = await sign(key, session.gaii + timestamp);
564
+ const data = await api('/v1/auth/token', {
565
+ method: 'POST',
566
+ body: JSON.stringify({ gaii: session.gaii, timestamp, signature }),
567
+ });
568
+ session.jwt = data.data.token;
569
+ session.roles = (parseJwt(session.jwt) || {}).roles || session.roles || [];
570
+ persistSession(session);
571
+ scheduleAutoRefresh(session);
572
+ return session;
512
573
  }
513
574
 
514
- const data = await api('/v1/auth/token', {
515
- method: 'POST',
516
- body: JSON.stringify(body),
517
- });
518
- session.jwt = data.data.token;
519
- session.roles = (parseJwt(session.jwt) || {}).roles || session.roles || [];
520
- // SECURITY: Only save metadata to localStorage (no private keys)
521
- save('session', {
522
- owner: session.owner, gaii: session.gaii, ghii: session.ghii,
523
- jwt: session.jwt, publicKey: session.publicKey, roles: session.roles,
524
- displayName: session.displayName || '',
525
- federated: session.federated || false,
526
- homeNode: session.homeNode || '',
527
- homeUrl: session.homeUrl || '',
528
- });
529
- scheduleAutoRefresh(session);
530
- return session;
575
+ // Owner session — httpOnly refresh-cookie rotation (single-flight).
576
+ if (ownerRefreshInFlight) return ownerRefreshInFlight;
577
+ ownerRefreshInFlight = (async () => {
578
+ const resp = await fetch(NODE_URL + '/v1/auth/refresh', {
579
+ method: 'POST',
580
+ credentials: 'include',
581
+ headers: { 'Content-Type': 'application/json', 'X-AIMEAT-Refresh': '1' },
582
+ });
583
+ let data = null;
584
+ try { data = await resp.json(); } catch (_) { /* no body */ }
585
+ if (!resp.ok || !data || data.ok === false) {
586
+ throw new Error(data?.error?.message || 'Session refresh failed');
587
+ }
588
+ session.jwt = data.data.token;
589
+ session.roles = (parseJwt(session.jwt) || {}).roles || session.roles || [];
590
+ persistSession(session);
591
+ scheduleAutoRefresh(session);
592
+ return session;
593
+ })();
594
+ try { return await ownerRefreshInFlight; }
595
+ finally { ownerRefreshInFlight = null; }
531
596
  },
532
597
 
533
598
  // Check if session is valid
@@ -557,6 +622,7 @@ const auth = {
557
622
  // Register GHII (creates owner + human profile)
558
623
  const regData = await api('/v1/ghii', {
559
624
  method: 'POST',
625
+ credentials: 'include',
560
626
  body: JSON.stringify({
561
627
  username,
562
628
  display_name: displayName,
@@ -567,6 +633,13 @@ const auth = {
567
633
  }),
568
634
  });
569
635
 
636
+ // With a password, establish a cookie-backed session via the login endpoint
637
+ // (owner sessions refresh via the httpOnly cookie — no signing key needed).
638
+ if (opts.password) {
639
+ return this.loginWithPassword(username, opts.password);
640
+ }
641
+
642
+ // ── Legacy no-password path: key-signing token, no refresh cookie ──
570
643
  const ownerName = regData.data.owner.name;
571
644
  const ghii = regData.data.ghii.ghii;
572
645
  // Normal registration returns private_key/public_key; dev-mode reset returns owner_private_key/owner_public_key.
@@ -621,7 +694,9 @@ const auth = {
621
694
  */
622
695
  async login(username) {
623
696
  const stored = load('session');
624
- if (!stored) return null;
697
+ // No local metadata — but an httpOnly refresh cookie may exist (e.g. a browser an agent
698
+ // authenticated with an owner access token). Restore the session from the cookie alone.
699
+ if (!stored) return await restoreSessionFromCookie();
625
700
  if (username && stored.owner !== username) return null;
626
701
 
627
702
  // SECURITY: Run one-time migration from localStorage to IndexedDB
@@ -637,7 +712,11 @@ const auth = {
637
712
  const cryptoKey = stored.gaii ? await loadKey('agent_key') : await loadKey('owner_key');
638
713
  const session = createSession({ ...stored, _cryptoKey: cryptoKey });
639
714
 
640
- if (isExpired(session.jwt)) {
715
+ // Owner-local sessions ALWAYS refresh on boot: the httpOnly cookie is the source of
716
+ // truth (the stored access token may be stale or predate the cookie system). Agent /
717
+ // federated sessions refresh only when their token is actually expired (legacy path).
718
+ const isOwnerLocal = !session.federated && !session.gaii;
719
+ if (isOwnerLocal || isExpired(session.jwt)) {
641
720
  try {
642
721
  await session.refresh();
643
722
  } catch(e) {
@@ -661,17 +740,20 @@ const auth = {
661
740
  * @returns {Promise<object>} Session object
662
741
  */
663
742
  async loginWithPassword(username, password) {
743
+ // Owner sessions refresh via the httpOnly cookie, so no signing key is needed and
744
+ // we never ask the server to mint/rotate one (that used to break other devices).
745
+ // credentials:'include' lets the server set the refresh cookie.
664
746
  const data = await api('/v1/ghii/login', {
665
747
  method: 'POST',
748
+ credentials: 'include',
666
749
  body: JSON.stringify({ username, password }),
667
750
  });
668
751
 
669
752
  const d = data.data;
670
753
 
671
- // Federated sessions have no owner key pair -- the home node owns the keys
754
+ // Federated logins may still return an owner key pair; store it if present (harmless).
672
755
  let ownerCryptoKey = null;
673
756
  if (d.owner_private_key) {
674
- // SECURITY: Import owner private key as non-extractable CryptoKey in IndexedDB
675
757
  ownerCryptoKey = await importEd25519Key(d.owner_private_key);
676
758
  await storeKey('owner_key', ownerCryptoKey);
677
759
  }
@@ -690,15 +772,7 @@ const auth = {
690
772
  homeUrl: d.home_url || '',
691
773
  });
692
774
 
693
- // SECURITY: Only save metadata to localStorage (no private keys)
694
- save('session', {
695
- owner: d.owner.name, gaii: null, ghii: d.ghii.ghii,
696
- jwt: d.token, publicKey: d.owner_public_key || '', roles: session.roles,
697
- displayName: session.displayName || '',
698
- federated: d.federated || false,
699
- homeNode: d.home_node || '',
700
- homeUrl: d.home_url || '',
701
- });
775
+ persistSession(session);
702
776
 
703
777
  currentSession = session;
704
778
  scheduleAutoRefresh(session);
@@ -714,6 +788,18 @@ const auth = {
714
788
  /** Logout — clear stored credentials from localStorage and IndexedDB */
715
789
  async logout() {
716
790
  if (refreshTimer) { clearTimeout(refreshTimer); refreshTimer = null; }
791
+ ownerRefreshInFlight = null;
792
+ // Revoke the session and clear the httpOnly refresh cookie server-side.
793
+ try {
794
+ await fetch(NODE_URL + '/v1/auth/revoke', {
795
+ method: 'POST',
796
+ credentials: 'include',
797
+ headers: {
798
+ 'Content-Type': 'application/json',
799
+ ...(currentSession?.jwt ? { 'Authorization': 'Bearer ' + currentSession.jwt } : {}),
800
+ },
801
+ });
802
+ } catch (_) { /* best effort — still clear local state below */ }
717
803
  currentSession = null;
718
804
  remove('session');
719
805
  remove('owner_key');
@@ -823,25 +909,25 @@ const auth = {
823
909
  function render() {
824
910
  const stored = load('session');
825
911
  if (stored) {
826
- container.innerHTML = '<div style="display:inline-flex;align-items:center;gap:10px;padding:8px 18px;'
912
+ container.innerHTML = '<div class="aimeat-auth-pill" style="display:inline-flex;align-items:center;gap:10px;padding:8px 18px;'
827
913
  + 'background:linear-gradient(160deg,#3d2e1a 0%,#6b4c2a 15%,#c9a84c 30%,#f5e6a3 45%,#c9a84c 55%,#8b6914 70%,#4a3520 100%);'
828
914
  + 'border:1px solid rgba(201,168,76,.6);border-top-color:rgba(245,230,163,.5);border-bottom-color:rgba(75,53,32,.8);'
829
915
  + 'border-radius:10px;'
830
916
  + 'box-shadow:0 1px 0 rgba(245,230,163,.3) inset,0 -1px 0 rgba(75,53,32,.5) inset,0 3px 10px rgba(0,0,0,.4),0 0 20px rgba(201,168,76,.15);'
831
917
  + 'font-family:system-ui;font-size:14px">'
832
- + '<span style="display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;letter-spacing:.5px;color:#a0ffb8;text-shadow:0 0 4px rgba(0,210,80,.6),0 0 10px rgba(0,180,70,.3)">'
833
- + '<span style="display:inline-block;width:9px;height:9px;border-radius:50%;'
918
+ + '<span class="aimeat-auth-dot" style="display:inline-block;flex:0 0 auto;width:9px;height:9px;border-radius:50%;'
834
919
  + 'background:radial-gradient(circle at 35% 35%,#b0ffc8,#00c853 40%,#00802e 80%,#003d15);'
835
920
  + 'box-shadow:0 0 5px rgba(0,200,83,.7),0 0 12px rgba(0,200,83,.3),inset 0 -1px 2px rgba(0,0,0,.3)"></span>'
921
+ + '<span class="aimeat-auth-label" style="display:inline-flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.5px;color:#a0ffb8;text-shadow:0 0 4px rgba(0,210,80,.6),0 0 10px rgba(0,180,70,.3)">'
836
922
  + escHtml(i.loggedIn || 'logged in') + '</span>'
837
- + '<span style="color:rgba(90,65,20,.7);font-weight:700;letter-spacing:.5px;font-size:13px;'
923
+ + '<span class="aimeat-auth-ghii" style="color:rgba(90,65,20,.7);font-weight:700;letter-spacing:.5px;font-size:13px;'
838
924
  + 'text-shadow:0 1px 0 rgba(245,230,163,.6),0 -1px 0 rgba(50,35,10,.3);'
839
925
  + '-webkit-text-stroke:.2px rgba(120,85,20,.3)">'
840
926
  + escHtml(stored.ghii || stored.owner) + '</span>'
841
927
  + (stored.federated ? '<span style="display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;letter-spacing:.5px;color:#7dd3fc;'
842
928
  + 'background:rgba(56,189,248,.15);padding:2px 6px;border-radius:4px;border:1px solid rgba(56,189,248,.3)">'
843
929
  + '\\u{1F310} ' + escHtml(i.federated || 'Federated') + '</span>' : '')
844
- + '<button id="aimeat-logout-btn" style="'
930
+ + '<button id="aimeat-logout-btn" class="aimeat-auth-logout" style="'
845
931
  + 'background:radial-gradient(ellipse at 50% 30%,#ff6b6b 0%,#dc2626 35%,#991b1b 70%,#7f1d1d 100%);'
846
932
  + 'color:#ffd7d7;border:1px solid rgba(220,38,38,.6);border-top-color:rgba(255,130,130,.4);border-bottom-color:rgba(100,20,20,.8);'
847
933
  + 'border-radius:6px;padding:3px 10px;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.3px;'
@@ -1155,10 +1241,47 @@ function showLoginModal(opts, renderBtn) {
1155
1241
  });
1156
1242
  }
1157
1243
 
1244
+ // ── Refresh on focus / visibility ──
1245
+ // The auto-refresh setTimeout fires 5 min before expiry, but timers do NOT fire
1246
+ // while the machine is asleep or the tab is frozen/discarded by the browser. So
1247
+ // after the user steps away and returns, the proactive refresh never happened and
1248
+ // the JWT may already be expired. Re-check the token whenever the tab regains
1249
+ // visibility or focus, and refresh if it is within the 5-min window (or expired).
1250
+ let focusRefreshInFlight = null;
1251
+ function refreshOnFocus() {
1252
+ const session = currentSession;
1253
+ // Federated sessions cannot self-refresh by signing — leave them to re-login.
1254
+ if (!session || !session.jwt || session.federated) return;
1255
+ const payload = parseJwt(session.jwt);
1256
+ if (!payload || !payload.exp) return;
1257
+ const msUntilExpiry = (payload.exp * 1000) - Date.now();
1258
+ if (msUntilExpiry > 5 * 60 * 1000) return; // still comfortably valid
1259
+ if (focusRefreshInFlight) return; // focus + visibilitychange can both fire — de-dupe
1260
+ const wasExpired = msUntilExpiry <= 0;
1261
+ focusRefreshInFlight = session.refresh()
1262
+ .then(() => { emit('refreshed', session); })
1263
+ .catch((e) => {
1264
+ console.warn('[aimeat-auth] Focus refresh failed:', e.message);
1265
+ // Only declare the session dead if the token had actually expired. A
1266
+ // transient failure while still inside the pre-expiry window can be
1267
+ // retried by the scheduled timer or the next API call.
1268
+ if (wasExpired) emit('expired', { reason: 'refresh_failed', error: e.message });
1269
+ })
1270
+ .finally(() => { focusRefreshInFlight = null; });
1271
+ }
1272
+ if (typeof document !== 'undefined' && document.addEventListener) {
1273
+ document.addEventListener('visibilitychange', () => {
1274
+ if (document.visibilityState === 'visible') refreshOnFocus();
1275
+ });
1276
+ }
1277
+ if (typeof window !== 'undefined' && window.addEventListener) {
1278
+ window.addEventListener('focus', refreshOnFocus);
1279
+ }
1280
+
1158
1281
  // ── Expose globally ──
1159
1282
  if (!global.AIMEAT) global.AIMEAT = {};
1160
1283
  global.AIMEAT.auth = auth;
1161
- global.AIMEAT.version = '2026-05-28-002';
1284
+ global.AIMEAT.version = '2026-06-03-003';
1162
1285
 
1163
1286
  })(typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : this);
1164
1287
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"libs.js","sourceRoot":"","sources":["../../../src/routes/libs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libs.js","sourceRoot":"","sources":["../../../src/routes/libs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/routes/portal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAiQvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAkR3E"}
1
+ {"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/routes/portal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAiQvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAmR3E"}
@@ -380,6 +380,7 @@ export function portalRouter(config, storage) {
380
380
  '/v1/guides',
381
381
  '/v1/aimeat-os',
382
382
  '/v1/hobbies',
383
+ '/v1/marketplace',
383
384
  '/v1/app-store',
384
385
  '/v1/openclaw',
385
386
  '/v1/classic',
@@ -1 +1 @@
1
- {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/routes/portal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/routes/portal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @file schedules.ts
3
+ * @description Owner-facing REST API for recurring agent/profile schedules. The
4
+ * server owns the clock (reuses the Scheduler + ScheduledJobRecord); this
5
+ * router lets the owner (and same-owner agents) create/list/edit/pause/cancel
6
+ * schedules and trigger them now. Three kinds are supported:
7
+ * - extension : run an installed extension action (zero-token)
8
+ * - ai : server-side OpenRouter completion over predefined memory keys
9
+ * - agent_task : materialise a task into an agent's queue on each fire
10
+ * GET /v1/schedules also aggregates the owner's extension cron jobs and each
11
+ * agent's self-reported internal scheduler (agents.<name>.scheduler) for the
12
+ * master Profile › Scheduler view.
13
+ * @structure
14
+ * - GET /v1/schedules master aggregate (managed + ext + agent-internal)
15
+ * - POST /v1/schedules create (profile-level or agent-targeted)
16
+ * - GET /v1/schedules/:id detail + recent execution log
17
+ * - PATCH /v1/schedules/:id edit cron/enabled/constraints/input/...
18
+ * - DELETE /v1/schedules/:id cancel (owner can delete agent-created)
19
+ * - POST /v1/schedules/:id/trigger run now
20
+ * - GET /v1/agents/:name/schedules per-agent view (managed + that agent's mirror)
21
+ * - POST /v1/agents/:name/schedules create targeting this agent
22
+ * @usage
23
+ * import { schedulesRouter } from './routes/schedules.js';
24
+ * app.use(schedulesRouter(config, storage, scheduler));
25
+ * @version-history
26
+ * v1.0.0 — 2026-06-03 — Initial: agent/profile recurring schedules
27
+ */
28
+ import { Router } from 'express';
29
+ import type { AimeatConfig } from '../config.js';
30
+ import type { Storage } from '../storage/interface.js';
31
+ import type { Scheduler } from '../services/scheduler.js';
32
+ export declare function schedulesRouter(config: AimeatConfig, storage: Storage, scheduler: Scheduler): Router;
33
+ //# sourceMappingURL=schedules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../../src/routes/schedules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAA0D,MAAM,yBAAyB,CAAC;AAC/G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AA8C1D,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAuRpG"}