aimeat 2.0.0 → 2.2.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 (722) hide show
  1. package/dist/.env.example +9 -4
  2. package/dist/locales/en.json +63 -1
  3. package/dist/locales/fi.json +63 -1
  4. package/dist/public/components/LinkPreview.js +101 -0
  5. package/dist/public/components/NotificationBell.js +18 -1
  6. package/dist/public/cortex-bundled/aimeat-charts.js +158 -10
  7. package/dist/public/cortex-bundled/aimeat-charts.yaml +1 -1
  8. package/dist/public/cortex-bundled/aimeat-dag.js +515 -173
  9. package/dist/public/cortex-bundled/aimeat-dag.yaml +1 -1
  10. package/dist/public/cortex-bundled/aimeat-i18n.js +6 -1
  11. package/dist/public/cortex-bundled/aimeat-i18n.yaml +1 -1
  12. package/dist/public/cortex-bundled/aimeat-surface.js +577 -0
  13. package/dist/public/cortex-bundled/aimeat-surface.yaml +107 -0
  14. package/dist/public/cortex-bundled/aimeat-viewport.js +405 -0
  15. package/dist/public/cortex-bundled/aimeat-viewport.yaml +100 -0
  16. package/dist/public/css/theme.css +57 -7
  17. package/dist/public/css/views/admin.css +8 -1
  18. package/dist/public/css/views/app-grant.css +18 -0
  19. package/dist/public/css/views/inbox.css +47 -1
  20. package/dist/public/css/views/portfolio.css +46 -0
  21. package/dist/public/css/views/profile.css +38 -4
  22. package/dist/public/js/services/apps.js +19 -3
  23. package/dist/public/js/services/messages-ai-prompts.js +38 -0
  24. package/dist/public/js/services/messages.js +26 -4
  25. package/dist/public/js/services/notebook.js +76 -0
  26. package/dist/public/js/services/unfurl.js +43 -0
  27. package/dist/public/lib/VENDORED.md +6 -3
  28. package/dist/public/lib/aimeat-daisyui-bridge.css +39 -2
  29. package/dist/public/lib/aimeat-theme.css +538 -0
  30. package/dist/public/lib/fonts/LICENSE.md +11 -4
  31. package/dist/public/lib/fonts/fraunces-var-latin-ext.woff2 +0 -0
  32. package/dist/public/lib/fonts/fraunces-var-latin.woff2 +0 -0
  33. package/dist/public/lib/fonts/inter-var-latin-ext.woff2 +0 -0
  34. package/dist/public/lib/fonts/inter-var-latin.woff2 +0 -0
  35. package/dist/public/lib/fonts/jetbrains-mono-var-latin-ext.woff2 +0 -0
  36. package/dist/public/lib/fonts/jetbrains-mono-var-latin.woff2 +0 -0
  37. package/dist/public/lib/fonts/space-grotesk-var-latin-ext.woff2 +0 -0
  38. package/dist/public/lib/fonts/space-grotesk-var-latin.woff2 +0 -0
  39. package/dist/public/lib/samples/LICENSE.md +11 -0
  40. package/dist/public/lib/samples/bass/A1.mp3 +0 -0
  41. package/dist/public/lib/samples/bass/B2.mp3 +0 -0
  42. package/dist/public/lib/samples/bass/D2.mp3 +0 -0
  43. package/dist/public/lib/samples/bass/E1.mp3 +0 -0
  44. package/dist/public/lib/samples/bass/E3.mp3 +0 -0
  45. package/dist/public/lib/samples/bass/G2.mp3 +0 -0
  46. package/dist/public/lib/samples/epiano/C2.mp3 +0 -0
  47. package/dist/public/lib/samples/epiano/C3.mp3 +0 -0
  48. package/dist/public/lib/samples/epiano/C4.mp3 +0 -0
  49. package/dist/public/lib/samples/epiano/C5.mp3 +0 -0
  50. package/dist/public/lib/samples/epiano/C6.mp3 +0 -0
  51. package/dist/public/lib/samples/epiano/G2.mp3 +0 -0
  52. package/dist/public/lib/samples/epiano/G3.mp3 +0 -0
  53. package/dist/public/lib/samples/epiano/G4.mp3 +0 -0
  54. package/dist/public/lib/samples/epiano/G5.mp3 +0 -0
  55. package/dist/public/lib/samples/guitar-steel/A2.mp3 +0 -0
  56. package/dist/public/lib/samples/guitar-steel/A4.mp3 +0 -0
  57. package/dist/public/lib/samples/guitar-steel/B3.mp3 +0 -0
  58. package/dist/public/lib/samples/guitar-steel/D3.mp3 +0 -0
  59. package/dist/public/lib/samples/guitar-steel/E2.mp3 +0 -0
  60. package/dist/public/lib/samples/guitar-steel/E4.mp3 +0 -0
  61. package/dist/public/lib/samples/guitar-steel/E5.mp3 +0 -0
  62. package/dist/public/lib/samples/guitar-steel/G3.mp3 +0 -0
  63. package/dist/public/lib/samples/organ/C2.mp3 +0 -0
  64. package/dist/public/lib/samples/organ/C3.mp3 +0 -0
  65. package/dist/public/lib/samples/organ/C4.mp3 +0 -0
  66. package/dist/public/lib/samples/organ/C5.mp3 +0 -0
  67. package/dist/public/lib/samples/organ/C6.mp3 +0 -0
  68. package/dist/public/lib/samples/organ/G2.mp3 +0 -0
  69. package/dist/public/lib/samples/organ/G3.mp3 +0 -0
  70. package/dist/public/lib/samples/organ/G4.mp3 +0 -0
  71. package/dist/public/lib/samples/organ/G5.mp3 +0 -0
  72. package/dist/public/lib/samples/strings/C2.mp3 +0 -0
  73. package/dist/public/lib/samples/strings/C3.mp3 +0 -0
  74. package/dist/public/lib/samples/strings/C4.mp3 +0 -0
  75. package/dist/public/lib/samples/strings/C5.mp3 +0 -0
  76. package/dist/public/lib/samples/strings/C6.mp3 +0 -0
  77. package/dist/public/lib/samples/strings/G2.mp3 +0 -0
  78. package/dist/public/lib/samples/strings/G3.mp3 +0 -0
  79. package/dist/public/lib/samples/strings/G4.mp3 +0 -0
  80. package/dist/public/lib/samples/strings/G5.mp3 +0 -0
  81. package/dist/public/lib/samples/theme-check.html +92 -0
  82. package/dist/public/lib/samples/themes-boot.js +20 -0
  83. package/dist/public/lib/samples/themes.html +154 -0
  84. package/dist/public/lib/samples/themes.js +60 -0
  85. package/dist/public/lib/samples/trumpet/A3.mp3 +0 -0
  86. package/dist/public/lib/samples/trumpet/A4.mp3 +0 -0
  87. package/dist/public/lib/samples/trumpet/A5.mp3 +0 -0
  88. package/dist/public/lib/samples/trumpet/C4.mp3 +0 -0
  89. package/dist/public/lib/samples/trumpet/C5.mp3 +0 -0
  90. package/dist/public/lib/samples/trumpet/E3.mp3 +0 -0
  91. package/dist/public/lib/samples/trumpet/E4.mp3 +0 -0
  92. package/dist/public/lib/samples/trumpet/E5.mp3 +0 -0
  93. package/dist/public/spa.html +2 -0
  94. package/dist/public/views/app-grant.js +24 -4
  95. package/dist/public/views/portfolio.js +61 -6
  96. package/dist/public/views/profile/access-tab/connected-apps.js +81 -5
  97. package/dist/public/views/profile/apps-tab.js +18 -1
  98. package/dist/public/views/profile/extensions-tab.maturity.js +4 -1
  99. package/dist/public/views/profile/inbox-tab/ai-actions.js +86 -0
  100. package/dist/public/views/profile/inbox-tab/components.js +141 -10
  101. package/dist/public/views/profile/inbox-tab/helpers.js +26 -0
  102. package/dist/public/views/profile/inbox-tab/panels.js +18 -3
  103. package/dist/public/views/profile/inbox-tab/use-thread-ux.js +47 -3
  104. package/dist/public/views/profile/inbox-tab.js +46 -49
  105. package/dist/public/views/profile/landing-page.cards.js +7 -0
  106. package/dist/public/views/profile/landing-page.js +12 -1
  107. package/dist/public/views/profile/libraries-tab.js +10 -2
  108. package/dist/public/views/profile/skills-tab.js +1 -1
  109. package/dist/public/views/profile/wallet-tab.js +64 -0
  110. package/dist/public/views/public-workspace-viewer.js +1 -1
  111. package/dist/public/views/start.js +2 -1
  112. package/dist/scripts/build-sdk-libs.d.ts +16 -0
  113. package/dist/scripts/build-sdk-libs.d.ts.map +1 -0
  114. package/dist/scripts/build-sdk-libs.js +112 -0
  115. package/dist/scripts/build-sdk-libs.js.map +1 -0
  116. package/dist/scripts/check-openapi.d.ts +2 -0
  117. package/dist/scripts/check-openapi.d.ts.map +1 -0
  118. package/dist/scripts/check-openapi.js +139 -0
  119. package/dist/scripts/check-openapi.js.map +1 -0
  120. package/dist/scripts/embed-viewport.d.ts +23 -0
  121. package/dist/scripts/embed-viewport.d.ts.map +1 -0
  122. package/dist/scripts/embed-viewport.js +116 -0
  123. package/dist/scripts/embed-viewport.js.map +1 -0
  124. package/dist/src/auth/sse-domain-scopes.d.ts +50 -0
  125. package/dist/src/auth/sse-domain-scopes.d.ts.map +1 -0
  126. package/dist/src/auth/sse-domain-scopes.js +111 -0
  127. package/dist/src/auth/sse-domain-scopes.js.map +1 -0
  128. package/dist/src/cli/connect/auth.d.ts +15 -0
  129. package/dist/src/cli/connect/auth.d.ts.map +1 -1
  130. package/dist/src/cli/connect/auth.js +25 -6
  131. package/dist/src/cli/connect/auth.js.map +1 -1
  132. package/dist/src/cli/connect/keychain.d.ts +9 -0
  133. package/dist/src/cli/connect/keychain.d.ts.map +1 -1
  134. package/dist/src/cli/connect/keychain.js +21 -8
  135. package/dist/src/cli/connect/keychain.js.map +1 -1
  136. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts.map +1 -1
  137. package/dist/src/cli/connect/mcp/tools/agent-tasks.js +4 -1
  138. package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -1
  139. package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
  140. package/dist/src/cli/connect/mcp/tools/core.js +14 -3
  141. package/dist/src/cli/connect/mcp/tools/core.js.map +1 -1
  142. package/dist/src/cli/connect/mcp/tools/exchange.d.ts +18 -0
  143. package/dist/src/cli/connect/mcp/tools/exchange.d.ts.map +1 -0
  144. package/dist/src/cli/connect/mcp/tools/exchange.js +170 -0
  145. package/dist/src/cli/connect/mcp/tools/exchange.js.map +1 -0
  146. package/dist/src/cli/connect/mcp/tools/index.d.ts.map +1 -1
  147. package/dist/src/cli/connect/mcp/tools/index.js +2 -0
  148. package/dist/src/cli/connect/mcp/tools/index.js.map +1 -1
  149. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts +3 -0
  150. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
  151. package/dist/src/cli/connect/mcp/tools/workspaces.js +4 -2
  152. package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
  153. package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
  154. package/dist/src/cli/connect/tool-call-defs-core.js +13 -1
  155. package/dist/src/cli/connect/tool-call-defs-core.js.map +1 -1
  156. package/dist/src/cli/connect/tool-call-defs-exchange.d.ts +3 -0
  157. package/dist/src/cli/connect/tool-call-defs-exchange.d.ts.map +1 -0
  158. package/dist/src/cli/connect/tool-call-defs-exchange.js +146 -0
  159. package/dist/src/cli/connect/tool-call-defs-exchange.js.map +1 -0
  160. package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
  161. package/dist/src/cli/connect/tool-call.js +2 -0
  162. package/dist/src/cli/connect/tool-call.js.map +1 -1
  163. package/dist/src/commerce/__tests__/x402-registry.test.d.ts +2 -0
  164. package/dist/src/commerce/__tests__/x402-registry.test.d.ts.map +1 -0
  165. package/dist/src/commerce/__tests__/x402-registry.test.js +105 -0
  166. package/dist/src/commerce/__tests__/x402-registry.test.js.map +1 -0
  167. package/dist/src/commerce/evm-address.d.ts +21 -0
  168. package/dist/src/commerce/evm-address.d.ts.map +1 -0
  169. package/dist/src/commerce/evm-address.js +94 -0
  170. package/dist/src/commerce/evm-address.js.map +1 -0
  171. package/dist/src/commerce/money.d.ts +18 -5
  172. package/dist/src/commerce/money.d.ts.map +1 -1
  173. package/dist/src/commerce/money.js +27 -6
  174. package/dist/src/commerce/money.js.map +1 -1
  175. package/dist/src/commerce/session-service.d.ts +14 -0
  176. package/dist/src/commerce/session-service.d.ts.map +1 -1
  177. package/dist/src/commerce/session-service.js +1 -1
  178. package/dist/src/commerce/session-service.js.map +1 -1
  179. package/dist/src/commerce/x402-facilitator.d.ts +64 -13
  180. package/dist/src/commerce/x402-facilitator.d.ts.map +1 -1
  181. package/dist/src/commerce/x402-facilitator.js +71 -19
  182. package/dist/src/commerce/x402-facilitator.js.map +1 -1
  183. package/dist/src/commerce/x402-handler.d.ts +13 -7
  184. package/dist/src/commerce/x402-handler.d.ts.map +1 -1
  185. package/dist/src/commerce/x402-handler.js +23 -10
  186. package/dist/src/commerce/x402-handler.js.map +1 -1
  187. package/dist/src/commerce/x402.d.ts +11 -6
  188. package/dist/src/commerce/x402.d.ts.map +1 -1
  189. package/dist/src/commerce/x402.js +10 -7
  190. package/dist/src/commerce/x402.js.map +1 -1
  191. package/dist/src/config-types.d.ts +12 -0
  192. package/dist/src/config-types.d.ts.map +1 -1
  193. package/dist/src/config.d.ts.map +1 -1
  194. package/dist/src/config.js +8 -0
  195. package/dist/src/config.js.map +1 -1
  196. package/dist/src/data/app-templates/shells.d.ts +15 -3
  197. package/dist/src/data/app-templates/shells.d.ts.map +1 -1
  198. package/dist/src/data/app-templates/shells.js +97 -12
  199. package/dist/src/data/app-templates/shells.js.map +1 -1
  200. package/dist/src/data/app-templates.js +2 -2
  201. package/dist/src/data/app-templates.js.map +1 -1
  202. package/dist/src/data/appdev-pitfalls.d.ts +2 -0
  203. package/dist/src/data/appdev-pitfalls.d.ts.map +1 -1
  204. package/dist/src/data/appdev-pitfalls.js +24 -1
  205. package/dist/src/data/appdev-pitfalls.js.map +1 -1
  206. package/dist/src/data/library-packs/cortex.d.ts.map +1 -1
  207. package/dist/src/data/library-packs/cortex.js +108 -5
  208. package/dist/src/data/library-packs/cortex.js.map +1 -1
  209. package/dist/src/data/library-packs/sdk.d.ts.map +1 -1
  210. package/dist/src/data/library-packs/sdk.js +32 -8
  211. package/dist/src/data/library-packs/sdk.js.map +1 -1
  212. package/dist/src/data/library-packs/vendored.d.ts.map +1 -1
  213. package/dist/src/data/library-packs/vendored.js +83 -6
  214. package/dist/src/data/library-packs/vendored.js.map +1 -1
  215. package/dist/src/generated/api-types.d.ts +2039 -24
  216. package/dist/src/generated/api-types.d.ts.map +1 -1
  217. package/dist/src/mcp/agent-tasks.d.ts +4 -0
  218. package/dist/src/mcp/agent-tasks.d.ts.map +1 -1
  219. package/dist/src/mcp/agent-tasks.js +20 -2
  220. package/dist/src/mcp/agent-tasks.js.map +1 -1
  221. package/dist/src/mcp/annotations.d.ts.map +1 -1
  222. package/dist/src/mcp/annotations.js +20 -0
  223. package/dist/src/mcp/annotations.js.map +1 -1
  224. package/dist/src/mcp/apps.d.ts.map +1 -1
  225. package/dist/src/mcp/apps.js +8 -4
  226. package/dist/src/mcp/apps.js.map +1 -1
  227. package/dist/src/mcp/capabilities.d.ts +7 -1
  228. package/dist/src/mcp/capabilities.d.ts.map +1 -1
  229. package/dist/src/mcp/capabilities.js +5 -2
  230. package/dist/src/mcp/capabilities.js.map +1 -1
  231. package/dist/src/mcp/catalog/definitions/commerce.d.ts.map +1 -1
  232. package/dist/src/mcp/catalog/definitions/commerce.js +4 -2
  233. package/dist/src/mcp/catalog/definitions/commerce.js.map +1 -1
  234. package/dist/src/mcp/catalog/definitions/discovery-work-boards.d.ts.map +1 -1
  235. package/dist/src/mcp/catalog/definitions/discovery-work-boards.js +4 -3
  236. package/dist/src/mcp/catalog/definitions/discovery-work-boards.js.map +1 -1
  237. package/dist/src/mcp/catalog/definitions/exchange.d.ts +18 -0
  238. package/dist/src/mcp/catalog/definitions/exchange.d.ts.map +1 -0
  239. package/dist/src/mcp/catalog/definitions/exchange.js +182 -0
  240. package/dist/src/mcp/catalog/definitions/exchange.js.map +1 -0
  241. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js +1 -1
  242. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js.map +1 -1
  243. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.d.ts.map +1 -1
  244. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js +3 -2
  245. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js.map +1 -1
  246. package/dist/src/mcp/catalog/definitions.d.ts.map +1 -1
  247. package/dist/src/mcp/catalog/definitions.js +2 -0
  248. package/dist/src/mcp/catalog/definitions.js.map +1 -1
  249. package/dist/src/mcp/catalog/output-schemas.d.ts +6 -1
  250. package/dist/src/mcp/catalog/output-schemas.d.ts.map +1 -1
  251. package/dist/src/mcp/catalog/output-schemas.js +6 -1
  252. package/dist/src/mcp/catalog/output-schemas.js.map +1 -1
  253. package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
  254. package/dist/src/mcp/catalog/scopes.js +22 -0
  255. package/dist/src/mcp/catalog/scopes.js.map +1 -1
  256. package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
  257. package/dist/src/mcp/catalog/surfaces.js +14 -0
  258. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  259. package/dist/src/mcp/commerce.d.ts.map +1 -1
  260. package/dist/src/mcp/commerce.js +15 -3
  261. package/dist/src/mcp/commerce.js.map +1 -1
  262. package/dist/src/mcp/core-storage.d.ts +23 -0
  263. package/dist/src/mcp/core-storage.d.ts.map +1 -0
  264. package/dist/src/mcp/core-storage.js +157 -0
  265. package/dist/src/mcp/core-storage.js.map +1 -0
  266. package/dist/src/mcp/core.d.ts +16 -0
  267. package/dist/src/mcp/core.d.ts.map +1 -1
  268. package/dist/src/mcp/core.js +75 -119
  269. package/dist/src/mcp/core.js.map +1 -1
  270. package/dist/src/mcp/dm-messages.d.ts +4 -0
  271. package/dist/src/mcp/dm-messages.d.ts.map +1 -1
  272. package/dist/src/mcp/dm-messages.js +43 -2
  273. package/dist/src/mcp/dm-messages.js.map +1 -1
  274. package/dist/src/mcp/exchange-run.d.ts +5 -0
  275. package/dist/src/mcp/exchange-run.d.ts.map +1 -0
  276. package/dist/src/mcp/exchange-run.js +226 -0
  277. package/dist/src/mcp/exchange-run.js.map +1 -0
  278. package/dist/src/mcp/exchange.d.ts +5 -0
  279. package/dist/src/mcp/exchange.d.ts.map +1 -0
  280. package/dist/src/mcp/exchange.js +352 -0
  281. package/dist/src/mcp/exchange.js.map +1 -0
  282. package/dist/src/mcp/extensions.d.ts.map +1 -1
  283. package/dist/src/mcp/extensions.js +17 -2
  284. package/dist/src/mcp/extensions.js.map +1 -1
  285. package/dist/src/mcp/index.d.ts +5 -0
  286. package/dist/src/mcp/index.d.ts.map +1 -1
  287. package/dist/src/mcp/index.js +26 -3
  288. package/dist/src/mcp/index.js.map +1 -1
  289. package/dist/src/mcp/memory-namespace-hints.d.ts +33 -0
  290. package/dist/src/mcp/memory-namespace-hints.d.ts.map +1 -0
  291. package/dist/src/mcp/memory-namespace-hints.js +60 -0
  292. package/dist/src/mcp/memory-namespace-hints.js.map +1 -0
  293. package/dist/src/mcp/workspaces.d.ts +5 -0
  294. package/dist/src/mcp/workspaces.d.ts.map +1 -1
  295. package/dist/src/mcp/workspaces.js +5 -3
  296. package/dist/src/mcp/workspaces.js.map +1 -1
  297. package/dist/src/models/agent-task-schemas.d.ts +25 -3
  298. package/dist/src/models/agent-task-schemas.d.ts.map +1 -1
  299. package/dist/src/models/agent-task-schemas.js +16 -0
  300. package/dist/src/models/agent-task-schemas.js.map +1 -1
  301. package/dist/src/models/app-tool-schemas.d.ts +573 -2
  302. package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
  303. package/dist/src/models/app-tool-schemas.js +73 -2
  304. package/dist/src/models/app-tool-schemas.js.map +1 -1
  305. package/dist/src/models/odps-schemas.d.ts +305 -0
  306. package/dist/src/models/odps-schemas.d.ts.map +1 -0
  307. package/dist/src/models/odps-schemas.js +182 -0
  308. package/dist/src/models/odps-schemas.js.map +1 -0
  309. package/dist/src/models/offer-schemas.d.ts +359 -4
  310. package/dist/src/models/offer-schemas.d.ts.map +1 -1
  311. package/dist/src/models/offer-schemas.js +37 -0
  312. package/dist/src/models/offer-schemas.js.map +1 -1
  313. package/dist/src/models/schemas.d.ts +7 -3
  314. package/dist/src/models/schemas.d.ts.map +1 -1
  315. package/dist/src/models/schemas.js +13 -1
  316. package/dist/src/models/schemas.js.map +1 -1
  317. package/dist/src/models/webhook-schemas.d.ts +8 -8
  318. package/dist/src/routes/agent-tasks/create-read.d.ts +4 -0
  319. package/dist/src/routes/agent-tasks/create-read.d.ts.map +1 -1
  320. package/dist/src/routes/agent-tasks/create-read.js +20 -1
  321. package/dist/src/routes/agent-tasks/create-read.js.map +1 -1
  322. package/dist/src/routes/agent-tasks/lifecycle.d.ts.map +1 -1
  323. package/dist/src/routes/agent-tasks/lifecycle.js +10 -0
  324. package/dist/src/routes/agent-tasks/lifecycle.js.map +1 -1
  325. package/dist/src/routes/agents/device-auth.d.ts +4 -0
  326. package/dist/src/routes/agents/device-auth.d.ts.map +1 -1
  327. package/dist/src/routes/agents/device-auth.js +19 -4
  328. package/dist/src/routes/agents/device-auth.js.map +1 -1
  329. package/dist/src/routes/agents/offers.d.ts +2 -0
  330. package/dist/src/routes/agents/offers.d.ts.map +1 -1
  331. package/dist/src/routes/agents/offers.js +0 -0
  332. package/dist/src/routes/agents/offers.js.map +1 -1
  333. package/dist/src/routes/app-grants.d.ts +12 -0
  334. package/dist/src/routes/app-grants.d.ts.map +1 -1
  335. package/dist/src/routes/app-grants.js +90 -27
  336. package/dist/src/routes/app-grants.js.map +1 -1
  337. package/dist/src/routes/apps/drafts.d.ts +3 -0
  338. package/dist/src/routes/apps/drafts.d.ts.map +1 -1
  339. package/dist/src/routes/apps/drafts.js +63 -1
  340. package/dist/src/routes/apps/drafts.js.map +1 -1
  341. package/dist/src/routes/apps/fork-manage.d.ts.map +1 -1
  342. package/dist/src/routes/apps/fork-manage.js +24 -1
  343. package/dist/src/routes/apps/fork-manage.js.map +1 -1
  344. package/dist/src/routes/apps/publish.d.ts +4 -0
  345. package/dist/src/routes/apps/publish.d.ts.map +1 -1
  346. package/dist/src/routes/apps/publish.js +44 -3
  347. package/dist/src/routes/apps/publish.js.map +1 -1
  348. package/dist/src/routes/apps-cost.d.ts +25 -0
  349. package/dist/src/routes/apps-cost.d.ts.map +1 -0
  350. package/dist/src/routes/apps-cost.js +107 -0
  351. package/dist/src/routes/apps-cost.js.map +1 -0
  352. package/dist/src/routes/commerce.d.ts.map +1 -1
  353. package/dist/src/routes/commerce.js +122 -2
  354. package/dist/src/routes/commerce.js.map +1 -1
  355. package/dist/src/routes/exchange-market.d.ts +32 -0
  356. package/dist/src/routes/exchange-market.d.ts.map +1 -0
  357. package/dist/src/routes/exchange-market.js +580 -0
  358. package/dist/src/routes/exchange-market.js.map +1 -0
  359. package/dist/src/routes/exchange.d.ts +33 -0
  360. package/dist/src/routes/exchange.d.ts.map +1 -0
  361. package/dist/src/routes/exchange.js +398 -0
  362. package/dist/src/routes/exchange.js.map +1 -0
  363. package/dist/src/routes/extensions/actions.d.ts.map +1 -1
  364. package/dist/src/routes/extensions/actions.js +18 -0
  365. package/dist/src/routes/extensions/actions.js.map +1 -1
  366. package/dist/src/routes/extensions/crud.d.ts.map +1 -1
  367. package/dist/src/routes/extensions/crud.js +36 -3
  368. package/dist/src/routes/extensions/crud.js.map +1 -1
  369. package/dist/src/routes/extensions/entitlement-gate.d.ts +33 -0
  370. package/dist/src/routes/extensions/entitlement-gate.d.ts.map +1 -0
  371. package/dist/src/routes/extensions/entitlement-gate.js +156 -0
  372. package/dist/src/routes/extensions/entitlement-gate.js.map +1 -0
  373. package/dist/src/routes/extensions/manifest.d.ts +15 -0
  374. package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
  375. package/dist/src/routes/extensions/manifest.js +101 -2
  376. package/dist/src/routes/extensions/manifest.js.map +1 -1
  377. package/dist/src/routes/extensions/pacing.d.ts +31 -0
  378. package/dist/src/routes/extensions/pacing.d.ts.map +1 -0
  379. package/dist/src/routes/extensions/pacing.js +73 -0
  380. package/dist/src/routes/extensions/pacing.js.map +1 -0
  381. package/dist/src/routes/extensions/paywall.d.ts.map +1 -1
  382. package/dist/src/routes/extensions/paywall.js +20 -11
  383. package/dist/src/routes/extensions/paywall.js.map +1 -1
  384. package/dist/src/routes/federation-sync/messaging.d.ts.map +1 -1
  385. package/dist/src/routes/federation-sync/messaging.js +3 -1
  386. package/dist/src/routes/federation-sync/messaging.js.map +1 -1
  387. package/dist/src/routes/ghii/recovery.d.ts +2 -0
  388. package/dist/src/routes/ghii/recovery.d.ts.map +1 -1
  389. package/dist/src/routes/ghii/recovery.js +7 -0
  390. package/dist/src/routes/ghii/recovery.js.map +1 -1
  391. package/dist/src/routes/ghii/register-login.d.ts +4 -0
  392. package/dist/src/routes/ghii/register-login.d.ts.map +1 -1
  393. package/dist/src/routes/ghii/register-login.js +45 -22
  394. package/dist/src/routes/ghii/register-login.js.map +1 -1
  395. package/dist/src/routes/ghii/web-verify.d.ts +5 -0
  396. package/dist/src/routes/ghii/web-verify.d.ts.map +1 -1
  397. package/dist/src/routes/ghii/web-verify.js +24 -3
  398. package/dist/src/routes/ghii/web-verify.js.map +1 -1
  399. package/dist/src/routes/libs/sdk-serve.d.ts +11 -0
  400. package/dist/src/routes/libs/sdk-serve.d.ts.map +1 -0
  401. package/dist/src/routes/libs/sdk-serve.js +53 -0
  402. package/dist/src/routes/libs/sdk-serve.js.map +1 -0
  403. package/dist/src/routes/libs.d.ts +7 -1
  404. package/dist/src/routes/libs.d.ts.map +1 -1
  405. package/dist/src/routes/libs.js +65 -146
  406. package/dist/src/routes/libs.js.map +1 -1
  407. package/dist/src/routes/memory/crud.d.ts.map +1 -1
  408. package/dist/src/routes/memory/crud.js +10 -0
  409. package/dist/src/routes/memory/crud.js.map +1 -1
  410. package/dist/src/routes/messages.d.ts +3 -0
  411. package/dist/src/routes/messages.d.ts.map +1 -1
  412. package/dist/src/routes/messages.js +9 -0
  413. package/dist/src/routes/messages.js.map +1 -1
  414. package/dist/src/routes/notifications.d.ts +6 -3
  415. package/dist/src/routes/notifications.d.ts.map +1 -1
  416. package/dist/src/routes/notifications.js +32 -3
  417. package/dist/src/routes/notifications.js.map +1 -1
  418. package/dist/src/routes/organisms/crud.d.ts +3 -0
  419. package/dist/src/routes/organisms/crud.d.ts.map +1 -1
  420. package/dist/src/routes/organisms/crud.js +5 -2
  421. package/dist/src/routes/organisms/crud.js.map +1 -1
  422. package/dist/src/routes/organisms/workspace-access.d.ts.map +1 -1
  423. package/dist/src/routes/organisms/workspace-access.js +38 -20
  424. package/dist/src/routes/organisms/workspace-access.js.map +1 -1
  425. package/dist/src/routes/organisms/workspace-read.d.ts.map +1 -1
  426. package/dist/src/routes/organisms/workspace-read.js +7 -2
  427. package/dist/src/routes/organisms/workspace-read.js.map +1 -1
  428. package/dist/src/routes/public-stats.d.ts +7 -0
  429. package/dist/src/routes/public-stats.d.ts.map +1 -1
  430. package/dist/src/routes/public-stats.js +28 -7
  431. package/dist/src/routes/public-stats.js.map +1 -1
  432. package/dist/src/routes/sse.d.ts +7 -0
  433. package/dist/src/routes/sse.d.ts.map +1 -1
  434. package/dist/src/routes/sse.js +36 -6
  435. package/dist/src/routes/sse.js.map +1 -1
  436. package/dist/src/routes/storage-files.d.ts +11 -0
  437. package/dist/src/routes/storage-files.d.ts.map +1 -1
  438. package/dist/src/routes/storage-files.js +58 -51
  439. package/dist/src/routes/storage-files.js.map +1 -1
  440. package/dist/src/routes/subdomains.d.ts +4 -0
  441. package/dist/src/routes/subdomains.d.ts.map +1 -1
  442. package/dist/src/routes/subdomains.js +42 -5
  443. package/dist/src/routes/subdomains.js.map +1 -1
  444. package/dist/src/routes/unfurl.d.ts +27 -0
  445. package/dist/src/routes/unfurl.d.ts.map +1 -0
  446. package/dist/src/routes/unfurl.js +180 -0
  447. package/dist/src/routes/unfurl.js.map +1 -0
  448. package/dist/src/routes/upload.d.ts +13 -0
  449. package/dist/src/routes/upload.d.ts.map +1 -1
  450. package/dist/src/routes/upload.js +115 -28
  451. package/dist/src/routes/upload.js.map +1 -1
  452. package/dist/src/routes/webmcp.d.ts +3 -0
  453. package/dist/src/routes/webmcp.d.ts.map +1 -1
  454. package/dist/src/routes/webmcp.js +59 -0
  455. package/dist/src/routes/webmcp.js.map +1 -1
  456. package/dist/src/schemas/knowledge-package.d.ts +1 -1
  457. package/dist/src/server-bootstrap/routes-loader.d.ts +1 -0
  458. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  459. package/dist/src/server-bootstrap/routes-loader.js +8 -0
  460. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  461. package/dist/src/server-bootstrap/static-files.d.ts +4 -0
  462. package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
  463. package/dist/src/server-bootstrap/static-files.js +11 -0
  464. package/dist/src/server-bootstrap/static-files.js.map +1 -1
  465. package/dist/src/services/agent-face.d.ts +10 -2
  466. package/dist/src/services/agent-face.d.ts.map +1 -1
  467. package/dist/src/services/agent-face.js +10 -4
  468. package/dist/src/services/agent-face.js.map +1 -1
  469. package/dist/src/services/app-tool-interfaces.d.ts +37 -0
  470. package/dist/src/services/app-tool-interfaces.d.ts.map +1 -0
  471. package/dist/src/services/app-tool-interfaces.js +101 -0
  472. package/dist/src/services/app-tool-interfaces.js.map +1 -0
  473. package/dist/src/services/build-app-prompt.d.ts +22 -0
  474. package/dist/src/services/build-app-prompt.d.ts.map +1 -1
  475. package/dist/src/services/build-app-prompt.js +108 -11
  476. package/dist/src/services/build-app-prompt.js.map +1 -1
  477. package/dist/src/services/call-timing.d.ts +51 -0
  478. package/dist/src/services/call-timing.d.ts.map +1 -0
  479. package/dist/src/services/call-timing.js +91 -0
  480. package/dist/src/services/call-timing.js.map +1 -0
  481. package/dist/src/services/capability-invoke.d.ts +2 -0
  482. package/dist/src/services/capability-invoke.d.ts.map +1 -1
  483. package/dist/src/services/capability-invoke.js +10 -0
  484. package/dist/src/services/capability-invoke.js.map +1 -1
  485. package/dist/src/services/config-schema.d.ts.map +1 -1
  486. package/dist/src/services/config-schema.js +6 -0
  487. package/dist/src/services/config-schema.js.map +1 -1
  488. package/dist/src/services/contacts.d.ts +25 -1
  489. package/dist/src/services/contacts.d.ts.map +1 -1
  490. package/dist/src/services/contacts.js +30 -0
  491. package/dist/src/services/contacts.js.map +1 -1
  492. package/dist/src/services/draft-token.d.ts +22 -2
  493. package/dist/src/services/draft-token.d.ts.map +1 -1
  494. package/dist/src/services/draft-token.js +52 -3
  495. package/dist/src/services/draft-token.js.map +1 -1
  496. package/dist/src/services/entitlement-money.d.ts +55 -0
  497. package/dist/src/services/entitlement-money.d.ts.map +1 -0
  498. package/dist/src/services/entitlement-money.js +68 -0
  499. package/dist/src/services/entitlement-money.js.map +1 -0
  500. package/dist/src/services/exchange-market.d.ts +280 -0
  501. package/dist/src/services/exchange-market.d.ts.map +1 -0
  502. package/dist/src/services/exchange-market.js +276 -0
  503. package/dist/src/services/exchange-market.js.map +1 -0
  504. package/dist/src/services/exchange-odps.d.ts +58 -0
  505. package/dist/src/services/exchange-odps.d.ts.map +1 -0
  506. package/dist/src/services/exchange-odps.js +400 -0
  507. package/dist/src/services/exchange-odps.js.map +1 -0
  508. package/dist/src/services/exchange-projection.d.ts +61 -0
  509. package/dist/src/services/exchange-projection.d.ts.map +1 -0
  510. package/dist/src/services/exchange-projection.js +504 -0
  511. package/dist/src/services/exchange-projection.js.map +1 -0
  512. package/dist/src/services/exchange-proposals.d.ts +47 -0
  513. package/dist/src/services/exchange-proposals.d.ts.map +1 -0
  514. package/dist/src/services/exchange-proposals.js +73 -0
  515. package/dist/src/services/exchange-proposals.js.map +1 -0
  516. package/dist/src/services/exchange-work.d.ts +30 -0
  517. package/dist/src/services/exchange-work.d.ts.map +1 -0
  518. package/dist/src/services/exchange-work.js +43 -0
  519. package/dist/src/services/exchange-work.js.map +1 -0
  520. package/dist/src/services/extension-files.d.ts +64 -0
  521. package/dist/src/services/extension-files.d.ts.map +1 -0
  522. package/dist/src/services/extension-files.js +88 -0
  523. package/dist/src/services/extension-files.js.map +1 -0
  524. package/dist/src/services/extension-runtime.d.ts +33 -0
  525. package/dist/src/services/extension-runtime.d.ts.map +1 -1
  526. package/dist/src/services/extension-runtime.js +52 -0
  527. package/dist/src/services/extension-runtime.js.map +1 -1
  528. package/dist/src/services/file-refs.d.ts +105 -0
  529. package/dist/src/services/file-refs.d.ts.map +1 -0
  530. package/dist/src/services/file-refs.js +106 -0
  531. package/dist/src/services/file-refs.js.map +1 -0
  532. package/dist/src/services/message-send.d.ts.map +1 -1
  533. package/dist/src/services/message-send.js +4 -1
  534. package/dist/src/services/message-send.js.map +1 -1
  535. package/dist/src/services/metered-entitlements.d.ts +210 -0
  536. package/dist/src/services/metered-entitlements.d.ts.map +1 -0
  537. package/dist/src/services/metered-entitlements.js +268 -0
  538. package/dist/src/services/metered-entitlements.js.map +1 -0
  539. package/dist/src/services/notify.d.ts +7 -0
  540. package/dist/src/services/notify.d.ts.map +1 -1
  541. package/dist/src/services/notify.js +35 -0
  542. package/dist/src/services/notify.js.map +1 -1
  543. package/dist/src/services/owner-memory.d.ts +30 -1
  544. package/dist/src/services/owner-memory.d.ts.map +1 -1
  545. package/dist/src/services/owner-memory.js +31 -14
  546. package/dist/src/services/owner-memory.js.map +1 -1
  547. package/dist/src/services/owner-provisioning.d.ts +5 -0
  548. package/dist/src/services/owner-provisioning.d.ts.map +1 -1
  549. package/dist/src/services/owner-provisioning.js +20 -2
  550. package/dist/src/services/owner-provisioning.js.map +1 -1
  551. package/dist/src/services/task-files.d.ts +51 -0
  552. package/dist/src/services/task-files.d.ts.map +1 -0
  553. package/dist/src/services/task-files.js +58 -0
  554. package/dist/src/services/task-files.js.map +1 -0
  555. package/dist/src/services/upload-token.d.ts +29 -0
  556. package/dist/src/services/upload-token.d.ts.map +1 -1
  557. package/dist/src/services/upload-token.js +37 -0
  558. package/dist/src/services/upload-token.js.map +1 -1
  559. package/dist/src/services/upload-zip.d.ts +2 -0
  560. package/dist/src/services/upload-zip.d.ts.map +1 -1
  561. package/dist/src/services/upload-zip.js +5 -1
  562. package/dist/src/services/upload-zip.js.map +1 -1
  563. package/dist/src/services/workspace-meta.d.ts +15 -0
  564. package/dist/src/services/workspace-meta.d.ts.map +1 -1
  565. package/dist/src/services/workspace-meta.js +17 -0
  566. package/dist/src/services/workspace-meta.js.map +1 -1
  567. package/dist/src/services/workspace-provision.d.ts +3 -0
  568. package/dist/src/services/workspace-provision.d.ts.map +1 -1
  569. package/dist/src/services/workspace-provision.js +5 -3
  570. package/dist/src/services/workspace-provision.js.map +1 -1
  571. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts +1 -0
  572. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts.map +1 -1
  573. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js +10 -0
  574. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js.map +1 -1
  575. package/dist/src/storage/providers/postgres-kysely/methods/apps.d.ts +1 -0
  576. package/dist/src/storage/providers/postgres-kysely/methods/apps.d.ts.map +1 -1
  577. package/dist/src/storage/providers/postgres-kysely/methods/apps.js +2 -0
  578. package/dist/src/storage/providers/postgres-kysely/methods/apps.js.map +1 -1
  579. package/dist/src/storage/providers/postgres-kysely/methods/identity.d.ts +1 -0
  580. package/dist/src/storage/providers/postgres-kysely/methods/identity.d.ts.map +1 -1
  581. package/dist/src/storage/providers/postgres-kysely/methods/identity.js +4 -0
  582. package/dist/src/storage/providers/postgres-kysely/methods/identity.js.map +1 -1
  583. package/dist/src/storage/providers/postgres-kysely/methods/memory.d.ts +2 -0
  584. package/dist/src/storage/providers/postgres-kysely/methods/memory.d.ts.map +1 -1
  585. package/dist/src/storage/providers/postgres-kysely/methods/memory.js +12 -1
  586. package/dist/src/storage/providers/postgres-kysely/methods/memory.js.map +1 -1
  587. package/dist/src/storage/providers/postgres-kysely/methods/organisms.d.ts.map +1 -1
  588. package/dist/src/storage/providers/postgres-kysely/methods/organisms.js +5 -1
  589. package/dist/src/storage/providers/postgres-kysely/methods/organisms.js.map +1 -1
  590. package/dist/src/storage/providers/postgres-kysely/migrations/0011_unique_verified_email.sql +25 -0
  591. package/dist/src/storage/providers/postgres-kysely/migrations/0012_unique_live_app_grant.sql +29 -0
  592. package/dist/src/storage/providers/sqlite/methods/apps.d.ts +4 -0
  593. package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
  594. package/dist/src/storage/providers/sqlite/methods/apps.js +9 -0
  595. package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
  596. package/dist/src/storage/providers/sqlite/methods/governance.d.ts +1 -0
  597. package/dist/src/storage/providers/sqlite/methods/governance.d.ts.map +1 -1
  598. package/dist/src/storage/providers/sqlite/methods/governance.js +4 -1
  599. package/dist/src/storage/providers/sqlite/methods/governance.js.map +1 -1
  600. package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts +1 -0
  601. package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts.map +1 -1
  602. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js +4 -0
  603. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js.map +1 -1
  604. package/dist/src/storage/providers/sqlite/methods/owner.d.ts +5 -0
  605. package/dist/src/storage/providers/sqlite/methods/owner.d.ts.map +1 -1
  606. package/dist/src/storage/providers/sqlite/methods/owner.js +8 -0
  607. package/dist/src/storage/providers/sqlite/methods/owner.js.map +1 -1
  608. package/dist/src/storage/providers/sqlite/schema.d.ts +3 -0
  609. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  610. package/dist/src/storage/providers/sqlite/schema.js +40 -0
  611. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  612. package/dist/src/storage/repositories/app-grant.repository.d.ts +9 -1
  613. package/dist/src/storage/repositories/app-grant.repository.d.ts.map +1 -1
  614. package/dist/src/storage/repositories/app.repository.d.ts +0 -0
  615. package/dist/src/storage/repositories/app.repository.d.ts.map +1 -1
  616. package/dist/src/storage/repositories/identity.repository.d.ts +6 -0
  617. package/dist/src/storage/repositories/identity.repository.d.ts.map +1 -1
  618. package/dist/src/storage/repositories/memory.repository.d.ts +14 -0
  619. package/dist/src/storage/repositories/memory.repository.d.ts.map +1 -1
  620. package/dist/src/storage/repositories-impl/memory-repository.d.ts +8 -1
  621. package/dist/src/storage/repositories-impl/memory-repository.d.ts.map +1 -1
  622. package/dist/src/storage/repositories-impl/memory-repository.js +15 -4
  623. package/dist/src/storage/repositories-impl/memory-repository.js.map +1 -1
  624. package/dist/src/storage/types/agents-messaging.d.ts +19 -0
  625. package/dist/src/storage/types/agents-messaging.d.ts.map +1 -1
  626. package/dist/src/storage/types/agents-messaging.js.map +1 -1
  627. package/dist/src/storage/types/apps.d.ts +1 -0
  628. package/dist/src/storage/types/apps.d.ts.map +1 -1
  629. package/dist/src/storage/types/organisms-federation.d.ts +50 -0
  630. package/dist/src/storage/types/organisms-federation.d.ts.map +1 -1
  631. package/dist/src/utils/app-badge.d.ts.map +1 -1
  632. package/dist/src/utils/app-badge.js +7 -3
  633. package/dist/src/utils/app-badge.js.map +1 -1
  634. package/dist/src/utils/app-mobile-lint.d.ts +17 -0
  635. package/dist/src/utils/app-mobile-lint.d.ts.map +1 -0
  636. package/dist/src/utils/app-mobile-lint.js +40 -0
  637. package/dist/src/utils/app-mobile-lint.js.map +1 -0
  638. package/dist/static/app-catalog/_template.html +18 -82
  639. package/dist/static/app-catalog/js/apps-io.js +51 -165
  640. package/dist/static/app-catalog/js/cortex.js +3 -1
  641. package/dist/static/app-catalog/js/cost.js +100 -0
  642. package/dist/static/app-catalog/js/db.js +23 -93
  643. package/dist/static/app-catalog/js/detail.js +568 -59
  644. package/dist/static/app-catalog/js/favorites.js +71 -0
  645. package/dist/static/app-catalog/js/i18n-data.js +369 -19
  646. package/dist/static/app-catalog/js/main.js +50 -139
  647. package/dist/static/app-catalog/js/migrate.js +88 -0
  648. package/dist/static/app-catalog/js/monetize.js +205 -17
  649. package/dist/static/app-catalog/js/odps.js +489 -0
  650. package/dist/static/app-catalog/js/promote.js +70 -0
  651. package/dist/static/app-catalog/js/render.js +29 -139
  652. package/dist/static/app-catalog/js/server-io.js +126 -223
  653. package/dist/static/app-catalog/js/settings.js +11 -204
  654. package/dist/static/app-catalog/js/workcopy.js +198 -0
  655. package/dist/static/app-catalog/styles/app-catalog.css +100 -0
  656. package/dist/static/app-catalog.html +2220 -1029
  657. package/dist/static/sdk-libs/_core/config.js +52 -0
  658. package/dist/static/sdk-libs/_core/http.js +52 -0
  659. package/dist/static/sdk-libs/_core/namespace.js +33 -0
  660. package/dist/static/sdk-libs/_core/sdk-globals.d.ts +50 -0
  661. package/dist/static/sdk-libs/_core/session.js +66 -0
  662. package/dist/static/sdk-libs/agentface/index.js +102 -0
  663. package/dist/static/sdk-libs/agents/index.js +305 -0
  664. package/dist/static/sdk-libs/ai/index.js +153 -0
  665. package/dist/static/sdk-libs/audio/core.js +111 -0
  666. package/dist/static/sdk-libs/audio/index.js +380 -0
  667. package/dist/static/sdk-libs/audio/instruments.js +369 -0
  668. package/dist/static/sdk-libs/auth/cluster.js +97 -0
  669. package/dist/static/sdk-libs/auth/config.js +46 -0
  670. package/dist/static/sdk-libs/auth/crypto.js +166 -0
  671. package/dist/static/sdk-libs/auth/events.js +27 -0
  672. package/dist/static/sdk-libs/auth/i18n.js +64 -0
  673. package/dist/static/sdk-libs/auth/index.js +61 -0
  674. package/dist/static/sdk-libs/auth/locale.js +151 -0
  675. package/dist/static/sdk-libs/auth/modal.js +554 -0
  676. package/dist/static/sdk-libs/auth/palette.js +172 -0
  677. package/dist/static/sdk-libs/auth/pill.js +198 -0
  678. package/dist/static/sdk-libs/auth/session.js +792 -0
  679. package/dist/static/sdk-libs/auth/signup.js +232 -0
  680. package/dist/static/sdk-libs/auth/theme.js +137 -0
  681. package/dist/static/sdk-libs/capabilities/index.js +179 -0
  682. package/dist/static/sdk-libs/commerce/index.js +243 -0
  683. package/dist/static/sdk-libs/data/index.js +250 -0
  684. package/dist/static/sdk-libs/dist/aimeat-agentface.js +91 -0
  685. package/dist/static/sdk-libs/dist/aimeat-agents.js +348 -0
  686. package/dist/static/sdk-libs/dist/aimeat-ai.js +168 -0
  687. package/dist/static/sdk-libs/dist/aimeat-audio.js +979 -0
  688. package/dist/static/sdk-libs/dist/aimeat-auth.js +2232 -0
  689. package/dist/static/sdk-libs/dist/aimeat-capabilities.js +177 -0
  690. package/dist/static/sdk-libs/dist/aimeat-commerce.js +265 -0
  691. package/dist/static/sdk-libs/dist/aimeat-data.js +247 -0
  692. package/dist/static/sdk-libs/dist/aimeat-editor.js +299 -0
  693. package/dist/static/sdk-libs/dist/aimeat-header.js +270 -0
  694. package/dist/static/sdk-libs/dist/aimeat-intake.js +94 -0
  695. package/dist/static/sdk-libs/dist/aimeat-live.js +317 -0
  696. package/dist/static/sdk-libs/dist/aimeat-markdown.js +633 -0
  697. package/dist/static/sdk-libs/dist/aimeat-organism.js +394 -0
  698. package/dist/static/sdk-libs/dist/aimeat-portfolio-standalone.js +90 -0
  699. package/dist/static/sdk-libs/dist/aimeat-social.js +157 -0
  700. package/dist/static/sdk-libs/dist/aimeat-speech.js +300 -0
  701. package/dist/static/sdk-libs/dist/aimeat-storage.js +210 -0
  702. package/dist/static/sdk-libs/dist/aimeat-tunnel.js +383 -0
  703. package/dist/static/sdk-libs/dist/aimeat-wallet.js +118 -0
  704. package/dist/static/sdk-libs/dist/aimeat-webmcp.js +187 -0
  705. package/dist/static/sdk-libs/dist/aimeat-work.js +213 -0
  706. package/dist/static/sdk-libs/dist/aimeat-workflows.js +147 -0
  707. package/dist/static/sdk-libs/editor/index.js +229 -0
  708. package/dist/static/sdk-libs/header/index.js +249 -0
  709. package/dist/static/sdk-libs/intake/index.js +75 -0
  710. package/dist/static/sdk-libs/live/index.js +223 -0
  711. package/dist/static/sdk-libs/markdown/index.js +570 -0
  712. package/dist/static/sdk-libs/organism/index.js +381 -0
  713. package/dist/static/sdk-libs/portfolio-standalone/index.js +78 -0
  714. package/dist/static/sdk-libs/social/index.js +140 -0
  715. package/dist/static/sdk-libs/speech/index.js +321 -0
  716. package/dist/static/sdk-libs/storage/index.js +189 -0
  717. package/dist/static/sdk-libs/tunnel/index.js +428 -0
  718. package/dist/static/sdk-libs/wallet/index.js +115 -0
  719. package/dist/static/sdk-libs/webmcp/index.js +185 -0
  720. package/dist/static/sdk-libs/work/index.js +191 -0
  721. package/dist/static/sdk-libs/workflows/index.js +113 -0
  722. package/package.json +10 -3
