aimeat 2.1.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 (1300) hide show
  1. package/README.md +110 -84
  2. package/dist/.env.example +57 -16
  3. package/dist/locales/en.json +277 -369
  4. package/dist/locales/fi.json +281 -373
  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/cortex-bundled/aimeat-charts.js +158 -10
  13. package/dist/public/cortex-bundled/aimeat-charts.yaml +1 -1
  14. package/dist/public/cortex-bundled/aimeat-dag.js +515 -173
  15. package/dist/public/cortex-bundled/aimeat-dag.yaml +1 -1
  16. package/dist/public/cortex-bundled/aimeat-i18n.js +6 -1
  17. package/dist/public/cortex-bundled/aimeat-i18n.yaml +1 -1
  18. package/dist/public/cortex-bundled/aimeat-surface.js +577 -0
  19. package/dist/public/cortex-bundled/aimeat-surface.yaml +107 -0
  20. package/dist/public/cortex-bundled/aimeat-viewport.js +405 -0
  21. package/dist/public/cortex-bundled/aimeat-viewport.yaml +100 -0
  22. package/dist/public/css/theme.css +1516 -1432
  23. package/dist/public/css/views/app-grant.css +95 -36
  24. package/dist/public/css/views/help.css +28 -0
  25. package/dist/public/css/views/inbox.css +1 -1
  26. package/dist/public/css/views/landing.css +20 -0
  27. package/dist/public/css/views/members.css +40 -10
  28. package/dist/public/css/views/portal-dev.css +64 -45
  29. package/dist/public/css/views/profile.css +17 -0
  30. package/dist/public/js/api.js +1 -0
  31. package/dist/public/js/app-sandbox.js +1 -0
  32. package/dist/public/js/components/auth-image.js +3 -1
  33. package/dist/public/js/i18n.js +3 -1
  34. package/dist/public/js/presence-store.js +3 -1
  35. package/dist/public/js/recents.js +2 -0
  36. package/dist/public/js/services/agent-activity.js +2 -1
  37. package/dist/public/js/services/agent-directives.js +2 -1
  38. package/dist/public/js/services/agent-integration.js +2 -1
  39. package/dist/public/js/services/agent-messages.js +2 -1
  40. package/dist/public/js/services/agent-tasks.js +2 -1
  41. package/dist/public/js/services/agents.js +3 -2
  42. package/dist/public/js/services/calibrator.js +2 -1
  43. package/dist/public/js/services/consent.js +2 -1
  44. package/dist/public/js/services/contacts.js +2 -1
  45. package/dist/public/js/services/cortex.js +5 -4
  46. package/dist/public/js/services/ecosystem.js +2 -1
  47. package/dist/public/js/services/knowledge.js +2 -1
  48. package/dist/public/js/services/ledger.js +2 -1
  49. package/dist/public/js/services/living.js +10 -9
  50. package/dist/public/js/services/memory.js +2 -1
  51. package/dist/public/js/services/messages.js +53 -8
  52. package/dist/public/js/services/nodes.js +3 -2
  53. package/dist/public/js/services/notebook-plan.js +2 -1
  54. package/dist/public/js/services/notebook.js +6 -5
  55. package/dist/public/js/services/offers.js +6 -5
  56. package/dist/public/js/services/organisms.js +26 -25
  57. package/dist/public/js/services/organisms.prompts.js +3 -2
  58. package/dist/public/js/services/organisms.shared.js +2 -1
  59. package/dist/public/js/services/organisms.workspace-gen.js +3 -2
  60. package/dist/public/js/services/packages.js +1 -0
  61. package/dist/public/js/services/schedules.js +2 -1
  62. package/dist/public/js/services/security.js +3 -2
  63. package/dist/public/js/services/skills.js +1 -0
  64. package/dist/public/js/services/tracked-responses.js +4 -3
  65. package/dist/public/js/services/unfurl.js +4 -4
  66. package/dist/public/js/services/work.js +2 -1
  67. package/dist/public/js/site.js +74 -0
  68. package/dist/public/js/swallowed.js +69 -0
  69. package/dist/public/js/theme.js +2 -1
  70. package/dist/public/js/utils.js +3 -1
  71. package/dist/public/lib/VENDORED.md +7 -3
  72. package/dist/public/lib/aimeat-daisyui-bridge.css +39 -2
  73. package/dist/public/lib/aimeat-game/board.css +262 -0
  74. package/dist/public/lib/aimeat-game/progress.css +406 -0
  75. package/dist/public/lib/aimeat-game/shell.css +388 -0
  76. package/dist/public/lib/aimeat-game.css +394 -0
  77. package/dist/public/lib/aimeat-theme.css +538 -0
  78. package/dist/public/lib/fonts/LICENSE.md +11 -4
  79. package/dist/public/lib/fonts/fraunces-var-latin-ext.woff2 +0 -0
  80. package/dist/public/lib/fonts/fraunces-var-latin.woff2 +0 -0
  81. package/dist/public/lib/fonts/inter-var-latin-ext.woff2 +0 -0
  82. package/dist/public/lib/fonts/inter-var-latin.woff2 +0 -0
  83. package/dist/public/lib/fonts/jetbrains-mono-var-latin-ext.woff2 +0 -0
  84. package/dist/public/lib/fonts/jetbrains-mono-var-latin.woff2 +0 -0
  85. package/dist/public/lib/fonts/space-grotesk-var-latin-ext.woff2 +0 -0
  86. package/dist/public/lib/fonts/space-grotesk-var-latin.woff2 +0 -0
  87. package/dist/public/lib/pdfjs@6/pdf.min.mjs +29 -0
  88. package/dist/public/lib/pdfjs@6/pdf.worker.min.mjs +29 -0
  89. package/dist/public/lib/samples/theme-check.html +92 -0
  90. package/dist/public/lib/samples/themes-boot.js +20 -0
  91. package/dist/public/lib/samples/themes.html +154 -0
  92. package/dist/public/lib/samples/themes.js +60 -0
  93. package/dist/public/privacy.fi.html +1 -1
  94. package/dist/public/privacy.html +1 -1
  95. package/dist/public/spa.html +885 -793
  96. package/dist/public/sw.js +4 -2
  97. package/dist/public/views/admin/agent-integration-tab.js +7 -6
  98. package/dist/public/views/admin/ai-usage-tab.js +2 -1
  99. package/dist/public/views/admin/cortex-tab.js +2 -1
  100. package/dist/public/views/admin/economy-tab.js +0 -1
  101. package/dist/public/views/admin/email-tab.js +4 -2
  102. package/dist/public/views/admin/federation-tab.js +3 -2
  103. package/dist/public/views/admin/feedback-tab.js +2 -1
  104. package/dist/public/views/admin/knowledge-tab.js +2 -1
  105. package/dist/public/views/admin/messages-tab.js +2 -1
  106. package/dist/public/views/admin/msm-tab.js +2 -1
  107. package/dist/public/views/admin/packages-tab.js +3 -2
  108. package/dist/public/views/admin/portal-tab.js +7 -2
  109. package/dist/public/views/admin/push-tab.js +9 -4
  110. package/dist/public/views/admin/stats-tab.js +2 -1
  111. package/dist/public/views/admin/usage-tab.js +4 -3
  112. package/dist/public/views/admin.js +6 -4
  113. package/dist/public/views/agent-solo.js +4 -3
  114. package/dist/public/views/app-grant.js +105 -32
  115. package/dist/public/views/business.js +139 -55
  116. package/dist/public/views/command-palette.js +5 -3
  117. package/dist/public/views/companies.js +3 -2
  118. package/dist/public/views/doc-solo.js +2 -1
  119. package/dist/public/views/help.js +95 -15
  120. package/dist/public/views/how-it-works.js +41 -8
  121. package/dist/public/views/invite-accept.js +3 -2
  122. package/dist/public/views/landing-activity.js +3 -2
  123. package/dist/public/views/landing-node-totals.js +2 -1
  124. package/dist/public/views/landing.js +75 -152
  125. package/dist/public/views/members.js +29 -2
  126. package/dist/public/views/my-company.js +9 -7
  127. package/dist/public/views/my-company.payments.js +2 -1
  128. package/dist/public/views/portal-classic.js +2 -1
  129. package/dist/public/views/portal-dev.js +64 -35
  130. package/dist/public/views/portal-dev.panels.js +39 -2
  131. package/dist/public/views/portal-dev.upload.js +25 -196
  132. package/dist/public/views/portal.components.js +4 -3
  133. package/dist/public/views/portfolio.js +5 -4
  134. package/dist/public/views/profile/access-tab/access-tokens.js +2 -1
  135. package/dist/public/views/profile/access-tab/agent-defaults.js +3 -1
  136. package/dist/public/views/profile/access-tab/connected-apps.js +152 -7
  137. package/dist/public/views/profile/access-tab/sharing-groups.js +4 -1
  138. package/dist/public/views/profile/access-tab.js +3 -1
  139. package/dist/public/views/profile/agents/agent-card.js +6 -5
  140. package/dist/public/views/profile/agents/tab-activity.js +10 -8
  141. package/dist/public/views/profile/agents/tab-agent-config.js +3 -1
  142. package/dist/public/views/profile/agents/tab-contracts.js +2 -1
  143. package/dist/public/views/profile/agents/tab-data-access.js +10 -7
  144. package/dist/public/views/profile/agents/tab-helpers.js +5 -0
  145. package/dist/public/views/profile/agents/tab-integration.js +12 -9
  146. package/dist/public/views/profile/agents/tab-messages.js +6 -4
  147. package/dist/public/views/profile/agents/tab-quality.js +3 -2
  148. package/dist/public/views/profile/agents/tab-usage.js +5 -3
  149. package/dist/public/views/profile/agents/task-item.js +12 -7
  150. package/dist/public/views/profile/agents-activity-subtab.js +5 -2
  151. package/dist/public/views/profile/agents-capabilities-subtab.js +4 -2
  152. package/dist/public/views/profile/agents-messages-subtab.js +5 -2
  153. package/dist/public/views/profile/agents-services-subtab.js +1 -0
  154. package/dist/public/views/profile/agents-tab.js +11 -7
  155. package/dist/public/views/profile/appdev-tab.js +3 -2
  156. package/dist/public/views/profile/apps-tab.js +10 -8
  157. package/dist/public/views/profile/boards-tab.js +5 -4
  158. package/dist/public/views/profile/calibrator-batch.helpers.js +3 -2
  159. package/dist/public/views/profile/calibrator-batch.js +3 -1
  160. package/dist/public/views/profile/calibrator-llm-editor.js +3 -2
  161. package/dist/public/views/profile/calibrator-tab.js +5 -4
  162. package/dist/public/views/profile/capabilities-tab.js +2 -1
  163. package/dist/public/views/profile/chat-sessions-tab.js +6 -3
  164. package/dist/public/views/profile/contacts-tab.js +2 -1
  165. package/dist/public/views/profile/data-wallet-tab.js +5 -4
  166. package/dist/public/views/profile/discover-tab.js +4 -1
  167. package/dist/public/views/profile/ecosystem-tab.automation.js +13 -9
  168. package/dist/public/views/profile/ecosystem-tab.cards.js +3 -2
  169. package/dist/public/views/profile/ecosystem-tab.js +10 -7
  170. package/dist/public/views/profile/email-tab.js +2 -1
  171. package/dist/public/views/profile/extensions-tab.js +7 -6
  172. package/dist/public/views/profile/extensions-tab.maturity.js +6 -2
  173. package/dist/public/views/profile/extensions-tab.prompts.js +24 -0
  174. package/dist/public/views/profile/federation-tab.js +2 -1
  175. package/dist/public/views/profile/inbox-tab/components.js +30 -11
  176. package/dist/public/views/profile/inbox-tab/helpers.js +15 -1
  177. package/dist/public/views/profile/inbox-tab/use-thread-ux.js +30 -3
  178. package/dist/public/views/profile/inbox-tab.js +33 -30
  179. package/dist/public/views/profile/inline-panels.js +5 -4
  180. package/dist/public/views/profile/knowledge-tab.js +15 -13
  181. package/dist/public/views/profile/landing-page.cards.js +14 -9
  182. package/dist/public/views/profile/landing-page.helpers.js +5 -2
  183. package/dist/public/views/profile/landing-page.js +11 -7
  184. package/dist/public/views/profile/landing-page.modals.js +8 -5
  185. package/dist/public/views/profile/libraries-tab.js +10 -2
  186. package/dist/public/views/profile/living-tab.js +3 -2
  187. package/dist/public/views/profile/mcp-tab.js +4 -2
  188. package/dist/public/views/profile/memory-tab/browse-view.js +3 -2
  189. package/dist/public/views/profile/memory-tab/components.js +4 -3
  190. package/dist/public/views/profile/memory-tab/entries-view.js +3 -2
  191. package/dist/public/views/profile/memory-tab.js +18 -16
  192. package/dist/public/views/profile/nodes-tab.js +2 -1
  193. package/dist/public/views/profile/notebook-card.js +4 -3
  194. package/dist/public/views/profile/notebook-tab.js +7 -5
  195. package/dist/public/views/profile/notifications-tab.js +9 -5
  196. package/dist/public/views/profile/offers-tab.js +5 -4
  197. package/dist/public/views/profile/openrouter-settings.js +5 -4
  198. package/dist/public/views/profile/organisms/activity-panel.js +2 -1
  199. package/dist/public/views/profile/organisms/agents.js +2 -1
  200. package/dist/public/views/profile/organisms/document.js +13 -12
  201. package/dist/public/views/profile/organisms/helpers.js +2 -1
  202. package/dist/public/views/profile/organisms/home.js +7 -6
  203. package/dist/public/views/profile/organisms/invite-panel.js +1 -1
  204. package/dist/public/views/profile/organisms/members.js +7 -6
  205. package/dist/public/views/profile/organisms/mindmap.js +1 -1
  206. package/dist/public/views/profile/organisms/panels.js +4 -3
  207. package/dist/public/views/profile/organisms/participants-panel.js +11 -10
  208. package/dist/public/views/profile/organisms/readme-panel.js +1 -0
  209. package/dist/public/views/profile/organisms/sources-panel.js +2 -1
  210. package/dist/public/views/profile/organisms/workspace/doc-space.js +2 -1
  211. package/dist/public/views/profile/organisms/workspace/model.js +1 -0
  212. package/dist/public/views/profile/organisms/workspace-apps.js +4 -2
  213. package/dist/public/views/profile/organisms/workspace-comments.js +3 -2
  214. package/dist/public/views/profile/organisms/workspace-list.js +5 -4
  215. package/dist/public/views/profile/organisms/workspace.js +19 -16
  216. package/dist/public/views/profile/organisms-tab.js +20 -12
  217. package/dist/public/views/profile/packages-tab.js +6 -4
  218. package/dist/public/views/profile/portfolio-tab.js +1 -1
  219. package/dist/public/views/profile/scheduler-calendar.js +2 -1
  220. package/dist/public/views/profile/scheduler-tab.js +2 -1
  221. package/dist/public/views/profile/security-tab.js +2 -1
  222. package/dist/public/views/profile/services-tab.js +4 -3
  223. package/dist/public/views/profile/wallet-tab.js +106 -36
  224. package/dist/public/views/profile/work-tab.js +3 -2
  225. package/dist/public/views/profile/workflows-form.js +2 -1
  226. package/dist/public/views/profile/workflows-tab.js +3 -2
  227. package/dist/public/views/public-workspace-viewer.js +7 -4
  228. package/dist/scripts/build-sdk-libs.d.ts.map +1 -1
  229. package/dist/scripts/build-sdk-libs.js +4 -0
  230. package/dist/scripts/build-sdk-libs.js.map +1 -1
  231. package/dist/scripts/check-openapi.d.ts +2 -0
  232. package/dist/scripts/check-openapi.d.ts.map +1 -0
  233. package/dist/scripts/check-openapi.js +139 -0
  234. package/dist/scripts/check-openapi.js.map +1 -0
  235. package/dist/scripts/check-silent-catch.d.ts +2 -0
  236. package/dist/scripts/check-silent-catch.d.ts.map +1 -0
  237. package/dist/scripts/check-silent-catch.js +159 -0
  238. package/dist/scripts/check-silent-catch.js.map +1 -0
  239. package/dist/scripts/embed-viewport.d.ts +23 -0
  240. package/dist/scripts/embed-viewport.d.ts.map +1 -0
  241. package/dist/scripts/embed-viewport.js +116 -0
  242. package/dist/scripts/embed-viewport.js.map +1 -0
  243. package/dist/src/auth/jwt.d.ts +2 -0
  244. package/dist/src/auth/jwt.d.ts.map +1 -1
  245. package/dist/src/auth/jwt.js +15 -3
  246. package/dist/src/auth/jwt.js.map +1 -1
  247. package/dist/src/auth/keypair.d.ts.map +1 -1
  248. package/dist/src/auth/keypair.js +3 -0
  249. package/dist/src/auth/keypair.js.map +1 -1
  250. package/dist/src/auth/middleware.d.ts +2 -0
  251. package/dist/src/auth/middleware.d.ts.map +1 -1
  252. package/dist/src/auth/middleware.js +33 -14
  253. package/dist/src/auth/middleware.js.map +1 -1
  254. package/dist/src/auth/node-keys.d.ts.map +1 -1
  255. package/dist/src/auth/node-keys.js +59 -16
  256. package/dist/src/auth/node-keys.js.map +1 -1
  257. package/dist/src/auth/sse-domain-scopes.d.ts +50 -0
  258. package/dist/src/auth/sse-domain-scopes.d.ts.map +1 -0
  259. package/dist/src/auth/sse-domain-scopes.js +111 -0
  260. package/dist/src/auth/sse-domain-scopes.js.map +1 -0
  261. package/dist/src/cli/config-import.d.ts.map +1 -1
  262. package/dist/src/cli/config-import.js +3 -1
  263. package/dist/src/cli/config-import.js.map +1 -1
  264. package/dist/src/cli/connect/auth.d.ts.map +1 -1
  265. package/dist/src/cli/connect/auth.js +1 -0
  266. package/dist/src/cli/connect/auth.js.map +1 -1
  267. package/dist/src/cli/connect/config.d.ts.map +1 -1
  268. package/dist/src/cli/connect/config.js +3 -1
  269. package/dist/src/cli/connect/config.js.map +1 -1
  270. package/dist/src/cli/connect/keychain.d.ts.map +1 -1
  271. package/dist/src/cli/connect/keychain.js +6 -2
  272. package/dist/src/cli/connect/keychain.js.map +1 -1
  273. package/dist/src/cli/connect/mcp/local-server.d.ts.map +1 -1
  274. package/dist/src/cli/connect/mcp/local-server.js +9 -2
  275. package/dist/src/cli/connect/mcp/local-server.js.map +1 -1
  276. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts.map +1 -1
  277. package/dist/src/cli/connect/mcp/tools/agent-tasks.js +4 -1
  278. package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -1
  279. package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
  280. package/dist/src/cli/connect/mcp/tools/core.js +14 -3
  281. package/dist/src/cli/connect/mcp/tools/core.js.map +1 -1
  282. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts +3 -0
  283. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
  284. package/dist/src/cli/connect/mcp/tools/workspaces.js +6 -2
  285. package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
  286. package/dist/src/cli/connect/task-runner.d.ts.map +1 -1
  287. package/dist/src/cli/connect/task-runner.js +11 -4
  288. package/dist/src/cli/connect/task-runner.js.map +1 -1
  289. package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
  290. package/dist/src/cli/connect/tool-call-defs-core.js +13 -1
  291. package/dist/src/cli/connect/tool-call-defs-core.js.map +1 -1
  292. package/dist/src/cli/connect/tool-call-helpers.d.ts.map +1 -1
  293. package/dist/src/cli/connect/tool-call-helpers.js +1 -0
  294. package/dist/src/cli/connect/tool-call-helpers.js.map +1 -1
  295. package/dist/src/cli/connect/tunnel-client.d.ts.map +1 -1
  296. package/dist/src/cli/connect/tunnel-client.js +26 -8
  297. package/dist/src/cli/connect/tunnel-client.js.map +1 -1
  298. package/dist/src/cli/federation-join.d.ts.map +1 -1
  299. package/dist/src/cli/federation-join.js +7 -3
  300. package/dist/src/cli/federation-join.js.map +1 -1
  301. package/dist/src/cli/init-wizard/presets.d.ts.map +1 -1
  302. package/dist/src/cli/init-wizard/presets.js +21 -0
  303. package/dist/src/cli/init-wizard/presets.js.map +1 -1
  304. package/dist/src/cli/init-wizard/steps-advanced.d.ts.map +1 -1
  305. package/dist/src/cli/init-wizard/steps-advanced.js +2 -0
  306. package/dist/src/cli/init-wizard/steps-advanced.js.map +1 -1
  307. package/dist/src/cli/init-wizard/steps-operator.d.ts.map +1 -1
  308. package/dist/src/cli/init-wizard/steps-operator.js +10 -0
  309. package/dist/src/cli/init-wizard/steps-operator.js.map +1 -1
  310. package/dist/src/commerce/__tests__/x402-registry.test.d.ts +2 -0
  311. package/dist/src/commerce/__tests__/x402-registry.test.d.ts.map +1 -0
  312. package/dist/src/commerce/__tests__/x402-registry.test.js +105 -0
  313. package/dist/src/commerce/__tests__/x402-registry.test.js.map +1 -0
  314. package/dist/src/commerce/evm-address.d.ts +21 -0
  315. package/dist/src/commerce/evm-address.d.ts.map +1 -0
  316. package/dist/src/commerce/evm-address.js +94 -0
  317. package/dist/src/commerce/evm-address.js.map +1 -0
  318. package/dist/src/commerce/invoice-handler.d.ts +5 -0
  319. package/dist/src/commerce/invoice-handler.d.ts.map +1 -0
  320. package/dist/src/commerce/invoice-handler.js +41 -0
  321. package/dist/src/commerce/invoice-handler.js.map +1 -0
  322. package/dist/src/commerce/money.d.ts +18 -5
  323. package/dist/src/commerce/money.d.ts.map +1 -1
  324. package/dist/src/commerce/money.js +27 -6
  325. package/dist/src/commerce/money.js.map +1 -1
  326. package/dist/src/commerce/payable-book.d.ts +31 -0
  327. package/dist/src/commerce/payable-book.d.ts.map +1 -0
  328. package/dist/src/commerce/payable-book.js +27 -0
  329. package/dist/src/commerce/payable-book.js.map +1 -0
  330. package/dist/src/commerce/payment-handlers.d.ts.map +1 -1
  331. package/dist/src/commerce/payment-handlers.js +8 -4
  332. package/dist/src/commerce/payment-handlers.js.map +1 -1
  333. package/dist/src/commerce/sellable-resolvers.d.ts +6 -6
  334. package/dist/src/commerce/sellable-resolvers.d.ts.map +1 -1
  335. package/dist/src/commerce/sellable-resolvers.js +17 -4
  336. package/dist/src/commerce/sellable-resolvers.js.map +1 -1
  337. package/dist/src/commerce/session-service.js +2 -2
  338. package/dist/src/commerce/session-service.js.map +1 -1
  339. package/dist/src/commerce/stripe-handler.d.ts +33 -0
  340. package/dist/src/commerce/stripe-handler.d.ts.map +1 -0
  341. package/dist/src/commerce/stripe-handler.js +108 -0
  342. package/dist/src/commerce/stripe-handler.js.map +1 -0
  343. package/dist/src/commerce/types.d.ts +10 -12
  344. package/dist/src/commerce/types.d.ts.map +1 -1
  345. package/dist/src/commerce/x402-facilitator.d.ts +64 -13
  346. package/dist/src/commerce/x402-facilitator.d.ts.map +1 -1
  347. package/dist/src/commerce/x402-facilitator.js +72 -19
  348. package/dist/src/commerce/x402-facilitator.js.map +1 -1
  349. package/dist/src/commerce/x402-handler.d.ts +13 -7
  350. package/dist/src/commerce/x402-handler.d.ts.map +1 -1
  351. package/dist/src/commerce/x402-handler.js +23 -10
  352. package/dist/src/commerce/x402-handler.js.map +1 -1
  353. package/dist/src/commerce/x402.d.ts +11 -6
  354. package/dist/src/commerce/x402.d.ts.map +1 -1
  355. package/dist/src/commerce/x402.js +10 -7
  356. package/dist/src/commerce/x402.js.map +1 -1
  357. package/dist/src/config-types.d.ts +78 -0
  358. package/dist/src/config-types.d.ts.map +1 -1
  359. package/dist/src/config.d.ts.map +1 -1
  360. package/dist/src/config.js +70 -1
  361. package/dist/src/config.js.map +1 -1
  362. package/dist/src/data/app-templates/shells.d.ts +11 -3
  363. package/dist/src/data/app-templates/shells.d.ts.map +1 -1
  364. package/dist/src/data/app-templates/shells.js +87 -6
  365. package/dist/src/data/app-templates/shells.js.map +1 -1
  366. package/dist/src/data/app-templates.js +2 -2
  367. package/dist/src/data/app-templates.js.map +1 -1
  368. package/dist/src/data/library-packs/cortex.d.ts.map +1 -1
  369. package/dist/src/data/library-packs/cortex.js +108 -5
  370. package/dist/src/data/library-packs/cortex.js.map +1 -1
  371. package/dist/src/data/library-packs/sdk.d.ts +4 -0
  372. package/dist/src/data/library-packs/sdk.d.ts.map +1 -1
  373. package/dist/src/data/library-packs/sdk.js +78 -8
  374. package/dist/src/data/library-packs/sdk.js.map +1 -1
  375. package/dist/src/data/library-packs/vendored.d.ts.map +1 -1
  376. package/dist/src/data/library-packs/vendored.js +171 -6
  377. package/dist/src/data/library-packs/vendored.js.map +1 -1
  378. package/dist/src/generated/api-types.d.ts +949 -44
  379. package/dist/src/generated/api-types.d.ts.map +1 -1
  380. package/dist/src/index-connect.d.ts.map +1 -1
  381. package/dist/src/index-connect.js +4 -1
  382. package/dist/src/index-connect.js.map +1 -1
  383. package/dist/src/index-start.d.ts.map +1 -1
  384. package/dist/src/index-start.js +10 -6
  385. package/dist/src/index-start.js.map +1 -1
  386. package/dist/src/mcp/agent-tasks.d.ts +4 -0
  387. package/dist/src/mcp/agent-tasks.d.ts.map +1 -1
  388. package/dist/src/mcp/agent-tasks.js +20 -2
  389. package/dist/src/mcp/agent-tasks.js.map +1 -1
  390. package/dist/src/mcp/app-template-proposals.d.ts.map +1 -1
  391. package/dist/src/mcp/app-template-proposals.js +2 -1
  392. package/dist/src/mcp/app-template-proposals.js.map +1 -1
  393. package/dist/src/mcp/apps.d.ts.map +1 -1
  394. package/dist/src/mcp/apps.js +4 -3
  395. package/dist/src/mcp/apps.js.map +1 -1
  396. package/dist/src/mcp/capabilities.d.ts +7 -1
  397. package/dist/src/mcp/capabilities.d.ts.map +1 -1
  398. package/dist/src/mcp/capabilities.js +8 -4
  399. package/dist/src/mcp/capabilities.js.map +1 -1
  400. package/dist/src/mcp/catalog/definitions/commerce.d.ts.map +1 -1
  401. package/dist/src/mcp/catalog/definitions/commerce.js +4 -2
  402. package/dist/src/mcp/catalog/definitions/commerce.js.map +1 -1
  403. package/dist/src/mcp/catalog/definitions/discovery-work-boards.d.ts.map +1 -1
  404. package/dist/src/mcp/catalog/definitions/discovery-work-boards.js +4 -3
  405. package/dist/src/mcp/catalog/definitions/discovery-work-boards.js.map +1 -1
  406. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js +1 -1
  407. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js.map +1 -1
  408. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.d.ts.map +1 -1
  409. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js +3 -2
  410. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js.map +1 -1
  411. package/dist/src/mcp/catalog/output-schemas.d.ts +6 -1
  412. package/dist/src/mcp/catalog/output-schemas.d.ts.map +1 -1
  413. package/dist/src/mcp/catalog/output-schemas.js +6 -1
  414. package/dist/src/mcp/catalog/output-schemas.js.map +1 -1
  415. package/dist/src/mcp/catalog/scopes.d.ts +0 -1
  416. package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
  417. package/dist/src/mcp/catalog/scopes.js +2 -11
  418. package/dist/src/mcp/catalog/scopes.js.map +1 -1
  419. package/dist/src/mcp/catalog/surfaces.d.ts +1 -7
  420. package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
  421. package/dist/src/mcp/catalog/surfaces.js +10 -16
  422. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  423. package/dist/src/mcp/commerce.d.ts.map +1 -1
  424. package/dist/src/mcp/commerce.js +50 -6
  425. package/dist/src/mcp/commerce.js.map +1 -1
  426. package/dist/src/mcp/core-storage.d.ts +23 -0
  427. package/dist/src/mcp/core-storage.d.ts.map +1 -0
  428. package/dist/src/mcp/core-storage.js +157 -0
  429. package/dist/src/mcp/core-storage.js.map +1 -0
  430. package/dist/src/mcp/core.d.ts +16 -0
  431. package/dist/src/mcp/core.d.ts.map +1 -1
  432. package/dist/src/mcp/core.js +78 -121
  433. package/dist/src/mcp/core.js.map +1 -1
  434. package/dist/src/mcp/dm-messages.d.ts +4 -0
  435. package/dist/src/mcp/dm-messages.d.ts.map +1 -1
  436. package/dist/src/mcp/dm-messages.js +43 -2
  437. package/dist/src/mcp/dm-messages.js.map +1 -1
  438. package/dist/src/mcp/exchange-run.d.ts +28 -0
  439. package/dist/src/mcp/exchange-run.d.ts.map +1 -1
  440. package/dist/src/mcp/exchange-run.js +58 -37
  441. package/dist/src/mcp/exchange-run.js.map +1 -1
  442. package/dist/src/mcp/exchange.d.ts.map +1 -1
  443. package/dist/src/mcp/exchange.js +12 -9
  444. package/dist/src/mcp/exchange.js.map +1 -1
  445. package/dist/src/mcp/extensions.d.ts.map +1 -1
  446. package/dist/src/mcp/extensions.js +66 -108
  447. package/dist/src/mcp/extensions.js.map +1 -1
  448. package/dist/src/mcp/index.d.ts +5 -0
  449. package/dist/src/mcp/index.d.ts.map +1 -1
  450. package/dist/src/mcp/index.js +24 -9
  451. package/dist/src/mcp/index.js.map +1 -1
  452. package/dist/src/mcp/knowledge.d.ts.map +1 -1
  453. package/dist/src/mcp/knowledge.js +1 -0
  454. package/dist/src/mcp/knowledge.js.map +1 -1
  455. package/dist/src/mcp/memory-namespace-hints.d.ts +33 -0
  456. package/dist/src/mcp/memory-namespace-hints.d.ts.map +1 -0
  457. package/dist/src/mcp/memory-namespace-hints.js +60 -0
  458. package/dist/src/mcp/memory-namespace-hints.js.map +1 -0
  459. package/dist/src/mcp/oauth.d.ts +3 -0
  460. package/dist/src/mcp/oauth.d.ts.map +1 -1
  461. package/dist/src/mcp/oauth.js +13 -8
  462. package/dist/src/mcp/oauth.js.map +1 -1
  463. package/dist/src/mcp/workspaces.d.ts +5 -0
  464. package/dist/src/mcp/workspaces.d.ts.map +1 -1
  465. package/dist/src/mcp/workspaces.js +12 -7
  466. package/dist/src/mcp/workspaces.js.map +1 -1
  467. package/dist/src/middleware/cors.d.ts.map +1 -1
  468. package/dist/src/middleware/cors.js +3 -1
  469. package/dist/src/middleware/cors.js.map +1 -1
  470. package/dist/src/middleware/subdomain.d.ts +4 -0
  471. package/dist/src/middleware/subdomain.d.ts.map +1 -1
  472. package/dist/src/middleware/subdomain.js +23 -2
  473. package/dist/src/middleware/subdomain.js.map +1 -1
  474. package/dist/src/models/agent-task-schemas.d.ts +25 -3
  475. package/dist/src/models/agent-task-schemas.d.ts.map +1 -1
  476. package/dist/src/models/agent-task-schemas.js +16 -0
  477. package/dist/src/models/agent-task-schemas.js.map +1 -1
  478. package/dist/src/models/app-tool-schemas.d.ts +553 -1
  479. package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
  480. package/dist/src/models/app-tool-schemas.js +97 -1
  481. package/dist/src/models/app-tool-schemas.js.map +1 -1
  482. package/dist/src/models/odps-schemas.d.ts +305 -0
  483. package/dist/src/models/odps-schemas.d.ts.map +1 -0
  484. package/dist/src/models/odps-schemas.js +182 -0
  485. package/dist/src/models/odps-schemas.js.map +1 -0
  486. package/dist/src/models/offer-schemas.d.ts +357 -2
  487. package/dist/src/models/offer-schemas.d.ts.map +1 -1
  488. package/dist/src/models/offer-schemas.js +37 -0
  489. package/dist/src/models/offer-schemas.js.map +1 -1
  490. package/dist/src/models/schemas.d.ts +6 -3
  491. package/dist/src/models/schemas.d.ts.map +1 -1
  492. package/dist/src/models/schemas.js +10 -1
  493. package/dist/src/models/schemas.js.map +1 -1
  494. package/dist/src/models/webhook-schemas.d.ts +8 -8
  495. package/dist/src/routes/admin-config.d.ts.map +1 -1
  496. package/dist/src/routes/admin-config.js +4 -1
  497. package/dist/src/routes/admin-config.js.map +1 -1
  498. package/dist/src/routes/admin-extensions.d.ts.map +1 -1
  499. package/dist/src/routes/admin-extensions.js +2 -1
  500. package/dist/src/routes/admin-extensions.js.map +1 -1
  501. package/dist/src/routes/admin-monitoring.js +14 -5
  502. package/dist/src/routes/admin-monitoring.js.map +1 -1
  503. package/dist/src/routes/admin-security.d.ts.map +1 -1
  504. package/dist/src/routes/admin-security.js +4 -1
  505. package/dist/src/routes/admin-security.js.map +1 -1
  506. package/dist/src/routes/admin.d.ts.map +1 -1
  507. package/dist/src/routes/admin.js +6 -4
  508. package/dist/src/routes/admin.js.map +1 -1
  509. package/dist/src/routes/agent-activity.d.ts.map +1 -1
  510. package/dist/src/routes/agent-activity.js +4 -1
  511. package/dist/src/routes/agent-activity.js.map +1 -1
  512. package/dist/src/routes/agent-directives.d.ts +3 -10
  513. package/dist/src/routes/agent-directives.d.ts.map +1 -1
  514. package/dist/src/routes/agent-directives.js +7 -12
  515. package/dist/src/routes/agent-directives.js.map +1 -1
  516. package/dist/src/routes/agent-integration.d.ts.map +1 -1
  517. package/dist/src/routes/agent-integration.js +3 -1
  518. package/dist/src/routes/agent-integration.js.map +1 -1
  519. package/dist/src/routes/agent-messages.d.ts.map +1 -1
  520. package/dist/src/routes/agent-messages.js +5 -2
  521. package/dist/src/routes/agent-messages.js.map +1 -1
  522. package/dist/src/routes/agent-onboarding.d.ts.map +1 -1
  523. package/dist/src/routes/agent-onboarding.js +19 -6
  524. package/dist/src/routes/agent-onboarding.js.map +1 -1
  525. package/dist/src/routes/agent-skills-discovery.d.ts.map +1 -1
  526. package/dist/src/routes/agent-skills-discovery.js +2 -1
  527. package/dist/src/routes/agent-skills-discovery.js.map +1 -1
  528. package/dist/src/routes/agent-tasks/completion.js +1 -1
  529. package/dist/src/routes/agent-tasks/completion.js.map +1 -1
  530. package/dist/src/routes/agent-tasks/create-read.d.ts +4 -0
  531. package/dist/src/routes/agent-tasks/create-read.d.ts.map +1 -1
  532. package/dist/src/routes/agent-tasks/create-read.js +23 -2
  533. package/dist/src/routes/agent-tasks/create-read.js.map +1 -1
  534. package/dist/src/routes/agent-tasks/lifecycle.d.ts.map +1 -1
  535. package/dist/src/routes/agent-tasks/lifecycle.js +38 -9
  536. package/dist/src/routes/agent-tasks/lifecycle.js.map +1 -1
  537. package/dist/src/routes/agents/management.d.ts.map +1 -1
  538. package/dist/src/routes/agents/management.js +4 -1
  539. package/dist/src/routes/agents/management.js.map +1 -1
  540. package/dist/src/routes/agents/offers.d.ts +2 -0
  541. package/dist/src/routes/agents/offers.d.ts.map +1 -1
  542. package/dist/src/routes/agents/offers.js +0 -0
  543. package/dist/src/routes/agents/offers.js.map +1 -1
  544. package/dist/src/routes/agents/profile-metadata.d.ts.map +1 -1
  545. package/dist/src/routes/agents/profile-metadata.js +2 -1
  546. package/dist/src/routes/agents/profile-metadata.js.map +1 -1
  547. package/dist/src/routes/app-grants.d.ts +13 -0
  548. package/dist/src/routes/app-grants.d.ts.map +1 -1
  549. package/dist/src/routes/app-grants.js +124 -29
  550. package/dist/src/routes/app-grants.js.map +1 -1
  551. package/dist/src/routes/appdev-overview.d.ts.map +1 -1
  552. package/dist/src/routes/appdev-overview.js +2 -1
  553. package/dist/src/routes/appdev-overview.js.map +1 -1
  554. package/dist/src/routes/apps/catalogue-admin.d.ts.map +1 -1
  555. package/dist/src/routes/apps/catalogue-admin.js +2 -1
  556. package/dist/src/routes/apps/catalogue-admin.js.map +1 -1
  557. package/dist/src/routes/apps/drafts.d.ts +3 -0
  558. package/dist/src/routes/apps/drafts.d.ts.map +1 -1
  559. package/dist/src/routes/apps/drafts.js +65 -2
  560. package/dist/src/routes/apps/drafts.js.map +1 -1
  561. package/dist/src/routes/apps/fork-manage.d.ts.map +1 -1
  562. package/dist/src/routes/apps/fork-manage.js +6 -3
  563. package/dist/src/routes/apps/fork-manage.js.map +1 -1
  564. package/dist/src/routes/apps/helpers.d.ts.map +1 -1
  565. package/dist/src/routes/apps/helpers.js +5 -1
  566. package/dist/src/routes/apps/helpers.js.map +1 -1
  567. package/dist/src/routes/apps/publish.d.ts +2 -0
  568. package/dist/src/routes/apps/publish.d.ts.map +1 -1
  569. package/dist/src/routes/apps/publish.js +25 -5
  570. package/dist/src/routes/apps/publish.js.map +1 -1
  571. package/dist/src/routes/apps/read.d.ts.map +1 -1
  572. package/dist/src/routes/apps/read.js +2 -1
  573. package/dist/src/routes/apps/read.js.map +1 -1
  574. package/dist/src/routes/auth.d.ts.map +1 -1
  575. package/dist/src/routes/auth.js +2 -1
  576. package/dist/src/routes/auth.js.map +1 -1
  577. package/dist/src/routes/boards.js +1 -1
  578. package/dist/src/routes/boards.js.map +1 -1
  579. package/dist/src/routes/bootstrap.d.ts.map +1 -1
  580. package/dist/src/routes/bootstrap.js +8 -3
  581. package/dist/src/routes/bootstrap.js.map +1 -1
  582. package/dist/src/routes/capabilities.d.ts.map +1 -1
  583. package/dist/src/routes/capabilities.js +4 -3
  584. package/dist/src/routes/capabilities.js.map +1 -1
  585. package/dist/src/routes/commerce-acp.js +1 -1
  586. package/dist/src/routes/commerce-acp.js.map +1 -1
  587. package/dist/src/routes/commerce-ucp.d.ts +2 -3
  588. package/dist/src/routes/commerce-ucp.d.ts.map +1 -1
  589. package/dist/src/routes/commerce-ucp.js +6 -12
  590. package/dist/src/routes/commerce-ucp.js.map +1 -1
  591. package/dist/src/routes/commerce.d.ts +7 -1
  592. package/dist/src/routes/commerce.d.ts.map +1 -1
  593. package/dist/src/routes/commerce.js +175 -5
  594. package/dist/src/routes/commerce.js.map +1 -1
  595. package/dist/src/routes/csm.d.ts.map +1 -1
  596. package/dist/src/routes/csm.js +3 -1
  597. package/dist/src/routes/csm.js.map +1 -1
  598. package/dist/src/routes/ecosystem-apps.d.ts.map +1 -1
  599. package/dist/src/routes/ecosystem-apps.js +7 -6
  600. package/dist/src/routes/ecosystem-apps.js.map +1 -1
  601. package/dist/src/routes/exchange-market.d.ts +6 -2
  602. package/dist/src/routes/exchange-market.d.ts.map +1 -1
  603. package/dist/src/routes/exchange-market.js +163 -33
  604. package/dist/src/routes/exchange-market.js.map +1 -1
  605. package/dist/src/routes/exchange.d.ts +10 -1
  606. package/dist/src/routes/exchange.d.ts.map +1 -1
  607. package/dist/src/routes/exchange.js +349 -11
  608. package/dist/src/routes/exchange.js.map +1 -1
  609. package/dist/src/routes/extensions/actions.d.ts +2 -0
  610. package/dist/src/routes/extensions/actions.d.ts.map +1 -1
  611. package/dist/src/routes/extensions/actions.js +65 -8
  612. package/dist/src/routes/extensions/actions.js.map +1 -1
  613. package/dist/src/routes/extensions/crud.d.ts.map +1 -1
  614. package/dist/src/routes/extensions/crud.js +36 -3
  615. package/dist/src/routes/extensions/crud.js.map +1 -1
  616. package/dist/src/routes/extensions/entitlement-gate.d.ts +44 -7
  617. package/dist/src/routes/extensions/entitlement-gate.d.ts.map +1 -1
  618. package/dist/src/routes/extensions/entitlement-gate.js +22 -130
  619. package/dist/src/routes/extensions/entitlement-gate.js.map +1 -1
  620. package/dist/src/routes/extensions/internal-pass.d.ts +23 -0
  621. package/dist/src/routes/extensions/internal-pass.d.ts.map +1 -0
  622. package/dist/src/routes/extensions/internal-pass.js +70 -0
  623. package/dist/src/routes/extensions/internal-pass.js.map +1 -0
  624. package/dist/src/routes/extensions/manifest.d.ts +10 -0
  625. package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
  626. package/dist/src/routes/extensions/manifest.js +136 -5
  627. package/dist/src/routes/extensions/manifest.js.map +1 -1
  628. package/dist/src/routes/extensions/metered-response.d.ts +37 -0
  629. package/dist/src/routes/extensions/metered-response.d.ts.map +1 -0
  630. package/dist/src/routes/extensions/metered-response.js +60 -0
  631. package/dist/src/routes/extensions/metered-response.js.map +1 -0
  632. package/dist/src/routes/extensions/pacing.d.ts +62 -0
  633. package/dist/src/routes/extensions/pacing.d.ts.map +1 -0
  634. package/dist/src/routes/extensions/pacing.js +45 -0
  635. package/dist/src/routes/extensions/pacing.js.map +1 -0
  636. package/dist/src/routes/extensions/paywall.d.ts +16 -0
  637. package/dist/src/routes/extensions/paywall.d.ts.map +1 -1
  638. package/dist/src/routes/extensions/paywall.js +170 -21
  639. package/dist/src/routes/extensions/paywall.js.map +1 -1
  640. package/dist/src/routes/extensions/priced-binding.d.ts +50 -0
  641. package/dist/src/routes/extensions/priced-binding.d.ts.map +1 -0
  642. package/dist/src/routes/extensions/priced-binding.js +46 -0
  643. package/dist/src/routes/extensions/priced-binding.js.map +1 -0
  644. package/dist/src/routes/federation-genesis.d.ts.map +1 -1
  645. package/dist/src/routes/federation-genesis.js +14 -5
  646. package/dist/src/routes/federation-genesis.js.map +1 -1
  647. package/dist/src/routes/federation-peer/introduce.d.ts.map +1 -1
  648. package/dist/src/routes/federation-peer/introduce.js +3 -1
  649. package/dist/src/routes/federation-peer/introduce.js.map +1 -1
  650. package/dist/src/routes/federation-peer/lifecycle.d.ts.map +1 -1
  651. package/dist/src/routes/federation-peer/lifecycle.js +3 -2
  652. package/dist/src/routes/federation-peer/lifecycle.js.map +1 -1
  653. package/dist/src/routes/federation-peer/peers.d.ts.map +1 -1
  654. package/dist/src/routes/federation-peer/peers.js +5 -3
  655. package/dist/src/routes/federation-peer/peers.js.map +1 -1
  656. package/dist/src/routes/federation-peer/policy-book.d.ts.map +1 -1
  657. package/dist/src/routes/federation-peer/policy-book.js +2 -1
  658. package/dist/src/routes/federation-peer/policy-book.js.map +1 -1
  659. package/dist/src/routes/federation-peer/promotion.d.ts.map +1 -1
  660. package/dist/src/routes/federation-peer/promotion.js +4 -1
  661. package/dist/src/routes/federation-peer/promotion.js.map +1 -1
  662. package/dist/src/routes/federation-settlements.js +2 -2
  663. package/dist/src/routes/federation-settlements.js.map +1 -1
  664. package/dist/src/routes/federation-sync/catalogue-trust.js +5 -3
  665. package/dist/src/routes/federation-sync/catalogue-trust.js.map +1 -1
  666. package/dist/src/routes/federation-sync/messaging.js +5 -3
  667. package/dist/src/routes/federation-sync/messaging.js.map +1 -1
  668. package/dist/src/routes/federation-sync/routing.d.ts.map +1 -1
  669. package/dist/src/routes/federation-sync/routing.js +7 -5
  670. package/dist/src/routes/federation-sync/routing.js.map +1 -1
  671. package/dist/src/routes/flags.d.ts.map +1 -1
  672. package/dist/src/routes/flags.js +3 -1
  673. package/dist/src/routes/flags.js.map +1 -1
  674. package/dist/src/routes/ghii/register-login.js +1 -1
  675. package/dist/src/routes/ghii/register-login.js.map +1 -1
  676. package/dist/src/routes/instances/install.d.ts.map +1 -1
  677. package/dist/src/routes/instances/install.js +2 -1
  678. package/dist/src/routes/instances/install.js.map +1 -1
  679. package/dist/src/routes/instances/manage.d.ts.map +1 -1
  680. package/dist/src/routes/instances/manage.js +2 -1
  681. package/dist/src/routes/instances/manage.js.map +1 -1
  682. package/dist/src/routes/knowledge/packages-core.d.ts.map +1 -1
  683. package/dist/src/routes/knowledge/packages-core.js +2 -1
  684. package/dist/src/routes/knowledge/packages-core.js.map +1 -1
  685. package/dist/src/routes/knowledge/sharing.d.ts.map +1 -1
  686. package/dist/src/routes/knowledge/sharing.js +2 -1
  687. package/dist/src/routes/knowledge/sharing.js.map +1 -1
  688. package/dist/src/routes/library-packs.d.ts.map +1 -1
  689. package/dist/src/routes/library-packs.js +10 -3
  690. package/dist/src/routes/library-packs.js.map +1 -1
  691. package/dist/src/routes/libs.d.ts +9 -0
  692. package/dist/src/routes/libs.d.ts.map +1 -1
  693. package/dist/src/routes/libs.js +11 -2
  694. package/dist/src/routes/libs.js.map +1 -1
  695. package/dist/src/routes/matches.d.ts.map +1 -1
  696. package/dist/src/routes/matches.js +7 -3
  697. package/dist/src/routes/matches.js.map +1 -1
  698. package/dist/src/routes/memory/bulk.d.ts.map +1 -1
  699. package/dist/src/routes/memory/bulk.js +3 -1
  700. package/dist/src/routes/memory/bulk.js.map +1 -1
  701. package/dist/src/routes/memory/crud.d.ts.map +1 -1
  702. package/dist/src/routes/memory/crud.js +14 -2
  703. package/dist/src/routes/memory/crud.js.map +1 -1
  704. package/dist/src/routes/memory/federation.d.ts.map +1 -1
  705. package/dist/src/routes/memory/federation.js +5 -0
  706. package/dist/src/routes/memory/federation.js.map +1 -1
  707. package/dist/src/routes/memory/key.d.ts.map +1 -1
  708. package/dist/src/routes/memory/key.js +9 -4
  709. package/dist/src/routes/memory/key.js.map +1 -1
  710. package/dist/src/routes/messages.d.ts.map +1 -1
  711. package/dist/src/routes/messages.js +2 -1
  712. package/dist/src/routes/messages.js.map +1 -1
  713. package/dist/src/routes/msm.d.ts.map +1 -1
  714. package/dist/src/routes/msm.js +3 -1
  715. package/dist/src/routes/msm.js.map +1 -1
  716. package/dist/src/routes/oauth-login.d.ts.map +1 -1
  717. package/dist/src/routes/oauth-login.js +1 -0
  718. package/dist/src/routes/oauth-login.js.map +1 -1
  719. package/dist/src/routes/openrouter.js +2 -2
  720. package/dist/src/routes/openrouter.js.map +1 -1
  721. package/dist/src/routes/organisms/crud.d.ts +3 -0
  722. package/dist/src/routes/organisms/crud.d.ts.map +1 -1
  723. package/dist/src/routes/organisms/crud.js +8 -4
  724. package/dist/src/routes/organisms/crud.js.map +1 -1
  725. package/dist/src/routes/organisms/gates.d.ts.map +1 -1
  726. package/dist/src/routes/organisms/gates.js +3 -2
  727. package/dist/src/routes/organisms/gates.js.map +1 -1
  728. package/dist/src/routes/organisms/intake.d.ts.map +1 -1
  729. package/dist/src/routes/organisms/intake.js +13 -1
  730. package/dist/src/routes/organisms/intake.js.map +1 -1
  731. package/dist/src/routes/organisms/shared.d.ts.map +1 -1
  732. package/dist/src/routes/organisms/shared.js +7 -3
  733. package/dist/src/routes/organisms/shared.js.map +1 -1
  734. package/dist/src/routes/organisms/workspace-ops.d.ts.map +1 -1
  735. package/dist/src/routes/organisms/workspace-ops.js +6 -5
  736. package/dist/src/routes/organisms/workspace-ops.js.map +1 -1
  737. package/dist/src/routes/organisms/workspace-read.d.ts.map +1 -1
  738. package/dist/src/routes/organisms/workspace-read.js +11 -4
  739. package/dist/src/routes/organisms/workspace-read.js.map +1 -1
  740. package/dist/src/routes/owners.d.ts.map +1 -1
  741. package/dist/src/routes/owners.js +37 -12
  742. package/dist/src/routes/owners.js.map +1 -1
  743. package/dist/src/routes/personal.js +3 -1
  744. package/dist/src/routes/personal.js.map +1 -1
  745. package/dist/src/routes/portal.d.ts +6 -1
  746. package/dist/src/routes/portal.d.ts.map +1 -1
  747. package/dist/src/routes/portal.js +75 -10
  748. package/dist/src/routes/portal.js.map +1 -1
  749. package/dist/src/routes/portfolio.d.ts.map +1 -1
  750. package/dist/src/routes/portfolio.js +5 -1
  751. package/dist/src/routes/portfolio.js.map +1 -1
  752. package/dist/src/routes/prompts.d.ts.map +1 -1
  753. package/dist/src/routes/prompts.js +36 -2
  754. package/dist/src/routes/prompts.js.map +1 -1
  755. package/dist/src/routes/public-events.d.ts.map +1 -1
  756. package/dist/src/routes/public-events.js +4 -1
  757. package/dist/src/routes/public-events.js.map +1 -1
  758. package/dist/src/routes/public-stats.d.ts +7 -0
  759. package/dist/src/routes/public-stats.d.ts.map +1 -1
  760. package/dist/src/routes/public-stats.js +57 -17
  761. package/dist/src/routes/public-stats.js.map +1 -1
  762. package/dist/src/routes/schedules.d.ts +3 -0
  763. package/dist/src/routes/schedules.d.ts.map +1 -1
  764. package/dist/src/routes/schedules.js +14 -1
  765. package/dist/src/routes/schedules.js.map +1 -1
  766. package/dist/src/routes/sse.d.ts +7 -0
  767. package/dist/src/routes/sse.d.ts.map +1 -1
  768. package/dist/src/routes/sse.js +36 -6
  769. package/dist/src/routes/sse.js.map +1 -1
  770. package/dist/src/routes/stats.d.ts.map +1 -1
  771. package/dist/src/routes/stats.js +5 -1
  772. package/dist/src/routes/stats.js.map +1 -1
  773. package/dist/src/routes/storage-files.d.ts +15 -0
  774. package/dist/src/routes/storage-files.d.ts.map +1 -1
  775. package/dist/src/routes/storage-files.js +69 -51
  776. package/dist/src/routes/storage-files.js.map +1 -1
  777. package/dist/src/routes/subdomains.d.ts +13 -0
  778. package/dist/src/routes/subdomains.d.ts.map +1 -1
  779. package/dist/src/routes/subdomains.js +106 -8
  780. package/dist/src/routes/subdomains.js.map +1 -1
  781. package/dist/src/routes/unfurl.d.ts.map +1 -1
  782. package/dist/src/routes/unfurl.js +13 -3
  783. package/dist/src/routes/unfurl.js.map +1 -1
  784. package/dist/src/routes/upload.d.ts +22 -0
  785. package/dist/src/routes/upload.d.ts.map +1 -1
  786. package/dist/src/routes/upload.js +204 -34
  787. package/dist/src/routes/upload.js.map +1 -1
  788. package/dist/src/routes/wallet.d.ts +3 -0
  789. package/dist/src/routes/wallet.d.ts.map +1 -1
  790. package/dist/src/routes/wallet.js +6 -1
  791. package/dist/src/routes/wallet.js.map +1 -1
  792. package/dist/src/routes/webmcp.d.ts +8 -0
  793. package/dist/src/routes/webmcp.d.ts.map +1 -1
  794. package/dist/src/routes/webmcp.js +97 -46
  795. package/dist/src/routes/webmcp.js.map +1 -1
  796. package/dist/src/routes/wellknown.d.ts.map +1 -1
  797. package/dist/src/routes/wellknown.js +1 -0
  798. package/dist/src/routes/wellknown.js.map +1 -1
  799. package/dist/src/schemas/knowledge-package.d.ts +1 -1
  800. package/dist/src/server-bootstrap/config-init.d.ts.map +1 -1
  801. package/dist/src/server-bootstrap/config-init.js +2 -0
  802. package/dist/src/server-bootstrap/config-init.js.map +1 -1
  803. package/dist/src/server-bootstrap/routes-loader.d.ts +4 -2
  804. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  805. package/dist/src/server-bootstrap/routes-loader.js +11 -22
  806. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  807. package/dist/src/server-bootstrap/service-init.js +3 -1
  808. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  809. package/dist/src/server-bootstrap/static-files.d.ts +4 -0
  810. package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
  811. package/dist/src/server-bootstrap/static-files.js +14 -1
  812. package/dist/src/server-bootstrap/static-files.js.map +1 -1
  813. package/dist/src/services/agent-statistics.d.ts.map +1 -1
  814. package/dist/src/services/agent-statistics.js +4 -1
  815. package/dist/src/services/agent-statistics.js.map +1 -1
  816. package/dist/src/services/app-agent-deploy.d.ts.map +1 -1
  817. package/dist/src/services/app-agent-deploy.js +4 -1
  818. package/dist/src/services/app-agent-deploy.js.map +1 -1
  819. package/dist/src/services/app-agent-surface.d.ts +78 -0
  820. package/dist/src/services/app-agent-surface.d.ts.map +1 -0
  821. package/dist/src/services/app-agent-surface.js +74 -0
  822. package/dist/src/services/app-agent-surface.js.map +1 -0
  823. package/dist/src/services/app-tool-names.d.ts +15 -0
  824. package/dist/src/services/app-tool-names.d.ts.map +1 -0
  825. package/dist/src/services/app-tool-names.js +24 -0
  826. package/dist/src/services/app-tool-names.js.map +1 -0
  827. package/dist/src/services/appdev-overview.d.ts.map +1 -1
  828. package/dist/src/services/appdev-overview.js +3 -2
  829. package/dist/src/services/appdev-overview.js.map +1 -1
  830. package/dist/src/services/attachment-duplication.js +3 -3
  831. package/dist/src/services/attachment-duplication.js.map +1 -1
  832. package/dist/src/services/build-app-prompt.d.ts +19 -0
  833. package/dist/src/services/build-app-prompt.d.ts.map +1 -1
  834. package/dist/src/services/build-app-prompt.js +97 -11
  835. package/dist/src/services/build-app-prompt.js.map +1 -1
  836. package/dist/src/services/build-extension-prompt.d.ts +40 -0
  837. package/dist/src/services/build-extension-prompt.d.ts.map +1 -0
  838. package/dist/src/services/build-extension-prompt.js +253 -0
  839. package/dist/src/services/build-extension-prompt.js.map +1 -0
  840. package/dist/src/services/cache-cleanup.d.ts.map +1 -1
  841. package/dist/src/services/cache-cleanup.js +2 -1
  842. package/dist/src/services/cache-cleanup.js.map +1 -1
  843. package/dist/src/services/call-timing.d.ts +51 -0
  844. package/dist/src/services/call-timing.d.ts.map +1 -0
  845. package/dist/src/services/call-timing.js +92 -0
  846. package/dist/src/services/call-timing.js.map +1 -0
  847. package/dist/src/services/capability-invoke.d.ts +8 -1
  848. package/dist/src/services/capability-invoke.d.ts.map +1 -1
  849. package/dist/src/services/capability-invoke.js +24 -2
  850. package/dist/src/services/capability-invoke.js.map +1 -1
  851. package/dist/src/services/catalogue-sync.d.ts.map +1 -1
  852. package/dist/src/services/catalogue-sync.js +1 -0
  853. package/dist/src/services/catalogue-sync.js.map +1 -1
  854. package/dist/src/services/component-registrar.d.ts.map +1 -1
  855. package/dist/src/services/component-registrar.js +22 -6
  856. package/dist/src/services/component-registrar.js.map +1 -1
  857. package/dist/src/services/config-loader.d.ts.map +1 -1
  858. package/dist/src/services/config-loader.js +6 -1
  859. package/dist/src/services/config-loader.js.map +1 -1
  860. package/dist/src/services/config-schema.d.ts.map +1 -1
  861. package/dist/src/services/config-schema.js +7 -0
  862. package/dist/src/services/config-schema.js.map +1 -1
  863. package/dist/src/services/connect-tunnel.d.ts.map +1 -1
  864. package/dist/src/services/connect-tunnel.js +17 -6
  865. package/dist/src/services/connect-tunnel.js.map +1 -1
  866. package/dist/src/services/consent.d.ts.map +1 -1
  867. package/dist/src/services/consent.js +3 -1
  868. package/dist/src/services/consent.js.map +1 -1
  869. package/dist/src/services/consul-config.d.ts.map +1 -1
  870. package/dist/src/services/consul-config.js +7 -2
  871. package/dist/src/services/consul-config.js.map +1 -1
  872. package/dist/src/services/contacts.js +4 -2
  873. package/dist/src/services/contacts.js.map +1 -1
  874. package/dist/src/services/core-jobs.js +1 -1
  875. package/dist/src/services/core-jobs.js.map +1 -1
  876. package/dist/src/services/db/agent-messages-overview-db-service.d.ts.map +1 -1
  877. package/dist/src/services/db/agent-messages-overview-db-service.js +2 -1
  878. package/dist/src/services/db/agent-messages-overview-db-service.js.map +1 -1
  879. package/dist/src/services/db/agent-quality-overview-db-service.d.ts.map +1 -1
  880. package/dist/src/services/db/agent-quality-overview-db-service.js +2 -1
  881. package/dist/src/services/db/agent-quality-overview-db-service.js.map +1 -1
  882. package/dist/src/services/db/messages-inbox-db-service.d.ts.map +1 -1
  883. package/dist/src/services/db/messages-inbox-db-service.js +3 -2
  884. package/dist/src/services/db/messages-inbox-db-service.js.map +1 -1
  885. package/dist/src/services/db/messaging-db-service.d.ts.map +1 -1
  886. package/dist/src/services/db/messaging-db-service.js +3 -2
  887. package/dist/src/services/db/messaging-db-service.js.map +1 -1
  888. package/dist/src/services/db/wallet-tab-db-service.d.ts +3 -3
  889. package/dist/src/services/doc-images.d.ts.map +1 -1
  890. package/dist/src/services/doc-images.js +7 -4
  891. package/dist/src/services/doc-images.js.map +1 -1
  892. package/dist/src/services/draft-token.d.ts +22 -2
  893. package/dist/src/services/draft-token.d.ts.map +1 -1
  894. package/dist/src/services/draft-token.js +52 -3
  895. package/dist/src/services/draft-token.js.map +1 -1
  896. package/dist/src/services/ecosystem-automation-notify.d.ts.map +1 -1
  897. package/dist/src/services/ecosystem-automation-notify.js +10 -4
  898. package/dist/src/services/ecosystem-automation-notify.js.map +1 -1
  899. package/dist/src/services/ecosystem-automation.d.ts.map +1 -1
  900. package/dist/src/services/ecosystem-automation.js +3 -2
  901. package/dist/src/services/ecosystem-automation.js.map +1 -1
  902. package/dist/src/services/ecosystem-events.js +1 -1
  903. package/dist/src/services/ecosystem-events.js.map +1 -1
  904. package/dist/src/services/entitlement-merge.d.ts +50 -0
  905. package/dist/src/services/entitlement-merge.d.ts.map +1 -0
  906. package/dist/src/services/entitlement-merge.js +116 -0
  907. package/dist/src/services/entitlement-merge.js.map +1 -0
  908. package/dist/src/services/entitlement-money.d.ts.map +1 -1
  909. package/dist/src/services/entitlement-money.js +4 -1
  910. package/dist/src/services/entitlement-money.js.map +1 -1
  911. package/dist/src/services/exchange-market.d.ts +88 -10
  912. package/dist/src/services/exchange-market.d.ts.map +1 -1
  913. package/dist/src/services/exchange-market.js +104 -11
  914. package/dist/src/services/exchange-market.js.map +1 -1
  915. package/dist/src/services/exchange-odps.d.ts +58 -0
  916. package/dist/src/services/exchange-odps.d.ts.map +1 -0
  917. package/dist/src/services/exchange-odps.js +400 -0
  918. package/dist/src/services/exchange-odps.js.map +1 -0
  919. package/dist/src/services/exchange-projection.d.ts +67 -0
  920. package/dist/src/services/exchange-projection.d.ts.map +1 -0
  921. package/dist/src/services/exchange-projection.js +629 -0
  922. package/dist/src/services/exchange-projection.js.map +1 -0
  923. package/dist/src/services/exchange-proposals.d.ts.map +1 -1
  924. package/dist/src/services/exchange-proposals.js +6 -2
  925. package/dist/src/services/exchange-proposals.js.map +1 -1
  926. package/dist/src/services/extension-files.d.ts +64 -0
  927. package/dist/src/services/extension-files.d.ts.map +1 -0
  928. package/dist/src/services/extension-files.js +88 -0
  929. package/dist/src/services/extension-files.js.map +1 -0
  930. package/dist/src/services/extension-purchase.d.ts +36 -0
  931. package/dist/src/services/extension-purchase.d.ts.map +1 -0
  932. package/dist/src/services/extension-purchase.js +110 -0
  933. package/dist/src/services/extension-purchase.js.map +1 -0
  934. package/dist/src/services/extension-runtime.d.ts +56 -1
  935. package/dist/src/services/extension-runtime.d.ts.map +1 -1
  936. package/dist/src/services/extension-runtime.js +73 -4
  937. package/dist/src/services/extension-runtime.js.map +1 -1
  938. package/dist/src/services/extension-secrets.d.ts +8 -0
  939. package/dist/src/services/extension-secrets.d.ts.map +1 -1
  940. package/dist/src/services/extension-secrets.js +14 -0
  941. package/dist/src/services/extension-secrets.js.map +1 -1
  942. package/dist/src/services/federation-availability.d.ts.map +1 -1
  943. package/dist/src/services/federation-availability.js +1 -0
  944. package/dist/src/services/federation-availability.js.map +1 -1
  945. package/dist/src/services/federation-book.js +15 -7
  946. package/dist/src/services/federation-book.js.map +1 -1
  947. package/dist/src/services/federation-helpers.d.ts.map +1 -1
  948. package/dist/src/services/federation-helpers.js +1 -0
  949. package/dist/src/services/federation-helpers.js.map +1 -1
  950. package/dist/src/services/federation.d.ts.map +1 -1
  951. package/dist/src/services/federation.js +8 -6
  952. package/dist/src/services/federation.js.map +1 -1
  953. package/dist/src/services/file-refs.d.ts +105 -0
  954. package/dist/src/services/file-refs.d.ts.map +1 -0
  955. package/dist/src/services/file-refs.js +106 -0
  956. package/dist/src/services/file-refs.js.map +1 -0
  957. package/dist/src/services/gate-expiry.d.ts.map +1 -1
  958. package/dist/src/services/gate-expiry.js +2 -1
  959. package/dist/src/services/gate-expiry.js.map +1 -1
  960. package/dist/src/services/genesis-sync.d.ts.map +1 -1
  961. package/dist/src/services/genesis-sync.js +9 -4
  962. package/dist/src/services/genesis-sync.js.map +1 -1
  963. package/dist/src/services/handbooks/commerce.d.ts +13 -0
  964. package/dist/src/services/handbooks/commerce.d.ts.map +1 -0
  965. package/dist/src/services/handbooks/commerce.js +60 -0
  966. package/dist/src/services/handbooks/commerce.js.map +1 -0
  967. package/dist/src/services/handbooks/index.d.ts +1 -0
  968. package/dist/src/services/handbooks/index.d.ts.map +1 -1
  969. package/dist/src/services/handbooks/index.js +2 -2
  970. package/dist/src/services/handbooks/index.js.map +1 -1
  971. package/dist/src/services/hooks.d.ts.map +1 -1
  972. package/dist/src/services/hooks.js +2 -0
  973. package/dist/src/services/hooks.js.map +1 -1
  974. package/dist/src/services/invitations.d.ts.map +1 -1
  975. package/dist/src/services/invitations.js +2 -0
  976. package/dist/src/services/invitations.js.map +1 -1
  977. package/dist/src/services/living-author.d.ts.map +1 -1
  978. package/dist/src/services/living-author.js +4 -1
  979. package/dist/src/services/living-author.js.map +1 -1
  980. package/dist/src/services/living-pulse.js +18 -6
  981. package/dist/src/services/living-pulse.js.map +1 -1
  982. package/dist/src/services/mailbox-notification.d.ts.map +1 -1
  983. package/dist/src/services/mailbox-notification.js +1 -0
  984. package/dist/src/services/mailbox-notification.js.map +1 -1
  985. package/dist/src/services/match-notification.d.ts.map +1 -1
  986. package/dist/src/services/match-notification.js +2 -1
  987. package/dist/src/services/match-notification.js.map +1 -1
  988. package/dist/src/services/matching.d.ts.map +1 -1
  989. package/dist/src/services/matching.js +5 -2
  990. package/dist/src/services/matching.js.map +1 -1
  991. package/dist/src/services/memory-replication.d.ts.map +1 -1
  992. package/dist/src/services/memory-replication.js +3 -1
  993. package/dist/src/services/memory-replication.js.map +1 -1
  994. package/dist/src/services/message-broadcast.d.ts.map +1 -1
  995. package/dist/src/services/message-broadcast.js +2 -1
  996. package/dist/src/services/message-broadcast.js.map +1 -1
  997. package/dist/src/services/message-delivery.d.ts.map +1 -1
  998. package/dist/src/services/message-delivery.js +9 -4
  999. package/dist/src/services/message-delivery.js.map +1 -1
  1000. package/dist/src/services/metered-access.d.ts +148 -0
  1001. package/dist/src/services/metered-access.d.ts.map +1 -0
  1002. package/dist/src/services/metered-access.js +128 -0
  1003. package/dist/src/services/metered-access.js.map +1 -0
  1004. package/dist/src/services/metered-entitlements.d.ts +147 -5
  1005. package/dist/src/services/metered-entitlements.d.ts.map +1 -1
  1006. package/dist/src/services/metered-entitlements.js +251 -30
  1007. package/dist/src/services/metered-entitlements.js.map +1 -1
  1008. package/dist/src/services/metered-settlement.d.ts +45 -0
  1009. package/dist/src/services/metered-settlement.d.ts.map +1 -0
  1010. package/dist/src/services/metered-settlement.js +117 -0
  1011. package/dist/src/services/metered-settlement.js.map +1 -0
  1012. package/dist/src/services/network-policy.d.ts.map +1 -1
  1013. package/dist/src/services/network-policy.js +6 -2
  1014. package/dist/src/services/network-policy.js.map +1 -1
  1015. package/dist/src/services/notebook-classify.d.ts.map +1 -1
  1016. package/dist/src/services/notebook-classify.js +7 -2
  1017. package/dist/src/services/notebook-classify.js.map +1 -1
  1018. package/dist/src/services/notebook-plan.d.ts.map +1 -1
  1019. package/dist/src/services/notebook-plan.js +4 -1
  1020. package/dist/src/services/notebook-plan.js.map +1 -1
  1021. package/dist/src/services/notify.d.ts.map +1 -1
  1022. package/dist/src/services/notify.js +6 -3
  1023. package/dist/src/services/notify.js.map +1 -1
  1024. package/dist/src/services/openrouter.d.ts.map +1 -1
  1025. package/dist/src/services/openrouter.js +1 -0
  1026. package/dist/src/services/openrouter.js.map +1 -1
  1027. package/dist/src/services/organism-export.d.ts.map +1 -1
  1028. package/dist/src/services/organism-export.js +4 -1
  1029. package/dist/src/services/organism-export.js.map +1 -1
  1030. package/dist/src/services/organism-import.d.ts.map +1 -1
  1031. package/dist/src/services/organism-import.js +5 -1
  1032. package/dist/src/services/organism-import.js.map +1 -1
  1033. package/dist/src/services/owner-memory.d.ts +14 -1
  1034. package/dist/src/services/owner-memory.d.ts.map +1 -1
  1035. package/dist/src/services/owner-memory.js +8 -14
  1036. package/dist/src/services/owner-memory.js.map +1 -1
  1037. package/dist/src/services/perf-trace.js +3 -1
  1038. package/dist/src/services/perf-trace.js.map +1 -1
  1039. package/dist/src/services/personal-tunnel.js +14 -8
  1040. package/dist/src/services/personal-tunnel.js.map +1 -1
  1041. package/dist/src/services/presence.d.ts.map +1 -1
  1042. package/dist/src/services/presence.js +11 -5
  1043. package/dist/src/services/presence.js.map +1 -1
  1044. package/dist/src/services/protected-resource.d.ts +60 -0
  1045. package/dist/src/services/protected-resource.d.ts.map +1 -0
  1046. package/dist/src/services/protected-resource.js +137 -0
  1047. package/dist/src/services/protected-resource.js.map +1 -0
  1048. package/dist/src/services/realtime-manager.d.ts.map +1 -1
  1049. package/dist/src/services/realtime-manager.js +8 -5
  1050. package/dist/src/services/realtime-manager.js.map +1 -1
  1051. package/dist/src/services/safe-zip.d.ts.map +1 -1
  1052. package/dist/src/services/safe-zip.js +4 -1
  1053. package/dist/src/services/safe-zip.js.map +1 -1
  1054. package/dist/src/services/scheduler-extension-job.js +2 -2
  1055. package/dist/src/services/scheduler-extension-job.js.map +1 -1
  1056. package/dist/src/services/scheduler.js +13 -7
  1057. package/dist/src/services/scheduler.js.map +1 -1
  1058. package/dist/src/services/security-incident.d.ts.map +1 -1
  1059. package/dist/src/services/security-incident.js +7 -2
  1060. package/dist/src/services/security-incident.js.map +1 -1
  1061. package/dist/src/services/site-sync.d.ts.map +1 -1
  1062. package/dist/src/services/site-sync.js +1 -0
  1063. package/dist/src/services/site-sync.js.map +1 -1
  1064. package/dist/src/services/site.d.ts +1 -1
  1065. package/dist/src/services/site.d.ts.map +1 -1
  1066. package/dist/src/services/site.js +29 -8
  1067. package/dist/src/services/site.js.map +1 -1
  1068. package/dist/src/services/structure-overview.d.ts.map +1 -1
  1069. package/dist/src/services/structure-overview.js +4 -1
  1070. package/dist/src/services/structure-overview.js.map +1 -1
  1071. package/dist/src/services/structure-snapshot.d.ts.map +1 -1
  1072. package/dist/src/services/structure-snapshot.js +3 -2
  1073. package/dist/src/services/structure-snapshot.js.map +1 -1
  1074. package/dist/src/services/sync-scheduler.js +3 -2
  1075. package/dist/src/services/sync-scheduler.js.map +1 -1
  1076. package/dist/src/services/task-files.d.ts +51 -0
  1077. package/dist/src/services/task-files.d.ts.map +1 -0
  1078. package/dist/src/services/task-files.js +58 -0
  1079. package/dist/src/services/task-files.js.map +1 -0
  1080. package/dist/src/services/tracked-response.js +1 -1
  1081. package/dist/src/services/tracked-response.js.map +1 -1
  1082. package/dist/src/services/trust-broadcast.d.ts.map +1 -1
  1083. package/dist/src/services/trust-broadcast.js +1 -0
  1084. package/dist/src/services/trust-broadcast.js.map +1 -1
  1085. package/dist/src/services/upload-token.d.ts +29 -0
  1086. package/dist/src/services/upload-token.d.ts.map +1 -1
  1087. package/dist/src/services/upload-token.js +37 -0
  1088. package/dist/src/services/upload-token.js.map +1 -1
  1089. package/dist/src/services/upload-zip.d.ts +9 -0
  1090. package/dist/src/services/upload-zip.d.ts.map +1 -1
  1091. package/dist/src/services/upload-zip.js +19 -81
  1092. package/dist/src/services/upload-zip.js.map +1 -1
  1093. package/dist/src/services/web-bot-auth.d.ts.map +1 -1
  1094. package/dist/src/services/web-bot-auth.js +1 -0
  1095. package/dist/src/services/web-bot-auth.js.map +1 -1
  1096. package/dist/src/services/workflow/engine-steps.d.ts.map +1 -1
  1097. package/dist/src/services/workflow/engine-steps.js +12 -6
  1098. package/dist/src/services/workflow/engine-steps.js.map +1 -1
  1099. package/dist/src/services/workspace-export.d.ts.map +1 -1
  1100. package/dist/src/services/workspace-export.js +5 -2
  1101. package/dist/src/services/workspace-export.js.map +1 -1
  1102. package/dist/src/services/workspace-import.d.ts.map +1 -1
  1103. package/dist/src/services/workspace-import.js +2 -1
  1104. package/dist/src/services/workspace-import.js.map +1 -1
  1105. package/dist/src/services/workspace-meta.d.ts +15 -0
  1106. package/dist/src/services/workspace-meta.d.ts.map +1 -1
  1107. package/dist/src/services/workspace-meta.js +17 -0
  1108. package/dist/src/services/workspace-meta.js.map +1 -1
  1109. package/dist/src/services/workspace-provision.d.ts +3 -0
  1110. package/dist/src/services/workspace-provision.d.ts.map +1 -1
  1111. package/dist/src/services/workspace-provision.js +5 -3
  1112. package/dist/src/services/workspace-provision.js.map +1 -1
  1113. package/dist/src/services/workspace-versions.d.ts.map +1 -1
  1114. package/dist/src/services/workspace-versions.js +0 -0
  1115. package/dist/src/services/workspace-versions.js.map +1 -1
  1116. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts +5 -0
  1117. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts.map +1 -1
  1118. package/dist/src/storage/providers/postgres-kysely/helpers.d.ts +11 -0
  1119. package/dist/src/storage/providers/postgres-kysely/helpers.d.ts.map +1 -1
  1120. package/dist/src/storage/providers/postgres-kysely/helpers.js +14 -0
  1121. package/dist/src/storage/providers/postgres-kysely/helpers.js.map +1 -1
  1122. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts +2 -1
  1123. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts.map +1 -1
  1124. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js +16 -0
  1125. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js.map +1 -1
  1126. package/dist/src/storage/providers/postgres-kysely/methods/capabilities.js +3 -3
  1127. package/dist/src/storage/providers/postgres-kysely/methods/capabilities.js.map +1 -1
  1128. package/dist/src/storage/providers/postgres-kysely/methods/ecosystem.js +3 -3
  1129. package/dist/src/storage/providers/postgres-kysely/methods/ecosystem.js.map +1 -1
  1130. package/dist/src/storage/providers/postgres-kysely/methods/federation.d.ts.map +1 -1
  1131. package/dist/src/storage/providers/postgres-kysely/methods/federation.js +12 -10
  1132. package/dist/src/storage/providers/postgres-kysely/methods/federation.js.map +1 -1
  1133. package/dist/src/storage/providers/postgres-kysely/methods/identity.d.ts.map +1 -1
  1134. package/dist/src/storage/providers/postgres-kysely/methods/identity.js +26 -12
  1135. package/dist/src/storage/providers/postgres-kysely/methods/identity.js.map +1 -1
  1136. package/dist/src/storage/providers/postgres-kysely/methods/marketplace.js +5 -5
  1137. package/dist/src/storage/providers/postgres-kysely/methods/marketplace.js.map +1 -1
  1138. package/dist/src/storage/providers/postgres-kysely/methods/memory.d.ts +2 -0
  1139. package/dist/src/storage/providers/postgres-kysely/methods/memory.d.ts.map +1 -1
  1140. package/dist/src/storage/providers/postgres-kysely/methods/memory.js +12 -1
  1141. package/dist/src/storage/providers/postgres-kysely/methods/memory.js.map +1 -1
  1142. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.d.ts +9 -0
  1143. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.d.ts.map +1 -1
  1144. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.js +31 -27
  1145. package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.js.map +1 -1
  1146. package/dist/src/storage/providers/postgres-kysely/methods/organisms.d.ts.map +1 -1
  1147. package/dist/src/storage/providers/postgres-kysely/methods/organisms.js +15 -15
  1148. package/dist/src/storage/providers/postgres-kysely/methods/organisms.js.map +1 -1
  1149. package/dist/src/storage/providers/postgres-kysely/methods/otk.js +3 -3
  1150. package/dist/src/storage/providers/postgres-kysely/methods/otk.js.map +1 -1
  1151. package/dist/src/storage/providers/postgres-kysely/methods/packages.d.ts.map +1 -1
  1152. package/dist/src/storage/providers/postgres-kysely/methods/packages.js +4 -14
  1153. package/dist/src/storage/providers/postgres-kysely/methods/packages.js.map +1 -1
  1154. package/dist/src/storage/providers/postgres-kysely/methods/template-listings.d.ts.map +1 -1
  1155. package/dist/src/storage/providers/postgres-kysely/methods/template-listings.js +11 -10
  1156. package/dist/src/storage/providers/postgres-kysely/methods/template-listings.js.map +1 -1
  1157. package/dist/src/storage/providers/postgres-kysely/methods/wallet.d.ts.map +1 -1
  1158. package/dist/src/storage/providers/postgres-kysely/methods/wallet.js +3 -1
  1159. package/dist/src/storage/providers/postgres-kysely/methods/wallet.js.map +1 -1
  1160. package/dist/src/storage/providers/postgres-kysely/migrate.d.ts.map +1 -1
  1161. package/dist/src/storage/providers/postgres-kysely/migrate.js +3 -0
  1162. package/dist/src/storage/providers/postgres-kysely/migrate.js.map +1 -1
  1163. package/dist/src/storage/providers/postgres-kysely/migrations/0012_unique_live_app_grant.sql +29 -0
  1164. package/dist/src/storage/providers/postgres-kysely/migrations/0013_ghii_password_lockout.sql +12 -0
  1165. package/dist/src/storage/providers/postgres-kysely/migrations/0014_transaction_initiator.sql +6 -0
  1166. package/dist/src/storage/providers/postgres-kysely/migrations/0015_app_grant_spend_cap.sql +5 -0
  1167. package/dist/src/storage/providers/sqlite/methods/apps.d.ts +4 -1
  1168. package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
  1169. package/dist/src/storage/providers/sqlite/methods/apps.js +19 -2
  1170. package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
  1171. package/dist/src/storage/providers/sqlite/methods/community.d.ts.map +1 -1
  1172. package/dist/src/storage/providers/sqlite/methods/community.js +6 -1
  1173. package/dist/src/storage/providers/sqlite/methods/community.js.map +1 -1
  1174. package/dist/src/storage/providers/sqlite/methods/governance.d.ts +1 -0
  1175. package/dist/src/storage/providers/sqlite/methods/governance.d.ts.map +1 -1
  1176. package/dist/src/storage/providers/sqlite/methods/governance.js +4 -1
  1177. package/dist/src/storage/providers/sqlite/methods/governance.js.map +1 -1
  1178. package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts.map +1 -1
  1179. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js +9 -2
  1180. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js.map +1 -1
  1181. package/dist/src/storage/providers/sqlite/methods/owner.d.ts +5 -0
  1182. package/dist/src/storage/providers/sqlite/methods/owner.d.ts.map +1 -1
  1183. package/dist/src/storage/providers/sqlite/methods/owner.js +8 -0
  1184. package/dist/src/storage/providers/sqlite/methods/owner.js.map +1 -1
  1185. package/dist/src/storage/providers/sqlite/methods/work.d.ts.map +1 -1
  1186. package/dist/src/storage/providers/sqlite/methods/work.js +4 -2
  1187. package/dist/src/storage/providers/sqlite/methods/work.js.map +1 -1
  1188. package/dist/src/storage/providers/sqlite/repos/community.d.ts.map +1 -1
  1189. package/dist/src/storage/providers/sqlite/repos/community.js +6 -1
  1190. package/dist/src/storage/providers/sqlite/repos/community.js.map +1 -1
  1191. package/dist/src/storage/providers/sqlite/repos/identity.d.ts +3 -0
  1192. package/dist/src/storage/providers/sqlite/repos/identity.d.ts.map +1 -1
  1193. package/dist/src/storage/providers/sqlite/repos/identity.js +13 -4
  1194. package/dist/src/storage/providers/sqlite/repos/identity.js.map +1 -1
  1195. package/dist/src/storage/providers/sqlite/repos/work.d.ts.map +1 -1
  1196. package/dist/src/storage/providers/sqlite/repos/work.js +4 -2
  1197. package/dist/src/storage/providers/sqlite/repos/work.js.map +1 -1
  1198. package/dist/src/storage/providers/sqlite/schema-tables-1.d.ts.map +1 -1
  1199. package/dist/src/storage/providers/sqlite/schema-tables-1.js +1 -0
  1200. package/dist/src/storage/providers/sqlite/schema-tables-1.js.map +1 -1
  1201. package/dist/src/storage/providers/sqlite/schema-tables-2.d.ts.map +1 -1
  1202. package/dist/src/storage/providers/sqlite/schema-tables-2.js +2 -0
  1203. package/dist/src/storage/providers/sqlite/schema-tables-2.js.map +1 -1
  1204. package/dist/src/storage/providers/sqlite/schema.d.ts +3 -0
  1205. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  1206. package/dist/src/storage/providers/sqlite/schema.js +34 -1
  1207. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  1208. package/dist/src/storage/repositories/app-grant.repository.d.ts +10 -2
  1209. package/dist/src/storage/repositories/app-grant.repository.d.ts.map +1 -1
  1210. package/dist/src/storage/repositories/memory.repository.d.ts +14 -0
  1211. package/dist/src/storage/repositories/memory.repository.d.ts.map +1 -1
  1212. package/dist/src/storage/repositories-impl/memory-repository.d.ts +8 -1
  1213. package/dist/src/storage/repositories-impl/memory-repository.d.ts.map +1 -1
  1214. package/dist/src/storage/repositories-impl/memory-repository.js +15 -4
  1215. package/dist/src/storage/repositories-impl/memory-repository.js.map +1 -1
  1216. package/dist/src/storage/types/agents-messaging.d.ts +19 -0
  1217. package/dist/src/storage/types/agents-messaging.d.ts.map +1 -1
  1218. package/dist/src/storage/types/agents-messaging.js.map +1 -1
  1219. package/dist/src/storage/types/auth.d.ts +9 -0
  1220. package/dist/src/storage/types/auth.d.ts.map +1 -1
  1221. package/dist/src/storage/types/commerce.d.ts +13 -0
  1222. package/dist/src/storage/types/commerce.d.ts.map +1 -1
  1223. package/dist/src/storage/types/organisms-federation.d.ts +29 -0
  1224. package/dist/src/storage/types/organisms-federation.d.ts.map +1 -1
  1225. package/dist/src/utils/app-agent-discovery.d.ts +31 -0
  1226. package/dist/src/utils/app-agent-discovery.d.ts.map +1 -0
  1227. package/dist/src/utils/app-agent-discovery.js +96 -0
  1228. package/dist/src/utils/app-agent-discovery.js.map +1 -0
  1229. package/dist/src/utils/app-badge.d.ts.map +1 -1
  1230. package/dist/src/utils/app-badge.js +7 -3
  1231. package/dist/src/utils/app-badge.js.map +1 -1
  1232. package/dist/src/utils/app-protect.d.ts.map +1 -1
  1233. package/dist/src/utils/app-protect.js +1 -0
  1234. package/dist/src/utils/app-protect.js.map +1 -1
  1235. package/dist/src/utils/env-validator.d.ts.map +1 -1
  1236. package/dist/src/utils/env-validator.js +5 -1
  1237. package/dist/src/utils/env-validator.js.map +1 -1
  1238. package/dist/src/utils/gaii.d.ts +50 -0
  1239. package/dist/src/utils/gaii.d.ts.map +1 -1
  1240. package/dist/src/utils/gaii.js +66 -0
  1241. package/dist/src/utils/gaii.js.map +1 -1
  1242. package/dist/src/utils/url-validator.d.ts.map +1 -1
  1243. package/dist/src/utils/url-validator.js +4 -1
  1244. package/dist/src/utils/url-validator.js.map +1 -1
  1245. package/dist/src/utils/version.d.ts.map +1 -1
  1246. package/dist/src/utils/version.js +1 -0
  1247. package/dist/src/utils/version.js.map +1 -1
  1248. package/dist/static/app-catalog/_template.html +6 -5
  1249. package/dist/static/app-catalog/js/cortex.js +3 -1
  1250. package/dist/static/app-catalog/js/detail.js +411 -36
  1251. package/dist/static/app-catalog/js/i18n-data.js +279 -3
  1252. package/dist/static/app-catalog/js/main.js +28 -37
  1253. package/dist/static/app-catalog/js/monetize.js +204 -16
  1254. package/dist/static/app-catalog/js/odps.js +489 -0
  1255. package/dist/static/app-catalog/js/render.js +3 -0
  1256. package/dist/static/app-catalog/js/workcopy.js +198 -0
  1257. package/dist/static/app-catalog/styles/app-catalog.css +60 -0
  1258. package/dist/static/app-catalog.html +1450 -137
  1259. package/dist/static/sdk-libs/agents/index.js +45 -7
  1260. package/dist/static/sdk-libs/auth/cluster.js +97 -0
  1261. package/dist/static/sdk-libs/auth/index.js +25 -1
  1262. package/dist/static/sdk-libs/auth/locale.js +151 -0
  1263. package/dist/static/sdk-libs/auth/modal.js +11 -2
  1264. package/dist/static/sdk-libs/auth/palette.js +172 -0
  1265. package/dist/static/sdk-libs/auth/pill.js +37 -6
  1266. package/dist/static/sdk-libs/auth/session.js +7 -3
  1267. package/dist/static/sdk-libs/auth/theme.js +61 -20
  1268. package/dist/static/sdk-libs/data/index.js +70 -8
  1269. package/dist/static/sdk-libs/dist/aimeat-agents.js +41 -8
  1270. package/dist/static/sdk-libs/dist/aimeat-auth.js +423 -22
  1271. package/dist/static/sdk-libs/dist/aimeat-data.js +50 -8
  1272. package/dist/static/sdk-libs/dist/aimeat-exchange.js +675 -0
  1273. package/dist/static/sdk-libs/dist/aimeat-game.js +1555 -0
  1274. package/dist/static/sdk-libs/dist/aimeat-live.js +54 -2
  1275. package/dist/static/sdk-libs/dist/aimeat-markdown.js +32 -1
  1276. package/dist/static/sdk-libs/dist/aimeat-webmcp.js +46 -0
  1277. package/dist/static/sdk-libs/exchange/browse.js +81 -0
  1278. package/dist/static/sdk-libs/exchange/client.js +131 -0
  1279. package/dist/static/sdk-libs/exchange/contracts.js +228 -0
  1280. package/dist/static/sdk-libs/exchange/demand.js +106 -0
  1281. package/dist/static/sdk-libs/exchange/earnings.js +39 -0
  1282. package/dist/static/sdk-libs/exchange/format.js +51 -0
  1283. package/dist/static/sdk-libs/exchange/index.js +70 -0
  1284. package/dist/static/sdk-libs/exchange/odps-completeness.js +177 -0
  1285. package/dist/static/sdk-libs/exchange/sell.js +253 -0
  1286. package/dist/static/sdk-libs/game/board.js +331 -0
  1287. package/dist/static/sdk-libs/game/dom.js +223 -0
  1288. package/dist/static/sdk-libs/game/i18n.js +201 -0
  1289. package/dist/static/sdk-libs/game/index.js +72 -0
  1290. package/dist/static/sdk-libs/game/markers.js +150 -0
  1291. package/dist/static/sdk-libs/game/menu.js +260 -0
  1292. package/dist/static/sdk-libs/game/overlay.js +193 -0
  1293. package/dist/static/sdk-libs/game/progress.js +280 -0
  1294. package/dist/static/sdk-libs/game/score.js +134 -0
  1295. package/dist/static/sdk-libs/game/screen.js +120 -0
  1296. package/dist/static/sdk-libs/game/units.js +55 -0
  1297. package/dist/static/sdk-libs/live/index.js +71 -4
  1298. package/dist/static/sdk-libs/markdown/index.js +49 -1
  1299. package/dist/static/sdk-libs/webmcp/index.js +63 -0
  1300. package/package.json +7 -2
