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
@@ -0,0 +1,570 @@
1
+ /**
2
+ * @file markdown/index.js
3
+ * @description The aimeat-markdown library (SDK-libs migration Phase 2). A vanilla, dependency-free,
4
+ * XSS-safe GitHub-flavored-Markdown renderer for standalone published apps + cortex. render() builds
5
+ * the DOM with createElement/textContent (never innerHTML for content) so LLM-authored markdown has
6
+ * no raw-HTML/<script> surface; hrefs + img srcs are scheme-sanitized. renderToString() serializes
7
+ * the safe subset. renderRich() runs the full GFM pipeline (markdown-it + task lists + footnotes +
8
+ * DOMPurify + highlight.js from jsDelivr; mermaid from the node's vendored /lib/mermaid), falling
9
+ * back to render() when any CDN dep fails. ```aimeat-memory fences become live data embeds.
10
+ * Componentized ESM source esbuild bundles to the IIFE served, unchanged, at /v1/libs/aimeat-markdown.js.
11
+ * Ported verbatim from lib-markdown.ts; NODE_URL now comes from _core/config.
12
+ * @structure imports NODE_URL (config) + attach (namespace); sanitize/inline/block parsers; render/
13
+ * renderToString/renderRich; rich CDN loaders; live memory embeds; attach('md', …).
14
+ * @usage <script src="/v1/libs/aimeat-markdown.js"></script> AIMEAT.md.render(md, '#out')
15
+ * @version-history
16
+ * v1.0.0 — 2026-07-19 — Migrated from src/routes/lib-markdown.ts (SDK-libs migration Phase 2).
17
+ * v1.1.0 — 2026-07-25 — Added AIMEAT.md.citations(text): pulls `Source:`/`Sources:` lines, inline
18
+ * lenticular 【url】 citations and bare URLs out of LLM prose into one source list (host +
19
+ * shortener flag). Every app rendering agent output had hand-rolled this, and the hand-rolled
20
+ * URL regexes kept including the closing 】 in the href.
21
+ */
22
+ import { NODE_URL } from '../_core/config.js';
23
+ import { attach } from '../_core/namespace.js';
24
+
25
+ var BT = String.fromCharCode(96); // backtick
26
+ var SAFE = /^(https?:|mailto:)/i;
27
+ var SAFE_IMG = /^(https?:|blob:)/i;
28
+
29
+ function sanitizeHref(url) {
30
+ if (typeof url !== 'string') return null;
31
+ var t = url.trim();
32
+ if (!/^[a-z][a-z0-9+.-]*:/i.test(t)) return t; // relative / fragment links are safe
33
+ return SAFE.test(t) ? t : null;
34
+ }
35
+ function sanitizeImgSrc(url) {
36
+ if (typeof url !== 'string') return null;
37
+ var t = url.trim();
38
+ if (!/^[a-z][a-z0-9+.-]*:/i.test(t)) return t; // relative (e.g. /v1/pub/…)
39
+ return SAFE_IMG.test(t) ? t : null;
40
+ }
41
+
42
+ function txt(s) { return document.createTextNode(s == null ? '' : String(s)); }
43
+ function append(node, kids) {
44
+ if (kids == null) return;
45
+ if (!Array.isArray(kids)) kids = [kids];
46
+ for (var i = 0; i < kids.length; i++) {
47
+ var c = kids[i];
48
+ if (c == null) continue;
49
+ node.appendChild(typeof c === 'string' ? txt(c) : c);
50
+ }
51
+ }
52
+ function el(tag, attrs, kids) {
53
+ var n = document.createElement(tag);
54
+ if (attrs) for (var k in attrs) { if (attrs[k] != null) n.setAttribute(k, attrs[k]); }
55
+ append(n, kids);
56
+ return n;
57
+ }
58
+
59
+ // ── Inline parsing: image, code, link, bold, italic. Returns an array of (string | Node).
60
+ function parseInline(text) {
61
+ var out = [], i = 0, buf = '';
62
+ function flush() { if (buf) { out.push(buf); buf = ''; } }
63
+ while (i < text.length) {
64
+ var c = text[i];
65
+ // Image ![alt](url)
66
+ if (c === '!' && text[i + 1] === '[') {
67
+ var close = text.indexOf(']', i + 2);
68
+ if (close > i && text[close + 1] === '(') {
69
+ var paren = text.indexOf(')', close + 2);
70
+ if (paren > close) {
71
+ var src = sanitizeImgSrc(text.slice(close + 2, paren));
72
+ flush();
73
+ if (src) out.push(el('img', { src: src, alt: text.slice(i + 2, close), 'class': 'md-img', loading: 'lazy' }));
74
+ i = paren + 1; continue;
75
+ }
76
+ }
77
+ }
78
+ // Inline code
79
+ if (c === BT) {
80
+ var endc = text.indexOf(BT, i + 1);
81
+ if (endc > i) { flush(); out.push(el('code', { 'class': 'md-code' }, text.slice(i + 1, endc))); i = endc + 1; continue; }
82
+ }
83
+ // Link [label](url)
84
+ if (c === '[') {
85
+ var lc = text.indexOf(']', i + 1);
86
+ if (lc > i && text[lc + 1] === '(') {
87
+ var lp = text.indexOf(')', lc + 2);
88
+ if (lp > lc) {
89
+ var href = sanitizeHref(text.slice(lc + 2, lp));
90
+ var label = parseInline(text.slice(i + 1, lc));
91
+ flush();
92
+ out.push(href
93
+ ? el('a', { href: href, target: '_blank', rel: 'noopener noreferrer nofollow' }, label)
94
+ : el('span', null, label));
95
+ i = lp + 1; continue;
96
+ }
97
+ }
98
+ }
99
+ // Bold **...**
100
+ if (c === '*' && text[i + 1] === '*') {
101
+ var be = text.indexOf('**', i + 2);
102
+ if (be > i) { flush(); out.push(el('strong', null, parseInline(text.slice(i + 2, be)))); i = be + 2; continue; }
103
+ }
104
+ // Italic *...*
105
+ if (c === '*') {
106
+ var ie = text.indexOf('*', i + 1);
107
+ if (ie > i) { flush(); out.push(el('em', null, parseInline(text.slice(i + 1, ie)))); i = ie + 1; continue; }
108
+ }
109
+ // Italic _..._ at word boundaries (so snake_case stays literal)
110
+ if (c === '_' && (i === 0 || !/\w/.test(text[i - 1])) && text[i + 1] && text[i + 1] !== ' ') {
111
+ var j = i + 1;
112
+ while ((j = text.indexOf('_', j)) >= 0) {
113
+ var after = text[j + 1];
114
+ if (text[j - 1] !== ' ' && (after === undefined || !/\w/.test(after))) break;
115
+ j++;
116
+ }
117
+ if (j >= 0) { flush(); out.push(el('em', null, parseInline(text.slice(i + 1, j)))); i = j + 1; continue; }
118
+ }
119
+ buf += c; i++;
120
+ }
121
+ flush();
122
+ return out;
123
+ }
124
+
125
+ function tableRow(line) {
126
+ var cells = line.trim().split('|');
127
+ if (cells.length && cells[0] === '') cells = cells.slice(1);
128
+ if (cells.length && cells[cells.length - 1] === '') cells = cells.slice(0, -1);
129
+ return cells.map(function (c) { return c.trim(); });
130
+ }
131
+ function isDivider(line) { return /^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)*\|?\s*$/.test(line); }
132
+ function fenceInfo(line) {
133
+ var t = line.replace(/^\s+/, ''), ch = t.charAt(0);
134
+ if ((ch === BT || ch === '~') && t.slice(0, 3) === ch + ch + ch) return { marker: ch, lang: t.slice(3).trim().toLowerCase() };
135
+ return null;
136
+ }
137
+ function isFenceLine(line) { return fenceInfo(line) !== null; }
138
+ function isHeading(line) { return /^#{1,6}\s/.test(line); }
139
+ function isQuote(line) { return /^\s*>/.test(line); }
140
+ function isHr(line) { return /^\s*([-*_])\1{2,}\s*$/.test(line); }
141
+ function isUl(line) { return /^(\s*)([-*+])\s+/.test(line); }
142
+ function isOl(line) { return /^(\s*)(\d+)\.\s+/.test(line); }
143
+ function isBlockStart(line) { return isFenceLine(line) || isHeading(line) || isQuote(line) || isUl(line) || isOl(line); }
144
+
145
+ function parseBlocks(src) {
146
+ var lines = src.replace(/\r\n?/g, '\n').split('\n');
147
+ var blocks = [], i = 0;
148
+ while (i < lines.length) {
149
+ var line = lines[i];
150
+ if (line.trim() === '') { i++; continue; }
151
+
152
+ var fence = fenceInfo(line);
153
+ if (fence) {
154
+ var code = []; i++;
155
+ while (i < lines.length && lines[i].trim().split('').join('') !== '' &&
156
+ !(lines[i].trim().length >= 3 && lines[i].trim().split('').every(function (x) { return x === fence.marker; }))) {
157
+ code.push(lines[i]); i++;
158
+ }
159
+ i++; // consume closing fence (or EOF)
160
+ if (fence.lang === 'aimeat-memory') {
161
+ // live-data embed marker — renderRich's post-pass resolves it; plain render() leaves
162
+ // the spec visible as a code-style block (safe degrade).
163
+ blocks.push(el('pre', { 'class': 'md-pre md-mem-src' }, el('code', { 'class': 'md-code' }, code.join('\n'))));
164
+ } else {
165
+ blocks.push(el('pre', { 'class': 'md-pre' }, el('code', { 'class': 'md-code' }, code.join('\n'))));
166
+ }
167
+ continue;
168
+ }
169
+
170
+ var h = line.match(/^(#{1,6})\s+(.*)$/);
171
+ if (h) { blocks.push(el('h' + h[1].length, null, parseInline(h[2].trim()))); i++; continue; }
172
+
173
+ if (isQuote(line)) {
174
+ var quoted = [];
175
+ while (i < lines.length && isQuote(lines[i])) { quoted.push(lines[i].replace(/^\s*>\s?/, '')); i++; }
176
+ blocks.push(el('blockquote', null, parseBlocks(quoted.join('\n'))));
177
+ continue;
178
+ }
179
+
180
+ if (line.indexOf('|') !== -1 && i + 1 < lines.length && isDivider(lines[i + 1])) {
181
+ var header = tableRow(line); i += 2;
182
+ var rows = [];
183
+ while (i < lines.length && lines[i].indexOf('|') !== -1 && lines[i].trim() !== '') { rows.push(tableRow(lines[i])); i++; }
184
+ var thead = el('thead', null, el('tr', null, header.map(function (c) { return el('th', null, parseInline(c)); })));
185
+ var tbody = el('tbody', null, rows.map(function (r) {
186
+ return el('tr', null, r.map(function (c) { return el('td', null, parseInline(c)); }));
187
+ }));
188
+ blocks.push(el('table', null, [thead, tbody]));
189
+ continue;
190
+ }
191
+
192
+ if (isHr(line)) { blocks.push(el('hr', { 'class': 'md-hr' })); i++; continue; }
193
+
194
+ if (isUl(line) || isOl(line)) {
195
+ var ordered = isOl(line), items = [];
196
+ while (i < lines.length && (ordered ? isOl(lines[i]) : isUl(lines[i]))) {
197
+ var m = lines[i].match(ordered ? /^(\s*)(\d+)\.\s+(.*)$/ : /^(\s*)([-*+])\s+(.*)$/);
198
+ var parts = [m[3]]; i++;
199
+ while (i < lines.length && lines[i].trim() !== '' && !isUl(lines[i]) && !isOl(lines[i]) &&
200
+ !isHeading(lines[i]) && !isFenceLine(lines[i]) && !isQuote(lines[i]) && !isHr(lines[i])) {
201
+ parts.push(lines[i].trim()); i++;
202
+ }
203
+ items.push(el('li', null, parseInline(parts.join(' '))));
204
+ }
205
+ blocks.push(el(ordered ? 'ol' : 'ul', null, items));
206
+ continue;
207
+ }
208
+
209
+ var para = [];
210
+ while (i < lines.length && lines[i].trim() !== '' && !isBlockStart(lines[i])) { para.push(lines[i]); i++; }
211
+ blocks.push(el('p', null, parseInline(para.join(' '))));
212
+ }
213
+ return blocks;
214
+ }
215
+
216
+ function render(text, target) {
217
+ var div = el('div', { 'class': 'md-body' }, parseBlocks(typeof text === 'string' ? text : ''));
218
+ if (target) {
219
+ var t = typeof target === 'string' ? document.querySelector(target) : target;
220
+ if (t) { t.innerHTML = ''; t.appendChild(div); } // div content is built with createElement — safe
221
+ }
222
+ return div;
223
+ }
224
+ // String form of the safe-subset renderer, for callers that must assign to innerHTML.
225
+ function renderToString(text) { return render(text).outerHTML; }
226
+
227
+ // ── rich pipeline (markdown-it + DOMPurify + hljs + mermaid), lazy-loaded on first use ──
228
+ var RICH_CSS = '.md-body li.task-list-item{list-style:none;margin-left:-1.2rem;}' +
229
+ '.md-body li.task-list-item input[type=checkbox]{margin-right:.45rem;vertical-align:-1px;}' +
230
+ '.md-body .footnotes{font-size:.85rem;opacity:.75;}' +
231
+ '.md-body pre.md-mermaid{position:relative;}' +
232
+ '.md-body pre.md-mermaid::after{content:"mermaid";position:absolute;top:.35rem;right:.55rem;font-size:.62rem;opacity:.6;}' +
233
+ '.md-body pre.md-mermaid.md-mermaid-err::after{content:"mermaid — syntax error, showing source";color:#e06c75;opacity:1;}' +
234
+ '.md-body .md-mermaid-svg{margin:.8rem 0;overflow-x:auto;text-align:center;}' +
235
+ '.md-body .md-mermaid-svg svg{max-width:100%;height:auto;}' +
236
+ '.md-body .hljs-comment,.md-body .hljs-quote{color:#7d8799;font-style:italic;}' +
237
+ '.md-body .hljs-keyword,.md-body .hljs-selector-tag,.md-body .hljs-doctag{color:#a626a4;}' +
238
+ '.md-body .hljs-string,.md-body .hljs-regexp,.md-body .hljs-addition{color:#50a14f;}' +
239
+ '.md-body .hljs-number,.md-body .hljs-literal,.md-body .hljs-attr{color:#986801;}' +
240
+ '.md-body .hljs-title,.md-body .hljs-name,.md-body .hljs-section{color:#4078f2;}' +
241
+ '.md-body .hljs-built_in,.md-body .hljs-type{color:#c18401;}' +
242
+ '.md-body .hljs-symbol,.md-body .hljs-bullet,.md-body .hljs-meta,.md-body .hljs-selector-id,.md-body .hljs-variable,.md-body .hljs-template-variable{color:#0184bb;}' +
243
+ '.md-body .hljs-deletion{color:#ca1243;}.md-body .hljs-emphasis{font-style:italic;}.md-body .hljs-strong{font-weight:700;}' +
244
+ '[data-theme="dark"] .md-body .hljs-comment,[data-theme="dark"] .md-body .hljs-quote{color:#7f848e;}' +
245
+ '[data-theme="dark"] .md-body .hljs-keyword,[data-theme="dark"] .md-body .hljs-selector-tag,[data-theme="dark"] .md-body .hljs-doctag{color:#c678dd;}' +
246
+ '[data-theme="dark"] .md-body .hljs-string,[data-theme="dark"] .md-body .hljs-regexp,[data-theme="dark"] .md-body .hljs-addition{color:#98c379;}' +
247
+ '[data-theme="dark"] .md-body .hljs-number,[data-theme="dark"] .md-body .hljs-literal,[data-theme="dark"] .md-body .hljs-attr{color:#d19a66;}' +
248
+ '[data-theme="dark"] .md-body .hljs-title,[data-theme="dark"] .md-body .hljs-name,[data-theme="dark"] .md-body .hljs-section{color:#61afef;}' +
249
+ '[data-theme="dark"] .md-body .hljs-built_in,[data-theme="dark"] .md-body .hljs-type{color:#e5c07b;}' +
250
+ '[data-theme="dark"] .md-body .hljs-symbol,[data-theme="dark"] .md-body .hljs-bullet,[data-theme="dark"] .md-body .hljs-meta,[data-theme="dark"] .md-body .hljs-selector-id,[data-theme="dark"] .md-body .hljs-variable,[data-theme="dark"] .md-body .hljs-template-variable{color:#56b6c2;}' +
251
+ '[data-theme="dark"] .md-body .hljs-deletion{color:#e06c75;}' +
252
+ // Theme-neutral embed chrome: LIGHT fallbacks by default, dark fallbacks only under
253
+ // [data-theme="dark"]. The old dark-hex fallbacks rendered black boxes inside light-themed
254
+ // apps that don't define the daisyUI --color-base-* variables (AEB-2 finding).
255
+ '.md-body .md-mem{border:1px solid var(--color-base-300,#d8dde4);border-radius:8px;padding:.5em .8em .7em;margin:1em 0;background:var(--color-base-200,#f4f5f7);}' +
256
+ '[data-theme="dark"] .md-body .md-mem{border-color:var(--color-base-300,#3a3a3a);background:var(--color-base-200,#1c1c1c);}' +
257
+ '.md-body .md-mem-head{display:flex;align-items:center;gap:.6em;font-size:.78rem;opacity:.75;margin-bottom:.35em;}' +
258
+ '.md-body .md-mem-title{font-family:ui-monospace,Menlo,Consolas,monospace;overflow-wrap:anywhere;flex:1;}' +
259
+ '.md-body .md-mem-refresh{border:none;background:transparent;color:inherit;cursor:pointer;border-radius:4px;padding:0 .3em;font-size:.9rem;}' +
260
+ '.md-body .md-mem table{margin:.3em 0 0;}' +
261
+ '.md-body .md-mem-note{opacity:.75;font-size:.88rem;padding:.2em 0;}' +
262
+ '.md-body .md-mem-err{color:#e06c75;opacity:1;}' +
263
+ '.md-body .md-mem-more{opacity:.7;font-size:.78rem;margin-top:.3em;}' +
264
+ '.md-body .md-mem-value{white-space:pre-wrap;overflow-wrap:anywhere;}';
265
+ function injectRichCss() {
266
+ if (document.getElementById('aimeat-md-rich-styles')) return;
267
+ var s = document.createElement('style');
268
+ s.id = 'aimeat-md-rich-styles';
269
+ s.textContent = RICH_CSS;
270
+ (document.head || document.documentElement).appendChild(s);
271
+ }
272
+ var _scriptP = {};
273
+ function loadScript(src) {
274
+ if (_scriptP[src]) return _scriptP[src];
275
+ _scriptP[src] = new Promise(function (resolve, reject) {
276
+ var s = document.createElement('script');
277
+ s.src = src;
278
+ s.onload = function () { resolve(undefined); };
279
+ s.onerror = function () { delete _scriptP[src]; reject(new Error('failed to load ' + src)); };
280
+ document.head.appendChild(s);
281
+ });
282
+ return _scriptP[src];
283
+ }
284
+ var _richP = null;
285
+ function ensureRich() {
286
+ if (window.markdownit && window.DOMPurify) return Promise.resolve();
287
+ if (_richP) return _richP;
288
+ _richP = loadScript('https://cdn.jsdelivr.net/npm/markdown-it@14/dist/markdown-it.min.js').then(function () {
289
+ return Promise.all([
290
+ loadScript('https://cdn.jsdelivr.net/npm/markdown-it-task-lists@2/dist/markdown-it-task-lists.min.js').catch(function () {}),
291
+ loadScript('https://cdn.jsdelivr.net/npm/markdown-it-footnote@4/dist/markdown-it-footnote.min.js').catch(function () {}),
292
+ loadScript('https://cdn.jsdelivr.net/npm/dompurify@3/dist/purify.min.js'),
293
+ loadScript('https://cdn.jsdelivr.net/npm/@highlightjs/cdn-assets@11/highlight.min.js').catch(function () {}),
294
+ ]);
295
+ }).catch(function (e) { _richP = null; throw e; });
296
+ return _richP;
297
+ }
298
+ var _mermaidP = null, _mmSeq = 0;
299
+ function loadMermaid() {
300
+ if (window.mermaid) return Promise.resolve(window.mermaid);
301
+ if (_mermaidP) return _mermaidP;
302
+ _mermaidP = new Promise(function (resolve, reject) {
303
+ var s = document.createElement('script');
304
+ s.src = NODE_URL + '/lib/mermaid/mermaid.min.js'; // vendored on the node, ~3MB — lazy
305
+ s.onload = function () {
306
+ try {
307
+ window.mermaid.initialize({
308
+ startOnLoad: false, securityLevel: 'strict', flowchart: { htmlLabels: false },
309
+ suppressErrorRendering: true, // parse errors must NOT inject mermaid's error bomb into <body>
310
+ theme: document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'neutral',
311
+ });
312
+ resolve(window.mermaid);
313
+ } catch (e) { reject(e); }
314
+ };
315
+ s.onerror = function () { _mermaidP = null; reject(new Error('mermaid load failed')); };
316
+ document.head.appendChild(s);
317
+ });
318
+ return _mermaidP;
319
+ }
320
+ function renderMermaids(container) {
321
+ var nodes = container.querySelectorAll('pre.md-mermaid');
322
+ if (!nodes.length) return;
323
+ loadMermaid().then(function (mm) {
324
+ nodes.forEach(function (preEl) {
325
+ mm.render('aimd-' + (_mmSeq++), preEl.textContent || '').then(function (r) {
326
+ if (!preEl.isConnected) return;
327
+ var d = document.createElement('div');
328
+ d.className = 'md-mermaid-svg';
329
+ d.innerHTML = r.svg; // mermaid output, securityLevel:'strict'
330
+ preEl.replaceWith(d);
331
+ }).catch(function () { preEl.classList.add('md-mermaid-err'); /* keep raw source visible */ });
332
+ });
333
+ }).catch(function () { /* renderer unavailable — raw source stays */ });
334
+ }
335
+ // ── live memory embeds (aimeat-memory fence) ──
336
+ function parseEmbedSpec(text) {
337
+ var spec = {};
338
+ String(text || '').split('\n').forEach(function (line) {
339
+ var m = line.match(/^\s*([a-zA-Z_-]+)\s*[:=]\s*(.+?)\s*$/);
340
+ if (!m) return;
341
+ var k = m[1].toLowerCase();
342
+ if (k === 'fields') spec.fields = m[2].split(',').map(function (s) { return s.trim(); }).filter(Boolean);
343
+ else spec[k] = m[2];
344
+ });
345
+ return spec;
346
+ }
347
+ function memCellText(v) {
348
+ if (v == null) return '—';
349
+ var s = typeof v === 'object' ? JSON.stringify(v) : String(v);
350
+ return s.length > 160 ? s.slice(0, 160) + '…' : s;
351
+ }
352
+ function isPlainObj(v) { return v !== null && typeof v === 'object' && !Array.isArray(v); }
353
+ function buildMemBody(spec, value) {
354
+ var view = (spec.view || 'auto').toLowerCase();
355
+ if (view === 'auto') {
356
+ if (Array.isArray(value)) view = value.length && value.every(isPlainObj) ? 'table' : 'list';
357
+ else if (isPlainObj(value)) view = 'props';
358
+ else view = 'value';
359
+ }
360
+ if (view === 'json') return el('pre', { 'class': 'md-pre' }, el('code', { 'class': 'md-code' }, JSON.stringify(value, null, 2)));
361
+ if (view === 'table') {
362
+ var rows = (Array.isArray(value) ? value : []).filter(isPlainObj);
363
+ var cols = (spec.fields && spec.fields.length) ? spec.fields : [];
364
+ if (!cols.length) {
365
+ rows.forEach(function (r) { Object.keys(r).forEach(function (k) { if (cols.indexOf(k) < 0 && cols.length < 10) cols.push(k); }); });
366
+ }
367
+ var table = el('table', null, [
368
+ el('thead', null, el('tr', null, cols.map(function (c) { return el('th', null, c); }))),
369
+ el('tbody', null, rows.slice(0, 200).map(function (r) {
370
+ return el('tr', null, cols.map(function (c) { return el('td', null, memCellText(r[c])); }));
371
+ })),
372
+ ]);
373
+ var out = [table];
374
+ if (rows.length > 200) out.push(el('div', { 'class': 'md-mem-more' }, '… ' + (rows.length - 200) + ' more rows'));
375
+ return el('div', null, out);
376
+ }
377
+ if (view === 'props') {
378
+ var obj = isPlainObj(value) ? value : {};
379
+ return el('table', null, el('tbody', null, Object.keys(obj).map(function (k) {
380
+ return el('tr', null, [el('th', null, k), el('td', null, memCellText(obj[k]))]);
381
+ })));
382
+ }
383
+ if (view === 'list') {
384
+ var arr = Array.isArray(value) ? value : [value];
385
+ return el('ul', null, arr.slice(0, 200).map(function (v) { return el('li', null, memCellText(v)); }));
386
+ }
387
+ return el('div', { 'class': 'md-mem-value' }, memCellText(value));
388
+ }
389
+ function renderOneEmbed(preEl) {
390
+ var spec = parseEmbedSpec(preEl.textContent || '');
391
+ var box = el('div', { 'class': 'md-mem' });
392
+ var title = el('span', { 'class': 'md-mem-title' }, spec.title || spec.key || 'aimeat-memory');
393
+ var refresh = el('button', { type: 'button', 'class': 'md-mem-refresh', title: 'Refresh' }, '↻');
394
+ box.appendChild(el('div', { 'class': 'md-mem-head' }, [title, refresh]));
395
+ var body = el('div', { 'class': 'md-mem-note' }, 'Loading…');
396
+ box.appendChild(body);
397
+ function setBody(node) { box.replaceChild(node, body); body = node; }
398
+ function note(msg, err) { setBody(el('div', { 'class': 'md-mem-note' + (err ? ' md-mem-err' : '') }, msg)); }
399
+ async function load() {
400
+ if (!spec.key) { note('The block declares no key', true); return; }
401
+ try {
402
+ var envl;
403
+ if (spec.owner) {
404
+ var r = await fetch(NODE_URL + '/v1/memory/' + encodeURIComponent(spec.owner) + '/' + encodeURIComponent(spec.key));
405
+ envl = await r.json();
406
+ } else {
407
+ var auth = window.AIMEAT && window.AIMEAT.auth;
408
+ var s = auth && auth.getSession && auth.getSession();
409
+ if (!s || !s.jwt) { note('Sign in to view this data', true); return; }
410
+ // owner_scope: resolve keys across the owner's identities (agents included)
411
+ envl = await s.fetch('/v1/memory/' + encodeURIComponent(spec.key) + '?owner_scope=true');
412
+ if (envl && typeof envl.json === 'function') envl = await envl.json();
413
+ }
414
+ if (!envl || envl.ok === false) {
415
+ var code = (envl && envl.error && envl.error.code) || '';
416
+ if (code === 'NOT_FOUND') note('Key not found', true);
417
+ else if (code === 'AUTH_REQUIRED') note('Sign in to view this data', true);
418
+ else if (/SCOPE|FORBIDDEN|CONSENT|ACCESS|DENIED/.test(code)) note('🔒 No permission to read this key', true);
419
+ else note('Could not load (' + ((envl && envl.error && envl.error.message) || code || '?') + ')', true);
420
+ return;
421
+ }
422
+ var value = envl.data ? envl.data.value : undefined;
423
+ if (value == null) { note('(empty)'); return; }
424
+ setBody(buildMemBody(spec, value));
425
+ } catch (e) { note('Could not load (' + ((e && e.message) || '?') + ')', true); }
426
+ }
427
+ refresh.addEventListener('click', function () { note('Loading…'); load(); });
428
+ preEl.replaceWith(box);
429
+ load();
430
+ }
431
+ function renderMemoryEmbeds(container) {
432
+ container.querySelectorAll('pre.md-mem-src').forEach(function (p) { renderOneEmbed(p); });
433
+ }
434
+
435
+ var _mdit = null;
436
+ function getMdIt() {
437
+ if (_mdit) return _mdit;
438
+ if (!window.markdownit) return null;
439
+ var m = window.markdownit({
440
+ html: false, linkify: true,
441
+ highlight: function (code, lang) {
442
+ if (window.hljs && code.length < 30000) {
443
+ try {
444
+ if (lang && window.hljs.getLanguage(lang)) return window.hljs.highlight(code, { language: lang, ignoreIllegals: true }).value;
445
+ } catch { /* highlight failed — fall through to escaped */ }
446
+ }
447
+ return ''; // markdown-it escapes the code itself
448
+ },
449
+ });
450
+ try { if (window.markdownitTaskLists) m.use(window.markdownitTaskLists); } catch { /* plugin optional */ }
451
+ try { if (window.markdownitFootnote) m.use(window.markdownitFootnote); } catch { /* plugin optional */ }
452
+ var defFence = m.renderer.rules.fence || function (t, i, o, e, s) { return s.renderToken(t, i, o); };
453
+ m.renderer.rules.fence = function (tokens, idx, options, env, self) {
454
+ var t = tokens[idx];
455
+ var info = String(t.info || '').trim().toLowerCase();
456
+ if (info === 'mermaid') {
457
+ return '<pre class="md-mermaid">' + m.utils.escapeHtml(t.content) + '</pre>\n';
458
+ }
459
+ if (info === 'aimeat-memory') {
460
+ return '<pre class="md-mem-src">' + m.utils.escapeHtml(t.content) + '</pre>\n';
461
+ }
462
+ return defFence(tokens, idx, options, env, self);
463
+ };
464
+ _mdit = m;
465
+ return m;
466
+ }
467
+ // Full pipeline render. Resolves to the div.md-body element (also mounted into target when given).
468
+ // Any failure to load the CDN deps falls back to the dependency-free safe-subset render().
469
+ async function renderRich(text, target) {
470
+ text = typeof text === 'string' ? text : '';
471
+ var div;
472
+ try {
473
+ await ensureRich();
474
+ injectRichCss();
475
+ var m = getMdIt();
476
+ if (!m || !window.DOMPurify) throw new Error('rich pipeline unavailable');
477
+ div = el('div', { 'class': 'md-body' });
478
+ div.innerHTML = window.DOMPurify.sanitize(m.render(text));
479
+ div.querySelectorAll('a[href]').forEach(function (a) {
480
+ a.setAttribute('target', '_blank'); a.setAttribute('rel', 'noopener noreferrer nofollow');
481
+ });
482
+ div.querySelectorAll('input[type=checkbox]').forEach(function (cb) { /** @type {HTMLInputElement} */ (cb).disabled = true; });
483
+ renderMermaids(div);
484
+ } catch {
485
+ div = render(text);
486
+ }
487
+ injectRichCss();
488
+ renderMemoryEmbeds(div); // resolves in both paths — the safe-subset fallback also marks the fence
489
+ if (target) {
490
+ var t = typeof target === 'string' ? document.querySelector(target) : target;
491
+ if (t) { t.innerHTML = ''; t.appendChild(div); }
492
+ }
493
+ return div;
494
+ }
495
+
496
+ var CSS = '.md-body{line-height:1.6;color:var(--color-base-content,#e6e6e6);word-wrap:break-word;}' +
497
+ '.md-body>:first-child{margin-top:0;}.md-body>:last-child{margin-bottom:0;}' +
498
+ '.md-body h1,.md-body h2,.md-body h3,.md-body h4,.md-body h5,.md-body h6{font-weight:700;line-height:1.3;margin:1.8em 0 .6em;}' +
499
+ '.md-body h1{font-size:1.7rem;padding-bottom:.3em;border-bottom:2px solid var(--color-base-300,#3a3a3a);margin-top:.2em;}' +
500
+ '.md-body h2{font-size:1.32rem;padding-bottom:.25em;border-bottom:1px solid var(--color-base-300,#3a3a3a);}' +
501
+ '.md-body h3{font-size:1.13rem;}.md-body h4{font-size:1rem;}.md-body h5{font-size:.9rem;}.md-body h6{font-size:.85rem;opacity:.7;}' +
502
+ '.md-body p{margin:.85em 0;}.md-body ul,.md-body ol{margin:.7em 0;padding-left:1.7em;}' +
503
+ '.md-body ul{list-style:disc;}.md-body ol{list-style:decimal;}.md-body li{margin:.32em 0;padding-left:.2em;}' +
504
+ '.md-body a{color:var(--color-primary,#4f9eff);text-decoration:none;}.md-body a:hover{text-decoration:underline;}' +
505
+ '.md-body strong{font-weight:700;}.md-body em{font-style:italic;}' +
506
+ '.md-body .md-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85em;background:var(--color-base-200,#1c1c1c);padding:.12em .42em;border-radius:4px;border:1px solid var(--color-base-300,#3a3a3a);}' +
507
+ '.md-body .md-pre{background:var(--color-base-200,#1c1c1c);border:1px solid var(--color-base-300,#3a3a3a);border-radius:8px;padding:.9em 1.1em;overflow-x:auto;margin:1em 0;line-height:1.5;}' +
508
+ '.md-body .md-pre .md-code{background:none;border:none;padding:0;font-size:.84rem;white-space:pre;}' +
509
+ '.md-body blockquote{margin:1em 0;padding:.3em 1.1em;border-left:3px solid var(--color-primary,#4f9eff);background:var(--color-base-200,#1c1c1c);border-radius:0 6px 6px 0;opacity:.85;}' +
510
+ '.md-body blockquote p{margin:.4em 0;}' +
511
+ '.md-body table{border-collapse:collapse;margin:1em 0;width:100%;font-size:.9rem;display:block;overflow-x:auto;}' +
512
+ '.md-body th,.md-body td{border:1px solid var(--color-base-300,#3a3a3a);padding:.45em .75em;text-align:left;vertical-align:top;}' +
513
+ '.md-body th{background:var(--color-base-200,#1c1c1c);font-weight:600;}.md-body tbody tr:nth-child(even){background:var(--color-base-200,#1c1c1c);}' +
514
+ '.md-body .md-img{max-width:100%;height:auto;border-radius:6px;margin:.6em 0;}' +
515
+ '.md-body hr,.md-body .md-hr{border:none;border-top:1px solid var(--color-base-300,#3a3a3a);margin:1.6em 0;}';
516
+
517
+ function injectCss() {
518
+ if (document.getElementById('aimeat-md-styles')) return;
519
+ var s = document.createElement('style');
520
+ s.id = 'aimeat-md-styles';
521
+ s.textContent = CSS;
522
+ (document.head || document.documentElement).appendChild(s);
523
+ }
524
+ injectCss();
525
+
526
+ // ── citations ───────────────────────────────────────────────────────────────
527
+ // LLM-written prose cites its sources in at least three conventions, often mixed
528
+ // inside ONE document: a trailing `Source:`/`Sources:` line, inline lenticular
529
+ // 【https://…】 brackets (a model artifact no markdown renderer linkifies, so it
530
+ // renders as literal junk), and bare inline URLs. Every app that displays agent
531
+ // output re-invented this parse, and the hand-rolled URL regexes kept forgetting
532
+ // to exclude 】 — which silently puts the bracket inside the href and breaks the
533
+ // link. One implementation, here, next to the renderer that consumes it.
534
+ var CITE_URL_RE = /https?:\/\/[^\s,;)\]}"'【】]+/g;
535
+
536
+ // Link shorteners hide their destination, so a UI cannot show a trustworthy
537
+ // publisher name for them. Reported separately rather than silently.
538
+ var SHORTENERS = ['lnkd.in', 'bit.ly', 't.co', 'ow.ly', 'tinyurl.com', 'buff.ly', 'goo.gl', 'is.gd', 'rb.gy'];
539
+
540
+ /**
541
+ * Split cited sources out of prose.
542
+ * @param {string} text
543
+ * @param {{stripInline?: boolean}} [opts] stripInline (default true): remove the
544
+ * bracketed/trailing citation noise from `body`. Bare inline URLs are left in place.
545
+ * @returns {{body: string, sources: Array<{url: string, host: string, shortened: boolean}>}}
546
+ */
547
+ function citations(text, opts) {
548
+ var strip = !opts || opts.stripInline !== false;
549
+ var body = String(text == null ? '' : text);
550
+ var seen = Object.create(null);
551
+ var out = [];
552
+ function push(u) {
553
+ u = String(u).replace(/[.,;:]+$/, '');
554
+ if (!u || seen[u]) return;
555
+ seen[u] = 1;
556
+ var host;
557
+ try { host = new URL(u).hostname.replace(/^www\./, ''); } catch { host = ''; }
558
+ out.push({ url: u, host: host, shortened: SHORTENERS.indexOf(host) >= 0 });
559
+ }
560
+ body = body.replace(/【\s*(https?:\/\/[^】\s]+)\s*】/g, function (m, u) { push(u); return strip ? '' : m; });
561
+ body = body.replace(/^[ \t]*Sources?[ \t]*:[ \t]*(.*)$/gim, function (m, rest) {
562
+ (String(rest).match(CITE_URL_RE) || []).forEach(push);
563
+ return strip ? '' : m;
564
+ });
565
+ (body.match(CITE_URL_RE) || []).forEach(push);
566
+ if (strip) body = body.replace(/[ \t]+$/gm, '').replace(/\n{3,}/g, '\n\n').trim();
567
+ return { body: body, sources: out };
568
+ }
569
+
570
+ attach('md', { render: render, renderToString: renderToString, renderRich: renderRich, sanitizeHref: sanitizeHref, sanitizeImgSrc: sanitizeImgSrc, citations: citations });