@@ -447,6 +447,52 @@ export interface paths {
447
447
  patch?: never;
448
448
  trace?: never;
449
449
  };
450
+ "/v1/unfurl": {
451
+ parameters: {
452
+ query?: never;
453
+ header?: never;
454
+ path?: never;
455
+ cookie?: never;
456
+ };
457
+ /**
458
+ * Link preview (unfurl) metadata for a URL
459
+ * @description Fetch a URL server-side (SSRF-safe via safeFetch) and return its OpenGraph/Twitter-card
460
+ * metadata so a pasted link can render as a rich preview card. Generic — usable by any client
461
+ * (message threads, notebook, workspace docs). The page fetch is size-capped and content-type
462
+ * checked; results are cached (~1h). A non-HTML target returns a hostname-only preview.
463
+ */
464
+ get: operations["unfurlLink"];
465
+ put?: never;
466
+ post?: never;
467
+ delete?: never;
468
+ options?: never;
469
+ head?: never;
470
+ patch?: never;
471
+ trace?: never;
472
+ };
473
+ "/v1/unfurl/image": {
474
+ parameters: {
475
+ query?: never;
476
+ header?: never;
477
+ path?: never;
478
+ cookie?: never;
479
+ };
480
+ /**
481
+ * Proxy a link-preview image same-origin
482
+ * @description Fetch a preview image (typically the `image` from GET /v1/unfurl) THROUGH the node and stream
483
+ * it back. Same-origin so the SPA's `img-src 'self' data: blob:` CSP is satisfied, and the
484
+ * viewer's IP never reaches the third-party site. SSRF-safe, content-type checked (image/*), and
485
+ * size-capped.
486
+ */
487
+ get: operations["unfurlImage"];
488
+ put?: never;
489
+ post?: never;
490
+ delete?: never;
491
+ options?: never;
492
+ head?: never;
493
+ patch?: never;
494
+ trace?: never;
495
+ };
450
496
  "/v1/validate": {
451
497
  parameters: {
452
498
  query?: never;
@@ -664,7 +710,10 @@ export interface paths {
664
710
  * **302-redirects** to the trusted apex consent page (`/v1/app-grant?req=...`) where the
665
711
  * owner approves. `code_challenge_method` is `S256` (or `plain` for non-secure-context clients
666
712
  * without crypto.subtle — real app origins are https/S256); `redirect_uri` must be on the
667
- * app origin (never the apex); `scope` must be drawn from the grantable scope set. With
713
+ * app origin (never the apex), and when it lives on a **per-app subdomain** that subdomain
714
+ * must map to exactly the requesting `app` (else `INVALID_REDIRECT_URI`) — a bound request
715
+ * marks the pending request `origin_bound`, unlocking own-app auto-approve on the consent
716
+ * page; `scope` must be drawn from the grantable scope set. With
668
717
  * `response_mode=web_message` the consent page postMessages the code back to the app
669
718
  * popup-opener (so the user stays in the app); the default `query` mode full-redirects.
670
719
  */
@@ -686,7 +735,10 @@ export interface paths {
686
735
  };
687
736
  /**
688
737
  * Read a pending app-grant request (for the consent page)
689
- * @description Returns the requesting app and the exact scopes (with descriptions) for the consent UI to render. Unguessable id; no auth.
738
+ * @description Returns the requesting app and the exact scopes (with descriptions) for the consent UI to
739
+ * render, plus `app_owner` (the app's owner name) and `origin_bound` (the redirect origin is
740
+ * verified to be this very app's subdomain) — together these let the consent page auto-approve
741
+ * the signed-in owner's OWN app, matching the silent-bridge policy. Unguessable id; no auth.
690
742
  */
691
743
  get: operations["appGrantRequest"];
692
744
  put?: never;
@@ -763,8 +815,11 @@ export interface paths {
763
815
  * @description Called by the app from its own origin (CORS `*`). With `grant_type=authorization_code`
764
816
  * (+ PKCE `code_verifier`) the node creates the persistent grant and returns a short-lived
765
817
  * **scoped** access JWT (role `app`, the granted scopes, an `app_grant` claim) + a rotating
766
- * refresh token — never the owner's session. With `grant_type=refresh_token` it rotates the
767
- * refresh token and re-mints the access JWT. A revoked grant yields `401`.
818
+ * refresh token — never the owner's session. The code-exchange response also carries `app`
819
+ * (owner/filename) and `own` (origin-bound request approved by the app's own owner) so the
820
+ * SDK's login-pill metadata matches the silent bridge. With `grant_type=refresh_token` it
821
+ * rotates the refresh token and re-mints the access JWT **with the stored grant's scopes**
822
+ * (a refresh never widens scopes on its own). A revoked grant yields `401`.
768
823
  */
769
824
  post: operations["appGrantToken"];
770
825
  delete?: never;
@@ -1606,6 +1661,26 @@ export interface paths {
1606
1661
  patch?: never;
1607
1662
  trace?: never;
1608
1663
  };
1664
+ "/v1/prompts/appdev-flow": {
1665
+ parameters: {
1666
+ query?: never;
1667
+ header?: never;
1668
+ path?: never;
1669
+ cookie?: never;
1670
+ };
1671
+ /**
1672
+ * Research-first appdev flow prompt (paste-able)
1673
+ * @description The paste-able flow prompt a user gives an MCP-connected coding agent (Claude Code, OpenHands, Cursor) so every AIMEAT app build follows research → frame → propose → build → finish instead of coding cold: load node:aimeat-app-builder, call aimeat_appdev_overview, frame the tier/packs/iam decision, propose, build, then finish with agent face + template proposal + pitfall report. The user can always skip. Public.
1674
+ */
1675
+ get: operations["getAppdevFlowPrompt"];
1676
+ put?: never;
1677
+ post?: never;
1678
+ delete?: never;
1679
+ options?: never;
1680
+ head?: never;
1681
+ patch?: never;
1682
+ trace?: never;
1683
+ };
1609
1684
  "/v1/library-packs": {
1610
1685
  parameters: {
1611
1686
  query?: never;
@@ -1614,7 +1689,7 @@ export interface paths {
1614
1689
  cookie?: never;
1615
1690
  };
1616
1691
  /**
1617
- * Library-pack registry index
1692
+ * Library-pack registry index (community entries may carry self-reported proofs[] + proven_models)
1618
1693
  * @description The data-driven registry of every client-side library an AIMEAT app can include — SDK wrappers (/v1/libs), node-bundled cortex libs (/v1/cortex/<n>/libs) and vendored third-party capability packs (/lib). Compact index (no ai_doc/changelog): id, kind, category, description, rendered include line(s), requires, version, license, apiSurface, demoTemplateId, tierHint, interviewTriggers, sizeEstimate, status, scope, and (node packs) the optional AI-acceleration fields modelTier ("any" | "frontier" | "needs-doc" — the model strength a pack is reliably-and-accelerated on), proofs[] (the per-model AEB proof ledger: {model, verdict, testSet, evidence, tokens?, date}) and apiCaveat (for frontier packs — the one breaking-API idiom a weak model gets wrong from memory). See tools/aeb/acceleration-tiers.md. Two sources merge: scope "node" (the curated registry — every AI-facing library list derives from it: build-app prompt, GET /v1/libs, bootstrap, llms.txt) and scope "community" (active + public user-installed cortex extensions that ship a lib component; always status "preview", no tier/proofs — unvetted by the node). Public (CORS *).
1619
1694
  */
1620
1695
  get: operations["listLibraryPacks"];
@@ -1703,6 +1778,136 @@ export interface paths {
1703
1778
  patch?: never;
1704
1779
  trace?: never;
1705
1780
  };
1781
+ "/v1/appdev/overview": {
1782
+ parameters: {
1783
+ query?: never;
1784
+ header?: never;
1785
+ path?: never;
1786
+ cookie?: never;
1787
+ };
1788
+ /**
1789
+ * AppDev research overview (the big picture before building)
1790
+ * @description One compact research surface for building apps ON AIMEAT: the caller's existing apps, library packs (per-model proof summaries), T1/T2/T3 app-shell templates, loadable skills (node:aimeat-app-builder first), curated + learned pitfalls (model-faceted), and prior template proposals. Indexes only with drill-down pointers; ?sections= for a partial fetch, ?model= for indicative model marking/filtering. Authenticated (owner or agent session).
1791
+ */
1792
+ get: operations["getAppdevOverview"];
1793
+ put?: never;
1794
+ post?: never;
1795
+ delete?: never;
1796
+ options?: never;
1797
+ head?: never;
1798
+ patch?: never;
1799
+ trace?: never;
1800
+ };
1801
+ "/v1/appdev/pitfalls/learned": {
1802
+ parameters: {
1803
+ query?: never;
1804
+ header?: never;
1805
+ path?: never;
1806
+ cookie?: never;
1807
+ };
1808
+ /**
1809
+ * The caller's learned appdev pitfalls (profile UI management surface)
1810
+ * @description Full-body learned pitfall entries in the caller's owner scope (own GHII + every same-owner agent), any visibility; with include_shared=1 also other owners' public-shared entries (source: shared, read-only). Curated registry entries are served separately at GET /v1/appdev/pitfalls.
1811
+ */
1812
+ get: operations["listLearnedAppdevPitfalls"];
1813
+ put?: never;
1814
+ post?: never;
1815
+ delete?: never;
1816
+ options?: never;
1817
+ head?: never;
1818
+ patch?: never;
1819
+ trace?: never;
1820
+ };
1821
+ "/v1/appdev/pitfalls/learned/{category}/{slug}": {
1822
+ parameters: {
1823
+ query?: never;
1824
+ header?: never;
1825
+ path?: never;
1826
+ cookie?: never;
1827
+ };
1828
+ get?: never;
1829
+ put?: never;
1830
+ post?: never;
1831
+ /** Delete an own learned pitfall (entry + manifest ref) */
1832
+ delete: operations["deleteLearnedAppdevPitfall"];
1833
+ options?: never;
1834
+ head?: never;
1835
+ /** Toggle share (platform-wide visibility) and/or status on an own learned pitfall */
1836
+ patch: operations["updateLearnedAppdevPitfall"];
1837
+ trace?: never;
1838
+ };
1839
+ "/v1/appdev/templates": {
1840
+ parameters: {
1841
+ query?: never;
1842
+ header?: never;
1843
+ path?: never;
1844
+ cookie?: never;
1845
+ };
1846
+ /** The caller's agent-proposed app templates (full manifests) */
1847
+ get: operations["listAppdevTemplateProposals"];
1848
+ put?: never;
1849
+ post?: never;
1850
+ delete?: never;
1851
+ options?: never;
1852
+ head?: never;
1853
+ patch?: never;
1854
+ trace?: never;
1855
+ };
1856
+ "/v1/appdev/templates/{id}": {
1857
+ parameters: {
1858
+ query?: never;
1859
+ header?: never;
1860
+ path?: never;
1861
+ cookie?: never;
1862
+ };
1863
+ /** One template proposal + the source app's live state */
1864
+ get: operations["getAppdevTemplateProposal"];
1865
+ put?: never;
1866
+ post?: never;
1867
+ /** Delete a template proposal */
1868
+ delete: operations["deleteAppdevTemplateProposal"];
1869
+ options?: never;
1870
+ head?: never;
1871
+ patch?: never;
1872
+ trace?: never;
1873
+ };
1874
+ "/v1/appdev/pitfalls": {
1875
+ parameters: {
1876
+ query?: never;
1877
+ header?: never;
1878
+ path?: never;
1879
+ cookie?: never;
1880
+ };
1881
+ /**
1882
+ * Curated appdev-pitfall registry index
1883
+ * @description Platform-level "what bites app builders" knowledge for AI agents building apps ON AIMEAT (apps, extensions, cortexes — never node development). Paginated index with total and facet counts (per applies-to scope and severity), sorted critical → warn → info. Public (CORS *).
1884
+ */
1885
+ get: operations["listAppdevPitfalls"];
1886
+ put?: never;
1887
+ post?: never;
1888
+ delete?: never;
1889
+ options?: never;
1890
+ head?: never;
1891
+ patch?: never;
1892
+ trace?: never;
1893
+ };
1894
+ "/v1/appdev/pitfalls/{id}": {
1895
+ parameters: {
1896
+ query?: never;
1897
+ header?: never;
1898
+ path?: never;
1899
+ cookie?: never;
1900
+ };
1901
+ /** One curated appdev pitfall (full entry) */
1902
+ get: operations["getAppdevPitfall"];
1903
+ put?: never;
1904
+ post?: never;
1905
+ delete?: never;
1906
+ options?: never;
1907
+ head?: never;
1908
+ patch?: never;
1909
+ trace?: never;
1910
+ };
1706
1911
  "/v1/memory": {
1707
1912
  parameters: {
1708
1913
  query?: never;
@@ -2026,6 +2231,465 @@ export interface paths {
2026
2231
  patch?: never;
2027
2232
  trace?: never;
2028
2233
  };
2234
+ "/v1/apps/cost": {
2235
+ parameters: {
2236
+ query?: never;
2237
+ header?: never;
2238
+ path?: never;
2239
+ cookie?: never;
2240
+ };
2241
+ /**
2242
+ * Per-app EXCHANGE cost & contracts surface (EXCHANGE G3 / TARGET-045)
2243
+ * @description Owner-scoped read that composes an app's priced EXCHANGE dependencies so the app-catalog can show, per app: its active contracts (metered entitlements), live consumption (spend + calls against each budget), an estimated per-call / remaining-budget cost, and the platform rake. Attribution is by the entitlement's `appId`; the caller only ever sees entitlements whose consumer is their own owner (strictly cross-owner). Generic — any app with priced dependencies uses it. LLM-usage attribution is out of scope for slice-1 (the usage ledger has no appId dimension yet); this composes the entitlement spend, which IS the per-app metered consumption record. Response `data`: `{ app_id, owner_ghii, active_contracts, total_contracts, totals: { morsels: { spent_units, calls, contracts }, money: {...} }, contracts: [{ entitlement_id, capability, provider, contract_ref, state, unit, currency, price_per_call, rake_percent, rake_per_call, escrow_party, budget: { cap_units, spent_units, remaining_units, calls }, estimated_calls_remaining }] }`.
2244
+ */
2245
+ get: operations["appCost"];
2246
+ put?: never;
2247
+ post?: never;
2248
+ delete?: never;
2249
+ options?: never;
2250
+ head?: never;
2251
+ patch?: never;
2252
+ trace?: never;
2253
+ };
2254
+ "/v1/exchange/entitlements": {
2255
+ parameters: {
2256
+ query?: never;
2257
+ header?: never;
2258
+ path?: never;
2259
+ cookie?: never;
2260
+ };
2261
+ /**
2262
+ * List the caller-owner's EXCHANGE entitlements (EXCHANGE / TARGET-045)
2263
+ * @description Every metered entitlement the caller's owner holds as consumer, with live spend + budget. Response `data`: `{ entitlements: [{ entitlement_id, provider, ext, action, unit, price_per_call, rake_percent, contract_ref, state, budget: { cap_units, spent_units, remaining_units, calls } }] }`.
2264
+ */
2265
+ get: operations["exchangeListEntitlements"];
2266
+ put?: never;
2267
+ /**
2268
+ * Accept an EXCHANGE contract → mint a metered entitlement (EXCHANGE / TARGET-045)
2269
+ * @description The WRITE side of the metered entitlement. The caller's owner accepts a negotiated contract to call a provider's extension action at a metered price. The per-call PRICE is read authoritatively from the provider (the ext action, or the app-tool's listing) — the request supplies only the BUDGET cap and the contract ref, so a consumer can neither undercut the provider nor be charged an unaccepted price. The entitlement's consumer is always the caller's own owner (strictly cross-owner). PREFERRED: pass `offering_id` (works for both ext-action and app-tool offerings; an app-tool contract is pinned to the offering's interface version). LEGACY: pass `ext` + `action` + `contract_ref` for a raw ext-action. Body: `{ offering_id?, ext?, action?, contract_ref?, cap_units?, plan_id?, app_id?, escrow_party? }`. Response `data`: `{ entitlement: {...} }`.
2270
+ */
2271
+ post: operations["exchangeAcceptContract"];
2272
+ delete?: never;
2273
+ options?: never;
2274
+ head?: never;
2275
+ patch?: never;
2276
+ trace?: never;
2277
+ };
2278
+ "/v1/exchange/entitlements/off": {
2279
+ parameters: {
2280
+ query?: never;
2281
+ header?: never;
2282
+ path?: never;
2283
+ cookie?: never;
2284
+ };
2285
+ get?: never;
2286
+ put?: never;
2287
+ /**
2288
+ * Pause or revoke one of your EXCHANGE entitlements (EXCHANGE / TARGET-045)
2289
+ * @description The consumer's off-switch. `mode: pause` is reversible (re-accept to resume); `mode: revoke` is terminal. Only the entitlement's own consumer may. Body: `{ ext, action, mode }`.
2290
+ */
2291
+ post: operations["exchangeEntitlementOff"];
2292
+ delete?: never;
2293
+ options?: never;
2294
+ head?: never;
2295
+ patch?: never;
2296
+ trace?: never;
2297
+ };
2298
+ "/v1/exchange/proposals": {
2299
+ parameters: {
2300
+ query?: never;
2301
+ header?: never;
2302
+ path?: never;
2303
+ cookie?: never;
2304
+ };
2305
+ /**
2306
+ * List contract-change proposals you are party to (EXCHANGE / TARGET-045)
2307
+ * @description Every renegotiation proposal the caller is party to (incoming + outgoing), newest first. Returns `{ proposals, count }`.
2308
+ */
2309
+ get: operations["exchangeListProposals"];
2310
+ put?: never;
2311
+ /**
2312
+ * Propose new terms for a live contract — renegotiation (EXCHANGE / TARGET-045)
2313
+ * @description Either party renegotiates instead of blindly revoking + re-accepting. A consumer renegotiates their own contract; a PROVIDER renegotiates a specific consumer's contract (pass `consumer_gaii`). Propose a new per-call price and/or a new budget cap + a note. A message is delivered to the counterparty (Profile > Messages); nothing changes until they accept. Mutual consent is the authority. Body: `{ ext, action, consumer_gaii?, new_price_per_call?, new_cap_units?, note? }`. Returns `{ proposal }`.
2314
+ */
2315
+ post: operations["exchangeProposeChange"];
2316
+ delete?: never;
2317
+ options?: never;
2318
+ head?: never;
2319
+ patch?: never;
2320
+ trace?: never;
2321
+ };
2322
+ "/v1/exchange/proposals/{id}/accept": {
2323
+ parameters: {
2324
+ query?: never;
2325
+ header?: never;
2326
+ path?: never;
2327
+ cookie?: never;
2328
+ };
2329
+ get?: never;
2330
+ put?: never;
2331
+ /**
2332
+ * Accept a proposed contract change — supersede (EXCHANGE / TARGET-045)
2333
+ * @description The COUNTERPARTY accepts: the old contract is archived to history (with its final spend + period) and a fresh one takes effect at the agreed terms. Returns `{ proposal, entitlement }`.
2334
+ */
2335
+ post: operations["exchangeAcceptProposal"];
2336
+ delete?: never;
2337
+ options?: never;
2338
+ head?: never;
2339
+ patch?: never;
2340
+ trace?: never;
2341
+ };
2342
+ "/v1/exchange/proposals/{id}/decline": {
2343
+ parameters: {
2344
+ query?: never;
2345
+ header?: never;
2346
+ path?: never;
2347
+ cookie?: never;
2348
+ };
2349
+ get?: never;
2350
+ put?: never;
2351
+ /**
2352
+ * Decline a proposed contract change (EXCHANGE / TARGET-045)
2353
+ * @description The counterparty declines; the contract is unchanged. Returns `{ proposal }`.
2354
+ */
2355
+ post: operations["exchangeDeclineProposal"];
2356
+ delete?: never;
2357
+ options?: never;
2358
+ head?: never;
2359
+ patch?: never;
2360
+ trace?: never;
2361
+ };
2362
+ "/v1/exchange/proposals/{id}/withdraw": {
2363
+ parameters: {
2364
+ query?: never;
2365
+ header?: never;
2366
+ path?: never;
2367
+ cookie?: never;
2368
+ };
2369
+ get?: never;
2370
+ put?: never;
2371
+ /**
2372
+ * Withdraw your own pending contract-change proposal (EXCHANGE / TARGET-045)
2373
+ * @description The PROPOSER withdraws a pending proposal. Returns `{ proposal }`.
2374
+ */
2375
+ post: operations["exchangeWithdrawProposal"];
2376
+ delete?: never;
2377
+ options?: never;
2378
+ head?: never;
2379
+ patch?: never;
2380
+ trace?: never;
2381
+ };
2382
+ "/v1/exchange/entitlements/history": {
2383
+ parameters: {
2384
+ query?: never;
2385
+ header?: never;
2386
+ path?: never;
2387
+ cookie?: never;
2388
+ };
2389
+ /**
2390
+ * Your PAST (archived / superseded) contracts as consumer (EXCHANGE / TARGET-045)
2391
+ * @description Contracts that were superseded by a renegotiation, with the old terms + final spend + archived_at. Returns `{ history, count }`.
2392
+ */
2393
+ get: operations["exchangeEntitlementHistory"];
2394
+ put?: never;
2395
+ post?: never;
2396
+ delete?: never;
2397
+ options?: never;
2398
+ head?: never;
2399
+ patch?: never;
2400
+ trace?: never;
2401
+ };
2402
+ "/v1/exchange/provider/history": {
2403
+ parameters: {
2404
+ query?: never;
2405
+ header?: never;
2406
+ path?: never;
2407
+ cookie?: never;
2408
+ };
2409
+ /**
2410
+ * Your PAST (archived / superseded) contracts as provider (EXCHANGE / TARGET-045)
2411
+ * @description Superseded contracts you sold, with the old terms + final spend. Returns `{ history, count }`.
2412
+ */
2413
+ get: operations["exchangeProviderHistory"];
2414
+ put?: never;
2415
+ post?: never;
2416
+ delete?: never;
2417
+ options?: never;
2418
+ head?: never;
2419
+ patch?: never;
2420
+ trace?: never;
2421
+ };
2422
+ "/v1/exchange/work": {
2423
+ parameters: {
2424
+ query?: never;
2425
+ header?: never;
2426
+ path?: never;
2427
+ cookie?: never;
2428
+ };
2429
+ /**
2430
+ * List your AGENT-WORK items (EXCHANGE / TARGET-045 Gap 2)
2431
+ * @description `?role=consumer` (default) or `?role=provider`. Returns `{ work, count, role }`.
2432
+ */
2433
+ get: operations["exchangeListWork"];
2434
+ put?: never;
2435
+ /**
2436
+ * Start an AGENT-WORK task under a contract — async, settled on delivery (EXCHANGE / TARGET-045 Gap 2)
2437
+ * @description The CONSUMER starts a task against an agent-work offering they hold an active contract for. Body: `{ offering_id, input, note? }`. Nothing is charged yet — the per-task price is metered when the provider DELIVERS. Requires a contract first (else 402 NO_CONTRACT). Returns `{ work }`.
2438
+ */
2439
+ post: operations["exchangeStartWork"];
2440
+ delete?: never;
2441
+ options?: never;
2442
+ head?: never;
2443
+ patch?: never;
2444
+ trace?: never;
2445
+ };
2446
+ "/v1/exchange/work/{id}/deliver": {
2447
+ parameters: {
2448
+ query?: never;
2449
+ header?: never;
2450
+ path?: never;
2451
+ cookie?: never;
2452
+ };
2453
+ get?: never;
2454
+ put?: never;
2455
+ /**
2456
+ * Deliver an agent-work task → settle on delivery (EXCHANGE / TARGET-045 Gap 2)
2457
+ * @description The PROVIDER delivers a task and is paid: the consumer is charged the per-task price, the provider is credited its cut, the platform rake is routed, the budget decremented — all ON DELIVERY. Body: `{ output, note? }`. A 402/429 (budget/rate) leaves the work open + unpaid. Returns `{ work }`.
2458
+ */
2459
+ post: operations["exchangeDeliverWork"];
2460
+ delete?: never;
2461
+ options?: never;
2462
+ head?: never;
2463
+ patch?: never;
2464
+ trace?: never;
2465
+ };
2466
+ "/v1/exchange/info": {
2467
+ parameters: {
2468
+ query?: never;
2469
+ header?: never;
2470
+ path?: never;
2471
+ cookie?: never;
2472
+ };
2473
+ /**
2474
+ * EXCHANGE marketplace economics — the platform rake + units (EXCHANGE / TARGET-045)
2475
+ * @description Public. Returns `{ rake_percent, rake_note, units, morsel_note }` — the platform fee applied to each metered call (the provider keeps the rest), set by the node operator via AIMEAT_COMMERCE_FEE_PERCENT / AIMEAT_MARKETPLACE_TX_FEE_PERCENT.
2476
+ */
2477
+ get: operations["exchangeInfo"];
2478
+ put?: never;
2479
+ post?: never;
2480
+ delete?: never;
2481
+ options?: never;
2482
+ head?: never;
2483
+ patch?: never;
2484
+ trace?: never;
2485
+ };
2486
+ "/v1/exchange/offerings": {
2487
+ parameters: {
2488
+ query?: never;
2489
+ header?: never;
2490
+ path?: never;
2491
+ cookie?: never;
2492
+ };
2493
+ /**
2494
+ * Browse listed EXCHANGE offerings (public) — by capability or free text (TARGET-045)
2495
+ * @description Public browse of listed supply. `?ext=&action=` matches a capability exactly; `?q=` free-text over title/description/tags; omit both for all listings. `?stats=1` folds usage/reputation (`stats: { activeContracts, totalContracts, totalCalls, totalSettledUnits, consumers, listedAt, lastUsedAt }`) into each listing. Cheapest base price first. Returns `{ offerings, count }`.
2496
+ */
2497
+ get: operations["exchangeBrowseOfferings"];
2498
+ put?: never;
2499
+ /**
2500
+ * List a supply OFFERING — an ext action or an app-tool you own (EXCHANGE marketplace / TARGET-045)
2501
+ * @description Publish a public supply listing. Two kinds. DEFAULT `kind: ext-action` — a priced action of an extension you own; price + plans read AUTHORITATIVELY from the action (`commercial`); body `{ ext, action, title?, description?, provenance?, usage_terms, tags? }`. `kind: app-tool` — a method your APP sells cross-app (a getCompanyBrief-style tool from your `apps.{appId}.tools` manifest); price + plans read from the tool; the tool MUST be bound to a capability (`action_id`) and is snapshot into an immutable, pinned INTERFACE VERSION (a schema/binding change mints a new version; existing contracts stay pinned to theirs); body `{ kind: 'app-tool', app_id, tool, title?, description?, provenance?, usage_terms, tags? }`. LEGIBILITY GATE (both): a non-empty input AND output schema is required (else 400 SCHEMA_REQUIRED) and `usage_terms` is required (else 400 USAGE_TERMS_REQUIRED). `usage_terms` = `{ derivatives?, resale?, attribution?, note? }`. Returns `{ offering }`.
2502
+ */
2503
+ post: operations["exchangeListOffering"];
2504
+ delete?: never;
2505
+ options?: never;
2506
+ head?: never;
2507
+ patch?: never;
2508
+ trace?: never;
2509
+ };
2510
+ "/v1/exchange/offerings/{id}": {
2511
+ parameters: {
2512
+ query?: never;
2513
+ header?: never;
2514
+ path?: never;
2515
+ cookie?: never;
2516
+ };
2517
+ /**
2518
+ * One EXCHANGE offering's full detail — I/O schema, call recipe, usage stats (public) (TARGET-045)
2519
+ * @description Everything a human or agent needs to judge fit and integrate: the offering, the capability's `input_schema`/`output_schema`, a `call_recipe` (the contract IS the access — you call `POST /v1/ext/{ext}/{action}` as yourself, no separate API key), and usage `stats` (reputation). Public. Returns `{ offering, capability, call_recipe, stats, pacing, odps }`. `pacing.toll_morsels` is the morsel BURN each call costs the consumer to bound consumption rate — not a price: nobody is credited it, and calling your own capability is free. `pacing.source` is `capability` when the provider declared it (`tollMorsels` on the tool/action/offer) and `node` when the node default applies. `odps` points at the same listing rendered as an Open Data Product Specification v4.1 document.
2520
+ */
2521
+ get: operations["exchangeOfferingDetail"];
2522
+ put?: never;
2523
+ post?: never;
2524
+ /**
2525
+ * Delist one of your EXCHANGE offerings (TARGET-045)
2526
+ * @description Delists a hand-authored listing. A PROJECTED listing (`auto: true`, TARGET-050) exists because its SOURCE says so — the app-tool manifest's `exchange` flag, the extension action's `commercial.exchange`, or the agent offer's `exchange` — so delisting it here would simply come back on the next reconcile: this returns 409 `SOURCE_MANAGED` and names the source to turn off instead. Pass `?force=1` to delist anyway (until the next reconcile). Delisting never affects a CONTRACT.
2527
+ */
2528
+ delete: operations["exchangeDelistOffering"];
2529
+ options?: never;
2530
+ head?: never;
2531
+ patch?: never;
2532
+ trace?: never;
2533
+ };
2534
+ "/v1/exchange/offerings/{id}/odps": {
2535
+ parameters: {
2536
+ query?: never;
2537
+ header?: never;
2538
+ path?: never;
2539
+ cookie?: never;
2540
+ };
2541
+ /**
2542
+ * One EXCHANGE offering as an Open Data Product Specification v4.1 document (public) (TARGET-045)
2543
+ * @description The listing rendered in the Linux Foundation's **Open Data Product Specification** (ODPS) v4.1 — the interoperable descriptor an outside catalogue or a negotiating agent can read without knowing anything about AIMEAT. Derived on read from the offering (never stored in ODPS form), so it cannot drift from the listing it describes. Carries `product.details`, `dataAccess` (the metered REST call plus the MCP surface), `pricingPlans` (base price + every bundle/subscription plan), `license` (AIMEAT usage terms as ODPS rights + restrictions), `dataHolder`, `paymentGateways`, and — when the provider committed to them — `SLA` and `dataQuality`. AIMEAT-specific truth (metered coordinate, pinned interface + I/O schema, call recipe, provenance, projection source, OBSERVED usage) travels under `product.x-aimeat`, which keeps the document valid against the official ODPS schema. Returns `{ odps_version, odps }` in the AIMEAT envelope; `?format=yaml` serves the raw YAML instead.
2544
+ */
2545
+ get: operations["exchangeOfferingOdps"];
2546
+ put?: never;
2547
+ post?: never;
2548
+ delete?: never;
2549
+ options?: never;
2550
+ head?: never;
2551
+ patch?: never;
2552
+ trace?: never;
2553
+ };
2554
+ "/v1/exchange/offerings/{id}/odps.yaml": {
2555
+ parameters: {
2556
+ query?: never;
2557
+ header?: never;
2558
+ path?: never;
2559
+ cookie?: never;
2560
+ };
2561
+ /**
2562
+ * One EXCHANGE offering as an ODPS v4.1 YAML document (public) (TARGET-045)
2563
+ * @description Same document as `GET /v1/exchange/offerings/{id}/odps`, served raw as `text/yaml` — the format the Open Data Product Specification leads with, so the URL can be handed straight to an ODPS-aware tool.
2564
+ */
2565
+ get: operations["exchangeOfferingOdpsYaml"];
2566
+ put?: never;
2567
+ post?: never;
2568
+ delete?: never;
2569
+ options?: never;
2570
+ head?: never;
2571
+ patch?: never;
2572
+ trace?: never;
2573
+ };
2574
+ "/v1/exchange/reconcile": {
2575
+ parameters: {
2576
+ query?: never;
2577
+ header?: never;
2578
+ path?: never;
2579
+ cookie?: never;
2580
+ };
2581
+ get?: never;
2582
+ put?: never;
2583
+ /**
2584
+ * Reconcile your EXCHANGE listings against their sources (TARGET-050)
2585
+ * @description The EXCHANGE listing is a PROJECTION of its source: an app-tool manifest entry with `exchange: true`, an extension action with `commercial.exchange: true`, or an agent offer with `exchange: true` (and visibility `public`). Writing any of those projects it automatically — this is the explicit handle. `dry_run` reports what WOULD change and writes nothing (not even an interface snapshot). `migrate` adopts hand-authored listings into the model: it flips the flag ON in their source and keeps their `offeringId`, so existing entitlements referencing `offering:{id}` keep resolving; a listing whose source is gone is reported as an orphan and left untouched. Scope a run with `app_id`/`ext`/`agent`. Idempotent. A CONTRACT is never touched — entitlements keep the interface version and the price they were signed at. Returns `{ owner, dryRun, changes[], created, updated, adopted, delisted, unchanged, skipped }` (+ `orphans`, `flagged` when migrating); each change carries `action`, `offeringId`, `kind`, `label`, `unit`, `currency` and, for a skip, the `reason` (SCHEMA_REQUIRED, NOT_PRICED, TOOL_UNBOUND, NOT_PUBLIC, INVALID_TOOL_MANIFEST, INVALID_OFFERS_DOC).
2586
+ */
2587
+ post: operations["exchangeReconcileOfferings"];
2588
+ delete?: never;
2589
+ options?: never;
2590
+ head?: never;
2591
+ patch?: never;
2592
+ trace?: never;
2593
+ };
2594
+ "/v1/exchange/offerings/{id}/consumers": {
2595
+ parameters: {
2596
+ query?: never;
2597
+ header?: never;
2598
+ path?: never;
2599
+ cookie?: never;
2600
+ };
2601
+ /**
2602
+ * Provider data-lineage — who holds contracts against your offering (owner only) (TARGET-045)
2603
+ * @description The provider's consumption log: for each contract minted against this offering, the consuming identity, calls served, value settled, state, and last use — "where is my data used, by whom?". Owner-only (a stranger gets 404). Returns `{ offeringId, consumers, count }`.
2604
+ */
2605
+ get: operations["exchangeOfferingConsumers"];
2606
+ put?: never;
2607
+ post?: never;
2608
+ delete?: never;
2609
+ options?: never;
2610
+ head?: never;
2611
+ patch?: never;
2612
+ trace?: never;
2613
+ };
2614
+ "/v1/exchange/needs": {
2615
+ parameters: {
2616
+ query?: never;
2617
+ header?: never;
2618
+ path?: never;
2619
+ cookie?: never;
2620
+ };
2621
+ /** Browse EXCHANGE needs — `?open=1` open only, `?mine=1` your own (TARGET-045) */
2622
+ get: operations["exchangeBrowseNeeds"];
2623
+ put?: never;
2624
+ /**
2625
+ * Post an open NEED (demand) providers can bid on (EXCHANGE marketplace / TARGET-045)
2626
+ * @description Publish a demand on behalf of a specific app. `app_id` is REQUIRED (a need is always app-bound). Body: `{ description, app_id, ext?, action?, spec?, usage_intent?, budget_unit?, budget_cap?, autonomy? }`. `spec` = `{ requiredFields?, format?, sample?, notes? }` — the minimum shape a fulfilment must return, so a provider (or an AI assessing candidates) can judge fit. Returns `{ need, matches }` (offerings already satisfying it, so you can accept directly).
2627
+ */
2628
+ post: operations["exchangePostNeed"];
2629
+ delete?: never;
2630
+ options?: never;
2631
+ head?: never;
2632
+ patch?: never;
2633
+ trace?: never;
2634
+ };
2635
+ "/v1/exchange/needs/{id}/close": {
2636
+ parameters: {
2637
+ query?: never;
2638
+ header?: never;
2639
+ path?: never;
2640
+ cookie?: never;
2641
+ };
2642
+ get?: never;
2643
+ put?: never;
2644
+ /** Close one of your EXCHANGE needs (TARGET-045) */
2645
+ post: operations["exchangeCloseNeed"];
2646
+ delete?: never;
2647
+ options?: never;
2648
+ head?: never;
2649
+ patch?: never;
2650
+ trace?: never;
2651
+ };
2652
+ "/v1/exchange/needs/{id}/bids": {
2653
+ parameters: {
2654
+ query?: never;
2655
+ header?: never;
2656
+ path?: never;
2657
+ cookie?: never;
2658
+ };
2659
+ /** List bids on a NEED (public) (TARGET-045) */
2660
+ get: operations["exchangeListBids"];
2661
+ put?: never;
2662
+ /**
2663
+ * Bid on an open NEED with an action your extension owns (EXCHANGE / TARGET-045)
2664
+ * @description Body: `{ ext, action, offering_id?, plan_id?, note? }`. Returns `{ bid }`.
2665
+ */
2666
+ post: operations["exchangeBidOnNeed"];
2667
+ delete?: never;
2668
+ options?: never;
2669
+ head?: never;
2670
+ patch?: never;
2671
+ trace?: never;
2672
+ };
2673
+ "/v1/exchange/needs/{id}/bids/{bidId}/accept": {
2674
+ parameters: {
2675
+ query?: never;
2676
+ header?: never;
2677
+ path?: never;
2678
+ cookie?: never;
2679
+ };
2680
+ get?: never;
2681
+ put?: never;
2682
+ /**
2683
+ * Accept a bid on your NEED → mint the metered entitlement (EXCHANGE / TARGET-045)
2684
+ * @description The requester accepts a bid; mints the durable entitlement (consumer = you, provider = bidder), with the bid's plan + authoritative price. Optional body `{ cap_units }` overrides the need's budget cap. Marks the bid accepted + the need matched. Returns `{ entitlement_id, ext, action, unit, pricing }`.
2685
+ */
2686
+ post: operations["exchangeAcceptBid"];
2687
+ delete?: never;
2688
+ options?: never;
2689
+ head?: never;
2690
+ patch?: never;
2691
+ trace?: never;
2692
+ };
2029
2693
  "/v1/ledger/billing": {
2030
2694
  parameters: {
2031
2695
  query?: never;
@@ -2721,6 +3385,8 @@ export interface paths {
2721
3385
  /**
2722
3386
  * Download file
2723
3387
  * @description Returns raw bytes by default (supports Range headers for partial downloads). With `mode=handle`, returns a JSON handle (resource_uri + presigned, TTL-limited download_url + metadata) instead of bytes — used by MCP clients so binary content never enters the model context. With `mode=inline`, returns small (<= 32 KB) text files inline as JSON; larger or non-text files are rejected with 413.
3388
+ *
3389
+ * Scope: this route reads the CALLER's own namespace only — files are keyed by (owner, key), so a file owned by anyone else is absent here and answers 404. To read a file someone else owns (an owner's upload for one of their agents, a DM or task attachment, a group/workspace share) use `GET /v1/pub/{gaii}/{key}`, which runs the consent/visibility guard.
2724
3390
  */
2725
3391
  get: operations["downloadFile"];
2726
3392
  put?: never;
@@ -3913,6 +4579,50 @@ export interface paths {
3913
4579
  patch?: never;
3914
4580
  trace?: never;
3915
4581
  };
4582
+ "/v1/commerce/payout": {
4583
+ parameters: {
4584
+ query?: never;
4585
+ header?: never;
4586
+ path?: never;
4587
+ cookie?: never;
4588
+ };
4589
+ /**
4590
+ * Which payout rails can pay you, and what each needs (owner) (TARGET-042)
4591
+ * @description The seller's settlement rails reported apart, because they are different things: **Stripe** moves real currency (EUR/USD) to a connected account through a provider that holds the funds, while **x402** settles a stablecoin on-chain straight to an address you control, non-custodially, with the node holding no key. Returns `{ x402: { enabled, network, testnet, configured, address, currencies, assets, note }, stripe: { configured, provider, currencies, note } }`. `currencies` and `assets` are READ FROM THE NODE'S NETWORK REGISTRY, so they list only what this node can really settle: `assets` carries `{ currency, symbol, address, decimals }` per settleable currency (USD → USDC, EUR → EURC on the Base networks). ONE payout address receives every asset. A money sale over x402 with no address fails with SELLER_NO_X402_ADDRESS — this is the read that tells you before it happens.
4592
+ */
4593
+ get: operations["commercePayoutStatus"];
4594
+ put?: never;
4595
+ post?: never;
4596
+ delete?: never;
4597
+ options?: never;
4598
+ head?: never;
4599
+ patch?: never;
4600
+ trace?: never;
4601
+ };
4602
+ "/v1/commerce/payout/x402": {
4603
+ parameters: {
4604
+ query?: never;
4605
+ header?: never;
4606
+ path?: never;
4607
+ cookie?: never;
4608
+ };
4609
+ get?: never;
4610
+ /**
4611
+ * Set your stablecoin (x402) payout address (owner) (TARGET-042)
4612
+ * @description Stores the EVM account address a stablecoin sale settles to. ONE address receives every settlement asset the node's network carries (USDC for a USD price, EURC for a EUR one), so there is no per-currency setting. MERGED into your payment-settings record: your Stripe credentials in the same record are untouched (and the reverse holds — setting Stripe no longer clears this). 400 INVALID_ADDRESS unless the value is `0x` + 40 hex characters. Responds `{ configured, address, network, currencies, enabled, checked }`, where `currencies` is what this node can actually settle to that address.
4613
+ */
4614
+ put: operations["commercePayoutX402Set"];
4615
+ post?: never;
4616
+ /**
4617
+ * Remove your stablecoin (x402) payout address (owner) (TARGET-042)
4618
+ * @description Clears only the payout address. Card and invoice settlement through your Stripe credentials is unaffected; stablecoin sales (USDC and EURC alike) fail until an address is set again.
4619
+ */
4620
+ delete: operations["commercePayoutX402Clear"];
4621
+ options?: never;
4622
+ head?: never;
4623
+ patch?: never;
4624
+ trace?: never;
4625
+ };
3916
4626
  "/v1/commerce/checkout-sessions": {
3917
4627
  parameters: {
3918
4628
  query?: never;
@@ -5502,7 +6212,16 @@ export interface paths {
5502
6212
  path?: never;
5503
6213
  cookie?: never;
5504
6214
  };
5505
- get?: never;
6215
+ /**
6216
+ * Read the app's unpublished draft (staging) content
6217
+ * @description Returns the current draft slot for `{owner}/{filename}` — the base64 content plus its size,
6218
+ * mime type and manifest. Owner-only; the caller is resolved from the token, so a draft is
6219
+ * never readable by anyone else. This is the read side of the draft slot: an editing client
6220
+ * that reloads must be able to load the working copy BACK, otherwise it can only re-fetch the
6221
+ * LIVE bytes and would silently overwrite the draft on its next save. The `?preview=` URL is
6222
+ * not usable for this — on an app-origin node it redirects to the isolated (CORS-less) origin.
6223
+ */
6224
+ get: operations["getAppDraft"];
5506
6225
  /**
5507
6226
  * Save the app's unpublished draft (staging)
5508
6227
  * @description Upserts the single draft slot for `{owner}/{filename}` — the staging copy of the NEXT version.
@@ -5549,6 +6268,37 @@ export interface paths {
5549
6268
  patch?: never;
5550
6269
  trace?: never;
5551
6270
  };
6271
+ "/v1/apps/{owner}/{filename}/frame-token": {
6272
+ parameters: {
6273
+ query?: never;
6274
+ header?: never;
6275
+ path?: never;
6276
+ cookie?: never;
6277
+ };
6278
+ get?: never;
6279
+ put?: never;
6280
+ /**
6281
+ * Mint a frame grant letting ONE origin embed this app
6282
+ * @description Returns a `frame_url` usable as an `iframe` src. An app origin refuses framing by default
6283
+ * (`frame-ancestors 'self' <apex>`); a frame grant widens that by exactly the ONE origin named
6284
+ * in the token, and only for responses carrying it.
6285
+ *
6286
+ * The grant is issued to the CALLING page's `Origin` header — never to an origin supplied in the
6287
+ * body, which would let a page request permission on someone else's behalf. Owner-only: a grant
6288
+ * to frame an app you do not own is a clickjacking primitive. A malformed, expired or
6289
+ * wrong-app grant simply leaves the strict policy in place, so framing fails closed.
6290
+ *
6291
+ * Deliberately one origin per grant rather than a list of allowed origins on the app: a list
6292
+ * grows with how many apps the owner has, and past roughly seventy it overruns a typical reverse
6293
+ * proxy's header buffer and every app origin starts answering 502.
6294
+ */
6295
+ post: operations["mintAppFrameToken"];
6296
+ delete?: never;
6297
+ options?: never;
6298
+ head?: never;
6299
+ patch?: never;
6300
+ trace?: never;
6301
+ };
5552
6302
  "/v1/apps/{owner}/{filename}/publish-draft": {
5553
6303
  parameters: {
5554
6304
  query?: never;
@@ -6483,6 +7233,9 @@ export interface paths {
6483
7233
  * @description Register a new human owner via the web portal. Creates an owner record,
6484
7234
  * GHII, and profile. No authentication required. If email is provided,
6485
7235
  * a verification code is sent and the response includes a verificationId.
7236
+ * When the node's email gate is on (`AIMEAT_EMAIL_CONFIRMATION_REQUIRED`),
7237
+ * an email is REQUIRED (missing → `400 EMAIL_REQUIRED`); an email already
7238
+ * verified on another account → `409 EMAIL_TAKEN`.
6486
7239
  */
6487
7240
  post: operations["ghiiRegisterWeb"];
6488
7241
  delete?: never;
@@ -8036,7 +8789,14 @@ export interface paths {
8036
8789
  * emit code — a caller wanting an extra button uses `link` (navigation carries no authority).
8037
8790
  */
8038
8791
  post: operations["createNotification"];
8039
- delete?: never;
8792
+ /**
8793
+ * Clear the caller's notifications (the bell's "Clear all")
8794
+ * @description Delete the caller's in-app notifications — the header bell's "Clear all". Unlike
8795
+ * POST /v1/notifications/read (which only marks them read), this REMOVES the rows. Owner-scoped:
8796
+ * only the caller's own notifications are affected. Omit the body (or send `{}`) to clear ALL;
8797
+ * pass `{ ids: [...] }` to delete just those.
8798
+ */
8799
+ delete: operations["clearNotifications"];
8040
8800
  options?: never;
8041
8801
  head?: never;
8042
8802
  patch?: never;
@@ -10561,14 +11321,23 @@ export interface paths {
10561
11321
  };
10562
11322
  /**
10563
11323
  * Download public file
10564
- * @description Download a file by owner GAII and key. Public files need no auth.
10565
- * Non-public files apply the same consent/visibility rules as memory:
10566
- * the caller must hold a matching consent grant or (for `visibility:'group'`)
10567
- * be a member of the file's sharing group; `organism.{id}` grants resolve for
10568
- * active organism members. Every read is written to the consent audit log.
10569
- * An authenticated caller without access gets 403; anonymous/unauthenticated
10570
- * callers get 404 (file existence is hidden on public URLs).
11324
+ * @description Download a file by owner GAII and key. This is the ONE door for reading a file the caller
11325
+ * does not own `GET /v1/storage/{key}` is namespaced to the caller and cannot reach it.
11326
+ * Public files need no auth. Non-public files apply the same consent/visibility rules as
11327
+ * memory: `visibility:'owner'` admits every agent and app of the SAME owner (this is how a
11328
+ * document an owner uploads reaches that owner's own agent upload with `visibility: owner`,
11329
+ * then the agent reads it with its own token), `members` any authenticated node user,
11330
+ * `group`/`workspace` their members, and a private file only with a matching consent grant;
11331
+ * `organism.{id}` grants resolve for active organism members. Denied reads are written to the
11332
+ * consent audit log. An authenticated caller without access gets 403; anonymous/
11333
+ * unauthenticated callers get 404 (file existence is hidden on public URLs).
10571
11334
  * Supports wildcard keys with path separators.
11335
+ *
11336
+ * With `mode=handle` the response is a presigned, TTL-limited `download_url` plus metadata
11337
+ * instead of the bytes, so an agent or liaison can hand the URL to a fetch or a document
11338
+ * parser without pulling binary through a tool result. The access decision is identical. A
11339
+ * handle for someone else's file expires sooner (15 min) than one for your own (1 h), so it
11340
+ * cannot long outlive a revoked grant.
10572
11341
  */
10573
11342
  get: operations["getPublicFile"];
10574
11343
  put?: never;
@@ -15417,6 +16186,12 @@ export interface paths {
15417
16186
  * username or a full `username@node-id` (the node part must match this node). The first
15418
16187
  * real owner is auto-granted the `operator` role. Returns the owner keypair once —
15419
16188
  * the private key is never retrievable again. A welcome morsel bonus is granted.
16189
+ *
16190
+ * When an `email` is supplied it is recorded and a verification code is sent (confirm via
16191
+ * `POST /v1/ghii/verify-email`); a `verification_id` is returned. When the node runs with the
16192
+ * email gate on (`AIMEAT_EMAIL_CONFIRMATION_REQUIRED`), an email is REQUIRED — registering
16193
+ * without one → `400 EMAIL_REQUIRED` (OAuth sign-in satisfies the gate, its IdP email being
16194
+ * verified at that instant). An email already verified on another account → `409 EMAIL_TAKEN`.
15420
16195
  */
15421
16196
  post: operations["registerGhii"];
15422
16197
  /**
@@ -16978,6 +17753,12 @@ export interface components {
16978
17753
  flagCount: number;
16979
17754
  /** @description GAII of the entry owner (included in public reads via /v1/memory/{gaii}/{key}) */
16980
17755
  owner_gaii?: string;
17756
+ /**
17757
+ * @description Owner-scope listings only. Other same-owner identities holding this SAME key. Memory is
17758
+ * keyed by the writer, and an owner-scope read resolves GHII-first, so those copies are
17759
+ * absent from the response — this names them instead of letting the collision be invisible.
17760
+ */
17761
+ also_under?: string[];
16981
17762
  /** @description Data Decision Context — structured metadata for agent decision-making */
16982
17763
  _ddc?: {
16983
17764
  flagCount?: number;
@@ -18354,6 +19135,31 @@ export interface components {
18354
19135
  * @enum {string}
18355
19136
  */
18356
19137
  TaskStatus: "draft" | "queued" | "revision_requested" | "active" | "paused" | "done" | "failed" | "stalled";
19138
+ /** @description One file handed to the agent WITH the task. Only a REFERENCE is stored, never the bytes. On create, `ref` (and optionally `name`) is supplied; the server verifies the file exists and that the CREATOR can read it, then fills `mime` and `size` from the stored file. On read, the entry is authorized again as the READING principal and carries `access` plus a presigned `download_url` when granted — so a revoked grant stops handing out URLs on the next read. */
19139
+ AgentTaskFileRef: {
19140
+ /**
19141
+ * @description "<ownerGaii>/<storage key>" (a bare key means the caller's own storage).
19142
+ * @example alice@aimeat-fi-001-genesis/invoices/2026-07.pdf
19143
+ */
19144
+ ref: string;
19145
+ name?: string;
19146
+ readonly mime?: string;
19147
+ readonly size?: number;
19148
+ /** @enum {string} */
19149
+ readonly access?: "granted" | "denied" | "missing";
19150
+ /** @description Why a non-granted read was refused (e.g. consent_denied, not_found). */
19151
+ readonly reason?: string;
19152
+ /** @description Presigned, TTL-limited GET. Present only when access is granted. */
19153
+ readonly download_url?: string;
19154
+ readonly expires_in_seconds?: number;
19155
+ };
19156
+ /** @description What the agent needs in order to do the task — knowledge, memory, and files. */
19157
+ AgentTaskResources: {
19158
+ knowledge_packages?: string[];
19159
+ memory_keys?: string[];
19160
+ memory_prefixes?: string[];
19161
+ files?: components["schemas"]["AgentTaskFileRef"][];
19162
+ };
18357
19163
  AgentTask: {
18358
19164
  /** Format: uuid */
18359
19165
  id: string;
@@ -18371,6 +19177,7 @@ export interface components {
18371
19177
  createdAt: string;
18372
19178
  /** Format: date-time */
18373
19179
  updatedAt: string;
19180
+ resources?: components["schemas"]["AgentTaskResources"];
18374
19181
  /** @description Memory key (agent namespace) where the task's deliverable was published, if any. */
18375
19182
  deliverableKey?: string;
18376
19183
  rating?: components["schemas"]["AgentTaskRating"];
@@ -20285,6 +21092,97 @@ export interface operations {
20285
21092
  };
20286
21093
  };
20287
21094
  };
21095
+ unfurlLink: {
21096
+ parameters: {
21097
+ query: {
21098
+ /** @description The http(s) URL to unfurl. */
21099
+ url: string;
21100
+ };
21101
+ header?: never;
21102
+ path?: never;
21103
+ cookie?: never;
21104
+ };
21105
+ requestBody?: never;
21106
+ responses: {
21107
+ /** @description Preview metadata */
21108
+ 200: {
21109
+ headers: {
21110
+ [name: string]: unknown;
21111
+ };
21112
+ content: {
21113
+ "application/json": components["schemas"]["AimeatEnvelope"] & {
21114
+ data?: {
21115
+ url?: string;
21116
+ resolvedUrl?: string;
21117
+ title?: string | null;
21118
+ description?: string | null;
21119
+ /** @description Absolute image URL; fetch it via /v1/unfurl/image (the SPA CSP forbids remote image hosts). */
21120
+ image?: string | null;
21121
+ siteName?: string | null;
21122
+ };
21123
+ };
21124
+ };
21125
+ };
21126
+ /** @description Missing or non-http(s) url parameter */
21127
+ 400: {
21128
+ headers: {
21129
+ [name: string]: unknown;
21130
+ };
21131
+ content?: never;
21132
+ };
21133
+ /** @description The link could not be fetched (blocked by the SSRF guard, timeout, or network error) */
21134
+ 422: {
21135
+ headers: {
21136
+ [name: string]: unknown;
21137
+ };
21138
+ content?: never;
21139
+ };
21140
+ };
21141
+ };
21142
+ unfurlImage: {
21143
+ parameters: {
21144
+ query: {
21145
+ /** @description The http(s) image URL to proxy. */
21146
+ url: string;
21147
+ };
21148
+ header?: never;
21149
+ path?: never;
21150
+ cookie?: never;
21151
+ };
21152
+ requestBody?: never;
21153
+ responses: {
21154
+ /** @description The image bytes */
21155
+ 200: {
21156
+ headers: {
21157
+ [name: string]: unknown;
21158
+ };
21159
+ content: {
21160
+ "image/*": string;
21161
+ };
21162
+ };
21163
+ /** @description Missing or non-http(s) url parameter */
21164
+ 400: {
21165
+ headers: {
21166
+ [name: string]: unknown;
21167
+ };
21168
+ content?: never;
21169
+ };
21170
+ /** @description The URL did not resolve to an image */
21171
+ 415: {
21172
+ headers: {
21173
+ [name: string]: unknown;
21174
+ };
21175
+ content?: never;
21176
+ };
21177
+ /** @description The image could not be fetched (blocked, timeout, or network error) */
21178
+ 422: {
21179
+ headers: {
21180
+ [name: string]: unknown;
21181
+ };
21182
+ content?: never;
21183
+ };
21184
+ };
21185
+ };
20288
21186
  validateRequest: {
20289
21187
  parameters: {
20290
21188
  query?: never;
@@ -20954,7 +21852,14 @@ export interface operations {
20954
21852
  requestBody: {
20955
21853
  content: {
20956
21854
  "application/json": {
20957
- /** @description Owner name */
21855
+ /**
21856
+ * @description The target account: either the account HANDLE (e.g. `alice`) or the account's
21857
+ * VERIFIED email address (case-insensitive). A value containing `@` is resolved as an
21858
+ * email to the owning account's handle. No account with that verified email → 404
21859
+ * `NO_ACCOUNT`; malformed email → 400 `INVALID_EMAIL`; (should-never-happen) more than
21860
+ * one match → 409 `AMBIGUOUS`. The value only SELECTS which account this request targets
21861
+ * — it is not an authentication factor (the human still approves the device code).
21862
+ */
20958
21863
  owner: string;
20959
21864
  /** @description Agent name (3-32 chars, lowercase alphanumeric + hyphens) */
20960
21865
  agent_name: string;
@@ -20997,6 +21902,20 @@ export interface operations {
20997
21902
  };
20998
21903
  };
20999
21904
  400: components["responses"]["BadRequest"];
21905
+ /** @description `owner` was an email with no matching verified account (NO_ACCOUNT) */
21906
+ 404: {
21907
+ headers: {
21908
+ [name: string]: unknown;
21909
+ };
21910
+ content?: never;
21911
+ };
21912
+ /** @description `owner` email maps to more than one account (AMBIGUOUS — invariant violation) */
21913
+ 409: {
21914
+ headers: {
21915
+ [name: string]: unknown;
21916
+ };
21917
+ content?: never;
21918
+ };
21000
21919
  /** @description Too many pending requests for this owner */
21001
21920
  429: {
21002
21921
  headers: {
@@ -22130,6 +23049,27 @@ export interface operations {
22130
23049
  };
22131
23050
  };
22132
23051
  };
23052
+ getAppdevFlowPrompt: {
23053
+ parameters: {
23054
+ query?: {
23055
+ /** @description txt returns the prompt as text/plain instead of the JSON envelope */
23056
+ format?: "txt";
23057
+ };
23058
+ header?: never;
23059
+ path?: never;
23060
+ cookie?: never;
23061
+ };
23062
+ requestBody?: never;
23063
+ responses: {
23064
+ /** @description The flow prompt (JSON envelope, or text/plain with format=txt) */
23065
+ 200: {
23066
+ headers: {
23067
+ [name: string]: unknown;
23068
+ };
23069
+ content?: never;
23070
+ };
23071
+ };
23072
+ };
22133
23073
  listLibraryPacks: {
22134
23074
  parameters: {
22135
23075
  query?: {
@@ -22248,6 +23188,240 @@ export interface operations {
22248
23188
  };
22249
23189
  };
22250
23190
  };
23191
+ getAppdevOverview: {
23192
+ parameters: {
23193
+ query?: {
23194
+ model?: string;
23195
+ /** @description Comma-separated subset of apps,library_packs,app_templates,skills,pitfalls_curated,pitfalls_learned,template_proposals */
23196
+ sections?: string;
23197
+ };
23198
+ header?: never;
23199
+ path?: never;
23200
+ cookie?: never;
23201
+ };
23202
+ requestBody?: never;
23203
+ responses: {
23204
+ /** @description The overview sections (indexes + drill-down pointers) */
23205
+ 200: {
23206
+ headers: {
23207
+ [name: string]: unknown;
23208
+ };
23209
+ content?: never;
23210
+ };
23211
+ 401: components["responses"]["Unauthorized"];
23212
+ };
23213
+ };
23214
+ listLearnedAppdevPitfalls: {
23215
+ parameters: {
23216
+ query?: {
23217
+ include_shared?: boolean;
23218
+ };
23219
+ header?: never;
23220
+ path?: never;
23221
+ cookie?: never;
23222
+ };
23223
+ requestBody?: never;
23224
+ responses: {
23225
+ /** @description data.pitfalls (full bodies) + data.total */
23226
+ 200: {
23227
+ headers: {
23228
+ [name: string]: unknown;
23229
+ };
23230
+ content?: never;
23231
+ };
23232
+ 401: components["responses"]["Unauthorized"];
23233
+ };
23234
+ };
23235
+ deleteLearnedAppdevPitfall: {
23236
+ parameters: {
23237
+ query?: never;
23238
+ header?: never;
23239
+ path: {
23240
+ category: string;
23241
+ slug: string;
23242
+ };
23243
+ cookie?: never;
23244
+ };
23245
+ requestBody?: never;
23246
+ responses: {
23247
+ /** @description data.deleted = true */
23248
+ 200: {
23249
+ headers: {
23250
+ [name: string]: unknown;
23251
+ };
23252
+ content?: never;
23253
+ };
23254
+ /** @description No such learned pitfall in the caller's scope */
23255
+ 404: {
23256
+ headers: {
23257
+ [name: string]: unknown;
23258
+ };
23259
+ content?: never;
23260
+ };
23261
+ };
23262
+ };
23263
+ updateLearnedAppdevPitfall: {
23264
+ parameters: {
23265
+ query?: never;
23266
+ header?: never;
23267
+ path: {
23268
+ category: string;
23269
+ slug: string;
23270
+ };
23271
+ cookie?: never;
23272
+ };
23273
+ requestBody: {
23274
+ content: {
23275
+ "application/json": {
23276
+ /** @description true = public (platform-wide) */
23277
+ share?: boolean;
23278
+ /** @enum {string} */
23279
+ status?: "active" | "outdated";
23280
+ };
23281
+ };
23282
+ };
23283
+ responses: {
23284
+ /** @description The updated entry (data.pitfall) */
23285
+ 200: {
23286
+ headers: {
23287
+ [name: string]: unknown;
23288
+ };
23289
+ content?: never;
23290
+ };
23291
+ 400: components["responses"]["BadRequest"];
23292
+ /** @description No such learned pitfall in the caller's scope */
23293
+ 404: {
23294
+ headers: {
23295
+ [name: string]: unknown;
23296
+ };
23297
+ content?: never;
23298
+ };
23299
+ };
23300
+ };
23301
+ listAppdevTemplateProposals: {
23302
+ parameters: {
23303
+ query?: never;
23304
+ header?: never;
23305
+ path?: never;
23306
+ cookie?: never;
23307
+ };
23308
+ requestBody?: never;
23309
+ responses: {
23310
+ /** @description data.templates + data.total */
23311
+ 200: {
23312
+ headers: {
23313
+ [name: string]: unknown;
23314
+ };
23315
+ content?: never;
23316
+ };
23317
+ 401: components["responses"]["Unauthorized"];
23318
+ };
23319
+ };
23320
+ getAppdevTemplateProposal: {
23321
+ parameters: {
23322
+ query?: never;
23323
+ header?: never;
23324
+ path: {
23325
+ id: string;
23326
+ };
23327
+ cookie?: never;
23328
+ };
23329
+ requestBody?: never;
23330
+ responses: {
23331
+ /** @description data.template + data.source_app */
23332
+ 200: {
23333
+ headers: {
23334
+ [name: string]: unknown;
23335
+ };
23336
+ content?: never;
23337
+ };
23338
+ /** @description No such template proposal */
23339
+ 404: {
23340
+ headers: {
23341
+ [name: string]: unknown;
23342
+ };
23343
+ content?: never;
23344
+ };
23345
+ };
23346
+ };
23347
+ deleteAppdevTemplateProposal: {
23348
+ parameters: {
23349
+ query?: never;
23350
+ header?: never;
23351
+ path: {
23352
+ id: string;
23353
+ };
23354
+ cookie?: never;
23355
+ };
23356
+ requestBody?: never;
23357
+ responses: {
23358
+ /** @description data.deleted = true */
23359
+ 200: {
23360
+ headers: {
23361
+ [name: string]: unknown;
23362
+ };
23363
+ content?: never;
23364
+ };
23365
+ /** @description No such template proposal */
23366
+ 404: {
23367
+ headers: {
23368
+ [name: string]: unknown;
23369
+ };
23370
+ content?: never;
23371
+ };
23372
+ };
23373
+ };
23374
+ listAppdevPitfalls: {
23375
+ parameters: {
23376
+ query?: {
23377
+ applies_to?: "app" | "auth" | "ext" | "cortex" | "iam" | "realtime" | "ai" | "mobile" | "publish";
23378
+ severity?: "info" | "warn" | "critical";
23379
+ limit?: number;
23380
+ offset?: number;
23381
+ include_outdated?: boolean;
23382
+ };
23383
+ header?: never;
23384
+ path?: never;
23385
+ cookie?: never;
23386
+ };
23387
+ requestBody?: never;
23388
+ responses: {
23389
+ /** @description Paginated pitfall index (data.pitfalls, data.total, data.facets) */
23390
+ 200: {
23391
+ headers: {
23392
+ [name: string]: unknown;
23393
+ };
23394
+ content?: never;
23395
+ };
23396
+ };
23397
+ };
23398
+ getAppdevPitfall: {
23399
+ parameters: {
23400
+ query?: never;
23401
+ header?: never;
23402
+ path: {
23403
+ id: string;
23404
+ };
23405
+ cookie?: never;
23406
+ };
23407
+ requestBody?: never;
23408
+ responses: {
23409
+ /** @description The pitfall entry (data.pitfall) */
23410
+ 200: {
23411
+ headers: {
23412
+ [name: string]: unknown;
23413
+ };
23414
+ content?: never;
23415
+ };
23416
+ /** @description No such pitfall */
23417
+ 404: {
23418
+ headers: {
23419
+ [name: string]: unknown;
23420
+ };
23421
+ content?: never;
23422
+ };
23423
+ };
23424
+ };
22251
23425
  listMemory: {
22252
23426
  parameters: {
22253
23427
  query?: {
@@ -22837,6 +24011,618 @@ export interface operations {
22837
24011
  403: components["responses"]["AimeatError"];
22838
24012
  };
22839
24013
  };
24014
+ appCost: {
24015
+ parameters: {
24016
+ query: {
24017
+ /** @description App id ("owner/filename") whose sourcing cost & contracts to return. */
24018
+ app_id: string;
24019
+ };
24020
+ header?: never;
24021
+ path?: never;
24022
+ cookie?: never;
24023
+ };
24024
+ requestBody?: never;
24025
+ responses: {
24026
+ 200: components["responses"]["AimeatSuccess"];
24027
+ 400: components["responses"]["AimeatError"];
24028
+ 401: components["responses"]["AimeatError"];
24029
+ };
24030
+ };
24031
+ exchangeListEntitlements: {
24032
+ parameters: {
24033
+ query?: never;
24034
+ header?: never;
24035
+ path?: never;
24036
+ cookie?: never;
24037
+ };
24038
+ requestBody?: never;
24039
+ responses: {
24040
+ 200: components["responses"]["AimeatSuccess"];
24041
+ 401: components["responses"]["AimeatError"];
24042
+ };
24043
+ };
24044
+ exchangeAcceptContract: {
24045
+ parameters: {
24046
+ query?: never;
24047
+ header?: never;
24048
+ path?: never;
24049
+ cookie?: never;
24050
+ };
24051
+ requestBody: {
24052
+ content: {
24053
+ "application/json": {
24054
+ /** @description Preferred — contract an offering by id (ext-action or app-tool). Pins the app-tool interface version. */
24055
+ offering_id?: string;
24056
+ /** @description Legacy path — raw ext-action; required with action + contract_ref when offering_id is omitted. */
24057
+ ext?: string;
24058
+ action?: string;
24059
+ contract_ref?: string;
24060
+ /** @description Spend cap in the price unit (morsels */
24061
+ cap_units?: number;
24062
+ /** @description Consuming app id ("owner/filename") for the per-app cost surface. */
24063
+ app_id?: string;
24064
+ /** @enum {string} */
24065
+ escrow_party?: "consumer" | "provider";
24066
+ /** @description Optional provider pricing plan (bundle / subscription); omit for per-call at the base price. */
24067
+ plan_id?: string;
24068
+ };
24069
+ };
24070
+ };
24071
+ responses: {
24072
+ 201: components["responses"]["AimeatSuccess"];
24073
+ 400: components["responses"]["AimeatError"];
24074
+ 401: components["responses"]["AimeatError"];
24075
+ 404: components["responses"]["AimeatError"];
24076
+ };
24077
+ };
24078
+ exchangeEntitlementOff: {
24079
+ parameters: {
24080
+ query?: never;
24081
+ header?: never;
24082
+ path?: never;
24083
+ cookie?: never;
24084
+ };
24085
+ requestBody: {
24086
+ content: {
24087
+ "application/json": {
24088
+ ext: string;
24089
+ action: string;
24090
+ /**
24091
+ * @default pause
24092
+ * @enum {string}
24093
+ */
24094
+ mode?: "pause" | "revoke";
24095
+ };
24096
+ };
24097
+ };
24098
+ responses: {
24099
+ 200: components["responses"]["AimeatSuccess"];
24100
+ 400: components["responses"]["AimeatError"];
24101
+ 404: components["responses"]["AimeatError"];
24102
+ };
24103
+ };
24104
+ exchangeListProposals: {
24105
+ parameters: {
24106
+ query?: never;
24107
+ header?: never;
24108
+ path?: never;
24109
+ cookie?: never;
24110
+ };
24111
+ requestBody?: never;
24112
+ responses: {
24113
+ 200: components["responses"]["AimeatSuccess"];
24114
+ };
24115
+ };
24116
+ exchangeProposeChange: {
24117
+ parameters: {
24118
+ query?: never;
24119
+ header?: never;
24120
+ path?: never;
24121
+ cookie?: never;
24122
+ };
24123
+ requestBody: {
24124
+ content: {
24125
+ "application/json": {
24126
+ ext: string;
24127
+ action: string;
24128
+ /** @description Provider-side: the consumer whose contract to renegotiate. Omit when you are the consumer. */
24129
+ consumer_gaii?: string;
24130
+ /** @description New per-call price in the contract's unit (morsels, or money micro-units). Omit to leave unchanged. */
24131
+ new_price_per_call?: number;
24132
+ /** @description New budget cap. Omit to leave unchanged. */
24133
+ new_cap_units?: number;
24134
+ note?: string;
24135
+ };
24136
+ };
24137
+ };
24138
+ responses: {
24139
+ 201: components["responses"]["AimeatSuccess"];
24140
+ 400: components["responses"]["AimeatError"];
24141
+ 403: components["responses"]["AimeatError"];
24142
+ 404: components["responses"]["AimeatError"];
24143
+ };
24144
+ };
24145
+ exchangeAcceptProposal: {
24146
+ parameters: {
24147
+ query?: never;
24148
+ header?: never;
24149
+ path: {
24150
+ id: string;
24151
+ };
24152
+ cookie?: never;
24153
+ };
24154
+ requestBody?: never;
24155
+ responses: {
24156
+ 200: components["responses"]["AimeatSuccess"];
24157
+ 403: components["responses"]["AimeatError"];
24158
+ 404: components["responses"]["AimeatError"];
24159
+ 409: components["responses"]["AimeatError"];
24160
+ };
24161
+ };
24162
+ exchangeDeclineProposal: {
24163
+ parameters: {
24164
+ query?: never;
24165
+ header?: never;
24166
+ path: {
24167
+ id: string;
24168
+ };
24169
+ cookie?: never;
24170
+ };
24171
+ requestBody?: never;
24172
+ responses: {
24173
+ 200: components["responses"]["AimeatSuccess"];
24174
+ 403: components["responses"]["AimeatError"];
24175
+ 404: components["responses"]["AimeatError"];
24176
+ };
24177
+ };
24178
+ exchangeWithdrawProposal: {
24179
+ parameters: {
24180
+ query?: never;
24181
+ header?: never;
24182
+ path: {
24183
+ id: string;
24184
+ };
24185
+ cookie?: never;
24186
+ };
24187
+ requestBody?: never;
24188
+ responses: {
24189
+ 200: components["responses"]["AimeatSuccess"];
24190
+ 403: components["responses"]["AimeatError"];
24191
+ 404: components["responses"]["AimeatError"];
24192
+ };
24193
+ };
24194
+ exchangeEntitlementHistory: {
24195
+ parameters: {
24196
+ query?: never;
24197
+ header?: never;
24198
+ path?: never;
24199
+ cookie?: never;
24200
+ };
24201
+ requestBody?: never;
24202
+ responses: {
24203
+ 200: components["responses"]["AimeatSuccess"];
24204
+ };
24205
+ };
24206
+ exchangeProviderHistory: {
24207
+ parameters: {
24208
+ query?: never;
24209
+ header?: never;
24210
+ path?: never;
24211
+ cookie?: never;
24212
+ };
24213
+ requestBody?: never;
24214
+ responses: {
24215
+ 200: components["responses"]["AimeatSuccess"];
24216
+ };
24217
+ };
24218
+ exchangeListWork: {
24219
+ parameters: {
24220
+ query?: {
24221
+ role?: "consumer" | "provider";
24222
+ };
24223
+ header?: never;
24224
+ path?: never;
24225
+ cookie?: never;
24226
+ };
24227
+ requestBody?: never;
24228
+ responses: {
24229
+ 200: components["responses"]["AimeatSuccess"];
24230
+ };
24231
+ };
24232
+ exchangeStartWork: {
24233
+ parameters: {
24234
+ query?: never;
24235
+ header?: never;
24236
+ path?: never;
24237
+ cookie?: never;
24238
+ };
24239
+ requestBody: {
24240
+ content: {
24241
+ "application/json": {
24242
+ offering_id: string;
24243
+ input?: unknown;
24244
+ note?: string;
24245
+ };
24246
+ };
24247
+ };
24248
+ responses: {
24249
+ 201: components["responses"]["AimeatSuccess"];
24250
+ 400: components["responses"]["AimeatError"];
24251
+ 402: components["responses"]["AimeatError"];
24252
+ 404: components["responses"]["AimeatError"];
24253
+ };
24254
+ };
24255
+ exchangeDeliverWork: {
24256
+ parameters: {
24257
+ query?: never;
24258
+ header?: never;
24259
+ path: {
24260
+ id: string;
24261
+ };
24262
+ cookie?: never;
24263
+ };
24264
+ requestBody: {
24265
+ content: {
24266
+ "application/json": {
24267
+ output?: unknown;
24268
+ note?: string;
24269
+ };
24270
+ };
24271
+ };
24272
+ responses: {
24273
+ 200: components["responses"]["AimeatSuccess"];
24274
+ 402: components["responses"]["AimeatError"];
24275
+ 404: components["responses"]["AimeatError"];
24276
+ 409: components["responses"]["AimeatError"];
24277
+ };
24278
+ };
24279
+ exchangeInfo: {
24280
+ parameters: {
24281
+ query?: never;
24282
+ header?: never;
24283
+ path?: never;
24284
+ cookie?: never;
24285
+ };
24286
+ requestBody?: never;
24287
+ responses: {
24288
+ 200: components["responses"]["AimeatSuccess"];
24289
+ };
24290
+ };
24291
+ exchangeBrowseOfferings: {
24292
+ parameters: {
24293
+ query?: {
24294
+ ext?: string;
24295
+ action?: string;
24296
+ q?: string;
24297
+ stats?: "1";
24298
+ };
24299
+ header?: never;
24300
+ path?: never;
24301
+ cookie?: never;
24302
+ };
24303
+ requestBody?: never;
24304
+ responses: {
24305
+ 200: components["responses"]["AimeatSuccess"];
24306
+ };
24307
+ };
24308
+ exchangeListOffering: {
24309
+ parameters: {
24310
+ query?: never;
24311
+ header?: never;
24312
+ path?: never;
24313
+ cookie?: never;
24314
+ };
24315
+ requestBody: {
24316
+ content: {
24317
+ "application/json": {
24318
+ /**
24319
+ * @default ext-action
24320
+ * @enum {string}
24321
+ */
24322
+ kind?: "ext-action" | "app-tool" | "agent-work";
24323
+ /** @description ext-action kind — the extension name. */
24324
+ ext?: string;
24325
+ /** @description ext-action kind — the action id. */
24326
+ action?: string;
24327
+ /** @description app-tool kind — the app filename whose manifest holds the tool. */
24328
+ app_id?: string;
24329
+ /** @description app-tool kind — the tool name in apps.{app_id}.tools. */
24330
+ tool?: string;
24331
+ /** @description agent-work kind — your agent that performs the task. */
24332
+ agent_name?: string;
24333
+ /** @description agent-work kind — the task type it performs. */
24334
+ task_type?: string;
24335
+ /** @description agent-work kind — what the consumer sends (required). */
24336
+ input_schema?: Record<string, never>;
24337
+ /** @description agent-work kind — what the agent delivers (required). */
24338
+ output_schema?: Record<string, never>;
24339
+ /** @description agent-work kind — per-task morsel price. */
24340
+ price_morsels?: number;
24341
+ /** @description agent-work kind — per-task money price { amount (micros), currency }. */
24342
+ price_money?: Record<string, never>;
24343
+ /** @description agent-work kind — optional bundle/subscription plans. */
24344
+ plans?: Record<string, never>[];
24345
+ title?: string;
24346
+ description?: string;
24347
+ /** @description Provider attestation, validated (400 INVALID_PROVENANCE): { source, legalBasis, consentStatus, retention, transformations, snapshotHash (SHA-256), lineage[{source,transform,at}] }. The node stamps odpsVersion. */
24348
+ provenance?: {
24349
+ source?: string;
24350
+ legalBasis?: string;
24351
+ consentStatus?: string;
24352
+ retention?: string;
24353
+ transformations?: string;
24354
+ snapshotHash?: string;
24355
+ lineage?: Record<string, never>[];
24356
+ };
24357
+ /** @description ODPS v4.1 fields the node cannot derive, validated (400 INVALID_ODPS): productType, valueProposition, categories, standards, useCases, contentSample, logoURL, sla[{dimension,objective,unit}], dataQuality[{dimension,objective,unit}], dataHolder{legalName,…}, license{geographicalArea,applicableLaws,exclusive,…}. Surfaced at GET /v1/exchange/offerings/{id}/odps.yaml. */
24358
+ odps?: Record<string, never>;
24359
+ tags?: string[];
24360
+ usage_terms: {
24361
+ derivatives?: boolean;
24362
+ resale?: boolean;
24363
+ attribution?: boolean;
24364
+ note?: string;
24365
+ };
24366
+ };
24367
+ };
24368
+ };
24369
+ responses: {
24370
+ 201: components["responses"]["AimeatSuccess"];
24371
+ 400: components["responses"]["AimeatError"];
24372
+ 403: components["responses"]["AimeatError"];
24373
+ 404: components["responses"]["AimeatError"];
24374
+ };
24375
+ };
24376
+ exchangeOfferingDetail: {
24377
+ parameters: {
24378
+ query?: never;
24379
+ header?: never;
24380
+ path: {
24381
+ id: string;
24382
+ };
24383
+ cookie?: never;
24384
+ };
24385
+ requestBody?: never;
24386
+ responses: {
24387
+ 200: components["responses"]["AimeatSuccess"];
24388
+ 404: components["responses"]["AimeatError"];
24389
+ };
24390
+ };
24391
+ exchangeDelistOffering: {
24392
+ parameters: {
24393
+ query?: {
24394
+ /** @description Delist a source-managed listing anyway (it returns on the next reconcile). */
24395
+ force?: "1";
24396
+ };
24397
+ header?: never;
24398
+ path: {
24399
+ id: string;
24400
+ };
24401
+ cookie?: never;
24402
+ };
24403
+ requestBody?: never;
24404
+ responses: {
24405
+ 200: components["responses"]["AimeatSuccess"];
24406
+ 404: components["responses"]["AimeatError"];
24407
+ 409: components["responses"]["AimeatError"];
24408
+ };
24409
+ };
24410
+ exchangeOfferingOdps: {
24411
+ parameters: {
24412
+ query?: {
24413
+ /** @description Serve the raw ODPS YAML document instead of the JSON envelope. */
24414
+ format?: "yaml";
24415
+ };
24416
+ header?: never;
24417
+ path: {
24418
+ id: string;
24419
+ };
24420
+ cookie?: never;
24421
+ };
24422
+ requestBody?: never;
24423
+ responses: {
24424
+ 200: components["responses"]["AimeatSuccess"];
24425
+ 404: components["responses"]["AimeatError"];
24426
+ };
24427
+ };
24428
+ exchangeOfferingOdpsYaml: {
24429
+ parameters: {
24430
+ query?: never;
24431
+ header?: never;
24432
+ path: {
24433
+ id: string;
24434
+ };
24435
+ cookie?: never;
24436
+ };
24437
+ requestBody?: never;
24438
+ responses: {
24439
+ /** @description The ODPS v4.1 document. */
24440
+ 200: {
24441
+ headers: {
24442
+ [name: string]: unknown;
24443
+ };
24444
+ content: {
24445
+ "text/yaml": string;
24446
+ };
24447
+ };
24448
+ 404: components["responses"]["AimeatError"];
24449
+ };
24450
+ };
24451
+ exchangeReconcileOfferings: {
24452
+ parameters: {
24453
+ query?: {
24454
+ dry_run?: "1";
24455
+ migrate?: "1";
24456
+ };
24457
+ header?: never;
24458
+ path?: never;
24459
+ cookie?: never;
24460
+ };
24461
+ requestBody?: {
24462
+ content: {
24463
+ "application/json": {
24464
+ /** @description Report only; write nothing. */
24465
+ dry_run?: boolean;
24466
+ /** @description Adopt hand-authored listings (flag their source, keep the offeringId). */
24467
+ migrate?: boolean;
24468
+ /** @description Reconcile only this app's tool manifest. */
24469
+ app_id?: string;
24470
+ /** @description Reconcile only this extension's actions. */
24471
+ ext?: string;
24472
+ /** @description Reconcile only this agent's offers. */
24473
+ agent?: string;
24474
+ };
24475
+ };
24476
+ };
24477
+ responses: {
24478
+ 200: components["responses"]["AimeatSuccess"];
24479
+ 401: components["responses"]["AimeatError"];
24480
+ };
24481
+ };
24482
+ exchangeOfferingConsumers: {
24483
+ parameters: {
24484
+ query?: never;
24485
+ header?: never;
24486
+ path: {
24487
+ id: string;
24488
+ };
24489
+ cookie?: never;
24490
+ };
24491
+ requestBody?: never;
24492
+ responses: {
24493
+ 200: components["responses"]["AimeatSuccess"];
24494
+ 404: components["responses"]["AimeatError"];
24495
+ };
24496
+ };
24497
+ exchangeBrowseNeeds: {
24498
+ parameters: {
24499
+ query?: {
24500
+ open?: string;
24501
+ mine?: string;
24502
+ };
24503
+ header?: never;
24504
+ path?: never;
24505
+ cookie?: never;
24506
+ };
24507
+ requestBody?: never;
24508
+ responses: {
24509
+ 200: components["responses"]["AimeatSuccess"];
24510
+ };
24511
+ };
24512
+ exchangePostNeed: {
24513
+ parameters: {
24514
+ query?: never;
24515
+ header?: never;
24516
+ path?: never;
24517
+ cookie?: never;
24518
+ };
24519
+ requestBody: {
24520
+ content: {
24521
+ "application/json": {
24522
+ description: string;
24523
+ /** @description REQUIRED — the requesting app (owner/filename). A need is always posted on behalf of the app that needs the data. */
24524
+ app_id: string;
24525
+ ext?: string;
24526
+ action?: string;
24527
+ /** @description The interface the app is waiting to call. */
24528
+ spec?: {
24529
+ requiredFields?: string[];
24530
+ format?: string;
24531
+ sample?: string;
24532
+ notes?: string;
24533
+ /** @description The shape the app will SEND on each call. */
24534
+ inputSchema?: Record<string, never>;
24535
+ /** @description The shape the app EXPECTS back (a provider builds a matching app-tool). */
24536
+ outputSchema?: Record<string, never>;
24537
+ };
24538
+ /** @description How the requester will USE the data — lets a provider judge before serving. */
24539
+ usage_intent?: string;
24540
+ /** @enum {string} */
24541
+ budget_unit?: "money" | "morsels";
24542
+ budget_cap?: number;
24543
+ /** @enum {string} */
24544
+ autonomy?: "supervised" | "auto";
24545
+ };
24546
+ };
24547
+ };
24548
+ responses: {
24549
+ 201: components["responses"]["AimeatSuccess"];
24550
+ 400: components["responses"]["AimeatError"];
24551
+ };
24552
+ };
24553
+ exchangeCloseNeed: {
24554
+ parameters: {
24555
+ query?: never;
24556
+ header?: never;
24557
+ path: {
24558
+ id: string;
24559
+ };
24560
+ cookie?: never;
24561
+ };
24562
+ requestBody?: never;
24563
+ responses: {
24564
+ 200: components["responses"]["AimeatSuccess"];
24565
+ 404: components["responses"]["AimeatError"];
24566
+ };
24567
+ };
24568
+ exchangeListBids: {
24569
+ parameters: {
24570
+ query?: never;
24571
+ header?: never;
24572
+ path: {
24573
+ id: string;
24574
+ };
24575
+ cookie?: never;
24576
+ };
24577
+ requestBody?: never;
24578
+ responses: {
24579
+ 200: components["responses"]["AimeatSuccess"];
24580
+ };
24581
+ };
24582
+ exchangeBidOnNeed: {
24583
+ parameters: {
24584
+ query?: never;
24585
+ header?: never;
24586
+ path: {
24587
+ id: string;
24588
+ };
24589
+ cookie?: never;
24590
+ };
24591
+ requestBody: {
24592
+ content: {
24593
+ "application/json": {
24594
+ ext: string;
24595
+ action: string;
24596
+ offering_id?: string;
24597
+ plan_id?: string;
24598
+ note?: string;
24599
+ };
24600
+ };
24601
+ };
24602
+ responses: {
24603
+ 201: components["responses"]["AimeatSuccess"];
24604
+ 400: components["responses"]["AimeatError"];
24605
+ 403: components["responses"]["AimeatError"];
24606
+ 409: components["responses"]["AimeatError"];
24607
+ };
24608
+ };
24609
+ exchangeAcceptBid: {
24610
+ parameters: {
24611
+ query?: never;
24612
+ header?: never;
24613
+ path: {
24614
+ id: string;
24615
+ bidId: string;
24616
+ };
24617
+ cookie?: never;
24618
+ };
24619
+ requestBody?: never;
24620
+ responses: {
24621
+ 201: components["responses"]["AimeatSuccess"];
24622
+ 400: components["responses"]["AimeatError"];
24623
+ 404: components["responses"]["AimeatError"];
24624
+ };
24625
+ };
22840
24626
  ledgerBilling: {
22841
24627
  parameters: {
22842
24628
  query?: {
@@ -25456,6 +27242,53 @@ export interface operations {
25456
27242
  200: components["responses"]["AimeatSuccess"];
25457
27243
  };
25458
27244
  };
27245
+ commercePayoutStatus: {
27246
+ parameters: {
27247
+ query?: never;
27248
+ header?: never;
27249
+ path?: never;
27250
+ cookie?: never;
27251
+ };
27252
+ requestBody?: never;
27253
+ responses: {
27254
+ 200: components["responses"]["AimeatSuccess"];
27255
+ 401: components["responses"]["AimeatError"];
27256
+ };
27257
+ };
27258
+ commercePayoutX402Set: {
27259
+ parameters: {
27260
+ query?: never;
27261
+ header?: never;
27262
+ path?: never;
27263
+ cookie?: never;
27264
+ };
27265
+ requestBody: {
27266
+ content: {
27267
+ "application/json": {
27268
+ /** @description EVM account address: 0x followed by 40 hex characters. */
27269
+ address: string;
27270
+ };
27271
+ };
27272
+ };
27273
+ responses: {
27274
+ 200: components["responses"]["AimeatSuccess"];
27275
+ 400: components["responses"]["AimeatError"];
27276
+ 401: components["responses"]["AimeatError"];
27277
+ };
27278
+ };
27279
+ commercePayoutX402Clear: {
27280
+ parameters: {
27281
+ query?: never;
27282
+ header?: never;
27283
+ path?: never;
27284
+ cookie?: never;
27285
+ };
27286
+ requestBody?: never;
27287
+ responses: {
27288
+ 200: components["responses"]["AimeatSuccess"];
27289
+ 401: components["responses"]["AimeatError"];
27290
+ };
27291
+ };
25459
27292
  listCheckoutSessions: {
25460
27293
  parameters: {
25461
27294
  query?: {
@@ -28144,6 +29977,48 @@ export interface operations {
28144
29977
  404: components["responses"]["NotFound"];
28145
29978
  };
28146
29979
  };
29980
+ getAppDraft: {
29981
+ parameters: {
29982
+ query?: never;
29983
+ header?: never;
29984
+ path: {
29985
+ owner: string;
29986
+ filename: string;
29987
+ };
29988
+ cookie?: never;
29989
+ };
29990
+ requestBody?: never;
29991
+ responses: {
29992
+ /** @description The draft content */
29993
+ 200: {
29994
+ headers: {
29995
+ [name: string]: unknown;
29996
+ };
29997
+ content: {
29998
+ "application/json": components["schemas"]["AimeatEnvelope"] & {
29999
+ data?: {
30000
+ filename?: string;
30001
+ /** @description base64-encoded draft HTML */
30002
+ content?: string;
30003
+ mime_type?: string;
30004
+ size?: number;
30005
+ /** Format: date-time */
30006
+ updated_at?: string;
30007
+ manifest?: Record<string, never>;
30008
+ };
30009
+ };
30010
+ };
30011
+ };
30012
+ 401: components["responses"]["Unauthorized"];
30013
+ /** @description No draft exists for this app */
30014
+ 404: {
30015
+ headers: {
30016
+ [name: string]: unknown;
30017
+ };
30018
+ content?: never;
30019
+ };
30020
+ };
30021
+ };
28147
30022
  saveAppDraft: {
28148
30023
  parameters: {
28149
30024
  query?: never;
@@ -28280,6 +30155,62 @@ export interface operations {
28280
30155
  };
28281
30156
  };
28282
30157
  };
30158
+ mintAppFrameToken: {
30159
+ parameters: {
30160
+ query?: never;
30161
+ header?: never;
30162
+ path: {
30163
+ owner: string;
30164
+ filename: string;
30165
+ };
30166
+ cookie?: never;
30167
+ };
30168
+ requestBody?: never;
30169
+ responses: {
30170
+ /** @description Frame grant minted */
30171
+ 200: {
30172
+ headers: {
30173
+ [name: string]: unknown;
30174
+ };
30175
+ content: {
30176
+ "application/json": components["schemas"]["AimeatEnvelope"] & {
30177
+ data?: {
30178
+ /** @description Use as an iframe src */
30179
+ frame_url?: string;
30180
+ /** @description The app's own origin */
30181
+ app_origin_url?: string;
30182
+ /** @description The one origin this grant names */
30183
+ granted_to?: string;
30184
+ expires_in_seconds?: number;
30185
+ note?: string;
30186
+ };
30187
+ };
30188
+ };
30189
+ };
30190
+ /** @description The request carried no usable Origin header */
30191
+ 400: {
30192
+ headers: {
30193
+ [name: string]: unknown;
30194
+ };
30195
+ content?: never;
30196
+ };
30197
+ 401: components["responses"]["Unauthorized"];
30198
+ /** @description No such app owned by the caller */
30199
+ 404: {
30200
+ headers: {
30201
+ [name: string]: unknown;
30202
+ };
30203
+ content?: never;
30204
+ };
30205
+ /** @description App origins are disabled on this node */
30206
+ 409: {
30207
+ headers: {
30208
+ [name: string]: unknown;
30209
+ };
30210
+ content?: never;
30211
+ };
30212
+ };
30213
+ };
28283
30214
  publishAppDraft: {
28284
30215
  parameters: {
28285
30216
  query?: never;
@@ -33272,6 +35203,32 @@ export interface operations {
33272
35203
  };
33273
35204
  };
33274
35205
  };
35206
+ clearNotifications: {
35207
+ parameters: {
35208
+ query?: never;
35209
+ header?: never;
35210
+ path?: never;
35211
+ cookie?: never;
35212
+ };
35213
+ requestBody?: {
35214
+ content: {
35215
+ "application/json": {
35216
+ /** @description Notification ids to clear (omit to clear all) */
35217
+ ids?: string[];
35218
+ };
35219
+ };
35220
+ };
35221
+ responses: {
35222
+ /** @description Count cleared ({ cleared }) */
35223
+ 200: {
35224
+ headers: {
35225
+ [name: string]: unknown;
35226
+ };
35227
+ content?: never;
35228
+ };
35229
+ 401: components["responses"]["Unauthorized"];
35230
+ };
35231
+ };
33275
35232
  markNotificationsRead: {
33276
35233
  parameters: {
33277
35234
  query?: never;
@@ -35237,12 +37194,27 @@ export interface operations {
35237
37194
  requestBody: {
35238
37195
  content: {
35239
37196
  "application/json": {
35240
- /** @description YAML manifest defining the extension metadata, actions, and limits */
35241
- manifest: string;
37197
+ /**
37198
+ * @description Presigned mode: omit `manifest`/`scripts` and receive an `upload_url`; PUT a ZIP
37199
+ * (manifest.yaml at root, scripts in scripts/) to it. Lets the mint and the upload
37200
+ * happen in one command so the upload token is never transcribed.
37201
+ * @enum {string}
37202
+ */
37203
+ mode?: "presigned";
37204
+ /** @description YAML manifest defining the extension metadata, actions, and limits (required unless mode=presigned) */
37205
+ manifest?: string;
35242
37206
  /** @description Key-value map of script filenames to JavaScript source code */
35243
- scripts: {
37207
+ scripts?: {
35244
37208
  [key: string]: string;
35245
37209
  };
37210
+ /**
37211
+ * @description Presigned only. Upsert an already-installed extension instead of 409. Activation
37212
+ * status, lifecycle stamps and the ext:{name} memory are preserved. Carried in the
37213
+ * upload token meta.
37214
+ */
37215
+ update?: boolean;
37216
+ /** @description Presigned only. Activate immediately after install/update. */
37217
+ activate?: boolean;
35246
37218
  };
35247
37219
  };
35248
37220
  };
@@ -37111,10 +39083,13 @@ export interface operations {
37111
39083
  };
37112
39084
  getPublicFile: {
37113
39085
  parameters: {
37114
- query?: never;
39086
+ query?: {
39087
+ /** @description Omit for raw bytes; `handle` returns a presigned download_url + metadata. */
39088
+ mode?: "handle";
39089
+ };
37115
39090
  header?: never;
37116
39091
  path: {
37117
- /** @description URL-encoded agent GAII */
39092
+ /** @description URL-encoded owner GHII / agent GAII that owns the file */
37118
39093
  gaii: string;
37119
39094
  /** @description File key (may contain path separators) */
37120
39095
  key: string;
@@ -37123,12 +39098,30 @@ export interface operations {
37123
39098
  };
37124
39099
  requestBody?: never;
37125
39100
  responses: {
37126
- /** @description File content with appropriate Content-Type */
39101
+ /** @description File bytes, or a JSON handle when `mode=handle` */
37127
39102
  200: {
37128
39103
  headers: {
37129
39104
  [name: string]: unknown;
37130
39105
  };
37131
- content?: never;
39106
+ content: {
39107
+ "application/octet-stream": string;
39108
+ "application/json": components["schemas"]["AimeatEnvelope"] & {
39109
+ data?: {
39110
+ ref?: string;
39111
+ owner_gaii?: string;
39112
+ key?: string;
39113
+ /** @enum {string} */
39114
+ mode?: "handle";
39115
+ mime_type?: string;
39116
+ size?: number;
39117
+ visibility?: string;
39118
+ download_url?: string;
39119
+ /** @enum {string} */
39120
+ download_method?: "GET";
39121
+ expires_in_seconds?: number;
39122
+ };
39123
+ };
39124
+ };
37132
39125
  };
37133
39126
  403: components["responses"]["Forbidden"];
37134
39127
  404: components["responses"]["NotFound"];
@@ -39810,6 +41803,7 @@ export interface operations {
39810
41803
  /** @default false */
39811
41804
  done?: boolean;
39812
41805
  }[];
41806
+ resources?: components["schemas"]["AgentTaskResources"];
39813
41807
  };
39814
41808
  };
39815
41809
  };
@@ -46729,6 +48723,11 @@ export interface operations {
46729
48723
  locale?: string;
46730
48724
  /** @description Optional; min 8 chars */
46731
48725
  password?: string;
48726
+ /**
48727
+ * Format: email
48728
+ * @description Optional; REQUIRED when the email gate is on. Recorded + a verification code sent.
48729
+ */
48730
+ email?: string;
46732
48731
  };
46733
48732
  };
46734
48733
  };
@@ -46755,6 +48754,10 @@ export interface operations {
46755
48754
  name?: string;
46756
48755
  roles?: string[];
46757
48756
  };
48757
+ /** @description Present when an email was supplied; confirm it via POST /v1/ghii/verify-email */
48758
+ verification_id?: string | null;
48759
+ /** @description Whether a verification email was dispatched (email service must be enabled) */
48760
+ email_sent?: boolean;
46758
48761
  private_key?: string;
46759
48762
  public_key?: string;
46760
48763
  has_password?: boolean;
@@ -46763,8 +48766,20 @@ export interface operations {
46763
48766
  };
46764
48767
  };
46765
48768
  };
46766
- 400: components["responses"]["BadRequest"];
46767
- 409: components["responses"]["Conflict"];
48769
+ /** @description Invalid input, or EMAIL_REQUIRED when the node's email gate is on and no email was supplied */
48770
+ 400: {
48771
+ headers: {
48772
+ [name: string]: unknown;
48773
+ };
48774
+ content?: never;
48775
+ };
48776
+ /** @description NAME_TAKEN, or EMAIL_TAKEN when the email is already verified on another account */
48777
+ 409: {
48778
+ headers: {
48779
+ [name: string]: unknown;
48780
+ };
48781
+ content?: never;
48782
+ };
46768
48783
  };
46769
48784
  };
46770
48785
  deleteGhii: {