@@ -17,6 +17,9 @@
17
17
  * POST /token, GET /v1/app-grants, DELETE /v1/app-grants/:grantId
18
18
  * @usage app.use(appGrantsRouter(config, storage));
19
19
  * @version-history
20
+ * v1.4.0 — 2026-07-28 — `contract:spend` + a per-app ceiling (PATCH /:grantId/spend-cap). Reading your
21
+ * data and buying with your money are separate favours, and the useful answer to the second is an
22
+ * amount rather than a yes. The token now carries the app's own id so the caller can be NAMED.
20
23
  * v1.0.0 — 2026-06-20 — Initial (H-2 app-origin isolation, Phase 3: explicit scoped app grants).
21
24
  * v1.1.0 — 2026-06-20 — Add silent SSO bridge GET /v1/auth/app-grant-silent: when the owner is
22
25
  * logged into the apex, their own app (bound by its per-app subdomain origin) gets a scoped
@@ -38,6 +41,16 @@
38
41
  * originBound; GET /request/:id exposes app_owner + origin_bound so the consent page can
39
42
  * auto-approve the owner's OWN app (silent-bridge policy); the authorization_code token
40
43
  * response carries app + own so the SDK's pill/gear metadata stays correct via this path too.
44
+ * v1.6.0 — 2026-07-25 — One live grant per (owner, app). The authorization_code exchange upserts
45
+ * instead of always creating: it used to stack a new row on every silent auto-approval (own app
46
+ * / already-covered scopes), so grants accumulated — 86 on one account — and since only the
47
+ * newest row kept a live refresh hash, the stale ones showed in the Access tab as active access
48
+ * that nothing could use. Both consent paths now resolve the live grant via a direct
49
+ * getAppGrantByOwnerAndApp lookup, and a partial unique index enforces the invariant in the DB.
50
+ * v1.7.0 — 2026-07-27 — GET /request/:id also returns app_icon + app_description (from the app
51
+ * manifest, already loaded in authorize — no extra query). The consent screen showed a stranger
52
+ * nothing but a name, a raw origin and a wall of scope boxes; the icon/monogram and the app's
53
+ * own one-liner give them something to decide ON. Display-only, never part of the gate.
41
54
  */
