aimeat 2.2.0 → 2.3.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 (1057) hide show
  1. package/README.md +110 -84
  2. package/dist/.env.example +47 -11
  3. package/dist/locales/en.json +251 -371
  4. package/dist/locales/fi.json +255 -375
  5. package/dist/public/components/ContactCard.js +30 -5
  6. package/dist/public/components/ContactPicker.js +3 -2
  7. package/dist/public/components/ImageDeliverable.js +2 -1
  8. package/dist/public/components/JsonView.js +1 -0
  9. package/dist/public/components/LinkPreview.js +1 -1
  10. package/dist/public/components/NotificationBell.js +6 -4
  11. package/dist/public/components/UsageChart.js +2 -1
  12. package/dist/public/css/theme.css +1516 -1432
  13. package/dist/public/css/views/app-grant.css +95 -36
  14. package/dist/public/css/views/help.css +28 -0
  15. package/dist/public/css/views/landing.css +20 -0
  16. package/dist/public/css/views/members.css +40 -10
  17. package/dist/public/css/views/portal-dev.css +64 -45
  18. package/dist/public/css/views/profile.css +8 -0
  19. package/dist/public/js/api.js +1 -0
  20. package/dist/public/js/app-sandbox.js +1 -0
  21. package/dist/public/js/components/auth-image.js +3 -1
  22. package/dist/public/js/i18n.js +3 -1
  23. package/dist/public/js/presence-store.js +3 -1
  24. package/dist/public/js/recents.js +2 -0
  25. package/dist/public/js/services/agent-activity.js +2 -1
  26. package/dist/public/js/services/agent-directives.js +2 -1
  27. package/dist/public/js/services/agent-integration.js +2 -1
  28. package/dist/public/js/services/agent-messages.js +2 -1
  29. package/dist/public/js/services/agent-tasks.js +2 -1
  30. package/dist/public/js/services/agents.js +3 -2
  31. package/dist/public/js/services/calibrator.js +2 -1
  32. package/dist/public/js/services/consent.js +2 -1
  33. package/dist/public/js/services/contacts.js +2 -1
  34. package/dist/public/js/services/cortex.js +5 -4
  35. package/dist/public/js/services/ecosystem.js +2 -1
  36. package/dist/public/js/services/knowledge.js +2 -1
  37. package/dist/public/js/services/ledger.js +2 -1
  38. package/dist/public/js/services/living.js +10 -9
  39. package/dist/public/js/services/memory.js +2 -1
  40. package/dist/public/js/services/messages.js +53 -8
  41. package/dist/public/js/services/nodes.js +3 -2
  42. package/dist/public/js/services/notebook-plan.js +2 -1
  43. package/dist/public/js/services/notebook.js +6 -5
  44. package/dist/public/js/services/offers.js +6 -5
  45. package/dist/public/js/services/organisms.js +26 -25
  46. package/dist/public/js/services/organisms.prompts.js +3 -2
  47. package/dist/public/js/services/organisms.shared.js +2 -1
  48. package/dist/public/js/services/organisms.workspace-gen.js +3 -2
  49. package/dist/public/js/services/packages.js +1 -0
  50. package/dist/public/js/services/schedules.js +2 -1
  51. package/dist/public/js/services/security.js +3 -2
  52. package/dist/public/js/services/skills.js +1 -0
  53. package/dist/public/js/services/tracked-responses.js +4 -3
  54. package/dist/public/js/services/unfurl.js +4 -4
  55. package/dist/public/js/services/work.js +2 -1
  56. package/dist/public/js/site.js +74 -0
  57. package/dist/public/js/swallowed.js +69 -0
  58. package/dist/public/js/theme.js +2 -1
  59. package/dist/public/js/utils.js +3 -1
  60. package/dist/public/lib/VENDORED.md +1 -0
  61. package/dist/public/lib/aimeat-game/board.css +262 -0
  62. package/dist/public/lib/aimeat-game/progress.css +406 -0
  63. package/dist/public/lib/aimeat-game/shell.css +388 -0
  64. package/dist/public/lib/aimeat-game.css +394 -0
  65. package/dist/public/lib/pdfjs@6/pdf.min.mjs +29 -0
  66. package/dist/public/lib/pdfjs@6/pdf.worker.min.mjs +29 -0
  67. package/dist/public/privacy.fi.html +1 -1
  68. package/dist/public/privacy.html +1 -1
  69. package/dist/public/spa.html +885 -793
  70. package/dist/public/sw.js +4 -2
  71. package/dist/public/views/admin/agent-integration-tab.js +7 -6
  72. package/dist/public/views/admin/ai-usage-tab.js +2 -1
  73. package/dist/public/views/admin/cortex-tab.js +2 -1
  74. package/dist/public/views/admin/economy-tab.js +0 -1
  75. package/dist/public/views/admin/email-tab.js +4 -2
  76. package/dist/public/views/admin/federation-tab.js +3 -2
  77. package/dist/public/views/admin/feedback-tab.js +2 -1
  78. package/dist/public/views/admin/knowledge-tab.js +2 -1
  79. package/dist/public/views/admin/messages-tab.js +2 -1
  80. package/dist/public/views/admin/msm-tab.js +2 -1
  81. package/dist/public/views/admin/packages-tab.js +3 -2
  82. package/dist/public/views/admin/portal-tab.js +7 -2
  83. package/dist/public/views/admin/push-tab.js +9 -4
  84. package/dist/public/views/admin/stats-tab.js +2 -1
  85. package/dist/public/views/admin/usage-tab.js +4 -3
  86. package/dist/public/views/admin.js +6 -4
  87. package/dist/public/views/agent-solo.js +4 -3
  88. package/dist/public/views/app-grant.js +105 -32
  89. package/dist/public/views/business.js +139 -55
  90. package/dist/public/views/command-palette.js +5 -3
  91. package/dist/public/views/companies.js +3 -2
  92. package/dist/public/views/doc-solo.js +2 -1
  93. package/dist/public/views/help.js +95 -15
  94. package/dist/public/views/how-it-works.js +41 -8
  95. package/dist/public/views/invite-accept.js +3 -2
  96. package/dist/public/views/landing-activity.js +3 -2
  97. package/dist/public/views/landing-node-totals.js +2 -1
  98. package/dist/public/views/landing.js +75 -152
  99. package/dist/public/views/members.js +29 -2
  100. package/dist/public/views/my-company.js +9 -7
  101. package/dist/public/views/my-company.payments.js +2 -1
  102. package/dist/public/views/portal-classic.js +2 -1
  103. package/dist/public/views/portal-dev.js +64 -35
  104. package/dist/public/views/portal-dev.panels.js +39 -2
  105. package/dist/public/views/portal-dev.upload.js +25 -196
  106. package/dist/public/views/portal.components.js +4 -3
  107. package/dist/public/views/portfolio.js +5 -4
  108. package/dist/public/views/profile/access-tab/access-tokens.js +2 -1
  109. package/dist/public/views/profile/access-tab/agent-defaults.js +3 -1
  110. package/dist/public/views/profile/access-tab/connected-apps.js +72 -3
  111. package/dist/public/views/profile/access-tab/sharing-groups.js +4 -1
  112. package/dist/public/views/profile/access-tab.js +3 -1
  113. package/dist/public/views/profile/agents/agent-card.js +6 -5
  114. package/dist/public/views/profile/agents/tab-activity.js +10 -8
  115. package/dist/public/views/profile/agents/tab-agent-config.js +3 -1
  116. package/dist/public/views/profile/agents/tab-contracts.js +2 -1
  117. package/dist/public/views/profile/agents/tab-data-access.js +10 -7
  118. package/dist/public/views/profile/agents/tab-helpers.js +5 -0
  119. package/dist/public/views/profile/agents/tab-integration.js +12 -9
  120. package/dist/public/views/profile/agents/tab-messages.js +6 -4
  121. package/dist/public/views/profile/agents/tab-quality.js +3 -2
  122. package/dist/public/views/profile/agents/tab-usage.js +5 -3
  123. package/dist/public/views/profile/agents/task-item.js +12 -7
  124. package/dist/public/views/profile/agents-activity-subtab.js +5 -2
  125. package/dist/public/views/profile/agents-capabilities-subtab.js +4 -2
  126. package/dist/public/views/profile/agents-messages-subtab.js +5 -2
  127. package/dist/public/views/profile/agents-services-subtab.js +1 -0
  128. package/dist/public/views/profile/agents-tab.js +11 -7
  129. package/dist/public/views/profile/appdev-tab.js +3 -2
  130. package/dist/public/views/profile/apps-tab.js +10 -8
  131. package/dist/public/views/profile/boards-tab.js +5 -4
  132. package/dist/public/views/profile/calibrator-batch.helpers.js +3 -2
  133. package/dist/public/views/profile/calibrator-batch.js +3 -1
  134. package/dist/public/views/profile/calibrator-llm-editor.js +3 -2
  135. package/dist/public/views/profile/calibrator-tab.js +5 -4
  136. package/dist/public/views/profile/capabilities-tab.js +2 -1
  137. package/dist/public/views/profile/chat-sessions-tab.js +6 -3
  138. package/dist/public/views/profile/contacts-tab.js +2 -1
  139. package/dist/public/views/profile/data-wallet-tab.js +5 -4
  140. package/dist/public/views/profile/discover-tab.js +4 -1
  141. package/dist/public/views/profile/ecosystem-tab.automation.js +13 -9
  142. package/dist/public/views/profile/ecosystem-tab.cards.js +3 -2
  143. package/dist/public/views/profile/ecosystem-tab.js +10 -7
  144. package/dist/public/views/profile/email-tab.js +2 -1
  145. package/dist/public/views/profile/extensions-tab.js +7 -6
  146. package/dist/public/views/profile/extensions-tab.maturity.js +2 -1
  147. package/dist/public/views/profile/extensions-tab.prompts.js +24 -0
  148. package/dist/public/views/profile/federation-tab.js +2 -1
  149. package/dist/public/views/profile/inbox-tab/components.js +13 -10
  150. package/dist/public/views/profile/inbox-tab/helpers.js +15 -1
  151. package/dist/public/views/profile/inbox-tab/use-thread-ux.js +1 -1
  152. package/dist/public/views/profile/inbox-tab.js +33 -30
  153. package/dist/public/views/profile/inline-panels.js +5 -4
  154. package/dist/public/views/profile/knowledge-tab.js +15 -13
  155. package/dist/public/views/profile/landing-page.cards.js +14 -9
  156. package/dist/public/views/profile/landing-page.helpers.js +5 -2
  157. package/dist/public/views/profile/landing-page.js +11 -7
  158. package/dist/public/views/profile/landing-page.modals.js +8 -5
  159. package/dist/public/views/profile/living-tab.js +3 -2
  160. package/dist/public/views/profile/mcp-tab.js +4 -2
  161. package/dist/public/views/profile/memory-tab/browse-view.js +3 -2
  162. package/dist/public/views/profile/memory-tab/components.js +4 -3
  163. package/dist/public/views/profile/memory-tab/entries-view.js +3 -2
  164. package/dist/public/views/profile/memory-tab.js +18 -16
  165. package/dist/public/views/profile/nodes-tab.js +2 -1
  166. package/dist/public/views/profile/notebook-card.js +4 -3
  167. package/dist/public/views/profile/notebook-tab.js +7 -5
  168. package/dist/public/views/profile/notifications-tab.js +9 -5
  169. package/dist/public/views/profile/offers-tab.js +5 -4
  170. package/dist/public/views/profile/openrouter-settings.js +5 -4
  171. package/dist/public/views/profile/organisms/activity-panel.js +2 -1
  172. package/dist/public/views/profile/organisms/agents.js +2 -1
  173. package/dist/public/views/profile/organisms/document.js +13 -12
  174. package/dist/public/views/profile/organisms/helpers.js +2 -1
  175. package/dist/public/views/profile/organisms/home.js +7 -6
  176. package/dist/public/views/profile/organisms/invite-panel.js +1 -1
  177. package/dist/public/views/profile/organisms/members.js +7 -6
  178. package/dist/public/views/profile/organisms/mindmap.js +1 -1
  179. package/dist/public/views/profile/organisms/panels.js +4 -3
  180. package/dist/public/views/profile/organisms/participants-panel.js +11 -10
  181. package/dist/public/views/profile/organisms/readme-panel.js +1 -0
  182. package/dist/public/views/profile/organisms/sources-panel.js +2 -1
  183. package/dist/public/views/profile/organisms/workspace/doc-space.js +2 -1
  184. package/dist/public/views/profile/organisms/workspace/model.js +1 -0
  185. package/dist/public/views/profile/organisms/workspace-apps.js +4 -2
  186. package/dist/public/views/profile/organisms/workspace-comments.js +3 -2
  187. package/dist/public/views/profile/organisms/workspace-list.js +5 -4
  188. package/dist/public/views/profile/organisms/workspace.js +19 -16
  189. package/dist/public/views/profile/organisms-tab.js +20 -12
  190. package/dist/public/views/profile/packages-tab.js +6 -4
  191. package/dist/public/views/profile/portfolio-tab.js +1 -1
  192. package/dist/public/views/profile/scheduler-calendar.js +2 -1
  193. package/dist/public/views/profile/scheduler-tab.js +2 -1
  194. package/dist/public/views/profile/security-tab.js +2 -1
  195. package/dist/public/views/profile/services-tab.js +4 -3
  196. package/dist/public/views/profile/wallet-tab.js +90 -84
  197. package/dist/public/views/profile/work-tab.js +3 -2
  198. package/dist/public/views/profile/workflows-form.js +2 -1
  199. package/dist/public/views/profile/workflows-tab.js +3 -2
  200. package/dist/public/views/public-workspace-viewer.js +7 -4
  201. package/dist/scripts/build-sdk-libs.d.ts.map +1 -1
  202. package/dist/scripts/build-sdk-libs.js +4 -0
  203. package/dist/scripts/build-sdk-libs.js.map +1 -1
  204. package/dist/scripts/check-silent-catch.d.ts +2 -0
  205. package/dist/scripts/check-silent-catch.d.ts.map +1 -0
  206. package/dist/scripts/check-silent-catch.js +159 -0
  207. package/dist/scripts/check-silent-catch.js.map +1 -0
  208. package/dist/src/auth/jwt.d.ts +2 -0
  209. package/dist/src/auth/jwt.d.ts.map +1 -1
  210. package/dist/src/auth/jwt.js +15 -3
  211. package/dist/src/auth/jwt.js.map +1 -1
  212. package/dist/src/auth/keypair.d.ts.map +1 -1
  213. package/dist/src/auth/keypair.js +3 -0
  214. package/dist/src/auth/keypair.js.map +1 -1
  215. package/dist/src/auth/middleware.d.ts +2 -0
  216. package/dist/src/auth/middleware.d.ts.map +1 -1
  217. package/dist/src/auth/middleware.js +33 -14
  218. package/dist/src/auth/middleware.js.map +1 -1
  219. package/dist/src/auth/node-keys.d.ts.map +1 -1
  220. package/dist/src/auth/node-keys.js +59 -16
  221. package/dist/src/auth/node-keys.js.map +1 -1
  222. package/dist/src/cli/config-import.d.ts.map +1 -1
  223. package/dist/src/cli/config-import.js +3 -1
  224. package/dist/src/cli/config-import.js.map +1 -1
  225. package/dist/src/cli/connect/auth.d.ts.map +1 -1
  226. package/dist/src/cli/connect/auth.js +1 -0
  227. package/dist/src/cli/connect/auth.js.map +1 -1
  228. package/dist/src/cli/connect/config.d.ts.map +1 -1
  229. package/dist/src/cli/connect/config.js +3 -1
  230. package/dist/src/cli/connect/config.js.map +1 -1
  231. package/dist/src/cli/connect/keychain.d.ts.map +1 -1
  232. package/dist/src/cli/connect/keychain.js +6 -2
  233. package/dist/src/cli/connect/keychain.js.map +1 -1
  234. package/dist/src/cli/connect/mcp/local-server.d.ts.map +1 -1
  235. package/dist/src/cli/connect/mcp/local-server.js +9 -2
  236. package/dist/src/cli/connect/mcp/local-server.js.map +1 -1
  237. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
  238. package/dist/src/cli/connect/mcp/tools/workspaces.js +2 -0
  239. package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
  240. package/dist/src/cli/connect/task-runner.d.ts.map +1 -1
  241. package/dist/src/cli/connect/task-runner.js +11 -4
  242. package/dist/src/cli/connect/task-runner.js.map +1 -1
  243. package/dist/src/cli/connect/tool-call-helpers.d.ts.map +1 -1
  244. package/dist/src/cli/connect/tool-call-helpers.js +1 -0
  245. package/dist/src/cli/connect/tool-call-helpers.js.map +1 -1
  246. package/dist/src/cli/connect/tunnel-client.d.ts.map +1 -1
  247. package/dist/src/cli/connect/tunnel-client.js +26 -8
  248. package/dist/src/cli/connect/tunnel-client.js.map +1 -1
  249. package/dist/src/cli/federation-join.d.ts.map +1 -1
  250. package/dist/src/cli/federation-join.js +7 -3
  251. package/dist/src/cli/federation-join.js.map +1 -1
  252. package/dist/src/cli/init-wizard/presets.d.ts.map +1 -1
  253. package/dist/src/cli/init-wizard/presets.js +21 -0
  254. package/dist/src/cli/init-wizard/presets.js.map +1 -1
  255. package/dist/src/cli/init-wizard/steps-advanced.d.ts.map +1 -1
  256. package/dist/src/cli/init-wizard/steps-advanced.js +2 -0
  257. package/dist/src/cli/init-wizard/steps-advanced.js.map +1 -1
  258. package/dist/src/cli/init-wizard/steps-operator.d.ts.map +1 -1
  259. package/dist/src/cli/init-wizard/steps-operator.js +10 -0
  260. package/dist/src/cli/init-wizard/steps-operator.js.map +1 -1
  261. package/dist/src/commerce/invoice-handler.d.ts +5 -0
  262. package/dist/src/commerce/invoice-handler.d.ts.map +1 -0
  263. package/dist/src/commerce/invoice-handler.js +41 -0
  264. package/dist/src/commerce/invoice-handler.js.map +1 -0
  265. package/dist/src/commerce/payable-book.d.ts +31 -0
  266. package/dist/src/commerce/payable-book.d.ts.map +1 -0
  267. package/dist/src/commerce/payable-book.js +27 -0
  268. package/dist/src/commerce/payable-book.js.map +1 -0
  269. package/dist/src/commerce/payment-handlers.d.ts.map +1 -1
  270. package/dist/src/commerce/payment-handlers.js +8 -4
  271. package/dist/src/commerce/payment-handlers.js.map +1 -1
  272. package/dist/src/commerce/sellable-resolvers.d.ts +6 -6
  273. package/dist/src/commerce/sellable-resolvers.d.ts.map +1 -1
  274. package/dist/src/commerce/sellable-resolvers.js +17 -4
  275. package/dist/src/commerce/sellable-resolvers.js.map +1 -1
  276. package/dist/src/commerce/session-service.js +2 -2
  277. package/dist/src/commerce/session-service.js.map +1 -1
  278. package/dist/src/commerce/stripe-handler.d.ts +33 -0
  279. package/dist/src/commerce/stripe-handler.d.ts.map +1 -0
  280. package/dist/src/commerce/stripe-handler.js +108 -0
  281. package/dist/src/commerce/stripe-handler.js.map +1 -0
  282. package/dist/src/commerce/types.d.ts +10 -12
  283. package/dist/src/commerce/types.d.ts.map +1 -1
  284. package/dist/src/commerce/x402-facilitator.d.ts.map +1 -1
  285. package/dist/src/commerce/x402-facilitator.js +1 -0
  286. package/dist/src/commerce/x402-facilitator.js.map +1 -1
  287. package/dist/src/config-types.d.ts +66 -0
  288. package/dist/src/config-types.d.ts.map +1 -1
  289. package/dist/src/config.d.ts.map +1 -1
  290. package/dist/src/config.js +62 -1
  291. package/dist/src/config.js.map +1 -1
  292. package/dist/src/data/library-packs/sdk.d.ts +4 -0
  293. package/dist/src/data/library-packs/sdk.d.ts.map +1 -1
  294. package/dist/src/data/library-packs/sdk.js +46 -0
  295. package/dist/src/data/library-packs/sdk.js.map +1 -1
  296. package/dist/src/data/library-packs/vendored.d.ts.map +1 -1
  297. package/dist/src/data/library-packs/vendored.js +88 -0
  298. package/dist/src/data/library-packs/vendored.js.map +1 -1
  299. package/dist/src/generated/api-types.d.ts +472 -26
  300. package/dist/src/generated/api-types.d.ts.map +1 -1
  301. package/dist/src/index-connect.d.ts.map +1 -1
  302. package/dist/src/index-connect.js +4 -1
  303. package/dist/src/index-connect.js.map +1 -1
  304. package/dist/src/index-start.d.ts.map +1 -1
  305. package/dist/src/index-start.js +10 -6
  306. package/dist/src/index-start.js.map +1 -1
  307. package/dist/src/mcp/app-template-proposals.d.ts.map +1 -1
  308. package/dist/src/mcp/app-template-proposals.js +2 -1
  309. package/dist/src/mcp/app-template-proposals.js.map +1 -1
  310. package/dist/src/mcp/apps.d.ts.map +1 -1
  311. package/dist/src/mcp/apps.js +4 -3
  312. package/dist/src/mcp/apps.js.map +1 -1
  313. package/dist/src/mcp/capabilities.d.ts.map +1 -1
  314. package/dist/src/mcp/capabilities.js +3 -2
  315. package/dist/src/mcp/capabilities.js.map +1 -1
  316. package/dist/src/mcp/catalog/scopes.d.ts +0 -1
  317. package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
  318. package/dist/src/mcp/catalog/scopes.js +2 -11
  319. package/dist/src/mcp/catalog/scopes.js.map +1 -1
  320. package/dist/src/mcp/catalog/surfaces.d.ts +1 -7
  321. package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
  322. package/dist/src/mcp/catalog/surfaces.js +10 -16
  323. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  324. package/dist/src/mcp/commerce.d.ts.map +1 -1
  325. package/dist/src/mcp/commerce.js +35 -3
  326. package/dist/src/mcp/commerce.js.map +1 -1
  327. package/dist/src/mcp/core.d.ts.map +1 -1
  328. package/dist/src/mcp/core.js +3 -2
  329. package/dist/src/mcp/core.js.map +1 -1
  330. package/dist/src/mcp/exchange-run.d.ts +28 -0
  331. package/dist/src/mcp/exchange-run.d.ts.map +1 -1
  332. package/dist/src/mcp/exchange-run.js +58 -37
  333. package/dist/src/mcp/exchange-run.js.map +1 -1
  334. package/dist/src/mcp/exchange.d.ts.map +1 -1
  335. package/dist/src/mcp/exchange.js +9 -7
  336. package/dist/src/mcp/exchange.js.map +1 -1
  337. package/dist/src/mcp/extensions.d.ts.map +1 -1
  338. package/dist/src/mcp/extensions.js +60 -106
  339. package/dist/src/mcp/extensions.js.map +1 -1
  340. package/dist/src/mcp/index.d.ts.map +1 -1
  341. package/dist/src/mcp/index.js +1 -5
  342. package/dist/src/mcp/index.js.map +1 -1
  343. package/dist/src/mcp/knowledge.d.ts.map +1 -1
  344. package/dist/src/mcp/knowledge.js +1 -0
  345. package/dist/src/mcp/knowledge.js.map +1 -1
  346. package/dist/src/mcp/oauth.d.ts +3 -0
  347. package/dist/src/mcp/oauth.d.ts.map +1 -1
  348. package/dist/src/mcp/oauth.js +13 -8
  349. package/dist/src/mcp/oauth.js.map +1 -1
  350. package/dist/src/mcp/workspaces.d.ts.map +1 -1
  351. package/dist/src/mcp/workspaces.js +7 -4
  352. package/dist/src/mcp/workspaces.js.map +1 -1
  353. package/dist/src/middleware/cors.d.ts.map +1 -1
  354. package/dist/src/middleware/cors.js +3 -1
  355. package/dist/src/middleware/cors.js.map +1 -1
  356. package/dist/src/middleware/subdomain.d.ts +4 -0
  357. package/dist/src/middleware/subdomain.d.ts.map +1 -1
  358. package/dist/src/middleware/subdomain.js +23 -2
  359. package/dist/src/middleware/subdomain.js.map +1 -1
  360. package/dist/src/models/app-tool-schemas.d.ts +35 -0
  361. package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
  362. package/dist/src/models/app-tool-schemas.js +44 -0
  363. package/dist/src/models/app-tool-schemas.js.map +1 -1
  364. package/dist/src/routes/admin-config.d.ts.map +1 -1
  365. package/dist/src/routes/admin-config.js +4 -1
  366. package/dist/src/routes/admin-config.js.map +1 -1
  367. package/dist/src/routes/admin-extensions.d.ts.map +1 -1
  368. package/dist/src/routes/admin-extensions.js +2 -1
  369. package/dist/src/routes/admin-extensions.js.map +1 -1
  370. package/dist/src/routes/admin-monitoring.js +14 -5
  371. package/dist/src/routes/admin-monitoring.js.map +1 -1
  372. package/dist/src/routes/admin-security.d.ts.map +1 -1
  373. package/dist/src/routes/admin-security.js +4 -1
  374. package/dist/src/routes/admin-security.js.map +1 -1
  375. package/dist/src/routes/admin.d.ts.map +1 -1
  376. package/dist/src/routes/admin.js +6 -4
  377. package/dist/src/routes/admin.js.map +1 -1
  378. package/dist/src/routes/agent-activity.d.ts.map +1 -1
  379. package/dist/src/routes/agent-activity.js +4 -1
  380. package/dist/src/routes/agent-activity.js.map +1 -1
  381. package/dist/src/routes/agent-directives.d.ts +3 -10
  382. package/dist/src/routes/agent-directives.d.ts.map +1 -1
  383. package/dist/src/routes/agent-directives.js +7 -12
  384. package/dist/src/routes/agent-directives.js.map +1 -1
  385. package/dist/src/routes/agent-integration.d.ts.map +1 -1
  386. package/dist/src/routes/agent-integration.js +3 -1
  387. package/dist/src/routes/agent-integration.js.map +1 -1
  388. package/dist/src/routes/agent-messages.d.ts.map +1 -1
  389. package/dist/src/routes/agent-messages.js +5 -2
  390. package/dist/src/routes/agent-messages.js.map +1 -1
  391. package/dist/src/routes/agent-onboarding.d.ts.map +1 -1
  392. package/dist/src/routes/agent-onboarding.js +19 -6
  393. package/dist/src/routes/agent-onboarding.js.map +1 -1
  394. package/dist/src/routes/agent-skills-discovery.d.ts.map +1 -1
  395. package/dist/src/routes/agent-skills-discovery.js +2 -1
  396. package/dist/src/routes/agent-skills-discovery.js.map +1 -1
  397. package/dist/src/routes/agent-tasks/completion.js +1 -1
  398. package/dist/src/routes/agent-tasks/completion.js.map +1 -1
  399. package/dist/src/routes/agent-tasks/create-read.js +3 -1
  400. package/dist/src/routes/agent-tasks/create-read.js.map +1 -1
  401. package/dist/src/routes/agent-tasks/lifecycle.d.ts.map +1 -1
  402. package/dist/src/routes/agent-tasks/lifecycle.js +28 -9
  403. package/dist/src/routes/agent-tasks/lifecycle.js.map +1 -1
  404. package/dist/src/routes/agents/management.d.ts.map +1 -1
  405. package/dist/src/routes/agents/management.js +4 -1
  406. package/dist/src/routes/agents/management.js.map +1 -1
  407. package/dist/src/routes/agents/offers.d.ts.map +1 -1
  408. package/dist/src/routes/agents/offers.js +0 -0
  409. package/dist/src/routes/agents/offers.js.map +1 -1
  410. package/dist/src/routes/agents/profile-metadata.d.ts.map +1 -1
  411. package/dist/src/routes/agents/profile-metadata.js +2 -1
  412. package/dist/src/routes/agents/profile-metadata.js.map +1 -1
  413. package/dist/src/routes/app-grants.d.ts +7 -0
  414. package/dist/src/routes/app-grants.d.ts.map +1 -1
  415. package/dist/src/routes/app-grants.js +69 -4
  416. package/dist/src/routes/app-grants.js.map +1 -1
  417. package/dist/src/routes/appdev-overview.d.ts.map +1 -1
  418. package/dist/src/routes/appdev-overview.js +2 -1
  419. package/dist/src/routes/appdev-overview.js.map +1 -1
  420. package/dist/src/routes/apps/catalogue-admin.d.ts.map +1 -1
  421. package/dist/src/routes/apps/catalogue-admin.js +2 -1
  422. package/dist/src/routes/apps/catalogue-admin.js.map +1 -1
  423. package/dist/src/routes/apps/drafts.d.ts.map +1 -1
  424. package/dist/src/routes/apps/drafts.js +2 -1
  425. package/dist/src/routes/apps/drafts.js.map +1 -1
  426. package/dist/src/routes/apps/fork-manage.d.ts.map +1 -1
  427. package/dist/src/routes/apps/fork-manage.js +6 -3
  428. package/dist/src/routes/apps/fork-manage.js.map +1 -1
  429. package/dist/src/routes/apps/helpers.d.ts.map +1 -1
  430. package/dist/src/routes/apps/helpers.js +5 -1
  431. package/dist/src/routes/apps/helpers.js.map +1 -1
  432. package/dist/src/routes/apps/publish.d.ts.map +1 -1
  433. package/dist/src/routes/apps/publish.js +8 -3
  434. package/dist/src/routes/apps/publish.js.map +1 -1
  435. package/dist/src/routes/apps/read.d.ts.map +1 -1
  436. package/dist/src/routes/apps/read.js +2 -1
  437. package/dist/src/routes/apps/read.js.map +1 -1
  438. package/dist/src/routes/auth.d.ts.map +1 -1
  439. package/dist/src/routes/auth.js +2 -1
  440. package/dist/src/routes/auth.js.map +1 -1
  441. package/dist/src/routes/boards.js +1 -1
  442. package/dist/src/routes/boards.js.map +1 -1
  443. package/dist/src/routes/bootstrap.d.ts.map +1 -1
  444. package/dist/src/routes/bootstrap.js +8 -3
  445. package/dist/src/routes/bootstrap.js.map +1 -1
  446. package/dist/src/routes/capabilities.d.ts.map +1 -1
  447. package/dist/src/routes/capabilities.js +4 -3
  448. package/dist/src/routes/capabilities.js.map +1 -1
  449. package/dist/src/routes/commerce-acp.js +1 -1
  450. package/dist/src/routes/commerce-acp.js.map +1 -1
  451. package/dist/src/routes/commerce-ucp.d.ts +2 -3
  452. package/dist/src/routes/commerce-ucp.d.ts.map +1 -1
  453. package/dist/src/routes/commerce-ucp.js +6 -12
  454. package/dist/src/routes/commerce-ucp.js.map +1 -1
  455. package/dist/src/routes/commerce.d.ts +7 -1
  456. package/dist/src/routes/commerce.d.ts.map +1 -1
  457. package/dist/src/routes/commerce.js +65 -15
  458. package/dist/src/routes/commerce.js.map +1 -1
  459. package/dist/src/routes/csm.d.ts.map +1 -1
  460. package/dist/src/routes/csm.js +3 -1
  461. package/dist/src/routes/csm.js.map +1 -1
  462. package/dist/src/routes/ecosystem-apps.d.ts.map +1 -1
  463. package/dist/src/routes/ecosystem-apps.js +7 -6
  464. package/dist/src/routes/ecosystem-apps.js.map +1 -1
  465. package/dist/src/routes/exchange-market.d.ts.map +1 -1
  466. package/dist/src/routes/exchange-market.js +10 -6
  467. package/dist/src/routes/exchange-market.js.map +1 -1
  468. package/dist/src/routes/exchange.d.ts +10 -1
  469. package/dist/src/routes/exchange.d.ts.map +1 -1
  470. package/dist/src/routes/exchange.js +344 -9
  471. package/dist/src/routes/exchange.js.map +1 -1
  472. package/dist/src/routes/extensions/actions.d.ts +2 -0
  473. package/dist/src/routes/extensions/actions.d.ts.map +1 -1
  474. package/dist/src/routes/extensions/actions.js +47 -8
  475. package/dist/src/routes/extensions/actions.js.map +1 -1
  476. package/dist/src/routes/extensions/entitlement-gate.d.ts +44 -7
  477. package/dist/src/routes/extensions/entitlement-gate.d.ts.map +1 -1
  478. package/dist/src/routes/extensions/entitlement-gate.js +21 -142
  479. package/dist/src/routes/extensions/entitlement-gate.js.map +1 -1
  480. package/dist/src/routes/extensions/internal-pass.d.ts +23 -0
  481. package/dist/src/routes/extensions/internal-pass.d.ts.map +1 -0
  482. package/dist/src/routes/extensions/internal-pass.js +70 -0
  483. package/dist/src/routes/extensions/internal-pass.js.map +1 -0
  484. package/dist/src/routes/extensions/manifest.d.ts +4 -0
  485. package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
  486. package/dist/src/routes/extensions/manifest.js +68 -4
  487. package/dist/src/routes/extensions/manifest.js.map +1 -1
  488. package/dist/src/routes/extensions/metered-response.d.ts +37 -0
  489. package/dist/src/routes/extensions/metered-response.d.ts.map +1 -0
  490. package/dist/src/routes/extensions/metered-response.js +60 -0
  491. package/dist/src/routes/extensions/metered-response.js.map +1 -0
  492. package/dist/src/routes/extensions/pacing.d.ts +31 -0
  493. package/dist/src/routes/extensions/pacing.d.ts.map +1 -1
  494. package/dist/src/routes/extensions/pacing.js +5 -33
  495. package/dist/src/routes/extensions/pacing.js.map +1 -1
  496. package/dist/src/routes/extensions/paywall.d.ts +16 -0
  497. package/dist/src/routes/extensions/paywall.d.ts.map +1 -1
  498. package/dist/src/routes/extensions/paywall.js +157 -8
  499. package/dist/src/routes/extensions/paywall.js.map +1 -1
  500. package/dist/src/routes/extensions/priced-binding.d.ts +50 -0
  501. package/dist/src/routes/extensions/priced-binding.d.ts.map +1 -0
  502. package/dist/src/routes/extensions/priced-binding.js +46 -0
  503. package/dist/src/routes/extensions/priced-binding.js.map +1 -0
  504. package/dist/src/routes/federation-genesis.d.ts.map +1 -1
  505. package/dist/src/routes/federation-genesis.js +14 -5
  506. package/dist/src/routes/federation-genesis.js.map +1 -1
  507. package/dist/src/routes/federation-peer/introduce.d.ts.map +1 -1
  508. package/dist/src/routes/federation-peer/introduce.js +3 -1
  509. package/dist/src/routes/federation-peer/introduce.js.map +1 -1
  510. package/dist/src/routes/federation-peer/lifecycle.d.ts.map +1 -1
  511. package/dist/src/routes/federation-peer/lifecycle.js +3 -2
  512. package/dist/src/routes/federation-peer/lifecycle.js.map +1 -1
  513. package/dist/src/routes/federation-peer/peers.d.ts.map +1 -1
  514. package/dist/src/routes/federation-peer/peers.js +5 -3
  515. package/dist/src/routes/federation-peer/peers.js.map +1 -1
  516. package/dist/src/routes/federation-peer/policy-book.d.ts.map +1 -1
  517. package/dist/src/routes/federation-peer/policy-book.js +2 -1
  518. package/dist/src/routes/federation-peer/policy-book.js.map +1 -1
  519. package/dist/src/routes/federation-peer/promotion.d.ts.map +1 -1
  520. package/dist/src/routes/federation-peer/promotion.js +4 -1
  521. package/dist/src/routes/federation-peer/promotion.js.map +1 -1
  522. package/dist/src/routes/federation-settlements.js +2 -2
  523. package/dist/src/routes/federation-settlements.js.map +1 -1
  524. package/dist/src/routes/federation-sync/catalogue-trust.js +5 -3
  525. package/dist/src/routes/federation-sync/catalogue-trust.js.map +1 -1
  526. package/dist/src/routes/federation-sync/messaging.js +5 -3
  527. package/dist/src/routes/federation-sync/messaging.js.map +1 -1
  528. package/dist/src/routes/federation-sync/routing.d.ts.map +1 -1
  529. package/dist/src/routes/federation-sync/routing.js +7 -5
  530. package/dist/src/routes/federation-sync/routing.js.map +1 -1
  531. package/dist/src/routes/flags.d.ts.map +1 -1
  532. package/dist/src/routes/flags.js +3 -1
  533. package/dist/src/routes/flags.js.map +1 -1
  534. package/dist/src/routes/ghii/register-login.js +1 -1
  535. package/dist/src/routes/ghii/register-login.js.map +1 -1
  536. package/dist/src/routes/instances/install.d.ts.map +1 -1
  537. package/dist/src/routes/instances/install.js +2 -1
  538. package/dist/src/routes/instances/install.js.map +1 -1
  539. package/dist/src/routes/instances/manage.d.ts.map +1 -1
  540. package/dist/src/routes/instances/manage.js +2 -1
  541. package/dist/src/routes/instances/manage.js.map +1 -1
  542. package/dist/src/routes/knowledge/packages-core.d.ts.map +1 -1
  543. package/dist/src/routes/knowledge/packages-core.js +2 -1
  544. package/dist/src/routes/knowledge/packages-core.js.map +1 -1
  545. package/dist/src/routes/knowledge/sharing.d.ts.map +1 -1
  546. package/dist/src/routes/knowledge/sharing.js +2 -1
  547. package/dist/src/routes/knowledge/sharing.js.map +1 -1
  548. package/dist/src/routes/library-packs.d.ts.map +1 -1
  549. package/dist/src/routes/library-packs.js +10 -3
  550. package/dist/src/routes/library-packs.js.map +1 -1
  551. package/dist/src/routes/libs.d.ts +9 -0
  552. package/dist/src/routes/libs.d.ts.map +1 -1
  553. package/dist/src/routes/libs.js +11 -2
  554. package/dist/src/routes/libs.js.map +1 -1
  555. package/dist/src/routes/matches.d.ts.map +1 -1
  556. package/dist/src/routes/matches.js +7 -3
  557. package/dist/src/routes/matches.js.map +1 -1
  558. package/dist/src/routes/memory/bulk.d.ts.map +1 -1
  559. package/dist/src/routes/memory/bulk.js +3 -1
  560. package/dist/src/routes/memory/bulk.js.map +1 -1
  561. package/dist/src/routes/memory/crud.d.ts.map +1 -1
  562. package/dist/src/routes/memory/crud.js +4 -2
  563. package/dist/src/routes/memory/crud.js.map +1 -1
  564. package/dist/src/routes/memory/federation.d.ts.map +1 -1
  565. package/dist/src/routes/memory/federation.js +5 -0
  566. package/dist/src/routes/memory/federation.js.map +1 -1
  567. package/dist/src/routes/memory/key.d.ts.map +1 -1
  568. package/dist/src/routes/memory/key.js +9 -4
  569. package/dist/src/routes/memory/key.js.map +1 -1
  570. package/dist/src/routes/messages.d.ts.map +1 -1
  571. package/dist/src/routes/messages.js +2 -1
  572. package/dist/src/routes/messages.js.map +1 -1
  573. package/dist/src/routes/msm.d.ts.map +1 -1
  574. package/dist/src/routes/msm.js +3 -1
  575. package/dist/src/routes/msm.js.map +1 -1
  576. package/dist/src/routes/oauth-login.d.ts.map +1 -1
  577. package/dist/src/routes/oauth-login.js +1 -0
  578. package/dist/src/routes/oauth-login.js.map +1 -1
  579. package/dist/src/routes/openrouter.js +2 -2
  580. package/dist/src/routes/openrouter.js.map +1 -1
  581. package/dist/src/routes/organisms/crud.d.ts.map +1 -1
  582. package/dist/src/routes/organisms/crud.js +3 -2
  583. package/dist/src/routes/organisms/crud.js.map +1 -1
  584. package/dist/src/routes/organisms/gates.d.ts.map +1 -1
  585. package/dist/src/routes/organisms/gates.js +3 -2
  586. package/dist/src/routes/organisms/gates.js.map +1 -1
  587. package/dist/src/routes/organisms/intake.d.ts.map +1 -1
  588. package/dist/src/routes/organisms/intake.js +13 -1
  589. package/dist/src/routes/organisms/intake.js.map +1 -1
  590. package/dist/src/routes/organisms/shared.d.ts.map +1 -1
  591. package/dist/src/routes/organisms/shared.js +7 -3
  592. package/dist/src/routes/organisms/shared.js.map +1 -1
  593. package/dist/src/routes/organisms/workspace-ops.d.ts.map +1 -1
  594. package/dist/src/routes/organisms/workspace-ops.js +6 -5
  595. package/dist/src/routes/organisms/workspace-ops.js.map +1 -1
  596. package/dist/src/routes/organisms/workspace-read.d.ts.map +1 -1
  597. package/dist/src/routes/organisms/workspace-read.js +4 -2
  598. package/dist/src/routes/organisms/workspace-read.js.map +1 -1
  599. package/dist/src/routes/owners.d.ts.map +1 -1
  600. package/dist/src/routes/owners.js +37 -12
  601. package/dist/src/routes/owners.js.map +1 -1
  602. package/dist/src/routes/personal.js +3 -1
  603. package/dist/src/routes/personal.js.map +1 -1
  604. package/dist/src/routes/portal.d.ts +6 -1
  605. package/dist/src/routes/portal.d.ts.map +1 -1
  606. package/dist/src/routes/portal.js +75 -10
  607. package/dist/src/routes/portal.js.map +1 -1
  608. package/dist/src/routes/portfolio.d.ts.map +1 -1
  609. package/dist/src/routes/portfolio.js +5 -1
  610. package/dist/src/routes/portfolio.js.map +1 -1
  611. package/dist/src/routes/prompts.d.ts.map +1 -1
  612. package/dist/src/routes/prompts.js +36 -2
  613. package/dist/src/routes/prompts.js.map +1 -1
  614. package/dist/src/routes/public-events.d.ts.map +1 -1
  615. package/dist/src/routes/public-events.js +4 -1
  616. package/dist/src/routes/public-events.js.map +1 -1
  617. package/dist/src/routes/public-stats.d.ts.map +1 -1
  618. package/dist/src/routes/public-stats.js +29 -10
  619. package/dist/src/routes/public-stats.js.map +1 -1
  620. package/dist/src/routes/schedules.d.ts +3 -0
  621. package/dist/src/routes/schedules.d.ts.map +1 -1
  622. package/dist/src/routes/schedules.js +14 -1
  623. package/dist/src/routes/schedules.js.map +1 -1
  624. package/dist/src/routes/stats.d.ts.map +1 -1
  625. package/dist/src/routes/stats.js +5 -1
  626. package/dist/src/routes/stats.js.map +1 -1
  627. package/dist/src/routes/storage-files.d.ts +4 -0
  628. package/dist/src/routes/storage-files.d.ts.map +1 -1
  629. package/dist/src/routes/storage-files.js +11 -0
  630. package/dist/src/routes/storage-files.js.map +1 -1
  631. package/dist/src/routes/subdomains.d.ts +9 -0
  632. package/dist/src/routes/subdomains.d.ts.map +1 -1
  633. package/dist/src/routes/subdomains.js +66 -5
  634. package/dist/src/routes/subdomains.js.map +1 -1
  635. package/dist/src/routes/unfurl.d.ts.map +1 -1
  636. package/dist/src/routes/unfurl.js +13 -3
  637. package/dist/src/routes/unfurl.js.map +1 -1
  638. package/dist/src/routes/upload.d.ts +11 -0
  639. package/dist/src/routes/upload.d.ts.map +1 -1
  640. package/dist/src/routes/upload.js +99 -9
  641. package/dist/src/routes/upload.js.map +1 -1
  642. package/dist/src/routes/wallet.d.ts +3 -0
  643. package/dist/src/routes/wallet.d.ts.map +1 -1
  644. package/dist/src/routes/wallet.js +6 -1
  645. package/dist/src/routes/wallet.js.map +1 -1
  646. package/dist/src/routes/webmcp.d.ts +8 -0
  647. package/dist/src/routes/webmcp.d.ts.map +1 -1
  648. package/dist/src/routes/webmcp.js +96 -49
  649. package/dist/src/routes/webmcp.js.map +1 -1
  650. package/dist/src/routes/wellknown.d.ts.map +1 -1
  651. package/dist/src/routes/wellknown.js +1 -0
  652. package/dist/src/routes/wellknown.js.map +1 -1
  653. package/dist/src/server-bootstrap/config-init.d.ts.map +1 -1
  654. package/dist/src/server-bootstrap/config-init.js +2 -0
  655. package/dist/src/server-bootstrap/config-init.js.map +1 -1
  656. package/dist/src/server-bootstrap/routes-loader.d.ts +4 -2
  657. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  658. package/dist/src/server-bootstrap/routes-loader.js +11 -22
  659. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  660. package/dist/src/server-bootstrap/service-init.js +3 -1
  661. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  662. package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
  663. package/dist/src/server-bootstrap/static-files.js +3 -1
  664. package/dist/src/server-bootstrap/static-files.js.map +1 -1
  665. package/dist/src/services/agent-statistics.d.ts.map +1 -1
  666. package/dist/src/services/agent-statistics.js +4 -1
  667. package/dist/src/services/agent-statistics.js.map +1 -1
  668. package/dist/src/services/app-agent-deploy.d.ts.map +1 -1
  669. package/dist/src/services/app-agent-deploy.js +4 -1
  670. package/dist/src/services/app-agent-deploy.js.map +1 -1
  671. package/dist/src/services/app-agent-surface.d.ts +78 -0
  672. package/dist/src/services/app-agent-surface.d.ts.map +1 -0
  673. package/dist/src/services/app-agent-surface.js +74 -0
  674. package/dist/src/services/app-agent-surface.js.map +1 -0
  675. package/dist/src/services/app-tool-names.d.ts +15 -0
  676. package/dist/src/services/app-tool-names.d.ts.map +1 -0
  677. package/dist/src/services/app-tool-names.js +24 -0
  678. package/dist/src/services/app-tool-names.js.map +1 -0
  679. package/dist/src/services/appdev-overview.d.ts.map +1 -1
  680. package/dist/src/services/appdev-overview.js +3 -2
  681. package/dist/src/services/appdev-overview.js.map +1 -1
  682. package/dist/src/services/attachment-duplication.js +3 -3
  683. package/dist/src/services/attachment-duplication.js.map +1 -1
  684. package/dist/src/services/build-extension-prompt.d.ts +40 -0
  685. package/dist/src/services/build-extension-prompt.d.ts.map +1 -0
  686. package/dist/src/services/build-extension-prompt.js +253 -0
  687. package/dist/src/services/build-extension-prompt.js.map +1 -0
  688. package/dist/src/services/cache-cleanup.d.ts.map +1 -1
  689. package/dist/src/services/cache-cleanup.js +2 -1
  690. package/dist/src/services/cache-cleanup.js.map +1 -1
  691. package/dist/src/services/call-timing.d.ts.map +1 -1
  692. package/dist/src/services/call-timing.js +2 -1
  693. package/dist/src/services/call-timing.js.map +1 -1
  694. package/dist/src/services/capability-invoke.d.ts +6 -1
  695. package/dist/src/services/capability-invoke.d.ts.map +1 -1
  696. package/dist/src/services/capability-invoke.js +14 -2
  697. package/dist/src/services/capability-invoke.js.map +1 -1
  698. package/dist/src/services/catalogue-sync.d.ts.map +1 -1
  699. package/dist/src/services/catalogue-sync.js +1 -0
  700. package/dist/src/services/catalogue-sync.js.map +1 -1
  701. package/dist/src/services/component-registrar.d.ts.map +1 -1
  702. package/dist/src/services/component-registrar.js +22 -6
  703. package/dist/src/services/component-registrar.js.map +1 -1
  704. package/dist/src/services/config-loader.d.ts.map +1 -1
  705. package/dist/src/services/config-loader.js +6 -1
  706. package/dist/src/services/config-loader.js.map +1 -1
  707. package/dist/src/services/config-schema.d.ts.map +1 -1
  708. package/dist/src/services/config-schema.js +1 -0
  709. package/dist/src/services/config-schema.js.map +1 -1
  710. package/dist/src/services/connect-tunnel.d.ts.map +1 -1
  711. package/dist/src/services/connect-tunnel.js +17 -6
  712. package/dist/src/services/connect-tunnel.js.map +1 -1
  713. package/dist/src/services/consent.d.ts.map +1 -1
  714. package/dist/src/services/consent.js +3 -1
  715. package/dist/src/services/consent.js.map +1 -1
  716. package/dist/src/services/consul-config.d.ts.map +1 -1
  717. package/dist/src/services/consul-config.js +7 -2
  718. package/dist/src/services/consul-config.js.map +1 -1
  719. package/dist/src/services/contacts.js +4 -2
  720. package/dist/src/services/contacts.js.map +1 -1
  721. package/dist/src/services/core-jobs.js +1 -1
  722. package/dist/src/services/core-jobs.js.map +1 -1
  723. package/dist/src/services/db/agent-messages-overview-db-service.d.ts.map +1 -1
  724. package/dist/src/services/db/agent-messages-overview-db-service.js +2 -1
  725. package/dist/src/services/db/agent-messages-overview-db-service.js.map +1 -1
  726. package/dist/src/services/db/agent-quality-overview-db-service.d.ts.map +1 -1
  727. package/dist/src/services/db/agent-quality-overview-db-service.js +2 -1
  728. package/dist/src/services/db/agent-quality-overview-db-service.js.map +1 -1
  729. package/dist/src/services/db/messages-inbox-db-service.d.ts.map +1 -1
  730. package/dist/src/services/db/messages-inbox-db-service.js +3 -2
  731. package/dist/src/services/db/messages-inbox-db-service.js.map +1 -1
  732. package/dist/src/services/db/messaging-db-service.d.ts.map +1 -1
  733. package/dist/src/services/db/messaging-db-service.js +3 -2
  734. package/dist/src/services/db/messaging-db-service.js.map +1 -1
  735. package/dist/src/services/db/wallet-tab-db-service.d.ts +3 -3
  736. package/dist/src/services/doc-images.d.ts.map +1 -1
  737. package/dist/src/services/doc-images.js +7 -4
  738. package/dist/src/services/doc-images.js.map +1 -1
  739. package/dist/src/services/ecosystem-automation-notify.d.ts.map +1 -1
  740. package/dist/src/services/ecosystem-automation-notify.js +10 -4
  741. package/dist/src/services/ecosystem-automation-notify.js.map +1 -1
  742. package/dist/src/services/ecosystem-automation.d.ts.map +1 -1
  743. package/dist/src/services/ecosystem-automation.js +3 -2
  744. package/dist/src/services/ecosystem-automation.js.map +1 -1
  745. package/dist/src/services/ecosystem-events.js +1 -1
  746. package/dist/src/services/ecosystem-events.js.map +1 -1
  747. package/dist/src/services/entitlement-merge.d.ts +50 -0
  748. package/dist/src/services/entitlement-merge.d.ts.map +1 -0
  749. package/dist/src/services/entitlement-merge.js +116 -0
  750. package/dist/src/services/entitlement-merge.js.map +1 -0
  751. package/dist/src/services/entitlement-money.d.ts.map +1 -1
  752. package/dist/src/services/entitlement-money.js +4 -1
  753. package/dist/src/services/entitlement-money.js.map +1 -1
  754. package/dist/src/services/exchange-market.d.ts +47 -2
  755. package/dist/src/services/exchange-market.d.ts.map +1 -1
  756. package/dist/src/services/exchange-market.js +80 -9
  757. package/dist/src/services/exchange-market.js.map +1 -1
  758. package/dist/src/services/exchange-projection.d.ts +8 -2
  759. package/dist/src/services/exchange-projection.d.ts.map +1 -1
  760. package/dist/src/services/exchange-projection.js +146 -21
  761. package/dist/src/services/exchange-projection.js.map +1 -1
  762. package/dist/src/services/exchange-proposals.d.ts.map +1 -1
  763. package/dist/src/services/exchange-proposals.js +4 -2
  764. package/dist/src/services/exchange-proposals.js.map +1 -1
  765. package/dist/src/services/extension-purchase.d.ts +36 -0
  766. package/dist/src/services/extension-purchase.d.ts.map +1 -0
  767. package/dist/src/services/extension-purchase.js +110 -0
  768. package/dist/src/services/extension-purchase.js.map +1 -0
  769. package/dist/src/services/extension-runtime.d.ts +23 -1
  770. package/dist/src/services/extension-runtime.d.ts.map +1 -1
  771. package/dist/src/services/extension-runtime.js +21 -4
  772. package/dist/src/services/extension-runtime.js.map +1 -1
  773. package/dist/src/services/extension-secrets.d.ts +8 -0
  774. package/dist/src/services/extension-secrets.d.ts.map +1 -1
  775. package/dist/src/services/extension-secrets.js +14 -0
  776. package/dist/src/services/extension-secrets.js.map +1 -1
  777. package/dist/src/services/federation-availability.d.ts.map +1 -1
  778. package/dist/src/services/federation-availability.js +1 -0
  779. package/dist/src/services/federation-availability.js.map +1 -1
  780. package/dist/src/services/federation-book.js +15 -7
  781. package/dist/src/services/federation-book.js.map +1 -1
  782. package/dist/src/services/federation-helpers.d.ts.map +1 -1
  783. package/dist/src/services/federation-helpers.js +1 -0
  784. package/dist/src/services/federation-helpers.js.map +1 -1
  785. package/dist/src/services/federation.d.ts.map +1 -1
  786. package/dist/src/services/federation.js +8 -6
  787. package/dist/src/services/federation.js.map +1 -1
  788. package/dist/src/services/gate-expiry.d.ts.map +1 -1
  789. package/dist/src/services/gate-expiry.js +2 -1
  790. package/dist/src/services/gate-expiry.js.map +1 -1
  791. package/dist/src/services/genesis-sync.d.ts.map +1 -1
  792. package/dist/src/services/genesis-sync.js +9 -4
  793. package/dist/src/services/genesis-sync.js.map +1 -1
  794. package/dist/src/services/handbooks/commerce.d.ts +13 -0
  795. package/dist/src/services/handbooks/commerce.d.ts.map +1 -0
  796. package/dist/src/services/handbooks/commerce.js +60 -0
  797. package/dist/src/services/handbooks/commerce.js.map +1 -0
  798. package/dist/src/services/handbooks/index.d.ts +1 -0
  799. package/dist/src/services/handbooks/index.d.ts.map +1 -1
  800. package/dist/src/services/handbooks/index.js +2 -2
  801. package/dist/src/services/handbooks/index.js.map +1 -1
  802. package/dist/src/services/hooks.d.ts.map +1 -1
  803. package/dist/src/services/hooks.js +2 -0
  804. package/dist/src/services/hooks.js.map +1 -1
  805. package/dist/src/services/invitations.d.ts.map +1 -1
  806. package/dist/src/services/invitations.js +2 -0
  807. package/dist/src/services/invitations.js.map +1 -1
  808. package/dist/src/services/living-author.d.ts.map +1 -1
  809. package/dist/src/services/living-author.js +4 -1
  810. package/dist/src/services/living-author.js.map +1 -1
  811. package/dist/src/services/living-pulse.js +18 -6
  812. package/dist/src/services/living-pulse.js.map +1 -1
  813. package/dist/src/services/mailbox-notification.d.ts.map +1 -1
  814. package/dist/src/services/mailbox-notification.js +1 -0
  815. package/dist/src/services/mailbox-notification.js.map +1 -1
  816. package/dist/src/services/match-notification.d.ts.map +1 -1
  817. package/dist/src/services/match-notification.js +2 -1
  818. package/dist/src/services/match-notification.js.map +1 -1
  819. package/dist/src/services/matching.d.ts.map +1 -1
  820. package/dist/src/services/matching.js +5 -2
  821. package/dist/src/services/matching.js.map +1 -1
  822. package/dist/src/services/memory-replication.d.ts.map +1 -1
  823. package/dist/src/services/memory-replication.js +3 -1
  824. package/dist/src/services/memory-replication.js.map +1 -1
  825. package/dist/src/services/message-broadcast.d.ts.map +1 -1
  826. package/dist/src/services/message-broadcast.js +2 -1
  827. package/dist/src/services/message-broadcast.js.map +1 -1
  828. package/dist/src/services/message-delivery.d.ts.map +1 -1
  829. package/dist/src/services/message-delivery.js +9 -4
  830. package/dist/src/services/message-delivery.js.map +1 -1
  831. package/dist/src/services/metered-access.d.ts +148 -0
  832. package/dist/src/services/metered-access.d.ts.map +1 -0
  833. package/dist/src/services/metered-access.js +128 -0
  834. package/dist/src/services/metered-access.js.map +1 -0
  835. package/dist/src/services/metered-entitlements.d.ts +140 -5
  836. package/dist/src/services/metered-entitlements.d.ts.map +1 -1
  837. package/dist/src/services/metered-entitlements.js +247 -30
  838. package/dist/src/services/metered-entitlements.js.map +1 -1
  839. package/dist/src/services/metered-settlement.d.ts +45 -0
  840. package/dist/src/services/metered-settlement.d.ts.map +1 -0
  841. package/dist/src/services/metered-settlement.js +117 -0
  842. package/dist/src/services/metered-settlement.js.map +1 -0
  843. package/dist/src/services/network-policy.d.ts.map +1 -1
  844. package/dist/src/services/network-policy.js +6 -2
  845. package/dist/src/services/network-policy.js.map +1 -1
  846. package/dist/src/services/notebook-classify.d.ts.map +1 -1
  847. package/dist/src/services/notebook-classify.js +7 -2
  848. package/dist/src/services/notebook-classify.js.map +1 -1
  849. package/dist/src/services/notebook-plan.d.ts.map +1 -1
  850. package/dist/src/services/notebook-plan.js +4 -1
  851. package/dist/src/services/notebook-plan.js.map +1 -1
  852. package/dist/src/services/notify.d.ts.map +1 -1
  853. package/dist/src/services/notify.js +6 -3
  854. package/dist/src/services/notify.js.map +1 -1
  855. package/dist/src/services/openrouter.d.ts.map +1 -1
  856. package/dist/src/services/openrouter.js +1 -0
  857. package/dist/src/services/openrouter.js.map +1 -1
  858. package/dist/src/services/organism-export.d.ts.map +1 -1
  859. package/dist/src/services/organism-export.js +4 -1
  860. package/dist/src/services/organism-export.js.map +1 -1
  861. package/dist/src/services/organism-import.d.ts.map +1 -1
  862. package/dist/src/services/organism-import.js +5 -1
  863. package/dist/src/services/organism-import.js.map +1 -1
  864. package/dist/src/services/perf-trace.js +3 -1
  865. package/dist/src/services/perf-trace.js.map +1 -1
  866. package/dist/src/services/personal-tunnel.js +14 -8
  867. package/dist/src/services/personal-tunnel.js.map +1 -1
  868. package/dist/src/services/presence.d.ts.map +1 -1
  869. package/dist/src/services/presence.js +11 -5
  870. package/dist/src/services/presence.js.map +1 -1
  871. package/dist/src/services/protected-resource.d.ts +60 -0
  872. package/dist/src/services/protected-resource.d.ts.map +1 -0
  873. package/dist/src/services/protected-resource.js +137 -0
  874. package/dist/src/services/protected-resource.js.map +1 -0
  875. package/dist/src/services/realtime-manager.d.ts.map +1 -1
  876. package/dist/src/services/realtime-manager.js +8 -5
  877. package/dist/src/services/realtime-manager.js.map +1 -1
  878. package/dist/src/services/safe-zip.d.ts.map +1 -1
  879. package/dist/src/services/safe-zip.js +4 -1
  880. package/dist/src/services/safe-zip.js.map +1 -1
  881. package/dist/src/services/scheduler-extension-job.js +2 -2
  882. package/dist/src/services/scheduler-extension-job.js.map +1 -1
  883. package/dist/src/services/scheduler.js +13 -7
  884. package/dist/src/services/scheduler.js.map +1 -1
  885. package/dist/src/services/security-incident.d.ts.map +1 -1
  886. package/dist/src/services/security-incident.js +7 -2
  887. package/dist/src/services/security-incident.js.map +1 -1
  888. package/dist/src/services/site-sync.d.ts.map +1 -1
  889. package/dist/src/services/site-sync.js +1 -0
  890. package/dist/src/services/site-sync.js.map +1 -1
  891. package/dist/src/services/site.d.ts +1 -1
  892. package/dist/src/services/site.d.ts.map +1 -1
  893. package/dist/src/services/site.js +29 -8
  894. package/dist/src/services/site.js.map +1 -1
  895. package/dist/src/services/structure-overview.d.ts.map +1 -1
  896. package/dist/src/services/structure-overview.js +4 -1
  897. package/dist/src/services/structure-overview.js.map +1 -1
  898. package/dist/src/services/structure-snapshot.d.ts.map +1 -1
  899. package/dist/src/services/structure-snapshot.js +3 -2
  900. package/dist/src/services/structure-snapshot.js.map +1 -1
  901. package/dist/src/services/sync-scheduler.js +3 -2
  902. package/dist/src/services/sync-scheduler.js.map +1 -1
  903. package/dist/src/services/tracked-response.js +1 -1
  904. package/dist/src/services/tracked-response.js.map +1 -1
  905. package/dist/src/services/trust-broadcast.d.ts.map +1 -1
  906. package/dist/src/services/trust-broadcast.js +1 -0
  907. package/dist/src/services/trust-broadcast.js.map +1 -1
  908. package/dist/src/services/upload-zip.d.ts +7 -0
  909. package/dist/src/services/upload-zip.d.ts.map +1 -1
  910. package/dist/src/services/upload-zip.js +19 -85
  911. package/dist/src/services/upload-zip.js.map +1 -1
  912. package/dist/src/services/web-bot-auth.d.ts.map +1 -1
  913. package/dist/src/services/web-bot-auth.js +1 -0
  914. package/dist/src/services/web-bot-auth.js.map +1 -1
  915. package/dist/src/services/workflow/engine-steps.d.ts.map +1 -1
  916. package/dist/src/services/workflow/engine-steps.js +12 -6
  917. package/dist/src/services/workflow/engine-steps.js.map +1 -1
  918. package/dist/src/services/workspace-export.d.ts.map +1 -1
  919. package/dist/src/services/workspace-export.js +5 -2
  920. package/dist/src/services/workspace-export.js.map +1 -1
  921. package/dist/src/services/workspace-import.d.ts.map +1 -1
  922. package/dist/src/services/workspace-import.js +2 -1
  923. package/dist/src/services/workspace-import.js.map +1 -1
  924. package/dist/src/services/workspace-versions.d.ts.map +1 -1
  925. package/dist/src/services/workspace-versions.js +0 -0
  926. package/dist/src/services/workspace-versions.js.map +1 -1
  927. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts +5 -0
  928. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts.map +1 -1
  929. package/dist/src/storage/providers/postgres-kysely/helpers.d.ts +11 -0
  930. package/dist/src/storage/providers/postgres-kysely/helpers.d.ts.map +1 -1
  931. package/dist/src/storage/providers/postgres-kysely/helpers.js +14 -0
  932. package/dist/src/storage/providers/postgres-kysely/helpers.js.map +1 -1
  933. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts +1 -1
  934. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts.map +1 -1
  935. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js +6 -0
  936. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js.map +1 -1
  937. package/dist/src/storage/providers/postgres-kysely/methods/capabilities.js +3 -3
  938. package/dist/src/storage/providers/postgres-kysely/methods/capabilities.js.map +1 -1
  939. package/dist/src/storage/providers/postgres-kysely/methods/ecosystem.js +3 -3
  940. package/dist/src/storage/providers/postgres-kysely/methods/ecosystem.js.map +1 -1
  941. package/dist/src/storage/providers/postgres-kysely/methods/federation.d.ts.map +1 -1
  942. package/dist/src/storage/providers/postgres-kysely/methods/federation.js +12 -10
  943. package/dist/src/storage/providers/postgres-kysely/methods/federation.js.map +1 -1
  944. package/dist/src/storage/providers/postgres-kysely/methods/identity.d.ts.map +1 -1
  945. package/dist/src/storage/providers/postgres-kysely/methods/identity.js +26 -12
  946. package/dist/src/storage/providers/postgres-kysely/methods/identity.js.map +1 -1
  947. package/dist/src/storage/providers/postgres-kysely/methods/marketplace.js +5 -5
  948. package/dist/src/storage/providers/postgres-kysely/methods/marketplace.js.map +1 -1
  949. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.d.ts +9 -0
  950. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.d.ts.map +1 -1
  951. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.js +31 -27
  952. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.js.map +1 -1
  953. package/dist/src/storage/providers/postgres-kysely/methods/organisms.d.ts.map +1 -1
  954. package/dist/src/storage/providers/postgres-kysely/methods/organisms.js +10 -14
  955. package/dist/src/storage/providers/postgres-kysely/methods/organisms.js.map +1 -1
  956. package/dist/src/storage/providers/postgres-kysely/methods/otk.js +3 -3
  957. package/dist/src/storage/providers/postgres-kysely/methods/otk.js.map +1 -1
  958. package/dist/src/storage/providers/postgres-kysely/methods/packages.d.ts.map +1 -1
  959. package/dist/src/storage/providers/postgres-kysely/methods/packages.js +4 -14
  960. package/dist/src/storage/providers/postgres-kysely/methods/packages.js.map +1 -1
  961. package/dist/src/storage/providers/postgres-kysely/methods/template-listings.d.ts.map +1 -1
  962. package/dist/src/storage/providers/postgres-kysely/methods/template-listings.js +11 -10
  963. package/dist/src/storage/providers/postgres-kysely/methods/template-listings.js.map +1 -1
  964. package/dist/src/storage/providers/postgres-kysely/methods/wallet.d.ts.map +1 -1
  965. package/dist/src/storage/providers/postgres-kysely/methods/wallet.js +3 -1
  966. package/dist/src/storage/providers/postgres-kysely/methods/wallet.js.map +1 -1
  967. package/dist/src/storage/providers/postgres-kysely/migrate.d.ts.map +1 -1
  968. package/dist/src/storage/providers/postgres-kysely/migrate.js +3 -0
  969. package/dist/src/storage/providers/postgres-kysely/migrate.js.map +1 -1
  970. package/dist/src/storage/providers/postgres-kysely/migrations/0013_ghii_password_lockout.sql +12 -0
  971. package/dist/src/storage/providers/postgres-kysely/migrations/0014_transaction_initiator.sql +6 -0
  972. package/dist/src/storage/providers/postgres-kysely/migrations/0015_app_grant_spend_cap.sql +5 -0
  973. package/dist/src/storage/providers/sqlite/methods/apps.d.ts +1 -1
  974. package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
  975. package/dist/src/storage/providers/sqlite/methods/apps.js +12 -2
  976. package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
  977. package/dist/src/storage/providers/sqlite/methods/community.d.ts.map +1 -1
  978. package/dist/src/storage/providers/sqlite/methods/community.js +6 -1
  979. package/dist/src/storage/providers/sqlite/methods/community.js.map +1 -1
  980. package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts.map +1 -1
  981. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js +9 -2
  982. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js.map +1 -1
  983. package/dist/src/storage/providers/sqlite/methods/work.d.ts.map +1 -1
  984. package/dist/src/storage/providers/sqlite/methods/work.js +4 -2
  985. package/dist/src/storage/providers/sqlite/methods/work.js.map +1 -1
  986. package/dist/src/storage/providers/sqlite/repos/community.d.ts.map +1 -1
  987. package/dist/src/storage/providers/sqlite/repos/community.js +6 -1
  988. package/dist/src/storage/providers/sqlite/repos/community.js.map +1 -1
  989. package/dist/src/storage/providers/sqlite/repos/identity.d.ts +3 -0
  990. package/dist/src/storage/providers/sqlite/repos/identity.d.ts.map +1 -1
  991. package/dist/src/storage/providers/sqlite/repos/identity.js +13 -4
  992. package/dist/src/storage/providers/sqlite/repos/identity.js.map +1 -1
  993. package/dist/src/storage/providers/sqlite/repos/work.d.ts.map +1 -1
  994. package/dist/src/storage/providers/sqlite/repos/work.js +4 -2
  995. package/dist/src/storage/providers/sqlite/repos/work.js.map +1 -1
  996. package/dist/src/storage/providers/sqlite/schema-tables-1.d.ts.map +1 -1
  997. package/dist/src/storage/providers/sqlite/schema-tables-1.js +1 -0
  998. package/dist/src/storage/providers/sqlite/schema-tables-1.js.map +1 -1
  999. package/dist/src/storage/providers/sqlite/schema-tables-2.d.ts.map +1 -1
  1000. package/dist/src/storage/providers/sqlite/schema-tables-2.js +2 -0
  1001. package/dist/src/storage/providers/sqlite/schema-tables-2.js.map +1 -1
  1002. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  1003. package/dist/src/storage/providers/sqlite/schema.js +14 -1
  1004. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  1005. package/dist/src/storage/repositories/app-grant.repository.d.ts +1 -1
  1006. package/dist/src/storage/repositories/app-grant.repository.d.ts.map +1 -1
  1007. package/dist/src/storage/types/auth.d.ts +9 -0
  1008. package/dist/src/storage/types/auth.d.ts.map +1 -1
  1009. package/dist/src/storage/types/commerce.d.ts +13 -0
  1010. package/dist/src/storage/types/commerce.d.ts.map +1 -1
  1011. package/dist/src/utils/app-agent-discovery.d.ts +31 -0
  1012. package/dist/src/utils/app-agent-discovery.d.ts.map +1 -0
  1013. package/dist/src/utils/app-agent-discovery.js +96 -0
  1014. package/dist/src/utils/app-agent-discovery.js.map +1 -0
  1015. package/dist/src/utils/app-protect.d.ts.map +1 -1
  1016. package/dist/src/utils/app-protect.js +1 -0
  1017. package/dist/src/utils/app-protect.js.map +1 -1
  1018. package/dist/src/utils/env-validator.d.ts.map +1 -1
  1019. package/dist/src/utils/env-validator.js +5 -1
  1020. package/dist/src/utils/env-validator.js.map +1 -1
  1021. package/dist/src/utils/gaii.d.ts +50 -0
  1022. package/dist/src/utils/gaii.d.ts.map +1 -1
  1023. package/dist/src/utils/gaii.js +66 -0
  1024. package/dist/src/utils/gaii.js.map +1 -1
  1025. package/dist/src/utils/url-validator.d.ts.map +1 -1
  1026. package/dist/src/utils/url-validator.js +4 -1
  1027. package/dist/src/utils/url-validator.js.map +1 -1
  1028. package/dist/src/utils/version.d.ts.map +1 -1
  1029. package/dist/src/utils/version.js +1 -0
  1030. package/dist/src/utils/version.js.map +1 -1
  1031. package/dist/static/sdk-libs/auth/session.js +7 -3
  1032. package/dist/static/sdk-libs/dist/aimeat-auth.js +1 -1
  1033. package/dist/static/sdk-libs/dist/aimeat-exchange.js +675 -0
  1034. package/dist/static/sdk-libs/dist/aimeat-game.js +1555 -0
  1035. package/dist/static/sdk-libs/dist/aimeat-webmcp.js +46 -0
  1036. package/dist/static/sdk-libs/exchange/browse.js +81 -0
  1037. package/dist/static/sdk-libs/exchange/client.js +131 -0
  1038. package/dist/static/sdk-libs/exchange/contracts.js +228 -0
  1039. package/dist/static/sdk-libs/exchange/demand.js +106 -0
  1040. package/dist/static/sdk-libs/exchange/earnings.js +39 -0
  1041. package/dist/static/sdk-libs/exchange/format.js +51 -0
  1042. package/dist/static/sdk-libs/exchange/index.js +70 -0
  1043. package/dist/static/sdk-libs/exchange/odps-completeness.js +177 -0
  1044. package/dist/static/sdk-libs/exchange/sell.js +253 -0
  1045. package/dist/static/sdk-libs/game/board.js +331 -0
  1046. package/dist/static/sdk-libs/game/dom.js +223 -0
  1047. package/dist/static/sdk-libs/game/i18n.js +201 -0
  1048. package/dist/static/sdk-libs/game/index.js +72 -0
  1049. package/dist/static/sdk-libs/game/markers.js +150 -0
  1050. package/dist/static/sdk-libs/game/menu.js +260 -0
  1051. package/dist/static/sdk-libs/game/overlay.js +193 -0
  1052. package/dist/static/sdk-libs/game/progress.js +280 -0
  1053. package/dist/static/sdk-libs/game/score.js +134 -0
  1054. package/dist/static/sdk-libs/game/screen.js +120 -0
  1055. package/dist/static/sdk-libs/game/units.js +55 -0
  1056. package/dist/static/sdk-libs/webmcp/index.js +63 -0
  1057. package/package.json +2 -1
