@artooi/agents-web-components 0.0.0-stage → 0.1.1

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 (543) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/LICENSE +21 -0
  3. package/README.md +4397 -2
  4. package/dist/agents-web-components.bundle.js +5708 -0
  5. package/dist/agents-web-components.bundle.js.map +7 -0
  6. package/dist/bundle.d.ts +3 -0
  7. package/dist/bundle.d.ts.map +1 -0
  8. package/dist/chat.d.ts +3 -0
  9. package/dist/chat.d.ts.map +1 -0
  10. package/dist/chat.js +16373 -0
  11. package/dist/chat.js.map +7 -0
  12. package/dist/chunk-ARNLFGCC.js +7715 -0
  13. package/dist/chunk-ARNLFGCC.js.map +7 -0
  14. package/dist/constants.d.ts +575 -0
  15. package/dist/constants.d.ts.map +1 -0
  16. package/dist/core/activity_registration.d.ts +19 -0
  17. package/dist/core/activity_registration.d.ts.map +1 -0
  18. package/dist/core/activity_registry.d.ts +46 -0
  19. package/dist/core/activity_registry.d.ts.map +1 -0
  20. package/dist/core/activity_renderer.d.ts +20 -0
  21. package/dist/core/activity_renderer.d.ts.map +1 -0
  22. package/dist/core/ag_ui_chat.d.ts +836 -0
  23. package/dist/core/ag_ui_chat.d.ts.map +1 -0
  24. package/dist/core/agui_client.d.ts +370 -0
  25. package/dist/core/agui_client.d.ts.map +1 -0
  26. package/dist/core/attachment.d.ts +42 -0
  27. package/dist/core/attachment.d.ts.map +1 -0
  28. package/dist/core/chat_registry.d.ts +23 -0
  29. package/dist/core/chat_registry.d.ts.map +1 -0
  30. package/dist/core/client_seed.d.ts +27 -0
  31. package/dist/core/client_seed.d.ts.map +1 -0
  32. package/dist/core/conversation_store.d.ts +195 -0
  33. package/dist/core/conversation_store.d.ts.map +1 -0
  34. package/dist/core/create_http_agent.d.ts +57 -0
  35. package/dist/core/create_http_agent.d.ts.map +1 -0
  36. package/dist/core/define_chat.d.ts +13 -0
  37. package/dist/core/define_chat.d.ts.map +1 -0
  38. package/dist/core/events/attachments_detail.d.ts +9 -0
  39. package/dist/core/events/attachments_detail.d.ts.map +1 -0
  40. package/dist/core/events/bar_height_detail.d.ts +6 -0
  41. package/dist/core/events/bar_height_detail.d.ts.map +1 -0
  42. package/dist/core/events/custom_agent_detail.d.ts +8 -0
  43. package/dist/core/events/custom_agent_detail.d.ts.map +1 -0
  44. package/dist/core/events/dock_width_detail.d.ts +8 -0
  45. package/dist/core/events/dock_width_detail.d.ts.map +1 -0
  46. package/dist/core/events/feedback_detail.d.ts +28 -0
  47. package/dist/core/events/feedback_detail.d.ts.map +1 -0
  48. package/dist/core/events/invalidate_detail.d.ts +16 -0
  49. package/dist/core/events/invalidate_detail.d.ts.map +1 -0
  50. package/dist/core/events/maximize_detail.d.ts +5 -0
  51. package/dist/core/events/maximize_detail.d.ts.map +1 -0
  52. package/dist/core/events/run_finished_detail.d.ts +36 -0
  53. package/dist/core/events/run_finished_detail.d.ts.map +1 -0
  54. package/dist/core/events/state_detail.d.ts +5 -0
  55. package/dist/core/events/state_detail.d.ts.map +1 -0
  56. package/dist/core/events/submit_detail.d.ts +8 -0
  57. package/dist/core/events/submit_detail.d.ts.map +1 -0
  58. package/dist/core/events/thread_detail.d.ts +27 -0
  59. package/dist/core/events/thread_detail.d.ts.map +1 -0
  60. package/dist/core/events/thread_title_detail.d.ts +8 -0
  61. package/dist/core/events/thread_title_detail.d.ts.map +1 -0
  62. package/dist/core/events/toggle_detail.d.ts +5 -0
  63. package/dist/core/events/toggle_detail.d.ts.map +1 -0
  64. package/dist/core/events/tool_run.d.ts +11 -0
  65. package/dist/core/events/tool_run.d.ts.map +1 -0
  66. package/dist/core/events/unread_detail.d.ts +11 -0
  67. package/dist/core/events/unread_detail.d.ts.map +1 -0
  68. package/dist/core/message_role.d.ts +4 -0
  69. package/dist/core/message_role.d.ts.map +1 -0
  70. package/dist/core/read_flag.d.ts +11 -0
  71. package/dist/core/read_flag.d.ts.map +1 -0
  72. package/dist/core/read_json_attribute.d.ts +15 -0
  73. package/dist/core/read_json_attribute.d.ts.map +1 -0
  74. package/dist/core/read_max_tool_rounds.d.ts +9 -0
  75. package/dist/core/read_max_tool_rounds.d.ts.map +1 -0
  76. package/dist/core/remote_conversation_store.d.ts +71 -0
  77. package/dist/core/remote_conversation_store.d.ts.map +1 -0
  78. package/dist/core/run_handlers.d.ts +85 -0
  79. package/dist/core/run_handlers.d.ts.map +1 -0
  80. package/dist/core/run_index.d.ts +58 -0
  81. package/dist/core/run_index.d.ts.map +1 -0
  82. package/dist/core/storage_scope.d.ts +118 -0
  83. package/dist/core/storage_scope.d.ts.map +1 -0
  84. package/dist/core/tool_outcome.d.ts +27 -0
  85. package/dist/core/tool_outcome.d.ts.map +1 -0
  86. package/dist/core/transcribe_audio.d.ts +32 -0
  87. package/dist/core/transcribe_audio.d.ts.map +1 -0
  88. package/dist/core/upload_attachment.d.ts +44 -0
  89. package/dist/core/upload_attachment.d.ts.map +1 -0
  90. package/dist/core/utils.d.ts +117 -0
  91. package/dist/core/utils.d.ts.map +1 -0
  92. package/dist/dom/animations.d.ts +122 -0
  93. package/dist/dom/animations.d.ts.map +1 -0
  94. package/dist/dom/dom_driver.d.ts +28 -0
  95. package/dist/dom/dom_driver.d.ts.map +1 -0
  96. package/dist/dom/highlight_overlay.d.ts +39 -0
  97. package/dist/dom/highlight_overlay.d.ts.map +1 -0
  98. package/dist/dom/native_setter.d.ts +5 -0
  99. package/dist/dom/native_setter.d.ts.map +1 -0
  100. package/dist/dom/ring_color.d.ts +16 -0
  101. package/dist/dom/ring_color.d.ts.map +1 -0
  102. package/dist/dom/utils.d.ts +3 -0
  103. package/dist/dom/utils.d.ts.map +1 -0
  104. package/dist/index.d.ts +62 -0
  105. package/dist/index.d.ts.map +1 -0
  106. package/dist/index.js +223 -0
  107. package/dist/index.js.map +7 -0
  108. package/dist/skills/fill_template.d.ts +16 -0
  109. package/dist/skills/fill_template.d.ts.map +1 -0
  110. package/dist/skills/parse_skills.d.ts +8 -0
  111. package/dist/skills/parse_skills.d.ts.map +1 -0
  112. package/dist/skills/skill.d.ts +33 -0
  113. package/dist/skills/skill.d.ts.map +1 -0
  114. package/dist/skills/skill_catalog.d.ts +69 -0
  115. package/dist/skills/skill_catalog.d.ts.map +1 -0
  116. package/dist/skills/skill_name_from.d.ts +12 -0
  117. package/dist/skills/skill_name_from.d.ts.map +1 -0
  118. package/dist/tools/chat_surface_tools.d.ts +77 -0
  119. package/dist/tools/chat_surface_tools.d.ts.map +1 -0
  120. package/dist/tools/client_tool_registry.d.ts +58 -0
  121. package/dist/tools/client_tool_registry.d.ts.map +1 -0
  122. package/dist/tools/is_destructive.d.ts +14 -0
  123. package/dist/tools/is_destructive.d.ts.map +1 -0
  124. package/dist/tools/is_navigates.d.ts +9 -0
  125. package/dist/tools/is_navigates.d.ts.map +1 -0
  126. package/dist/tools/page_action_tools.d.ts +30 -0
  127. package/dist/tools/page_action_tools.d.ts.map +1 -0
  128. package/dist/tools/page_map.d.ts +16 -0
  129. package/dist/tools/page_map.d.ts.map +1 -0
  130. package/dist/tools/page_state.d.ts +27 -0
  131. package/dist/tools/page_state.d.ts.map +1 -0
  132. package/dist/tools/parse_tool_catalog.d.ts +21 -0
  133. package/dist/tools/parse_tool_catalog.d.ts.map +1 -0
  134. package/dist/tools/route_map.d.ts +37 -0
  135. package/dist/tools/route_map.d.ts.map +1 -0
  136. package/dist/tools/tool_catalog.d.ts +86 -0
  137. package/dist/tools/tool_catalog.d.ts.map +1 -0
  138. package/dist/tools/tool_dispatch.d.ts +82 -0
  139. package/dist/tools/tool_dispatch.d.ts.map +1 -0
  140. package/dist/ui/charts/chart_block.d.ts +57 -0
  141. package/dist/ui/charts/chart_block.d.ts.map +1 -0
  142. package/dist/ui/charts/chart_spec_from.d.ts +12 -0
  143. package/dist/ui/charts/chart_spec_from.d.ts.map +1 -0
  144. package/dist/ui/charts/chart_styles.d.ts +2 -0
  145. package/dist/ui/charts/chart_styles.d.ts.map +1 -0
  146. package/dist/ui/charts/chart_tool.d.ts +15 -0
  147. package/dist/ui/charts/chart_tool.d.ts.map +1 -0
  148. package/dist/ui/composer/attachment_styles.d.ts +2 -0
  149. package/dist/ui/composer/attachment_styles.d.ts.map +1 -0
  150. package/dist/ui/composer/attachment_tray.d.ts +53 -0
  151. package/dist/ui/composer/attachment_tray.d.ts.map +1 -0
  152. package/dist/ui/composer/auto_grow.d.ts +10 -0
  153. package/dist/ui/composer/auto_grow.d.ts.map +1 -0
  154. package/dist/ui/composer/build_composer.d.ts +32 -0
  155. package/dist/ui/composer/build_composer.d.ts.map +1 -0
  156. package/dist/ui/composer/composer_attachments.d.ts +57 -0
  157. package/dist/ui/composer/composer_attachments.d.ts.map +1 -0
  158. package/dist/ui/composer/composer_styles.d.ts +2 -0
  159. package/dist/ui/composer/composer_styles.d.ts.map +1 -0
  160. package/dist/ui/composer/composer_voice.d.ts +48 -0
  161. package/dist/ui/composer/composer_voice.d.ts.map +1 -0
  162. package/dist/ui/composer/skill_styles.d.ts +2 -0
  163. package/dist/ui/composer/skill_styles.d.ts.map +1 -0
  164. package/dist/ui/composer/skills_menu.d.ts +34 -0
  165. package/dist/ui/composer/skills_menu.d.ts.map +1 -0
  166. package/dist/ui/composer/voice_input.d.ts +46 -0
  167. package/dist/ui/composer/voice_input.d.ts.map +1 -0
  168. package/dist/ui/excerpts/attach_copy_buttons.d.ts +13 -0
  169. package/dist/ui/excerpts/attach_copy_buttons.d.ts.map +1 -0
  170. package/dist/ui/excerpts/copy_payload.d.ts +30 -0
  171. package/dist/ui/excerpts/copy_payload.d.ts.map +1 -0
  172. package/dist/ui/excerpts/page_quote_offer.d.ts +33 -0
  173. package/dist/ui/excerpts/page_quote_offer.d.ts.map +1 -0
  174. package/dist/ui/excerpts/place_offer.d.ts +9 -0
  175. package/dist/ui/excerpts/place_offer.d.ts.map +1 -0
  176. package/dist/ui/excerpts/quote_selection.d.ts +66 -0
  177. package/dist/ui/excerpts/quote_selection.d.ts.map +1 -0
  178. package/dist/ui/excerpts/transcript_quote_offer.d.ts +57 -0
  179. package/dist/ui/excerpts/transcript_quote_offer.d.ts.map +1 -0
  180. package/dist/ui/fill_ui_string.d.ts +32 -0
  181. package/dist/ui/fill_ui_string.d.ts.map +1 -0
  182. package/dist/ui/history/checkpoint_menu.d.ts +41 -0
  183. package/dist/ui/history/checkpoint_menu.d.ts.map +1 -0
  184. package/dist/ui/history/conversation_history.d.ts +317 -0
  185. package/dist/ui/history/conversation_history.d.ts.map +1 -0
  186. package/dist/ui/history/history_styles.d.ts +2 -0
  187. package/dist/ui/history/history_styles.d.ts.map +1 -0
  188. package/dist/ui/history/relative_time.d.ts +23 -0
  189. package/dist/ui/history/relative_time.d.ts.map +1 -0
  190. package/dist/ui/history/thread_drawer.d.ts +64 -0
  191. package/dist/ui/history/thread_drawer.d.ts.map +1 -0
  192. package/dist/ui/history/utils.d.ts +2 -0
  193. package/dist/ui/history/utils.d.ts.map +1 -0
  194. package/dist/ui/interrupts/approval_card.d.ts +64 -0
  195. package/dist/ui/interrupts/approval_card.d.ts.map +1 -0
  196. package/dist/ui/interrupts/approval_styles.d.ts +2 -0
  197. package/dist/ui/interrupts/approval_styles.d.ts.map +1 -0
  198. package/dist/ui/interrupts/confirmation_card.d.ts +51 -0
  199. package/dist/ui/interrupts/confirmation_card.d.ts.map +1 -0
  200. package/dist/ui/interrupts/confirmation_styles.d.ts +2 -0
  201. package/dist/ui/interrupts/confirmation_styles.d.ts.map +1 -0
  202. package/dist/ui/interrupts/pending_decision.d.ts +22 -0
  203. package/dist/ui/interrupts/pending_decision.d.ts.map +1 -0
  204. package/dist/ui/interrupts/question_card.d.ts +49 -0
  205. package/dist/ui/interrupts/question_card.d.ts.map +1 -0
  206. package/dist/ui/interrupts/question_styles.d.ts +2 -0
  207. package/dist/ui/interrupts/question_styles.d.ts.map +1 -0
  208. package/dist/ui/place/place.d.ts +17 -0
  209. package/dist/ui/place/place.d.ts.map +1 -0
  210. package/dist/ui/place/place_chip.d.ts +26 -0
  211. package/dist/ui/place/place_chip.d.ts.map +1 -0
  212. package/dist/ui/place/place_from_route.d.ts +9 -0
  213. package/dist/ui/place/place_from_route.d.ts.map +1 -0
  214. package/dist/ui/place/place_styles.d.ts +2 -0
  215. package/dist/ui/place/place_styles.d.ts.map +1 -0
  216. package/dist/ui/placement/clamp_launcher.d.ts +20 -0
  217. package/dist/ui/placement/clamp_launcher.d.ts.map +1 -0
  218. package/dist/ui/placement/clamp_panel.d.ts +13 -0
  219. package/dist/ui/placement/clamp_panel.d.ts.map +1 -0
  220. package/dist/ui/placement/collapse_styles.d.ts +2 -0
  221. package/dist/ui/placement/collapse_styles.d.ts.map +1 -0
  222. package/dist/ui/placement/dock_styles.d.ts +2 -0
  223. package/dist/ui/placement/dock_styles.d.ts.map +1 -0
  224. package/dist/ui/placement/embedded_styles.d.ts +2 -0
  225. package/dist/ui/placement/embedded_styles.d.ts.map +1 -0
  226. package/dist/ui/placement/launcher_drag.d.ts +49 -0
  227. package/dist/ui/placement/launcher_drag.d.ts.map +1 -0
  228. package/dist/ui/placement/launcher_placement.d.ts +77 -0
  229. package/dist/ui/placement/launcher_placement.d.ts.map +1 -0
  230. package/dist/ui/placement/launcher_styles.d.ts +2 -0
  231. package/dist/ui/placement/launcher_styles.d.ts.map +1 -0
  232. package/dist/ui/placement/page_styles.d.ts +2 -0
  233. package/dist/ui/placement/page_styles.d.ts.map +1 -0
  234. package/dist/ui/placement/panel_drag.d.ts +40 -0
  235. package/dist/ui/placement/panel_drag.d.ts.map +1 -0
  236. package/dist/ui/placement/panel_placement.d.ts +173 -0
  237. package/dist/ui/placement/panel_placement.d.ts.map +1 -0
  238. package/dist/ui/placement/place_widget.d.ts +31 -0
  239. package/dist/ui/placement/place_widget.d.ts.map +1 -0
  240. package/dist/ui/placement/preset_styles.d.ts +2 -0
  241. package/dist/ui/placement/preset_styles.d.ts.map +1 -0
  242. package/dist/ui/placement/resize_handle.d.ts +78 -0
  243. package/dist/ui/placement/resize_handle.d.ts.map +1 -0
  244. package/dist/ui/placement/resize_styles.d.ts +2 -0
  245. package/dist/ui/placement/resize_styles.d.ts.map +1 -0
  246. package/dist/ui/placement/sidebar_styles.d.ts +2 -0
  247. package/dist/ui/placement/sidebar_styles.d.ts.map +1 -0
  248. package/dist/ui/placement/small_viewport_styles.d.ts +2 -0
  249. package/dist/ui/placement/small_viewport_styles.d.ts.map +1 -0
  250. package/dist/ui/placement/surface_for.d.ts +93 -0
  251. package/dist/ui/placement/surface_for.d.ts.map +1 -0
  252. package/dist/ui/progress/prettify_tool_name.d.ts +11 -0
  253. package/dist/ui/progress/prettify_tool_name.d.ts.map +1 -0
  254. package/dist/ui/progress/run_announcer.d.ts +41 -0
  255. package/dist/ui/progress/run_announcer.d.ts.map +1 -0
  256. package/dist/ui/progress/run_notice.d.ts +21 -0
  257. package/dist/ui/progress/run_notice.d.ts.map +1 -0
  258. package/dist/ui/progress/run_notice_styles.d.ts +2 -0
  259. package/dist/ui/progress/run_notice_styles.d.ts.map +1 -0
  260. package/dist/ui/progress/subagent_panel.d.ts +101 -0
  261. package/dist/ui/progress/subagent_panel.d.ts.map +1 -0
  262. package/dist/ui/progress/subagent_progress.d.ts +57 -0
  263. package/dist/ui/progress/subagent_progress.d.ts.map +1 -0
  264. package/dist/ui/progress/subagent_update.d.ts +28 -0
  265. package/dist/ui/progress/subagent_update.d.ts.map +1 -0
  266. package/dist/ui/progress/thoughts_block.d.ts +57 -0
  267. package/dist/ui/progress/thoughts_block.d.ts.map +1 -0
  268. package/dist/ui/progress/thoughts_styles.d.ts +2 -0
  269. package/dist/ui/progress/thoughts_styles.d.ts.map +1 -0
  270. package/dist/ui/progress/tool_call_card.d.ts +167 -0
  271. package/dist/ui/progress/tool_call_card.d.ts.map +1 -0
  272. package/dist/ui/progress/tool_group_styles.d.ts +2 -0
  273. package/dist/ui/progress/tool_group_styles.d.ts.map +1 -0
  274. package/dist/ui/progress/tool_step_group.d.ts +50 -0
  275. package/dist/ui/progress/tool_step_group.d.ts.map +1 -0
  276. package/dist/ui/progress/tool_step_styles.d.ts +2 -0
  277. package/dist/ui/progress/tool_step_styles.d.ts.map +1 -0
  278. package/dist/ui/shell/adopt_styles.d.ts +28 -0
  279. package/dist/ui/shell/adopt_styles.d.ts.map +1 -0
  280. package/dist/ui/shell/build_header.d.ts +45 -0
  281. package/dist/ui/shell/build_header.d.ts.map +1 -0
  282. package/dist/ui/shell/build_launcher.d.ts +33 -0
  283. package/dist/ui/shell/build_launcher.d.ts.map +1 -0
  284. package/dist/ui/shell/collapse_glyph.d.ts +14 -0
  285. package/dist/ui/shell/collapse_glyph.d.ts.map +1 -0
  286. package/dist/ui/shell/frame_styles.d.ts +2 -0
  287. package/dist/ui/shell/frame_styles.d.ts.map +1 -0
  288. package/dist/ui/shell/glyph_slot.d.ts +7 -0
  289. package/dist/ui/shell/glyph_slot.d.ts.map +1 -0
  290. package/dist/ui/shell/header_button.d.ts +11 -0
  291. package/dist/ui/shell/header_button.d.ts.map +1 -0
  292. package/dist/ui/shell/icon_element.d.ts +12 -0
  293. package/dist/ui/shell/icon_element.d.ts.map +1 -0
  294. package/dist/ui/shell/is_unread_badge_enabled.d.ts +10 -0
  295. package/dist/ui/shell/is_unread_badge_enabled.d.ts.map +1 -0
  296. package/dist/ui/shell/read_launcher_icon_url.d.ts +8 -0
  297. package/dist/ui/shell/read_launcher_icon_url.d.ts.map +1 -0
  298. package/dist/ui/shell/theme_styles.d.ts +2 -0
  299. package/dist/ui/shell/theme_styles.d.ts.map +1 -0
  300. package/dist/ui/shell/token_styles.d.ts +2 -0
  301. package/dist/ui/shell/token_styles.d.ts.map +1 -0
  302. package/dist/ui/styles.d.ts +2 -0
  303. package/dist/ui/styles.d.ts.map +1 -0
  304. package/dist/ui/themes/classic_styles.d.ts +2 -0
  305. package/dist/ui/themes/classic_styles.d.ts.map +1 -0
  306. package/dist/ui/themes/classic_tokens.d.ts +2 -0
  307. package/dist/ui/themes/classic_tokens.d.ts.map +1 -0
  308. package/dist/ui/themes/code_tokens.d.ts +2 -0
  309. package/dist/ui/themes/code_tokens.d.ts.map +1 -0
  310. package/dist/ui/themes/ledger_styles.d.ts +2 -0
  311. package/dist/ui/themes/ledger_styles.d.ts.map +1 -0
  312. package/dist/ui/themes/ledger_tokens.d.ts +2 -0
  313. package/dist/ui/themes/ledger_tokens.d.ts.map +1 -0
  314. package/dist/ui/themes/modern_styles.d.ts +2 -0
  315. package/dist/ui/themes/modern_styles.d.ts.map +1 -0
  316. package/dist/ui/themes/quiet_styles.d.ts +2 -0
  317. package/dist/ui/themes/quiet_styles.d.ts.map +1 -0
  318. package/dist/ui/themes/scheme_styles.d.ts +2 -0
  319. package/dist/ui/themes/scheme_styles.d.ts.map +1 -0
  320. package/dist/ui/themes/soft_styles.d.ts +2 -0
  321. package/dist/ui/themes/soft_styles.d.ts.map +1 -0
  322. package/dist/ui/themes/soft_tokens.d.ts +2 -0
  323. package/dist/ui/themes/soft_tokens.d.ts.map +1 -0
  324. package/dist/ui/themes/theme_hosts.d.ts +15 -0
  325. package/dist/ui/themes/theme_hosts.d.ts.map +1 -0
  326. package/dist/ui/transcript/answer_actions.d.ts +50 -0
  327. package/dist/ui/transcript/answer_actions.d.ts.map +1 -0
  328. package/dist/ui/transcript/answer_stream.d.ts +56 -0
  329. package/dist/ui/transcript/answer_stream.d.ts.map +1 -0
  330. package/dist/ui/transcript/attachment_chip_styles.d.ts +2 -0
  331. package/dist/ui/transcript/attachment_chip_styles.d.ts.map +1 -0
  332. package/dist/ui/transcript/attachment_chips.d.ts +21 -0
  333. package/dist/ui/transcript/attachment_chips.d.ts.map +1 -0
  334. package/dist/ui/transcript/build_transcript.d.ts +21 -0
  335. package/dist/ui/transcript/build_transcript.d.ts.map +1 -0
  336. package/dist/ui/transcript/greeting_styles.d.ts +2 -0
  337. package/dist/ui/transcript/greeting_styles.d.ts.map +1 -0
  338. package/dist/ui/transcript/groups_tool_steps.d.ts +13 -0
  339. package/dist/ui/transcript/groups_tool_steps.d.ts.map +1 -0
  340. package/dist/ui/transcript/message_action_styles.d.ts +2 -0
  341. package/dist/ui/transcript/message_action_styles.d.ts.map +1 -0
  342. package/dist/ui/transcript/message_actions.d.ts +74 -0
  343. package/dist/ui/transcript/message_actions.d.ts.map +1 -0
  344. package/dist/ui/transcript/message_styles.d.ts +2 -0
  345. package/dist/ui/transcript/message_styles.d.ts.map +1 -0
  346. package/dist/ui/transcript/render_markdown.d.ts +40 -0
  347. package/dist/ui/transcript/render_markdown.d.ts.map +1 -0
  348. package/dist/ui/transcript/render_or_warn.d.ts +16 -0
  349. package/dist/ui/transcript/render_or_warn.d.ts.map +1 -0
  350. package/dist/ui/transcript/reveal_words.d.ts +8 -0
  351. package/dist/ui/transcript/reveal_words.d.ts.map +1 -0
  352. package/dist/ui/transcript/starter_chips.d.ts +21 -0
  353. package/dist/ui/transcript/starter_chips.d.ts.map +1 -0
  354. package/dist/ui/transcript/stick_to_bottom.d.ts +55 -0
  355. package/dist/ui/transcript/stick_to_bottom.d.ts.map +1 -0
  356. package/dist/ui/transcript/suggestion_chips.d.ts +29 -0
  357. package/dist/ui/transcript/suggestion_chips.d.ts.map +1 -0
  358. package/dist/ui/transcript/transcript.d.ts +196 -0
  359. package/dist/ui/transcript/transcript.d.ts.map +1 -0
  360. package/dist/ui/transcript/transcript_styles.d.ts +2 -0
  361. package/dist/ui/transcript/transcript_styles.d.ts.map +1 -0
  362. package/dist/ui/ui_strings.d.ts +352 -0
  363. package/dist/ui/ui_strings.d.ts.map +1 -0
  364. package/dist/version.d.ts +2 -0
  365. package/dist/version.d.ts.map +1 -0
  366. package/package.json +86 -3
  367. package/src/bundle.ts +2 -0
  368. package/src/chat.ts +2 -0
  369. package/src/constants.ts +650 -0
  370. package/src/core/activity_registration.ts +19 -0
  371. package/src/core/activity_registry.ts +133 -0
  372. package/src/core/activity_renderer.ts +19 -0
  373. package/src/core/ag_ui_chat.ts +3966 -0
  374. package/src/core/agui_client.ts +1028 -0
  375. package/src/core/attachment.ts +62 -0
  376. package/src/core/chat_registry.ts +53 -0
  377. package/src/core/client_seed.ts +27 -0
  378. package/src/core/conversation_store.ts +478 -0
  379. package/src/core/create_http_agent.ts +97 -0
  380. package/src/core/define_chat.ts +25 -0
  381. package/src/core/events/attachments_detail.ts +9 -0
  382. package/src/core/events/bar_height_detail.ts +5 -0
  383. package/src/core/events/custom_agent_detail.ts +7 -0
  384. package/src/core/events/dock_width_detail.ts +7 -0
  385. package/src/core/events/feedback_detail.ts +27 -0
  386. package/src/core/events/invalidate_detail.ts +15 -0
  387. package/src/core/events/maximize_detail.ts +4 -0
  388. package/src/core/events/run_finished_detail.ts +36 -0
  389. package/src/core/events/state_detail.ts +4 -0
  390. package/src/core/events/submit_detail.ts +8 -0
  391. package/src/core/events/thread_detail.ts +26 -0
  392. package/src/core/events/thread_title_detail.ts +7 -0
  393. package/src/core/events/toggle_detail.ts +4 -0
  394. package/src/core/events/tool_run.ts +10 -0
  395. package/src/core/events/unread_detail.ts +10 -0
  396. package/src/core/message_role.ts +4 -0
  397. package/src/core/read_flag.ts +13 -0
  398. package/src/core/read_json_attribute.ts +30 -0
  399. package/src/core/read_max_tool_rounds.ts +13 -0
  400. package/src/core/remote_conversation_store.ts +279 -0
  401. package/src/core/run_handlers.ts +524 -0
  402. package/src/core/run_index.ts +114 -0
  403. package/src/core/storage_scope.ts +291 -0
  404. package/src/core/tool_outcome.ts +39 -0
  405. package/src/core/transcribe_audio.ts +76 -0
  406. package/src/core/upload_attachment.ts +130 -0
  407. package/src/core/utils.ts +230 -0
  408. package/src/dom/animations.ts +341 -0
  409. package/src/dom/dom_driver.ts +91 -0
  410. package/src/dom/highlight_overlay.ts +204 -0
  411. package/src/dom/native_setter.ts +40 -0
  412. package/src/dom/ring_color.ts +206 -0
  413. package/src/dom/utils.ts +5 -0
  414. package/src/index.ts +220 -0
  415. package/src/skills/fill_template.ts +31 -0
  416. package/src/skills/parse_skills.ts +31 -0
  417. package/src/skills/skill.ts +32 -0
  418. package/src/skills/skill_catalog.ts +172 -0
  419. package/src/skills/skill_name_from.ts +19 -0
  420. package/src/tools/chat_surface_tools.ts +183 -0
  421. package/src/tools/client_tool_registry.ts +80 -0
  422. package/src/tools/is_destructive.ts +17 -0
  423. package/src/tools/is_navigates.ts +12 -0
  424. package/src/tools/page_action_tools.ts +123 -0
  425. package/src/tools/page_map.ts +26 -0
  426. package/src/tools/page_state.ts +57 -0
  427. package/src/tools/parse_tool_catalog.ts +41 -0
  428. package/src/tools/route_map.ts +132 -0
  429. package/src/tools/tool_catalog.ts +334 -0
  430. package/src/tools/tool_dispatch.ts +453 -0
  431. package/src/ui/charts/chart_block.ts +519 -0
  432. package/src/ui/charts/chart_spec_from.ts +125 -0
  433. package/src/ui/charts/chart_styles.ts +63 -0
  434. package/src/ui/charts/chart_tool.ts +72 -0
  435. package/src/ui/composer/attachment_styles.ts +71 -0
  436. package/src/ui/composer/attachment_tray.ts +295 -0
  437. package/src/ui/composer/auto_grow.ts +12 -0
  438. package/src/ui/composer/build_composer.ts +114 -0
  439. package/src/ui/composer/composer_attachments.ts +324 -0
  440. package/src/ui/composer/composer_styles.ts +177 -0
  441. package/src/ui/composer/composer_voice.ts +93 -0
  442. package/src/ui/composer/skill_styles.ts +120 -0
  443. package/src/ui/composer/skills_menu.ts +188 -0
  444. package/src/ui/composer/voice_input.ts +282 -0
  445. package/src/ui/excerpts/attach_copy_buttons.ts +73 -0
  446. package/src/ui/excerpts/copy_payload.ts +156 -0
  447. package/src/ui/excerpts/page_quote_offer.ts +203 -0
  448. package/src/ui/excerpts/place_offer.ts +24 -0
  449. package/src/ui/excerpts/quote_selection.ts +345 -0
  450. package/src/ui/excerpts/transcript_quote_offer.ts +175 -0
  451. package/src/ui/fill_ui_string.ts +41 -0
  452. package/src/ui/history/checkpoint_menu.ts +300 -0
  453. package/src/ui/history/conversation_history.ts +1169 -0
  454. package/src/ui/history/history_styles.ts +492 -0
  455. package/src/ui/history/relative_time.ts +50 -0
  456. package/src/ui/history/thread_drawer.ts +471 -0
  457. package/src/ui/history/utils.ts +11 -0
  458. package/src/ui/interrupts/approval_card.ts +202 -0
  459. package/src/ui/interrupts/approval_styles.ts +52 -0
  460. package/src/ui/interrupts/confirmation_card.ts +138 -0
  461. package/src/ui/interrupts/confirmation_styles.ts +114 -0
  462. package/src/ui/interrupts/pending_decision.ts +33 -0
  463. package/src/ui/interrupts/question_card.ts +213 -0
  464. package/src/ui/interrupts/question_styles.ts +73 -0
  465. package/src/ui/place/place.ts +16 -0
  466. package/src/ui/place/place_chip.ts +146 -0
  467. package/src/ui/place/place_from_route.ts +27 -0
  468. package/src/ui/place/place_styles.ts +108 -0
  469. package/src/ui/placement/clamp_launcher.ts +38 -0
  470. package/src/ui/placement/clamp_panel.ts +30 -0
  471. package/src/ui/placement/collapse_styles.ts +472 -0
  472. package/src/ui/placement/dock_styles.ts +116 -0
  473. package/src/ui/placement/embedded_styles.ts +14 -0
  474. package/src/ui/placement/launcher_drag.ts +206 -0
  475. package/src/ui/placement/launcher_placement.ts +133 -0
  476. package/src/ui/placement/launcher_styles.ts +189 -0
  477. package/src/ui/placement/page_styles.ts +47 -0
  478. package/src/ui/placement/panel_drag.ts +138 -0
  479. package/src/ui/placement/panel_placement.ts +1975 -0
  480. package/src/ui/placement/place_widget.ts +64 -0
  481. package/src/ui/placement/preset_styles.ts +49 -0
  482. package/src/ui/placement/resize_handle.ts +229 -0
  483. package/src/ui/placement/resize_styles.ts +201 -0
  484. package/src/ui/placement/sidebar_styles.ts +113 -0
  485. package/src/ui/placement/small_viewport_styles.ts +70 -0
  486. package/src/ui/placement/surface_for.ts +183 -0
  487. package/src/ui/progress/prettify_tool_name.ts +16 -0
  488. package/src/ui/progress/run_announcer.ts +67 -0
  489. package/src/ui/progress/run_notice.ts +61 -0
  490. package/src/ui/progress/run_notice_styles.ts +52 -0
  491. package/src/ui/progress/subagent_panel.ts +227 -0
  492. package/src/ui/progress/subagent_progress.ts +200 -0
  493. package/src/ui/progress/subagent_update.ts +89 -0
  494. package/src/ui/progress/thoughts_block.ts +165 -0
  495. package/src/ui/progress/thoughts_styles.ts +74 -0
  496. package/src/ui/progress/tool_call_card.ts +429 -0
  497. package/src/ui/progress/tool_group_styles.ts +313 -0
  498. package/src/ui/progress/tool_step_group.ts +317 -0
  499. package/src/ui/progress/tool_step_styles.ts +486 -0
  500. package/src/ui/shell/adopt_styles.ts +34 -0
  501. package/src/ui/shell/build_header.ts +121 -0
  502. package/src/ui/shell/build_launcher.ts +79 -0
  503. package/src/ui/shell/collapse_glyph.ts +42 -0
  504. package/src/ui/shell/frame_styles.ts +147 -0
  505. package/src/ui/shell/glyph_slot.ts +12 -0
  506. package/src/ui/shell/header_button.ts +22 -0
  507. package/src/ui/shell/icon_element.ts +33 -0
  508. package/src/ui/shell/is_unread_badge_enabled.ts +11 -0
  509. package/src/ui/shell/read_launcher_icon_url.ts +9 -0
  510. package/src/ui/shell/theme_styles.ts +11 -0
  511. package/src/ui/shell/token_styles.ts +480 -0
  512. package/src/ui/styles.ts +110 -0
  513. package/src/ui/themes/classic_styles.ts +32 -0
  514. package/src/ui/themes/classic_tokens.ts +51 -0
  515. package/src/ui/themes/code_tokens.ts +21 -0
  516. package/src/ui/themes/ledger_styles.ts +169 -0
  517. package/src/ui/themes/ledger_tokens.ts +33 -0
  518. package/src/ui/themes/modern_styles.ts +80 -0
  519. package/src/ui/themes/quiet_styles.ts +118 -0
  520. package/src/ui/themes/scheme_styles.ts +26 -0
  521. package/src/ui/themes/soft_styles.ts +149 -0
  522. package/src/ui/themes/soft_tokens.ts +29 -0
  523. package/src/ui/themes/theme_hosts.ts +14 -0
  524. package/src/ui/transcript/answer_actions.ts +165 -0
  525. package/src/ui/transcript/answer_stream.ts +123 -0
  526. package/src/ui/transcript/attachment_chip_styles.ts +116 -0
  527. package/src/ui/transcript/attachment_chips.ts +82 -0
  528. package/src/ui/transcript/build_transcript.ts +67 -0
  529. package/src/ui/transcript/greeting_styles.ts +171 -0
  530. package/src/ui/transcript/groups_tool_steps.ts +16 -0
  531. package/src/ui/transcript/message_action_styles.ts +155 -0
  532. package/src/ui/transcript/message_actions.ts +234 -0
  533. package/src/ui/transcript/message_styles.ts +262 -0
  534. package/src/ui/transcript/render_markdown.ts +181 -0
  535. package/src/ui/transcript/render_or_warn.ts +22 -0
  536. package/src/ui/transcript/reveal_words.ts +41 -0
  537. package/src/ui/transcript/starter_chips.ts +42 -0
  538. package/src/ui/transcript/stick_to_bottom.ts +126 -0
  539. package/src/ui/transcript/suggestion_chips.ts +73 -0
  540. package/src/ui/transcript/transcript.ts +555 -0
  541. package/src/ui/transcript/transcript_styles.ts +153 -0
  542. package/src/ui/ui_strings.ts +550 -0
  543. package/src/version.ts +1 -0
