@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 @@
1
+ {"version":3,"file":"approval_card.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/approval_card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAYD,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClD;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,KAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,OAAO,CAAC,CA4DlB"}
@@ -0,0 +1,2 @@
1
+ export declare const APPROVAL_STYLES: string;
2
+ //# sourceMappingURL=approval_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/approval_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,EAAE,MAkD7B,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { type UiStrings } from "../ui_strings.js";
2
+ /** What the inline confirmation card displays. */
3
+ export interface ConfirmationRequest {
4
+ toolName: string;
5
+ args: Record<string, unknown>;
6
+ /**
7
+ * Human-readable prompt (from the tool's `x-confirm` metadata), e.g.
8
+ * "Activate this project?". Falls back to the generic `confirmRun` template.
9
+ */
10
+ message?: string;
11
+ }
12
+ /** Options for {@link requestConfirmation}. */
13
+ export interface ConfirmationOptions {
14
+ /**
15
+ * Aborting this signal resolves the card as declined, with buttons disabled
16
+ * and `data-resolved="declined"` — how a Stop control dismisses a pending
17
+ * confirmation.
18
+ */
19
+ signal?: AbortSignal;
20
+ /** Localized strings; defaults to the English {@link DEFAULT_UI_STRINGS}. */
21
+ strings?: UiStrings;
22
+ /**
23
+ * Offer a third button — "always allow, this session" — and call this when
24
+ * the user picks it. The card still resolves `true`: the extra decision is
25
+ * *in addition to* approving this call, not instead of it.
26
+ *
27
+ * Absent means no button, which is deliberate: presence of the handler is
28
+ * what enables it, so the affordance can never be rendered with nothing
29
+ * listening. A caller that cannot honour the waiver simply does not pass one.
30
+ */
31
+ onAlwaysAllow?: () => void;
32
+ }
33
+ /**
34
+ * Append an inline confirmation card to `host` (the chat message list) and
35
+ * resolve `true` on confirm, `false` on cancel.
36
+ *
37
+ * The card lives in the transcript rather than in a modal overlay, so it reads
38
+ * after the assistant's explanation and never steals focus from the page.
39
+ *
40
+ * Answering it removes it: the record of the decision belongs to the tool card
41
+ * this gates, which settles to `done` or `declined` and carries it. A spent
42
+ * form left in place reads as still outstanding.
43
+ *
44
+ * With `onAlwaysAllow` set the card offers a third button. A prompt that is
45
+ * approved nearly every time is not a decision, it is a speed bump — and the
46
+ * reflex it trains is what makes the rare refusal easy to miss. Letting the
47
+ * user say "not this one again, this session" is the affordance that keeps the
48
+ * remaining prompts meaningful.
49
+ */
50
+ export declare function requestConfirmation(host: Node & ParentNode, request: ConfirmationRequest, options?: ConfirmationOptions): Promise<boolean>;
51
+ //# sourceMappingURL=confirmation_card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmation_card.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/confirmation_card.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,OAAO,CAAC,CAsElB"}
@@ -0,0 +1,2 @@
1
+ export declare const CONFIRMATION_STYLES: string;
2
+ //# sourceMappingURL=confirmation_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmation_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/confirmation_styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,EAAE,MA+GjC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The decision a run is suspended on, and the one way to abandon it.
3
+ *
4
+ * A run pauses on a person in three places -- a client-side confirmation, a
5
+ * batch of server interrupts, and the `ask_user` question -- and a Stop has to
6
+ * reach whichever of them is open. Holding the abort controller here gives
7
+ * it one owner: a wait opens, the Stop aborts what is open, and the wait closes
8
+ * when it is answered.
9
+ *
10
+ * Owned one-to-one by an `<ag-ui-chat>`, and holding no state outside the
11
+ * instance.
12
+ */
13
+ export declare class PendingDecision {
14
+ #private;
15
+ /** Start waiting on a person; aborting the returned signal abandons the wait. */
16
+ open(): AbortSignal;
17
+ /** The wait was answered; a later Stop has nothing of this wait's to abandon. */
18
+ close(): void;
19
+ /** Abandon whatever wait is open, resolving it as declined. A no-op when none is. */
20
+ abort(): void;
21
+ }
22
+ //# sourceMappingURL=pending_decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending_decision.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/pending_decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;;IAK1B,iFAAiF;IACjF,IAAI,IAAI,WAAW,CAGlB;IAED,iFAAiF;IACjF,KAAK,IAAI,IAAI,CAEZ;IAED,qFAAqF;IACrF,KAAK,IAAI,IAAI,CAEZ;CACF"}
@@ -0,0 +1,49 @@
1
+ import { type UiStrings } from "../ui_strings.js";
2
+ /** What the inline question card asks (the `ask_user` frontend tool's args). */
3
+ export interface QuestionRequest {
4
+ /** The question shown to the user. */
5
+ question: string;
6
+ /**
7
+ * Preset choices rendered as radios. When empty/omitted the card is a plain
8
+ * free-text prompt.
9
+ */
10
+ options?: readonly string[];
11
+ /**
12
+ * Whether the user may type a custom answer. With `options`, adds an "other"
13
+ * radio revealing a text field; without options the card is free-text anyway.
14
+ */
15
+ allowCustom?: boolean;
16
+ }
17
+ /** Options for {@link requestQuestion}. */
18
+ export interface QuestionOptions {
19
+ /**
20
+ * Aborting this signal resolves the card with an empty answer and disabled
21
+ * fields — how a Stop control dismisses an open question.
22
+ */
23
+ signal?: AbortSignal;
24
+ /** Localized strings; defaults to the English {@link DEFAULT_UI_STRINGS}. */
25
+ strings?: UiStrings;
26
+ }
27
+ /**
28
+ * A fully custom renderer for the `ask_user` question, set via
29
+ * `AgUiChat.askUserRenderer`. Receives the parsed {@link QuestionRequest} and an
30
+ * `AbortSignal` that fires when the run is stopped, and resolves with the user's
31
+ * answer; an empty string means no answer. Replaces the built-in
32
+ * {@link requestQuestion} card entirely — see {@link ApprovalRenderer} for the
33
+ * same seam on approvals.
34
+ */
35
+ export type QuestionRenderer = (request: QuestionRequest, options: {
36
+ signal: AbortSignal;
37
+ }) => Promise<string>;
38
+ /**
39
+ * Append an inline question card to `host` and resolve with the user's answer —
40
+ * the browser half of the built-in `ask_user` frontend tool.
41
+ *
42
+ * Collects a typed answer rather than the yes/no the confirmation and approval
43
+ * cards return: a radio pick from `options`, or free text when `allowCustom` is
44
+ * set or no `options` are given. Stays in the transcript as a resolved record,
45
+ * controls disabled and `data-resolved` set; a Stop while it is open resolves
46
+ * it with an empty string.
47
+ */
48
+ export declare function requestQuestion(host: Node & ParentNode, request: QuestionRequest, options?: QuestionOptions): Promise<string>;
49
+ //# sourceMappingURL=question_card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question_card.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/question_card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,KAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;AAYrB;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,GAAG,UAAU,EACvB,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAkJjB"}
@@ -0,0 +1,2 @@
1
+ export declare const QUESTION_STYLES: string;
2
+ //# sourceMappingURL=question_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/interrupts/question_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,EAAE,MAuE7B,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Where in the host application the user is: the page, tab or record on
3
+ * screen. The chip in the composer draws it and the next round sends it as one
4
+ * context entry, both from the same read, so the place the user sees is the
5
+ * place the agent is told.
6
+ */
7
+ export interface Place {
8
+ /** Short name of the place, e.g. "Order #4821" or "Billing settings". */
9
+ readonly label: string;
10
+ /** A quieter second part, e.g. the section or the tab. */
11
+ readonly detail?: string;
12
+ /** An image URL for the chip's mark; a pin when absent. Never sent. */
13
+ readonly icon?: string;
14
+ /** Where the place lives. Sent to the agent, and what identifies the place. */
15
+ readonly href?: string;
16
+ }
17
+ //# sourceMappingURL=place.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,26 @@
1
+ import type { Context } from "@ag-ui/core";
2
+ import { type UiStrings } from "../ui_strings.js";
3
+ import type { Place } from "./place.js";
4
+ /**
5
+ * The "you are here" chip in the composer's tool row, and the context entry it stands for.
6
+ *
7
+ * The exclusion is keyed on the place: it holds across turns on the same place and lapses
8
+ * when a different one is read. A read of no place keeps it, so a page naming nothing
9
+ * mid-navigation does not undo it. Nothing persists, and nothing the host sets can lift it.
10
+ */
11
+ export declare class PlaceChip {
12
+ #private;
13
+ readonly element: HTMLElement;
14
+ /** The same place for the collapsed bar, drawn by the same render. */
15
+ readonly barElement: HTMLElement;
16
+ constructor();
17
+ /** Wire the toggle for one connection, with the strings it resolved. */
18
+ mount(signal: AbortSignal, strings: UiStrings): void;
19
+ /** Show a fresh read; null hides the chip and sends nothing. */
20
+ update(place: Place | null): void;
21
+ /** Whether there is a place and the user withheld it, which withholds the page too. */
22
+ get withheld(): boolean;
23
+ /** The round's context entry: the place as shown, without its icon, or nothing. */
24
+ context(): Context[];
25
+ }
26
+ //# sourceMappingURL=place_chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place_chip.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place_chip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ3C,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAaxC;;;;;;GAMG;AACH,qBAAa,SAAS;;IACpB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAiC;IAC9D,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAkC;IAWlE,cAyBC;IAED,wEAAwE;IACxE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,CAInD;IAED,gEAAgE;IAChE,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAMhC;IAED,uFAAuF;IACvF,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,mFAAmF;IACnF,OAAO,IAAI,OAAO,EAAE,CAWnB;CA0CF"}
@@ -0,0 +1,9 @@
1
+ import type { RouteMap } from "../../tools/route_map.js";
2
+ import type { Place } from "./place.js";
3
+ /**
4
+ * The place a route map implies: the first route whose path template matches
5
+ * `pathname`, its title (else its id) as the label, its group as the detail,
6
+ * and the path as the href. Null when no route matches.
7
+ */
8
+ export declare function placeFromRoute(routes: RouteMap, pathname: string): Place | null;
9
+ //# sourceMappingURL=place_from_route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place_from_route.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place_from_route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAUxC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAU/E"}
@@ -0,0 +1,2 @@
1
+ export declare const PLACE_STYLES: string;
2
+ //# sourceMappingURL=place_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/place/place_styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,EAAE,MAyG1B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { LauncherBox, ViewportBox } from "./launcher_placement.js";
2
+ /**
3
+ * Keep a launcher fully on screen, and a little clear of the edge.
4
+ *
5
+ * Applied to a dragged position and again to a restored one, because the
6
+ * viewport that stored it may since have shrunk. A launcher parked past the
7
+ * edge is unreachable, and it is the only way back to a collapsed
8
+ * conversation.
9
+ *
10
+ * Not the panel's 24px gutter, which was rejected here on purpose: a launcher
11
+ * held that far in refuses the corners people actually drag it to. But not
12
+ * zero either -- the bubble is a circle with a drop shadow, and one flush
13
+ * against the boundary has its shadow cut and its curve running into the edge,
14
+ * which reads as clipped whether or not a pixel is actually missing.
15
+ */
16
+ export declare function clampLauncher(launcher: LauncherBox, viewport: ViewportBox, margin?: number): {
17
+ readonly left: number;
18
+ readonly top: number;
19
+ };
20
+ //# sourceMappingURL=clamp_launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp_launcher.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/clamp_launcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAExE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,WAAW,EACrB,MAAM,GAAE,MAA2B,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBjD"}
@@ -0,0 +1,13 @@
1
+ import type { ViewportBox } from "./launcher_placement.js";
2
+ import type { PanelRect } from "./resize_handle.js";
3
+ /**
4
+ * Hold a panel inside the viewport, keeping its size.
5
+ *
6
+ * The near edge is clamped and the far edge follows, so a panel too large for
7
+ * the viewport is held against the near margin and left to the max-width and
8
+ * max-height rules rather than centred by force. The lower bound wins a
9
+ * contradiction for the same reason: `Math.min` first would put an oversized
10
+ * panel off the left edge instead of against the margin it can still honour.
11
+ */
12
+ export declare function clampPanel(host: PanelRect, viewport: ViewportBox, margin?: number): PanelRect;
13
+ //# sourceMappingURL=clamp_panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp_panel.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/clamp_panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,WAAW,EACrB,MAAM,GAAE,MAAoB,GAC3B,SAAS,CAYX"}
@@ -0,0 +1,2 @@
1
+ export declare const COLLAPSE_STYLES: string;
2
+ //# sourceMappingURL=collapse_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapse_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/collapse_styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,EAAE,MAmd7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const DOCK_STYLES: string;
2
+ //# sourceMappingURL=dock_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dock_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/dock_styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,EAAE,MA+GzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const EMBEDDED_STYLES: string;
2
+ //# sourceMappingURL=embedded_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/embedded_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,EAAE,MAY7B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { LauncherBox, ViewportBox } from "./launcher_placement.js";
2
+ /** What the drag needs from its host to do its job. */
3
+ export interface LauncherDragOptions {
4
+ /**
5
+ * Whether the current placement lets the launcher move, read per interaction
6
+ * because `placement` is a live attribute. A docked rail and a full-bleed
7
+ * layout have nowhere to move it to.
8
+ */
9
+ readonly enabled: () => boolean;
10
+ /** The launcher's current box, in viewport coordinates. */
11
+ readonly rect: () => LauncherBox;
12
+ /** The viewport the launcher has to stay inside. */
13
+ readonly viewport: () => ViewportBox;
14
+ /** Put the launcher's top-left at this point. Called per pointer move. */
15
+ readonly apply: (left: number, top: number) => void;
16
+ /**
17
+ * Called once per completed move, for persistence: on `pointerup` for a
18
+ * drag, and when the key comes up (or focus leaves) for a key press. Never
19
+ * per pointer move, and never per key repeat.
20
+ */
21
+ readonly commit: (left: number, top: number) => void;
22
+ /**
23
+ * Ends the launcher's own listeners when aborted. The launcher outlives the
24
+ * element's connection to the document and this is called on every connect,
25
+ * so without it a re-inserted element moved one arrow press two steps.
26
+ */
27
+ readonly signal: AbortSignal;
28
+ }
29
+ /**
30
+ * Let the user drag the collapsed launcher anywhere on screen.
31
+ *
32
+ * The launcher is a button before it is a handle, and that ordering is the
33
+ * whole difficulty: every drag ends in a `click` the browser synthesises, which
34
+ * would expand the panel the user was only repositioning. So a completed drag
35
+ * arms a one-shot capture listener that eats exactly one click.
36
+ *
37
+ * Two things stop that from eating a click it should not have. A drag ending
38
+ * off the launcher never produces the click it armed, so the arming is cleared
39
+ * on the next `pointerdown` -- a pointer click is always preceded by a press,
40
+ * which puts the clearing ahead of any click it could reach.
41
+ *
42
+ * That leaves the clicks with no press in front of them at all: `Enter` and
43
+ * `Space` on the focused button, assistive technology activating it, and a host
44
+ * calling `click()` itself. None of those is the tail of a drag, and all of them
45
+ * are the only way in for someone not using a pointer, so the suppression is
46
+ * narrowed to clicks carrying a click count -- which is the pointer's own.
47
+ */
48
+ export declare function enableLauncherDrag(launcher: HTMLElement, options: LauncherDragOptions): void;
49
+ //# sourceMappingURL=launcher_drag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher_drag.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/launcher_drag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAExE,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC;IACjC,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,WAAW,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAgJ5F"}
@@ -0,0 +1,77 @@
1
+ /** A box in viewport coordinates. */
2
+ export interface LauncherBox {
3
+ readonly left: number;
4
+ readonly top: number;
5
+ readonly width: number;
6
+ readonly height: number;
7
+ }
8
+ /**
9
+ * The part of the screen a widget may rest in: a width and height, and the
10
+ * corner they start from.
11
+ *
12
+ * The origin is not always zero. A host can reserve the edges its own chrome
13
+ * occupies, and a panel clamped against a viewport that starts at the top-left
14
+ * of the screen will happily park itself underneath a sticky header -- where it
15
+ * cannot be reached, and where collapsing it only hides it further.
16
+ */
17
+ export interface ViewportBox extends Extent {
18
+ readonly left: number;
19
+ readonly top: number;
20
+ }
21
+ /** A width/height pair, in CSS pixels. */
22
+ export interface Extent {
23
+ readonly width: number;
24
+ readonly height: number;
25
+ }
26
+ /**
27
+ * The corner the panel is pinned by, and therefore grows away from: pinned
28
+ * `top-left` opens down and to the right. It is also the corner the resize grip
29
+ * must stay off, which is why the element stamps it rather than measuring it
30
+ * once the launcher has been moved.
31
+ */
32
+ export interface ExpandCorner {
33
+ readonly x: "left" | "right";
34
+ readonly y: "top" | "bottom";
35
+ }
36
+ /** Where to put the host box, and where the launcher sits inside it. */
37
+ export interface LauncherPlacement {
38
+ /** The corner the panel opens away from. */
39
+ readonly corner: ExpandCorner;
40
+ /** An `inset` shorthand for the host box. */
41
+ readonly hostInset: string;
42
+ /** An `inset` shorthand for the launcher, relative to the host box. */
43
+ readonly launcherInset: string;
44
+ }
45
+ /**
46
+ * Decide where a panel should open from a launcher the user has dragged.
47
+ *
48
+ * The launcher is the fixed point: wherever it was dropped is where it stays,
49
+ * collapsed and expanded alike. Everything here decides what happens *around*
50
+ * it.
51
+ *
52
+ * Two steps, and they are separate on purpose:
53
+ *
54
+ * 1. **Pick the corner with the most clear space.** For each axis, compare the
55
+ * room a panel would have on either side of the launcher and pin the side
56
+ * with more of it. Pinning `left` means the panel runs rightward from the
57
+ * launcher's left edge, so the room that decides it is the distance from
58
+ * that edge to the far side of the viewport -- not "which half of the screen
59
+ * is the launcher in", which gives a different and worse answer for a
60
+ * launcher near the middle.
61
+ *
62
+ * 2. **Clamp the panel into the viewport, then put the launcher back.** A
63
+ * launcher near the centre of a short viewport has a panel taller than
64
+ * either side, so the winning corner still overflows. Clamping moves the
65
+ * host box -- and the launcher is positioned inside that box, so it would be
66
+ * dragged along with it. The launcher's own inset therefore carries the
67
+ * difference: zero in the ordinary case, and exactly the distance the clamp
68
+ * moved the box in the case that needs it. That the launcher may end up
69
+ * outside its own host box is fine; nothing clips it, and it keeps its own
70
+ * pointer events.
71
+ *
72
+ * Both insets are expressed from the *same* corner, which is what stops a
73
+ * later panel resize from dragging the launcher: the pinned corner is the one
74
+ * edge a resize cannot move.
75
+ */
76
+ export declare function launcherPlacement(launcher: LauncherBox, panel: Extent, viewport: ViewportBox, screen: Extent, margin?: number): LauncherPlacement;
77
+ //# sourceMappingURL=launcher_placement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher_placement.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/launcher_placement.ts"],"names":[],"mappings":"AAIA,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,0CAA0C;AAC1C,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC9B;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAA2B,GAClC,iBAAiB,CA0CnB"}
@@ -0,0 +1,2 @@
1
+ export declare const LAUNCHER_STYLES: string;
2
+ //# sourceMappingURL=launcher_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/launcher_styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,EAAE,MA0L7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const PAGE_STYLES: string;
2
+ //# sourceMappingURL=page_styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page_styles.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/page_styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,EAAE,MA6CzB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { PanelRect } from "./resize_handle.js";
2
+ /** What the drag needs from its host to do its job. */
3
+ export interface PanelDragOptions {
4
+ /**
5
+ * Whether the panel can be moved right now, read per interaction because
6
+ * both halves of the answer are live: a docked or full-bleed placement has
7
+ * nowhere to move the panel to, and a collapsed one has no panel on screen.
8
+ */
9
+ readonly enabled: () => boolean;
10
+ /** The panel's current box, in viewport coordinates. */
11
+ readonly rect: () => PanelRect;
12
+ /**
13
+ * Put the panel at this box. Called per pointer move, with the box the press
14
+ * started on -- the whole gesture is one translation of that box, and a host
15
+ * with anything else to move alongside the panel needs the same distance
16
+ * rather than a distance measured from wherever the last move left things.
17
+ */
18
+ readonly apply: (box: PanelRect, from: PanelRect) => void;
19
+ /** Called once per completed move, for persistence. Never per pointer move. */
20
+ readonly commit: (box: PanelRect, from: PanelRect) => void;
21
+ }
22
+ /**
23
+ * Let the user move the whole widget by dragging the panel's header.
24
+ *
25
+ * The launcher can already be dragged, and this is the same gesture on the
26
+ * half of the widget that is on screen when it is open -- a chat panel is a
27
+ * window, and a window moves by its title bar. The two stay one position
28
+ * rather than two: the host answers a moved panel by moving the launcher with
29
+ * it, so collapsing after a drag leaves the launcher where the panel was.
30
+ *
31
+ * **No keyboard path here, deliberately.** Every other drag in this component
32
+ * has arrow keys on the handle, because the handle is a control and the
33
+ * capability is reachable nowhere else. A header is not a control: making it
34
+ * focusable would put a tab stop with no role in front of every keyboard user,
35
+ * ahead of the controls they actually came for. The capability is not lost --
36
+ * arrow keys on the collapsed launcher move the widget, and the panel follows
37
+ * it -- so what is missing is a shortcut, not the ability.
38
+ */
39
+ export declare function enablePanelDrag(handle: HTMLElement, options: PanelDragOptions): void;
40
+ //# sourceMappingURL=panel_drag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel_drag.d.ts","sourceRoot":"","sources":["../../../src/ui/placement/panel_drag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;IAChC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1D,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC5D;AAgBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAkEpF"}