@@ -93,6 +93,7 @@ import { CartTray, EditMemoryModal, FilePreviewModal } from './memory-tab/compon
93
93
  import { renderEntries } from './memory-tab/entries-view.js';
94
94
  import { renderFilesList } from './memory-tab/files-view.js';
95
95
  import { renderBrowsePanel, loadBrowseHome, initBrowseRemote, initDiscover, closeBrowse } from './memory-tab/browse-view.js';
96
+ import { swallowed } from '/js/swallowed.js';
96
97
 
97
98
  export default function MemoryTab({ session, showToast, onStats }) {
98
99
  const { confirm, ConfirmUI } = useConfirm();
@@ -124,6 +125,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
124
125
  // send to a workspace's Sources). Persisted in localStorage per owner so it survives reloads.
125
126
  const cartStoreKey = `aimeat.mem.cart.${session?.owner || 'anon'}`;
126
127
  const [cart, setCart] = useState(() => {
128
+ // eslint-disable-next-line aimeat/no-silent-catch -- a browser API refusing here IS the answer
127
129
  try { const raw = localStorage.getItem(`aimeat.mem.cart.${session?.owner || 'anon'}`); const a = raw ? JSON.parse(raw) : []; return Array.isArray(a) ? a : []; } catch { return []; }
128
130
  });
129
131
  const [cartOrgs, setCartOrgs] = useState([]); // organisms the user can send a collection into
@@ -175,13 +177,13 @@ export default function MemoryTab({ session, showToast, onStats }) {
175
177
  for (const o of orgs) map[o.id] = o.name;
176
178
  setOrgNames(map);
177
179
  setCartOrgs(orgs.map(o => ({ id: o.id, name: o.name })));
178
- } catch { /* names are a nicety — ids still render */ }
180
+ } catch (err) { swallowed('memory-tab: loadOrgNames', err); }
179
181
  }
