@mastra/playground-ui 67.0.0 → 68.0.0-alpha.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/dist/{ActionRow-BfK77pCT.cjs → ActionRow-BlC9GAef.cjs} +4 -4
- package/dist/ActionRow-BlC9GAef.cjs.map +1 -0
- package/dist/{ActionRow-Cd6tOC2K.js → ActionRow-DCrRCvBq.js} +4 -4
- package/dist/ActionRow-DCrRCvBq.js.map +1 -0
- package/dist/{Button-Bw1e3ONi.js → Button-CLXTbAY8.js} +42 -13
- package/dist/Button-CLXTbAY8.js.map +1 -0
- package/dist/{Button-YQRflC47.cjs → Button-DLcMcuUL.cjs} +58 -11
- package/dist/Button-DLcMcuUL.cjs.map +1 -0
- package/dist/{CodeEditor-CJ9jC9lu.cjs → CodeEditor-CLzs0yVc.cjs} +4 -4
- package/dist/{CodeEditor-CJ9jC9lu.cjs.map → CodeEditor-CLzs0yVc.cjs.map} +1 -1
- package/dist/{CodeEditor-CPVxj7WS.js → CodeEditor-COnz9c6B.js} +4 -4
- package/dist/{CodeEditor-CPVxj7WS.js.map → CodeEditor-COnz9c6B.js.map} +1 -1
- package/dist/{Comment-VFJq2wRp.js → Comment-0n98b_f_.js} +3 -3
- package/dist/{Comment-VFJq2wRp.js.map → Comment-0n98b_f_.js.map} +1 -1
- package/dist/{Comment-KYUQzeSu.cjs → Comment-Cg0f7eLa.cjs} +3 -3
- package/dist/{Comment-KYUQzeSu.cjs.map → Comment-Cg0f7eLa.cjs.map} +1 -1
- package/dist/{DataCodeSection-CZRPsStI.cjs → DataCodeSection-CcPmJPTp.cjs} +8 -8
- package/dist/{DataCodeSection-CZRPsStI.cjs.map → DataCodeSection-CcPmJPTp.cjs.map} +1 -1
- package/dist/{DataCodeSection-Ckd47p_S.js → DataCodeSection-KJRyRD1Q.js} +6 -6
- package/dist/{DataCodeSection-Ckd47p_S.js.map → DataCodeSection-KJRyRD1Q.js.map} +1 -1
- package/dist/{DataDetailsPanel-_CK0Huk6.js → DataDetailsPanel-CohEKPm4.js} +5 -5
- package/dist/{DataDetailsPanel-_CK0Huk6.js.map → DataDetailsPanel-CohEKPm4.js.map} +1 -1
- package/dist/{DataDetailsPanel-DFhM9H5D.cjs → DataDetailsPanel-DiyjEXqK.cjs} +6 -6
- package/dist/{DataDetailsPanel-DFhM9H5D.cjs.map → DataDetailsPanel-DiyjEXqK.cjs.map} +1 -1
- package/dist/{DataList-2tIlQsLc.js → DataList-CUhRQAv6.js} +2 -2
- package/dist/{DataList-2tIlQsLc.js.map → DataList-CUhRQAv6.js.map} +1 -1
- package/dist/{DataList-Czwmwyvp.cjs → DataList-Cj0mfk19.cjs} +2 -2
- package/dist/{DataList-Czwmwyvp.cjs.map → DataList-Cj0mfk19.cjs.map} +1 -1
- package/dist/{DataPanel-CY1W5LHJ.js → DataPanel-Bv4M17xO.js} +3 -3
- package/dist/{DataPanel-CY1W5LHJ.js.map → DataPanel-Bv4M17xO.js.map} +1 -1
- package/dist/{DataPanel-C0Ll76Ne.cjs → DataPanel-BwB1Oifd.cjs} +3 -3
- package/dist/{DataPanel-C0Ll76Ne.cjs.map → DataPanel-BwB1Oifd.cjs.map} +1 -1
- package/dist/{Dialog-CjaiCrkv.cjs → Dialog-BvWF9HE-.cjs} +2 -2
- package/dist/{Dialog-CjaiCrkv.cjs.map → Dialog-BvWF9HE-.cjs.map} +1 -1
- package/dist/{Dialog-CKtTR8h3.js → Dialog-DaWtxwd9.js} +2 -2
- package/dist/{Dialog-CKtTR8h3.js.map → Dialog-DaWtxwd9.js.map} +1 -1
- package/dist/{ErrorBoundary-Bm0LL_b7.cjs → ErrorBoundary-B5GjmA6V.cjs} +2 -2
- package/dist/{ErrorBoundary-Bm0LL_b7.cjs.map → ErrorBoundary-B5GjmA6V.cjs.map} +1 -1
- package/dist/{ErrorBoundary-95_6A77S.js → ErrorBoundary-Cat3KU86.js} +2 -2
- package/dist/{ErrorBoundary-95_6A77S.js.map → ErrorBoundary-Cat3KU86.js.map} +1 -1
- package/dist/{FilterBar--4oguuVe.js → FilterBar-BO-vvvyq.js} +18 -22
- package/dist/FilterBar-BO-vvvyq.js.map +1 -0
- package/dist/{FilterBar-BUd4f7oi.cjs → FilterBar-Buw0tv51.cjs} +18 -22
- package/dist/FilterBar-Buw0tv51.cjs.map +1 -0
- package/dist/KnowledgePageGraph.css +11 -0
- package/dist/{LogsDataList-Cslabh8K.js → LogsDataList-BI2C5OJz.js} +2 -2
- package/dist/{LogsDataList-Cslabh8K.js.map → LogsDataList-BI2C5OJz.js.map} +1 -1
- package/dist/{LogsDataList-DMmxAt_t.cjs → LogsDataList-CCIfUPGo.cjs} +2 -2
- package/dist/{LogsDataList-DMmxAt_t.cjs.map → LogsDataList-CCIfUPGo.cjs.map} +1 -1
- package/dist/{MarkdownRenderer-DME2xKTk.js → MarkdownRenderer-2GOXQJEv.js} +3 -3
- package/dist/{MarkdownRenderer-DME2xKTk.js.map → MarkdownRenderer-2GOXQJEv.js.map} +1 -1
- package/dist/{MarkdownRenderer-CS6u5drO.cjs → MarkdownRenderer-CB8Z_CHc.cjs} +4 -4
- package/dist/{MarkdownRenderer-CS6u5drO.cjs.map → MarkdownRenderer-CB8Z_CHc.cjs.map} +1 -1
- package/dist/{Message-nVI6tMS3.js → Message-CWzi5F_Q.js} +2 -2
- package/dist/{Message-nVI6tMS3.js.map → Message-CWzi5F_Q.js.map} +1 -1
- package/dist/{Message-DsCNQpou.cjs → Message-jj56lxNL.cjs} +2 -2
- package/dist/{Message-DsCNQpou.cjs.map → Message-jj56lxNL.cjs.map} +1 -1
- package/dist/{Notice-CyKngbbv.js → Notice-C-8oOZZF.js} +2 -2
- package/dist/{Notice-CyKngbbv.js.map → Notice-C-8oOZZF.js.map} +1 -1
- package/dist/{Notice-DWNeCe-t.cjs → Notice-JZ7SW7q6.cjs} +2 -2
- package/dist/{Notice-DWNeCe-t.cjs.map → Notice-JZ7SW7q6.cjs.map} +1 -1
- package/dist/{Workflow-BVWvgDmI.js → Workflow-C3SlEdP-.js} +5 -5
- package/dist/{Workflow-BVWvgDmI.js.map → Workflow-C3SlEdP-.js.map} +1 -1
- package/dist/{Workflow-BeF6pIO9.cjs → Workflow-DSWQ-ROz.cjs} +5 -5
- package/dist/{Workflow-BeF6pIO9.cjs.map → Workflow-DSWQ-ROz.cjs.map} +1 -1
- package/dist/{activity-DAK8tj7r.cjs → activity-DyB5H3gF.cjs} +2 -2
- package/dist/{activity-DAK8tj7r.cjs.map → activity-DyB5H3gF.cjs.map} +1 -1
- package/dist/{activity-CM34JyW-.js → activity-rJ1NQl_2.js} +2 -2
- package/dist/{activity-CM34JyW-.js.map → activity-rJ1NQl_2.js.map} +1 -1
- package/dist/{ask-user-BdjH9F7G.js → ask-user-B225wzWc.js} +2 -2
- package/dist/{ask-user-BdjH9F7G.js.map → ask-user-B225wzWc.js.map} +1 -1
- package/dist/{ask-user-C82m_G9W.cjs → ask-user-DdYz56qH.cjs} +2 -2
- package/dist/{ask-user-C82m_G9W.cjs.map → ask-user-DdYz56qH.cjs.map} +1 -1
- package/dist/buttons-group-Dc6R7YSs.cjs +48 -0
- package/dist/buttons-group-Dc6R7YSs.cjs.map +1 -0
- package/dist/buttons-group-DkFlnMiL.js +35 -0
- package/dist/buttons-group-DkFlnMiL.js.map +1 -0
- package/dist/{ButtonsGroup.css → buttons-group.css} +2 -0
- package/dist/clear-filters-button-Buc973vw.cjs +27 -0
- package/dist/clear-filters-button-Buc973vw.cjs.map +1 -0
- package/dist/clear-filters-button-CNrRuHOY.js +22 -0
- package/dist/clear-filters-button-CNrRuHOY.js.map +1 -0
- package/dist/{combobox-8kNAJFlj.cjs → combobox-CMx2ayFN.cjs} +3 -3
- package/dist/{combobox-8kNAJFlj.cjs.map → combobox-CMx2ayFN.cjs.map} +1 -1
- package/dist/{combobox-wFudhN8F.js → combobox-CtCK0mNx.js} +3 -3
- package/dist/{combobox-wFudhN8F.js.map → combobox-CtCK0mNx.js.map} +1 -1
- package/dist/{combobox-parts-W7KRQUsV.js → combobox-parts-C1CugUAU.js} +11 -19
- package/dist/combobox-parts-C1CugUAU.js.map +1 -0
- package/dist/{combobox-parts-BZVXwbG7.cjs → combobox-parts-ScKcYjMR.cjs} +10 -18
- package/dist/combobox-parts-ScKcYjMR.cjs.map +1 -0
- package/dist/components/ActionRow.cjs.js +1 -1
- package/dist/components/ActionRow.es.js +1 -1
- package/dist/components/AlertDialog.cjs.js +2 -2
- package/dist/components/AlertDialog.es.js +2 -2
- package/dist/components/Button.cjs.js +4 -1
- package/dist/components/Button.es.js +2 -2
- package/dist/components/ButtonsGroup.cjs.js +3 -38
- package/dist/components/ButtonsGroup.es.js +1 -35
- package/dist/components/ClampedText.cjs.js +1 -1
- package/dist/components/ClampedText.es.js +1 -1
- package/dist/components/ClearFiltersButton.cjs.js +3 -0
- package/dist/components/ClearFiltersButton.d.ts +1 -0
- package/dist/components/ClearFiltersButton.es.js +1 -0
- package/dist/components/CodeBlock.cjs.js +3 -3
- package/dist/components/CodeBlock.es.js +3 -3
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/CollapsibleBox.cjs.js +1 -1
- package/dist/components/CollapsibleBox.es.js +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +3 -2
- package/dist/components/Command.cjs.js.map +1 -1
- package/dist/components/Command.es.js +3 -2
- package/dist/components/Command.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/CopyButton.cjs.js +1 -1
- package/dist/components/CopyButton.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +1 -1
- package/dist/components/DataDetailsPanel.es.js +1 -1
- package/dist/components/DataList.cjs.js +3 -3
- package/dist/components/DataList.es.js +3 -3
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +1 -1
- package/dist/components/DateRangeTimeline.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +2 -2
- package/dist/components/DateTimePicker.es.js +2 -2
- package/dist/components/DateTimeRangePicker.cjs.js +2 -2
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +1 -1
- package/dist/components/Dialog.es.js +1 -1
- package/dist/components/DisabledFeatureButton.cjs.js +1 -1
- package/dist/components/DisabledFeatureButton.es.js +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
- package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +7 -2
- package/dist/components/FilterBar.es.js +4 -3
- package/dist/components/FormFieldBlocks.cjs.js +2 -2
- package/dist/components/FormFieldBlocks.es.js +2 -2
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +2 -2
- package/dist/components/InputNumber.es.js +2 -2
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Message.cjs.js +1 -1
- package/dist/components/Message.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/PropertyFilter.cjs.js +3 -3
- package/dist/components/PropertyFilter.es.js +3 -3
- package/dist/components/RuleBuilder.cjs.js +2 -2
- package/dist/components/RuleBuilder.es.js +2 -2
- package/dist/components/SavedViews.cjs.js +4 -3
- package/dist/components/SavedViews.cjs.js.map +1 -1
- package/dist/components/SavedViews.es.js +4 -3
- package/dist/components/SavedViews.es.js.map +1 -1
- package/dist/components/SearchInput.cjs.js +5 -2
- package/dist/components/SearchInput.cjs.js.map +1 -1
- package/dist/components/SearchInput.es.js +5 -2
- package/dist/components/SearchInput.es.js.map +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +5 -5
- package/dist/components/SideDialog.cjs.js.map +1 -1
- package/dist/components/SideDialog.es.js +4 -4
- package/dist/components/Sidebar.cjs.js +3 -3
- package/dist/components/Sidebar.es.js +3 -3
- package/dist/components/Tabs.cjs.js +2 -2
- package/dist/components/Tabs.es.js +2 -2
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/Toaster.cjs.js +2 -2
- package/dist/components/Toaster.es.js +2 -2
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/components/Workflow.cjs.js +1 -1
- package/dist/components/Workflow.es.js +1 -1
- package/dist/components/ai/activity.cjs.js +1 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +2 -2
- package/dist/components/ai/plan.es.js +2 -2
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +2 -2
- package/dist/components/ai/tool-call.es.js +2 -2
- package/dist/{copy-button-CF-X4iDj.js → copy-button-BXrbevLn.js} +2 -2
- package/dist/{copy-button-CF-X4iDj.js.map → copy-button-BXrbevLn.js.map} +1 -1
- package/dist/{copy-button-BYEFKNpo.cjs → copy-button-DJAQ6_3o.cjs} +2 -2
- package/dist/{copy-button-BYEFKNpo.cjs.map → copy-button-DJAQ6_3o.cjs.map} +1 -1
- package/dist/{data-list-BkimqE_P.cjs → data-list-C4Vmq5HA.cjs} +2 -2
- package/dist/{data-list-BkimqE_P.cjs.map → data-list-C4Vmq5HA.cjs.map} +1 -1
- package/dist/{data-list-evmf5xWI.js → data-list-DHCOoLmj.js} +2 -2
- package/dist/{data-list-evmf5xWI.js.map → data-list-DHCOoLmj.js.map} +1 -1
- package/dist/{DateTimeRangePicker-HmPOHwAQ.cjs → date-time-range-picker-CTt7Od0P.cjs} +71 -57
- package/dist/date-time-range-picker-CTt7Od0P.cjs.map +1 -0
- package/dist/{DateTimeRangePicker-C_Lie_2P.js → date-time-range-picker-DKh1K9Iy.js} +72 -58
- package/dist/date-time-range-picker-DKh1K9Iy.js.map +1 -0
- package/dist/domains/auth/components/session-expired.cjs.js +2 -2
- package/dist/domains/auth/components/session-expired.es.js +2 -2
- package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
- package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
- package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
- package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-words.cjs.js +2 -2
- package/dist/domains/chat/activity/model/activity-words.es.js +2 -2
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
- package/dist/domains/chat/knowledge/knowledge-links.cjs.js +40 -0
- package/dist/domains/chat/knowledge/knowledge-links.cjs.js.map +1 -0
- package/dist/domains/chat/knowledge/knowledge-links.d.ts +1 -0
- package/dist/domains/chat/knowledge/knowledge-links.es.js +38 -0
- package/dist/domains/chat/knowledge/knowledge-links.es.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js +79 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.d.ts +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js +77 -0
- package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +124 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js.map +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.d.ts +1 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.es.js +123 -0
- package/dist/domains/chat/knowledge/pinned-knowledge.es.js.map +1 -0
- package/dist/domains/chat/knowledge.cjs.js +12 -0
- package/dist/domains/chat/knowledge.d.ts +1 -0
- package/dist/domains/chat/knowledge.es.js +5 -0
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
- package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
- package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
- package/dist/domains/chat/messages/message-row.cjs.js +4 -4
- package/dist/domains/chat/messages/message-row.es.js +4 -4
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
- package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +8 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +8 -1
- package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
- package/dist/domains/chat/messages/skill-message.es.js +2 -2
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
- package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +273 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.d.ts +1 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +270 -0
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/tool-badge.es.js +4 -4
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +4 -4
- package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +3 -3
- package/dist/domains/chat/tools/connect-prompt-tool.es.js +3 -3
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.cjs.js +4 -2
- package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js +4 -2
- package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat/tools/tool-groups.cjs.js +3 -2
- package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
- package/dist/domains/chat/tools/tool-groups.es.js +3 -2
- package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
- package/dist/domains/chat.cjs.js +11 -0
- package/dist/domains/chat.es.js +5 -1
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +1 -1
- package/dist/domains/dashboards/components/dashboard-renderer.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +4 -4
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +4 -4
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +3 -3
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +3 -3
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -5
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -5
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +438 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +436 -0
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +521 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +520 -0
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +626 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +625 -0
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +170 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.d.ts +1 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js +168 -0
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js +37 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js.map +1 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.d.ts +1 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.es.js +35 -0
- package/dist/domains/knowledge/hooks/useInteractionIdle.es.js.map +1 -0
- package/dist/domains/knowledge/lib/layout.cjs.js +93 -0
- package/dist/domains/knowledge/lib/layout.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/layout.d.ts +1 -0
- package/dist/domains/knowledge/lib/layout.es.js +92 -0
- package/dist/domains/knowledge/lib/layout.es.js.map +1 -0
- package/dist/domains/knowledge/lib/pageGraph.cjs.js +135 -0
- package/dist/domains/knowledge/lib/pageGraph.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pageGraph.d.ts +1 -0
- package/dist/domains/knowledge/lib/pageGraph.es.js +128 -0
- package/dist/domains/knowledge/lib/pageGraph.es.js.map +1 -0
- package/dist/domains/knowledge/lib/pageLayout.cjs.js +49 -0
- package/dist/domains/knowledge/lib/pageLayout.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pageLayout.d.ts +1 -0
- package/dist/domains/knowledge/lib/pageLayout.es.js +48 -0
- package/dist/domains/knowledge/lib/pageLayout.es.js.map +1 -0
- package/dist/domains/knowledge/lib/pageTree.cjs.js +98 -0
- package/dist/domains/knowledge/lib/pageTree.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/pageTree.d.ts +1 -0
- package/dist/domains/knowledge/lib/pageTree.es.js +94 -0
- package/dist/domains/knowledge/lib/pageTree.es.js.map +1 -0
- package/dist/domains/knowledge/lib/popupPlacement.cjs.js +22 -0
- package/dist/domains/knowledge/lib/popupPlacement.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/popupPlacement.d.ts +1 -0
- package/dist/domains/knowledge/lib/popupPlacement.es.js +21 -0
- package/dist/domains/knowledge/lib/popupPlacement.es.js.map +1 -0
- package/dist/domains/knowledge/lib/recordText.cjs.js +26 -0
- package/dist/domains/knowledge/lib/recordText.cjs.js.map +1 -0
- package/dist/domains/knowledge/lib/recordText.d.ts +1 -0
- package/dist/domains/knowledge/lib/recordText.es.js +25 -0
- package/dist/domains/knowledge/lib/recordText.es.js.map +1 -0
- package/dist/domains/knowledge/pageTypes.cjs.js +0 -0
- package/dist/domains/knowledge/pageTypes.d.ts +1 -0
- package/dist/domains/knowledge/pageTypes.es.js +0 -0
- package/dist/domains/logs/components/log-data-panel.cjs.js +6 -6
- package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +4 -4
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
- package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
- package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +2 -2
- package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +4 -4
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js +4 -4
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -1
- package/dist/domains/metrics/drilldown.cjs.js +1 -1
- package/dist/domains/metrics/drilldown.es.js +1 -1
- package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
- package/dist/domains/metrics/metrics-filters.es.js +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js +1 -1
- package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
- package/dist/domains/observability/observability-list-url-state.es.js +1 -1
- package/dist/domains/observability/saved-view-state.cjs.js +1 -1
- package/dist/domains/observability/saved-view-state.es.js +1 -1
- package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
- package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +3 -2
- package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -1
- package/dist/domains/observability/saved-views/saved-views-provider.es.js +3 -2
- package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -1
- package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -1
- package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +3 -2
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +3 -2
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -1
- package/dist/domains/observability/saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views.es.js +1 -1
- package/dist/domains/observability.cjs.js +1 -1
- package/dist/domains/observability.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
- package/dist/domains/scores/components/score-data-panel.es.js +2 -2
- package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
- package/dist/domains/scores/components/span-scoring.es.js +4 -4
- package/dist/domains/scores/components/trace-scores-list.cjs.js +2 -2
- package/dist/domains/scores/components/trace-scores-list.es.js +2 -2
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
- package/dist/domains/skills/skill-simple-form.cjs.js +4 -4
- package/dist/domains/skills/skill-simple-form.cjs.js.map +1 -1
- package/dist/domains/skills/skill-simple-form.es.js +4 -4
- package/dist/domains/skills/skill-simple-form.es.js.map +1 -1
- package/dist/domains/spans/components/spans-explorer-body.cjs.js +8 -8
- package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
- package/dist/domains/spans/components/spans-explorer-body.es.js +8 -8
- package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
- package/dist/domains/spans/components/spans-filter-bar.cjs.js +5 -5
- package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
- package/dist/domains/spans/components/spans-filter-bar.es.js +5 -5
- package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +5 -5
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +5 -5
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
- package/dist/domains/spans/span-filters.cjs.js +2 -2
- package/dist/domains/spans/span-filters.cjs.js.map +1 -1
- package/dist/domains/spans/span-filters.es.js +2 -2
- package/dist/domains/spans/span-filters.es.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.cjs.js +8 -8
- package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.es.js +8 -8
- package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
- package/dist/domains/threads/components/threads-filter-bar.cjs.js +5 -5
- package/dist/domains/threads/components/threads-filter-bar.cjs.js.map +1 -1
- package/dist/domains/threads/components/threads-filter-bar.es.js +5 -5
- package/dist/domains/threads/components/threads-filter-bar.es.js.map +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +5 -5
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +5 -5
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
- package/dist/domains/threads/thread-filters.cjs.js +2 -2
- package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
- package/dist/domains/threads/thread-filters.es.js +2 -2
- package/dist/domains/threads/thread-filters.es.js.map +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js +1 -1
- package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
- package/dist/domains/traces/components/feedback-thread.es.js +3 -3
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +5 -5
- package/dist/domains/traces/components/span-data-panel-view.es.js +5 -5
- package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-details-view.es.js +1 -1
- package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
- package/dist/domains/traces/components/span-outcome.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
- package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -4
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +3 -4
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
- package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
- package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-details-view.es.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
- package/dist/domains/traces/components/trace-error-summary.cjs.js +1 -1
- package/dist/domains/traces/components/trace-error-summary.es.js +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +5 -5
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +5 -5
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-view.es.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
- package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-filters.es.js +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +1 -1
- package/dist/domains/traces.cjs.js +1 -1
- package/dist/domains/traces.es.js +1 -1
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-combobox.es.js +2 -2
- package/dist/domains/workflows/components/workflow-information.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-information.es.js +2 -2
- package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
- package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +2 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +2 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js.map +1 -1
- package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +3 -3
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +3 -3
- package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
- package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-error.es.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
- package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-search.es.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -6
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -5
- package/dist/ee/signals/examples-pager.cjs.js +1 -1
- package/dist/ee/signals/examples-pager.es.js +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +1 -1
- package/dist/ee/signals/sankey-signals.es.js +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
- package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
- package/dist/ee/signals/signals-error-state.cjs.js +1 -1
- package/dist/ee/signals/signals-error-state.es.js +1 -1
- package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
- package/dist/{filter-bar-chip-7O02P9Vk.js → filter-bar-chip-B4sV4gDm.js} +86 -71
- package/dist/filter-bar-chip-B4sV4gDm.js.map +1 -0
- package/dist/{filter-bar-chip-BUyMf8XQ.cjs → filter-bar-chip-CIEsWcEw.cjs} +88 -79
- package/dist/filter-bar-chip-CIEsWcEw.cjs.map +1 -0
- package/dist/filter-bar-chip.css +22 -0
- package/dist/filter-bar-time-range-CXQMBgpz.js +60 -0
- package/dist/filter-bar-time-range-CXQMBgpz.js.map +1 -0
- package/dist/filter-bar-time-range-DvuaFnkI.cjs +83 -0
- package/dist/filter-bar-time-range-DvuaFnkI.cjs.map +1 -0
- package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
- package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
- package/dist/{input-group-uDpFNnSW.cjs → input-group-DVJLZDBL.cjs} +6 -4
- package/dist/input-group-DVJLZDBL.cjs.map +1 -0
- package/dist/{input-group-g85FYfze.js → input-group-QKKV_ouF.js} +7 -5
- package/dist/input-group-QKKV_ouF.js.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
- package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-wrapper.es.js +1 -1
- package/dist/lib/form/components/date-field.cjs.js +1 -1
- package/dist/lib/form/components/date-field.es.js +1 -1
- package/dist/lib/form/components/error-message.cjs.js +1 -1
- package/dist/lib/form/components/error-message.es.js +1 -1
- package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
- package/dist/lib/form/components/form-submit-row.es.js +1 -1
- package/dist/lib/form/components/record-field.cjs.js +1 -1
- package/dist/lib/form/components/record-field.es.js +1 -1
- package/dist/lib/form/components/select-field.cjs.js +1 -1
- package/dist/lib/form/components/select-field.es.js +1 -1
- package/dist/lib/form/components/submit-button.cjs.js +1 -1
- package/dist/lib/form/components/submit-button.es.js +1 -1
- package/dist/lib/form/dynamic-form.cjs.js +2 -2
- package/dist/lib/form/dynamic-form.cjs.js.map +1 -1
- package/dist/lib/form/dynamic-form.es.js +2 -2
- package/dist/lib/form/dynamic-form.es.js.map +1 -1
- package/dist/lib/form/json-draft.cjs.js +1 -1
- package/dist/lib/form/json-draft.es.js +1 -1
- package/dist/lib/form/zod-provider/compat.cjs.js +8 -0
- package/dist/lib/form/zod-provider/compat.cjs.js.map +1 -1
- package/dist/lib/form/zod-provider/compat.es.js +8 -1
- package/dist/lib/form/zod-provider/compat.es.js.map +1 -1
- package/dist/lib/form/zod-provider.cjs.js +1 -1
- package/dist/lib/form/zod-provider.es.js +1 -1
- package/dist/{list-search-BEJmYa9a.cjs → list-search-BtRno5As.cjs} +2 -2
- package/dist/list-search-BtRno5As.cjs.map +1 -0
- package/dist/{list-search-bg7WzULj.js → list-search-CkhsTFdG.js} +2 -2
- package/dist/list-search-CkhsTFdG.js.map +1 -0
- package/dist/{observability-saved-views-CwCii7hh.cjs → observability-saved-views-BAzxxoAr.cjs} +10 -8
- package/dist/observability-saved-views-BAzxxoAr.cjs.map +1 -0
- package/dist/{observability-saved-views-Bo5kLN20.js → observability-saved-views-BBam8Fr5.js} +10 -8
- package/dist/observability-saved-views-BBam8Fr5.js.map +1 -0
- package/dist/primitives/control-icon.cjs.js +9 -0
- package/dist/primitives/control-icon.cjs.js.map +1 -0
- package/dist/primitives/control-icon.d.ts +1 -0
- package/dist/primitives/control-icon.es.js +8 -0
- package/dist/primitives/control-icon.es.js.map +1 -0
- package/dist/primitives/control-size.cjs.js +6 -0
- package/dist/primitives/control-size.cjs.js.map +1 -1
- package/dist/primitives/control-size.es.js +6 -1
- package/dist/primitives/control-size.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +3 -3
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +3 -3
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/trigger-button.cjs.js +1 -1
- package/dist/primitives/trigger-button.es.js +1 -1
- package/dist/{property-filter-applied-DqsPFbYM.cjs → property-filter-applied-BCeRLcXb.cjs} +18 -18
- package/dist/{property-filter-applied-DqsPFbYM.cjs.map → property-filter-applied-BCeRLcXb.cjs.map} +1 -1
- package/dist/{property-filter-applied-DRglaEj-.js → property-filter-applied-p3dTTDdb.js} +3 -3
- package/dist/{property-filter-applied-DRglaEj-.js.map → property-filter-applied-p3dTTDdb.js.map} +1 -1
- package/dist/{select-BbFpEBAY.js → select-BdIZEdcy.js} +4 -8
- package/dist/select-BdIZEdcy.js.map +1 -0
- package/dist/{select-NySY9Men.cjs → select-Dg8L5ROX.cjs} +3 -7
- package/dist/select-Dg8L5ROX.cjs.map +1 -0
- package/dist/{span-payload-primitives-Dyhbqaa7.js → span-payload-primitives-B3RdahsC.js} +4 -4
- package/dist/{span-payload-primitives-Dyhbqaa7.js.map → span-payload-primitives-B3RdahsC.js.map} +1 -1
- package/dist/{span-payload-primitives-B10Xxmx7.cjs → span-payload-primitives-_2d-pAOD.cjs} +4 -4
- package/dist/{span-payload-primitives-B10Xxmx7.cjs.map → span-payload-primitives-_2d-pAOD.cjs.map} +1 -1
- package/dist/src/domains/chat/index.d.ts +1 -0
- package/dist/src/domains/chat/knowledge/index.d.ts +5 -0
- package/dist/src/domains/chat/knowledge/knowledge-links.d.ts +21 -0
- package/dist/src/domains/chat/knowledge/pinned-knowledge-data.d.ts +22 -0
- package/dist/src/domains/chat/knowledge/pinned-knowledge.d.ts +9 -0
- package/dist/src/domains/chat/tools/badges/knowledge-tool-badge.d.ts +19 -0
- package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -2
- package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +42 -0
- package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +80 -0
- package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +35 -0
- package/dist/src/domains/knowledge/components/KnowledgePageTree.d.ts +27 -0
- package/dist/src/domains/knowledge/hooks/useInteractionIdle.d.ts +12 -0
- package/dist/src/domains/knowledge/lib/layout.d.ts +35 -0
- package/dist/src/domains/knowledge/lib/pageGraph.d.ts +45 -0
- package/dist/src/domains/knowledge/lib/pageLayout.d.ts +24 -0
- package/dist/src/domains/knowledge/lib/pageTree.d.ts +28 -0
- package/dist/src/domains/knowledge/lib/popupPlacement.d.ts +12 -0
- package/dist/src/domains/knowledge/lib/recordText.d.ts +9 -0
- package/dist/src/domains/knowledge/pageTypes.d.ts +96 -0
- package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +2 -2
- package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +6 -1
- package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +1 -0
- package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -1
- package/dist/src/domains/skills/skill-simple-form.d.ts +3 -1
- package/dist/src/domains/spans/components/spans-filter-bar.d.ts +1 -1
- package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
- package/dist/src/domains/spans/span-filters.d.ts +1 -1
- package/dist/src/domains/threads/components/threads-filter-bar.d.ts +1 -1
- package/dist/src/domains/threads/hooks/use-threads-filter-bar.d.ts +1 -1
- package/dist/src/domains/threads/thread-filters.d.ts +1 -1
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +3 -3
- package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +1 -1
- package/dist/src/ds/components/Button/Button.d.ts +15 -0
- package/dist/src/ds/components/ClearFiltersButton/clear-filters-button.d.ts +12 -0
- package/dist/src/ds/components/ClearFiltersButton/index.d.ts +1 -0
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +0 -1
- package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +12 -11
- package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -7
- package/dist/src/ds/components/FilterBar/filter-bar-time-range.d.ts +19 -0
- package/dist/src/ds/components/FilterBar/filter-bar.d.ts +2 -0
- package/dist/src/ds/components/FilterBar/index.d.ts +2 -0
- package/dist/src/ds/components/FilterBar/use-filter-bar-item-keys.d.ts +23 -0
- package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -0
- package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +3 -1
- package/dist/src/ds/components/ai/tool-call/tool-phrases.d.ts +30 -0
- package/dist/src/ds/primitives/control-icon.d.ts +3 -0
- package/dist/src/ds/primitives/control-size.d.ts +1 -0
- package/dist/src/lib/form/zod-provider/compat.d.ts +5 -0
- package/dist/style.css +181 -66
- package/dist/{tabbed-container-BKUqfEKy.js → tabbed-container-5j6dhoRX.js} +6 -6
- package/dist/{tabbed-container-BKUqfEKy.js.map → tabbed-container-5j6dhoRX.js.map} +1 -1
- package/dist/{tabbed-container-CFEImJOK.cjs → tabbed-container-DQU7pVio.cjs} +6 -6
- package/dist/{tabbed-container-CFEImJOK.cjs.map → tabbed-container-DQU7pVio.cjs.map} +1 -1
- package/dist/{tabs-content-DgR3Hik1.cjs → tabs-content-CmXe5ML0.cjs} +2 -2
- package/dist/{tabs-content-DgR3Hik1.cjs.map → tabs-content-CmXe5ML0.cjs.map} +1 -1
- package/dist/{tabs-content-cpV6A9c3.js → tabs-content-D__B9hd-.js} +2 -2
- package/dist/{tabs-content-cpV6A9c3.js.map → tabs-content-D__B9hd-.js.map} +1 -1
- package/dist/{tabs-tab-UT1JliwK.js → tabs-tab-CYTZevdV.js} +2 -2
- package/dist/{tabs-tab-UT1JliwK.js.map → tabs-tab-CYTZevdV.js.map} +1 -1
- package/dist/{tabs-tab-Qp3RJ17z.cjs → tabs-tab-DGwfHVDr.cjs} +2 -2
- package/dist/{tabs-tab-Qp3RJ17z.cjs.map → tabs-tab-DGwfHVDr.cjs.map} +1 -1
- package/dist/{toast-api-WhxnAT9F.js → toast-api-D_rrRhNG.js} +2 -2
- package/dist/{toast-api-WhxnAT9F.js.map → toast-api-D_rrRhNG.js.map} +1 -1
- package/dist/{toast-api-Bv87KHu_.cjs → toast-api-qtkOucy2.cjs} +2 -2
- package/dist/{toast-api-Bv87KHu_.cjs.map → toast-api-qtkOucy2.cjs.map} +1 -1
- package/dist/{tool-approval-BfjoSNOC.cjs → tool-approval-1qiB4hhG.cjs} +5 -5
- package/dist/{tool-approval-BfjoSNOC.cjs.map → tool-approval-1qiB4hhG.cjs.map} +1 -1
- package/dist/{tool-approval-FeuyUUcL.js → tool-approval-B6MFcaKV.js} +5 -5
- package/dist/{tool-approval-FeuyUUcL.js.map → tool-approval-B6MFcaKV.js.map} +1 -1
- package/dist/{tool-call-CvilN9ti.cjs → tool-call-Bu66PkD-.cjs} +34 -4
- package/dist/{tool-call-CvilN9ti.cjs.map → tool-call-Bu66PkD-.cjs.map} +1 -1
- package/dist/{tool-call-BxYXs9w0.js → tool-call-Ch9-jjXU.js} +34 -4
- package/dist/{tool-call-BxYXs9w0.js.map → tool-call-Ch9-jjXU.js.map} +1 -1
- package/dist/{tool-card-B7O8AsRl.cjs → tool-card-DrqPZfPQ.cjs} +20 -6
- package/dist/tool-card-DrqPZfPQ.cjs.map +1 -0
- package/dist/{tool-card-ELW898uw.js → tool-card-sO6P2Qj4.js} +20 -6
- package/dist/tool-card-sO6P2Qj4.js.map +1 -0
- package/dist/{tool-presentation-BLErsb7c.cjs → tool-presentation-CQlDEwgS.cjs} +26 -1
- package/dist/tool-presentation-CQlDEwgS.cjs.map +1 -0
- package/dist/{tool-presentation-BSZYIWx2.js → tool-presentation-DvCsb_kz.js} +26 -1
- package/dist/tool-presentation-DvCsb_kz.js.map +1 -0
- package/dist/{trace-filters-BJaebsxJ.js → trace-filters-CaWkw779.js} +2 -3
- package/dist/trace-filters-CaWkw779.js.map +1 -0
- package/dist/{trace-filters-BNEZ31HX.cjs → trace-filters-a0N9bf52.cjs} +1 -2
- package/dist/trace-filters-a0N9bf52.cjs.map +1 -0
- package/dist/{use-workflow-graph-runtime-deTN_q_G.js → use-workflow-graph-runtime-BKNhOKsH.js} +3 -3
- package/dist/{use-workflow-graph-runtime-deTN_q_G.js.map → use-workflow-graph-runtime-BKNhOKsH.js.map} +1 -1
- package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs → use-workflow-graph-runtime-DYao-08R.cjs} +3 -3
- package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs.map → use-workflow-graph-runtime-DYao-08R.cjs.map} +1 -1
- package/dist/utils/toast.cjs.js +1 -1
- package/dist/utils/toast.es.js +1 -1
- package/package.json +12 -10
- package/theme.css +4 -0
- package/dist/ActionRow-BfK77pCT.cjs.map +0 -1
- package/dist/ActionRow-Cd6tOC2K.js.map +0 -1
- package/dist/Button-Bw1e3ONi.js.map +0 -1
- package/dist/Button-YQRflC47.cjs.map +0 -1
- package/dist/DateTimeRangePicker-C_Lie_2P.js.map +0 -1
- package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +0 -1
- package/dist/FilterBar--4oguuVe.js.map +0 -1
- package/dist/FilterBar-BUd4f7oi.cjs.map +0 -1
- package/dist/combobox-parts-BZVXwbG7.cjs.map +0 -1
- package/dist/combobox-parts-W7KRQUsV.js.map +0 -1
- package/dist/components/ButtonsGroup.cjs.js.map +0 -1
- package/dist/components/ButtonsGroup.es.js.map +0 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +0 -90
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +0 -1
- package/dist/domains/traces/components/trace-time-range-chip.d.ts +0 -1
- package/dist/domains/traces/components/trace-time-range-chip.es.js +0 -86
- package/dist/domains/traces/components/trace-time-range-chip.es.js.map +0 -1
- package/dist/filter-bar-chip-7O02P9Vk.js.map +0 -1
- package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +0 -1
- package/dist/input-group-g85FYfze.js.map +0 -1
- package/dist/input-group-uDpFNnSW.cjs.map +0 -1
- package/dist/list-search-BEJmYa9a.cjs.map +0 -1
- package/dist/list-search-bg7WzULj.js.map +0 -1
- package/dist/observability-saved-views-Bo5kLN20.js.map +0 -1
- package/dist/observability-saved-views-CwCii7hh.cjs.map +0 -1
- package/dist/select-BbFpEBAY.js.map +0 -1
- package/dist/select-NySY9Men.cjs.map +0 -1
- package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +0 -22
- package/dist/tool-card-B7O8AsRl.cjs.map +0 -1
- package/dist/tool-card-ELW898uw.js.map +0 -1
- package/dist/tool-presentation-BLErsb7c.cjs.map +0 -1
- package/dist/tool-presentation-BSZYIWx2.js.map +0 -1
- package/dist/trace-filters-BJaebsxJ.js.map +0 -1
- package/dist/trace-filters-BNEZ31HX.cjs.map +0 -1
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_Txt = require("../../../../Txt-BnoSqxKE.cjs");
|
|
3
|
+
const require_MarkdownRenderer = require("../../../../MarkdownRenderer-CB8Z_CHc.cjs");
|
|
4
|
+
const require_domains_chat_messages_signal_data = require("../../messages/signal-data.cjs.js");
|
|
5
|
+
const require_domains_chat_knowledge_knowledge_links = require("../../knowledge/knowledge-links.cjs.js");
|
|
6
|
+
const require_domains_chat_tools_badges_tool_approval_badge = require("./tool-approval-badge.cjs.js");
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
let lucide_react = require("lucide-react");
|
|
9
|
+
// src/domains/chat/tools/badges/knowledge-tool-badge.tsx
|
|
10
|
+
/** The tools `Knowledge.createTools()` gives an agent. */
|
|
11
|
+
var KNOWLEDGE_TOOLS = /* @__PURE__ */ new Set([
|
|
12
|
+
"knowledge_search",
|
|
13
|
+
"knowledge_read",
|
|
14
|
+
"knowledge_page",
|
|
15
|
+
"knowledge_note",
|
|
16
|
+
"knowledge_pin"
|
|
17
|
+
]);
|
|
18
|
+
var str = (value) => typeof value === "string" && value ? value : void 0;
|
|
19
|
+
function asPage(value) {
|
|
20
|
+
if (!require_domains_chat_messages_signal_data.isRecord(value) || !str(value.id) || typeof value.name !== "string") return void 0;
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
function asNotes(value) {
|
|
24
|
+
return Array.isArray(value) ? value.filter((note) => require_domains_chat_messages_signal_data.isRecord(note) && typeof note.text === "string") : [];
|
|
25
|
+
}
|
|
26
|
+
var where = (page) => page.address ?? page.scope;
|
|
27
|
+
function PageLink({ page }) {
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_chat_knowledge_knowledge_links.KnowledgePageLink, {
|
|
29
|
+
pageId: page.id,
|
|
30
|
+
children: page.name
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function Meta({ children }) {
|
|
34
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
|
|
35
|
+
as: "span",
|
|
36
|
+
variant: "meta",
|
|
37
|
+
tone: "muted",
|
|
38
|
+
className: "truncate",
|
|
39
|
+
children
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function PageLine({ page, linked = true }) {
|
|
43
|
+
const scope = where(page);
|
|
44
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
45
|
+
className: "flex min-w-0 items-baseline gap-2",
|
|
46
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
|
|
47
|
+
as: "span",
|
|
48
|
+
variant: "label",
|
|
49
|
+
children: linked ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLink, { page }) : page.name
|
|
50
|
+
}), scope ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: page.key ? `${scope}#${page.key}` : scope }) : null]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function Body({ markdown }) {
|
|
54
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
55
|
+
className: "border-border1 max-h-64 overflow-auto rounded-md border p-2",
|
|
56
|
+
"data-testid": "knowledge-tool-body",
|
|
57
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MarkdownRenderer.MarkdownRenderer, { children: markdown })
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
var MENTION = /\[\[([^\]]+)\]\]/g;
|
|
61
|
+
/** A note's text with each resolved `[[Page Name]]` linking to its page; unresolved names stay plain. */
|
|
62
|
+
function NoteText({ note }) {
|
|
63
|
+
const parts = [];
|
|
64
|
+
let last = 0;
|
|
65
|
+
for (const match of note.text.matchAll(MENTION)) {
|
|
66
|
+
const ref = (match[1] ?? "").trim();
|
|
67
|
+
const mentioned = note.mentions && Object.hasOwn(note.mentions, ref) ? note.mentions[ref] : void 0;
|
|
68
|
+
const pageId = typeof mentioned === "string" ? mentioned : void 0;
|
|
69
|
+
parts.push(note.text.slice(last, match.index));
|
|
70
|
+
parts.push(pageId ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_chat_knowledge_knowledge_links.KnowledgePageLink, {
|
|
71
|
+
pageId,
|
|
72
|
+
className: "text-foreground underline decoration-dotted underline-offset-2 hover:decoration-solid",
|
|
73
|
+
children: ref
|
|
74
|
+
}, match.index) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
75
|
+
className: "text-foreground",
|
|
76
|
+
"data-testid": "knowledge-unresolved-mention",
|
|
77
|
+
children: ref
|
|
78
|
+
}, match.index));
|
|
79
|
+
last = match.index + match[0].length;
|
|
80
|
+
}
|
|
81
|
+
parts.push(note.text.slice(last));
|
|
82
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: parts });
|
|
83
|
+
}
|
|
84
|
+
function NoteList({ notes }) {
|
|
85
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
|
|
86
|
+
className: "flex flex-col gap-1",
|
|
87
|
+
children: notes.map((note) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
|
|
88
|
+
className: "flex flex-col",
|
|
89
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
|
|
90
|
+
as: "span",
|
|
91
|
+
variant: "body",
|
|
92
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NoteText, { note })
|
|
93
|
+
}), note.page || note.author ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Meta, { children: [
|
|
94
|
+
note.page ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLink, { page: note.page }) : null,
|
|
95
|
+
note.page && note.author ? " · " : null,
|
|
96
|
+
note.author
|
|
97
|
+
] }) : null]
|
|
98
|
+
}, note.id))
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/** What each Knowledge tool's settled result says, or null when the shape isn't one we know. */
|
|
102
|
+
function knowledgeCard(toolName, input, output) {
|
|
103
|
+
if (!require_domains_chat_messages_signal_data.isRecord(output)) return null;
|
|
104
|
+
const args = require_domains_chat_messages_signal_data.isRecord(input) ? input : {};
|
|
105
|
+
switch (toolName) {
|
|
106
|
+
case "knowledge_search": {
|
|
107
|
+
if (!Array.isArray(output.results)) return null;
|
|
108
|
+
const hits = output.results.filter(require_domains_chat_messages_signal_data.isRecord);
|
|
109
|
+
return {
|
|
110
|
+
title: "Searched Knowledge",
|
|
111
|
+
detail: str(args.query),
|
|
112
|
+
body: hits.length ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
|
|
113
|
+
className: "flex flex-col gap-1.5",
|
|
114
|
+
children: hits.map((hit, index) => {
|
|
115
|
+
const page = asPage(hit.page);
|
|
116
|
+
const [note] = asNotes([hit.note]);
|
|
117
|
+
return page ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
|
|
118
|
+
className: "flex flex-col",
|
|
119
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLine, { page }), note ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NoteText, { note }) }) : null]
|
|
120
|
+
}, `${page.id}-${note?.id ?? index}`) : null;
|
|
121
|
+
})
|
|
122
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: "No matches" })
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
case "knowledge_read": {
|
|
126
|
+
const page = asPage(output.page);
|
|
127
|
+
if (!page) {
|
|
128
|
+
if (!Array.isArray(output.scopes)) return null;
|
|
129
|
+
const scopes = output.scopes.filter(require_domains_chat_messages_signal_data.isRecord);
|
|
130
|
+
return {
|
|
131
|
+
title: "Listed Knowledge scopes",
|
|
132
|
+
body: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
|
|
133
|
+
className: "flex flex-col gap-1",
|
|
134
|
+
children: scopes.map((scope) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", { children: [
|
|
135
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
|
|
136
|
+
as: "span",
|
|
137
|
+
variant: "body",
|
|
138
|
+
children: String(scope.name)
|
|
139
|
+
}),
|
|
140
|
+
" ",
|
|
141
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: String(scope.address) })
|
|
142
|
+
] }, String(scope.address)))
|
|
143
|
+
})
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
const notes = asNotes(output.notes);
|
|
147
|
+
const children = Array.isArray(output.children) ? output.children.map(asPage).filter((child) => child !== void 0) : [];
|
|
148
|
+
const mentionedIn = asNotes(output.mentionedIn);
|
|
149
|
+
const childScopes = Array.isArray(output.childScopes) ? output.childScopes.filter(require_domains_chat_messages_signal_data.isRecord) : [];
|
|
150
|
+
return {
|
|
151
|
+
title: "Read",
|
|
152
|
+
detail: page.name,
|
|
153
|
+
body: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
154
|
+
className: "flex flex-col gap-2",
|
|
155
|
+
children: [
|
|
156
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLine, { page }),
|
|
157
|
+
page.description ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: page.description }) : null,
|
|
158
|
+
page.body ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Body, { markdown: page.body }) : null,
|
|
159
|
+
notes.length ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NoteList, { notes }) : null,
|
|
160
|
+
children.length ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Meta, { children: ["Child pages: ", children.map((child) => child.name).join(", ")] }) : null,
|
|
161
|
+
childScopes.length ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Meta, { children: [
|
|
162
|
+
"Child scopes:",
|
|
163
|
+
" ",
|
|
164
|
+
childScopes.map((scope) => scope.address ? `${String(scope.name)} (${String(scope.address)})` : String(scope.name)).join(", ")
|
|
165
|
+
] }) : null,
|
|
166
|
+
mentionedIn.length ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
167
|
+
className: "flex flex-col gap-1",
|
|
168
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: "Mentioned in" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NoteList, { notes: mentionedIn })]
|
|
169
|
+
}) : null
|
|
170
|
+
]
|
|
171
|
+
})
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
case "knowledge_page": {
|
|
175
|
+
const page = asPage(output.page);
|
|
176
|
+
if (!page) return null;
|
|
177
|
+
const op = str(args.op);
|
|
178
|
+
if (op === "delete") return {
|
|
179
|
+
title: "Deleted page",
|
|
180
|
+
detail: page.name,
|
|
181
|
+
body: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLine, {
|
|
182
|
+
page,
|
|
183
|
+
linked: false
|
|
184
|
+
})
|
|
185
|
+
};
|
|
186
|
+
const title = op === "move" ? "Moved page" : op === "merge" ? "Merged page" : args.page ? "Updated page" : "Created page";
|
|
187
|
+
const body = str(args.body);
|
|
188
|
+
const description = str(args.description);
|
|
189
|
+
return {
|
|
190
|
+
title,
|
|
191
|
+
detail: page.name,
|
|
192
|
+
body: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
193
|
+
className: "flex flex-col gap-2",
|
|
194
|
+
children: [
|
|
195
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLine, { page }),
|
|
196
|
+
op === "merge" && str(args.page) ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Meta, { children: [
|
|
197
|
+
"Merged ",
|
|
198
|
+
str(args.page),
|
|
199
|
+
" into this page"
|
|
200
|
+
] }) : null,
|
|
201
|
+
typeof page.version === "number" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Meta, { children: ["Version ", page.version] }) : null,
|
|
202
|
+
description ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: description }) : null,
|
|
203
|
+
body ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Body, { markdown: body }) : null
|
|
204
|
+
]
|
|
205
|
+
})
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
case "knowledge_note": {
|
|
209
|
+
if (str(output.removed)) return {
|
|
210
|
+
title: "Removed note",
|
|
211
|
+
body: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Meta, { children: ["Note ", String(output.removed)] })
|
|
212
|
+
};
|
|
213
|
+
const [note] = asNotes([output.note]);
|
|
214
|
+
if (!note) return null;
|
|
215
|
+
const pageRef = str(args.page);
|
|
216
|
+
const pageId = str(output.page);
|
|
217
|
+
return {
|
|
218
|
+
title: str(args.op) === "restamp" ? "Restamped note" : "Added note",
|
|
219
|
+
detail: pageRef,
|
|
220
|
+
body: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
221
|
+
className: "flex flex-col gap-1",
|
|
222
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
|
|
223
|
+
as: "span",
|
|
224
|
+
variant: "body",
|
|
225
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NoteText, { note })
|
|
226
|
+
}), pageId ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Meta, { children: ["On ", /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLink, { page: {
|
|
227
|
+
id: pageId,
|
|
228
|
+
name: pageRef ?? "the page"
|
|
229
|
+
} })] }) : null]
|
|
230
|
+
})
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
case "knowledge_pin": {
|
|
234
|
+
const pageId = str(output.page);
|
|
235
|
+
if (!pageId || !Array.isArray(output.audience)) return null;
|
|
236
|
+
const pageRef = str(args.page);
|
|
237
|
+
const audience = output.audience.filter((entry) => typeof entry === "string");
|
|
238
|
+
return {
|
|
239
|
+
title: str(args.op) === "unpin" ? "Unpinned page" : "Pinned page",
|
|
240
|
+
detail: pageRef,
|
|
241
|
+
body: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
242
|
+
className: "flex flex-col gap-1",
|
|
243
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PageLink, { page: {
|
|
244
|
+
id: pageId,
|
|
245
|
+
name: pageRef ?? "the page"
|
|
246
|
+
} }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Meta, { children: audience.length ? `Pinned for ${audience.join(", ")}` : "No longer pinned for anyone" })]
|
|
247
|
+
})
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
default: return null;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
var KnowledgeToolBadge = ({ card, toolName, metadata, toolCallId, toolApprovalMetadata, isNetwork, status = "idle" }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_chat_tools_badges_tool_approval_badge.ToolApprovalBadge, {
|
|
254
|
+
approval: {
|
|
255
|
+
toolCalled: true,
|
|
256
|
+
toolCallId,
|
|
257
|
+
toolApprovalMetadata,
|
|
258
|
+
toolName,
|
|
259
|
+
isNetwork,
|
|
260
|
+
isGenerateMode: metadata?.mode === "generate"
|
|
261
|
+
},
|
|
262
|
+
"data-testid": "knowledge-tool-badge",
|
|
263
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.BookOpen, { "aria-hidden": true }),
|
|
264
|
+
title: card.title,
|
|
265
|
+
detail: card.detail,
|
|
266
|
+
status,
|
|
267
|
+
children: card.body
|
|
268
|
+
});
|
|
269
|
+
exports.KNOWLEDGE_TOOLS = KNOWLEDGE_TOOLS;
|
|
270
|
+
exports.KnowledgeToolBadge = KnowledgeToolBadge;
|
|
271
|
+
exports.knowledgeCard = knowledgeCard;
|
|
272
|
+
|
|
273
|
+
//# sourceMappingURL=knowledge-tool-badge.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-tool-badge.cjs.js","names":["isRecord","KnowledgePageLink","Txt","MarkdownRenderer","_Fragment","ToolApprovalBadge","BookOpen"],"sources":["../../../../../src/domains/chat/tools/badges/knowledge-tool-badge.tsx"],"sourcesContent":["import { BookOpen } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { KnowledgePageLink } from '../../knowledge/knowledge-links';\nimport { isRecord } from '../../messages/signal-data';\nimport type { MessageMetadata } from '@/domains/chat';\nimport type { ToolApprovalRequest } from '@/domains/chat/tools/badges/tool-approval-badge';\nimport { ToolApprovalBadge } from '@/domains/chat/tools/badges/tool-approval-badge';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** The tools `Knowledge.createTools()` gives an agent. */\nexport const KNOWLEDGE_TOOLS = new Set([\n 'knowledge_search',\n 'knowledge_read',\n 'knowledge_page',\n 'knowledge_note',\n 'knowledge_pin',\n]);\n\ninterface PageSummary {\n id: string;\n name: string;\n address?: string;\n scope?: string;\n key?: string;\n description?: string;\n version?: number;\n body?: string;\n}\n\ninterface NoteSummary {\n id: string;\n text: string;\n author?: string;\n page?: PageSummary;\n /** Which `[[ref]]` in `text` links to which page id; refs the server couldn't resolve aren't here. */\n mentions?: Record<string, string>;\n}\n\nconst str = (value: unknown): string | undefined => (typeof value === 'string' && value ? value : undefined);\n\nfunction asPage(value: unknown): PageSummary | undefined {\n if (!isRecord(value) || !str(value.id) || typeof value.name !== 'string') return undefined;\n return value as unknown as PageSummary;\n}\n\nfunction asNotes(value: unknown): NoteSummary[] {\n return Array.isArray(value)\n ? value.filter((note): note is NoteSummary => isRecord(note) && typeof note.text === 'string')\n : [];\n}\n\nconst where = (page: PageSummary) => page.address ?? page.scope;\n\nfunction PageLink({ page }: { page: PageSummary }) {\n return <KnowledgePageLink pageId={page.id}>{page.name}</KnowledgePageLink>;\n}\n\nfunction Meta({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"truncate\">\n {children}\n </Txt>\n );\n}\n\nfunction PageLine({ page, linked = true }: { page: PageSummary; linked?: boolean }) {\n const scope = where(page);\n return (\n <div className=\"flex min-w-0 items-baseline gap-2\">\n <Txt as=\"span\" variant=\"label\">\n {linked ? <PageLink page={page} /> : page.name}\n </Txt>\n {scope ? <Meta>{page.key ? `${scope}#${page.key}` : scope}</Meta> : null}\n </div>\n );\n}\n\nfunction Body({ markdown }: { markdown: string }) {\n return (\n <div className=\"border-border1 max-h-64 overflow-auto rounded-md border p-2\" data-testid=\"knowledge-tool-body\">\n <MarkdownRenderer>{markdown}</MarkdownRenderer>\n </div>\n );\n}\n\nconst MENTION = /\\[\\[([^\\]]+)\\]\\]/g;\n\n/** A note's text with each resolved `[[Page Name]]` linking to its page; unresolved names stay plain. */\nfunction NoteText({ note }: { note: NoteSummary }) {\n const parts: ReactNode[] = [];\n let last = 0;\n for (const match of note.text.matchAll(MENTION)) {\n const ref = (match[1] ?? '').trim();\n // Own string values only: `[[constructor]]` must not read Object.prototype.\n const mentioned = note.mentions && Object.hasOwn(note.mentions, ref) ? note.mentions[ref] : undefined;\n const pageId = typeof mentioned === 'string' ? mentioned : undefined;\n parts.push(note.text.slice(last, match.index));\n parts.push(\n pageId ? (\n <KnowledgePageLink\n key={match.index}\n pageId={pageId}\n className=\"text-foreground underline decoration-dotted underline-offset-2 hover:decoration-solid\"\n >\n {ref}\n </KnowledgePageLink>\n ) : (\n <span key={match.index} className=\"text-foreground\" data-testid=\"knowledge-unresolved-mention\">\n {ref}\n </span>\n ),\n );\n last = match.index + match[0].length;\n }\n parts.push(note.text.slice(last));\n return <>{parts}</>;\n}\n\nfunction NoteList({ notes }: { notes: NoteSummary[] }) {\n return (\n <ul className=\"flex flex-col gap-1\">\n {notes.map(note => (\n <li key={note.id} className=\"flex flex-col\">\n <Txt as=\"span\" variant=\"body\">\n <NoteText note={note} />\n </Txt>\n {note.page || note.author ? (\n <Meta>\n {note.page ? <PageLink page={note.page} /> : null}\n {note.page && note.author ? ' · ' : null}\n {note.author}\n </Meta>\n ) : null}\n </li>\n ))}\n </ul>\n );\n}\n\nexport interface KnowledgeCard {\n title: string;\n detail?: string;\n body: ReactNode;\n}\n\n/** What each Knowledge tool's settled result says, or null when the shape isn't one we know. */\nexport function knowledgeCard(toolName: string, input: unknown, output: unknown): KnowledgeCard | null {\n if (!isRecord(output)) return null;\n const args = isRecord(input) ? input : {};\n switch (toolName) {\n case 'knowledge_search': {\n if (!Array.isArray(output.results)) return null;\n const hits = output.results.filter(isRecord);\n return {\n title: 'Searched Knowledge',\n detail: str(args.query),\n body: hits.length ? (\n <ul className=\"flex flex-col gap-1.5\">\n {hits.map((hit, index) => {\n const page = asPage(hit.page);\n const [note] = asNotes([hit.note]);\n return page ? (\n <li key={`${page.id}-${note?.id ?? index}`} className=\"flex flex-col\">\n <PageLine page={page} />\n {note ? (\n <Meta>\n <NoteText note={note} />\n </Meta>\n ) : null}\n </li>\n ) : null;\n })}\n </ul>\n ) : (\n <Meta>No matches</Meta>\n ),\n };\n }\n case 'knowledge_read': {\n const page = asPage(output.page);\n if (!page) {\n if (!Array.isArray(output.scopes)) return null;\n const scopes = output.scopes.filter(isRecord);\n return {\n title: 'Listed Knowledge scopes',\n body: (\n <ul className=\"flex flex-col gap-1\">\n {scopes.map(scope => (\n <li key={String(scope.address)}>\n <Txt as=\"span\" variant=\"body\">\n {String(scope.name)}\n </Txt>{' '}\n <Meta>{String(scope.address)}</Meta>\n </li>\n ))}\n </ul>\n ),\n };\n }\n const notes = asNotes(output.notes);\n const children = Array.isArray(output.children)\n ? output.children.map(asPage).filter((child): child is PageSummary => child !== undefined)\n : [];\n const mentionedIn = asNotes(output.mentionedIn);\n const childScopes = Array.isArray(output.childScopes) ? output.childScopes.filter(isRecord) : [];\n return {\n title: 'Read',\n detail: page.name,\n body: (\n <div className=\"flex flex-col gap-2\">\n <PageLine page={page} />\n {page.description ? <Meta>{page.description}</Meta> : null}\n {page.body ? <Body markdown={page.body} /> : null}\n {notes.length ? <NoteList notes={notes} /> : null}\n {children.length ? <Meta>Child pages: {children.map(child => child.name).join(', ')}</Meta> : null}\n {childScopes.length ? (\n <Meta>\n Child scopes:{' '}\n {childScopes\n .map(scope =>\n scope.address ? `${String(scope.name)} (${String(scope.address)})` : String(scope.name),\n )\n .join(', ')}\n </Meta>\n ) : null}\n {mentionedIn.length ? (\n <div className=\"flex flex-col gap-1\">\n <Meta>Mentioned in</Meta>\n <NoteList notes={mentionedIn} />\n </div>\n ) : null}\n </div>\n ),\n };\n }\n case 'knowledge_page': {\n const page = asPage(output.page);\n if (!page) return null;\n const op = str(args.op);\n if (op === 'delete') {\n // The page no longer exists, so name it without a link.\n return { title: 'Deleted page', detail: page.name, body: <PageLine page={page} linked={false} /> };\n }\n const title =\n op === 'move' ? 'Moved page' : op === 'merge' ? 'Merged page' : args.page ? 'Updated page' : 'Created page';\n const body = str(args.body);\n const description = str(args.description);\n return {\n title,\n detail: page.name,\n body: (\n <div className=\"flex flex-col gap-2\">\n <PageLine page={page} />\n {op === 'merge' && str(args.page) ? <Meta>Merged {str(args.page)} into this page</Meta> : null}\n {typeof page.version === 'number' ? <Meta>Version {page.version}</Meta> : null}\n {description ? <Meta>{description}</Meta> : null}\n {body ? <Body markdown={body} /> : null}\n </div>\n ),\n };\n }\n case 'knowledge_note': {\n if (str(output.removed)) return { title: 'Removed note', body: <Meta>Note {String(output.removed)}</Meta> };\n const [note] = asNotes([output.note]);\n if (!note) return null;\n const pageRef = str(args.page);\n const pageId = str(output.page);\n return {\n title: str(args.op) === 'restamp' ? 'Restamped note' : 'Added note',\n detail: pageRef,\n body: (\n <div className=\"flex flex-col gap-1\">\n <Txt as=\"span\" variant=\"body\">\n <NoteText note={note} />\n </Txt>\n {pageId ? (\n <Meta>\n On <PageLink page={{ id: pageId, name: pageRef ?? 'the page' }} />\n </Meta>\n ) : null}\n </div>\n ),\n };\n }\n case 'knowledge_pin': {\n const pageId = str(output.page);\n if (!pageId || !Array.isArray(output.audience)) return null;\n const pageRef = str(args.page);\n const audience = output.audience.filter((entry): entry is string => typeof entry === 'string');\n return {\n title: str(args.op) === 'unpin' ? 'Unpinned page' : 'Pinned page',\n detail: pageRef,\n body: (\n <div className=\"flex flex-col gap-1\">\n <Meta>\n <PageLink page={{ id: pageId, name: pageRef ?? 'the page' }} />\n </Meta>\n <Meta>{audience.length ? `Pinned for ${audience.join(', ')}` : 'No longer pinned for anyone'}</Meta>\n </div>\n ),\n };\n }\n default:\n return null;\n }\n}\n\nexport interface KnowledgeToolBadgeProps extends Omit<ToolApprovalRequest, 'toolCalled'> {\n card: KnowledgeCard;\n metadata?: MessageMetadata;\n status?: ActivityStatus;\n}\n\nexport const KnowledgeToolBadge = ({\n card,\n toolName,\n metadata,\n toolCallId,\n toolApprovalMetadata,\n isNetwork,\n status = 'idle',\n}: KnowledgeToolBadgeProps) => (\n <ToolApprovalBadge\n approval={{\n toolCalled: true,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n isGenerateMode: metadata?.mode === 'generate',\n }}\n data-testid=\"knowledge-tool-badge\"\n icon={<BookOpen aria-hidden />}\n title={card.title}\n detail={card.detail}\n status={status}\n >\n {card.body}\n </ToolApprovalBadge>\n);\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../../../src/domains/chat/tools/badges/knowledge-tool-badge';
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { t as Txt } from "../../../../Txt-BM6TVV_c.js";
|
|
2
|
+
import { t as MarkdownRenderer } from "../../../../MarkdownRenderer-2GOXQJEv.js";
|
|
3
|
+
import { isRecord } from "../../messages/signal-data.es.js";
|
|
4
|
+
import { KnowledgePageLink } from "../../knowledge/knowledge-links.es.js";
|
|
5
|
+
import { ToolApprovalBadge } from "./tool-approval-badge.es.js";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { BookOpen } from "lucide-react";
|
|
8
|
+
// src/domains/chat/tools/badges/knowledge-tool-badge.tsx
|
|
9
|
+
/** The tools `Knowledge.createTools()` gives an agent. */
|
|
10
|
+
var KNOWLEDGE_TOOLS = /* @__PURE__ */ new Set([
|
|
11
|
+
"knowledge_search",
|
|
12
|
+
"knowledge_read",
|
|
13
|
+
"knowledge_page",
|
|
14
|
+
"knowledge_note",
|
|
15
|
+
"knowledge_pin"
|
|
16
|
+
]);
|
|
17
|
+
var str = (value) => typeof value === "string" && value ? value : void 0;
|
|
18
|
+
function asPage(value) {
|
|
19
|
+
if (!isRecord(value) || !str(value.id) || typeof value.name !== "string") return void 0;
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
function asNotes(value) {
|
|
23
|
+
return Array.isArray(value) ? value.filter((note) => isRecord(note) && typeof note.text === "string") : [];
|
|
24
|
+
}
|
|
25
|
+
var where = (page) => page.address ?? page.scope;
|
|
26
|
+
function PageLink({ page }) {
|
|
27
|
+
return /* @__PURE__ */ jsx(KnowledgePageLink, {
|
|
28
|
+
pageId: page.id,
|
|
29
|
+
children: page.name
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function Meta({ children }) {
|
|
33
|
+
return /* @__PURE__ */ jsx(Txt, {
|
|
34
|
+
as: "span",
|
|
35
|
+
variant: "meta",
|
|
36
|
+
tone: "muted",
|
|
37
|
+
className: "truncate",
|
|
38
|
+
children
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function PageLine({ page, linked = true }) {
|
|
42
|
+
const scope = where(page);
|
|
43
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
44
|
+
className: "flex min-w-0 items-baseline gap-2",
|
|
45
|
+
children: [/* @__PURE__ */ jsx(Txt, {
|
|
46
|
+
as: "span",
|
|
47
|
+
variant: "label",
|
|
48
|
+
children: linked ? /* @__PURE__ */ jsx(PageLink, { page }) : page.name
|
|
49
|
+
}), scope ? /* @__PURE__ */ jsx(Meta, { children: page.key ? `${scope}#${page.key}` : scope }) : null]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function Body({ markdown }) {
|
|
53
|
+
return /* @__PURE__ */ jsx("div", {
|
|
54
|
+
className: "border-border1 max-h-64 overflow-auto rounded-md border p-2",
|
|
55
|
+
"data-testid": "knowledge-tool-body",
|
|
56
|
+
children: /* @__PURE__ */ jsx(MarkdownRenderer, { children: markdown })
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
var MENTION = /\[\[([^\]]+)\]\]/g;
|
|
60
|
+
/** A note's text with each resolved `[[Page Name]]` linking to its page; unresolved names stay plain. */
|
|
61
|
+
function NoteText({ note }) {
|
|
62
|
+
const parts = [];
|
|
63
|
+
let last = 0;
|
|
64
|
+
for (const match of note.text.matchAll(MENTION)) {
|
|
65
|
+
const ref = (match[1] ?? "").trim();
|
|
66
|
+
const mentioned = note.mentions && Object.hasOwn(note.mentions, ref) ? note.mentions[ref] : void 0;
|
|
67
|
+
const pageId = typeof mentioned === "string" ? mentioned : void 0;
|
|
68
|
+
parts.push(note.text.slice(last, match.index));
|
|
69
|
+
parts.push(pageId ? /* @__PURE__ */ jsx(KnowledgePageLink, {
|
|
70
|
+
pageId,
|
|
71
|
+
className: "text-foreground underline decoration-dotted underline-offset-2 hover:decoration-solid",
|
|
72
|
+
children: ref
|
|
73
|
+
}, match.index) : /* @__PURE__ */ jsx("span", {
|
|
74
|
+
className: "text-foreground",
|
|
75
|
+
"data-testid": "knowledge-unresolved-mention",
|
|
76
|
+
children: ref
|
|
77
|
+
}, match.index));
|
|
78
|
+
last = match.index + match[0].length;
|
|
79
|
+
}
|
|
80
|
+
parts.push(note.text.slice(last));
|
|
81
|
+
return /* @__PURE__ */ jsx(Fragment, { children: parts });
|
|
82
|
+
}
|
|
83
|
+
function NoteList({ notes }) {
|
|
84
|
+
return /* @__PURE__ */ jsx("ul", {
|
|
85
|
+
className: "flex flex-col gap-1",
|
|
86
|
+
children: notes.map((note) => /* @__PURE__ */ jsxs("li", {
|
|
87
|
+
className: "flex flex-col",
|
|
88
|
+
children: [/* @__PURE__ */ jsx(Txt, {
|
|
89
|
+
as: "span",
|
|
90
|
+
variant: "body",
|
|
91
|
+
children: /* @__PURE__ */ jsx(NoteText, { note })
|
|
92
|
+
}), note.page || note.author ? /* @__PURE__ */ jsxs(Meta, { children: [
|
|
93
|
+
note.page ? /* @__PURE__ */ jsx(PageLink, { page: note.page }) : null,
|
|
94
|
+
note.page && note.author ? " · " : null,
|
|
95
|
+
note.author
|
|
96
|
+
] }) : null]
|
|
97
|
+
}, note.id))
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/** What each Knowledge tool's settled result says, or null when the shape isn't one we know. */
|
|
101
|
+
function knowledgeCard(toolName, input, output) {
|
|
102
|
+
if (!isRecord(output)) return null;
|
|
103
|
+
const args = isRecord(input) ? input : {};
|
|
104
|
+
switch (toolName) {
|
|
105
|
+
case "knowledge_search": {
|
|
106
|
+
if (!Array.isArray(output.results)) return null;
|
|
107
|
+
const hits = output.results.filter(isRecord);
|
|
108
|
+
return {
|
|
109
|
+
title: "Searched Knowledge",
|
|
110
|
+
detail: str(args.query),
|
|
111
|
+
body: hits.length ? /* @__PURE__ */ jsx("ul", {
|
|
112
|
+
className: "flex flex-col gap-1.5",
|
|
113
|
+
children: hits.map((hit, index) => {
|
|
114
|
+
const page = asPage(hit.page);
|
|
115
|
+
const [note] = asNotes([hit.note]);
|
|
116
|
+
return page ? /* @__PURE__ */ jsxs("li", {
|
|
117
|
+
className: "flex flex-col",
|
|
118
|
+
children: [/* @__PURE__ */ jsx(PageLine, { page }), note ? /* @__PURE__ */ jsx(Meta, { children: /* @__PURE__ */ jsx(NoteText, { note }) }) : null]
|
|
119
|
+
}, `${page.id}-${note?.id ?? index}`) : null;
|
|
120
|
+
})
|
|
121
|
+
}) : /* @__PURE__ */ jsx(Meta, { children: "No matches" })
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
case "knowledge_read": {
|
|
125
|
+
const page = asPage(output.page);
|
|
126
|
+
if (!page) {
|
|
127
|
+
if (!Array.isArray(output.scopes)) return null;
|
|
128
|
+
const scopes = output.scopes.filter(isRecord);
|
|
129
|
+
return {
|
|
130
|
+
title: "Listed Knowledge scopes",
|
|
131
|
+
body: /* @__PURE__ */ jsx("ul", {
|
|
132
|
+
className: "flex flex-col gap-1",
|
|
133
|
+
children: scopes.map((scope) => /* @__PURE__ */ jsxs("li", { children: [
|
|
134
|
+
/* @__PURE__ */ jsx(Txt, {
|
|
135
|
+
as: "span",
|
|
136
|
+
variant: "body",
|
|
137
|
+
children: String(scope.name)
|
|
138
|
+
}),
|
|
139
|
+
" ",
|
|
140
|
+
/* @__PURE__ */ jsx(Meta, { children: String(scope.address) })
|
|
141
|
+
] }, String(scope.address)))
|
|
142
|
+
})
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
const notes = asNotes(output.notes);
|
|
146
|
+
const children = Array.isArray(output.children) ? output.children.map(asPage).filter((child) => child !== void 0) : [];
|
|
147
|
+
const mentionedIn = asNotes(output.mentionedIn);
|
|
148
|
+
const childScopes = Array.isArray(output.childScopes) ? output.childScopes.filter(isRecord) : [];
|
|
149
|
+
return {
|
|
150
|
+
title: "Read",
|
|
151
|
+
detail: page.name,
|
|
152
|
+
body: /* @__PURE__ */ jsxs("div", {
|
|
153
|
+
className: "flex flex-col gap-2",
|
|
154
|
+
children: [
|
|
155
|
+
/* @__PURE__ */ jsx(PageLine, { page }),
|
|
156
|
+
page.description ? /* @__PURE__ */ jsx(Meta, { children: page.description }) : null,
|
|
157
|
+
page.body ? /* @__PURE__ */ jsx(Body, { markdown: page.body }) : null,
|
|
158
|
+
notes.length ? /* @__PURE__ */ jsx(NoteList, { notes }) : null,
|
|
159
|
+
children.length ? /* @__PURE__ */ jsxs(Meta, { children: ["Child pages: ", children.map((child) => child.name).join(", ")] }) : null,
|
|
160
|
+
childScopes.length ? /* @__PURE__ */ jsxs(Meta, { children: [
|
|
161
|
+
"Child scopes:",
|
|
162
|
+
" ",
|
|
163
|
+
childScopes.map((scope) => scope.address ? `${String(scope.name)} (${String(scope.address)})` : String(scope.name)).join(", ")
|
|
164
|
+
] }) : null,
|
|
165
|
+
mentionedIn.length ? /* @__PURE__ */ jsxs("div", {
|
|
166
|
+
className: "flex flex-col gap-1",
|
|
167
|
+
children: [/* @__PURE__ */ jsx(Meta, { children: "Mentioned in" }), /* @__PURE__ */ jsx(NoteList, { notes: mentionedIn })]
|
|
168
|
+
}) : null
|
|
169
|
+
]
|
|
170
|
+
})
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
case "knowledge_page": {
|
|
174
|
+
const page = asPage(output.page);
|
|
175
|
+
if (!page) return null;
|
|
176
|
+
const op = str(args.op);
|
|
177
|
+
if (op === "delete") return {
|
|
178
|
+
title: "Deleted page",
|
|
179
|
+
detail: page.name,
|
|
180
|
+
body: /* @__PURE__ */ jsx(PageLine, {
|
|
181
|
+
page,
|
|
182
|
+
linked: false
|
|
183
|
+
})
|
|
184
|
+
};
|
|
185
|
+
const title = op === "move" ? "Moved page" : op === "merge" ? "Merged page" : args.page ? "Updated page" : "Created page";
|
|
186
|
+
const body = str(args.body);
|
|
187
|
+
const description = str(args.description);
|
|
188
|
+
return {
|
|
189
|
+
title,
|
|
190
|
+
detail: page.name,
|
|
191
|
+
body: /* @__PURE__ */ jsxs("div", {
|
|
192
|
+
className: "flex flex-col gap-2",
|
|
193
|
+
children: [
|
|
194
|
+
/* @__PURE__ */ jsx(PageLine, { page }),
|
|
195
|
+
op === "merge" && str(args.page) ? /* @__PURE__ */ jsxs(Meta, { children: [
|
|
196
|
+
"Merged ",
|
|
197
|
+
str(args.page),
|
|
198
|
+
" into this page"
|
|
199
|
+
] }) : null,
|
|
200
|
+
typeof page.version === "number" ? /* @__PURE__ */ jsxs(Meta, { children: ["Version ", page.version] }) : null,
|
|
201
|
+
description ? /* @__PURE__ */ jsx(Meta, { children: description }) : null,
|
|
202
|
+
body ? /* @__PURE__ */ jsx(Body, { markdown: body }) : null
|
|
203
|
+
]
|
|
204
|
+
})
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
case "knowledge_note": {
|
|
208
|
+
if (str(output.removed)) return {
|
|
209
|
+
title: "Removed note",
|
|
210
|
+
body: /* @__PURE__ */ jsxs(Meta, { children: ["Note ", String(output.removed)] })
|
|
211
|
+
};
|
|
212
|
+
const [note] = asNotes([output.note]);
|
|
213
|
+
if (!note) return null;
|
|
214
|
+
const pageRef = str(args.page);
|
|
215
|
+
const pageId = str(output.page);
|
|
216
|
+
return {
|
|
217
|
+
title: str(args.op) === "restamp" ? "Restamped note" : "Added note",
|
|
218
|
+
detail: pageRef,
|
|
219
|
+
body: /* @__PURE__ */ jsxs("div", {
|
|
220
|
+
className: "flex flex-col gap-1",
|
|
221
|
+
children: [/* @__PURE__ */ jsx(Txt, {
|
|
222
|
+
as: "span",
|
|
223
|
+
variant: "body",
|
|
224
|
+
children: /* @__PURE__ */ jsx(NoteText, { note })
|
|
225
|
+
}), pageId ? /* @__PURE__ */ jsxs(Meta, { children: ["On ", /* @__PURE__ */ jsx(PageLink, { page: {
|
|
226
|
+
id: pageId,
|
|
227
|
+
name: pageRef ?? "the page"
|
|
228
|
+
} })] }) : null]
|
|
229
|
+
})
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
case "knowledge_pin": {
|
|
233
|
+
const pageId = str(output.page);
|
|
234
|
+
if (!pageId || !Array.isArray(output.audience)) return null;
|
|
235
|
+
const pageRef = str(args.page);
|
|
236
|
+
const audience = output.audience.filter((entry) => typeof entry === "string");
|
|
237
|
+
return {
|
|
238
|
+
title: str(args.op) === "unpin" ? "Unpinned page" : "Pinned page",
|
|
239
|
+
detail: pageRef,
|
|
240
|
+
body: /* @__PURE__ */ jsxs("div", {
|
|
241
|
+
className: "flex flex-col gap-1",
|
|
242
|
+
children: [/* @__PURE__ */ jsx(Meta, { children: /* @__PURE__ */ jsx(PageLink, { page: {
|
|
243
|
+
id: pageId,
|
|
244
|
+
name: pageRef ?? "the page"
|
|
245
|
+
} }) }), /* @__PURE__ */ jsx(Meta, { children: audience.length ? `Pinned for ${audience.join(", ")}` : "No longer pinned for anyone" })]
|
|
246
|
+
})
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
default: return null;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
var KnowledgeToolBadge = ({ card, toolName, metadata, toolCallId, toolApprovalMetadata, isNetwork, status = "idle" }) => /* @__PURE__ */ jsx(ToolApprovalBadge, {
|
|
253
|
+
approval: {
|
|
254
|
+
toolCalled: true,
|
|
255
|
+
toolCallId,
|
|
256
|
+
toolApprovalMetadata,
|
|
257
|
+
toolName,
|
|
258
|
+
isNetwork,
|
|
259
|
+
isGenerateMode: metadata?.mode === "generate"
|
|
260
|
+
},
|
|
261
|
+
"data-testid": "knowledge-tool-badge",
|
|
262
|
+
icon: /* @__PURE__ */ jsx(BookOpen, { "aria-hidden": true }),
|
|
263
|
+
title: card.title,
|
|
264
|
+
detail: card.detail,
|
|
265
|
+
status,
|
|
266
|
+
children: card.body
|
|
267
|
+
});
|
|
268
|
+
export { KNOWLEDGE_TOOLS, KnowledgeToolBadge, knowledgeCard };
|
|
269
|
+
|
|
270
|
+
//# sourceMappingURL=knowledge-tool-badge.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-tool-badge.es.js","names":["_Fragment"],"sources":["../../../../../src/domains/chat/tools/badges/knowledge-tool-badge.tsx"],"sourcesContent":["import { BookOpen } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { KnowledgePageLink } from '../../knowledge/knowledge-links';\nimport { isRecord } from '../../messages/signal-data';\nimport type { MessageMetadata } from '@/domains/chat';\nimport type { ToolApprovalRequest } from '@/domains/chat/tools/badges/tool-approval-badge';\nimport { ToolApprovalBadge } from '@/domains/chat/tools/badges/tool-approval-badge';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** The tools `Knowledge.createTools()` gives an agent. */\nexport const KNOWLEDGE_TOOLS = new Set([\n 'knowledge_search',\n 'knowledge_read',\n 'knowledge_page',\n 'knowledge_note',\n 'knowledge_pin',\n]);\n\ninterface PageSummary {\n id: string;\n name: string;\n address?: string;\n scope?: string;\n key?: string;\n description?: string;\n version?: number;\n body?: string;\n}\n\ninterface NoteSummary {\n id: string;\n text: string;\n author?: string;\n page?: PageSummary;\n /** Which `[[ref]]` in `text` links to which page id; refs the server couldn't resolve aren't here. */\n mentions?: Record<string, string>;\n}\n\nconst str = (value: unknown): string | undefined => (typeof value === 'string' && value ? value : undefined);\n\nfunction asPage(value: unknown): PageSummary | undefined {\n if (!isRecord(value) || !str(value.id) || typeof value.name !== 'string') return undefined;\n return value as unknown as PageSummary;\n}\n\nfunction asNotes(value: unknown): NoteSummary[] {\n return Array.isArray(value)\n ? value.filter((note): note is NoteSummary => isRecord(note) && typeof note.text === 'string')\n : [];\n}\n\nconst where = (page: PageSummary) => page.address ?? page.scope;\n\nfunction PageLink({ page }: { page: PageSummary }) {\n return <KnowledgePageLink pageId={page.id}>{page.name}</KnowledgePageLink>;\n}\n\nfunction Meta({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"truncate\">\n {children}\n </Txt>\n );\n}\n\nfunction PageLine({ page, linked = true }: { page: PageSummary; linked?: boolean }) {\n const scope = where(page);\n return (\n <div className=\"flex min-w-0 items-baseline gap-2\">\n <Txt as=\"span\" variant=\"label\">\n {linked ? <PageLink page={page} /> : page.name}\n </Txt>\n {scope ? <Meta>{page.key ? `${scope}#${page.key}` : scope}</Meta> : null}\n </div>\n );\n}\n\nfunction Body({ markdown }: { markdown: string }) {\n return (\n <div className=\"border-border1 max-h-64 overflow-auto rounded-md border p-2\" data-testid=\"knowledge-tool-body\">\n <MarkdownRenderer>{markdown}</MarkdownRenderer>\n </div>\n );\n}\n\nconst MENTION = /\\[\\[([^\\]]+)\\]\\]/g;\n\n/** A note's text with each resolved `[[Page Name]]` linking to its page; unresolved names stay plain. */\nfunction NoteText({ note }: { note: NoteSummary }) {\n const parts: ReactNode[] = [];\n let last = 0;\n for (const match of note.text.matchAll(MENTION)) {\n const ref = (match[1] ?? '').trim();\n // Own string values only: `[[constructor]]` must not read Object.prototype.\n const mentioned = note.mentions && Object.hasOwn(note.mentions, ref) ? note.mentions[ref] : undefined;\n const pageId = typeof mentioned === 'string' ? mentioned : undefined;\n parts.push(note.text.slice(last, match.index));\n parts.push(\n pageId ? (\n <KnowledgePageLink\n key={match.index}\n pageId={pageId}\n className=\"text-foreground underline decoration-dotted underline-offset-2 hover:decoration-solid\"\n >\n {ref}\n </KnowledgePageLink>\n ) : (\n <span key={match.index} className=\"text-foreground\" data-testid=\"knowledge-unresolved-mention\">\n {ref}\n </span>\n ),\n );\n last = match.index + match[0].length;\n }\n parts.push(note.text.slice(last));\n return <>{parts}</>;\n}\n\nfunction NoteList({ notes }: { notes: NoteSummary[] }) {\n return (\n <ul className=\"flex flex-col gap-1\">\n {notes.map(note => (\n <li key={note.id} className=\"flex flex-col\">\n <Txt as=\"span\" variant=\"body\">\n <NoteText note={note} />\n </Txt>\n {note.page || note.author ? (\n <Meta>\n {note.page ? <PageLink page={note.page} /> : null}\n {note.page && note.author ? ' · ' : null}\n {note.author}\n </Meta>\n ) : null}\n </li>\n ))}\n </ul>\n );\n}\n\nexport interface KnowledgeCard {\n title: string;\n detail?: string;\n body: ReactNode;\n}\n\n/** What each Knowledge tool's settled result says, or null when the shape isn't one we know. */\nexport function knowledgeCard(toolName: string, input: unknown, output: unknown): KnowledgeCard | null {\n if (!isRecord(output)) return null;\n const args = isRecord(input) ? input : {};\n switch (toolName) {\n case 'knowledge_search': {\n if (!Array.isArray(output.results)) return null;\n const hits = output.results.filter(isRecord);\n return {\n title: 'Searched Knowledge',\n detail: str(args.query),\n body: hits.length ? (\n <ul className=\"flex flex-col gap-1.5\">\n {hits.map((hit, index) => {\n const page = asPage(hit.page);\n const [note] = asNotes([hit.note]);\n return page ? (\n <li key={`${page.id}-${note?.id ?? index}`} className=\"flex flex-col\">\n <PageLine page={page} />\n {note ? (\n <Meta>\n <NoteText note={note} />\n </Meta>\n ) : null}\n </li>\n ) : null;\n })}\n </ul>\n ) : (\n <Meta>No matches</Meta>\n ),\n };\n }\n case 'knowledge_read': {\n const page = asPage(output.page);\n if (!page) {\n if (!Array.isArray(output.scopes)) return null;\n const scopes = output.scopes.filter(isRecord);\n return {\n title: 'Listed Knowledge scopes',\n body: (\n <ul className=\"flex flex-col gap-1\">\n {scopes.map(scope => (\n <li key={String(scope.address)}>\n <Txt as=\"span\" variant=\"body\">\n {String(scope.name)}\n </Txt>{' '}\n <Meta>{String(scope.address)}</Meta>\n </li>\n ))}\n </ul>\n ),\n };\n }\n const notes = asNotes(output.notes);\n const children = Array.isArray(output.children)\n ? output.children.map(asPage).filter((child): child is PageSummary => child !== undefined)\n : [];\n const mentionedIn = asNotes(output.mentionedIn);\n const childScopes = Array.isArray(output.childScopes) ? output.childScopes.filter(isRecord) : [];\n return {\n title: 'Read',\n detail: page.name,\n body: (\n <div className=\"flex flex-col gap-2\">\n <PageLine page={page} />\n {page.description ? <Meta>{page.description}</Meta> : null}\n {page.body ? <Body markdown={page.body} /> : null}\n {notes.length ? <NoteList notes={notes} /> : null}\n {children.length ? <Meta>Child pages: {children.map(child => child.name).join(', ')}</Meta> : null}\n {childScopes.length ? (\n <Meta>\n Child scopes:{' '}\n {childScopes\n .map(scope =>\n scope.address ? `${String(scope.name)} (${String(scope.address)})` : String(scope.name),\n )\n .join(', ')}\n </Meta>\n ) : null}\n {mentionedIn.length ? (\n <div className=\"flex flex-col gap-1\">\n <Meta>Mentioned in</Meta>\n <NoteList notes={mentionedIn} />\n </div>\n ) : null}\n </div>\n ),\n };\n }\n case 'knowledge_page': {\n const page = asPage(output.page);\n if (!page) return null;\n const op = str(args.op);\n if (op === 'delete') {\n // The page no longer exists, so name it without a link.\n return { title: 'Deleted page', detail: page.name, body: <PageLine page={page} linked={false} /> };\n }\n const title =\n op === 'move' ? 'Moved page' : op === 'merge' ? 'Merged page' : args.page ? 'Updated page' : 'Created page';\n const body = str(args.body);\n const description = str(args.description);\n return {\n title,\n detail: page.name,\n body: (\n <div className=\"flex flex-col gap-2\">\n <PageLine page={page} />\n {op === 'merge' && str(args.page) ? <Meta>Merged {str(args.page)} into this page</Meta> : null}\n {typeof page.version === 'number' ? <Meta>Version {page.version}</Meta> : null}\n {description ? <Meta>{description}</Meta> : null}\n {body ? <Body markdown={body} /> : null}\n </div>\n ),\n };\n }\n case 'knowledge_note': {\n if (str(output.removed)) return { title: 'Removed note', body: <Meta>Note {String(output.removed)}</Meta> };\n const [note] = asNotes([output.note]);\n if (!note) return null;\n const pageRef = str(args.page);\n const pageId = str(output.page);\n return {\n title: str(args.op) === 'restamp' ? 'Restamped note' : 'Added note',\n detail: pageRef,\n body: (\n <div className=\"flex flex-col gap-1\">\n <Txt as=\"span\" variant=\"body\">\n <NoteText note={note} />\n </Txt>\n {pageId ? (\n <Meta>\n On <PageLink page={{ id: pageId, name: pageRef ?? 'the page' }} />\n </Meta>\n ) : null}\n </div>\n ),\n };\n }\n case 'knowledge_pin': {\n const pageId = str(output.page);\n if (!pageId || !Array.isArray(output.audience)) return null;\n const pageRef = str(args.page);\n const audience = output.audience.filter((entry): entry is string => typeof entry === 'string');\n return {\n title: str(args.op) === 'unpin' ? 'Unpinned page' : 'Pinned page',\n detail: pageRef,\n body: (\n <div className=\"flex flex-col gap-1\">\n <Meta>\n <PageLink page={{ id: pageId, name: pageRef ?? 'the page' }} />\n </Meta>\n <Meta>{audience.length ? `Pinned for ${audience.join(', ')}` : 'No longer pinned for anyone'}</Meta>\n </div>\n ),\n };\n }\n default:\n return null;\n }\n}\n\nexport interface KnowledgeToolBadgeProps extends Omit<ToolApprovalRequest, 'toolCalled'> {\n card: KnowledgeCard;\n metadata?: MessageMetadata;\n status?: ActivityStatus;\n}\n\nexport const KnowledgeToolBadge = ({\n card,\n toolName,\n metadata,\n toolCallId,\n toolApprovalMetadata,\n isNetwork,\n status = 'idle',\n}: KnowledgeToolBadgeProps) => (\n <ToolApprovalBadge\n approval={{\n toolCalled: true,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n isGenerateMode: metadata?.mode === 'generate',\n }}\n data-testid=\"knowledge-tool-badge\"\n icon={<BookOpen aria-hidden />}\n title={card.title}\n detail={card.detail}\n status={status}\n >\n {card.body}\n </ToolApprovalBadge>\n);\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_copy_button = require("../../../../copy-button-
|
|
2
|
+
const require_copy_button = require("../../../../copy-button-DJAQ6_3o.cjs");
|
|
3
3
|
const require_Badge = require("../../../../Badge-DZ6r6bcw.cjs");
|
|
4
4
|
const require_domains_chat_tools_badges_use_mcp_task_progress = require("./use-mcp-task-progress.cjs.js");
|
|
5
5
|
let react = require("react");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as CopyButton } from "../../../../copy-button-
|
|
1
|
+
import { t as CopyButton } from "../../../../copy-button-BXrbevLn.js";
|
|
2
2
|
import { t as Badge } from "../../../../Badge-aVu5iGAF.js";
|
|
3
3
|
import { isTerminalMcpTaskStatus } from "./use-mcp-task-progress.es.js";
|
|
4
4
|
import { useEffect, useState } from "react";
|