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
@@ -27,6 +27,7 @@ import { PresenceDot } from '/components/PresenceDot.js';
27
27
  import * as orgService from '/js/services/organisms.js';
28
28
  import { fmtDate, orgInitials, relTime } from '/views/profile/organisms/helpers.js';
29
29
  import { InvitePanel, PendingInvites } from '/views/profile/organisms/invite-panel.js';
30
+ import { swallowed } from '/js/swallowed.js';
30
31
 
31
32
  /** Inline per-member workspace-role editor: every manageable workspace with a
32
33
  * none/viewer/contributor select. Changes apply immediately (grant replaces, none revokes). */
@@ -92,13 +93,13 @@ export function OrgMemberManager({ org, ghii, canManage, isCreator, showToast, c
92
93
  const [accessEditFor, setAccessEditFor] = useState(null); // bare owner name whose access panel is open
93
94
 
94
95
  const load = useCallback(async () => {
95
- const tasks = [orgService.listMembers(orgId).catch(() => null)];
96
+ const tasks = [orgService.listMembers(orgId).catch(err => { swallowed('members: toGhii', err); return null; })];
96
97
  if (canManage) {
97
98
  tasks.push(
98
- orgService.listJoinRequests(orgId).catch(() => null),
99
- orgService.listMembers(orgId, 'banned').catch(() => null),
100
- orgService.listInvitations(orgId).catch(() => null),
101
- orgService.listEmailInvitations(orgId).catch(() => null),
99
+ orgService.listJoinRequests(orgId).catch(err => { swallowed('members: toGhii', err); return null; }),
100
+ orgService.listMembers(orgId, 'banned').catch(err => { swallowed('members: toGhii', err); return null; }),
101
+ orgService.listInvitations(orgId).catch(err => { swallowed('members: toGhii', err); return null; }),
102
+ orgService.listEmailInvitations(orgId).catch(err => { swallowed('members: toGhii', err); return null; }),
102
103
  );
103
104
  }
104
105
  const [mb, rq, bn, inv, eminv] = await Promise.all(tasks);
@@ -142,7 +143,7 @@ export function OrgMemberManager({ org, ghii, canManage, isCreator, showToast, c
142
143
  setWsAccess(map);
143
144
  setWsOptions((wss || []).map(w => ({ id: w.id, name: w.name || w.id })));
144
145
  }
145
- } catch { /* the access line is optional */ }
146
+ } catch (err) { swallowed('members: add', err); }
146
147
  })();
147
148
  return () => { cancelled = true; };
148
149
  }, [orgId, show, accessTick]);
@@ -232,7 +232,7 @@ function loadOpts(storageKey) {
232
232
  }
233
233
  function saveOpts(storageKey, opts) {
234
234
  if (!storageKey) return;
235
- try { localStorage.setItem(`aimeat.mm.${storageKey}`, JSON.stringify(opts)); } catch { /* quota/private mode — non-fatal */ }
235
+ try { localStorage.setItem(`aimeat.mm.${storageKey}`, JSON.stringify(opts)); } catch { /* quota/private mode — non-fatal */ } // eslint-disable-line aimeat/no-silent-catch -- quota/private mode — non-fatal
236
236
  }
237
237
 
238
238
  /**
@@ -23,6 +23,7 @@ import * as orgService from '/js/services/organisms.js';
23
23
  import { listPosts, createPost } from '/js/services/boards.js';
24
24
  import { copyToClipboard } from '/js/utils.js';
25
25
  import { relTime } from '/views/profile/organisms/helpers.js';
26
+ import { swallowed } from '/js/swallowed.js';
26
27
 
27
28
  /**
28
29
  * Content search inside an organism — case-insensitive substring over the records + documents of
@@ -42,7 +43,7 @@ export function OrgSearch({ orgId, onOpenWorkspace }) {
42
43
  setBusy(true);
43
44
  const tid = setTimeout(async () => {
44
45
  try { const r = await orgService.searchOrganism(orgId, query); if (!cancelled) setResults(r?.data?.results || []); }
45
- catch { if (!cancelled) setResults([]); }
46
+ catch (err) { swallowed('panels', err); if (!cancelled) setResults([]); }
46
47
  finally { if (!cancelled) setBusy(false); }
47
48
  }, 220);
48
49
  return () => { cancelled = true; clearTimeout(tid); };
@@ -51,7 +52,7 @@ export function OrgSearch({ orgId, onOpenWorkspace }) {
51
52
  // Open a hit at the exact record/document: stash the deep-link the workspace reads on mount, then
52
53
  // navigate to that workspace (its openDoc effect resolves namespace → space tab + opens the item).
53
54
  const openHit = (r) => {
54
- try { sessionStorage.setItem(`aimeat.ws.${orgId}.${r.ws}.openDoc`, JSON.stringify({ namespace: r.namespace, id: r.id })); } catch { /* noop */ }
55
+ try { sessionStorage.setItem(`aimeat.ws.${orgId}.${r.ws}.openDoc`, JSON.stringify({ namespace: r.namespace, id: r.id })); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
55
56
  onOpenWorkspace?.(r.ws);
56
57
  };
57
58
 