180
182
 
181
183
  // ── Collection cart ───────────────────────────────────────────────────────
182
184
  // Persist on every change so the cart survives reloads (and cross-tab within the same owner).
183
185
  useEffect(() => {
184
- try { localStorage.setItem(cartStoreKey, JSON.stringify(cart)); } catch { /* quota/private mode — cart is best-effort */ }
186
+ try { localStorage.setItem(cartStoreKey, JSON.stringify(cart)); } catch { /* quota/private mode — cart is best-effort */ } // eslint-disable-line aimeat/no-silent-catch -- quota/private mode — cart is best-effort
185
187
  }, [cart, cartStoreKey]);
186
188
 
187
189
  const cartIdOf = (it) => `${it.kind}:${it.ownerGaii || ''}:${it.key}`;
@@ -206,7 +208,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
206
208
  setCollapsedGroups(prev => {
207
209
  const next = new Set(prev);
208
210
  if (next.has(id)) next.delete(id); else next.add(id);
209
- try { sessionStorage.setItem('aimeat.mem.groups.collapsed', JSON.stringify([...next])); } catch { /* noop */ }
211
+ try { sessionStorage.setItem('aimeat.mem.groups.collapsed', JSON.stringify([...next])); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
210
212
  return next;
211
213
  });
212
214
  }
