@oxy.so/bloom 7.0.1 → 7.1.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 (517) hide show
  1. package/assets/character-runtime/README.md +55 -0
  2. package/assets/character-runtime/appearance-codec.mjs +149 -0
  3. package/assets/character-runtime/integrity.json +6 -0
  4. package/assets/character-runtime/legacy-engine.mjs +105 -0
  5. package/assets/character-runtime/legacy-geometry.mjs +166 -0
  6. package/assets/character-runtime/legacy-worker.mjs +85 -0
  7. package/assets/character-runtime/orbit-characters.data +0 -0
  8. package/assets/character-runtime/orbit-characters.mjs +30 -0
  9. package/assets/character-runtime/orbit-characters.wasm +0 -0
  10. package/assets/character-runtime/preparation-worker.mjs +19 -0
  11. package/assets/character-runtime/runtime.mjs +820 -0
  12. package/assets/character-runtime/thumbnails/eyes/crescent_inset.png +0 -0
  13. package/assets/character-runtime/thumbnails/eyes/dots.png +0 -0
  14. package/assets/character-runtime/thumbnails/eyes/double_highlights.png +0 -0
  15. package/assets/character-runtime/thumbnails/eyes/highlight_capsules.png +0 -0
  16. package/assets/character-runtime/thumbnails/eyes/oval.png +0 -0
  17. package/assets/character-runtime/thumbnails/eyes/round_inset.png +0 -0
  18. package/assets/character-runtime/thumbnails/eyes/sleepy_lids.png +0 -0
  19. package/assets/character-runtime/thumbnails/eyes/sparkle_capsules.png +0 -0
  20. package/assets/character-runtime/thumbnails/eyes/swept_lids.png +0 -0
  21. package/assets/character-runtime/thumbnails/shapes/capsule.png +0 -0
  22. package/assets/character-runtime/thumbnails/shapes/circle.png +0 -0
  23. package/assets/character-runtime/thumbnails/shapes/circle_two_ears.png +0 -0
  24. package/assets/character-runtime/thumbnails/shapes/four_lobed_butterfly.png +0 -0
  25. package/assets/character-runtime/thumbnails/shapes/heart.png +0 -0
  26. package/assets/character-runtime/thumbnails/shapes/rounded_cube.png +0 -0
  27. package/assets/character-runtime/thumbnails/shapes/rounded_diamond.png +0 -0
  28. package/assets/character-runtime/thumbnails/shapes/rounded_head_two_ears.png +0 -0
  29. package/assets/character-runtime/thumbnails/shapes/rounded_triangle.png +0 -0
  30. package/assets/character-runtime/thumbnails/shapes/six_lobed_flower.png +0 -0
  31. package/assets/character-runtime/thumbnails/shapes/twelve_scalloped_rosette.png +0 -0
  32. package/docs/adoption-matrix.mdx +9 -9
  33. package/docs/agent-avatar.mdx +35 -10
  34. package/docs/agent-creator.mdx +12 -4
  35. package/docs/multi-agent-chat.mdx +12 -0
  36. package/docs/project-board.mdx +3 -3
  37. package/lib/commonjs/agent-avatar/AgentAvatar.js +15 -203
  38. package/lib/commonjs/agent-avatar/AgentAvatar.js.map +1 -1
  39. package/lib/commonjs/agent-avatar/AgentAvatarProvider.js +64 -0
  40. package/lib/commonjs/agent-avatar/AgentAvatarProvider.js.map +1 -0
  41. package/lib/commonjs/agent-avatar/CharacterAvatar.js +211 -0
  42. package/lib/commonjs/agent-avatar/CharacterAvatar.js.map +1 -0
  43. package/lib/commonjs/agent-avatar/ProceduralAvatar.js +216 -0
  44. package/lib/commonjs/agent-avatar/ProceduralAvatar.js.map +1 -0
  45. package/lib/commonjs/agent-avatar/artwork.js +4 -3
  46. package/lib/commonjs/agent-avatar/artwork.js.map +1 -1
  47. package/lib/commonjs/agent-avatar/avatar-color.js +16 -0
  48. package/lib/commonjs/agent-avatar/avatar-color.js.map +1 -0
  49. package/lib/commonjs/agent-avatar/character-html.js +25 -0
  50. package/lib/commonjs/agent-avatar/character-html.js.map +1 -0
  51. package/lib/commonjs/agent-avatar/character-runtime-module.js +39 -0
  52. package/lib/commonjs/agent-avatar/character-runtime-module.js.map +1 -0
  53. package/lib/commonjs/agent-avatar/character-webview.js +18 -0
  54. package/lib/commonjs/agent-avatar/character-webview.js.map +1 -0
  55. package/lib/commonjs/agent-avatar/config-character.js +36 -0
  56. package/lib/commonjs/agent-avatar/config-character.js.map +1 -0
  57. package/lib/commonjs/agent-avatar/context.js +3 -1
  58. package/lib/commonjs/agent-avatar/context.js.map +1 -1
  59. package/lib/commonjs/agent-avatar/index.js +7 -0
  60. package/lib/commonjs/agent-avatar/index.js.map +1 -1
  61. package/lib/commonjs/agent-avatar/legacy-contours.js +57 -0
  62. package/lib/commonjs/agent-avatar/legacy-contours.js.map +1 -0
  63. package/lib/commonjs/agent-avatar/legacy-recipe.js +112 -0
  64. package/lib/commonjs/agent-avatar/legacy-recipe.js.map +1 -0
  65. package/lib/commonjs/agent-avatar/messages.js +2 -1
  66. package/lib/commonjs/agent-avatar/messages.js.map +1 -1
  67. package/lib/commonjs/agent-avatar/model.js +2 -0
  68. package/lib/commonjs/agent-avatar/model.js.map +1 -1
  69. package/lib/commonjs/agent-creator/AgentCreatorBase.js +245 -21
  70. package/lib/commonjs/agent-creator/AgentCreatorBase.js.map +1 -1
  71. package/lib/commonjs/agent-creator/CharacterControls.js +113 -0
  72. package/lib/commonjs/agent-creator/CharacterControls.js.map +1 -0
  73. package/lib/commonjs/agent-creator/EmotionPicker.js +51 -18
  74. package/lib/commonjs/agent-creator/EmotionPicker.js.map +1 -1
  75. package/lib/commonjs/agent-creator/ShapeArc.js +56 -26
  76. package/lib/commonjs/agent-creator/ShapeArc.js.map +1 -1
  77. package/lib/commonjs/agent-creator/ShapeSilhouette.js +62 -0
  78. package/lib/commonjs/agent-creator/ShapeSilhouette.js.map +1 -0
  79. package/lib/commonjs/agent-creator/constants.js +48 -1
  80. package/lib/commonjs/agent-creator/constants.js.map +1 -1
  81. package/lib/commonjs/agent-creator/messages.js +9 -0
  82. package/lib/commonjs/agent-creator/messages.js.map +1 -1
  83. package/lib/commonjs/agent-creator/shared.js +7 -10
  84. package/lib/commonjs/agent-creator/shared.js.map +1 -1
  85. package/lib/commonjs/agent-thinking/AgentThinking.js +4 -62
  86. package/lib/commonjs/agent-thinking/AgentThinking.js.map +1 -1
  87. package/lib/commonjs/agent-thinking/ThinkingLabel.js +77 -0
  88. package/lib/commonjs/agent-thinking/ThinkingLabel.js.map +1 -0
  89. package/lib/commonjs/chart-cards/TokensChartCard.js +20 -5
  90. package/lib/commonjs/chart-cards/TokensChartCard.js.map +1 -1
  91. package/lib/commonjs/locale/translations/ar.js +11 -1
  92. package/lib/commonjs/locale/translations/ar.js.map +1 -1
  93. package/lib/commonjs/locale/translations/bn.js +11 -1
  94. package/lib/commonjs/locale/translations/bn.js.map +1 -1
  95. package/lib/commonjs/locale/translations/ca.js +11 -1
  96. package/lib/commonjs/locale/translations/ca.js.map +1 -1
  97. package/lib/commonjs/locale/translations/de.js +11 -1
  98. package/lib/commonjs/locale/translations/de.js.map +1 -1
  99. package/lib/commonjs/locale/translations/es.js +11 -1
  100. package/lib/commonjs/locale/translations/es.js.map +1 -1
  101. package/lib/commonjs/locale/translations/fr.js +11 -1
  102. package/lib/commonjs/locale/translations/fr.js.map +1 -1
  103. package/lib/commonjs/locale/translations/hi.js +11 -1
  104. package/lib/commonjs/locale/translations/hi.js.map +1 -1
  105. package/lib/commonjs/locale/translations/id.js +11 -1
  106. package/lib/commonjs/locale/translations/id.js.map +1 -1
  107. package/lib/commonjs/locale/translations/it.js +11 -1
  108. package/lib/commonjs/locale/translations/it.js.map +1 -1
  109. package/lib/commonjs/locale/translations/ja.js +11 -1
  110. package/lib/commonjs/locale/translations/ja.js.map +1 -1
  111. package/lib/commonjs/locale/translations/pt.js +11 -1
  112. package/lib/commonjs/locale/translations/pt.js.map +1 -1
  113. package/lib/commonjs/locale/translations/ru.js +11 -1
  114. package/lib/commonjs/locale/translations/ru.js.map +1 -1
  115. package/lib/commonjs/locale/translations/tr.js +11 -1
  116. package/lib/commonjs/locale/translations/tr.js.map +1 -1
  117. package/lib/commonjs/locale/translations/zh.js +11 -1
  118. package/lib/commonjs/locale/translations/zh.js.map +1 -1
  119. package/lib/commonjs/multi-agent-chat/AvatarHandoff.js +2 -4
  120. package/lib/commonjs/multi-agent-chat/AvatarHandoff.js.map +1 -1
  121. package/lib/commonjs/multi-agent-chat/ChatAgentProfile.js +97 -0
  122. package/lib/commonjs/multi-agent-chat/ChatAgentProfile.js.map +1 -0
  123. package/lib/commonjs/multi-agent-chat/EditorRail.js +4 -0
  124. package/lib/commonjs/multi-agent-chat/EditorRail.js.map +1 -1
  125. package/lib/commonjs/multi-agent-chat/MultiAgentChatBase.js +89 -126
  126. package/lib/commonjs/multi-agent-chat/MultiAgentChatBase.js.map +1 -1
  127. package/lib/commonjs/multi-agent-chat/ReplyRow.js +8 -11
  128. package/lib/commonjs/multi-agent-chat/ReplyRow.js.map +1 -1
  129. package/lib/commonjs/multi-agent-chat/handoff.js +5 -5
  130. package/lib/commonjs/multi-agent-chat/handoff.js.map +1 -1
  131. package/lib/commonjs/project-board/CreateTicketDialog.js +33 -2
  132. package/lib/commonjs/project-board/CreateTicketDialog.js.map +1 -1
  133. package/lib/commonjs/project-board/ProjectBoardBase.js +137 -38
  134. package/lib/commonjs/project-board/ProjectBoardBase.js.map +1 -1
  135. package/lib/commonjs/project-board/TicketCornerGenieSurface.web.js +34 -28
  136. package/lib/commonjs/project-board/TicketCornerGenieSurface.web.js.map +1 -1
  137. package/lib/commonjs/project-board/TicketDetailDialog.js +6 -3
  138. package/lib/commonjs/project-board/TicketDetailDialog.js.map +1 -1
  139. package/lib/commonjs/project-board/TicketGenieSurface.js +17 -7
  140. package/lib/commonjs/project-board/TicketGenieSurface.js.map +1 -1
  141. package/lib/commonjs/project-board/TicketGenieSurface.web.js +1 -1
  142. package/lib/commonjs/project-board/TicketGenieSurface.web.js.map +1 -1
  143. package/lib/commonjs/project-board/TicketPresence.js +125 -0
  144. package/lib/commonjs/project-board/TicketPresence.js.map +1 -0
  145. package/lib/commonjs/project-board/TicketTokenChart.js +23 -0
  146. package/lib/commonjs/project-board/TicketTokenChart.js.map +1 -0
  147. package/lib/commonjs/project-board/context.js +3 -1
  148. package/lib/commonjs/project-board/context.js.map +1 -1
  149. package/lib/commonjs/search/Search.js +12 -3
  150. package/lib/commonjs/search/Search.js.map +1 -1
  151. package/lib/commonjs/sidebar/SidebarToolbar.js +28 -14
  152. package/lib/commonjs/sidebar/SidebarToolbar.js.map +1 -1
  153. package/lib/commonjs/text-field/TextField.js +13 -7
  154. package/lib/commonjs/text-field/TextField.js.map +1 -1
  155. package/lib/module/agent-avatar/AgentAvatar.js +16 -204
  156. package/lib/module/agent-avatar/AgentAvatar.js.map +1 -1
  157. package/lib/module/agent-avatar/AgentAvatarProvider.js +60 -0
  158. package/lib/module/agent-avatar/AgentAvatarProvider.js.map +1 -0
  159. package/lib/module/agent-avatar/CharacterAvatar.js +207 -0
  160. package/lib/module/agent-avatar/CharacterAvatar.js.map +1 -0
  161. package/lib/module/agent-avatar/ProceduralAvatar.js +212 -0
  162. package/lib/module/agent-avatar/ProceduralAvatar.js.map +1 -0
  163. package/lib/module/agent-avatar/artwork.js +3 -3
  164. package/lib/module/agent-avatar/artwork.js.map +1 -1
  165. package/lib/module/agent-avatar/avatar-color.js +12 -0
  166. package/lib/module/agent-avatar/avatar-color.js.map +1 -0
  167. package/lib/module/agent-avatar/character-html.js +19 -0
  168. package/lib/module/agent-avatar/character-html.js.map +1 -0
  169. package/lib/module/agent-avatar/character-runtime-module.js +35 -0
  170. package/lib/module/agent-avatar/character-runtime-module.js.map +1 -0
  171. package/lib/module/agent-avatar/character-webview.js +14 -0
  172. package/lib/module/agent-avatar/character-webview.js.map +1 -0
  173. package/lib/module/agent-avatar/config-character.js +32 -0
  174. package/lib/module/agent-avatar/config-character.js.map +1 -0
  175. package/lib/module/agent-avatar/context.js +2 -0
  176. package/lib/module/agent-avatar/context.js.map +1 -1
  177. package/lib/module/agent-avatar/index.js +1 -0
  178. package/lib/module/agent-avatar/index.js.map +1 -1
  179. package/lib/module/agent-avatar/legacy-contours.js +53 -0
  180. package/lib/module/agent-avatar/legacy-contours.js.map +1 -0
  181. package/lib/module/agent-avatar/legacy-recipe.js +104 -0
  182. package/lib/module/agent-avatar/legacy-recipe.js.map +1 -0
  183. package/lib/module/agent-avatar/messages.js +2 -1
  184. package/lib/module/agent-avatar/messages.js.map +1 -1
  185. package/lib/module/agent-avatar/model.js +2 -0
  186. package/lib/module/agent-avatar/model.js.map +1 -1
  187. package/lib/module/agent-creator/AgentCreatorBase.js +242 -18
  188. package/lib/module/agent-creator/AgentCreatorBase.js.map +1 -1
  189. package/lib/module/agent-creator/CharacterControls.js +110 -0
  190. package/lib/module/agent-creator/CharacterControls.js.map +1 -0
  191. package/lib/module/agent-creator/EmotionPicker.js +52 -19
  192. package/lib/module/agent-creator/EmotionPicker.js.map +1 -1
  193. package/lib/module/agent-creator/ShapeArc.js +58 -28
  194. package/lib/module/agent-creator/ShapeArc.js.map +1 -1
  195. package/lib/module/agent-creator/ShapeSilhouette.js +57 -0
  196. package/lib/module/agent-creator/ShapeSilhouette.js.map +1 -0
  197. package/lib/module/agent-creator/constants.js +47 -0
  198. package/lib/module/agent-creator/constants.js.map +1 -1
  199. package/lib/module/agent-creator/messages.js +9 -0
  200. package/lib/module/agent-creator/messages.js.map +1 -1
  201. package/lib/module/agent-creator/shared.js +1 -9
  202. package/lib/module/agent-creator/shared.js.map +1 -1
  203. package/lib/module/agent-thinking/AgentThinking.js +5 -63
  204. package/lib/module/agent-thinking/AgentThinking.js.map +1 -1
  205. package/lib/module/agent-thinking/ThinkingLabel.js +73 -0
  206. package/lib/module/agent-thinking/ThinkingLabel.js.map +1 -0
  207. package/lib/module/chart-cards/TokensChartCard.js +20 -5
  208. package/lib/module/chart-cards/TokensChartCard.js.map +1 -1
  209. package/lib/module/locale/translations/ar.js +11 -1
  210. package/lib/module/locale/translations/ar.js.map +1 -1
  211. package/lib/module/locale/translations/bn.js +11 -1
  212. package/lib/module/locale/translations/bn.js.map +1 -1
  213. package/lib/module/locale/translations/ca.js +11 -1
  214. package/lib/module/locale/translations/ca.js.map +1 -1
  215. package/lib/module/locale/translations/de.js +11 -1
  216. package/lib/module/locale/translations/de.js.map +1 -1
  217. package/lib/module/locale/translations/es.js +11 -1
  218. package/lib/module/locale/translations/es.js.map +1 -1
  219. package/lib/module/locale/translations/fr.js +11 -1
  220. package/lib/module/locale/translations/fr.js.map +1 -1
  221. package/lib/module/locale/translations/hi.js +11 -1
  222. package/lib/module/locale/translations/hi.js.map +1 -1
  223. package/lib/module/locale/translations/id.js +11 -1
  224. package/lib/module/locale/translations/id.js.map +1 -1
  225. package/lib/module/locale/translations/it.js +11 -1
  226. package/lib/module/locale/translations/it.js.map +1 -1
  227. package/lib/module/locale/translations/ja.js +11 -1
  228. package/lib/module/locale/translations/ja.js.map +1 -1
  229. package/lib/module/locale/translations/pt.js +11 -1
  230. package/lib/module/locale/translations/pt.js.map +1 -1
  231. package/lib/module/locale/translations/ru.js +11 -1
  232. package/lib/module/locale/translations/ru.js.map +1 -1
  233. package/lib/module/locale/translations/tr.js +11 -1
  234. package/lib/module/locale/translations/tr.js.map +1 -1
  235. package/lib/module/locale/translations/zh.js +11 -1
  236. package/lib/module/locale/translations/zh.js.map +1 -1
  237. package/lib/module/multi-agent-chat/AvatarHandoff.js +3 -5
  238. package/lib/module/multi-agent-chat/AvatarHandoff.js.map +1 -1
  239. package/lib/module/multi-agent-chat/ChatAgentProfile.js +94 -0
  240. package/lib/module/multi-agent-chat/ChatAgentProfile.js.map +1 -0
  241. package/lib/module/multi-agent-chat/EditorRail.js +4 -0
  242. package/lib/module/multi-agent-chat/EditorRail.js.map +1 -1
  243. package/lib/module/multi-agent-chat/MultiAgentChatBase.js +89 -126
  244. package/lib/module/multi-agent-chat/MultiAgentChatBase.js.map +1 -1
  245. package/lib/module/multi-agent-chat/ReplyRow.js +9 -12
  246. package/lib/module/multi-agent-chat/ReplyRow.js.map +1 -1
  247. package/lib/module/multi-agent-chat/handoff.js +4 -4
  248. package/lib/module/multi-agent-chat/handoff.js.map +1 -1
  249. package/lib/module/project-board/CreateTicketDialog.js +33 -2
  250. package/lib/module/project-board/CreateTicketDialog.js.map +1 -1
  251. package/lib/module/project-board/ProjectBoardBase.js +138 -39
  252. package/lib/module/project-board/ProjectBoardBase.js.map +1 -1
  253. package/lib/module/project-board/TicketCornerGenieSurface.web.js +35 -29
  254. package/lib/module/project-board/TicketCornerGenieSurface.web.js.map +1 -1
  255. package/lib/module/project-board/TicketDetailDialog.js +7 -4
  256. package/lib/module/project-board/TicketDetailDialog.js.map +1 -1
  257. package/lib/module/project-board/TicketGenieSurface.js +17 -7
  258. package/lib/module/project-board/TicketGenieSurface.js.map +1 -1
  259. package/lib/module/project-board/TicketGenieSurface.web.js +1 -1
  260. package/lib/module/project-board/TicketGenieSurface.web.js.map +1 -1
  261. package/lib/module/project-board/TicketPresence.js +119 -0
  262. package/lib/module/project-board/TicketPresence.js.map +1 -0
  263. package/lib/module/project-board/TicketTokenChart.js +20 -0
  264. package/lib/module/project-board/TicketTokenChart.js.map +1 -0
  265. package/lib/module/project-board/context.js +2 -0
  266. package/lib/module/project-board/context.js.map +1 -1
  267. package/lib/module/search/Search.js +12 -3
  268. package/lib/module/search/Search.js.map +1 -1
  269. package/lib/module/sidebar/SidebarToolbar.js +29 -15
  270. package/lib/module/sidebar/SidebarToolbar.js.map +1 -1
  271. package/lib/module/text-field/TextField.js +13 -7
  272. package/lib/module/text-field/TextField.js.map +1 -1
  273. package/lib/typescript/commonjs/agent-avatar/AgentAvatar.d.ts +2 -2
  274. package/lib/typescript/commonjs/agent-avatar/AgentAvatar.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/agent-avatar/AgentAvatarProvider.d.ts +4 -0
  276. package/lib/typescript/commonjs/agent-avatar/AgentAvatarProvider.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts +4 -0
  278. package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/agent-avatar/ProceduralAvatar.d.ts +6 -0
  280. package/lib/typescript/commonjs/agent-avatar/ProceduralAvatar.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/agent-avatar/artwork.d.ts +2 -1
  282. package/lib/typescript/commonjs/agent-avatar/artwork.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/agent-avatar/avatar-color.d.ts +3 -0
  284. package/lib/typescript/commonjs/agent-avatar/avatar-color.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/agent-avatar/character-html.d.ts +4 -0
  286. package/lib/typescript/commonjs/agent-avatar/character-html.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/agent-avatar/character-runtime-module.d.ts +2 -0
  288. package/lib/typescript/commonjs/agent-avatar/character-runtime-module.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/agent-avatar/character-webview.d.ts +24 -0
  290. package/lib/typescript/commonjs/agent-avatar/character-webview.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts +11 -0
  292. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/agent-avatar/context.d.ts +12 -0
  294. package/lib/typescript/commonjs/agent-avatar/context.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/agent-avatar/index.d.ts +3 -1
  296. package/lib/typescript/commonjs/agent-avatar/index.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/agent-avatar/legacy-contours.d.ts +5 -0
  298. package/lib/typescript/commonjs/agent-avatar/legacy-contours.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts +40 -0
  300. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/agent-avatar/messages.d.ts +1 -0
  302. package/lib/typescript/commonjs/agent-avatar/messages.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/agent-avatar/model.d.ts +3 -0
  304. package/lib/typescript/commonjs/agent-avatar/model.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/agent-avatar/types.d.ts +10 -1
  306. package/lib/typescript/commonjs/agent-avatar/types.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts +8 -0
  309. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts +12 -1
  311. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts.map +1 -1
  312. package/lib/typescript/commonjs/agent-creator/ShapeArc.d.ts +11 -2
  313. package/lib/typescript/commonjs/agent-creator/ShapeArc.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/agent-creator/ShapeSilhouette.d.ts +6 -0
  315. package/lib/typescript/commonjs/agent-creator/ShapeSilhouette.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/agent-creator/constants.d.ts +44 -0
  317. package/lib/typescript/commonjs/agent-creator/constants.d.ts.map +1 -1
  318. package/lib/typescript/commonjs/agent-creator/context.d.ts +9 -0
  319. package/lib/typescript/commonjs/agent-creator/context.d.ts.map +1 -1
  320. package/lib/typescript/commonjs/agent-creator/messages.d.ts +10 -0
  321. package/lib/typescript/commonjs/agent-creator/messages.d.ts.map +1 -1
  322. package/lib/typescript/commonjs/agent-creator/shared.d.ts +1 -1
  323. package/lib/typescript/commonjs/agent-creator/shared.d.ts.map +1 -1
  324. package/lib/typescript/commonjs/agent-thinking/AgentThinking.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/agent-thinking/ThinkingLabel.d.ts +7 -0
  326. package/lib/typescript/commonjs/agent-thinking/ThinkingLabel.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/chart-cards/TokensChartCard.d.ts +3 -1
  328. package/lib/typescript/commonjs/chart-cards/TokensChartCard.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/locale/translations/ar.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/locale/translations/bn.d.ts.map +1 -1
  331. package/lib/typescript/commonjs/locale/translations/ca.d.ts.map +1 -1
  332. package/lib/typescript/commonjs/locale/translations/de.d.ts.map +1 -1
  333. package/lib/typescript/commonjs/locale/translations/es.d.ts.map +1 -1
  334. package/lib/typescript/commonjs/locale/translations/fr.d.ts.map +1 -1
  335. package/lib/typescript/commonjs/locale/translations/hi.d.ts.map +1 -1
  336. package/lib/typescript/commonjs/locale/translations/id.d.ts.map +1 -1
  337. package/lib/typescript/commonjs/locale/translations/it.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/locale/translations/ja.d.ts.map +1 -1
  339. package/lib/typescript/commonjs/locale/translations/pt.d.ts.map +1 -1
  340. package/lib/typescript/commonjs/locale/translations/ru.d.ts.map +1 -1
  341. package/lib/typescript/commonjs/locale/translations/tr.d.ts.map +1 -1
  342. package/lib/typescript/commonjs/locale/translations/zh.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/multi-agent-chat/AvatarHandoff.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/multi-agent-chat/ChatAgentProfile.d.ts +11 -0
  345. package/lib/typescript/commonjs/multi-agent-chat/ChatAgentProfile.d.ts.map +1 -0
  346. package/lib/typescript/commonjs/multi-agent-chat/EditorRail.d.ts.map +1 -1
  347. package/lib/typescript/commonjs/multi-agent-chat/MultiAgentChatBase.d.ts.map +1 -1
  348. package/lib/typescript/commonjs/multi-agent-chat/ReplyRow.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/multi-agent-chat/handoff.d.ts +2 -2
  350. package/lib/typescript/commonjs/multi-agent-chat/handoff.d.ts.map +1 -1
  351. package/lib/typescript/commonjs/project-board/CreateTicketDialog.d.ts.map +1 -1
  352. package/lib/typescript/commonjs/project-board/ProjectBoardBase.d.ts.map +1 -1
  353. package/lib/typescript/commonjs/project-board/TicketCornerGenieSurface.web.d.ts.map +1 -1
  354. package/lib/typescript/commonjs/project-board/TicketDetailDialog.d.ts.map +1 -1
  355. package/lib/typescript/commonjs/project-board/TicketGenieSurface.d.ts.map +1 -1
  356. package/lib/typescript/commonjs/project-board/TicketPresence.d.ts +17 -0
  357. package/lib/typescript/commonjs/project-board/TicketPresence.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/project-board/TicketTokenChart.d.ts +5 -0
  359. package/lib/typescript/commonjs/project-board/TicketTokenChart.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/project-board/context.d.ts +2 -0
  361. package/lib/typescript/commonjs/project-board/context.d.ts.map +1 -1
  362. package/lib/typescript/commonjs/search/Search.d.ts.map +1 -1
  363. package/lib/typescript/commonjs/sidebar/SidebarToolbar.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/text-field/TextField.d.ts.map +1 -1
  365. package/lib/typescript/module/agent-avatar/AgentAvatar.d.ts +2 -2
  366. package/lib/typescript/module/agent-avatar/AgentAvatar.d.ts.map +1 -1
  367. package/lib/typescript/module/agent-avatar/AgentAvatarProvider.d.ts +4 -0
  368. package/lib/typescript/module/agent-avatar/AgentAvatarProvider.d.ts.map +1 -0
  369. package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts +4 -0
  370. package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts.map +1 -0
  371. package/lib/typescript/module/agent-avatar/ProceduralAvatar.d.ts +6 -0
  372. package/lib/typescript/module/agent-avatar/ProceduralAvatar.d.ts.map +1 -0
  373. package/lib/typescript/module/agent-avatar/artwork.d.ts +2 -1
  374. package/lib/typescript/module/agent-avatar/artwork.d.ts.map +1 -1
  375. package/lib/typescript/module/agent-avatar/avatar-color.d.ts +3 -0
  376. package/lib/typescript/module/agent-avatar/avatar-color.d.ts.map +1 -0
  377. package/lib/typescript/module/agent-avatar/character-html.d.ts +4 -0
  378. package/lib/typescript/module/agent-avatar/character-html.d.ts.map +1 -0
  379. package/lib/typescript/module/agent-avatar/character-runtime-module.d.ts +2 -0
  380. package/lib/typescript/module/agent-avatar/character-runtime-module.d.ts.map +1 -0
  381. package/lib/typescript/module/agent-avatar/character-webview.d.ts +24 -0
  382. package/lib/typescript/module/agent-avatar/character-webview.d.ts.map +1 -0
  383. package/lib/typescript/module/agent-avatar/config-character.d.ts +11 -0
  384. package/lib/typescript/module/agent-avatar/config-character.d.ts.map +1 -0
  385. package/lib/typescript/module/agent-avatar/context.d.ts +12 -0
  386. package/lib/typescript/module/agent-avatar/context.d.ts.map +1 -1
  387. package/lib/typescript/module/agent-avatar/index.d.ts +3 -1
  388. package/lib/typescript/module/agent-avatar/index.d.ts.map +1 -1
  389. package/lib/typescript/module/agent-avatar/legacy-contours.d.ts +5 -0
  390. package/lib/typescript/module/agent-avatar/legacy-contours.d.ts.map +1 -0
  391. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts +40 -0
  392. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts.map +1 -0
  393. package/lib/typescript/module/agent-avatar/messages.d.ts +1 -0
  394. package/lib/typescript/module/agent-avatar/messages.d.ts.map +1 -1
  395. package/lib/typescript/module/agent-avatar/model.d.ts +3 -0
  396. package/lib/typescript/module/agent-avatar/model.d.ts.map +1 -1
  397. package/lib/typescript/module/agent-avatar/types.d.ts +10 -1
  398. package/lib/typescript/module/agent-avatar/types.d.ts.map +1 -1
  399. package/lib/typescript/module/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  400. package/lib/typescript/module/agent-creator/CharacterControls.d.ts +8 -0
  401. package/lib/typescript/module/agent-creator/CharacterControls.d.ts.map +1 -0
  402. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts +12 -1
  403. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts.map +1 -1
  404. package/lib/typescript/module/agent-creator/ShapeArc.d.ts +11 -2
  405. package/lib/typescript/module/agent-creator/ShapeArc.d.ts.map +1 -1
  406. package/lib/typescript/module/agent-creator/ShapeSilhouette.d.ts +6 -0
  407. package/lib/typescript/module/agent-creator/ShapeSilhouette.d.ts.map +1 -0
  408. package/lib/typescript/module/agent-creator/constants.d.ts +44 -0
  409. package/lib/typescript/module/agent-creator/constants.d.ts.map +1 -1
  410. package/lib/typescript/module/agent-creator/context.d.ts +9 -0
  411. package/lib/typescript/module/agent-creator/context.d.ts.map +1 -1
  412. package/lib/typescript/module/agent-creator/messages.d.ts +10 -0
  413. package/lib/typescript/module/agent-creator/messages.d.ts.map +1 -1
  414. package/lib/typescript/module/agent-creator/shared.d.ts +1 -1
  415. package/lib/typescript/module/agent-creator/shared.d.ts.map +1 -1
  416. package/lib/typescript/module/agent-thinking/AgentThinking.d.ts.map +1 -1
  417. package/lib/typescript/module/agent-thinking/ThinkingLabel.d.ts +7 -0
  418. package/lib/typescript/module/agent-thinking/ThinkingLabel.d.ts.map +1 -0
  419. package/lib/typescript/module/chart-cards/TokensChartCard.d.ts +3 -1
  420. package/lib/typescript/module/chart-cards/TokensChartCard.d.ts.map +1 -1
  421. package/lib/typescript/module/locale/translations/ar.d.ts.map +1 -1
  422. package/lib/typescript/module/locale/translations/bn.d.ts.map +1 -1
  423. package/lib/typescript/module/locale/translations/ca.d.ts.map +1 -1
  424. package/lib/typescript/module/locale/translations/de.d.ts.map +1 -1
  425. package/lib/typescript/module/locale/translations/es.d.ts.map +1 -1
  426. package/lib/typescript/module/locale/translations/fr.d.ts.map +1 -1
  427. package/lib/typescript/module/locale/translations/hi.d.ts.map +1 -1
  428. package/lib/typescript/module/locale/translations/id.d.ts.map +1 -1
  429. package/lib/typescript/module/locale/translations/it.d.ts.map +1 -1
  430. package/lib/typescript/module/locale/translations/ja.d.ts.map +1 -1
  431. package/lib/typescript/module/locale/translations/pt.d.ts.map +1 -1
  432. package/lib/typescript/module/locale/translations/ru.d.ts.map +1 -1
  433. package/lib/typescript/module/locale/translations/tr.d.ts.map +1 -1
  434. package/lib/typescript/module/locale/translations/zh.d.ts.map +1 -1
  435. package/lib/typescript/module/multi-agent-chat/AvatarHandoff.d.ts.map +1 -1
  436. package/lib/typescript/module/multi-agent-chat/ChatAgentProfile.d.ts +11 -0
  437. package/lib/typescript/module/multi-agent-chat/ChatAgentProfile.d.ts.map +1 -0
  438. package/lib/typescript/module/multi-agent-chat/EditorRail.d.ts.map +1 -1
  439. package/lib/typescript/module/multi-agent-chat/MultiAgentChatBase.d.ts.map +1 -1
  440. package/lib/typescript/module/multi-agent-chat/ReplyRow.d.ts.map +1 -1
  441. package/lib/typescript/module/multi-agent-chat/handoff.d.ts +2 -2
  442. package/lib/typescript/module/multi-agent-chat/handoff.d.ts.map +1 -1
  443. package/lib/typescript/module/project-board/CreateTicketDialog.d.ts.map +1 -1
  444. package/lib/typescript/module/project-board/ProjectBoardBase.d.ts.map +1 -1
  445. package/lib/typescript/module/project-board/TicketCornerGenieSurface.web.d.ts.map +1 -1
  446. package/lib/typescript/module/project-board/TicketDetailDialog.d.ts.map +1 -1
  447. package/lib/typescript/module/project-board/TicketGenieSurface.d.ts.map +1 -1
  448. package/lib/typescript/module/project-board/TicketPresence.d.ts +17 -0
  449. package/lib/typescript/module/project-board/TicketPresence.d.ts.map +1 -0
  450. package/lib/typescript/module/project-board/TicketTokenChart.d.ts +5 -0
  451. package/lib/typescript/module/project-board/TicketTokenChart.d.ts.map +1 -0
  452. package/lib/typescript/module/project-board/context.d.ts +2 -0
  453. package/lib/typescript/module/project-board/context.d.ts.map +1 -1
  454. package/lib/typescript/module/search/Search.d.ts.map +1 -1
  455. package/lib/typescript/module/sidebar/SidebarToolbar.d.ts.map +1 -1
  456. package/lib/typescript/module/text-field/TextField.d.ts.map +1 -1
  457. package/package.json +8 -3
  458. package/src/agent-avatar/AgentAvatar.tsx +16 -296
  459. package/src/agent-avatar/AgentAvatarProvider.tsx +72 -0
  460. package/src/agent-avatar/CharacterAvatar.tsx +255 -0
  461. package/src/agent-avatar/ProceduralAvatar.tsx +303 -0
  462. package/src/agent-avatar/artwork.ts +3 -3
  463. package/src/agent-avatar/avatar-color.ts +17 -0
  464. package/src/agent-avatar/character-html.ts +21 -0
  465. package/src/agent-avatar/character-runtime-module.ts +37 -0
  466. package/src/agent-avatar/character-webview.ts +24 -0
  467. package/src/agent-avatar/config-character.ts +40 -0
  468. package/src/agent-avatar/context.ts +13 -0
  469. package/src/agent-avatar/index.ts +4 -1
  470. package/src/agent-avatar/legacy-contours.ts +76 -0
  471. package/src/agent-avatar/legacy-recipe.ts +123 -0
  472. package/src/agent-avatar/messages.ts +1 -0
  473. package/src/agent-avatar/model.ts +5 -0
  474. package/src/agent-avatar/types.ts +12 -1
  475. package/src/agent-creator/AgentCreatorBase.tsx +329 -38
  476. package/src/agent-creator/CharacterControls.tsx +146 -0
  477. package/src/agent-creator/EmotionPicker.tsx +43 -21
  478. package/src/agent-creator/ShapeArc.tsx +83 -29
  479. package/src/agent-creator/ShapeSilhouette.tsx +65 -0
  480. package/src/agent-creator/constants.ts +30 -0
  481. package/src/agent-creator/messages.ts +19 -0
  482. package/src/agent-creator/shared.ts +1 -15
  483. package/src/agent-thinking/AgentThinking.tsx +7 -70
  484. package/src/agent-thinking/ThinkingLabel.tsx +74 -0
  485. package/src/chart-cards/TokensChartCard.tsx +10 -6
  486. package/src/locale/translations/ar.ts +10 -1
  487. package/src/locale/translations/bn.ts +10 -1
  488. package/src/locale/translations/ca.ts +10 -1
  489. package/src/locale/translations/de.ts +10 -1
  490. package/src/locale/translations/es.ts +10 -1
  491. package/src/locale/translations/fr.ts +10 -1
  492. package/src/locale/translations/hi.ts +10 -1
  493. package/src/locale/translations/id.ts +10 -1
  494. package/src/locale/translations/it.ts +10 -1
  495. package/src/locale/translations/ja.ts +10 -1
  496. package/src/locale/translations/pt.ts +10 -1
  497. package/src/locale/translations/ru.ts +10 -1
  498. package/src/locale/translations/tr.ts +10 -1
  499. package/src/locale/translations/zh.ts +10 -1
  500. package/src/multi-agent-chat/AvatarHandoff.tsx +2 -5
  501. package/src/multi-agent-chat/ChatAgentProfile.tsx +116 -0
  502. package/src/multi-agent-chat/EditorRail.tsx +2 -0
  503. package/src/multi-agent-chat/MultiAgentChatBase.tsx +123 -175
  504. package/src/multi-agent-chat/ReplyRow.tsx +10 -9
  505. package/src/multi-agent-chat/handoff.ts +4 -4
  506. package/src/project-board/CreateTicketDialog.tsx +28 -4
  507. package/src/project-board/ProjectBoardBase.tsx +115 -21
  508. package/src/project-board/TicketCornerGenieSurface.web.tsx +11 -6
  509. package/src/project-board/TicketDetailDialog.tsx +5 -4
  510. package/src/project-board/TicketGenieSurface.tsx +9 -0
  511. package/src/project-board/TicketGenieSurface.web.tsx +1 -1
  512. package/src/project-board/TicketPresence.tsx +137 -0
  513. package/src/project-board/TicketTokenChart.tsx +14 -0
  514. package/src/project-board/context.ts +2 -0
  515. package/src/search/Search.tsx +6 -5
  516. package/src/sidebar/SidebarToolbar.tsx +27 -15
  517. package/src/text-field/TextField.tsx +12 -7
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CharacterAvatar = CharacterAvatar;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = require("react-native-reanimated");
10
+ var _messages = require("../locale/messages.js");
11
+ var _styledPrimitives = require("../styles/styled-primitives.js");
12
+ var _index = require("../typography/index.js");
13
+ var _context = require("./context.js");
14
+ var _characterHtml = require("./character-html.js");
15
+ var _characterRuntimeModule = require("./character-runtime-module.js");
16
+ var _characterWebview = require("./character-webview.js");
17
+ var _legacyRecipe = require("./legacy-recipe.js");
18
+ var _messages2 = require("./messages.js");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ function WebCharacter({
21
+ runtimeUrl,
22
+ value,
23
+ onError
24
+ }) {
25
+ const {
26
+ reportCapabilities
27
+ } = (0, _react.useContext)(_context.CharacterRuntimeContext);
28
+ const report = (0, _react.useRef)(reportCapabilities);
29
+ report.current = reportCapabilities;
30
+ const host = (0, _react.useRef)(null),
31
+ controller = (0, _react.useRef)(null);
32
+ const latest = (0, _react.useRef)(value);
33
+ latest.current = value;
34
+ const fail = (0, _react.useRef)(onError);
35
+ fail.current = onError;
36
+ (0, _react.useEffect)(() => {
37
+ const element = host.current;
38
+ if (!element || typeof document === 'undefined') return;
39
+ let stopped = false,
40
+ started = false;
41
+ const canvas = document.createElement('canvas');
42
+ canvas.setAttribute('aria-hidden', 'true');
43
+ Object.assign(canvas.style, {
44
+ width: '100%',
45
+ height: '100%',
46
+ display: 'block',
47
+ touchAction: 'none'
48
+ });
49
+ element.appendChild(canvas);
50
+ const start = async () => {
51
+ if (started || stopped) return;
52
+ started = true;
53
+ try {
54
+ const module = await (0, _characterRuntimeModule.loadCharacterRuntime)(runtimeUrl);
55
+ if (stopped) return;
56
+ const instance = await module.createAvatar(canvas, latest.current, {
57
+ onError: () => fail.current(),
58
+ onCapabilities: info => report.current?.(info)
59
+ });
60
+ if (stopped) instance.dispose();else {
61
+ controller.current = instance;
62
+ instance.update(latest.current);
63
+ }
64
+ } catch {
65
+ if (!stopped) fail.current();
66
+ }
67
+ };
68
+ const observer = new IntersectionObserver(entries => {
69
+ if (entries.some(entry => entry.isIntersecting)) void start();
70
+ });
71
+ observer.observe(element);
72
+ return () => {
73
+ stopped = true;
74
+ observer.disconnect();
75
+ controller.current?.dispose();
76
+ controller.current = null;
77
+ canvas.remove();
78
+ };
79
+ }, [runtimeUrl]);
80
+ (0, _react.useEffect)(() => {
81
+ try {
82
+ controller.current?.update(value);
83
+ } catch {
84
+ onError();
85
+ }
86
+ }, [value, onError]);
87
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
88
+ ref: host,
89
+ style: {
90
+ flex: 1
91
+ }
92
+ });
93
+ }
94
+ function NativeCharacter({
95
+ runtimeUrl,
96
+ value,
97
+ onError
98
+ }) {
99
+ const {
100
+ reportCapabilities
101
+ } = (0, _react.useContext)(_context.CharacterRuntimeContext);
102
+ const WebView = (0, _characterWebview.characterWebView)();
103
+ const ref = (0, _react.useRef)(null);
104
+ const initial = (0, _react.useRef)(value);
105
+ const source = (0, _react.useMemo)(() => ({
106
+ html: (0, _characterHtml.characterHtml)(runtimeUrl, initial.current),
107
+ baseUrl: runtimeUrl
108
+ }), [runtimeUrl]);
109
+ (0, _react.useEffect)(() => {
110
+ if (!WebView) onError();
111
+ }, [WebView, onError]);
112
+ const send = () => ref.current?.injectJavaScript(`window.updateCharacter?.(${(0, _characterHtml.scriptJson)(value)}); true;`);
113
+ (0, _react.useEffect)(send, [value]);
114
+ if (!WebView) return null;
115
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(WebView, {
116
+ ref: ref,
117
+ source: source,
118
+ style: {
119
+ flex: 1,
120
+ backgroundColor: 'transparent'
121
+ },
122
+ scrollEnabled: false,
123
+ javaScriptEnabled: true,
124
+ originWhitelist: ['*'],
125
+ onMessage: event => {
126
+ if (event.nativeEvent.data.startsWith('capabilities:')) {
127
+ try {
128
+ reportCapabilities?.(JSON.parse(event.nativeEvent.data.slice(13)));
129
+ } catch {
130
+ onError();
131
+ }
132
+ } else if (event.nativeEvent.data === 'error') onError();else if (event.nativeEvent.data === 'loaded') send();
133
+ }
134
+ });
135
+ }
136
+
137
+ /** Optional binary-backed renderer; the application supplies the hosted runtime URL. */
138
+ function CharacterAvatar(props) {
139
+ const {
140
+ runtimeUrl
141
+ } = (0, _react.useContext)(_context.CharacterRuntimeContext);
142
+ const {
143
+ messages
144
+ } = (0, _messages.useMessages)(_messages2.AGENT_AVATAR_MESSAGES, props.locale);
145
+ const initialReduced = (0, _reactNativeReanimated.useReducedMotion)();
146
+ const [reduced, setReduced] = (0, _react.useState)(initialReduced);
147
+ const [active, setActive] = (0, _react.useState)(_reactNative.AppState.currentState !== 'background');
148
+ const [failed, setFailed] = (0, _react.useState)(false);
149
+ const {
150
+ config,
151
+ paused,
152
+ portrait,
153
+ workingKey,
154
+ reactionKey,
155
+ entranceKey,
156
+ workingCycles,
157
+ interactive,
158
+ size = 64
159
+ } = props;
160
+ (0, _react.useEffect)(() => {
161
+ const motion = _reactNative.AccessibilityInfo.addEventListener('reduceMotionChanged', setReduced);
162
+ const state = _reactNative.AppState.addEventListener('change', next => setActive(next === 'active'));
163
+ const media = _reactNative.Platform.OS === 'web' ? window.matchMedia('(prefers-reduced-motion: reduce)') : undefined;
164
+ const change = () => setReduced(media.matches);
165
+ media?.addEventListener('change', change);
166
+ if (media) change();
167
+ return () => {
168
+ motion?.remove?.();
169
+ state?.remove?.();
170
+ media?.removeEventListener('change', change);
171
+ };
172
+ }, []);
173
+ (0, _react.useEffect)(() => setFailed(false), [runtimeUrl, config.character]);
174
+ const value = (0, _react.useMemo)(() => ({
175
+ config,
176
+ legacy: !config.character || config.character.preset === 'bloom' ? (0, _legacyRecipe.legacyRecipe)(config) : undefined,
177
+ paused: paused || !active,
178
+ portrait,
179
+ workingKey,
180
+ reactionKey,
181
+ entranceKey,
182
+ workingCycles,
183
+ interactive,
184
+ reduced
185
+ }), [config, paused, portrait, active, workingKey, reactionKey, entranceKey, workingCycles, interactive, reduced]);
186
+ const fail = (0, _react.useMemo)(() => () => setFailed(true), []);
187
+ const Renderer = _reactNative.Platform.OS === 'web' ? WebCharacter : NativeCharacter;
188
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
189
+ className: props.className,
190
+ style: [{
191
+ width: size,
192
+ height: size
193
+ }, props.style],
194
+ accessible: true,
195
+ accessibilityRole: "image",
196
+ accessibilityLabel: props.accessibilityLabel ?? props.label ?? messages.label,
197
+ testID: props.testID,
198
+ children: runtimeUrl && !failed ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Renderer, {
199
+ runtimeUrl: runtimeUrl,
200
+ value: value,
201
+ onError: fail
202
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
203
+ numberOfLines: 2,
204
+ style: {
205
+ fontSize: 10
206
+ },
207
+ children: messages.unavailable
208
+ })
209
+ });
210
+ }
211
+ //# sourceMappingURL=CharacterAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_messages","_styledPrimitives","_index","_context","_characterHtml","_characterRuntimeModule","_characterWebview","_legacyRecipe","_messages2","_jsxRuntime","WebCharacter","runtimeUrl","value","onError","reportCapabilities","useContext","CharacterRuntimeContext","report","useRef","current","host","controller","latest","fail","useEffect","element","document","stopped","started","canvas","createElement","setAttribute","Object","assign","style","width","height","display","touchAction","appendChild","start","module","loadCharacterRuntime","instance","createAvatar","onCapabilities","info","dispose","update","observer","IntersectionObserver","entries","some","entry","isIntersecting","observe","disconnect","remove","jsx","StyledView","ref","flex","NativeCharacter","WebView","characterWebView","initial","source","useMemo","html","characterHtml","baseUrl","send","injectJavaScript","scriptJson","backgroundColor","scrollEnabled","javaScriptEnabled","originWhitelist","onMessage","event","nativeEvent","data","startsWith","JSON","parse","slice","CharacterAvatar","props","messages","useMessages","AGENT_AVATAR_MESSAGES","locale","initialReduced","useReducedMotion","reduced","setReduced","useState","active","setActive","AppState","currentState","failed","setFailed","config","paused","portrait","workingKey","reactionKey","entranceKey","workingCycles","interactive","size","motion","AccessibilityInfo","addEventListener","state","next","media","Platform","OS","window","matchMedia","undefined","change","matches","removeEventListener","character","legacy","preset","legacyRecipe","Renderer","className","accessible","accessibilityRole","accessibilityLabel","label","testID","children","Text","numberOfLines","fontSize","unavailable"],"sourceRoot":"../../../src","sources":["agent-avatar/CharacterAvatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ProceduralAvatar = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = require("react-native-reanimated");
10
+ var _messages = require("../locale/messages.js");
11
+ var _styledPrimitives = require("../styles/styled-primitives.js");
12
+ var _artwork = require("./artwork.js");
13
+ var _attention = require("./attention.js");
14
+ var _blink = require("./blink.js");
15
+ var _context = require("./context.js");
16
+ var _drawing = require("./drawing.js");
17
+ var _entrance = require("./entrance.js");
18
+ var _face = require("./face.js");
19
+ var _messages2 = require("./messages.js");
20
+ var _SvgDrawing = require("./SvgDrawing.js");
21
+ var _wander = require("./wander.js");
22
+ var _working = require("./working.js");
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ const TAU = Math.PI * 2;
25
+ const randomSeed = () => {
26
+ if (globalThis.crypto?.getRandomValues) return globalThis.crypto.getRandomValues(new Uint32Array(1))[0];
27
+ return Math.floor(Math.random() * 4294967296) >>> 0;
28
+ };
29
+
30
+ /** Animated procedural artwork; shared geometry, face rig and materials across platforms. */
31
+ function AgentAvatarComponent({
32
+ config,
33
+ size = 64,
34
+ paused = false,
35
+ label,
36
+ locale,
37
+ entranceKey,
38
+ workingKey,
39
+ workingCycles = 1,
40
+ className,
41
+ style,
42
+ accessibilityLabel,
43
+ testID
44
+ }) {
45
+ const {
46
+ messages
47
+ } = (0, _messages.useMessages)(_messages2.AGENT_AVATAR_MESSAGES, locale);
48
+ const initialReduced = (0, _reactNativeReanimated.useReducedMotion)();
49
+ const [reduced, setReduced] = (0, _react.useState)(initialReduced);
50
+ (0, _react.useEffect)(() => {
51
+ const subscription = _reactNative.AccessibilityInfo.addEventListener('reduceMotionChanged', setReduced);
52
+ const media = _reactNative.Platform.OS === 'web' && typeof matchMedia !== 'undefined' ? matchMedia('(prefers-reduced-motion: reduce)') : undefined;
53
+ const change = () => setReduced(media.matches);
54
+ media?.addEventListener('change', change);
55
+ if (media) change();
56
+ return () => {
57
+ subscription?.remove?.();
58
+ media?.removeEventListener('change', change);
59
+ };
60
+ }, []);
61
+ const backingSize = Math.round(size * Math.min(_reactNative.PixelRatio.get() || 1, 2));
62
+ const root = (0, _react.useRef)(null);
63
+ const randomized = (0, _react.useRef)(false);
64
+ const state = (0, _react.useRef)(null);
65
+ if (!state.current) {
66
+ const seed = config.seed >>> 0;
67
+ state.current = {
68
+ phase: seed / 4294967296 * TAU,
69
+ blink: (0, _blink.createBlink)(seed),
70
+ wander: (0, _wander.createWander)(seed ^ config.seed, config.family === 'fold'),
71
+ attention: (0, _attention.createAttention)(seed ^ config.seed),
72
+ shapeMorph: {
73
+ started: 0,
74
+ active: false
75
+ },
76
+ velocity: {},
77
+ entrance: {
78
+ elapsed: _entrance.ENTRANCE_SECONDS
79
+ },
80
+ working: {
81
+ elapsed: _working.WORKING_SECONDS
82
+ }
83
+ };
84
+ }
85
+ const renderDrawing = () => {
86
+ const context = new _drawing.DrawingContext(),
87
+ s = state.current;
88
+ const appearance = (0, _face.faceAtSize)(config, size),
89
+ target = (0, _face.expressionRig)(appearance);
90
+ (0, _artwork.drawAvatar)(context, appearance, s.phase, s.face ?? target, s.gaze ?? (0, _face.gazeAngles)(appearance, s.phase, target), size, s.entrance.elapsed, s.working.elapsed, undefined, Math.max(1, Math.floor(workingCycles)), backingSize);
91
+ return context;
92
+ };
93
+ const [drawing, setDrawing] = (0, _react.useState)(renderDrawing);
94
+ const observeDrawing = (0, _react.useContext)(_context.AvatarDrawingObserver);
95
+ (0, _react.useLayoutEffect)(() => {
96
+ observeDrawing?.(drawing);
97
+ }, [observeDrawing, drawing]);
98
+ (0, _react.useEffect)(() => {
99
+ const s = state.current,
100
+ cycles = Math.max(1, Math.floor(workingCycles));
101
+ if (!randomized.current) {
102
+ s.wander = (0, _wander.createWander)(randomSeed() ^ config.seed, config.family === 'fold');
103
+ const seed = randomSeed();
104
+ s.phase = seed / 4294967296 * TAU;
105
+ s.blink = (0, _blink.createBlink)(seed);
106
+ s.attention = (0, _attention.createAttention)(randomSeed() ^ config.seed);
107
+ randomized.current = true;
108
+ }
109
+ const duration = _working.WORKING_SECONDS * cycles,
110
+ appearance = (0, _face.faceAtSize)(config, size),
111
+ target = (0, _face.expressionRig)(appearance);
112
+ if (s.entrance.key !== entranceKey) s.entrance = {
113
+ key: entranceKey,
114
+ elapsed: entranceKey === undefined || paused ? _entrance.ENTRANCE_SECONDS : 0
115
+ };
116
+ if (s.working.key !== workingKey) {
117
+ s.working = {
118
+ key: workingKey,
119
+ elapsed: workingKey === undefined || paused ? duration : 0
120
+ };
121
+ if (workingKey !== undefined) s.entrance.elapsed = _entrance.ENTRANCE_SECONDS;
122
+ }
123
+ if (config.idle || workingKey === undefined) s.working.elapsed = duration;
124
+ s.expression ??= s.face ?? target;
125
+ s.face ??= target;
126
+ s.gaze ??= (0, _face.gazeAngles)(appearance, s.phase, target, s.wander.point);
127
+ const frozen = paused || reduced || config.motion === 0;
128
+ if (reduced || config.motion === 0) {
129
+ s.entrance.elapsed = _entrance.ENTRANCE_SECONDS;
130
+ s.working.elapsed = duration;
131
+ }
132
+ if (frozen) {
133
+ s.shapeMorph = {
134
+ started: 0,
135
+ active: false
136
+ };
137
+ s.face = target;
138
+ s.expression = target;
139
+ s.velocity = {};
140
+ if (!paused || config.lookAt !== 'wander') s.gaze = (0, _face.gazeAngles)(appearance, s.phase, target, s.wander.point);
141
+ }
142
+ const draw = () => {
143
+ const context = new _drawing.DrawingContext();
144
+ (0, _artwork.drawAvatar)(context, appearance, s.phase, s.face, s.gaze, size, s.entrance.elapsed, s.working.elapsed, frozen ? undefined : s.shapeMorph, cycles, backingSize);
145
+ setDrawing(context);
146
+ };
147
+ let frame = 0,
148
+ last = 0,
149
+ visible = true,
150
+ active = _reactNative.AppState.currentState !== 'background',
151
+ transitioning = true;
152
+ const tick = now => {
153
+ if (!last) last = now;
154
+ if (now - last >= (transitioning ? 16 : 32)) {
155
+ if (visible && active) {
156
+ const milliseconds = Math.min(now - last, 64),
157
+ seconds = milliseconds / 1000;
158
+ s.entrance.elapsed = Math.min(_entrance.ENTRANCE_SECONDS, s.entrance.elapsed + seconds);
159
+ s.working.elapsed = Math.min(duration, s.working.elapsed + seconds);
160
+ const base = (0, _face.easeFace)(s.expression ?? target, target, s.velocity, seconds);
161
+ s.expression = base;
162
+ transitioning = Object.keys(target).some(key => base[key] !== target[key]) || s.shapeMorph.active;
163
+ s.face = config.family === 'fold' || base.smile > 0.2 ? (0, _attention.advanceAttention)(s.attention, seconds * 8 / config.duration, base, appearance) : base;
164
+ s.face.blink = config.idle ? 1 : (0, _blink.advanceBlink)(s.blink, seconds);
165
+ transitioning ||= s.blink.blinking;
166
+ s.phase = (s.phase + seconds * TAU / config.duration) % TAU;
167
+ if (!config.idle && config.lookAt === 'wander') (0, _wander.advanceWander)(s.wander, seconds * 8 / config.duration, config.family === 'fold');
168
+ const aim = (0, _face.gazeAngles)(appearance, s.phase, s.face, s.wander.point),
169
+ ease = 1 - Math.exp(-milliseconds / 85);
170
+ s.gaze = [s.gaze[0] + (aim[0] - s.gaze[0]) * ease, s.gaze[1] + (aim[1] - s.gaze[1]) * ease];
171
+ draw();
172
+ }
173
+ last = now;
174
+ }
175
+ frame = requestAnimationFrame(tick);
176
+ };
177
+ const subscription = _reactNative.AppState.addEventListener('change', next => {
178
+ active = next === 'active';
179
+ last = 0;
180
+ });
181
+ let observer;
182
+ if (_reactNative.Platform.OS === 'web' && typeof IntersectionObserver !== 'undefined' && root.current instanceof Element) {
183
+ observer = new IntersectionObserver(entries => {
184
+ visible = entries[0]?.isIntersecting ?? true;
185
+ });
186
+ observer.observe(root.current);
187
+ }
188
+ draw();
189
+ if (!frozen) frame = requestAnimationFrame(tick);
190
+ return () => {
191
+ cancelAnimationFrame(frame);
192
+ subscription?.remove?.();
193
+ observer?.disconnect();
194
+ };
195
+ }, [config, size, backingSize, paused, reduced, entranceKey, workingKey, workingCycles]);
196
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
197
+ ref: root,
198
+ className: className,
199
+ style: [{
200
+ width: size,
201
+ height: size,
202
+ maxWidth: '100%'
203
+ }, style],
204
+ accessible: true,
205
+ accessibilityRole: "image",
206
+ accessibilityLabel: accessibilityLabel ?? label ?? messages.label,
207
+ testID: testID,
208
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgDrawing.Drawing, {
209
+ context: drawing,
210
+ size: size
211
+ })
212
+ });
213
+ }
214
+ const ProceduralAvatar = exports.ProceduralAvatar = /*#__PURE__*/(0, _react.memo)(AgentAvatarComponent);
215
+ ProceduralAvatar.displayName = 'AgentAvatar';
216
+ //# sourceMappingURL=ProceduralAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_messages","_styledPrimitives","_artwork","_attention","_blink","_context","_drawing","_entrance","_face","_messages2","_SvgDrawing","_wander","_working","_jsxRuntime","TAU","Math","PI","randomSeed","globalThis","crypto","getRandomValues","Uint32Array","floor","random","AgentAvatarComponent","config","size","paused","label","locale","entranceKey","workingKey","workingCycles","className","style","accessibilityLabel","testID","messages","useMessages","AGENT_AVATAR_MESSAGES","initialReduced","useReducedMotion","reduced","setReduced","useState","useEffect","subscription","AccessibilityInfo","addEventListener","media","Platform","OS","matchMedia","undefined","change","matches","remove","removeEventListener","backingSize","round","min","PixelRatio","get","root","useRef","randomized","state","current","seed","phase","blink","createBlink","wander","createWander","family","attention","createAttention","shapeMorph","started","active","velocity","entrance","elapsed","ENTRANCE_SECONDS","working","WORKING_SECONDS","renderDrawing","context","DrawingContext","s","appearance","faceAtSize","target","expressionRig","drawAvatar","face","gaze","gazeAngles","max","drawing","setDrawing","observeDrawing","useContext","AvatarDrawingObserver","useLayoutEffect","cycles","duration","key","idle","expression","point","frozen","motion","lookAt","draw","frame","last","visible","AppState","currentState","transitioning","tick","now","milliseconds","seconds","base","easeFace","Object","keys","some","smile","advanceAttention","advanceBlink","blinking","advanceWander","aim","ease","exp","requestAnimationFrame","next","observer","IntersectionObserver","Element","entries","isIntersecting","observe","cancelAnimationFrame","disconnect","jsx","StyledView","ref","width","height","maxWidth","accessible","accessibilityRole","children","Drawing","ProceduralAvatar","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["agent-avatar/ProceduralAvatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.avatarSilhouette = avatarSilhouette;
6
7
  exports.drawAvatar = drawAvatar;