@@ -90,7 +91,7 @@ export function IncomingInvitations({ showToast, onChanged }) {
90
91
  const [invites, setInvites] = useState([]);
91
92
  const [busy, setBusy] = useState(false);
92
93
  const load = useCallback(async () => {
93
- const r = await orgService.listMyInvitations().catch(() => null);
94
+ const r = await orgService.listMyInvitations().catch(err => { swallowed('panels: IncomingInvitations', err); return null; });
94
95
  setInvites(r?.data?.invitations || []);
95
96
  }, []);
96
97
  useEffect(() => { load(); }, [load]);
@@ -31,6 +31,7 @@ import * as orgService from '/js/services/organisms.js';
31
31
  import { listAgents, offersWorkspaceContract, contractNamesOf, adoptContractTask } from '/js/services/agents.js';
32
32
  import { Mermaid } from '/components/Mermaid.js';
33
33
  import { ContactPicker } from '/components/ContactPicker.js';
34
+ import { swallowed } from '/js/swallowed.js';
34
35
 
35
36
  /* Participants panel — who takes part in this workspace, as a node → owner → agents chart plus a
36
37
  * listing. Built from the records' identity traces (humans + their agents) + organism membership.
@@ -53,7 +54,7 @@ export function ParticipantsPanel({ orgId, wsId, showToast }) {
53
54
  const [engagements, setEngagements] = useState([]);
54
55
  const [retireBusy, setRetireBusy] = useState('');
55
56
  useEffect(() => {
56
- listAgents().then(a => setContractAgents((a || []).filter(offersWorkspaceContract))).catch(() => {});
57
+ listAgents().then(a => setContractAgents((a || []).filter(offersWorkspaceContract))).catch(err => { swallowed('participants-panel: ParticipantsPanel', err); });
57
58
  }, []);
58
59
  // The engagement for (agent, contract) in THIS workspace, or undefined. contract '' = bare marker.
59
60
  const engFor = (a, contract) => engagements.find(e => e.agent === a.gaii && (e.contract || '') === (contract || ''));
@@ -64,7 +65,7 @@ export function ParticipantsPanel({ orgId, wsId, showToast }) {
64
65
  const key = `${a.gaii}:${contract || ''}`;
65
66
  setAdoptBusy(key);
66
67
  try {
67
- await orgService.activateEngagement(orgId, wsId, a.gaii, contract).catch(() => {});
68
+ await orgService.activateEngagement(orgId, wsId, a.gaii, contract).catch(err => { swallowed('participants-panel: adopt', err); });
68
69
  const r = await adoptContractTask(a.name, { organismId: orgId, ws: wsId, contract });
69
70
  if (r?.ok === false) showToast?.(r?.error?.message || (t('organisms.adoptFailed') || 'Could not queue the adoption task'));
70
71
  else showToast?.((t('organisms.adoptQueued') || 'Adoption task queued for {agent} — it provisions the contract and reports back').replace('{agent}', a.display_name || a.name));
@@ -93,7 +94,7 @@ export function ParticipantsPanel({ orgId, wsId, showToast }) {
93
94
  const actions = names.length ? names : [''];
94
95
  setRetireBusy(`${a.gaii}:*`);
95
96
  try {
96
- for (const c of actions) await orgService.retireEngagement(orgId, wsId, a.gaii, c).catch(() => {});
97
+ for (const c of actions) await orgService.retireEngagement(orgId, wsId, a.gaii, c).catch(err => { swallowed('participants-panel: retireAll', err); });
97
98
  showToast?.((t('organisms.retired') || '{agent} retired from this workspace').replace('{agent}', a.display_name || a.name));
98
99
  await refreshEngagements();
99
100
  } finally { setRetireBusy(''); }
@@ -105,30 +106,30 @@ export function ParticipantsPanel({ orgId, wsId, showToast }) {
105
106
  const actions = names.length ? names : [''];
106
107
  setAdoptBusy(`${a.gaii}:*`);
107
108
  try {
108
- for (const c of actions) await orgService.activateEngagement(orgId, wsId, a.gaii, c).catch(() => {});
109
- await adoptContractTask(a.name, { organismId: orgId, ws: wsId, contract: actions[0] }).catch(() => {});
109
+ for (const c of actions) await orgService.activateEngagement(orgId, wsId, a.gaii, c).catch(err => { swallowed('participants-panel: readoptAll', err); });
110
+ await adoptContractTask(a.name, { organismId: orgId, ws: wsId, contract: actions[0] }).catch(err => { swallowed('participants-panel: readoptAll', err); });
110
111
  showToast?.((t('organisms.broughtBack') || '{agent} is working here again').replace('{agent}', a.display_name || a.name));
111
112
  await refreshEngagements();
112
113
  } finally { setAdoptBusy(''); }
113
114
  };
114
- const refreshEngagements = () => orgService.getWorkspaceEngagements(orgId, wsId).then(setEngagements).catch(() => {});
115
+ const refreshEngagements = () => orgService.getWorkspaceEngagements(orgId, wsId).then(setEngagements).catch(err => { swallowed('participants-panel: refreshEngagements', err); });
115
116
  useEffect(() => {
116
117
  let cancelled = false;
117
118
  const fetchIt = () => {
118
- orgService.getWorkspaceParticipants(orgId, wsId).then(d => { if (!cancelled) setData(d); }).catch(() => {});
119
- orgService.getWorkspaceEngagements(orgId, wsId).then(e => { if (!cancelled) setEngagements(e); }).catch(() => {});
119
+ orgService.getWorkspaceParticipants(orgId, wsId).then(d => { if (!cancelled) setData(d); }).catch(err => { swallowed('participants-panel: fetchIt', err); });
120
+ orgService.getWorkspaceEngagements(orgId, wsId).then(e => { if (!cancelled) setEngagements(e); }).catch(err => { swallowed('participants-panel: fetchIt', err); });
120
121
  };
121
122
  fetchIt();
122
123
  const off = onLiveUpdate(['organisms'], fetchIt);
123
124
  return () => { cancelled = true; off(); };
124
125
  }, [orgId, wsId]);
125
126
  const isManager = !!(data && (data.nodes || []).some(n => (n.owners || []).some(o => o.isSelf && o.isCreator)));
126
- const loadAccess = useCallback(() => orgService.getWorkspaceAccess(orgId, wsId).then(setAccess).catch(() => {}), [orgId, wsId]);
127
+ const loadAccess = useCallback(() => orgService.getWorkspaceAccess(orgId, wsId).then(setAccess).catch(err => { swallowed('participants-panel: fetchIt', err); }), [orgId, wsId]);
127
128
  useEffect(() => { if (isManager) loadAccess(); }, [isManager, orgId, wsId, data, loadAccess]); if (!data || !(data.nodes || []).length) return null;
128
129
  const owners = [];
129
130
  for (const n of data.nodes) for (const o of (n.owners || [])) owners.push({ ...o, node: n.id, isLocalNode: n.isLocal });
130
131
 
131
- const after = async (p) => { setBusy(true); try { await p; await loadAccess(); } catch { /* the row stays so the user can retry */ } finally { setBusy(false); } };
132
+ const after = async (p) => { setBusy(true); try { await p; await loadAccess(); } catch (err) { swallowed('participants-panel: after', err); } finally { setBusy(false); } };
132
133
  const doGrant = (g, r) => { const name = (g || '').trim(); if (name) { after(orgService.grantWorkspaceRole(orgId, wsId, name, r)); setGrantee(''); } };