@@ -235,7 +237,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
235
237
  }
236
238
  setFedConsents(map);
237
239
  setAllConsents(consents.filter(c => !c.status || c.status === 'active'));
238
- } catch { /* ignore */ }
240
+ } catch (err) { swallowed('memory-tab: loadFedConsents', err); }
239
241
  }
240
242
 
241
243
  // Does any active consent pattern cover this key? Drives the per-row shield:
@@ -288,7 +290,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
288
290
  try {
289
291
  const list = await listAgents();
290
292
  setAgents(Array.isArray(list) ? list : []);
291
- } catch { setAgents([]); }
293
+ } catch (err) { swallowed('memory-tab', err); setAgents([]); }
292
294
  }
293
295
 
294
296
  async function loadGroups() {
@@ -296,14 +298,14 @@ export default function MemoryTab({ session, showToast, onStats }) {
296
298
  const resp = await listGroups();
297
299
  if (resp?.data?.groups) setGroups(resp.data.groups);
298
300
  else if (Array.isArray(resp?.data)) setGroups(resp.data);
299
- } catch { /* ignore */ }
301
+ } catch (err) { swallowed('memory-tab: loadGroups', err); }
300
302
  }
301
303
 
302
304
  // Mount composite: ONE GET /v1/memory/tab seeds all six sections — agents + owner-scope memory
