@vendoai/ui 0.4.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 (525) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +7 -0
  3. package/dist/chrome/activity-ledger.d.ts +14 -0
  4. package/dist/chrome/activity-ledger.d.ts.map +1 -0
  5. package/dist/chrome/activity-ledger.js +40 -0
  6. package/dist/chrome/activity-ledger.js.map +1 -0
  7. package/dist/chrome/activity-panel.d.ts +7 -0
  8. package/dist/chrome/activity-panel.d.ts.map +1 -0
  9. package/dist/chrome/activity-panel.js +27 -0
  10. package/dist/chrome/activity-panel.js.map +1 -0
  11. package/dist/chrome/activity-semantics.d.ts +42 -0
  12. package/dist/chrome/activity-semantics.d.ts.map +1 -0
  13. package/dist/chrome/activity-semantics.js +119 -0
  14. package/dist/chrome/activity-semantics.js.map +1 -0
  15. package/dist/chrome/approval-card.d.ts +22 -0
  16. package/dist/chrome/approval-card.d.ts.map +1 -0
  17. package/dist/chrome/approval-card.js +95 -0
  18. package/dist/chrome/approval-card.js.map +1 -0
  19. package/dist/chrome/approval-sheet.d.ts +23 -0
  20. package/dist/chrome/approval-sheet.d.ts.map +1 -0
  21. package/dist/chrome/approval-sheet.js +72 -0
  22. package/dist/chrome/approval-sheet.js.map +1 -0
  23. package/dist/chrome/automations-panel.d.ts +3 -0
  24. package/dist/chrome/automations-panel.d.ts.map +1 -0
  25. package/dist/chrome/automations-panel.js +305 -0
  26. package/dist/chrome/automations-panel.js.map +1 -0
  27. package/dist/chrome/build-beat.d.ts +70 -0
  28. package/dist/chrome/build-beat.d.ts.map +1 -0
  29. package/dist/chrome/build-beat.js +101 -0
  30. package/dist/chrome/build-beat.js.map +1 -0
  31. package/dist/chrome/chrome-css.d.ts +7 -0
  32. package/dist/chrome/chrome-css.d.ts.map +1 -0
  33. package/dist/chrome/chrome-css.js +2042 -0
  34. package/dist/chrome/chrome-css.js.map +1 -0
  35. package/dist/chrome/chrome-root.d.ts +13 -0
  36. package/dist/chrome/chrome-root.d.ts.map +1 -0
  37. package/dist/chrome/chrome-root.js +39 -0
  38. package/dist/chrome/chrome-root.js.map +1 -0
  39. package/dist/chrome/clipboard.d.ts +4 -0
  40. package/dist/chrome/clipboard.d.ts.map +1 -0
  41. package/dist/chrome/clipboard.js +49 -0
  42. package/dist/chrome/clipboard.js.map +1 -0
  43. package/dist/chrome/connect-card.d.ts +19 -0
  44. package/dist/chrome/connect-card.d.ts.map +1 -0
  45. package/dist/chrome/connect-card.js +57 -0
  46. package/dist/chrome/connect-card.js.map +1 -0
  47. package/dist/chrome/connect-dock.d.ts +25 -0
  48. package/dist/chrome/connect-dock.d.ts.map +1 -0
  49. package/dist/chrome/connect-dock.js +192 -0
  50. package/dist/chrome/connect-dock.js.map +1 -0
  51. package/dist/chrome/connected-accounts-panel.d.ts +14 -0
  52. package/dist/chrome/connected-accounts-panel.d.ts.map +1 -0
  53. package/dist/chrome/connected-accounts-panel.js +157 -0
  54. package/dist/chrome/connected-accounts-panel.js.map +1 -0
  55. package/dist/chrome/dev-mode.d.ts +5 -0
  56. package/dist/chrome/dev-mode.d.ts.map +1 -0
  57. package/dist/chrome/dev-mode.js +7 -0
  58. package/dist/chrome/dev-mode.js.map +1 -0
  59. package/dist/chrome/discoverability.d.ts +33 -0
  60. package/dist/chrome/discoverability.d.ts.map +1 -0
  61. package/dist/chrome/discoverability.js +63 -0
  62. package/dist/chrome/discoverability.js.map +1 -0
  63. package/dist/chrome/embeds.d.ts +21 -0
  64. package/dist/chrome/embeds.d.ts.map +1 -0
  65. package/dist/chrome/embeds.js +181 -0
  66. package/dist/chrome/embeds.js.map +1 -0
  67. package/dist/chrome/fluid-thinking.d.ts +15 -0
  68. package/dist/chrome/fluid-thinking.d.ts.map +1 -0
  69. package/dist/chrome/fluid-thinking.js +37 -0
  70. package/dist/chrome/fluid-thinking.js.map +1 -0
  71. package/dist/chrome/humanize.d.ts +46 -0
  72. package/dist/chrome/humanize.d.ts.map +1 -0
  73. package/dist/chrome/humanize.js +104 -0
  74. package/dist/chrome/humanize.js.map +1 -0
  75. package/dist/chrome/index.d.ts +39 -0
  76. package/dist/chrome/index.d.ts.map +1 -0
  77. package/dist/chrome/index.js +38 -0
  78. package/dist/chrome/index.js.map +1 -0
  79. package/dist/chrome/markdown.d.ts +23 -0
  80. package/dist/chrome/markdown.d.ts.map +1 -0
  81. package/dist/chrome/markdown.js +149 -0
  82. package/dist/chrome/markdown.js.map +1 -0
  83. package/dist/chrome/morph-toast.d.ts +43 -0
  84. package/dist/chrome/morph-toast.d.ts.map +1 -0
  85. package/dist/chrome/morph-toast.js +89 -0
  86. package/dist/chrome/morph-toast.js.map +1 -0
  87. package/dist/chrome/no-policy-notice.d.ts +8 -0
  88. package/dist/chrome/no-policy-notice.d.ts.map +1 -0
  89. package/dist/chrome/no-policy-notice.js +18 -0
  90. package/dist/chrome/no-policy-notice.js.map +1 -0
  91. package/dist/chrome/onest-font.gen.d.ts +10 -0
  92. package/dist/chrome/onest-font.gen.d.ts.map +1 -0
  93. package/dist/chrome/onest-font.gen.js +10 -0
  94. package/dist/chrome/onest-font.gen.js.map +1 -0
  95. package/dist/chrome/overlay-registry.d.ts +66 -0
  96. package/dist/chrome/overlay-registry.d.ts.map +1 -0
  97. package/dist/chrome/overlay-registry.js +103 -0
  98. package/dist/chrome/overlay-registry.js.map +1 -0
  99. package/dist/chrome/palette-hotkey.d.ts +42 -0
  100. package/dist/chrome/palette-hotkey.d.ts.map +1 -0
  101. package/dist/chrome/palette-hotkey.js +91 -0
  102. package/dist/chrome/palette-hotkey.js.map +1 -0
  103. package/dist/chrome/policy-notice-body.d.ts +3 -0
  104. package/dist/chrome/policy-notice-body.d.ts.map +1 -0
  105. package/dist/chrome/policy-notice-body.js +6 -0
  106. package/dist/chrome/policy-notice-body.js.map +1 -0
  107. package/dist/chrome/takeover-portal.d.ts +16 -0
  108. package/dist/chrome/takeover-portal.d.ts.map +1 -0
  109. package/dist/chrome/takeover-portal.js +21 -0
  110. package/dist/chrome/takeover-portal.js.map +1 -0
  111. package/dist/chrome/thread/attachments.d.ts +24 -0
  112. package/dist/chrome/thread/attachments.d.ts.map +1 -0
  113. package/dist/chrome/thread/attachments.js +50 -0
  114. package/dist/chrome/thread/attachments.js.map +1 -0
  115. package/dist/chrome/thread/composer.d.ts +63 -0
  116. package/dist/chrome/thread/composer.d.ts.map +1 -0
  117. package/dist/chrome/thread/composer.js +259 -0
  118. package/dist/chrome/thread/composer.js.map +1 -0
  119. package/dist/chrome/thread/index.d.ts +41 -0
  120. package/dist/chrome/thread/index.d.ts.map +1 -0
  121. package/dist/chrome/thread/index.js +258 -0
  122. package/dist/chrome/thread/index.js.map +1 -0
  123. package/dist/chrome/thread/message-data.d.ts +35 -0
  124. package/dist/chrome/thread/message-data.d.ts.map +1 -0
  125. package/dist/chrome/thread/message-data.js +127 -0
  126. package/dist/chrome/thread/message-data.js.map +1 -0
  127. package/dist/chrome/thread/message-list.d.ts +30 -0
  128. package/dist/chrome/thread/message-list.d.ts.map +1 -0
  129. package/dist/chrome/thread/message-list.js +11 -0
  130. package/dist/chrome/thread/message-list.js.map +1 -0
  131. package/dist/chrome/thread/message.d.ts +18 -0
  132. package/dist/chrome/thread/message.d.ts.map +1 -0
  133. package/dist/chrome/thread/message.js +57 -0
  134. package/dist/chrome/thread/message.js.map +1 -0
  135. package/dist/chrome/thread/parts.d.ts +53 -0
  136. package/dist/chrome/thread/parts.d.ts.map +1 -0
  137. package/dist/chrome/thread/parts.js +184 -0
  138. package/dist/chrome/thread/parts.js.map +1 -0
  139. package/dist/chrome/thread/scrolling.d.ts +26 -0
  140. package/dist/chrome/thread/scrolling.d.ts.map +1 -0
  141. package/dist/chrome/thread/scrolling.js +214 -0
  142. package/dist/chrome/thread/scrolling.js.map +1 -0
  143. package/dist/chrome/truncate.d.ts +12 -0
  144. package/dist/chrome/truncate.d.ts.map +1 -0
  145. package/dist/chrome/truncate.js +18 -0
  146. package/dist/chrome/truncate.js.map +1 -0
  147. package/dist/chrome/vendo-activities.d.ts +24 -0
  148. package/dist/chrome/vendo-activities.d.ts.map +1 -0
  149. package/dist/chrome/vendo-activities.js +38 -0
  150. package/dist/chrome/vendo-activities.js.map +1 -0
  151. package/dist/chrome/vendo-overlay.d.ts +63 -0
  152. package/dist/chrome/vendo-overlay.d.ts.map +1 -0
  153. package/dist/chrome/vendo-overlay.js +256 -0
  154. package/dist/chrome/vendo-overlay.js.map +1 -0
  155. package/dist/chrome/vendo-page.d.ts +3 -0
  156. package/dist/chrome/vendo-page.d.ts.map +1 -0
  157. package/dist/chrome/vendo-page.js +162 -0
  158. package/dist/chrome/vendo-page.js.map +1 -0
  159. package/dist/chrome/vendo-palette.d.ts +29 -0
  160. package/dist/chrome/vendo-palette.d.ts.map +1 -0
  161. package/dist/chrome/vendo-palette.js +95 -0
  162. package/dist/chrome/vendo-palette.js.map +1 -0
  163. package/dist/chrome/vendo-slot.d.ts +79 -0
  164. package/dist/chrome/vendo-slot.d.ts.map +1 -0
  165. package/dist/chrome/vendo-slot.js +153 -0
  166. package/dist/chrome/vendo-slot.js.map +1 -0
  167. package/dist/chrome/vendo-toasts.d.ts +40 -0
  168. package/dist/chrome/vendo-toasts.d.ts.map +1 -0
  169. package/dist/chrome/vendo-toasts.js +135 -0
  170. package/dist/chrome/vendo-toasts.js.map +1 -0
  171. package/dist/chrome/vendo-trigger.d.ts +24 -0
  172. package/dist/chrome/vendo-trigger.d.ts.map +1 -0
  173. package/dist/chrome/vendo-trigger.js +30 -0
  174. package/dist/chrome/vendo-trigger.js.map +1 -0
  175. package/dist/chrome/waiting-queue.d.ts +8 -0
  176. package/dist/chrome/waiting-queue.d.ts.map +1 -0
  177. package/dist/chrome/waiting-queue.js +21 -0
  178. package/dist/chrome/waiting-queue.js.map +1 -0
  179. package/dist/client-impl.d.ts +4 -0
  180. package/dist/client-impl.d.ts.map +1 -0
  181. package/dist/client-impl.js +160 -0
  182. package/dist/client-impl.js.map +1 -0
  183. package/dist/client.d.ts +136 -0
  184. package/dist/client.d.ts.map +1 -0
  185. package/dist/client.js +2 -0
  186. package/dist/client.js.map +1 -0
  187. package/dist/context.d.ts +97 -0
  188. package/dist/context.d.ts.map +1 -0
  189. package/dist/context.js +71 -0
  190. package/dist/context.js.map +1 -0
  191. package/dist/eject-templates/activities/index.tsx +113 -0
  192. package/dist/eject-templates/templates.json +29 -0
  193. package/dist/eject-templates/thread/attachments.tsx +69 -0
  194. package/dist/eject-templates/thread/composer.tsx +409 -0
  195. package/dist/eject-templates/thread/index.tsx +422 -0
  196. package/dist/eject-templates/thread/message-data.ts +151 -0
  197. package/dist/eject-templates/thread/message-list.tsx +123 -0
  198. package/dist/eject-templates/thread/message.tsx +149 -0
  199. package/dist/eject-templates/thread/parts.tsx +293 -0
  200. package/dist/eject-templates/thread/scrolling.ts +223 -0
  201. package/dist/embeds.d.ts +28 -0
  202. package/dist/embeds.d.ts.map +1 -0
  203. package/dist/embeds.js +2 -0
  204. package/dist/embeds.js.map +1 -0
  205. package/dist/hooks/index.d.ts +18 -0
  206. package/dist/hooks/index.d.ts.map +1 -0
  207. package/dist/hooks/index.js +19 -0
  208. package/dist/hooks/index.js.map +1 -0
  209. package/dist/hooks/scripted-transport.d.ts +44 -0
  210. package/dist/hooks/scripted-transport.d.ts.map +1 -0
  211. package/dist/hooks/scripted-transport.js +58 -0
  212. package/dist/hooks/scripted-transport.js.map +1 -0
  213. package/dist/hooks/use-activity.d.ts +17 -0
  214. package/dist/hooks/use-activity.d.ts.map +1 -0
  215. package/dist/hooks/use-activity.js +50 -0
  216. package/dist/hooks/use-activity.js.map +1 -0
  217. package/dist/hooks/use-app.d.ts +19 -0
  218. package/dist/hooks/use-app.d.ts.map +1 -0
  219. package/dist/hooks/use-app.js +66 -0
  220. package/dist/hooks/use-app.js.map +1 -0
  221. package/dist/hooks/use-approvals.d.ts +13 -0
  222. package/dist/hooks/use-approvals.d.ts.map +1 -0
  223. package/dist/hooks/use-approvals.js +14 -0
  224. package/dist/hooks/use-approvals.js.map +1 -0
  225. package/dist/hooks/use-apps.d.ts +17 -0
  226. package/dist/hooks/use-apps.d.ts.map +1 -0
  227. package/dist/hooks/use-apps.js +30 -0
  228. package/dist/hooks/use-apps.js.map +1 -0
  229. package/dist/hooks/use-automations.d.ts +25 -0
  230. package/dist/hooks/use-automations.d.ts.map +1 -0
  231. package/dist/hooks/use-automations.js +30 -0
  232. package/dist/hooks/use-automations.js.map +1 -0
  233. package/dist/hooks/use-connections.d.ts +12 -0
  234. package/dist/hooks/use-connections.d.ts.map +1 -0
  235. package/dist/hooks/use-connections.js +15 -0
  236. package/dist/hooks/use-connections.js.map +1 -0
  237. package/dist/hooks/use-connector-catalog.d.ts +8 -0
  238. package/dist/hooks/use-connector-catalog.d.ts.map +1 -0
  239. package/dist/hooks/use-connector-catalog.js +52 -0
  240. package/dist/hooks/use-connector-catalog.js.map +1 -0
  241. package/dist/hooks/use-grants.d.ts +13 -0
  242. package/dist/hooks/use-grants.d.ts.map +1 -0
  243. package/dist/hooks/use-grants.js +14 -0
  244. package/dist/hooks/use-grants.js.map +1 -0
  245. package/dist/hooks/use-mobile-takeover.d.ts +22 -0
  246. package/dist/hooks/use-mobile-takeover.d.ts.map +1 -0
  247. package/dist/hooks/use-mobile-takeover.js +66 -0
  248. package/dist/hooks/use-mobile-takeover.js.map +1 -0
  249. package/dist/hooks/use-resource.d.ts +21 -0
  250. package/dist/hooks/use-resource.d.ts.map +1 -0
  251. package/dist/hooks/use-resource.js +79 -0
  252. package/dist/hooks/use-resource.js.map +1 -0
  253. package/dist/hooks/use-slot-app.d.ts +19 -0
  254. package/dist/hooks/use-slot-app.d.ts.map +1 -0
  255. package/dist/hooks/use-slot-app.js +18 -0
  256. package/dist/hooks/use-slot-app.js.map +1 -0
  257. package/dist/hooks/use-threads.d.ts +16 -0
  258. package/dist/hooks/use-threads.d.ts.map +1 -0
  259. package/dist/hooks/use-threads.js +15 -0
  260. package/dist/hooks/use-threads.js.map +1 -0
  261. package/dist/hooks/use-vendo-overlay.d.ts +31 -0
  262. package/dist/hooks/use-vendo-overlay.d.ts.map +1 -0
  263. package/dist/hooks/use-vendo-overlay.js +23 -0
  264. package/dist/hooks/use-vendo-overlay.js.map +1 -0
  265. package/dist/hooks/use-vendo-status.d.ts +6 -0
  266. package/dist/hooks/use-vendo-status.d.ts.map +1 -0
  267. package/dist/hooks/use-vendo-status.js +28 -0
  268. package/dist/hooks/use-vendo-status.js.map +1 -0
  269. package/dist/hooks/use-vendo-thread.d.ts +39 -0
  270. package/dist/hooks/use-vendo-thread.d.ts.map +1 -0
  271. package/dist/hooks/use-vendo-thread.js +185 -0
  272. package/dist/hooks/use-vendo-thread.js.map +1 -0
  273. package/dist/index.d.ts +12 -0
  274. package/dist/index.d.ts.map +1 -0
  275. package/dist/index.js +12 -0
  276. package/dist/index.js.map +1 -0
  277. package/dist/kit/charts/bar.d.ts +16 -0
  278. package/dist/kit/charts/bar.d.ts.map +1 -0
  279. package/dist/kit/charts/bar.js +21 -0
  280. package/dist/kit/charts/bar.js.map +1 -0
  281. package/dist/kit/charts/donut.d.ts +16 -0
  282. package/dist/kit/charts/donut.d.ts.map +1 -0
  283. package/dist/kit/charts/donut.js +17 -0
  284. package/dist/kit/charts/donut.js.map +1 -0
  285. package/dist/kit/charts/line.d.ts +19 -0
  286. package/dist/kit/charts/line.d.ts.map +1 -0
  287. package/dist/kit/charts/line.js +21 -0
  288. package/dist/kit/charts/line.js.map +1 -0
  289. package/dist/kit/charts/progress.d.ts +12 -0
  290. package/dist/kit/charts/progress.d.ts.map +1 -0
  291. package/dist/kit/charts/progress.js +25 -0
  292. package/dist/kit/charts/progress.js.map +1 -0
  293. package/dist/kit/charts/sanitize.d.ts +24 -0
  294. package/dist/kit/charts/sanitize.d.ts.map +1 -0
  295. package/dist/kit/charts/sanitize.js +50 -0
  296. package/dist/kit/charts/sanitize.js.map +1 -0
  297. package/dist/kit/charts/sparkline.d.ts +11 -0
  298. package/dist/kit/charts/sparkline.d.ts.map +1 -0
  299. package/dist/kit/charts/sparkline.js +17 -0
  300. package/dist/kit/charts/sparkline.js.map +1 -0
  301. package/dist/kit/data/badge.d.ts +13 -0
  302. package/dist/kit/data/badge.d.ts.map +1 -0
  303. package/dist/kit/data/badge.js +12 -0
  304. package/dist/kit/data/badge.js.map +1 -0
  305. package/dist/kit/data/card-list.d.ts +23 -0
  306. package/dist/kit/data/card-list.d.ts.map +1 -0
  307. package/dist/kit/data/card-list.js +43 -0
  308. package/dist/kit/data/card-list.js.map +1 -0
  309. package/dist/kit/data/data-table.d.ts +32 -0
  310. package/dist/kit/data/data-table.d.ts.map +1 -0
  311. package/dist/kit/data/data-table.js +153 -0
  312. package/dist/kit/data/data-table.js.map +1 -0
  313. package/dist/kit/data/stat.d.ts +15 -0
  314. package/dist/kit/data/stat.d.ts.map +1 -0
  315. package/dist/kit/data/stat.js +28 -0
  316. package/dist/kit/data/stat.js.map +1 -0
  317. package/dist/kit/feedback/accordion.d.ts +15 -0
  318. package/dist/kit/feedback/accordion.d.ts.map +1 -0
  319. package/dist/kit/feedback/accordion.js +33 -0
  320. package/dist/kit/feedback/accordion.js.map +1 -0
  321. package/dist/kit/feedback/callout.d.ts +13 -0
  322. package/dist/kit/feedback/callout.d.ts.map +1 -0
  323. package/dist/kit/feedback/callout.js +24 -0
  324. package/dist/kit/feedback/callout.js.map +1 -0
  325. package/dist/kit/feedback/tabs.d.ts +14 -0
  326. package/dist/kit/feedback/tabs.d.ts.map +1 -0
  327. package/dist/kit/feedback/tabs.js +37 -0
  328. package/dist/kit/feedback/tabs.js.map +1 -0
  329. package/dist/kit/format.d.ts +60 -0
  330. package/dist/kit/format.d.ts.map +1 -0
  331. package/dist/kit/format.js +123 -0
  332. package/dist/kit/format.js.map +1 -0
  333. package/dist/kit/forms/button.d.ts +17 -0
  334. package/dist/kit/forms/button.d.ts.map +1 -0
  335. package/dist/kit/forms/button.js +33 -0
  336. package/dist/kit/forms/button.js.map +1 -0
  337. package/dist/kit/forms/checkbox.d.ts +9 -0
  338. package/dist/kit/forms/checkbox.d.ts.map +1 -0
  339. package/dist/kit/forms/checkbox.js +9 -0
  340. package/dist/kit/forms/checkbox.js.map +1 -0
  341. package/dist/kit/forms/date-picker.d.ts +13 -0
  342. package/dist/kit/forms/date-picker.d.ts.map +1 -0
  343. package/dist/kit/forms/date-picker.js +9 -0
  344. package/dist/kit/forms/date-picker.js.map +1 -0
  345. package/dist/kit/forms/disclaimer.d.ts +8 -0
  346. package/dist/kit/forms/disclaimer.d.ts.map +1 -0
  347. package/dist/kit/forms/disclaimer.js +20 -0
  348. package/dist/kit/forms/disclaimer.js.map +1 -0
  349. package/dist/kit/forms/field.d.ts +18 -0
  350. package/dist/kit/forms/field.d.ts.map +1 -0
  351. package/dist/kit/forms/field.js +19 -0
  352. package/dist/kit/forms/field.js.map +1 -0
  353. package/dist/kit/forms/form.d.ts +10 -0
  354. package/dist/kit/forms/form.d.ts.map +1 -0
  355. package/dist/kit/forms/form.js +9 -0
  356. package/dist/kit/forms/form.js.map +1 -0
  357. package/dist/kit/forms/input.d.ts +14 -0
  358. package/dist/kit/forms/input.d.ts.map +1 -0
  359. package/dist/kit/forms/input.js +9 -0
  360. package/dist/kit/forms/input.js.map +1 -0
  361. package/dist/kit/forms/select.d.ts +21 -0
  362. package/dist/kit/forms/select.d.ts.map +1 -0
  363. package/dist/kit/forms/select.js +35 -0
  364. package/dist/kit/forms/select.js.map +1 -0
  365. package/dist/kit/forms/textarea.d.ts +12 -0
  366. package/dist/kit/forms/textarea.d.ts.map +1 -0
  367. package/dist/kit/forms/textarea.js +9 -0
  368. package/dist/kit/forms/textarea.js.map +1 -0
  369. package/dist/kit/index.d.ts +42 -0
  370. package/dist/kit/index.d.ts.map +1 -0
  371. package/dist/kit/index.js +45 -0
  372. package/dist/kit/index.js.map +1 -0
  373. package/dist/kit/kit-prompt.d.ts +7 -0
  374. package/dist/kit/kit-prompt.d.ts.map +1 -0
  375. package/dist/kit/kit-prompt.js +7 -0
  376. package/dist/kit/kit-prompt.js.map +1 -0
  377. package/dist/kit/layout.d.ts +29 -0
  378. package/dist/kit/layout.d.ts.map +1 -0
  379. package/dist/kit/layout.js +64 -0
  380. package/dist/kit/layout.js.map +1 -0
  381. package/dist/kit/registry.d.ts +11 -0
  382. package/dist/kit/registry.d.ts.map +1 -0
  383. package/dist/kit/registry.js +34 -0
  384. package/dist/kit/registry.js.map +1 -0
  385. package/dist/kit/schema.d.ts +9 -0
  386. package/dist/kit/schema.d.ts.map +1 -0
  387. package/dist/kit/schema.js +9 -0
  388. package/dist/kit/schema.js.map +1 -0
  389. package/dist/kit/tokens.d.ts +33 -0
  390. package/dist/kit/tokens.d.ts.map +1 -0
  391. package/dist/kit/tokens.js +48 -0
  392. package/dist/kit/tokens.js.map +1 -0
  393. package/dist/kit/values.d.ts +55 -0
  394. package/dist/kit/values.d.ts.map +1 -0
  395. package/dist/kit/values.js +108 -0
  396. package/dist/kit/values.js.map +1 -0
  397. package/dist/theme.d.ts +25 -0
  398. package/dist/theme.d.ts.map +1 -0
  399. package/dist/theme.js +100 -0
  400. package/dist/theme.js.map +1 -0
  401. package/dist/tree/bindings.d.ts +4 -0
  402. package/dist/tree/bindings.d.ts.map +1 -0
  403. package/dist/tree/bindings.js +20 -0
  404. package/dist/tree/bindings.js.map +1 -0
  405. package/dist/tree/branded.d.ts +124 -0
  406. package/dist/tree/branded.d.ts.map +1 -0
  407. package/dist/tree/branded.js +319 -0
  408. package/dist/tree/branded.js.map +1 -0
  409. package/dist/tree/error-boundary.d.ts +22 -0
  410. package/dist/tree/error-boundary.d.ts.map +1 -0
  411. package/dist/tree/error-boundary.js +25 -0
  412. package/dist/tree/error-boundary.js.map +1 -0
  413. package/dist/tree/fluid-reveal.d.ts +22 -0
  414. package/dist/tree/fluid-reveal.d.ts.map +1 -0
  415. package/dist/tree/fluid-reveal.js +28 -0
  416. package/dist/tree/fluid-reveal.js.map +1 -0
  417. package/dist/tree/forming-skeleton.d.ts +14 -0
  418. package/dist/tree/forming-skeleton.d.ts.map +1 -0
  419. package/dist/tree/forming-skeleton.js +36 -0
  420. package/dist/tree/forming-skeleton.js.map +1 -0
  421. package/dist/tree/frames.d.ts +52 -0
  422. package/dist/tree/frames.d.ts.map +1 -0
  423. package/dist/tree/frames.js +143 -0
  424. package/dist/tree/frames.js.map +1 -0
  425. package/dist/tree/host-mount.d.ts +24 -0
  426. package/dist/tree/host-mount.d.ts.map +1 -0
  427. package/dist/tree/host-mount.js +0 -0
  428. package/dist/tree/host-mount.js.map +1 -0
  429. package/dist/tree/index.d.ts +9 -0
  430. package/dist/tree/index.d.ts.map +1 -0
  431. package/dist/tree/index.js +9 -0
  432. package/dist/tree/index.js.map +1 -0
  433. package/dist/tree/jail/JailedComponent.d.ts +41 -0
  434. package/dist/tree/jail/JailedComponent.d.ts.map +1 -0
  435. package/dist/tree/jail/JailedComponent.js +269 -0
  436. package/dist/tree/jail/JailedComponent.js.map +1 -0
  437. package/dist/tree/jail/runtime-bundle.gen.d.ts +3 -0
  438. package/dist/tree/jail/runtime-bundle.gen.d.ts.map +1 -0
  439. package/dist/tree/jail/runtime-bundle.gen.js +3 -0
  440. package/dist/tree/jail/runtime-bundle.gen.js.map +1 -0
  441. package/dist/tree/jail/runtime-entry.d.ts +18 -0
  442. package/dist/tree/jail/runtime-entry.d.ts.map +1 -0
  443. package/dist/tree/jail/runtime-entry.js +440 -0
  444. package/dist/tree/jail/runtime-entry.js.map +1 -0
  445. package/dist/tree/jail/viewport-css.d.ts +17 -0
  446. package/dist/tree/jail/viewport-css.d.ts.map +1 -0
  447. package/dist/tree/jail/viewport-css.js +32 -0
  448. package/dist/tree/jail/viewport-css.js.map +1 -0
  449. package/dist/tree/mcp-shim/entry.d.ts +2 -0
  450. package/dist/tree/mcp-shim/entry.d.ts.map +1 -0
  451. package/dist/tree/mcp-shim/entry.js +45 -0
  452. package/dist/tree/mcp-shim/entry.js.map +1 -0
  453. package/dist/tree/mcp-shim/http-open-card.d.ts +5 -0
  454. package/dist/tree/mcp-shim/http-open-card.d.ts.map +1 -0
  455. package/dist/tree/mcp-shim/http-open-card.js +61 -0
  456. package/dist/tree/mcp-shim/http-open-card.js.map +1 -0
  457. package/dist/tree/mcp-shim/shim-core.d.ts +58 -0
  458. package/dist/tree/mcp-shim/shim-core.d.ts.map +1 -0
  459. package/dist/tree/mcp-shim/shim-core.js +176 -0
  460. package/dist/tree/mcp-shim/shim-core.js.map +1 -0
  461. package/dist/tree/mcp-shim/theme.d.ts +8 -0
  462. package/dist/tree/mcp-shim/theme.d.ts.map +1 -0
  463. package/dist/tree/mcp-shim/theme.js +36 -0
  464. package/dist/tree/mcp-shim/theme.js.map +1 -0
  465. package/dist/tree/notice.d.ts +8 -0
  466. package/dist/tree/notice.d.ts.map +1 -0
  467. package/dist/tree/notice.js +30 -0
  468. package/dist/tree/notice.js.map +1 -0
  469. package/dist/tree/primitives.d.ts +30 -0
  470. package/dist/tree/primitives.d.ts.map +1 -0
  471. package/dist/tree/primitives.js +105 -0
  472. package/dist/tree/primitives.js.map +1 -0
  473. package/dist/tree/renderer-v2.d.ts +15 -0
  474. package/dist/tree/renderer-v2.d.ts.map +1 -0
  475. package/dist/tree/renderer-v2.js +71 -0
  476. package/dist/tree/renderer-v2.js.map +1 -0
  477. package/dist/tree/renderer.d.ts +77 -0
  478. package/dist/tree/renderer.d.ts.map +1 -0
  479. package/dist/tree/renderer.js +376 -0
  480. package/dist/tree/renderer.js.map +1 -0
  481. package/dist/voice/driver.d.ts +94 -0
  482. package/dist/voice/driver.d.ts.map +1 -0
  483. package/dist/voice/driver.js +2 -0
  484. package/dist/voice/driver.js.map +1 -0
  485. package/dist/voice/index.d.ts +7 -0
  486. package/dist/voice/index.d.ts.map +1 -0
  487. package/dist/voice/index.js +5 -0
  488. package/dist/voice/index.js.map +1 -0
  489. package/dist/voice/realtime-driver.d.ts +57 -0
  490. package/dist/voice/realtime-driver.d.ts.map +1 -0
  491. package/dist/voice/realtime-driver.js +592 -0
  492. package/dist/voice/realtime-driver.js.map +1 -0
  493. package/dist/voice/stage.d.ts +12 -0
  494. package/dist/voice/stage.d.ts.map +1 -0
  495. package/dist/voice/stage.js +259 -0
  496. package/dist/voice/stage.js.map +1 -0
  497. package/dist/voice/use-voice-approvals.d.ts +16 -0
  498. package/dist/voice/use-voice-approvals.d.ts.map +1 -0
  499. package/dist/voice/use-voice-approvals.js +77 -0
  500. package/dist/voice/use-voice-approvals.js.map +1 -0
  501. package/dist/voice/use-voice.d.ts +26 -0
  502. package/dist/voice/use-voice.d.ts.map +1 -0
  503. package/dist/voice/use-voice.js +201 -0
  504. package/dist/voice/use-voice.js.map +1 -0
  505. package/dist/voice/voice-act.d.ts +13 -0
  506. package/dist/voice/voice-act.d.ts.map +1 -0
  507. package/dist/voice/voice-act.js +301 -0
  508. package/dist/voice/voice-act.js.map +1 -0
  509. package/dist/voice/voice-blob.d.ts +17 -0
  510. package/dist/voice/voice-blob.d.ts.map +1 -0
  511. package/dist/voice/voice-blob.js +67 -0
  512. package/dist/voice/voice-blob.js.map +1 -0
  513. package/dist/voice/voice-consent.d.ts +17 -0
  514. package/dist/voice/voice-consent.d.ts.map +1 -0
  515. package/dist/voice/voice-consent.js +45 -0
  516. package/dist/voice/voice-consent.js.map +1 -0
  517. package/dist/voice/voice-drawer.d.ts +10 -0
  518. package/dist/voice/voice-drawer.d.ts.map +1 -0
  519. package/dist/voice/voice-drawer.js +22 -0
  520. package/dist/voice/voice-drawer.js.map +1 -0
  521. package/dist/wire-types.d.ts +238 -0
  522. package/dist/wire-types.d.ts.map +1 -0
  523. package/dist/wire-types.js +2 -0
  524. package/dist/wire-types.js.map +1 -0
  525. package/package.json +106 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-bundle.gen.js","sourceRoot":"","sources":["../../../src/tree/jail/runtime-bundle.gen.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,00q4BAA00q4B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import { createRoot } from "react-dom/client";
