aimeat 1.26.0 → 1.27.1

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 (307) hide show
  1. package/README.md +7 -0
  2. package/dist/.env.example +19 -0
  3. package/dist/locales/en.json +507 -288
  4. package/dist/locales/fi.json +476 -257
  5. package/dist/public/css/components/app-sandbox.css +62 -0
  6. package/dist/public/css/views/app-grant.css +83 -0
  7. package/dist/public/css/views/inbox.css +30 -0
  8. package/dist/public/css/views/landing.css +16 -2
  9. package/dist/public/css/views/living.css +187 -0
  10. package/dist/public/css/views/notebook.css +89 -0
  11. package/dist/public/css/views/profile.css +42 -85
  12. package/dist/public/js/app-sandbox.js +42 -0
  13. package/dist/public/js/services/generator-prompts-base.js +40 -3
  14. package/dist/public/js/services/living.js +506 -0
  15. package/dist/public/js/services/notebook-plan.js +211 -0
  16. package/dist/public/js/services/notebook.js +149 -0
  17. package/dist/public/js/services/organisms.js +10 -2
  18. package/dist/public/js/services/tracked-responses.js +79 -0
  19. package/dist/public/js/utils.js +15 -0
  20. package/dist/public/spa.html +20 -1
  21. package/dist/public/types/aimeat-globals.d.ts +4 -0
  22. package/dist/public/views/app-grant.js +210 -0
  23. package/dist/public/views/business.js +8 -1
  24. package/dist/public/views/how-it-works.js +5 -1
  25. package/dist/public/views/landing-node-totals.js +71 -0
  26. package/dist/public/views/landing.js +88 -79
  27. package/dist/public/views/profile/access-tab.js +75 -0
  28. package/dist/public/views/profile/agents-tab.js +3 -2
  29. package/dist/public/views/profile/apps-tab.js +17 -0
  30. package/dist/public/views/profile/inbox-tab.js +204 -7
  31. package/dist/public/views/profile/landing-page.js +255 -163
  32. package/dist/public/views/profile/living-tab.js +480 -0
  33. package/dist/public/views/profile/notebook-card.js +489 -0
  34. package/dist/public/views/profile/notebook-helpers.js +48 -0
  35. package/dist/public/views/profile/notebook-tab.js +40 -260
  36. package/dist/public/views/profile.js +2 -0
  37. package/dist/scripts/reassign-apps.d.ts +2 -0
  38. package/dist/scripts/reassign-apps.d.ts.map +1 -0
  39. package/dist/scripts/reassign-apps.js +99 -0
  40. package/dist/scripts/reassign-apps.js.map +1 -0
  41. package/dist/scripts/screenshot-worker.d.ts +2 -0
  42. package/dist/scripts/screenshot-worker.d.ts.map +1 -0
  43. package/dist/scripts/screenshot-worker.js +14 -0
  44. package/dist/scripts/screenshot-worker.js.map +1 -0
  45. package/dist/src/auth/jwt.d.ts +2 -0
  46. package/dist/src/auth/jwt.d.ts.map +1 -1
  47. package/dist/src/auth/jwt.js +2 -0
  48. package/dist/src/auth/jwt.js.map +1 -1
  49. package/dist/src/auth/middleware.d.ts.map +1 -1
  50. package/dist/src/auth/middleware.js +6 -2
  51. package/dist/src/auth/middleware.js.map +1 -1
  52. package/dist/src/cli/init-wizard.d.ts +7 -3
  53. package/dist/src/cli/init-wizard.d.ts.map +1 -1
  54. package/dist/src/cli/init-wizard.js +50 -5
  55. package/dist/src/cli/init-wizard.js.map +1 -1
  56. package/dist/src/cli/screenshot-worker.d.ts +2 -0
  57. package/dist/src/cli/screenshot-worker.d.ts.map +1 -0
  58. package/dist/src/cli/screenshot-worker.js +156 -0
  59. package/dist/src/cli/screenshot-worker.js.map +1 -0
  60. package/dist/src/config.d.ts +23 -0
  61. package/dist/src/config.d.ts.map +1 -1
  62. package/dist/src/config.js +28 -0
  63. package/dist/src/config.js.map +1 -1
  64. package/dist/src/generated/api-types.d.ts +2756 -1285
  65. package/dist/src/generated/api-types.d.ts.map +1 -1
  66. package/dist/src/generated/prisma-postgres/edge.js +21 -3
  67. package/dist/src/generated/prisma-postgres/index-browser.js +18 -0
  68. package/dist/src/generated/prisma-postgres/index.d.ts +1648 -155
  69. package/dist/src/generated/prisma-postgres/index.js +21 -3
  70. package/dist/src/generated/prisma-postgres/package.json +1 -1
  71. package/dist/src/generated/prisma-postgres/schema.prisma +21 -0
  72. package/dist/src/generated/prisma-postgres/wasm.js +21 -3
  73. package/dist/src/index.js +8 -0
  74. package/dist/src/index.js.map +1 -1
  75. package/dist/src/mcp/apps.d.ts +2 -0
  76. package/dist/src/mcp/apps.d.ts.map +1 -1
  77. package/dist/src/mcp/apps.js +32 -2
  78. package/dist/src/mcp/apps.js.map +1 -1
  79. package/dist/src/mcp/extensions.d.ts +1 -0
  80. package/dist/src/mcp/extensions.d.ts.map +1 -1
  81. package/dist/src/mcp/extensions.js +10 -1
  82. package/dist/src/mcp/extensions.js.map +1 -1
  83. package/dist/src/mcp/workspaces.d.ts.map +1 -1
  84. package/dist/src/mcp/workspaces.js +4 -1
  85. package/dist/src/mcp/workspaces.js.map +1 -1
  86. package/dist/src/middleware/rate-limit.d.ts +10 -0
  87. package/dist/src/middleware/rate-limit.d.ts.map +1 -1
  88. package/dist/src/middleware/rate-limit.js +24 -4
  89. package/dist/src/middleware/rate-limit.js.map +1 -1
  90. package/dist/src/middleware/subdomain.d.ts +15 -3
  91. package/dist/src/middleware/subdomain.d.ts.map +1 -1
  92. package/dist/src/middleware/subdomain.js +35 -12
  93. package/dist/src/middleware/subdomain.js.map +1 -1
  94. package/dist/src/routes/admin.js +4 -2
  95. package/dist/src/routes/admin.js.map +1 -1
  96. package/dist/src/routes/agent-webhook.d.ts.map +1 -1
  97. package/dist/src/routes/agent-webhook.js +3 -2
  98. package/dist/src/routes/agent-webhook.js.map +1 -1
  99. package/dist/src/routes/app-grants.d.ts +35 -0
  100. package/dist/src/routes/app-grants.d.ts.map +1 -0
  101. package/dist/src/routes/app-grants.js +370 -0
  102. package/dist/src/routes/app-grants.js.map +1 -0
  103. package/dist/src/routes/apps.d.ts +18 -0
  104. package/dist/src/routes/apps.d.ts.map +1 -1
  105. package/dist/src/routes/apps.js +232 -13
  106. package/dist/src/routes/apps.js.map +1 -1
  107. package/dist/src/routes/extensions.d.ts +2 -0
  108. package/dist/src/routes/extensions.d.ts.map +1 -1
  109. package/dist/src/routes/extensions.js +18 -9
  110. package/dist/src/routes/extensions.js.map +1 -1
  111. package/dist/src/routes/foundry.d.ts.map +1 -1
  112. package/dist/src/routes/foundry.js +13 -1
  113. package/dist/src/routes/foundry.js.map +1 -1
  114. package/dist/src/routes/generator.d.ts.map +1 -1
  115. package/dist/src/routes/generator.js +13 -1
  116. package/dist/src/routes/generator.js.map +1 -1
  117. package/dist/src/routes/ghii.d.ts.map +1 -1
  118. package/dist/src/routes/ghii.js +20 -10
  119. package/dist/src/routes/ghii.js.map +1 -1
  120. package/dist/src/routes/librarian.d.ts.map +1 -1
  121. package/dist/src/routes/librarian.js +64 -2
  122. package/dist/src/routes/librarian.js.map +1 -1
  123. package/dist/src/routes/libs.d.ts +15 -0
  124. package/dist/src/routes/libs.d.ts.map +1 -1
  125. package/dist/src/routes/libs.js +301 -2
  126. package/dist/src/routes/libs.js.map +1 -1
  127. package/dist/src/routes/living.d.ts +18 -0
  128. package/dist/src/routes/living.d.ts.map +1 -0
  129. package/dist/src/routes/living.js +63 -0
  130. package/dist/src/routes/living.js.map +1 -0
  131. package/dist/src/routes/memory.d.ts.map +1 -1
  132. package/dist/src/routes/memory.js +4 -1
  133. package/dist/src/routes/memory.js.map +1 -1
  134. package/dist/src/routes/messages.d.ts +2 -0
  135. package/dist/src/routes/messages.d.ts.map +1 -1
  136. package/dist/src/routes/messages.js +16 -87
  137. package/dist/src/routes/messages.js.map +1 -1
  138. package/dist/src/routes/oauth-login.d.ts +22 -0
  139. package/dist/src/routes/oauth-login.d.ts.map +1 -0
  140. package/dist/src/routes/oauth-login.js +219 -0
  141. package/dist/src/routes/oauth-login.js.map +1 -0
  142. package/dist/src/routes/organisms.d.ts.map +1 -1
  143. package/dist/src/routes/organisms.js +4 -1
  144. package/dist/src/routes/organisms.js.map +1 -1
  145. package/dist/src/routes/portal.d.ts +3 -0
  146. package/dist/src/routes/portal.d.ts.map +1 -1
  147. package/dist/src/routes/portal.js +20 -12
  148. package/dist/src/routes/portal.js.map +1 -1
  149. package/dist/src/routes/public-stats.d.ts +3 -0
  150. package/dist/src/routes/public-stats.d.ts.map +1 -1
  151. package/dist/src/routes/public-stats.js +48 -0
  152. package/dist/src/routes/public-stats.js.map +1 -1
  153. package/dist/src/routes/storage-files.js +10 -10
  154. package/dist/src/routes/storage-files.js.map +1 -1
  155. package/dist/src/routes/subdomains.d.ts +33 -0
  156. package/dist/src/routes/subdomains.d.ts.map +1 -1
  157. package/dist/src/routes/subdomains.js +182 -9
  158. package/dist/src/routes/subdomains.js.map +1 -1
  159. package/dist/src/routes/tracked-responses.d.ts +27 -0
  160. package/dist/src/routes/tracked-responses.d.ts.map +1 -0
  161. package/dist/src/routes/tracked-responses.js +160 -0
  162. package/dist/src/routes/tracked-responses.js.map +1 -0
  163. package/dist/src/routes/upload.js +8 -0
  164. package/dist/src/routes/upload.js.map +1 -1
  165. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  166. package/dist/src/server-bootstrap/routes-loader.js +33 -0
  167. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  168. package/dist/src/server-bootstrap/service-init.d.ts.map +1 -1
  169. package/dist/src/server-bootstrap/service-init.js +4 -0
  170. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  171. package/dist/src/server-bootstrap/static-files.d.ts +8 -0
  172. package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
  173. package/dist/src/server-bootstrap/static-files.js +52 -3
  174. package/dist/src/server-bootstrap/static-files.js.map +1 -1
  175. package/dist/src/server.d.ts.map +1 -1
  176. package/dist/src/server.js +5 -0
  177. package/dist/src/server.js.map +1 -1
  178. package/dist/src/services/core-jobs.d.ts.map +1 -1
  179. package/dist/src/services/core-jobs.js +5 -0
  180. package/dist/src/services/core-jobs.js.map +1 -1
  181. package/dist/src/services/event-bus.d.ts +10 -0
  182. package/dist/src/services/event-bus.d.ts.map +1 -1
  183. package/dist/src/services/event-bus.js +9 -0
  184. package/dist/src/services/event-bus.js.map +1 -1
  185. package/dist/src/services/generator-prompts/resolvers.d.ts +2 -0
  186. package/dist/src/services/generator-prompts/resolvers.d.ts.map +1 -1
  187. package/dist/src/services/generator-prompts/resolvers.js +22 -3
  188. package/dist/src/services/generator-prompts/resolvers.js.map +1 -1
  189. package/dist/src/services/hooks.js +2 -2
  190. package/dist/src/services/hooks.js.map +1 -1
  191. package/dist/src/services/job-seeding.d.ts.map +1 -1
  192. package/dist/src/services/job-seeding.js +2 -0
  193. package/dist/src/services/job-seeding.js.map +1 -1
  194. package/dist/src/services/living-author-prompt.d.ts +14 -0
  195. package/dist/src/services/living-author-prompt.d.ts.map +1 -0
  196. package/dist/src/services/living-author-prompt.js +47 -0
  197. package/dist/src/services/living-author-prompt.js.map +1 -0
  198. package/dist/src/services/living-author.d.ts +55 -0
  199. package/dist/src/services/living-author.d.ts.map +1 -0
  200. package/dist/src/services/living-author.js +91 -0
  201. package/dist/src/services/living-author.js.map +1 -0
  202. package/dist/src/services/living-pulse.d.ts +29 -0
  203. package/dist/src/services/living-pulse.d.ts.map +1 -0
  204. package/dist/src/services/living-pulse.js +363 -0
  205. package/dist/src/services/living-pulse.js.map +1 -0
  206. package/dist/src/services/message-send.d.ts +24 -0
  207. package/dist/src/services/message-send.d.ts.map +1 -0
  208. package/dist/src/services/message-send.js +114 -0
  209. package/dist/src/services/message-send.js.map +1 -0
  210. package/dist/src/services/notebook-ai.d.ts +36 -0
  211. package/dist/src/services/notebook-ai.d.ts.map +1 -0
  212. package/dist/src/services/notebook-ai.js +51 -0
  213. package/dist/src/services/notebook-ai.js.map +1 -0
  214. package/dist/src/services/notebook-classify.d.ts +32 -5
  215. package/dist/src/services/notebook-classify.d.ts.map +1 -1
  216. package/dist/src/services/notebook-classify.js +59 -43
  217. package/dist/src/services/notebook-classify.js.map +1 -1
  218. package/dist/src/services/notebook-distribute-prompt.d.ts +16 -0
  219. package/dist/src/services/notebook-distribute-prompt.d.ts.map +1 -0
  220. package/dist/src/services/notebook-distribute-prompt.js +40 -0
  221. package/dist/src/services/notebook-distribute-prompt.js.map +1 -0
  222. package/dist/src/services/notebook-plan-prompt.d.ts +19 -0
  223. package/dist/src/services/notebook-plan-prompt.d.ts.map +1 -0
  224. package/dist/src/services/notebook-plan-prompt.js +54 -0
  225. package/dist/src/services/notebook-plan-prompt.js.map +1 -0
  226. package/dist/src/services/notebook-plan.d.ts +70 -0
  227. package/dist/src/services/notebook-plan.d.ts.map +1 -0
  228. package/dist/src/services/notebook-plan.js +118 -0
  229. package/dist/src/services/notebook-plan.js.map +1 -0
  230. package/dist/src/services/oidc-client.d.ts +3 -0
  231. package/dist/src/services/oidc-client.d.ts.map +1 -1
  232. package/dist/src/services/oidc-client.js +17 -2
  233. package/dist/src/services/oidc-client.js.map +1 -1
  234. package/dist/src/services/prompt-defaults.d.ts.map +1 -1
  235. package/dist/src/services/prompt-defaults.js +30 -0
  236. package/dist/src/services/prompt-defaults.js.map +1 -1
  237. package/dist/src/services/quota.d.ts +14 -1
  238. package/dist/src/services/quota.d.ts.map +1 -1
  239. package/dist/src/services/quota.js +28 -1
  240. package/dist/src/services/quota.js.map +1 -1
  241. package/dist/src/services/scheduler.d.ts +5 -0
  242. package/dist/src/services/scheduler.d.ts.map +1 -1
  243. package/dist/src/services/scheduler.js +4 -0
  244. package/dist/src/services/scheduler.js.map +1 -1
  245. package/dist/src/services/screenshot-capture.d.ts +28 -0
  246. package/dist/src/services/screenshot-capture.d.ts.map +1 -0
  247. package/dist/src/services/screenshot-capture.js +154 -0
  248. package/dist/src/services/screenshot-capture.js.map +1 -0
  249. package/dist/src/services/track-registry.d.ts +29 -0
  250. package/dist/src/services/track-registry.d.ts.map +1 -0
  251. package/dist/src/services/track-registry.js +61 -0
  252. package/dist/src/services/track-registry.js.map +1 -0
  253. package/dist/src/services/tracked-response.d.ts +98 -0
  254. package/dist/src/services/tracked-response.d.ts.map +1 -0
  255. package/dist/src/services/tracked-response.js +304 -0
  256. package/dist/src/services/tracked-response.js.map +1 -0
  257. package/dist/src/services/webhook-dispatcher.d.ts.map +1 -1
  258. package/dist/src/services/webhook-dispatcher.js +3 -2
  259. package/dist/src/services/webhook-dispatcher.js.map +1 -1
  260. package/dist/src/storage/interface.d.ts +19 -2
  261. package/dist/src/storage/interface.d.ts.map +1 -1
  262. package/dist/src/storage/interface.js.map +1 -1
  263. package/dist/src/storage/providers/mongodb/index.d.ts +16 -1
  264. package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
  265. package/dist/src/storage/providers/mongodb/index.js +123 -0
  266. package/dist/src/storage/providers/mongodb/index.js.map +1 -1
  267. package/dist/src/storage/providers/sqlite/index.d.ts +10 -1
  268. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  269. package/dist/src/storage/providers/sqlite/index.js +119 -6
  270. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  271. package/dist/src/storage/providers/sqlite/repos/identity.d.ts +1 -0
  272. package/dist/src/storage/providers/sqlite/repos/identity.d.ts.map +1 -1
  273. package/dist/src/storage/providers/sqlite/repos/identity.js +10 -4
  274. package/dist/src/storage/providers/sqlite/repos/identity.js.map +1 -1
  275. package/dist/src/storage/providers/sqlite/schema.d.ts +16 -3
  276. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  277. package/dist/src/storage/providers/sqlite/schema.js +31 -4
  278. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  279. package/dist/src/storage/repositories/app-grant.repository.d.ts +22 -0
  280. package/dist/src/storage/repositories/app-grant.repository.d.ts.map +1 -0
  281. package/dist/src/storage/repositories/app-grant.repository.js +2 -0
  282. package/dist/src/storage/repositories/app-grant.repository.js.map +1 -0
  283. package/dist/src/storage/repositories/app.repository.d.ts +9 -0
  284. package/dist/src/storage/repositories/app.repository.d.ts.map +1 -1
  285. package/dist/src/storage/repositories/identity.repository.d.ts +1 -0
  286. package/dist/src/storage/repositories/identity.repository.d.ts.map +1 -1
  287. package/dist/src/storage/repositories/index.d.ts +1 -0
  288. package/dist/src/storage/repositories/index.d.ts.map +1 -1
  289. package/dist/src/utils/env-config.d.ts +5 -2
  290. package/dist/src/utils/env-config.d.ts.map +1 -1
  291. package/dist/src/utils/env-config.js +63 -2
  292. package/dist/src/utils/env-config.js.map +1 -1
  293. package/dist/src/utils/env-validator.d.ts +6 -3
  294. package/dist/src/utils/env-validator.d.ts.map +1 -1
  295. package/dist/src/utils/env-validator.js +14 -3
  296. package/dist/src/utils/env-validator.js.map +1 -1
  297. package/dist/src/utils/url-validator.d.ts +15 -0
  298. package/dist/src/utils/url-validator.d.ts.map +1 -1
  299. package/dist/src/utils/url-validator.js +120 -30
  300. package/dist/src/utils/url-validator.js.map +1 -1
  301. package/dist/static/app-catalog.html +505 -30
  302. package/dist/static/app-login.js +67 -0
  303. package/dist/static/app-silent.html +14 -0
  304. package/dist/static/app-silent.js +32 -0
  305. package/package.json +3 -1
  306. package/prisma/schema.postgres.prisma +39 -18
  307. package/prisma/schema.prisma +21 -0