303
305
  // (metadata-only) + files + consent + sharing-groups + organism names. loadMemories owns later
304
306
  // (dynamic) memory re-fetches on agent/archived change; on failure we fall back to the six loaders.
305
307
  async function loadTab() {
306
- const ov = await apiGet('/v1/memory/tab').then(r => r?.data).catch(() => null);
308
+ const ov = await apiGet('/v1/memory/tab').then(r => r?.data).catch(err => { swallowed('memory-tab: loadTab', err); return null; });
307
309
  if (!ov) { loadAgents(); loadMemories(); loadFiles(); loadFedConsents(); loadGroups(); loadOrgNames(); return; }
308
310
  setAgents(Array.isArray(ov.agents) ? ov.agents : []);
309
311
  // memory (metadata-only default view — mirrors loadMemories meta path)
@@ -352,7 +354,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
352
354
  setValueCache({});
353
355
  if (!memArchived) onStats?.({ memory: items.length });
354
356
  }
355
- } catch { setMemories([]); }
357
+ } catch (err) { swallowed('memory-tab', err); setMemories([]); }
356
358
  }
357
359
 
358
360
  // "Load all contents" — pull every entry's value so the instant client filter can search values too.
@@ -361,7 +363,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
361
363
  try {
362
364
  const list = await memoryService.listMemories(selectedAgent || undefined);
363
365
  setMemories(Array.isArray(list) ? list : []);
364
- } catch { /* keep the meta list we already have */ }
366
+ } catch (err) { swallowed('memory-tab: loadFullContents', err); }
365
367
  }