7
8
  var _drawing = require("./drawing.js");
8
9
  var _entrance = require("./entrance.js");
@@ -10,7 +11,7 @@ var _face = require("./face.js");
10
11
  var _fold = require("./fold.js");
11
12
  var _working = require("./working.js");
12
13
  const TAU = Math.PI * 2;
13
- function silhouette(c, phase) {
14
+ function avatarSilhouette(c, phase) {
14
15
  const path = new _drawing.DrawingPath();
15
16
  if (c.family === 'alien') {
16
17
  const sx = c.alienShape === 'round' ? 1.06 : c.alienShape === 'long' ? 0.86 : 1;
@@ -80,7 +81,7 @@ function drawAvatar(ctx, c, phase, rig, gaze, cssSize, entranceSeconds = _entran
80
81
  return;
81
82
  }
82
83
  ctx.save();
83
- ctx.clip(silhouette(c, phase));
84
+ ctx.clip(avatarSilhouette(c, phase));
84
85
  const color = (offset, light, alpha = 1) => `hsla(${c.hue + offset},${c.saturation}%,${light}%,${alpha})`;
85
86
  ctx.fillStyle = color(0, c.material === 'solid' ? 55 : 58);
86
87
  ctx.fillRect(-110, -110, 220, 220);
@@ -138,7 +139,7 @@ function drawAvatar(ctx, c, phase, rig, gaze, cssSize, entranceSeconds = _entran
138
139
  ctx.restore();
139
140
  if (c.face) {
140
141
  ctx.save();
141
- ctx.clip(silhouette(c, phase));
142
+ ctx.clip(avatarSilhouette(c, phase));
142
143
  (0, _face.drawFace)(ctx, c, phase, rig, gaze, cssSize);
143
144
  ctx.restore();
144
145
  if (c.idle) (0, _face.drawSleepMarks)(ctx, c, phase, gaze);
@@ -1 +1 @@
1
- {"version":3,"names":["_drawing","require","_entrance","_face","_fold","_working","TAU","Math","PI","silhouette","c","phase","path","DrawingPath","family","sx","alienShape","sy","moveTo","bezierCurveTo","quadraticCurveTo","closePath","shape","lineTo","i","a","radius","sin","motion","cos","pow","abs","x","y","drawAvatar","ctx","rig","gaze","cssSize","entranceSeconds","ENTRANCE_SECONDS","workingSeconds","WORKING_SECONDS","shapeMorph","workingCycles","backingSize","size","save","entrance","entrancePose","entrySide","foldDirection","translate","rotate","rotation","scale","scaleX","scaleY","globalAlpha","opacity","tremble","bounce","breath","work","workingPose","tilt","drawFold","fold","faceOpacity","turn","restore","clip","color","offset","light","alpha","hue","saturation","fillStyle","material","fillRect","drift","complexity","seed","g","createRadialGradient","spread","addColorStop","width","p","side","j","bend","createLinearGradient","fill","grain","globalCompositeOperation","createPattern","face","drawFace","idle","drawSleepMarks"],"sourceRoot":"../../../src","sources":["agent-avatar/artwork.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_drawing","require","_entrance","_face","_fold","_working","TAU","Math","PI","avatarSilhouette","c","phase","path","DrawingPath","family","sx","alienShape","sy","moveTo","bezierCurveTo","quadraticCurveTo","closePath","shape","lineTo","i","a","radius","sin","motion","cos","pow","abs","x","y","drawAvatar","ctx","rig","gaze","cssSize","entranceSeconds","ENTRANCE_SECONDS","workingSeconds","WORKING_SECONDS","shapeMorph","workingCycles","backingSize","size","save","entrance","entrancePose","entrySide","foldDirection","translate","rotate","rotation","scale","scaleX","scaleY","globalAlpha","opacity","tremble","bounce","breath","work","workingPose","tilt","drawFold","fold","faceOpacity","turn","restore","clip","color","offset","light","alpha","hue","saturation","fillStyle","material","fillRect","drift","complexity","seed","g","createRadialGradient","spread","addColorStop","width","p","side","j","bend","createLinearGradient","fill","grain","globalCompositeOperation","createPattern","face","drawFace","idle","drawSleepMarks"],"sourceRoot":"../../../src","sources":["agent-avatar/artwork.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.avatarHex = avatarHex;
7
+ function avatarHex(c) {
8
+ const light = (c.lightness ?? 76) / 100,
9
+ a = c.saturation / 100 * Math.min(light, 1 - light);
10
+ const channel = n => {
11
+ const k = (n + c.hue / 30) % 12;
12
+ return Math.round(255 * (light - a * Math.max(-1, Math.min(k - 3, 9 - k, 1)))).toString(16).padStart(2, '0');
13
+ };
14
+ return `#${channel(0)}${channel(8)}${channel(4)}`;
15
+ }
16
+ //# sourceMappingURL=avatar-color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["avatarHex","c","light","lightness","a","saturation","Math","min","channel","n","k","hue","round","max","toString","padStart"],"sourceRoot":"../../../src","sources":["agent-avatar/avatar-color.ts"],"mappings":";;;;;;AAEO,SAASA,SAASA,CACvBC,CAAyD,EACzD;EACA,MAAMC,KAAK,GAAG,CAACD,CAAC,CAACE,SAAS,IAAI,EAAE,IAAI,GAAG;IACrCC,CAAC,GAAIH,CAAC,CAACI,UAAU,GAAG,GAAG,GAAIC,IAAI,CAACC,GAAG,CAACL,KAAK,EAAE,CAAC,GAAGA,KAAK,CAAC;EACvD,MAAMM,OAAO,GAAIC,CAAS,IAAK;IAC7B,MAAMC,CAAC,GAAG,CAACD,CAAC,GAAGR,CAAC,CAACU,GAAG,GAAG,EAAE,IAAI,EAAE;IAC/B,OAAOL,IAAI,CAACM,KAAK,CACf,GAAG,IAAIV,KAAK,GAAGE,CAAC,GAAGE,IAAI,CAACO,GAAG,CAAC,CAAC,CAAC,EAAEP,IAAI,CAACC,GAAG,CAACG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAGA,CAAC,EAAE,CAAC,CAAC,CAAC,CAC5D,CAAC,CACEI,QAAQ,CAAC,EAAE,CAAC,CACZC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACrB,CAAC;EACD,OAAO,IAAIP,OAAO,CAAC,CAAC,CAAC,GAAGA,OAAO,CAAC,CAAC,CAAC,GAAGA,OAAO,CAAC,CAAC,CAAC,EAAE;AACnD","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.characterHtml = characterHtml;
7
+ exports.scriptJson = void 0;
8
+ /** Escape script delimiters in saved recipes; never interpolate appearance text as HTML. */
9
+ const scriptJson = value => JSON.stringify(value).replace(/</g, '\\u003c').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
10
+ exports.scriptJson = scriptJson;
11
+ function characterHtml(runtimeUrl, props) {
12
+ return `<!doctype html><html><head><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"><style>html,body{margin:0;width:100%;height:100%;overflow:hidden;background:transparent}canvas{display:block;width:100%;height:100%;touch-action:none}</style></head><body><canvas id="avatar"></canvas><script type="module">
13
+ let controller, latest=${scriptJson(props)};
14
+ const report = type => window.ReactNativeWebView.postMessage(type);
15
+ window.updateCharacter = value => { latest=value; try { controller?.update(value); } catch { report('error'); } };
16
+ try {
17
+ const {createAvatar}=await import(${scriptJson(runtimeUrl)});
18
+ controller=await createAvatar(document.querySelector('canvas'),latest,{onReady:()=>report('ready'),onError:()=>report('error'),onCapabilities:value=>report('capabilities:'+JSON.stringify(value))});
19
+ controller.update(latest);
20
+ report('loaded');
21
+ } catch { report('error'); }
22
+ window.addEventListener('pagehide',()=>controller?.dispose(),{once:true});
23
+ </script></body></html>`;
24
+ }
25
+ //# sourceMappingURL=character-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["scriptJson","value","JSON","stringify","replace","exports","characterHtml","runtimeUrl","props"],"sourceRoot":"../../../src","sources":["agent-avatar/character-html.ts"],"mappings":";;;;;;;AAAA;AACO,MAAMA,UAAU,GAAIC,KAAc,IACvCC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC,CAClBG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CACxBA,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAC7BA,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;AAACC,OAAA,CAAAL,UAAA,GAAAA,UAAA;AAE5B,SAASM,aAAaA,CAACC,UAAkB,EAAEC,KAAc,EAAE;EAChE,OAAO;AACT,yBAAyBR,UAAU,CAACQ,KAAK,CAAC;AAC1C;AACA;AACA;AACA,qCAAqCR,UAAU,CAACO,UAAU,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB","ignoreList":[]}