@@ -0,0 +1,57 @@
1
+ import type { UiStrings } from "../ui_strings.js";
2
+ import type { ToolCallCard } from "./tool_call_card.js";
3
+ /** What delegated progress needs from the element that owns it. */
4
+ export interface SubAgentProgressHost {
5
+ /** The tool card drawn for a call id, which a delegation's panel hangs off. */
6
+ readonly card: (callId: string) => ToolCallCard | undefined;
7
+ /** The resolved string table. */
8
+ readonly strings: () => UiStrings;
9
+ /** Keep the transcript at its foot, if the reader is there. */
10
+ readonly follow: () => void;
11
+ }
12
+ /**
13
+ * A delegated sub-agent's progress, hung off the card that delegated: the live
14
+ * panels by delegation, and which delegation each child run belongs to.
15
+ *
16
+ * Owned one-to-one by an `<ag-ui-chat>`, and holding no state outside the
17
+ * instance.
18
+ */
19
+ export declare class SubAgentProgress {
20
+ #private;
21
+ constructor(host: SubAgentProgressHost);
22
+ /**
23
+ * Draw one step of a delegated sub-agent's progress, on the card that
24
+ * delegated.
25
+ *
26
+ * `delegationId` is the parent's own `delegate_task` tool-call id, so the
27
+ * attachment point is a card this element already drew on `TOOL_CALL_START`.
28
+ * Without this a run that hands work to a sub-agent reads as a stall, the
29
+ * card sitting at "running…" for the child's whole duration, so the narration
30
+ * goes *into* that card rather than a second element with the same identity.
31
+ *
32
+ * A progress event for a call this client never drew is dropped. It has no
33
+ * card to attach to, and inventing a floating one is precisely the alternative
34
+ * that was rejected: parent and child interleave in the transcript with
35
+ * nothing marking whose is whose, and the persisted transcript -- which never
36
+ * held the progress at all -- would not match what was on screen.
37
+ *
38
+ * Nothing here writes to the conversation store. `CUSTOM` never enters
39
+ * `agent.messages`, so a reload mid-run leaves the tool card and loses the
40
+ * nested detail, which is the intended behaviour rather than a gap.
41
+ */
42
+ report(value: unknown): void;
43
+ /** Open a delegation, on `SUBAGENT_STARTED`. */
44
+ start(subagentRunId: string, agent: string, parentToolCallId: string | null): void;
45
+ /** Settle a delegation that completed, on `SUBAGENT_FINISHED`. */
46
+ finish(subagentRunId: string): void;
47
+ /** Settle a delegation that failed, on `SUBAGENT_ERROR`. */
48
+ fail(subagentRunId: string, message: string): void;
49
+ /**
50
+ * Forget every delegation. The panels go with the cards they hung off.
51
+ * Nothing restores them: the progress rode the imperative carrier and was
52
+ * never persisted, which is the correct half of that split -- a delegation
53
+ * that was live before this transcript was wiped is not live now.
54
+ */
55
+ clear(): void;
56
+ }
57
+ //# sourceMappingURL=subagent_progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent_progress.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/subagent_progress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IAC5D,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,CAAC;IAClC,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;;IAwB3B,YAAY,IAAI,EAAE,oBAAoB,EAErC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAM3B;IAED,gDAAgD;IAChD,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAcjF;IAED,kEAAkE;IAClE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAElC;IAED,4DAA4D;IAC5D,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgBjD;IAED;;;;;OAKG;IACH,KAAK,IAAI,IAAI,CAGZ;CAqEF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Narrow one `ag_ui.subagent` payload into a {@link SubAgentUpdate}.
3
+ *
4
+ * Kept out of the panel for the reason `chartSpecFrom` is kept out of the
5
+ * renderer: the panel's job is drawing, and a value that reaches it has already
6
+ * been vouched for.
7
+ *
8
+ * **The three lifecycle phases are still accepted here, deliberately.** A current
9
+ * server sends only `tool_call` and `tool_result` on this carrier -- the
10
+ * delegation's lifetime moved to the protocol's `SUBAGENT_*` events -- but a
11
+ * server one release older sends all five, and this element is published and
12
+ * vendored separately from it. Continuing to narrow the older shape costs
13
+ * nothing (the panel needs those phases as visual states regardless) and is the
14
+ * difference between a mixed-version pair that degrades and one that shows a
15
+ * delegation which never opens.
16
+ *
17
+ * Defensive about the payload, not about the name. A `CUSTOM` event's `value` is
18
+ * `unknown` by the protocol, so a server can put anything there, and a malformed
19
+ * announcement must not take a run down with it — the same rule the invalidation
20
+ * channel applies to the same field. What is refused here is only what cannot be
21
+ * rendered at all: without a `delegationId` there is no card to attach to, and
22
+ * without a known `phase` there is no state to be in. Everything else degrades to
23
+ * `null`, which the panel reads as "said nothing about this".
24
+ */
25
+ import type { SubAgentUpdate } from "./subagent_panel.js";
26
+ /** Narrow an `ag_ui.subagent` `CUSTOM` value, or `null` if it cannot be drawn. */
27
+ export declare function subAgentUpdate(value: unknown): SubAgentUpdate | null;
28
+ //# sourceMappingURL=subagent_update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent_update.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/subagent_update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAA+B,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4CvF,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAiBpE"}
@@ -0,0 +1,57 @@
1
+ import { type UiStrings } from "../ui_strings.js";
2
+ /**
3
+ * A muted "thinking" region for a reasoning model's streamed chain-of-thought.
4
+ *
5
+ * Sits at the top of the current answer group. Its header reads `thinking`
6
+ * while the model reasons, and {@link settle} stops the clock and names how
7
+ * long it took ("Thought for 4s"). {@link stream} replaces the body with the
8
+ * running buffer, which opens expanded and folds away on {@link collapse},
9
+ * once the answer's first text token arrives.
10
+ *
11
+ * The header is a disclosure only while there is text behind it. A provider
12
+ * that reasons without sending any -- redacted thinking, or reasoning with
13
+ * its summaries off -- still opens and closes a block, and a toggle there
14
+ * folded and unfolded an empty, ruled box. Until the buffer has text the
15
+ * header is a plain label and the body is not drawn; the first text turns the
16
+ * label into the toggle, and the body comes with it.
17
+ *
18
+ * Pure DOM. The host inserts {@link element}; all visible chrome text comes
19
+ * from {@link UiStrings}. The clock is injectable so the timing is testable.
20
+ */
21
+ export declare class ThoughtsBlock {
22
+ #private;
23
+ /** The block's root element; insert this at the top of the answer group. */
24
+ readonly element: HTMLDivElement;
25
+ /**
26
+ * Build the block as reasoning starts, which is when its clock starts.
27
+ *
28
+ * @param strings - The resolved string table.
29
+ * @param now - The clock, in milliseconds; `performance.now` unless a test
30
+ * supplies its own.
31
+ */
32
+ constructor(strings?: UiStrings, now?: () => number);
33
+ /**
34
+ * A further round of reasoning in the same turn, after a tool call settled
35
+ * the first: restart the clock and the live header. The rounds' times add
36
+ * up. Ignored while the clock is already running.
37
+ */
38
+ begin(): void;
39
+ /** Replace the reasoning body with the running buffer (the full text so far). */
40
+ stream(buffer: string): void;
41
+ /**
42
+ * Stop the clock and settle the header to how long the reasoning took.
43
+ *
44
+ * Called when reasoning ends, or by whatever arrives first in its place --
45
+ * the answer's text, a tool call, or the turn ending -- so the live label
46
+ * never outlives the reasoning. Idempotent: only the first call after a
47
+ * start counts.
48
+ */
49
+ settle(): void;
50
+ /**
51
+ * Fold the region away when the answer's first text token arrives, settling
52
+ * the header first. Idempotent, since the per-token text handler calls it
53
+ * repeatedly.
54
+ */
55
+ collapse(): void;
56
+ }
57
+ //# sourceMappingURL=thoughts_block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thoughts_block.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/thoughts_block.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAa;;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAcjC;;;;;;OAMG;IACH,YACE,OAAO,GAAE,SAA8B,EACvC,GAAG,GAAE,MAAM,MAAgC,EAmC5C;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAOZ;IAED,iFAAiF;IACjF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG3B;IAED;;;;;;;OAOG;IACH,MAAM,IAAI,IAAI,CAab;IAED;;;;OAIG;IACH,QAAQ,IAAI,IAAI,CAMf;CAuBF"}
@@ -0,0 +1,2 @@
1
+ export declare const THOUGHTS_STYLES: string;
2
+ //# sourceMappingURL=thoughts_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thoughts_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/thoughts_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,EAAE,MAwE7B,CAAC"}
@@ -0,0 +1,167 @@
1
+ import { TOOL_CALL_STATUS, type TOOL_DISPLAY } from "../../constants.js";
2
+ import { type UiStrings } from "../ui_strings.js";
3
+ /** Any state a tool-call card can be in. */
4
+ export type ToolCallStatus = (typeof TOOL_CALL_STATUS)[keyof typeof TOOL_CALL_STATUS];
5
+ /** How much detail a card renders. */
6
+ export type ToolDisplayMode = (typeof TOOL_DISPLAY)[keyof typeof TOOL_DISPLAY];
7
+ /** The two states a card can sit in before an outcome exists. */
8
+ export type UnsettledStatus = typeof TOOL_CALL_STATUS.PENDING | typeof TOOL_CALL_STATUS.DEFERRED;
9
+ /** The terminal states a card settles into (everything unsettled excluded). */
10
+ export type SettledStatus = Exclude<ToolCallStatus, UnsettledStatus>;
11
+ /**
12
+ * One region of a card's body, handed to a host {@link ToolPayloadFormatter}.
13
+ *
14
+ * A discriminated union rather than three positional parameters because the two
15
+ * halves do not carry the same thing: arguments are the parsed record the call
16
+ * was made with, and a result is the raw string the tool returned, which may not
17
+ * be JSON at all. Flattening both into one `payload` parameter would force every
18
+ * formatter to re-derive which it had before it could read it, and the
19
+ * arguments would arrive re-serialised for no reason.
20
+ *
21
+ * `toolName` is the raw tool name, not the card's `x-summary` label -- a
22
+ * formatter dispatches on identity, and the label is a display string a server
23
+ * may change.
24
+ */
25
+ export type ToolPayload = {
26
+ readonly kind: "arguments";
27
+ readonly toolName: string;
28
+ readonly args: Record<string, unknown>;
29
+ } | {
30
+ readonly kind: "result";
31
+ readonly toolName: string;
32
+ readonly status: SettledStatus;
33
+ readonly text: string;
34
+ };
35
+ /**
36
+ * Renders one region of a tool card's body, for a host that would rather show a
37
+ * table or a summary line than a wall of pretty-printed JSON.
38
+ *
39
+ * Return a `Node` to take the region over, a `string` to replace its text, or
40
+ * `null` to fall through to the built-in pretty-print -- so a formatter that
41
+ * only cares about one tool, or only about results, declines the rest rather
42
+ * than reimplementing them.
43
+ *
44
+ * **Presentation only.** The model reads the tool result from its own copy of
45
+ * the message, which this never touches, so anything said here is said to the
46
+ * person and not to the agent. Translating a value -- an enum constant into a
47
+ * friendly label, an epoch into a date -- belongs on the server, where it also
48
+ * reaches the model's prose; doing it here would make the card and the answer
49
+ * beside it disagree about what happened.
50
+ *
51
+ * A returned string is set as text, never parsed as markup: this is not a
52
+ * second HTML channel into the transcript, and a host that wants elements
53
+ * builds them itself and returns the node.
54
+ */
55
+ export type ToolPayloadFormatter = (payload: ToolPayload) => Node | string | null;
56
+ /** Optional per-card wiring beyond the name, arguments, label and strings. */
57
+ export interface ToolCallCardOptions {
58
+ /** Host presentation hook for both body regions. See {@link ToolPayloadFormatter}. */
59
+ readonly formatPayload?: ToolPayloadFormatter;
60
+ }
61
+ /**
62
+ * A live tool-call card for the chat transcript.
63
+ *
64
+ * Construction renders a status icon, the tool name, a status pill, and a body
65
+ * of two separately-headed regions — arguments and result — each with its own
66
+ * `part`. {@link settle} fills in the result and flips the pill. Both payloads
67
+ * are pretty-printed and never concatenated into one block.
68
+ *
69
+ * The card renders one DOM shape in every display mode and lets CSS decide what
70
+ * shows, selecting visibility from the host attribute rather than a value
71
+ * copied onto the card at construction. That is what lets `data-tool-display`
72
+ * be flipped on the host and re-read by every card already on screen; building
73
+ * a different structure per mode would leave existing cards stale.
74
+ *
75
+ * The leading icon carries no text: the shadow CSS draws its glyph or spinner
76
+ * from the card's `data-status`, so a host themes it through the
77
+ * `--ag-ui-tool-icon-*` custom properties or the `tool-card-icon` part without
78
+ * the card reaching into the host stylesheet.
79
+ *
80
+ * Either region may be drawn by the host instead: `options.formatPayload` is
81
+ * asked about each one and pretty-prints as before whenever it declines. The
82
+ * arguments are offered from the constructor and the result from {@link settle},
83
+ * because that is when each exists -- so a formatter is asked twice per card,
84
+ * potentially long apart.
85
+ *
86
+ * Pure DOM. The host appends {@link element} into its shadow root; all visible
87
+ * text comes from {@link UiStrings}.
88
+ */
89
+ export declare class ToolCallCard {
90
+ #private;
91
+ /** The card's root element; append this into the message list. */
92
+ readonly element: HTMLDivElement;
93
+ /**
94
+ * Where a question about *this* call renders — the approval prompt for a
95
+ * server-side tool the run deferred.
96
+ *
97
+ * It belongs to the card rather than to the transcript because a run can defer
98
+ * several calls at once, and a prompt written per *tool* ("Add this event to
99
+ * the board?") is identical for every one of them. Rendered into the answer
100
+ * group they were three anonymous copies of one question, below the three
101
+ * cards they gated; rendered here, position identifies them and the arguments
102
+ * are already on screen above the question.
103
+ *
104
+ * Empty until used, and hidden while empty by the shadow CSS.
105
+ */
106
+ readonly approvalSlot: HTMLDivElement;
107
+ /**
108
+ * Where a *nested* run's progress renders — the sub-agent this call delegated
109
+ * to, narrating itself while the card waits.
110
+ *
111
+ * A slot rather than a rendered thing, on the same reasoning as
112
+ * {@link approvalSlot}: the card owns the position and something else owns the
113
+ * content. What makes the position right is that the wire keys a delegation on
114
+ * this card's own `toolCallId`, so the run being narrated is the one this card
115
+ * already stands for.
116
+ *
117
+ * Placed above the Details toggle rather than inside the body, because the
118
+ * body is what the display modes hide — and a progress line that only appears
119
+ * in `full` mode would leave exactly the stall it exists to end. Empty on every
120
+ * card that delegated nothing, and hidden while empty by the shadow CSS.
121
+ */
122
+ readonly subagentSlot: HTMLDivElement;
123
+ /**
124
+ * The arguments this call was made with.
125
+ *
126
+ * Retained rather than only rendered, because an approval interrupt names a
127
+ * `toolCallId` and nothing else -- so this card is the only place the args
128
+ * still exist when the user is asked to approve, edit or deny the call.
129
+ */
130
+ readonly args: Record<string, unknown>;
131
+ constructor(name: string, args: Record<string, unknown>, summary?: string, strings?: UiStrings, options?: ToolCallCardOptions);
132
+ /**
133
+ * Move between the two states that are not an outcome — `pending` (running)
134
+ * and `deferred` (gated, waiting on a person).
135
+ *
136
+ * Ignored once {@link settle} has run: a card that was declined must not be
137
+ * talked back into looking live by a late event.
138
+ */
139
+ mark(status: UnsettledStatus): void;
140
+ /**
141
+ * Say whether a prompt is open on this call, a question it asked or a
142
+ * confirmation it needs. A flag of its own beside the status, which stays
143
+ * `pending`: the call is still running as far as the status goes, and a card
144
+ * display mode that reads the status draws it exactly as before. The step
145
+ * group reads the flag to tell a call waiting on a person from one working.
146
+ */
147
+ setAsking(asking: boolean): void;
148
+ /**
149
+ * Record that a human approved or declined this call, as a line in the card.
150
+ * The prompt disappears once answered, so this is the only lasting trace that
151
+ * the call was gated at all.
152
+ */
153
+ recordDecision(kind: "approved" | "declined"): void;
154
+ /** Whether {@link settle} has already run (so a terminal sweep can skip it). */
155
+ get settled(): boolean;
156
+ /**
157
+ * Flip the status pill to `status` and fill in the result region, whose
158
+ * heading names the outcome (result / error / declined).
159
+ *
160
+ * A blank `text` leaves the region out, as the constructor does for empty
161
+ * arguments: the call settled with nothing to show, so the card stays a
162
+ * status row and its toggle is not offered. The formatter is not asked about
163
+ * a result that is not there.
164
+ */
165
+ settle(status: SettledStatus, text: string): void;
166
+ }
167
+ //# sourceMappingURL=tool_call_card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool_call_card.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/tool_call_card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEtF,sCAAsC;AACtC,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE/E,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,OAAO,GAAG,OAAO,gBAAgB,CAAC,QAAQ,CAAC;AAEjG,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAiCrE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAElF,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,sFAAsF;IACtF,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,YAAY;;IACvB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IAEtC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IAStC;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMvC,YACE,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,GAAE,SAA8B,EACvC,OAAO,GAAE,mBAAwB,EAmFlC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAKlC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAE/B;IAED;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAKlD;IAED,gFAAgF;IAChF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAqBhD;CAiFF"}
@@ -0,0 +1,2 @@
1
+ export declare const TOOL_GROUP_STYLES: string;
2
+ //# sourceMappingURL=tool_group_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool_group_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/tool_group_styles.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,iBAAiB,EAAE,MAqR/B,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { type ToolGroupDisplayMode } from "../../constants.js";
2
+ import type { UiStrings } from "../ui_strings.js";
3
+ /**
4
+ * Consecutive tool calls folded into one quiet row, "Worked through 5 steps",
5
+ * with the per-call cards one click down. Built by the transcript for each run
6
+ * of calls when the element's `toolDisplay` is `grouped`.
7
+ *
8
+ * The group owns no state of its own beyond its nodes and two facts: each
9
+ * step's label, and whether it has already opened itself for the current wait.
10
+ * Everything else is read back off the cards each time one changes.
11
+ *
12
+ * It opens itself while a step waits on the user, because a deferred step
13
+ * carries its approval prompt inside its card and a folded group would hide
14
+ * the very question it is asking. Once per wait, so the user can fold it
15
+ * again. A running sub-agent does not open it: the row names the sub-agent
16
+ * instead, beside the running mark.
17
+ */
18
+ export declare class ToolStepGroup {
19
+ #private;
20
+ readonly element: HTMLDivElement;
21
+ constructor(strings: UiStrings, display: () => ToolGroupDisplayMode);
22
+ /**
23
+ * Add a card's element as the group's next step, under the label the card
24
+ * was built with.
25
+ *
26
+ * A step whose label an earlier step already has gets a repeat ordinal,
27
+ * "Fill field (2)", in an element of its own beside the card's name. The
28
+ * name itself is never rewritten, so a group flattened back into per-call
29
+ * cards by a card display mode shows exactly the label the card was built
30
+ * with, and the CSS hides the ordinal there.
31
+ */
32
+ add(card: HTMLElement, name: string): void;
33
+ /** Show or hide the per-step cards. */
34
+ setOpen(open: boolean): void;
35
+ /**
36
+ * Open the group now, for the wait that is about to start.
37
+ *
38
+ * The group opens itself from its mutation observer, which runs a tick after
39
+ * the card is marked deferred. The approval prompt is drawn, and takes focus,
40
+ * in the same tick as the mark, while the list is still out of the layout: the
41
+ * focus is dropped and the scroll it would cause never happens. So the caller
42
+ * that is about to draw the prompt opens the group first, and this marks the
43
+ * wait as already answered for, so the observer's later refresh does not open
44
+ * it again over a user who folded it.
45
+ */
46
+ reveal(): void;
47
+ /** Redraw the row from the cards, for a change the cards do not announce. */
48
+ refresh(): void;
49
+ }
50
+ //# sourceMappingURL=tool_step_group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool_step_group.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/tool_step_group.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAgElD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;;IACxB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAYjC,YAAY,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,EAiDlE;IAED;;;;;;;;;OASG;IACH,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAczC;IAED,uCAAuC;IACvC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAG3B;IAmBD;;;;;;;;;;OAUG;IACH,MAAM,IAAI,IAAI,CAGb;IAsBD,6EAA6E;IAC7E,OAAO,IAAI,IAAI,CA+Ed;CACF"}
@@ -0,0 +1,2 @@
1
+ export declare const TOOL_STEP_STYLES: string;
2
+ //# sourceMappingURL=tool_step_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool_step_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/progress/tool_step_styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,EAAE,MAke9B,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Attach the stylesheet to `root` without an inline `<style>` element.
3
+ *
4
+ * A host with a strict `style-src` and no `'unsafe-inline'` drops an injected
5
+ * `<style>` silently: the component mounts, functions, and renders completely
6
+ * unstyled, with nothing in the console to point at. `adoptedStyleSheets`
7
+ * carries no inline-style origin, so it is unaffected by that policy.
8
+ *
9
+ * The sheet is constructed **per call**, which is once per mounted element,
10
+ * rather than shared at module scope. A shared sheet would additionally avoid
11
+ * re-parsing the stylesheet once per mounted element, which is what
12
+ * `adoptedStyleSheets` is usually reached for -- but a module-level singleton
13
+ * is exactly what this package forbids, and the CSP defect is fixed either way.
14
+ * Per instance is no worse than the `<style>` element it replaces, which also
15
+ * parsed once per mount.
16
+ *
17
+ * `extra` is the element's `extraStyles`, adopted after the built-in sheet so
18
+ * a host's rules win at equal specificity. They are constructed sheets too, so
19
+ * they inherit the same CSP immunity.
20
+ *
21
+ * No fallback: constructible `CSSStyleSheet` is Chrome 73, Firefox 101 and
22
+ * Safari 16.4, all below this package's browser floor (Chrome 123, Firefox
23
+ * 120, Safari 17.5). A guard here would be code no supported browser can
24
+ * reach, and the only way to keep it would be to exempt it from the coverage
25
+ * gate.
26
+ */
27
+ export declare function adoptStyles(root: ShadowRoot, extra?: readonly CSSStyleSheet[]): CSSStyleSheet;
28
+ //# sourceMappingURL=adopt_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adopt_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/adopt_styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAE,SAAS,aAAa,EAAO,GAAG,aAAa,CAKjG"}
@@ -0,0 +1,45 @@
1
+ import type { UiStrings } from "../ui_strings.js";
2
+ /** What {@link buildHeader} needs from the element that owns the header. */
3
+ export interface HeaderOptions {
4
+ /** The element itself, asked whether a host slotted an icon. */
5
+ readonly host: HTMLElement;
6
+ /** The title node, kept by the element so a later `title-text` can update it. */
7
+ readonly title: HTMLElement;
8
+ readonly titleText: string;
9
+ readonly iconUrl: string | null;
10
+ readonly strings: UiStrings;
11
+ /** Whether the server indexes runs, so there is anything to continue. */
12
+ readonly withCheckpoints: boolean;
13
+ /** The opt-in theme toggle, or `null` when the host did not ask for one. */
14
+ readonly themeToggle: HTMLButtonElement | null;
15
+ readonly signal: AbortSignal;
16
+ readonly onHistory: () => void;
17
+ readonly onCheckpoints: () => void;
18
+ readonly onNewChat: () => void;
19
+ readonly onCollapse: () => void;
20
+ readonly onMaximize: () => void;
21
+ readonly onToggleTheme: () => void;
22
+ }
23
+ /** The header, and the one control the element still needs a handle on. */
24
+ export interface BuiltHeader {
25
+ readonly header: HTMLElement;
26
+ /**
27
+ * The checkpoints button, built whether or not it is shown: the click-away
28
+ * handler for the checkpoints popover has to exclude it either way.
29
+ */
30
+ readonly checkpoints: HTMLButtonElement;
31
+ /** The maximize control, built detached: the element adds it where a placement offers it. */
32
+ readonly maximize: HTMLButtonElement;
33
+ /** The collapse control, which the maximize control is placed before. */
34
+ readonly collapse: HTMLButtonElement;
35
+ }
36
+ /**
37
+ * Build the panel's title bar: the optional icon, the title, the host's
38
+ * header-actions slot, and the controls.
39
+ *
40
+ * Every control calls back into the element's public methods, so a host
41
+ * chrome driving them imperatively takes exactly the path the built-in button
42
+ * takes.
43
+ */
44
+ export declare function buildHeader(options: HeaderOptions): BuiltHeader;
45
+ //# sourceMappingURL=build_header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_header.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/build_header.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAiE/D"}
@@ -0,0 +1,33 @@
1
+ import type { UiStrings } from "../ui_strings.js";
2
+ /** The launcher's parts, owned by the element, and what fills them. */
3
+ export interface LauncherOptions {
4
+ readonly launcher: HTMLButtonElement;
5
+ readonly badge: HTMLElement;
6
+ readonly railLabel: HTMLElement;
7
+ /** The bottom bar's wrapper, which holds the launcher and the history button. */
8
+ readonly bar: HTMLElement;
9
+ /** The bottom bar's history button, a sibling of the launcher in the bar. */
10
+ readonly barHistory: HTMLButtonElement;
11
+ /** The place beside the title, which its owner shows and hides. */
12
+ readonly barPlace: HTMLElement;
13
+ readonly titleText: string;
14
+ readonly iconUrl: string | null;
15
+ readonly strings: UiStrings;
16
+ readonly signal: AbortSignal;
17
+ readonly onOpen: () => void;
18
+ readonly onHistory: () => void;
19
+ }
20
+ /**
21
+ * Build what a collapsed widget shrinks to: a round floating button, the slim
22
+ * edge rail under `placement="sidebar"`, or the strip along the bottom edge
23
+ * under `collapse-to="bar"` -- one element, shaped by the stylesheet. The
24
+ * element mounts the bar wrapper as a sibling of the panel, so it survives the
25
+ * panel being hidden.
26
+ *
27
+ * The wrapper is there for the bar's history button: a button cannot nest in
28
+ * a button, so the strip is the launcher and the history button side by side.
29
+ * Outside the bar the wrapper draws no box and the history button is not
30
+ * drawn, so the launcher lays out against the host exactly as it did alone.
31
+ */
32
+ export declare function buildLauncher(options: LauncherOptions): void;
33
+ //# sourceMappingURL=build_launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_launcher.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/build_launcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,iFAAiF;IACjF,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CA2C5D"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The collapse control's mark for the element's `data-collapse-icon`,
3
+ * `placement` and `data-side`, read live by the caller.
4
+ *
5
+ * Unset, or a value it does not name, follows the placement: a docked column
6
+ * (`sidebar`, and the undocumented `side`) hides sideways into its edge, so it
7
+ * takes the panel mark, and everything else -- the corners, `full`,
8
+ * `embedded`, an unknown placement -- keeps the chevron down. The panel mark
9
+ * points into the edge the panel docks to, so it is mirrored for either docked
10
+ * placement on `data-side="left"`, whether it was chosen or defaulted. The
11
+ * chevrons are absolute.
12
+ */
13
+ export declare function collapseGlyph(choice: string | null, placement: string | null, side: string | null): string;
14
+ //# sourceMappingURL=collapse_glyph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapse_glyph.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/collapse_glyph.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,MAAM,CAgBR"}
@@ -0,0 +1,2 @@
1
+ export declare const FRAME_STYLES: string;
2
+ //# sourceMappingURL=frame_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/frame_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,EAAE,MAiJ1B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A `<slot>` a host can project its own mark into, falling back to one of the
3
+ * built-in glyphs. The markup is an author-written constant, never user or
4
+ * server data, so it is assigned directly rather than sanitised.
5
+ */
6
+ export declare function glyphSlot(slotName: string, className: string, markup: string): HTMLSlotElement;
7
+ //# sourceMappingURL=glyph_slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glyph_slot.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/glyph_slot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAM9F"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Build a header control button: a named slot a host can project markup into,
3
+ * with the built-in glyph (static SVG markup from `constants.ts`) as the slot's
4
+ * fallback.
5
+ *
6
+ * The slot is what lets a host replace the mark with its own `<img>` or
7
+ * `<svg>` rather than only restyle it through the `part`; the same
8
+ * slot-with-fallback idiom the header icon uses.
9
+ */
10
+ export declare function headerButton(modifier: string, label: string, glyph: string): HTMLButtonElement;
11
+ //# sourceMappingURL=header_button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header_button.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/header_button.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAY9F"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * An icon holder wrapping a `<slot>` so a host can project custom markup;
3
+ * with an `<img>` as the slot's fallback when an icon URL is configured, or
4
+ * the given glyph markup when it is not.
5
+ *
6
+ * `iconUrl` is the caller's to read rather than defaulted here, because the
7
+ * three marks answer it differently: the header's is `data-icon-url`, the
8
+ * launcher's falls back to it from an attribute of its own, and the theme
9
+ * toggle never takes an image at all.
10
+ */
11
+ export declare function iconElement(slotName: string, part: string, fallbackGlyph: string | null, iconUrl: string | null): HTMLSpanElement;
12
+ //# sourceMappingURL=icon_element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_element.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/icon_element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,eAAe,CAiBjB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Whether the launcher's unread badge is shown.
3
+ *
4
+ * The unread badge, unlike every other affordance here, is on by default:
5
+ * a collapsed widget is the one state where an answer can arrive with nothing
6
+ * on screen to say so. `data-unread-badge="false"` turns it off for a host
7
+ * that drives its own chrome from the `ag-ui-unread` event.
8
+ */
9
+ export declare function isUnreadBadgeEnabled(element: Element): boolean;
10
+ //# sourceMappingURL=is_unread_badge_enabled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is_unread_badge_enabled.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/is_unread_badge_enabled.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE9D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The launcher's own image URL. `data-launcher-icon-url` lets the collapsed
3
+ * button carry a different mark from the header's — a product logo reads at
4
+ * 22px in a header bar but rarely at 26px in a circle — and falls back to the
5
+ * header icon so a single `data-icon-url` still feeds both.
6
+ */
7
+ export declare function readLauncherIconUrl(element: Element): string | null;
8
+ //# sourceMappingURL=read_launcher_icon_url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read_launcher_icon_url.d.ts","sourceRoot":"","sources":["../../../src/ui/shell/read_launcher_icon_url.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEnE"}