@design.estate/dees-catalog 3.91.0 → 3.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +10531 -4765
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-appui/dees-appui/dees-appui.js +5 -4
- package/dist_ts_web/elements/00group-appui/dees-appui-profiledropdown/dees-appui-profiledropdown.js +6 -7
- package/dist_ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.js +4 -6
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.d.ts +6 -0
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.demo.js +14 -1
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +49 -24
- package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/codebox.diff.d.ts +69 -0
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/codebox.diff.js +342 -0
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.d.ts +48 -3
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.demo.js +128 -39
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js +663 -190
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/index.js +2 -1
- package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.d.ts +3 -0
- package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.js +48 -30
- package/dist_ts_web/elements/00group-dataview/dees-grouped-list/dees-grouped-list.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.js +1 -2
- package/dist_ts_web/elements/00group-dataview/dees-storage-browser/dees-storage-keys.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/styles.js +1 -1
- package/dist_ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.js +9 -9
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.d.ts +64 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.js +294 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +485 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.d.ts +65 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.js +55 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.js +589 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.d.ts +21 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.js +41 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.js +215 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-content-blocks/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.d.ts +58 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.js +126 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.js +551 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.d.ts +50 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.js +101 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.js +424 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message-list/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-message-list/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.d.ts +27 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.js +46 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.js +282 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-permission-card/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.d.ts +24 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.js +32 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.js +241 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-reasoning/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +28 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +56 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +279 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.d.ts +30 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.js +35 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.js +235 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-status/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-status/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.d.ts +27 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.js +41 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.js +258 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-todos/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-todos/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts +35 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.js +162 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +368 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/index.d.ts +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/index.js +3 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/renderers.d.ts +5 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/renderers.js +183 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.d.ts +19 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.js +25 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.js +148 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-usage/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-usage/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/harness.demodata.d.ts +22 -0
- package/dist_ts_web/elements/00group-harness/harness.demodata.js +94 -0
- package/dist_ts_web/elements/00group-harness/harness.helpers.d.ts +37 -0
- package/dist_ts_web/elements/00group-harness/harness.helpers.js +221 -0
- package/dist_ts_web/elements/00group-harness/harness.markdown.d.ts +25 -0
- package/dist_ts_web/elements/00group-harness/harness.markdown.js +147 -0
- package/dist_ts_web/elements/00group-harness/harness.styles.d.ts +9 -0
- package/dist_ts_web/elements/00group-harness/harness.styles.js +94 -0
- package/dist_ts_web/elements/00group-harness/index.d.ts +18 -0
- package/dist_ts_web/elements/00group-harness/index.js +22 -0
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +210 -0
- package/dist_ts_web/elements/00group-harness/interfaces.js +11 -0
- package/dist_ts_web/elements/00group-harness/toolregistry.d.ts +76 -0
- package/dist_ts_web/elements/00group-harness/toolregistry.js +210 -0
- package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +30 -18
- package/dist_ts_web/elements/00group-input/dees-input-datepicker/datepicker-popup.js +73 -46
- package/dist_ts_web/elements/00group-input/dees-input-datepicker/styles.js +15 -16
- package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +2 -4
- package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.js +36 -15
- package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.js +5 -4
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/code.block.js +10 -89
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +12 -8
- package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.js +1 -1
- package/dist_ts_web/elements/00group-layout/dees-pagination/dees-pagination.js +27 -12
- package/dist_ts_web/elements/00group-layout/dees-settings/dees-settings.js +1 -1
- package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +14 -18
- package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +6 -7
- package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +6 -21
- package/dist_ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.d.ts +2 -1
- package/dist_ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.js +10 -4
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.js +1 -1
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +9 -8
- package/dist_ts_web/elements/00group-workspace/dees-workspace/dees-workspace.js +1 -1
- package/dist_ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.js +3 -4
- package/dist_ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.js +8 -78
- package/dist_ts_web/elements/00syntax.d.ts +28 -0
- package/dist_ts_web/elements/00syntax.js +98 -0
- package/dist_ts_web/elements/00theme.js +26 -14
- package/dist_ts_web/elements/index.d.ts +1 -0
- package/dist_ts_web/elements/index.js +2 -1
- package/dist_watch/bundle.js +234121 -0
- package/dist_watch/bundle.js.map +7 -0
- package/dist_watch/index.html +28 -0
- package/package.json +1 -1
- package/readme.hints.md +7 -1
- package/readme.md +112 -0
- package/readme.playbook.md +10 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-appui/dees-appui/dees-appui.ts +4 -3
- package/ts_web/elements/00group-appui/dees-appui-profiledropdown/dees-appui-profiledropdown.ts +5 -6
- package/ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.ts +3 -5
- package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +13 -0
- package/ts_web/elements/00group-button/dees-button/dees-button.ts +42 -22
- package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.ts +1 -1
- package/ts_web/elements/00group-dataview/dees-dataview-codebox/codebox.diff.ts +401 -0
- package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.demo.ts +132 -38
- package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +649 -187
- package/ts_web/elements/00group-dataview/dees-dataview-codebox/index.ts +1 -0
- package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +45 -30
- package/ts_web/elements/00group-dataview/dees-grouped-list/dees-grouped-list.ts +1 -1
- package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +0 -1
- package/ts_web/elements/00group-dataview/dees-storage-browser/dees-storage-keys.ts +1 -1
- package/ts_web/elements/00group-dataview/dees-table/styles.ts +1 -1
- package/ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.ts +9 -9
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.demo.ts +306 -0
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +363 -0
- package/ts_web/elements/00group-harness/dees-harness-chat/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.ts +56 -0
- package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.ts +514 -0
- package/ts_web/elements/00group-harness/dees-harness-composer/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.demo.ts +44 -0
- package/ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.ts +172 -0
- package/ts_web/elements/00group-harness/dees-harness-content-blocks/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.demo.ts +129 -0
- package/ts_web/elements/00group-harness/dees-harness-message/dees-harness-message.ts +498 -0
- package/ts_web/elements/00group-harness/dees-harness-message/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.demo.ts +105 -0
- package/ts_web/elements/00group-harness/dees-harness-message-list/dees-harness-message-list.ts +342 -0
- package/ts_web/elements/00group-harness/dees-harness-message-list/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.demo.ts +47 -0
- package/ts_web/elements/00group-harness/dees-harness-permission-card/dees-harness-permission-card.ts +225 -0
- package/ts_web/elements/00group-harness/dees-harness-permission-card/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.demo.ts +32 -0
- package/ts_web/elements/00group-harness/dees-harness-reasoning/dees-harness-reasoning.ts +195 -0
- package/ts_web/elements/00group-harness/dees-harness-reasoning/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +59 -0
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +222 -0
- package/ts_web/elements/00group-harness/dees-harness-session-list/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.demo.ts +35 -0
- package/ts_web/elements/00group-harness/dees-harness-status/dees-harness-status.ts +187 -0
- package/ts_web/elements/00group-harness/dees-harness-status/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.demo.ts +43 -0
- package/ts_web/elements/00group-harness/dees-harness-todos/dees-harness-todos.ts +206 -0
- package/ts_web/elements/00group-harness/dees-harness-todos/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.demo.ts +166 -0
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +315 -0
- package/ts_web/elements/00group-harness/dees-harness-tool-card/index.ts +2 -0
- package/ts_web/elements/00group-harness/dees-harness-tool-card/renderers.ts +205 -0
- package/ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.demo.ts +25 -0
- package/ts_web/elements/00group-harness/dees-harness-usage/dees-harness-usage.ts +96 -0
- package/ts_web/elements/00group-harness/dees-harness-usage/index.ts +1 -0
- package/ts_web/elements/00group-harness/harness.demodata.ts +113 -0
- package/ts_web/elements/00group-harness/harness.helpers.ts +227 -0
- package/ts_web/elements/00group-harness/harness.markdown.ts +151 -0
- package/ts_web/elements/00group-harness/harness.styles.ts +96 -0
- package/ts_web/elements/00group-harness/index.ts +22 -0
- package/ts_web/elements/00group-harness/interfaces.ts +203 -0
- package/ts_web/elements/00group-harness/toolregistry.ts +264 -0
- package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +29 -17
- package/ts_web/elements/00group-input/dees-input-datepicker/datepicker-popup.ts +72 -45
- package/ts_web/elements/00group-input/dees-input-datepicker/styles.ts +14 -15
- package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +1 -3
- package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.ts +35 -14
- package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.ts +4 -3
- package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/code.block.ts +9 -88
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +11 -7
- package/ts_web/elements/00group-layout/dees-chips/dees-chips.ts +1 -1
- package/ts_web/elements/00group-layout/dees-pagination/dees-pagination.ts +26 -11
- package/ts_web/elements/00group-layout/dees-settings/dees-settings.ts +1 -1
- package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +13 -17
- package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +5 -6
- package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +5 -20
- package/ts_web/elements/00group-overlay/dees-windowlayer/dees-windowlayer.ts +10 -3
- package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.ts +1 -1
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +8 -7
- package/ts_web/elements/00group-workspace/dees-workspace/dees-workspace.ts +1 -1
- package/ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.ts +2 -3
- package/ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.ts +7 -77
- package/ts_web/elements/00syntax.ts +124 -0
- package/ts_web/elements/00theme.ts +25 -13
- package/ts_web/elements/index.ts +1 -0
package/ts_web/elements/00group-harness/dees-harness-content-blocks/dees-harness-content-blocks.ts
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { demoFunc } from './dees-harness-content-blocks.demo.js';
|
|
2
|
+
import {
|
|
3
|
+
DeesElement,
|
|
4
|
+
html,
|
|
5
|
+
css,
|
|
6
|
+
customElement,
|
|
7
|
+
type TemplateResult,
|
|
8
|
+
property,
|
|
9
|
+
cssManager,
|
|
10
|
+
} from '@design.estate/dees-element';
|
|
11
|
+
import { themeDefaultStyles } from '../../00theme.js';
|
|
12
|
+
import type { THarnessContentBlock } from '../interfaces.js';
|
|
13
|
+
import { harnessFormatBytes } from '../harness.helpers.js';
|
|
14
|
+
import { harnessMonoStyles } from '../harness.styles.js';
|
|
15
|
+
import '../../00group-utility/dees-icon/dees-icon.js';
|
|
16
|
+
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'dees-harness-content-blocks': DeesHarnessContentBlocks;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Structural renderer for MCP CallToolResult content blocks: text, image,
|
|
25
|
+
* audio, embedded resources, and resource links keep their nature instead of
|
|
26
|
+
* being flattened to strings.
|
|
27
|
+
*/
|
|
28
|
+
@customElement('dees-harness-content-blocks')
|
|
29
|
+
export class DeesHarnessContentBlocks extends DeesElement {
|
|
30
|
+
public static demo = demoFunc;
|
|
31
|
+
public static demoGroups = ['Agent Chat'];
|
|
32
|
+
|
|
33
|
+
@property({ attribute: false })
|
|
34
|
+
accessor blocks: THarnessContentBlock[] = [];
|
|
35
|
+
|
|
36
|
+
public static styles = [
|
|
37
|
+
themeDefaultStyles,
|
|
38
|
+
cssManager.defaultStyles,
|
|
39
|
+
harnessMonoStyles,
|
|
40
|
+
css`
|
|
41
|
+
:host {
|
|
42
|
+
display: grid;
|
|
43
|
+
gap: var(--dees-spacing-sm);
|
|
44
|
+
font-family: var(--dees-font-family);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.textBlock {
|
|
48
|
+
color: var(--dees-color-text-primary);
|
|
49
|
+
white-space: pre-wrap;
|
|
50
|
+
overflow-wrap: anywhere;
|
|
51
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
52
|
+
line-height: 1.5;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
img {
|
|
56
|
+
display: block;
|
|
57
|
+
max-width: 100%;
|
|
58
|
+
max-height: 420px;
|
|
59
|
+
border-radius: var(--dees-radius-md);
|
|
60
|
+
border: 1px solid var(--dees-color-border-subtle);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
audio {
|
|
64
|
+
width: 100%;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.resourceLink {
|
|
68
|
+
display: flex;
|
|
69
|
+
align-items: center;
|
|
70
|
+
gap: var(--dees-spacing-sm);
|
|
71
|
+
padding: var(--dees-spacing-xs) var(--dees-spacing-sm);
|
|
72
|
+
border: 1px solid var(--dees-color-border-subtle);
|
|
73
|
+
border-radius: var(--dees-radius-md);
|
|
74
|
+
corner-shape: var(--dees-corner-shape);
|
|
75
|
+
background: var(--dees-color-bg-tertiary);
|
|
76
|
+
color: var(--dees-color-text-primary);
|
|
77
|
+
text-decoration: none;
|
|
78
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.resourceLink:hover {
|
|
82
|
+
background: var(--dees-color-hover);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.resourceLink dees-icon {
|
|
86
|
+
color: var(--dees-color-accent-primary);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.resourceInfo {
|
|
90
|
+
min-width: 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.resourceName {
|
|
94
|
+
overflow: hidden;
|
|
95
|
+
text-overflow: ellipsis;
|
|
96
|
+
white-space: nowrap;
|
|
97
|
+
font-weight: 500;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.resourceMeta {
|
|
101
|
+
margin-top: 1px;
|
|
102
|
+
color: var(--dees-color-text-secondary);
|
|
103
|
+
font-size: var(--dees-font-caption1-size, 11px);
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
text-overflow: ellipsis;
|
|
106
|
+
white-space: nowrap;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.resourceUri {
|
|
110
|
+
color: var(--dees-color-text-muted);
|
|
111
|
+
font-size: var(--dees-font-caption1-size, 11px);
|
|
112
|
+
font-family: var(--dees-font-family-mono);
|
|
113
|
+
overflow-wrap: anywhere;
|
|
114
|
+
}
|
|
115
|
+
`,
|
|
116
|
+
];
|
|
117
|
+
|
|
118
|
+
public render(): TemplateResult {
|
|
119
|
+
return html`${this.blocks.map((block) => this.renderBlock(block))}`;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
private renderBlock(block: THarnessContentBlock): TemplateResult {
|
|
123
|
+
switch (block.type) {
|
|
124
|
+
case 'text':
|
|
125
|
+
return html`<div class="textBlock">${block.text}</div>`;
|
|
126
|
+
case 'image':
|
|
127
|
+
return html`<img src=${`data:${block.mimeType};base64,${block.data}`} alt="tool result image" />`;
|
|
128
|
+
case 'audio':
|
|
129
|
+
return html`<audio controls src=${`data:${block.mimeType};base64,${block.data}`}></audio>`;
|
|
130
|
+
case 'resource': {
|
|
131
|
+
const resource = block.resource;
|
|
132
|
+
if (resource.text !== undefined) {
|
|
133
|
+
return html`
|
|
134
|
+
<div>
|
|
135
|
+
<div class="resourceUri">${resource.uri}</div>
|
|
136
|
+
<pre class="harness-mono">${resource.text}</pre>
|
|
137
|
+
</div>
|
|
138
|
+
`;
|
|
139
|
+
}
|
|
140
|
+
return html`
|
|
141
|
+
<a
|
|
142
|
+
class="resourceLink"
|
|
143
|
+
href=${`data:${resource.mimeType ?? 'application/octet-stream'};base64,${resource.blob ?? ''}`}
|
|
144
|
+
download
|
|
145
|
+
>
|
|
146
|
+
<dees-icon icon="lucide:FileDown" iconSize="16"></dees-icon>
|
|
147
|
+
<div class="resourceInfo">
|
|
148
|
+
<div class="resourceName">${resource.uri}</div>
|
|
149
|
+
<div class="resourceMeta">${resource.mimeType ?? 'binary resource'}</div>
|
|
150
|
+
</div>
|
|
151
|
+
</a>
|
|
152
|
+
`;
|
|
153
|
+
}
|
|
154
|
+
case 'resource_link':
|
|
155
|
+
return html`
|
|
156
|
+
<a class="resourceLink" href=${block.uri} target="_blank" rel="noopener noreferrer">
|
|
157
|
+
<dees-icon icon="lucide:Link" iconSize="16"></dees-icon>
|
|
158
|
+
<div class="resourceInfo">
|
|
159
|
+
<div class="resourceName">${block.title || block.name}</div>
|
|
160
|
+
<div class="resourceMeta">
|
|
161
|
+
${[block.description, block.mimeType, block.size !== undefined ? harnessFormatBytes(block.size) : '']
|
|
162
|
+
.filter(Boolean)
|
|
163
|
+
.join(' · ') || block.uri}
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</a>
|
|
167
|
+
`;
|
|
168
|
+
default:
|
|
169
|
+
return html``;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dees-harness-content-blocks.js';
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { html } from '@design.estate/dees-element';
|
|
2
|
+
import type { DeesHarnessMessage } from './dees-harness-message.js';
|
|
3
|
+
|
|
4
|
+
const markdownSample = [
|
|
5
|
+
'## Findings',
|
|
6
|
+
'',
|
|
7
|
+
'The failing test compares against a **stale fixture**. Two options:',
|
|
8
|
+
'',
|
|
9
|
+
'1. Regenerate the fixture from the current schema',
|
|
10
|
+
'2. Pin the schema version in the test setup',
|
|
11
|
+
'',
|
|
12
|
+
'| Option | Effort | Risk |',
|
|
13
|
+
'| --- | --- | --- |',
|
|
14
|
+
'| Regenerate | low | drifts again |',
|
|
15
|
+
'| Pin version | medium | stays honest |',
|
|
16
|
+
'',
|
|
17
|
+
'```typescript',
|
|
18
|
+
'const fixture = await loadFixture({ schemaVersion: 3 });',
|
|
19
|
+
'expect(result).toEqual(fixture);',
|
|
20
|
+
'```',
|
|
21
|
+
'',
|
|
22
|
+
'I recommend pinning — see [the docs](https://example.com/docs).',
|
|
23
|
+
].join('\n');
|
|
24
|
+
|
|
25
|
+
const streamSource = 'Let me look at the build output. The bundler resolved the entry, but the **css tokens** were emitted twice — once from the theme and once from the component. Deduplicating the emission fixes the double-border artifact you saw.';
|
|
26
|
+
|
|
27
|
+
const startStreamingDemo = (event: MouseEvent) => {
|
|
28
|
+
const container = (event.target as HTMLElement).closest('.messageDemo');
|
|
29
|
+
const target = container?.querySelector<DeesHarnessMessage>('#streamingMessage');
|
|
30
|
+
if (!target) return;
|
|
31
|
+
target.message = {
|
|
32
|
+
id: 'streaming-demo',
|
|
33
|
+
role: 'assistant',
|
|
34
|
+
text: '',
|
|
35
|
+
createdAt: Date.now(),
|
|
36
|
+
streaming: true,
|
|
37
|
+
};
|
|
38
|
+
target.requestUpdate();
|
|
39
|
+
let offset = 0;
|
|
40
|
+
const interval = setInterval(() => {
|
|
41
|
+
const chunk = streamSource.slice(offset, offset + 6);
|
|
42
|
+
offset += 6;
|
|
43
|
+
if (!chunk) {
|
|
44
|
+
clearInterval(interval);
|
|
45
|
+
target.endStream({ inputTokens: 412, outputTokens: 96, totalTokens: 508 });
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
target.appendTextDelta(chunk);
|
|
49
|
+
}, 40);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const demoFunc = () => html`
|
|
53
|
+
<style>
|
|
54
|
+
.messageDemo {
|
|
55
|
+
display: grid;
|
|
56
|
+
gap: 16px;
|
|
57
|
+
max-width: 720px;
|
|
58
|
+
margin: 40px auto;
|
|
59
|
+
padding: 24px;
|
|
60
|
+
border-radius: var(--dees-radius-xl);
|
|
61
|
+
background: var(--dees-color-bg-primary);
|
|
62
|
+
}
|
|
63
|
+
</style>
|
|
64
|
+
<div class="messageDemo">
|
|
65
|
+
<dees-harness-message
|
|
66
|
+
.message=${{
|
|
67
|
+
id: 'u1',
|
|
68
|
+
role: 'user' as const,
|
|
69
|
+
text: 'Why does the badge render with a double border in dark mode?',
|
|
70
|
+
createdAt: Date.now() - 90_000,
|
|
71
|
+
attachments: [
|
|
72
|
+
{
|
|
73
|
+
id: 'a1',
|
|
74
|
+
name: 'screenshot.png',
|
|
75
|
+
mediaType: 'image/png',
|
|
76
|
+
size: 48_213,
|
|
77
|
+
kind: 'image' as const,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: 'a2',
|
|
81
|
+
name: 'build.log',
|
|
82
|
+
mediaType: 'text/plain',
|
|
83
|
+
size: 5_120,
|
|
84
|
+
kind: 'text' as const,
|
|
85
|
+
truncated: true,
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
}}
|
|
89
|
+
showTimestamp
|
|
90
|
+
></dees-harness-message>
|
|
91
|
+
<dees-harness-message
|
|
92
|
+
.message=${{
|
|
93
|
+
id: 'a1',
|
|
94
|
+
role: 'assistant' as const,
|
|
95
|
+
text: markdownSample,
|
|
96
|
+
createdAt: Date.now() - 60_000,
|
|
97
|
+
reasoning: [
|
|
98
|
+
{
|
|
99
|
+
id: 'r1',
|
|
100
|
+
text: 'Compare fixture timestamps against the schema migration dates first.',
|
|
101
|
+
startedAt: Date.now() - 64_000,
|
|
102
|
+
endedAt: Date.now() - 61_500,
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
usage: { inputTokens: 1200, outputTokens: 340, totalTokens: 1540 },
|
|
106
|
+
}}
|
|
107
|
+
></dees-harness-message>
|
|
108
|
+
<dees-harness-message
|
|
109
|
+
.message=${{
|
|
110
|
+
id: 'e1',
|
|
111
|
+
role: 'assistant' as const,
|
|
112
|
+
text: '',
|
|
113
|
+
createdAt: Date.now() - 30_000,
|
|
114
|
+
error: 'The model endpoint returned 429 — retry in 20s.',
|
|
115
|
+
}}
|
|
116
|
+
></dees-harness-message>
|
|
117
|
+
<dees-button @clicked=${startStreamingDemo}>Simulate streaming</dees-button>
|
|
118
|
+
<dees-harness-message
|
|
119
|
+
id="streamingMessage"
|
|
120
|
+
.message=${{
|
|
121
|
+
id: 'streaming-demo',
|
|
122
|
+
role: 'assistant' as const,
|
|
123
|
+
text: 'Press “Simulate streaming” above.',
|
|
124
|
+
createdAt: Date.now(),
|
|
125
|
+
markdown: false,
|
|
126
|
+
}}
|
|
127
|
+
></dees-harness-message>
|
|
128
|
+
</div>
|
|
129
|
+
`;
|