133
134
  const doRevoke = (g) => after(orgService.revokeWorkspaceRole(orgId, wsId, g));
134
135
  const doDecide = (requester, decision) => after(orgService.decideWorkspaceAccess(orgId, wsId, requester, decision));
@@ -52,6 +52,7 @@ export function ReadmePanel({ markdown, canEdit, onSave, aiPromptSeed, kind, nam
52
52
  const copyPrompt = async () => {
53
53
  const prompt = buildAiPrompt(kind, name, aiPromptSeed);
54
54
  try { await navigator.clipboard.writeText(prompt); setCopied(true); setTimeout(() => setCopied(false), 2500); }
55
+ // eslint-disable-next-line aimeat/no-silent-catch -- clipboard may be blocked; the user can still type the README
55
56
  catch { /* clipboard may be blocked; the user can still type the README */ }
56
57
  };
57
58
 
@@ -21,6 +21,7 @@ import * as knowledgeService from '/js/services/knowledge.js';
21
21
  import { EmptyState } from '/components/EmptyState.js';
22
22
  import { SearchBar } from '/components/SearchBar.js';
23
23
  import { fmtBytes } from '/js/format.js';
24
+ import { swallowed } from '/js/swallowed.js';
24
25
 
25
26
  const SRC_ICON = { memory: '🧠', storage: '📎', knowledge: '📚' };
26
27
 
@@ -70,7 +71,7 @@ export function SourcesPanel({ orgId, wsId, showToast }) {
70
71
  const r = await knowledgeService.discoverPackages({ limit: 50, sort: 'recent' });
71
72
  setResults((r?.data?.packages || []).filter(p => !ql || String(p.name || '').toLowerCase().includes(ql)));
72
73
  }
73
- } catch { setResults([]); }
74
+ } catch (err) { swallowed('sources-panel', err); setResults([]); }
74
75
  finally { setLoading(false); }
75
76
  };
76
77
  const searchRef = useRef(doSearch); searchRef.current = doSearch;
@@ -20,6 +20,7 @@ import { DocumentView, DocumentEditor } from '/views/profile/organisms/document.
20
20
  import { WorkspaceComments } from '/views/profile/organisms/workspace-comments.js';
21
21
  import { ColorPicker } from './color-picker.js';
22
22
  import { groupDocs } from './helpers.js';
23
+ import { swallowed } from '/js/swallowed.js';
23
24
 
24
25
  // A document-space: left index (section tree + documents, with an Unsorted group) + a main
25
26
  // area showing the active document (view/edit). Sections nest via parentId; documents are