42
55
  import { Router } from 'express';
43
56
  import { createHash, randomBytes } from 'node:crypto';
@@ -74,6 +87,16 @@ export const APP_GRANTABLE_SCOPES = {
74
87
  'workflow:read': 'See your automations (workflows) and their runs',
75
88
  'workflow:write': 'Create, save, and run your automations (workflows)',
76
89
  'ai:use': 'Use AI on your behalf with your configured key (spends your AI budget)',
90
+ // Spending is its own permission. Reading your memory and buying on your behalf are not the same
91
+ // favour, and until this existed the narrowest grant there is was enough to draw on any contract
92
+ // its owner held — the app presented the owner's own GHII, so the money layer could not tell them
93
+ // apart. Paired with a per-app ceiling (`spend_cap_units`) so the answer can be an amount rather
94
+ // than a yes.
95
+ 'contract:spend': 'Buy on your behalf using contracts you hold (spends your morsels or money)',
96
+ // The other side of the same coin: an app that manages who may use ITS owner's capability.
97
+ // A membership gate that approves someone and cannot open the door for them is decoration, and
98
+ // the owner is the one paying for what it gives away — so it is asked for, never assumed.
99
+ 'exchange:grant': 'Give and withdraw free access to capabilities you sell (you carry the cost)',
77
100
  'notifications:send': 'Send you notifications (bell + browser push) that open this app',
78
101
  'organism:read': 'Read the published content of workspaces you are a member of (e.g. gated curriculum an app renders for you)',
79
102
  'organism:invite': 'Invite people into organisms you belong to (send email invitations / access keys on your behalf)',
@@ -210,6 +233,7 @@ export function appGrantsRouter(config, storage) {
210
233
  const requestId = `agreq-${randomBytes(18).toString('hex')}`;
211
234
  pendingRequests.set(requestId, {
212
235
  requestId, app, appName: appRecord.manifest?.name || app.slice(slash + 1),
236
+ appIcon: appRecord.manifest?.icon || '', appDescription: appRecord.manifest?.description || '',
213
237
  appOrigin: rd.origin, scopes: requested, redirectUri, state, codeChallenge,
214
238
  codeChallengeMethod: method === 'plain' ? 'plain' : 'S256', responseMode, manage, originBound,
215
239
  expiresAt: Date.now() + REQUEST_TTL_MS,
@@ -228,6 +252,10 @@ export function appGrantsRouter(config, storage) {
228
252
  request_id: pending.requestId,
229
253
  app: pending.app,
230
254
  app_name: pending.appName,
255
+ // Identity + context for the consent screen: a stranger deciding on an app they have never
256
+ // seen needs to know WHAT it is, not only which scopes it asks for. Both are display-only.
257
+ app_icon: pending.appIcon,
258
+ app_description: pending.appDescription,
231
259
  app_origin: pending.appOrigin,
232
260
  response_mode: pending.responseMode,
233
261
  manage: pending.manage, // true → always show the management screen; false → may auto-approve an existing grant
@@ -275,9 +303,51 @@ export function appGrantsRouter(config, storage) {
275
303
  url.searchParams.set('state', pending.state);
276
304
  res.json(success(config.nodeId, { redirect_url: url.toString() }));
277
305
  });
306
+ /**
307
+ * Establish the owner's SINGLE live grant for an app: refresh the existing one, else create it.
308
+ * Both consent paths (silent SSO bridge, authorization_code exchange) go through here so neither
309
+ * can stack duplicates. `existing` is passed in because callers have already looked it up to make
310
+ * their own policy decision — no second query on the hot silent path.
311
+ *
312
+ * Scopes are replaced by what was just approved, never unioned: the consent screen's Advanced
313
+ * subset must be able to take access away, not only add it.
314
+ *
315
+ * The partial unique index on (owner, app) WHERE NOT revoked makes the invariant a DB guarantee,
316
+ * so two simultaneous first-time consents surface as a constraint violation instead of a duplicate
317
+ * row. Rather than failing the exchange, adopt the row that won the race.
318
+ */
319
+ async function upsertGrant(spec, existing) {
320
+ const rawRefresh = randomBytes(32).toString('hex');
321
+ const now = new Date().toISOString();
322
+ const patch = { refreshTokenHash: hashToken(rawRefresh), lastUsedAt: now, scopes: spec.scopes };
323
+ if (existing) {
324
+ await storage.updateAppGrant(existing.grantId, patch);
325
+ return { grantId: existing.grantId, rawRefresh };
326
+ }
327
+ const grantId = `appgrant-${randomBytes(16).toString('hex')}`;
328
+ try {
329
+ await storage.createAppGrant({
330
+ grantId, app: spec.app, appName: spec.appName, appOrigin: spec.appOrigin,
331
+ owner: spec.owner, gaii: spec.gaii, scopes: spec.scopes,
332
+ refreshTokenHash: patch.refreshTokenHash, createdAt: now, lastUsedAt: now, revoked: false,
333
+ });
334
+ return { grantId, rawRefresh };
335
+ }
336
+ catch (err) {
337
+ const raced = await storage.getAppGrantByOwnerAndApp(spec.owner, spec.app);
338
+ if (!raced)
339
+ throw err; // a genuine storage failure, not the unique-index race
340
+ await storage.updateAppGrant(raced.grantId, patch);
341
+ return { grantId: raced.grantId, rawRefresh };
342
+ }
343
+ }
278
344
  /** Mint a scoped access JWT for a grant: sub = owner GHII, role 'app', granted scopes only. */
279
345
  async function issueAccessToken(grant) {
280
- const token = await issueJWT({ sub: grant.gaii, owner: grant.owner, node: config.nodeId, roles: ['app'], scopes: grant.scopes, app_grant: grant.grantId }, config.accessTtlSeconds);
346
+ const token = await issueJWT(
347
+ // `sub` stays the OWNER's GHII: a hosted app reads and writes the owner's namespace, and moving
348
+ // that would move every existing app's data. `app` names the app beside it, so the caller can be
349
+ // identified where the question is who acted rather than whose space it acted in.
350
+ { sub: grant.gaii, owner: grant.owner, node: config.nodeId, roles: ['app'], scopes: grant.scopes, app_grant: grant.grantId, app: grant.app }, config.accessTtlSeconds);
281
351
  return { token, expiresIn: config.accessTtlSeconds };
282
352
  }
283
353
  // ── GET /v1/auth/app-grant-silent ── seamless SSO bridge (no visible login). Mounted under
@@ -358,7 +428,7 @@ export function appGrantsRouter(config, storage) {
358
428
  // Policy: own app → auto-approve requested scopes; otherwise require a prior non-revoked grant
359
429
  // that already covers them (remembered approval). Anything else needs the visible consent.
360
430
  const isOwnApp = owner === grantOwner;
361
- const existing = (await storage.listAppGrantsByOwner(owner)).find(g => !g.revoked && g.app === grantTarget);
431
+ const existing = await storage.getAppGrantByOwnerAndApp(owner, grantTarget);
362
432
  let scopes;
363
433
  if (isOwnApp) {
364
434
  scopes = requested.length ? requested : ['memory:read', 'memory:write', 'storage:read', 'storage:write'];
@@ -373,24 +443,10 @@ export function appGrantsRouter(config, storage) {
373
443
  // visitor lands here and stays logged out (safe placeholder); the apex viewer covers them.
374
444
  return reply({ ok: false, error: 'consent_required', app: grantTarget, app_name: grantName, scope: requested.join(' ') });
375
445
  }
376
- // Mint: reuse this owner's existing grant for the app, else create one.
446
+ // Mint: reuse this owner's live grant for the app, else create one (one live grant per app).
377
447
  const ownerGhii = `${owner}@${config.nodeId}`;
378
- const rawRefresh = randomBytes(32).toString('hex');
379
- const ts = new Date().toISOString();
380
- let grantId;
381
- if (existing) {
382
- grantId = existing.grantId;
383
- await storage.updateAppGrant(grantId, { refreshTokenHash: hashToken(rawRefresh), lastUsedAt: ts, scopes });
384
- }
385
- else {
386
- grantId = `appgrant-${randomBytes(16).toString('hex')}`;
387
- await storage.createAppGrant({
388
- grantId, app: grantTarget, appName: grantName, appOrigin: `https://${host}`,
389
- owner, gaii: ownerGhii, scopes, refreshTokenHash: hashToken(rawRefresh),
390
- createdAt: ts, lastUsedAt: ts, revoked: false,
391
- });
392
- }
393
- const { token, expiresIn } = await issueAccessToken({ gaii: ownerGhii, owner, scopes, grantId });
448
+ const { grantId, rawRefresh } = await upsertGrant({ app: grantTarget, appName: grantName, appOrigin: `https://${host}`, owner, gaii: ownerGhii, scopes }, existing);
449
+ const { token, expiresIn } = await issueAccessToken({ gaii: ownerGhii, owner, scopes, grantId, app: grantTarget });
394
450
  // The owner's display name (if set) so the app's login pill can show a human label instead of the
395
451
  // raw GHII. Non-sensitive (it's the public profile name); falls back to '' → the SDK shows the GHII.
396
452
  const ghiiRec = await storage.getGHII(ownerGhii);
@@ -416,15 +472,15 @@ export function appGrantsRouter(config, storage) {
416
472
  if (!verifier || !verifyPkce(verifier, ac.codeChallenge, ac.codeChallengeMethod)) {
417
473
  return res.status(400).json(error(config.nodeId, 'INVALID_GRANT', 'PKCE verification failed'));
418
474
  }
419
- const grantId = `appgrant-${randomBytes(16).toString('hex')}`;
420
- const rawRefresh = randomBytes(32).toString('hex');
421
- const now = new Date().toISOString();
422
- await storage.createAppGrant({
423
- grantId, app: ac.app, appName: ac.appName, appOrigin: ac.appOrigin,
424
- owner: ac.owner, gaii: ac.gaii, scopes: ac.scopes,
425
- refreshTokenHash: hashToken(rawRefresh), createdAt: now, lastUsedAt: now, revoked: false,
426
- });
427
- const { token, expiresIn } = await issueAccessToken({ gaii: ac.gaii, owner: ac.owner, scopes: ac.scopes, grantId });
475
+ // Upsert, never blind insert. The consent page auto-approves an owner's OWN app and any app
476
+ // whose live grant already covers the requested scopes, both with no visible prompt — so an
477
+ // unconditional create stacked a fresh row on every app load that missed the silent bridge
478
+ // (no apex session yet, a scope upgrade, or a path-form app with no per-app subdomain). One
479
+ // account reached 86 grants that way, and because only the newest row keeps a live refresh
480
+ // hash, the leftovers stayed revoked=false and the Access tab showed dead grants as live
481
+ // access. One live grant per (owner, app) a partial unique index enforces it in the DB too.
482
+ const { grantId, rawRefresh } = await upsertGrant({ app: ac.app, appName: ac.appName, appOrigin: ac.appOrigin, owner: ac.owner, gaii: ac.gaii, scopes: ac.scopes }, await storage.getAppGrantByOwnerAndApp(ac.owner, ac.app));
483
+ const { token, expiresIn } = await issueAccessToken({ gaii: ac.gaii, owner: ac.owner, scopes: ac.scopes, grantId, app: ac.app });
428
484
  // app + own: same metadata the silent bridge returns, so the SDK keeps the login pill's
429
485
  // grant-gear state correct when the session came through the visible consent flow instead.
430
486
  return res.json(success(config.nodeId, {
@@ -444,7 +500,7 @@ export function appGrantsRouter(config, storage) {
444
500
  // Rotate the refresh token (one-time use).
445
501
  const newRaw = randomBytes(32).toString('hex');
446
502
  await storage.updateAppGrant(grant.grantId, { refreshTokenHash: hashToken(newRaw), lastUsedAt: new Date().toISOString() });
447
- const { token, expiresIn } = await issueAccessToken({ gaii: grant.gaii, owner: grant.owner, scopes: grant.scopes, grantId: grant.grantId });
503
+ const { token, expiresIn } = await issueAccessToken({ gaii: grant.gaii, owner: grant.owner, scopes: grant.scopes, grantId: grant.grantId, app: grant.app });
448
504
  return res.json(success(config.nodeId, {
449
505
  access_token: token, token_type: 'Bearer', expires_in: expiresIn,
450
506
  refresh_token: newRaw, scope: grant.scopes.join(' '), grant_id: grant.grantId,
@@ -460,10 +516,49 @@ export function appGrantsRouter(config, storage) {
460
516
  grants: grants.map(g => ({
461
517
  grant_id: g.grantId, app: g.app, app_name: g.appName, app_origin: g.appOrigin,
462
518
  scopes: g.scopes, granted_at: g.createdAt, last_used_at: g.lastUsedAt,
519
+ // Only meaningful for an app that may spend at all; the UI hides the control otherwise.
520
+ can_spend: (g.scopes ?? []).includes('contract:spend'),
521
+ spend_cap_morsels: g.spendCapMorsels ?? null,
522
+ spent_morsels: g.spentMorsels ?? 0,
463
523
  })),
464
524
  total: grants.length,
465
525
  }));
466
526
  });
527
+ /**
528
+ * PATCH /v1/app-grants/:grantId/spend-cap — how much of your money this app may spend.
529
+ *
530
+ * The `contract:spend` scope answers whether an app may buy on your behalf. This answers how much,
531
+ * which is the answer most people actually want: a yes with no number is a blank cheque. Body:
532
+ * `{ cap_morsels: number | null }` — null clears the ceiling, 0 stops it without revoking anything
533
+ * else it was trusted with. `{ reset: true }` puts the counter back to zero (a new month, say).
534
+ */
535
+ router.patch('/v1/app-grants/:grantId/spend-cap', requireAuth(), requireRole('owner'), async (req, res) => {
536
+ const owner = req.auth.owner;
537
+ const grant = await storage.getAppGrant(req.params.grantId);
538
+ if (!grant || grant.owner !== owner) {
539
+ return res.status(404).json(error(config.nodeId, 'NOT_FOUND', 'Grant not found'));
540
+ }
541
+ const b = (req.body ?? {});
542
+ const raw = b.cap_morsels;
543
+ if (raw !== undefined && raw !== null && !(typeof raw === 'number' && Number.isInteger(raw) && raw >= 0)) {
544
+ return res.status(400).json(error(config.nodeId, 'BAD_REQUEST', 'cap_morsels must be a whole number of morsels, or null to remove the ceiling'));
545
+ }
546
+ const updates = {};
547
+ if (raw !== undefined)
548
+ updates.spendCapMorsels = raw === null ? null : raw;
549
+ if (b.reset === true)
550
+ updates.spentMorsels = 0;
551
+ if (!Object.keys(updates).length) {
552
+ return res.status(400).json(error(config.nodeId, 'BAD_REQUEST', 'Nothing to change — pass cap_morsels and/or reset'));
553
+ }
554
+ const updated = await storage.updateAppGrant(grant.grantId, updates);
555
+ return res.json(success(config.nodeId, {
556
+ grant_id: grant.grantId, app: grant.app,
557
+ cap_morsels: updated?.spendCapMorsels ?? null,
558
+ spent_morsels: updated?.spentMorsels ?? 0,
559
+ can_spend: (updated?.scopes ?? []).includes('contract:spend'),
560
+ }));
561
+ });
467
562
  // ── DELETE /v1/app-grants/:grantId ── the owner revokes an app's access.
468
563
  router.delete('/v1/app-grants/:grantId', requireAuth(), requireRole('owner'), async (req, res) => {
469
564
  const owner = req.auth.owner;
@@ -1 +1 @@
1
- {"version":3,"file":"app-grants.js","sourceRoot":"","sources":["../../../src/routes/app-grants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-grants.js","sourceRoot":"","sources":["../../../src/routes/app-grants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"appdev-overview.d.ts","sourceRoot":"","sources":["../../../src/routes/appdev-overview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AASvD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CA6DnF"}
1
+ {"version":3,"file":"appdev-overview.d.ts","sourceRoot":"","sources":["../../../src/routes/appdev-overview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAUvD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CA6DnF"}
@@ -15,6 +15,7 @@ import { success, error } from '../middleware/envelope.js';
15
15
  import { requireAuth, requireScope } from '../auth/middleware.js';
16
16
  import { resolveIdentity } from '../utils/gaii.js';
17
17
  import { buildAppdevOverview } from '../services/appdev-overview.js';
18
+ import { logger } from '../utils/logger.js';
18
19
  import { listTemplateProposals, getTemplateProposal, deleteTemplateProposal, } from '../services/app-template-proposals.js';
19
20
  export function appdevOverviewRouter(config, storage) {
20
21
  const router = Router();
@@ -49,7 +50,7 @@ export function appdevOverviewRouter(config, storage) {
49
50
  }
50
51
  const m = found.manifest;
51
52
  const sourceOwnerGhii = `${m.derivedFrom.owner}@${config.nodeId}`;
52
- const app = await storage.getApp(sourceOwnerGhii, m.derivedFrom.filename).catch(() => null);
53
+ const app = await storage.getApp(sourceOwnerGhii, m.derivedFrom.filename).catch(err => { logger.warn('GET /v1/appdev/templates/:id: continuing after a suppressed failure', { error: String(err) }); return null; });
53
54
  res.json(success(config.nodeId, {
54
55
  template: m,
55
56
  source_app: app ? {
@@ -1 +1 @@
1
- {"version":3,"file":"appdev-overview.js","sourceRoot":"","sources":["../../../src/routes/appdev-overview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appdev-overview.js","sourceRoot":"","sources":["../../../src/routes/appdev-overview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalogue-admin.d.ts","sourceRoot":"","sources":["../../../../src/routes/apps/catalogue-admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAQ7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5B,cAAc,EAAE,cAAc,GAC/B,IAAI,CA8RN"}
1
+ {"version":3,"file":"catalogue-admin.d.ts","sourceRoot":"","sources":["../../../../src/routes/apps/catalogue-admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAQ7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC5B,cAAc,EAAE,cAAc,GAC/B,IAAI,CA8RN"}
@@ -5,6 +5,7 @@ import { randomBytes } from 'node:crypto';
5
5
  import { validateOutboundUrl } from '../../utils/url-validator.js';
6
6
  import { decodeWatermark } from '../../utils/app-protect.js';
7
7
  import { scanCatalogForCopies } from '../../services/app-similarity.js';
8
+ import { logger } from '../../utils/logger.js';
8
9
  export function registerCatalogueAdminRoutes(router, config, storage, peers, canonicalOwner) {
9
10
  // GET /v1/apps — Catalogue listing with search/filter/pagination
10
11
  router.get('/v1/apps', optionalAuth(), async (req, res) => {
@@ -254,7 +255,7 @@ export function registerCatalogueAdminRoutes(router, config, storage, peers, can
254
255
  if (!app || app.ownerName !== owner)
255
256
  break;
256
257
  await storage.deleteApp(app.ownerGaii, filename);
257
- await storage.deleteStorageFile(app.ownerGaii, `apps/screenshots/${filename}`).catch(() => { });
258
+ await storage.deleteStorageFile(app.ownerGaii, `apps/screenshots/${filename}`).catch(err => { logger.warn('DELETE /v1/admin/apps/:owner/:filename: continuing after a suppressed failure', { error: String(err) }); });
258
259
  sweepCount++;
259
260
  if (sweepCount > 10)
260
261
  break; // safety cap, no real owner has >10 buckets
@@ -1 +1 @@
1
- {"version":3,"file":"catalogue-admin.js","sourceRoot":"","sources":["../../../../src/routes/apps/catalogue-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalogue-admin.js","sourceRoot":"","sources":["../../../../src/routes/apps/catalogue-admin.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,4BAA4B,CACxC,MAAc,EACd,MAAoB,EACpB,OAAgB,EAChB,KAA4B,EAC5B,cAA8B;IAE9B,iEAAiE;IACjE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,8BAA8B;QAC9B,IAAI,UAA8B,CAAC;QACnC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAChD,UAAU,GAAG,SAAS,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,GAAG;YACT,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAA8B;YAClD,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAuB;YACpC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAyB;YACxC,IAAI,EAAG,GAAG,CAAC,KAAK,CAAC,IAAyC,IAAI,QAAQ;YACtE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;YAC/D,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,IAAI,CAAC;YACjD,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM;YACxC,UAAU;SACb,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErD,gFAAgF;QAChF,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,uFAAuF;QACvF,oEAAoE;QACpE,MAAM,oBAAoB,GAAG,UAAU;YACnC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAC1D,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC;oBAAE,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,qBAAqB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9F,OAAO;gBACH,KAAK,EAAE,GAAG,CAAC,SAAS;gBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,cAAc,EAAE,GAAG,CAAC,aAAa;gBACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU;gBAC3B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;gBACpB,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;gBACxB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,UAAU,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gBACxG,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc;gBACrC,oBAAoB,EAAE,GAAG,CAAC,kBAAkB,IAAI,IAAI;gBACpD,cAAc,EAAE,aAAa;gBAC7B,SAAS;gBACT,KAAK;gBACL,YAAY,EAAE,YAAY,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACjG,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;gBACrI,UAAU,EAAE,GAAG,CAAC,SAAS;aAC5B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAClF,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,QAAQ;gBAAE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,GAAG;gBAAE,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,IAAI;gBAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,QAAQ;gBAAE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACxD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/B,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YAElC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CACxC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC3B,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,YAAY,EAAE,EAAE,EAAE;oBAClD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;iBACrC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAqD,CAAC;gBAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC,CAAC,CACL,CAAC;YAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;oBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5B,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,8EAA8E;IAC9E,+EAA+E;IAC/E,kEAAkE;IAClE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACpF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnG,gGAAgG;QAChG,gCAAgC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO;gBACH,KAAK,EAAE,GAAG,CAAC,SAAS;gBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,cAAc,EAAE,GAAG,CAAC,aAAa;gBACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU;gBAC3B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;gBACpB,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;gBACxB,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc;gBACrC,kBAAkB,EAAE,GAAG,CAAC,gBAAgB,IAAI,IAAI;gBAChD,kBAAkB,EAAE,GAAG,CAAC,gBAAgB,IAAI,IAAI;gBAChD,oBAAoB,EAAE,GAAG,CAAC,kBAAkB,IAAI,IAAI;gBACpD,SAAS;gBACT,KAAK;gBACL,YAAY,EAAE,YAAY,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACjG,UAAU,EAAE,GAAG,CAAC,SAAS;aAC5B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,yFAAyF;IACzF,yFAAyF;IACzF,0FAA0F;IAC1F,yFAAyF;IACzF,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5F,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACjG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5B,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM;gBAC9D,CAAC,CAAC,sHAAsH;gBACxH,CAAC,CAAC,sDAAsD;SAC/D,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,qFAAqF;IACrF,qFAAqF;IACrF,oFAAoF;IACpF,sFAAsF;IACtF,4DAA4D;IAC5D,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtG,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,sFAAsF,CAAC,CAAC,CAAC;YACpJ,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,uHAAuH,CAAC,CAAC,CAAC;YACnL,OAAO;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,IAAI,EAAE,4BAA4B,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC,OAAO,QAAQ,OAAO,CAAC,QAAQ,GAAG;SAC7H,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,wFAAwF;IACxF,sEAAsE;IACtE,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/G,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAe,CAAC;QAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAkB,CAAC;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE/E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC;YACxF,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvF,0EAA0E;QAC1E,8BAA8B;QAC9B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,QAAQ,0BAA0B,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5G,OAAO;QACX,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;YAChF,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,MAAM;SACT,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,QAAQ,0BAA0B,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5G,OAAO;QACX,CAAC;QAED,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5B,KAAK;YACL,QAAQ;YACR,eAAe,EAAE,IAAI,CAAC,MAAM;YAC5B,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3D,IAAI,EAAE,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,+IAA+I;gBACjJ,CAAC,CAAC,4DAA4D;SACrE,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,wBAAwB;IACxB,MAAM,CAAC,MAAM,CAAC,iCAAiC,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxG,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAe,CAAC;QAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAkB,CAAC;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE/E,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,SAAS,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK;gBAAE,MAAM;YAC3C,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,+EAA+E,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvN,UAAU,EAAE,CAAC;YACb,IAAI,UAAU,GAAG,EAAE;gBAAE,MAAM,CAAC,4CAA4C;QAC5E,CAAC;QACD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,QAAQ,0BAA0B,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5G,OAAO;QACX,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAC3B,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC1D,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,YAAY,YAAY,iBAAiB,QAAQ,eAAe,KAAK,kBAAkB;YAChG,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5B,KAAK;YACL,QAAQ;YACR,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,oEAAoE;SAC7E,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -7,6 +7,9 @@
7
7
  * v1.0.0 — 2026-07-13 — Extracted from src/routes/apps.ts (max-file-lines)
8
8
  * v1.1.0 — 2026-07-16 — Draft save carries the live app's cortex.agents (bundled crew-defs)
9
9
  * into the draft manifest so a draft-publish never drops them (Agent-Bundled Apps).
10
+ * v1.2.0 — 2026-07-25 — POST .../frame-token: a frame grant naming the CALLER'S origin as the
11
+ * one page allowed to embed this app. Owner-only. Constant-size, unlike listing origins in
12
+ * frame-ancestors, which scaled with the owner's app count and 502'd production.
10
13
  */
11
14
  import type { Router } from 'express';
12
15
  import type { AimeatConfig } from '../../config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../../../src/routes/apps/drafts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,4BAA4B,CAAC;AAUvE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEjE,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,GAC/B,IAAI,CAiON"}
1
+ {"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../../../src/routes/apps/drafts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,4BAA4B,CAAC;AAUvE,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAGjE,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,GAC/B,IAAI,CAoSN"}
@@ -2,12 +2,13 @@ import { requireAuth } from '../../auth/middleware.js';
2
2
  import { success, error } from '../../middleware/envelope.js';
3
3
  import { emitChange } from '../../services/event-bus.js';
4
4
  import { recordPublicActivity } from '../../services/public-activity.js';
5
- import { generateDraftToken } from '../../services/draft-token.js';
5
+ import { generateDraftToken, generateFrameToken } from '../../services/draft-token.js';
6
6
  import { resolveIdentity } from '../../utils/gaii.js';
7
7
  import { randomBytes } from 'node:crypto';
8
8
  import { decodeStrictBase64 } from '../../utils/base64.js';
9
9
  import { sanitizeProtection, invalidateProtectionCache } from '../../utils/app-protect.js';
10
10
  import { appOriginUrl } from './helpers.js';
11
+ import { logger } from '../../utils/logger.js';
11
12
  export function registerDraftRoutes(router, config, storage, canonicalOwner) {
12
13
  // ── App drafts (staging): edit + test the NEXT version without touching the
13
14
  // live one. A draft is a single unpublished slot per app; it is owner-only,
@@ -87,6 +88,30 @@ export function registerDraftRoutes(router, config, storage, canonicalOwner) {
87
88
  { description: 'Publish the draft', method: 'POST', url: `/v1/apps/${encodeURIComponent(owner)}/${encodeURIComponent(filename)}/publish-draft` },
88
89
  ]));
89
90
  });
91
+ // GET /v1/apps/:owner/:filename/draft — read your OWN draft back (base64). The write side has
92
+ // always existed (PUT/publish/discard) but there was no way to READ the slot, so a client that
93
+ // reloaded could only re-fetch the LIVE bytes — and would then show the published app while
94
+ // calling it "your working copy", silently overwriting the real draft on the next save. Serving
95
+ // it through the ?preview= URL is not an option for a client: on an app-origin node that path
96
+ // 301s to the isolated origin, which is deliberately cross-origin and CORS-less.
97
+ // Owner-only: canonicalOwner resolves the caller, so a draft is never readable by anyone else.
98
+ router.get('/v1/apps/:owner/:filename/draft', requireAuth(), async (req, res) => {
99
+ const filename = req.params.filename;
100
+ const { ownerGhii } = await canonicalOwner(req);
101
+ const draft = await storage.getAppDraft(ownerGhii, filename);
102
+ if (!draft) {
103
+ res.status(404).json(error(config.nodeId, 'NOT_FOUND', `No draft exists for "${filename}".`));
104
+ return;
105
+ }
106
+ res.json(success(config.nodeId, {
107
+ filename,
108
+ content: Buffer.from(draft.data).toString('base64'),
109
+ mime_type: draft.mimeType,
110
+ size: draft.size,
111
+ updated_at: draft.updatedAt,
112
+ manifest: draft.manifest,
113
+ }));
114
+ });
90
115
  // POST /v1/apps/:owner/:filename/draft/preview-token — mint a short-lived preview
91
116
  // URL for the draft. On a node with the app origin ON, the URL points at the
92
117
  // isolated app origin (a real, session-less origin where getUserMedia works); with
@@ -117,6 +142,44 @@ export function registerDraftRoutes(router, config, storage, canonicalOwner) {
117
142
  note: 'Open this URL in a new top-level tab to test the draft on a real origin (mic/camera prompts work). The link is single-app, owner-only, and expires shortly.',
118
143
  }));
119
144
  });
145
+ // POST /v1/apps/:owner/:filename/frame-token — mint a FRAME GRANT: permission for ONE origin
146
+ // to embed this app. The caller's own Origin is what gets written into the grant; a body
147
+ // field would let a page ask for permission on someone else's behalf. Owner-only, because a
148
+ // grant to frame an app you do not own is a clickjacking primitive.
149
+ //
150
+ // Why a grant at all, rather than listing allowed origins in the app's frame-ancestors: that
151
+ // list grows with how many apps the owner has, and at 76 it overran the reverse proxy's
152
+ // header buffer and 502'd every app subdomain. A grant puts exactly one origin in the header,
153
+ // so its size does not depend on anything the user accumulates.
154
+ router.post('/v1/apps/:owner/:filename/frame-token', requireAuth(), async (req, res) => {
155
+ const filename = req.params.filename;
156
+ const { owner, ownerGhii } = await canonicalOwner(req);
157
+ const app = await storage.getAppByOwnerName(owner, filename);
158
+ if (!app) {
159
+ res.status(404).json(error(config.nodeId, 'NOT_FOUND', `No app "${filename}" you own`));
160
+ return;
161
+ }
162
+ if (!config.appOriginEnabled || !config.appHost) {
163
+ res.status(409).json(error(config.nodeId, 'APP_ORIGIN_DISABLED', 'App origins are not enabled on this node, so there is nothing to frame.'));
164
+ return;
165
+ }
166
+ const requester = String(req.get('origin') ?? '');
167
+ if (!/^https?:\/\/[a-z0-9.-]+(:\d+)?$/i.test(requester)) {
168
+ res.status(400).json(error(config.nodeId, 'INVALID_INPUT', 'A frame grant is issued to the calling page\'s Origin, and this request carried none.'));
169
+ return;
170
+ }
171
+ const ttlSeconds = 43200;
172
+ const token = await generateFrameToken({ sub: ownerGhii, filename, origin: requester }, ttlSeconds);
173
+ const originBase = await appOriginUrl(config, storage, owner, filename);
174
+ const sep = originBase.includes('?') ? '&' : '?';
175
+ res.json(success(config.nodeId, {
176
+ frame_url: `${originBase}${sep}frame=${encodeURIComponent(token)}`,
177
+ app_origin_url: originBase,
178
+ granted_to: requester,
179
+ expires_in_seconds: ttlSeconds,
180
+ note: 'Use frame_url as an iframe src. The grant names this one origin and no other, and it expires.',
181
+ }));
182
+ });
120
183
  // DELETE /v1/apps/:owner/:filename/draft — discard the draft. The live app is
121
184
  // untouched. Idempotent (404 only signals there was nothing to discard).
122
185
  router.delete('/v1/apps/:owner/:filename/draft', requireAuth(), async (req, res) => {
@@ -206,7 +269,7 @@ export function registerDraftRoutes(router, config, storage, canonicalOwner) {
206
269
  summary: `App ${manifest.name || filename} ${isUpdate ? 'updated' : 'published'} (v${newVersion})`,
207
270
  detail: manifest.description || '',
208
271
  link: `${downloadUrl}?mode=inline`,
209
- }).catch(() => { });
272
+ }).catch(err => { logger.warn('POST /v1/apps/:owner/:filename/publish-draft: feed is best-effort', { error: String(err) }); });
210
273
  res.status(201).json(success(config.nodeId, {
211
274
  filename,
212
275
  version_number: newVersion,