@design.estate/dees-catalog 3.91.0 → 3.92.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 +10381 -4788
- 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 +55 -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 +183 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +412 -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 +233948 -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 +110 -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 +193 -0
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +301 -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
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { demoFunc } from './dees-harness-message.demo.js';
|
|
36
|
+
import { DeesElement, html, css, customElement, property, state, cssManager, unsafeHTML, } from '@design.estate/dees-element';
|
|
37
|
+
import { themeDefaultStyles } from '../../00theme.js';
|
|
38
|
+
import { syntaxPaletteStyles, syntaxScopeStyles } from '../../00syntax.js';
|
|
39
|
+
import { DeesHarnessToolRegistry } from '../toolregistry.js';
|
|
40
|
+
import { HarnessMarkdown, markdownStyles } from '../harness.markdown.js';
|
|
41
|
+
import { harnessFormatBytes, harnessFormatRelativeTime } from '../harness.helpers.js';
|
|
42
|
+
import { DeesServiceLibLoader } from '../../../services/index.js';
|
|
43
|
+
import '../dees-harness-reasoning/dees-harness-reasoning.js';
|
|
44
|
+
import '../dees-harness-tool-card/dees-harness-tool-card.js';
|
|
45
|
+
import '../../00group-utility/dees-icon/dees-icon.js';
|
|
46
|
+
const markdownParseThrottleMs = 150;
|
|
47
|
+
/**
|
|
48
|
+
* One conversation message. The `message` property object is the source of
|
|
49
|
+
* truth; the streaming fast path (`appendTextDelta` etc.) mutates that same
|
|
50
|
+
* object and re-renders only this element, so a later wholesale property
|
|
51
|
+
* re-assignment by the host is idempotent.
|
|
52
|
+
*/
|
|
53
|
+
let DeesHarnessMessage = (() => {
|
|
54
|
+
let _classDecorators = [customElement('dees-harness-message')];
|
|
55
|
+
let _classDescriptor;
|
|
56
|
+
let _classExtraInitializers = [];
|
|
57
|
+
let _classThis;
|
|
58
|
+
let _classSuper = DeesElement;
|
|
59
|
+
let _message_decorators;
|
|
60
|
+
let _message_initializers = [];
|
|
61
|
+
let _message_extraInitializers = [];
|
|
62
|
+
let _showRole_decorators;
|
|
63
|
+
let _showRole_initializers = [];
|
|
64
|
+
let _showRole_extraInitializers = [];
|
|
65
|
+
let _showTimestamp_decorators;
|
|
66
|
+
let _showTimestamp_initializers = [];
|
|
67
|
+
let _showTimestamp_extraInitializers = [];
|
|
68
|
+
let _markdownWhileStreaming_decorators;
|
|
69
|
+
let _markdownWhileStreaming_initializers = [];
|
|
70
|
+
let _markdownWhileStreaming_extraInitializers = [];
|
|
71
|
+
let _toolRegistry_decorators;
|
|
72
|
+
let _toolRegistry_initializers = [];
|
|
73
|
+
let _toolRegistry_extraInitializers = [];
|
|
74
|
+
let _suppressEntry_decorators;
|
|
75
|
+
let _suppressEntry_initializers = [];
|
|
76
|
+
let _suppressEntry_extraInitializers = [];
|
|
77
|
+
let _renderedMarkdownHtml_decorators;
|
|
78
|
+
let _renderedMarkdownHtml_initializers = [];
|
|
79
|
+
let _renderedMarkdownHtml_extraInitializers = [];
|
|
80
|
+
var DeesHarnessMessage = class extends _classSuper {
|
|
81
|
+
static { _classThis = this; }
|
|
82
|
+
static {
|
|
83
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
84
|
+
_message_decorators = [property({ attribute: false })];
|
|
85
|
+
_showRole_decorators = [property({ type: Boolean })];
|
|
86
|
+
_showTimestamp_decorators = [property({ type: Boolean })];
|
|
87
|
+
_markdownWhileStreaming_decorators = [property({ type: Boolean })];
|
|
88
|
+
_toolRegistry_decorators = [property({ attribute: false })];
|
|
89
|
+
_suppressEntry_decorators = [property({ attribute: false })];
|
|
90
|
+
_renderedMarkdownHtml_decorators = [state()];
|
|
91
|
+
__esDecorate(this, null, _message_decorators, { kind: "accessor", name: "message", static: false, private: false, access: { has: obj => "message" in obj, get: obj => obj.message, set: (obj, value) => { obj.message = value; } }, metadata: _metadata }, _message_initializers, _message_extraInitializers);
|
|
92
|
+
__esDecorate(this, null, _showRole_decorators, { kind: "accessor", name: "showRole", static: false, private: false, access: { has: obj => "showRole" in obj, get: obj => obj.showRole, set: (obj, value) => { obj.showRole = value; } }, metadata: _metadata }, _showRole_initializers, _showRole_extraInitializers);
|
|
93
|
+
__esDecorate(this, null, _showTimestamp_decorators, { kind: "accessor", name: "showTimestamp", static: false, private: false, access: { has: obj => "showTimestamp" in obj, get: obj => obj.showTimestamp, set: (obj, value) => { obj.showTimestamp = value; } }, metadata: _metadata }, _showTimestamp_initializers, _showTimestamp_extraInitializers);
|
|
94
|
+
__esDecorate(this, null, _markdownWhileStreaming_decorators, { kind: "accessor", name: "markdownWhileStreaming", static: false, private: false, access: { has: obj => "markdownWhileStreaming" in obj, get: obj => obj.markdownWhileStreaming, set: (obj, value) => { obj.markdownWhileStreaming = value; } }, metadata: _metadata }, _markdownWhileStreaming_initializers, _markdownWhileStreaming_extraInitializers);
|
|
95
|
+
__esDecorate(this, null, _toolRegistry_decorators, { kind: "accessor", name: "toolRegistry", static: false, private: false, access: { has: obj => "toolRegistry" in obj, get: obj => obj.toolRegistry, set: (obj, value) => { obj.toolRegistry = value; } }, metadata: _metadata }, _toolRegistry_initializers, _toolRegistry_extraInitializers);
|
|
96
|
+
__esDecorate(this, null, _suppressEntry_decorators, { kind: "accessor", name: "suppressEntry", static: false, private: false, access: { has: obj => "suppressEntry" in obj, get: obj => obj.suppressEntry, set: (obj, value) => { obj.suppressEntry = value; } }, metadata: _metadata }, _suppressEntry_initializers, _suppressEntry_extraInitializers);
|
|
97
|
+
__esDecorate(this, null, _renderedMarkdownHtml_decorators, { kind: "accessor", name: "renderedMarkdownHtml", static: false, private: false, access: { has: obj => "renderedMarkdownHtml" in obj, get: obj => obj.renderedMarkdownHtml, set: (obj, value) => { obj.renderedMarkdownHtml = value; } }, metadata: _metadata }, _renderedMarkdownHtml_initializers, _renderedMarkdownHtml_extraInitializers);
|
|
98
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
99
|
+
DeesHarnessMessage = _classThis = _classDescriptor.value;
|
|
100
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
101
|
+
}
|
|
102
|
+
static demo = demoFunc;
|
|
103
|
+
static demoGroups = ['Agent Chat'];
|
|
104
|
+
#message_accessor_storage = __runInitializers(this, _message_initializers, { id: '', role: 'assistant', text: '', createdAt: 0 });
|
|
105
|
+
get message() { return this.#message_accessor_storage; }
|
|
106
|
+
set message(value) { this.#message_accessor_storage = value; }
|
|
107
|
+
#showRole_accessor_storage = (__runInitializers(this, _message_extraInitializers), __runInitializers(this, _showRole_initializers, true));
|
|
108
|
+
get showRole() { return this.#showRole_accessor_storage; }
|
|
109
|
+
set showRole(value) { this.#showRole_accessor_storage = value; }
|
|
110
|
+
#showTimestamp_accessor_storage = (__runInitializers(this, _showRole_extraInitializers), __runInitializers(this, _showTimestamp_initializers, false));
|
|
111
|
+
get showTimestamp() { return this.#showTimestamp_accessor_storage; }
|
|
112
|
+
set showTimestamp(value) { this.#showTimestamp_accessor_storage = value; }
|
|
113
|
+
#markdownWhileStreaming_accessor_storage = (__runInitializers(this, _showTimestamp_extraInitializers), __runInitializers(this, _markdownWhileStreaming_initializers, true));
|
|
114
|
+
/** parse markdown during streaming (throttled); plain text otherwise */
|
|
115
|
+
get markdownWhileStreaming() { return this.#markdownWhileStreaming_accessor_storage; }
|
|
116
|
+
set markdownWhileStreaming(value) { this.#markdownWhileStreaming_accessor_storage = value; }
|
|
117
|
+
#toolRegistry_accessor_storage = (__runInitializers(this, _markdownWhileStreaming_extraInitializers), __runInitializers(this, _toolRegistry_initializers, DeesHarnessToolRegistry.default));
|
|
118
|
+
get toolRegistry() { return this.#toolRegistry_accessor_storage; }
|
|
119
|
+
set toolRegistry(value) { this.#toolRegistry_accessor_storage = value; }
|
|
120
|
+
#suppressEntry_accessor_storage = (__runInitializers(this, _toolRegistry_extraInitializers), __runInitializers(this, _suppressEntry_initializers, false));
|
|
121
|
+
/**
|
|
122
|
+
* When true at first render, the entry animation is skipped permanently
|
|
123
|
+
* for this element (initial-batch rendering). Captured once in
|
|
124
|
+
* firstUpdated — later property changes must not restart the animation.
|
|
125
|
+
*/
|
|
126
|
+
get suppressEntry() { return this.#suppressEntry_accessor_storage; }
|
|
127
|
+
set suppressEntry(value) { this.#suppressEntry_accessor_storage = value; }
|
|
128
|
+
#renderedMarkdownHtml_accessor_storage = (__runInitializers(this, _suppressEntry_extraInitializers), __runInitializers(this, _renderedMarkdownHtml_initializers, ''));
|
|
129
|
+
get renderedMarkdownHtml() { return this.#renderedMarkdownHtml_accessor_storage; }
|
|
130
|
+
set renderedMarkdownHtml(value) { this.#renderedMarkdownHtml_accessor_storage = value; }
|
|
131
|
+
static styles = [
|
|
132
|
+
themeDefaultStyles,
|
|
133
|
+
cssManager.defaultStyles,
|
|
134
|
+
markdownStyles,
|
|
135
|
+
css `
|
|
136
|
+
:host {
|
|
137
|
+
display: block;
|
|
138
|
+
font-family: var(--dees-font-family);
|
|
139
|
+
/* entry: new boxes make space for themselves while fading in.
|
|
140
|
+
A keyframes animation (not a transition) so the parent tree's
|
|
141
|
+
universal theme-transition rule cannot override it in the shadow
|
|
142
|
+
cascade; interpolate-size lets height animate from 0 to auto
|
|
143
|
+
(Chromium 129+), elsewhere the height snaps and opacity still
|
|
144
|
+
fades. */
|
|
145
|
+
interpolate-size: allow-keywords;
|
|
146
|
+
overflow: clip;
|
|
147
|
+
animation: harness-entry var(--dees-transition-default) var(--dees-ease-out);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@keyframes harness-entry {
|
|
151
|
+
from {
|
|
152
|
+
height: 0;
|
|
153
|
+
margin-top: 0;
|
|
154
|
+
opacity: 0;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
:host(.no-entry) {
|
|
159
|
+
animation: none;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@media (prefers-reduced-motion: reduce) {
|
|
163
|
+
:host {
|
|
164
|
+
animation: none;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.message {
|
|
169
|
+
padding: var(--dees-spacing-sm) var(--dees-spacing-md);
|
|
170
|
+
border: 1px solid var(--dees-color-border-subtle);
|
|
171
|
+
border-left: 2px solid var(--dees-color-border-strong);
|
|
172
|
+
border-radius: var(--dees-radius-lg);
|
|
173
|
+
corner-shape: var(--dees-corner-shape);
|
|
174
|
+
background: var(--dees-color-bg-secondary);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.message.role-user {
|
|
178
|
+
border-left-color: var(--dees-color-accent-primary);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.message.role-system {
|
|
182
|
+
border-left-color: var(--dees-color-accent-warning);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.message.has-error {
|
|
186
|
+
border-left-color: var(--dees-color-accent-error);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.roleRow {
|
|
190
|
+
display: flex;
|
|
191
|
+
align-items: baseline;
|
|
192
|
+
gap: var(--dees-spacing-sm);
|
|
193
|
+
margin-bottom: var(--dees-spacing-xs);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.roleLabel {
|
|
197
|
+
color: var(--dees-color-text-secondary);
|
|
198
|
+
font-size: 10px;
|
|
199
|
+
font-weight: 700;
|
|
200
|
+
letter-spacing: 0.05em;
|
|
201
|
+
text-transform: uppercase;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.timestamp {
|
|
205
|
+
color: var(--dees-color-text-muted);
|
|
206
|
+
font-size: var(--dees-font-caption2-size, 10px);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.plainText {
|
|
210
|
+
color: var(--dees-color-text-primary);
|
|
211
|
+
white-space: pre-wrap;
|
|
212
|
+
overflow-wrap: anywhere;
|
|
213
|
+
font-size: var(--dees-font-control-size, 13px);
|
|
214
|
+
line-height: 1.55;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.cursor {
|
|
218
|
+
display: inline-block;
|
|
219
|
+
width: 7px;
|
|
220
|
+
height: 1.05em;
|
|
221
|
+
margin-left: 1px;
|
|
222
|
+
vertical-align: text-bottom;
|
|
223
|
+
border-radius: 1px;
|
|
224
|
+
background: var(--dees-color-accent-primary);
|
|
225
|
+
animation: harness-cursor-blink 1s steps(2, start) infinite;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
@keyframes harness-cursor-blink {
|
|
229
|
+
0%, 100% { opacity: 1; }
|
|
230
|
+
50% { opacity: 0.15; }
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.reasoningStack {
|
|
234
|
+
display: grid;
|
|
235
|
+
gap: var(--dees-spacing-xs);
|
|
236
|
+
margin-bottom: var(--dees-spacing-sm);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.attachments {
|
|
240
|
+
display: grid;
|
|
241
|
+
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
242
|
+
gap: var(--dees-spacing-sm);
|
|
243
|
+
margin-bottom: var(--dees-spacing-sm);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.attachmentCard {
|
|
247
|
+
min-width: 0;
|
|
248
|
+
display: flex;
|
|
249
|
+
align-items: center;
|
|
250
|
+
gap: var(--dees-spacing-sm);
|
|
251
|
+
padding: var(--dees-spacing-xs) var(--dees-spacing-sm);
|
|
252
|
+
border: 1px solid var(--dees-color-border-subtle);
|
|
253
|
+
border-radius: var(--dees-radius-md);
|
|
254
|
+
corner-shape: var(--dees-corner-shape);
|
|
255
|
+
background: var(--dees-color-bg-tertiary);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.attachmentThumb {
|
|
259
|
+
width: 44px;
|
|
260
|
+
height: 44px;
|
|
261
|
+
flex: 0 0 44px;
|
|
262
|
+
object-fit: cover;
|
|
263
|
+
border-radius: var(--dees-radius-sm);
|
|
264
|
+
background: var(--dees-color-bg-primary);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.attachmentIcon {
|
|
268
|
+
width: 44px;
|
|
269
|
+
height: 44px;
|
|
270
|
+
flex: 0 0 44px;
|
|
271
|
+
display: grid;
|
|
272
|
+
place-items: center;
|
|
273
|
+
border-radius: var(--dees-radius-sm);
|
|
274
|
+
background: var(--dees-color-fill-secondary);
|
|
275
|
+
color: var(--dees-color-accent-primary);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.attachmentInfo {
|
|
279
|
+
min-width: 0;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.attachmentName {
|
|
283
|
+
color: var(--dees-color-text-primary);
|
|
284
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
285
|
+
overflow: hidden;
|
|
286
|
+
text-overflow: ellipsis;
|
|
287
|
+
white-space: nowrap;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.attachmentMeta {
|
|
291
|
+
margin-top: 1px;
|
|
292
|
+
color: var(--dees-color-text-secondary);
|
|
293
|
+
font-size: var(--dees-font-caption1-size, 11px);
|
|
294
|
+
overflow: hidden;
|
|
295
|
+
text-overflow: ellipsis;
|
|
296
|
+
white-space: nowrap;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.footerRow {
|
|
300
|
+
display: flex;
|
|
301
|
+
align-items: center;
|
|
302
|
+
gap: var(--dees-spacing-md);
|
|
303
|
+
margin-top: var(--dees-spacing-sm);
|
|
304
|
+
color: var(--dees-color-text-muted);
|
|
305
|
+
font-size: var(--dees-font-caption2-size, 10px);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.errorText {
|
|
309
|
+
margin-top: var(--dees-spacing-sm);
|
|
310
|
+
padding: var(--dees-spacing-xs) var(--dees-spacing-sm);
|
|
311
|
+
border-radius: var(--dees-radius-md);
|
|
312
|
+
background: var(--dees-color-badge-error-bg);
|
|
313
|
+
color: var(--dees-color-badge-error-fg);
|
|
314
|
+
font-size: var(--dees-font-control-size-sm, 12px);
|
|
315
|
+
white-space: pre-wrap;
|
|
316
|
+
overflow-wrap: anywhere;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
`,
|
|
320
|
+
/* Shared system syntax palette + highlight.js scope mapping */
|
|
321
|
+
syntaxPaletteStyles,
|
|
322
|
+
syntaxScopeStyles,
|
|
323
|
+
];
|
|
324
|
+
markdownParseToken = (__runInitializers(this, _renderedMarkdownHtml_extraInitializers), 0);
|
|
325
|
+
lastParsedText = '';
|
|
326
|
+
markdownThrottleTimeout = null;
|
|
327
|
+
highlightJs = null;
|
|
328
|
+
get markdownActive() {
|
|
329
|
+
return this.message.markdown ?? this.message.role === 'assistant';
|
|
330
|
+
}
|
|
331
|
+
// ------------------------------------------------------ streaming fast path
|
|
332
|
+
/** Appends a text delta, mutating the shared message object. */
|
|
333
|
+
appendTextDelta(delta) {
|
|
334
|
+
this.message.text += delta;
|
|
335
|
+
this.message.streaming = true;
|
|
336
|
+
this.requestUpdate();
|
|
337
|
+
}
|
|
338
|
+
/** Appends to (or creates) a reasoning part by id. */
|
|
339
|
+
appendReasoningDelta(partId, delta, startedAt) {
|
|
340
|
+
this.message.reasoning ??= [];
|
|
341
|
+
let part = this.message.reasoning.find((candidate) => candidate.id === partId);
|
|
342
|
+
if (!part) {
|
|
343
|
+
part = { id: partId, text: '', startedAt: startedAt ?? Date.now() };
|
|
344
|
+
this.message.reasoning.push(part);
|
|
345
|
+
}
|
|
346
|
+
part.text += delta;
|
|
347
|
+
this.requestUpdate();
|
|
348
|
+
// reasoning parts render as child elements holding the same part object
|
|
349
|
+
for (const reasoningElement of this.shadowRoot?.querySelectorAll('dees-harness-reasoning') ?? []) {
|
|
350
|
+
reasoningElement.requestUpdate();
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
/** Marks a reasoning part as ended. */
|
|
354
|
+
endReasoning(partId, endedAt) {
|
|
355
|
+
const part = this.message.reasoning?.find((candidate) => candidate.id === partId);
|
|
356
|
+
if (part && !part.endedAt) {
|
|
357
|
+
part.endedAt = endedAt ?? Date.now();
|
|
358
|
+
this.requestUpdate();
|
|
359
|
+
for (const reasoningElement of this.shadowRoot?.querySelectorAll('dees-harness-reasoning') ?? []) {
|
|
360
|
+
reasoningElement.requestUpdate();
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
/** Ends the stream: final markdown parse, usage/error attach. */
|
|
365
|
+
endStream(usage, error) {
|
|
366
|
+
this.message.streaming = false;
|
|
367
|
+
if (usage)
|
|
368
|
+
this.message.usage = usage;
|
|
369
|
+
if (error)
|
|
370
|
+
this.message.error = error;
|
|
371
|
+
this.message.updatedAt = Date.now();
|
|
372
|
+
this.requestUpdate();
|
|
373
|
+
}
|
|
374
|
+
// ------------------------------------------------------------------ render
|
|
375
|
+
render() {
|
|
376
|
+
const message = this.message;
|
|
377
|
+
// a pure tool message renders the bare tool card — the card carries its
|
|
378
|
+
// own complete chrome, so the message wrapper would double the framing
|
|
379
|
+
if (message.role === 'tool'
|
|
380
|
+
&& message.toolCall
|
|
381
|
+
&& !message.text
|
|
382
|
+
&& !message.error
|
|
383
|
+
&& !message.reasoning?.length
|
|
384
|
+
&& !message.attachments?.length) {
|
|
385
|
+
return html `
|
|
386
|
+
<dees-harness-tool-card .call=${message.toolCall} .toolRegistry=${this.toolRegistry}></dees-harness-tool-card>
|
|
387
|
+
`;
|
|
388
|
+
}
|
|
389
|
+
const roleClass = `role-${message.role}`;
|
|
390
|
+
return html `
|
|
391
|
+
<div class="message ${roleClass} ${message.error ? 'has-error' : ''}">
|
|
392
|
+
${this.showRole || this.showTimestamp
|
|
393
|
+
? html `
|
|
394
|
+
<div class="roleRow">
|
|
395
|
+
${this.showRole ? html `<span class="roleLabel">${message.role}</span>` : ''}
|
|
396
|
+
${this.showTimestamp && message.createdAt
|
|
397
|
+
? html `<span class="timestamp">${harnessFormatRelativeTime(message.createdAt)}</span>`
|
|
398
|
+
: ''}
|
|
399
|
+
</div>
|
|
400
|
+
`
|
|
401
|
+
: ''}
|
|
402
|
+
${message.reasoning?.length
|
|
403
|
+
? html `
|
|
404
|
+
<div class="reasoningStack">
|
|
405
|
+
${message.reasoning.map((part) => html `<dees-harness-reasoning .reasoningPart=${part}></dees-harness-reasoning>`)}
|
|
406
|
+
</div>
|
|
407
|
+
`
|
|
408
|
+
: ''}
|
|
409
|
+
${message.attachments?.length ? this.renderAttachments(message.attachments) : ''}
|
|
410
|
+
${message.toolCall
|
|
411
|
+
? html `<dees-harness-tool-card .call=${message.toolCall} .toolRegistry=${this.toolRegistry}></dees-harness-tool-card>`
|
|
412
|
+
: ''}
|
|
413
|
+
${this.renderText()}
|
|
414
|
+
${message.error ? html `<div class="errorText">${message.error}</div>` : ''}
|
|
415
|
+
${message.usage?.totalTokens
|
|
416
|
+
? html `
|
|
417
|
+
<div class="footerRow">
|
|
418
|
+
<span>${message.usage.inputTokens ?? 0} in · ${message.usage.outputTokens ?? 0} out · ${message.usage.totalTokens} total tokens</span>
|
|
419
|
+
</div>
|
|
420
|
+
`
|
|
421
|
+
: ''}
|
|
422
|
+
</div>
|
|
423
|
+
`;
|
|
424
|
+
}
|
|
425
|
+
renderText() {
|
|
426
|
+
const message = this.message;
|
|
427
|
+
if (!message.text) {
|
|
428
|
+
return message.streaming ? html `<div class="plainText"><span class="cursor"></span></div>` : html ``;
|
|
429
|
+
}
|
|
430
|
+
const markdownReady = this.markdownActive
|
|
431
|
+
&& this.renderedMarkdownHtml
|
|
432
|
+
&& (!message.streaming || this.markdownWhileStreaming)
|
|
433
|
+
&& this.lastParsedText.length > 0;
|
|
434
|
+
if (markdownReady) {
|
|
435
|
+
return html `
|
|
436
|
+
<div class="markdown-body">${unsafeHTML(this.renderedMarkdownHtml)}</div>
|
|
437
|
+
${message.streaming ? html `<span class="cursor"></span>` : ''}
|
|
438
|
+
`;
|
|
439
|
+
}
|
|
440
|
+
return html `
|
|
441
|
+
<div class="plainText">${message.text}${message.streaming ? html `<span class="cursor"></span>` : ''}</div>
|
|
442
|
+
`;
|
|
443
|
+
}
|
|
444
|
+
renderAttachments(attachments) {
|
|
445
|
+
return html `
|
|
446
|
+
<div class="attachments">
|
|
447
|
+
${attachments.map((attachment) => {
|
|
448
|
+
const imageUrl = attachment.kind === 'image' && attachment.dataBase64
|
|
449
|
+
? `data:${attachment.mediaType};base64,${attachment.dataBase64}`
|
|
450
|
+
: '';
|
|
451
|
+
return html `
|
|
452
|
+
<div class="attachmentCard">
|
|
453
|
+
${imageUrl
|
|
454
|
+
? html `<img class="attachmentThumb" src=${imageUrl} alt=${attachment.name} />`
|
|
455
|
+
: html `<div class="attachmentIcon"><dees-icon icon="lucide:FileText" iconSize="18"></dees-icon></div>`}
|
|
456
|
+
<div class="attachmentInfo">
|
|
457
|
+
<div class="attachmentName" title=${attachment.name}>${attachment.name}</div>
|
|
458
|
+
<div class="attachmentMeta">
|
|
459
|
+
${attachment.mediaType || 'file'} · ${harnessFormatBytes(attachment.size)}${attachment.truncated ? ' · truncated' : ''}
|
|
460
|
+
</div>
|
|
461
|
+
</div>
|
|
462
|
+
</div>
|
|
463
|
+
`;
|
|
464
|
+
})}
|
|
465
|
+
</div>
|
|
466
|
+
`;
|
|
467
|
+
}
|
|
468
|
+
// ---------------------------------------------------------------- markdown
|
|
469
|
+
firstUpdated(changedProperties) {
|
|
470
|
+
super.firstUpdated(changedProperties);
|
|
471
|
+
if (this.suppressEntry) {
|
|
472
|
+
this.classList.add('no-entry');
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
async updated(changedProperties) {
|
|
476
|
+
super.updated(changedProperties);
|
|
477
|
+
if (!this.markdownActive || !this.message.text)
|
|
478
|
+
return;
|
|
479
|
+
if (this.message.text === this.lastParsedText)
|
|
480
|
+
return;
|
|
481
|
+
if (this.message.streaming) {
|
|
482
|
+
if (!this.markdownWhileStreaming)
|
|
483
|
+
return;
|
|
484
|
+
this.scheduleThrottledParse();
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
await this.parseMarkdown();
|
|
488
|
+
}
|
|
489
|
+
scheduleThrottledParse() {
|
|
490
|
+
if (this.markdownThrottleTimeout)
|
|
491
|
+
return;
|
|
492
|
+
this.markdownThrottleTimeout = setTimeout(() => {
|
|
493
|
+
this.markdownThrottleTimeout = null;
|
|
494
|
+
void this.parseMarkdown();
|
|
495
|
+
}, markdownParseThrottleMs);
|
|
496
|
+
}
|
|
497
|
+
async parseMarkdown() {
|
|
498
|
+
const token = ++this.markdownParseToken;
|
|
499
|
+
const textAtRequest = this.message.text;
|
|
500
|
+
const htmlResult = await HarnessMarkdown.getInstance().renderToHtml(textAtRequest);
|
|
501
|
+
if (token !== this.markdownParseToken)
|
|
502
|
+
return;
|
|
503
|
+
this.lastParsedText = textAtRequest;
|
|
504
|
+
this.renderedMarkdownHtml = htmlResult;
|
|
505
|
+
if (!this.message.streaming) {
|
|
506
|
+
await this.updateComplete;
|
|
507
|
+
await this.highlightCodeFences(token);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
/** Lazy hljs pass over rendered fences; runs only after the final parse. */
|
|
511
|
+
async highlightCodeFences(token) {
|
|
512
|
+
const codeElements = Array.from(this.shadowRoot?.querySelectorAll('.markdown-body pre code') ?? []).filter((codeElement) => !codeElement.dataset.highlighted);
|
|
513
|
+
if (!codeElements.length)
|
|
514
|
+
return;
|
|
515
|
+
if (!this.highlightJs) {
|
|
516
|
+
this.highlightJs = await DeesServiceLibLoader.getInstance().loadHighlightJs();
|
|
517
|
+
}
|
|
518
|
+
if (token !== this.markdownParseToken)
|
|
519
|
+
return;
|
|
520
|
+
for (const codeElement of codeElements) {
|
|
521
|
+
const languageMatch = /language-([\w-]+)/.exec(codeElement.className);
|
|
522
|
+
try {
|
|
523
|
+
const highlighted = languageMatch
|
|
524
|
+
? this.highlightJs.highlight(codeElement.textContent ?? '', {
|
|
525
|
+
language: languageMatch[1],
|
|
526
|
+
ignoreIllegals: true,
|
|
527
|
+
}).value
|
|
528
|
+
: this.highlightJs.highlightAuto(codeElement.textContent ?? '').value;
|
|
529
|
+
codeElement.innerHTML = highlighted;
|
|
530
|
+
codeElement.dataset.highlighted = 'true';
|
|
531
|
+
}
|
|
532
|
+
catch {
|
|
533
|
+
codeElement.dataset.highlighted = 'skip';
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
async disconnectedCallback() {
|
|
538
|
+
if (this.markdownThrottleTimeout) {
|
|
539
|
+
clearTimeout(this.markdownThrottleTimeout);
|
|
540
|
+
this.markdownThrottleTimeout = null;
|
|
541
|
+
}
|
|
542
|
+
await super.disconnectedCallback();
|
|
543
|
+
}
|
|
544
|
+
static {
|
|
545
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
546
|
+
}
|
|
547
|
+
};
|
|
548
|
+
return DeesHarnessMessage = _classThis;
|
|
549
|
+
})();
|
|
550
|
+
export { DeesHarnessMessage };
|
|
551
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1tZXNzYWdlL2RlZXMtaGFybmVzcy1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8scURBQXFELENBQUM7QUFDN0QsT0FBTyxxREFBcUQsQ0FBQztBQUM3RCxPQUFPLDhDQUE4QyxDQUFDO0FBUXRELE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBRXBDOzs7OztHQUtHO0lBRVUsa0JBQWtCOzRCQUQ5QixhQUFhLENBQUMsc0JBQXNCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQ0FBbkIsU0FBUSxXQUFXOzs7O21DQUloRCxR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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dees-harness-message.js';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './dees-harness-message.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1oYXJuZXNzL2RlZXMtaGFybmVzcy1tZXNzYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMifQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
+
import type { IHarnessMessage, IHarnessStatus, THarnessStreamDelta } from '../interfaces.js';
|
|
3
|
+
import { DeesHarnessToolRegistry } from '../toolregistry.js';
|
|
4
|
+
import '../dees-harness-status/dees-harness-status.js';
|
|
5
|
+
import '../../00group-utility/dees-icon/dees-icon.js';
|
|
6
|
+
declare global {
|
|
7
|
+
interface HTMLElementTagNameMap {
|
|
8
|
+
'dees-harness-message-list': DeesHarnessMessageList;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Scrollable, streaming-safe message log. Messages render through a keyed
|
|
13
|
+
* repeat (stable DOM per message id); `applyDelta()` routes incremental
|
|
14
|
+
* updates to the affected message element only. Auto-follows the bottom
|
|
15
|
+
* while the user is pinned there; otherwise new content raises a
|
|
16
|
+
* "jump to latest" chip instead of yanking the scroll position.
|
|
17
|
+
*/
|
|
18
|
+
export declare class DeesHarnessMessageList extends DeesElement {
|
|
19
|
+
static demo: () => TemplateResult<1>;
|
|
20
|
+
static demoGroups: string[];
|
|
21
|
+
accessor messages: IHarnessMessage[];
|
|
22
|
+
accessor status: IHarnessStatus;
|
|
23
|
+
accessor autoFollow: boolean;
|
|
24
|
+
accessor toolRegistry: DeesHarnessToolRegistry;
|
|
25
|
+
accessor showRoles: boolean;
|
|
26
|
+
accessor showTimestamps: boolean;
|
|
27
|
+
accessor emptyTitle: string;
|
|
28
|
+
accessor emptyText: string;
|
|
29
|
+
accessor showJumpChip: boolean;
|
|
30
|
+
accessor entryAnimationsEnabled: boolean;
|
|
31
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
32
|
+
render(): TemplateResult;
|
|
33
|
+
/**
|
|
34
|
+
* Routes an incremental update to the affected message. Mutates the
|
|
35
|
+
* message object held in `.messages` so a later full re-assignment stays
|
|
36
|
+
* idempotent; only the target element re-renders.
|
|
37
|
+
*/
|
|
38
|
+
applyDelta(delta: THarnessStreamDelta): void;
|
|
39
|
+
private messageElement;
|
|
40
|
+
private get scrollContainer();
|
|
41
|
+
get isPinnedToBottom(): boolean;
|
|
42
|
+
private followFrame;
|
|
43
|
+
private settleTimeout;
|
|
44
|
+
private followAfterContentChange;
|
|
45
|
+
scrollToBottom(force?: boolean): void;
|
|
46
|
+
private handleScroll;
|
|
47
|
+
updated(changedProperties: Map<string, any>): void;
|
|
48
|
+
firstUpdated(changedProperties: Map<string, any>): void;
|
|
49
|
+
disconnectedCallback(): Promise<void>;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const demoFunc: () => import("@design.estate/dees-element").TemplateResult<1>;
|