@@ -43,7 +44,7 @@ export function renderDocSpace(ctx, ot) {
43
44
  const docItem = (d) => html`
44
45
  <div class="pj-doc-item ${isActive(d) ? 'active' : ''} ${itemColor(ot.name, d.id) ? 'pj-colored pj-tag-' + itemColor(ot.name, d.id) : ''}" key=${'di' + d.id}
45
46
  draggable=${true}
46
- onDragStart=${(e) => { draggedDoc.current = { type: ot.name, id: d.id }; if (e.dataTransfer) { e.dataTransfer.effectAllowed = 'move'; try { e.dataTransfer.setData('text/plain', d.id); } catch { /* noop */ } } }}
47
+ onDragStart=${(e) => { draggedDoc.current = { type: ot.name, id: d.id }; if (e.dataTransfer) { e.dataTransfer.effectAllowed = 'move'; try { e.dataTransfer.setData('text/plain', d.id); } catch (err) { swallowed('doc-space: docItem', err); } } }}
47
48
  onDragEnd=${() => { draggedDoc.current = null; }}>
48
49
  <span class="pj-grip" title=${t('organisms.dragHint') || 'Drag into a section'}>⠿</span>
49
50
  <${ColorPicker} value=${itemColor(ot.name, d.id)} onPick=${(c) => setItemColor(ot.name, d.id, c)} />
@@ -92,6 +92,7 @@ export function buildWorkspaceModel(ctx) {
92
92
  || Object.values(share.spaces || {}).some(Boolean) || Object.values(share.docs || {}).some(Boolean));
93
93
  const copyShareLink = async (url) => {
94
94
  try { await navigator.clipboard.writeText(window.location.origin + url); showToast(t('organisms.linkCopied') || 'Link copied'); }
95
+ // eslint-disable-next-line aimeat/no-silent-catch -- a browser API refusing here IS the answer
95
96
  catch { showToast(t('organisms.copyFailed') || 'Copy failed'); }
96
97
  };
97
98
 
@@ -19,6 +19,7 @@ import { t } from '/js/i18n.js';
19
19
  import { openAppSandboxed } from '/js/app-sandbox.js';
20
20
  import { listApps } from '/js/services/apps.js';
21
21
  import { saveWorkspaceApps } from '/js/services/organisms.js';
22
+ import { swallowed } from '/js/swallowed.js';
22
23
 
23
24
  /** The launch URL for a pinned app, carrying the workspace context in the fragment. */
24
25
  function launchHref(orgId, wsId, b) {
@@ -38,7 +39,7 @@ export function WorkspaceApps({ orgId, wsId, apps, canEdit, showToast, onChanged
38
39
  useEffect(() => {
39
40
  if (bound.length === 0 && !showPicker) return undefined;
40
41
  let cancelled = false;
41
- listApps().then(a => { if (!cancelled) setCatalog(a); }).catch(() => { if (!cancelled) setCatalog([]); });
42
+ listApps().then(a => { if (!cancelled) setCatalog(a); }).catch((err) => { swallowed('workspace-apps', err); if (!cancelled) setCatalog([]); });
42
43
  return () => { cancelled = true; };
43
44
  }, [bound.length, showPicker]);
44
45
 
@@ -58,7 +59,8 @@ export function WorkspaceApps({ orgId, wsId, apps, canEdit, showToast, onChanged
58
59
  await saveWorkspaceApps(orgId, wsId, next.map(b => ({ owner: b.owner, filename: b.filename, ...(b.label ? { label: b.label } : {}) })));
59
60
  showToast?.(t('organisms.apps.saved') || 'Workspace apps updated', 'success');
60
61
  onChanged?.();
61
- } catch {
62
+ } catch (err) {
63
+ swallowed('workspace-apps: save', err);
62
64
  showToast?.(t('organisms.apps.saveError') || 'Could not update apps', 'error');
63
65
  } finally { setBusy(false); }
64
66
  };
@@ -19,6 +19,7 @@ const html = htm.bind(h);
19
19
  import { t } from '/js/i18n.js';
20
20
  import { dt } from '/js/format.js';
21
21
  import * as orgService from '/js/services/organisms.js';
22
+ import { swallowed } from '/js/swallowed.js';
22
23
 
23
24
  /**
24
25
  * Comment thread on one workspace object (record or document). Targeted by orgId+ws+space+instanceId.
@@ -36,13 +37,13 @@ export function WorkspaceComments({ orgId, ws, space, instanceId, showToast, bat
36
37
  const [anchorQuote, setAnchorQuote] = useState('');
37
38
  const [replyTo, setReplyTo] = useState(null); // { id, body } of the comment being replied to
38
39
  const [busy, setBusy] = useState(false);
39
- const me = (() => { try { return window.AIMEAT?.auth?.getSession?.() || {}; } catch { return {}; } })();
40
+ const me = (() => { try { return window.AIMEAT?.auth?.getSession?.() || {}; } catch (err) { swallowed('workspace-comments', err); return { }; } })();
40
41
  const mine = (author) => author && (author === me.gaii || author === me.ghii);
41
42
 
42
43
  const load = useCallback(async () => {
43
44
  if (batched) { await onReload?.(); return; } // parent re-runs the batch → flows back via initialComments
44
45
  if (!ws || !space || !instanceId) return;
45
- const r = await orgService.listComments(orgId, ws, space, instanceId).catch(() => null);
46
+ const r = await orgService.listComments(orgId, ws, space, instanceId).catch(err => { swallowed('workspace-comments: mine', err); return null; });
46
47
  setComments(r?.data?.comments || []);
47
48
  }, [orgId, ws, space, instanceId, batched, onReload]);
48
49
  // Batched: keep local view in sync with the prop (undefined = still loading → null). Standalone: self-fetch.
@@ -34,6 +34,7 @@ import * as orgService from '/js/services/organisms.js';
34
34
  import * as memoryService from '/js/services/memory.js';
35
35
  import { fmtDate, relTime } from '/views/profile/organisms/helpers.js';
36
36
  import { OrgSearch } from '/views/profile/organisms/panels.js';
37
+ import { swallowed } from '/js/swallowed.js';
37
38
 
38
39
  /* Workspace list — an organism contains many workspaces (each an independent manifest + data set,
39
40
  * namespaced under organism.{id}.w.{wsId}.*). Lists the registry (organism.{id}.meta.workspaces),
@@ -77,12 +78,12 @@ export function WorkspaceList({ org, showToast, onOpen, onCount }) {
77
78
  if (Array.isArray(v.order)) setCustomOrder(v.order.filter(x => typeof x === 'string'));
78
79
  if (['custom', 'name', 'newest'].includes(v.sort)) setSortMode(v.sort);
79
80
  }
80
- } catch { /* no saved prefs yet */ }
81
+ } catch (err) { swallowed('workspace-list: WorkspaceList', err); }
81
82
  })();
82
83
  return () => { alive = false; };
83
84
  }, [UI_PREFS_KEY]);
84
85
  const savePrefs = useCallback((order, sort) => {
85
- memoryService.createMemory(UI_PREFS_KEY, { order, sort }, 'private').catch(() => {});
86
+ memoryService.createMemory(UI_PREFS_KEY, { order, sort }, 'private').catch(err => { swallowed('workspace-list: WorkspaceList', err); });
86
87
  }, [UI_PREFS_KEY]);
87
88
 
88
89
  // Active workspaces sorted for display; archived ones stay in server order in their own section.
@@ -171,7 +172,7 @@ export function WorkspaceList({ org, showToast, onOpen, onCount }) {
171
172
  useEffect(() => {
172
173
  if (!showOverview) return;
173
174
  let cancelled = false;
174
- orgService.buildOrganismOverviewMermaid(orgId).then(c => { if (!cancelled) setOverview(c); }).catch(() => {});
175
+ orgService.buildOrganismOverviewMermaid(orgId).then(c => { if (!cancelled) setOverview(c); }).catch(err => { swallowed('workspace-list: decide', err); });
175
176
  return () => { cancelled = true; };
176
177
  }, [orgId, list, showOverview]);
177
178
  // Re-load on organism changes, but DEBOUNCE: on a busy node dozens of agents emit 'organisms'
@@ -223,7 +224,7 @@ export function WorkspaceList({ org, showToast, onOpen, onCount }) {
223
224
  };
224
225
 
225
226
  // ── Export (download ZIP backup) + Import (upload a ZIP as a new workspace) ──
226
- const jwt = () => { try { return window.AIMEAT?.auth?.getSession?.()?.jwt || ''; } catch { return ''; } };
227
+ const jwt = () => { try { return window.AIMEAT?.auth?.getSession?.()?.jwt || ''; } catch (err) { swallowed('workspace-list', err); return ''; } };
227
228
  const fileRef = useRef(null);
228
229
  const doExport = async (w) => {
229
230
  try {
@@ -70,6 +70,7 @@ import { renderRecordSpace } from './workspace/record-space.js';
70
70
  import { renderOverview, renderObjectives, renderWsSearchResults, renderOvSection } from './workspace/overview.js';
71
71
  import { renderTabsNav, renderSpacesAdd, renderSettingsPanel, renderShareTab, renderReviewTab, renderActivityTab } from './workspace/panels.js';
72
72
  import { buildBreadcrumb, buildWorkspaceModel } from './workspace/model.js';
73
+ import { swallowed } from '/js/swallowed.js';
73
74
 
74
75
  /* ───────────────── Organism workspace (manifest-driven) ─────────────────
75
76
  * Any organism can have a governed workspace. If it has no manifest yet, offer
@@ -89,7 +90,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
89
90
  setWsName(name);
90
91
  // Feed the home page's "Continue" list with a real display name.
91
92
  recordRecent({ type: 'workspace', id: `${orgId}/${wsId}`, label: name || wsId, sub: org.name || '', data: { orgId, wsId } });
92
- }).catch(() => {});
93
+ }).catch(err => { swallowed('workspace: name', err); });
93
94
  return () => { cancelled = true; };
94
95
  // eslint-disable-next-line react-hooks/exhaustive-deps -- org.name only feeds recordRecent's display sub; the workspace-name fetch is intentionally keyed to orgId/wsId.
95
96
  }, [orgId, wsId]); // Pop a document out into its own window (served by doc-solo.js) so several can sit side by side,
@@ -121,6 +122,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
121
122
  try {
122
123
  const raw = sessionStorage.getItem(docKey);
123
124
  if (raw) { const v = JSON.parse(raw); if (v && v.type && v.id) return { type: v.type, mode: v.mode === 'edit' ? 'edit' : 'view', page: { id: v.id } }; }
125
+ // eslint-disable-next-line aimeat/no-silent-catch -- noop
124
126
  } catch { /* noop */ }
125
127
  return null;
126
128
  });
@@ -157,11 +159,11 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
157
159
  // history never shows as unseen. Neutral gray badges only — red is reserved for errors.
158
160
  const seenKey = 'aimeat.ws.' + orgId + '.' + wsId + '.seen';
159
161
  const [seen, setSeen] = useState(() => {
160
- try { const raw = localStorage.getItem(seenKey); return raw ? JSON.parse(raw) : null; } catch { return null; }
162
+ try { const raw = localStorage.getItem(seenKey); return raw ? JSON.parse(raw) : null; } catch { return null; } // eslint-disable-line aimeat/no-silent-catch -- a browser API refusing here IS the answer
161
163
  });
162
164
  const markSeen = useCallback((tabId) => setSeen(prev => {
163
165
  const next = { ...(prev || {}), [tabId]: new Date().toISOString() };
164
- try { localStorage.setItem(seenKey, JSON.stringify(next)); } catch { /* noop */ }
166
+ try { localStorage.setItem(seenKey, JSON.stringify(next)); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
165
167
  return next;
166
168
  }), [seenKey]);
167
169
  // Items (not raw events) changed since the tab's seen mark. The user's own non-agent edits
@@ -182,14 +184,14 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
182
184
 
183
185
  const load = useCallback(async () => {
184
186
  // In the archived view, request ONLY archived content (read-only); otherwise the normal active set.
185
- const w = await orgService.getWorkspace(orgId, wsId, showArchived ? { archived: 'only' } : undefined).catch(() => null);
187
+ const w = await orgService.getWorkspace(orgId, wsId, showArchived ? { archived: 'only' } : undefined).catch(err => { swallowed('workspace', err); return null; });
186
188
  if (w && w.manifest) {
187
189
  const [ap, cfg, secs, act, cols] = await Promise.all([
188
- orgService.listApprovals(orgId, 'pending').catch(() => []),
189
- orgService.getConfig(orgId).catch(() => ({})),
190
- orgService.getAllSections(orgId, wsId).catch(() => ({})),
190
+ orgService.listApprovals(orgId, 'pending').catch(err => { swallowed('workspace', err); return []; }),
191
+ orgService.getConfig(orgId).catch(err => { swallowed('workspace', err); return ({}); }),
192
+ orgService.getAllSections(orgId, wsId).catch(err => { swallowed('workspace', err); return ({}); }),
191
193
  orgService.getWorkspaceActivity(orgId, wsId).catch(() => ({ events: [] })),
192
- orgService.getAllColors(orgId, wsId).catch(() => ({})),
194
+ orgService.getAllColors(orgId, wsId).catch(err => { swallowed('workspace', err); return ({}); }),
193
195
  ]);
194
196
  setApprovals(ap); setGateOn(!!(cfg?.gates?.publish?.enabled)); setSectionsByType(secs);
195
197
  setWsEvents(act?.events || []); setColorsByType(cols);
@@ -208,7 +210,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
208
210
  let cancelled = false;
209
211
  const loadGraph = async () => {
210
212
  const [g, ov] = await Promise.all([
211
- orgService.getWorkspaceGraph(orgId, wsId).catch(() => null),
213
+ orgService.getWorkspaceGraph(orgId, wsId).catch(err => { swallowed('workspace: loadGraph', err); return null; }),
212
214
  orgService.getWorkspaceOverviewFull(orgId, wsId).catch(() => ({ markdown: '', objectives: [] })),
213
215
  ]);
214
216
  if (cancelled) return;
@@ -241,7 +243,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
241
243
  let cancelled = false;
242
244
  setWsSearching(true);
243
245
  const tid = setTimeout(async () => {
244
- const r = await orgService.searchOrganism(orgId, q, wsId).catch(() => null);
246
+ const r = await orgService.searchOrganism(orgId, q, wsId).catch(err => { swallowed('workspace: onWsMapNav', err); return null; });
245
247
  if (!cancelled) { setWsHits((r?.data?.results) || []); setWsSearching(false); }
246
248
  }, 220); // debounce — instant feel without a request per keystroke
247
249
  return () => { cancelled = true; clearTimeout(tid); };
@@ -251,7 +253,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
251
253
  // filtered result list for the query you jumped from.
252
254
  useEffect(() => {
253
255
  const k = `aimeat.ws.${orgId}.${wsId}.search`;
254
- try { const v = sessionStorage.getItem(k); if (v) { setWsQuery(v); sessionStorage.removeItem(k); } } catch { /* noop */ }
256
+ try { const v = sessionStorage.getItem(k); if (v) { setWsQuery(v); sessionStorage.removeItem(k); } } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
255
257
  }, [orgId, wsId]);
256
258
 
257
259
  // Deep-link from the librarian "Open" button: aimeat.ws.{org}.{ws}.openDoc = { namespace, id }.
@@ -261,11 +263,11 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
261
263
  useEffect(() => {
262
264
  if (!ws?.manifest) return;
263
265
  let req = null;
264
- try { req = JSON.parse(sessionStorage.getItem(openDocKey) || 'null'); } catch { req = null; }
266
+ try { req = JSON.parse(sessionStorage.getItem(openDocKey) || 'null'); } catch { req = null; } // eslint-disable-line aimeat/no-silent-catch -- a browser API refusing here IS the answer
265
267
  if (!req || !req.namespace || !req.id) return;
266
268
  const ot = (ws.manifest.objectTypes || []).find(o => o.namespace === req.namespace);
267
269
  if (ot) { setTab('space:' + ot.name); setActiveDoc({ type: ot.name, mode: 'view', page: { id: req.id } }); }
268
- try { sessionStorage.removeItem(openDocKey); } catch { /* noop */ }
270
+ try { sessionStorage.removeItem(openDocKey); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
269
271
  }, [ws, openDocKey]);
270
272
 
271
273
  // Persist the open document (id only) so an F5 returns to it. Skip unsaved new docs (no id yet).
@@ -273,6 +275,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
273
275
  try {
274
276
  if (activeDoc?.type && activeDoc.page?.id) sessionStorage.setItem(docKey, JSON.stringify({ type: activeDoc.type, id: activeDoc.page.id, mode: activeDoc.mode }));
275
277
  else sessionStorage.removeItem(docKey);
278
+ // eslint-disable-next-line aimeat/no-silent-catch -- noop
276
279
  } catch { /* noop */ }
277
280
  }, [activeDoc, docKey]);
278
281
 
@@ -334,7 +337,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
334
337
  useEffect(() => {
335
338
  if (seen !== null || ws === undefined) return;
336
339
  const next = { __base: new Date().toISOString() };
337
- try { localStorage.setItem(seenKey, JSON.stringify(next)); } catch { /* noop */ }
340
+ try { localStorage.setItem(seenKey, JSON.stringify(next)); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
338
341
  setSeen(next);
339
342
  }, [seen, ws, seenKey]);
340
343
  // Changes landing on the tab the user is LOOKING at are seen immediately — otherwise a draft
@@ -405,7 +408,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
405
408
  if (sectionId) {
406
409
  const secs = (sectionsByType[ot.name] || []).map(s => s.id === sectionId
407
410
  ? { ...s, documents: [...(s.documents || []).filter(d => d !== id), id] } : s);
408
- await orgService.saveSections(orgId, wsId, ot.name, secs).catch(() => {});
411
+ await orgService.saveSections(orgId, wsId, ot.name, secs).catch(err => { swallowed('workspace: secs', err); });
409
412
  }
410
413
  // Reload, then open the just-saved document (view mode). renderDocSpace re-resolves the id
411
414
  // to the fresh merged entry, so the new draft shows with its badge instead of the empty state.
@@ -441,7 +444,7 @@ export function Workspace({ org, wsId, showToast, onBack, onBackToList, initialS
441
444
  const sectionsRef = useRef(sectionsByType); sectionsRef.current = sectionsByType;
442
445
  const setSecName = (typeName, secId, name) =>
443
446
  setSectionsByType(s => ({ ...s, [typeName]: (s[typeName] || []).map(x => x.id === secId ? { ...x, name } : x) }));
444
- const commitSecName = (typeName) => { setEditingSec(null); orgService.saveSections(orgId, wsId, typeName, sectionsRef.current[typeName] || []).catch(() => {}); };
447
+ const commitSecName = (typeName) => { setEditingSec(null); orgService.saveSections(orgId, wsId, typeName, sectionsRef.current[typeName] || []).catch(err => { swallowed('workspace: commitSecName', err); }); };
445
448
 
446
449
  // ── Optional color tags. Section colors live on the section object (persisted via updateSections);
447
450
  // per-document/record colors live in a parallel meta.colors map (persisted via saveColors). ──
@@ -51,6 +51,7 @@ import { fmtDate, orgInitials, exportOrganismZip } from '/views/profile/organism
51
51
  import { IncomingInvitations } from '/views/profile/organisms/panels.js';
52
52
  import { OrganismHome } from '/views/profile/organisms/home.js';
53
53
  import { Workspace } from '/views/profile/organisms/workspace.js';
54
+ import { swallowed } from '/js/swallowed.js';
54
55
 
55
56
  export default function OrganismsTab({ session, showToast, onStats }) {
56
57
  const { confirm, ConfirmUI } = useConfirm();
@@ -60,7 +61,9 @@ export default function OrganismsTab({ session, showToast, onStats }) {
60
61
  const [archivedOpen, setArchivedOpen] = useState(false); // collapsible "Archived" section (closed by default)
61
62
  // organism whose workspaces are open, then the specific workspace within it — both restored from
62
63
  // sessionStorage so an F5 returns to where you were. openId set + openWs null = the workspace LIST.
64
+ // eslint-disable-next-line aimeat/no-silent-catch -- a browser API refusing here IS the answer
63
65
  const [openId, setOpenId] = useState(() => { try { return sessionStorage.getItem('aimeat.ws.openId') || null; } catch { return null; } });
66
+ // eslint-disable-next-line aimeat/no-silent-catch -- a browser API refusing here IS the answer
64
67
  const [openWs, setOpenWs] = useState(() => { try { return sessionStorage.getItem('aimeat.ws.openWs') || null; } catch { return null; } });
65
68
  // Transient deep-link target from the organism mindmap: open this space's tab on first render of the
66
69
  // workspace. In-memory only (not persisted) — an F5 lands on the workspace overview, not a stale tab.
@@ -123,8 +126,9 @@ export default function OrganismsTab({ session, showToast, onStats }) {
123
126
  setPublicOrganisms((pubResp?.data?.organisms || []).filter(o => !mineIds.has(o.id)));
124
127
  onStats?.({ organisms: mine.length });
125
128
  setWsCounts(Object.fromEntries(mine.map(o => [o.id, o.workspace_count ?? 0])));
126
- try { const r = await memoryService.getMemory('organisms.ui', { soft: true }); applyPrefs(r?.data?.value); } catch { /* no saved prefs */ }
127
- } catch {
129
+ try { const r = await memoryService.getMemory('organisms.ui', { soft: true }); applyPrefs(r?.data?.value); } catch (err) { swallowed('organisms-tab: applyPrefs', err); }
130
+ } catch (err) {
131
+ swallowed('organisms-tab: applyPrefs', err);
128
132
  setMyOrganisms([]);
129
133
  setPublicOrganisms([]);
130
134
  }
@@ -138,7 +142,7 @@ export default function OrganismsTab({ session, showToast, onStats }) {
138
142
  // Read as part of loadData's mount composite (above); this key backs savePrefs.
139
143
  const UI_PREFS_KEY = 'organisms.ui';
140
144
  const savePrefs = useCallback((order, sort) => {
141
- memoryService.createMemory(UI_PREFS_KEY, { order, sort }, 'private').catch(() => {});
145
+ memoryService.createMemory(UI_PREFS_KEY, { order, sort }, 'private').catch(err => { swallowed('organisms-tab: applyPrefs', err); });
142
146
  }, []);
143
147
 
144
148
  // Stable sort keeps server order for ids missing from the saved manual order (appended at the end).
@@ -189,10 +193,10 @@ export default function OrganismsTab({ session, showToast, onStats }) {
189
193
 
190
194
  // Persist the open organism + workspace (F5 restore), and drop a restored id the user can no longer open.
191
195
  useEffect(() => {
192
- try { if (openId) sessionStorage.setItem('aimeat.ws.openId', openId); else sessionStorage.removeItem('aimeat.ws.openId'); } catch { /* noop */ }
196
+ try { if (openId) sessionStorage.setItem('aimeat.ws.openId', openId); else sessionStorage.removeItem('aimeat.ws.openId'); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
193
197
  }, [openId]);
194
198
  useEffect(() => {
195
- try { if (openWs) sessionStorage.setItem('aimeat.ws.openWs', openWs); else sessionStorage.removeItem('aimeat.ws.openWs'); } catch { /* noop */ }
199
+ try { if (openWs) sessionStorage.setItem('aimeat.ws.openWs', openWs); else sessionStorage.removeItem('aimeat.ws.openWs'); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
196
200
  }, [openWs]);
197
201
  useEffect(() => {
198
202
  if (openId && myOrganisms && !myOrganisms.some(o => o.id === openId)) { setOpenId(null); setOpenWs(null); }
@@ -217,7 +221,7 @@ export default function OrganismsTab({ session, showToast, onStats }) {
217
221
  const params = new URLSearchParams(window.location.search);
218
222
  const org = params.get('org');
219
223
  if (org) { setOpenId(org); setOpenWs(params.get('ws') || null); setOpenSpace(null); setOpenSettings(false); }
220
- } catch { /* noop */ }
224
+ } catch (err) { swallowed('organisms-tab: onOpen', err); }
221
225
  }, []);
222
226
 
223
227
  // Cross-organism content search (debounced) — librarian FTS across all my own content.
@@ -227,7 +231,7 @@ export default function OrganismsTab({ session, showToast, onStats }) {
227
231
  let cancelled = false;
228
232
  setGBusy(true);
229
233
  const tid = setTimeout(async () => {
230
- const hits = await memoryService.librarianSearch(query, 60, 'own').catch(() => []);
234
+ const hits = await memoryService.librarianSearch(query, 60, 'own').catch(err => { swallowed('organisms-tab: onOpen', err); return []; });
231
235
  if (!cancelled) { setGHits(hits || []); setGBusy(false); }
232
236
  }, 220);
233
237
  return () => { cancelled = true; clearTimeout(tid); };
@@ -262,7 +266,8 @@ export default function OrganismsTab({ session, showToast, onStats }) {
262
266
  } else {
263
267
  showToast(result?.error?.message || (t('organisms.createError') || 'Failed to create'));
264
268
  }
265
- } catch {
269
+ } catch (err) {
270
+ swallowed('organisms-tab: onOpen', err);
266
271
  showToast(t('organisms.createError') || 'Failed to create');
267
272
  } finally { setCreating(false); }
268
273
  }, [formName, formDesc, formType, formPolicy, formVisibility, formInterests, showToast, loadData]);
@@ -278,7 +283,8 @@ export default function OrganismsTab({ session, showToast, onStats }) {
278
283
  showToast(result?.error?.message || 'Could not join');
279
284
  }
280
285
  loadData();
281
- } catch {
286
+ } catch (err) {
287
+ swallowed('organisms-tab: onOpen', err);
282
288
  showToast(t('organisms.joinError') || 'Failed to join');
283
289
  }
284
290
  }, [showToast, loadData]);
@@ -290,7 +296,8 @@ export default function OrganismsTab({ session, showToast, onStats }) {
290
296
  showToast(t('organisms.left') || 'Left organism');
291
297
  setOpenId(null); setOpenWs(null);
292
298
  loadData();
293
- } catch {
299
+ } catch (err) {
300
+ swallowed('organisms-tab: onOpen', err);
294
301
  showToast(t('organisms.leaveError') || 'Failed to leave');
295
302
  }
296
303
  }, { danger: true });
@@ -304,7 +311,8 @@ export default function OrganismsTab({ session, showToast, onStats }) {
304
311
  setExpanded(null);
305
312
  setOpenId(null); setOpenWs(null);
306
313
  loadData();
307
- } catch {
314
+ } catch (err) {
315
+ swallowed('organisms-tab: onOpen', err);
308
316
  showToast(t('organisms.deleteError') || 'Failed to delete');
309
317
  }
310
318
  }, { danger: true });
@@ -455,7 +463,7 @@ export default function OrganismsTab({ session, showToast, onStats }) {
455
463
  // Open a cross-organism search hit: jump to its organism + workspace, pre-filling the in-workspace
456
464
  // search with the query so you land on the filtered result list (reuses Kerros 1).
457
465
  const openGHit = (hit) => {
458
- try { if (hit.workspaceId) sessionStorage.setItem(`aimeat.ws.${hit.organismId}.${hit.workspaceId}.search`, gQuery.trim()); } catch { /* noop */ }
466
+ try { if (hit.workspaceId) sessionStorage.setItem(`aimeat.ws.${hit.organismId}.${hit.workspaceId}.search`, gQuery.trim()); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
459
467
  setOpenId(hit.organismId);
460
468
  setOpenWs(hit.workspaceId || null);
461
469
  setOpenSpace(null);
@@ -34,6 +34,7 @@ import { Spinner } from './shared.js';
34
34
  import { useConfirm } from '/components/Modal.js';
35
35
  import * as pkgService from '/js/services/packages.js';
36
36
  import { apiGet } from '/js/api.js';
37
+ import { swallowed } from '/js/swallowed.js';
37
38
 
38
39
  // ─── InstanceCard ───────────────────────────────────────────────────────────
39
40
  // Expanded card for one installed package instance: shows every component's
@@ -169,7 +170,7 @@ export default function PackagesTab({ session, showToast, navigate }) {
169
170
  // Mount: ONE composite (GET /v1/packages/tab) seeds the three LOCAL sections (installed instances +
170
171
  // owner's packages + newest templates). Falls back to the three individual reads on failure. The
171
172
  // cross-node federation-templates call below stays separate (best-effort outbound).
172
- const ov = await apiGet('/v1/packages/tab').then(r => r?.data).catch(() => null);
173
+ const ov = await apiGet('/v1/packages/tab').then(r => r?.data).catch(err => { swallowed('packages-tab: PackagesTab', err); return null; });
173
174
  if (ov) {
174
175
  setInstances(ov.instances?.instances ?? []);
175
176
  setPackages(ov.packages?.packages ?? []);
@@ -188,8 +189,8 @@ export default function PackagesTab({ session, showToast, navigate }) {
188
189
  try {
189
190
  const fedRes = await pkgService.listFederationTemplates({ limit: 50 });
190
191
  if (fedRes.ok) setRemoteTemplates(fedRes.data?.templates ?? []);
191
- } catch { /* federation may not be available */ }
192
- } catch { /* ignore */ }
192
+ } catch (err) { swallowed('packages-tab: PackagesTab', err); }
193
+ } catch (err) { swallowed('packages-tab: PackagesTab', err); }
193
194
  setLoading(false);
194
195
  }, [session?.owner]);
195
196
 
@@ -350,7 +351,8 @@ export default function PackagesTab({ session, showToast, navigate }) {
350
351
  } else {
351
352
  showToast('Failed to load prompt', true);
352
353
  }
353
- } catch {
354
+ } catch (err) {
355
+ swallowed('packages-tab: copyPackagePrompt', err);
354
356
  showToast('Failed to load prompt', true);
355
357
  }
356
358
  };
@@ -42,7 +42,7 @@ export default function PortfolioTab({ session, navigate, showToast }) {
42
42
  // prop function of uncertain stability, and adding it could re-fire the forward before unmount.
43
43
  useEffect(() => {
44
44
  if (cfg !== undefined && !cfg?.enabled) {
45
- try { sessionStorage.removeItem('aimeat-profile-tab'); } catch { /* noop */ }
45
+ try { sessionStorage.removeItem('aimeat-profile-tab'); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
46
46
  navigate('/v1/portfolio');
47
47
  }
48
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -23,6 +23,7 @@ import htm from 'htm';
23
23
  import { useState, useMemo, useEffect, useCallback } from 'preact/hooks';
24
24
  import { t } from '/js/i18n.js';
25
25
  import { listScheduleOccurrences } from '/js/services/schedules.js';
26
+ import { swallowed } from '/js/swallowed.js';
26
27
 
27
28
  const html = htm.bind(h);
28
29
 
@@ -112,7 +113,7 @@ export default function SchedulerCalendar({ schedules = [], reloadKey = 0, onJum
112
113
  setFreq(res?.data?.frequent || []);
113
114
  setTruncated(!!res?.data?.truncated);
114
115
  })
115
- .catch(() => { if (alive) { setOcc([]); setFreq([]); setTruncated(false); } })
116
+ .catch((err) => { swallowed('scheduler-calendar', err); if (alive) { setOcc([]); setFreq([]); setTruncated(false); } })
116
117
  .finally(() => { if (alive) setLoading(false); });
117
118
  return () => { alive = false; };
118
119
  }, [startMs, endMs, reloadKey]);