366
368
 
367
369
  // Lazy value fetch (meta mode): on row expand, fetch the value once and cache it.
@@ -371,7 +373,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
371
373
  try {
372
374
  const resp = await memoryService.getMemory(key, { soft: true, agent: selectedAgent || undefined });
373
375
  setValueCache(prev => ({ ...prev, [key]: resp?.data?.value ?? null }));
374
- } catch {
376
+ } catch (err) { swallowed('memory-tab: ensureValue', err);
375
377
  setValueCache(prev => ({ ...prev, [key]: null }));
376
378
  } finally {
377
379
  setLoadingValueKeys(prev => { const n = new Set(prev); n.delete(key); return n; });
@@ -494,7 +496,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
494
496
  const list = await memoryService.listFiles();
495
497
  setFiles(Array.isArray(list) ? list : []);
496
498
  onStats?.({ files: Array.isArray(list) ? list.length : 0 });
497
- } catch { setFiles([]); }
499
+ } catch (err) { swallowed('memory-tab', err); setFiles([]); }
498
500
  }
499
501
 
500
502
  async function handleCreateMemory(key, value, visibility, tags, groupId) {
@@ -523,7 +525,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
523
525
  // object (not a string of JSON) so readers get back what the writer stored.
524
526
  let v = value;
525
527
  const s = String(value || '').trim();
526
- if (/^[[{]/.test(s)) { try { v = JSON.parse(s); } catch { /* modal validates; keep raw as fallback */ } }
528
+ if (/^[[{]/.test(s)) { try { v = JSON.parse(s); } catch { /* modal validates; keep raw as fallback */ } } // eslint-disable-line aimeat/no-silent-catch -- modal validates; keep raw as fallback
527
529
  const body = { value: v, visibility, version };
528
530
  if (visibility === 'group' && groupId) body.group_id = groupId;
529
531
  const resp = await memoryService.updateMemoryFull(key, body);
@@ -541,7 +543,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
541
543
  const base64 = await readFileAsBase64(item.file);
542
544
  await memoryService.uploadFile(item.key, base64, item.file.type || 'application/octet-stream', visibility, tags);
543
545
  ok++;
544
- } catch { fail++; }
546
+ } catch (err) { swallowed('memory-tab', err); fail++; }
545
547
  }
546
548
  if (ok > 0) showToast(ok === 1 ? t('profile.files.uploaded') : `${ok} ${t('profile.files.filesUploaded')}`);
547
549
  if (fail > 0) showToast(`${fail} ${t('profile.files.uploadFailed')}`, true);
@@ -590,7 +592,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
590
592
  try {
591
593
  const result = await getKeyPermissions(key);
592
594
  setKeyRulesPopover({ key, rules: result.rules, visibility: result.visibility });
593
- } catch { setKeyRulesPopover(null); }
595
+ } catch (err) { swallowed('memory-tab', err); setKeyRulesPopover(null); }
594
596
  }
595
597
 
596
598
  // Quick visibility change from the expanded detail. 'group' needs a group pick,
@@ -635,7 +637,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
635
637
  try {
636
638
  const resp = await memoryService.updateMemoryVisibility(m.key, vis, m.version, groupId);
637
639
  if (resp.ok === false) fail++; else ok++;
638
- } catch { fail++; }
640
+ } catch (err) { swallowed('memory-tab', err); fail++; }
639
641
  }
640
642
  showToast((t('profile.memory.bulkDone') || '{n} updated').replace('{n}', String(ok)) + (fail ? ` · ${fail} ${t('profile.error') || 'failed'}` : ''), fail > 0);
641
643
  setSelectedKeys(new Set());
@@ -647,7 +649,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
647
649
  confirm((t('profile.memory.bulkDeleteConfirm') || 'Delete {n} memory entries? This cannot be undone.').replace('{n}', String(n)), async () => {
648
650
  let ok = 0;
649
651
  for (const key of selectedKeys) {
650
- try { const r = await memoryService.deleteMemory(key); if (r.ok !== false) ok++; } catch { /* count below */ }
652
+ try { const r = await memoryService.deleteMemory(key); if (r.ok !== false) ok++; } catch (err) { swallowed('memory-tab: bulkDelete', err); }
651
653
  }
652
654
  showToast((t('profile.memory.bulkDeleted') || '{n} deleted').replace('{n}', String(ok)));
653
655
  setSelectedKeys(new Set());
@@ -24,6 +24,7 @@ import { useConfirm } from '/components/Modal.js';
24
24
  import * as nodesService from '/js/services/nodes.js';
25
25
  import { getNodeUrl } from '/js/services/auth.js';
26
26
  import NodeStatsTab from './node-stats-tab.js';
27
+ import { swallowed } from '/js/swallowed.js';
27
28
 
28
29
  /* Default export below wraps the node list and Node stats into one page with
29
30
  * sub-tabs — Node stats left the sidebar menu (2026-06-10 sidebar reorg). */
@@ -58,7 +59,7 @@ function NodesList({ session, showToast, onStats }) {
58
59
  const list = await nodesService.listNodes();
59
60
  setNodes(list);
60
61
  onStats?.({ nodes: list.length });
61
- } catch { setNodes([]); onStats?.({ nodes: 0 }); }
62
+ } catch (err) { swallowed('nodes-tab', err); setNodes([]); onStats?.({ nodes: 0 }); }
62
63
  }
63
64
 