@@ -0,0 +1,118 @@
1
+ import { stripCodeblock } from './generator-prompts/strip.js';
2
+ import { NotebookAiError, resolveOwnerModel, completeOwner } from './notebook-ai.js';
3
+ import { buildPlacementContext } from './notebook-classify.js';
4
+ import { NOTEBOOK_PLAN_SYSTEM, NOTEBOOK_PLAN_TEMPLATE } from './notebook-plan-prompt.js';
5
+ /** Step kinds the planner is allowed to emit (and the client can execute). `delegate` hands work to a
6
+ * fleet agent offer (async task); the others are self-run over OpenRouter + the librarian. */
7
+ export const PLAN_STEP_KINDS = ['llm_reason', 'librarian_assess', 'delegate'];
8
+ const MAX_STEPS = 5;
9
+ /** The planner prompt template — the operator-managed `notebook-plan` system prompt if present and
10
+ * active, else the code fallback (same text; they share one source). */
11
+ async function loadPlanTemplate(storage) {
12
+ try {
13
+ const rec = await storage.getSystemPrompt('notebook-plan');
14
+ if (rec && rec.active && typeof rec.content === 'string' && rec.content.trim())
15
+ return rec.content;
16
+ }
17
+ catch { /* fall through to the code default */ }
18
+ return NOTEBOOK_PLAN_TEMPLATE;
19
+ }
20
+ const MAX_CATALOGUE = 60;
21
+ /** Normalise + bound the client-supplied offer catalogue (defensive: it comes from the request body). */
22
+ function normaliseCatalogue(raw) {
23
+ if (!Array.isArray(raw))
24
+ return [];
25
+ const out = [];
26
+ for (const r of raw) {
27
+ const agent = typeof r?.agent === 'string' ? r.agent : '';
28
+ const offerId = typeof r?.offerId === 'string' ? r.offerId : '';
29
+ if (!agent || !offerId)
30
+ continue;
31
+ out.push({
32
+ agent, offerId,
33
+ title: typeof r?.title === 'string' ? r.title : undefined,
34
+ ask: typeof r?.ask === 'string' ? r.ask : undefined,
35
+ latency: typeof r?.latency === 'string' ? r.latency : undefined,
36
+ cost: typeof r?.cost === 'string' ? r.cost : undefined,
37
+ });
38
+ if (out.length >= MAX_CATALOGUE)
39
+ break;
40
+ }
41
+ return out;
42
+ }
43
+ function fillPrompt(template, context, catalogue, text) {
44
+ return template
45
+ .split('{{structure}}').join(JSON.stringify({ organisms: context }, null, 2))
46
+ .split('{{capabilities}}').join(JSON.stringify({ offers: catalogue }, null, 2))
47
+ .split('{{note}}').join(text);
48
+ }
49
+ const str = (v, fallback = '') => (typeof v === 'string' && v.trim() ? v.trim() : fallback);
50
+ /** Keep only steps with a known kind and a non-empty query; assign stable ids + defaults. A `delegate`
51
+ * step is dropped unless its agent+offerId exist in the catalogue (no hallucinated agents). */
52
+ function resolveSteps(raw, catalogue) {
53
+ if (!Array.isArray(raw))
54
+ return [];
55
+ const steps = [];
56
+ for (const r of raw) {
57
+ const kind = r?.kind;
58
+ if (typeof kind !== 'string' || !PLAN_STEP_KINDS.includes(kind))
59
+ continue;
60
+ const query = str(r?.query);
61
+ if (!query)
62
+ continue;
63
+ let agent;
64
+ let offerId;
65
+ if (kind === 'delegate') {
66
+ agent = str(r?.agent);
67
+ offerId = str(r?.offerId);
68
+ const known = catalogue.some(o => o.agent === agent && o.offerId === offerId);
69
+ if (!known)
70
+ continue; // drop ungrounded delegate steps
71
+ }
72
+ const defaultTitle = kind === 'librarian_assess' ? 'Assess my material'
73
+ : kind === 'delegate' ? `Delegate to ${agent}` : 'Reason about this';
74
+ steps.push({
75
+ id: str(r?.id, `s${steps.length + 1}`),
76
+ title: str(r?.title, defaultTitle),
77
+ description: str(r?.description),
78
+ rationale: str(r?.rationale),
79
+ kind: kind,
80
+ mode: kind === 'delegate' ? 'async' : 'sync',
81
+ gate: typeof r?.gate === 'boolean' ? r.gate : true,
82
+ query,
83
+ ...(kind === 'delegate' ? { agent, offerId } : {}),
84
+ status: 'proposed',
85
+ });
86
+ if (steps.length >= MAX_STEPS)
87
+ break;
88
+ }
89
+ return steps;
90
+ }
91
+ export async function planNote(storage, config, opts) {
92
+ const text = opts.text.trim();
93
+ if (!text)
94
+ throw new NotebookAiError('INVALID_INPUT', 'text is required');
95
+ const owner = await resolveOwnerModel(storage, config, opts.gaii);
96
+ const context = await buildPlacementContext(storage, config, { ownerName: opts.ownerName, viewerGaii: opts.viewerGaii });
97
+ const catalogue = normaliseCatalogue(opts.catalogue);
98
+ const prompt = fillPrompt(await loadPlanTemplate(storage), context, catalogue, text);
99
+ // Slightly higher temperature than classify: planning benefits from a little exploration.
100
+ const result = await completeOwner(owner, prompt, NOTEBOOK_PLAN_SYSTEM, { temperature: 0.4 });
101
+ let parsed;
102
+ try {
103
+ parsed = JSON.parse(stripCodeblock(result.content).trim());
104
+ }
105
+ catch {
106
+ throw new NotebookAiError('PARSE_ERROR', 'The model did not return valid JSON. Try again.', 502);
107
+ }
108
+ const steps = resolveSteps(parsed.steps, catalogue);
109
+ const plan = {
110
+ id: `plan-${Date.now()}`,
111
+ summary: str(parsed.summary, steps.length ? 'Enrichment plan' : 'No enrichment needed'),
112
+ confidence: typeof parsed.confidence === 'number' ? Math.max(0, Math.min(1, parsed.confidence)) : 0.5,
113
+ steps,
114
+ createdAt: new Date().toISOString(),
115
+ };
116
+ return { plan, context: { organisms: context }, model: result.model };
117
+ }
118
+ //# sourceMappingURL=notebook-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-plan.js","sourceRoot":"","sources":["../../../src/services/notebook-plan.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@
4
4
  * Broker-agnostic: works with any standard OIDC provider (FTN, BankID, MitID).
