@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.
- package/CHANGELOG.md +77 -0
- package/LICENSE +21 -0
- package/README.md +4397 -2
- package/dist/agents-web-components.bundle.js +5708 -0
- package/dist/agents-web-components.bundle.js.map +7 -0
- package/dist/bundle.d.ts +3 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/chat.d.ts +3 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +16373 -0
- package/dist/chat.js.map +7 -0
- package/dist/chunk-ARNLFGCC.js +7715 -0
- package/dist/chunk-ARNLFGCC.js.map +7 -0
- package/dist/constants.d.ts +575 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/core/activity_registration.d.ts +19 -0
- package/dist/core/activity_registration.d.ts.map +1 -0
- package/dist/core/activity_registry.d.ts +46 -0
- package/dist/core/activity_registry.d.ts.map +1 -0
- package/dist/core/activity_renderer.d.ts +20 -0
- package/dist/core/activity_renderer.d.ts.map +1 -0
- package/dist/core/ag_ui_chat.d.ts +836 -0
- package/dist/core/ag_ui_chat.d.ts.map +1 -0
- package/dist/core/agui_client.d.ts +370 -0
- package/dist/core/agui_client.d.ts.map +1 -0
- package/dist/core/attachment.d.ts +42 -0
- package/dist/core/attachment.d.ts.map +1 -0
- package/dist/core/chat_registry.d.ts +23 -0
- package/dist/core/chat_registry.d.ts.map +1 -0
- package/dist/core/client_seed.d.ts +27 -0
- package/dist/core/client_seed.d.ts.map +1 -0
- package/dist/core/conversation_store.d.ts +195 -0
- package/dist/core/conversation_store.d.ts.map +1 -0
- package/dist/core/create_http_agent.d.ts +57 -0
- package/dist/core/create_http_agent.d.ts.map +1 -0
- package/dist/core/define_chat.d.ts +13 -0
- package/dist/core/define_chat.d.ts.map +1 -0
- package/dist/core/events/attachments_detail.d.ts +9 -0
- package/dist/core/events/attachments_detail.d.ts.map +1 -0
- package/dist/core/events/bar_height_detail.d.ts +6 -0
- package/dist/core/events/bar_height_detail.d.ts.map +1 -0
- package/dist/core/events/custom_agent_detail.d.ts +8 -0
- package/dist/core/events/custom_agent_detail.d.ts.map +1 -0
- package/dist/core/events/dock_width_detail.d.ts +8 -0
- package/dist/core/events/dock_width_detail.d.ts.map +1 -0
- package/dist/core/events/feedback_detail.d.ts +28 -0
- package/dist/core/events/feedback_detail.d.ts.map +1 -0
- package/dist/core/events/invalidate_detail.d.ts +16 -0
- package/dist/core/events/invalidate_detail.d.ts.map +1 -0
- package/dist/core/events/maximize_detail.d.ts +5 -0
- package/dist/core/events/maximize_detail.d.ts.map +1 -0
- package/dist/core/events/run_finished_detail.d.ts +36 -0
- package/dist/core/events/run_finished_detail.d.ts.map +1 -0
- package/dist/core/events/state_detail.d.ts +5 -0
- package/dist/core/events/state_detail.d.ts.map +1 -0
- package/dist/core/events/submit_detail.d.ts +8 -0
- package/dist/core/events/submit_detail.d.ts.map +1 -0
- package/dist/core/events/thread_detail.d.ts +27 -0
- package/dist/core/events/thread_detail.d.ts.map +1 -0
- package/dist/core/events/thread_title_detail.d.ts +8 -0
- package/dist/core/events/thread_title_detail.d.ts.map +1 -0
- package/dist/core/events/toggle_detail.d.ts +5 -0
- package/dist/core/events/toggle_detail.d.ts.map +1 -0
- package/dist/core/events/tool_run.d.ts +11 -0
- package/dist/core/events/tool_run.d.ts.map +1 -0
- package/dist/core/events/unread_detail.d.ts +11 -0
- package/dist/core/events/unread_detail.d.ts.map +1 -0
- package/dist/core/message_role.d.ts +4 -0
- package/dist/core/message_role.d.ts.map +1 -0
- package/dist/core/read_flag.d.ts +11 -0
- package/dist/core/read_flag.d.ts.map +1 -0
- package/dist/core/read_json_attribute.d.ts +15 -0
- package/dist/core/read_json_attribute.d.ts.map +1 -0
- package/dist/core/read_max_tool_rounds.d.ts +9 -0
- package/dist/core/read_max_tool_rounds.d.ts.map +1 -0
- package/dist/core/remote_conversation_store.d.ts +71 -0
- package/dist/core/remote_conversation_store.d.ts.map +1 -0
- package/dist/core/run_handlers.d.ts +85 -0
- package/dist/core/run_handlers.d.ts.map +1 -0
- package/dist/core/run_index.d.ts +58 -0
- package/dist/core/run_index.d.ts.map +1 -0
- package/dist/core/storage_scope.d.ts +118 -0
- package/dist/core/storage_scope.d.ts.map +1 -0
- package/dist/core/tool_outcome.d.ts +27 -0
- package/dist/core/tool_outcome.d.ts.map +1 -0
- package/dist/core/transcribe_audio.d.ts +32 -0
- package/dist/core/transcribe_audio.d.ts.map +1 -0
- package/dist/core/upload_attachment.d.ts +44 -0
- package/dist/core/upload_attachment.d.ts.map +1 -0
- package/dist/core/utils.d.ts +117 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/dom/animations.d.ts +122 -0
- package/dist/dom/animations.d.ts.map +1 -0
- package/dist/dom/dom_driver.d.ts +28 -0
- package/dist/dom/dom_driver.d.ts.map +1 -0
- package/dist/dom/highlight_overlay.d.ts +39 -0
- package/dist/dom/highlight_overlay.d.ts.map +1 -0
- package/dist/dom/native_setter.d.ts +5 -0
- package/dist/dom/native_setter.d.ts.map +1 -0
- package/dist/dom/ring_color.d.ts +16 -0
- package/dist/dom/ring_color.d.ts.map +1 -0
- package/dist/dom/utils.d.ts +3 -0
- package/dist/dom/utils.d.ts.map +1 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +223 -0
- package/dist/index.js.map +7 -0
- package/dist/skills/fill_template.d.ts +16 -0
- package/dist/skills/fill_template.d.ts.map +1 -0
- package/dist/skills/parse_skills.d.ts +8 -0
- package/dist/skills/parse_skills.d.ts.map +1 -0
- package/dist/skills/skill.d.ts +33 -0
- package/dist/skills/skill.d.ts.map +1 -0
- package/dist/skills/skill_catalog.d.ts +69 -0
- package/dist/skills/skill_catalog.d.ts.map +1 -0
- package/dist/skills/skill_name_from.d.ts +12 -0
- package/dist/skills/skill_name_from.d.ts.map +1 -0
- package/dist/tools/chat_surface_tools.d.ts +77 -0
- package/dist/tools/chat_surface_tools.d.ts.map +1 -0
- package/dist/tools/client_tool_registry.d.ts +58 -0
- package/dist/tools/client_tool_registry.d.ts.map +1 -0
- package/dist/tools/is_destructive.d.ts +14 -0
- package/dist/tools/is_destructive.d.ts.map +1 -0
- package/dist/tools/is_navigates.d.ts +9 -0
- package/dist/tools/is_navigates.d.ts.map +1 -0
- package/dist/tools/page_action_tools.d.ts +30 -0
- package/dist/tools/page_action_tools.d.ts.map +1 -0
- package/dist/tools/page_map.d.ts +16 -0
- package/dist/tools/page_map.d.ts.map +1 -0
- package/dist/tools/page_state.d.ts +27 -0
- package/dist/tools/page_state.d.ts.map +1 -0
- package/dist/tools/parse_tool_catalog.d.ts +21 -0
- package/dist/tools/parse_tool_catalog.d.ts.map +1 -0
- package/dist/tools/route_map.d.ts +37 -0
- package/dist/tools/route_map.d.ts.map +1 -0
- package/dist/tools/tool_catalog.d.ts +86 -0
- package/dist/tools/tool_catalog.d.ts.map +1 -0
- package/dist/tools/tool_dispatch.d.ts +82 -0
- package/dist/tools/tool_dispatch.d.ts.map +1 -0
- package/dist/ui/charts/chart_block.d.ts +57 -0
- package/dist/ui/charts/chart_block.d.ts.map +1 -0
- package/dist/ui/charts/chart_spec_from.d.ts +12 -0
- package/dist/ui/charts/chart_spec_from.d.ts.map +1 -0
- package/dist/ui/charts/chart_styles.d.ts +2 -0
- package/dist/ui/charts/chart_styles.d.ts.map +1 -0
- package/dist/ui/charts/chart_tool.d.ts +15 -0
- package/dist/ui/charts/chart_tool.d.ts.map +1 -0
- package/dist/ui/composer/attachment_styles.d.ts +2 -0
- package/dist/ui/composer/attachment_styles.d.ts.map +1 -0
- package/dist/ui/composer/attachment_tray.d.ts +53 -0
- package/dist/ui/composer/attachment_tray.d.ts.map +1 -0
- package/dist/ui/composer/auto_grow.d.ts +10 -0
- package/dist/ui/composer/auto_grow.d.ts.map +1 -0
- package/dist/ui/composer/build_composer.d.ts +32 -0
- package/dist/ui/composer/build_composer.d.ts.map +1 -0
- package/dist/ui/composer/composer_attachments.d.ts +57 -0
- package/dist/ui/composer/composer_attachments.d.ts.map +1 -0
- package/dist/ui/composer/composer_styles.d.ts +2 -0
- package/dist/ui/composer/composer_styles.d.ts.map +1 -0
- package/dist/ui/composer/composer_voice.d.ts +48 -0
- package/dist/ui/composer/composer_voice.d.ts.map +1 -0
- package/dist/ui/composer/skill_styles.d.ts +2 -0
- package/dist/ui/composer/skill_styles.d.ts.map +1 -0
- package/dist/ui/composer/skills_menu.d.ts +34 -0
- package/dist/ui/composer/skills_menu.d.ts.map +1 -0
- package/dist/ui/composer/voice_input.d.ts +46 -0
- package/dist/ui/composer/voice_input.d.ts.map +1 -0
- package/dist/ui/excerpts/attach_copy_buttons.d.ts +13 -0
- package/dist/ui/excerpts/attach_copy_buttons.d.ts.map +1 -0
- package/dist/ui/excerpts/copy_payload.d.ts +30 -0
- package/dist/ui/excerpts/copy_payload.d.ts.map +1 -0
- package/dist/ui/excerpts/page_quote_offer.d.ts +33 -0
- package/dist/ui/excerpts/page_quote_offer.d.ts.map +1 -0
- package/dist/ui/excerpts/place_offer.d.ts +9 -0
- package/dist/ui/excerpts/place_offer.d.ts.map +1 -0
- package/dist/ui/excerpts/quote_selection.d.ts +66 -0
- package/dist/ui/excerpts/quote_selection.d.ts.map +1 -0
- package/dist/ui/excerpts/transcript_quote_offer.d.ts +57 -0
- package/dist/ui/excerpts/transcript_quote_offer.d.ts.map +1 -0
- package/dist/ui/fill_ui_string.d.ts +32 -0
- package/dist/ui/fill_ui_string.d.ts.map +1 -0
- package/dist/ui/history/checkpoint_menu.d.ts +41 -0
- package/dist/ui/history/checkpoint_menu.d.ts.map +1 -0
- package/dist/ui/history/conversation_history.d.ts +317 -0
- package/dist/ui/history/conversation_history.d.ts.map +1 -0
- package/dist/ui/history/history_styles.d.ts +2 -0
- package/dist/ui/history/history_styles.d.ts.map +1 -0
- package/dist/ui/history/relative_time.d.ts +23 -0
- package/dist/ui/history/relative_time.d.ts.map +1 -0
- package/dist/ui/history/thread_drawer.d.ts +64 -0
- package/dist/ui/history/thread_drawer.d.ts.map +1 -0
- package/dist/ui/history/utils.d.ts +2 -0
- package/dist/ui/history/utils.d.ts.map +1 -0
- package/dist/ui/interrupts/approval_card.d.ts +64 -0
- package/dist/ui/interrupts/approval_card.d.ts.map +1 -0
- package/dist/ui/interrupts/approval_styles.d.ts +2 -0
- package/dist/ui/interrupts/approval_styles.d.ts.map +1 -0
- package/dist/ui/interrupts/confirmation_card.d.ts +51 -0
- package/dist/ui/interrupts/confirmation_card.d.ts.map +1 -0
- package/dist/ui/interrupts/confirmation_styles.d.ts +2 -0
- package/dist/ui/interrupts/confirmation_styles.d.ts.map +1 -0
- package/dist/ui/interrupts/pending_decision.d.ts +22 -0
- package/dist/ui/interrupts/pending_decision.d.ts.map +1 -0
- package/dist/ui/interrupts/question_card.d.ts +49 -0
- package/dist/ui/interrupts/question_card.d.ts.map +1 -0
- package/dist/ui/interrupts/question_styles.d.ts +2 -0
- package/dist/ui/interrupts/question_styles.d.ts.map +1 -0
- package/dist/ui/place/place.d.ts +17 -0
- package/dist/ui/place/place.d.ts.map +1 -0
- package/dist/ui/place/place_chip.d.ts +26 -0
- package/dist/ui/place/place_chip.d.ts.map +1 -0
- package/dist/ui/place/place_from_route.d.ts +9 -0
- package/dist/ui/place/place_from_route.d.ts.map +1 -0
- package/dist/ui/place/place_styles.d.ts +2 -0
- package/dist/ui/place/place_styles.d.ts.map +1 -0
- package/dist/ui/placement/clamp_launcher.d.ts +20 -0
- package/dist/ui/placement/clamp_launcher.d.ts.map +1 -0
- package/dist/ui/placement/clamp_panel.d.ts +13 -0
- package/dist/ui/placement/clamp_panel.d.ts.map +1 -0
- package/dist/ui/placement/collapse_styles.d.ts +2 -0
- package/dist/ui/placement/collapse_styles.d.ts.map +1 -0
- package/dist/ui/placement/dock_styles.d.ts +2 -0
- package/dist/ui/placement/dock_styles.d.ts.map +1 -0
- package/dist/ui/placement/embedded_styles.d.ts +2 -0
- package/dist/ui/placement/embedded_styles.d.ts.map +1 -0
- package/dist/ui/placement/launcher_drag.d.ts +49 -0
- package/dist/ui/placement/launcher_drag.d.ts.map +1 -0
- package/dist/ui/placement/launcher_placement.d.ts +77 -0
- package/dist/ui/placement/launcher_placement.d.ts.map +1 -0
- package/dist/ui/placement/launcher_styles.d.ts +2 -0
- package/dist/ui/placement/launcher_styles.d.ts.map +1 -0
- package/dist/ui/placement/page_styles.d.ts +2 -0
- package/dist/ui/placement/page_styles.d.ts.map +1 -0
- package/dist/ui/placement/panel_drag.d.ts +40 -0
- package/dist/ui/placement/panel_drag.d.ts.map +1 -0
- package/dist/ui/placement/panel_placement.d.ts +173 -0
- package/dist/ui/placement/panel_placement.d.ts.map +1 -0
- package/dist/ui/placement/place_widget.d.ts +31 -0
- package/dist/ui/placement/place_widget.d.ts.map +1 -0
- package/dist/ui/placement/preset_styles.d.ts +2 -0
- package/dist/ui/placement/preset_styles.d.ts.map +1 -0
- package/dist/ui/placement/resize_handle.d.ts +78 -0
- package/dist/ui/placement/resize_handle.d.ts.map +1 -0
- package/dist/ui/placement/resize_styles.d.ts +2 -0
- package/dist/ui/placement/resize_styles.d.ts.map +1 -0
- package/dist/ui/placement/sidebar_styles.d.ts +2 -0
- package/dist/ui/placement/sidebar_styles.d.ts.map +1 -0
- package/dist/ui/placement/small_viewport_styles.d.ts +2 -0
- package/dist/ui/placement/small_viewport_styles.d.ts.map +1 -0
- package/dist/ui/placement/surface_for.d.ts +93 -0
- package/dist/ui/placement/surface_for.d.ts.map +1 -0
- package/dist/ui/progress/prettify_tool_name.d.ts +11 -0
- package/dist/ui/progress/prettify_tool_name.d.ts.map +1 -0
- package/dist/ui/progress/run_announcer.d.ts +41 -0
- package/dist/ui/progress/run_announcer.d.ts.map +1 -0
- package/dist/ui/progress/run_notice.d.ts +21 -0
- package/dist/ui/progress/run_notice.d.ts.map +1 -0
- package/dist/ui/progress/run_notice_styles.d.ts +2 -0
- package/dist/ui/progress/run_notice_styles.d.ts.map +1 -0
- package/dist/ui/progress/subagent_panel.d.ts +101 -0
- package/dist/ui/progress/subagent_panel.d.ts.map +1 -0
- package/dist/ui/progress/subagent_progress.d.ts +57 -0
- package/dist/ui/progress/subagent_progress.d.ts.map +1 -0
- package/dist/ui/progress/subagent_update.d.ts +28 -0
- package/dist/ui/progress/subagent_update.d.ts.map +1 -0
- package/dist/ui/progress/thoughts_block.d.ts +57 -0
- package/dist/ui/progress/thoughts_block.d.ts.map +1 -0
- package/dist/ui/progress/thoughts_styles.d.ts +2 -0
- package/dist/ui/progress/thoughts_styles.d.ts.map +1 -0
- package/dist/ui/progress/tool_call_card.d.ts +167 -0
- package/dist/ui/progress/tool_call_card.d.ts.map +1 -0
- package/dist/ui/progress/tool_group_styles.d.ts +2 -0
- package/dist/ui/progress/tool_group_styles.d.ts.map +1 -0
- package/dist/ui/progress/tool_step_group.d.ts +50 -0
- package/dist/ui/progress/tool_step_group.d.ts.map +1 -0
- package/dist/ui/progress/tool_step_styles.d.ts +2 -0
- package/dist/ui/progress/tool_step_styles.d.ts.map +1 -0
- package/dist/ui/shell/adopt_styles.d.ts +28 -0
- package/dist/ui/shell/adopt_styles.d.ts.map +1 -0
- package/dist/ui/shell/build_header.d.ts +45 -0
- package/dist/ui/shell/build_header.d.ts.map +1 -0
- package/dist/ui/shell/build_launcher.d.ts +33 -0
- package/dist/ui/shell/build_launcher.d.ts.map +1 -0
- package/dist/ui/shell/collapse_glyph.d.ts +14 -0
- package/dist/ui/shell/collapse_glyph.d.ts.map +1 -0
- package/dist/ui/shell/frame_styles.d.ts +2 -0
- package/dist/ui/shell/frame_styles.d.ts.map +1 -0
- package/dist/ui/shell/glyph_slot.d.ts +7 -0
- package/dist/ui/shell/glyph_slot.d.ts.map +1 -0
- package/dist/ui/shell/header_button.d.ts +11 -0
- package/dist/ui/shell/header_button.d.ts.map +1 -0
- package/dist/ui/shell/icon_element.d.ts +12 -0
- package/dist/ui/shell/icon_element.d.ts.map +1 -0
- package/dist/ui/shell/is_unread_badge_enabled.d.ts +10 -0
- package/dist/ui/shell/is_unread_badge_enabled.d.ts.map +1 -0
- package/dist/ui/shell/read_launcher_icon_url.d.ts +8 -0
- package/dist/ui/shell/read_launcher_icon_url.d.ts.map +1 -0
- package/dist/ui/shell/theme_styles.d.ts +2 -0
- package/dist/ui/shell/theme_styles.d.ts.map +1 -0
- package/dist/ui/shell/token_styles.d.ts +2 -0
- package/dist/ui/shell/token_styles.d.ts.map +1 -0
- package/dist/ui/styles.d.ts +2 -0
- package/dist/ui/styles.d.ts.map +1 -0
- package/dist/ui/themes/classic_styles.d.ts +2 -0
- package/dist/ui/themes/classic_styles.d.ts.map +1 -0
- package/dist/ui/themes/classic_tokens.d.ts +2 -0
- package/dist/ui/themes/classic_tokens.d.ts.map +1 -0
- package/dist/ui/themes/code_tokens.d.ts +2 -0
- package/dist/ui/themes/code_tokens.d.ts.map +1 -0
- package/dist/ui/themes/ledger_styles.d.ts +2 -0
- package/dist/ui/themes/ledger_styles.d.ts.map +1 -0
- package/dist/ui/themes/ledger_tokens.d.ts +2 -0
- package/dist/ui/themes/ledger_tokens.d.ts.map +1 -0
- package/dist/ui/themes/modern_styles.d.ts +2 -0
- package/dist/ui/themes/modern_styles.d.ts.map +1 -0
- package/dist/ui/themes/quiet_styles.d.ts +2 -0
- package/dist/ui/themes/quiet_styles.d.ts.map +1 -0
- package/dist/ui/themes/scheme_styles.d.ts +2 -0
- package/dist/ui/themes/scheme_styles.d.ts.map +1 -0
- package/dist/ui/themes/soft_styles.d.ts +2 -0
- package/dist/ui/themes/soft_styles.d.ts.map +1 -0
- package/dist/ui/themes/soft_tokens.d.ts +2 -0
- package/dist/ui/themes/soft_tokens.d.ts.map +1 -0
- package/dist/ui/themes/theme_hosts.d.ts +15 -0
- package/dist/ui/themes/theme_hosts.d.ts.map +1 -0
- package/dist/ui/transcript/answer_actions.d.ts +50 -0
- package/dist/ui/transcript/answer_actions.d.ts.map +1 -0
- package/dist/ui/transcript/answer_stream.d.ts +56 -0
- package/dist/ui/transcript/answer_stream.d.ts.map +1 -0
- package/dist/ui/transcript/attachment_chip_styles.d.ts +2 -0
- package/dist/ui/transcript/attachment_chip_styles.d.ts.map +1 -0
- package/dist/ui/transcript/attachment_chips.d.ts +21 -0
- package/dist/ui/transcript/attachment_chips.d.ts.map +1 -0
- package/dist/ui/transcript/build_transcript.d.ts +21 -0
- package/dist/ui/transcript/build_transcript.d.ts.map +1 -0
- package/dist/ui/transcript/greeting_styles.d.ts +2 -0
- package/dist/ui/transcript/greeting_styles.d.ts.map +1 -0
- package/dist/ui/transcript/groups_tool_steps.d.ts +13 -0
- package/dist/ui/transcript/groups_tool_steps.d.ts.map +1 -0
- package/dist/ui/transcript/message_action_styles.d.ts +2 -0
- package/dist/ui/transcript/message_action_styles.d.ts.map +1 -0
- package/dist/ui/transcript/message_actions.d.ts +74 -0
- package/dist/ui/transcript/message_actions.d.ts.map +1 -0
- package/dist/ui/transcript/message_styles.d.ts +2 -0
- package/dist/ui/transcript/message_styles.d.ts.map +1 -0
- package/dist/ui/transcript/render_markdown.d.ts +40 -0
- package/dist/ui/transcript/render_markdown.d.ts.map +1 -0
- package/dist/ui/transcript/render_or_warn.d.ts +16 -0
- package/dist/ui/transcript/render_or_warn.d.ts.map +1 -0
- package/dist/ui/transcript/reveal_words.d.ts +8 -0
- package/dist/ui/transcript/reveal_words.d.ts.map +1 -0
- package/dist/ui/transcript/starter_chips.d.ts +21 -0
- package/dist/ui/transcript/starter_chips.d.ts.map +1 -0
- package/dist/ui/transcript/stick_to_bottom.d.ts +55 -0
- package/dist/ui/transcript/stick_to_bottom.d.ts.map +1 -0
- package/dist/ui/transcript/suggestion_chips.d.ts +29 -0
- package/dist/ui/transcript/suggestion_chips.d.ts.map +1 -0
- package/dist/ui/transcript/transcript.d.ts +196 -0
- package/dist/ui/transcript/transcript.d.ts.map +1 -0
- package/dist/ui/transcript/transcript_styles.d.ts +2 -0
- package/dist/ui/transcript/transcript_styles.d.ts.map +1 -0
- package/dist/ui/ui_strings.d.ts +352 -0
- package/dist/ui/ui_strings.d.ts.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +86 -3
- package/src/bundle.ts +2 -0
- package/src/chat.ts +2 -0
- package/src/constants.ts +650 -0
- package/src/core/activity_registration.ts +19 -0
- package/src/core/activity_registry.ts +133 -0
- package/src/core/activity_renderer.ts +19 -0
- package/src/core/ag_ui_chat.ts +3966 -0
- package/src/core/agui_client.ts +1028 -0
- package/src/core/attachment.ts +62 -0
- package/src/core/chat_registry.ts +53 -0
- package/src/core/client_seed.ts +27 -0
- package/src/core/conversation_store.ts +478 -0
- package/src/core/create_http_agent.ts +97 -0
- package/src/core/define_chat.ts +25 -0
- package/src/core/events/attachments_detail.ts +9 -0
- package/src/core/events/bar_height_detail.ts +5 -0
- package/src/core/events/custom_agent_detail.ts +7 -0
- package/src/core/events/dock_width_detail.ts +7 -0
- package/src/core/events/feedback_detail.ts +27 -0
- package/src/core/events/invalidate_detail.ts +15 -0
- package/src/core/events/maximize_detail.ts +4 -0
- package/src/core/events/run_finished_detail.ts +36 -0
- package/src/core/events/state_detail.ts +4 -0
- package/src/core/events/submit_detail.ts +8 -0
- package/src/core/events/thread_detail.ts +26 -0
- package/src/core/events/thread_title_detail.ts +7 -0
- package/src/core/events/toggle_detail.ts +4 -0
- package/src/core/events/tool_run.ts +10 -0
- package/src/core/events/unread_detail.ts +10 -0
- package/src/core/message_role.ts +4 -0
- package/src/core/read_flag.ts +13 -0
- package/src/core/read_json_attribute.ts +30 -0
- package/src/core/read_max_tool_rounds.ts +13 -0
- package/src/core/remote_conversation_store.ts +279 -0
- package/src/core/run_handlers.ts +524 -0
- package/src/core/run_index.ts +114 -0
- package/src/core/storage_scope.ts +291 -0
- package/src/core/tool_outcome.ts +39 -0
- package/src/core/transcribe_audio.ts +76 -0
- package/src/core/upload_attachment.ts +130 -0
- package/src/core/utils.ts +230 -0
- package/src/dom/animations.ts +341 -0
- package/src/dom/dom_driver.ts +91 -0
- package/src/dom/highlight_overlay.ts +204 -0
- package/src/dom/native_setter.ts +40 -0
- package/src/dom/ring_color.ts +206 -0
- package/src/dom/utils.ts +5 -0
- package/src/index.ts +220 -0
- package/src/skills/fill_template.ts +31 -0
- package/src/skills/parse_skills.ts +31 -0
- package/src/skills/skill.ts +32 -0
- package/src/skills/skill_catalog.ts +172 -0
- package/src/skills/skill_name_from.ts +19 -0
- package/src/tools/chat_surface_tools.ts +183 -0
- package/src/tools/client_tool_registry.ts +80 -0
- package/src/tools/is_destructive.ts +17 -0
- package/src/tools/is_navigates.ts +12 -0
- package/src/tools/page_action_tools.ts +123 -0
- package/src/tools/page_map.ts +26 -0
- package/src/tools/page_state.ts +57 -0
- package/src/tools/parse_tool_catalog.ts +41 -0
- package/src/tools/route_map.ts +132 -0
- package/src/tools/tool_catalog.ts +334 -0
- package/src/tools/tool_dispatch.ts +453 -0
- package/src/ui/charts/chart_block.ts +519 -0
- package/src/ui/charts/chart_spec_from.ts +125 -0
- package/src/ui/charts/chart_styles.ts +63 -0
- package/src/ui/charts/chart_tool.ts +72 -0
- package/src/ui/composer/attachment_styles.ts +71 -0
- package/src/ui/composer/attachment_tray.ts +295 -0
- package/src/ui/composer/auto_grow.ts +12 -0
- package/src/ui/composer/build_composer.ts +114 -0
- package/src/ui/composer/composer_attachments.ts +324 -0
- package/src/ui/composer/composer_styles.ts +177 -0
- package/src/ui/composer/composer_voice.ts +93 -0
- package/src/ui/composer/skill_styles.ts +120 -0
- package/src/ui/composer/skills_menu.ts +188 -0
- package/src/ui/composer/voice_input.ts +282 -0
- package/src/ui/excerpts/attach_copy_buttons.ts +73 -0
- package/src/ui/excerpts/copy_payload.ts +156 -0
- package/src/ui/excerpts/page_quote_offer.ts +203 -0
- package/src/ui/excerpts/place_offer.ts +24 -0
- package/src/ui/excerpts/quote_selection.ts +345 -0
- package/src/ui/excerpts/transcript_quote_offer.ts +175 -0
- package/src/ui/fill_ui_string.ts +41 -0
- package/src/ui/history/checkpoint_menu.ts +300 -0
- package/src/ui/history/conversation_history.ts +1169 -0
- package/src/ui/history/history_styles.ts +492 -0
- package/src/ui/history/relative_time.ts +50 -0
- package/src/ui/history/thread_drawer.ts +471 -0
- package/src/ui/history/utils.ts +11 -0
- package/src/ui/interrupts/approval_card.ts +202 -0
- package/src/ui/interrupts/approval_styles.ts +52 -0
- package/src/ui/interrupts/confirmation_card.ts +138 -0
- package/src/ui/interrupts/confirmation_styles.ts +114 -0
- package/src/ui/interrupts/pending_decision.ts +33 -0
- package/src/ui/interrupts/question_card.ts +213 -0
- package/src/ui/interrupts/question_styles.ts +73 -0
- package/src/ui/place/place.ts +16 -0
- package/src/ui/place/place_chip.ts +146 -0
- package/src/ui/place/place_from_route.ts +27 -0
- package/src/ui/place/place_styles.ts +108 -0
- package/src/ui/placement/clamp_launcher.ts +38 -0
- package/src/ui/placement/clamp_panel.ts +30 -0
- package/src/ui/placement/collapse_styles.ts +472 -0
- package/src/ui/placement/dock_styles.ts +116 -0
- package/src/ui/placement/embedded_styles.ts +14 -0
- package/src/ui/placement/launcher_drag.ts +206 -0
- package/src/ui/placement/launcher_placement.ts +133 -0
- package/src/ui/placement/launcher_styles.ts +189 -0
- package/src/ui/placement/page_styles.ts +47 -0
- package/src/ui/placement/panel_drag.ts +138 -0
- package/src/ui/placement/panel_placement.ts +1975 -0
- package/src/ui/placement/place_widget.ts +64 -0
- package/src/ui/placement/preset_styles.ts +49 -0
- package/src/ui/placement/resize_handle.ts +229 -0
- package/src/ui/placement/resize_styles.ts +201 -0
- package/src/ui/placement/sidebar_styles.ts +113 -0
- package/src/ui/placement/small_viewport_styles.ts +70 -0
- package/src/ui/placement/surface_for.ts +183 -0
- package/src/ui/progress/prettify_tool_name.ts +16 -0
- package/src/ui/progress/run_announcer.ts +67 -0
- package/src/ui/progress/run_notice.ts +61 -0
- package/src/ui/progress/run_notice_styles.ts +52 -0
- package/src/ui/progress/subagent_panel.ts +227 -0
- package/src/ui/progress/subagent_progress.ts +200 -0
- package/src/ui/progress/subagent_update.ts +89 -0
- package/src/ui/progress/thoughts_block.ts +165 -0
- package/src/ui/progress/thoughts_styles.ts +74 -0
- package/src/ui/progress/tool_call_card.ts +429 -0
- package/src/ui/progress/tool_group_styles.ts +313 -0
- package/src/ui/progress/tool_step_group.ts +317 -0
- package/src/ui/progress/tool_step_styles.ts +486 -0
- package/src/ui/shell/adopt_styles.ts +34 -0
- package/src/ui/shell/build_header.ts +121 -0
- package/src/ui/shell/build_launcher.ts +79 -0
- package/src/ui/shell/collapse_glyph.ts +42 -0
- package/src/ui/shell/frame_styles.ts +147 -0
- package/src/ui/shell/glyph_slot.ts +12 -0
- package/src/ui/shell/header_button.ts +22 -0
- package/src/ui/shell/icon_element.ts +33 -0
- package/src/ui/shell/is_unread_badge_enabled.ts +11 -0
- package/src/ui/shell/read_launcher_icon_url.ts +9 -0
- package/src/ui/shell/theme_styles.ts +11 -0
- package/src/ui/shell/token_styles.ts +480 -0
- package/src/ui/styles.ts +110 -0
- package/src/ui/themes/classic_styles.ts +32 -0
- package/src/ui/themes/classic_tokens.ts +51 -0
- package/src/ui/themes/code_tokens.ts +21 -0
- package/src/ui/themes/ledger_styles.ts +169 -0
- package/src/ui/themes/ledger_tokens.ts +33 -0
- package/src/ui/themes/modern_styles.ts +80 -0
- package/src/ui/themes/quiet_styles.ts +118 -0
- package/src/ui/themes/scheme_styles.ts +26 -0
- package/src/ui/themes/soft_styles.ts +149 -0
- package/src/ui/themes/soft_tokens.ts +29 -0
- package/src/ui/themes/theme_hosts.ts +14 -0
- package/src/ui/transcript/answer_actions.ts +165 -0
- package/src/ui/transcript/answer_stream.ts +123 -0
- package/src/ui/transcript/attachment_chip_styles.ts +116 -0
- package/src/ui/transcript/attachment_chips.ts +82 -0
- package/src/ui/transcript/build_transcript.ts +67 -0
- package/src/ui/transcript/greeting_styles.ts +171 -0
- package/src/ui/transcript/groups_tool_steps.ts +16 -0
- package/src/ui/transcript/message_action_styles.ts +155 -0
- package/src/ui/transcript/message_actions.ts +234 -0
- package/src/ui/transcript/message_styles.ts +262 -0
- package/src/ui/transcript/render_markdown.ts +181 -0
- package/src/ui/transcript/render_or_warn.ts +22 -0
- package/src/ui/transcript/reveal_words.ts +41 -0
- package/src/ui/transcript/starter_chips.ts +42 -0
- package/src/ui/transcript/stick_to_bottom.ts +126 -0
- package/src/ui/transcript/suggestion_chips.ts +73 -0
- package/src/ui/transcript/transcript.ts +555 -0
- package/src/ui/transcript/transcript_styles.ts +153 -0
- package/src/ui/ui_strings.ts +550 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|