64
65
  async function handleRegister(nodeId, vis, gaiis) {
@@ -35,6 +35,7 @@ import * as offersService from '/js/services/offers.js';
35
35
  import { Markdown } from '/components/Markdown.js';
36
36
  import { OpenRouterSettings } from './openrouter-settings.js';
37
37
  import { NEW, NB_STEPS, relTime, firstLine, noteText } from './notebook-helpers.js';
38
+ import { swallowed } from '/js/swallowed.js';
38
39
 
39
40
  export default function NoteCard({ note, showToast, orgNames, settings, autoEnrich, onChanged, onOrgsChanged, onDelete }) {
40
41
  const [view, setView] = useState('peek'); // 'line' | 'peek' | 'full'
@@ -179,7 +180,7 @@ export default function NoteCard({ note, showToast, orgNames, settings, autoEnri
179
180
  // ── Enrich: plan → run steps → fold into the note ──
180
181
 
181
182
  async function persistNote(value) {
182
- try { await createMemory(note.key, value, 'private'); } catch { /* best-effort */ }
183
+ try { await createMemory(note.key, value, 'private'); } catch (err) { swallowed('notebook-card: persistNote', err); }
183
184
  }
184
185
 
185
186
  async function handleEnrich() {
@@ -188,7 +189,7 @@ export default function NoteCard({ note, showToast, orgNames, settings, autoEnri
188
189
  setPlanning(true);
189
190
  try {
190
191
  let offersFeed = null, catalogue = [];
191
- try { offersFeed = await offersService.listOffers(); catalogue = buildCatalogue(offersFeed); } catch { /* no fleet → reason/assess only */ }
192
+ try { offersFeed = await offersService.listOffers(); catalogue = buildCatalogue(offersFeed); } catch (err) { swallowed('notebook-card: handleEnrich', err); }
192
193
  const data = await generatePlan(baseText(), catalogue);
193
194
  const existing = Array.isArray(note.value?.enrichments) ? note.value.enrichments : [];
194
195
  const plan = data?.plan || { steps: [], summary: '', confidence: 0 };
@@ -521,7 +522,7 @@ export default function NoteCard({ note, showToast, orgNames, settings, autoEnri
521
522
  ${trackOpen && trackMsg && html`<${TrackResponseModal} open=${true} msg=${trackMsg}
522
523
  defaultMode=${trackedIntent?.mode || 'approve'} allowPark=${false}
523
524
  onClose=${() => setTrackOpen(false)} showToast=${showToast}
524
- onDone=${() => { setTrackOpen(false); deleteMemory(note.key).catch(() => {}).finally(() => onChanged?.()); }} />`}
525
+ onDone=${() => { setTrackOpen(false); deleteMemory(note.key).catch(err => { swallowed('notebook-card: renderSuggestPanel', err); }).finally(() => onChanged?.()); }} />`}
525
526
  </div>
526
527
  `;
527
528
  }
@@ -30,6 +30,7 @@ import { apiGet } from '/js/api.js';
30
30
  import { useConfirm } from '/components/Modal.js';
31
31
  import NoteCard from './notebook-card.js';
32
32
  import { INBOX_PREFIX, noteText } from './notebook-helpers.js';
33
+ import { swallowed } from '/js/swallowed.js';
33
34
 
34
35
  export default function NotebookTab({ session, showToast, onStats }) {
35
36
  const { confirm, ConfirmUI } = useConfirm();
@@ -52,7 +53,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
52
53
  // re-fetches (post-capture/delete, live-update) keep using the individual loaders; a composite failure
53
54
  // falls back to them too.
54
55
  async function loadTab() {
55
- const ov = await apiGet('/v1/notebook').then(r => r?.data).catch(() => null);
56
+ const ov = await apiGet('/v1/notebook').then(r => r?.data).catch(err => { swallowed('notebook-tab: loadTab', err); return null; });
56
57
  if (!ov) { loadInbox(); loadOrgNames(); loadSettings(); return; }
57
58
  setInbox(ov.inbox || []);
58
59
  onStats?.({ notebook: (ov.inbox || []).length });
@@ -70,12 +71,12 @@ export default function NotebookTab({ session, showToast, onStats }) {
70
71
  try {
71
72
  const s = await getNotebookSettings();
72
73
  setSettings({ autoDetectIntent: !!s.autoDetectIntent, autoRunPlan: !!s.autoRunPlan, autoDistribute: !!s.autoDistribute });
73
- } catch { /* defaults stand */ }
74
+ } catch (err) { swallowed('notebook-tab: loadSettings', err); }
74
75
  }
75
76
  async function toggleSetting(key) {
76
77
  const next = { ...settings, [key]: !settings[key] };
77
78
  setSettings(next);
78
- try { await saveNotebookSettings(next); } catch { showToast(t('profile.error'), true); }
79
+ try { await saveNotebookSettings(next); } catch (err) { swallowed('notebook-tab', err); showToast(t('profile.error'), true); }
79
80
  }
80
81
 
81
82
  // Re-fetch the inbox on live updates (a capture elsewhere, a sync) — Rule from the frontend guide.
@@ -95,7 +96,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
95
96
  .sort((a, b) => +new Date(b.updated_at || b.created_at || 0) - +new Date(a.updated_at || a.created_at || 0));
96
97
  setInbox(notes);
97
98
  onStats?.({ notebook: notes.length });
98
- } catch { setInbox([]); }
99
+ } catch (err) { swallowed('notebook-tab', err); setInbox([]); }
99
100
  }
100
101
 
101
102
  async function loadOrgNames() {
@@ -104,7 +105,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
104
105
  const map = {};
105
106
  for (const o of (resp?.data?.organisms || [])) map[o.id] = o.name;
106
107
  setOrgNames(map);
107
- } catch { /* names are a nicety — ids still render */ }
108
+ } catch (err) { swallowed('notebook-tab: loadOrgNames', err); }
108
109
  }
109
110
 
110
111
  async function handleCapture() {
@@ -180,6 +181,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
180
181
  sessionStorage.setItem('aimeat.ws.openId', hit.organismId);
181
182
  sessionStorage.setItem('aimeat.ws.openWs', hit.workspaceId);
182
183
  if (docId) sessionStorage.setItem(`aimeat.ws.${hit.organismId}.${hit.workspaceId}.openDoc`, JSON.stringify({ namespace: hit.space, id: docId }));
184
+ // eslint-disable-next-line aimeat/no-silent-catch -- noop
183
185
  } catch { /* noop */ }
184
186
  window.dispatchEvent(new CustomEvent('aimeat-open-tab', { detail: { tabId: 'organisms' } }));
185
187
  return;
@@ -13,6 +13,7 @@ const html = htm.bind(h);
13
13
  import { t } from '/js/i18n.js';
14
14
  import { Spinner, ToggleSwitch, GlassCard } from './shared.js';
15
15
  import { apiGet, apiPost, apiDelete } from '/js/api.js';
16
+ import { swallowed } from '/js/swallowed.js';
16
17
 
17
18
  export default function NotificationsTab({ session, showToast }) {
18
19
  const [loading, setLoading] = useState(true);
@@ -49,7 +50,7 @@ export default function NotificationsTab({ session, showToast }) {
49
50
  setSubscribed(!!sub);
50
51
  }
51
52
  }
52
- } catch { /* push not configured */ }
53
+ } catch (err) { swallowed('notifications-tab: NotificationsTab', err); }
53
54
  // Check email verification status
54
55
  try {
55
56
  const ghii = session.ghii || `${session.owner}@${window.AIMEAT?.auth?.nodeId || ''}`;
@@ -62,7 +63,7 @@ export default function NotificationsTab({ session, showToast }) {
62
63
  if (prefsRes.data?.value) {
63
64
  setEmailPrefs(prefsRes.data.value);
64
65
  }
65
- } catch { /* no prefs yet */ }
66
+ } catch (err) { swallowed('notifications-tab: NotificationsTab', err); }
66
67
  setLoading(false);
67
68
  }, [session]);
68
69
 
@@ -140,7 +141,8 @@ export default function NotificationsTab({ session, showToast }) {
140
141
  await apiDelete('/v1/push/subscribe');
141
142
  setSubscribed(false);
142
143
  showToast(t('profile.notifications.unsubscribeSuccess'));
143
- } catch {
144
+ } catch (err) {
145
+ swallowed('notifications-tab: handleUnsubscribe', err);
144
146
  showToast(t('profile.notifications.unsubscribeFailed'), true);
145
147
  }
146
148
  setSubStatus(null);
@@ -154,7 +156,8 @@ export default function NotificationsTab({ session, showToast }) {
154
156
  return;
155
157
  }
156
158
  showToast(t('profile.notifications.testSent'));
157
- } catch {
159
+ } catch (err) {
160
+ swallowed('notifications-tab: handleTestPush', err);
158
161
  showToast(t('profile.notifications.testFailed'), true);
159
162
  }
160
163
  }
@@ -172,7 +175,8 @@ export default function NotificationsTab({ session, showToast }) {
172
175
  });
173
176
  setEmailPrefs(newPrefs);
174
177
  showToast(t('profile.notifications.emailPrefsSaved'));
175
- } catch {
178
+ } catch (err) {
179
+ swallowed('notifications-tab: handleSaveEmailPrefs', err);
176
180
  showToast(t('profile.notifications.emailPrefsFailed'), true);
177
181
  }
178
182
  setSavingEmail(false);
@@ -44,6 +44,7 @@ import { dt } from '/js/format.js';
44
44
  import { StatusDot } from '/components/StatusDot.js';
45
45
  import * as offersService from '/js/services/offers.js';
46
46
  import * as grouping from '/js/services/offers-grouping.js';
47
+ import { swallowed } from '/js/swallowed.js';
47
48
 
48
49
  const askLabel = (entry, offer) => {
49
50
  if (offer?.availability?.scheduleBorn) return t('profile.offers.runNow') || '⏱ Run now';
@@ -98,7 +99,7 @@ function OfferCard({ entry, offer, showToast, confirm, busy, setBusy, onChanged,
98
99
  const next = !runsOpen; setRunsOpen(next);
99
100
  if (next && runs === undefined) {
100
101
  setRuns('loading');
101
- const r = await offersService.listOfferRuns({ agent: entry.agent, offerId: offer.id, limit: 5 }).catch(() => []);
102
+ const r = await offersService.listOfferRuns({ agent: entry.agent, offerId: offer.id, limit: 5 }).catch(err => { swallowed('offers-tab: toggleRuns', err); return []; });
102
103
  setRuns(Array.isArray(r) ? r : []);
103
104
  }
104
105
  };
@@ -261,7 +262,7 @@ function DeliverableRow({ d, showToast, onChanged }) {
261
262
  // don't gate on deliverable_key (CrewAI agents often never set it).
262
263
  if (next && content === undefined && d.status !== 'failed' && d.agent_gaii) {
263
264
  setContent('loading');
264
- const v = await offersService.getDeliverableContent({ agentGaii: d.agent_gaii, deliverableKey: d.deliverable_key, taskId: d.task_id }).catch(() => null);
265
+ const v = await offersService.getDeliverableContent({ agentGaii: d.agent_gaii, deliverableKey: d.deliverable_key, taskId: d.task_id }).catch(err => { swallowed('offers-tab: toggle', err); return null; });
265
266
  setContent(v ?? null);
266
267
  }
267
268
  };
@@ -313,7 +314,7 @@ function DeliverableRow({ d, showToast, onChanged }) {
313
314
  function InboxFeed({ showToast }) {
314
315
  const [items, setItems] = useState(null);
315
316
  const load = useCallback(async () => {
316
- const r = await offersService.listDeliverables().catch(() => null);
317
+ const r = await offersService.listDeliverables().catch(err => { swallowed('offers-tab: InboxFeed', err); return null; });
317
318
  setItems(r?.data?.deliverables || []);
318
319
  }, []);
319
320
  useEffect(() => { load(); }, [load]);
@@ -377,7 +378,7 @@ export default function OffersTab({ session, showToast }) {
377
378
  try {
378
379
  const r = await offersService.listOffers();
379
380
  setFeed(r?.data?.agents || []);
380
- } catch { setFeed([]); }
381
+ } catch (err) { swallowed('offers-tab', err); setFeed([]); }
381
382
  }, []);
382
383
  useEffect(() => { if (session) load(); }, [session, load]);
383
384
  useEffect(() => { if (session) offersService.aiAvailable().then(setAiOn).catch(() => setAiOn(false)); }, [session]);
@@ -35,6 +35,7 @@ import { t } from '/js/i18n.js';
35
35
  import { apiGet, apiPut, apiPost, apiDelete } from '/js/api.js';
36
36
  import { UsageChart, colorForIndex } from '/components/UsageChart.js';
37
37
  import { useConfirm } from '/components/Modal.js';
38
+ import { swallowed } from '/js/swallowed.js';
38
39
 
39
40
  /** Compact number (73306 → "73.3k") for token axis/labels. */
40
41
  function fmtCompact(n) {
@@ -87,7 +88,7 @@ export function OpenRouterSettings({ onSettingsChange, startOpen = false }) {
87
88
  if (resp.data.max_tokens != null) setMaxTokens(String(resp.data.max_tokens));
88
89
  if (resp.data.hasApiKey) loadModels();
89
90
  }
90
- } catch { /* no settings yet */ }
91
+ } catch (err) { swallowed('openrouter-settings: loadSettings', err); }
91
92
  setLoaded(true);
92
93
  }
93
94
 
@@ -432,9 +433,9 @@ function AiAppsBudgetPanel() {
432
433
 
433
434
  async function reload() {
434
435
  const [u, s, hist] = await Promise.all([
435
- apiGet('/v1/ai/usage').catch(() => null),
436
- apiGet('/v1/ai/settings').catch(() => null),
437
- apiGet('/v1/ai/usage/history?days=30').catch(() => null),
436
+ apiGet('/v1/ai/usage').catch(err => { swallowed('openrouter-settings: reload', err); return null; }),
437
+ apiGet('/v1/ai/settings').catch(err => { swallowed('openrouter-settings: reload', err); return null; }),
438
+ apiGet('/v1/ai/usage/history?days=30').catch(err => { swallowed('openrouter-settings: reload', err); return null; }),
438
439
  ]);
439
440
  if (hist && hist.ok !== false && hist.data) setHistory(hist.data);
440
441
  if (u && u.ok !== false && u.data) setUsage(u.data);
@@ -17,6 +17,7 @@ const html = htm.bind(h);
17
17
  import { t } from '/js/i18n.js';
18
18
  import { dt } from '/js/format.js';
19
19
  import * as orgService from '/js/services/organisms.js';
20
+ import { swallowed } from '/js/swallowed.js';
20
21
 
21
22
  /* Build a GitHub-style contribution calendar from activity events. Each day holds FOUR counters —
22
23
  * documents draft/published and records (schema'd) draft/published — so a cell can be drawn as a 2×2
@@ -68,7 +69,7 @@ export function ActivityPanel({ orgId, wsId }) {
68
69
  const [show, setShow] = useState(true);
69
70
  useEffect(() => {
70
71
  let cancelled = false;
71
- const fetchIt = () => orgService.getWorkspaceActivity(orgId, wsId).then(d => { if (!cancelled) setData(d); }).catch(() => {});
72
+ const fetchIt = () => orgService.getWorkspaceActivity(orgId, wsId).then(d => { if (!cancelled) setData(d); }).catch(err => { swallowed('activity-panel: fetchIt', err); });
72
73
  fetchIt();
73
74
  const off = onLiveUpdate(['organisms'], fetchIt);
74
75
  return () => { cancelled = true; off(); };
@@ -21,6 +21,7 @@ import { EmptyState } from '/components/EmptyState.js';
21
21
  import * as orgService from '/js/services/organisms.js';
22
22
  import { listAgents, offersWorkspaceContract, contractNamesOf } from '/js/services/agents.js';
23
23
  import { relTime } from '/views/profile/organisms/helpers.js';
24
+ import { swallowed } from '/js/swallowed.js';
24
25
 
25
26
  /**
26
27
  * Agents tab — attached agents listed first; "+ Attach agent" opens a picker of the user's OWN
@@ -53,7 +54,7 @@ export function OrgAgentsPanel({ org, ghii, canManage, showToast, onChanged }) {
53
54
  const map = {};
54
55
  for (const [name, v] of Object.entries(agents)) map[name] = { count: v.count, lastAt: v.lastAt, ws: new Set(v.workspaces || []) };
55
56
  if (!cancelled) setActed(map);
56
- } catch { /* context is optional */ }
57
+ } catch (err) { swallowed('agents: OrgAgentsPanel', err); }
57
58
  })();