5
5
  * @version-history
6
6
  * v1.0.0 — 2026-05-02 — Initial implementation
7
+ * v1.1.0 — 2026-06-20 — exchangeCode now reconstructs the callback URL with state + iss
8
+ * (RFC 9207) and passes expectedState, fixing "invalid response encountered" against
9
+ * providers (e.g. Google) that advertise authorization_response_iss_parameter_supported.
7
10
  */
8
11
  export interface OidcClientConfig {
9
12
  issuerUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"oidc-client.d.ts","sourceRoot":"","sources":["../../../src/services/oidc-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iBAAiB,IAAI,eAAe,CAAC;IACrC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC5F;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,GAAG,UAAU,CAsE3E"}
1
+ {"version":3,"file":"oidc-client.d.ts","sourceRoot":"","sources":["../../../src/services/oidc-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iBAAiB,IAAI,eAAe,CAAC;IACrC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC5F;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,GAAG,UAAU,CAiF3E"}
@@ -4,6 +4,9 @@
4
4
  * Broker-agnostic: works with any standard OIDC provider (FTN, BankID, MitID).
5
5
  * @version-history
6
6
  * v1.0.0 — 2026-05-02 — Initial implementation
7
+ * v1.1.0 — 2026-06-20 — exchangeCode now reconstructs the callback URL with state + iss
8
+ * (RFC 9207) and passes expectedState, fixing "invalid response encountered" against
9
+ * providers (e.g. Google) that advertise authorization_response_iss_parameter_supported.
7
10
  */
8
11
  import * as oidc from 'openid-client';
9
12
  import { randomUUID } from 'node:crypto';
@@ -43,11 +46,23 @@ export function createOidcClient(clientConfig) {
43
46
  const authorizationUrl = `${authEndpoint}?${params.toString()}`;
44
47
  return { authorizationUrl, state, nonce };
45
48
  },
46
- async exchangeCode(code, _state, expectedNonce) {
49
+ async exchangeCode(code, state, expectedNonce) {
47
50
  if (!serverConfig)
48
51
  throw new Error('OIDC client not initialized');
49
52
  try {
50
- const tokens = await oidc.authorizationCodeGrant(serverConfig, new URL(`${clientConfig.redirectUri}?code=${encodeURIComponent(code)}`), { expectedNonce });
53
+ // Reconstruct the callback URL openid-client validates. It must carry every response
54
+ // parameter the AS requires: `state` (CSRF binding — also enforced at our layer by the
55
+ // nonce lookup) and, for providers that advertise RFC 9207 (`iss`) support such as
56
+ // Google, the `iss` parameter — otherwise validation fails with "invalid response
57
+ // encountered". `iss` is the provider's stable issuer identity from discovery metadata.
58
+ const callbackUrl = new URL(clientConfig.redirectUri);
59
+ callbackUrl.searchParams.set('code', code);
60
+ if (state)
61
+ callbackUrl.searchParams.set('state', state);
62
+ const issuer = serverConfig.serverMetadata().issuer;
63
+ if (issuer)
64
+ callbackUrl.searchParams.set('iss', issuer);
65
+ const tokens = await oidc.authorizationCodeGrant(serverConfig, callbackUrl, { expectedNonce, expectedState: state || oidc.skipStateCheck });
51
66
  const claims = tokens.claims();
52
67
  if (!claims) {
53
68
  return { valid: false, error: 'No claims in token response' };
@@ -1 +1 @@
1
- {"version":3,"file":"oidc-client.js","sourceRoot":"","sources":["../../../src/services/oidc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc-client.js","sourceRoot":"","sources":["../../../src/services/oidc-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-defaults.d.ts","sourceRoot":"","sources":["../../../src/services/prompt-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD,eAAO,MAAM,YAAY,EAAE,eAAe,EAisGzC,CAAC"}
1
+ {"version":3,"file":"prompt-defaults.d.ts","sourceRoot":"","sources":["../../../src/services/prompt-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AASD,eAAO,MAAM,YAAY,EAAE,eAAe,EA4tGzC,CAAC"}
@@ -28,6 +28,9 @@
28
28
  // Generator-specific seeds are in a separate file to keep this file manageable
29
29
  import { GENERATOR_PROMPT_SEEDS } from './generator-prompt-seeds.js';
30
30
  import { NOTEBOOK_CLASSIFY_TEMPLATE } from './notebook-classify-prompt.js';
31
+ import { NOTEBOOK_PLAN_TEMPLATE } from './notebook-plan-prompt.js';
32
+ import { NOTEBOOK_DISTRIBUTE_TEMPLATE } from './notebook-distribute-prompt.js';
33
+ import { LIVING_AUTHOR_TEMPLATE } from './living-author-prompt.js';
31
34
  export const PROMPT_SEEDS = [
32
35
  // ═══════════════════════════════════════════════════════════════════
33
36
  // Group: builders — notebook placement classifier (code-owned, re-synced from seed)
@@ -41,6 +44,33 @@ export const PROMPT_SEEDS = [
41
44
  variables: ['structure', 'note'],
42
45
  usedIn: ['/v1/librarian/classify'],
43
46
  },
47
+ {
48
+ id: 'notebook-plan',
49
+ group: 'builders',
50
+ name: 'Notebook Enrichment Planner',
51
+ description: 'Reasons over a free-text notebook note and proposes an ordered plan of enrichment steps (reason / assess own material) to expand it before filing. Used by POST /v1/librarian/plan.',
52
+ content: NOTEBOOK_PLAN_TEMPLATE,
53
+ variables: ['structure', 'note'],
54
+ usedIn: ['/v1/librarian/plan'],
55
+ },
56
+ {
57
+ id: 'notebook-distribute',
58
+ group: 'builders',
59
+ name: 'Notebook Distributor',
60
+ description: 'Splits a (typically enriched) notebook note into self-contained chunks and files each into its own best organism → workspace → document space. Used by POST /v1/librarian/distribute.',
61
+ content: NOTEBOOK_DISTRIBUTE_TEMPLATE,
62
+ variables: ['structure', 'note'],
63
+ usedIn: ['/v1/librarian/distribute'],
64
+ },
65
+ {
66
+ id: 'living-author',
67
+ group: 'builders',
68
+ name: 'Living Document Author',
69
+ description: 'Designs a reusable living-document template (title + charter + sections, with suggested agents) from a user\'s plain-language need. Used by POST /v1/living/author.',
70
+ content: LIVING_AUTHOR_TEMPLATE,
71
+ variables: ['need', 'capabilities'],
72
+ usedIn: ['/v1/living/author'],
73
+ },
44
74
  // ═══════════════════════════════════════════════════════════════════
45
75
  // Group: tiers — from src/routes/prompts.ts
46
76
  // ═══════════════════════════════════════════════════════════════════
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-defaults.js","sourceRoot":"","sources":["../../../src/services/prompt-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-defaults.js","sourceRoot":"","sources":["../../../src/services/prompt-defaults.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  /**
2
- * Quota enforcement and overage charging — RFC §8.2, §8.4, §5.7.4, §15
2
+ * @file quota.ts
3
+ * @description Quota enforcement and overage charging — RFC §8.2, §8.4, §5.7.4, §15
3
4
  *
4
5
  * Memory: default 10 MB total per agent, 10 morsels/MB/month overage
5
6
  * Storage: default 100 MB total per agent, 100 morsels/GB/month overage
6
7
  * Micro-memory: default 500 KB total per agent (hard limit)
8
+ *
9
+ * @version-history
10
+ * v1.1.0 — 2026-06-20 — Security (H-5): add enforceExtensionMemoryLimits() so
11
+ * extension ctx.memory.set respects the per-value-size + per-key-count limits.
7
12
  */
8
13
  import type { AimeatConfig } from '../config.js';
9
14
  import type { Storage } from '../storage/interface.js';
@@ -13,6 +18,14 @@ export declare function getMemoryTotalBytes(storage: Storage, gaii: string): Pro
13
18
  export declare function getStorageTotalBytes(storage: Storage, gaii: string): Promise<number>;
14
19
  /** Calculate total micro-memory size for an agent (all sets, all entries). */
15
20
  export declare function getMicroMemoryTotalBytes(storage: Storage, gaii: string): Promise<number>;
21
+ /**
22
+ * Enforce the per-value-size and per-key-count hard limits for an extension's
23
+ * `ctx.memory.set`. The REST `/v1/memory` handler enforces these, but extensions
24
+ * write via `storage.setMemory()` directly and would otherwise bypass them — a
25
+ * loop of large writes could exhaust disk/DB. Throws on violation (surfaces as an
26
+ * extension error). `ownerGaii` is the extension namespace (`ext:{name}`).
27
+ */
28
+ export declare function enforceExtensionMemoryLimits(config: AimeatConfig, storage: Storage, ownerGaii: string, key: string, value: unknown): Promise<void>;
16
29
  export interface QuotaCheckResult {
17
30
  allowed: boolean;
18
31
  currentBytes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/services/quota.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,yBAAyB,CAAC;AAKxF,mFAAmF;AACnF,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzF;AAED,yEAAyE;AACzE,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1F;AAED,8EAA8E;AAC9E,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9F;AAID,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;GAIG;AACH,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,cAAc,GAAE,MAAU,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA8B3B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAC/B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,GAC3C,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/services/quota.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,yBAAyB,CAAC;AAKxF,mFAAmF;AACnF,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzF;AAED,yEAAyE;AACzE,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1F;AAED,8EAA8E;AAC9E,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9F;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAC9C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAcf;AAID,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;GAIG;AACH,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,cAAc,GAAE,MAAU,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA8B3B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAC/B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,GAC3C,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -1,9 +1,14 @@
1
1
  /**
2
- * Quota enforcement and overage charging — RFC §8.2, §8.4, §5.7.4, §15
2
+ * @file quota.ts
3
+ * @description Quota enforcement and overage charging — RFC §8.2, §8.4, §5.7.4, §15
3
4
  *
4
5
  * Memory: default 10 MB total per agent, 10 morsels/MB/month overage
5
6
  * Storage: default 100 MB total per agent, 100 morsels/GB/month overage
6
7
  * Micro-memory: default 500 KB total per agent (hard limit)
8
+ *
9
+ * @version-history
10
+ * v1.1.0 — 2026-06-20 — Security (H-5): add enforceExtensionMemoryLimits() so
11
+ * extension ctx.memory.set respects the per-value-size + per-key-count limits.
7
12
  */
8
13
  import { randomUUID } from 'node:crypto';
9
14
  import { parseGaiiLoose } from '../utils/gaii.js';
@@ -37,6 +42,28 @@ export async function getMicroMemoryTotalBytes(storage, gaii) {
37
42
  }
38
43
  return total;
39
44
  }
45
+ /**
46
+ * Enforce the per-value-size and per-key-count hard limits for an extension's
47
+ * `ctx.memory.set`. The REST `/v1/memory` handler enforces these, but extensions
48
+ * write via `storage.setMemory()` directly and would otherwise bypass them — a
49
+ * loop of large writes could exhaust disk/DB. Throws on violation (surfaces as an
50
+ * extension error). `ownerGaii` is the extension namespace (`ext:{name}`).
51
+ */
52
+ export async function enforceExtensionMemoryLimits(config, storage, ownerGaii, key, value) {
53
+ const maxValueSize = config.memoryMaxValueSizeKb * 1024;
54
+ const valueSize = Buffer.byteLength(JSON.stringify(value ?? null), 'utf8');
55
+ if (valueSize > maxValueSize) {
56
+ throw new Error(`QUOTA_EXCEEDED: value size ${valueSize} bytes exceeds limit of ${maxValueSize} bytes`);
57
+ }
58
+ // Only count keys when adding a new one (updates to an existing key don't grow the count).
59
+ const existing = await storage.getMemory(ownerGaii, key);
60
+ if (!existing) {
61
+ const allKeys = await storage.listMemory(ownerGaii);
62
+ if (allKeys.length >= config.memoryMaxKeysPerAgent) {
63
+ throw new Error(`QUOTA_EXCEEDED: memory key limit reached (${config.memoryMaxKeysPerAgent}). Delete unused keys first.`);
64
+ }
65
+ }
66
+ }
40
67
  // ── Quota checkers ──
41
68
  /**
42
69
  * Check if a memory write of `additionalBytes` would exceed the quota.
@@ -1 +1 @@
1
- {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/services/quota.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/services/quota.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,11 @@ export declare class Scheduler {
39
39
  setWebhookDispatcher(dispatcher: WebhookDispatcher): void;
40
40
  /** Inject the push service used to notify the owner on failed/auto-paused schedules. */
41
41
  setPushService(pushService: PushService): void;
42
+ /** Expose the notify services (push + email) for core handlers that send owner alerts. */
43
+ getNotifyServices(): {
44
+ push?: PushService;
45
+ email?: EmailService;
46
+ };
42
47
  /**
43
48
  * Register a core handler function that can be referenced by scheduled jobs.
44
49
  * Must be called before start().
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/services/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/services/scheduler.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,10 @@ export class Scheduler {
62
62
  setPushService(pushService) {
63
63
  this.pushService = pushService;
64
64
  }
65
+ /** Expose the notify services (push + email) for core handlers that send owner alerts. */
66
+ getNotifyServices() {
67
+ return { push: this.pushService, email: this.emailService };
68
+ }
65
69
  /**
66
70
  * Register a core handler function that can be referenced by scheduled jobs.
67
71
  * Must be called before start().