3
+ import { createPortal, flushSync } from "react-dom";
4
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
5
+ declare global {
6
+ var __VENDO_JAIL_REACT__: typeof React;
7
+ var __VENDO_JAIL_CREATE_ROOT__: typeof createRoot;
8
+ var __VENDO_JAIL_REACT_DOM__: {
9
+ createPortal: typeof createPortal;
10
+ flushSync: typeof flushSync;
11
+ };
12
+ var __VENDO_JAIL_JSX__: {
13
+ jsx: typeof jsx;
14
+ jsxs: typeof jsxs;
15
+ Fragment: typeof Fragment;
16
+ };
17
+ }
18
+ //# sourceMappingURL=runtime-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-entry.d.ts","sourceRoot":"","sources":["../../../src/tree/jail/runtime-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAYxD,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,oBAAoB,EAAE,OAAO,KAAK,CAAC;IAEvC,IAAI,0BAA0B,EAAE,OAAO,UAAU,CAAC;IAElD,IAAI,wBAAwB,EAAE;QAAE,YAAY,EAAE,OAAO,YAAY,CAAC;QAAC,SAAS,EAAE,OAAO,SAAS,CAAA;KAAE,CAAC;IAEjG,IAAI,kBAAkB,EAAE;QAAE,GAAG,EAAE,OAAO,GAAG,CAAC;QAAC,IAAI,EAAE,OAAO,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,QAAQ,CAAA;KAAE,CAAC;CAC3F"}
@@ -0,0 +1,440 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { createRoot } from "react-dom/client";
4
+ import { createPortal, flushSync } from "react-dom";
5
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
6
+ import { transform } from "sucrase";
7
+ import { ISLAND_AMBIENT_NAMES } from "@vendoai/core";
8
+ import { normalizeViewportBlockCss } from "./viewport-css.js";
9
+ import { Accordion, Badge, BarChart, Button, Callout, CardList, Checkbox, DataTable, DatePicker, DateTime, Disclaimer, Divider, DonutChart, EnumBadge, Form, Grid, Input, LineChart, Money, Num, Percent, Progress, Row, Select, Sparkline, Stack, Stat, Surface, Tabs, Text, Textarea, applyFormat, formatDateTime, formatMoney, formatNum, formatPercent, } from "../../kit/index.js";
10
+ globalThis.__VENDO_JAIL_REACT__ = React;
11
+ globalThis.__VENDO_JAIL_CREATE_ROOT__ = createRoot;
12
+ globalThis.__VENDO_JAIL_REACT_DOM__ = { createPortal, flushSync };
13
+ globalThis.__VENDO_JAIL_JSX__ = { jsx, jsxs, Fragment };
14
+ const mount = document.createElement("div");
15
+ mount.id = "vendo-jail-root";
16
+ // Contain first/last-child margins inside the measured box. Otherwise those
17
+ // margins can sit outside the mount and be clipped even when its own height is
18
+ // reported exactly.
19
+ mount.style.display = "flow-root";
20
+ document.body.appendChild(mount);
21
+ let root;
22
+ let loadedKey;
23
+ let loadedComponent;
24
+ let requestSequence = 0;
25
+ const pendingActions = new Map();
26
+ const post = (message) => parent.postMessage({ vendo: true, ...message }, "*");
27
+ /**
28
+ * W4b §2 — the ambient `tools` API. `tools.a.b(args)` posts a `tool-call`
29
+ * over the bridge; the HOST resolves the literal member chain against the
30
+ * island's compiler-stamped manifest and routes an allowed call through the
31
+ * EXACT same guarded pipe as tree actions (reads per read policy, mutations
32
+ * pause at the approval gate and complete after approve — the W0 fix). The
33
+ * jail side is pure transport: enforcement never trusts this realm.
34
+ */
35
+ const pendingToolCalls = new Map();
36
+ function requestToolCall(path, args) {
37
+ const requestId = `jail-tool-${++requestSequence}`;
38
+ return new Promise((resolve, reject) => {
39
+ pendingToolCalls.set(requestId, { resolve, reject });
40
+ post({ kind: "tool-call", requestId, path: [...path], ...(args === undefined ? {} : { args }) });
41
+ });
42
+ }
43
+ /** Build the ambient `tools` value: every property access extends the literal
44
+ * member chain, a call ships the chain + args to the host. The manifest
45
+ * lives host-side; an out-of-manifest chain simply comes back `blocked`. */
46
+ const makeToolsAmbient = (path) => new Proxy(Object.assign(() => undefined, {}), {
47
+ get: (_target, property) => typeof property === "string" ? makeToolsAmbient([...path, property]) : undefined,
48
+ apply: (_target, _thisArg, args) => requestToolCall(path, args[0]),
49
+ });
50
+ /**
51
+ * W4b §1 — the ambient island scope (react-live pattern): React + hooks, the
52
+ * ENTIRE Kit, charts, and `fmt` are simply in scope — island code has no
53
+ * imports. The name list is pinned to `ISLAND_AMBIENT_NAMES` in @vendoai/core
54
+ * (shared with the engine's prompt + strip pass) by the typed record below.
55
+ */
56
+ const fmt = {
57
+ money: formatMoney,
58
+ percent: formatPercent,
59
+ num: formatNum,
60
+ dateTime: formatDateTime,
61
+ format: applyFormat,
62
+ };
63
+ const AMBIENT_SCOPE = {
64
+ React,
65
+ ReactDOM: { createPortal, flushSync },
66
+ Fragment,
67
+ useState: React.useState,
68
+ useEffect: React.useEffect,
69
+ useMemo: React.useMemo,
70
+ useCallback: React.useCallback,
71
+ useRef: React.useRef,
72
+ useReducer: React.useReducer,
73
+ useId: React.useId,
74
+ useLayoutEffect: React.useLayoutEffect,
75
+ useTransition: React.useTransition,
76
+ useDeferredValue: React.useDeferredValue,
77
+ useSyncExternalStore: React.useSyncExternalStore,
78
+ Stack, Row, Grid, Surface, Divider,
79
+ Text, Money, DateTime, Percent, Num, EnumBadge,
80
+ DataTable, CardList, Stat, Badge,
81
+ LineChart, BarChart, DonutChart, Sparkline, Progress,
82
+ Input, Select, DatePicker, Textarea, Checkbox, Button, Form, Disclaimer,
83
+ Tabs, Callout, Accordion,
84
+ fmt,
85
+ tools: makeToolsAmbient([]),
86
+ };
87
+ /** The Kit's exports as a resolvable module, for habit imports the engine has
88
+ * not stripped yet (streaming partials) — same objects as the ambient scope,
89
+ * never a second bundle. */
90
+ const KIT_MODULE_EXPORTS = {
91
+ ...AMBIENT_SCOPE,
92
+ default: AMBIENT_SCOPE,
93
+ };
94
+ /**
95
+ * The ONLY modules generated code can reach. Sucrase's `imports` transform
96
+ * rewrites every static AND dynamic `import` into a call to this `require`,
97
+ * so no module-loader network fetch can ever be expressed — the browser-
98
+ * verified escape (a blob-ESM `import("https://…")` initiating a request
99
+ * despite `script-src`) is closed at the loader itself, and `script-src`
100
+ * carries no `blob:`/host sources as the second wall.
101
+ *
102
+ * Keyed by `IslandResolvableModule` (the shared allowlist in @vendoai/core —
103
+ * react plus the kit-ish specifiers the engine strips) so this table, the
104
+ * engine's strip pass, and the import gate cannot drift: a missing or extra
105
+ * key is a compile error.
106
+ */
107
+ const JAIL_MODULES = {
108
+ react: { ...React, default: React },
109
+ "react-dom": { createPortal, flushSync, default: { createPortal, flushSync } },
110
+ "react-dom/client": { createRoot, default: { createRoot } },
111
+ "react/jsx-runtime": { jsx, jsxs, Fragment, default: { jsx, jsxs, Fragment } },
112
+ "react/jsx-dev-runtime": { jsx, jsxs, jsxDEV: jsx, Fragment, default: { jsx, jsxs, Fragment } },
113
+ "@vendoai/ui": KIT_MODULE_EXPORTS,
114
+ "@vendoai/ui/kit": KIT_MODULE_EXPORTS,
115
+ "@vendoai/kit": KIT_MODULE_EXPORTS,
116
+ "@vendoai/vendo": KIT_MODULE_EXPORTS,
117
+ "@vendo/kit": KIT_MODULE_EXPORTS,
118
+ "vendo/kit": KIT_MODULE_EXPORTS,
119
+ };
120
+ function jailRequire(specifier) {
121
+ if (!Object.prototype.hasOwnProperty.call(JAIL_MODULES, specifier)) {
122
+ throw new Error(`module "${specifier}" is not available in the Vendo jail`);
123
+ }
124
+ return JAIL_MODULES[specifier];
125
+ }
126
+ // A module's own top-level `const Badge = …` must win over the ambient
127
+ // parameter of the same name. Redeclaring a parameter with let/const/class is
128
+ // a SyntaxError at Function construction, so drop the colliding name(s) and
129
+ // retry; the engine messages differ (V8 / SpiderMonkey / JSC), hence the
130
+ // pattern list. If a collision cannot be attributed, fall back to the bare
131
+ // pre-ambient evaluation so legacy islands keep rendering.
132
+ const REDECLARATION_PATTERNS = [
133
+ /Identifier '([^']+)' has already been declared/,
134
+ /redeclaration of (?:formal parameter|var|let|const|class) ([\w$]+)/,
135
+ /Cannot declare a (?:let|const|class) variable twice: '?([\w$]+)'?/,
136
+ ];
137
+ function evaluateWithAmbientScope(compiled, localRequire, moduleRecord) {
138
+ let names = ISLAND_AMBIENT_NAMES.filter((name) => name in AMBIENT_SCOPE);
139
+ for (;;) {
140
+ let evaluate;
141
+ try {
142
+ evaluate = new Function("require", "module", "exports", ...names, compiled);
143
+ }
144
+ catch (error) {
145
+ if (error instanceof SyntaxError && names.length > 0) {
146
+ const identifier = REDECLARATION_PATTERNS
147
+ .map((pattern) => pattern.exec(error.message)?.[1])
148
+ .find((name) => name !== undefined && names.includes(name));
149
+ names = identifier === undefined ? [] : names.filter((name) => name !== identifier);
150
+ continue;
151
+ }
152
+ throw error;
153
+ }
154
+ evaluate(localRequire, moduleRecord, moduleRecord.exports, ...names.map((name) => AMBIENT_SCOPE[name]));
155
+ return;
156
+ }
157
+ }
158
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
159
+ function stringRecord(value) {
160
+ const record = Object.create(null);
161
+ if (!isRecord(value))
162
+ return record;
163
+ for (const [key, child] of Object.entries(value)) {
164
+ if (typeof child === "string")
165
+ record[key] = child;
166
+ }
167
+ return record;
168
+ }
169
+ function virtualSources(value) {
170
+ const modules = Object.create(null);
171
+ if (!isRecord(value))
172
+ return modules;
173
+ for (const [id, candidate] of Object.entries(value)) {
174
+ if (!isRecord(candidate) || typeof candidate.source !== "string")
175
+ continue;
176
+ modules[id] = { source: candidate.source, imports: stringRecord(candidate.imports) };
177
+ }
178
+ return modules;
179
+ }
180
+ function compile(source) {
181
+ return transform(source, {
182
+ transforms: ["typescript", "jsx", "imports"],
183
+ production: true,
184
+ jsxRuntime: "classic",
185
+ jsxPragma: "globalThis.__VENDO_JAIL_REACT__.createElement",
186
+ jsxFragmentPragma: "globalThis.__VENDO_JAIL_REACT__.Fragment",
187
+ }).code;
188
+ }
189
+ async function load(source, rawSourceImports, rawSubSources) {
190
+ const sourceImports = stringRecord(rawSourceImports);
191
+ const subSources = virtualSources(rawSubSources);
192
+ const key = JSON.stringify({ source, sourceImports, subSources });
193
+ if (key === loadedKey && loadedComponent)
194
+ return loadedComponent;
195
+ const entryId = "\u0000vendo-entry";
196
+ const modules = Object.assign(Object.create(null), subSources);
197
+ modules[entryId] = { source, imports: sourceImports };
198
+ // Sucrase compiles the fork and every captured source in this single load
199
+ // cycle; evaluation stays behind a per-module require bound to the captured
200
+ // import table. No specifier outside that table can reach a host loader.
201
+ const compiled = Object.create(null);
202
+ for (const [id, module] of Object.entries(modules))
203
+ compiled[id] = compile(module.source);
204
+ const cache = new Map();
205
+ const evaluateModule = (id) => {
206
+ const cached = cache.get(id);
207
+ if (cached !== undefined)
208
+ return cached.exports;
209
+ const descriptor = modules[id];
210
+ if (descriptor === undefined)
211
+ throw new Error(`captured module "${id}" is unavailable in the Vendo jail`);
212
+ const moduleRecord = { exports: {} };
213
+ cache.set(id, moduleRecord);
214
+ const localRequire = (specifier) => {
215
+ if (Object.prototype.hasOwnProperty.call(JAIL_MODULES, specifier))
216
+ return jailRequire(specifier);
217
+ const target = descriptor.imports[specifier];
218
+ if (target === undefined || !Object.prototype.hasOwnProperty.call(modules, target))
219
+ return jailRequire(specifier);
220
+ return evaluateModule(target);
221
+ };
222
+ // 'unsafe-eval' is deliberately allowed in the jail CSP: evaluation is the
223
+ // jail's whole job; NETWORK is what the jail forbids.
224
+ evaluateWithAmbientScope(compiled[id], localRequire, moduleRecord);
225
+ return moduleRecord.exports;
226
+ };
227
+ const loaded = evaluateModule(entryId);
228
+ if (typeof loaded.default !== "function" && typeof loaded.default !== "object") {
229
+ throw new Error("generated component must have a React default export");
230
+ }
231
+ loadedKey = key;
232
+ loadedComponent = loaded.default;
233
+ return loadedComponent;
234
+ }
235
+ function requestAction(action, payload) {
236
+ const requestId = `jail-action-${++requestSequence}`;
237
+ return new Promise((resolve, reject) => {
238
+ pendingActions.set(requestId, { resolve, reject });
239
+ post({ kind: "action", requestId, action, ...(payload === undefined ? {} : { payload }) });
240
+ });
241
+ }
242
+ function hydrate(value) {
243
+ if (Array.isArray(value))
244
+ return value.map(hydrate);
245
+ if (!value || typeof value !== "object")
246
+ return value;
247
+ const record = value;
248
+ if (typeof record.$action === "string") {
249
+ const payload = hydrate(record.payload);
250
+ return () => requestAction(record.$action, payload);
251
+ }
252
+ return Object.fromEntries(Object.entries(record).map(([key, child]) => [key, hydrate(child)]));
253
+ }
254
+ class RuntimeBoundary extends React.Component {
255
+ state = {};
256
+ static getDerivedStateFromError(error) {
257
+ return { error };
258
+ }
259
+ componentDidCatch(error) {
260
+ post({ kind: "error", message: error.message });
261
+ }
262
+ render() {
263
+ return this.state.error ? null : this.props.children;
264
+ }
265
+ }
266
+ async function renderComponent(source, rawProps, sourceImports, subSources) {
267
+ const Component = await load(source, sourceImports, subSources);
268
+ const props = hydrate(rawProps);
269
+ props.vendo = {
270
+ action: requestAction,
271
+ setState(key, value) {
272
+ post({ kind: "state-set", key, value });
273
+ },
274
+ };
275
+ const renderRoot = root ??= createRoot(mount);
276
+ const boundaryRef = React.createRef();
277
+ // Commit before classifying the result. React root.render is concurrent by
278
+ // default, so inspecting the mount immediately after it would report a
279
+ // false empty result before the first commit.
280
+ flushSync(() => {
281
+ renderRoot.render(_jsx(RuntimeBoundary, { ref: boundaryRef, children: _jsx(Component, { ...props }) }));
282
+ });
283
+ if (boundaryRef.current?.state.error)
284
+ return "error";
285
+ return mount.hasChildNodes() ? "ready" : "empty";
286
+ }
287
+ /** Host brand tokens: only --vendo-* custom properties may cross into the jail,
288
+ so generated code styled with the theme variables matches the host (06 §5). */
289
+ function applyThemeVars(vars) {
290
+ if (typeof vars !== "object" || vars === null)
291
+ return;
292
+ const rootStyle = document.documentElement.style;
293
+ for (const [key, value] of Object.entries(vars)) {
294
+ if (typeof value === "string" && /^--vendo-[a-z0-9-]+$/.test(key)) {
295
+ rootStyle.setProperty(key, value);
296
+ }
297
+ }
298
+ document.body.style.fontFamily = "var(--vendo-font-family, system-ui, sans-serif)";
299
+ document.body.style.color = "var(--vendo-color-text, #16161a)";
300
+ document.body.style.fontSize = "var(--vendo-font-size, 15px)";
301
+ }
302
+ function applyHostStyles(styles) {
303
+ document.querySelectorAll("style[data-vendo-host-style]").forEach((element) => element.remove());
304
+ if (!Array.isArray(styles))
305
+ return;
306
+ for (const candidate of styles) {
307
+ if (!isRecord(candidate) || typeof candidate.css !== "string")
308
+ continue;
309
+ const style = document.createElement("style");
310
+ style.dataset.vendoHostStyle = typeof candidate.path === "string" ? candidate.path : "captured";
311
+ // textContent keeps captured CSS as inert data at the postMessage boundary;
312
+ // the unchanged CSP still refuses every non-data network source it names.
313
+ style.textContent = candidate.css;
314
+ document.head.appendChild(style);
315
+ }
316
+ }
317
+ window.addEventListener("message", (event) => {
318
+ if (event.source !== parent)
319
+ return;
320
+ const message = event.data;
321
+ if (!message || message.vendo !== true)
322
+ return;
323
+ if (message.kind === "render" && typeof message.source === "string") {
324
+ applyThemeVars(message.themeVars);
325
+ applyHostStyles(message.styles);
326
+ void renderComponent(message.source, (message.props ?? {}), message.sourceImports, message.subSources)
327
+ .then((result) => {
328
+ if (result === "ready")
329
+ post({ kind: "ready" });
330
+ else if (result === "empty")
331
+ post({ kind: "empty" });
332
+ })
333
+ .catch((error) => post({
334
+ kind: "error",
335
+ message: error instanceof Error ? error.message : String(error),
336
+ }));
337
+ return;
338
+ }
339
+ if (message.kind === "action-result" && typeof message.requestId === "string") {
340
+ const pending = pendingActions.get(message.requestId);
341
+ if (!pending)
342
+ return;
343
+ pendingActions.delete(message.requestId);
344
+ if (message.error)
345
+ pending.reject(new Error(String(message.error)));
346
+ else
347
+ pending.resolve(message.outcome);
348
+ return;
349
+ }
350
+ // W4b §2 — the ambient tools reply. `ok` unwraps to the tool OUTPUT (so
351
+ // `(await tools.x.y(args)).data` reads naturally); `error`/`blocked` reject;
352
+ // anything else (pending-approval, connect-required) resolves as the outcome
353
+ // value so the island can render a pending state — the effect itself lands
354
+ // through the host's approve→resume seam, never through this promise.
355
+ if (message.kind === "tool-result" && typeof message.requestId === "string") {
356
+ const pending = pendingToolCalls.get(message.requestId);
357
+ if (!pending)
358
+ return;
359
+ pendingToolCalls.delete(message.requestId);
360
+ if (message.error !== undefined) {
361
+ pending.reject(new Error(String(message.error)));
362
+ return;
363
+ }
364
+ const outcome = message.outcome;
365
+ if (outcome === undefined || typeof outcome !== "object") {
366
+ pending.reject(new Error("malformed tool outcome"));
367
+ }
368
+ else if (outcome.status === "ok") {
369
+ pending.resolve(outcome.output);
370
+ }
371
+ else if (outcome.status === "error") {
372
+ const error = outcome.error;
373
+ pending.reject(new Error(typeof error?.message === "string" ? error.message : "tool call failed"));
374
+ }
375
+ else if (outcome.status === "blocked") {
376
+ pending.reject(new Error(typeof outcome.reason === "string" ? outcome.reason : "tool call blocked"));
377
+ }
378
+ else {
379
+ pending.resolve(outcome);
380
+ }
381
+ }
382
+ });
383
+ const VIEWPORT_BLOCK_UNIT = /(?:d|s|l)?v(?:h|b)(?![a-z])/iu;
384
+ const VIEWPORT_BLOCK_PROPERTIES = ["height", "min-height", "block-size", "min-block-size"];
385
+ let lastReportedHeight;
386
+ let mutationObserver;
387
+ function contentHeight() {
388
+ const elements = [mount, ...mount.querySelectorAll("[style]")];
389
+ // A generated root commonly uses min-height:100vh. Inside an auto-sized
390
+ // iframe, that makes its "content" depend on the previous host height. An
391
+ // auto-height surface has no independent block viewport, so normalize
392
+ // viewport-relative block constraints to their content-sized forms —
393
+ // inline styles here, and the same constraint arriving in a <style> tag
394
+ // (generated islands ship those too) via the stylesheet-text arm below.
395
+ for (const element of elements) {
396
+ for (const property of VIEWPORT_BLOCK_PROPERTIES) {
397
+ const value = element.style.getPropertyValue(property);
398
+ if (!VIEWPORT_BLOCK_UNIT.test(value))
399
+ continue;
400
+ element.style.setProperty(property, property.startsWith("min-") ? "0" : "auto", "important");
401
+ }
402
+ }
403
+ for (const sheet of document.querySelectorAll("style")) {
404
+ const css = sheet.textContent ?? "";
405
+ const normalized = normalizeViewportBlockCss(css);
406
+ if (normalized !== css)
407
+ sheet.textContent = normalized;
408
+ }
409
+ const height = Math.ceil(Math.max(mount.getBoundingClientRect().height, mount.scrollHeight));
410
+ // Attribute observation catches state-driven constraint changes. Discard
411
+ // the normalization mutations themselves so they cannot loop.
412
+ mutationObserver?.takeRecords();
413
+ return height;
414
+ }
415
+ function reportContentHeight() {
416
+ const height = contentHeight();
417
+ if (height === lastReportedHeight)
418
+ return;
419
+ lastReportedHeight = height;
420
+ post({ kind: "resize", height });
421
+ }
422
+ if (typeof ResizeObserver !== "undefined") {
423
+ const observer = new ResizeObserver(reportContentHeight);
424
+ // The mount changes for content growth; observing viewport-owned html/body
425
+ // would reintroduce the host/frame feedback path.
426
+ observer.observe(mount);
427
+ }
428
+ if (typeof MutationObserver !== "undefined") {
429
+ mutationObserver = new MutationObserver(reportContentHeight);
430
+ // React can add a new viewport constraint without changing the current box,
431
+ // so also react to render mutations and normalize before measuring.
432
+ mutationObserver.observe(mount, {
433
+ attributes: true,
434
+ characterData: true,
435
+ childList: true,
436
+ subtree: true,
437
+ });
438
+ }
439
+ post({ kind: "booted" });
440
+ //# sourceMappingURL=runtime-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-entry.js","sourceRoot":"","sources":["../../../src/tree/jail/runtime-entry.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Existing-agents polish — the stylesheet arm of the jail's viewport-height
3
+ * normalization. An auto-sized jail iframe has no independent block viewport:
4
+ * `100vh` resolves to whatever height the HOST set from the last content
5
+ * measurement, so a viewport-tall block plus any content after it grows the
6
+ * frame on every measure (browser-observed: generated dashboards ratcheting
7
+ * to the 8192px cap, leaving a tall run of empty background in the embed).
8
+ * The runtime already rewrites inline viewport block constraints; generated
9
+ * islands that ship the same constraint in a `<style>` tag get the identical
10
+ * treatment here: growing block sizes go content-sized, everything else —
11
+ * including bounding `max-*` constraints — stays untouched.
12
+ */
13
+ /** Rewrite viewport-relative block constraints in a stylesheet's text to
14
+ * their content-sized forms (`height: auto`, `min-height: 0`). Idempotent:
15
+ * a sheet without viewport block sizes comes back unchanged (identity). */
16
+ export declare function normalizeViewportBlockCss(css: string): string;
17
+ //# sourceMappingURL=viewport-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-css.d.ts","sourceRoot":"","sources":["../../../src/tree/jail/viewport-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH;;4EAE4E;AAC5E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW7D"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Existing-agents polish — the stylesheet arm of the jail's viewport-height
3
+ * normalization. An auto-sized jail iframe has no independent block viewport:
4
+ * `100vh` resolves to whatever height the HOST set from the last content
5
+ * measurement, so a viewport-tall block plus any content after it grows the
6
+ * frame on every measure (browser-observed: generated dashboards ratcheting
7
+ * to the 8192px cap, leaving a tall run of empty background in the embed).
8
+ * The runtime already rewrites inline viewport block constraints; generated
9
+ * islands that ship the same constraint in a `<style>` tag get the identical
10
+ * treatment here: growing block sizes go content-sized, everything else —
11
+ * including bounding `max-*` constraints — stays untouched.
12
+ */
13
+ /** The viewport BLOCK units (vh/vb and their d/s/l variants), never vw/vi. */
14
+ const VIEWPORT_BLOCK_UNIT = /(?:d|s|l)?v(?:h|b)(?![a-z])/iu;
15
+ /** A growing block-size declaration: `height`/`block-size` and their `min-`
16
+ * forms, anchored so `max-height`/`line-height` never match. */
17
+ const BLOCK_SIZE_DECLARATION = /(^|[{;\s])(min-)?(height|block-size)(\s*:\s*)([^;}]+)/giu;
18
+ /** Rewrite viewport-relative block constraints in a stylesheet's text to
19
+ * their content-sized forms (`height: auto`, `min-height: 0`). Idempotent:
20
+ * a sheet without viewport block sizes comes back unchanged (identity). */
21
+ export function normalizeViewportBlockCss(css) {
22
+ BLOCK_SIZE_DECLARATION.lastIndex = 0;
23
+ if (!BLOCK_SIZE_DECLARATION.test(css))
24
+ return css;
25
+ return css.replace(BLOCK_SIZE_DECLARATION, (match, prefix, min, property, colon, value) => {
26
+ if (!VIEWPORT_BLOCK_UNIT.test(value))
27
+ return match;
28
+ const trailing = /\s$/u.test(value) ? value.slice(value.trimEnd().length) : "";
29
+ return `${prefix}${min ?? ""}${property}${colon}${min === undefined ? "auto" : "0"}${trailing}`;
30
+ });
31
+ }
32
+ //# sourceMappingURL=viewport-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-css.js","sourceRoot":"","sources":["../../../src/tree/jail/viewport-css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAE5D;iEACiE;AACjE,MAAM,sBAAsB,GAAG,0DAA0D,CAAC;AAE1F;;4EAE4E;AAC5E,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,sBAAsB,CAAC,SAAS,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAClD,OAAO,GAAG,CAAC,OAAO,CAChB,sBAAsB,EACtB,CAAC,KAAK,EAAE,MAAc,EAAE,GAAuB,EAAE,QAAgB,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE;QACjG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO,GAAG,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,QAAQ,GAAG,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,EAAE,CAAC;IAClG,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/tree/mcp-shim/entry.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { App, PostMessageTransport } from "@modelcontextprotocol/ext-apps";
3
+ import { createRoot } from "react-dom/client";
4
+ import { VendoProvider } from "../../context.js";
5
+ import { ContainedNotice } from "../notice.js";
6
+ import { PayloadView } from "../renderer.js";
7
+ import { HttpOpenCard } from "./http-open-card.js";
8
+ import { createShimRuntime } from "./shim-core.js";
9
+ import { readThemeCssVariables } from "./theme.js";
10
+ const mount = document.querySelector("#vendo-mcp-shim");
11
+ if (!mount)
12
+ throw new Error("The MCP Apps shim mount is missing");
13
+ const root = createRoot(mount);
14
+ const theme = readThemeCssVariables(getComputedStyle(document.documentElement));
15
+ const bridge = new App({ name: "Vendo tree renderer", version: "0.3.0" }, {}, { autoResize: true, strict: true });
16
+ function renderWithTheme(children) {
17
+ root.render(_jsx(VendoProvider, { theme: theme, children: children }));
18
+ }
19
+ function renderNotice(label, message) {
20
+ renderWithTheme(_jsx(ContainedNotice, { label: label, children: message }));
21
+ }
22
+ function renderOpenInProduct(open) {
23
+ renderWithTheme(_jsx(HttpOpenCard, { open: open }));
24
+ }
25
+ let runtime;
26
+ function renderPayload(id, payload, data, queryErrors = []) {
27
+ renderWithTheme(_jsxs(_Fragment, { children: [_jsx(PayloadView, { payload: payload, components: {}, data: data, onAction: ({ action, payload: args }) => runtime.callApp(id, action, args ?? {}) }), queryErrors.map((message, index) => (_jsx(ContainedNotice, { label: "Data query error", children: message }, `${index}:${message}`)))] }));
28
+ }
29
+ runtime = createShimRuntime({
30
+ callServerTool: (request) => bridge.callServerTool(request),
31
+ renderPayload,
32
+ renderOpenInProduct,
33
+ renderNotice,
34
+ });
35
+ bridge.ontoolinput = ({ arguments: args }) => {
36
+ runtime.onToolInput(args);
37
+ };
38
+ bridge.ontoolresult = (result) => {
39
+ runtime.onToolResult(result);
40
+ };
41
+ renderNotice("Loading app", "Waiting for the MCP host to send the app payload.");
42
+ bridge.connect(new PostMessageTransport(window.parent, window.parent)).catch((error) => {
43
+ renderNotice("MCP host connection failed", error instanceof Error ? error.message : String(error));
44
+ });
45
+ //# sourceMappingURL=entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/tree/mcp-shim/entry.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { OpenInProductPayload } from "./shim-core.js";
2
+ export declare function HttpOpenCard({ open }: {
3
+ open: OpenInProductPayload;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=http-open-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-open-card.d.ts","sourceRoot":"","sources":["../../../src/tree/mcp-shim/http-open-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AA+D3D,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,+BAyBpE"}