58
59
  return () => { cancelled = true; };
59
60
  }, [orgId, attached.length]);
@@ -28,6 +28,7 @@ import { KeyValueRow } from '/components/KeyValueRow.js';
28
28
  import { Markdown } from '/components/Markdown.js';
29
29
  import { dt } from '/js/format.js';
30
30
  import * as orgService from '/js/services/organisms.js';
31
+ import { swallowed } from '/js/swallowed.js';
31
32
 
32
33
  // Lazy-load the vendored Toast UI Editor (MIT, /lib/toastui/) only when a document is edited —
33
34
  // it's ~520KB, so it stays out of the main bundle. Resolves window.toastui.Editor.
@@ -77,11 +78,11 @@ export function DocumentView({ page, busy, onEdit, onPublish, onWikiLink, onPopO
77
78
  let out = raw;
78
79
  for (const su of urls) {
79
80
  try { const bu = await orgService.fetchStorageObjectUrl(su); created.push(bu); out = out.split(su).join(bu); }
80
- catch { /* leave the storage URL — renders broken but never throws */ }
81
+ catch (err) { swallowed('document: shown', err); }
81
82
  }
82
83
  if (!cancelled) setRendered(out);
83
84
  })();
84
- return () => { cancelled = true; created.forEach(u => { try { URL.revokeObjectURL(u); } catch { /* noop */ } }); };
85
+ return () => { cancelled = true; created.forEach(u => { try { URL.revokeObjectURL(u); } catch (err) { swallowed('document: shown', err); } }); };
85
86
  }, [shown.markdown]);
86
87
 
87
88
  // A [file](/v1/…) LINK (pdf etc.) can't carry the session token on a plain navigation, so intercept
@@ -97,8 +98,8 @@ export function DocumentView({ page, busy, onEdit, onPublish, onWikiLink, onPopO
97
98
  const tab = window.open('', '_blank', 'noopener');
98
99
  orgService.fetchStorageObjectUrl(href).then(bu => {
99
100
  if (tab) tab.location.href = bu; else window.open(bu, '_blank', 'noopener');
100
- setTimeout(() => { try { URL.revokeObjectURL(bu); } catch { /* noop */ } }, 60_000);
101
- }).catch(() => { try { tab?.close(); } catch { /* noop */ } });
101
+ setTimeout(() => { try { URL.revokeObjectURL(bu); } catch (err) { swallowed('document: onDocClick', err); } }, 60_000);
102
+ }).catch(() => { try { tab?.close(); } catch (err) { swallowed('document: onDocClick', err); } });
102
103
  };
103
104
 
104
105
  // created/saved/published timestamps come from the workspace read (record metadata on the value).
@@ -152,7 +153,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
152
153
  if (!embedded.length) { setImages([]); return undefined; }
153
154
  orgService.listStorageVisibilities().then((vis) => {
154
155
  if (!cancelled) setImages(embedded.map(e => ({ ...e, visibility: vis[e.key] || 'private' })));
155
- }).catch(() => { if (!cancelled) setImages(embedded.map(e => ({ ...e, visibility: 'private' }))); });
156
+ }).catch((err) => { swallowed('document', err); if (!cancelled) setImages(embedded.map(e => ({ ...e, visibility: 'private' }))); });
156
157
  return () => { cancelled = true; };
157
158
  // Runs once on mount from the initial `page` snapshot; the editor is remounted per document
158
159
  // via `key`, so re-running on `page` identity changes is unnecessary and would reset image state.
@@ -165,14 +166,14 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
165
166
  const r = await orgService.setImageVisibility(key, visibility);
166
167
  if (r?.ok === false) throw new Error(r?.error?.message || 'Failed');
167
168
  setImages(imgs => imgs.map(i => i.key === key ? { ...i, visibility } : i));
168
- } catch { /* leave as-is; a failed toggle just doesn't change the pill */ }
169
+ } catch (err) { swallowed('document: changeImageVisibility', err); }
169
170
  finally { setImgBusy(false); }
170
171
  };
171
172
  const makeAllImagesPublic = async () => {
172
173
  setImgBusy(true);
173
174
  try {
174
175
  const targets = images.filter(i => i.visibility !== 'public');
175
- await Promise.all(targets.map(i => orgService.setImageVisibility(i.key, 'public').catch(() => {})));
176
+ await Promise.all(targets.map(i => orgService.setImageVisibility(i.key, 'public').catch(err => { swallowed('document: makeAllImagesPublic', err); })));
176
177
  setImages(imgs => imgs.map(i => ({ ...i, visibility: 'public' })));
177
178
  } finally { setImgBusy(false); }
178
179
  };
@@ -184,7 +185,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
184
185
  pending.current.push(
185
186
  orgService.uploadImage(orgId, blob, blob.type || 'image/png')
186
187
  .then((url) => { imageMap.current[dataUrl] = url; })
187
- .catch(() => { /* keep the inline data URL */ }),
188
+ .catch(err => { swallowed('document: uploadAndMap', err); }),
188
189
  );
189
190
  };
190
191
  const insertFromFile = async (file) => {
@@ -199,7 +200,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
199
200
  if (mode !== 'rich') return undefined;
200
201
  let inst = null, cancelled = false; const blobUrls = [];
201
202
  (async () => {
202
- const Editor = await loadToastUI().catch(() => null);
203
+ const Editor = await loadToastUI().catch(err => { swallowed('document: insertFromFile', err); return null; });
203
204
  if (cancelled) return;
204
205
  if (!Editor) { setMode('markdown'); return; }
205
206
  // Already-stored images embed a private /v1/storage URL, which a plain <img> in the editor
@@ -212,7 +213,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
212
213
  const bu = await orgService.fetchStorageObjectUrl(su);
213
214
  displayMap.current[bu] = su; blobUrls.push(bu);
214
215
  initial = initial.split(su).join(bu);
215
- } catch { /* leave the storage URL — it renders broken but saves intact */ }
216
+ } catch (err) { swallowed('document: initial', err); }
216
217
  }
217
218
  if (cancelled || !containerRef.current) return;
218
219
  inst = new Editor({
@@ -244,9 +245,9 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
244
245
  })();
245
246
  return () => {
246
247
  cancelled = true;
247
- if (inst) { try { inst.destroy(); } catch { /* noop */ } }
248
+ if (inst) { try { inst.destroy(); } catch (err) { swallowed('document: addImageBlobHook', err); } }
248
249
  editorRef.current = null;
249
- blobUrls.forEach(u => { try { URL.revokeObjectURL(u); } catch { /* noop */ } });
250
+ blobUrls.forEach(u => { try { URL.revokeObjectURL(u); } catch (err) { swallowed('document: addImageBlobHook', err); } });
250
251
  };
251
252
  // Re-init the editor only on mode switch. `uploadAndMap` is recreated every render (adding it
252
253
  // would rebuild the editor on every render) and `page` is the initial content snapshot — both
@@ -12,6 +12,7 @@
12
12
  * v1.0.0 — 2026-06-19 — Extracted from organisms-tab.js during the module split.
13
13
  */
14
14
  import { t, getLocale } from '/js/i18n.js';
15
+ import { swallowed } from '/js/swallowed.js';
15
16
 
16
17
  /** Date-only, formatted in the APP locale (browser locale may differ — fi must show 10.6.2026, not 6/10/2026).
17
18
  * @param {string} s ISO date string
@@ -55,7 +56,7 @@ export async function exportOrganismZip(org, showToast) {
55
56
  const res = await fetch(`/v1/organisms/${encodeURIComponent(org.id)}/export`, { headers: { Authorization: 'Bearer ' + jwt } });
56
57
  if (!res.ok) {
57
58
  // Surface the server's reason (e.g. an access denial) instead of a bare "Export failed".
58
- const detail = await res.json().then(j => j?.error?.message).catch(() => null);
59
+ const detail = await res.json().then(j => j?.error?.message).catch(err => { swallowed('helpers: exportOrganismZip', err); return null; });
59
60
  throw new Error(detail || 'Export failed');
60
61
  }
61
62
  const blob = await res.blob();
@@ -37,6 +37,7 @@ import { WorkspaceList } from '/views/profile/organisms/workspace-list.js';
37
37
  import { OrgMemberManager } from '/views/profile/organisms/members.js';
38
38
  import { OrgAgentsPanel } from '/views/profile/organisms/agents.js';
39
39
  import { BoardPreview } from '/views/profile/organisms/panels.js';
40
+ import { swallowed } from '/js/swallowed.js';
40
41
 
41
42
  /* ───────────────── Organism home page ─────────────────
42
43
  * One home per organism: breadcrumb header (avatar, name, badges, description,
@@ -50,7 +51,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
50
51
  const [showSettings, setShowSettings] = useState(!!initialSettings);
51
52
  const [wsCount, setWsCount] = useState(null);
52
53
  const [pendingJoin, setPendingJoin] = useState(0); // Members tab pill — visible without opening the tab
53
- useEffect(() => { try { sessionStorage.setItem('aimeat.org.tab', tab); } catch { /* noop */ } }, [tab]);
54
+ useEffect(() => { try { sessionStorage.setItem('aimeat.org.tab', tab); } catch { /* noop */ } }, [tab]); // eslint-disable-line aimeat/no-silent-catch -- noop
54
55
 
55
56
  const isCreator = org.creatorGhii === ghii;
56
57
  const isAdmin = org.admins?.includes(ghii);
@@ -103,7 +104,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
103
104
  let cancelled = false;
104
105
  const fetchIt = () => orgService.listJoinRequests(org.id)
105
106
  .then(r => { if (!cancelled) setPendingJoin(((r?.data?.join_requests) || []).filter(x => x.status === 'pending').length); })
106
- .catch(() => {});
107
+ .catch(err => { swallowed('home: fetchIt', err); });
107
108
  fetchIt();
108
109
  const off = onLiveUpdate(['organisms'], fetchIt);
109
110
  return () => { cancelled = true; off(); };
@@ -159,7 +160,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
159
160
  });
160
161
  if (result?.ok !== false) { showToast(t('organisms.updated') || 'Organism updated'); onChanged?.(); }
161
162
  else showToast(result?.error?.message || (t('organisms.updateError') || 'Failed to update'));
162
- } catch { showToast(t('organisms.updateError') || 'Failed to update'); }
163
+ } catch (err) { swallowed('home', err); showToast(t('organisms.updateError') || 'Failed to update'); }
163
164
  finally { setSaving(false); }
164
165
  };
165
166
  // Leaving a dirty form (closing settings / breadcrumb back) asks before dropping the changes.
@@ -187,14 +188,14 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
187
188
  const wss = (await orgService.discoverWorkspaces(org.id)).filter(w => w.access !== 'none');
188
189
  let recs = 0, docs = 0;
189
190
  await Promise.all(wss.map(async (w) => {
190
- const wsData = await orgService.getWorkspace(org.id, w.id).catch(() => null);
191
+ const wsData = await orgService.getWorkspace(org.id, w.id).catch(err => { swallowed('home: wss', err); return null; });
191
192
  for (const ot of (wsData?.manifest?.objectTypes || []).filter(orgService.isMemorySpace)) {
192
193
  const n = new Set([...(wsData.drafts?.[ot.name] || []), ...(wsData.objects?.[ot.name] || [])].map(d => d.id)).size;
193
194
  if (orgService.isDocSpace(ot)) docs += n; else recs += n;
194
195
  }
195
196
  }));
196
197
  if (!cancelled) setDelStats({ ws: wss.length, recs, docs });
197
- } catch { /* the counts are a courtesy — the generic warning still shows */ }
198
+ } catch (err) { swallowed('home: wss', err); }
198
199
  })();
199
200
  return () => { cancelled = true; };
200
201
  }, [org.id, showSettings, isCreator]);
@@ -208,7 +209,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
208
209
  await orgService.deleteOrganism(org.id);
209
210
  showToast(t('organisms.deleted') || 'Organism deleted');
210
211
  onBack(); onChanged?.();
211
- } catch { showToast(t('organisms.deleteError') || 'Failed to delete'); }
212
+ } catch (err) { swallowed('home', err); showToast(t('organisms.deleteError') || 'Failed to delete'); }
212
213
  }, { danger: true, title: t('organisms.deleteOrganismTitle') || 'Delete this organism' });
213
214
  };
214
215
  // Archive / unarchive the whole organism (creator/admin) — read-only + hidden from AI materials,
@@ -105,7 +105,7 @@ export function InvitePanel({ orgId, wsOptions, showToast, onChanged, onClose })
105
105
  };
106
106
 
107
107
  const copyAcceptUrl = async (url) => {
108
- try { await navigator.clipboard.writeText(url); showToast(t('organisms.linkCopied') || 'Link copied'); } catch { /* clipboard blocked */ }
108
+ try { await navigator.clipboard.writeText(url); showToast(t('organisms.linkCopied') || 'Link copied'); } catch { /* clipboard blocked */ } // eslint-disable-line aimeat/no-silent-catch -- clipboard blocked
109
109
  };
110
110
 
111
111
  const submitLabel = isEmail